ethereum-tx-decoder
v3.0.0
Published
Lightweight utility for decoding function parameters from Ethereum transactions.
Downloads
5,158
Maintainers
Readme
ethereum-tx-decoder
Lightweight utility for decoding function parameters from Ethereum transactions.
Minimal dependencies.
Find the exact function parameters that triggered an event.
Usage
npm i ethereum-tx-decoder
decodeTx()
Decode raw transactions into an Object.
var txDecoder = require('ethereum-tx-decoder');
// transaction.raw = '0x...'
var decodedTx = txDecoder.decodeTx(transaction.raw);
// {
// nonce: Number
// gasPrice: BigNumber
// gasLimit: BigNumber
// to: string (hex)
// value: BigNumber
// data: string (hex)
// v: Number
// r: string (hex)
// s: string (hex)
// }
Need to know from
or chainId
? Use ethers.Wallet.parseTransaction()
instead.
class FunctionDecoder
Decode function call data into the original parameter values.
New instance with ethers.Contract
:
// contract = new Contract(address, abi, provider)
var fnDecoder = new txDecoder.FunctionDecoder(contract.interface);
New instance with contract abi
:
// Internally creates an ethers.Interface object.
var fnDecoder = new txDecoder.FunctionDecoder(abi);
decodeFn()
fnDecoder.decodeFn(decodedTx.data);
// Result {
// ...All function parameters indexed by both name and position...
// }
Note: decodeFn()
returns an Arrayish
.
decodeFnFromTx()
Shortcut for decoding a function from transaction.
fnDecoder.decodeFnFromTx(transaction.raw);