diff --git a/src/app/execution/txExecution.js b/src/app/execution/txExecution.js index 908fd82350..424a6f16a3 100644 --- a/src/app/execution/txExecution.js +++ b/src/app/execution/txExecution.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` diff --git a/src/app/execution/txFormat.js b/src/app/execution/txFormat.js index 296feefac4..dcc116e0d9 100644 --- a/src/app/execution/txFormat.js +++ b/src/app/execution/txFormat.js @@ -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) diff --git a/src/app/execution/txListener.js b/src/app/execution/txListener.js index ea4eaaa1fc..e7139cebed 100644 --- a/src/app/execution/txListener.js +++ b/src/app/execution/txListener.js @@ -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 diff --git a/src/app/panels/terminal.js b/src/app/panels/terminal.js index b8708b7572..e1a5863ea8 100644 --- a/src/app/panels/terminal.js +++ b/src/app/panels/terminal.js @@ -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; diff --git a/src/app/tabs/run-tab.js b/src/app/tabs/run-tab.js index 96c70a1df5..b8f6de63d3 100644 --- a/src/app/tabs/run-tab.js +++ b/src/app/tabs/run-tab.js @@ -214,7 +214,7 @@ function runTab (container, appAPI, appEvents, opts) { var el = yo`
- ${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`` 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 diff --git a/test-browser/tests/units/testRecorder.js b/test-browser/tests/units/testRecorder.js index af67bed331..d83675bfcc 100644 --- a/test-browser/tests/units/testRecorder.js +++ b/test-browser/tests/units/testRecorder.js @@ -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() }) }) }