Skip to content

Lightweight Javascript utility for decoding function parameters from Ethereum transactions.

License

Notifications You must be signed in to change notification settings

GFJHogue/ethereum-tx-decoder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ethereum-tx-decoder

npm versionBuild Status

Lightweight utility for decoding function parameters from Ethereum transactions.

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);

BigNumber

BigNumber Documentation (ethers.js)

About

Lightweight Javascript utility for decoding function parameters from Ethereum transactions.

Resources

License

Stars

Watchers

Forks

Packages

No packages published