Send screen returns simple gas cost if no to address specified when not sending token.

feature/default_network_editable
Dan 7 years ago
parent 6c9302f985
commit 70abe54c94
  1. 5
      ui/app/components/send_/send.utils.js
  2. 6
      ui/app/components/send_/tests/send-utils.test.js

@ -177,9 +177,8 @@ async function estimateGas ({ selectedAddress, selectedToken, blockGasLimit, to,
}
// if recipient has no code, gas is 21k max:
const hasRecipient = Boolean(to)
if (hasRecipient && !selectedToken) {
const code = await global.eth.getCode(to)
if (!selectedToken) {
const code = Boolean(to) && await global.eth.getCode(to)
if (!code || code === '0x') {
return SIMPLE_GAS_COST
}

@ -323,6 +323,12 @@ describe('send utils', () => {
assert.equal(result, SIMPLE_GAS_COST)
})
it(`should return ${SIMPLE_GAS_COST} if not passed a selectedToken or truthy to address`, async () => {
assert.equal(baseMockParams.estimateGasMethod.callCount, 0)
const result = await estimateGas(Object.assign({}, baseMockParams, { to: null }))
assert.equal(result, SIMPLE_GAS_COST)
})
it(`should not return ${SIMPLE_GAS_COST} if passed a selectedToken`, async () => {
assert.equal(baseMockParams.estimateGasMethod.callCount, 0)
const result = await estimateGas(Object.assign({}, baseMockParams, { to: '0x123', selectedToken: { address: '' } }))

Loading…
Cancel
Save