/// /// import { LogicSigBase, MultiSig, MultiSigAccount } from "algosdk"; /** * Note: We cannot use algosdk LogicSig class here, * because algosdk.makeLogicSig() takes compiled bytes as a argument * and currently we don't calculate compiled bytes from TEAL program. * We are using raw TEAL code as program.(by converting string into bytes) */ export declare class LogicSig { tag: Buffer; logic: Uint8Array; args: Uint8Array[]; sig: Uint8Array; msig: MultiSig | undefined; lsigAddress: string; constructor(program: string, args: Uint8Array[]); /** * Creates signature (if no msig provided) or multi signature otherwise * @param secretKey sender's secret key * @param msig multisignature if it exists */ sign(secretKey: Uint8Array, msig?: MultiSigAccount): void; /** * Sign Multisignature * @param secretKey Secret key to sign with * @param msig Multisignature */ singleSignMultisig(secretKey: Uint8Array, msig: MultiSig): [Uint8Array, number]; /** * Appends a signature to multi signature * @param {Uint8Array} secretKey Secret key to sign with */ appendToMultisig(secretKey: Uint8Array): void; /** * Performs signature verification * @param accAddr Sender's account address */ verify(accPk: Uint8Array): boolean; /** * Verify multi-signature * @param msig Msig * @param accAddr Sender's account address */ verifyMultisig(msig: MultiSig, accAddr: string): boolean; /** * Returns signed logic * @param secretKey: account's secret key */ signProgram(secretKey: Uint8Array): Uint8Array; /** * Returns logic signature address */ address(): string; /** * Returns program associated with logic signature */ program(): string; /** * Note: following functions are dummy functions * they are used only to match type with algosdk LogicSig * there is a possibility that we may use them in future. */ toByte(): Uint8Array; fromByte(val: Uint8Array): LogicSig; get_obj_for_encoding(): LogicSigBase; from_obj_for_encoding(lsig: LogicSigBase): LogicSig; }