UNPKG

meta-contract

Version:

Meta Contract SDK

48 lines (47 loc) 2.06 kB
import * as mvc from '../../mvc'; import { ContractAdapter } from '../../common/ContractAdapter'; import { Bytes, FunctionCall, PubKey, Ripemd160, Sig, SigHashPreimage } from '../../scryptlib'; import * as ftProto from '../contract-proto/token.proto'; export declare class TokenGenesis extends ContractAdapter { private constuctParams; private _formatedDataPart; constructor(constuctParams: {}); clone(): TokenGenesis; setFormatedDataPart(dataPart: ftProto.FormatedDataPart): void; getFormatedDataPart(): ftProto.FormatedDataPart; setFormatedDataPartFromLockingScript(script: mvc.Script): void; isFirstGenesis(): boolean; unlock({ txPreimage, pubKey, sig, tokenScript, genesisTxHeader, prevInputIndex, genesisTxInputProof, prevGenesisTxHeader, prevTxOutputHashProof, prevTxOutputSatoshiBytes, genesisSatoshis, tokenSatoshis, changeAddress, changeSatoshis, opReturnScript, }: { txPreimage: SigHashPreimage; pubKey: PubKey; sig: Sig; tokenScript: Bytes; genesisTxHeader: Bytes; prevInputIndex: number; genesisTxInputProof: Bytes; prevGenesisTxHeader: Bytes; prevTxOutputHashProof: Bytes; prevTxOutputSatoshiBytes: Bytes; genesisSatoshis: number; tokenSatoshis: number; changeAddress: Ripemd160; changeSatoshis: number; opReturnScript: Bytes; }): FunctionCall; } export declare class TokenGenesisFactory { static lockingScriptSize: number; static getLockingScriptSize(): number; /** * create genesis contract * @param {Object} issuerPubKey issuer public key used to unlocking genesis contract * @param {string} tokenName the token name * @param {string} tokenSymbol the token symbol * @param {number} decimalNum the token amount decimal number * @returns */ static createContract(): TokenGenesis; static getDummyInstance(): TokenGenesis; static calLockingScriptSize(): number; static calUnlockingScriptSize(opreturnData: any): number; }