UNPKG

@desig/web3

Version:

Desig: The Blockchain-Agnostic Multisig Solution

41 lines (40 loc) 2.02 kB
import { Connection } from './connection'; import { DesigKeypair } from './keypair'; import type { ExtendedApprovalEntity, ExtendedProposalEntity, PaginationParams } from './types'; export declare class Proposal extends Connection { constructor(cluster: string, privkey: string, keypair: DesigKeypair); static deriveProposalId: (multisigId: string, msg: Uint8Array) => string; static deriveApprovalId(proposalId: string, signerId: string): string; watch: (callback: (approvalId: string, er?: string) => void) => () => void; getProposals: (chainId: string, { size, after }?: Partial<PaginationParams>) => Promise<ExtendedProposalEntity[]>; getProposal: (proposalId: string) => Promise<ExtendedProposalEntity>; getApproval: (approvalId: string) => Promise<ExtendedApprovalEntity>; initializeProposal: ({ raw, msg, chainId, ttl, }: { raw: Uint8Array; msg: Uint8Array; chainId: string; ttl?: number; }) => Promise<import("./types").ProposalEntity & { multisig: import("./types").MultisigEntity; approvals: (import("./types").ApprovalEntity & { signer: Omit<import("./types").SignerEntity, "encryptedShare">; })[]; }>; approveProposal: (proposalId: string) => Promise<import("./types").ApprovalEntity & { proposal: import("./types").ProposalEntity; signer: Omit<import("./types").SignerEntity, "encryptedShare">; }>; private approveEd25519Proposal; private approveSecp256k1Proposal; updateTxHash: (proposalId: string, txHash: string) => Promise<import("./types").ProposalEntity & { multisig: import("./types").MultisigEntity; approvals: (import("./types").ApprovalEntity & { signer: Omit<import("./types").SignerEntity, "encryptedShare">; })[]; }>; finalizeSignature: (proposalId: string) => Promise<{ sig: Uint8Array; recv?: number; }>; verifySignature: (id: string, signature: Uint8Array) => Promise<boolean>; }