compactSignatureToSignature
Converts a CompactSignature back to a regular Signature
Loading...
Converts a CompactSignature back to a regular Signature
Converts a CompactSignature (EIP-2098) back to a regular Signature with separate R, S, V, and YParity components.
import "github.com/ChefBingbong/viem-go/utils/signature"import "github.com/ChefBingbong/viem-go/utils/signature"
compact := &signature.CompactSignature{ R: "0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90", YParityAndS: "0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064",}
sig, err := signature.CompactSignatureToSignature(compact)if err != nil { log.Fatal(err)}
fmt.Printf("R: %s", sig.R)// R: 0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90
fmt.Printf("S: %s", sig.S)// S: 0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064
fmt.Printf("YParity: %d", sig.YParity)// YParity: 0(*signature.Signature, error)A regular signature with R, S, V, and YParity components.
*signature.CompactSignatureThe compact signature struct containing R and YParityAndS components.
compact := &signature.CompactSignature{ R: "0x68a020a209d3d56c46f38cc50a33f704f4a9a10a59377f8dd762ac66910e9b90", YParityAndS: "0x7e865ad05c4035ab5792787d4a0297a43617ae897930a6fe4d822b8faea52064",}
sig, _ := signature.CompactSignatureToSignature(compact)This function:
YParityAndSSignature with R, S, YParity, and V (derived from yParity)YParityAndSV value is set to 27 (yParity=0) or 28 (yParity=1) for compatibility