{"version":3,"sources":["../../src/internal/digitalAsset.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * This file contains the underlying implementations for exposed API surface in\n * the {@link api/digitalAsset}. By moving the methods out into a separate file,\n * other namespaces and processes can access these methods without depending on the entire\n * digitalAsset namespace and without having a dependency cycle error.\n */\n\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { Bool, MoveString, MoveVector, U64 } from \"../bcs\";\nimport { AccountAddress, AccountAddressInput } from \"../core\";\nimport { Account } from \"../account\";\nimport { EntryFunctionABI, InputGenerateTransactionOptions } from \"../transactions/types\";\nimport {\n  AnyNumber,\n  GetCollectionDataResponse,\n  GetCurrentTokenOwnershipResponse,\n  GetOwnedTokensResponse,\n  GetTokenActivityResponse,\n  GetTokenDataResponse,\n  MoveAbility,\n  MoveStructId,\n  OrderByArg,\n  PaginationArgs,\n  TokenStandardArg,\n} from \"../types\";\nimport {\n  GetCollectionDataQuery,\n  GetCurrentTokenOwnershipQuery,\n  GetTokenActivityQuery,\n  GetTokenDataQuery,\n} from \"../types/generated/operations\";\nimport {\n  GetCollectionData,\n  GetCurrentTokenOwnership,\n  GetTokenActivity,\n  GetTokenData,\n} from \"../types/generated/queries\";\nimport { queryIndexer } from \"./general\";\nimport { generateTransaction } from \"./transactionSubmission\";\nimport { MAX_U64_BIG_INT } from \"../bcs/consts\";\nimport { CurrentTokenOwnershipsV2BoolExp, TokenActivitiesV2BoolExp } from \"../types/generated/types\";\nimport {\n  checkOrConvertArgument,\n  objectStructTag,\n  parseTypeTag,\n  stringStructTag,\n  TypeTagAddress,\n  TypeTagBool,\n  TypeTagGeneric,\n  TypeTagStruct,\n  TypeTagU64,\n  TypeTagVector,\n} from \"../transactions\";\nimport { SimpleTransaction } from \"../transactions/instances/simpleTransaction\";\n\n// A property type map for the user input and what Move expects\nconst PropertyTypeMap = {\n  BOOLEAN: \"bool\",\n  U8: \"u8\",\n  U16: \"u16\",\n  U32: \"u32\",\n  U64: \"u64\",\n  U128: \"u128\",\n  U256: \"u256\",\n  ADDRESS: \"address\",\n  STRING: \"0x1::string::String\",\n  ARRAY: \"vector<u8>\",\n};\n\nexport type PropertyType = keyof typeof PropertyTypeMap;\n\n// Accepted property value types for user input\n// To pass in an Array, use Uint8Array type\n// for example `new MoveVector([new MoveString(\"hello\"), new MoveString(\"world\")]).bcsToBytes()`\nexport type PropertyValue = boolean | number | bigint | string | AccountAddress | Uint8Array;\n\n// The default digital asset type to use if non provided\nconst defaultDigitalAssetType = \"0x4::token::Token\";\n\n// FETCH QUERIES\n\nexport async function getDigitalAssetData(args: {\n  aptosConfig: AptosConfig;\n  digitalAssetAddress: AccountAddressInput;\n}): Promise<GetTokenDataResponse> {\n  const { aptosConfig, digitalAssetAddress } = args;\n\n  const whereCondition: { token_data_id: { _eq: string } } = {\n    token_data_id: { _eq: AccountAddress.from(digitalAssetAddress).toStringLong() },\n  };\n\n  const graphqlQuery = {\n    query: GetTokenData,\n    variables: {\n      where_condition: whereCondition,\n    },\n  };\n\n  const data = await queryIndexer<GetTokenDataQuery>({\n    aptosConfig,\n    query: graphqlQuery,\n    originMethod: \"getDigitalAssetData\",\n  });\n\n  return data.current_token_datas_v2[0];\n}\n\nexport async function getCurrentDigitalAssetOwnership(args: {\n  aptosConfig: AptosConfig;\n  digitalAssetAddress: AccountAddressInput;\n}): Promise<GetCurrentTokenOwnershipResponse> {\n  const { aptosConfig, digitalAssetAddress } = args;\n\n  const whereCondition: CurrentTokenOwnershipsV2BoolExp = {\n    token_data_id: { _eq: AccountAddress.from(digitalAssetAddress).toStringLong() },\n    amount: { _gt: 0 },\n  };\n\n  const graphqlQuery = {\n    query: GetCurrentTokenOwnership,\n    variables: {\n      where_condition: whereCondition,\n    },\n  };\n\n  const data = await queryIndexer<GetCurrentTokenOwnershipQuery>({\n    aptosConfig,\n    query: graphqlQuery,\n    originMethod: \"getCurrentDigitalAssetOwnership\",\n  });\n\n  return data.current_token_ownerships_v2[0];\n}\n\nexport async function getOwnedDigitalAssets(args: {\n  aptosConfig: AptosConfig;\n  ownerAddress: AccountAddressInput;\n  options?: PaginationArgs & OrderByArg<GetTokenActivityResponse[0]>;\n}): Promise<GetOwnedTokensResponse> {\n  const { aptosConfig, ownerAddress, options } = args;\n\n  const whereCondition: CurrentTokenOwnershipsV2BoolExp = {\n    owner_address: { _eq: AccountAddress.from(ownerAddress).toStringLong() },\n    amount: { _gt: 0 },\n  };\n\n  const graphqlQuery = {\n    query: GetCurrentTokenOwnership,\n    variables: {\n      where_condition: whereCondition,\n      offset: options?.offset,\n      limit: options?.limit,\n      order_by: options?.orderBy,\n    },\n  };\n\n  const data = await queryIndexer<GetCurrentTokenOwnershipQuery>({\n    aptosConfig,\n    query: graphqlQuery,\n    originMethod: \"getOwnedDigitalAssets\",\n  });\n\n  return data.current_token_ownerships_v2;\n}\n\nexport async function getDigitalAssetActivity(args: {\n  aptosConfig: AptosConfig;\n  digitalAssetAddress: AccountAddressInput;\n  options?: PaginationArgs & OrderByArg<GetTokenActivityResponse[0]>;\n}): Promise<GetTokenActivityResponse> {\n  const { aptosConfig, digitalAssetAddress, options } = args;\n\n  const whereCondition: TokenActivitiesV2BoolExp = {\n    token_data_id: { _eq: AccountAddress.from(digitalAssetAddress).toStringLong() },\n  };\n\n  const graphqlQuery = {\n    query: GetTokenActivity,\n    variables: {\n      where_condition: whereCondition,\n      offset: options?.offset,\n      limit: options?.limit,\n      order_by: options?.orderBy,\n    },\n  };\n\n  const data = await queryIndexer<GetTokenActivityQuery>({\n    aptosConfig,\n    query: graphqlQuery,\n    originMethod: \"getDigitalAssetActivity\",\n  });\n\n  return data.token_activities_v2;\n}\n\nexport interface CreateCollectionOptions {\n  maxSupply?: AnyNumber;\n  mutableDescription?: boolean;\n  mutableRoyalty?: boolean;\n  mutableURI?: boolean;\n  mutableTokenDescription?: boolean;\n  mutableTokenName?: boolean;\n  mutableTokenProperties?: boolean;\n  mutableTokenURI?: boolean;\n  tokensBurnableByCreator?: boolean;\n  tokensFreezableByCreator?: boolean;\n  royaltyNumerator?: number;\n  royaltyDenominator?: number;\n}\n\nconst createCollectionAbi: EntryFunctionABI = {\n  typeParameters: [],\n  parameters: [\n    new TypeTagStruct(stringStructTag()),\n    new TypeTagU64(),\n    new TypeTagStruct(stringStructTag()),\n    new TypeTagStruct(stringStructTag()),\n    new TypeTagBool(),\n    new TypeTagBool(),\n    new TypeTagBool(),\n    new TypeTagBool(),\n    new TypeTagBool(),\n    new TypeTagBool(),\n    new TypeTagBool(),\n    new TypeTagBool(),\n    new TypeTagBool(),\n    new TypeTagU64(),\n    new TypeTagU64(),\n  ],\n};\n\nexport async function createCollectionTransaction(\n  args: {\n    aptosConfig: AptosConfig;\n    creator: Account;\n    description: string;\n    name: string;\n    uri: string;\n    options?: InputGenerateTransactionOptions;\n  } & CreateCollectionOptions,\n): Promise<SimpleTransaction> {\n  const { aptosConfig, options, creator } = args;\n  return generateTransaction({\n    aptosConfig,\n    sender: creator.accountAddress,\n    data: {\n      function: \"0x4::aptos_token::create_collection\",\n      functionArguments: [\n        // Do not change the order\n        new MoveString(args.description),\n        new U64(args.maxSupply ?? MAX_U64_BIG_INT),\n        new MoveString(args.name),\n        new MoveString(args.uri),\n        new Bool(args.mutableDescription ?? true),\n        new Bool(args.mutableRoyalty ?? true),\n        new Bool(args.mutableURI ?? true),\n        new Bool(args.mutableTokenDescription ?? true),\n        new Bool(args.mutableTokenName ?? true),\n        new Bool(args.mutableTokenProperties ?? true),\n        new Bool(args.mutableTokenURI ?? true),\n        new Bool(args.tokensBurnableByCreator ?? true),\n        new Bool(args.tokensFreezableByCreator ?? true),\n        new U64(args.royaltyNumerator ?? 0),\n        new U64(args.royaltyDenominator ?? 1),\n      ],\n      abi: createCollectionAbi,\n    },\n    options,\n  });\n}\n\nexport async function getCollectionData(args: {\n  aptosConfig: AptosConfig;\n  creatorAddress: AccountAddressInput;\n  collectionName: string;\n  options?: TokenStandardArg;\n}): Promise<GetCollectionDataResponse> {\n  const { aptosConfig, creatorAddress, collectionName, options } = args;\n  const address = AccountAddress.from(creatorAddress);\n\n  const whereCondition: any = {\n    collection_name: { _eq: collectionName },\n    creator_address: { _eq: address.toStringLong() },\n  };\n\n  if (options?.tokenStandard) {\n    whereCondition.token_standard = { _eq: options?.tokenStandard ?? \"v2\" };\n  }\n\n  const graphqlQuery = {\n    query: GetCollectionData,\n    variables: {\n      where_condition: whereCondition,\n    },\n  };\n  const data = await queryIndexer<GetCollectionDataQuery>({\n    aptosConfig,\n    query: graphqlQuery,\n    originMethod: \"getCollectionData\",\n  });\n\n  return data.current_collections_v2[0];\n}\n\nexport async function getCollectionDataByCollectionId(args: {\n  aptosConfig: AptosConfig;\n  collectionId: AccountAddressInput;\n}): Promise<GetCollectionDataResponse> {\n  const { aptosConfig, collectionId } = args;\n  const address = AccountAddress.from(collectionId);\n\n  const whereCondition: any = {\n    collection_id: { _eq: address.toStringLong() },\n  };\n\n  const graphqlQuery = {\n    query: GetCollectionData,\n    variables: {\n      where_condition: whereCondition,\n    },\n  };\n  const data = await queryIndexer<GetCollectionDataQuery>({\n    aptosConfig,\n    query: graphqlQuery,\n    originMethod: \"getCollectionData\",\n  });\n\n  return data.current_collections_v2[0];\n}\n\nexport async function getCollectionId(args: {\n  aptosConfig: AptosConfig;\n  creatorAddress: AccountAddressInput;\n  collectionName: string;\n  options?: TokenStandardArg;\n}): Promise<string> {\n  return (await getCollectionData(args)).collection_id;\n}\n\n// TRANSACTIONS\n\nconst mintDigitalAssetAbi: EntryFunctionABI = {\n  typeParameters: [],\n  parameters: [\n    new TypeTagStruct(stringStructTag()),\n    new TypeTagStruct(stringStructTag()),\n    new TypeTagStruct(stringStructTag()),\n    new TypeTagStruct(stringStructTag()),\n    new TypeTagVector(new TypeTagStruct(stringStructTag())),\n    new TypeTagVector(new TypeTagStruct(stringStructTag())),\n    new TypeTagVector(TypeTagVector.u8()),\n  ],\n};\n\nexport async function mintDigitalAssetTransaction(args: {\n  aptosConfig: AptosConfig;\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  const {\n    aptosConfig,\n    options,\n    creator,\n    collection,\n    description,\n    name,\n    uri,\n    propertyKeys,\n    propertyTypes,\n    propertyValues,\n  } = args;\n  const convertedPropertyType = propertyTypes?.map((type) => PropertyTypeMap[type]);\n  return generateTransaction({\n    aptosConfig,\n    sender: creator.accountAddress,\n    data: {\n      function: \"0x4::aptos_token::mint\",\n      functionArguments: [\n        new MoveString(collection),\n        new MoveString(description),\n        new MoveString(name),\n        new MoveString(uri),\n        MoveVector.MoveString(propertyKeys ?? []),\n        MoveVector.MoveString(convertedPropertyType ?? []),\n        getPropertyValueRaw(propertyValues ?? [], convertedPropertyType ?? []),\n      ],\n      abi: mintDigitalAssetAbi,\n    },\n    options,\n  });\n}\n\nconst transferDigitalAssetAbi: EntryFunctionABI = {\n  typeParameters: [{ constraints: [MoveAbility.KEY] }],\n  parameters: [new TypeTagStruct(objectStructTag(new TypeTagGeneric(0))), new TypeTagAddress()],\n};\n\nexport async function transferDigitalAssetTransaction(args: {\n  aptosConfig: AptosConfig;\n  sender: Account;\n  digitalAssetAddress: AccountAddressInput;\n  recipient: AccountAddressInput;\n  digitalAssetType?: MoveStructId;\n  options?: InputGenerateTransactionOptions;\n}): Promise<SimpleTransaction> {\n  const { aptosConfig, sender, digitalAssetAddress, recipient, digitalAssetType, options } = args;\n  return generateTransaction({\n    aptosConfig,\n    sender: sender.accountAddress,\n    data: {\n      function: \"0x1::object::transfer\",\n      typeArguments: [digitalAssetType ?? defaultDigitalAssetType],\n      functionArguments: [AccountAddress.from(digitalAssetAddress), AccountAddress.from(recipient)],\n      abi: transferDigitalAssetAbi,\n    },\n    options,\n  });\n}\n\nconst mintSoulBoundAbi: EntryFunctionABI = {\n  typeParameters: [],\n  parameters: [\n    new TypeTagStruct(stringStructTag()),\n    new TypeTagStruct(stringStructTag()),\n    new TypeTagStruct(stringStructTag()),\n    new TypeTagStruct(stringStructTag()),\n    new TypeTagVector(new TypeTagStruct(stringStructTag())),\n    new TypeTagVector(new TypeTagStruct(stringStructTag())),\n    new TypeTagVector(TypeTagVector.u8()),\n    new TypeTagAddress(),\n  ],\n};\n\nexport async function mintSoulBoundTransaction(args: {\n  aptosConfig: AptosConfig;\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  const {\n    aptosConfig,\n    account,\n    collection,\n    description,\n    name,\n    uri,\n    recipient,\n    propertyKeys,\n    propertyTypes,\n    propertyValues,\n    options,\n  } = args;\n  if (propertyKeys?.length !== propertyValues?.length) {\n    throw new Error(\"Property keys and property values counts do not match\");\n  }\n  if (propertyTypes?.length !== propertyValues?.length) {\n    throw new Error(\"Property types and property values counts do not match\");\n  }\n  const convertedPropertyType = propertyTypes?.map((type) => PropertyTypeMap[type]);\n  return generateTransaction({\n    aptosConfig,\n    sender: account.accountAddress,\n    data: {\n      function: \"0x4::aptos_token::mint_soul_bound\",\n      functionArguments: [\n        collection,\n        description,\n        name,\n        uri,\n        MoveVector.MoveString(propertyKeys ?? []),\n        MoveVector.MoveString(convertedPropertyType ?? []),\n        getPropertyValueRaw(propertyValues ?? [], convertedPropertyType ?? []),\n        recipient,\n      ],\n      abi: mintSoulBoundAbi,\n    },\n    options,\n  });\n}\n\nconst burnDigitalAssetAbi: EntryFunctionABI = {\n  typeParameters: [{ constraints: [MoveAbility.KEY] }],\n  parameters: [new TypeTagStruct(objectStructTag(new TypeTagGeneric(0)))],\n};\n\nexport async function burnDigitalAssetTransaction(args: {\n  aptosConfig: AptosConfig;\n  creator: Account;\n  digitalAssetAddress: AccountAddressInput;\n  digitalAssetType?: MoveStructId;\n  options?: InputGenerateTransactionOptions;\n}): Promise<SimpleTransaction> {\n  const { aptosConfig, creator, digitalAssetAddress, digitalAssetType, options } = args;\n  return generateTransaction({\n    aptosConfig,\n    sender: creator.accountAddress,\n    data: {\n      function: \"0x4::aptos_token::burn\",\n      typeArguments: [digitalAssetType ?? defaultDigitalAssetType],\n      functionArguments: [AccountAddress.from(digitalAssetAddress)],\n      abi: burnDigitalAssetAbi,\n    },\n    options,\n  });\n}\n\nconst freezeDigitalAssetAbi: EntryFunctionABI = {\n  typeParameters: [{ constraints: [MoveAbility.KEY] }],\n  parameters: [new TypeTagStruct(objectStructTag(new TypeTagGeneric(0)))],\n};\n\nexport async function freezeDigitalAssetTransferTransaction(args: {\n  aptosConfig: AptosConfig;\n  creator: Account;\n  digitalAssetAddress: AccountAddressInput;\n  digitalAssetType?: MoveStructId;\n  options?: InputGenerateTransactionOptions;\n}): Promise<SimpleTransaction> {\n  const { aptosConfig, creator, digitalAssetAddress, digitalAssetType, options } = args;\n  return generateTransaction({\n    aptosConfig,\n    sender: creator.accountAddress,\n    data: {\n      function: \"0x4::aptos_token::freeze_transfer\",\n      typeArguments: [digitalAssetType ?? defaultDigitalAssetType],\n      functionArguments: [digitalAssetAddress],\n      abi: freezeDigitalAssetAbi,\n    },\n    options,\n  });\n}\n\nconst unfreezeDigitalAssetAbi: EntryFunctionABI = {\n  typeParameters: [{ constraints: [MoveAbility.KEY] }],\n  parameters: [new TypeTagStruct(objectStructTag(new TypeTagGeneric(0)))],\n};\n\nexport async function unfreezeDigitalAssetTransferTransaction(args: {\n  aptosConfig: AptosConfig;\n  creator: Account;\n  digitalAssetAddress: AccountAddressInput;\n  digitalAssetType?: MoveStructId;\n  options?: InputGenerateTransactionOptions;\n}): Promise<SimpleTransaction> {\n  const { aptosConfig, creator, digitalAssetAddress, digitalAssetType, options } = args;\n  return generateTransaction({\n    aptosConfig,\n    sender: creator.accountAddress,\n    data: {\n      function: \"0x4::aptos_token::unfreeze_transfer\",\n      typeArguments: [digitalAssetType ?? defaultDigitalAssetType],\n      functionArguments: [digitalAssetAddress],\n      abi: unfreezeDigitalAssetAbi,\n    },\n    options,\n  });\n}\n\nconst setDigitalAssetDescriptionAbi: EntryFunctionABI = {\n  typeParameters: [{ constraints: [MoveAbility.KEY] }],\n  parameters: [new TypeTagStruct(objectStructTag(new TypeTagGeneric(0))), new TypeTagStruct(stringStructTag())],\n};\n\nexport async function setDigitalAssetDescriptionTransaction(args: {\n  aptosConfig: AptosConfig;\n  creator: Account;\n  description: string;\n  digitalAssetAddress: AccountAddressInput;\n  digitalAssetType?: MoveStructId;\n  options?: InputGenerateTransactionOptions;\n}): Promise<SimpleTransaction> {\n  const { aptosConfig, creator, description, digitalAssetAddress, digitalAssetType, options } = args;\n  return generateTransaction({\n    aptosConfig,\n    sender: creator.accountAddress,\n    data: {\n      function: \"0x4::aptos_token::set_description\",\n      typeArguments: [digitalAssetType ?? defaultDigitalAssetType],\n      functionArguments: [AccountAddress.from(digitalAssetAddress), new MoveString(description)],\n      abi: setDigitalAssetDescriptionAbi,\n    },\n    options,\n  });\n}\n\nconst setDigitalAssetNameAbi: EntryFunctionABI = {\n  typeParameters: [{ constraints: [MoveAbility.KEY] }],\n  parameters: [new TypeTagStruct(objectStructTag(new TypeTagGeneric(0))), new TypeTagStruct(stringStructTag())],\n};\n\nexport async function setDigitalAssetNameTransaction(args: {\n  aptosConfig: AptosConfig;\n  creator: Account;\n  name: string;\n  digitalAssetAddress: AccountAddressInput;\n  digitalAssetType?: MoveStructId;\n  options?: InputGenerateTransactionOptions;\n}): Promise<SimpleTransaction> {\n  const { aptosConfig, creator, name, digitalAssetAddress, digitalAssetType, options } = args;\n  return generateTransaction({\n    aptosConfig,\n    sender: creator.accountAddress,\n    data: {\n      function: \"0x4::aptos_token::set_name\",\n      typeArguments: [digitalAssetType ?? defaultDigitalAssetType],\n      functionArguments: [AccountAddress.from(digitalAssetAddress), new MoveString(name)],\n      abi: setDigitalAssetNameAbi,\n    },\n    options,\n  });\n}\n\nconst setDigitalAssetURIAbi: EntryFunctionABI = {\n  typeParameters: [{ constraints: [MoveAbility.KEY] }],\n  parameters: [new TypeTagStruct(objectStructTag(new TypeTagGeneric(0))), new TypeTagStruct(stringStructTag())],\n};\n\nexport async function setDigitalAssetURITransaction(args: {\n  aptosConfig: AptosConfig;\n  creator: Account;\n  uri: string;\n  digitalAssetAddress: AccountAddressInput;\n  digitalAssetType?: MoveStructId;\n  options?: InputGenerateTransactionOptions;\n}): Promise<SimpleTransaction> {\n  const { aptosConfig, creator, uri, digitalAssetAddress, digitalAssetType, options } = args;\n  return generateTransaction({\n    aptosConfig,\n    sender: creator.accountAddress,\n    data: {\n      function: \"0x4::aptos_token::set_uri\",\n      typeArguments: [digitalAssetType ?? defaultDigitalAssetType],\n      functionArguments: [AccountAddress.from(digitalAssetAddress), new MoveString(uri)],\n      abi: setDigitalAssetURIAbi,\n    },\n    options,\n  });\n}\n\nconst addDigitalAssetPropertyAbi: EntryFunctionABI = {\n  typeParameters: [{ constraints: [MoveAbility.KEY] }],\n  parameters: [\n    new TypeTagStruct(objectStructTag(new TypeTagGeneric(0))),\n    new TypeTagStruct(stringStructTag()),\n    new TypeTagStruct(stringStructTag()),\n    TypeTagVector.u8(),\n  ],\n};\n\nexport async function addDigitalAssetPropertyTransaction(args: {\n  aptosConfig: AptosConfig;\n  creator: Account;\n  propertyKey: string;\n  propertyType: PropertyType;\n  propertyValue: PropertyValue;\n  digitalAssetAddress: AccountAddressInput;\n  digitalAssetType?: MoveStructId;\n  options?: InputGenerateTransactionOptions;\n}): Promise<SimpleTransaction> {\n  const {\n    aptosConfig,\n    creator,\n    propertyKey,\n    propertyType,\n    propertyValue,\n    digitalAssetAddress,\n    digitalAssetType,\n    options,\n  } = args;\n  return generateTransaction({\n    aptosConfig,\n    sender: creator.accountAddress,\n    data: {\n      function: \"0x4::aptos_token::add_property\",\n      typeArguments: [digitalAssetType ?? defaultDigitalAssetType],\n      functionArguments: [\n        AccountAddress.from(digitalAssetAddress),\n        new MoveString(propertyKey),\n        new MoveString(PropertyTypeMap[propertyType]),\n        MoveVector.U8(getSinglePropertyValueRaw(propertyValue, PropertyTypeMap[propertyType])),\n      ],\n      abi: addDigitalAssetPropertyAbi,\n    },\n    options,\n  });\n}\n\nconst removeDigitalAssetPropertyAbi: EntryFunctionABI = {\n  typeParameters: [{ constraints: [MoveAbility.KEY] }],\n  parameters: [new TypeTagStruct(objectStructTag(new TypeTagGeneric(0))), new TypeTagStruct(stringStructTag())],\n};\n\nexport async function removeDigitalAssetPropertyTransaction(args: {\n  aptosConfig: AptosConfig;\n  creator: Account;\n  propertyKey: string;\n  digitalAssetAddress: AccountAddressInput;\n  digitalAssetType?: MoveStructId;\n  options?: InputGenerateTransactionOptions;\n}): Promise<SimpleTransaction> {\n  const { aptosConfig, creator, propertyKey, digitalAssetAddress, digitalAssetType, options } = args;\n  return generateTransaction({\n    aptosConfig,\n    sender: creator.accountAddress,\n    data: {\n      function: \"0x4::aptos_token::remove_property\",\n      typeArguments: [digitalAssetType ?? defaultDigitalAssetType],\n      functionArguments: [AccountAddress.from(digitalAssetAddress), new MoveString(propertyKey)],\n      abi: removeDigitalAssetPropertyAbi,\n    },\n    options,\n  });\n}\n\nconst updateDigitalAssetPropertyAbi: EntryFunctionABI = {\n  typeParameters: [{ constraints: [MoveAbility.KEY] }],\n  parameters: [\n    new TypeTagStruct(objectStructTag(new TypeTagGeneric(0))),\n    new TypeTagStruct(stringStructTag()),\n    new TypeTagStruct(stringStructTag()),\n    TypeTagVector.u8(),\n  ],\n};\n\nexport async function updateDigitalAssetPropertyTransaction(args: {\n  aptosConfig: AptosConfig;\n  creator: Account;\n  propertyKey: string;\n  propertyType: PropertyType;\n  propertyValue: PropertyValue;\n  digitalAssetAddress: AccountAddressInput;\n  digitalAssetType?: MoveStructId;\n  options?: InputGenerateTransactionOptions;\n}): Promise<SimpleTransaction> {\n  const {\n    aptosConfig,\n    creator,\n    propertyKey,\n    propertyType,\n    propertyValue,\n    digitalAssetAddress,\n    digitalAssetType,\n    options,\n  } = args;\n  return generateTransaction({\n    aptosConfig,\n    sender: creator.accountAddress,\n    data: {\n      function: \"0x4::aptos_token::update_property\",\n      typeArguments: [digitalAssetType ?? defaultDigitalAssetType],\n      functionArguments: [\n        AccountAddress.from(digitalAssetAddress),\n        new MoveString(propertyKey),\n        new MoveString(PropertyTypeMap[propertyType]),\n        getSinglePropertyValueRaw(propertyValue, PropertyTypeMap[propertyType]),\n      ],\n      abi: updateDigitalAssetPropertyAbi,\n    },\n    options,\n  });\n}\n\nconst addDigitalAssetTypedPropertyAbi: EntryFunctionABI = {\n  typeParameters: [{ constraints: [MoveAbility.KEY] }, { constraints: [] }],\n  parameters: [\n    new TypeTagStruct(objectStructTag(new TypeTagGeneric(0))),\n    new TypeTagStruct(stringStructTag()),\n    new TypeTagGeneric(1),\n  ],\n};\n\nexport async function addDigitalAssetTypedPropertyTransaction(args: {\n  aptosConfig: AptosConfig;\n  creator: Account;\n  propertyKey: string;\n  propertyType: PropertyType;\n  propertyValue: PropertyValue;\n  digitalAssetAddress: AccountAddressInput;\n  digitalAssetType?: MoveStructId;\n  options?: InputGenerateTransactionOptions;\n}): Promise<SimpleTransaction> {\n  const {\n    aptosConfig,\n    creator,\n    propertyKey,\n    propertyType,\n    propertyValue,\n    digitalAssetAddress,\n    digitalAssetType,\n    options,\n  } = args;\n  return generateTransaction({\n    aptosConfig,\n    sender: creator.accountAddress,\n    data: {\n      function: \"0x4::aptos_token::add_typed_property\",\n      typeArguments: [digitalAssetType ?? defaultDigitalAssetType, PropertyTypeMap[propertyType]],\n      functionArguments: [AccountAddress.from(digitalAssetAddress), new MoveString(propertyKey), propertyValue],\n      abi: addDigitalAssetTypedPropertyAbi,\n    },\n    options,\n  });\n}\n\nconst updateDigitalAssetTypedPropertyAbi: EntryFunctionABI = {\n  typeParameters: [{ constraints: [MoveAbility.KEY] }, { constraints: [] }],\n  parameters: [\n    new TypeTagStruct(objectStructTag(new TypeTagGeneric(0))),\n    new TypeTagStruct(stringStructTag()),\n    new TypeTagGeneric(1),\n  ],\n};\n\nexport async function updateDigitalAssetTypedPropertyTransaction(args: {\n  aptosConfig: AptosConfig;\n  creator: Account;\n  propertyKey: string;\n  propertyType: PropertyType;\n  propertyValue: PropertyValue;\n  digitalAssetAddress: AccountAddressInput;\n  digitalAssetType?: MoveStructId;\n  options?: InputGenerateTransactionOptions;\n}): Promise<SimpleTransaction> {\n  const {\n    aptosConfig,\n    creator,\n    propertyKey,\n    propertyType,\n    propertyValue,\n    digitalAssetAddress,\n    digitalAssetType,\n    options,\n  } = args;\n  return generateTransaction({\n    aptosConfig,\n    sender: creator.accountAddress,\n    data: {\n      function: \"0x4::aptos_token::update_typed_property\",\n      typeArguments: [digitalAssetType ?? defaultDigitalAssetType, PropertyTypeMap[propertyType]],\n      functionArguments: [AccountAddress.from(digitalAssetAddress), new MoveString(propertyKey), propertyValue],\n      abi: updateDigitalAssetTypedPropertyAbi,\n    },\n    options,\n  });\n}\n\nfunction getPropertyValueRaw(propertyValues: Array<PropertyValue>, propertyTypes: Array<string>): Array<Uint8Array> {\n  const results = new Array<Uint8Array>();\n  propertyTypes.forEach((typ, index) => {\n    results.push(getSinglePropertyValueRaw(propertyValues[index], typ));\n  });\n\n  return results;\n}\n\nfunction getSinglePropertyValueRaw(propertyValue: PropertyValue, propertyType: string): Uint8Array {\n  const typeTag = parseTypeTag(propertyType);\n  const res = checkOrConvertArgument(propertyValue, typeTag, 0, []);\n  return res.bcsToBytes();\n}\n"],"mappings":"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","names":["PropertyTypeMap","defaultDigitalAssetType","getDigitalAssetData","args","aptosConfig","digitalAssetAddress","whereCondition","AccountAddress","queryIndexer","GetTokenData","getCurrentDigitalAssetOwnership","GetCurrentTokenOwnership","getOwnedDigitalAssets","ownerAddress","options","graphqlQuery","getDigitalAssetActivity","GetTokenActivity","createCollectionAbi","TypeTagStruct","stringStructTag","TypeTagU64","TypeTagBool","createCollectionTransaction","creator","generateTransaction","MoveString","U64","MAX_U64_BIG_INT","Bool","getCollectionData","creatorAddress","collectionName","address","GetCollectionData","getCollectionDataByCollectionId","collectionId","getCollectionId","mintDigitalAssetAbi","TypeTagVector","mintDigitalAssetTransaction","collection","description","name","uri","propertyKeys","propertyTypes","propertyValues","convertedPropertyType","type","MoveVector","getPropertyValueRaw","transferDigitalAssetAbi","objectStructTag","TypeTagGeneric","TypeTagAddress","transferDigitalAssetTransaction","sender","recipient","digitalAssetType","mintSoulBoundAbi","mintSoulBoundTransaction","account","burnDigitalAssetAbi","burnDigitalAssetTransaction","freezeDigitalAssetAbi","freezeDigitalAssetTransferTransaction","unfreezeDigitalAssetAbi","unfreezeDigitalAssetTransferTransaction","setDigitalAssetDescriptionAbi","setDigitalAssetDescriptionTransaction","setDigitalAssetNameAbi","setDigitalAssetNameTransaction","setDigitalAssetURIAbi","setDigitalAssetURITransaction","addDigitalAssetPropertyAbi","addDigitalAssetPropertyTransaction","propertyKey","propertyType","propertyValue","getSinglePropertyValueRaw","removeDigitalAssetPropertyAbi","removeDigitalAssetPropertyTransaction","updateDigitalAssetPropertyAbi","updateDigitalAssetPropertyTransaction","addDigitalAssetTypedPropertyAbi","addDigitalAssetTypedPropertyTransaction","updateDigitalAssetTypedPropertyAbi","updateDigitalAssetTypedPropertyTransaction","results","typ","index","typeTag","parseTypeTag","checkOrConvertArgument"]}