Versions
| Version | Meaning |
|---|---|
0x00 | Legacy personal_sign |
0x01 | EIP-191 structured data |
0x45 | EIP-712 typed data |
EIP-191 signed data encoding
import { SignedData } from 'voltaire-effect/primitives'
import { Effect } from 'effect'
import * as S from 'effect/Schema'
// Validate
const isValid = S.is(SignedData.Bytes)(someData)
// Parse version
const version = S.decodeSync(SignedData.SignedDataVersionSchema)(0x45)
| Version | Meaning |
|---|---|
0x00 | Legacy personal_sign |
0x01 | EIP-191 structured data |
0x45 | EIP-712 typed data |
const signedData = Effect.runSync(
SignedData.from(
0x45, // version
new Uint8Array([1, 2, 3]), // version-specific data
new Uint8Array([4, 5, 6]) // payload
)
)
const result = await Effect.runPromiseExit(
SignedData.from(0x45, new Uint8Array(), new Uint8Array())
)
// SignedDataError