@tevm/voltaire / primitives/TypedData
primitives/TypedData
Classes
InvalidTypedDataError
Defined in: src/primitives/TypedData/errors.js:4 Error thrown when TypedData is invalidExtends
Error
Constructors
Constructor
new InvalidTypedDataError(Defined in: src/primitives/TypedData/errors.js:9message,context?):InvalidTypedDataError
Parameters
message
string
context?
any
Returns
InvalidTypedDataError
Overrides
Error.constructor
Properties
context
context: any
Defined in: src/primitives/TypedData/errors.js:12
name
name: string
Defined in: src/primitives/TypedData/errors.js:11
Inherited from
Error.name
Type Aliases
TypedDataField
TypedDataField = object
Defined in: src/primitives/TypedData/TypedDataType.ts:6
EIP-712 Typed Data field definition
Properties
name
Defined in: src/primitives/TypedData/TypedDataType.ts:7readonlyname:string
type
Defined in: src/primitives/TypedData/TypedDataType.ts:8readonlytype:string
TypedDataType
TypedDataType<Defined in: src/primitives/TypedData/TypedDataType.ts:16 EIP-712 Typed Data structure Complete structure for EIP-712 typed structured data signingT> =object
Type Parameters
T
T = Record<string, unknown>
Properties
domain
Defined in: src/primitives/TypedData/TypedDataType.ts:22readonlydomain:DomainType
message
Defined in: src/primitives/TypedData/TypedDataType.ts:23readonlymessage:T
primaryType
Defined in: src/primitives/TypedData/TypedDataType.ts:21readonlyprimaryType:string
types
Defined in: src/primitives/TypedData/TypedDataType.ts:17readonlytypes:object
Index Signature
[key: string]: readonly TypedDataField[]
EIP712Domain
readonlyEIP712Domain: readonlyTypedDataField[]
Functions
_encode()
_encode(Defined in: src/primitives/TypedData/encode.js:17 Encode EIP-712 typed data message Returns the encoded message data (without domain separator)typedData,crypto):Uint8Array<ArrayBufferLike>
Parameters
typedData
TypedDataType<Record<string, unknown>>
TypedData
crypto
Crypto dependencieskeccak256
(data) => Uint8Array
Keccak256 hash function
Returns
Uint8Array<ArrayBufferLike>
Encoded message data
Example
_from()
_from(Defined in: src/primitives/TypedData/from.js:32 Create TypedData from objecttypedData):TypedDataType<Record<string,unknown>>
Parameters
typedData
TypedData objectdomain
object
Domain separator
message
any
Message data
primaryType
string
Primary type name
types
Record<string, readonly TypedDataField[]>
Type definitions
Returns
TypedDataType<Record<string, unknown>>
TypedData
Throws
If typedData is invalidExample
_hash()
_hash(Defined in: src/primitives/TypedData/hash.js:20 Compute EIP-712 typed data hash for signing hash = keccak256(“\x19\x01” || domainSeparator || messageHash)typedData,crypto):HashType
Parameters
typedData
TypedDataType<Record<string, unknown>>
TypedData
crypto
Crypto dependencieskeccak256
(data) => Uint8Array
Keccak256 hash function
Returns
HashType
Hash for signing
Example
_validate()
_validate(Defined in: src/primitives/TypedData/validate.js:14 Validate EIP-712 typed data structuretypedData):void
Parameters
typedData
TypedDataType<Record<string, unknown>>
TypedData
Returns
void
Throws
If validation failsExample
encode()
encode(Defined in: src/primitives/TypedData/index.ts:45typedData,crypto):Uint8Array
Parameters
typedData
TypedDataType<Record<string, unknown>>
crypto
keccak256
(data) => Uint8Array
Returns
Uint8Array
from()
from<Defined in: src/primitives/TypedData/index.ts:16T>(typedData):TypedDataType<T>
Type Parameters
T
T = Record<string, unknown>
Parameters
typedData
domain
{chainId?: number | ChainIdType; name?: string; salt?: string | HashType; verifyingContract?: string | AddressType; version?: string; }
domain.chainId?
number | ChainIdType
domain.name?
string
domain.salt?
string | HashType
domain.verifyingContract?
string | AddressType
domain.version?
string
message
T
primaryType
string
types
{[key: string]: readonly TypedDataField[]; EIP712Domain: readonly TypedDataField[]; }
types.EIP712Domain
readonlyTypedDataField[]
Returns
TypedDataType<T>
hash()
hash(Defined in: src/primitives/TypedData/index.ts:36typedData,crypto):HashType
Parameters
typedData
TypedDataType<Record<string, unknown>>
crypto
keccak256
(data) => Uint8Array
Returns
HashType
validate()
validate(Defined in: src/primitives/TypedData/index.ts:54typedData):void
Parameters
typedData
TypedDataType<Record<string, unknown>>
Returns
void
