Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Relates to:
N/A
Risks
Low.
Main implementation risk is that the Plugin doesn't work correctly.
Background
What does this PR do?
ZKsync Era is one of the most established ZK rollups on Ethereum. This PR implements a plugin for agents to be able to interact with Era.
In this first version, only the
transfer
function is supported. Further work will extend this functionality.Many more L2s are being build w/ the ZK Stack (the open source framework used to build ZKsync Era), and this work can be extended/modified to support these as they come online.
What kind of change is this?
Features (non-breaking change which adds functionality)
Why are we doing this? Any context or related work?
We're seeing a huge proliferation of AI agents being able to manage value on-chain. This is similar conceptually to these plugins (e.g.
plugin-solana
and others)Documentation changes needed?
This plugin follows the standards set by other crypto integrations, including things like the
SEND_TOKENS
action. Changes to the overall project documentation don't seem to be required.Testing
Where should a reviewer start?
Most of the changes are in
plugin-zksync-era
Detailed testing steps
.env
you should set the value forZKSYNC_ADDRESS
(this is the public address for the agent account) andZKSYNC_PRIVATE_KEY
(private key for the same account).Transfer completed successfully! "tx: 0x45759cf3e76d26610154a094c87572fbd7f5ef909f62c4ea13f7defb0d87cf0b"
Discord username
anthonykrose