import { ByteString, SmartContract, PubKey, Sig, FixedArray } from 'scrypt-ts'; import { PrevoutsCtx, SHPreimage, SpentScriptsCtx } from '../utils/sigHashUtils'; import { MAX_INPUT, int32 } from '../utils/txUtil'; import { XrayedTxIdPreimg3 } from '../utils/txProof'; import { PreTxStatesInfo } from '../utils/stateUtils'; import { CAT721State } from './cat721Proto'; import { NftGuardConstState } from './nftGuardProto'; import { BacktraceInfo } from '../utils/backtrace'; export type NftGuardInfo = { tx: XrayedTxIdPreimg3; inputIndexVal: int32; outputIndex: ByteString; guardState: NftGuardConstState; }; export type NftUnlockArgs = { isUserSpend: boolean; userPubKeyPrefix: ByteString; userPubKey: PubKey; userSig: Sig; contractInputIndex: int32; }; export declare class CAT721 extends SmartContract { minterScript: ByteString; guardScript: ByteString; constructor(minterScript: ByteString, guardScript: ByteString); unlock(nftUnlockArgs: NftUnlockArgs, preState: CAT721State, preTxStatesInfo: PreTxStatesInfo, guardInfo: NftGuardInfo, backtraceInfo: BacktraceInfo, shPreimage: SHPreimage, prevoutsCtx: PrevoutsCtx, spentScriptsCtx: SpentScriptsCtx): void; valitateNftGuard(guardInfo: NftGuardInfo, preScript: ByteString, preState: CAT721State, inputIndexVal: int32, prevouts: FixedArray, spentScripts: SpentScriptsCtx): boolean; } //# sourceMappingURL=cat721.d.ts.map