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
Meet Mangukiya
d7b9c59f00
fix(ethers-solc/ConfigurableArtifacts): output methodIdentifiers by default ( #1266 )
...
Related https://github.com/foundry-rs/foundry/issues/1497
2022-05-16 10:28:53 -07:00
dependabot[bot]
adaa82ab9d
chore(deps): bump rayon from 1.5.2 to 1.5.3 ( #1269 )
...
Bumps [rayon](https://github.com/rayon-rs/rayon ) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/rayon-rs/rayon/releases )
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md )
- [Commits](https://github.com/rayon-rs/rayon/compare/v1.5.2...v1.5.3 )
---
updated-dependencies:
- dependency-name: rayon
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-05-16 10:21:33 -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
Meet Mangukiya
6d5bebd860
Release process and CI ( #1240 )
...
* Fix the crate versions
* release.toml: add cargo-release config
* CONTRIBUTING.md: Update Releasing section
* feat: add release github workflow
* feat: generate CHANGELOGs and create github releases in CI
2022-05-13 13:10:05 -07:00
Roman Krasiuk
135bca4680
update & lock solang ( #1256 )
2022-05-13 12:59:47 -07:00
Matthias Seitz
f5efbbb86a
feat(solc): add strip and join functions to sources and contracts ( #1252 )
2022-05-12 14:48:16 -07:00
Matthias Seitz
494af08b85
feat(solc): add source map access functions ( #1253 )
2022-05-12 14:47:45 -07:00
Bjerg
1e2b02920b
fix: make ast node ids optional ( #1254 )
2022-05-12 14:47:38 -07:00
Bjerg
0a031417d8
feat: remaining AST nodes ( #1201 )
...
* feat: remaining AST nodes
* docs: few rustdocs
* feat: add more node fields
* feat: add more ast nodes
* fix: actually deserialize node type
Note: This breaks `NodeType::Other` :/
2022-05-10 10:43:22 -07:00
Matthias Seitz
44cbbc769a
feat(solc): store source files with their solc version ( #1231 )
...
* feat(solc): add versioned sources
* feat(solc): support versioned sources
2022-05-06 11:42:01 -07:00
Matthias Seitz
ce3ebaefa0
chore(clippy): make clippy happy ( #1230 )
2022-05-06 08:15:49 -07:00
Matthias Seitz
2768a6b4d7
feat(solc): add missing options for configurable artifact ( #1223 )
2022-05-05 07:47:52 -07:00
Matthias Seitz
16e17078fd
fix(solc): respect auto detection in additional compile functions ( #1226 )
2022-05-05 07:31:52 -07:00
Matthias Seitz
bc958792af
perf: short circuit remapping detection on recursive symlink ( #1225 )
2022-05-05 07:21:51 -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
2304ed53ad
fix(solc): make scoped reporter work in parallel ( #1214 )
...
* fix(solc): make scoped reporter work in parallel
* typo
2022-05-03 16:39:36 -07:00
Matthias Seitz
c8c81b4905
feat(solc): support logging multiple files via io logger ( #1216 )
2022-05-03 16:38:17 -07:00
Matthias Seitz
e7e5abcd0d
fix(solc): ensure std json sources are unique ( #1210 )
2022-05-02 22:51:28 -07:00
dependabot[bot]
f074f3d614
chore(deps): bump semver from 1.0.7 to 1.0.9 ( #1211 )
...
Bumps [semver](https://github.com/dtolnay/semver ) from 1.0.7 to 1.0.9.
- [Release notes](https://github.com/dtolnay/semver/releases )
- [Commits](https://github.com/dtolnay/semver/compare/1.0.7...1.0.9 )
---
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-05-02 22:51:03 -07:00
dependabot[bot]
c44872f62e
chore(deps): bump thiserror from 1.0.30 to 1.0.31 ( #1206 )
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.30 to 1.0.31.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.30...1.0.31 )
---
updated-dependencies:
- dependency-name: thiserror
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-05-02 11:54:22 -07:00
Matthias Seitz
c81254a8b6
test(solc): add another link with remapping test ( #1191 )
2022-04-28 07:07:08 -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
Matthias Seitz
5de7086ba7
fix(solc): use correct empty output selection ( #1185 )
2022-04-27 21:27:54 +03:00
Matthias Seitz
8afd670a65
chore(solc): remove async feature requirement ( #1181 )
2022-04-27 15:37:40 +03:00
joshieDo
a0f41c51af
fix(solc): when compiler-out metadata is empty and there's no `internalType` ( #1182 )
...
* add another compiler-out with fixes
* update changelog
2022-04-27 15:37:09 +03:00
Matthias Seitz
86908bc533
fix(solc): only write cache file if build was successful ( #1177 )
2022-04-27 15:29:09 +03:00
Matthias Seitz
8dd72723d1
feat: add minimal ast bindings ( #1167 )
...
* feat: add minimal ast bindings
* feat: add recursive nodes
2022-04-23 02:20:46 -07:00
Bjerg
6fcde371a3
feat: function debug data in extra output ( #1165 )
...
* feat: support function debug data in output
* chore: `ConfigurableArtifacts::output_selection`
* chore: lint
2022-04-23 01:48:39 -07:00
Matthias Seitz
f4eb4029b4
chore(solc): include error code in diagnostic ( #1171 )
2022-04-23 01:41:13 -07:00
YYY
1cba287193
solc: adjust flatten format ( #1172 )
2022-04-23 01:40:34 -07:00
Bjerg
8444b8ebbe
feat: abi as an extra file ( #1166 )
2022-04-23 01:40:25 -07:00
Matthias Seitz
ac3e12fe8a
feat: add standardjson compiler input type ( #1169 )
2022-04-23 01:39:31 -07:00
Matthias Seitz
92b1ad8fb1
feat: add debug info bindings ( #1161 )
2022-04-21 19:29:21 +02:00
dependabot[bot]
c1807fa3bb
chore(deps): bump rayon from 1.5.1 to 1.5.2 ( #1145 )
...
Bumps [rayon](https://github.com/rayon-rs/rayon ) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/rayon-rs/rayon/releases )
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md )
- [Commits](https://github.com/rayon-rs/rayon/commits )
---
updated-dependencies:
- dependency-name: rayon
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-04-18 09:56:12 -07:00
dependabot[bot]
4d43cb822a
chore(deps): bump tracing from 0.1.33 to 0.1.34 ( #1147 )
...
Bumps [tracing](https://github.com/tokio-rs/tracing ) from 0.1.33 to 0.1.34.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.33...tracing-0.1.34 )
---
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-04-18 09:56:07 -07:00
dependabot[bot]
6ad3d292b4
chore(deps): bump solang-parser from 0.1.11 to 0.1.12 ( #1152 )
...
Bumps [solang-parser](https://github.com/hyperledger-labs/solang ) from 0.1.11 to 0.1.12.
- [Release notes](https://github.com/hyperledger-labs/solang/releases )
- [Changelog](https://github.com/hyperledger-labs/solang/blob/main/CHANGELOG.md )
- [Commits](https://github.com/hyperledger-labs/solang/commits )
---
updated-dependencies:
- dependency-name: solang-parser
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-04-18 08:10:55 -07:00
Roman Krasiuk
8dd553a5eb
fix extra spacing ( #1149 )
2022-04-16 13:09:00 -07:00
Matthias Seitz
19a2ecd58d
fix(solc): compute content hashes first ( #1142 )
...
* chore: add tracing for missing content hash
* fix: compute content hashes first
2022-04-13 12:59:43 -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
dependabot[bot]
b4caa25c45
chore(deps): bump tracing from 0.1.32 to 0.1.33 ( #1132 )
...
Bumps [tracing](https://github.com/tokio-rs/tracing ) from 0.1.32 to 0.1.33.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.32...tracing-0.1.33 )
---
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-04-11 01:02:53 -07:00
James Prestwich
9206efa46c
fixes: correct etherscan url address, remove double quotes in solc error ( #1130 )
2022-04-10 09:04:43 -07:00
Matthias Seitz
876a19d636
chore: make ipfs the default bytecodehash again ( #1128 )
2022-04-09 15:11:46 -07:00
pyk
247f08f1a9
feat(solc): Add standard-json-input ( #1126 )
...
* Add standard-json-input
* remove debugging
* Update the error message
* Remove unnecessary changes
* Refactor
* make clippy happy
* Return CompilerInput instead of String
2022-04-08 17:18:39 -07:00
Matthias Seitz
69bf6ddd0c
fix: only notify about unresolved import once ( #1125 )
2022-04-08 07:37:43 -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
dependabot[bot]
78c87b1126
chore(deps): bump pretty_assertions from 1.2.0 to 1.2.1 ( #1105 )
...
Bumps [pretty_assertions](https://github.com/colin-kiegel/rust-pretty-assertions ) from 1.2.0 to 1.2.1.
- [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.2.0...v1.2.1 )
---
updated-dependencies:
- dependency-name: pretty_assertions
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-04-04 06:57:36 -07:00
Matthias Seitz
06df7f41cc
feat(solc): add bytecode hash variants ( #1104 )
...
* feat(solc): add bytecode hash variants
* make None the Bytecodehash default
2022-04-04 06:57:20 -07:00
Matthias Seitz
5eb5baea68
test: add multiline flatten test ( #1101 )
2022-04-03 08:05:31 -07:00
Matthias Seitz
5bbc6c34ab
chore(deps): bump solang-parser 0.1.11 ( #1103 )
2022-04-03 08:05:24 -07:00
Connor Mendenhall
18dda9aa83
feat(solc): pass compile time to reporter ( #1098 )
...
* Pass compile time to solc_success/on_solc_success
* Update changelog
2022-04-02 14:37:38 -07:00
Matthias Seitz
26b6472f9b
feat(solc): include project paths in cache ( #1097 )
...
* feat: add project paths struct
* feat: add project paths to cache file
* chore: bump format version
* update cache creation api
* feat: add cache condition
2022-03-30 12:14:29 -07:00
Matthias Seitz
110d1beeed
chore: add some solc checksum traces ( #1088 )
...
* chore: add some solc checksum traces
* chore: use qualified path
2022-03-28 16:08:45 -07:00
Bjerg
7842a70803
feat: add `ArtifactId::identifier()` ( #1087 )
...
* feat: add `ArtifactId::identifier()`
* docs: note that `slug` is not unique
* chore: remove --all from clippy
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-03-28 09:42:48 -07:00
dependabot[bot]
967a142563
chore(deps): bump semver from 1.0.6 to 1.0.7 ( #1085 )
...
Bumps [semver](https://github.com/dtolnay/semver ) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/dtolnay/semver/releases )
- [Commits](https://github.com/dtolnay/semver/compare/1.0.6...1.0.7 )
---
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-03-28 09:39:23 -07:00
Matthias Seitz
2689981782
feat(solc): include source file ast in artifact ( #1081 )
...
* refactor: extend artifactsoutput interface
* add source file to trait
* fix: make it compile again
2022-03-27 09:56:33 -07:00
Bjerg
919a570237
feat: ability to get artifacts + sources ( #1080 )
2022-03-27 07:44:23 -07:00
Matthias Seitz
95a384b121
fix(solc): bundle new svm-solc feature ( #1071 )
...
* fix(solc): bundle new svm-solc feature
* chore: update CHANGELOG
* fix: enabled new feature in full
2022-03-21 01:58:56 -07:00
Matthias Seitz
916e9a7334
chore(clippy): add some deny lints ( #1064 )
...
* feat: add deny lints
* trim ethers core
* trim ethers eip712
* deny ethers contract derive
* deny ethers contract abigen
* deny ethers contract
* deny ethers providers
* chore: add denies and fix unused deps
* doc: fix links
* fix: wasm build
* doc: fix links
* doc: fix links
* doc: fix inline doc links
* docs: fix intra doc links
2022-03-19 10:05:39 -07:00
Matthias Seitz
1788f05ab0
feat(solc): use svm-builds instead of fetching http releases list ( #1063 )
...
* feat(solc): use svm-builds instead of fetching http releases list
* use correct features
2022-03-19 07:52:09 -07:00
Matthias Seitz
b6b5b09f4a
feat(abigen): add abi object deserializer and generate deploy function ( #1030 )
...
* feat(abigen): add abi object deserializer
* chore: rustfmt
* refactor: use enum type for deser abi
* refactor: use enum types for deser
* chore: rustfmt
* feat: add bytecode field
* feat: generate bytecode static
* feat: generate deployment function
* refactor: deploy function
* feat: add contract deployer type
* feat: make 0x prefix optional
* feat: add deploy function
* feat: add deploy example
* chore: update CHANGELOG
* chore(clippy): make clippy happy
2022-03-18 21:23:33 -07:00
Matthias Seitz
d1f46f4c2c
feat(solc): more artifact trait functions ( #1057 )
...
* style: split artifacts mod and create contract and bytecode mods
* chore: rustfmt
* feat(solc): more artifact trait functions
* feat: add missing impl
2022-03-17 12:48:55 -07:00
Matthias Seitz
65b1751cf8
style: split artifacts mod and create contract and bytecode mods ( #1052 )
...
* style: split artifacts mod and create contract and bytecode mods
* chore: rustfmt
2022-03-17 07:51:43 -07:00
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
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
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
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
Georgios Konstantopoulos
8d95f3bf33
fix: use lib for parsing paths correctly in windows ( #712 )
2021-12-19 22:03:16 +02:00
Georgios Konstantopoulos
9c11f6cb7b
fix(ethers): auto-enable asm when supported (x86/x64 and not msvc) ( #710 )
2021-12-19 18:02:22 +02:00
Georgios Konstantopoulos
d7c29cc615
fix: configure rustls & openssl via feature flag ( #703 )
...
* chore(etherscan): allow specifying openssl or rustls
* chore(contract): allow specifying openssl or rustls
* chore(solc): allow specifying openssl or rustls
* chore: expose new rustls/openssl features at top level crate
* chore: bump tokio-tungstenite / remove dup rustls version
* chore: bump svm-rs
* fix: feature gate sha2-asm
* ci: remove --all-features from windows tests
* chore: do not enable sha2-asm by default
* fix: do not pull in svm-rs in wasm builds
* chore: use upstream svm again
2021-12-19 16:56:54 +02:00
Matthias Seitz
12334443eb
chore(solc): use svm global_version if it exists and no SOLC_PATH is set ( #709 )
...
* chore(solc): use svm global_version if it exists and no SOLC_PATH is set
* rustfmt
* fix: resolve global svm version
2021-12-19 16:30:54 +02:00
Matthias Seitz
e0ac32a68f
chore(solc): add display impl for PathsConfig ( #708 )
2021-12-19 14:35:11 +02:00
Matthias Seitz
8f8a813181
chore: use new remapping detection ( #707 )
...
* chore: use newe remapping detection
* chore: update changelog
* Update ethers-solc/src/remappings.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2021-12-19 14:30:31 +02:00
Matthias Seitz
9096f4e170
feat(solc): revamped remapping auto detect ( #706 )
2021-12-19 06:32:14 +02:00
Matthias Seitz
e24117a1e1
chore(clippy): make clippy happy ( #705 )
2021-12-19 06:28:38 +02:00
Alex Xiong
6cbdc89187
fix: avoid futures-util yanked err ( #693 )
2021-12-15 03:32:36 +01:00
Matthias Seitz
4bb2636b77
fix: remove assert to check cache format ( #689 )
...
* fix: remove assert
* rustmft
2021-12-13 16:37:35 -07:00
Georgios Konstantopoulos
8a7252fe58
fix: bump svm-rs for windows support ( #685 )
2021-12-13 18:20:38 +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
Matthias Seitz
5dec757493
refactor(solc): add new io error with path info ( #680 )
...
* refactor(solc): add new io error with path info
* chore: rustfmt
2021-12-12 10:10:40 -07:00
Matthias Seitz
ab8b5233d2
fix: exclude asm for msvc ( #679 )
2021-12-12 15:09:15 +02:00
Matthias Seitz
275f7179bf
feat(solc): add hardhat artifact support ( #677 )
...
* feat: add hardhat artifact support
* test: add hh test
* feat: add hh fallback artifact handler
* add format detection
* chore: update changelog
* chore: typos
2021-12-11 19:39:39 +02:00
Matthias Seitz
38e18463dc
feat(solc): extend Artifact trait ( #673 )
...
* feat(solc): extend Artifact trait
* chore: update changelog
* chore: rustfmt
2021-12-10 12:38:44 -07:00
Matthias Seitz
f48fd88a97
fix(solc): skip 0x prefix for deserialize bytes decoding ( #671 )
2021-12-10 11:20:30 -07:00
Rohit Narurkar
991cda3f33
fix: naming and default impl ( #665 )
2021-12-10 10:22:25 -07:00
Matthias Seitz
ab949f7858
fix: add allow paths ( #667 )
2021-12-10 08:50:15 -07:00
Matthias Seitz
59cf991828
feat(abigen): use structs for outputs ( #664 )
...
* feat(abigen): use structs for outputs
* update CHANGELOG
* make clippy happy
* fix lints
2021-12-09 16:00:59 -07:00
dependabot[bot]
f0a8f01465
chore(deps): bump md-5 from 0.9.1 to 0.10.0 ( #660 )
...
Bumps [md-5](https://github.com/RustCrypto/hashes ) from 0.9.1 to 0.10.0.
- [Release notes](https://github.com/RustCrypto/hashes/releases )
- [Commits](https://github.com/RustCrypto/hashes/compare/md5-v0.9.1...md2-v0.10.0 )
---
updated-dependencies:
- dependency-name: md-5
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>
2021-12-09 10:45:34 -07:00
laizy
eeaab21049
add buffer for file reading ( #662 )
2021-12-09 10:45:13 -07:00
Matthias Seitz
0b1f3b1dcf
feat(solc): add support for library linking ( #656 )
...
* feat(solc): add support for library linking
* chore: update changelog
* fixbreaking compactref api
* rm check
* return Bytes instead
* revert changes
* simplify resolve
* test: add lost tests
2021-12-08 02:38:29 +02:00
Matthias Seitz
a9a47a4cd6
feat(solc): add support for compiling solc in parallel ( #652 )
...
* docs: more docs and tracing
* feat: add compile many
* feat: add compile many
* fix: make fields optional
* chore: add num_cpus and criterion
* add compile benchmark
* feat: add job option
* feat: add parallel compilation support
* use ful utilization
* chore: move pathmap to cache
* fix: async write all
* chore: clean up
2021-12-07 01:02:13 +02:00
Matthias Seitz
f10b47e600
docs: more docs and tracing ( #651 )
2021-12-05 15:27:37 +02:00
Matthias Seitz
23c356ce38
feat(solc): add clean up function ( #649 )
2021-12-04 19:27:30 +02:00
Matthias Seitz
0464ac9d46
feat(solc): improve solc detection and reduce install effort ( #648 )
2021-12-04 09:13:58 -08:00
James Prestwich
437f9de92f
fix: specify home-dep as non-wasm instead of x86-only ( #645 )
2021-12-03 22:03:26 +02:00
Matthias Seitz
ad68337113
fix: make ethers-wasm workspace member ( #642 )
...
* fix: make ethers-wasm workspace member
* rustfmt
* chore: allow clippy all
* chore: make ethers-wasm non default member
* ci: only clippy default members
2021-12-03 19:27:55 +02:00
Matthias Seitz
133382d034
fix: check all import styles ( #634 )
2021-11-29 23:45:07 +02:00
Georgios Konstantopoulos
d06bfdc15c
solc: add tracing ( #628 )
...
* feat(solc): add tracing
* chore: apply suggestions from code review
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
* chore: fix compilation error
* chore: adjust log
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
2021-11-28 19:14:34 +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
Georgios Konstantopoulos
7bb90935ed
fix(solc): do not overwrite existing cache ( #629 )
...
previously if 1 file changed, it'd overwrite the existing cache on disk with just
that 1 changed file. this change reads the cache from disk and merges it with the new checksums
2021-11-26 21:16:09 +02:00
Georgios Konstantopoulos
e1476a1156
fix: remove redundant cache read ( #627 )
2021-11-26 19:02:18 +02:00
korboismoe
d77068e26a
fix: pass partial artifact cache to project compiler output ( #623 )
...
* fix: pass partial artifact cache to project compiler output
If the cache contains some artifacts but not all, the
project compiler output now contains the cached artifacts
in addition to the newly compiled artifacts.
* chore: update changelog
* fix: remove missing cache files before getting changed files
* fix: propagate error if reading cached artifacts fails
2021-11-26 18:49:19 +02:00
Georgios Konstantopoulos
ca558b08d6
fix(solc): enable sha2 asm for checksum speed ( #626 )
2021-11-26 17:29:19 +02:00
Rohit Narurkar
86522e2b9e
feat: verify checksum before project compilation ( #614 )
...
* feat: verify checksum before project compilation
* fix: in case of a corrupt binary, avoid calling it to check version
* fix: cache releases in the global lazy
* chore: fix linting
* fix: replace a loop with straightforward if
* chore: latest svm
* fix: changes based on review comments
* chore: use published version of svm-rs
* chore: use published version of svm-rs
2021-11-26 12:30:14 +02:00
Georgios Konstantopoulos
bb3a2fd27c
release: 0.6.0 ( #611 )
...
* release(core): 0.6.0
* release(providers): 0.6.0
* release(contract-abigen): 0.6.0
* release(contract-derive): 0.6.0
* release(derive-eip712): 0.2.0
* release(ethers-solc): 0.1.0
* release(contract): 0.6.0
* release(etherscan): 0.2.0
* release(signers): 0.6.0
* release(middleware): 0.6.0
* chore: update dev deps
* refactor(core): move docs to readme
* refactor(contract): move docs to readme
* refactor(providers): move docs to readme
* chore: bump ethers cargo toml
* refactor(signers): move docs to readme
* refactor(middleware): move docs to readme
* fix(ethers): adjust re-exports to allow searching internal packages
* docs: fix broken links
we cannot use relative crate imports because the readmes
are also imported by the parent crate
* alias readmes to be accessible to ethers crate
2021-11-23 21:23:12 +02:00
dependabot[bot]
fb42f043a2
chore(deps): bump futures-util from 0.3.17 to 0.3.18 ( #609 )
...
Bumps [futures-util](https://github.com/rust-lang/futures-rs ) from 0.3.17 to 0.3.18.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.17...0.3.18 )
---
updated-dependencies:
- dependency-name: futures-util
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-11-23 13:23:53 +02:00
Matthias Seitz
cd2c9f6dd1
feat: add cargo change detection support ( #599 )
...
* feat: add cargo change detection support
* chore: allow clippy main
* chore: remove doctest main
2021-11-20 16:47:36 +02:00
Georgios Konstantopoulos
8a3ee415b7
feat(solc): allow specifying solc version even if auto-detect enabled ( #594 )
2021-11-18 15:10:41 +02:00
Georgios Konstantopoulos
b3fed152a4
fix(solc): do not unnecessarily query for solc version ( #586 )
...
The parameter is not used in any useful way currently, and it prevents us from using clean installations of SVM
which do not have an instantiated /Users/gakonst/.svm directory
2021-11-17 01:25:39 +02:00
Matthias Seitz
a50ee2ed46
chore: don't look for remappings on hardhat ( #585 )
2021-11-16 20:43:38 +02:00
Matthias Seitz
1da62d65d2
refactor!: make artifactoutput a trait ( #579 )
...
* feat: add artifacts trait
* add artifactsoutput trait
* deprecated old artifactoutput
* feat: better artifacts handling
* force update
* feat: update metadata artifacts
* feat: add default to types
* feat: make useliteralcontent optional
* feat: replace ProjectCompilerOutput with struct
* docs
* add output function
* feat: add Artifact trait for reading Abi/Bytes from an artifact
* feat(solc): replace () for empty artifacts with a conditional check
As discussed with @mattsse the abstraction here might not be super clean, so we should revisit this if we do not like it
* chore: fix doctest
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2021-11-16 01:29:06 +02:00
Georgios Konstantopoulos
8870aff4b5
feat: add from_str for Remapping ( #583 )
2021-11-14 19:34:32 +01:00
Georgios Konstantopoulos
8f9c47dbdb
feat: auto-detect solc remappings ( #574 )
...
* feat: add remappings detection
* feat: add remappings to compiler settings
* fix: check for error if no contract was compiled
* feat: configure remappings and provide them to compiler settings
* test: check remappings
* chore: clippy lints
* fix: tests (#578 )
* Update ethers-solc/src/remappings.rs
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
2021-11-13 21:31:55 +02:00
Alexey Shekhirin
16c5d33716
bump `ethereum-types`' `impl-serde` to 0.3.2 ( #569 )
...
* bump etherum-types' impl-serde to 0.3.2
* update max solc version
2021-11-10 14:42:50 +02:00
Georgios Konstantopoulos
bfdf70cbea
feat(solc): allow providing --allow-args ( #553 )
...
* feat(solc): allow providing additional arguments
* feat(solc): allow providing --allow-args
* feat: more allow paths integration (#565 )
* feat: more allow paths integration
* Update ethers-solc/src/compile.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* chore: only enable macros if feature is enabled
* test: add tests for multiple libs
* chore: fix solc test
* chore: only pas --allow-paths if there are any paths needed
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
2021-11-08 22:11:45 +02:00
Georgios Konstantopoulos
b61adcfd30
chore(solc): fix flaky integration test
...
When running integration tests, the `cfg(test)` is not triggered, so we
added a `tests` feature in the code. However, we did not include it
in the actual features of the crate, so it was not getting triggered
when the `--all-features` tests were running.
2021-11-05 18:23:47 +00:00
Matthias Seitz
c08f8ba876
fix: failing test and check --all-targets in ci ( #560 )
...
* fix: update failing example
* ci: check all targets
2021-11-05 19:58:03 +02:00
Georgios Konstantopoulos
23fb877c16
feat(solc): Multiple Solc Version detection ( #551 )
...
* test: ensure that compilation succeeds
* feat: add helper for parsing version req from a source
* feat: detect the latest compatible solc version for a VersionReq
* default to always enabling svm/async
* test: add project with multiple contract versions
* fix: always serde-default solc gas estimates
* fix: normalize evm version in settings before compiling
* feat: auto-detect version and compile if svm+async are on
* chore: warnings
* test: add a lock to ensure that there are no file conflicts when downloading solc
* test: add tests for finding solc installations
* chore: add features to ethers-rs config
* chore: s/first/latest on finding solc version fn docs
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
2021-11-03 10:05:09 +02:00
Matthias Seitz
1cb43a3df3
feat: add solc svm find support ( #547 )
...
* feat: add solc svm find support
* feat: add svm install
* feat: add full feature
* make home non wasm32 only
* simplify features
* make compile with wasm target
* fix: doctests
2021-10-31 16:41:36 +02:00
Georgios Konstantopoulos
f0dea75219
feat: use ethers_solc::Solc instead of ethers_core::utils::Solc ( #546 )
...
* feat(ethers-solc): deserialize bytecode as bytes
* feat(ethers-solc): add method to fetch compact contract
* feat(ethers-solc): use Abi type instead of Vec<serde_json::Value>
* test(contract): use new Solc bindings
* test(middleware): use new Solc bindings
* chore: remove solc from ethers-core
* chore: remove concurrent setup code from ethers-core
* feat(ethers-solc): add ArtifactOutput::Nothing as a no-op artifact logger
* feat: add ethers-solc to top level crate
* examples: use new solc building pattern
* chore(solc): re-use opt str impl for error code decoding
* fix abigen example
* chore: fix doctests
* chore: remove setup feature
* fix: decode string to bytes correctly
* chore: clippy lints
2021-10-31 13:34:51 +02:00
Georgios Konstantopoulos
46bedb3282
feat: only compile changed files ( #544 )
2021-10-30 21:27:17 +03:00
Matthias Seitz
5c6ce6b0a1
feat: improved solc management ( #539 )
...
* feat: improved solc management
* test: add basic test
* rustfmt
* rustfmt
* feat: add support for lib paths
* test: add dapp testing data
* feat: support dapp style libs
* fix: doc test
* use SOLC_path by default
* docs: import readme
* feat: add diagnostics
* chore: cleanup
* docs: update compile docs
* style: use red for error msg
* style: simplifiy error format
* chore: add newline on successful compiler run log
* feat: allow ignoring error codes so that they do not get logged
* chore: use solc 0.6.6 to match CI Version
* fix: make constructor public in hardhat tests
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2021-10-30 20:59:44 +03:00
Matthias Seitz
dcf20022c6
chore: add rustfmt.toml ( #537 )
...
* chore: add rustfmt.toml
* rustfmt
* chore: Update readme with fmt info
* ci: update ci
* chore: rustfmt
* rustfmt
* rustfmt
* ci: install libudev
* chore(clippy): make clippy happy
* chore(clippy): make clippy happy
* revert ci
* ci: install libudev
2021-10-29 14:29:35 +02:00
Matthias Seitz
241491a237
feat: add ethers-solc crate ( #522 )
...
* feat: initial draft dedicated solc crate
* feat: add sources helper
* feat: more utility functions
* chore: more ergonomics
* chore: more ergonomics
* rustfmt
* feat: add solc error
* feat: replace eyre with thiserror
* fix: use serde default
* fix: compliant semver
* docs: fix comments
2021-10-26 14:28:10 +03:00