@tevm/voltaire / primitives/SignedData
primitives/SignedData
Classes
InvalidSignedDataFormatError
Defined in: src/primitives/SignedData/errors.ts:17 Error thrown when signed data has invalid formatExtends
Error
Constructors
Constructor
new InvalidSignedDataFormatError(Defined in: src/primitives/SignedData/errors.ts:18message,context?):InvalidSignedDataFormatError
Parameters
message
string
context?
unknown
Returns
InvalidSignedDataFormatError
Overrides
Error.constructor
Properties
context?
Defined in: src/primitives/SignedData/errors.ts:24optionalcontext:unknown
InvalidSignedDataVersionError
Defined in: src/primitives/SignedData/errors.ts:4 Error thrown when signed data has invalid version byteExtends
Error
Constructors
Constructor
new InvalidSignedDataVersionError(Defined in: src/primitives/SignedData/errors.ts:5message,context?):InvalidSignedDataVersionError
Parameters
message
string
context?
unknown
Returns
InvalidSignedDataVersionError
Overrides
Error.constructor
Properties
context?
Defined in: src/primitives/SignedData/errors.ts:11optionalcontext:unknown
SignatureVerificationError
Defined in: src/primitives/SignedData/errors.ts:30 Error thrown when signature verification failsExtends
Error
Constructors
Constructor
new SignatureVerificationError(Defined in: src/primitives/SignedData/errors.ts:31message,context?):SignatureVerificationError
Parameters
message
string
context?
unknown
Returns
SignatureVerificationError
Overrides
Error.constructor
Properties
context?
Defined in: src/primitives/SignedData/errors.ts:37optionalcontext:unknown
Type Aliases
SignedDataType
SignedDataType =Defined in: src/primitives/SignedData/SignedDataType.ts:12 EIP-191 signed data type Represents signed data according to EIP-191 specification. The version byte determines the signature format:Uint8Array&object
- 0x00: Data with validator address
- 0x01: Structured data (EIP-712)
- 0x45: Personal message (“E” for Ethereum Signed Message)
Type Declaration
__tag
readonly__tag:"SignedData"
See
https://eips.ethereum.org/EIPS/eip-191SignedDataVersion
SignedDataVersion =Defined in: src/primitives/SignedData/SignedDataType.ts:24 EIP-191 version byte Determines the format and validation rules for signed data:0|1|69
- 0x00: Data with intended validator (contract address)
- 0x01: Structured data following EIP-712
- 0x45: Personal message with “\x19Ethereum Signed Message:\n” prefix
Variables
EIP191_PREFIX
Defined in: src/primitives/SignedData/constants.js:15 EIP-191 prefix byteconstEIP191_PREFIX:25=0x19
PERSONAL_MESSAGE_PREFIX
Defined in: src/primitives/SignedData/constants.js:18 Personal message prefix stringconstPERSONAL_MESSAGE_PREFIX: “\u0019Ethereum Signed Message:\n” ="\x19Ethereum Signed Message:\n"
VERSION_DATA_WITH_VALIDATOR
Defined in: src/primitives/SignedData/constants.js:6 Version 0x00: Data with validatorconstVERSION_DATA_WITH_VALIDATOR:0=0x00
VERSION_PERSONAL_MESSAGE
Defined in: src/primitives/SignedData/constants.js:12 Version 0x45: Personal messageconstVERSION_PERSONAL_MESSAGE:69=0x45
VERSION_STRUCTURED_DATA
Defined in: src/primitives/SignedData/constants.js:9 Version 0x01: Structured data (EIP-712)constVERSION_STRUCTURED_DATA:1=0x01
Functions
from()
from(Defined in: src/primitives/SignedData/from.js:35 Create EIP-191 signed data from components Format:version,versionData,data):SignedDataType
0x19 <version byte> <version specific data>
- Version 0x00:
0x19 0x00 <validator address (20 bytes)> <data> - Version 0x01:
0x19 0x01 <domainSeparator (32 bytes)> <data> - Version 0x45:
0x19 0x45 <ascii "thereum Signed Message:\n" + len> <data>
Parameters
version
number
Version byte (0x00, 0x01, or 0x45)
versionData
Uint8Array<ArrayBufferLike>
Version-specific data (validator address or domain separator)
data
Uint8Array<ArrayBufferLike>
Message data
Returns
SignedDataType
EIP-191 formatted signed data
Throws
If version is not validExample
Hash()
Hash(Defined in: src/primitives/SignedData/hash.js:10 Factory: Create EIP-191 personal message hash functiondeps): (message) =>HashType
Parameters
deps
Crypto dependencieskeccak256
(data) => Uint8Array
Keccak256 hash function
Returns
(message):HashType
Parameters
message
string | Uint8Array<ArrayBufferLike>
Returns
HashType
Verify()
Verify(Defined in: src/primitives/SignedData/verify.js:12 Factory: Create signature verification function for EIP-191 personal messagesdeps): (message,signature,expectedAddress) =>boolean
Parameters
deps
Crypto dependenciesaddressFromPublicKey
(x, y) => AddressType
Address derivation from public key
keccak256
(data) => Uint8Array
Keccak256 hash function
recoverPublicKey
(signature, messageHash) => Uint8Array
secp256k1 public key recovery
Returns
(message,signature,expectedAddress):boolean
Parameters
message
string | Uint8Array<ArrayBufferLike>
signature
r
Uint8Array
s
Uint8Array
v
number
expectedAddress
AddressType
Returns
boolean
