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