DaniPopes
c9a7b4acaf
refactor(abigen): keep and use parsed spans ( #2247 )
...
* order
* refactor(abigen): keep and use spans
* chore: use getters instead of making fields public
* fix: tests
* docs: update abigen documentation
* chore: clippy
2023-03-13 12:49:32 -07: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
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
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
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
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
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
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
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
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
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
4ff466a593
fix intradoc links and add missing cargo metadata ( #29 )
2020-06-20 16:55:07 +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