{"version":3,"sources":["../../src/api/digitalAsset.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n  AnyNumber,\n  GetCollectionDataResponse,\n  GetCurrentTokenOwnershipResponse,\n  GetOwnedTokensResponse,\n  GetTokenActivityResponse,\n  GetTokenDataResponse,\n  MoveStructId,\n  OrderByArg,\n  PaginationArgs,\n  TokenStandardArg,\n} from \"../types\";\nimport { AccountAddress, AccountAddressInput } from \"../core\";\nimport { Account } from \"../account\";\nimport { InputGenerateTransactionOptions } from \"../transactions/types\";\nimport {\n  addDigitalAssetPropertyTransaction,\n  addDigitalAssetTypedPropertyTransaction,\n  burnDigitalAssetTransaction,\n  CreateCollectionOptions,\n  createCollectionTransaction,\n  freezeDigitalAssetTransferTransaction,\n  getCollectionData,\n  getCollectionDataByCollectionId,\n  getCollectionId,\n  getCurrentDigitalAssetOwnership,\n  getDigitalAssetActivity,\n  getDigitalAssetData,\n  getOwnedDigitalAssets,\n  mintDigitalAssetTransaction,\n  mintSoulBoundTransaction,\n  PropertyType,\n  PropertyValue,\n  removeDigitalAssetPropertyTransaction,\n  setDigitalAssetDescriptionTransaction,\n  setDigitalAssetNameTransaction,\n  setDigitalAssetURITransaction,\n  transferDigitalAssetTransaction,\n  unfreezeDigitalAssetTransferTransaction,\n  updateDigitalAssetPropertyTransaction,\n  updateDigitalAssetTypedPropertyTransaction,\n} from \"../internal/digitalAsset\";\nimport { ProcessorType } from \"../utils/const\";\nimport { AptosConfig } from \"./aptosConfig\";\nimport { waitForIndexerOnVersion } from \"./utils\";\nimport { SimpleTransaction } from \"../transactions/instances/simpleTransaction\";\n\n/**\n * A class to query all `DigitalAsset` related queries on Aptos.\n */\nexport class DigitalAsset {\n  constructor(readonly config: AptosConfig) {}\n\n  /**\n   * Queries data of a specific collection by the collection creator address and the collection name.\n   *\n   * If, for some reason, a creator account has 2 collections with the same name in v1 and v2,\n   * can pass an optional `tokenStandard` parameter to query a specific standard\n   *\n   * @example\n   * const collection = await aptos.getCollectionData({creatorAddress:\"0x123\",collectionName:\"myCollection\"})\n   *\n   * @param args.creatorAddress the address of the collection's creator\n   * @param args.collectionName the name of the collection\n   * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n   * @param args.options.tokenStandard the token standard to query\n   * @returns GetCollectionDataResponse response type\n   */\n  async getCollectionData(args: {\n    creatorAddress: AccountAddressInput;\n    collectionName: string;\n    minimumLedgerVersion?: AnyNumber;\n    options?: TokenStandardArg;\n  }): Promise<GetCollectionDataResponse> {\n    await waitForIndexerOnVersion({\n      config: this.config,\n      minimumLedgerVersion: args.minimumLedgerVersion,\n      processorType: ProcessorType.TOKEN_V2_PROCESSOR,\n    });\n    return getCollectionData({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Queries data of a specific collection by the collection ID.\n   *\n   * @example\n   * const collection = await aptos.getCollectionDataByCollectionId({collectionId:\"0x123\"})\n   *\n   * @param args.collectionId the ID of the collection, it's the same thing as the address of the collection object\n   * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n   * @returns GetCollectionDataResponse response type\n   */\n  async getCollectionDataByCollectionId(args: {\n    collectionId: AccountAddressInput;\n    minimumLedgerVersion?: AnyNumber;\n  }): Promise<GetCollectionDataResponse> {\n    await waitForIndexerOnVersion({\n      config: this.config,\n      minimumLedgerVersion: args.minimumLedgerVersion,\n      processorType: ProcessorType.TOKEN_V2_PROCESSOR,\n    });\n    return getCollectionDataByCollectionId({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Queries a collection's ID.\n   *\n   * This is the same as the collection's object address in V2, but V1 does\n   * not use objects, and does not have an address\n   *\n   * @example\n   * const collection = await aptos.getCollectionId({creatorAddress:\"0x123\",collectionName:\"myCollection\"})\n   *\n   * @param args.creatorAddress the address of the collection's creator\n   * @param args.collectionName the name of the collection\n   * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n   * @param args.options.tokenStandard the token standard to query\n   * @returns the collection id\n   */\n  async getCollectionId(args: {\n    creatorAddress: AccountAddressInput;\n    collectionName: string;\n    minimumLedgerVersion?: AnyNumber;\n    options?: TokenStandardArg;\n  }): Promise<string> {\n    await waitForIndexerOnVersion({\n      config: this.config,\n      minimumLedgerVersion: args.minimumLedgerVersion,\n      processorType: ProcessorType.TOKEN_V2_PROCESSOR,\n    });\n    return getCollectionId({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Gets digital asset data given the address of a digital asset.\n   *\n   * @example\n   * const digitalAsset = await aptos.getDigitalAssetData({digitalAssetAddress:\"0x123\"})\n   *\n   * @param args.tokenAddress The address of the digital asset\n   * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n   * @returns GetTokenDataResponse containing relevant data to the digital asset.\n   */\n  async getDigitalAssetData(args: {\n    digitalAssetAddress: AccountAddressInput;\n    minimumLedgerVersion?: AnyNumber;\n  }): Promise<GetTokenDataResponse> {\n    await waitForIndexerOnVersion({\n      config: this.config,\n      minimumLedgerVersion: args.minimumLedgerVersion,\n      processorType: ProcessorType.TOKEN_V2_PROCESSOR,\n    });\n    return getDigitalAssetData({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Gets digital asset ownership data given the address of a digital asset.\n   *\n   * @example\n   * const digitalAssetOwner = await aptos.getCurrentDigitalAssetOwnership({digitalAssetAddress:\"0x123\"})\n   *\n   * @param args.tokenAddress The address of the digital asset\n   * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n   *\n   * @returns GetCurrentTokenOwnershipResponse containing relevant ownership data of the digital asset.\n   */\n  async getCurrentDigitalAssetOwnership(args: {\n    digitalAssetAddress: AccountAddressInput;\n    minimumLedgerVersion?: AnyNumber;\n  }): Promise<GetCurrentTokenOwnershipResponse> {\n    await waitForIndexerOnVersion({\n      config: this.config,\n      minimumLedgerVersion: args.minimumLedgerVersion,\n      processorType: ProcessorType.TOKEN_V2_PROCESSOR,\n    });\n    return getCurrentDigitalAssetOwnership({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Gets the digital assets that the given address owns.\n   *\n   * @example\n   * const digitalAssets = await aptos.getOwnedDigitalAssets({ownerAddress:\"0x123\"})\n   *\n   * @param args.ownerAddress The address of the owner\n   * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n   *\n   * @returns GetOwnedTokensResponse containing ownership data of the digital assets belonging to the ownerAddresss.\n   */\n  async getOwnedDigitalAssets(args: {\n    ownerAddress: AccountAddressInput;\n    minimumLedgerVersion?: AnyNumber;\n    options?: PaginationArgs & OrderByArg<GetOwnedTokensResponse[0]>;\n  }): Promise<GetOwnedTokensResponse> {\n    await waitForIndexerOnVersion({\n      config: this.config,\n      minimumLedgerVersion: args.minimumLedgerVersion,\n      processorType: ProcessorType.TOKEN_V2_PROCESSOR,\n    });\n    return getOwnedDigitalAssets({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Gets the activity data given the address of a digital asset.\n   *\n   * @example\n   * const digitalAssetActivity = await aptos.getDigitalAssetActivity({digitalAssetAddress:\"0x123\"})\n   *\n   * @param args.tokenAddress The address of the digital asset\n   * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n   *\n   * @returns GetTokenActivityResponse containing relevant activity data to the digital asset.\n   */\n  async getDigitalAssetActivity(args: {\n    digitalAssetAddress: AccountAddressInput;\n    minimumLedgerVersion?: AnyNumber;\n    options?: PaginationArgs & OrderByArg<GetTokenActivityResponse[0]>;\n  }): Promise<GetTokenActivityResponse> {\n    await waitForIndexerOnVersion({\n      config: this.config,\n      minimumLedgerVersion: args.minimumLedgerVersion,\n      processorType: ProcessorType.TOKEN_V2_PROCESSOR,\n    });\n    return getDigitalAssetActivity({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Creates a new collection within the specified account\n   *\n   * @example\n   * const transaction = await aptos.createCollectionTransaction({\n   *  creator: alice,\n   *  description: \"collectionDescription\",\n   *  name: \"collectionName\",\n   *  uri: \"collection-uri.com\",\n   * });\n   *\n   * @param args.creator the account of the collection's creator\n   * @param args.description the description of the collection\n   * @param args.name the name of the collection\n   * @param args.uri the URI to additional info about the collection\n   *\n   * The parameters below are optional.\n   * @param args.maxSupply controls the max supply of the digital assets - defaults MAX_U64_BIG_INT\n   * @param args.mutableDescription controls mutability of the collection's description - defaults true\n   * @param args.mutableRoyalty controls mutability of the collection's description - defaults true\n   * @param args.mutableUri controls mutability of the collection's URI - defaults true\n   * @param args.mutableTokenDescription controls mutability of the digital asset's description - defaults true\n   * @param args.mutableTokenName controls mutability of the digital asset's name - defaults true\n   * @param args.mutableTokenProperties controls mutability of digital asset's properties - defaults true\n   * @param args.mutableTokenUri controls mutability of the digital asset's URI - defaults true\n   * @param args.tokensBurnableByCreator controls whether digital assets can be burnable by the creator - defaults true\n   * @param args.tokensFreezableByCreator controls whether digital assets can be frozen by the creator - defaults true\n   * @param args.royaltyNumerator the numerator of the royalty to be paid to the creator when\n   * a digital asset is transferred - defaults 0\n   * @param args.royaltyDenominator the denominator of the royalty to be paid to the creator\n   * when a digital asset is transferred - defaults 1\n   *\n   * @returns A SimpleTransaction that when submitted will create the collection.\n   */\n  async createCollectionTransaction(\n    args: {\n      creator: Account;\n      description: string;\n      name: string;\n      uri: string;\n      options?: InputGenerateTransactionOptions;\n    } & CreateCollectionOptions,\n  ): Promise<SimpleTransaction> {\n    return createCollectionTransaction({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Create a transaction to mint a digital asset into the creators account within an existing collection.\n   *\n   * @example\n   * const transaction = await aptos.mintDigitalAssetTransaction({\n   *  creator: alice,\n   *  description: \"collectionDescription\",\n   *  collection: \"collectionName\",\n   *  name: \"digitalAssetName\",\n   *  uri: \"digital-asset-uri.com\",\n   * });\n   *\n   * @param args.creator the creator of the collection\n   * @param args.collection the name of the collection the digital asset belongs to\n   * @param args.description the description of the digital asset\n   * @param args.name the name of the digital asset\n   * @param args.uri the URI to additional info about the digital asset\n   *\n   * @returns A SimpleTransaction that can be simulated or submitted to chain\n   */\n  async mintDigitalAssetTransaction(args: {\n    creator: Account;\n    collection: string;\n    description: string;\n    name: string;\n    uri: string;\n    propertyKeys?: Array<string>;\n    propertyTypes?: Array<PropertyType>;\n    propertyValues?: Array<PropertyValue>;\n    options?: InputGenerateTransactionOptions;\n  }): Promise<SimpleTransaction> {\n    return mintDigitalAssetTransaction({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Transfer a digital asset (non fungible digital asset) ownership.\n   *\n   * We can transfer a digital asset only when the digital asset is not frozen\n   * (i.e. owner transfer is not disabled such as for soul bound digital assets)\n   *\n   * @example\n   * const transaction = await aptos.transferDigitalAssetTransaction({\n   *  sender: alice,\n   *  digitalAssetAddress: \"0x123\",\n   *  recipient: \"0x456\",\n   * });\n   *\n   * @param args.sender The sender account of the current digital asset owner\n   * @param args.digitalAssetAddress The digital asset address\n   * @param args.recipient The recipient account address\n   * @param args.digitalAssetType optional. The digital asset type, default to \"0x4::token::Token\"\n   *\n   * @returns A SimpleTransaction that can be simulated or submitted to chain\n   */\n  async transferDigitalAssetTransaction(args: {\n    sender: Account;\n    digitalAssetAddress: AccountAddressInput;\n    recipient: AccountAddress;\n    digitalAssetType?: MoveStructId;\n    options?: InputGenerateTransactionOptions;\n  }): Promise<SimpleTransaction> {\n    return transferDigitalAssetTransaction({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Mint a soul bound digital asset into a recipient's account\n   *\n   * @example\n   * const transaction = await aptos.mintSoulBoundTransaction({\n   *  account: alice,\n   *  collection: \"collectionName\",\n   *  description: \"collectionDescription\",\n   *  name: \"digitalAssetName\",\n   *  uri: \"digital-asset-uri.com\",\n   *  recipient: \"0x123\"\n   * });\n   *\n   * @param args.account The account that mints the digital asset\n   * @param args.collection The collection name that the digital asset belongs to\n   * @param args.description The digital asset description\n   * @param args.name The digital asset name\n   * @param args.uri The digital asset URL\n   * @param args.recipient The account address where the digital asset will be created\n   * @param args.propertyKeys The property keys for storing on-chain properties\n   * @param args.propertyTypes The type of property values\n   * @param args.propertyValues The property values to be stored on-chain\n   *\n   * @returns A SimpleTransaction that can be simulated or submitted to chain\n   */\n  async mintSoulBoundTransaction(args: {\n    account: Account;\n    collection: string;\n    description: string;\n    name: string;\n    uri: string;\n    recipient: AccountAddressInput;\n    propertyKeys?: Array<string>;\n    propertyTypes?: Array<PropertyType>;\n    propertyValues?: Array<PropertyValue>;\n    options?: InputGenerateTransactionOptions;\n  }): Promise<SimpleTransaction> {\n    return mintSoulBoundTransaction({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Burn a digital asset by its creator\n   *\n   * @example\n   * const transaction = await aptos.burnDigitalAssetTransaction({\n   *  creator: alice,\n   *  digitalAssetAddress: \"0x123\",\n   * });\n   *\n   * @param args.creator The creator account\n   * @param args.digitalAssetAddress The digital asset address\n   *\n   * @returns A SimpleTransaction that can be simulated or submitted to chain\n   */\n  async burnDigitalAssetTransaction(args: {\n    creator: Account;\n    digitalAssetAddress: AccountAddressInput;\n    digitalAssetType?: MoveStructId;\n    options?: InputGenerateTransactionOptions;\n  }) {\n    return burnDigitalAssetTransaction({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Freeze digital asset transfer ability\n   *\n   * @example\n   * const transaction = await aptos.freezeDigitalAssetTransaferTransaction({\n   *  creator: alice,\n   *  digitalAssetAddress: \"0x123\",\n   * });\n   *\n   * @param args.creator The creator account\n   * @param args.digitalAssetAddress The digital asset address\n   *\n   * @returns A SimpleTransaction that can be simulated or submitted to chain\n   */\n  async freezeDigitalAssetTransaferTransaction(args: {\n    creator: Account;\n    digitalAssetAddress: AccountAddressInput;\n    digitalAssetType?: MoveStructId;\n    options?: InputGenerateTransactionOptions;\n  }) {\n    return freezeDigitalAssetTransferTransaction({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Unfreeze digital asset transfer ability\n   *\n   * @example\n   * const transaction = await aptos.unfreezeDigitalAssetTransaferTransaction({\n   *  creator: alice,\n   *  digitalAssetAddress: \"0x123\",\n   * });\n   *\n   * @param args.creator The creator account\n   * @param args.digitalAssetAddress The digital asset address\n   *\n   * @returns A SimpleTransaction that can be simulated or submitted to chain\n   */\n  async unfreezeDigitalAssetTransaferTransaction(args: {\n    creator: Account;\n    digitalAssetAddress: AccountAddressInput;\n    digitalAssetType?: MoveStructId;\n    options?: InputGenerateTransactionOptions;\n  }) {\n    return unfreezeDigitalAssetTransferTransaction({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Set the digital asset description\n   *\n   * @example\n   * const transaction = await aptos.setDigitalAssetDescriptionTransaction({\n   *  creator: alice,\n   *  description: \"digitalAssetDescription\",\n   *  digitalAssetAddress: \"0x123\",\n   * });\n   *\n   * @param args.creator The creator account\n   * @param args.description The digital asset description\n   * @param args.digitalAssetAddress The digital asset address\n   *\n   * @returns A SimpleTransaction that can be simulated or submitted to chain\n   */\n  async setDigitalAssetDescriptionTransaction(args: {\n    creator: Account;\n    description: string;\n    digitalAssetAddress: AccountAddressInput;\n    digitalAssetType?: MoveStructId;\n    options?: InputGenerateTransactionOptions;\n  }) {\n    return setDigitalAssetDescriptionTransaction({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Set the digital asset name\n   *\n   * @example\n   * const transaction = await aptos.setDigitalAssetNameTransaction({\n   *  creator: alice,\n   *  name: \"digitalAssetName\",\n   *  digitalAssetAddress: \"0x123\",\n   * });\n   *\n   * @param args.creator The creator account\n   * @param args.name The digital asset name\n   * @param args.digitalAssetAddress The digital asset address\n   *\n   * @returns A SimpleTransaction that can be simulated or submitted to chain\n   */\n  async setDigitalAssetNameTransaction(args: {\n    creator: Account;\n    name: string;\n    digitalAssetAddress: AccountAddressInput;\n    digitalAssetType?: MoveStructId;\n    options?: InputGenerateTransactionOptions;\n  }) {\n    return setDigitalAssetNameTransaction({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Set the digital asset name\n   *\n   * @example\n   * const transaction = await aptos.setDigitalAssetURITransaction({\n   *  creator: alice,\n   *  uri: \"digital-asset-uri.com\",\n   *  digitalAssetAddress: \"0x123\",\n   * });\n   *\n   * @param args.creator The creator account\n   * @param args.uri The digital asset uri\n   * @param args.digitalAssetAddress The digital asset address\n   *\n   * @returns A SimpleTransaction that can be simulated or submitted to chain\n   */\n  async setDigitalAssetURITransaction(args: {\n    creator: Account;\n    uri: string;\n    digitalAssetAddress: AccountAddressInput;\n    digitalAssetType?: MoveStructId;\n    options?: InputGenerateTransactionOptions;\n  }) {\n    return setDigitalAssetURITransaction({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Add a digital asset property\n   *\n   * @example\n   * const transaction = await aptos.addDigitalAssetPropertyTransaction({\n   *  creator: alice,\n   *  propertyKey: \"newKey\",\n   *  propertyType: \"BOOLEAN\",\n   *  propertyValue: true,\n   *  digitalAssetAddress: \"0x123\",\n   * });\n   *\n   * @param args.account The account that mints the digital asset\n   * @param args.digitalAssetAddress The digital asset address\n   * @param args.propertyKey The property key for storing on-chain properties\n   * @param args.propertyType The type of property value\n   * @param args.propertyValue The property value to be stored on-chain\n   *\n   * @returns A SimpleTransaction that can be simulated or submitted to chain\n   */\n  async addDigitalAssetPropertyTransaction(args: {\n    creator: Account;\n    propertyKey: string;\n    propertyType: PropertyType;\n    propertyValue: PropertyValue;\n    digitalAssetAddress: AccountAddressInput;\n    digitalAssetType?: MoveStructId;\n    options?: InputGenerateTransactionOptions;\n  }) {\n    return addDigitalAssetPropertyTransaction({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Remove a digital asset property\n   *\n   * @example\n   * const transaction = await aptos.removeDigitalAssetPropertyTransaction({\n   *  creator: alice,\n   *  propertyKey: \"newKey\",\n   *  propertyType: \"BOOLEAN\",\n   *  propertyValue: true,\n   *  digitalAssetAddress: \"0x123\",\n   * });\n   *\n   * @param args.account The account that mints the digital asset\n   * @param args.digitalAssetAddress The digital asset address\n   * @param args.propertyKey The property key for storing on-chain properties\n   * @param args.propertyType The type of property value\n   * @param args.propertyValue The property value to be stored on-chain\n   *\n   * @returns A SimpleTransaction that can be simulated or submitted to chain\n   */\n  async removeDigitalAssetPropertyTransaction(args: {\n    creator: Account;\n    propertyKey: string;\n    propertyType: PropertyType;\n    propertyValue: PropertyValue;\n    digitalAssetAddress: AccountAddressInput;\n    digitalAssetType?: MoveStructId;\n    options?: InputGenerateTransactionOptions;\n  }) {\n    return removeDigitalAssetPropertyTransaction({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Update a digital asset property\n   *\n   * @example\n   * const transaction = await aptos.updateDigitalAssetPropertyTransaction({\n   *  creator: alice,\n   *  propertyKey: \"newKey\",\n   *  propertyType: \"BOOLEAN\",\n   *  propertyValue: false,\n   *  digitalAssetAddress: \"0x123\",\n   * });\n   *\n   * @param args.account The account that mints the digital asset\n   * @param args.digitalAssetAddress The digital asset address\n   * @param args.propertyKey The property key for storing on-chain properties\n   * @param args.propertyType The type of property value\n   * @param args.propertyValue The property value to be stored on-chain\n   *\n   * @returns A SimpleTransaction that can be simulated or submitted to chain\n   */\n  async updateDigitalAssetPropertyTransaction(args: {\n    creator: Account;\n    propertyKey: string;\n    propertyType: PropertyType;\n    propertyValue: PropertyValue;\n    digitalAssetAddress: AccountAddressInput;\n    digitalAssetType?: MoveStructId;\n    options?: InputGenerateTransactionOptions;\n  }) {\n    return updateDigitalAssetPropertyTransaction({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Add a typed digital asset property\n   *\n   * @example\n   * const transaction = await aptos.addDigitalAssetTypedPropertyTransaction({\n   *  creator: alice,\n   *  propertyKey: \"typedKey\",\n   *  propertyType: \"STRING\",\n   *  propertyValue: \"hello\",\n   *  digitalAssetAddress: \"0x123\",\n   * });\n   *\n   * @param args.account The account that mints the digital asset\n   * @param args.digitalAssetAddress The digital asset address\n   * @param args.propertyKey The property key for storing on-chain properties\n   * @param args.propertyType The type of property value\n   * @param args.propertyValue The property value to be stored on-chain\n   *\n   * @returns A SimpleTransaction that can be simulated or submitted to chain\n   */\n  async addDigitalAssetTypedPropertyTransaction(args: {\n    creator: Account;\n    propertyKey: string;\n    propertyType: PropertyType;\n    propertyValue: PropertyValue;\n    digitalAssetAddress: AccountAddressInput;\n    digitalAssetType?: MoveStructId;\n    options?: InputGenerateTransactionOptions;\n  }) {\n    return addDigitalAssetTypedPropertyTransaction({ aptosConfig: this.config, ...args });\n  }\n\n  /**\n   * Update a typed digital asset property\n   *\n   * @example\n   * const transaction = await aptos.updateDigitalAssetTypedPropertyTransaction({\n   *  creator: alice,\n   *  propertyKey: \"typedKey\",\n   *  propertyType: \"U8\",\n   *  propertyValue: 2,\n   *  digitalAssetAddress: \"0x123\",\n   * });\n   *\n   * @param args.account The account that mints the digital asset\n   * @param args.digitalAssetAddress The digital asset address\n   * @param args.propertyKey The property key for storing on-chain properties\n   * @param args.propertyType The type of property value\n   * @param args.propertyValue The property value to be stored on-chain\n   *\n   * @returns A SimpleTransaction that can be simulated or submitted to chain\n   */\n  async updateDigitalAssetTypedPropertyTransaction(args: {\n    creator: Account;\n    propertyKey: string;\n    propertyType: PropertyType;\n    propertyValue: PropertyValue;\n    digitalAssetAddress: AccountAddressInput;\n    digitalAssetType?: MoveStructId;\n    options?: InputGenerateTransactionOptions;\n  }) {\n    return updateDigitalAssetTypedPropertyTransaction({ aptosConfig: this.config, ...args });\n  }\n}\n"],"mappings":"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","names":["DigitalAsset","config","args","waitForIndexerOnVersion","getCollectionData","getCollectionDataByCollectionId","getCollectionId","getDigitalAssetData","getCurrentDigitalAssetOwnership","getOwnedDigitalAssets","getDigitalAssetActivity","createCollectionTransaction","mintDigitalAssetTransaction","transferDigitalAssetTransaction","mintSoulBoundTransaction","burnDigitalAssetTransaction","freezeDigitalAssetTransferTransaction","unfreezeDigitalAssetTransferTransaction","setDigitalAssetDescriptionTransaction","setDigitalAssetNameTransaction","setDigitalAssetURITransaction","addDigitalAssetPropertyTransaction","removeDigitalAssetPropertyTransaction","updateDigitalAssetPropertyTransaction","addDigitalAssetTypedPropertyTransaction","updateDigitalAssetTypedPropertyTransaction"]}