mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-22 09:23:21 +01:00
Merge branch 'master' into i328-MultiVault
This commit is contained in:
commit
161ff62fdc
@ -2,6 +2,9 @@
|
|||||||
|
|
||||||
## Current Master
|
## Current Master
|
||||||
|
|
||||||
|
- Fix gas estimation bug.
|
||||||
|
- Fix github link on info page to point at current repository.
|
||||||
|
|
||||||
## 2.13.6 2016-10-26
|
## 2.13.6 2016-10-26
|
||||||
|
|
||||||
- Add a check for improper Transaction data.
|
- Add a check for improper Transaction data.
|
||||||
|
@ -285,11 +285,11 @@ IdentityStore.prototype.checkForDelegateCall = function (codeHex) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IdentityStore.prototype.addGasBuffer = function (gasHex) {
|
const gasBuffer = new BN('100000', 10)
|
||||||
var gas = new BN(gasHex, 16)
|
IdentityStore.prototype.addGasBuffer = function (gas) {
|
||||||
var buffer = new BN('100000', 10)
|
const bnGas = new BN(ethUtil.stripHexPrefix(gas), 16)
|
||||||
var result = gas.add(buffer)
|
const correct = bnGas.add(gasBuffer)
|
||||||
return ethUtil.addHexPrefix(result.toString(16))
|
return ethUtil.addHexPrefix(correct.toString(16))
|
||||||
}
|
}
|
||||||
|
|
||||||
// comes from metamask ui
|
// comes from metamask ui
|
||||||
|
@ -142,20 +142,47 @@ describe('IdentityStore', function() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
describe('#addGasBuffer', function() {
|
describe('#addGasBuffer', function() {
|
||||||
const idStore = new IdentityStore({
|
it('formats the result correctly', function() {
|
||||||
configManager: configManagerGen(),
|
const idStore = new IdentityStore({
|
||||||
ethStore: {
|
configManager: configManagerGen(),
|
||||||
addAccount(acct) { accounts.push(ethUtil.addHexPrefix(acct)) },
|
ethStore: {
|
||||||
},
|
addAccount(acct) { accounts.push(ethUtil.addHexPrefix(acct)) },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
const gas = '0x01'
|
||||||
|
const bnGas = new BN(gas, 16)
|
||||||
|
const result = idStore.addGasBuffer(gas)
|
||||||
|
const bnResult = new BN(result, 16)
|
||||||
|
|
||||||
|
assert.ok(bnResult.gt(gas), 'added more gas as buffer.')
|
||||||
|
assert.equal(result.indexOf('0x'), 0, 'include hex prefix')
|
||||||
})
|
})
|
||||||
|
|
||||||
const gas = '0x01'
|
it('buffers reasonably', function() {
|
||||||
const bnGas = new BN(gas, 16)
|
const idStore = new IdentityStore({
|
||||||
const result = idStore.addGasBuffer(gas)
|
configManager: configManagerGen(),
|
||||||
const bnResult = new BN(result, 16)
|
ethStore: {
|
||||||
|
addAccount(acct) { accounts.push(ethUtil.addHexPrefix(acct)) },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
assert.ok(bnResult.gt(gas), 'added more gas as buffer.')
|
const gas = '0x04ee59' // Actual estimated gas example
|
||||||
assert.equal(result.indexOf('0x'), 0, 'include hex prefix')
|
const tooBigOutput = '0x80674f9' // Actual bad output
|
||||||
|
const bnGas = new BN(ethUtil.stripHexPrefix(gas), 16)
|
||||||
|
const correctBuffer = new BN('100000', 10)
|
||||||
|
const correct = bnGas.add(correctBuffer)
|
||||||
|
|
||||||
|
const tooBig = new BN(tooBigOutput, 16)
|
||||||
|
const result = idStore.addGasBuffer(gas)
|
||||||
|
const bnResult = new BN(ethUtil.stripHexPrefix(result), 16)
|
||||||
|
|
||||||
|
assert.equal(result.indexOf('0x'), 0, 'included hex prefix')
|
||||||
|
assert(bnResult.gt(bnGas), 'Estimate increased in value.')
|
||||||
|
assert.equal(bnResult.sub(bnGas).toString(10), '100000', 'added 100k gas')
|
||||||
|
assert.equal(result, '0x' + correct.toString(16), 'Added the right amount')
|
||||||
|
assert.notEqual(result, tooBigOutput, 'not that bad estimate')
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('#checkForDelegateCall', function() {
|
describe('#checkForDelegateCall', function() {
|
||||||
@ -169,4 +196,5 @@ describe('IdentityStore', function() {
|
|||||||
var result = idStore.checkForDelegateCall(delegateCallCode)
|
var result = idStore.checkForDelegateCall(delegateCallCode)
|
||||||
assert.equal(result, true, 'no delegate call in provided code')
|
assert.equal(result, true, 'no delegate call in provided code')
|
||||||
})
|
})
|
||||||
|
|
||||||
})
|
})
|
||||||
|
@ -145,7 +145,7 @@ InfoScreen.prototype.render = function () {
|
|||||||
|
|
||||||
h('div.fa.fa-github', [
|
h('div.fa.fa-github', [
|
||||||
h('a.info', {
|
h('a.info', {
|
||||||
href: 'https://github.com/metamask/talk/issues',
|
href: 'https://github.com/MetaMask/metamask-plugin/issues',
|
||||||
target: '_blank',
|
target: '_blank',
|
||||||
onClick (event) { this.navigateTo(event.target.href) },
|
onClick (event) { this.navigateTo(event.target.href) },
|
||||||
}, 'Start a thread on GitHub'),
|
}, 'Start a thread on GitHub'),
|
||||||
|
Loading…
Reference in New Issue
Block a user