UNPKG

@dao-xyz/peerbit

Version:

Distributed p2p database on IPFS

22 lines (21 loc) 1.31 kB
import { Ed25519Keypair, Ed25519PublicKey, X25519PublicKey } from "@dao-xyz/peerbit-crypto"; import { PublicKeyEncryptionResolver, X25519Keypair } from "@dao-xyz/peerbit-crypto"; import { KeyChain } from "@libp2p/interface-keychain"; import { Cache } from "@dao-xyz/cache"; export type StorePublicKeyEncryption = (replicationTopic: string) => PublicKeyEncryptionResolver; export declare class FastKeychain implements PublicKeyEncryptionResolver { readonly identityKeypair: Ed25519Keypair; private defaultEncryptionKeypair; readonly keychain: KeyChain; keychainCache: Cache<X25519Keypair | null>; constructor(identityKeypair: Ed25519Keypair, defaultEncryptionKeypair: X25519Keypair, keychain: KeyChain); static create(identityKeypair: Ed25519Keypair, keychain: KeyChain): Promise<FastKeychain>; keychainKeyIdFromPublicKey(publicKey: X25519PublicKey): string; exportKeypair: <T extends X25519PublicKey | Ed25519PublicKey, Q = T extends X25519PublicKey ? X25519PublicKey extends T ? X25519Keypair : Ed25519Keypair : Ed25519Keypair>(publicKey: T) => Promise<Q>; importKeypair: (keypair: Ed25519Keypair) => Promise<void>; getAnyKeypair: (publicKeys: any) => Promise<{ index: number; keypair: X25519Keypair; }>; getEncryptionKeypair: () => X25519Keypair; }