UNPKG

@silvana-one/nft

Version:
1,055 lines 93.7 kB
import { Field, PublicKey, Bool, UInt32, UInt64, DynamicProof, Option, Account } from "o1js"; import { Storage } from "@silvana-one/storage"; export { MintParams, MintParamsOption, MintRequest, NFTDataPacked, NFTData, CollectionData, NFTState, NFTImmutableState, NFTUpdateProof, NFTStateStruct, UInt64Option, TransferBySignatureParams, TransferByProofParams, MAX_ROYALTY_FEE, NFTTransactionContext, TransferExtendedParams, }; declare const UInt64Option_base: Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<Option<UInt64, bigint>, bigint | undefined>, "fromFields"> & { fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => Option<UInt64, bigint>; } & (new (option: { isSome: Bool; value: UInt64; }) => Option<UInt64, bigint>) & { fromValue(value: bigint | UInt64 | { isSome: boolean | Bool; value: bigint | UInt64; } | undefined): Option<UInt64, bigint>; from(value?: bigint | UInt64 | undefined): Option<UInt64, bigint>; none(): Option<UInt64, bigint>; }; declare class UInt64Option extends UInt64Option_base { } declare const NFTDataPacked_base: (new (value: { ownerX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; approvedX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; data: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }) => { ownerX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; approvedX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; data: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }) & { _isStruct: true; } & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{ ownerX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; approvedX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; data: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }, { ownerX: bigint; approvedX: bigint; data: bigint; }>, "fromFields"> & { fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => { ownerX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; approvedX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; data: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; } & { fromValue: (value: { ownerX: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field; approvedX: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field; data: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }) => { ownerX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; approvedX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; data: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; toInput: (x: { ownerX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; approvedX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; data: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }) => { fields?: Field[] | undefined; packed?: [Field, number][] | undefined; }; toJSON: (x: { ownerX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; approvedX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; data: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }) => { ownerX: string; approvedX: string; data: string; }; fromJSON: (x: { ownerX: string; approvedX: string; data: string; }) => { ownerX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; approvedX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; data: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; empty: () => { ownerX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; approvedX: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; data: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; }; declare class NFTDataPacked extends NFTDataPacked_base { static assertEqual(a: NFTDataPacked, b: NFTDataPacked): void; } declare const NFTStateStruct_base: (new (value: { name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; packedData: NFTDataPacked; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }) => { name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; packedData: NFTDataPacked; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }) & { _isStruct: true; } & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{ name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; packedData: NFTDataPacked; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }, { name: bigint; metadata: bigint; storage: { url: bigint[]; }; packedData: { ownerX: bigint; approvedX: bigint; data: bigint; }; metadataVerificationKeyHash: bigint; }>, "fromFields"> & { fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => { name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; packedData: NFTDataPacked; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; } & { fromValue: (value: { name: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field; metadata: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage | { url: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[] | bigint[]; }; packedData: NFTDataPacked | { ownerX: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field; approvedX: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field; data: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; metadataVerificationKeyHash: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }) => { name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; packedData: NFTDataPacked; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; toInput: (x: { name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; packedData: NFTDataPacked; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }) => { fields?: Field[] | undefined; packed?: [Field, number][] | undefined; }; toJSON: (x: { name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; packedData: NFTDataPacked; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }) => { name: string; metadata: string; storage: { url: string[]; }; packedData: { ownerX: string; approvedX: string; data: string; }; metadataVerificationKeyHash: string; }; fromJSON: (x: { name: string; metadata: string; storage: { url: string[]; }; packedData: { ownerX: string; approvedX: string; data: string; }; metadataVerificationKeyHash: string; }) => { name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; packedData: NFTDataPacked; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; empty: () => { name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; packedData: NFTDataPacked; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; }; /** * Represents the on-chain state structure of an NFT. * The order of the fields is important and should match the NFT SmartContract. */ declare class NFTStateStruct extends NFTStateStruct_base { /** * Creates an NFTStateStruct from an account's app state. * @param account The account containing the zkApp state. * @returns A new NFTStateStruct instance. */ static fromAccount(account: Account): { name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; packedData: NFTDataPacked; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; }; /** * Asserts that two NFTStateStruct instances are equal. * @param a The first NFTStateStruct instance. * @param b The second NFTStateStruct instance. */ static assertEqual(a: NFTStateStruct, b: NFTStateStruct): void; } declare const NFTImmutableState_base: (new (value: { canChangeOwnerByProof: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; address: PublicKey; tokenId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; id: UInt64; }) => { canChangeOwnerByProof: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; address: PublicKey; tokenId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; id: UInt64; }) & { _isStruct: true; } & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{ canChangeOwnerByProof: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; address: PublicKey; tokenId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; id: UInt64; }, { canChangeOwnerByProof: boolean; canTransfer: boolean; canApprove: boolean; canChangeMetadata: boolean; canChangeStorage: boolean; canChangeName: boolean; canChangeMetadataVerificationKeyHash: boolean; canPause: boolean; address: { x: bigint; isOdd: boolean; }; tokenId: bigint; id: bigint; }>, "fromFields"> & { fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => { canChangeOwnerByProof: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; address: PublicKey; tokenId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; id: UInt64; }; } & { fromValue: (value: { canChangeOwnerByProof: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; address: PublicKey | { x: Field | bigint; isOdd: Bool | boolean; }; tokenId: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field; id: number | bigint | UInt64; }) => { canChangeOwnerByProof: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; address: PublicKey; tokenId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; id: UInt64; }; toInput: (x: { canChangeOwnerByProof: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; address: PublicKey; tokenId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; id: UInt64; }) => { fields?: Field[] | undefined; packed?: [Field, number][] | undefined; }; toJSON: (x: { canChangeOwnerByProof: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; address: PublicKey; tokenId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; id: UInt64; }) => { canChangeOwnerByProof: boolean; canTransfer: boolean; canApprove: boolean; canChangeMetadata: boolean; canChangeStorage: boolean; canChangeName: boolean; canChangeMetadataVerificationKeyHash: boolean; canPause: boolean; address: string; tokenId: string; id: string; }; fromJSON: (x: { canChangeOwnerByProof: boolean; canTransfer: boolean; canApprove: boolean; canChangeMetadata: boolean; canChangeStorage: boolean; canChangeName: boolean; canChangeMetadataVerificationKeyHash: boolean; canPause: boolean; address: string; tokenId: string; id: string; }) => { canChangeOwnerByProof: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; address: PublicKey; tokenId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; id: UInt64; }; empty: () => { canChangeOwnerByProof: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; address: PublicKey; tokenId: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; id: UInt64; }; }; /** * Represents the immutable state of an NFT, containing read-only properties * and flags that determine the NFT's behavior and permissions. */ declare class NFTImmutableState extends NFTImmutableState_base { /** * Asserts that two NFTImmutableState instances are equal. * @param a The first NFTImmutableState instance. * @param b The second NFTImmutableState instance. */ static assertEqual(a: NFTImmutableState, b: NFTImmutableState): void; /** * Creates a new NFTImmutableState from NFTData and other parameters. * @param params The parameters including nftData, creator, address, and tokenId. * @returns A new NFTImmutableState instance. */ static fromNFTData(params: { nftData: NFTData; address: PublicKey; tokenId: Field; }): NFTImmutableState; } declare const NFTTransactionContext_base: (new (value: { custom: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; }) => { custom: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; }) & { _isStruct: true; } & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{ custom: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; }, { custom: bigint[]; }>, "fromFields"> & { fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => { custom: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; }; } & { fromValue: (value: { custom: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[] | bigint[]; }) => { custom: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; }; toInput: (x: { custom: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; }) => { fields?: Field[] | undefined; packed?: [Field, number][] | undefined; }; toJSON: (x: { custom: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; }) => { custom: string[]; }; fromJSON: (x: { custom: string[]; }) => { custom: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; }; empty: () => { custom: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]; }; }; declare class NFTTransactionContext extends NFTTransactionContext_base { static assertEqual(a: NFTTransactionContext, b: NFTTransactionContext): void; } declare const NFTState_base: (new (value: { immutableState: NFTImmutableState; name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; owner: PublicKey; approved: PublicKey; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; version: UInt64; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; creator: PublicKey; context: NFTTransactionContext; oracleAddress: PublicKey; }) => { immutableState: NFTImmutableState; name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; owner: PublicKey; approved: PublicKey; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; version: UInt64; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; creator: PublicKey; context: NFTTransactionContext; oracleAddress: PublicKey; }) & { _isStruct: true; } & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{ immutableState: NFTImmutableState; name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; owner: PublicKey; approved: PublicKey; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; version: UInt64; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; creator: PublicKey; context: NFTTransactionContext; oracleAddress: PublicKey; }, { immutableState: { canChangeOwnerByProof: boolean; canTransfer: boolean; canApprove: boolean; canChangeMetadata: boolean; canChangeStorage: boolean; canChangeName: boolean; canChangeMetadataVerificationKeyHash: boolean; canPause: boolean; address: { x: bigint; isOdd: boolean; }; tokenId: bigint; id: bigint; }; name: bigint; owner: { x: bigint; isOdd: boolean; }; approved: { x: bigint; isOdd: boolean; }; metadata: bigint; storage: { url: bigint[]; }; version: bigint; isPaused: boolean; metadataVerificationKeyHash: bigint; creator: { x: bigint; isOdd: boolean; }; context: { custom: bigint[]; }; oracleAddress: { x: bigint; isOdd: boolean; }; }>, "fromFields"> & { fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => { immutableState: NFTImmutableState; name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; owner: PublicKey; approved: PublicKey; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; version: UInt64; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; creator: PublicKey; context: NFTTransactionContext; oracleAddress: PublicKey; }; } & { fromValue: (value: { immutableState: NFTImmutableState | { canChangeOwnerByProof: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; address: PublicKey | { x: Field | bigint; isOdd: Bool | boolean; }; tokenId: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field; id: number | bigint | UInt64; }; name: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field; owner: PublicKey | { x: Field | bigint; isOdd: Bool | boolean; }; approved: PublicKey | { x: Field | bigint; isOdd: Bool | boolean; }; metadata: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage | { url: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[] | bigint[]; }; version: number | bigint | UInt64; isPaused: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; metadataVerificationKeyHash: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field; creator: PublicKey | { x: Field | bigint; isOdd: Bool | boolean; }; context: NFTTransactionContext | { custom: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[] | bigint[]; }; oracleAddress: PublicKey | { x: Field | bigint; isOdd: Bool | boolean; }; }) => { immutableState: NFTImmutableState; name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; owner: PublicKey; approved: PublicKey; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; version: UInt64; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; creator: PublicKey; context: NFTTransactionContext; oracleAddress: PublicKey; }; toInput: (x: { immutableState: NFTImmutableState; name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; owner: PublicKey; approved: PublicKey; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; version: UInt64; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; creator: PublicKey; context: NFTTransactionContext; oracleAddress: PublicKey; }) => { fields?: Field[] | undefined; packed?: [Field, number][] | undefined; }; toJSON: (x: { immutableState: NFTImmutableState; name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; owner: PublicKey; approved: PublicKey; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; version: UInt64; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; creator: PublicKey; context: NFTTransactionContext; oracleAddress: PublicKey; }) => { immutableState: { canChangeOwnerByProof: boolean; canTransfer: boolean; canApprove: boolean; canChangeMetadata: boolean; canChangeStorage: boolean; canChangeName: boolean; canChangeMetadataVerificationKeyHash: boolean; canPause: boolean; address: string; tokenId: string; id: string; }; name: string; owner: string; approved: string; metadata: string; storage: { url: string[]; }; version: string; isPaused: boolean; metadataVerificationKeyHash: string; creator: string; context: { custom: string[]; }; oracleAddress: string; }; fromJSON: (x: { immutableState: { canChangeOwnerByProof: boolean; canTransfer: boolean; canApprove: boolean; canChangeMetadata: boolean; canChangeStorage: boolean; canChangeName: boolean; canChangeMetadataVerificationKeyHash: boolean; canPause: boolean; address: string; tokenId: string; id: string; }; name: string; owner: string; approved: string; metadata: string; storage: { url: string[]; }; version: string; isPaused: boolean; metadataVerificationKeyHash: string; creator: string; context: { custom: string[]; }; oracleAddress: string; }) => { immutableState: NFTImmutableState; name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; owner: PublicKey; approved: PublicKey; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; version: UInt64; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; creator: PublicKey; context: NFTTransactionContext; oracleAddress: PublicKey; }; empty: () => { immutableState: NFTImmutableState; name: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; owner: PublicKey; approved: PublicKey; metadata: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; storage: Storage; version: UInt64; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; metadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field; creator: PublicKey; context: NFTTransactionContext; oracleAddress: PublicKey; }; }; /** * Represents the full state of an NFT, including both immutable and mutable properties. */ declare class NFTState extends NFTState_base { /** * Asserts that two NFTState instances are equal. * @param a The first NFTState instance. * @param b The second NFTState instance. */ static assertEqual(a: NFTState, b: NFTState): void; /** * Creates a new NFTState from an NFTStateStruct and other parameters. * @param params The parameters including nftState, creator, address, and tokenId. * @returns A new NFTState instance. */ static fromNFTState(params: { nftState: NFTStateStruct; creator: PublicKey; address: PublicKey; tokenId: Field; context?: NFTTransactionContext; oracleAddress?: PublicKey; }): NFTState; } /** * Represents a dynamic proof used for updating the state of an NFT. */ declare class NFTUpdateProof extends DynamicProof<NFTState, NFTState> { static publicInputType: typeof NFTState; static publicOutputType: typeof NFTState; static maxProofsVerified: 2; static featureFlags: { rangeCheck0: undefined; rangeCheck1: undefined; foreignFieldAdd: undefined; foreignFieldMul: undefined; xor: undefined; rot: undefined; lookup: undefined; runtimeTables: undefined; }; } declare const NFTData_base: (new (value: { owner: PublicKey; approved: PublicKey; version: UInt64; id: UInt64; canChangeOwnerByProof: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; requireOwnerAuthorizationToUpgrade: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; }) => { owner: PublicKey; approved: PublicKey; version: UInt64; id: UInt64; canChangeOwnerByProof: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; requireOwnerAuthorizationToUpgrade: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; }) & { _isStruct: true; } & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{ owner: PublicKey; approved: PublicKey; version: UInt64; id: UInt64; canChangeOwnerByProof: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; requireOwnerAuthorizationToUpgrade: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; }, { owner: { x: bigint; isOdd: boolean; }; approved: { x: bigint; isOdd: boolean; }; version: bigint; id: bigint; canChangeOwnerByProof: boolean; canTransfer: boolean; canApprove: boolean; canChangeMetadata: boolean; canChangeStorage: boolean; canChangeName: boolean; canChangeMetadataVerificationKeyHash: boolean; canPause: boolean; isPaused: boolean; requireOwnerAuthorizationToUpgrade: boolean; }>, "fromFields"> & { fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => { owner: PublicKey; approved: PublicKey; version: UInt64; id: UInt64; canChangeOwnerByProof: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; requireOwnerAuthorizationToUpgrade: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; }; } & { fromValue: (value: { owner: PublicKey | { x: Field | bigint; isOdd: Bool | boolean; }; approved: PublicKey | { x: Field | bigint; isOdd: Bool | boolean; }; version: number | bigint | UInt64; id: number | bigint | UInt64; canChangeOwnerByProof: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; isPaused: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; requireOwnerAuthorizationToUpgrade: boolean | import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; }) => { owner: PublicKey; approved: PublicKey; version: UInt64; id: UInt64; canChangeOwnerByProof: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; requireOwnerAuthorizationToUpgrade: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; }; toInput: (x: { owner: PublicKey; approved: PublicKey; version: UInt64; id: UInt64; canChangeOwnerByProof: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; requireOwnerAuthorizationToUpgrade: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; }) => { fields?: Field[] | undefined; packed?: [Field, number][] | undefined; }; toJSON: (x: { owner: PublicKey; approved: PublicKey; version: UInt64; id: UInt64; canChangeOwnerByProof: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; requireOwnerAuthorizationToUpgrade: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; }) => { owner: string; approved: string; version: string; id: string; canChangeOwnerByProof: boolean; canTransfer: boolean; canApprove: boolean; canChangeMetadata: boolean; canChangeStorage: boolean; canChangeName: boolean; canChangeMetadataVerificationKeyHash: boolean; canPause: boolean; isPaused: boolean; requireOwnerAuthorizationToUpgrade: boolean; }; fromJSON: (x: { owner: string; approved: string; version: string; id: string; canChangeOwnerByProof: boolean; canTransfer: boolean; canApprove: boolean; canChangeMetadata: boolean; canChangeStorage: boolean; canChangeName: boolean; canChangeMetadataVerificationKeyHash: boolean; canPause: boolean; isPaused: boolean; requireOwnerAuthorizationToUpgrade: boolean; }) => { owner: PublicKey; approved: PublicKey; version: UInt64; id: UInt64; canChangeOwnerByProof: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; requireOwnerAuthorizationToUpgrade: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; }; empty: () => { owner: PublicKey; approved: PublicKey; version: UInt64; id: UInt64; canChangeOwnerByProof: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canTransfer: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canApprove: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadata: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeStorage: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeName: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canChangeMetadataVerificationKeyHash: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; canPause: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; requireOwnerAuthorizationToUpgrade: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; }; }; /** * Represents the data associated with an NFT, including state and permission flags. */ declare class NFTData extends NFTData_base { /** * Creates a new NFTData instance with optional parameters. * @param params The parameters to create the NFTData. * @returns A new NFTData instance. */ static new(params: { owner: string | PublicKey; approved?: string | PublicKey; version?: number | bigint | string; id?: bigint | string; canChangeOwnerByProof?: boolean; canTransfer?: boolean; canApprove?: boolean; canChangeMetadata?: boolean; canChangeStorage?: boolean; canChangeName?: boolean; canChangeMetadataVerificationKeyHash?: boolean; canPause?: boolean; isPaused?: boolean; requireOwnerAuthorizationToUpgrade?: boolean; }): NFTData; /** * Packs the NFTData into a single Field for efficient storage. * @returns The packed Field representation of the NFTData. */ pack(): NFTDataPacked; /** * Unpacks a Field into an NFTData instance. * @param packed The packed Field representation of the NFTData. * @returns A new NFTData instance. */ static unpack(packed: NFTDataPacked): NFTData; } declare const MAX_ROYALTY_FEE = 100000; declare const CollectionData_base: (new (value: { royaltyFee: UInt32; transferFee: UInt64; requireTransferApproval: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; mintingIsLimited: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; isPaused: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; pendingCreatorIsOdd: import("node_modules/o1js/dist/node/lib/provable/bool.js").Bool; }) => { royaltyFee: