Commit Graph

70 Commits

Author SHA1 Message Date
wiasliaw.eth 7511d22c2f
extend model checker options (#2147)
* refactor(ethers-solc): reorder the sanitized

* feat(ethers-solc): feat divModWithSlacks, showUnproved and solvers
2023-02-13 17:09:40 -08:00
Matthias Seitz c7547cb1d5
perf(solc): wrap source content in Arc (#2138) 2023-02-10 16:17:11 -08:00
wiasliaw.eth 060e145ea2
feat(ethers-solc): extend model checker setting field (#2123) 2023-02-10 11:51:01 -08:00
Matthias Seitz f86bc2483f
feat(solc): support emitting bytecode as extra files (#2074) 2023-01-27 13:15:03 -05:00
Georgios Konstantopoulos f2099a8eaa
chore: fix clippy (#2059) 2023-01-16 18:11:27 -08:00
DaniPopes c5ff733702
chore: clippy (#1990)
* chore: clippy

* chore: clippy
2022-12-30 14:19:41 +02:00
Matthias Seitz 8a5b3cc6c9
fix: reexport SourceLocation (#1971) 2022-12-23 14:58:02 +02:00
Matthias Seitz 612cce016c
fix: reexport some ast types again (#1968) 2022-12-23 12:37:23 +02:00
Matthias Seitz 04e0092adf
revert: Ast Artifact (#1966) 2022-12-22 18:22:11 +02:00
Franfran d553111906
fix: rebase to master for onbjerg's ast (#1943) 2022-12-22 15:22:57 +02:00
Matthias Seitz 3dfc04f9fe
chore(clippy): make clippy happy (#1923) 2022-12-05 22:05:33 -08:00
Jared Tokuz b06452c6ea
feat: warnings as errors (#1838)
* feat: warnings as errors

* changed the bool arg to Severity and updated its traits

* reformat the test based on the linter

* renamed variable based on property type change and changed a few refs

* updated changelog

* revert changelog iden change

* added test for combining compiler severity filter and ignored error codes and adjusted has error for the added test case

* adjusted has_error to utilize ge functionality in case of info errors

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-11-10 12:19:43 -08:00
Matthias Seitz e37a34cba6
chore(solc): always use sync sources reading (#1667) 2022-11-08 15:08:41 -08:00
DaniPopes debd6fec3d
chore: clippy (#1812)
* chore: clippy

* fmt
2022-11-07 15:43:11 -08:00
Matthias Seitz a9dd53da81
fix(solc): emit empty node vec (#1793) 2022-10-17 10:27:42 -07:00
Leo 2c28fa47e7
Add option to disable CBOR metadata in bytecode. (#1782) 2022-10-13 14:57:03 -07:00
Matthias Seitz d8791482d5
fix(solc): use empty bytecode as default instead unlinked (#1743)
* fix(solc): use empty bytecode as default instead unlinked

* chore: fmt

Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
2022-09-26 10:35:19 -07:00
Roman Krasiuk df6f3d7f1e
omit (#1686) 2022-09-11 14:15:07 -07:00
Matthias Seitz fca8f997fa
fix(solc): via-ir should be optional (#1664) 2022-09-04 14:36:31 -07:00
Matthias Seitz e425b55c92
chore(solc): replace colorized with yansi (#1662) 2022-09-04 11:00:11 -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
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 ef8d97e05e
fix(solc): serialize metadata as raw string (#1474) 2022-07-12 11:28:29 -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
Matthias Seitz 9fc55c0aed
fix(solc): apply base path to model checker contracts (#1437) 2022-06-30 09:18:32 -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 2ebdef68d2
feat!(solc): add additional remove functions (#1406) 2022-06-22 13:14:02 -04:00
Matthias Seitz e3389f336a
feat(solc): emit build info files if configured (#1338)
* feat(solc): emit build info files if configured

* feat: add content hashing
2022-06-15 12:44:20 -07:00
Matthias Seitz 980649060a
feat(solc): emit additional raw metadata field (#1365)
* feat(solc): emit additional raw metadata field

* chore: update CHANGELOG

* test: updata test

* fix(solc): proper metadata deserialization
2022-06-10 16:49:19 +03:00
0xYYY 5ee4092bd3
fix(solc): fix fields for `UserDoc` and `DevDoc` (#1355)
* fix(solc): fix fields for UserDoc and DevDoc

* solc: unify userdoc notice fields
2022-06-08 03:30:41 -07:00
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 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 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 f874680404
fix(solc): remove viaIR for older versions (#1304) 2022-05-23 13:08:19 -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 fb39d36697
fix(solc): support constructor user docs (#1283) 2022-05-19 11:02:10 -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
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 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
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 8dd72723d1
feat: add minimal ast bindings (#1167)
* feat: add minimal ast bindings

* feat: add recursive nodes
2022-04-23 02:20:46 -07:00
Matthias Seitz f4eb4029b4
chore(solc): include error code in diagnostic (#1171) 2022-04-23 01:41:13 -07:00