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
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
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
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
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