Fix typos
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
"version": "0.0.7",
|
||||
"changes": [
|
||||
{
|
||||
"note": "Use AssetproxyOwner instead of MultiSigWalletWithTimeLockExceptRemoveAuthorizedAddress",
|
||||
"note": "Use AssetProxyOwner instead of MultiSigWalletWithTimeLockExceptRemoveAuthorizedAddress",
|
||||
"pr": 675
|
||||
}
|
||||
]
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"pr": 675
|
||||
},
|
||||
{
|
||||
"note": "Use `BlockchainLifecycle` to support reverst on Geth",
|
||||
"note": "Use `BlockchainLifecycle` to support reverts on Geth",
|
||||
"pr": 675
|
||||
},
|
||||
{
|
||||
@@ -35,7 +35,7 @@
|
||||
"pr": 675
|
||||
},
|
||||
{
|
||||
"note": "Skip interface artifacts with the warning instead of failing",
|
||||
"note": "Skip interface artifacts with a warning instead of failing",
|
||||
"pr": 675
|
||||
}
|
||||
]
|
||||
|
||||
@@ -132,19 +132,22 @@ export class TraceCollectionSubprovider extends Subprovider {
|
||||
// And we don't want it to be executed within a snapshotting period
|
||||
await this._lock.acquire();
|
||||
}
|
||||
const NULL_ADDRESS = '0x0';
|
||||
if (_.isNull(err)) {
|
||||
const toAddress = _.isUndefined(txData.to) || txData.to === '0x0' ? constants.NEW_CONTRACT : txData.to;
|
||||
const toAddress =
|
||||
_.isUndefined(txData.to) || txData.to === NULL_ADDRESS ? constants.NEW_CONTRACT : txData.to;
|
||||
await this._recordTxTraceAsync(toAddress, txData.data, txHash as string);
|
||||
} else {
|
||||
const latestBlock = await this._web3Wrapper.getBlockWithTransactionDataAsync(BlockParamLiteral.Latest);
|
||||
const transactions = latestBlock.transactions;
|
||||
for (const transaction of transactions) {
|
||||
const toAddress = _.isUndefined(txData.to) || txData.to === '0x0' ? constants.NEW_CONTRACT : txData.to;
|
||||
const toAddress =
|
||||
_.isUndefined(txData.to) || txData.to === NULL_ADDRESS ? constants.NEW_CONTRACT : txData.to;
|
||||
await this._recordTxTraceAsync(toAddress, transaction.input, transaction.hash);
|
||||
}
|
||||
}
|
||||
if (!txData.isFakeTransaction) {
|
||||
// This transaction is a usual ttransaction. Not a call executed as one.
|
||||
// This transaction is a usual transaction. Not a call executed as one.
|
||||
// And we don't want it to be executed within a snapshotting period
|
||||
this._lock.release();
|
||||
}
|
||||
@@ -230,6 +233,7 @@ export class TraceCollectionSubprovider extends Subprovider {
|
||||
await this._web3Wrapper.awaitTransactionMinedAsync(txHash);
|
||||
} catch (err) {
|
||||
// Even if this transaction failed - we've already recorded it's trace.
|
||||
_.noop();
|
||||
}
|
||||
await blockchainLifecycle.revertAsync();
|
||||
this._lock.release();
|
||||
@@ -251,6 +255,7 @@ export class TraceCollectionSubprovider extends Subprovider {
|
||||
await this._web3Wrapper.awaitTransactionMinedAsync(txHash);
|
||||
} catch (err) {
|
||||
// Even if this transaction failed - we've already recorded it's trace.
|
||||
_.noop();
|
||||
}
|
||||
await blockchainLifecycle.revertAsync();
|
||||
this._lock.release();
|
||||
|
||||
@@ -24,7 +24,7 @@ export const utils = {
|
||||
.replace(/.{86}$/, '')
|
||||
// Libraries contain their own address at the beginning of the code and it's impossible to know it in advance
|
||||
.replace(/^0x730000000000000000000000000000000000000000/, '0x73........................................');
|
||||
// HACK: Node regexes can't be longer that 32767 characters. Contracts bytecode can. We jsut truncate the regexes. It's safe in practice.
|
||||
// HACK: Node regexes can't be longer that 32767 characters. Contracts bytecode can. We just truncate the regexes. It's safe in practice.
|
||||
const MAX_REGEX_LENGTH = 32767;
|
||||
const truncatedBytecodeRegex = bytecodeRegex.slice(0, MAX_REGEX_LENGTH);
|
||||
return truncatedBytecodeRegex;
|
||||
|
||||
@@ -195,10 +195,21 @@ export class Web3Wrapper {
|
||||
const isCodeEmpty = /^0x0{0,40}$/i.test(code);
|
||||
return !isCodeEmpty;
|
||||
}
|
||||
/**
|
||||
* Gets the contract code by address
|
||||
* @param address Address of the contract
|
||||
* @return Code of the contract
|
||||
*/
|
||||
public async getContractCodeAsync(address: string): Promise<string> {
|
||||
const code = await promisify<string>(this._web3.eth.getCode)(address);
|
||||
return code;
|
||||
}
|
||||
/**
|
||||
* Gets the debug trace of a transaction
|
||||
* @param txHash Hash of the transactuon to get a trace for
|
||||
* @param traceParams Config object allowing you to specify if you need memory/storage/stack traces.
|
||||
* @return Transaction trace
|
||||
*/
|
||||
public async getTransactionTraceAsync(txHash: string, traceParams: TraceParams): Promise<TransactionTrace> {
|
||||
const trace = await this._sendRawPayloadAsync<TransactionTrace>({
|
||||
method: 'debug_traceTransaction',
|
||||
|
||||
Reference in New Issue
Block a user