TypeScript Node CLI to pull swap event logs from a single transaction and compute cumulative flows for each swap.
Prereqs
- Node 18+
- Yarn
Setup
- Install deps:
yarn install - Build:
yarn build
Usage
- Dev (TS directly):
yarn dev -- <txHash> [--rpc <url>] [--vault <addr>] [--no-metadata] - After build:
yarn start -- <txHash> [--rpc <url>] [--vault <addr>] [--no-metadata] - As a bin (after build):
bea <txHash> [--rpc <url>] [--vault <addr>] [--no-metadata]
Flags
--rpc <url>: JSON-RPC endpoint. Defaults to$ARB_RPCor Arbitrum public.--vault <addr>: Balancer V2 Vault address (default Arbitrum:0xBA1222...BF2C8).--no-metadata: Skip ERC20 symbol/decimals lookups.
Output
- CSV rows for each Balancer Vault
Swapin the transaction. - Columns:
idx,poolAddr,poolId,tokenIn,tokenInSym,amountInRaw,amountIn,inCumRaw,inCum,tokenOut,tokenOutSym,amountOutRaw,amountOut,outCumRaw,outCum. inCum/outCumare running cumulative sums per token across the transaction (humanized by decimals).
Example
yarn dev -- 0x7da32ebc615d0f29a24cacf9d18254bea3a2c730084c690ee40238b1d8b55773
Notes
- Uses ESM with
ethers@6. - CLI wiring and validation are in
src/cli.ts. - Next step is implementing log fetching and aggregation.