Matthias Seitz
6a86d4ff22
chore(clippy): make clippy happy ( #1659 )
2022-09-04 10:57:52 -07:00
Roman Krasiuk
083054d4fe
serialize viaIR setting ( #1655 )
2022-09-04 10:55:57 -07:00
Matthias Seitz
13a0144aba
fix(solc): use correct model for metadata libraries ( #1648 )
...
* chore: add spells output
* fix(solc): use correct model for metadata libraries
2022-08-30 10:36:58 -07:00
Matthias Seitz
0707270a05
fix(solc): consider case sensitive conflicting artifact paths ( #1625 )
...
* fix(solc): consider case sensitive conflicting artifact paths
* chore: fmt
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-08-20 15:35:56 -07:00
Matthias Seitz
ff754263a3
fix(solc): use cache context when determining artifact files ( #1621 )
...
* fix(solc): use cache context when determining artifact files
* update changelog
2022-08-19 14:33:28 -07:00
Matthias Seitz
6f1d47f3aa
chore(solc): improve file not found error ( #1611 )
2022-08-19 08:36:51 -07:00
Matthias Seitz
bda5a7657f
fix(solc): ensure base-path is not include-path ( #1596 )
2022-08-13 16:12:30 -07:00
Matthias Seitz
ad256997d6
chore(solc): improve io error for bad symlinks ( #1594 )
2022-08-13 14:03:48 -07:00
Matthias Seitz
2c33acb3ad
feat(solc): resolve absolute imports in libraries ( #1590 )
...
* feat(solc): resolve absolute imports in libraries
* feat(solc): support --include-path
* update test
* only add base path if not empty
* simplify solc config
* include root in include paths
* test: add test for absolute imports
* fix: bad predicate
* cleanup
* fix: use base-path directly
* fix: exclude root from include set
2022-08-12 12:11:08 -07:00
Matthias Seitz
6f8dc93fc6
feat(solc): add missing helper functions ( #1592 )
2022-08-11 16:42:52 -07:00
Matthias Seitz
47d3333195
fix(solc): strip .sol suffix ( #1583 )
2022-08-09 14:49:17 -07:00
Matthias Seitz
2f0dbad1fd
feat(solc): add helper to checkout temp projects ( #1581 )
...
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-08-09 09:24:54 -07:00
derch28
64ac7d01ab
solc: fix bug in basic lib and basic contract generation ( #1580 )
2022-08-09 09:21:52 -07:00
Matthias Seitz
0bf9665d98
chore: update max solc version 0.8.16 ( #1578 )
2022-08-08 13:01:29 -07:00
Matthias Seitz
a4ff90a94a
chore(solc): improve remapping errors ( #1570 )
...
* chore(solc): improve remapping errors
* fix: update error names
* chore: rename test
2022-08-05 15:13:54 -07:00
Matthias Seitz
9bf1bcb151
feat(solc): add lib inclusion function ( #1547 )
...
* feat(solc): add lib inclusion function
* chore(clippy): make clippy happy
* chore(clippy): make clippy happy
2022-08-02 11:04:14 -07:00
Matthias Seitz
e62c84d650
fix(solc): convert source paths on windows ( #1540 )
...
* fix(solc): convert source paths on windows
* refactor: slash all paths
* fix: use correct import
* feat: slash compiler output
* add util function
* slash by default
* slash artifact id
* typo
* updat cfg
* unify cfg
* update changelog
2022-08-01 09:47:41 -07:00
Matthias Seitz
e817073f8e
refactor(solc): improve error message for unresolved imports ( #1545 )
...
* refactor(solc): improve error message for unresolved imports
* chore: rustfmt
2022-08-01 09:46:15 -07:00
Matthias Seitz
c75608eda1
ci: rm pinned nightly ( #1541 )
...
* ci: rm pinned nightly
* chore(clippy): make clippy happy
2022-07-31 19:00:31 -07:00
Mark Tyneway
16f686df26
ethers-solc: add immutableReferences output selector ( #1523 )
...
* ethers-solc: add immutableReferences output selector
It is a property on the deployed bytecode object
on the compiler output. This is the precursor for
`forge inspect <contract-name> immutableReferences`.
* chore: update changelog
2022-07-28 11:07:24 -07:00
Matthias Seitz
1d40d4e049
fix(solc): make StorageLayout json parsing lossless ( #1515 )
2022-07-26 08:26:19 -07:00
Matthias Seitz
fb8ebd8231
feat(solc): handle conflicting artifacts properly ( #1491 )
...
* feat(solc): handle conflicting artifacts properly
* refactor(solc): update write extras function
* chore: update CHANGELOG
2022-07-24 14:39:37 -07:00
Matthias Seitz
a600acb4f5
docs: fix broken doc links ( #1497 )
2022-07-24 03:16:55 +02:00
Paul Razvan Berg
d7f656c73a
nit(ethers-solc): set URL to binaries.soliditylang.org ( #1490 )
...
* nit(ethers-solc): set URL to binaries.soliditylang.org
* Use hyperlink in ethers-solc/src/compile/mod.rs
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
2022-07-22 22:26:39 +02:00
Matthias Seitz
cca3fcec93
perf(solc): add iterator function for finding sol files ( #1480 )
2022-07-14 10:57:10 -07:00
Matthias Seitz
ef8d97e05e
fix(solc): serialize metadata as raw string ( #1474 )
2022-07-12 11:28:29 -07:00
Matthias Seitz
958e0902a0
chore(deps): bump paths-slash ( #1462 )
2022-07-06 13:23:33 -07:00
Mark Tyneway
1efdadefc0
ethers-solc: fix build info default directory ( #1458 )
...
* ethers-solc: fix build info default directory
This commit fixes the default behavior for the `build-info`
directory when it is unconfigured. It should end up in
the configured artifacts directory, taking into account
whatever the config for the artifacts directory is.
If the build info is specifically configured, then that
will take precendence over the default.
* chore: add changelog entry
2022-07-06 11:44:47 -07:00
Matthias Seitz
cf1046e1e1
fix(solc): use path slash for remapping display on windows ( #1454 )
2022-07-05 08:54:42 -07:00
Matthias Seitz
3c1de64240
refactor(solc): unify find/remove api ( #1449 )
...
* refactor(solc): unify find/remove api
* fix: update docs
2022-07-04 11:53:49 -07:00
Mark Tyneway
3bafe5b9e4
feat(ethers-solc): configurable build-info output dir ( #1433 )
...
* feat(ethers-solc): configurable build-info output dir
* chore: update changelog
2022-06-30 09:21:46 -07:00
Matthias Seitz
13e67aaa4a
feat(solc): add remove_contract utility function ( #1436 )
2022-06-30 09:19:55 -07:00
Matthias Seitz
9fc55c0aed
fix(solc): apply base path to model checker contracts ( #1437 )
2022-06-30 09:18:32 -07:00
0xYYY
ca34d0c049
feat(solc): add more contract iter helper functions ( #1438 )
2022-06-30 09:17:56 -07:00
Matthias Seitz
9892756ee4
feat(solc): include opcodes in output ( #1435 )
2022-06-30 09:16:47 -07:00
Matthias Seitz
f6eaa7e551
fix: remove 0x bytecode object prefix for CompilerOutput ( #1424 )
...
* fix: remove 0x bytecode object prefix for CompilerOutput
* chore: rustfmt
* chore(clippy): make clippy happy
2022-06-28 15:17:50 -07:00
Matthias Seitz
3d77f44066
feat(solc): add Contract Info structs ( #1407 )
2022-06-22 22:37:39 -04:00
Matthias Seitz
2ebdef68d2
feat!(solc): add additional remove functions ( #1406 )
2022-06-22 13:14:02 -04:00
Matthias Seitz
d09845e0c5
chore(solc): improve checksum error message ( #1394 )
2022-06-20 10:52:16 -07:00
Matthias Seitz
cced79f22b
chore: update latest solc release test ( #1384 )
2022-06-16 09:09:24 -07: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
joshieDo
ea1a87271c
feat(solc): add script/ to project paths ( #1359 )
...
* add script to ProjectPaths
* change default ProjectPaths scripts/ tests/ to script/ test/
* fmt
* chore: ignore ens avatar tests
we know we can decode them properly by this point, they are flaky
because people change their info
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-06-08 05:13:03 -07: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
Bjerg
f56146025a
feat: source map getters for deployed bytecode ( #1348 )
...
* feat: source map getters for deployed bytecode
* fix: borrow checker
2022-06-06 06:42:45 -07:00
Matthias Seitz
85a572c9f6
fix(solc): emit empty vec for empty artifacts ( #1345 )
2022-06-04 11:38:21 -07:00
Matthias Seitz
030488eca5
fix(solc): invalidate cache on unresolve error ( #1337 )
2022-06-02 10:31:02 -07:00
Matthias Seitz
598c00e55d
fix(solc): improve remappings autodetection ( #1335 )
2022-06-01 08:25:27 -07:00
Matthias Seitz
86e5af29e5
fix(solc): remove compile_exact restriction ( #1329 )
2022-05-31 13:28:27 -07:00
Matthias Seitz
8e3529e9b0
fix(solc): emit empty bytecode objects for standalone sol files ( #1327 )
2022-05-31 09:29:25 -07:00
Matthias Seitz
ac0560c252
fix(solc): improve contract metadata bindings ( #1326 )
2022-05-31 09:28:23 -07:00
Matthias Seitz
299329d8f7
chore: remove redundant call ( #1320 )
2022-05-28 12:01:28 -04: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
f874680404
fix(solc): remove viaIR for older versions ( #1304 )
2022-05-23 13:08:19 -07:00
Matthias Seitz
0656ffcec3
feat(solc): install solc io reporter in basic reporter ( #1295 )
2022-05-22 15:20:54 -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
Matthias Seitz
cffcc7bbec
chore(clippy): fix newest nightly lints ( #1298 )
2022-05-22 15:18:57 -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
809ccbc9ad
feat(solc): include id in artifact ( #1284 )
2022-05-19 11:02:31 -07:00
Matthias Seitz
fb39d36697
fix(solc): support constructor user docs ( #1283 )
2022-05-19 11:02:10 -07:00
Matthias Seitz
d77f92519c
chore: bump latest solc release ( #1282 )
2022-05-18 07:49:08 -07:00
Matthias Seitz
4047613259
fix(solc): follow symlinks in source files ( #1277 )
2022-05-17 10:26:51 -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
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
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
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
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
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
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