Merge pull request #942 from ethereum/fixInput

Misc fixes
pull/1/head
yann300 7 years ago committed by GitHub
commit 1a38fbfb45
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      src/app/execution/txExecution.js
  2. 2
      src/app/execution/txFormat.js
  3. 2
      src/app/execution/txListener.js
  4. 4
      src/app/panels/terminal.js
  5. 7
      src/app/tabs/run-tab.js
  6. 19
      test-browser/tests/units/testRecorder.js

@ -57,13 +57,13 @@ module.exports = {
var error = `VM error: ${txResult.result.vm.exceptionError}.\n`
var msg
if (txResult.result.vm.exceptionError === errorCode.INVALID_OPCODE) {
msg = `\tThe constructor should be payable if you send value.\n\tThe execution might have thrown.\n`
msg = `\t\n\tThe execution might have thrown.\n`
ret.error = true
} else if (txResult.result.vm.exceptionError === errorCode.OUT_OF_GAS) {
msg = `\tThe transaction ran out of gas. Please increase the Gas Limit.\n`
ret.error = true
} else if (txResult.result.vm.exceptionError === errorCode.REVERT) {
msg = `\tThe transaction has been reverted to the initial state.\n`
msg = `\tThe transaction has been reverted to the initial state.\nNote: The constructor should be payable if you send value.`
ret.error = true
} else if (txResult.result.vm.exceptionError === errorCode.STATIC_STATE_CHANGE) {
msg = `\tState changes is not allowed in Static Call context\n`

@ -138,7 +138,7 @@ module.exports = {
}
var bytecode = library.evm.bytecode.object
if (bytecode.indexOf('_') >= 0) {
this.linkBytecode(libraryName, contracts, udapp, (err, bytecode) => {
this.linkBytecode(library, contracts, udapp, (err, bytecode) => {
if (err) callback(err)
else this.deployLibrary(libraryName, libraryShortName, library, contracts, udapp, callback, callbackStep)
}, callbackStep)

@ -217,7 +217,7 @@ class TxListener {
var contracts = this._api.contracts()
if (!contracts) return cb()
var contractName
if (!tx.to) {
if (!tx.to || tx.to === '0x0') { // testrpc returns 0x0 in that case
// contract creation / resolve using the creation bytes code
// if web3: we have to call getTransactionReceipt to get the created address
// if VM: created address already included

@ -67,9 +67,6 @@ var css = csjs`
display : flex;
flex-direction : column;
height : 100%;
padding-left : 5px;
padding-right : 5px;
padding-bottom : 3px;
overflow-y : auto;
font-family : monospace;
}
@ -129,7 +126,6 @@ var css = csjs`
word-break : break-all;
outline : none;
font-family : monospace;
font-family: FontAwesome;
}
.search {
display: flex;

@ -214,7 +214,7 @@ function runTab (container, appAPI, appEvents, opts) {
var el = yo`
<div class="${css.runTabView}" id="runTabView">
${settings(appAPI, appEvents)}
${settings(container, appAPI, appEvents)}
${contractDropdown(events, appAPI, appEvents, instanceContainer)}
${pendingTxsContainer}
${instanceContainer}
@ -243,7 +243,7 @@ function runTab (container, appAPI, appEvents, opts) {
setInterval(() => {
updateAccountBalances(container, appAPI)
updatePendingTxs(container, appAPI)
}, 500)
}, 10000)
events.register('clearInstance', () => {
instanceContainer.innerHTML = '' // clear the instances list
@ -498,7 +498,7 @@ function contractDropdown (events, appAPI, appEvents, instanceContainer) {
/* ------------------------------------------------
section SETTINGS: Environment, Account, Gas, Value
------------------------------------------------ */
function settings (appAPI, appEvents) {
function settings (container, appAPI, appEvents) {
// SETTINGS HTML
var net = yo`<span class=${css.network}></span>`
const updateNetwork = () => {
@ -574,6 +574,7 @@ function settings (appAPI, appEvents) {
appEvents.udapp.register('transactionExecuted', (error, from, to, data, lookupOnly, txResult) => {
if (error) return
if (!lookupOnly) el.querySelector('#value').value = '0'
updateAccountBalances(container, appAPI)
})
return el

@ -2,6 +2,7 @@
var contractHelper = require('../../helpers/contracts')
module.exports = {
'@disabled': true, // run by compiling.j
'@sources': function () {
return sources
},
@ -22,8 +23,16 @@ module.exports = {
.click('i[class^="clearinstance"]')
.perform((client, done) => {
contractHelper.testContracts(browser, 'testRecorder.sol', sources[0]['browser/testRecorder.sol'], ['testRecorder'], function () {
contractHelper.createContract(browser, '12', function () {
browser.clickFunction('set - transact (not payable)', {types: 'uint256 _p', values: '34'})
done()
})
})
.perform((client, done) => {
contractHelper.createContract(browser, '12', function () {
done()
})
})
.perform((client, done) => {
browser.clickFunction('set - transact (not payable)', {types: 'uint256 _p', values: '34'})
.click('i.savetransaction').modalFooterOKClick().getEditorValue(function (result) {
var parsed = JSON.parse(result)
browser.assert.equal(JSON.stringify(parsed.transactions[0].record.parameters), JSON.stringify(scenario.transactions[0].record.parameters))
@ -36,10 +45,10 @@ module.exports = {
browser.assert.equal(JSON.stringify(parsed.transactions[1].record.name), JSON.stringify(scenario.transactions[1].record.name))
browser.assert.equal(JSON.stringify(parsed.transactions[1].record.type), JSON.stringify(scenario.transactions[1].record.type))
browser.assert.equal(JSON.stringify(parsed.transactions[1].record.from), JSON.stringify(scenario.transactions[1].record.from))
callback()
done()
})
})
})
}).perform(() => {
callback()
})
})
}

Loading…
Cancel
Save