tronz-contract
ABI bindings and contract instances for the tronz TRON SDK.
TRON smart contracts are EVM-compatible, so this crate reuses alloy's
sol! macro and ABI codec directly rather than
hand-rolling an encoder.
Features
| Feature | What it enables |
|---|---|
| (none) | Static ABI encode/decode via sol! (no I/O, no provider dep) |
provider |
ContractInstance, Interface, Trc20Instance, and extension traits |
Interacting with arbitrary contracts (dynamic ABI)
Load a JSON ABI at runtime and call any function by name:
use ;
use JsonAbi;
let abi: JsonAbi = from_str.unwrap;
let contract = provider.contract;
// read-only call
let values = contract.call.await?;
// state-changing call
let pending = contract.send.await?;
let receipt = pending.get_receipt.await?;
Standard token interfaces (static ABI)
Use the typed wrappers for well-known standards:
use Trc20Ext;
let token = provider.trc20;
println!;
println!;
let pending = token.transfer.await?;
let receipt = pending.get_receipt.await?;
Crate layout
trc20— staticsol!bindings +Trc20Instancehigh-level wrapperInterfacewrappingJsonAbiwith O(1) selector lookupContractInstance— generic contract handleContractErrorandResulttype alias
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.