Commit Graph

10 Commits

Author SHA1 Message Date
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
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
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 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