Commit Graph

802 Commits

Author SHA1 Message Date
Matthias Seitz 19d2fd1155
feat(solc): add configurable Artifact type (#907)
* refactor: make artifacts a sub mod

* feat: more options for output selection

* feat(solc): make ArtifactOutput struct functions

* fix: migrate all features

* feat: add configurable artifacts type

* refactor: move configurable to separate file

* feat: impl ArtifactOutput

* refactor: write extras

* simplify write extra

* feat: more helper functions

* feat: implement delegate

* fix: failing doc test

* fix: rustfmt

* chore: update CHANGELOG

* feat: add helper functions

* refactor: remove flatten

* feat: add link function

* feat: replace default type

* fix: doc tests

* feat: more utility functions

* fix: failing tests

* chore: rename types

* chore: bump ethers-solc 0.3.0

* fix: set metadata file extension properly
2022-02-17 17:31:35 +02:00
dependabot[bot] 8ce58bfcf3
chore(deps): bump cargo_metadata from 0.14.1 to 0.14.2 (#920)
Bumps [cargo_metadata](https://github.com/oli-obk/cargo_metadata) from 0.14.1 to 0.14.2.
- [Release notes](https://github.com/oli-obk/cargo_metadata/releases)
- [Commits](https://github.com/oli-obk/cargo_metadata/compare/0.14.1...0.14.2)

---
updated-dependencies:
- dependency-name: cargo_metadata
  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-02-17 16:54:10 +02:00
Matthias Seitz 4de4a676f0
chore: cargo --fix (#921) 2022-02-17 16:53:46 +02:00
Nicolas Trippar f9f466ef07
change visibility of the function request in Provider<JsonRpcClient> to public so one can implement Middleware's with custom call to the node (#919) 2022-02-17 14:30:03 +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
Simon Bihel cd8a9b5a97
Add ENS avatar and TXT records resolution (#889)
* Add ENS avatar resolution

As well as arbitrary fields.

* Use try_join

* Improve reqwest's error passing

* Split avatar resolution in ERC token parsing and resolution

* no_run examples

* Rename token to NFT

* A bit more documentation

* Nightly cargo fmt

* Use different ERC-721 test

* Update CHANGELOG

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-02-16 16:25:41 +02:00
Roman Krasiuk 78161f07e7
revert constructor arg change (#916) 2022-02-16 11:29:19 +02:00
dependabot[bot] 272c1a15af
chore(deps): bump eth-keystore from 0.4.0 to 0.4.1 (#913)
Bumps [eth-keystore](https://github.com/roynalnaruto/eth-keystore-rs) from 0.4.0 to 0.4.1.
- [Release notes](https://github.com/roynalnaruto/eth-keystore-rs/releases)
- [Changelog](https://github.com/roynalnaruto/eth-keystore-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/roynalnaruto/eth-keystore-rs/commits)

---
updated-dependencies:
- dependency-name: eth-keystore
  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-02-15 22:38:35 +02:00
Jim e3f0621d43
Expose New `call_raw` API that permits MultiCalls without Detokenization (#915)
* Add `call_raw` method that forgoes detokenization for MultiCall. Have `call` wrap around `call_raw` permitting user to handle detokenization themselves if they wish

* Improve documentation: Add details to the documentation example that informs the user of their responsibility to detokenize results
2022-02-15 22:38:01 +02:00
dependabot[bot] cd24022515
chore(deps): bump rand from 0.8.4 to 0.8.5 (#914)
Bumps [rand](https://github.com/rust-random/rand) from 0.8.4 to 0.8.5.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/compare/0.8.4...0.8.5)

---
updated-dependencies:
- dependency-name: rand
  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-02-15 22:32:38 +02:00
dependabot[bot] 292ce34395
chore(deps): bump follow-redirects in /examples/ethers-wasm (#912)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.7...v1.14.8)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-14 19:19:35 +02:00
Rohit Narurkar 17d5b0ef38
Chore/update eth keystore (#910)
* chore(signers): bump up eth-keystore

* doc(signers): update doc for new_keystore

* chore: add changelog
2022-02-14 12:08:33 +02:00
Roman Krasiuk a8cdfe60e9
fix(etherscan): url params naming (#911)
* fix url params naming

* rm log & fail
2022-02-14 12:07:44 +02:00
Mark Tyneway faba6e014d
feat: add getter to `ProjectCompileOutput` (#908)
* feat: add getter to `ProjectCompileOutput`

Add a function `compiled_contracts_by_compiler_version`
to the `ProjectCompileOutput` that returns a `BTreeMap`
that maps the compiler version to a vector of the contract
names and contract structs.

* changelog: update

* chore(solc): remove &mut

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-02-13 21:47:00 +02:00
Matthias Seitz 27a4454ac0
feat(solc): report on unresolved imports (#905)
* chore: fix unused import warning

* feat: add additional report message
2022-02-13 01:05:43 +02:00
Georgios Konstantopoulos d28e6959db fix(core): correctly deserialize eip1186 proof responses 2022-02-12 18:58:58 +02:00
Matthias Seitz c8d8b66d0a
feat(solc): use svm blocking feature (#904)
* feat(solc): use svm blocking feature

* chore: bump ethers

* fix: enable svm blocking feature

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-02-12 18:40:09 +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
Matthias Seitz cdaac16f0a
feat(solc): more options for output selection (#898)
* refactor: make artifacts a sub mod

* feat: more options for output selection

* chore: use tostring instead
2022-02-11 17:46:44 +02:00
dependabot[bot] 8f19ba1fa4
chore(deps): bump solang-parser from `f850719` to `b286b63` (#896)
Bumps [solang-parser](https://github.com/hyperledger-labs/solang) from `f850719` to `b286b63`.
- [Release notes](https://github.com/hyperledger-labs/solang/releases)
- [Commits](f8507191eb...b286b63d80)

---
updated-dependencies:
- dependency-name: solang-parser
  dependency-type: direct:production
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-11 13:12:35 +02:00
dependabot[bot] 903edab7bf
chore(deps): bump tokio-util from 0.6.9 to 0.7.0 (#895)
Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.6.9 to 0.7.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/commits)

---
updated-dependencies:
- dependency-name: tokio-util
  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-02-11 13:12:20 +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
Matthias Seitz 331caf9418
fix(solc): resolver and remapping auto detection bugs (#893)
* fix(solc): support single quote imports

* feat: better error message

* fix: nfmt

* feat: handle additional remappings edge case

* fix(solc): treat nested remappings differently depending on src and contracts

* fix test

* chore(clippy): make clippy happy
2022-02-10 19:56:25 +02:00
Matthias Seitz 8aeeaa83b0
feat(solc): better metadata support (#894) 2022-02-10 19:53:26 +02:00
dependabot[bot] 0a5b0d3495
chore(deps): bump ethabi from `6f18e11` to `321a651` (#891)
Bumps [ethabi](https://github.com/rust-ethereum/ethabi) from `6f18e11` to `321a651`.
- [Release notes](https://github.com/rust-ethereum/ethabi/releases)
- [Commits](6f18e11621...321a651e76)

---
updated-dependencies:
- dependency-name: ethabi
  dependency-type: direct:production
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-10 08:55:18 +02:00
Matthias Seitz cc5c67ed0a
chore: fix all warnings (#890) 2022-02-10 08:54:39 +02:00
Georgios Konstantopoulos c82597c908 fix: bump svm-rs to fix race condition on same version installs of solc 2022-02-09 17:58:05 +02:00
Matthias Seitz 3fa6653471
fix(solc): support remapping autodetection edge case (#888)
* fix(solc): support remapping autodetection edge case

* Update ethers-solc/src/remappings.rs

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-02-09 16:39:38 +02:00
Georgios Konstantopoulos 108a078dba fix: bump svm-rs to support arm solc 2022-02-09 13:19:19 +02:00
wolflo 14551a90c1
fix(providers): PendingTransaction::log() missing deref (#886) 2022-02-09 08:48:03 +02:00
Matthias Seitz 36c3adeec9
feat(solc): add Reporter type (#883)
* feat(solc): add Reporter type

* chore(clippy): make clippy happy
2022-02-09 01:14:57 +02:00
wolflo b657e47e6b
feat(providers): Log methods for PendingTransaction (#884)
* feat(providers): Log method for PendingTransaction

* feat(poviders): Add PendingTransaction inspect() method

* Apply suggestions from code review

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-02-09 00:55:35 +02:00
Matthias Seitz 67271eba68
feat: implement Artifact for serde_json (#885) 2022-02-09 00:48:53 +02:00
dependabot[bot] 6453b1e833
chore(deps): bump solang-parser from `f3e8f6f` to `f850719` (#881)
Bumps [solang-parser](https://github.com/hyperledger-labs/solang) from `f3e8f6f` to `f850719`.
- [Release notes](https://github.com/hyperledger-labs/solang/releases)
- [Commits](f3e8f6fcab...f8507191eb)

---
updated-dependencies:
- dependency-name: solang-parser
  dependency-type: direct:production
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-08 23:41:52 +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
Matthias Seitz a0568fe44e
fix(solc): use nodesiter when printing tree (#878) 2022-02-07 18:27:23 +02:00
dependabot[bot] 43cb521592
chore(deps): bump futures-util from 0.3.19 to 0.3.21 (#872)
Bumps [futures-util](https://github.com/rust-lang/futures-rs) from 0.3.19 to 0.3.21.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.19...0.3.21)

---
updated-dependencies:
- dependency-name: futures-util
  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-02-07 10:27:47 +02:00
dependabot[bot] a159bc0583
chore(deps): bump futures-executor from 0.3.19 to 0.3.21 (#873)
Bumps [futures-executor](https://github.com/rust-lang/futures-rs) from 0.3.19 to 0.3.21.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.19...0.3.21)

---
updated-dependencies:
- dependency-name: futures-executor
  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-02-07 10:27:21 +02:00
dependabot[bot] d5f93a6ab1
chore(deps): bump semver from 1.0.4 to 1.0.5 (#874)
Bumps [semver](https://github.com/dtolnay/semver) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.4...1.0.5)

---
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-02-07 10:27:16 +02:00
dependabot[bot] 1dc7bdcc69
chore(deps): bump tracing-subscriber from 0.3.7 to 0.3.8 (#875)
Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing) from 0.3.7 to 0.3.8.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.7...tracing-subscriber-0.3.8)

---
updated-dependencies:
- dependency-name: tracing-subscriber
  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-02-07 10:27:12 +02:00
Mark Tyneway 100f121202
feat(ethers-contract): add `send_with_receipt` to `Deployer` (#865)
* feat(ethers-contract): add `send_with_receipt` to `Deployer`

The `Deployer` is used to deploy contracts and its `send`
function returns an attached instance of a `Contract`.
There is no way to know the transaction hash of the
deployment transaction, so this commit adds another
method `send_with_receipt` that returns an attached
`Contract` as well as a `TransactionReceipt`.

* changelog: update

* tests: call `send_with_receipt` in tests

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-02-05 16:37:09 +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 ede6570567
chore: rm no longer valid todo (#870) 2022-02-05 16:30:18 +02:00
Matthias Seitz b26b505651
feat(solc): add optimizer details (#868) 2022-02-05 16:13:03 +02:00
Matthias Seitz 7463e2da11
feat(solc): compiler pipeline improvements (#866)
* feat(solc): try to unify solc versions

* chore: some tracing

* feat: add compile exact
2022-02-05 16:07:37 +02:00
Matthias Seitz b2b891dcf2
fix: bump ethers-solc version (#864) 2022-02-04 18:28:10 +02:00
Matthias Seitz b295d73c4a
refactor(solc): rewrite compiler passes and cache change detection (#802)
* chore: clippy

* refactor: rewrite compiler passes and cache

* feat: more work on compile pipeline

* feat: add cache constructor

* add artifact filtering

* fine tune api

* feat: prepare version integration

* docs: more docs

* feat: add cacheentry2

* replace cacheentry types

* integrate new api

* docs: more docs

* feat: implement new output handler

* feat: integrate cached files in new compile pipeline

* refactor: more cache refactor

* docs: more docs

* feat: add source name mapping

* feat: implement new parallel solc

* refactor: do a little cleanup

* refactor: even more cleanup

* even more cleanup

* chore: make it compile

* chore: make it compile with all features

* chore: clippy fix

* feat: integrate new compiler pipeline

* docs: more docs

* refactor: move stuff around

* refactor: start deprecating output type

* chore: make it compile again

* chore(deps): bump solc version 0.2.0

* feat: unify output types

* cargo fix

* refactor: add contracts wrapper

* chore: replace ProjectCompileOutput

* docs: add more docs

* feat: add offline mode

* feat: more artifact helpers

* chore: cleanup cache

* chore: streamline types

* fix: better artifacts mapping

* chore: some cleanup

* chore: change artifact

* chore: add configure solc fn

* feat: add artifact reading

* feat: implement retain and extend

* feat: add cache extending

* feat: write to disk

* chore: make clippy happy

* feat: implement path mapping

* chore: nits

* feat: introduce states

* feat: add compiler state machine

* chore: move cache types to cache mod

* chore: make clippy happy

* feat: add debug derives

* fix: use resolved import source unit names

* fix: failing tests

* test: test multiple libs properly

* chore: make clippy happy

* chore: update CHANGELOG

* fix: doc tests

* fix: set offline mode correctly

* chore: make it compile again

* Update ethers-solc/src/artifacts.rs

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

* feat: find remappings by default

* typos

* add eth_syncing RPC (#848)

* add eth_syncing RPC

* Changelo updated

* small comments

* Intermediate SyncingStatus

* fix(core): adjust Ganache for new cli output (#851)

* fix: review comments

* fix: cache relative path bug

* chore: add cache example

* chore: use absolute paths

* fix: remove overwritten files from cache

* fix: rustfmt

* chore: more helper functions

* chore: export AggregatedOutput

* feat: implement helper functions

* feat: even more helpers

* fix: failing doc tests

* refactor: remove source name map tracking

* fix: determine artifacts in ephemeral mode

* refactor: allowed paths should not fail

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
Co-authored-by: rakita <rakita@users.noreply.github.com>
Co-authored-by: wolflo <33909953+wolflo@users.noreply.github.com>
2022-02-04 18:20:24 +02:00
MistApproach 5005a3621a
Hide Infura API key from docs (#863) 2022-02-04 16:58:53 +02:00