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
b354102073
fix: use fully qualified path for Result ( #1527 )
2022-07-28 11:06:06 -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
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
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
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
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