import { ByteString, FixedArray, Ripemd160 } from 'scrypt-ts'; import { NftGuardInfo } from '../contracts/nft/cat721'; import { CAT721State } from '../contracts/nft/cat721Proto'; import { Covenant } from '../lib/covenant'; import { CAT721GuardCovenant } from './cat721GuardCovenant'; import { SubContractCall } from '../lib/catPsbt'; import { InputContext } from '../contracts/utils/sigHashUtils'; import { MAX_STATE } from '../contracts/utils/txUtil'; import { Cat721Utxo, ChainProvider } from '../lib/provider'; import { SupportedNetwork } from '../lib/constants'; import { InputTrace } from './cat20Covenant'; interface TraceableCat721Utxo extends Cat721Utxo { minterAddr: string; } export type TracedCat721Nft = { nft: CAT721Covenant; trace: InputTrace; }; export declare class CAT721Covenant extends Covenant { readonly minterAddr: string; static readonly LOCKED_ASM_VERSION = "0176b77f091a0f5bb4ef9f4ee455302f"; constructor(minterAddr: string, state?: CAT721State, network?: SupportedNetwork); static createTransferGuard(inputInfos: { nft: CAT721Covenant; inputIndex: number; }[], receivers: { address: Ripemd160; outputIndex: number; }[]): { guard: CAT721GuardCovenant; outputNfts: FixedArray; changeOutputIndex?: number; }; static createBurnGuard(inputInfos: { nft: CAT721Covenant; inputIndex: number; }[]): { guard: CAT721GuardCovenant; outputNfts: FixedArray; changeOutputIndex?: number; }; static backtrace(cat721Utxos: TraceableCat721Utxo[], chainProvider: ChainProvider): Promise; serializedState(): ByteString; userSpend(inputIndex: number, inputCtxs: Map, inputNftTrace: InputTrace, guardInfo: NftGuardInfo, isP2TR: boolean, pubKey: ByteString): SubContractCall; contractSpend(inputIndex: number, inputCtxs: Map, inputNftTrace: InputTrace, guardInfo: NftGuardInfo, contractInputIndex: number): SubContractCall; get minterScriptHex(): string; private unlockArgsBuilder; } export {}; //# sourceMappingURL=cat721Covenant.d.ts.map