Commit Graph

168 Commits

Author SHA1 Message Date
Matthias Seitz b579dc183a
feat(solc): add viaIR option (#1049) 2022-03-17 04:24:50 -07:00
Matthias Seitz 1e1aba19b1
fix(solc): only modify files that are required to compile the project (#1050) 2022-03-17 03:48:01 -07:00
Matthias Seitz 5314c4e618
fix(solc): use lowercase when comparing paths (#1041)
* fix(solc): use lowercase when comparing paths

* trace keys

* test: add lowercase contract test
2022-03-17 01:27:03 -07:00
Matthias Seitz a2960a847d
chore(solc): new 0.8.13 release (#1045) 2022-03-17 01:26:44 -07:00
Matthias Seitz 2d75f9f1e7
feat(solc): support customized output selection pruning (#1039)
* feat(solc): support customized output selection pruning

* chore(clippy): make clippy happy
2022-03-16 07:36:35 -07:00
Matthias Seitz ff29e96380
feat(solc): optimize output selection in cache mode (#1029)
* feat(solc): add mock project generator

* feat: mock project

* refactor: rename to mock

* feat(solc): mock project support

* refactor: move output selection to new type

* refactor: revert filter implementation

* feat: filter sources

* feat: support filtering

* refactor: update function signatures

* feat: optimize output

* chore: export helper macros

* fix(deps): add required features

* style: allow unused

* feat: also generate artifactless files

* feat: add create function

* chore(clippy): make clippy happy

* feat: add helper function

* test: add state machine test

* test: add more mock tests
2022-03-15 08:58:33 -07:00
Matthias Seitz 49ed78d685
feat(solc): add mock project generator (#1011)
* feat(solc): add mock project generator

* feat: mock project

* refactor: rename to mock

* feat(solc): mock project support

* chore: export helper macros

* fix(deps): add required features

* style: allow unused
2022-03-15 05:27:49 -07:00
Matthias Seitz fac944be00
fix: don't evict cache entries with no artifacts (#1035) 2022-03-15 03:32:03 -07:00
Matthias Seitz 24236997a9
refactor(solc): bump svm-rs and use returned install path (#1034)
* chore(deps): bump svm-rs

* refactor: use solc install path directly

* style: use if elese over option
2022-03-15 02:16:22 -07:00
Matthias Seitz f6d123241e
feat: add solc install error report (#1027) 2022-03-14 04:47:11 -07:00
Matthias Seitz 26de793698
chore(solc): provide remappings on unresolved import message (#1026) 2022-03-14 13:29:00 +02:00
dependabot[bot] 97c37f187f
chore(deps): bump pretty_assertions from 1.1.0 to 1.2.0 (#1022)
Bumps [pretty_assertions](https://github.com/colin-kiegel/rust-pretty-assertions) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/colin-kiegel/rust-pretty-assertions/releases)
- [Changelog](https://github.com/colin-kiegel/rust-pretty-assertions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/colin-kiegel/rust-pretty-assertions/commits)

---
updated-dependencies:
- dependency-name: pretty_assertions
  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-03-14 13:27:15 +02:00
Matthias Seitz 6b0a1f7911
fix(solc): skip artifacts check for files without artifacts (#1018) 2022-03-14 00:36:26 +02:00
Georgios Konstantopoulos 77c3b39016 chore: go back to upstream svm 2022-03-12 05:16:20 -08:00
Georgios Konstantopoulos 341e98b4b0 fix: use svm-rs with fixed solc checksums 2022-03-11 13:42:46 -08:00
Matthias Seitz e5dbeb6b28
revert: use simple change filter again (#1008)
* chore: rollback dirty detection

* docs: caching docs
2022-03-11 08:43:48 -08:00
Matthias Seitz 1b1cde0ee3
fix(solc): use correct types (#1004) 2022-03-10 10:46:47 -08:00
AlexK e1d66b8cd3
feat(solc): yul compilation (#994)
* added yul compilation

* fix doctest

* fixes

* changelog

* cleanup

* fmt

* test update

* lint

* ci fix

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-03-10 10:42:02 -08:00
dependabot[bot] 37c25df5a5
chore(deps): bump tracing from 0.1.31 to 0.1.32 (#1001)
Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.31 to 0.1.32.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.31...tracing-0.1.32)

---
updated-dependencies:
- dependency-name: tracing
  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-03-10 06:41:10 -08:00
Matthias Seitz b7f278faf4
feat(solc): remapping helper functions (#1003) 2022-03-10 06:40:58 -08:00
Matthias Seitz f55f02476c
fix(solc): respect offline mode (#1002) 2022-03-10 06:40:35 -08:00
Matthias Seitz 1ac0b49ac3
feat(solc): add scoped reporter (#1000)
* feat(solc): add scoped reporter

* fix: race in tests
2022-03-09 12:00:16 -08:00
Matthias Seitz 0c42c23746
fix(solc): fix cache and allowed paths bug (#998)
* fix: don't emit on error

* fix: allowed-paths condition

* fix(solc): cache and allowed paths bug
2022-03-09 10:52:40 -08:00
dependabot[bot] cc96245b1d
chore(deps): bump regex from 1.5.4 to 1.5.5 (#997)
Bumps [regex](https://github.com/rust-lang/regex) from 1.5.4 to 1.5.5.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.5.4...1.5.5)

---
updated-dependencies:
- dependency-name: regex
  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-03-09 09:50:09 -08:00
Matthias Seitz e1ec4b5ecd
fix(solc): remove unnecessary indent (#999)
* fix(solc): remove unnecessary indent

* Update ethers-solc/src/resolver/tree.rs

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-03-09 09:44:02 -08:00
Matthias Seitz fab30887a2
test: add unique flatten test (#995) 2022-03-08 06:46:04 -08:00
Matthias Seitz 4f1a2352f7
chore(deps): bump solang (#992) 2022-03-06 07:21:33 -08:00
dependabot[bot] 010217c407
chore(deps): bump once_cell from 1.9.0 to 1.10.0 (#987)
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/matklad/once_cell/releases)
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: once_cell
  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-03-04 05:29:34 -08:00
Georgios Konstantopoulos de275db56a fix: bump solang and adjust breaking change
fixes https://github.com/gakonst/ethers-rs/issues/985
2022-03-03 16:47:09 -08:00
Georgios Konstantopoulos 556367ecbd chore(solc): make on_solc_success a no-op to avoid duplicate logs 2022-03-01 14:24:08 +02:00
Matthias Seitz 601cb1b75e
test(solc): add capture test for curly bracket imports (#956)
* test(solc): add capture test for curly bracket imports

* chore: rustfmt
2022-02-24 18:43:35 +02:00
Matthias Seitz 184cffaca3
fix(abigen/solc): make abigen work with ethers-solc and abiencoderv2 (#952)
* feat(solc): add lossless abi

* fix(abigen): make abigen work with ethers-solc and abiencoderv2

* chore: update CHANGELOG
2022-02-23 12:46:52 +02:00
Matthias Seitz 60515d9404
fix(solc): consistent serde for linked and unlinked bytecode (#948) 2022-02-22 16:23:23 +02:00
Roman Krasiuk 1f822e47e6
fix(solc): flatten import loc (#946)
* protograva test-data

* revert import parsing change

* compare flatten results against full strings
2022-02-22 16:22:24 +02:00
dependabot[bot] ffb8582dd5
chore(deps): bump semver from 1.0.5 to 1.0.6 (#944)
Bumps [semver](https://github.com/dtolnay/semver) from 1.0.5 to 1.0.6.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.5...1.0.6)

---
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-22 09:04:57 +01:00
Matthias Seitz 3effda2804
feat(solc): add helper functions to compile standalone files (#931) 2022-02-19 15:56:34 +02:00
Matthias Seitz 7d2d96d761
feat(solc): add tree printer implementation (#933)
* feat(solc): add tree printer implementation

* test: feature gate windows

* typos
2022-02-19 15:55:21 +02:00
Matthias Seitz 5b2c1fa6f8
fix(solc): mimic hardhat import resolver when in node_modules (#928)
* fix: treat node_modules differently

* test: update hardhat test

* chore(clippy): make clippy happy
2022-02-18 19:54:23 +02:00
Matthias Seitz f2796cc001
test: add curly bracket import test (#929) 2022-02-18 19:24:41 +02:00
Matthias Seitz 28df48b530
fix(solc): off by one error finding version intersection (#930)
* fix: off by one error while finding intersection

* test: enable test
2022-02-18 19:24:02 +02:00
Matthew Wiriyathananon-Smith d8e5e536cc
Artifact ids (#882)
* Added ArtifactId

* Added ArtifactId impl and updated into_artifacts to return id

* Formatting

* Fixed warning

* Added versioned slug method to ArtifactId

* Added Ord/Eq derives to ArtifactId

* Fixed broken tests and doc tests

* Added failing test for versioned link references

* chore: ignore linkrefs test - to be fixed in followup

* test(solc): remove artifact json

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-02-18 17:48:56 +02:00
dependabot[bot] 781b9c170d
chore(deps): bump md-5 from 0.10.0 to 0.10.1 (#922)
Bumps [md-5](https://github.com/RustCrypto/hashes) from 0.10.0 to 0.10.1.
- [Release notes](https://github.com/RustCrypto/hashes/releases)
- [Commits](https://github.com/RustCrypto/hashes/compare/md2-v0.10.0...md2-v0.10.1)

---
updated-dependencies:
- dependency-name: md-5
  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-18 15:37:59 +02:00
dependabot[bot] a7fabb114d
chore(deps): bump tracing from 0.1.30 to 0.1.31 (#923)
Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.30 to 0.1.31.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.30...tracing-0.1.31)

---
updated-dependencies:
- dependency-name: tracing
  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-18 15:37:52 +02:00
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
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
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
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
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
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