* Add ENS avatar resolution
As well as arbitrary fields.
* Use try_join
* Improve reqwest's error passing
* Split avatar resolution in ERC token parsing and resolution
* no_run examples
* Rename token to NFT
* A bit more documentation
* Nightly cargo fmt
* Use different ERC-721 test
* Update CHANGELOG
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* feat: add getter to `ProjectCompileOutput`
Add a function `compiled_contracts_by_compiler_version`
to the `ProjectCompileOutput` that returns a `BTreeMap`
that maps the compiler version to a vector of the contract
names and contract structs.
* changelog: update
* chore(solc): remove &mut
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* feat(ethers-contract): add `send_with_receipt` to `Deployer`
The `Deployer` is used to deploy contracts and its `send`
function returns an attached instance of a `Contract`.
There is no way to know the transaction hash of the
deployment transaction, so this commit adds another
method `send_with_receipt` that returns an attached
`Contract` as well as a `TransactionReceipt`.
* changelog: update
* tests: call `send_with_receipt` in tests
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* Public function added "initialize_nonce"
Initialize the nonce manager with the current nonce
* Update CHANGELOG.md
* return generic
* Added current nonce as return value
Will now compile.
* Load nonce to return, fixes compile.
* chore: fmt
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
The U256 priority fees were being coerced into u32, which was not big
enough for actual values. The overflow was happening but not checked.
This led to a possible divide-by-zero panic in this code as well.
This change does the math as I256 -- overkill, but it works.
* Added basic and bearer authentication for http and websocket transport
* Improved api for websocket `connect_with_auth`
* Bugfix in doc
* Moved use statement into non-wasm imports
* Adapted changelog
* Fixed doc test
* Added constructors for Authorization
* Improved code quality and implemented feedback
* Made bas64 crate for basic auth encoding non-optional
* Added `Display` for `Authorization` instead of `into_auth_string`
* 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
* docs: document public functions
* add mod
* feat(solc): add dependency graph
* detect version
* add into sources
* fix: canonicalize temp paths
* test: add graph tests
* chore(clippy): make clippy happy
* more wasm compat
* chore: update changelog
* wasm compat
* unused
* fix get source fill function
* Update ethers-solc/src/resolver.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* perf: use solang_parser to trim down deps
* resolve graph in compile
* refactor add node function
* docs: clear up comment
* docs: typos
* fix: make all versions unique based on their major minor path version
* prepare test
* docs: add more resolve docs
* test: add lib change detection test
* test: update tests
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com>
* fix: do not panic on invalid units conversion
This is done by switching the From implementations to TryFrom and
making the conversion functions return a thiserror Error instead of
the previous Boxed error object
* chore: update changelog
* feature: set nonce in fill transaction
* chore: update changelog
* refactor: remove nonce_setting in fill_transaction
* refactor: set nonce in send_escalating
* Add dev-rpc middleware
* Dont run dev-rpc tests with celo
* providers: clean up match statement
* providers: fix clippy lint
* doc(providers) doctest and changelog for DevRpcMiddleware
* fix: pass partial artifact cache to project compiler output
If the cache contains some artifacts but not all, the
project compiler output now contains the cached artifacts
in addition to the newly compiled artifacts.
* chore: update changelog
* fix: remove missing cache files before getting changed files
* fix: propagate error if reading cached artifacts fails
* fix: unit8 encoding
* feat: use ethers::types::Bytes for solidity bytes type
* feat: add const generic from impls
* fix: failing tests
* fix: make compatible with bytes
* update changelog
* make compatible with encoding changes
* chore rm write to file