* 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>
* chore: rename event_derives to derives
Misleading name, `event_derives` implies that only Solidity events'
structs would apply, while this is not true
* last derive
* mv
* docs
* docs
* last doc
* fix: generated crate not using generated version
* add docs
* wip: add base testcases
* fix: str formatting
* fix: add missing comma
* fix: tests and file loading
* fix: strip whitespaces
* fix: case where we are using specified crate
* linting: remove extra ref
* refactor: use toml parser over regex
* fix: add case for path and ethers-contract
* fix: add missing comma
* feat: don't check for path
* remove build-dep fallback
* fix(abigen): abigen feature required for bindings
traits such as ethers::contract::EthDisplay require abigen
* update changelog
* abigen now uses re-exported version of serde_json
* fix(abigen): contract names can be reserve words
* update changelog
* clippy warning
* module names consistent with other safe_*
* update refs to generated abis
* move reserved words tests to their own fn
* added note to changelog re: module name changes
* convert some helper functions
* use said helpers
* more
* don't derive EthCall on return structs
* move return structs to separate function
* remove unused
* remove duplicate code
* reduce code duplication
also use an iterator instead of a presized vector
* comments
* stuck
* fix wrong field
* rename
* don't generate structs for no-output functions
* cosmetic changes
* test: decode and verify result
* more testing
unnamed output (tuple struct)
no output (doesn't exist) -> can't verify this in code though
* Update ethers-contract/ethers-contract-abigen/src/contract/methods.rs
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
* remove dbg print
oops :(
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>