parseCompactSignature
Parses a hex formatted compact signature (EIP-2098) into a structured CompactSignature
Loading...
Parses a hex formatted compact signature (EIP-2098) into a structured CompactSignature
Parses a hex formatted compact signature (EIP-2098) into a structured CompactSignature with R and YParityAndS components.
import "github.com/ChefBingbong/viem-go/utils/signature"import "github.com/ChefBingbong/viem-go/utils/signature"
sig, err := signature.ParseCompactSignature( "0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b907e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064",)if err != nil { log.Fatal(err)}
fmt.Printf("R: %s", sig.R)// R: 0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90
fmt.Printf("YParityAndS: %s", sig.YParityAndS)// YParityAndS: 0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064(*signature.CompactSignature, error)A structured compact signature with R and YParityAndS fields.
stringThe hex formatted compact signature string. Must be 64 bytes (128 hex characters with 0x prefix).
sig, _ := signature.ParseCompactSignature( "0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b907e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064",)The parsed compact signature contains:
Parses a hex compact signature string:
sig, _ := signature.ParseCompactSignature("0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b907e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064")
Parses a 64-byte compact signature:
sig, _ := signature.ParseCompactSignatureBytes([]byte{0x68, 0xa0, ...})
The compact signature format is:
This reduces the signature size from 65 bytes to 64 bytes.