notify to change selected network
This commit is contained in:
+47
-11
@@ -7,19 +7,55 @@ export default Route.extend({
|
||||
beforeModel(transition) {
|
||||
const kredits = this.kredits;
|
||||
|
||||
return kredits.setup().then(() => {
|
||||
kredits.get('kredits').preflightChecks().catch((error) => {
|
||||
console.error('Kredits preflight check failed!');
|
||||
console.error(error);
|
||||
});
|
||||
if (kredits.get('accountNeedsUnlock')) {
|
||||
if (confirm('It looks like you have an Ethereum wallet available. Please unlock your account.')) {
|
||||
transition.retry();
|
||||
let selectedNetworkId = window.ethereum.networkVersion;
|
||||
let kreditsNetwork = kredits.getKreditsDeployedNetwork();
|
||||
let kreditsNetworkName;
|
||||
|
||||
switch(kreditsNetwork) {
|
||||
case '1':
|
||||
kreditsNetworkName = "Main";
|
||||
break;
|
||||
case '2':
|
||||
kreditsNetworkName = "Morden Test";
|
||||
break;
|
||||
case '3':
|
||||
kreditsNetworkName = "Ropsten Test";
|
||||
break;
|
||||
case '4':
|
||||
kreditsNetworkName = "Rinkeby Test";
|
||||
break;
|
||||
case '42':
|
||||
kreditsNetworkName = "Kovan Test";
|
||||
break;
|
||||
default:
|
||||
kreditsNetworkName = "Rinkeby Test";
|
||||
}
|
||||
|
||||
if(selectedNetworkId == kreditsNetwork) {
|
||||
return kredits.setup().then(() => {
|
||||
kredits.get('kredits').preflightChecks().catch((error) => {
|
||||
console.error('Kredits preflight check failed!');
|
||||
console.error(error);
|
||||
});
|
||||
if (kredits.get('accountNeedsUnlock')) {
|
||||
if (confirm('It looks like you have an Ethereum wallet available. Please unlock your account.')) {
|
||||
transition.retry();
|
||||
}
|
||||
}
|
||||
}).catch((error) => {
|
||||
console.log('Error initializing Kredits', error);
|
||||
});
|
||||
}
|
||||
else {
|
||||
//need to better display this one maybe
|
||||
if(confirm(`Please change to ${kreditsNetworkName} network!`)) {
|
||||
transition.abort();
|
||||
}
|
||||
}).catch((error) => {
|
||||
console.log('Error initializing Kredits', error);
|
||||
});
|
||||
}
|
||||
|
||||
window.ethereum.on('networkChanged', function() {
|
||||
transition.retry();
|
||||
})
|
||||
},
|
||||
|
||||
afterModel() {
|
||||
|
||||
@@ -136,6 +136,10 @@ export default Service.extend({
|
||||
});
|
||||
},
|
||||
|
||||
getKreditsDeployedNetwork() {
|
||||
return Kredits.availableNetworks();
|
||||
},
|
||||
|
||||
setup () {
|
||||
return this.getEthProvider().then((providerAndSigner) => {
|
||||
let kredits = new Kredits(providerAndSigner.ethProvider, providerAndSigner.ethSigner, {
|
||||
|
||||
Reference in New Issue
Block a user