Skip to content
Type Alias: ShieldedWalletClient<transport, chain, account>

seismic-viem


seismic-viem / ShieldedWalletClient

Type Alias: ShieldedWalletClient<transport, chain, account>

type ShieldedWalletClient<transport, chain, account> = Client<
  transport,
  chain,
  account,
  RpcSchema,
  PublicActions<transport, chain, account> &
    WalletActions<chain, account> &
    EncryptionActions &
    ShieldedPublicActions &
    ShieldedWalletActions<chain, account>
>

Defined in: packages/seismic-viem/src/client.ts:68

This has the same API as viem's wallet client, with a few notable differences:

  • All public RPC requests are called through the provided public client
  • This client will encrypt the calldata of Seismic transactions
  • This exposes the following Seimsic-specific actions:
    • getEncryption: return an AES key and its generators
    • getEncryptionPublicKey: return only the user's encryption public key
    • signedCall: make an eth_call. The data parameter should already be encrypted
    • sendShieldedTransaction: send a Seismic transaction to the network. The data parameter should already be encrypted
    • readContract: call a contract function with a signedRead
    • treadContract: call a contract function with an unsigned read (from the zero address)
    • writeContract: execute a function on a contract via a Seismic transaction, encrypting the calldata
    • twriteContract: execute a function on a contract via a standard ethereum transaction

Type Parameters

transport extends Transport = Transport

chain extends Chain | undefined = Chain | undefined

account extends Account = Account