UNPKG

meta-contract

Version:

Meta Contract SDK

51 lines (50 loc) 2.15 kB
import { ContractAdapter } from '../../common/ContractAdapter'; import { Bytes, FunctionCall, SigHashPreimage } from '../../scryptlib'; import * as proto from '../contract-proto/tokenUnlockContractCheck.proto'; export declare enum TOKEN_UNLOCK_TYPE { IN_2_OUT_5 = 1, IN_4_OUT_8 = 2, IN_8_OUT_12 = 3, IN_3_OUT_100 = 4, IN_20_OUT_5 = 5, UNSUPPORT = 6 } export declare class TokenUnlockContractCheck extends ContractAdapter { constuctParams: { unlockType: TOKEN_UNLOCK_TYPE; }; private _formatedDataPart; constructor(constuctParams: { unlockType: TOKEN_UNLOCK_TYPE; }); clone(): TokenUnlockContractCheck; setFormatedDataPart(dataPart: proto.FormatedDataPart): void; getFormatedDataPart(): proto.FormatedDataPart; unlock({ txPreimage, prevouts, tokenScript, tokenTxHeaderArray, tokenTxHashProofArray, tokenSatoshiBytesArray, inputTokenAddressArray, inputTokenAmountArray, nOutputs, tokenOutputIndexArray, tokenOutputSatoshis, otherOutputArray, }: { txPreimage: SigHashPreimage; prevouts: Bytes; tokenScript: Bytes; tokenTxHeaderArray: Bytes; tokenTxHashProofArray: Bytes; tokenSatoshiBytesArray: Bytes; inputTokenAddressArray: Bytes; inputTokenAmountArray: Bytes; nOutputs: number; tokenOutputIndexArray: Bytes; tokenOutputSatoshis: number; otherOutputArray: Bytes; }): FunctionCall; } export declare class TokenUnlockContractCheckFactory { static tokenUnlockTypeInfos: { type: TOKEN_UNLOCK_TYPE; in: number; out: number; lockingScriptSize: number; }[]; static getOptimumType(inCount: number, outCount: number): TOKEN_UNLOCK_TYPE; static createContract(unlockType: TOKEN_UNLOCK_TYPE): TokenUnlockContractCheck; static getLockingScriptSize(unlockType: TOKEN_UNLOCK_TYPE): number; static calUnlockingScriptSize(checkType: TOKEN_UNLOCK_TYPE, mvcInputLen: number, tokenInputLen: number, tokenOutputLen: number, opreturnData: any): number; static getDummyInstance(unlockType: TOKEN_UNLOCK_TYPE): TokenUnlockContractCheck; }