signatureToCompactSignature
Converts a Signature to a CompactSignature (EIP-2098)
Loading...
Converts a Signature to a CompactSignature (EIP-2098)
Converts a regular Signature to a CompactSignature (EIP-2098) format.
import "github.com/ChefBingbong/viem-go/utils/signature"import "github.com/ChefBingbong/viem-go/utils/signature"
sig := &signature.Signature{ R: "0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90", S: "0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064", YParity: 0,}
compact, err := signature.SignatureToCompactSignature(sig)if err != nil { log.Fatal(err)}
fmt.Printf("R: %s", compact.R)// R: 0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90
fmt.Printf("YParityAndS: %s", compact.YParityAndS)// YParityAndS: 0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064(*signature.CompactSignature, error)A compact signature with R and YParityAndS components.
*signature.SignatureThe signature struct containing R, S, V, and YParity components.
sig := &signature.Signature{ R: "0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90", S: "0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064", YParity: 0,}
compact, _ := signature.SignatureToCompactSignature(sig)This function:
YParity field or derives it from VCompactSignature with R and YParityAndS