Skip to main content
EIP-7702 account abstraction. EOAs delegate to contract code.
import * as Authorization from 'voltaire-effect/primitives/Authorization'
import { Effect } from 'effect'

// Sign authorization
const signed = await Effect.runPromise(
  Authorization.sign(
    { chainId: 1n, address: contractAddr, nonce: 0n },
    privateKey
  )
)

// Validate
await Effect.runPromise(Authorization.validate(signed))

Schema

import { AuthorizationSchema } from 'voltaire-effect/primitives/Authorization'
import * as Schema from 'effect/Schema'

const auth = Schema.decodeSync(AuthorizationSchema)({
  chainId: '1',
  address: '0x742d35Cc6634C0532925a3b844Bc9e7595f251e3',
  nonce: '0',
  yParity: 0,
  r: '0x...',
  s: '0x...'
})
Fields: chainId, address, nonce, yParity (0|1), r, s.

Errors

Returns AuthorizationError on invalid address, signature, or structure.