@sparkdotfi/abi-cli
v0.2.0-20251031.00360a84
Published
CLI tool for automatically fetching and generating ABIs from blockchain contracts across multiple networks.
Readme
@sparkdotfi/abi-cli
CLI tool for automatically fetching and generating ABIs from blockchain contracts across multiple networks.
Installation
npm install @sparkdotfi/abi-cliConfiguration
Create abi-cli.config.ts in your project root:
import { GlobalConfig } from '@sparkdotfi/abi-cli'
import { getEnv } from '@sparkdotfi/common-nodejs/env'
const env = getEnv()
const config: GlobalConfig = {
out: 'out',
keys: {
drpcApiKey: env.string('DRPC_API_KEY'),
etherscanApiKey: env.string('ETHERSCAN_API_KEY'),
},
contracts: {
USDC: {
mainnet: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
base: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
arbitrum: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
optimism: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85',
unichain: '0x078D782b760474a361dDA0AF3839290b0EF57AD6',
},
},
}
export default configUsage
# Set environment variables
export DRPC_API_KEY="your_key"
export ETHERSCAN_API_KEY="your_key"
# Run CLI
npx @sparkdotfi/abi-cli
# Or add `abi-cli` command to your package.json
{
"scripts": {
"generate": "abi-cli"
}
}Features
- Fetches ABIs from multiple networks
- Supports proxy contract resolution
- Verifies ABI compatability between many networks
- Generates TypeScript files
