diff --git a/dapp/controllers/navCtrl.js b/dapp/controllers/navCtrl.js
index 5357da31..1b9b63a0 100644
--- a/dapp/controllers/navCtrl.js
+++ b/dapp/controllers/navCtrl.js
@@ -7,6 +7,7 @@
$scope.isElectron = isElectron;
$scope.config = Config.getConfiguration();
$scope.metamaskInjected = Web3Service.isMetamaskInjected();
+ $scope.web3ProviderName = null;
// Reload config when it changes
$scope.$watch(
@@ -219,6 +220,7 @@
Connection.checkConnection();
$scope.updateConnectionStatus();
$scope.connectionInterval = $interval($scope.updateConnectionStatus, txDefault.connectionChecker.checkInterval);
+ $scope.web3ProviderName = txDefault.wallet;
$scope.updateInfo().then(function () {
var chooseWeb3ProviderShown = Config.getConfiguration('chooseWeb3ProviderShown');
diff --git a/dapp/index.html b/dapp/index.html
index 52218d94..c998d7a6 100644
--- a/dapp/index.html
+++ b/dapp/index.html
@@ -179,7 +179,7 @@
{{ethereumChain.chain.substr(0, 1).toUpperCase() + ethereumChain.chain.substr(1)}}
-
+
Unlock Metamask
diff --git a/dapp/package.json b/dapp/package.json
index 5d4b641c..570232c6 100644
--- a/dapp/package.json
+++ b/dapp/package.json
@@ -1,6 +1,6 @@
{
"name": "multisigweb",
- "version": "1.4.0",
+ "version": "1.4.1",
"eslintConfig": {
"env": {
"browser": true,
diff --git a/dapp/services/Web3Service.js b/dapp/services/Web3Service.js
index 25115222..ee19ad89 100644
--- a/dapp/services/Web3Service.js
+++ b/dapp/services/Web3Service.js
@@ -24,7 +24,7 @@
*/
factory.enableMetamask = function (callback) {
$window.ethereum.enable().then(function (accounts) {
- factory.reloadWeb3Provider();
+ factory.reloadWeb3Provider(null, callback);
// Set accounts and coinbase
factory.accounts = accounts;
factory.coinbase = accounts[0];
@@ -67,26 +67,26 @@
// Ledger wallet
if (txDefault.wallet == "ledger") {
if (isElectron) {
- factory.ledgerElectronSetup();
- factory.web3.eth.getAccounts(function (e, accounts) {
- if (e) {
- if (reject) {
- reject(e);
- }
- } else {
- factory.accounts = accounts;
- factory.coinbase = factory.accounts[0];
- if (resolve) {
- resolve();
- }
+ factory.ledgerElectronSetup().then(function () {
+ if (resolve) {
+ resolve()
}
- });
+ }, function (e) {
+ if (reject) {
+ reject(e)
+ }
+ })
}
else {
- factory.ledgerSetup();
- if (resolve) {
- resolve();
- }
+ factory.ledgerSetup().then(function () {
+ if (resolve) {
+ resolve()
+ }
+ }, function (e) {
+ if (reject) {
+ reject(e)
+ }
+ })
}
}
else if (txDefault.wallet == "trezor") {
@@ -240,42 +240,70 @@
});
};
+ // /**
+ // * Get ethereum accounts and update account list.
+ // */
+ // factory.updateAccounts = function (cb) {
+ // if (!isElectron && factory.coinbase) {
+ // return factory.web3.eth.getAccounts(
+ // function (e, accounts) {
+ // if (e) {
+ // cb(e);
+ // }
+ // else {
+ // factory.accounts = accounts;
+ //
+ // if (factory.coinbase && accounts && accounts.length && accounts.indexOf(factory.coinbase) != -1) {
+ // // same coinbase
+ // }
+ // else if (accounts) {
+ // factory.coinbase = accounts[0];
+ // }
+ // else {
+ // factory.coinbase = null;
+ // }
+ //
+ // cb(null, accounts);
+ // }
+ // }
+ // );
+ // }
+ // else {
+ // cb(null, null);
+ // }
+ // };
+
/**
* Get ethereum accounts and update account list.
*/
factory.updateAccounts = function (cb) {
- if (!isElectron && factory.coinbase) {
- return factory.web3.eth.getAccounts(
- function (e, accounts) {
- if (e) {
- cb(e);
+ return factory.web3.eth.getAccounts(
+ function (e, accounts) {
+ if (e) {
+ cb(e);
+ }
+ else {
+ factory.accounts = accounts;
+
+ if (factory.coinbase && accounts && accounts.length && accounts.indexOf(factory.coinbase) != -1) {
+ // same coinbase
+ }
+ else if (accounts) {
+ factory.coinbase = accounts[0];
}
else {
- factory.accounts = accounts;
-
- if (factory.coinbase && accounts && accounts.length && accounts.indexOf(factory.coinbase) != -1) {
- // same coinbase
- }
- else if (accounts) {
- factory.coinbase = accounts[0];
- }
- else {
- factory.coinbase = null;
- }
-
- cb(null, accounts);
+ factory.coinbase = null;
}
+
+ cb(null, accounts);
}
- );
- }
- else {
- cb(null, null);
- }
+ }
+ );
};
/* Ledger setup on browser*/
factory.ledgerSetup = function () {
- ledgerwallet(
+ return ledgerwallet(
{
rpcUrl: txDefault.ethereumNode,
onSubmit: function () {
@@ -332,6 +360,18 @@
$scope.checkCoinbase();
}
});
+
+ return new Promise(function(resolve, reject) {
+ factory.web3.eth.getAccounts(function (e, accounts) {
+ if (e) {
+ reject(e);
+ } else {
+ factory.accounts = accounts;
+ factory.coinbase = factory.accounts[0];
+ resolve();
+ }
+ });
+ });
}
);
};
@@ -424,6 +464,18 @@
$scope.checkCoinbase();
}
});
+
+ return new Promise(function(resolve, reject) {
+ factory.web3.eth.getAccounts(function (e, accounts) {
+ if (e) {
+ reject(e);
+ } else {
+ factory.accounts = accounts;
+ factory.coinbase = factory.accounts[0];
+ resolve();
+ }
+ });
+ });
};
/* Trezor setup */
diff --git a/package.json b/package.json
index 634c2242..4e7bacdc 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "multisig-wallet-gnosis",
- "version": "1.4.0",
+ "version": "1.4.1",
"description": "Main module, for installing all dependencies",
"scripts": {
"test-dapp": "cd dapp && npm test",