serializeErc6492Signature
Serializes an ERC-6492 flavored signature into hex format
Loading...
Serializes an ERC-6492 flavored signature into hex format
Serializes an ERC-6492 flavored signature into hex format. Used for counterfactual contract account verification.
import "github.com/ChefBingbong/viem-go/utils/signature"import "github.com/ChefBingbong/viem-go/utils/signature"
hex, err := signature.SerializeErc6492Signature(signature.SerializeErc6492SignatureParams{ Address: "0xCAFEBABECAFEBABECAFEBABECAFEBABECAFEBABE", Data: "0xdeadbeef", Signature: "0xa461f509887bd19e312c0c58467ce8ff8e300d3c1a90b608a760c5b80318eaf15fe57c96f9175d6cd4daad4663763baa7e78836e067d0163e9a2ccf2ff753f5b1b",})if err != nil { log.Fatal(err)}fmt.Printf("ERC-6492 Signature: %s", hex)
// Serialize to bytessigBytes, _ := signature.SerializeErc6492SignatureBytes(signature.SerializeErc6492SignatureParams{ Address: "0xCAFEBABECAFEBABECAFEBABECAFEBABECAFEBABE", Data: "0xdeadbeef", Signature: "0xa461f509887bd19e312c0c58467ce8ff8e300d3c1a90b608a760c5b80318eaf15fe57c96f9175d6cd4daad4663763baa7e78836e067d0163e9a2ccf2ff753f5b1b",})// []byte{...}(string, error) for SerializeErc6492Signature, ([]byte, error) for SerializeErc6492SignatureBytesThe serialized ERC-6492 signature. SerializeErc6492Signature returns a hex string with 0x prefix, SerializeErc6492SignatureBytes returns raw bytes.
signature.SerializeErc6492SignatureParamsParameters for serializing the ERC-6492 signature.
hex, _ := signature.SerializeErc6492Signature(signature.SerializeErc6492SignatureParams{ Address: "0xCAFEBABECAFEBABECAFEBABECAFEBABECAFEBABE", Data: "0xdeadbeef", Signature: "0xa461f509887bd19e312c0c58467ce8ff8e300d3c1a90b608a760c5b80318eaf15fe57c96f9175d6cd4daad4663763baa7e78836e067d0163e9a2ccf2ff753f5b1b",})stringThe ERC-4337 Account Factory address to use for counterfactual verification.
params := signature.SerializeErc6492SignatureParams{ Address: "0xCAFEBABECAFEBABECAFEBABECAFEBABECAFEBABE", // ...}stringThe calldata to pass to deploy account (if not deployed).
params := signature.SerializeErc6492SignatureParams{ Data: "0xdeadbeef", // ...}stringThe original signature.
params := signature.SerializeErc6492SignatureParams{ Signature: "0xa461f509887bd19e312c0c58467ce8ff8e300d3c1a90b608a760c5b80318eaf15fe57c96f9175d6cd4daad4663763baa7e78836e067d0163e9a2ccf2ff753f5b1b", // ...}Serializes an ERC-6492 signature to a hex string:
hex, _ := signature.SerializeErc6492Signature(params)
Serializes an ERC-6492 signature to bytes:
sigBytes, _ := signature.SerializeErc6492SignatureBytes(params)
The ERC-6492 signature format is:
abi.encode(factoryAddress, factoryData, originalSignature) + magicBytes
Where magicBytes is 0x6492649264926492649264926492649264926492649264926492649264926492.