Matthias Seitz
9892756ee4
feat(solc): include opcodes in output ( #1435 )
2022-06-30 09:16:47 -07:00
Matthias Seitz
2ebdef68d2
feat!(solc): add additional remove functions ( #1406 )
2022-06-22 13:14:02 -04:00
Matthias Seitz
e3389f336a
feat(solc): emit build info files if configured ( #1338 )
...
* feat(solc): emit build info files if configured
* feat: add content hashing
2022-06-15 12:44:20 -07:00
Matthias Seitz
980649060a
feat(solc): emit additional raw metadata field ( #1365 )
...
* feat(solc): emit additional raw metadata field
* chore: update CHANGELOG
* test: updata test
* fix(solc): proper metadata deserialization
2022-06-10 16:49:19 +03:00
0xYYY
5ee4092bd3
fix(solc): fix fields for `UserDoc` and `DevDoc` ( #1355 )
...
* fix(solc): fix fields for UserDoc and DevDoc
* solc: unify userdoc notice fields
2022-06-08 03:30:41 -07:00
Matthias Seitz
030488eca5
fix(solc): invalidate cache on unresolve error ( #1337 )
2022-06-02 10:31:02 -07:00
Matthias Seitz
54f1b9dee8
feat(solc): use relative paths and --base-path option ( #1317 )
...
* feat(solc): use relative paths and --base-path option
* chore: update CHANGELOG
* strip lib paths
2022-05-27 13:31:11 -07:00
Matthias Seitz
95862bc62c
feat(solc): make cache entries relative to root dir ( #1307 )
...
* feat(solc): make cache entries relative to root dir
* chore: update CHANGELOG
2022-05-24 07:51:09 -07:00
Matthias Seitz
75835a9280
feat(solc): emit artifacts for standalone source files ( #1296 )
...
* feat(solc): emit artifact files for sources with no contracts
* test(solc): add tests for emitting standalone sources
* chore: update CHANGELOG
* style: check ast is some
2022-05-22 15:19:59 -07:00
Roman Krasiuk
592144e308
fix(solc): flatten random statement order ( #1292 )
...
* fix random statement order
* linter
2022-05-20 13:00:36 -07:00
Matthias Seitz
fb39d36697
fix(solc): support constructor user docs ( #1283 )
2022-05-19 11:02:10 -07:00
Matthias Seitz
1271308e06
fix(solc): purge obsolete cached artifacts ( #1273 )
...
* fix(solc): purge obsolete cached artifacts
* fix add cfg
2022-05-16 16:48:47 -07:00
Roman Krasiuk
f3699d08bf
fix(solc): add `RuntimeOrHandle` & fix solc blocking installation ( #1260 )
...
* rt wrapper for solc install
* fix
* uncomment feat flag
* feature deps & comment
* async it tests
* use svm::block_install for wasm
* hide rt or handle for wasm
* hide import for wasm
2022-05-14 16:29:45 -07:00
Leo
eb94e53d1f
Add basic solc model checker options ( #1258 )
...
* Add basic solc model checker options
* Changelog entry
* review 1
* chore: fmt
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-05-13 13:29:13 -07:00
Roman Krasiuk
a656830790
fix(solc): flatten import aliases ( #1192 )
...
* import aliases
* fix solang alias parsing
* fix token replacement
* minor
* remove log
* remove log
* address pr comments
* rollback
2022-05-03 22:33:25 -07:00
Matthias Seitz
a978bc98af
fix(solc): remapping aware libraries ( #1190 )
...
* feat(solc): add Libraries type
* feat: add lib applied remappings
* test: add lib linking tests
* Update ethers-solc/src/artifacts/mod.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* Update ethers-solc/src/artifacts/mod.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* Update ethers-solc/src/artifacts/mod.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* Update ethers-solc/src/artifacts/mod.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* chore: rustfmt
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-04-28 05:18:24 -07:00
YYY
1cba287193
solc: adjust flatten format ( #1172 )
2022-04-23 01:40:34 -07:00
Matthias Seitz
ac3e12fe8a
feat: add standardjson compiler input type ( #1169 )
2022-04-23 01:39:31 -07:00
Roman Krasiuk
8dd553a5eb
fix extra spacing ( #1149 )
2022-04-16 13:09:00 -07:00
Matthias Seitz
3d4356f531
fix(solc): strip root path from remappings and sources for standard json ( #1136 )
...
* fix(solc): strip root path from remappings and sources for standard json input
* fix: use consistent contract for tests
2022-04-11 13:36:06 -07:00
pyk
77931d4c63
feat(solc): Strip experimental pragma from all imported contracts ( #1116 )
...
* Parse experimental pragma
* add integration test for experimental pragma
* Fix formatting
2022-04-07 03:12:25 -07:00
Matthias Seitz
23e45e8531
fix: sanitize compilerinput based on version ( #1111 )
...
* fix: sanitize compilerinput based on version
* test: add compiler test
* chore: remove unused warnings
* style: make once lazy
2022-04-05 12:00:04 -07:00
Matthias Seitz
38b984c353
fix(solc): extend sparse mode to linked references ( #1107 )
...
* refactor: move sol parsing to separate mod
* refactor: make parse a struct function
* feat: add inline function
* chore: rename sparse filter
* feat: move data to edges type
* refactor: supply graph in compile function
* feat: resolve link references
* test: add sparse mode test
2022-04-04 15:50:10 -07:00
Matthias Seitz
5eb5baea68
test: add multiline flatten test ( #1101 )
2022-04-03 08:05:31 -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
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
6b0a1f7911
fix(solc): skip artifacts check for files without artifacts ( #1018 )
2022-03-14 00:36:26 +02: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
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
fab30887a2
test: add unique flatten test ( #995 )
2022-03-08 06:46:04 -08: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
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
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
Matthias Seitz
5fefb2b721
fix(solc): can parse secondary source locations ( #849 )
2022-01-31 23:54:49 +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
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
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
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
Georgios Konstantopoulos
19671e51de
chore: fix lints / solc test
2022-01-11 12:13: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
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
4c677933ce
feat(solc): add workspace utils ( #678 )
...
* feat(solc): add workspace mocking
* test: add more tests
* test: update tests
* rename to project-utils
* add fs extra error
* clean up functions
* simplify path construction
2021-12-13 01:39:28 +02:00
korboismoe
41f8e295a0
fix: remove changed artifacts from the cache ( #630 )
...
Duplicate artifacts will be returned if there is a
changed artifact that was already present in the
cache
2021-11-28 14:33:24 +02:00