Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Adding EIP-712 Transaction support #142

Closed
dutterbutter opened this issue Jan 22, 2024 · 2 comments
Closed

[Feature] Adding EIP-712 Transaction support #142

dutterbutter opened this issue Jan 22, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@dutterbutter
Copy link

dutterbutter commented Jan 22, 2024

Component

consensus, eips, genesis

Describe the feature you would like

Objective

Enhance Alloy to support EIP-712 transactions, enabling account abstraction / deployment for zkSync users that want to make use of alloy for their projects and tooling. In order to do so, alloy would need to support 712-transactions. Example:

pub struct Eip712Transaction {
    pub tx_type: U256,
    pub from: Address,
    pub to: Address,
    pub gas_limit: U256,
    pub gas_per_pubdata_byte_limit: U256,
    pub max_fee_per_gas: U256,
    pub max_priority_fee_per_gas: U256,
    pub paymaster: Address,
    pub nonce: U256,
    pub value: U256,
    pub data: Bytes,
    pub factory_deps: Vec<Bytes>,
    pub paymaster_input: Bytes,
    pub chain_id: U256,
}

Additional context

Resources

There is an initial implementation in zkSync rust-web3-rs sdk of 712-transactions which can be viewed here: 712-tx. It would be great to be able to extend alloy to include this functionality / support.

@dutterbutter dutterbutter added the enhancement New feature or request label Jan 22, 2024
@prestwich
Copy link
Member

This sort of functionality should be added as ProviderExt traits in separate crates, similar to #84

@prestwich prestwich closed this as not planned Won't fix, can't repro, duplicate, stale Jan 23, 2024
@nbaztec
Copy link

nbaztec commented Sep 30, 2024

@prestwich is there an existing implementation that we can use as an example?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants