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
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