Releases: naddison36/tx2uml
Release v1.1.20
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
Feature
- Load contract labels for other chains. eg Arbitrum, Avalanche, BSC, Fantom and Polygon
Release v1.1.18
Fixes
- The
TokenInfo
contract changed to limit the gas usage when trying to get thesymbol
,name
,decimals
andisNFT
from a contract. Some contracts were failing thegetInfoBatch
call as the contracts didn't support the token functions orsupportInterface
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
- fix: throttle calls to Etherscan to get contract details for value diagrams
- chore: added more tests
Release v1.1.16
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
Fixes
TokenInfo
changed to get tokenname
andsymbol
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
Release v1.1.13
Release v1.1.12
Fixed permissions of lib/tx2uml.js
#52
Release v1.1.11
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
Release v1.1.10
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