alloy-erc20 1.1.0

Interact with ERC-20 contracts using Alloy.
docs.rs failed to build alloy-erc20-1.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: alloy-erc20-0.5.0

alloy-erc20

ERC20 is a Rust libary relying on Alloy allowing to interact with ERC-20 contracts.

Installation

Add alloy-erc20 to your Cargo.toml.

alloy-erc20 = "1.0"

Features

  • A basic Token struct and associated extensions methods on Alloy's Provider, allowing to retrieve token decimals, and compute balances as BigDecimal from U256.
  • A TokenStore trait, and a BasicTokenStore impl, allowing to cache Tokens in memory.
  • A LazyToken struct, acting as a wrapper around Alloy contract instance, lazily retrieving name, symbol, decimals and totalSupply from the blockchain.
  • A LazyTokenSigner struct for executing write operations like transfer, approve, and transferFrom with a signer-capable provider.

Testing

This library includes comprehensive integration tests using testcontainers-modules and Anvil.

The integration tests:

  • Run completely standalone without external RPC dependencies
  • Deploy a mock ERC-20 contract to a blank Anvil dev chain
  • Test all LazyToken and LazyTokenSigner operations
  • Complete in approximately 1 second
  • Require only Docker to be installed

To run the integration tests:

cargo test --test integration_tests