Crates.io | alloy-zksync |
lib.rs | alloy-zksync |
version | 0.6.1 |
source | src |
created_at | 2024-10-08 07:54:22.001103 |
updated_at | 2024-12-04 12:25:27.228731 |
description | ZKsync network implementation for alloy |
homepage | |
repository | |
max_upload_size | |
id | 1400874 |
size | 326,918 |
This crate provides implementation of the ZKsync network support for the alloy ecosystem.
[!WARNING]
This crate is under heavy development and is not suitable for production use. For now, it's being maintained as a personal pet project and not something maintained by Matter Labs.Functionality is lacking. Tests are lacking. PRs are appreciated.
The main part of this crate is Zksync
network
implementation, which makes it possible to use all of the alloy
functionality in L1-compatible way.
Where possible, all the technicalities (including, for example, signing EIP712 transactions) are hidden under the hood, so that interfaces remain unchanged. In some cases, it means that some magic happens under the hood (one example is that user doesn't have to manually specify the contract deployer address in deploy transactions).
Where existing interfaces cannot be used (for example, adding factory dependencies to deployment, or specifying
paymaster parameters),
the functionality is added in a way that is aligned with overall alloy
design, either as methods on the types
specific to the Zksync
network, or via extension traits (in case of Provider
, for example).
Similarly to anvil
bindings, alloy-zksync
provides bindings for
era-test-node.
For usage, the best reference currently is examples:
zks
namespace)Parts of the codebase for this repository were based on the zksync-web3-rs crate by LambdaClass, as well as alloy codebase.
alloy-zksync is distributed under the terms of either
at your option.