Matthias Seitz
01d4fceaee
feat(solc): support for solc io json output ( #1043 )
...
* feat(solc): support for solc io json output
* chore: wording
2022-03-17 04:37:00 -07:00
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
Matthias Seitz
6b0a1f7911
fix(solc): skip artifacts check for files without artifacts ( #1018 )
2022-03-14 00:36:26 +02: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
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
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
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
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
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
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
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
Matthias Seitz
cc5c67ed0a
chore: fix all warnings ( #890 )
2022-02-10 08:54:39 +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
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
Matthias Seitz
67271eba68
feat: implement Artifact for serde_json ( #885 )
2022-02-09 00:48:53 +02:00
Matthias Seitz
a0568fe44e
fix(solc): use nodesiter when printing tree ( #878 )
2022-02-07 18:27:23 +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