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
dependabot[bot]
c95c12e0d1
chore(deps): bump tempfile from 3.2.0 to 3.3.0 ( #780 )
...
Bumps [tempfile](https://github.com/Stebalien/tempfile ) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/Stebalien/tempfile/releases )
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/NEWS )
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.2.0...v3.3.0 )
---
updated-dependencies:
- dependency-name: tempfile
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-01-11 12:03:09 +02:00
Matthias Seitz
4d2cd83698
fix(solc): invalid cached artifacts ( #783 )
...
* add some docs
* ignore malformed cache file
* more artifacts fixes
* fix(solc): remove quotation marks from tests
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-01-11 12:02:57 +02:00
Matthias Seitz
e0b6f65359
refactor(solc): more temp project features ( #778 )
...
* chore: replace tempdir with tempfile crate
* update tempproject constructors
* make clippy happy
* add default impl
2022-01-10 21:43:34 +02:00
brockelmore
1287614e53
Implement `is_empty` for `AllowedLibPaths` ( #777 )
...
* pub svm_compile
* empty allowed paths
2022-01-09 00:20:28 +02:00
Georgios Konstantopoulos
270fe46d37
feat(solc): expose svm_compile
2022-01-08 22:51:18 +02:00
Bjerg
48bd3f13e2
Ignore SPDX and contract size for tests ( #775 )
...
* Filter for unignored warnings
* Pass compiler output to diagnostics
* Ignore SPDX and contract size warnings for tests
* Fix lint
* Skip lookups if error is not a warning
2022-01-08 22:26:23 +02:00
Eugene
ba99bc1bca
make it work with latest solang ( #776 )
...
* make it work with latest solang
* rustfmt
* rm uneeded import
2022-01-08 22:16:54 +02:00
Bjerg
86044bc0c3
Add `ProjectCompileOutput::has_compiler_warnings` ( #773 )
...
* Add `ProjectCompileOutput::has_compiler_warnings`
* Nits
2022-01-07 17:29:19 +02:00
Bjerg
21a4adea3e
Check for warnings after compilation ( #772 )
...
* Check for warnings after compilation
* Always catch errors first
2022-01-07 16:53:36 +02:00
Matthias Seitz
d54d381b74
feat(solc): add more contract utility types and functions ( #765 )
...
* feat(solc): add more contract utility functions
* Update ethers-solc/src/artifacts.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* docs: deindent docs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-01-07 14:10:33 +02:00
Matthias Seitz
eeb2a84df4
fix(solc): allow cyclic imports ( #766 )
2022-01-07 02:12:33 +02:00
Matthias Seitz
88b342287a
feat(solc): add source map parser ( #658 )
...
* feat(solc): add source map parser
* merge branch master
* make some types private
* chore: make id an option
* fix: support negative field values
* check parsed element
2022-01-06 13:54:46 +02:00
Matthias Seitz
fc9f66c916
feat(solc): add dependency graph implementation ( #750 )
...
* docs: document public functions
* add mod
* feat(solc): add dependency graph
* detect version
* add into sources
* fix: canonicalize temp paths
* test: add graph tests
* chore(clippy): make clippy happy
* more wasm compat
* chore: update changelog
* wasm compat
* unused
* fix get source fill function
* Update ethers-solc/src/resolver.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* perf: use solang_parser to trim down deps
* resolve graph in compile
* refactor add node function
* docs: clear up comment
* docs: typos
* fix: make all versions unique based on their major minor path version
* prepare test
* docs: add more resolve docs
* test: add lib change detection test
* test: update tests
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-01-05 23:46:57 +02:00
Matthias Seitz
3da5a419fe
fix(solc): add timeout and error detection for releases lookup ( #759 )
...
* fix(solc): add timeout and error detection for releases lookup
* bump tokio cargo update
* fix: move timeout in async block
2022-01-05 20:42:07 +02:00
Matthias Seitz
2ca8f99e87
feat(solc): add path auto detection ( #761 )
2022-01-05 19:33:56 +02:00
Matthias Seitz
bd03bda878
fix(solc): methods is object ( #734 )
2021-12-25 18:20:24 +02:00
Matthias Seitz
47e188793b
chore(solc): more verbose traces ( #738 )
2021-12-25 18:18:57 +02:00
Matthias Seitz
918063db9e
refactor(solc): remappings detection rewrite ( #732 )
...
* refactor(solc): remappings detection rewrite
* chore: follow symlinks
2021-12-25 06:52:26 +02:00
Matthias Seitz
4b4ebd74ba
fix: make evm bytecode optional ( #735 )
2021-12-25 06:45:53 +02:00
joshieDo
ade8cd9553
add fn settings on CompilerInput ( #729 )
2021-12-23 17:03:37 +02:00
dependabot[bot]
c22afee26a
chore(deps): bump num_cpus from 1.13.0 to 1.13.1 ( #722 )
...
Bumps [num_cpus](https://github.com/seanmonstar/num_cpus ) from 1.13.0 to 1.13.1.
- [Release notes](https://github.com/seanmonstar/num_cpus/releases )
- [Changelog](https://github.com/seanmonstar/num_cpus/blob/master/CHANGELOG.md )
- [Commits](https://github.com/seanmonstar/num_cpus/compare/v1.13.0...v1.13.1 )
---
updated-dependencies:
- dependency-name: num_cpus
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>
2021-12-21 19:37:31 +02:00
Matthias Seitz
8db70cead9
fix(solc): handle more remapping edge cases ( #719 )
...
* feat: ancestor finding
* feat: better remapping scanning
* fix(solc): handle more remapping edge cases
* fix: handle deeply nested libs
* chore: cleanup
2021-12-20 22:16:59 +02:00
Matthias Seitz
debd1dd153
chore(solc): bump latest solc version ( #720 )
2021-12-20 22:15:56 +02:00
Matthias Seitz
0d2fc53541
fix(solc): prefere dapptools style remappings ( #713 )
2021-12-19 22:34:06 +02:00