UNPKG

@silvana-one/nft

Version:
740 lines (739 loc) 49.7 kB
import { CollectionFactory } from "./contracts/index.js"; import { OfferFactory } from "./marketplace/offer.js"; import { NFTOwnerContractConstructor, NFTAdminContractConstructor, NFTApprovalContractConstructor, DefineApprovalFactory, DefineOwnerFactory, DefineUpdateFactory, NFTUpdateContractConstructor } from "./interfaces/index.js"; export declare const NFTAdvancedAdmin: { new (address: import("o1js").PublicKey, tokenId?: import("o1js").Field): { admin: import("o1js").State<import("o1js").PublicKey>; upgradeAuthority: import("o1js").State<import("o1js").PublicKey>; whitelist: import("o1js").State<import("@silvana-one/storage").Whitelist>; data: import("o1js").State<import("node_modules/o1js/dist/node/lib/provable/field.js").Field>; deploy(props: import("./admin/advanced.js").NFTAdvancedAdminDeployProps): Promise<void>; events: { upgradeVerificationKey: typeof import("node_modules/o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("node_modules/o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("node_modules/o1js/dist/node/lib/provable/field.js").Field) => import("node_modules/o1js/dist/node/lib/provable/field.js").Field); pause: typeof import("./interfaces/pausable.js").PauseEvent; resume: typeof import("./interfaces/pausable.js").PauseEvent; ownershipChange: typeof import("./interfaces/ownable.js").OwnershipChangeEvent; updateWhitelist: typeof import("@silvana-one/storage").Whitelist; }; ensureOwnerSignature(): Promise<import("o1js").AccountUpdate>; readonly getUpgradeContractConstructor: import("@silvana-one/upgradable").UpgradeAuthorityContractConstructor; getUpgradeContract(): Promise<import("@silvana-one/upgradable").UpgradeAuthorityBase>; upgradeVerificationKey(vk: import("o1js").VerificationKey): Promise<void>; canMint(mintRequest: import("./interfaces/types.js").MintRequest): Promise<import("./interfaces/types.js").MintParamsOption>; canUpdate(input: import("./interfaces/types.js").NFTState, output: import("./interfaces/types.js").NFTState): Promise<import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool>; canTransfer(transferEvent: import("./interfaces/events.js").TransferEvent): Promise<import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool>; updateWhitelist(whitelist: import("@silvana-one/storage").Whitelist): Promise<void>; pause(): Promise<void>; resume(): Promise<void>; transferOwnership(to: import("o1js").PublicKey): Promise<import("o1js").PublicKey>; canChangeVerificationKey(vk: import("o1js").VerificationKey, address: import("o1js").PublicKey, tokenId: import("o1js").Field): Promise<import("o1js").Bool>; canChangeName(name: import("o1js").Field): Promise<import("o1js").Bool>; canChangeCreator(creator: import("o1js").PublicKey): Promise<import("o1js").Bool>; canChangeBaseUri(baseUri: import("o1js").Field): Promise<import("o1js").Bool>; canChangeRoyalty(royaltyFee: import("o1js").UInt32): Promise<import("o1js").Bool>; canChangeTransferFee(transferFee: import("o1js").UInt64): Promise<import("o1js").Bool>; canSetAdmin(admin: import("o1js").PublicKey): Promise<import("o1js").Bool>; canPause(): Promise<import("o1js").Bool>; canResume(): Promise<import("o1js").Bool>; "__#4@#private": any; address: import("o1js").PublicKey; tokenId: import("o1js").Field; init(): void; requireSignature(): void; skipAuthorization(): void; readonly self: import("o1js").AccountUpdate; newSelf(methodName?: string): import("o1js").AccountUpdate; sender: { self: import("o1js").SmartContract; getUnconstrained(): import("o1js").PublicKey; getAndRequireSignature(): import("o1js").PublicKey; }; readonly account: import("node_modules/o1js/dist/node/lib/mina/v1/precondition.js").Account; readonly network: import("node_modules/o1js/dist/node/lib/mina/v1/precondition.js").Network; readonly currentSlot: import("node_modules/o1js/dist/node/lib/mina/v1/precondition.js").CurrentSlot; approve(update: import("o1js").AccountUpdate | import("o1js").AccountUpdateTree | import("o1js").AccountUpdateForest): void; send(args: { to: import("o1js").PublicKey | import("o1js").AccountUpdate | import("o1js").SmartContract; amount: number | bigint | import("o1js").UInt64; }): import("o1js").AccountUpdate; readonly balance: { addInPlace(x: string | number | bigint | import("o1js").UInt64 | import("o1js").UInt32 | import("o1js").Int64): void; subInPlace(x: string | number | bigint | import("o1js").UInt64 | import("o1js").UInt32 | import("o1js").Int64): void; }; emitEventIf<K extends "upgradeVerificationKey" | "pause" | "resume" | "ownershipChange" | "updateWhitelist">(condition: import("o1js").Bool, type: K, event: any): void; emitEvent<K extends "upgradeVerificationKey" | "pause" | "resume" | "ownershipChange" | "updateWhitelist">(type: K, event: any): void; fetchEvents(start?: import("o1js").UInt32, end?: import("o1js").UInt32): Promise<{ type: string; event: { data: import("o1js").ProvablePure<any>; transactionInfo: { transactionHash: string; transactionStatus: string; transactionMemo: string; }; }; blockHeight: import("o1js").UInt32; blockHash: string; parentBlockHash: string; globalSlot: import("o1js").UInt32; chainStatus: string; }[]>; }; _methods?: import("node_modules/o1js/dist/node/lib/proof-system/zkprogram.js").MethodInterface[]; _methodMetadata?: Record<string, { actions: number; rows: number; digest: string; gates: import("node_modules/o1js/dist/node/bindings.js").Gate[]; proofs: import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofClass[]; }>; _provers?: import("node_modules/o1js/dist/node/bindings.js").Pickles.Prover[]; _verificationKey?: { data: string; hash: import("o1js").Field; }; Proof(): { new ({ proof, publicInput, publicOutput, maxProofsVerified, }: { proof: unknown; publicInput: import("o1js").ZkappPublicInput; publicOutput: undefined; maxProofsVerified: 0 | 2 | 1; }): { verify(): void; verifyIf(condition: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool): void; publicInput: import("o1js").ZkappPublicInput; publicOutput: undefined; proof: unknown; maxProofsVerified: 0 | 2 | 1; shouldVerify: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; declare(): boolean; toJSON(): import("o1js").JsonProof; publicFields(): { input: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; output: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; }; }; publicInputType: Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{ accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }, { accountUpdate: bigint; calls: bigint; }>, "fromFields"> & { fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => { accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; } & { toInput: (x: { accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }) => { fields?: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[] | undefined; packed?: [import("node_modules/o1js/dist/node/lib/provable/field.js").Field, number][] | undefined; }; toJSON: (x: { accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }) => { accountUpdate: string; calls: string; }; fromJSON: (x: { accountUpdate: string; calls: string; }) => { accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; empty: () => { accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; }; publicOutputType: import("o1js").ProvablePureExtended<undefined, undefined, null>; tag: () => typeof import("o1js").SmartContract; fromJSON<S extends import("node_modules/o1js/dist/node/lib/util/types.js").Subclass<typeof import("o1js").Proof>>(this: S, { maxProofsVerified, proof: proofString, publicInput: publicInputJson, publicOutput: publicOutputJson, }: import("o1js").JsonProof): Promise<import("o1js").Proof<import("o1js").InferProvable<S["publicInputType"]>, import("o1js").InferProvable<S["publicOutputType"]>>>; dummy<Input, OutPut>(publicInput: Input, publicOutput: OutPut, maxProofsVerified: 0 | 2 | 1, domainLog2?: number): Promise<import("o1js").Proof<Input, OutPut>>; readonly provable: { toFields: (value: import("o1js").Proof<any, any>) => import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; toAuxiliary: (value?: import("o1js").Proof<any, any> | undefined) => any[]; fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[], aux: any[]) => import("o1js").Proof<any, any>; sizeInFields(): number; check: (value: import("o1js").Proof<any, any>) => void; toValue: (x: import("o1js").Proof<any, any>) => import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>; fromValue: (x: import("o1js").Proof<any, any> | import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>) => import("o1js").Proof<any, any>; toCanonical?: ((x: import("o1js").Proof<any, any>) => import("o1js").Proof<any, any>) | undefined; }; publicFields(value: import("o1js").ProofBase<any, any>): { input: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; output: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; }; _proofFromBase64(proofString: string, maxProofsVerified: 0 | 2 | 1): unknown; _proofToBase64(proof: unknown, maxProofsVerified: 0 | 2 | 1): string; }; compile({ cache, forceRecompile }?: { cache?: import("o1js").Cache | undefined; forceRecompile?: boolean | undefined; }): Promise<{ verificationKey: { data: string; hash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; provers: import("node_modules/o1js/dist/node/bindings.js").Pickles.Prover[]; verify: (statement: import("node_modules/o1js/dist/node/bindings.js").Pickles.Statement<import("node_modules/o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst>, proof: unknown) => Promise<boolean>; }>; digest(): Promise<string>; getMaxProofsVerified(): Promise<0 | 2 | 1>; setVerificationKeyUnsafe(verificationKey: { data: string; hash: import("o1js").Field | string; }): void; runOutsideCircuit(run: () => void): void; analyzeMethods({ printSummary }?: { printSummary?: boolean | undefined; }): Promise<Record<string, { actions: number; rows: number; digest: string; gates: import("node_modules/o1js/dist/node/bindings.js").Gate[]; proofs: import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofClass[]; }>>; }; export type NonFungibleTokenContracts = { Collection: ReturnType<typeof CollectionFactory>; Approval: NFTApprovalContractConstructor; Owner: NFTOwnerContractConstructor; Admin: NFTAdminContractConstructor; Update: NFTUpdateContractConstructor; }; export declare function NonFungibleTokenContractsFactory(params: { adminContract?: NFTAdminContractConstructor; approvalFactory?: DefineApprovalFactory; ownerFactory?: DefineOwnerFactory; updateFactory?: DefineUpdateFactory; }): NonFungibleTokenContracts; export declare const Collection: { new (address: import("o1js").PublicKey, tokenId?: import("o1js").Field): { collectionName: import("o1js").State<import("node_modules/o1js/dist/node/lib/provable/field.js").Field>; creator: import("o1js").State<import("o1js").PublicKey>; admin: import("o1js").State<import("o1js").PublicKey>; baseURL: import("o1js").State<import("node_modules/o1js/dist/node/lib/provable/field.js").Field>; packedData: import("o1js").State<import("node_modules/o1js/dist/node/lib/provable/field.js").Field>; pendingCreatorX: import("o1js").State<import("node_modules/o1js/dist/node/lib/provable/field.js").Field>; deploy(props: import("./contracts/collection.js").CollectionDeployProps): Promise<void>; initialize(masterNFT: import("./interfaces/types.js").MintParams, collectionData: import("./interfaces/types.js").CollectionData): Promise<void>; events: { mint: typeof import("./interfaces/events.js").MintEvent; update: typeof import("./interfaces/events.js").NFTUpdateEvent; transfer: typeof import("./interfaces/events.js").TransferEvent; approve: typeof import("./interfaces/events.js").ApproveEvent; upgradeNFTVerificationKey: typeof import("./interfaces/events.js").UpgradeVerificationKeyEvent; upgradeVerificationKey: typeof import("./interfaces/events.js").UpgradeVerificationKeyEvent; limitMinting: typeof import("./interfaces/events.js").LimitMintingEvent; pause: typeof import("./interfaces/pausable.js").PauseEvent; resume: typeof import("./interfaces/pausable.js").PauseEvent; pauseNFT: typeof import("./interfaces/events.js").PauseNFTEvent; resumeNFT: typeof import("./interfaces/events.js").PauseNFTEvent; ownershipTransfer: typeof import("./interfaces/ownable.js").OwnershipChangeEvent; ownershipAccepted: typeof import("./interfaces/ownable.js").OwnershipChangeEvent; setName: typeof import("./interfaces/events.js").SetNameEvent; setBaseURL: typeof import("./interfaces/events.js").SetBaseURLEvent; setRoyaltyFee: typeof import("./interfaces/events.js").SetRoyaltyFeeEvent; setTransferFee: typeof import("./interfaces/events.js").SetTransferFeeEvent; setAdmin: typeof import("./interfaces/events.js").SetAdminEvent; }; approveBase(forest: import("o1js").AccountUpdateForest): Promise<void>; getAdminContract(): import("./interfaces/admin.js").NFTAdminBase; getOwnerContract(address: import("o1js").PublicKey): import("./interfaces/owner.js").NFTOwnerBase; getApprovalContract(address: import("o1js").PublicKey): import("./interfaces/approval.js").NFTApprovalBase; getUpdateContract(address: import("o1js").PublicKey): import("./interfaces/update.js").NFTUpdateBase; ensureCreatorSignature(): Promise<import("o1js").AccountUpdate>; ensureOwnerSignature(owner: import("o1js").PublicKey): Promise<import("o1js").AccountUpdate>; ensureNotPaused(): Promise<import("./interfaces/types.js").CollectionData>; mintByCreator(params: import("./interfaces/types.js").MintParams): Promise<void>; mint(mintRequest: import("./interfaces/types.js").MintRequest): Promise<void>; _mint(params: import("./interfaces/types.js").MintParams): Promise<import("./interfaces/events.js").MintEvent>; update(proof: import("./interfaces/types.js").NFTUpdateProof, vk: import("o1js").VerificationKey): Promise<void>; updateWithOracle(proof: import("./interfaces/types.js").NFTUpdateProof, vk: import("o1js").VerificationKey): Promise<void>; _update(proof: import("./interfaces/types.js").NFTUpdateProof, vk: import("o1js").VerificationKey): Promise<void>; approveAddress(nftAddress: import("o1js").PublicKey, approved: import("o1js").PublicKey): Promise<void>; approveAddressByProof(nftAddress: import("o1js").PublicKey, approved: import("o1js").PublicKey): Promise<void>; transferBySignature(params: import("./interfaces/types.js").TransferBySignatureParams): Promise<void>; transferByProof(params: import("./interfaces/types.js").TransferByProofParams): Promise<void>; adminApprovedTransferByProof(params: import("./interfaces/types.js").TransferByProofParams): Promise<void>; adminApprovedTransferBySignature(params: import("./interfaces/types.js").TransferBySignatureParams): Promise<void>; _transfer(params: { transferEventDraft: import("./interfaces/types.js").TransferExtendedParams; transferFee: import("o1js").UInt64; royaltyFee: import("o1js").UInt32; }): Promise<import("./interfaces/types.js").TransferExtendedParams>; upgradeNFTVerificationKeyBySignature(address: import("o1js").PublicKey, vk: import("o1js").VerificationKey): Promise<void>; upgradeNFTVerificationKeyByProof(address: import("o1js").PublicKey, vk: import("o1js").VerificationKey): Promise<void>; _upgrade(address: import("o1js").PublicKey, vk: import("o1js").VerificationKey): Promise<import("./interfaces/events.js").UpgradeVerificationKeyData>; upgradeVerificationKey(vk: import("o1js").VerificationKey): Promise<void>; limitMinting(): Promise<void>; pause(): Promise<void>; resume(): Promise<void>; pauseNFTBySignature(address: import("o1js").PublicKey): Promise<void>; pauseNFTByProof(address: import("o1js").PublicKey): Promise<void>; resumeNFT(address: import("o1js").PublicKey): Promise<void>; resumeNFTByProof(address: import("o1js").PublicKey): Promise<void>; setName(name: import("o1js").Field): Promise<void>; setBaseURL(baseURL: import("o1js").Field): Promise<void>; setAdmin(admin: import("o1js").PublicKey): Promise<void>; setRoyaltyFee(royaltyFee: import("o1js").UInt32): Promise<void>; setTransferFee(transferFee: import("o1js").UInt64): Promise<void>; transferOwnership(to: import("o1js").PublicKey): Promise<import("o1js").PublicKey>; acceptOwnership(): Promise<import("o1js").PublicKey>; getNFTState(address: import("o1js").PublicKey): Promise<import("./interfaces/types.js").NFTStateStruct>; deriveTokenId(): import("node_modules/o1js/dist/node/lib/provable/field.js").Field; readonly internal: { mint({ address, amount, }: { address: import("o1js").PublicKey | import("o1js").AccountUpdate | import("o1js").SmartContract; amount: number | bigint | import("o1js").UInt64; }): import("o1js").AccountUpdate; burn({ address, amount, }: { address: import("o1js").PublicKey | import("o1js").AccountUpdate | import("o1js").SmartContract; amount: number | bigint | import("o1js").UInt64; }): import("o1js").AccountUpdate; send({ from, to, amount, }: { from: import("o1js").PublicKey | import("o1js").AccountUpdate | import("o1js").SmartContract; to: import("o1js").PublicKey | import("o1js").AccountUpdate | import("o1js").SmartContract; amount: number | bigint | import("o1js").UInt64; }): import("o1js").AccountUpdate; }; forEachUpdate(updates: import("o1js").AccountUpdateForest, callback: (update: import("o1js").AccountUpdate, usesToken: import("o1js").Bool) => void): void; checkZeroBalanceChange(updates: import("o1js").AccountUpdateForest): void; approveAccountUpdate(accountUpdate: import("o1js").AccountUpdate | import("o1js").AccountUpdateTree): Promise<void>; approveAccountUpdates(accountUpdates: (import("o1js").AccountUpdate | import("o1js").AccountUpdateTree)[]): Promise<void>; transfer(from: import("o1js").PublicKey | import("o1js").AccountUpdate, to: import("o1js").PublicKey | import("o1js").AccountUpdate, amount: import("o1js").UInt64 | number | bigint): Promise<void>; "__#4@#private": any; address: import("o1js").PublicKey; tokenId: import("o1js").Field; init(): void; requireSignature(): void; skipAuthorization(): void; readonly self: import("o1js").AccountUpdate; newSelf(methodName?: string): import("o1js").AccountUpdate; sender: { self: import("o1js").SmartContract; getUnconstrained(): import("o1js").PublicKey; getAndRequireSignature(): import("o1js").PublicKey; }; readonly account: import("node_modules/o1js/dist/node/lib/mina/v1/precondition.js").Account; readonly network: import("node_modules/o1js/dist/node/lib/mina/v1/precondition.js").Network; readonly currentSlot: import("node_modules/o1js/dist/node/lib/mina/v1/precondition.js").CurrentSlot; approve(update: import("o1js").AccountUpdate | import("o1js").AccountUpdateTree | import("o1js").AccountUpdateForest): void; send(args: { to: import("o1js").PublicKey | import("o1js").AccountUpdate | import("o1js").SmartContract; amount: number | bigint | import("o1js").UInt64; }): import("o1js").AccountUpdate; readonly balance: { addInPlace(x: string | number | bigint | import("o1js").UInt64 | import("o1js").UInt32 | import("o1js").Int64): void; subInPlace(x: string | number | bigint | import("o1js").UInt64 | import("o1js").UInt32 | import("o1js").Int64): void; }; emitEventIf<K extends "update" | "approve" | "transfer" | "upgradeVerificationKey" | "pause" | "resume" | "mint" | "upgradeNFTVerificationKey" | "limitMinting" | "pauseNFT" | "resumeNFT" | "ownershipTransfer" | "ownershipAccepted" | "setName" | "setBaseURL" | "setRoyaltyFee" | "setTransferFee" | "setAdmin">(condition: import("o1js").Bool, type: K, event: any): void; emitEvent<K extends "update" | "approve" | "transfer" | "upgradeVerificationKey" | "pause" | "resume" | "mint" | "upgradeNFTVerificationKey" | "limitMinting" | "pauseNFT" | "resumeNFT" | "ownershipTransfer" | "ownershipAccepted" | "setName" | "setBaseURL" | "setRoyaltyFee" | "setTransferFee" | "setAdmin">(type: K, event: any): void; fetchEvents(start?: import("o1js").UInt32, end?: import("o1js").UInt32): Promise<{ type: string; event: { data: import("o1js").ProvablePure<any>; transactionInfo: { transactionHash: string; transactionStatus: string; transactionMemo: string; }; }; blockHeight: import("o1js").UInt32; blockHash: string; parentBlockHash: string; globalSlot: import("o1js").UInt32; chainStatus: string; }[]>; }; MAX_ACCOUNT_UPDATES: number; _methods?: import("node_modules/o1js/dist/node/lib/proof-system/zkprogram.js").MethodInterface[]; _methodMetadata?: Record<string, { actions: number; rows: number; digest: string; gates: import("node_modules/o1js/dist/node/bindings.js").Gate[]; proofs: import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofClass[]; }>; _provers?: import("node_modules/o1js/dist/node/bindings.js").Pickles.Prover[]; _verificationKey?: { data: string; hash: import("o1js").Field; }; Proof(): { new ({ proof, publicInput, publicOutput, maxProofsVerified, }: { proof: unknown; publicInput: import("o1js").ZkappPublicInput; publicOutput: undefined; maxProofsVerified: 0 | 2 | 1; }): { verify(): void; verifyIf(condition: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool): void; publicInput: import("o1js").ZkappPublicInput; publicOutput: undefined; proof: unknown; maxProofsVerified: 0 | 2 | 1; shouldVerify: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; declare(): boolean; toJSON(): import("o1js").JsonProof; publicFields(): { input: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; output: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; }; }; publicInputType: Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{ accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }, { accountUpdate: bigint; calls: bigint; }>, "fromFields"> & { fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => { accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; } & { toInput: (x: { accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }) => { fields?: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[] | undefined; packed?: [import("node_modules/o1js/dist/node/lib/provable/field.js").Field, number][] | undefined; }; toJSON: (x: { accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }) => { accountUpdate: string; calls: string; }; fromJSON: (x: { accountUpdate: string; calls: string; }) => { accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; empty: () => { accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; }; publicOutputType: import("o1js").ProvablePureExtended<undefined, undefined, null>; tag: () => typeof import("o1js").SmartContract; fromJSON<S extends import("node_modules/o1js/dist/node/lib/util/types.js").Subclass<typeof import("o1js").Proof>>(this: S, { maxProofsVerified, proof: proofString, publicInput: publicInputJson, publicOutput: publicOutputJson, }: import("o1js").JsonProof): Promise<import("o1js").Proof<import("o1js").InferProvable<S["publicInputType"]>, import("o1js").InferProvable<S["publicOutputType"]>>>; dummy<Input, OutPut>(publicInput: Input, publicOutput: OutPut, maxProofsVerified: 0 | 2 | 1, domainLog2?: number): Promise<import("o1js").Proof<Input, OutPut>>; readonly provable: { toFields: (value: import("o1js").Proof<any, any>) => import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; toAuxiliary: (value?: import("o1js").Proof<any, any> | undefined) => any[]; fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[], aux: any[]) => import("o1js").Proof<any, any>; sizeInFields(): number; check: (value: import("o1js").Proof<any, any>) => void; toValue: (x: import("o1js").Proof<any, any>) => import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>; fromValue: (x: import("o1js").Proof<any, any> | import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>) => import("o1js").Proof<any, any>; toCanonical?: ((x: import("o1js").Proof<any, any>) => import("o1js").Proof<any, any>) | undefined; }; publicFields(value: import("o1js").ProofBase<any, any>): { input: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; output: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; }; _proofFromBase64(proofString: string, maxProofsVerified: 0 | 2 | 1): unknown; _proofToBase64(proof: unknown, maxProofsVerified: 0 | 2 | 1): string; }; compile({ cache, forceRecompile }?: { cache?: import("o1js").Cache | undefined; forceRecompile?: boolean | undefined; }): Promise<{ verificationKey: { data: string; hash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; provers: import("node_modules/o1js/dist/node/bindings.js").Pickles.Prover[]; verify: (statement: import("node_modules/o1js/dist/node/bindings.js").Pickles.Statement<import("node_modules/o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst>, proof: unknown) => Promise<boolean>; }>; digest(): Promise<string>; getMaxProofsVerified(): Promise<0 | 2 | 1>; setVerificationKeyUnsafe(verificationKey: { data: string; hash: import("o1js").Field | string; }): void; runOutsideCircuit(run: () => void): void; analyzeMethods({ printSummary }?: { printSummary?: boolean | undefined; }): Promise<Record<string, { actions: number; rows: number; digest: string; gates: import("node_modules/o1js/dist/node/bindings.js").Gate[]; proofs: import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofClass[]; }>>; }, Approval: NFTApprovalContractConstructor, Owner: NFTOwnerContractConstructor, Admin: NFTAdminContractConstructor, Update: NFTUpdateContractConstructor; export declare const Offer: ReturnType<typeof OfferFactory>; export declare const AdvancedCollection: { new (address: import("o1js").PublicKey, tokenId?: import("o1js").Field): { collectionName: import("o1js").State<import("node_modules/o1js/dist/node/lib/provable/field.js").Field>; creator: import("o1js").State<import("o1js").PublicKey>; admin: import("o1js").State<import("o1js").PublicKey>; baseURL: import("o1js").State<import("node_modules/o1js/dist/node/lib/provable/field.js").Field>; packedData: import("o1js").State<import("node_modules/o1js/dist/node/lib/provable/field.js").Field>; pendingCreatorX: import("o1js").State<import("node_modules/o1js/dist/node/lib/provable/field.js").Field>; deploy(props: import("./contracts/collection.js").CollectionDeployProps): Promise<void>; initialize(masterNFT: import("./interfaces/types.js").MintParams, collectionData: import("./interfaces/types.js").CollectionData): Promise<void>; events: { mint: typeof import("./interfaces/events.js").MintEvent; update: typeof import("./interfaces/events.js").NFTUpdateEvent; transfer: typeof import("./interfaces/events.js").TransferEvent; approve: typeof import("./interfaces/events.js").ApproveEvent; upgradeNFTVerificationKey: typeof import("./interfaces/events.js").UpgradeVerificationKeyEvent; upgradeVerificationKey: typeof import("./interfaces/events.js").UpgradeVerificationKeyEvent; limitMinting: typeof import("./interfaces/events.js").LimitMintingEvent; pause: typeof import("./interfaces/pausable.js").PauseEvent; resume: typeof import("./interfaces/pausable.js").PauseEvent; pauseNFT: typeof import("./interfaces/events.js").PauseNFTEvent; resumeNFT: typeof import("./interfaces/events.js").PauseNFTEvent; ownershipTransfer: typeof import("./interfaces/ownable.js").OwnershipChangeEvent; ownershipAccepted: typeof import("./interfaces/ownable.js").OwnershipChangeEvent; setName: typeof import("./interfaces/events.js").SetNameEvent; setBaseURL: typeof import("./interfaces/events.js").SetBaseURLEvent; setRoyaltyFee: typeof import("./interfaces/events.js").SetRoyaltyFeeEvent; setTransferFee: typeof import("./interfaces/events.js").SetTransferFeeEvent; setAdmin: typeof import("./interfaces/events.js").SetAdminEvent; }; approveBase(forest: import("o1js").AccountUpdateForest): Promise<void>; getAdminContract(): import("./interfaces/admin.js").NFTAdminBase; getOwnerContract(address: import("o1js").PublicKey): import("./interfaces/owner.js").NFTOwnerBase; getApprovalContract(address: import("o1js").PublicKey): import("./interfaces/approval.js").NFTApprovalBase; getUpdateContract(address: import("o1js").PublicKey): import("./interfaces/update.js").NFTUpdateBase; ensureCreatorSignature(): Promise<import("o1js").AccountUpdate>; ensureOwnerSignature(owner: import("o1js").PublicKey): Promise<import("o1js").AccountUpdate>; ensureNotPaused(): Promise<import("./interfaces/types.js").CollectionData>; mintByCreator(params: import("./interfaces/types.js").MintParams): Promise<void>; mint(mintRequest: import("./interfaces/types.js").MintRequest): Promise<void>; _mint(params: import("./interfaces/types.js").MintParams): Promise<import("./interfaces/events.js").MintEvent>; update(proof: import("./interfaces/types.js").NFTUpdateProof, vk: import("o1js").VerificationKey): Promise<void>; updateWithOracle(proof: import("./interfaces/types.js").NFTUpdateProof, vk: import("o1js").VerificationKey): Promise<void>; _update(proof: import("./interfaces/types.js").NFTUpdateProof, vk: import("o1js").VerificationKey): Promise<void>; approveAddress(nftAddress: import("o1js").PublicKey, approved: import("o1js").PublicKey): Promise<void>; approveAddressByProof(nftAddress: import("o1js").PublicKey, approved: import("o1js").PublicKey): Promise<void>; transferBySignature(params: import("./interfaces/types.js").TransferBySignatureParams): Promise<void>; transferByProof(params: import("./interfaces/types.js").TransferByProofParams): Promise<void>; adminApprovedTransferByProof(params: import("./interfaces/types.js").TransferByProofParams): Promise<void>; adminApprovedTransferBySignature(params: import("./interfaces/types.js").TransferBySignatureParams): Promise<void>; _transfer(params: { transferEventDraft: import("./interfaces/types.js").TransferExtendedParams; transferFee: import("o1js").UInt64; royaltyFee: import("o1js").UInt32; }): Promise<import("./interfaces/types.js").TransferExtendedParams>; upgradeNFTVerificationKeyBySignature(address: import("o1js").PublicKey, vk: import("o1js").VerificationKey): Promise<void>; upgradeNFTVerificationKeyByProof(address: import("o1js").PublicKey, vk: import("o1js").VerificationKey): Promise<void>; _upgrade(address: import("o1js").PublicKey, vk: import("o1js").VerificationKey): Promise<import("./interfaces/events.js").UpgradeVerificationKeyData>; upgradeVerificationKey(vk: import("o1js").VerificationKey): Promise<void>; limitMinting(): Promise<void>; pause(): Promise<void>; resume(): Promise<void>; pauseNFTBySignature(address: import("o1js").PublicKey): Promise<void>; pauseNFTByProof(address: import("o1js").PublicKey): Promise<void>; resumeNFT(address: import("o1js").PublicKey): Promise<void>; resumeNFTByProof(address: import("o1js").PublicKey): Promise<void>; setName(name: import("o1js").Field): Promise<void>; setBaseURL(baseURL: import("o1js").Field): Promise<void>; setAdmin(admin: import("o1js").PublicKey): Promise<void>; setRoyaltyFee(royaltyFee: import("o1js").UInt32): Promise<void>; setTransferFee(transferFee: import("o1js").UInt64): Promise<void>; transferOwnership(to: import("o1js").PublicKey): Promise<import("o1js").PublicKey>; acceptOwnership(): Promise<import("o1js").PublicKey>; getNFTState(address: import("o1js").PublicKey): Promise<import("./interfaces/types.js").NFTStateStruct>; deriveTokenId(): import("node_modules/o1js/dist/node/lib/provable/field.js").Field; readonly internal: { mint({ address, amount, }: { address: import("o1js").PublicKey | import("o1js").AccountUpdate | import("o1js").SmartContract; amount: number | bigint | import("o1js").UInt64; }): import("o1js").AccountUpdate; burn({ address, amount, }: { address: import("o1js").PublicKey | import("o1js").AccountUpdate | import("o1js").SmartContract; amount: number | bigint | import("o1js").UInt64; }): import("o1js").AccountUpdate; send({ from, to, amount, }: { from: import("o1js").PublicKey | import("o1js").AccountUpdate | import("o1js").SmartContract; to: import("o1js").PublicKey | import("o1js").AccountUpdate | import("o1js").SmartContract; amount: number | bigint | import("o1js").UInt64; }): import("o1js").AccountUpdate; }; forEachUpdate(updates: import("o1js").AccountUpdateForest, callback: (update: import("o1js").AccountUpdate, usesToken: import("o1js").Bool) => void): void; checkZeroBalanceChange(updates: import("o1js").AccountUpdateForest): void; approveAccountUpdate(accountUpdate: import("o1js").AccountUpdate | import("o1js").AccountUpdateTree): Promise<void>; approveAccountUpdates(accountUpdates: (import("o1js").AccountUpdate | import("o1js").AccountUpdateTree)[]): Promise<void>; transfer(from: import("o1js").PublicKey | import("o1js").AccountUpdate, to: import("o1js").PublicKey | import("o1js").AccountUpdate, amount: import("o1js").UInt64 | number | bigint): Promise<void>; "__#4@#private": any; address: import("o1js").PublicKey; tokenId: import("o1js").Field; init(): void; requireSignature(): void; skipAuthorization(): void; readonly self: import("o1js").AccountUpdate; newSelf(methodName?: string): import("o1js").AccountUpdate; sender: { self: import("o1js").SmartContract; getUnconstrained(): import("o1js").PublicKey; getAndRequireSignature(): import("o1js").PublicKey; }; readonly account: import("node_modules/o1js/dist/node/lib/mina/v1/precondition.js").Account; readonly network: import("node_modules/o1js/dist/node/lib/mina/v1/precondition.js").Network; readonly currentSlot: import("node_modules/o1js/dist/node/lib/mina/v1/precondition.js").CurrentSlot; approve(update: import("o1js").AccountUpdate | import("o1js").AccountUpdateTree | import("o1js").AccountUpdateForest): void; send(args: { to: import("o1js").PublicKey | import("o1js").AccountUpdate | import("o1js").SmartContract; amount: number | bigint | import("o1js").UInt64; }): import("o1js").AccountUpdate; readonly balance: { addInPlace(x: string | number | bigint | import("o1js").UInt64 | import("o1js").UInt32 | import("o1js").Int64): void; subInPlace(x: string | number | bigint | import("o1js").UInt64 | import("o1js").UInt32 | import("o1js").Int64): void; }; emitEventIf<K extends "update" | "approve" | "transfer" | "upgradeVerificationKey" | "pause" | "resume" | "mint" | "upgradeNFTVerificationKey" | "limitMinting" | "pauseNFT" | "resumeNFT" | "ownershipTransfer" | "ownershipAccepted" | "setName" | "setBaseURL" | "setRoyaltyFee" | "setTransferFee" | "setAdmin">(condition: import("o1js").Bool, type: K, event: any): void; emitEvent<K extends "update" | "approve" | "transfer" | "upgradeVerificationKey" | "pause" | "resume" | "mint" | "upgradeNFTVerificationKey" | "limitMinting" | "pauseNFT" | "resumeNFT" | "ownershipTransfer" | "ownershipAccepted" | "setName" | "setBaseURL" | "setRoyaltyFee" | "setTransferFee" | "setAdmin">(type: K, event: any): void; fetchEvents(start?: import("o1js").UInt32, end?: import("o1js").UInt32): Promise<{ type: string; event: { data: import("o1js").ProvablePure<any>; transactionInfo: { transactionHash: string; transactionStatus: string; transactionMemo: string; }; }; blockHeight: import("o1js").UInt32; blockHash: string; parentBlockHash: string; globalSlot: import("o1js").UInt32; chainStatus: string; }[]>; }; MAX_ACCOUNT_UPDATES: number; _methods?: import("node_modules/o1js/dist/node/lib/proof-system/zkprogram.js").MethodInterface[]; _methodMetadata?: Record<string, { actions: number; rows: number; digest: string; gates: import("node_modules/o1js/dist/node/bindings.js").Gate[]; proofs: import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofClass[]; }>; _provers?: import("node_modules/o1js/dist/node/bindings.js").Pickles.Prover[]; _verificationKey?: { data: string; hash: import("o1js").Field; }; Proof(): { new ({ proof, publicInput, publicOutput, maxProofsVerified, }: { proof: unknown; publicInput: import("o1js").ZkappPublicInput; publicOutput: undefined; maxProofsVerified: 0 | 2 | 1; }): { verify(): void; verifyIf(condition: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool): void; publicInput: import("o1js").ZkappPublicInput; publicOutput: undefined; proof: unknown; maxProofsVerified: 0 | 2 | 1; shouldVerify: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; declare(): boolean; toJSON(): import("o1js").JsonProof; publicFields(): { input: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; output: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; }; }; publicInputType: Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{ accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }, { accountUpdate: bigint; calls: bigint; }>, "fromFields"> & { fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => { accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; } & { toInput: (x: { accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }) => { fields?: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[] | undefined; packed?: [import("node_modules/o1js/dist/node/lib/provable/field.js").Field, number][] | undefined; }; toJSON: (x: { accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }) => { accountUpdate: string; calls: string; }; fromJSON: (x: { accountUpdate: string; calls: string; }) => { accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; empty: () => { accountUpdate: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; calls: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; }; publicOutputType: import("o1js").ProvablePureExtended<undefined, undefined, null>; tag: () => typeof import("o1js").SmartContract; fromJSON<S extends import("node_modules/o1js/dist/node/lib/util/types.js").Subclass<typeof import("o1js").Proof>>(this: S, { maxProofsVerified, proof: proofString, publicInput: publicInputJson, publicOutput: publicOutputJson, }: import("o1js").JsonProof): Promise<import("o1js").Proof<import("o1js").InferProvable<S["publicInputType"]>, import("o1js").InferProvable<S["publicOutputType"]>>>; dummy<Input, OutPut>(publicInput: Input, publicOutput: OutPut, maxProofsVerified: 0 | 2 | 1, domainLog2?: number): Promise<import("o1js").Proof<Input, OutPut>>; readonly provable: { toFields: (value: import("o1js").Proof<any, any>) => import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; toAuxiliary: (value?: import("o1js").Proof<any, any> | undefined) => any[]; fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[], aux: any[]) => import("o1js").Proof<any, any>; sizeInFields(): number; check: (value: import("o1js").Proof<any, any>) => void; toValue: (x: import("o1js").Proof<any, any>) => import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>; fromValue: (x: import("o1js").Proof<any, any> | import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>) => import("o1js").Proof<any, any>; toCanonical?: ((x: import("o1js").Proof<any, any>) => import("o1js").Proof<any, any>) | undefined; }; publicFields(value: import("o1js").ProofBase<any, any>): { input: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; output: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; }; _proofFromBase64(proofString: string, maxProofsVerified: 0 | 2 | 1): unknown; _proofToBase64(proof: unknown, maxProofsVerified: 0 | 2 | 1): string; }; compile({ cache, forceRecompile }?: { cache?: import("o1js").Cache | undefined; forceRecompile?: boolean | undefined; }): Promise<{ verificationKey: { data: string; hash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; provers: import("node_modules/o1js/dist/node/bindings.js").Pickles.Prover[]; verify: (statement: import("node_modules/o1js/dist/node/bindings.js").Pickles.Statement<import("node_modules/o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst>, proof: unknown) => Promise<boolean>; }>; digest(): Promise<string>; getMaxProofsVerified(): Promise<0 | 2 | 1>; setVerificationKeyUnsafe(verificationKey: { data: string; hash: import("o1js").Field | string; }): void; runOutsideCircuit(run: () => void): void; analyzeMethods({ printSummary }?: { printSummary?: boolean | undefined; }): Promise<Record<string, { actions: number; rows: number; digest: string; gates: import("node_modules/o1js/dist/node/bindings.js").Gate[]; proofs: import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofClass[]; }>>; }, AdvancedApproval: NFTApprovalContractConstructor, AdvancedOwner: NFTOwnerContractConstructor, AdvancedAdmin: NFTAdminContractConstructor; export declare const AdvancedOffer: ReturnType<typeof OfferFactory>;