Merge pull request #1445 from ethereum/fixLogUnknownCall

Fix: Error While calling contract Where compilation result not anymore available
pull/3094/head
yann300 6 years ago committed by GitHub
commit 23f0cb2288
  1. 35
      src/app/execution/txLogger.js
  2. 2
      src/app/panels/editor-panel.js

@ -49,6 +49,8 @@ var css = csjs`
.failed {
color: ${styles.terminal.icon_Color_Log_Failed};
}
.notavailable {
}
.call {
font-size: 7px;
background-color: ${styles.terminal.icon_BackgroundColor_Log_Call};
@ -157,6 +159,7 @@ class TxLogger {
}, { activate: true, filterFn: filterTx })
this.logUnknownTX = this._deps.editorPanel.registerCommand('unknownTransaction', (args, cmds, append) => {
// triggered for transaction AND call
var data = args[0]
var el = renderUnknownTransaction(this, data)
append(el)
@ -277,11 +280,11 @@ function renderUnknownTransaction (self, data) {
var from = data.tx.from
var to = data.tx.to
var obj = {from, to}
var txType = 'unknownTx'
var txType = 'unknown' + (data.tx.isCall ? 'Call' : 'Tx')
var tx = yo`
<span id="tx${data.tx.hash}">
<div class="${css.log}" onclick=${e => txDetails(e, tx, data, obj)}>
${checkTxStatus(data.receipt, txType)}
${checkTxStatus(data.receipt || data.tx, txType)}
${context(self, {from, to, data})}
<div class=${css.buttons}>
<div class=${css.debug} onclick=${(e) => debug(e, data, self)}>Debug</div>
@ -304,10 +307,12 @@ function checkTxStatus (tx, type) {
if (tx.status === '0x1') {
return yo`<i class="${css.txStatus} ${css.succeeded} fa fa-check-circle"></i>`
}
if (type === 'call') {
if (type === 'call' || type === 'unknownCall') {
return yo`<i class="${css.txStatus} ${css.call}">call</i>`
} else {
} else if (tx.status === '0x0') {
return yo`<i class="${css.txStatus} ${css.failed} fa fa-times-circle"></i>`
} else {
return yo`<i class="${css.txStatus} ${css.notavailable} fa fa-circle-thin" title='Status not available' ></i>`
}
}
@ -406,18 +411,22 @@ function txDetails (e, tx, data, obj) {
function createTable (opts) {
var table = yo`<table class="${css.txTable}" id="txTable"></table>`
if (opts.status) {
if (!opts.isCall) {
var msg = ''
if (opts.status === '0x0') {
msg = ' Transaction mined but execution failed'
} else if (opts.status === '0x1') {
msg = ' Transaction mined and execution succeed'
if (opts.status) {
if (opts.status === '0x0') {
msg = ' Transaction mined but execution failed'
} else if (opts.status === '0x1') {
msg = ' Transaction mined and execution succeed'
}
} else {
msg = ' Status not available at the moment'
}
table.appendChild(yo`
<tr class="${css.tr}">
<td class="${css.td}"> status </td>
<td class="${css.td}">${opts.status}${msg}</td>
</tr>`)
<tr class="${css.tr}">
<td class="${css.td}"> status </td>
<td class="${css.td}">${opts.status}${msg}</td>
</tr>`)
}
var transactionHash = yo`

@ -24,7 +24,7 @@ class EditorPanel {
var self = this
self._deps = {
config: self._components.registry.get('config').api,
txlistener: self._components.registry.get('txlistener').api,
txListener: self._components.registry.get('txlistener').api,
fileManager: self._components.registry.get('filemanager').api,
udapp: self._components.registry.get('udapp').api
}

Loading…
Cancel
Save