diff options
author | Kevin Serrano <kevgagser@gmail.com> | 2016-11-11 12:36:50 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-11 12:36:50 +0800 |
commit | ad290d3edca99daa22d595a26e63ac6dff480d9d (patch) | |
tree | 8948496230e160c389ad57ab8ed26b9d8e3557a3 /app/scripts | |
parent | 161ff62fdcf6f76f7243a1e865dd0cccbc89121f (diff) | |
parent | 17aac2dbc54b733aeed5f16ef2e7bd8378060ca9 (diff) | |
download | tangerine-wallet-browser-ad290d3edca99daa22d595a26e63ac6dff480d9d.tar tangerine-wallet-browser-ad290d3edca99daa22d595a26e63ac6dff480d9d.tar.gz tangerine-wallet-browser-ad290d3edca99daa22d595a26e63ac6dff480d9d.tar.bz2 tangerine-wallet-browser-ad290d3edca99daa22d595a26e63ac6dff480d9d.tar.lz tangerine-wallet-browser-ad290d3edca99daa22d595a26e63ac6dff480d9d.tar.xz tangerine-wallet-browser-ad290d3edca99daa22d595a26e63ac6dff480d9d.tar.zst tangerine-wallet-browser-ad290d3edca99daa22d595a26e63ac6dff480d9d.zip |
Merge pull request #802 from MetaMask/confTxFix
Conf tx fix
Diffstat (limited to 'app/scripts')
-rw-r--r-- | app/scripts/keyring-controller.js | 5 | ||||
-rw-r--r-- | app/scripts/lib/idStore.js | 4 | ||||
-rw-r--r-- | app/scripts/metamask-controller.js | 7 |
3 files changed, 12 insertions, 4 deletions
diff --git a/app/scripts/keyring-controller.js b/app/scripts/keyring-controller.js index 3ebf02c44..5d9dd51a4 100644 --- a/app/scripts/keyring-controller.js +++ b/app/scripts/keyring-controller.js @@ -38,7 +38,7 @@ module.exports = class KeyringController extends EventEmitter { this._unconfTxCbs = {} this._unconfMsgCbs = {} - this.network = opts.network + this.getNetwork = opts.getNetwork // TEMPORARY UNTIL FULL DEPRECATION: this.idStoreMigrator = new IdStoreMigrator({ @@ -344,13 +344,14 @@ module.exports = class KeyringController extends EventEmitter { var time = (new Date()).getTime() var txId = createId() txParams.metamaskId = txId - txParams.metamaskNetworkId = this.network + txParams.metamaskNetworkId = this.getNetwork() var txData = { id: txId, txParams: txParams, time: time, status: 'unconfirmed', gasMultiplier: configManager.getGasMultiplier() || 1, + metamaskNetworkId: this.getNetwork(), } diff --git a/app/scripts/lib/idStore.js b/app/scripts/lib/idStore.js index ef2416cdf..23b14524e 100644 --- a/app/scripts/lib/idStore.js +++ b/app/scripts/lib/idStore.js @@ -260,6 +260,7 @@ IdentityStore.prototype.addUnconfirmedTransaction = function (txParams, onTxDone query.estimateGas(txParams, function(err, result){ if (err) return cb(err) txData.estimatedGas = self.addGasBuffer(result) + txData.txParams.gasLimit = txData.estimatedGas cb() }) } @@ -285,9 +286,10 @@ IdentityStore.prototype.checkForDelegateCall = function (codeHex) { } } -const gasBuffer = new BN('100000', 10) IdentityStore.prototype.addGasBuffer = function (gas) { const bnGas = new BN(ethUtil.stripHexPrefix(gas), 16) + const five = new BN('5', 10) + const gasBuffer = bnGas.div(five) const correct = bnGas.add(gasBuffer) return ethUtil.addHexPrefix(correct.toString(16)) } diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index a165a2e2a..07d365283 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -17,6 +17,7 @@ module.exports = class MetamaskController { this.configManager = new ConfigManager(opts) this.keyringController = new KeyringController({ configManager: this.configManager, + getNetwork: this.getStateNetwork.bind(this), }) this.provider = this.initializeProvider(opts) this.ethStore = new EthStore(this.provider) @@ -218,7 +219,6 @@ module.exports = class MetamaskController { let err = this.enforceTxValidations(txParams) if (err) return onTxDoneCb(err) - keyringController.addUnconfirmedTransaction(txParams, onTxDoneCb, (err, txData) => { if (err) return onTxDoneCb(err) this.sendUpdate() @@ -400,4 +400,9 @@ module.exports = class MetamaskController { cb(e) } } + + getStateNetwork () { + return this.state.network + } } + |