From ce534fc003ab548818af1b46163028d06a5e42ae Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Fri, 18 Oct 2024 13:22:56 -0400 Subject: [PATCH] feat: create 6492 signature --- src/create.rs | 16 ++++++++++++++++ src/lib.rs | 2 ++ 2 files changed, 18 insertions(+) create mode 100644 src/create.rs diff --git a/src/create.rs b/src/create.rs new file mode 100644 index 0000000..8f0b239 --- /dev/null +++ b/src/create.rs @@ -0,0 +1,16 @@ +use alloy::{ + primitives::{b256, Address, Bytes, B256}, + sol_types::SolValue, +}; + +pub const ERC6492_MAGIC_BYTES: B256 = + b256!("6492649264926492649264926492649264926492649264926492649264926492"); + +pub fn create_erc6492_signature(factory: Address, factory_data: Bytes, signature: Bytes) -> Bytes { + ( + (factory, factory_data, signature).abi_encode_params(), + ERC6492_MAGIC_BYTES, + ) + .abi_encode_packed() + .into() +} diff --git a/src/lib.rs b/src/lib.rs index 4e02107..6748ed9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -7,6 +7,8 @@ use alloy::{ transports::{Transport, TransportErrorKind}, }; +pub mod create; + const SUCCESS_RESULT: u8 = 0x01; sol! { contract ValidateSigOffchain {