notify to change selected network

This commit is contained in:
2019-07-22 14:20:03 +01:00
parent aa9c3648c0
commit 3b74c5f88c
3 changed files with 53 additions and 13 deletions
+47 -11
View File
@@ -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() {
+4
View File
@@ -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, {