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
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
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
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
WillQ
c60990d7b6
remove EthAbiType derive generated unwrap ( #2056 )
...
* remove EthAbiType derive generated unwrap
* use simply expect
2023-01-17 11:15:59 -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
Matthias Seitz
3dfc04f9fe
chore(clippy): make clippy happy ( #1923 )
2022-12-05 22:05:33 -08:00
DaniPopes
debd6fec3d
chore: clippy ( #1812 )
...
* chore: clippy
* fmt
2022-11-07 15:43:11 -08: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
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
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
Matthias Seitz
a99dd1328b
fix: support display for bytes ( #1148 )
2022-04-16 13:08:31 -07: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
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
d4f8984f59
chore(deps): bump ethabi master ( #787 )
2022-01-13 02:58:11 +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
2a3fcbbb40
feat(abigen): use AbiType when parsing Function abi signature fails at compile time ( #647 )
...
* refactor: improved from token impl
* feat: add AbiType support
* feat: no need for expect
* feat: add missing abiarraytype impl
* test: add struct derive test
* chore: rustfmt
* chore: update changelog
* chore: rustfmt
2021-12-04 06:19:00 +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
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
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
5779a3cdaf
feat: add ethabitype support for solidity style enums ( #526 )
...
* feat: tokenize solidity like enums
* test: add enum test
* rustfmt
2021-10-24 20:58:41 +03:00
Matthias Seitz
b072b05515
fix: use debug fmt for nested arrays ( #527 )
2021-10-24 17:02:06 +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
c3528b78db
fix: use syn::Index for tuple access ( #515 )
...
* fix: use syn::Index for tuple access
* rustfmt
2021-10-16 19:45:42 +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
4608ddd9fa
chore: move proc macro implementation to separate modules ( #510 )
2021-10-16 11:19:42 +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
Georgios Konstantopoulos
77bc5aa30f
feat: expand solc capabilities / chore: update ethabi ( #445 )
...
* chore: use ethabi with bumped ethereum-types
* fix: do not use internal type in human readable abi
* fix: do not use internal type in abigen
* feat(solc): save the runtime bytecode
* feat: implement serde for CompiledContract
* feat: allow overriding solc binary path
* feat: expose providing raw file paths
* feat: do not set evm versions on old solc
* chore: use upstream ethabi
2021-09-13 15:35:50 +03:00
Matthias Seitz
8b5f4bfa81
fix: always treat abi type structs as tuples ( #417 )
...
* fix: always treat abi type structs as tuples
* fix: keep decoding for single field structs
* feat: unify event and struct encoding
2021-09-02 19:16:39 +03:00
Matthias Seitz
b0b4f4e09e
feat: detect ethers crate paths in derive macros ( #366 )
...
* feat: determine ethers crate name using metadata
* use crate detection
2021-08-06 15:47:17 +03:00
Matthias Seitz
ed83223b93
cargo clippy --fix ( #346 )
2021-07-24 21:53:40 +03:00
Matthias Seitz
b5a2ee9a3d
fix: event decoding for events with zero or one parameters ( #300 )
...
* fix: support events with zero or one paramaters
* test: test against events with zero and one parameter
2021-05-28 10:44:42 +03:00
Matthias Seitz
ac6d4d70a6
fix: off by one error during event decoding ( #296 )
2021-05-24 11:52:21 +03:00
Matthias Seitz
816c5fc071
feat(abigen): extend ethevent trait methods and decoding ( #239 )
...
* feat: extend EthEvent with decode_log method and support indexed proc
macro attributes
* test: check that ethevent proc macro attributes compile
* docs: document EthEvent proc macro attributes and add example
* refactor: change decode_log to take a reference
* refactor: use ethers as fully qualified path
* feat: add events enum generation
* feat: introduce EthLogDecode trait
* feat: generate EthLogDecode implementations
* refactor: use fully qualified syntax during abigen
* fix: switch to new Event builder
* fix: make test compile again
* test: update failing tests
* refactor: rename event function
* chore(clippy): make clippy happy
* fix: rename the event correctly
* fix: add missing indexed attribute
* Revert "fix: rename the event correctly"
This reverts commit 03eabc3ead
.
* fix: make indexed names optional
* fix: dsproxy name
* fix: rename ethers top level module imports
2021-03-19 17:44:59 +02:00
Matthias Seitz
57010c1c60
feat(abigen): include ethevent proc macro in abigen code gen workflow ( #232 )
...
* fix: make EthEvent name method a trait method
* refactor: make expand methods members of Context
* fix: make AbiParser parsing non consumeable
* feat: add struct expanding
* feat: use derive(EthEvent) in abigen workflow
* test: check EthEvent in abigen macro
* test: make test compile again
* refactor: simplify and optimize abi parsing from single str
* test: add human readable abigen tests
2021-03-16 21:37:19 +02:00
Matthias Seitz
0c18f9b32c
fix: make EthEvent abi attribute work for tuple inputs ( #229 )
...
* fix: try to parse the provided abi as tuple
* test: validate ethevent abi attribute
* docs: document ethevent abi attribute
2021-03-16 10:12:32 +02:00
Matthias Seitz
7b10b76e20
feat: add EthEvent proc macro derive support ( #227 )
...
* refactor: extract error module and use error macros
* feat: add solidity struct parser
* refactor: add AbiParse and support struct parsing
* test: add more struct parsing tests
* feat: add EthAbiType proc macro derive for deriving Tokenizable trait
* test: add EthAbiType derive tests
* refactor: extract tokenizeable implementation in separate method
* chore(test): use EthAbiType derive instead implementing Detokenizeable
* feat: introduce EthEvent trait
* feat: add EthEvent proc macro derive support
* test: add proc macro derive tests
* chore: rustfmt
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2021-03-15 13:59:52 +02:00
Georgios Konstantopoulos
29a3a16085
chore: upgrade to latest ethtypes ( #137 )
...
* chore: upgrade to latest ethtypes
* chore: fix doctests
2021-01-10 14:03:37 +02:00
Georgios Konstantopoulos
4ff466a593
fix intradoc links and add missing cargo metadata ( #29 )
2020-06-20 16:55:07 +03:00
Georgios Konstantopoulos
570b45eb10
ABI Encoder v2 + ABI Spec v6.6 ( #17 )
...
* feat(core): update ethabi and enable more Toeknize impls
* feat(contract/abigen): implement simple AbiEncoderV2
* tests(ethers): add abigen example
* fix(core): fix abi tests
* chore: make clippy happy
2020-06-16 15:08:42 +03:00
Georgios Konstantopoulos
beb480f22b
chore(abigen-macro): do not run the doctests since the abi paths cannot be found
2020-06-11 12:33:09 +03:00
Georgios Konstantopoulos
7dbc2d4f25
test(abigen): re-enable tests
2020-06-11 00:11:42 +03:00
Georgios Konstantopoulos
73b502ed5f
macro: re-enable paths/etherscan and enable more complex tokens
2020-06-04 00:05:05 +03:00
Georgios Konstantopoulos
cd4914d37f
refactor: pull crates to root dir
2020-06-01 21:24:22 +03:00