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
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
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
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
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
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
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
joshieDo
0526e920eb
add dese default_for_null ( #860 )
2022-02-04 10:09:53 +02:00
dependabot[bot]
8d0d5a2d9a
chore(deps): bump tracing from 0.1.29 to 0.1.30 ( #862 )
...
Bumps [tracing](https://github.com/tokio-rs/tracing ) from 0.1.29 to 0.1.30.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.29...tracing-0.1.30 )
---
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-04 10:09:02 +02:00
Matthias Seitz
d08f3ed2d4
fix(solc): bump solang ( #861 )
2022-02-03 22:35:46 +02:00
dependabot[bot]
66c9fadea3
chore(deps): bump pretty_assertions from 1.0.0 to 1.1.0 ( #854 )
...
Bumps [pretty_assertions](https://github.com/colin-kiegel/rust-pretty-assertions ) from 1.0.0 to 1.1.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/compare/v1.0.0...v1.1.0 )
---
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-02-02 15:58:14 +02:00
Matthias Seitz
5fefb2b721
fix(solc): can parse secondary source locations ( #849 )
2022-01-31 23:54:49 +02:00
joshieDo
dd915c99f6
write outputs to file, if selected ( #847 )
2022-01-31 18:19:57 +02:00
Roman Krasiuk
a48496000a
fix(solc): flatten replacement target location ( #846 )
...
* adjust the end location
* upd changelog
2022-01-31 10:08:04 +02:00
Georgios Konstantopoulos
0c949f65bb
chore: lints
2022-01-29 21:19:49 +02:00
odyslam.eth
8b9a18ce01
chore: add info messages to solc install/compile ( #838 )
...
* chore: add info messages to solc install/compile
* chore: update changelog
* fix: remove added ';'
* Update ethers-solc/src/compile.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-01-29 10:32:38 +02:00
brockelmore
24c39bd32a
write `CompactContractBytecode` instead of `CompactContract` ( #833 )
...
* write `CompactContractBytecode` instead of `CompactContract`
* chore: fix doctest
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-01-28 09:23:28 +02:00
ChainsightAnalytics
ec2b51539d
fix(solc): use already instantiated tokio runtime if exists ( #811 )
...
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-01-28 09:17:54 +02:00
Matthias Seitz
5da2eb1eb9
fix(solc): duplicate contracts segments ( #832 )
...
* chore: simplify touch
* forge install: ds-test
* fix: fix duplicate contracts segments
* fix: typos
2022-01-27 12:04:14 +02:00
Matthias Seitz
f9fadf06c4
chore(solc): also rm cache dir if empty ( #822 )
2022-01-21 03:51:41 +02:00
Matthias Seitz
6d7875a44c
chore(solc): add more convenience functions ( #810 )
...
* chore(solc): simplify solcconfig
* chore: more helper functions
* chore: copy all
* fix: add trailing slash
* chore: make clippy happy
2022-01-20 21:41:19 +02:00
Georgios Konstantopoulos
141e2f1807
Revert "Remove entire cache folder, not just contents ( #820 )"
...
This reverts commit 2945104d39
.
2022-01-20 15:49:59 +02:00
Bjerg
2945104d39
Remove entire cache folder, not just contents ( #820 )
2022-01-20 11:01:35 +02:00
Roman Krasiuk
f9b0360d90
fix(solc): flatten duplicates ( #813 )
...
* fix solc flatten duplicates
* upd changelog
* sample eof newlines
* fix test name
* linter
2022-01-19 18:11:37 +02:00
Matthias Seitz
eb555c28cc
chore(solc): add ord derive ( #807 )
2022-01-18 14:23:10 +02:00
Matthias Seitz
e0ee033283
fix(solc): take installer lock before installing ( #801 )
2022-01-17 15:51:15 +02:00
Roman Krasiuk
afcba9567f
feat(solc): flatten ( #774 )
...
* solc flatten implementation
* upd changelog
* upd docs
* revamp flattening
* clippy
* use resolve_import method
* extract recursive flatenning into a separate func
* change content iteration for flatten
* remove redundant result
* clean up solimport
* add comment to project.flatten
* add support for ver pragma loc
* address pr comments
* uncomment the test
* improve test cov
* add handling of sdpx license identifiers
* change arg name
* match license only at the beginning of the file
* add comments
* lint
* morrre comments
2022-01-17 14:27:40 +02:00
Matthias Seitz
579311bfdd
fix(solc): traverse nodes iteratively ( #800 )
2022-01-17 14:05:52 +02:00
Matthias Seitz
d2318d285d
chore(deps): bump solang ( #796 )
...
* chore(deps): bump solang
* fix: breaking test
2022-01-15 17:53:46 +02:00
Matthias Seitz
b619a5522f
feat(solc): relative remappings ( #786 )
2022-01-13 02:59:53 +02:00
Georgios Konstantopoulos
19671e51de
chore: fix lints / solc test
2022-01-11 12:13:09 +02:00