Skip to content

Commit adbb7a5

Browse files
authored
Merge pull request #1975 from ethereum/injected-web3
Fixed Terminal logs for udapp transactions
2 parents b0ac1b7 + 960c9e4 commit adbb7a5

File tree

9 files changed

+30
-23
lines changed

9 files changed

+30
-23
lines changed

apps/remix-ide/src/blockchain/blockchain.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ export class Blockchain extends Plugin {
353353
if (network.name === 'VM') return
354354
this.call('terminal', 'logHtml',
355355
(<a href={etherScanLink(network.name, txhash)} target="_blank">
356-
open in etherscan
356+
view on etherscan
357357
</a>))
358358
})
359359
})

libs/remix-lib/src/execution/txRunnerWeb3.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ async function tryTillReceiptAvailable (txhash, web3) {
153153
async function tryTillTxAvailable (txhash, web3) {
154154
try {
155155
const tx = await web3.eth.getTransaction(txhash)
156-
if (tx) return tx
156+
if (tx && tx.blockHash) return tx
157157
} catch (e) {}
158158
return await tryTillTxAvailable(txhash, web3)
159159
}

libs/remix-ui/run-tab/src/lib/components/contractDropdownUI.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ export function ContractDropdownUI (props: ContractDropdownProps) {
237237
</div>
238238
<div className="udapp_orLabel mt-2" style={{ display: loadType === 'abi' ? 'none' : 'block' }}>or</div>
239239
<div className="udapp_button udapp_atAddressSect">
240-
<button className="udapp_atAddress btn btn-sm btn-info" id="runAndDeployAtAdressButton" disabled={atAddressOptions.disabled} onClick={loadFromAddress}>At Address</button>
240+
<button className="udapp_atAddress btn btn-sm btn-info" id="runAndDeployAtAdressButton" disabled={atAddressOptions.disabled} title={atAddressOptions.title} onClick={loadFromAddress}>At Address</button>
241241
<input
242242
className="udapp_input udapp_ataddressinput ataddressinput form-control"
243243
placeholder="Load contract from Address"

libs/remix-ui/terminal/src/lib/actions/terminalAction.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,11 @@ export const listenOnNetworkAction = async (plugins, isListening) => {
111111
}
112112

113113
export const initListeningOnNetwork = (plugins, dispatch: React.Dispatch<any>) => {
114+
const provider = plugins.blockchain.getProvider()
115+
114116
plugins.txListener.event.register(NEW_BLOCK, (block) => {
115117
if (!block.transactions || (block.transactions && !block.transactions.length)) {
116-
dispatch({ type: EMPTY_BLOCK, payload: { message: 0 } })
118+
dispatch({ type: EMPTY_BLOCK, payload: { message: 0, provider } })
117119
}
118120
})
119121
plugins.txListener.event.register(KNOWN_TRANSACTION, () => {
@@ -128,18 +130,20 @@ export const initListeningOnNetwork = (plugins, dispatch: React.Dispatch<any>) =
128130

129131
const log = async (plugins, tx, receipt, dispatch: React.Dispatch<any>) => {
130132
const resolvedTransaction = await plugins.txListener.resolvedTransaction(tx.hash)
133+
const provider = plugins.blockchain.getProvider()
134+
131135
if (resolvedTransaction) {
132136
let compiledContracts = null
133137
if (plugins._deps.compilersArtefacts.__last) {
134138
compiledContracts = await plugins._deps.compilersArtefacts.__last.getContracts()
135139
}
136140
await plugins.eventsDecoder.parseLogs(tx, resolvedTransaction.contractName, compiledContracts, async (error, logs) => {
137141
if (!error) {
138-
await dispatch({ type: KNOWN_TRANSACTION, payload: { message: [{ tx: tx, receipt: receipt, resolvedData: resolvedTransaction, logs: logs }] } })
142+
await dispatch({ type: KNOWN_TRANSACTION, payload: { message: [{ tx: tx, receipt: receipt, resolvedData: resolvedTransaction, logs: logs }], provider } })
139143
}
140144
})
141145
} else {
142-
await dispatch({ type: UNKNOWN_TRANSACTION, payload: { message: [{ tx: tx, receipt: receipt }] } })
146+
await dispatch({ type: UNKNOWN_TRANSACTION, payload: { message: [{ tx: tx, receipt: receipt }], provider } })
143147
}
144148
}
145149

libs/remix-ui/terminal/src/lib/components/Context.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import helper from 'apps/remix-ide/src/lib/helper'
44
const remixLib = require('@remix-project/remix-lib')
55
const typeConversion = remixLib.execution.typeConversion
66

7-
const Context = ({ opts, blockchain }) => {
7+
const Context = ({ opts, provider }: { opts, provider: string }) => {
88
const data = opts.tx || ''
99
const from = opts.from ? helper.shortenHexData(opts.from) : ''
1010
let to = opts.to
@@ -16,7 +16,8 @@ const Context = ({ opts, blockchain }) => {
1616
const block = data.receipt ? data.receipt.blockNumber : data.blockNumber || ''
1717
const i = data.receipt ? data.transactionIndex : data.transactionIndex
1818
const value = val ? typeConversion.toInt(val) : 0
19-
if (blockchain.getProvider() === 'vm') {
19+
20+
if (provider === 'vm') {
2021
return (
2122
<div>
2223
<span>
@@ -29,7 +30,7 @@ const Context = ({ opts, blockchain }) => {
2930
<div className='remix_ui_terminal_txItem'><span className='remix_ui_terminal_txItemTitle'>hash:</span> {hash}</div>
3031
</span>
3132
</div>)
32-
} else if (blockchain.getProvider() !== 'vm' && data.resolvedData) {
33+
} else if (provider !== 'vm' && data.resolvedData) {
3334
return (
3435
<div>
3536
<span>

libs/remix-ui/terminal/src/lib/components/RenderKnownTransactions.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import showTable from './Table'
88
const remixLib = require('@remix-project/remix-lib')
99
const typeConversion = remixLib.execution.typeConversion
1010

11-
const RenderKnownTransactions = ({ tx, receipt, resolvedData, logs, index, plugin, showTableHash, txDetails, modal }) => {
11+
const RenderKnownTransactions = ({ tx, receipt, resolvedData, logs, index, plugin, showTableHash, txDetails, modal, provider }) => {
1212
const debug = (event, tx) => {
1313
event.stopPropagation()
1414
if (tx.isCall && tx.envMode !== 'vm') {
@@ -26,7 +26,7 @@ const RenderKnownTransactions = ({ tx, receipt, resolvedData, logs, index, plugi
2626
<span id={`tx${tx.hash}`} key={index}>
2727
<div className="remix_ui_terminal_log" onClick={(event) => txDetails(event, tx)}>
2828
<CheckTxStatus tx={receipt} type={txType} />
29-
<Context opts = { options } blockchain={plugin.blockchain} />
29+
<Context opts = { options } provider={provider} />
3030
<div className='remix_ui_terminal_buttons'>
3131
<div
3232
className='remix_ui_terminal_debug btn btn-primary btn-sm'

libs/remix-ui/terminal/src/lib/components/RenderUnknownTransactions.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import CheckTxStatus from './ChechTxStatus' // eslint-disable-line
33
import Context from './Context' // eslint-disable-line
44
import showTable from './Table'
55

6-
const RenderUnKnownTransactions = ({ tx, receipt, index, plugin, showTableHash, txDetails, modal }) => {
6+
const RenderUnKnownTransactions = ({ tx, receipt, index, plugin, showTableHash, txDetails, modal, provider }) => {
77
const debug = (event, tx) => {
88
event.stopPropagation()
99
if (tx.isCall && tx.envMode !== 'vm') {
@@ -21,7 +21,7 @@ const RenderUnKnownTransactions = ({ tx, receipt, index, plugin, showTableHash,
2121
<span id={`tx${tx.hash}`} key={index}>
2222
<div className="remix_ui_terminal_log" onClick={(event) => txDetails(event, tx)}>
2323
<CheckTxStatus tx={receipt || tx} type={txType} />
24-
<Context opts = { options } blockchain={plugin.blockchain} />
24+
<Context opts = { options } provider={provider} />
2525
<div className='remix_ui_terminal_buttons'>
2626
<div className='remix_ui_terminal_debug btn btn-primary btn-sm'
2727
data-shared='txLoggerDebugButton'

libs/remix-ui/terminal/src/lib/reducers/terminalReducer.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -144,52 +144,52 @@ export const registerScriptRunnerReducer = (state, action) => {
144144
case HTML:
145145
return {
146146
...state,
147-
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: 'text-log' })
147+
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: 'text-log', provider: action.payload.provider })
148148
}
149149
case LOG:
150150
return {
151151
...state,
152-
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: 'text-info' })
152+
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: 'text-info', provider: action.payload.provider })
153153
}
154154
case INFO:
155155
return {
156156
...state,
157-
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: 'text-info' })
157+
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: 'text-info', provider: action.payload.provider })
158158
}
159159
case WARN:
160160
return {
161161
...state,
162-
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: 'text-warning' })
162+
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: 'text-warning', provider: action.payload.provider })
163163
}
164164
case ERROR:
165165
return {
166166
...state,
167-
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: 'text-danger' })
167+
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: 'text-danger', provider: action.payload.provider })
168168
}
169169
case SCRIPT:
170170
return {
171171
...state,
172-
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: 'text-log' })
172+
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: 'text-log', provider: action.payload.provider })
173173
}
174174
case KNOWN_TRANSACTION:
175175
return {
176176
...state,
177-
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: '', name: 'knownTransaction' })
177+
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: '', name: 'knownTransaction', provider: action.payload.provider })
178178
}
179179
case UNKNOWN_TRANSACTION:
180180
return {
181181
...state,
182-
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: '', name: 'unknownTransaction' })
182+
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: '', name: 'unknownTransaction', provider: action.payload.provider })
183183
}
184184
case EMPTY_BLOCK:
185185
return {
186186
...state,
187-
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: '', name: 'emptyBlock' })
187+
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: '', name: 'emptyBlock', provider: action.payload.provider })
188188
}
189189
case NEW_TRANSACTION:
190190
return {
191191
...state,
192-
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: '' })
192+
journalBlocks: initialState.journalBlocks.push({ message: action.payload.message, style: '', provider: action.payload.provider })
193193
}
194194
}
195195
}

libs/remix-ui/terminal/src/lib/remix-ui-terminal.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,7 @@ export const RemixUiTerminal = (props: RemixUiTerminalProps) => {
500500
showTableHash={showTableHash}
501501
txDetails={txDetails}
502502
modal={modal}
503+
provider={x.provider}
503504
/>}
504505
</div>
505506
)
@@ -527,6 +528,7 @@ export const RemixUiTerminal = (props: RemixUiTerminalProps) => {
527528
showTableHash = { showTableHash }
528529
txDetails = { txDetails }
529530
modal={modal}
531+
provider={x.provider}
530532
/>) }
531533
</div>
532534
)

0 commit comments

Comments
 (0)