|
|
|
@ -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` |
|
|
|
|