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