Commit Graph

77 Commits

Author SHA1 Message Date
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
DaniPopes d272318483
chore: update all rust editions to 2021 (#1979) 2022-12-30 14:48:29 +02:00
Yiannis M 813600e6c9
fix: Add `openssl` and `rustls` feature flags in ethers-middleware (#1961)
* fix: ethers-middleware: Add `openssl` and `rustls` feature flags

* fix: ethers-contract-derive: Disable default features of ethers-contract-abigen

Without this fix, `rustls` was enabled by default even if user had `openssl` feature flag
2022-12-21 16:44:42 +02:00
Matthias Seitz 3dfc04f9fe
chore(clippy): make clippy happy (#1923) 2022-12-05 22:05:33 -08:00
Georgios Konstantopoulos 4a70dc5614 (cargo-release) version 1.0.2 2022-11-27 12:27:56 -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 f27078b317 (cargo-release) version 1.0.0 2022-10-25 11:02:59 -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
DaniPopes 5c762c44d7
fmt: all (#1751)
* fmt: all

* fmt: eol
2022-09-28 11:58:26 -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 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 2b7d035324 (cargo-release) version 0.17.0 2022-07-28 10:58:49 -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
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 ce275f1838 (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
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 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
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
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