Skip to main content

EncryptedType

type EncryptedType = 'u8' | 'u32' | 'u64';

PendingEncrypted

interface PendingEncrypted<T extends EncryptedType> {
  type: T;
  data: Uint8Array;
  withUserRecovery(userCrypto: UserCrypto): Encrypted<T>;
}

Encrypted

interface Encrypted<T extends EncryptedType> {
  type: T;
  data: Uint8Array;
  userRecovery?: UserRecoveryData;
}

UserRecoveryData

interface UserRecoveryData {
  ciphertext: Uint8Array;
  nonce: Uint8Array;
}

UserCrypto

class UserCrypto {
  constructor(keypair: Keypair);

  decryptRecovery(recovery: UserRecoveryData): Uint8Array;
  decryptFromMPC(
    ciphertext: Uint8Array,
    nonce: Uint8Array,
    ephemeralPubkey: Uint8Array
  ): Uint8Array;
}

TransactionBuilder

class TransactionBuilder {
  add(instruction: TransactionInstruction): TransactionBuilder;
  withFheData(hashes: string[]): TransactionBuilder;
  sign(signer: Keypair): TransactionBuilder;
  send(): Promise<string>;
  build(): Promise<Transaction>;
}