Commit Graph

350 Commits

Author SHA1 Message Date
Matthias Seitz 75d7f45231
fix: legacy signed rlp decoding (#1733) 2022-09-24 12:45:50 -07:00
Matthias Seitz d655d22125
feat: add arbitrum-goerli (#1734) 2022-09-24 12:39:35 -07:00
DaniPopes 733c5d3dfd
fix(contract): relax Middleware trait bound for getters (#1728)
* wip

* fix(contract): relax Middleware trait bound for getters

* chore: clippy

* move

* fix: multicall
2022-09-23 17:32:24 -07:00
Matthias Seitz afdab2a555
chore: support fuji alias (#1723) 2022-09-20 10:07:31 -07:00
DaniPopes db75e3628e
feat(core): add utility methods to NameOrAddress (#1720)
* feat: NameOrAddress impls

* feat: add to_addr to TypedTransaction

* fix: use NameOrAddress for ens

* chore: clippy

* dont clone
2022-09-19 10:51:04 -07:00
Wias Liaw 1e83b86233
feat(ethers-core): double anvil startup time (#1702)
* feat(ethers-core): double anvil startup time

* feat(ethers-core): add timeout utils

* chore: fmt

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-09-18 08:50:12 -07:00
Luke Tchang e034a8f979
docs: add comment about safety of u8 -> u64 cast in signature (#1704)
* docs: add comment about u8 -> u64 cast in signature

* fix: format

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-09-18 08:45:33 -07:00
Alexey Shekhirin 78e406b261
fix(core): GethTrace shouldn't have 0x prefix for return_value (#1705) 2022-09-15 17:18:08 -07:00
Matthias Seitz 5a18059b14
fix: geth structlog memory (#1690) 2022-09-12 14:32:01 -07:00
Matthias Seitz 162e0de27a
chore: inherit stderr (#1689) 2022-09-11 14:42:57 -07:00
Georgios Konstantopoulos fe72eb5f49 chore(core): remove unused import 2022-09-10 11:17:02 -07:00
Robin Molen-Grigull c9c22f4dfa
fix: geth trace types (#1682)
* fix: geth trace types

* update: changelog entry added
2022-09-09 16:20:25 -07:00
DaniPopes 26e74dd9cc
fix(core): add derives, impls for Units (#1683)
* fix(core): add derives, impls for Units

* feat: add some more unit aliases

* remove separators

* feat: add more impl

* chore: run clippy
2022-09-09 16:19:12 -07:00
Matthias Seitz 0e7f46b03d
feat(abigen): subsitute structs in event bindings (#1674)
* fix(abigen): handle event defaults

* feat(abigen): subsitute structs in event bindings

* update changelog

* chore: rustfmt

* fix broken tests

* chore(clippy): make clippy happy
2022-09-07 09:14:13 -07:00
Noah Citron a052ff8bd4
fix: legacy transaction rlp decoding (#1672)
* fix legacy tx rlp decoding

* add test for type 0 tx in 2718 envelopes

* update changelog

* refactor

* fmt
2022-09-06 09:08:05 -07:00
Noah Citron 744d5c055e
fix: incorrect encoding on TransactionReceipt (#1661)
* fix TransactionReceipt rlp encoding

* add tests

* update changelog
2022-09-04 10:59:53 -07:00
Clifton King de90662725
feat(core): improved debug format for Bytes (#1658)
* feat(core): improved debug format for Bytes

* update changelog
2022-09-04 10:58:06 -07:00
Matthias Seitz 6a86d4ff22
chore(clippy): make clippy happy (#1659) 2022-09-04 10:57:52 -07:00
Matthias Seitz 9bcbc6c1c8
chore: match standalone mumbai for chain (#1656) 2022-09-04 10:56:24 -07:00
Matthias Seitz 5aac82a3d7
fix: emit null transaction fields (#1654) 2022-09-04 10:55:29 -07:00
Danilo Tuler ea8bcd11be
feat: add support for Optimism Goerli (#1641) 2022-08-30 09:45:43 -07:00
Matthias Seitz 792d415845
fix: set chain id explicitly (#1647) 2022-08-30 09:45:36 -07:00
Matthias Seitz 0b04ffe787
feat: add uint8 type (#1639)
* feat: add uint8 type

* update changelog

* derive default

* fix: failing test
2022-08-28 12:17:48 -07:00
Marcelo Fornet 6c017990a1
nit: Explicitly handle all chains on match (#1635) 2022-08-25 09:09:45 -07:00
Alexey Shekhirin f3da435081
feat(core): more derives for geth trace structs (#1637)
* feat(core): more derives for geth trace structs

* derive Eq as well
2022-08-25 09:08:48 -07:00
Jacob ff66008cbe
Fix 'get_transactions' response. (#1632)
* Fix 'get_transactions' response.

* Add some explanation to GenesisOption.

* One-line-ifying

* Update changelog
2022-08-23 09:17:00 -07:00
Matthias Seitz b302ac05be
fix: dont skip null to field (#1631) 2022-08-23 09:15:29 -07:00
Alexey Shekhirin 7c26550064
fix(core): clarify Geth trace structs (#1626)
* fix(core): clarify Geth trace structs

* add geth references

* add fields matching to geth
2022-08-22 09:48:02 -07:00
Matthias Seitz 8abb9d86e2
fix: extend eth_syncing response type and serde (#1624) 2022-08-20 15:30:53 -07:00
Matthias Seitz 4f6ccf70b3
feat: add events function to set multiple event filter (#1607) 2022-08-19 08:20:44 -07:00
Matthias Seitz 3681099af3
fix: support formatting large units (#1608) 2022-08-19 08:19:16 -07:00
Matthias Seitz 2083841200
chore: make proof response fields pub (#1612) 2022-08-19 08:18:48 -07:00
Nicolas Gotchac 1bb8fae4c1
fix(ethers-core): Deserialize a Filter request with `topics == null` (#1604)
* fix(ethers-core): Deserialize a Filter request with `topics == null`

* Update ethers-core/src/types/filter.rs

Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>

Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
2022-08-17 14:14:42 -07:00
wren 9e48cbcb55
feat(TraceType+PartialEq): added PartialEq to TraceType (#1586)
* feat(TraceType+PartialEq): added PartialEq to TraceType

* Update ethers-core/src/types/trace/mod.rs

Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
2022-08-11 10:28:11 -07:00
wren 9d80d69503
feat(TraceType+Deserialize): added Deserialize to TraceType (#1585) 2022-08-10 13:08:35 -07:00
Matthias Seitz 922b23fad6
feat: add etherscan urls function (#1582) 2022-08-09 14:50:18 -07:00
Matthias Seitz 79e59eaffd
chore: skip none trace error (#1577) 2022-08-08 13:02:11 -07:00
Matthias Seitz 3040edf2ad
feat: add ProviderExt trait (#1559) 2022-08-03 09:21:55 -07:00
Matthias Seitz 71933f0d33
feat(abi): add missing str abi trait impls (#1554) 2022-08-03 09:19:33 -07:00
Matthias Seitz 550d2d86ef
chore: seal extension traits (#1553)
* chore: seal extension traits

* chore: fmt

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-08-02 15:28:02 -07:00
Matthias Seitz eb8cee0d2f
fix: use correct moonbeam (#1552) 2022-08-02 14:32:20 -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 bad81a90d6
fix: add missing moonbase fromstr (#1531) 2022-07-30 12:42:16 -07:00
Marcelo Fornet c7563a5f64
Add support to Aurora network (#1535)
* Add support to Aurora network

Documentation about aurora chain:
https://doc.aurora.dev/getting-started/network-endpoints

* Update changelog

* Format code using rustfmt.toml
2022-07-30 12:42:04 -07:00
Matthias Seitz 81a2a5ed68
fix(etherscan): support stringified numbers in response (#1524)
* fix(etherscan): support stringified numbers in response

* feat: add helper function

* improve string parsing

* chore(clippy): make clippy happy
2022-07-28 11:06:56 -07:00
Matthias Seitz 2a14e5510d
chore(clippy): make clippy happy (#1525) 2022-07-28 11:06:15 -07:00
Matthias Seitz 61821cc665
fix: make compatible with edition2018 (#1522) 2022-07-27 14:36:21 -07:00
Matthias Seitz 3d76ce816a
feat: add support for EIP-712 typed data (#1510)
* feat: add support for typeddata

* change eip712 trait

* feat: impl eip712 trait

* chore(clippy): make clippy  happy

* better numeric parsing

* fix: fix a bunch of encoding bugs

* Update ethers-core/Cargo.toml

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-07-27 13:56:02 -07:00
Matthias Seitz 77033a9acd
fix: deserialize sealfields with default (#1520)
* test: add block deserialize test null sealfields

* fix: use default or non helper
2022-07-27 13:38:42 -07:00
Matthias Seitz 6b713958d1
feat: bump abi/token tuple limit (#1506) 2022-07-26 08:27:19 -07:00
wren cb7e586645
feat(debug_traceTransaction): initial commit (#1469)
* feat(debug_traceTransaction): initial commit

* chore(changelog): updated changelog

* feat(debug_traceTransaction): type adjusments

* feat(debug_traceTransaction): type adjusments

* Update ethers-providers/src/provider.rs

Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>

* Update ethers-providers/src/provider.rs

Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>

* chore(format): cargo +nightly fmt

Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-07-24 14:46:38 -07:00
Matthias Seitz a5c326162a
fix: use correct model for txpool_content endpoint (#1501)
* fix: use correct model for txpool_content endpoint

* chore: update CHANGELOG

* update failing tests

* Update ethers-providers/tests/txpool.rs

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-07-24 03:21:09 +02:00
Matthias Seitz a958b4fd28
fix(eip712): improve argument parsing (#1485)
* fix(eip712): improve argument parsing

* use reexported serde_json

* chore: rustfmt

* fix: add missing salt
2022-07-20 00:09:11 -07:00
Matthias Seitz 1d4f3efe8a
chore: add Anvil::at and anvil example (#1486) 2022-07-20 00:08:25 -07:00
Matthias Seitz ba00f549dd
fix: parse constructor as function (#1479)
* fix: parse constructor as function

* parse constructor separatly
2022-07-14 12:15:15 -07:00
sea-edge 7566c3d71e
For fix test code, Added morden to chainid as a Mock-like value. (#1472) 2022-07-10 14:28:39 -07:00
Matthias Seitz 1ff4be74f9
feat: add --fork-block-number setter for anvil bindings (#1468) 2022-07-09 15:19:57 -07:00
Matthias Seitz 0b88e4246d
deps: bump crypto deps (#1465) 2022-07-06 14:11:23 -07:00
Dan Cline bc9d4b48b6
impl fastrlp traits for AccessList (#1456)
* impl fastrlp traits for AccessListItem
 * impl Hash for AccessListItem
 * impl Hash for AccessList
2022-07-06 11:44:07 -07:00
Dan Cline b232afaabc
Implement fastrlp traits for Bytes (#1443)
* implement fastrlp traits for Bytes

* cargo fmt

* bump fastrlp to 0.1.2
2022-07-04 11:47:00 -07:00
Dan Cline c077a633c1
impl fastrlp traits for Signature (#1444) 2022-07-04 11:13:30 -07:00
Matthias Seitz 1992c9176a
feat(core): impl Ord for receipt (#1434) 2022-06-30 09:20:33 -07:00
Matthias Seitz 7e85b33167
chore: add gas_mut function (#1427) 2022-06-29 08:54:07 -07:00
Matthias Seitz f5793525f2
feat: capture unknown fields (#1423)
* feat(core): add OtherFields type

* feat: capture unknown fields

* chore: update CHANGELOG

* test: update tests

* docs: fix doc tests

* fix: make docs compile on stable
2022-06-28 15:18:15 -07:00
Matthias Seitz 7c6462be02
chore(core): convenience impls for Bytes (#1421)
* chore(core): convenience impls for Bytes

* update asserts
2022-06-28 09:30:59 -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
h00p30 94c7559ab5
TypedTransaction methods into builder style (#1414) 2022-06-25 20:44:55 -04:00
Matthias Seitz c7e1237a6b
fix: add missing chain id match arms (#1411) 2022-06-23 11:02:52 -04:00
Julian Popescu ec379da527
Use H64 for Block Nonce (#1396)
* Use H64 for Block Nonce

Signed-off-by: Julian Popescu <hi@julian.dev>

* Update changelog

Signed-off-by: Julian Popescu <hi@julian.dev>
2022-06-23 11:02:29 -04:00
Matthias Seitz 1ce2310874
feat: add evmos support (#1398) 2022-06-22 13:09:05 -04:00
Matthias Seitz c2f5a87b63
chore: add moonbase chain id (#1397) 2022-06-21 13:44:42 -04:00
Matthias Seitz 69095c15cf
feat: add eth filter deserialization and matching (#1389)
* feat: add eth filter deserialization and matching

* chore: rustfmt

* extend test

* add missing conversion
2022-06-17 09:34:16 -07:00
Matthias Seitz cce841f21c
test: add tx roundtrip test (#1383) 2022-06-15 11:41:29 -07:00
Georgios Konstantopoulos ae63b57106 fix(core): chainId 31337 corresponds to Anvil/Hardhat not Dev
fixes: https://github.com/foundry-rs/foundry/issues/1866, because
previously we'd read chain id 31337, parse it as Dev, and then when
convert it to the wrong number (1337) which would make the transaction's
chain id not match the signer's
2022-06-14 13:41:47 +03:00
Matthias Seitz c96f6ba616
chore: add blocknumber convenience impls (#1368) 2022-06-10 16:45:46 +03:00
Matthias Seitz 295f86ef89
chore: reexport ethabi module (#1362) 2022-06-08 13:15:55 -07:00
Matthias Seitz c7a8a1ea5a
test: add tx receipt roundtrip test (#1360) 2022-06-08 05:13:36 -07:00
Matthias Seitz 0abc3ca39a
feat: add anvil hardhat chain id (#1356)
* feat: add anvil hardhat chain id

* chore: cover anvil hh
2022-06-08 03:29:00 -07:00
DeGatchi d6d76c6024
fix: `Transfered` -> `Transferred* (#1357) 2022-06-08 03:28:32 -07:00
Matthias Seitz 1dfe6d0cd2
feat: add display impl for BlockNumber (#1346) 2022-06-04 11:37:37 -07:00
Roman Krasiuk f4712fa47c
feat(etherscan): additional chain apis (#1343)
* xdai

* sokol

* poa & rsk

* oasis chains

* fix test

* test
2022-06-03 09:16:35 -07:00
Matthias Seitz 89bc6420bb
test: replace ganache with anvil (#1286)
* ci: install anvil

* test: use anvil instead of ganache

* ci: fix anvil ver

* ci: re-enable example tests

* test: remove unnecessary assertions

* test: enable anvil launch test

* docs: typo

* test: fix anvil chain id

* ci: install ganache

Ganache is needed for the Ganache tests

* chore: remove legacy feature from some examples

* ci: correctly build examples

* test: use correct account balance for anvil

* chore: remove sub_id == 1 check

this was only possible in ganache because it gives serial
sub ids, but in every other reasonable client the ids are generated
randomly, so we cannot test for its value

* test: ensure txs are different

There is a bug in Ganache's mempool which accepts duplicate transactions (here with the same nonce), whereas here we pre-set all the nonces so that they end up having a different transaction hash.

* test: ignore ganache tests

* fix: terzor api changes

* ci(examples): install Anvil, remove geth/ganache

* test(provider): Anvil instead of Geth

some tests start to fail now

* fix: revert usage of Anvil in ipc tests

Anvil does not support IPC yet

* fix: update examples script

* ci: use anvil for wasm example

* replace last ganache usage

Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me>
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-06-01 08:22:39 -07:00
Matthias Seitz 6a45a93685
fix: use decimal crate for parsing units (#1330) 2022-05-31 09:43:44 -07:00
Dave Belvedere 6b6c511583
Add Arithmetic Shift Right operation for I256 (#1324)
Update the changelog for https://github.com/gakonst/ethers-rs/issues/1323

Format the file correctly
2022-05-29 19:03:03 -04:00
Meet Mangukiya e3e810cef9
feat(abi): impl AbiEncode, AbiDecode for I256 (#1311) 2022-05-27 10:12:24 -04:00
oblique 526f40e88f
feat(core): Add `as_*_mut` methods on `TypedTransaction` (#1310) 2022-05-27 10:11:18 -04:00
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