UNPKG

signify-ts

Version:

Signing at the edge for KERI, ACDC, and KERIA

175 lines (174 loc) 5.82 kB
import { Encrypter } from './encrypter'; import { Decrypter } from './decrypter'; import { Salter, Tier } from './salter'; import { Signer } from './signer'; import { Verfer } from './verfer'; import { Diger } from './diger'; import { Cigar } from './cigar'; import { Siger } from './siger'; export declare enum Algos { randy = "randy", salty = "salty", group = "group", extern = "extern" } declare class PubLot { pubs: Array<string>; ridx: number; kidx: number; dt: string; } declare class PreSit { old: PubLot; new: PubLot; nxt: PubLot; } declare class PrePrm { pidx: number; algo: Algos; salt: string; stem: string; tier: string; } declare class PubSet { pubs: Array<string>; } declare class PubPath { path: string; code: string; tier: string; temp: boolean; } declare class Keys { private readonly _signers; private readonly _paths?; constructor(signers: Array<Signer>, paths?: Array<string>); get paths(): Array<string> | undefined; get signers(): Array<Signer>; } export interface Creator { create(codes: Array<string> | undefined, count: number, code: string, transferable: boolean, pidx: number, ridx: number, kidx: number, temp: boolean): Keys; salt: string; stem: string; tier: Tier; } export declare class RandyCreator implements Creator { create(codes?: Array<string> | undefined, count?: number, code?: string, transferable?: boolean): Keys; get salt(): string; get stem(): string; get tier(): Tier; } export declare class SaltyCreator implements Creator { salter: Salter; private readonly _stem; constructor(salt?: string | undefined, tier?: Tier | undefined, stem?: string | undefined); get salt(): string; get stem(): string; get tier(): Tier; create(codes?: Array<string> | undefined, count?: number, code?: string, transferable?: boolean, pidx?: number, ridx?: number, kidx?: number, temp?: boolean): Keys; } export declare class Creatory { private readonly _make; constructor(algo?: Algos); make(...args: any[]): Creator; _makeRandy(): Creator; _makeSalty(...args: any[]): Creator; } export declare function openManager(passcode: string, salt?: string): Manager; export interface ManagerArgs { ks?: KeyStore | undefined; seed?: string | undefined; aeid?: string | undefined; pidx?: number | undefined; algo?: Algos | undefined; salter?: Salter | undefined; tier?: string | undefined; } export interface ManagerInceptArgs { icodes?: any | undefined; icount?: number; icode?: string; ncodes?: any | undefined; ncount?: number; ncode?: string; dcode?: string; algo?: Algos | undefined; salt?: string | undefined; stem?: string | undefined; tier?: string | undefined; rooted?: boolean; transferable?: boolean; temp?: boolean; } interface RotateArgs { pre: string; ncodes?: any | undefined; ncount?: number; ncode?: string; dcode?: string; transferable?: boolean; temp?: boolean; erase?: boolean; } interface SignArgs { ser: Uint8Array; pubs?: Array<string> | undefined; verfers?: Array<Verfer> | undefined; indexed?: boolean; indices?: Array<number> | undefined; ondices?: Array<number> | undefined; } export declare class Manager { private _seed?; private _salt?; private _encrypter; private _decrypter; private readonly _ks; constructor({ ks, seed, aeid, pidx, algo, salter, tier }: ManagerArgs); get ks(): KeyStore; get encrypter(): Encrypter | undefined; get decrypter(): Decrypter | undefined; get seed(): string | undefined; get aeid(): string | undefined; get pidx(): number | undefined; set pidx(pidx: number | undefined); get salt(): string | undefined; set salt(salt: string | undefined); get tier(): string | undefined; set tier(tier: string | undefined); get algo(): Algos | undefined; set algo(algo: Algos | undefined); private updateAeid; incept({ icodes, icount, icode, ncodes, ncount, ncode, dcode, algo, salt, stem, tier, rooted, transferable, temp, }: ManagerInceptArgs): [Array<Verfer>, Array<Diger>]; move(old: string, gnu: string): void; rotate({ pre, ncodes, ncount, ncode, dcode, transferable, temp, erase, }: RotateArgs): [Array<Verfer>, Array<Diger>]; sign({ ser, pubs, verfers, indexed, indices, ondices, }: SignArgs): Siger[] | Cigar[]; } export declare function riKey(pre: string, ridx: number): string; export interface KeyStore { getGbls(key: string): string | undefined; pinGbls(key: string, val: string): void; prmsElements(): Array<[string, PrePrm]>; getPrms(keys: string): PrePrm | undefined; pinPrms(keys: string, data: PrePrm): void; putPrms(keys: string, data: PrePrm): boolean; remPrms(keys: string): boolean; prisElements(decrypter: Decrypter): Array<[string, Signer]>; getPris(keys: string, decrypter: Decrypter): Signer | undefined; pinPris(keys: string, data: Signer, encrypter: Encrypter): void; putPris(pubKey: string, signer: Signer, encrypter: Encrypter): boolean; remPris(pubKey: string): void; getPths(pubKey: string): PubPath | undefined; putPths(pubKey: string, val: PubPath): boolean; pinPths(pubKey: string, val: PubPath): boolean; getPres(pre: string): Uint8Array | undefined; putPres(pre: string, val: Uint8Array): boolean; pinPres(pre: string, val: Uint8Array): boolean; getSits(keys: string): PreSit | undefined; putSits(pre: string, val: PreSit): boolean; pinSits(pre: string, val: PreSit): boolean; remSits(keys: string): boolean; getPubs(keys: string): PubSet | undefined; putPubs(keys: string, data: PubSet): boolean; } export {};