9e559aefeb
* fix(abigen): ensure correct ABI in `From` impl `new` creates a `Contract` with the correct ABI, but the `From` impl simply wraps the source `Contract`, which could have a completely different ABI. In effect this was an unsafe cast, and indeed was observed to trigger a "method not found (this should never happen)" panic for subsequent method lookups. Implementing `From` in terms of `new` fixes this, at the cost of an extra `Arc::clone()` (which I can't see how to eliminate without piercing the `ethers::contract::Contract` public API). * Remove unnecessary `async` from test Co-authored-by: DaniPopes <57450786+DaniPopes@users.noreply.github.com> Co-authored-by: DaniPopes <57450786+DaniPopes@users.noreply.github.com> |
||
---|---|---|
.. | ||
ethers-contract-abigen | ||
ethers-contract-derive | ||
src | ||
tests | ||
Cargo.toml | ||
README.md |
README.md
Type-safe abstractions for interacting with Ethereum smart contracts
Interacting with a smart contract requires broadcasting carefully crafted
transactions where the data
field
contains the
function's selector
along with the arguments of the called function.
This module provides the Contract
and ContractFactory
abstractions so
that you do not have to worry about that. It also provides typesafe bindings via
the abigen
macro and the Abigen
builder.