Commit Graph

1173 Commits

Author SHA1 Message Date
Meet Mangukiya b15d0f8643
feat(providers): load previous logs before subscribing (#1264)
* feat(providers): load previous logs before subscribing

Load previous logs and stream it back to the user before establishing
a new stream for streaming future logs.

Closes #988

* docs: add subscribe_logs example

* fix clippy errors

* refactor: use VecDeque and address review
2022-05-16 08:11:25 -07:00
oliver-giersch 3df1527cef
fix: all request ids start at 1 (#1265)
Co-authored-by: Oliver Giersch <oliver.giersch@gmail.com>
2022-05-14 16:31:40 -07:00
Roman Krasiuk f3699d08bf
fix(solc): add `RuntimeOrHandle` & fix solc blocking installation (#1260)
* rt wrapper for solc install

* fix

* uncomment feat flag

* feature deps & comment

* async it tests

* use svm::block_install for wasm

* hide rt or handle for wasm

* hide import for wasm
2022-05-14 16:29:45 -07:00
Leo eb94e53d1f
Add basic solc model checker options (#1258)
* Add basic solc model checker options

* Changelog entry

* review 1

* chore: fmt

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-05-13 13:29:13 -07:00
Georgios Konstantopoulos b21d7b2b42 chore(addressbook): add metadata for release 2022-05-13 13:22:35 -07: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
Roman Krasiuk 135bca4680
update & lock solang (#1256) 2022-05-13 12:59:47 -07:00
Matthias Seitz 94cf8a8f77
feat: add eip-1898 deserialize for BlockId (#1257) 2022-05-13 12:56:14 -07:00
Matthias Seitz f5efbbb86a
feat(solc): add strip and join functions to sources and contracts (#1252) 2022-05-12 14:48:16 -07:00
Matthias Seitz 494af08b85
feat(solc): add source map access functions (#1253) 2022-05-12 14:47:45 -07:00
Bjerg 1e2b02920b
fix: make ast node ids optional (#1254) 2022-05-12 14:47:38 -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
Matthias Seitz 847110a3fe
fix: filter out empty bytecode (#1248) 2022-05-11 07:34:41 -07:00
Bjerg 0a031417d8
feat: remaining AST nodes (#1201)
* feat: remaining AST nodes

* docs: few rustdocs

* feat: add more node fields

* feat: add more ast nodes

* fix: actually deserialize node type

Note: This breaks `NodeType::Other` :/
2022-05-10 10:43:22 -07:00
dependabot[bot] ab8ec1f75b
chore(deps): bump syn from 1.0.92 to 1.0.93 (#1244)
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.92 to 1.0.93.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.92...1.0.93)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-10 08:31:55 -07:00
dependabot[bot] 7a6919ad58
chore(deps): bump unicode-xid from 0.2.2 to 0.2.3 (#1243)
Bumps [unicode-xid](https://github.com/unicode-rs/unicode-xid) from 0.2.2 to 0.2.3.
- [Release notes](https://github.com/unicode-rs/unicode-xid/releases)
- [Commits](https://github.com/unicode-rs/unicode-xid/commits)

---
updated-dependencies:
- dependency-name: unicode-xid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-10 08:31:49 -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
Roman Krasiuk dc199f3b75
feat(etherscan): lookup solc build metadata (#1242)
* lookup solc version build meta

* accept Version as an arg

* add docs

* remove redundant lifetime

* rm regex
2022-05-09 10:44:32 -07:00
dependabot[bot] c3c08e20c5
chore(deps): bump proc-macro2 from 1.0.37 to 1.0.38 (#1237)
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.37 to 1.0.38.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.37...1.0.38)

---
updated-dependencies:
- dependency-name: proc-macro2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-09 09:29:02 -07:00
dependabot[bot] 2ba786ca00
chore(deps): bump spki from 0.5.4 to 0.6.0 (#1238)
Bumps [spki](https://github.com/RustCrypto/formats) from 0.5.4 to 0.6.0.
- [Release notes](https://github.com/RustCrypto/formats/releases)
- [Commits](https://github.com/RustCrypto/formats/compare/spki/v0.5.4...spki/v0.6.0)

---
updated-dependencies:
- dependency-name: spki
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-09 09:28:55 -07:00
Matthias Seitz 4b462e6ef2
test(abigen): ensure structs in events work (#1235)
* test(abigen): ensure structs in events work

* chore: rename vars

* chore: use ganache chain id

* chore: disable ganache test on celo
2022-05-09 09:26:36 -07:00
Matthias Seitz fd994d7fde
feat(abigen): support overloaded events (#1233)
* feat(abigen): support overloaded events

* chore: update CHANGELOG
2022-05-07 09:31:53 -07:00
Matthias Seitz 44cbbc769a
feat(solc): store source files with their solc version (#1231)
* feat(solc): add versioned sources

* feat(solc): support versioned sources
2022-05-06 11:42:01 -07:00
Matthias Seitz c7765e1721
feat(etherscan): add moonbeam urls (#1232) 2022-05-06 11:34:09 -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
Matthias Seitz 2768a6b4d7
feat(solc): add missing options for configurable artifact (#1223) 2022-05-05 07:47:52 -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 16e17078fd
fix(solc): respect auto detection in additional compile functions (#1226) 2022-05-05 07:31:52 -07:00
Matthias Seitz 67e3480bdc
chore(core): update moonbeam url (#1228) 2022-05-05 07:31:26 -07:00
James Prestwich c70cd81de0
feature: pending transaction retries repeatedly before assuming dropped (#1221) 2022-05-05 07:22:47 -07:00
Matthias Seitz bc958792af
perf: short circuit remapping detection on recursive symlink (#1225) 2022-05-05 07:21:51 -07:00
Roman Krasiuk a656830790
fix(solc): flatten import aliases (#1192)
* import aliases

* fix solang alias parsing

* fix token replacement

* minor

* remove log

* remove log

* address pr comments

* rollback
2022-05-03 22:33:25 -07:00
Matthias Seitz b34c034bc4
chore(etherscan): update VerifyArgs (#1212) 2022-05-03 16:40:41 -07:00
Matthias Seitz 2304ed53ad
fix(solc): make scoped reporter work in parallel (#1214)
* fix(solc): make scoped reporter work in parallel

* typo
2022-05-03 16:39:36 -07:00
Matthias Seitz c8c81b4905
feat(solc): support logging multiple files via io logger (#1216) 2022-05-03 16:38:17 -07:00
Matthias Seitz e7e5abcd0d
fix(solc): ensure std json sources are unique (#1210) 2022-05-02 22:51:28 -07:00
dependabot[bot] f074f3d614
chore(deps): bump semver from 1.0.7 to 1.0.9 (#1211)
Bumps [semver](https://github.com/dtolnay/semver) from 1.0.7 to 1.0.9.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.7...1.0.9)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-02 22:51:03 -07:00
Georgios Konstantopoulos f5de81e783 chore: fix typo in provider readme
supersedes https://github.com/gakonst/ethers-rs/pull/1203
2022-05-02 22:47:42 +03:00
Georgios Konstantopoulos b0d33a7486 chore: bump rusoto-kms/core 2022-05-02 22:36:09 +03:00
Georgios Konstantopoulos 25834c7f74 fix: pass tx with chain by ref 2022-05-02 22:35:41 +03:00
dependabot[bot] 5e5d17fc82
chore(deps): bump async from 2.6.3 to 2.6.4 in /examples/ethers-wasm (#1196)
Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-02 12:34:06 -07:00
Astronaut Sleuth fcc2151b1a
update document to enable ws & rustls / openssl if user wants to use websockets (#1197) 2022-05-02 12:33:55 -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
dependabot[bot] c44872f62e
chore(deps): bump thiserror from 1.0.30 to 1.0.31 (#1206)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.30 to 1.0.31.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.30...1.0.31)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-02 11:54:22 -07:00
Astronaut Sleuth ab80665a01
fixed typo when determining to token address (#1208) 2022-05-02 11:53:20 -07:00
Max da38083013
Fix: Ledger should have correct signature v value for chains with large chain ID (#1204)
* fix: Ledger should have correct signature v value

* format code

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-05-02 11:53:11 -07:00
Dan Cline d5de795382
Use EIP155 for all signers with empty transaction `chain_id` (#1198)
* remove error when signing with a different chain

 - a chain_id mismatch between the signer and the transaction is valid
   since the behavior is the same between two signers with different
   chain ids
 - a specified chain_id should be signed regardless of the chain_id of
   the signer
 - refactor `sign_hash` to no longer take an `eip155` flag - it now
   _just_ signs hashes. EIP155 is specific to transactions, so we
   now normalize the `v` value in `sign_transaction_sync`

* use signer chain_id for tx in trezor signer

 - use the trezor signer's chain_id if the transaction's chain_id
   doesn't exist
 - sets the chain_id in both `sign_tx` and the Signer implementation's
   `sign_transaction`

* use signer chain_id for tx in ledger signer

 - use the ledger signer's chain_id if the transaction's chain_id
   doesn't exist
 - sets the chain_id in both `sign_tx` and the Signer implementation's
   `sign_transaction`

* prefer transaction chain_id in aws signer

 - uses the signer chain_id if the transaction chain_id doesn't exist
 - refactor `sign_digest_with_eip155` to take an input chain_id, so the
   signer chain_id is not used every time. If we want to enforce
   transaction and signer chain ids to be consistent, this should be
   undone

* add private key signing test for an empty chain_id

* Apply suggestions from code review

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

* Update ethers-signers/src/ledger/mod.rs

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
2022-05-02 11:51:25 -07:00