Commit Graph

211 Commits

Author SHA1 Message Date
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