verifyTypedData
Verifies if a signed typed data was generated by the provided address
Loading...
Verifies if a signed typed data was generated by the provided address
Verifies that typed data was signed by the provided address.
import "github.com/ChefBingbong/viem-go/utils/signature"import "math/big"import "github.com/ChefBingbong/viem-go/utils/signature"import "math/big"
typedData := signature.TypedDataDefinition{ Domain: signature.TypedDataDomain{ Name: "My App", Version: "1", ChainId: big.NewInt(1), }, Types: map[string][]signature.TypedDataField{ "Message": { {Name: "content", Type: "string"}, }, }, PrimaryType: "Message", Message: map[string]any{ "content": "Hello!", },}
valid, err := signature.VerifyTypedData( "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", typedData, "0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db81c",)if err != nil { log.Fatal(err)}fmt.Printf("Valid: %v", valid)(bool, error)true if the provided address generated the signature, false otherwise.
stringThe Ethereum address that signed the original typed data.
valid, _ := signature.VerifyTypedData( "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", typedData, sig,)signature.TypedDataDefinitionThe typed data definition that was signed. Must match exactly what was signed.
typedData := signature.TypedDataDefinition{ Domain: signature.TypedDataDomain{ Name: "My App", Version: "1", ChainId: big.NewInt(1), }, Types: map[string][]signature.TypedDataField{ "Message": { {Name: "content", Type: "string"}, }, }, PrimaryType: "Message", Message: map[string]any{ "content": "Hello!", },}
valid, _ := signature.VerifyTypedData(address, typedData, sig)any (supports string, []byte, or *signature.Signature)The signature that was generated by signing the typed data with the address's private key.
valid, _ := signature.VerifyTypedData(address, typedData, "0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db81c")This function:
RecoverTypedDataAddresstrue if they match, false otherwise