@tevm/voltaire / primitives/Signature
primitives/Signature
Classes
InvalidAlgorithmError
Defined in: src/primitives/Signature/errors.js:103 Error for invalid signature algorithmExample
Extends
Constructors
Constructor
new InvalidAlgorithmError(Defined in: src/primitives/Signature/errors.js:114message,options?):InvalidAlgorithmError
Parameters
message
string
options?
cause?
Error
code?
string
context?
Record<string, unknown>
docsPath?
string
expected?
string
value?
unknown
Returns
InvalidAlgorithmError
Overrides
InvalidSignatureError.constructor
Properties
cause?
Defined in: src/primitives/errors/AbstractError.ts:56 Root cause of this error (for error chaining)optionalcause:Error
Inherited from
InvalidSignatureError.cause
code
code: string
Defined in: src/primitives/errors/AbstractError.ts:39
Machine-readable error code for programmatic handling
Example
Inherited from
InvalidSignatureError.code
context?
Defined in: src/primitives/errors/AbstractError.ts:45 Additional context metadata for debuggingoptionalcontext:Record<string,unknown>
Example
Inherited from
InvalidSignatureError.context
docsPath?
Defined in: src/primitives/errors/AbstractError.ts:51 Path to documentation for this erroroptionaldocsPath:string
Example
Inherited from
InvalidSignatureError.docsPath
name
name: string
Defined in: src/primitives/Signature/errors.js:125
Inherited from
InvalidSignatureError.name
Methods
getErrorChain()
getErrorChain(): string
Defined in: src/primitives/errors/AbstractError.ts:94
Get full error chain as string for logging
Returns
string
Inherited from
InvalidSignatureError.getErrorChain
toJSON()
toJSON():Defined in: src/primitives/errors/AbstractError.ts:110 Serialize error to JSON for logging/telemetryRecord<string,unknown>
Returns
Record<string, unknown>
Inherited from
InvalidSignatureError.toJSON
InvalidDERError
Defined in: src/primitives/Signature/errors.js:187 Error for invalid DER encodingExample
Extends
Constructors
Constructor
new InvalidDERError(Defined in: src/primitives/Signature/errors.js:198message,options?):InvalidDERError
Parameters
message
string
options?
cause?
Error
code?
string
context?
Record<string, unknown>
docsPath?
string
expected?
string
value?
unknown
Returns
InvalidDERError
Overrides
InvalidFormatError.constructor
Properties
cause?
Defined in: src/primitives/errors/AbstractError.ts:56 Root cause of this error (for error chaining)optionalcause:Error
Inherited from
InvalidFormatError.cause
code
code: string
Defined in: src/primitives/errors/AbstractError.ts:39
Machine-readable error code for programmatic handling
Example
Inherited from
InvalidFormatError.code
context?
Defined in: src/primitives/errors/AbstractError.ts:45 Additional context metadata for debuggingoptionalcontext:Record<string,unknown>
Example
Inherited from
InvalidFormatError.context
docsPath?
Defined in: src/primitives/errors/AbstractError.ts:51 Path to documentation for this erroroptionaldocsPath:string
Example
Inherited from
InvalidFormatError.docsPath
expected
expected: string
Defined in: src/primitives/errors/ValidationError.ts:19
Inherited from
InvalidFormatError.expected
name
name: string
Defined in: src/primitives/Signature/errors.js:208
Inherited from
InvalidFormatError.name
value
value: unknown
Defined in: src/primitives/errors/ValidationError.ts:18
Inherited from
InvalidFormatError.value
Methods
getErrorChain()
getErrorChain(): string
Defined in: src/primitives/errors/AbstractError.ts:94
Get full error chain as string for logging
Returns
string
Inherited from
InvalidFormatError.getErrorChain
toJSON()
toJSON():Defined in: src/primitives/errors/AbstractError.ts:110 Serialize error to JSON for logging/telemetryRecord<string,unknown>
Returns
Record<string, unknown>
Inherited from
InvalidFormatError.toJSON
InvalidSignatureFormatError
Defined in: src/primitives/Signature/errors.js:63 Error for invalid signature formatExample
Extends
Constructors
Constructor
new InvalidSignatureFormatError(Defined in: src/primitives/Signature/errors.js:74message,options?):InvalidSignatureFormatError
Parameters
message
string
options?
cause?
Error
code?
string
context?
Record<string, unknown>
docsPath?
string
expected?
string
value?
unknown
Returns
InvalidSignatureFormatError
Overrides
InvalidFormatError.constructor
Properties
cause?
Defined in: src/primitives/errors/AbstractError.ts:56 Root cause of this error (for error chaining)optionalcause:Error
Inherited from
InvalidFormatError.cause
code
code: string
Defined in: src/primitives/errors/AbstractError.ts:39
Machine-readable error code for programmatic handling
Example
Inherited from
InvalidFormatError.code
context?
Defined in: src/primitives/errors/AbstractError.ts:45 Additional context metadata for debuggingoptionalcontext:Record<string,unknown>
Example
Inherited from
InvalidFormatError.context
docsPath?
Defined in: src/primitives/errors/AbstractError.ts:51 Path to documentation for this erroroptionaldocsPath:string
Example
Inherited from
InvalidFormatError.docsPath
expected
expected: string
Defined in: src/primitives/errors/ValidationError.ts:19
Inherited from
InvalidFormatError.expected
name
name: string
Defined in: src/primitives/Signature/errors.js:83
Inherited from
InvalidFormatError.name
value
value: unknown
Defined in: src/primitives/errors/ValidationError.ts:18
Inherited from
InvalidFormatError.value
Methods
getErrorChain()
getErrorChain(): string
Defined in: src/primitives/errors/AbstractError.ts:94
Get full error chain as string for logging
Returns
string
Inherited from
InvalidFormatError.getErrorChain
toJSON()
toJSON():Defined in: src/primitives/errors/AbstractError.ts:110 Serialize error to JSON for logging/telemetryRecord<string,unknown>
Returns
Record<string, unknown>
Inherited from
InvalidFormatError.toJSON
InvalidSignatureLengthError
Defined in: src/primitives/Signature/errors.js:23 Error for invalid signature lengthExample
Extends
Constructors
Constructor
new InvalidSignatureLengthError(Defined in: src/primitives/Signature/errors.js:34message,options?):InvalidSignatureLengthError
Parameters
message
string
options?
cause?
Error
code?
string
context?
Record<string, unknown>
docsPath?
string
expected?
string
value?
unknown
Returns
InvalidSignatureLengthError
Overrides
InvalidLengthError.constructor
Properties
cause?
Defined in: src/primitives/errors/AbstractError.ts:56 Root cause of this error (for error chaining)optionalcause:Error
Inherited from
InvalidLengthError.cause
code
code: string
Defined in: src/primitives/errors/AbstractError.ts:39
Machine-readable error code for programmatic handling
Example
Inherited from
InvalidLengthError.code
context?
Defined in: src/primitives/errors/AbstractError.ts:45 Additional context metadata for debuggingoptionalcontext:Record<string,unknown>
Example
Inherited from
InvalidLengthError.context
docsPath?
Defined in: src/primitives/errors/AbstractError.ts:51 Path to documentation for this erroroptionaldocsPath:string
Example
Inherited from
InvalidLengthError.docsPath
expected
expected: string
Defined in: src/primitives/errors/ValidationError.ts:19
Inherited from
InvalidLengthError.expected
name
name: string
Defined in: src/primitives/Signature/errors.js:43
Inherited from
InvalidLengthError.name
value
value: unknown
Defined in: src/primitives/errors/ValidationError.ts:18
Inherited from
InvalidLengthError.value
Methods
getErrorChain()
getErrorChain(): string
Defined in: src/primitives/errors/AbstractError.ts:94
Get full error chain as string for logging
Returns
string
Inherited from
InvalidLengthError.getErrorChain
toJSON()
toJSON():Defined in: src/primitives/errors/AbstractError.ts:110 Serialize error to JSON for logging/telemetryRecord<string,unknown>
Returns
Record<string, unknown>
Inherited from
InvalidLengthError.toJSON
NonCanonicalSignatureError
Defined in: src/primitives/Signature/errors.js:145 Error for non-canonical signatureExample
Extends
Constructors
Constructor
new NonCanonicalSignatureError(Defined in: src/primitives/Signature/errors.js:156message,options?):NonCanonicalSignatureError
Parameters
message
string
options?
cause?
Error
code?
string
context?
Record<string, unknown>
docsPath?
string
expected?
string
value?
unknown
Returns
NonCanonicalSignatureError
Overrides
InvalidSignatureError.constructor
Properties
cause?
Defined in: src/primitives/errors/AbstractError.ts:56 Root cause of this error (for error chaining)optionalcause:Error
Inherited from
InvalidSignatureError.cause
code
code: string
Defined in: src/primitives/errors/AbstractError.ts:39
Machine-readable error code for programmatic handling
Example
Inherited from
InvalidSignatureError.code
context?
Defined in: src/primitives/errors/AbstractError.ts:45 Additional context metadata for debuggingoptionalcontext:Record<string,unknown>
Example
Inherited from
InvalidSignatureError.context
docsPath?
Defined in: src/primitives/errors/AbstractError.ts:51 Path to documentation for this erroroptionaldocsPath:string
Example
Inherited from
InvalidSignatureError.docsPath
name
name: string
Defined in: src/primitives/Signature/errors.js:167
Inherited from
InvalidSignatureError.name
Methods
getErrorChain()
getErrorChain(): string
Defined in: src/primitives/errors/AbstractError.ts:94
Get full error chain as string for logging
Returns
string
Inherited from
InvalidSignatureError.getErrorChain
toJSON()
toJSON():Defined in: src/primitives/errors/AbstractError.ts:110 Serialize error to JSON for logging/telemetryRecord<string,unknown>
Returns
Record<string, unknown>
Inherited from
InvalidSignatureError.toJSON
Type Aliases
SignatureAlgorithm
SignatureAlgorithm =Defined in: src/primitives/Signature/SignatureType.ts:6 Algorithm types supported by the Signature primitive"secp256k1"|"p256"|"ed25519"
SignatureType
SignatureType =Defined in: src/primitives/Signature/SignatureType.ts:17 Unified signature type with algorithm tagging Structure:Uint8Array&object
- For ECDSA (secp256k1, p256): r (32 bytes) + s (32 bytes) + optional v (1 byte for secp256k1)
- For Ed25519: signature (64 bytes)
Type Declaration
[brand]
readonly[brand]:"Signature"
algorithm
readonlyalgorithm:SignatureAlgorithm
v?
readonlyoptionalv:number
Variables
COMPONENT_SIZE
Defined in: src/primitives/Signature/constants.js:15 Size of r or s component in bytesconstCOMPONENT_SIZE:32=32
ECDSA_SIZE
Defined in: src/primitives/Signature/constants.js:6 Size of ECDSA signature (r + s) in bytesconstECDSA_SIZE:64=64
ECDSA_WITH_V_SIZE
Defined in: src/primitives/Signature/constants.js:9 Size of ECDSA signature with recovery ID (r + s + v) in bytesconstECDSA_WITH_V_SIZE:65=65
ED25519_SIZE
Defined in: src/primitives/Signature/constants.js:12 Size of Ed25519 signature in bytesconstED25519_SIZE:64=64
RECOVERY_ID_MAX
Defined in: src/primitives/Signature/constants.js:19constRECOVERY_ID_MAX:28=28
RECOVERY_ID_MIN
Defined in: src/primitives/Signature/constants.js:18 Ethereum recovery ID valuesconstRECOVERY_ID_MIN:27=27
Signature
Defined in: src/primitives/Signature/index.ts:69constSignature:object
Type Declaration
equals()
equals: (Check if two signatures are equala,b) =>boolean
Parameters
a
SignatureType
First signature
b
SignatureType
Second signature
Returns
boolean
True if signatures are equal
Example
from()
from: (Create Signature from various input types (universal constructor)value) =>SignatureType
Parameters
value
Signature dataUint8Array<ArrayBufferLike> | { algorithm?: SignatureAlgorithm; r: Uint8Array; s: Uint8Array; v?: number; } | { algorithm: "ed25519"; signature: Uint8Array; }
Returns
SignatureType
Signature
Throws
If value format is unsupported or invalidThrows
If signature length is invalidExample
fromBytes()
fromBytes: (Create Signature from raw bytes Wrapper around fromCompact with clearer semantics for byte input. Formats supported:bytes,algorithmOrV?) =>SignatureType
- 64 bytes: ECDSA r+s (with optional EIP-2098 yParity in bit 255) or Ed25519 signature
- 65 bytes: ECDSA r+s+v (secp256k1 only)
Parameters
bytes
Uint8Array<ArrayBufferLike>
Signature bytes
algorithmOrV?
Algorithm or explicit v valuenumber | SignatureAlgorithm
Returns
SignatureType
Signature
Throws
If bytes length is invalidExample
fromCompact()
fromCompact: (Create Signature from compact format (EIP-2098: supports yParity in bit 255 of s)bytes,algorithmOrV) =>SignatureType
Parameters
bytes
Uint8Array<ArrayBufferLike>
Compact signature bytes (64 or 65 bytes)
algorithmOrV
Algorithm or explicit v valuenumber | SignatureAlgorithm
Returns
SignatureType
Signature
Throws
If bytes length is invalidExample
fromDER()
fromDER: (Create Signature from DER-encoded ECDSA signatureder,algorithm,v?) =>SignatureType
Parameters
der
Uint8Array<ArrayBufferLike>
DER-encoded signature
algorithm
SignatureAlgorithm
Algorithm (secp256k1 or p256)
v?
number
Optional recovery ID for secp256k1
Returns
SignatureType
Signature
Throws
If DER encoding is invalidExample
fromEd25519()
fromEd25519: (Create Signature from Ed25519 signaturesignature) =>SignatureType
Parameters
signature
Uint8Array<ArrayBufferLike>
Ed25519 signature (64 bytes)
Returns
SignatureType
Signature
Throws
If signature is not 64 bytesExample
fromHex()
fromHex: (Create Signature from hex string Formats supported:value,algorithm?) =>SignatureType
- 128 hex chars (64 bytes): ECDSA r+s or Ed25519 signature
- 130 hex chars (65 bytes): ECDSA r+s+v
Parameters
value
string
Hex string (with or without 0x prefix)
algorithm?
SignatureAlgorithm = "secp256k1"
Signature algorithm
Returns
SignatureType
Signature
Throws
If value is not a stringThrows
If hex length is invalidExample
fromP256()
fromP256: (Create Signature from P-256 ECDSA signaturer,s) =>SignatureType
Parameters
r
Uint8Array<ArrayBufferLike>
r component (32 bytes)
s
Uint8Array<ArrayBufferLike>
s component (32 bytes)
Returns
SignatureType
Signature
Example
fromRpc()
fromRpc: (Create Signature from RPC formatrpc) =>SignatureType
Parameters
rpc
RPC format signaturer
string
s
string
v?
string | number
yParity?
string | number
Returns
SignatureType
Signature
Example
fromSecp256k1()
fromSecp256k1: (Create Signature from secp256k1 ECDSA signaturer,s,v?) =>SignatureType
Parameters
r
Uint8Array<ArrayBufferLike>
r component (32 bytes)
s
Uint8Array<ArrayBufferLike>
s component (32 bytes)
v?
number
Optional recovery ID (27 or 28 for Ethereum)
Returns
SignatureType
Signature
Example
fromTuple()
fromTuple: (Create Signature from tuple format [yParity, r, s]tuple,chainId?) =>SignatureType
Parameters
tuple
[number, Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>]
Tuple [yParity, r, s]
chainId?
number
Optional chain ID for EIP-155 v encoding
Returns
SignatureType
Signature
Example
getAlgorithm()
getAlgorithm: (Get the algorithm of a signaturesignature) =>SignatureAlgorithm
Parameters
signature
SignatureType
Signature to check
Returns
SignatureAlgorithm
Signature algorithm
Example
getR()
getR: (Get r component from ECDSA signaturesignature) =>HashType
Parameters
signature
SignatureType
Signature
Returns
HashType
r component (32 bytes, HashType)
Throws
If signature is not ECDSAExample
getS()
getS: (Get s component from ECDSA signaturesignature) =>HashType
Parameters
signature
SignatureType
Signature
Returns
HashType
s component (32 bytes, HashType)
Throws
If signature is not ECDSAExample
getV()
getV: (Get v (recovery ID) from secp256k1 signaturesignature) =>number|undefined
Parameters
signature
SignatureType
Signature
Returns
number | undefined
Recovery ID (27 or 28) or undefined
Throws
If signature is not secp256k1Example
is()
is: (Check if value is a SignatureTypevalue) =>value is SignatureType
Parameters
value
unknown
Value to check
Returns
value is SignatureType
True if value is a SignatureType
Example
isCanonical()
isCanonical: (Check if ECDSA signature has canonical s-value (s is less than or equal to n/2) For secp256k1 and p256, a signature is canonical if s is at most curve_order / 2 This prevents signature malleability.signature) =>boolean
Parameters
signature
SignatureType
Signature to check
Returns
boolean
True if signature is canonical or Ed25519
Example
normalize()
normalize: (Normalize ECDSA signature to canonical form (s = n - s if s > n/2)signature) =>SignatureType
Parameters
signature
SignatureType
Signature to normalize
Returns
SignatureType
Normalized signature
Example
toBytes()
toBytes: (Convert Signature to raw bytes (without metadata)signature) =>Uint8Array<ArrayBufferLike>
Parameters
signature
SignatureType
Signature to convert
Returns
Uint8Array<ArrayBufferLike>
Raw signature bytes
Example
toCompact()
toCompact: (Convert Signature to compact format (EIP-2098: yParity encoded in bit 255 of s)signature) =>Uint8Array<ArrayBufferLike>
Parameters
signature
SignatureType
Signature to convert
Returns
Uint8Array<ArrayBufferLike>
Compact signature (64 bytes with yParity in bit 255 of s)
Example
toDER()
toDER: (Convert ECDSA signature to DER encodingsignature) =>Uint8Array<ArrayBufferLike>
Parameters
signature
SignatureType
Signature to convert
Returns
Uint8Array<ArrayBufferLike>
DER-encoded signature
Throws
If signature is not ECDSA (secp256k1 or p256)Example
toHex()
toHex: (Convert Signature to hex string Formats:signature,includeV?) =>string
- ECDSA without v: 128 hex chars (64 bytes: r + s)
- ECDSA with v: 130 hex chars (65 bytes: r + s + v)
- Ed25519: 128 hex chars (64 bytes)
Parameters
signature
SignatureType
Signature to convert
includeV?
boolean = true
Include v byte for secp256k1 (if present)
Returns
string
Hex string with 0x prefix
Example
toRpc()
toRpc: (Convert Signature to RPC format (r, s, yParity as hex strings)signature) =>object
Parameters
signature
SignatureType
Signature to convert
Returns
object
RPC format signature
r
r: string
s
s: string
v?
optionalv:string
yParity
yParity: string
Throws
If signature is not secp256k1Example
toTuple()
toTuple: (Convert Signature to tuple format [yParity, r, s] for transaction envelopessignature) => [number,Uint8Array<ArrayBufferLike>,Uint8Array<ArrayBufferLike>]
Parameters
signature
SignatureType
Signature to convert
Returns
[number, Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>]
Tuple [yParity, r, s]
Throws
If signature is not secp256k1 or has no v valueExample
verify()
verify: (Verify signature against message and public key Note: This is a placeholder. Actual verification requires crypto implementations. Use this in conjunction with crypto library functions.signature,_message,_publicKey) =>boolean
Parameters
signature
SignatureType
Signature to verify
_message
Uint8Array<ArrayBufferLike>
Message that was signed
_publicKey
Uint8Array<ArrayBufferLike>
Public key to verify against
Returns
boolean
True if signature is valid
Throws
If algorithm-specific verification is not availableExample
Functions
equals()
equals(Defined in: src/primitives/Signature/equals.js:13 Check if two signatures are equala,b):boolean
Parameters
a
SignatureType
First signature
b
SignatureType
Second signature
Returns
boolean
True if signatures are equal
Example
from()
from(Defined in: src/primitives/Signature/from.js:29 Create Signature from various input types (universal constructor)value):SignatureType
Parameters
value
Signature dataUint8Array<ArrayBufferLike> | { algorithm?: SignatureAlgorithm; r: Uint8Array; s: Uint8Array; v?: number; } | { algorithm: "ed25519"; signature: Uint8Array; }
Returns
SignatureType
Signature
Throws
If value format is unsupported or invalidThrows
If signature length is invalidExample
fromBytes()
fromBytes(Defined in: src/primitives/Signature/fromBytes.js:32 Create Signature from raw bytes Wrapper around fromCompact with clearer semantics for byte input. Formats supported:bytes,algorithmOrV?):SignatureType
- 64 bytes: ECDSA r+s (with optional EIP-2098 yParity in bit 255) or Ed25519 signature
- 65 bytes: ECDSA r+s+v (secp256k1 only)
Parameters
bytes
Uint8Array<ArrayBufferLike>
Signature bytes
algorithmOrV?
Algorithm or explicit v valuenumber | SignatureAlgorithm
Returns
SignatureType
Signature
Throws
If bytes length is invalidExample
fromCompact()
fromCompact(Defined in: src/primitives/Signature/fromCompact.js:35 Create Signature from compact format (EIP-2098: supports yParity in bit 255 of s)bytes,algorithmOrV):SignatureType
Parameters
bytes
Uint8Array<ArrayBufferLike>
Compact signature bytes (64 or 65 bytes)
algorithmOrV
Algorithm or explicit v valuenumber | SignatureAlgorithm
Returns
SignatureType
Signature
Throws
If bytes length is invalidExample
fromDER()
fromDER(Defined in: src/primitives/Signature/fromDER.js:20 Create Signature from DER-encoded ECDSA signatureder,algorithm,v?):SignatureType
Parameters
der
Uint8Array<ArrayBufferLike>
DER-encoded signature
algorithm
SignatureAlgorithm
Algorithm (secp256k1 or p256)
v?
number
Optional recovery ID for secp256k1
Returns
SignatureType
Signature
Throws
If DER encoding is invalidExample
fromEd25519()
fromEd25519(Defined in: src/primitives/Signature/fromEd25519.js:16 Create Signature from Ed25519 signaturesignature):SignatureType
Parameters
signature
Uint8Array<ArrayBufferLike>
Ed25519 signature (64 bytes)
Returns
SignatureType
Signature
Throws
If signature is not 64 bytesExample
fromHex()
fromHex(Defined in: src/primitives/Signature/fromHex.js:36 Create Signature from hex string Formats supported:value,algorithm?):SignatureType
- 128 hex chars (64 bytes): ECDSA r+s or Ed25519 signature
- 130 hex chars (65 bytes): ECDSA r+s+v
Parameters
value
string
Hex string (with or without 0x prefix)
algorithm?
SignatureAlgorithm = "secp256k1"
Signature algorithm
Returns
SignatureType
Signature
Throws
If value is not a stringThrows
If hex length is invalidExample
fromP256()
fromP256(Defined in: src/primitives/Signature/fromP256.js:16 Create Signature from P-256 ECDSA signaturer,s):SignatureType
Parameters
r
Uint8Array<ArrayBufferLike>
r component (32 bytes)
s
Uint8Array<ArrayBufferLike>
s component (32 bytes)
Returns
SignatureType
Signature
Example
fromRpc()
fromRpc(Defined in: src/primitives/Signature/fromRpc.js:19 Create Signature from RPC formatrpc):SignatureType
Parameters
rpc
RPC format signaturer
string
s
string
v?
string | number
yParity?
string | number
Returns
SignatureType
Signature
Example
fromSecp256k1()
fromSecp256k1(Defined in: src/primitives/Signature/fromSecp256k1.js:17 Create Signature from secp256k1 ECDSA signaturer,s,v?):SignatureType
Parameters
r
Uint8Array<ArrayBufferLike>
r component (32 bytes)
s
Uint8Array<ArrayBufferLike>
s component (32 bytes)
v?
number
Optional recovery ID (27 or 28 for Ethereum)
Returns
SignatureType
Signature
Example
fromTuple()
fromTuple(Defined in: src/primitives/Signature/fromTuple.js:18 Create Signature from tuple format [yParity, r, s]tuple,chainId?):SignatureType
Parameters
tuple
[number, Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>]
Tuple [yParity, r, s]
chainId?
number
Optional chain ID for EIP-155 v encoding
Returns
SignatureType
Signature
Example
getAlgorithm()
getAlgorithm(Defined in: src/primitives/Signature/getAlgorithm.js:13 Get the algorithm of a signaturesignature):SignatureAlgorithm
Parameters
signature
SignatureType
Signature to check
Returns
SignatureAlgorithm
Signature algorithm
Example
getR()
getR(Defined in: src/primitives/Signature/getR.js:16 Get r component from ECDSA signaturesignature):HashType
Parameters
signature
SignatureType
Signature
Returns
HashType
r component (32 bytes, HashType)
Throws
If signature is not ECDSAExample
getS()
getS(Defined in: src/primitives/Signature/getS.js:16 Get s component from ECDSA signaturesignature):HashType
Parameters
signature
SignatureType
Signature
Returns
HashType
s component (32 bytes, HashType)
Throws
If signature is not ECDSAExample
getV()
getV(Defined in: src/primitives/Signature/getV.js:15 Get v (recovery ID) from secp256k1 signaturesignature):number|undefined
Parameters
signature
SignatureType
Signature
Returns
number | undefined
Recovery ID (27 or 28) or undefined
Throws
If signature is not secp256k1Example
is()
is(Defined in: src/primitives/Signature/is.js:14 Check if value is a SignatureTypevalue):value is SignatureType
Parameters
value
unknown
Value to check
Returns
value is SignatureType
True if value is a SignatureType
Example
isCanonical()
isCanonical(Defined in: src/primitives/Signature/isCanonical.js:19 Check if ECDSA signature has canonical s-value (s is less than or equal to n/2) For secp256k1 and p256, a signature is canonical if s is at most curve_order / 2 This prevents signature malleability.signature):boolean
Parameters
signature
SignatureType
Signature to check
Returns
boolean
True if signature is canonical or Ed25519
Example
normalize()
normalize(Defined in: src/primitives/Signature/normalize.js:19 Normalize ECDSA signature to canonical form (s = n - s if s > n/2)signature):SignatureType
Parameters
signature
SignatureType
Signature to normalize
Returns
SignatureType
Normalized signature
Example
toBytes()
toBytes(Defined in: src/primitives/Signature/toBytes.js:13 Convert Signature to raw bytes (without metadata)signature):Uint8Array<ArrayBufferLike>
Parameters
signature
SignatureType
Signature to convert
Returns
Uint8Array<ArrayBufferLike>
Raw signature bytes
Example
toCompact()
toCompact(Defined in: src/primitives/Signature/toCompact.js:13 Convert Signature to compact format (EIP-2098: yParity encoded in bit 255 of s)signature):Uint8Array<ArrayBufferLike>
Parameters
signature
SignatureType
Signature to convert
Returns
Uint8Array<ArrayBufferLike>
Compact signature (64 bytes with yParity in bit 255 of s)
Example
toDER()
toDER(Defined in: src/primitives/Signature/toDER.js:17 Convert ECDSA signature to DER encodingsignature):Uint8Array<ArrayBufferLike>
Parameters
signature
SignatureType
Signature to convert
Returns
Uint8Array<ArrayBufferLike>
DER-encoded signature
Throws
If signature is not ECDSA (secp256k1 or p256)Example
toHex()
toHex(Defined in: src/primitives/Signature/toHex.js:23 Convert Signature to hex string Formats:signature,includeV?):string
- ECDSA without v: 128 hex chars (64 bytes: r + s)
- ECDSA with v: 130 hex chars (65 bytes: r + s + v)
- Ed25519: 128 hex chars (64 bytes)
Parameters
signature
SignatureType
Signature to convert
includeV?
boolean = true
Include v byte for secp256k1 (if present)
Returns
string
Hex string with 0x prefix
Example
toRpc()
toRpc(Defined in: src/primitives/Signature/toRpc.js:20 Convert Signature to RPC format (r, s, yParity as hex strings)signature):object
Parameters
signature
SignatureType
Signature to convert
Returns
object
RPC format signature
r
r: string
s
s: string
v?
optionalv:string
yParity
yParity: string
Throws
If signature is not secp256k1Example
toTuple()
toTuple(Defined in: src/primitives/Signature/toTuple.js:19 Convert Signature to tuple format [yParity, r, s] for transaction envelopessignature): [number,Uint8Array<ArrayBufferLike>,Uint8Array<ArrayBufferLike>]
Parameters
signature
SignatureType
Signature to convert
Returns
[number, Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>]
Tuple [yParity, r, s]
Throws
If signature is not secp256k1 or has no v valueExample
verify()
verify(Defined in: src/primitives/Signature/verify.js:20 Verify signature against message and public key Note: This is a placeholder. Actual verification requires crypto implementations. Use this in conjunction with crypto library functions.signature,_message,_publicKey):boolean
Parameters
signature
SignatureType
Signature to verify
_message
Uint8Array<ArrayBufferLike>
Message that was signed
_publicKey
Uint8Array<ArrayBufferLike>
Public key to verify against
Returns
boolean
True if signature is valid

