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: // if recipient has no code, gas is 21k max:
const hasRecipient = Boolean(to) if (!selectedToken) {
if (hasRecipient && !selectedToken) { const code = Boolean(to) && await global.eth.getCode(to)
const code = await global.eth.getCode(to)
if (!code || code === '0x') { if (!code || code === '0x') {
return SIMPLE_GAS_COST return SIMPLE_GAS_COST
} }

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

Loading…
Cancel
Save