DaniPopes
1861b98896
chore: move etherscan api key env var matching to Chain enum ( #2204 )
...
* fix: mainnet, optimism blocktimes
* chore: move etherscan api key env var matching to Chain enum
* docs: missing exhaustiveness comment
2023-02-27 13:14:36 -07:00
DaniPopes
203e350940
docs: fix broken links, update documentation ( #2203 )
...
* docs: fix broken links
* docs: update READMEs and module-level documentation
2023-02-27 13:03:17 -07:00
James Prestwich
2090bf560e
Expose contract revert errors in the ContractError struct ( #2172 )
...
* feature: spelunk for revert errors
* feature: bubble up revert to contract error
* feature: bubble up reverts to multicall
* fix: correctly remove signature when deserializing EthErrors
* chore: remove redundant test
* chore: clippy
* fix: allow empty revert string
* docs: add all missing rustdoc for ethers-contract
* chore: rustfmt
* chore: Changelog
* fix: danipope test comment
2023-02-22 14:52:25 -08:00
DaniPopes
e55b8116f3
feat(contract): improve Multicall result handling ( #2164 )
...
* nits
* clippy
* ordering
* move
* chore: edition 2021
* chore: detokenize nit
* feat(contract): improve Multicall result handling
* docs: update CHANGELOG.md
* feat: make fields public
* chore: clippy
2023-02-20 18:50:28 -08:00
DaniPopes
3732de844c
fix(abigen): builtin trait derives ( #2170 )
...
* fix(abigen): builtin trait derives
* refactor: EthDisplay
* feat(derive): improve type detection
* chore: cleanup
* chore: edition 2021
* chore: clippy
* chore: use unreachable
2023-02-20 16:27:43 -08:00
Mathis
c21362b696
Make order of types in shared_types deterministic ( #2169 )
...
* Add missing development dependencies to flake.nix
* Use BTreeMap/Set for deterministic shared types
Fixes an issue where the order of types in the generated shared_types is
not always deterministic.
2023-02-20 16:18:31 -08:00
James Prestwich
ef6e7f41a1
Refactor: organize ethers-providers ( #2159 )
...
* feature: bubble up jsonrpc error response via trait
* refactor: ClientError to TransportError
* refactor: FromErr to MiddlewareError
* tests: fix test with middlewareerror
* fix: doctest
* fix: fix custom middleware example
* feature: as_serde_error
* docs: for error traits
* fix: custom example and unnecessary ref
* refactor: in progress organization
* refactor: continue cleaning up
* refactor: finish changing crate layout
* refactor: fix test imports
* refactor: move convenience impl into toolbox
* chore: changelog
* docs: make them suck less
* fix: remove deprecation
* fix: DaniPopes's nits
2023-02-20 15:55:36 -08:00
DaniPopes
6336e96995
refactor(abigen): derives, struct expansion ( #2160 )
...
* refactor: abigen derives
* refactor: struct expansion
* refactor: structs 2
* chore: abigen derives and visibility
* refactor: abigen docs
* refactor: structs 3
* chore: doc
* chore: structs conditional default
* refactor: method expansion
* refactor: final doc
* refactor: expansions, add docs, extra From impl
* refactor: final struct expansion
* feat(types): implement bytes::Bytes static methods
* feat: use static Bytes for bytecode
* merge artifact
* refactor: event input expansion
* refactor: common expand params
* refactor: method params expansion
* refactor: struct fields expansion
* refactor: types array expansion
* mergings
* cleanup
* flatten
* selector fmt
* chore: clippy
* refactor: common, imports
2023-02-19 16:53:29 -08:00
Georgios Konstantopoulos
8d511dbd64
chore: fmt
2023-02-18 13:22:58 -08:00
frankie
9733b16afc
Include deployed bytecode in abigen output ( #2163 )
...
* test
* sanity check
2023-02-18 12:53:39 -08:00
dependabot[bot]
69edf3b49e
chore(deps): bump once_cell from 1.17.0 to 1.17.1 ( #2156 )
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.17.0 to 1.17.1.
- [Release notes](https://github.com/matklad/once_cell/releases )
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.17.0...v1.17.1 )
---
updated-dependencies:
- dependency-name: once_cell
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-15 10:55:04 -08:00
DaniPopes
d8597202ed
refactor(contract): derive procedural macros ( #2152 )
...
* refactor: use Result<_, Error>
* fix: report both errors during parsing
* refactor: abigen derive results
* update Event derive
* refactor: derive utils
* fmt Display derive
* fmt Codec derive
* refactor: derives
* fix artifacts
* chore: clippy
2023-02-13 19:54:00 -08:00
DaniPopes
f9ced12fee
refactor(abigen): solidity types expansion ( #2131 )
...
* refactor: event input expansion
* refactor: common expand params
* refactor: method params expansion
* refactor: struct fields expansion
* refactor: types array expansion
* clippy
2023-02-13 17:15:28 -08:00
James Prestwich
0c16eb971d
Prestwich/event no lifetime ( #2105 )
...
* refactor(breaking): remove lifetime from Event
* fix: example updated to use new event
2023-02-13 17:14:38 -08:00
Matthias Seitz
e970f58a8a
fix(abigen): use event name from abi attribute ( #2144 )
...
* fix(abigen): use event name from abi attribute
* rustfmt
2023-02-13 17:11:13 -08:00
Yiannis M
3141bebd78
abigen: Add human readable ABI example in documentation ( #2148 )
2023-02-13 17:09:25 -08:00
DaniPopes
fefaf7433f
fix(contract): report all errors during parsing ( #2149 )
...
* refactor: use Result<_, Error>
* fix: report both errors during parsing
2023-02-13 17:08:46 -08:00
Paul Lange
bfe3ba9d5f
contracts: allow upper case acronyms lint ( #2128 )
2023-02-10 11:52:55 -08:00
Jacob Turner
b08c1e29b8
[fix]: Use pascal casing for type names in structs generated by abigen ( #2130 )
...
* [fix]: Use pascal casing for type names in structs generated by abigen
* [fix]: Revert the downversioning changes
2023-02-10 11:50:09 -08:00
georgewhewell
c0fd8326f0
chore(clippy): fix bare urls in abigen ( #2133 )
2023-02-10 11:49:27 -08:00
James Prestwich
2607c67ca0
Refactor factories to use `Borrow<M>` ( #2103 )
...
* refactor: abstract factories over Borrow
* chore: changelog
* fix: docs for factory and type aliases
2023-02-07 10:51:34 -08:00
James Prestwich
0236de8d2a
refactor: make contract abstract over Borrow ( #2082 )
...
* refactor: contract abstract over Borrow
* refactor: preserve old connect usage
* nit: remove commented out modules
* chore: changelog
* test: add compile check to tests
* docs: add usage note to doc and make sure contractcall is visible
* fix: test compilation
* refactor: ContractCallInternal -> FunctionCall, ContractInternal -> ContractInstance
* fix: Send IntoFuture
* nit: must-use on connect
* docs: remove deprecation warning in docstrings for type aliases
* Update ethers-contract/src/call.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
---------
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2023-02-06 13:27:01 -08:00
DaniPopes
fd02bbc418
refactor(abigen): inline docs ( #2090 )
...
* refactor: abigen docs
* chore: doc
* refactor: final doc
* mergings
* fix: unremove Default
2023-01-30 21:28:57 -08:00
DaniPopes
93e1850646
refactor/feat(abigen,types): add bytes::Bytes static methods, refactor struct declaration ( #2089 )
...
* refactor: final struct expansion
* feat(types): implement bytes::Bytes static methods
* feat: use static Bytes for bytecode
* chore: add rustfmt skip directive
* clippy
2023-01-30 12:12:35 -08:00
Matthias Seitz
60e1779626
fix: add cfg to IntoFuture preventing Send ( #2086 )
2023-01-30 12:06:34 -08:00
wigy
7da559bbed
fix(provider): Add Send bound to return type of JsonRpcClient::request ( #2072 )
2023-01-27 16:57:08 -05:00
Guillaume Malette
83b12a80e3
Make ContractCall IntoFuture implement Send ( #2083 )
...
* fix(contracts): Add a failing test showing that ContractCall IntoFuture is not Send
* fix(contracts): Add Send bound for IntoFuture implementation of ContractCall
* chore: update CHAGELOG
* chore: fmt
---------
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2023-01-27 14:54:49 -05:00
Matthias Seitz
d3ad5478ae
feat(abi): add helper functions to access solidity types ( #2081 )
2023-01-27 13:12:32 -05:00
Matthias Seitz
8ecd566930
fix: add missing pub for tuple structs ( #2080 )
2023-01-27 13:07:27 -05:00
WillQ
c60990d7b6
remove EthAbiType derive generated unwrap ( #2056 )
...
* remove EthAbiType derive generated unwrap
* use simply expect
2023-01-17 11:15:59 -08:00
Georgios Konstantopoulos
f2099a8eaa
chore: fix clippy ( #2059 )
2023-01-16 18:11:27 -08:00
Georgios Konstantopoulos
10b18e0d58
chore: do not expose util module
2023-01-13 11:10:31 -08:00
Georgios Konstantopoulos
219004efcb
fix(abigen): add back mod util
2023-01-13 11:09:13 -08:00
DaniPopes
c2d7b8321f
refactor(abigen): source ( #2016 )
...
* rm parse_address
* refactor: sources
* add comments, support <chain>:<address>
* fix doc
* chore: clippy
* fmt
* fix
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2023-01-13 10:59:44 -08:00
DaniPopes
d1e934791d
refactor(abigen): Abigen, ContractBindings ( #2019 )
...
* use format_ident
* lib.rs
* refactor: ContractBindings
* refactor: from_file
* add write_fmt
* mv
* error msg
* revert mod docs
2023-01-13 10:23:59 -08:00
DaniPopes
5edcd3765c
feat(contract): use u64 and add more chains to multicall ( #2042 )
...
* feat: add new chains and use u64
* chore: manually implement Clone and Debug to avoid trait bounds.
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2023-01-13 10:18:55 -08:00
Nick
9e559aefeb
fix(abigen): ensure correct ABI in `From` impl ( #2036 )
...
* 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>
2023-01-13 10:18:17 -08:00
DaniPopes
79f27e2366
docs(abigen): rename `event_derives` to `derives` ( #2018 )
...
* 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
2023-01-13 10:17:32 -08:00
DaniPopes
015eeabea8
feat(contract): return multicall pending transaction ( #2044 )
...
* feat(contract): return multicall pending transaction
* fix: tests
* docs: update CHANGELOG.md
2023-01-11 19:30:56 -08:00
DaniPopes
0187bedd11
feat(abigen): use prettyplease ( #2027 )
2023-01-09 07:17:22 +02:00
DaniPopes
96f4723c13
fix(abigen): tests ( #2015 )
...
* fix: methods tests
* fix: remaining paths in tests
2023-01-06 11:30:34 +02:00
DaniPopes
24b9ae2404
fix(contract): doctests ( #2007 )
2023-01-04 13:29:10 +02:00
Matthias Seitz
6ac3e75c6a
fix: use full path of i256 ( #2000 )
2023-01-03 15:12:47 +02:00
DaniPopes
97582cc346
feat(core, contract): improve `determine_ethers_crates` ( #1988 )
...
* refactor: determine_ethers_crates
* feat: improve crate resolution
* export new types and functions
* export
* fix: file name check
* fix: invert condition and check CARGO_MANIFEST_DIR
* use abigen macro to generate multicall
* chore: rm debug
* rm unnecessary .replace
* chore: clippy
* chore: clippy
* Revert "chore: clippy"
This reverts commit bd220f308d
.
* Revert "chore: clippy"
This reverts commit 5550f4e856
.
* add tests
* better tests, docs
* add another test
* fix docs
* refactor: add an environment struct for determining ethers crates
* fix: use fmt::Debug to escape paths
* docs: rename and rm old docs
* feat: use global path for crates
* fix: docs
* chore: move rand impl to tests mod
2023-01-03 15:11:57 +02:00
DaniPopes
d272318483
chore: update all rust editions to 2021 ( #1979 )
2022-12-30 14:48:29 +02:00
Akram Hussein
69e0ff7301
fix: doc typo regarding Multicall::call_array ( #1985 )
2022-12-30 14:44:03 +02:00
dependabot[bot]
a42cc9f63f
chore(deps): bump once_cell from 1.16.0 to 1.17.0 ( #1987 )
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.16.0 to 1.17.0.
- [Release notes](https://github.com/matklad/once_cell/releases )
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.16.0...v1.17.0 )
---
updated-dependencies:
- dependency-name: once_cell
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-30 14:43:05 +02:00
DaniPopes
d8d4eac3ad
fix(contract): add setter for MultiBindings' rustfmt ( #1948 )
2022-12-22 21:05:00 +02:00
Yiannis M
813600e6c9
fix: Add `openssl` and `rustls` feature flags in ethers-middleware ( #1961 )
...
* fix: ethers-middleware: Add `openssl` and `rustls` feature flags
* fix: ethers-contract-derive: Disable default features of ethers-contract-abigen
Without this fix, `rustls` was enabled by default even if user had `openssl` feature flag
2022-12-21 16:44:42 +02:00
Genysys
91cd6ccce8
feat: adds bscscan as abi source ( #1955 )
2022-12-19 17:54:24 +02:00