Commit Graph

263 Commits

Author SHA1 Message Date
Meet Mangukiya a150666d54
feat: add paginated logs (#1285)
* feat: add paginated logs

* docs: add paginated_logs example

* remove unpin
2022-05-23 14:23:35 -07:00
Georgios Konstantopoulos dc107ce892
fix: correctly serialize TxPoolInspectSummary (#1305)
* fix: correctly serialize TxPoolInspectSummary

previously we'd use the default serde derive, now we serialize
it like geth does

* chore: add back removed Eq derive
2022-05-23 14:15:29 -07:00
Matthias Seitz cffcc7bbec
chore(clippy): fix newest nightly lints (#1298) 2022-05-22 15:18:57 -07:00
joshieDo f5ea2bd6e3
feat(core): add helpers to unwrap `TypedTransaction` (#1278)
* add different helpers for type transactions

* remove as_() on TypedTransaction

* specify into_eip2930 when it matches a legacy tx

* remove unused error type

* specify into_legacy when it matches an eip2930 tx
2022-05-17 15:50:14 -07:00
oblique 75ba3f4a9a
fix(core): On pending block `miner` field is always `null` (#1272)
* fix(core): On pending block `miner` field is always `null`

* Fix formatting
2022-05-16 14:10:02 -07:00
Georgios Konstantopoulos 83dc3e226c chore: fmt 2022-05-16 12:33:38 -07:00
Shawn Harmsen ceafcb250b
fix: unify name of supported chains with strum (#1249)
* add strum

* update strum version

* whitespace

* revert strum

* using strum EnumVariantNames

* fix strum serialize kebab case and edge cases
2022-05-16 12:28:35 -07:00
Matthias Seitz 94cf8a8f77
feat: add eip-1898 deserialize for BlockId (#1257) 2022-05-13 12:56:14 -07:00
Remco Bloemen 4ba8adf87c
Add Block::time (#1250)
* Add Block::time

* Doc fixes
2022-05-11 10:19:02 -07:00
Remco Bloemen 98fc8c88e4
impl TryFrom<U256> for Chain (#1247) 2022-05-11 07:35:30 -07:00
Tomas Tauber 0926ead2bc
fix(core): removed Cronos mainnet beta from `is_legacy` (#1246)
it now supports EIP1559 after the network upgrade at the height 2693800
2022-05-10 08:31:28 -07:00
Matthias Seitz 790550c1e5
feat(abi): add human readable tokenizer and parser (#1234)
* feat(abi): add human readable tokenizer and parser

* feat(abi): support nested tuples
2022-05-09 10:46:43 -07:00
Remco Bloemen 18b4ef4e47
Robust gas oracles (#1222)
* Pass reqwest Client to constructors

* Add Median oracle aggregator

* DRY

* Weighted median

* Add cache layer

* Simplify lifetimes

* Add with_client constructors

* Update GasNow urls

* Add u256_from_f64_saturating

* Add polygon oracle

* Fixes

* Fix lints

* Remove dbg statements
2022-05-06 08:16:43 -07:00
Matthias Seitz ce3ebaefa0
chore(clippy): make clippy happy (#1230) 2022-05-06 08:15:49 -07:00
inconspicuous99 f5c5468420
Add: Make Ganache Startup Timeout *Configurable*. (#1224)
* Add: Configurable Ganache Startup TImeout

* fix lint, add docs.
2022-05-05 07:40:48 -07:00
Matthias Seitz 67e3480bdc
chore(core): update moonbeam url (#1228) 2022-05-05 07:31:26 -07:00
CyMule 4d24acdd84
Adds From<H160> trait to ValueOrArray<H160> (#1200)
* Adds From<H160> trait to ValueOrArray<H160>

The trait From<H160> for ValueOrArray<H160> was not implemented which
prevented compilation when using
pub fn address<T: Into<ValueOrArray<Address>>>(self, address: T)
for ethers_core::types::Filter.

Fixes: #1199

* update CHANGELOG.md

* Adds From<Vec<H160>> trait to ValueOrArray<H160> and documentation

The trait From<Vec<H160>> for ValueOrArray<H160> was not implemented which
prevented compilation when passing a Vec<H160> into
pub fn address<T: Into<ValueOrArray<Address>>>(self, address: T)
for ethers_core::types::Filter.

This commit also includes documentation on how to use fn address for
ethers_core::types::Filter.

Fixes: #1199
2022-05-02 12:33:33 -07:00
Matthias Seitz 19f7a93243
feat(core): add block conversion helpers (#1186)
* feat: add full to sparse block conversion

* feat: add sparse to full block conversion
2022-04-27 11:46:06 -07:00
Josh Stevens 82d5741bcc
fix: add to and from into the transaction receipt to follow spec (#1184)
* fix: add to and from into the transaction receipt to follow spec

* update changelog
2022-04-27 15:40:59 +03:00
Dan Cline 3d9fc21ba9
fix(core): decode `from` field for typed transactions (#1180)
* fix(core): add eip1559 prefix for sighash

 - add a test which properly tests the `from` address decoding, which
   was incorrect due to the tx type not being hashed before recovery

* fix(core): decode from for EIP2930 transactions

 - add test which checks signed decoding for an EIP2930 transaction

* ignore decoding tests for celo

* remove type constant and use typed sighash

* update CHANGELOG
2022-04-27 15:39:59 +03:00
Rohit Narurkar 1b044652f0
chore(core): derive default for log (#1168) 2022-04-23 01:40:01 -07:00
Matthias Seitz 48e292021d
feat: add anvil bindings (#1164) 2022-04-21 19:22:52 +02:00
Matthias Seitz 7a098b183f
test: add type check test for abi array tuples (#1143) 2022-04-18 10:02:56 -07:00
Rohit Narurkar 45cce0f4b4
feat: impl rlp encodable for log and receipt (#1153) 2022-04-18 09:55:45 -07:00
Michael Sproul 286f842a2a
fix(core): encode absent tx access_list correctly (#1137)
The optional access list on `Transaction` was being incorrectly encoded
as an empty string (0x80) when omitted, when it should be encoded as an
empty list (0xc0).

Fixes #1134.
2022-04-13 08:26:14 -07:00
Matthias Seitz 7799634479
feat(types): add deserialize support for ValueorArray (#1138)
* feat(types): add deserialize support for ValueorArray

* chore: add hash derive

* chore: add Eq derive
2022-04-13 08:23:12 -07:00
Matthias Seitz 0bbd1e3bca
chore: add as number helper function (#1139) 2022-04-13 08:23:05 -07:00
Matthias Seitz 119956925d
fix: eth_feehistory reward is optional (#1127) 2022-04-09 15:12:05 -07:00
Dan Cline 6e004e7780
feat(core): implemented signed transaction RLP decoding (#1096)
* feat(core): implement signed transaction decoding

* add geth signed transaction test vectors

* add signed tx decoding CHANGELOG entry
2022-04-08 19:05:16 -07:00
Jonathan LEI bf4aa42884
fix: fix deploy tx RLP decoding (#1124)
* fix: fix deploy tx RLP decoding

* refactor: move duplicate RLP code into helper function
2022-04-08 10:58:26 -07:00
Matthias Seitz 509db06080
chore: expose some helpers (#1118) 2022-04-07 03:09:32 -07:00
Dan Cline 842f4d260f
feat(core): add dev as a chain (#1093)
adds a new error message to etherscan if the user tries to create an
etherscan client with a 1337/ganache/dev chain
2022-03-30 11:20:23 -07:00
Matthias Seitz a43a9b8806
fix(abi): change abiarraytype trait bounds for tuple (#1079) 2022-03-24 17:40:34 -07:00
Meet Mangukiya fa04247808
Tx optional from (#1075)
* doc(core/Signature): methods are all using normalized v, dont need to be 0 or 1 only

* feat(core/Transaction): make from optional, add method to recover from

* fix recovery

* add recover_from_mut

* update changelog
2022-03-23 22:06:55 -07:00
Meet Mangukiya d4fca905f5
feat(core/TypedTransaction): add helper for calculating max cost of tx (#1070) 2022-03-21 08:04:02 -07:00
Jeffrey Quesnelle 35748d0189
fix(core/Transaction): remove debug print (#1067) 2022-03-19 23:58:08 -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
Meet Mangukiya cde52c7c20
fix(core/TypedTransaction): eip1559 gas price should be max_fee_per_gas (#1062)
* fix(core/TypedTransaction): eip1559 gas price should be max_fee_per_gas

* fix tests

* tests(nonce_manager): reduce flakiness
2022-03-19 09:41:03 -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 dd4893a752
feat(codec): add hex encode and decode functions (#1059) 2022-03-17 22:08:50 -07:00
Matthias Seitz 3d4feccabf
fix(core): check against ethers internal crate names (#1060)
* fix(core): check against ethers internal crate names

* fix: add import back
2022-03-17 15:14:53 -07:00
Matthias Seitz 2af28be283
fix(core): more sophisticated crate detection (#1056)
* fix(core): more sophisticated crate detection

* fix: remove RA hack
2022-03-17 12:49:38 -07:00
Meet Mangukiya 42ead6252d
feat(ethers-core/block): add gas_target and next_block_base_fee fns a… (#1047)
* feat(ethers-core/block): add gas_target and next_block_base_fee fns according to EIP-1559

* fix: feature flag gas_target, and next_block_base_fee to !celo, address review comments

* fix: in decreasing base fee case max(delta, 1) is not used

Refer 599ea45b9e/EIPS/eip-1559.md?plain=1#L193
2022-03-17 03:44:28 -07:00
c r db331eeeb3
utterly nitpicking but i was annoyed (#1038) 2022-03-16 11:15:49 +02:00
Meet Mangukiya 88262de9ee
feat(ethers-core/Bytes): impl FromStr (#991) 2022-03-05 20:14:11 +02:00
Meet Mangukiya 4fd9c7800e
feat(ethers-core/Chain): implement Default trait (#976) 2022-02-28 22:58:04 +02:00
Georgios Konstantopoulos e0f5fe5325 docs(core): complete unfinished sentence in block comment
fixes #961
2022-02-28 11:44:34 +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
Alexandre Bazeaud 901d0c6e00
Add missing chains into parse method (#941)
* Add missing chains into parse method

* Update changelog
2022-02-21 18:01:19 +01:00
Tomas Tauber d5a1570fa2
feat(chain): add Cronos and Cronos testnet (#926) 2022-02-18 16:04:11 +02:00
Matthias Seitz 4de4a676f0
chore: cargo --fix (#921) 2022-02-17 16:53:46 +02:00
Georgios Konstantopoulos f97a8ca541
fix(abigen): do not panic when run on non-cargo projects (#918)
* fix(abigen): do not panic when run on non-cargo projects

* chore: bump solidity test to 0.8.12
2022-02-16 17:46:25 +02:00
Sonny Scroggin 859af7e819
Remove `limit` on `Filter` (#917) 2022-02-16 17:15:55 +02:00
Georgios Konstantopoulos d28e6959db fix(core): correctly deserialize eip1186 proof responses 2022-02-12 18:58:58 +02:00
Meet Mangukiya 1f0eb725a7
feat(ethers-core/Chain): make to_string and from_str inverse functions (#903) 2022-02-12 17:41:18 +02:00
Tarrence van As d4eb78730a
fix(types/proof): add address field (#899) 2022-02-12 00:49:46 +02:00
Alexis Robert b07b302410
Fixes a parsing issue of EIP712 chain_id (chain_id = 80001 parsed as chain_id = 0x80001) (#892)
* Parsing U256 from base10_parse::<u64>() instead of directly to U256

This fixes a bug for chain_ids that are > 10, base10_parse::<U256>() was
somehow parsing into hex.

When using the derive macro, chain_id = 10 was parsed as chain_id = 0x10 = 16,
causing an issue for some chains like Polygon.

* chore: fmt

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-02-10 20:03:46 +02:00
Dan Cline ce0396ea18
fix(core): prevent chain_id from serializing for requests (#879)
* fix(core): prevent chain_id from serializing

* add default chainid for deserialization
2022-02-08 23:41:44 +02:00
0xTomoyo 75fbec0706
feat(chain): add arbitrum support (#869)
* feat: add arbitrum chainid & block explorer

* chore: update changelog

* feat: add arbitrum to is_legacy

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-02-05 16:36:21 +02:00
Matthias Seitz 8c07861b09
feat(codec): impl codec for Bytes (#856) 2022-02-02 13:57:39 +02:00
wolflo dc1565c014
fix(core): adjust Ganache for new cli output (#851) 2022-02-01 12:59:54 +02:00
Dan Cline 01544ec4b7
Implement RLP decoding for transactions (#805)
* Implement RLP decoding for transactions

* set chain_id in fill_transaction
2022-01-30 21:21:16 +02:00
Options Eskimo 44499ae008
feat(chain): add BSC networks to the is_legacy helper (#843)
also fix formatting
2022-01-29 21:36:22 +02:00
juniorbeef 97744b87a6
core: fix overflow and panic in priority fee estimation (#839)
The U256 priority fees were being coerced into u32, which was not big
enough for actual values. The overflow was happening but not checked.
This led to a possible divide-by-zero panic in this code as well.

This change does the math as I256 -- overkill, but it works.
2022-01-29 14:54:38 +02:00
Tarrence van As c22dd8eab4
feat(types/chain): is_legacy helper (#835)
moving this into ethers-rs from foundry so it can be more easily use elsewhere
2022-01-27 20:33:01 +02:00
Options Eskimo f434e0f57f
feat(chain): add BSC and BSC testnet (#831)
* feat(chain): add BSC and BSC testnet

* docs(changelog): add note about new BSC known chains
2022-01-27 16:50:11 +02:00
Meet Mangukiya 91ff71ec62
Fantom chain (#806)
* feat(core): add fantom and fantom-testnet chains

* feat(etherscan): add fantom chains support

* chore: lint
2022-01-18 13:00:27 +02:00
Matthias Seitz 77dcccb7ba
fix(abi): check for uint8 params in human readable types (#789)
* fix(abi): check for uint8 params in human readable types

* Update ethers-core/src/abi/human_readable.rs

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>

* fix mapping detection

* rustfmt

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-01-13 15:33:31 +02:00
Matthias Seitz d4f8984f59
chore(deps): bump ethabi master (#787) 2022-01-13 02:58:11 +02:00
Georgios Konstantopoulos 19671e51de chore: fix lints / solc test 2022-01-11 12:13:09 +02:00
Tarrence van As 092bd96a39
feat(chain): enum values + TryFrom<u64> (#782)
* feat(chain): map Chain enum to values

* feat(chain): support TryFrom<u64>

* chore: use parsechain error for the try_from impl

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-01-11 11:31:09 +02:00
Rohit Narurkar 2d05ea6234
ethers-addressbook crate (#769)
* feat: macro and token (simplest form)

* fix: better structure to fetch token by string symbol

* chore: add tokenlist to prelude

* fix: from current dir

* fix: dir refactoring

* fix: clippy

* chore: refactor tokenlist to addressbook
2022-01-07 12:12:21 +02:00
odyslam.eth 96ef787230
feat: add FromStr impl for Chain (#756)
* feat: add FromStr impl for Chain

* fix(core): return error if chain not found

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-01-04 00:51:01 +02:00
bayu ✦ 3f095f415f
[draft] Add Optimism & OptimismKovan chains (#737)
* core: Add Optimism & OptimismKovan chains

* etherscan: Add ETHERSCAN_API_KEY to optimism network
2021-12-25 18:19:50 +02:00
Georgios Konstantopoulos 568d9c8697
Update Cryptography crates (#617)
* fix(core): use new k256 for pubkey calculation

* fix(core): deserialize moonbeam keys with new fn

* chore(signers): update crypto crates

* chore: update cargo lock

* ci: remove libudev req

* chore: cargo fmt

* chore: fix outstanding yubihsm errors
2021-12-21 00:41:57 +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
x3ccd4828 6cecc4824a
fix: parse_units was generating an error on some values because of extra decimal places added round to prevent error (#701) 2021-12-17 11:22:37 +02:00
Georgios Konstantopoulos 4d647453e3
feat: new ethabi for error types (#700) 2021-12-17 00:24:10 +02:00
Georgios Konstantopoulos f037fc0243
fix: do not panic on invalid units conversion (#691)
* fix: do not panic on invalid units conversion

This is done by switching the From implementations to TryFrom and
making the conversion functions return a thiserror Error instead of
the previous Boxed error object

* chore: update changelog
2021-12-15 03:32:29 +01:00
James Prestwich 47e9e7d3c7
refactor: move FeeHistory to core types (#688) 2021-12-14 00:49:49 +02:00
x3ccd4828 0e133e4a87
fix: format_units return was truncating the decimal places if there were leading zeros (#675) 2021-12-11 00:17:21 -07: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
James Prestwich 0f6d3688c2
feature: impl Default for eip2718::TypedTransaction (#646) 2021-12-03 22:03:49 +02:00
Matthias Seitz 7da5b64cfd
feat: add moonbeam support (#644)
* feat: add moonbeam support

* typos
2021-12-03 10:05:38 -08:00
Alexey Shekhirin dd2c589102
feat(etherscan, middleware): implement gas endpoints and use in oracle middleware (#621)
* feat(etherscan, middleware): implement gas-related endpoints and use them in gas oracle

* cleanup deps

* better comment

* revertme: add debug print

* Revert "revertme: add debug print"

This reverts commit 63993642c4.

* make etherscan tests serial

* run each etherscan test at least 200ms

* 200ms -> 250ms

* Revert "200ms -> 250ms"

This reverts commit 29c7f6ed9a.

* add separate etherscan key for celo tests

* 200ms -> 250ms

* add Chain::Sepolia to match
2021-11-27 09:54:20 +02:00
Rohit Narurkar 0b68227c38
feat: implement hex display for Bytes (#624)
* feat: implement hex display for Bytes

* chore: add changelog

* feat: impl Display, same as LowerHex

* fix: prepend 0x for hex display
2021-11-26 14:25:41 +02:00
Matthias Seitz 2c30468b70
fix(codec)!: ambiguity unit8[] and bytes (#613)
* fix: unit8 encoding

* feat: use ethers::types::Bytes for solidity bytes type

* feat: add const generic from impls

* fix: failing tests

* fix: make compatible with bytes

* update changelog

* make compatible with encoding changes

* chore rm write to file
2021-11-24 22:15:17 +02:00
x3ccd4828 3a768b9c99
Fix parse units (#597)
* fix: changed format_units to return a String and preserve the decimal
places

* chore: fix changelog

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2021-11-24 11:07:18 +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
Ivan Porto Carrero 1d65c9394f
add support for polygon and avalanche (#606)
* add support for polygon and avalanche, include the block explorers

* add multicall addresses for polygon
2021-11-22 11:02:28 +02:00
Matthias Seitz dbea856e8c
fix: lift macros feature to lib level (#567) 2021-11-08 22:08:03 +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
Georgios Konstantopoulos f0dea75219
feat: use ethers_solc::Solc instead of ethers_core::utils::Solc (#546)
* feat(ethers-solc): deserialize bytecode as bytes

* feat(ethers-solc): add method to fetch compact contract

* feat(ethers-solc): use Abi type instead of Vec<serde_json::Value>

* test(contract): use new Solc bindings

* test(middleware): use new Solc bindings

* chore: remove solc from ethers-core

* chore: remove concurrent setup code from ethers-core

* feat(ethers-solc): add ArtifactOutput::Nothing as a no-op artifact logger

* feat: add ethers-solc to top level crate

* examples: use new solc building pattern

* chore(solc): re-use opt str impl for error code decoding

* fix abigen example

* chore: fix doctests

* chore: remove setup feature

* fix: decode string to bytes correctly

* chore: clippy lints
2021-10-31 13:34:51 +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
Alexey Shekhirin cba1a85483
refactor(core, contract, etherscan): move Chain enum, use HashMap::from (#524)
* refactor(contract, etherscan): make use of HashMap::from

* feat(core): Chain enum

* rename unknown chain error

* reorg imports
2021-10-24 21:41:50 +03:00
Georgios Konstantopoulos ef9b3988ce
fix: ensure gas estimation includes the access list in 1559/2930 txs (#523)
* fix: ensure gas estimation includes the access list in 1559/2930 txs

* feat: add gas_price to typed tx

* feat: add access list to typed tx

* chore(providers): cleanup fill_transaction

* chore: fmt

* chore: enable 712 on ethers-contract at top level crate

* fix: do not error if eth_createAccessList is not available

* feat: only use access list if needed
2021-10-20 23:18:58 +03:00
Matthias Seitz c5a45f7bf4
feat: add abi type trait (#519)
* feat: add abi type trait

* rustfmt

* fix: fix imports

* feat: use const generic for u8 array

* rustfmt

* fix: imports
2021-10-18 23:24:53 +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