Skip to content

Releases: naddison36/tx2uml

Release v1.1.20

18 Jun 03:08
d9bd4a7
Compare
Choose a tag to compare

Features

  • Allow overriding ABIs from Etherscan with a local file. (#65).

new command line option

  -af, --abiFile <value>        name of the json abi file that can override contract details like ABI (default: "tx.abi.json")

Thanks @rodion-lim-partior for the contribution

Maintenance

  • Increase sleep between Etherscan calls to avoid rate limits
  • Put custom tracer into a single line to work with Erigon. This is used for value transfer diagrams.

Release v1.1.19

27 Mar 12:13
Compare
Choose a tag to compare

Feature

  • Load contract labels for other chains. eg Arbitrum, Avalanche, BSC, Fantom and Polygon

Release v1.1.18

22 Mar 05:24
Compare
Choose a tag to compare

Fixes

  • The TokenInfo contract changed to limit the gas usage when trying to get the symbol, name, decimals and isNFT from a contract. Some contracts were failing the getInfoBatch call as the contracts didn't support the token functions or supportInterface for isNTF, but used all the gas when those calls were attempted. Using a try/catch doesn't help when the gas limit is hit even with view calls.
  • The new TokenInfo contract has been deployed to Mainnet, Goerli, Seploia, Polygon, Avalanche, Arbitrum, Optimism and Gnosis.

Release v1.1.17

19 Mar 18:22
d957186
Compare
Choose a tag to compare
  • fix: throttle calls to Etherscan to get contract details for value diagrams
  • chore: added more tests

Release v1.1.16

19 Mar 18:24
cf3a9c3
Compare
Choose a tag to compare

Fixes

  • network currency set for non-ETH chains like Avalanche
  • copy to wait for 0 confirmations
  • Deployed TokenInfo contract to Avalanche

Release v1.1.15

08 Mar 04:24
833474b
Compare
Choose a tag to compare

Fixes

  • TokenInfo changed to get token name and symbol separately as some tokens do not have a symbol. eg Blur Pool

Maintenance

  • Removed testnets from --chain option

Example value transfer diagram with Blur Token that uses the token name instead of the symbol
0dc77057

Release v1.1.13

07 Mar 06:23
3e12604
Compare
Choose a tag to compare

Features

  • added ens names to participants

Fixes

  • Building on Windows
  • Only use labels file if for mainnet
  • Shorten tokenId when more 1m

Example mainnet transaction with ENS names
blurChungo

Release v1.1.12

06 Mar 13:50
c3afda7
Compare
Choose a tag to compare

Fixed permissions of lib/tx2uml.js #52

Release v1.1.11

06 Mar 12:25
6a3a711
Compare
Choose a tag to compare

Feature

  • Added -e, --onlyToken option to value transfer diagrams for just token transfers. debug_traceTransaction is not required of the node provider. The downside is ETH transfers are not included.
  • Added network to bottom of value transfer diagrams. eg mainnet, polygon.
  • For each transaction, add network, block and time at the bottom when there are multiple transactions.

Fixes

  • Value transfer diagrams from chains that are not mainnet. The chain option was not being passed to the node and Etherscan clients.
  • Support of additional Etherscan explorers like optimistic, avalanche and fantom
  • ETH balance of first called contract for value transfers

Maintenance

  • Updated examples
  • Updated QuickNode and Chainstack trace support

The updated value transfer usage with the new onlyToken option.

Usage: tx2uml value <txhash(s)> [options]

Generates a UML sequence diagram of token and ether value transfers between accounts and contracts. This requires an archive node that supports debug_traceTransaction with custom EVM tracers which are Geth, Erigon or Anvil.

Arguments:
  txHash(s)   transaction hash or an array of hashes in hexadecimal format with a 0x prefix. If running for multiple transactions, the comma-separated list of transaction hashes must not have white spaces

Options:
  -e, --onlyToken  get transfers only from token events. No ETH transfers will be included. Use when provider does not
                   support debug_traceTransaction with custom tracer. (default: false)
  -h, --help       display help for command

Polygon Only Token Transfers

If there is no access to a node provider that supports debug_traceTransaction with a custom EVM tracer, you can generate a value transfer diagram just from the token events.
Use the -e --onlyToken option to just get the token events. This means no ETH transfers in the transaction will be included which are sourced from calling debug_traceTransaction.

The following example is a mStable mUSD swap transaction on Polygon 0xd96e4fa0b545652e99b35aee027246cb14739e27e7d74d92eb3875380f1e71ea.

The -c, --chain option is used so the contract ABIs are retrieved from Polygonscan and the Polygon token details contract is used.

tx2uml value 0xd96e4fa0b545652e99b35aee027246cb14739e27e7d74d92eb3875380f1e71ea --onlyToken --chain polygon -o ./polygon-musd-swap

Polygon mUSD swap

Release v1.1.10

05 Mar 13:44
d10bd69
Compare
Choose a tag to compare

fix: chunk getting token details into 10 at a time as getting too many can fail.
chore: refactored custom EVM tracer for value flow diagrams
chore: updated Ethereum client trace support matrix