Will Smith
d47e34dc5b
fix: generated crate not using generated version ( #1852 )
...
* 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
2022-11-15 13:00:12 -08:00
Matthias Seitz
3b52c2fc7e
fix: improve overloaded param diff matching ( #1853 )
2022-11-11 14:25:31 -08:00
DaniPopes
fb88215a87
fix: rustdoc errors ( #1808 )
...
* fix: rustdoc warnings
* fix: partially re-run abigen for multicall_contract
* fix
* fix test
* fix: rustdoc nightly warnings
2022-11-07 15:43:23 -08:00
DaniPopes
debd6fec3d
chore: clippy ( #1812 )
...
* chore: clippy
* fmt
2022-11-07 15:43:11 -08:00
Georgios Konstantopoulos
87b10bdf24
Revert "chore: disable dev deps for release"
...
This reverts commit d8a1be6fb1
.
2022-10-25 11:12:50 -07:00
Georgios Konstantopoulos
d8a1be6fb1
chore: disable dev deps for release
2022-10-25 11:04:28 -07:00
Georgios Konstantopoulos
ab24c5558a
(cargo-release) version 1.0.0
2022-10-25 11:03:00 -07:00
Georgios Konstantopoulos
16a207b0bd
(cargo-release) version 1.0.0
2022-10-25 11:02:59 -07:00
Georgios Konstantopoulos
79024ebbe9
(cargo-release) version 1.0.0
2022-10-25 11:02:59 -07:00
Matthias Seitz
ef22e05a9a
fix(abigen): remove trailing test,script markers ( #1776 )
2022-10-11 10:48:30 -07:00
Matthias Seitz
12548b5abf
fix: skip json abi formatting ( #1777 )
2022-10-11 08:10:31 -07:00
DaniPopes
d2c9db5ae9
fix(core, etherscan): RawAbi and Abi ( #1757 )
2022-09-29 11:15:04 -07:00
DaniPopes
5c762c44d7
fmt: all ( #1751 )
...
* fmt: all
* fmt: eol
2022-09-28 11:58:26 -07:00
DaniPopes
733c5d3dfd
fix(contract): relax Middleware trait bound for getters ( #1728 )
...
* wip
* fix(contract): relax Middleware trait bound for getters
* chore: clippy
* move
* fix: multicall
2022-09-23 17:32:24 -07:00
Matthias Seitz
513ed588ca
chore: export abi related types ( #1677 )
...
* chore: export abi related types
* feat: expose function
2022-09-08 09:07:38 -07:00
Matthias Seitz
0e7f46b03d
feat(abigen): subsitute structs in event bindings ( #1674 )
...
* fix(abigen): handle event defaults
* feat(abigen): subsitute structs in event bindings
* update changelog
* chore: rustfmt
* fix broken tests
* chore(clippy): make clippy happy
2022-09-07 09:14:13 -07:00
Matthias Seitz
430c56ee4a
fix(abigen): only derive default of no arrays len > 32 ( #1653 )
...
* fix(abigen): only derive default of no arrays len > 32
* impl default
2022-08-31 08:24:21 -07:00
Matthias Seitz
0b04ffe787
feat: add uint8 type ( #1639 )
...
* feat: add uint8 type
* update changelog
* derive default
* fix: failing test
2022-08-28 12:17:48 -07:00
Clifton King
b1124441ec
feat(abigen): descriptive deserialization errors ( #1633 )
...
* feat(abigen): descriptive deserialization errors
* update changelog
* map_err -> wrap_err
2022-08-23 17:54:56 -07:00
Matthias Seitz
43b8bb5251
fix(abigen): use correct str Regex ( #1566 )
2022-08-04 10:03:43 -07:00
Matthias Seitz
e6c1927a1c
feat(abigen): add contract filter ( #1564 )
...
* feat(abigen): add contract filter
* refactor: move to top of file
* add tests
* update changelog
2022-08-04 08:22:00 -07:00
Matthias Seitz
27a184db45
feat: add EthError trait and derive ( #1549 )
...
* feat: add EthError trait and derive
* update changelog
2022-08-02 11:03:52 -07:00
Matthias Seitz
6bb25e5228
fix(abigen): resolve output struct types correctly ( #1546 )
...
* fix(abigen): resolve output struct types correctly
* chore(clippy): make clippy happy
2022-08-01 09:45:31 -07:00
Matthias Seitz
c75608eda1
ci: rm pinned nightly ( #1541 )
...
* ci: rm pinned nightly
* chore(clippy): make clippy happy
2022-07-31 19:00:31 -07:00
Matthias Seitz
1f69ec7679
revert: add back dev-deps ( #1532 )
...
* Revert "disable dev deps"
This reverts commit 97bdcb9d82
.
* fix: add back removed dev-deps
2022-07-28 17:36:22 -07:00
Georgios Konstantopoulos
1ef7735e3d
MBlockerge branch 'master' of github.com:gakonst/ethers-rs
2022-07-28 11:45:59 -07:00
Matthias Seitz
b354102073
fix: use fully qualified path for Result ( #1527 )
2022-07-28 11:06:06 -07:00
Georgios Konstantopoulos
8d3e796b47
(cargo-release) version 0.17.0
2022-07-28 10:58:49 -07:00
Georgios Konstantopoulos
de2ed3391d
(cargo-release) version 0.17.0
2022-07-28 10:58:49 -07:00
Georgios Konstantopoulos
97bdcb9d82
disable dev deps
2022-07-28 10:57:38 -07:00
Clifton King
c418f4ef34
fix(abigen): abigen feature required for bindings ( #1508 )
...
* 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
2022-07-26 08:28:39 -07:00
Clifton King
aa008727ee
fix(abigen): contract names can be reserve words ( #1498 )
...
* 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
2022-07-24 03:18:24 +02:00
Matthias Seitz
a958b4fd28
fix(eip712): improve argument parsing ( #1485 )
...
* fix(eip712): improve argument parsing
* use reexported serde_json
* chore: rustfmt
* fix: add missing salt
2022-07-20 00:09:11 -07:00
jole
b287fcca4d
Generate structs for the return data of abigen-erated contracts ( #1440 )
...
* 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>
2022-07-04 11:54:02 -07:00
Matthias Seitz
f17f900d01
fix(abigen): remove redundant index adjustment for many overloads ( #1419 )
2022-06-27 11:52:06 -07:00
Matthias Seitz
659ac061b2
refactor(abigen): replace ethabi::Reader ( #1417 )
...
* feat: add human readable function parser
* clippy fix
* revert bad clippy
* refactor(abigen): replace ethabi::Reader
* fix: add token to tuple token parsing
2022-06-26 17:26:43 -07:00
Matthias Seitz
2524663674
fix(abigen): use abi signature attribute if provided ( #1409 )
2022-06-23 02:53:24 -04:00
Georgios Konstantopoulos
e991148790
Revert "release: disable dev deps"
...
This reverts commit b3159507a8
.
2022-06-14 14:23:10 +03:00
Georgios Konstantopoulos
b3159507a8
release: disable dev deps
2022-06-14 14:15:25 +03:00
Georgios Konstantopoulos
54b81e6b7f
(cargo-release) version 0.13.0
2022-06-14 13:59:11 +03:00
Georgios Konstantopoulos
3017e09146
(cargo-release) version 0.13.0
2022-06-14 13:59:10 +03:00
Georgios Konstantopoulos
4791bb6a07
(cargo-release) version 0.13.0
2022-06-14 13:59:10 +03:00
tri-joe
eb3945097d
make abigen-ed modules pub ( #1332 )
2022-05-31 13:29:02 -07:00
Clifton King
a41ae901e5
fix(abigen): non-snake-case modules out of order ( #1331 )
...
eg: `console` and `shared_types` were out of order and would fail
rustfmt check
2022-05-31 09:44:24 -07:00
Clifton King
7b9503c8b0
fix(abigen): clippy warnings on solidity bindings ( #1319 )
...
eg the `console` contract throws a clippy warning
2022-05-27 13:32:57 -07:00
Meet Mangukiya
2f34fc9705
feat(ethers-contract-abigen): opt out of checking cargo.toml for consistency ( #1301 )
2022-05-23 11:41:05 -07:00
Meet Mangukiya
6d5bebd860
Release process and CI ( #1240 )
...
* Fix the crate versions
* release.toml: add cargo-release config
* CONTRIBUTING.md: Update Releasing section
* feat: add release github workflow
* feat: generate CHANGELOGs and create github releases in CI
2022-05-13 13:10:05 -07:00
Matthias Seitz
847110a3fe
fix: filter out empty bytecode ( #1248 )
2022-05-11 07:34:41 -07:00
Matthias Seitz
fd994d7fde
feat(abigen): support overloaded events ( #1233 )
...
* feat(abigen): support overloaded events
* chore: update CHANGELOG
2022-05-07 09:31:53 -07:00
Matthias Seitz
ce3ebaefa0
chore(clippy): make clippy happy ( #1230 )
2022-05-06 08:15:49 -07:00
oblique
6faceb20d7
feat: Relax `Clone` requirements when `Arc<M>` is used ( #1183 )
...
`#[derive(Clone)]` was implementing `Clone` only if `M` was `Clone`,
however because of `Arc<M>` this can be relaxed.
2022-04-27 15:33:22 +03:00
Matthias Seitz
916e9a7334
chore(clippy): add some deny lints ( #1064 )
...
* feat: add deny lints
* trim ethers core
* trim ethers eip712
* deny ethers contract derive
* deny ethers contract abigen
* deny ethers contract
* deny ethers providers
* chore: add denies and fix unused deps
* doc: fix links
* fix: wasm build
* doc: fix links
* doc: fix links
* doc: fix inline doc links
* docs: fix intra doc links
2022-03-19 10:05:39 -07:00
Matthias Seitz
b6b5b09f4a
feat(abigen): add abi object deserializer and generate deploy function ( #1030 )
...
* feat(abigen): add abi object deserializer
* chore: rustfmt
* refactor: use enum type for deser abi
* refactor: use enum types for deser
* chore: rustfmt
* feat: add bytecode field
* feat: generate bytecode static
* feat: generate deployment function
* refactor: deploy function
* feat: add contract deployer type
* feat: make 0x prefix optional
* feat: add deploy function
* feat: add deploy example
* chore: update CHANGELOG
* chore(clippy): make clippy happy
2022-03-18 21:23:33 -07:00
Georgios Konstantopoulos
3244364060
chore: do not pin eyre patch version
2022-03-17 14:10:31 +02:00
Matthias Seitz
22bc981fd5
chore(abigen): improve error message when bindings out of sync ( #1025 )
2022-03-14 13:29:23 +02:00
oblique
46d7afd65b
fix(abigen): safe ident field names ( #989 )
2022-03-05 20:25:03 +02:00
Georgios Konstantopoulos
94e2d1b122
feat(abigen): add helper for getting number of abigen'd contracts
2022-03-01 14:44:34 +02:00
Matthias Seitz
960b873b00
fix(abigen): safe ident underscore followed by numeric ( #970 )
2022-02-28 00:04:43 +02:00
Matthias Seitz
d6d66b37dd
chore: add rate limit message ( #971 )
2022-02-27 17:41:26 +02:00
Matthias Seitz
10fcf60791
fix(abigen): support functions with different casing ( #972 )
2022-02-27 17:40:57 +02:00
Matthias Seitz
b6c22e9bcc
fix(abigen): dont generate empty shared_types module ( #965 )
2022-02-25 00:13:06 +02:00
Matthias Seitz
f5ef8149e5
feat(abigen): support shared type during multiabigen ( #959 )
...
* refactor: move type deduplication to abigen crate
* refactor: separate expansion process
* feat: support shared type during multiabigen
* test: add type deduplication test
* chore: rustfmt
* typos
* chore(clippy): make clippy happy
* chore: add anonymous field
2022-02-24 22:09:08 +02:00
Matthias Seitz
f1eaee52ef
feat: add contract code not verified check ( #962 )
2022-02-24 14:07:34 +02:00
Matthias Seitz
184cffaca3
fix(abigen/solc): make abigen work with ethers-solc and abiencoderv2 ( #952 )
...
* feat(solc): add lossless abi
* fix(abigen): make abigen work with ethers-solc and abiencoderv2
* chore: update CHANGELOG
2022-02-23 12:46:52 +02:00
Matthias Seitz
9876b49e6c
docs(abigen): improve abigen type docs ( #953 )
...
* docs(abigen): improve abigen type docs
* Update ethers-contract/ethers-contract-abigen/src/lib.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-02-23 12:36:14 +02:00
Matthias Seitz
45a37faa3d
fix(abigen): handle lossy ethabi generated abi structs ( #950 )
...
* fix(abigen): handle lossy ethabi generated abi structs
* chore: rustfmt
2022-02-22 20:26:21 +02:00
Georgios Konstantopoulos
16b9de5134
fix(abigen): add serde json to created crate
2022-02-18 00:17:22 +02:00
James Prestwich
7e4e8e200a
refactor: replace anyhow with eyre ( #858 )
...
* refactor: replace anyhow with eyre
* chore: update changelog
* refactor: simplify bail logic for duplicate method signatures
* refactor: simplify bail logic throughout
* refactor: use eyre::ensure
* refactor: more idiomatic use of eyre
2022-02-02 22:44:53 +02:00
James Prestwich
5f68bf52d2
refactor: MultiAbigen rework ( #852 )
...
* refactor: MultiAbigen rework
* docs: update ensure family docs
* feature: FromIterator for MultiAbigen
* refactor: cleaner instantiation of Abigen from files
* docs: update examples to use build step
* chore: add 854 to changelog
* lint: clippy
* Update ethers-contract/ethers-contract-abigen/src/lib.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-02-02 15:57:31 +02:00
thasarito
8e0eddbb57
feat: change abi_str to abi from contract in for hardhat abi ( #740 )
2022-01-08 11:17:36 +02:00
Matthias Seitz
2a98b34195
feat(abigen): search json recursively ( #733 )
2021-12-25 06:51:44 +02:00
Matthias Seitz
c7cf5bedbd
feat(abigen): add MultiAbigen to generate multiple contract bindings ( #724 )
...
* feat(abigen): add MultiAbigen to generate multiple contract bindings
* docs: more docs
* chore: update changelog
* rustmft
* chore: add json extension check
2021-12-23 16:38:07 +02:00
Matthias Seitz
1f4ecc6e75
feat(abigen): add provided derives for call and event enums ( #721 )
...
* feat(abigen): add provided derives for call and event enums
* chore: update CHANGELOG
2021-12-20 23:24:21 +02:00
Georgios Konstantopoulos
be468bcf32
fix(abigen): use lib for parsing paths correctly in windows
2021-12-19 22:06:38 +02:00
Georgios Konstantopoulos
d7c29cc615
fix: configure rustls & openssl via feature flag ( #703 )
...
* chore(etherscan): allow specifying openssl or rustls
* chore(contract): allow specifying openssl or rustls
* chore(solc): allow specifying openssl or rustls
* chore: expose new rustls/openssl features at top level crate
* chore: bump tokio-tungstenite / remove dup rustls version
* chore: bump svm-rs
* fix: feature gate sha2-asm
* ci: remove --all-features from windows tests
* chore: do not enable sha2-asm by default
* fix: do not pull in svm-rs in wasm builds
* chore: use upstream svm again
2021-12-19 16:56:54 +02:00
Matthias Seitz
3c164bc9bf
feat(abigen): add EthAbiCodec proc macro ( #704 )
...
* feat(abigen): add EthAbiCodec proc macro
* rustfmt
* fix: tuple codec
2021-12-19 16:40:17 +02:00
Matthias Seitz
e24117a1e1
chore(clippy): make clippy happy ( #705 )
2021-12-19 06:28:38 +02:00
Matthias Seitz
0769174b40
chore: allow unused http_get ( #674 )
...
* chore: allow unused http_get
* Update ethers-contract/ethers-contract-abigen/src/util.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* chore: update cfgs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2021-12-11 02:37:18 -07:00
Ivan Porto Carrero
a8b0885c25
add support for polygonscan and snowtrace for abigen ( #666 )
2021-12-10 09:05:45 -07:00
Matthias Seitz
59cf991828
feat(abigen): use structs for outputs ( #664 )
...
* feat(abigen): use structs for outputs
* update CHANGELOG
* make clippy happy
* fix lints
2021-12-09 16:00:59 -07:00
Matthias Seitz
279a2c316c
feat(abigen): support overloaded functions with different casing ( #650 )
...
* fix: support overloaded functions with different casing
* chore: fmt
* chore: typos
* feat: better method alias handling
2021-12-05 12:36:49 -08:00
Matthias Seitz
5dfc1bd171
fix: source parsing for local paths ( #633 )
2021-11-29 19:02:11 +02:00
Matthias Seitz
e15252dd8f
fix: conditional http support ( #632 )
...
* fix: conditional http support
* chore: update changelog
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2021-11-29 16:31:39 +02:00
Matthias Seitz
f6e803b4eb
fix: use CARGO_MANIFEST_DIR as root for relative paths in abigen! ( #631 )
...
* feat: resolve env vars in abigen paths
* docs: add env interpolation note
* chore: docs
2021-11-29 15:37:11 +02:00
Matthias Seitz
9b6cc37ca0
fix: method deduplication ( #619 )
...
* fix: method deduplication
* fix: handle name conflicts in parameters
* fix: order of numerated aliases
2021-11-27 14:31:36 +02:00
Matthias Seitz
2c30468b70
fix(codec)!: ambiguity unit8[] and bytes ( #613 )
...
* fix: unit8 encoding
* feat: use ethers::types::Bytes for solidity bytes type
* feat: add const generic from impls
* fix: failing tests
* fix: make compatible with bytes
* update changelog
* make compatible with encoding changes
* chore rm write to file
2021-11-24 22:15:17 +02:00
Georgios Konstantopoulos
bb3a2fd27c
release: 0.6.0 ( #611 )
...
* release(core): 0.6.0
* release(providers): 0.6.0
* release(contract-abigen): 0.6.0
* release(contract-derive): 0.6.0
* release(derive-eip712): 0.2.0
* release(ethers-solc): 0.1.0
* release(contract): 0.6.0
* release(etherscan): 0.2.0
* release(signers): 0.6.0
* release(middleware): 0.6.0
* chore: update dev deps
* refactor(core): move docs to readme
* refactor(contract): move docs to readme
* refactor(providers): move docs to readme
* chore: bump ethers cargo toml
* refactor(signers): move docs to readme
* refactor(middleware): move docs to readme
* fix(ethers): adjust re-exports to allow searching internal packages
* docs: fix broken links
we cannot use relative crate imports because the readmes
are also imported by the parent crate
* alias readmes to be accessible to ethers crate
2021-11-23 21:23:12 +02:00
Matthias Seitz
d53ca0ea56
feat: make reqwest optional but enabled by default ( #580 )
...
* feat: make reqwest optional but enabled by default
* update changelog
2021-11-14 14:27:05 +02:00
Sebastian Martinez
e72636210c
Refactor crate determination in new ethers-macro crate ( #555 )
...
* fix: compute ethers-core path in derive eip712
Co-authored-by: Ryan <ryan.tate@fieldresponder.io>
* refactor: move crate determination to ethers-macro
* docs: update fmt command
* fix: change cargo_metadata dep to optional
Co-authored-by: Ryan <ryan.tate@fieldresponder.io>
2021-11-05 15:00:01 +02:00
David Tolnay
325b752144
Fix missing fmt argument in error message ( #552 )
...
* Clean up strange non-multiple-of-4 indentation in Source::with_root
* Fix missing fmt argument in error message
* Add changelog entry for PR 552
2021-11-03 10:03:42 +02:00
Matthias Seitz
a07838eaf5
fix: preserve underscores in case of collisions ( #548 )
...
* fix: overloaded with same type arguments
* fix: numerate overloaded functions
* docs: add note
* chore: update changelog
* style: rename vars
* fix: draft underscore fix
* fix: underscore aliases
2021-11-01 01:06:31 +02:00
Matthias Seitz
4123823383
feat: enumerate overloaded functions if they are nameless ( #545 )
...
* fix: overloaded with same type arguments
* fix: numerate overloaded functions
* docs: add note
* chore: update changelog
* style: rename vars
2021-10-31 13:24:02 +02:00
Matthias Seitz
dcf20022c6
chore: add rustfmt.toml ( #537 )
...
* chore: add rustfmt.toml
* rustfmt
* chore: Update readme with fmt info
* ci: update ci
* chore: rustfmt
* rustfmt
* rustfmt
* ci: install libudev
* chore(clippy): make clippy happy
* chore(clippy): make clippy happy
* revert ci
* ci: install libudev
2021-10-29 14:29:35 +02:00
Matthias Seitz
eede86df41
feat: add abi code trait impls ( #531 )
...
* feat: use const generics for array tokenize
* feat: add abi encode decode impls
* test: add some tests
* chore: move abi codec to core
* update changelog
2021-10-28 01:07:24 +03:00
Matthias Seitz
fb4d9a9ef1
feat: function call enums EthCall macro and more ( #517 )
...
* fix: do not sort event variants
* style: use deref over clone
* style: refactor some stuff
* feat: add ethcall trait
* feat: include in abigen
* feat: add bare bones eth call derive
* feat: impl EthCall derive
* feat: support enums
* feat: use abigen enum derive
* fix: concrete abi and map errors
* test: first call test
* rustfmt
* chore: use correct trait name on error
* feat: derive display for call structs
* feat: add from conversion
* test: add convert test
* chore: docs and test
* chore: update changelog
* cargo fix
* feat: add unit type derive support and more test
* chore: patch ethabi
* chore: rm ethabi patch
* feat: add encode/decode trait impls
* style: use AsRef<[u8]>
* Update ethers-contract/ethers-contract-abigen/src/contract/methods.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* style: reindent macro body
* test: add tuple event test
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2021-10-18 13:28:38 +03:00
Matthias Seitz
bef7960a2b
feat: add display support for events ( #513 )
...
* chore: move proc macro implementation to separate modules
* feat: add display derive macro
* chore: reexport hex
* feat: add EthDisplay
* test: add display test
* fix: use ? op
* feat: derive EthDisplay in abigen
* feat: derive display for event enum
* chore: update changelog
2021-10-16 16:42:17 +03:00
Matthias Seitz
44bb02f857
feat: substitute overloaded functions ( #501 )
...
* feat: substitute overloaded functions
* chore: update changelog
2021-10-13 12:53:43 +03:00
Matthias Seitz
ea8551da4c
feat: add support for multiple contract definitions in abigen macro ( #498 )
...
* feat: support multiple contracts in abigen
* fix: use correct events decl
* fix: parsing and tests
* test: add test
* chore: update changelog
2021-10-11 17:18:09 +03:00
Matthias Seitz
6216b2e4a2
chore: remove unused && cargo fix ( #496 )
...
* chore: rm allows
* chore: cargo fix
2021-10-10 09:31:34 +01:00
georgewhewell
7d2e900cbb
fix: allow clippy::redundant_clone and clippy::type_complexity in abigen ( #491 )
2021-10-08 15:14:16 +01:00