@ar.io/sdk 3.24.0 → 4.0.0-solana.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (547) hide show
  1. package/README.md +143 -23
  2. package/lib/esm/cli/cli.js +200 -40
  3. package/lib/esm/cli/commands/antCommands.js +40 -14
  4. package/lib/esm/cli/commands/arnsPurchaseCommands.js +46 -7
  5. package/lib/esm/cli/commands/escrowCommands.js +208 -0
  6. package/lib/esm/cli/commands/gatewayWriteCommands.js +132 -22
  7. package/lib/esm/cli/commands/pruneCommands.js +166 -0
  8. package/lib/esm/cli/commands/readCommands.js +10 -2
  9. package/lib/esm/cli/commands/transfer.js +6 -6
  10. package/lib/esm/cli/options.js +141 -2
  11. package/lib/esm/cli/utils.js +280 -39
  12. package/lib/esm/common/ant-registry.js +25 -3
  13. package/lib/esm/common/ant.js +50 -5
  14. package/lib/esm/common/contracts/ao-process.js +4 -6
  15. package/lib/esm/common/io.js +41 -0
  16. package/lib/esm/common/marketplace.js +24 -79
  17. package/lib/esm/constants.js +13 -1
  18. package/lib/esm/solana/ant-readable.js +387 -0
  19. package/lib/esm/solana/ant-registry-readable.js +118 -0
  20. package/lib/esm/solana/ant-registry-writeable.js +457 -0
  21. package/lib/esm/solana/ant-writeable.js +352 -0
  22. package/lib/esm/solana/ata.js +55 -0
  23. package/lib/esm/solana/canonical-message.js +92 -0
  24. package/lib/esm/solana/clusters.js +62 -0
  25. package/lib/esm/solana/constants.js +130 -0
  26. package/lib/esm/solana/delegation-math.js +63 -0
  27. package/lib/esm/solana/deserialize.js +1182 -0
  28. package/lib/esm/solana/escrow.js +797 -0
  29. package/lib/esm/solana/events.js +210 -0
  30. package/lib/esm/solana/funding-plan.js +682 -0
  31. package/lib/esm/solana/generated/ant/events/aclEntryAddedEvent.js +21 -0
  32. package/lib/esm/solana/generated/ant/events/aclEntryRemovedEvent.js +21 -0
  33. package/lib/esm/solana/generated/ant/events/antMetadataUpdatedEvent.js +21 -0
  34. package/lib/esm/solana/generated/ant/events/antReconciledEvent.js +21 -0
  35. package/lib/esm/solana/generated/ant/events/antTransferredEvent.js +21 -0
  36. package/lib/esm/solana/generated/ant/events/attributesClearedEvent.js +21 -0
  37. package/lib/esm/solana/generated/ant/events/attributesSyncedEvent.js +21 -0
  38. package/lib/esm/solana/generated/ant/events/controllerAddedEvent.js +21 -0
  39. package/lib/esm/solana/generated/ant/events/controllerRemovedEvent.js +21 -0
  40. package/lib/esm/solana/generated/ant/events/index.js +16 -0
  41. package/lib/esm/solana/generated/ant/events/recordMetadataPrunedEvent.js +21 -0
  42. package/lib/esm/solana/generated/ant/events/recordMetadataRemovedEvent.js +21 -0
  43. package/lib/esm/solana/generated/ant/events/recordMetadataUpdatedEvent.js +21 -0
  44. package/lib/esm/solana/generated/ant/events/recordRemovedEvent.js +21 -0
  45. package/lib/esm/solana/generated/ant/events/recordSetEvent.js +21 -0
  46. package/lib/esm/solana/generated/ant/events/recordTransferredEvent.js +21 -0
  47. package/lib/esm/solana/generated/ant-escrow/events/escrowCancelledEvent.js +21 -0
  48. package/lib/esm/solana/generated/ant-escrow/events/escrowClaimedEvent.js +21 -0
  49. package/lib/esm/solana/generated/ant-escrow/events/escrowDepositedEvent.js +21 -0
  50. package/lib/esm/solana/generated/ant-escrow/events/escrowRecipientUpdatedEvent.js +21 -0
  51. package/lib/esm/solana/generated/ant-escrow/events/index.js +5 -0
  52. package/lib/esm/solana/generated/arns/events/demandFactorUpdatedEvent.js +21 -0
  53. package/lib/esm/solana/generated/arns/events/index.js +13 -0
  54. package/lib/esm/solana/generated/arns/events/leaseExtendedEvent.js +21 -0
  55. package/lib/esm/solana/generated/arns/events/namePurchasedEvent.js +21 -0
  56. package/lib/esm/solana/generated/arns/events/nameReassignedEvent.js +21 -0
  57. package/lib/esm/solana/generated/arns/events/nameReleasedEvent.js +21 -0
  58. package/lib/esm/solana/generated/arns/events/nameReservedEvent.js +21 -0
  59. package/lib/esm/solana/generated/arns/events/nameUnreservedEvent.js +21 -0
  60. package/lib/esm/solana/generated/arns/events/nameUpgradedEvent.js +21 -0
  61. package/lib/esm/solana/generated/arns/events/namesPrunedEvent.js +21 -0
  62. package/lib/esm/solana/generated/arns/events/reservedNameClaimedEvent.js +21 -0
  63. package/lib/esm/solana/generated/arns/events/returnedNamePurchasedEvent.js +21 -0
  64. package/lib/esm/solana/generated/arns/events/undernameIncreasedEvent.js +21 -0
  65. package/lib/esm/solana/generated/core/events/configUpdatedEvent.js +21 -0
  66. package/lib/esm/solana/generated/core/events/coreMigrationFinalizedEvent.js +21 -0
  67. package/lib/esm/solana/generated/core/events/index.js +14 -0
  68. package/lib/esm/solana/generated/core/events/primaryNameRemovedEvent.js +21 -0
  69. package/lib/esm/solana/generated/core/events/primaryNameRequestExpiredEvent.js +21 -0
  70. package/lib/esm/solana/generated/core/events/primaryNameRequestedEvent.js +21 -0
  71. package/lib/esm/solana/generated/core/events/primaryNameSetEvent.js +21 -0
  72. package/lib/esm/solana/generated/core/events/supplyFinalizedEvent.js +21 -0
  73. package/lib/esm/solana/generated/core/events/transferEvent.js +21 -0
  74. package/lib/esm/solana/generated/core/events/vaultCreatedEvent.js +21 -0
  75. package/lib/esm/solana/generated/core/events/vaultExtendedEvent.js +21 -0
  76. package/lib/esm/solana/generated/core/events/vaultIncreasedEvent.js +21 -0
  77. package/lib/esm/solana/generated/core/events/vaultReleasedEvent.js +21 -0
  78. package/lib/esm/solana/generated/core/events/vaultRevokedEvent.js +21 -0
  79. package/lib/esm/solana/generated/gar/events/allowlistToggledEvent.js +21 -0
  80. package/lib/esm/solana/generated/gar/events/delegateAllowlistedEvent.js +21 -0
  81. package/lib/esm/solana/generated/gar/events/delegationClosedEvent.js +21 -0
  82. package/lib/esm/solana/generated/gar/events/delegationDecreasedEvent.js +21 -0
  83. package/lib/esm/solana/generated/gar/events/delegationEvent.js +21 -0
  84. package/lib/esm/solana/generated/gar/events/epochClosedEvent.js +21 -0
  85. package/lib/esm/solana/generated/gar/events/epochCreatedEvent.js +21 -0
  86. package/lib/esm/solana/generated/gar/events/epochDistributedEvent.js +21 -0
  87. package/lib/esm/solana/generated/gar/events/epochPrescribedEvent.js +21 -0
  88. package/lib/esm/solana/generated/gar/events/epochWeightsTalliedEvent.js +21 -0
  89. package/lib/esm/solana/generated/gar/events/epochsToggledEvent.js +21 -0
  90. package/lib/esm/solana/generated/gar/events/fundingPlanAppliedEvent.js +21 -0
  91. package/lib/esm/solana/generated/gar/events/garMigrationFinalizedEvent.js +21 -0
  92. package/lib/esm/solana/generated/gar/events/gatewayFinalizedEvent.js +21 -0
  93. package/lib/esm/solana/generated/gar/events/gatewayJoinedEvent.js +21 -0
  94. package/lib/esm/solana/generated/gar/events/gatewayLeavingEvent.js +21 -0
  95. package/lib/esm/solana/generated/gar/events/gatewayPrunedEvent.js +21 -0
  96. package/lib/esm/solana/generated/gar/events/gatewaySettingsUpdatedEvent.js +21 -0
  97. package/lib/esm/solana/generated/gar/events/index.js +31 -0
  98. package/lib/esm/solana/generated/gar/events/instantWithdrawalEvent.js +21 -0
  99. package/lib/esm/solana/generated/gar/events/observationSubmittedEvent.js +21 -0
  100. package/lib/esm/solana/generated/gar/events/observerAddressUpdatedEvent.js +21 -0
  101. package/lib/esm/solana/generated/gar/events/operatorStakeIncreasedEvent.js +21 -0
  102. package/lib/esm/solana/generated/gar/events/redelegationEvent.js +21 -0
  103. package/lib/esm/solana/generated/gar/events/residueVaultCreatedEvent.js +21 -0
  104. package/lib/esm/solana/generated/gar/events/rewardsCompoundedEvent.js +21 -0
  105. package/lib/esm/solana/generated/gar/events/stakePaymentEvent.js +21 -0
  106. package/lib/esm/solana/generated/gar/events/withdrawalCancelledEvent.js +21 -0
  107. package/lib/esm/solana/generated/gar/events/withdrawalClaimedEvent.js +21 -0
  108. package/lib/esm/solana/generated/gar/events/withdrawalCreatedEvent.js +21 -0
  109. package/lib/esm/solana/generated/gar/events/withdrawalPaymentEvent.js +21 -0
  110. package/lib/esm/solana/generated/mpl-core/accounts/assetV1.js +42 -0
  111. package/lib/esm/solana/generated/mpl-core/accounts/collectionV1.js +42 -0
  112. package/lib/esm/solana/generated/mpl-core/accounts/hashedAssetV1.js +45 -0
  113. package/lib/esm/solana/generated/mpl-core/accounts/index.js +12 -0
  114. package/lib/esm/solana/generated/mpl-core/accounts/pluginHeaderV1.js +45 -0
  115. package/lib/esm/solana/generated/mpl-core/accounts/pluginRegistryV1.js +42 -0
  116. package/lib/esm/solana/generated/mpl-core/errors/index.js +8 -0
  117. package/lib/esm/solana/generated/mpl-core/errors/mplCore.js +136 -0
  118. package/lib/esm/solana/generated/mpl-core/index.js +8 -0
  119. package/lib/esm/solana/generated/mpl-core/instructions/addCollectionExternalPluginAdapterV1.js +53 -0
  120. package/lib/esm/solana/generated/mpl-core/instructions/addCollectionPluginV1.js +53 -0
  121. package/lib/esm/solana/generated/mpl-core/instructions/addExternalPluginAdapterV1.js +53 -0
  122. package/lib/esm/solana/generated/mpl-core/instructions/addPluginV1.js +53 -0
  123. package/lib/esm/solana/generated/mpl-core/instructions/approveCollectionPluginAuthorityV1.js +53 -0
  124. package/lib/esm/solana/generated/mpl-core/instructions/approvePluginAuthorityV1.js +53 -0
  125. package/lib/esm/solana/generated/mpl-core/instructions/burnCollectionV1.js +49 -0
  126. package/lib/esm/solana/generated/mpl-core/instructions/burnV1.js +49 -0
  127. package/lib/esm/solana/generated/mpl-core/instructions/collect.js +42 -0
  128. package/lib/esm/solana/generated/mpl-core/instructions/compressV1.js +50 -0
  129. package/lib/esm/solana/generated/mpl-core/instructions/createCollectionV1.js +53 -0
  130. package/lib/esm/solana/generated/mpl-core/instructions/createCollectionV2.js +53 -0
  131. package/lib/esm/solana/generated/mpl-core/instructions/createV1.js +53 -0
  132. package/lib/esm/solana/generated/mpl-core/instructions/createV2.js +53 -0
  133. package/lib/esm/solana/generated/mpl-core/instructions/decompressV1.js +53 -0
  134. package/lib/esm/solana/generated/mpl-core/instructions/executeV1.js +56 -0
  135. package/lib/esm/solana/generated/mpl-core/instructions/index.js +40 -0
  136. package/lib/esm/solana/generated/mpl-core/instructions/removeCollectionExternalPluginAdapterV1.js +53 -0
  137. package/lib/esm/solana/generated/mpl-core/instructions/removeCollectionPluginV1.js +53 -0
  138. package/lib/esm/solana/generated/mpl-core/instructions/removeExternalPluginAdapterV1.js +53 -0
  139. package/lib/esm/solana/generated/mpl-core/instructions/removePluginV1.js +53 -0
  140. package/lib/esm/solana/generated/mpl-core/instructions/revokeCollectionPluginAuthorityV1.js +53 -0
  141. package/lib/esm/solana/generated/mpl-core/instructions/revokePluginAuthorityV1.js +53 -0
  142. package/lib/esm/solana/generated/mpl-core/instructions/transferV1.js +49 -0
  143. package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionExternalPluginAdapterV1.js +53 -0
  144. package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionInfoV1.js +45 -0
  145. package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionPluginV1.js +53 -0
  146. package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionV1.js +52 -0
  147. package/lib/esm/solana/generated/mpl-core/instructions/updateExternalPluginAdapterV1.js +53 -0
  148. package/lib/esm/solana/generated/mpl-core/instructions/updatePluginV1.js +53 -0
  149. package/lib/esm/solana/generated/mpl-core/instructions/updateV1.js +53 -0
  150. package/lib/esm/solana/generated/mpl-core/instructions/updateV2.js +53 -0
  151. package/lib/esm/solana/generated/mpl-core/instructions/writeCollectionExternalPluginAdapterDataV1.js +53 -0
  152. package/lib/esm/solana/generated/mpl-core/instructions/writeExternalPluginAdapterDataV1.js +53 -0
  153. package/lib/esm/solana/generated/mpl-core/program-address.js +1 -0
  154. package/lib/esm/solana/generated/mpl-core/types/addAssetsToGroupV1Args.js +17 -0
  155. package/lib/esm/solana/generated/mpl-core/types/addBlocker.js +17 -0
  156. package/lib/esm/solana/generated/mpl-core/types/addCollectionsToGroupV1Args.js +17 -0
  157. package/lib/esm/solana/generated/mpl-core/types/addGroupsToGroupV1Args.js +17 -0
  158. package/lib/esm/solana/generated/mpl-core/types/agentIdentity.js +17 -0
  159. package/lib/esm/solana/generated/mpl-core/types/agentIdentityInitInfo.js +18 -0
  160. package/lib/esm/solana/generated/mpl-core/types/agentIdentityUpdateInfo.js +18 -0
  161. package/lib/esm/solana/generated/mpl-core/types/appData.js +18 -0
  162. package/lib/esm/solana/generated/mpl-core/types/appDataInitInfo.js +18 -0
  163. package/lib/esm/solana/generated/mpl-core/types/appDataUpdateInfo.js +18 -0
  164. package/lib/esm/solana/generated/mpl-core/types/attribute.js +17 -0
  165. package/lib/esm/solana/generated/mpl-core/types/attributes.js +18 -0
  166. package/lib/esm/solana/generated/mpl-core/types/authority.js +24 -0
  167. package/lib/esm/solana/generated/mpl-core/types/autograph.js +18 -0
  168. package/lib/esm/solana/generated/mpl-core/types/autographSignature.js +17 -0
  169. package/lib/esm/solana/generated/mpl-core/types/bubblegumV2.js +17 -0
  170. package/lib/esm/solana/generated/mpl-core/types/burnDelegate.js +17 -0
  171. package/lib/esm/solana/generated/mpl-core/types/closeGroupV1Args.js +17 -0
  172. package/lib/esm/solana/generated/mpl-core/types/compressionProof.js +18 -0
  173. package/lib/esm/solana/generated/mpl-core/types/creator.js +17 -0
  174. package/lib/esm/solana/generated/mpl-core/types/dataSection.js +18 -0
  175. package/lib/esm/solana/generated/mpl-core/types/dataSectionInitInfo.js +18 -0
  176. package/lib/esm/solana/generated/mpl-core/types/dataSectionUpdateInfo.js +17 -0
  177. package/lib/esm/solana/generated/mpl-core/types/dataState.js +23 -0
  178. package/lib/esm/solana/generated/mpl-core/types/edition.js +17 -0
  179. package/lib/esm/solana/generated/mpl-core/types/externalCheckResult.js +17 -0
  180. package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapter.js +25 -0
  181. package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterInitInfo.js +25 -0
  182. package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterKey.js +25 -0
  183. package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterSchema.js +24 -0
  184. package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterType.js +28 -0
  185. package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterUpdateInfo.js +25 -0
  186. package/lib/esm/solana/generated/mpl-core/types/externalRegistryRecord.js +18 -0
  187. package/lib/esm/solana/generated/mpl-core/types/externalValidationResult.js +24 -0
  188. package/lib/esm/solana/generated/mpl-core/types/extraAccount.js +25 -0
  189. package/lib/esm/solana/generated/mpl-core/types/freezeDelegate.js +17 -0
  190. package/lib/esm/solana/generated/mpl-core/types/freezeExecute.js +17 -0
  191. package/lib/esm/solana/generated/mpl-core/types/groups.js +17 -0
  192. package/lib/esm/solana/generated/mpl-core/types/hashablePluginSchema.js +18 -0
  193. package/lib/esm/solana/generated/mpl-core/types/hashedAssetSchema.js +17 -0
  194. package/lib/esm/solana/generated/mpl-core/types/hookableLifecycleEvent.js +26 -0
  195. package/lib/esm/solana/generated/mpl-core/types/immutableMetadata.js +17 -0
  196. package/lib/esm/solana/generated/mpl-core/types/index.js +89 -0
  197. package/lib/esm/solana/generated/mpl-core/types/key.js +28 -0
  198. package/lib/esm/solana/generated/mpl-core/types/lifecycleHook.js +18 -0
  199. package/lib/esm/solana/generated/mpl-core/types/lifecycleHookInitInfo.js +18 -0
  200. package/lib/esm/solana/generated/mpl-core/types/lifecycleHookUpdateInfo.js +18 -0
  201. package/lib/esm/solana/generated/mpl-core/types/linkedAppData.js +18 -0
  202. package/lib/esm/solana/generated/mpl-core/types/linkedAppDataInitInfo.js +18 -0
  203. package/lib/esm/solana/generated/mpl-core/types/linkedAppDataUpdateInfo.js +18 -0
  204. package/lib/esm/solana/generated/mpl-core/types/linkedDataKey.js +25 -0
  205. package/lib/esm/solana/generated/mpl-core/types/linkedLifecycleHook.js +18 -0
  206. package/lib/esm/solana/generated/mpl-core/types/linkedLifecycleHookInitInfo.js +18 -0
  207. package/lib/esm/solana/generated/mpl-core/types/linkedLifecycleHookUpdateInfo.js +18 -0
  208. package/lib/esm/solana/generated/mpl-core/types/masterEdition.js +17 -0
  209. package/lib/esm/solana/generated/mpl-core/types/oracle.js +18 -0
  210. package/lib/esm/solana/generated/mpl-core/types/oracleInitInfo.js +18 -0
  211. package/lib/esm/solana/generated/mpl-core/types/oracleUpdateInfo.js +18 -0
  212. package/lib/esm/solana/generated/mpl-core/types/oracleValidation.js +25 -0
  213. package/lib/esm/solana/generated/mpl-core/types/permanentBurnDelegate.js +17 -0
  214. package/lib/esm/solana/generated/mpl-core/types/permanentFreezeDelegate.js +17 -0
  215. package/lib/esm/solana/generated/mpl-core/types/permanentFreezeExecute.js +17 -0
  216. package/lib/esm/solana/generated/mpl-core/types/permanentTransferDelegate.js +17 -0
  217. package/lib/esm/solana/generated/mpl-core/types/plugin.js +25 -0
  218. package/lib/esm/solana/generated/mpl-core/types/pluginAuthorityPair.js +18 -0
  219. package/lib/esm/solana/generated/mpl-core/types/pluginType.js +40 -0
  220. package/lib/esm/solana/generated/mpl-core/types/registryRecord.js +18 -0
  221. package/lib/esm/solana/generated/mpl-core/types/relationshipKind.js +25 -0
  222. package/lib/esm/solana/generated/mpl-core/types/removeAssetsFromGroupV1Args.js +17 -0
  223. package/lib/esm/solana/generated/mpl-core/types/removeCollectionsFromGroupV1Args.js +17 -0
  224. package/lib/esm/solana/generated/mpl-core/types/removeGroupsFromGroupV1Args.js +17 -0
  225. package/lib/esm/solana/generated/mpl-core/types/royalties.js +18 -0
  226. package/lib/esm/solana/generated/mpl-core/types/ruleSet.js +24 -0
  227. package/lib/esm/solana/generated/mpl-core/types/seed.js +24 -0
  228. package/lib/esm/solana/generated/mpl-core/types/transferDelegate.js +17 -0
  229. package/lib/esm/solana/generated/mpl-core/types/updateAuthority.js +24 -0
  230. package/lib/esm/solana/generated/mpl-core/types/updateDelegate.js +17 -0
  231. package/lib/esm/solana/generated/mpl-core/types/updateGroupV1Args.js +17 -0
  232. package/lib/esm/solana/generated/mpl-core/types/updateType.js +24 -0
  233. package/lib/esm/solana/generated/mpl-core/types/validationResult.js +25 -0
  234. package/lib/esm/solana/generated/mpl-core/types/validationResultsOffset.js +24 -0
  235. package/lib/esm/solana/generated/mpl-core/types/verifiedCreators.js +18 -0
  236. package/lib/esm/solana/generated/mpl-core/types/verifiedCreatorsSignature.js +17 -0
  237. package/lib/esm/solana/index.js +85 -0
  238. package/lib/esm/solana/instruction.js +24 -0
  239. package/lib/esm/solana/io-readable.js +1752 -0
  240. package/lib/esm/solana/io-writeable.js +2215 -0
  241. package/lib/esm/solana/json-rpc.js +74 -0
  242. package/lib/esm/solana/metadata.js +66 -0
  243. package/lib/esm/solana/mpl-core.js +142 -0
  244. package/lib/esm/solana/pda.js +317 -0
  245. package/lib/esm/solana/send.js +117 -0
  246. package/lib/esm/solana/spawn-ant.js +210 -0
  247. package/lib/esm/solana/types.js +1 -0
  248. package/lib/esm/types/ant.js +19 -7
  249. package/lib/esm/types/io.js +8 -1
  250. package/lib/esm/utils/ant.js +1 -0
  251. package/lib/esm/utils/ao.js +1 -0
  252. package/lib/esm/version.js +1 -1
  253. package/lib/types/cli/commands/antCommands.d.ts +2 -7
  254. package/lib/types/cli/commands/arnsPurchaseCommands.d.ts +12 -0
  255. package/lib/types/cli/commands/escrowCommands.d.ts +62 -0
  256. package/lib/types/cli/commands/pruneCommands.d.ts +31 -0
  257. package/lib/types/cli/commands/readCommands.d.ts +2 -0
  258. package/lib/types/cli/options.d.ts +112 -0
  259. package/lib/types/cli/types.d.ts +6 -0
  260. package/lib/types/cli/utils.d.ts +43 -5
  261. package/lib/types/common/ant-registry.d.ts +41 -0
  262. package/lib/types/common/ant.d.ts +35 -2
  263. package/lib/types/common/contracts/ao-process.d.ts +2 -16
  264. package/lib/types/common/io.d.ts +42 -2
  265. package/lib/types/common/marketplace.d.ts +2 -14
  266. package/lib/types/constants.d.ts +11 -1
  267. package/lib/types/solana/ant-readable.d.ts +121 -0
  268. package/lib/types/solana/ant-registry-readable.d.ts +90 -0
  269. package/lib/types/solana/ant-registry-writeable.d.ts +234 -0
  270. package/lib/types/solana/ant-writeable.d.ts +162 -0
  271. package/lib/types/solana/ata.d.ts +29 -0
  272. package/lib/types/solana/canonical-message.d.ts +82 -0
  273. package/lib/types/solana/clusters.d.ts +62 -0
  274. package/lib/types/solana/constants.d.ts +103 -0
  275. package/lib/types/solana/delegation-math.d.ts +20 -0
  276. package/lib/types/solana/deserialize.d.ts +440 -0
  277. package/lib/types/solana/escrow.d.ts +403 -0
  278. package/lib/types/solana/events.d.ts +156 -0
  279. package/lib/types/solana/funding-plan.d.ts +210 -0
  280. package/lib/types/solana/generated/ant/events/aclEntryAddedEvent.d.ts +26 -0
  281. package/lib/types/solana/generated/ant/events/aclEntryRemovedEvent.d.ts +26 -0
  282. package/lib/types/solana/generated/ant/events/antMetadataUpdatedEvent.d.ts +28 -0
  283. package/lib/types/solana/generated/ant/events/antReconciledEvent.d.ts +28 -0
  284. package/lib/types/solana/generated/ant/events/antTransferredEvent.d.ts +26 -0
  285. package/lib/types/solana/generated/ant/events/attributesClearedEvent.d.ts +26 -0
  286. package/lib/types/solana/generated/ant/events/attributesSyncedEvent.d.ts +24 -0
  287. package/lib/types/solana/generated/ant/events/controllerAddedEvent.d.ts +26 -0
  288. package/lib/types/solana/generated/ant/events/controllerRemovedEvent.d.ts +26 -0
  289. package/lib/types/solana/generated/ant/events/index.d.ts +15 -0
  290. package/lib/types/solana/generated/ant/events/recordMetadataPrunedEvent.d.ts +26 -0
  291. package/lib/types/solana/generated/ant/events/recordMetadataRemovedEvent.d.ts +26 -0
  292. package/lib/types/solana/generated/ant/events/recordMetadataUpdatedEvent.d.ts +28 -0
  293. package/lib/types/solana/generated/ant/events/recordRemovedEvent.d.ts +26 -0
  294. package/lib/types/solana/generated/ant/events/recordSetEvent.d.ts +34 -0
  295. package/lib/types/solana/generated/ant/events/recordTransferredEvent.d.ts +30 -0
  296. package/lib/types/solana/generated/ant-escrow/events/escrowCancelledEvent.d.ts +28 -0
  297. package/lib/types/solana/generated/ant-escrow/events/escrowClaimedEvent.d.ts +32 -0
  298. package/lib/types/solana/generated/ant-escrow/events/escrowDepositedEvent.d.ts +36 -0
  299. package/lib/types/solana/generated/ant-escrow/events/escrowRecipientUpdatedEvent.d.ts +26 -0
  300. package/lib/types/solana/generated/ant-escrow/events/index.d.ts +4 -0
  301. package/lib/types/solana/generated/arns/events/demandFactorUpdatedEvent.d.ts +28 -0
  302. package/lib/types/solana/generated/arns/events/index.d.ts +12 -0
  303. package/lib/types/solana/generated/arns/events/leaseExtendedEvent.d.ts +32 -0
  304. package/lib/types/solana/generated/arns/events/namePurchasedEvent.d.ts +34 -0
  305. package/lib/types/solana/generated/arns/events/nameReassignedEvent.d.ts +28 -0
  306. package/lib/types/solana/generated/arns/events/nameReleasedEvent.d.ts +24 -0
  307. package/lib/types/solana/generated/arns/events/nameReservedEvent.d.ts +28 -0
  308. package/lib/types/solana/generated/arns/events/nameUnreservedEvent.d.ts +24 -0
  309. package/lib/types/solana/generated/arns/events/nameUpgradedEvent.d.ts +28 -0
  310. package/lib/types/solana/generated/arns/events/namesPrunedEvent.d.ts +26 -0
  311. package/lib/types/solana/generated/arns/events/reservedNameClaimedEvent.d.ts +24 -0
  312. package/lib/types/solana/generated/arns/events/returnedNamePurchasedEvent.d.ts +32 -0
  313. package/lib/types/solana/generated/arns/events/undernameIncreasedEvent.d.ts +32 -0
  314. package/lib/types/solana/generated/core/events/configUpdatedEvent.d.ts +26 -0
  315. package/lib/types/solana/generated/core/events/coreMigrationFinalizedEvent.d.ts +26 -0
  316. package/lib/types/solana/generated/core/events/index.d.ts +13 -0
  317. package/lib/types/solana/generated/core/events/primaryNameRemovedEvent.d.ts +26 -0
  318. package/lib/types/solana/generated/core/events/primaryNameRequestExpiredEvent.d.ts +26 -0
  319. package/lib/types/solana/generated/core/events/primaryNameRequestedEvent.d.ts +30 -0
  320. package/lib/types/solana/generated/core/events/primaryNameSetEvent.d.ts +24 -0
  321. package/lib/types/solana/generated/core/events/supplyFinalizedEvent.d.ts +26 -0
  322. package/lib/types/solana/generated/core/events/transferEvent.d.ts +26 -0
  323. package/lib/types/solana/generated/core/events/vaultCreatedEvent.d.ts +28 -0
  324. package/lib/types/solana/generated/core/events/vaultExtendedEvent.d.ts +26 -0
  325. package/lib/types/solana/generated/core/events/vaultIncreasedEvent.d.ts +28 -0
  326. package/lib/types/solana/generated/core/events/vaultReleasedEvent.d.ts +26 -0
  327. package/lib/types/solana/generated/core/events/vaultRevokedEvent.d.ts +28 -0
  328. package/lib/types/solana/generated/gar/events/allowlistToggledEvent.d.ts +24 -0
  329. package/lib/types/solana/generated/gar/events/delegateAllowlistedEvent.d.ts +26 -0
  330. package/lib/types/solana/generated/gar/events/delegationClosedEvent.d.ts +24 -0
  331. package/lib/types/solana/generated/gar/events/delegationDecreasedEvent.d.ts +28 -0
  332. package/lib/types/solana/generated/gar/events/delegationEvent.d.ts +28 -0
  333. package/lib/types/solana/generated/gar/events/epochClosedEvent.d.ts +24 -0
  334. package/lib/types/solana/generated/gar/events/epochCreatedEvent.d.ts +26 -0
  335. package/lib/types/solana/generated/gar/events/epochDistributedEvent.d.ts +26 -0
  336. package/lib/types/solana/generated/gar/events/epochPrescribedEvent.d.ts +28 -0
  337. package/lib/types/solana/generated/gar/events/epochWeightsTalliedEvent.d.ts +26 -0
  338. package/lib/types/solana/generated/gar/events/epochsToggledEvent.d.ts +24 -0
  339. package/lib/types/solana/generated/gar/events/fundingPlanAppliedEvent.d.ts +28 -0
  340. package/lib/types/solana/generated/gar/events/garMigrationFinalizedEvent.d.ts +26 -0
  341. package/lib/types/solana/generated/gar/events/gatewayFinalizedEvent.d.ts +24 -0
  342. package/lib/types/solana/generated/gar/events/gatewayJoinedEvent.d.ts +26 -0
  343. package/lib/types/solana/generated/gar/events/gatewayLeavingEvent.d.ts +22 -0
  344. package/lib/types/solana/generated/gar/events/gatewayPrunedEvent.d.ts +26 -0
  345. package/lib/types/solana/generated/gar/events/gatewaySettingsUpdatedEvent.d.ts +24 -0
  346. package/lib/types/solana/generated/gar/events/index.d.ts +30 -0
  347. package/lib/types/solana/generated/gar/events/instantWithdrawalEvent.d.ts +30 -0
  348. package/lib/types/solana/generated/gar/events/observationSubmittedEvent.d.ts +28 -0
  349. package/lib/types/solana/generated/gar/events/observerAddressUpdatedEvent.d.ts +24 -0
  350. package/lib/types/solana/generated/gar/events/operatorStakeIncreasedEvent.d.ts +26 -0
  351. package/lib/types/solana/generated/gar/events/redelegationEvent.d.ts +30 -0
  352. package/lib/types/solana/generated/gar/events/residueVaultCreatedEvent.d.ts +30 -0
  353. package/lib/types/solana/generated/gar/events/rewardsCompoundedEvent.d.ts +26 -0
  354. package/lib/types/solana/generated/gar/events/stakePaymentEvent.d.ts +28 -0
  355. package/lib/types/solana/generated/gar/events/withdrawalCancelledEvent.d.ts +30 -0
  356. package/lib/types/solana/generated/gar/events/withdrawalClaimedEvent.d.ts +26 -0
  357. package/lib/types/solana/generated/gar/events/withdrawalCreatedEvent.d.ts +28 -0
  358. package/lib/types/solana/generated/gar/events/withdrawalPaymentEvent.d.ts +28 -0
  359. package/lib/types/solana/generated/mpl-core/accounts/assetV1.d.ts +37 -0
  360. package/lib/types/solana/generated/mpl-core/accounts/collectionV1.d.ts +37 -0
  361. package/lib/types/solana/generated/mpl-core/accounts/hashedAssetV1.d.ts +30 -0
  362. package/lib/types/solana/generated/mpl-core/accounts/index.d.ts +12 -0
  363. package/lib/types/solana/generated/mpl-core/accounts/pluginHeaderV1.d.ts +30 -0
  364. package/lib/types/solana/generated/mpl-core/accounts/pluginRegistryV1.d.ts +31 -0
  365. package/lib/types/solana/generated/mpl-core/errors/index.d.ts +8 -0
  366. package/lib/types/solana/generated/mpl-core/errors/mplCore.d.ts +133 -0
  367. package/lib/types/solana/generated/mpl-core/index.d.ts +8 -0
  368. package/lib/types/solana/generated/mpl-core/instructions/addCollectionExternalPluginAdapterV1.d.ts +56 -0
  369. package/lib/types/solana/generated/mpl-core/instructions/addCollectionPluginV1.d.ts +59 -0
  370. package/lib/types/solana/generated/mpl-core/instructions/addExternalPluginAdapterV1.d.ts +60 -0
  371. package/lib/types/solana/generated/mpl-core/instructions/addPluginV1.d.ts +63 -0
  372. package/lib/types/solana/generated/mpl-core/instructions/approveCollectionPluginAuthorityV1.d.ts +59 -0
  373. package/lib/types/solana/generated/mpl-core/instructions/approvePluginAuthorityV1.d.ts +63 -0
  374. package/lib/types/solana/generated/mpl-core/instructions/burnCollectionV1.d.ts +52 -0
  375. package/lib/types/solana/generated/mpl-core/instructions/burnV1.d.ts +60 -0
  376. package/lib/types/solana/generated/mpl-core/instructions/collect.d.ts +39 -0
  377. package/lib/types/solana/generated/mpl-core/instructions/compressV1.d.ts +55 -0
  378. package/lib/types/solana/generated/mpl-core/instructions/createCollectionV1.d.ts +58 -0
  379. package/lib/types/solana/generated/mpl-core/instructions/createCollectionV2.d.ts +61 -0
  380. package/lib/types/solana/generated/mpl-core/instructions/createV1.d.ts +77 -0
  381. package/lib/types/solana/generated/mpl-core/instructions/createV2.d.ts +80 -0
  382. package/lib/types/solana/generated/mpl-core/instructions/decompressV1.d.ts +60 -0
  383. package/lib/types/solana/generated/mpl-core/instructions/executeV1.d.ts +63 -0
  384. package/lib/types/solana/generated/mpl-core/instructions/index.d.ts +40 -0
  385. package/lib/types/solana/generated/mpl-core/instructions/removeCollectionExternalPluginAdapterV1.d.ts +56 -0
  386. package/lib/types/solana/generated/mpl-core/instructions/removeCollectionPluginV1.d.ts +56 -0
  387. package/lib/types/solana/generated/mpl-core/instructions/removeExternalPluginAdapterV1.d.ts +60 -0
  388. package/lib/types/solana/generated/mpl-core/instructions/removePluginV1.d.ts +60 -0
  389. package/lib/types/solana/generated/mpl-core/instructions/revokeCollectionPluginAuthorityV1.d.ts +56 -0
  390. package/lib/types/solana/generated/mpl-core/instructions/revokePluginAuthorityV1.d.ts +60 -0
  391. package/lib/types/solana/generated/mpl-core/instructions/transferV1.d.ts +64 -0
  392. package/lib/types/solana/generated/mpl-core/instructions/updateCollectionExternalPluginAdapterV1.d.ts +59 -0
  393. package/lib/types/solana/generated/mpl-core/instructions/updateCollectionInfoV1.d.ts +47 -0
  394. package/lib/types/solana/generated/mpl-core/instructions/updateCollectionPluginV1.d.ts +56 -0
  395. package/lib/types/solana/generated/mpl-core/instructions/updateCollectionV1.d.ts +62 -0
  396. package/lib/types/solana/generated/mpl-core/instructions/updateExternalPluginAdapterV1.d.ts +63 -0
  397. package/lib/types/solana/generated/mpl-core/instructions/updatePluginV1.d.ts +60 -0
  398. package/lib/types/solana/generated/mpl-core/instructions/updateV1.d.ts +66 -0
  399. package/lib/types/solana/generated/mpl-core/instructions/updateV2.d.ts +70 -0
  400. package/lib/types/solana/generated/mpl-core/instructions/writeCollectionExternalPluginAdapterDataV1.d.ts +63 -0
  401. package/lib/types/solana/generated/mpl-core/instructions/writeExternalPluginAdapterDataV1.d.ts +67 -0
  402. package/lib/types/solana/generated/mpl-core/program-address.d.ts +7 -0
  403. package/lib/types/solana/generated/mpl-core/types/addAssetsToGroupV1Args.d.ts +13 -0
  404. package/lib/types/solana/generated/mpl-core/types/addBlocker.d.ts +13 -0
  405. package/lib/types/solana/generated/mpl-core/types/addCollectionsToGroupV1Args.d.ts +13 -0
  406. package/lib/types/solana/generated/mpl-core/types/addGroupsToGroupV1Args.d.ts +15 -0
  407. package/lib/types/solana/generated/mpl-core/types/agentIdentity.d.ts +15 -0
  408. package/lib/types/solana/generated/mpl-core/types/agentIdentityInitInfo.d.ts +22 -0
  409. package/lib/types/solana/generated/mpl-core/types/agentIdentityUpdateInfo.d.ts +20 -0
  410. package/lib/types/solana/generated/mpl-core/types/appData.d.ts +20 -0
  411. package/lib/types/solana/generated/mpl-core/types/appDataInitInfo.d.ts +22 -0
  412. package/lib/types/solana/generated/mpl-core/types/appDataUpdateInfo.d.ts +18 -0
  413. package/lib/types/solana/generated/mpl-core/types/attribute.d.ts +16 -0
  414. package/lib/types/solana/generated/mpl-core/types/attributes.d.ts +18 -0
  415. package/lib/types/solana/generated/mpl-core/types/authority.d.ts +29 -0
  416. package/lib/types/solana/generated/mpl-core/types/autograph.d.ts +18 -0
  417. package/lib/types/solana/generated/mpl-core/types/autographSignature.d.ts +16 -0
  418. package/lib/types/solana/generated/mpl-core/types/bubblegumV2.d.ts +13 -0
  419. package/lib/types/solana/generated/mpl-core/types/burnDelegate.d.ts +13 -0
  420. package/lib/types/solana/generated/mpl-core/types/closeGroupV1Args.d.ts +13 -0
  421. package/lib/types/solana/generated/mpl-core/types/compressionProof.d.ts +28 -0
  422. package/lib/types/solana/generated/mpl-core/types/creator.d.ts +16 -0
  423. package/lib/types/solana/generated/mpl-core/types/dataSection.d.ts +20 -0
  424. package/lib/types/solana/generated/mpl-core/types/dataSectionInitInfo.d.ts +20 -0
  425. package/lib/types/solana/generated/mpl-core/types/dataSectionUpdateInfo.d.ts +13 -0
  426. package/lib/types/solana/generated/mpl-core/types/dataState.d.ts +16 -0
  427. package/lib/types/solana/generated/mpl-core/types/edition.d.ts +15 -0
  428. package/lib/types/solana/generated/mpl-core/types/externalCheckResult.d.ts +15 -0
  429. package/lib/types/solana/generated/mpl-core/types/externalPluginAdapter.d.ts +66 -0
  430. package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterInitInfo.d.ts +66 -0
  431. package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterKey.d.ts +64 -0
  432. package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterSchema.d.ts +17 -0
  433. package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterType.d.ts +21 -0
  434. package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterUpdateInfo.d.ts +59 -0
  435. package/lib/types/solana/generated/mpl-core/types/externalRegistryRecord.d.ts +28 -0
  436. package/lib/types/solana/generated/mpl-core/types/externalValidationResult.d.ts +17 -0
  437. package/lib/types/solana/generated/mpl-core/types/extraAccount.d.ts +86 -0
  438. package/lib/types/solana/generated/mpl-core/types/freezeDelegate.d.ts +15 -0
  439. package/lib/types/solana/generated/mpl-core/types/freezeExecute.d.ts +15 -0
  440. package/lib/types/solana/generated/mpl-core/types/groups.d.ts +15 -0
  441. package/lib/types/solana/generated/mpl-core/types/hashablePluginSchema.d.ts +22 -0
  442. package/lib/types/solana/generated/mpl-core/types/hashedAssetSchema.d.ts +16 -0
  443. package/lib/types/solana/generated/mpl-core/types/hookableLifecycleEvent.d.ts +19 -0
  444. package/lib/types/solana/generated/mpl-core/types/immutableMetadata.d.ts +13 -0
  445. package/lib/types/solana/generated/mpl-core/types/index.d.ts +89 -0
  446. package/lib/types/solana/generated/mpl-core/types/key.d.ts +21 -0
  447. package/lib/types/solana/generated/mpl-core/types/lifecycleHook.d.ts +24 -0
  448. package/lib/types/solana/generated/mpl-core/types/lifecycleHookInitInfo.d.ts +28 -0
  449. package/lib/types/solana/generated/mpl-core/types/lifecycleHookUpdateInfo.d.ts +22 -0
  450. package/lib/types/solana/generated/mpl-core/types/linkedAppData.d.ts +20 -0
  451. package/lib/types/solana/generated/mpl-core/types/linkedAppDataInitInfo.d.ts +22 -0
  452. package/lib/types/solana/generated/mpl-core/types/linkedAppDataUpdateInfo.d.ts +18 -0
  453. package/lib/types/solana/generated/mpl-core/types/linkedDataKey.d.ts +31 -0
  454. package/lib/types/solana/generated/mpl-core/types/linkedLifecycleHook.d.ts +24 -0
  455. package/lib/types/solana/generated/mpl-core/types/linkedLifecycleHookInitInfo.d.ts +28 -0
  456. package/lib/types/solana/generated/mpl-core/types/linkedLifecycleHookUpdateInfo.d.ts +22 -0
  457. package/lib/types/solana/generated/mpl-core/types/masterEdition.d.ts +21 -0
  458. package/lib/types/solana/generated/mpl-core/types/oracle.d.ts +22 -0
  459. package/lib/types/solana/generated/mpl-core/types/oracleInitInfo.d.ts +26 -0
  460. package/lib/types/solana/generated/mpl-core/types/oracleUpdateInfo.d.ts +22 -0
  461. package/lib/types/solana/generated/mpl-core/types/oracleValidation.d.ts +35 -0
  462. package/lib/types/solana/generated/mpl-core/types/permanentBurnDelegate.d.ts +13 -0
  463. package/lib/types/solana/generated/mpl-core/types/permanentFreezeDelegate.d.ts +15 -0
  464. package/lib/types/solana/generated/mpl-core/types/permanentFreezeExecute.d.ts +15 -0
  465. package/lib/types/solana/generated/mpl-core/types/permanentTransferDelegate.d.ts +13 -0
  466. package/lib/types/solana/generated/mpl-core/types/plugin.d.ts +150 -0
  467. package/lib/types/solana/generated/mpl-core/types/pluginAuthorityPair.d.ts +20 -0
  468. package/lib/types/solana/generated/mpl-core/types/pluginType.d.ts +33 -0
  469. package/lib/types/solana/generated/mpl-core/types/registryRecord.d.ts +22 -0
  470. package/lib/types/solana/generated/mpl-core/types/relationshipKind.d.ts +18 -0
  471. package/lib/types/solana/generated/mpl-core/types/removeAssetsFromGroupV1Args.d.ts +15 -0
  472. package/lib/types/solana/generated/mpl-core/types/removeCollectionsFromGroupV1Args.d.ts +15 -0
  473. package/lib/types/solana/generated/mpl-core/types/removeGroupsFromGroupV1Args.d.ts +15 -0
  474. package/lib/types/solana/generated/mpl-core/types/royalties.d.ts +22 -0
  475. package/lib/types/solana/generated/mpl-core/types/ruleSet.d.ts +27 -0
  476. package/lib/types/solana/generated/mpl-core/types/seed.d.ts +36 -0
  477. package/lib/types/solana/generated/mpl-core/types/transferDelegate.d.ts +13 -0
  478. package/lib/types/solana/generated/mpl-core/types/updateAuthority.d.ts +27 -0
  479. package/lib/types/solana/generated/mpl-core/types/updateDelegate.d.ts +15 -0
  480. package/lib/types/solana/generated/mpl-core/types/updateGroupV1Args.d.ts +19 -0
  481. package/lib/types/solana/generated/mpl-core/types/updateType.d.ts +17 -0
  482. package/lib/types/solana/generated/mpl-core/types/validationResult.d.ts +18 -0
  483. package/lib/types/solana/generated/mpl-core/types/validationResultsOffset.d.ts +33 -0
  484. package/lib/types/solana/generated/mpl-core/types/verifiedCreators.d.ts +18 -0
  485. package/lib/types/solana/generated/mpl-core/types/verifiedCreatorsSignature.d.ts +16 -0
  486. package/lib/types/solana/index.d.ts +63 -0
  487. package/lib/types/solana/instruction.d.ts +24 -0
  488. package/lib/types/solana/io-readable.d.ts +360 -0
  489. package/lib/types/solana/io-writeable.d.ts +533 -0
  490. package/lib/types/solana/json-rpc.d.ts +32 -0
  491. package/lib/types/solana/metadata.d.ts +69 -0
  492. package/lib/types/solana/mpl-core.d.ts +76 -0
  493. package/lib/types/solana/pda.d.ts +95 -0
  494. package/lib/types/solana/send.d.ts +16 -0
  495. package/lib/types/solana/spawn-ant.d.ts +130 -0
  496. package/lib/types/solana/types.d.ts +67 -0
  497. package/lib/types/types/ant-registry.d.ts +39 -0
  498. package/lib/types/types/ant.d.ts +22 -4
  499. package/lib/types/types/io.d.ts +56 -1
  500. package/lib/types/version.d.ts +1 -1
  501. package/package.json +33 -16
  502. package/lib/cjs/cli/cli.js +0 -822
  503. package/lib/cjs/cli/commands/antCommands.js +0 -113
  504. package/lib/cjs/cli/commands/arnsPurchaseCommands.js +0 -212
  505. package/lib/cjs/cli/commands/gatewayWriteCommands.js +0 -210
  506. package/lib/cjs/cli/commands/readCommands.js +0 -215
  507. package/lib/cjs/cli/commands/transfer.js +0 -159
  508. package/lib/cjs/cli/options.js +0 -470
  509. package/lib/cjs/cli/types.js +0 -2
  510. package/lib/cjs/cli/utils.js +0 -639
  511. package/lib/cjs/common/ant-registry.js +0 -155
  512. package/lib/cjs/common/ant-versions.js +0 -93
  513. package/lib/cjs/common/ant.js +0 -1182
  514. package/lib/cjs/common/arweave.js +0 -27
  515. package/lib/cjs/common/contracts/ao-process.js +0 -224
  516. package/lib/cjs/common/error.js +0 -64
  517. package/lib/cjs/common/faucet.js +0 -150
  518. package/lib/cjs/common/hyperbeam/hb.js +0 -173
  519. package/lib/cjs/common/index.js +0 -42
  520. package/lib/cjs/common/io.js +0 -1423
  521. package/lib/cjs/common/logger.js +0 -83
  522. package/lib/cjs/common/loggers/winston.js +0 -68
  523. package/lib/cjs/common/marketplace.js +0 -731
  524. package/lib/cjs/common/turbo.js +0 -223
  525. package/lib/cjs/constants.js +0 -41
  526. package/lib/cjs/node/index.js +0 -39
  527. package/lib/cjs/package.json +0 -1
  528. package/lib/cjs/types/ant-registry.js +0 -2
  529. package/lib/cjs/types/ant.js +0 -168
  530. package/lib/cjs/types/common.js +0 -2
  531. package/lib/cjs/types/faucet.js +0 -2
  532. package/lib/cjs/types/index.js +0 -37
  533. package/lib/cjs/types/io.js +0 -51
  534. package/lib/cjs/types/token.js +0 -116
  535. package/lib/cjs/utils/ant.js +0 -108
  536. package/lib/cjs/utils/ao.js +0 -432
  537. package/lib/cjs/utils/arweave.js +0 -285
  538. package/lib/cjs/utils/base64.js +0 -62
  539. package/lib/cjs/utils/hash.js +0 -56
  540. package/lib/cjs/utils/index.js +0 -38
  541. package/lib/cjs/utils/json.js +0 -26
  542. package/lib/cjs/utils/processes.js +0 -173
  543. package/lib/cjs/utils/random.js +0 -30
  544. package/lib/cjs/utils/schema.js +0 -15
  545. package/lib/cjs/utils/url.js +0 -37
  546. package/lib/cjs/version.js +0 -20
  547. package/lib/cjs/web/index.js +0 -41
@@ -1,1423 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ARIOWriteable = exports.ARIOReadable = exports.ARIO = void 0;
4
- /**
5
- * Copyright (C) 2022-2024 Permanent Data Solutions, Inc.
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the "License");
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
18
- */
19
- const aoconnect_1 = require("@permaweb/aoconnect");
20
- const constants_js_1 = require("../constants.js");
21
- const index_js_1 = require("../types/index.js");
22
- const ao_js_1 = require("../utils/ao.js");
23
- const arweave_js_1 = require("../utils/arweave.js");
24
- const ant_registry_js_1 = require("./ant-registry.js");
25
- const ant_js_1 = require("./ant.js");
26
- const arweave_js_2 = require("./arweave.js");
27
- const ao_process_js_1 = require("./contracts/ao-process.js");
28
- const error_js_1 = require("./error.js");
29
- const faucet_js_1 = require("./faucet.js");
30
- const hb_js_1 = require("./hyperbeam/hb.js");
31
- const logger_js_1 = require("./logger.js");
32
- const turbo_js_1 = require("./turbo.js");
33
- class ARIO {
34
- // Implementation
35
- static init(config) {
36
- if (config !== undefined && 'signer' in config) {
37
- return new ARIOWriteable(config);
38
- }
39
- return new ARIOReadable(config);
40
- }
41
- static mainnet(config) {
42
- if (config !== undefined && 'signer' in config) {
43
- return new ARIOWriteable({
44
- ...config,
45
- process: new ao_process_js_1.AOProcess({
46
- processId: constants_js_1.ARIO_MAINNET_PROCESS_ID,
47
- ao: (0, aoconnect_1.connect)({
48
- MODE: 'legacy',
49
- CU_URL: 'https://cu.ardrive.io',
50
- ...config?.process?.ao,
51
- }),
52
- }),
53
- });
54
- }
55
- return new ARIOReadable({
56
- ...config,
57
- process: new ao_process_js_1.AOProcess({
58
- processId: constants_js_1.ARIO_MAINNET_PROCESS_ID,
59
- ao: (0, aoconnect_1.connect)({
60
- CU_URL: 'https://cu.ardrive.io',
61
- MODE: 'legacy',
62
- ...config?.process?.ao,
63
- }),
64
- }),
65
- });
66
- }
67
- static testnet(config) {
68
- if (config !== undefined && 'signer' in config) {
69
- return (0, faucet_js_1.createFaucet)({
70
- arioInstance: new ARIOWriteable({
71
- ...config,
72
- process: new ao_process_js_1.AOProcess({
73
- processId: constants_js_1.ARIO_TESTNET_PROCESS_ID,
74
- ao: (0, aoconnect_1.connect)({
75
- MODE: 'legacy',
76
- CU_URL: 'https://cu.ardrive.io',
77
- ...config?.process?.ao,
78
- }),
79
- }),
80
- }),
81
- faucetApiUrl: config?.faucetUrl,
82
- });
83
- }
84
- return (0, faucet_js_1.createFaucet)({
85
- arioInstance: new ARIOReadable({
86
- ...config,
87
- process: new ao_process_js_1.AOProcess({
88
- processId: constants_js_1.ARIO_TESTNET_PROCESS_ID,
89
- ao: (0, aoconnect_1.connect)({
90
- MODE: 'legacy',
91
- CU_URL: 'https://cu.ardrive.io',
92
- ...config?.process?.ao,
93
- }),
94
- }),
95
- }),
96
- faucetApiUrl: config?.faucetUrl,
97
- });
98
- }
99
- }
100
- exports.ARIO = ARIO;
101
- class ARIOReadable {
102
- process;
103
- epochSettings;
104
- arweave;
105
- hyperbeamUrl;
106
- paymentProvider; // TODO: this could be an array/map of payment providers
107
- logger = logger_js_1.Logger.default;
108
- hb;
109
- constructor(config) {
110
- this.arweave = config?.arweave ?? arweave_js_2.defaultArweave;
111
- if (config === undefined || Object.keys(config).length === 0) {
112
- this.process = new ao_process_js_1.AOProcess({
113
- processId: constants_js_1.ARIO_MAINNET_PROCESS_ID,
114
- });
115
- }
116
- else if ((0, index_js_1.isProcessConfiguration)(config)) {
117
- this.process = config.process;
118
- }
119
- else if ((0, index_js_1.isProcessIdConfiguration)(config)) {
120
- this.process = new ao_process_js_1.AOProcess({
121
- processId: config.processId,
122
- });
123
- }
124
- else {
125
- throw new error_js_1.InvalidContractConfigurationError();
126
- }
127
- // only use hyperbeam if the client has provided a hyperbeamUrl
128
- // this will avoid overwhelming the HyperBeam node with requests
129
- // as we shift using HyperBEAM for all ANT operations
130
- if (config?.hyperbeamUrl !== undefined) {
131
- this.hyperbeamUrl = config.hyperbeamUrl;
132
- this.hb = new hb_js_1.HB({
133
- url: this.hyperbeamUrl,
134
- processId: this.process.processId,
135
- });
136
- this.logger.debug(`Using HyperBEAM node for process ${this.process.processId}`, {
137
- hyperbeamUrl: this.hyperbeamUrl,
138
- });
139
- }
140
- this.paymentProvider = turbo_js_1.TurboArNSPaymentFactory.init({
141
- paymentUrl: config?.paymentUrl,
142
- });
143
- }
144
- async getInfo() {
145
- return this.process.read({
146
- tags: [{ name: 'Action', value: 'Info' }],
147
- });
148
- }
149
- async getTokenSupply() {
150
- return this.process.read({
151
- tags: [{ name: 'Action', value: 'Total-Token-Supply' }],
152
- });
153
- }
154
- async computeEpochIndexForTimestamp(timestamp) {
155
- const epochSettings = await this.getEpochSettings();
156
- const epochZeroStartTimestamp = epochSettings.epochZeroStartTimestamp;
157
- const epochLengthMs = epochSettings.durationMs;
158
- return Math.floor((timestamp - epochZeroStartTimestamp) / epochLengthMs);
159
- }
160
- async computeCurrentEpochIndex() {
161
- return this.computeEpochIndexForTimestamp(Date.now());
162
- }
163
- async computeEpochIndex(params) {
164
- const epochIndex = params?.epochIndex;
165
- if (epochIndex !== undefined) {
166
- return epochIndex;
167
- }
168
- const timestamp = params?.timestamp;
169
- if (timestamp !== undefined) {
170
- return this.computeEpochIndexForTimestamp(timestamp);
171
- }
172
- return undefined;
173
- }
174
- async getEpochSettings() {
175
- return (this.epochSettings ??= await this.process.read({
176
- tags: [{ name: 'Action', value: 'Epoch-Settings' }],
177
- }));
178
- }
179
- async getEpoch(epoch) {
180
- const epochIndex = await this.computeEpochIndex(epoch);
181
- const currentIndex = await this.computeCurrentEpochIndex();
182
- if (epochIndex !== undefined && epochIndex < currentIndex) {
183
- const epochData = await (0, arweave_js_1.getEpochDataFromGqlWithCUFallback)({
184
- arweave: this.arweave,
185
- epochIndex: epochIndex,
186
- processId: this.process.processId,
187
- ao: this.process.ao,
188
- });
189
- if (!epochData) {
190
- throw new Error('Epoch data not found for epoch index ' + epochIndex);
191
- }
192
- return (0, arweave_js_1.removeEligibleRewardsFromEpochData)(epochData);
193
- }
194
- // go to the process epoch and fetch the epoch data
195
- const allTags = [
196
- { name: 'Action', value: 'Epoch' },
197
- {
198
- name: 'Epoch-Index',
199
- value: currentIndex.toString(),
200
- },
201
- ];
202
- return this.process.read({
203
- tags: (0, arweave_js_1.pruneTags)(allTags),
204
- });
205
- }
206
- async getArNSRecord({ name }) {
207
- return this.process.read({
208
- tags: [
209
- { name: 'Action', value: 'Record' },
210
- { name: 'Name', value: name },
211
- ],
212
- });
213
- }
214
- async getArNSRecords(params) {
215
- return this.process.read({
216
- tags: [
217
- { name: 'Action', value: 'Paginated-Records' },
218
- ...(0, arweave_js_1.paginationParamsToTags)(params),
219
- ],
220
- });
221
- }
222
- async getArNSReservedNames(params) {
223
- return this.process.read({
224
- tags: [
225
- { name: 'Action', value: 'Reserved-Names' },
226
- ...(0, arweave_js_1.paginationParamsToTags)(params),
227
- ],
228
- });
229
- }
230
- async getArNSReservedName({ name, }) {
231
- return this.process.read({
232
- tags: [
233
- { name: 'Action', value: 'Reserved-Name' },
234
- { name: 'Name', value: name },
235
- ],
236
- });
237
- }
238
- async getBalance({ address }) {
239
- if (this.hb && (await this.hb.checkHyperBeamCompatibility())) {
240
- this.logger.debug('Getting balance from HyperBEAM', { address });
241
- const res = await this.hb
242
- .compute({
243
- path: `balances/${address}`,
244
- })
245
- .then((res) => Number(res))
246
- .catch((error) => {
247
- this.logger.error('Failed to get balance from HyperBEAM', {
248
- cause: error,
249
- });
250
- return null;
251
- });
252
- if (res !== null)
253
- return res;
254
- // else fall through to CU read
255
- this.logger.info('Failed to get balance from HyperBEAM, failing over to to CU read', { address });
256
- }
257
- return this.process.read({
258
- tags: [
259
- { name: 'Action', value: 'Balance' },
260
- { name: 'Address', value: address },
261
- ],
262
- });
263
- }
264
- async getBalances(params) {
265
- return this.process.read({
266
- tags: [
267
- { name: 'Action', value: 'Paginated-Balances' },
268
- ...(0, arweave_js_1.paginationParamsToTags)(params),
269
- ],
270
- });
271
- }
272
- async getVault({ address, vaultId, }) {
273
- return this.process.read({
274
- tags: [
275
- { name: 'Action', value: 'Vault' },
276
- { name: 'Address', value: address },
277
- { name: 'Vault-Id', value: vaultId },
278
- ],
279
- });
280
- }
281
- async getVaults(params) {
282
- return this.process.read({
283
- tags: [
284
- { name: 'Action', value: 'Paginated-Vaults' },
285
- ...(0, arweave_js_1.paginationParamsToTags)(params),
286
- ],
287
- });
288
- }
289
- async getGateway({ address, }) {
290
- return this.process.read({
291
- tags: [
292
- { name: 'Action', value: 'Gateway' },
293
- { name: 'Address', value: address },
294
- ],
295
- });
296
- }
297
- async getGatewayDelegates({ address, ...pageParams }) {
298
- return this.process.read({
299
- tags: [
300
- { name: 'Action', value: 'Paginated-Delegates' },
301
- { name: 'Address', value: address },
302
- ...(0, arweave_js_1.paginationParamsToTags)(pageParams),
303
- ],
304
- });
305
- }
306
- async getGatewayDelegateAllowList({ address, ...pageParams }) {
307
- return this.process.read({
308
- tags: [
309
- { name: 'Action', value: 'Paginated-Allowed-Delegates' },
310
- { name: 'Address', value: address },
311
- ...(0, arweave_js_1.paginationParamsToTags)(pageParams),
312
- ],
313
- });
314
- }
315
- async getGateways(pageParams) {
316
- return this.process.read({
317
- tags: [
318
- { name: 'Action', value: 'Paginated-Gateways' },
319
- ...(0, arweave_js_1.paginationParamsToTags)(pageParams),
320
- ],
321
- });
322
- }
323
- async getCurrentEpoch() {
324
- return this.process.read({
325
- tags: [{ name: 'Action', value: 'Epoch' }],
326
- });
327
- }
328
- async getPrescribedObservers(epoch) {
329
- const epochIndex = await this.computeEpochIndex(epoch);
330
- const currentIndex = await this.computeCurrentEpochIndex();
331
- if (epochIndex !== undefined && epochIndex < currentIndex) {
332
- const epochData = await (0, arweave_js_1.getEpochDataFromGqlWithCUFallback)({
333
- ao: this.process.ao,
334
- arweave: this.arweave,
335
- epochIndex: epochIndex,
336
- processId: this.process.processId,
337
- });
338
- if (!epochData) {
339
- throw new Error('Epoch data not found for epoch index ' + epochIndex);
340
- }
341
- return epochData.prescribedObservers;
342
- }
343
- const allTags = [
344
- { name: 'Action', value: 'Epoch-Prescribed-Observers' },
345
- {
346
- name: 'Epoch-Index',
347
- value: currentIndex.toString(),
348
- },
349
- ];
350
- return this.process.read({
351
- tags: (0, arweave_js_1.pruneTags)(allTags),
352
- });
353
- }
354
- async getPrescribedNames(epoch) {
355
- const epochIndex = await this.computeEpochIndex(epoch);
356
- const currentIndex = await this.computeCurrentEpochIndex();
357
- if (epochIndex !== undefined && epochIndex < currentIndex) {
358
- const epochData = await (0, arweave_js_1.getEpochDataFromGqlWithCUFallback)({
359
- arweave: this.arweave,
360
- epochIndex: epochIndex,
361
- processId: this.process.processId,
362
- ao: this.process.ao,
363
- });
364
- if (!epochData) {
365
- throw new Error('Epoch data not found for epoch index ' + epochIndex);
366
- }
367
- return epochData.prescribedNames;
368
- }
369
- const allTags = [
370
- { name: 'Action', value: 'Epoch-Prescribed-Names' },
371
- {
372
- name: 'Epoch-Index',
373
- value: currentIndex.toString(),
374
- },
375
- ];
376
- return this.process.read({
377
- tags: (0, arweave_js_1.pruneTags)(allTags),
378
- });
379
- }
380
- // we need to find the epoch index for the epoch that is currently being distributed and fetch it from gql
381
- async getObservations(epoch) {
382
- const epochIndex = await this.computeEpochIndex(epoch);
383
- const currentIndex = await this.computeCurrentEpochIndex();
384
- if (epochIndex !== undefined && epochIndex < currentIndex) {
385
- const epochData = await (0, arweave_js_1.getEpochDataFromGqlWithCUFallback)({
386
- arweave: this.arweave,
387
- epochIndex: epochIndex,
388
- processId: this.process.processId,
389
- ao: this.process.ao,
390
- });
391
- if (!epochData) {
392
- throw new Error('Epoch data not found for epoch index ' + epochIndex);
393
- }
394
- return epochData.observations;
395
- }
396
- // go to the process epoch and fetch the observations
397
- const allTags = [
398
- { name: 'Action', value: 'Epoch-Observations' },
399
- {
400
- name: 'Epoch-Index',
401
- value: currentIndex.toString(),
402
- },
403
- ];
404
- return this.process.read({
405
- tags: (0, arweave_js_1.pruneTags)(allTags),
406
- });
407
- }
408
- async getDistributions(epoch) {
409
- const epochIndex = await this.computeEpochIndex(epoch);
410
- const currentIndex = await this.computeCurrentEpochIndex();
411
- if (epochIndex !== undefined && epochIndex < currentIndex) {
412
- const epochData = await (0, arweave_js_1.getEpochDataFromGqlWithCUFallback)({
413
- arweave: this.arweave,
414
- epochIndex: epochIndex,
415
- processId: this.process.processId,
416
- ao: this.process.ao,
417
- });
418
- if (epochData === undefined) {
419
- throw new Error('Epoch data not found for epoch index ' + epochIndex);
420
- }
421
- return epochData.distributions;
422
- }
423
- // go to the process epoch and fetch the distributions
424
- const allTags = [
425
- { name: 'Action', value: 'Epoch-Distributions' },
426
- {
427
- name: 'Epoch-Index',
428
- value: currentIndex.toString(),
429
- },
430
- ];
431
- return this.process.read({
432
- tags: (0, arweave_js_1.pruneTags)(allTags),
433
- });
434
- }
435
- async getEligibleEpochRewards(epoch, params) {
436
- const epochIndex = await this.computeEpochIndex(epoch);
437
- const currentIndex = await this.computeCurrentEpochIndex();
438
- if (epochIndex !== undefined && epochIndex < currentIndex) {
439
- const epochData = await (0, arweave_js_1.getEpochDataFromGqlWithCUFallback)({
440
- arweave: this.arweave,
441
- epochIndex: epochIndex,
442
- processId: this.process.processId,
443
- ao: this.process.ao,
444
- });
445
- if (!epochData) {
446
- throw new Error('Epoch data not found for epoch index ' + epochIndex);
447
- }
448
- return (0, arweave_js_1.sortAndPaginateEpochDataIntoEligibleDistributions)(epochData, params);
449
- }
450
- // on current epoch, go to process and fetch the distributions
451
- const allTags = [
452
- { name: 'Action', value: 'Epoch-Eligible-Rewards' },
453
- ...(0, arweave_js_1.paginationParamsToTags)(params),
454
- ];
455
- return this.process.read({
456
- tags: (0, arweave_js_1.pruneTags)(allTags),
457
- });
458
- }
459
- async getTokenCost({ intent, type, years, name, quantity, fromAddress, }) {
460
- const replacedBuyRecordWithBuyName = intent === 'Buy-Record' ? 'Buy-Name' : intent;
461
- const allTags = [
462
- { name: 'Action', value: 'Token-Cost' },
463
- {
464
- name: 'Intent',
465
- value: replacedBuyRecordWithBuyName,
466
- },
467
- {
468
- name: 'Name',
469
- value: name,
470
- },
471
- {
472
- name: 'Years',
473
- value: years?.toString(),
474
- },
475
- {
476
- name: 'Quantity',
477
- value: quantity?.toString(),
478
- },
479
- {
480
- name: 'Purchase-Type',
481
- value: type,
482
- },
483
- ];
484
- return this.process.read({
485
- tags: (0, arweave_js_1.pruneTags)(allTags),
486
- fromAddress,
487
- });
488
- }
489
- // TODO: Can overload this function to refine different types of cost details params
490
- async getCostDetails({ intent, type, years, name, quantity, fromAddress, fundFrom, }) {
491
- const replacedBuyRecordWithBuyName = intent === 'Buy-Record' ? 'Buy-Name' : intent;
492
- if (fundFrom === 'turbo') {
493
- const { mARIO, winc } = await this.paymentProvider.getArNSPriceDetails({
494
- intent: replacedBuyRecordWithBuyName,
495
- name,
496
- quantity,
497
- type,
498
- years,
499
- });
500
- return {
501
- tokenCost: mARIO.valueOf(),
502
- wincQty: winc,
503
- discounts: [],
504
- };
505
- }
506
- const allTags = [
507
- { name: 'Action', value: 'Cost-Details' },
508
- {
509
- name: 'Intent',
510
- value: replacedBuyRecordWithBuyName,
511
- },
512
- {
513
- name: 'Name',
514
- value: name,
515
- },
516
- {
517
- name: 'Years',
518
- value: years?.toString(),
519
- },
520
- {
521
- name: 'Quantity',
522
- value: quantity?.toString(),
523
- },
524
- {
525
- name: 'Purchase-Type',
526
- value: type,
527
- },
528
- {
529
- name: 'Fund-From',
530
- value: fundFrom,
531
- },
532
- ];
533
- return this.process.read({
534
- tags: (0, arweave_js_1.pruneTags)(allTags),
535
- fromAddress,
536
- });
537
- }
538
- async getRegistrationFees() {
539
- return this.process.read({
540
- tags: [{ name: 'Action', value: 'Registration-Fees' }],
541
- });
542
- }
543
- async getDemandFactor() {
544
- return this.process.read({
545
- tags: [{ name: 'Action', value: 'Demand-Factor' }],
546
- });
547
- }
548
- async getDemandFactorSettings() {
549
- return this.process.read({
550
- tags: [{ name: 'Action', value: 'Demand-Factor-Settings' }],
551
- });
552
- }
553
- async getArNSReturnedNames(params) {
554
- return this.process.read({
555
- tags: [
556
- { name: 'Action', value: 'Returned-Names' },
557
- ...(0, arweave_js_1.paginationParamsToTags)(params),
558
- ],
559
- });
560
- }
561
- async getArNSReturnedName({ name, }) {
562
- const allTags = [
563
- { name: 'Action', value: 'Returned-Name' },
564
- { name: 'Name', value: name },
565
- ];
566
- return this.process.read({
567
- tags: allTags,
568
- });
569
- }
570
- async getDelegations(params) {
571
- const allTags = [
572
- { name: 'Action', value: 'Paginated-Delegations' },
573
- { name: 'Address', value: params.address },
574
- ...(0, arweave_js_1.paginationParamsToTags)(params),
575
- ];
576
- return this.process.read({
577
- tags: (0, arweave_js_1.pruneTags)(allTags),
578
- });
579
- }
580
- async getAllowedDelegates(params) {
581
- return this.getGatewayDelegateAllowList(params);
582
- }
583
- async getGatewayVaults(params) {
584
- return this.process.read({
585
- tags: [
586
- { name: 'Action', value: 'Paginated-Gateway-Vaults' },
587
- { name: 'Address', value: params.address },
588
- ...(0, arweave_js_1.paginationParamsToTags)(params),
589
- ],
590
- });
591
- }
592
- async getPrimaryNameRequest(params) {
593
- if (this.hb && (await this.hb.checkHyperBeamCompatibility())) {
594
- this.logger.debug('Getting primary name request from HyperBEAM', {
595
- initiator: params.initiator,
596
- });
597
- const res = await this.hb
598
- .compute({
599
- path: `/primary-names/requests/${params.initiator}`,
600
- })
601
- .catch((error) => {
602
- this.logger.error('Failed to get primary name request from HyperBEAM', {
603
- cause: error,
604
- });
605
- return null;
606
- });
607
- if (res !== null) {
608
- // Ensure initiator is included in the result
609
- return {
610
- ...res,
611
- initiator: params.initiator,
612
- };
613
- }
614
- // else fall through to CU read
615
- this.logger.info('Failed to get primary name request from HyperBEAM, failing over to CU read', { initiator: params.initiator });
616
- }
617
- const allTags = [
618
- { name: 'Action', value: 'Primary-Name-Request' },
619
- {
620
- name: 'Initiator',
621
- value: params.initiator,
622
- },
623
- ];
624
- return this.process.read({
625
- tags: allTags,
626
- });
627
- }
628
- async getPrimaryNameRequests(params) {
629
- return this.process.read({
630
- tags: [
631
- { name: 'Action', value: 'Primary-Name-Requests' },
632
- ...(0, arweave_js_1.paginationParamsToTags)(params),
633
- ],
634
- });
635
- }
636
- async getPrimaryName(params) {
637
- if (this.hb && (await this.hb.checkHyperBeamCompatibility())) {
638
- this.logger.debug('Getting primary name from HyperBEAM', { params });
639
- try {
640
- let owner;
641
- if ('name' in params) {
642
- // Step 1: Get owner from /primary-names/names/<name>
643
- owner = await this.hb.compute({
644
- path: `/primary-names/names/${params.name}`,
645
- });
646
- }
647
- else {
648
- // If given address, skip the /names/name query
649
- owner = params.address;
650
- }
651
- // Step 2: Get {name, startTimestamp} from /primary-names/owners/<owner>
652
- const ownerData = await this.hb.compute({
653
- path: `/primary-names/owners/${owner}`,
654
- });
655
- const name = ownerData.name;
656
- const startTimestamp = ownerData.startTimestamp;
657
- // Step 3: Get processId from getArNSRecord
658
- const record = await this.getArNSRecord({ name });
659
- const processId = record.processId;
660
- // Combine all data
661
- const result = {
662
- owner,
663
- name,
664
- startTimestamp,
665
- processId,
666
- };
667
- return result;
668
- }
669
- catch (error) {
670
- this.logger.error('Failed to get primary name from HyperBEAM', {
671
- cause: error,
672
- });
673
- // Fall through to CU read
674
- this.logger.info('Failed to get primary name from HyperBEAM, failing over to CU read', { params });
675
- }
676
- }
677
- const allTags = [
678
- { name: 'Action', value: 'Primary-Name' },
679
- {
680
- name: 'Address',
681
- value: params?.address,
682
- },
683
- { name: 'Name', value: params?.name },
684
- ];
685
- return this.process.read({
686
- tags: (0, arweave_js_1.pruneTags)(allTags),
687
- });
688
- }
689
- async getPrimaryNames(params) {
690
- return this.process.read({
691
- tags: [
692
- { name: 'Action', value: 'Primary-Names' },
693
- ...(0, arweave_js_1.paginationParamsToTags)(params),
694
- ],
695
- });
696
- }
697
- /**
698
- * Get current redelegation fee percentage for address
699
- *
700
- * @param {Object} params - The parameters for fetching redelegation fee
701
- * @param {string} params.address - The address to fetch the fee for
702
- * @returns {Promise<AoMessageResult>} The redelegation fee result
703
- */
704
- async getRedelegationFee(params) {
705
- return this.process.read({
706
- tags: [
707
- { name: 'Action', value: 'Redelegation-Fee' },
708
- { name: 'Address', value: params.address },
709
- ],
710
- });
711
- }
712
- async getGatewayRegistrySettings() {
713
- return this.process.read({
714
- tags: [{ name: 'Action', value: 'Gateway-Registry-Settings' }],
715
- });
716
- }
717
- async getAllDelegates(params) {
718
- return this.process.read({
719
- tags: [
720
- { name: 'Action', value: 'All-Paginated-Delegates' },
721
- ...(0, arweave_js_1.paginationParamsToTags)(params),
722
- ],
723
- });
724
- }
725
- async getAllGatewayVaults(params) {
726
- return this.process.read({
727
- tags: [
728
- { name: 'Action', value: 'All-Gateway-Vaults' },
729
- ...(0, arweave_js_1.paginationParamsToTags)(params),
730
- ],
731
- });
732
- }
733
- async resolveArNSName({ name, }) {
734
- // derive baseName & undername using last underscore
735
- const lastUnderscore = name.lastIndexOf('_');
736
- const baseName = lastUnderscore === -1 ? name : name.slice(lastUnderscore + 1);
737
- const undername = lastUnderscore === -1 ? '@' : name.slice(0, lastUnderscore);
738
- // guard against missing or unregistered ARNS record
739
- const nameData = await this.getArNSRecord({ name: baseName });
740
- if (nameData === undefined || nameData.processId === undefined) {
741
- throw new Error(`Base ArNS name ${baseName} not found on ARIO contract (${this.process.processId}).`);
742
- }
743
- const ant = ant_js_1.ANT.init({
744
- process: new ao_process_js_1.AOProcess({
745
- ao: this.process.ao,
746
- processId: nameData.processId,
747
- }),
748
- hyperbeamUrl: this.hyperbeamUrl,
749
- });
750
- const [owner, antRecord] = await Promise.all([
751
- ant.getOwner(),
752
- ant.getRecord({ undername }),
753
- ]);
754
- if (antRecord === undefined) {
755
- throw new Error(`Record for ${undername} not found on ANT.`);
756
- }
757
- if (antRecord.ttlSeconds === undefined ||
758
- antRecord.transactionId === undefined) {
759
- throw new Error(`Invalid record on ANT. Must have ttlSeconds and transactionId. Record: ${JSON.stringify(antRecord)}`);
760
- }
761
- return {
762
- name,
763
- owner,
764
- txId: antRecord.transactionId,
765
- ttlSeconds: antRecord.ttlSeconds,
766
- priority: antRecord.priority,
767
- // NOTE: we may want return the actual index of the record based on sorting
768
- // in case ANT tries to set duplicate priority values to get around undername limits
769
- processId: nameData.processId,
770
- undernameLimit: nameData.undernameLimit,
771
- type: nameData.type,
772
- };
773
- }
774
- /**
775
- * Get all ARNS names associated with an address using the provided ANT registry address.
776
- *
777
- * By default it will use the mainnet ANT registry address.
778
- *
779
- * @param {Object} params - The parameters for fetching ARNS names
780
- * @param {string} params.address - The address to fetch the ARNS names for
781
- * @returns {Promise<AoArNSNameData[]>} The ARNS names associated with the address
782
- */
783
- async getArNSRecordsForAddress(params) {
784
- const { antRegistryProcessId = constants_js_1.ANT_REGISTRY_ID, address } = params;
785
- const antRegistry = ant_registry_js_1.ANTRegistry.init({
786
- hyperbeamUrl: this.hyperbeamUrl,
787
- process: new ao_process_js_1.AOProcess({
788
- ao: this.process.ao,
789
- processId: antRegistryProcessId,
790
- }),
791
- });
792
- // Note: there could be a race condition here if the ACL changes during pagination requests, resulting in different results from the `getArNSRecords`.
793
- // This is an unlikely scenario, so to give the client control, and keep this API consistent with other ArNS APIs, we refetch the ACL for each page, and
794
- // return paginated results.
795
- const { Controlled = [], Owned = [] } = await antRegistry.accessControlList({
796
- address,
797
- });
798
- const allProcessIds = new Set([...Controlled, ...Owned]);
799
- if (allProcessIds.size === 0) {
800
- return {
801
- items: [],
802
- hasMore: false,
803
- nextCursor: undefined,
804
- limit: params.limit ?? 1000,
805
- totalItems: 0,
806
- sortOrder: params.sortOrder ?? 'asc',
807
- };
808
- }
809
- const currentPage = await this.getArNSRecords({
810
- ...params,
811
- filters: {
812
- // NOTE: we confirmed that dry-runs are not limited to the same tag limits as data-items.
813
- // Should this change, we'll need to batch the requests.
814
- processId: Array.from(allProcessIds),
815
- },
816
- });
817
- return currentPage;
818
- }
819
- }
820
- exports.ARIOReadable = ARIOReadable;
821
- class ARIOWriteable extends ARIOReadable {
822
- signer;
823
- paymentProvider;
824
- constructor({ signer, paymentUrl, ...config }) {
825
- if (config === undefined) {
826
- super({
827
- process: new ao_process_js_1.AOProcess({
828
- processId: constants_js_1.ARIO_MAINNET_PROCESS_ID,
829
- }),
830
- });
831
- }
832
- else {
833
- super(config);
834
- }
835
- this.signer = (0, ao_js_1.createAoSigner)(signer);
836
- this.paymentProvider = turbo_js_1.TurboArNSPaymentFactory.init({
837
- signer: (0, turbo_js_1.isTurboArNSSigner)(signer) ? signer : undefined,
838
- paymentUrl,
839
- });
840
- }
841
- async transfer({ target, qty, }, options) {
842
- const { tags = [] } = options || {};
843
- return this.process.send({
844
- tags: [
845
- ...tags,
846
- { name: 'Action', value: 'Transfer' },
847
- {
848
- name: 'Recipient',
849
- value: target,
850
- },
851
- {
852
- name: 'Quantity',
853
- value: qty.valueOf().toString(),
854
- },
855
- ],
856
- signer: this.signer,
857
- });
858
- }
859
- async vaultedTransfer({ recipient, quantity, lockLengthMs, revokable = false, }, options) {
860
- const { tags = [] } = options || {};
861
- return this.process.send({
862
- tags: [
863
- ...tags,
864
- { name: 'Action', value: 'Vaulted-Transfer' },
865
- { name: 'Recipient', value: recipient },
866
- { name: 'Quantity', value: quantity.toString() },
867
- { name: 'Lock-Length', value: lockLengthMs.toString() },
868
- { name: 'Revokable', value: `${revokable}` },
869
- ],
870
- signer: this.signer,
871
- });
872
- }
873
- async revokeVault({ vaultId, recipient }, options) {
874
- const { tags = [] } = options || {};
875
- return this.process.send({
876
- tags: [
877
- ...tags,
878
- { name: 'Action', value: 'Revoke-Vault' },
879
- { name: 'Vault-Id', value: vaultId },
880
- { name: 'Recipient', value: recipient },
881
- ],
882
- signer: this.signer,
883
- });
884
- }
885
- async createVault({ lockLengthMs, quantity }, options) {
886
- const { tags = [] } = options || {};
887
- return this.process.send({
888
- tags: [
889
- ...tags,
890
- { name: 'Action', value: 'Create-Vault' },
891
- { name: 'Lock-Length', value: lockLengthMs.toString() },
892
- { name: 'Quantity', value: quantity.toString() },
893
- ],
894
- signer: this.signer,
895
- });
896
- }
897
- async extendVault({ vaultId, extendLengthMs }, options) {
898
- const { tags = [] } = options || {};
899
- return this.process.send({
900
- tags: [
901
- ...tags,
902
- { name: 'Action', value: 'Extend-Vault' },
903
- { name: 'Vault-Id', value: vaultId },
904
- { name: 'Extend-Length', value: extendLengthMs.toString() },
905
- ],
906
- signer: this.signer,
907
- });
908
- }
909
- async increaseVault({ vaultId, quantity }, options) {
910
- const { tags = [] } = options || {};
911
- return this.process.send({
912
- tags: [
913
- ...tags,
914
- { name: 'Action', value: 'Increase-Vault' },
915
- { name: 'Vault-Id', value: vaultId },
916
- { name: 'Quantity', value: quantity.toString() },
917
- ],
918
- signer: this.signer,
919
- });
920
- }
921
- async joinNetwork({ operatorStake, allowDelegatedStaking, allowedDelegates, delegateRewardShareRatio, fqdn, label, minDelegatedStake, note, port, properties, protocol, autoStake, observerAddress, services, }, options) {
922
- const { tags = [] } = options || {};
923
- const allTags = [
924
- ...tags,
925
- { name: 'Action', value: 'Join-Network' },
926
- {
927
- name: 'Operator-Stake',
928
- value: operatorStake.valueOf().toString(),
929
- },
930
- {
931
- name: 'Allow-Delegated-Staking',
932
- value: allowDelegatedStaking?.toString(),
933
- },
934
- {
935
- name: 'Allowed-Delegates',
936
- value: allowedDelegates?.join(','),
937
- },
938
- {
939
- name: 'Delegate-Reward-Share-Ratio',
940
- value: delegateRewardShareRatio?.toString(),
941
- },
942
- {
943
- name: 'FQDN',
944
- value: fqdn,
945
- },
946
- {
947
- name: 'Label',
948
- value: label,
949
- },
950
- {
951
- name: 'Min-Delegated-Stake',
952
- value: minDelegatedStake?.valueOf().toString(),
953
- },
954
- {
955
- name: 'Note',
956
- value: note,
957
- },
958
- {
959
- name: 'Port',
960
- value: port?.toString(),
961
- },
962
- {
963
- name: 'Properties',
964
- value: properties,
965
- },
966
- {
967
- name: 'Protocol',
968
- value: protocol,
969
- },
970
- {
971
- name: 'Auto-Stake',
972
- value: autoStake?.toString(),
973
- },
974
- {
975
- name: 'Observer-Address',
976
- value: observerAddress,
977
- },
978
- {
979
- name: 'Services',
980
- value: services ? JSON.stringify(services) : undefined,
981
- },
982
- ];
983
- return this.process.send({
984
- signer: this.signer,
985
- tags: (0, arweave_js_1.pruneTags)(allTags),
986
- });
987
- }
988
- async leaveNetwork(options) {
989
- const { tags = [] } = options || {};
990
- return this.process.send({
991
- signer: this.signer,
992
- tags: [...tags, { name: 'Action', value: 'Leave-Network' }],
993
- });
994
- }
995
- async updateGatewaySettings({ allowDelegatedStaking, allowedDelegates, delegateRewardShareRatio, fqdn, label, minDelegatedStake, note, port, properties, protocol, autoStake, observerAddress, services, }, options) {
996
- const { tags = [] } = options || {};
997
- const allTags = [
998
- ...tags,
999
- { name: 'Action', value: 'Update-Gateway-Settings' },
1000
- { name: 'Label', value: label },
1001
- { name: 'Note', value: note },
1002
- { name: 'FQDN', value: fqdn },
1003
- { name: 'Port', value: port?.toString() },
1004
- { name: 'Properties', value: properties },
1005
- { name: 'Protocol', value: protocol },
1006
- { name: 'Observer-Address', value: observerAddress },
1007
- {
1008
- name: 'Allow-Delegated-Staking',
1009
- value: allowDelegatedStaking?.toString(),
1010
- },
1011
- {
1012
- name: 'Allowed-Delegates',
1013
- value: allowedDelegates?.join(','),
1014
- },
1015
- {
1016
- name: 'Delegate-Reward-Share-Ratio',
1017
- value: delegateRewardShareRatio?.toString(),
1018
- },
1019
- {
1020
- name: 'Min-Delegated-Stake',
1021
- value: minDelegatedStake?.valueOf().toString(),
1022
- },
1023
- { name: 'Auto-Stake', value: autoStake?.toString() },
1024
- {
1025
- name: 'Services',
1026
- value: services ? JSON.stringify(services) : undefined,
1027
- },
1028
- ];
1029
- return this.process.send({
1030
- signer: this.signer,
1031
- tags: (0, arweave_js_1.pruneTags)(allTags),
1032
- });
1033
- }
1034
- async delegateStake(params, options) {
1035
- const { tags = [] } = options || {};
1036
- return this.process.send({
1037
- signer: this.signer,
1038
- tags: [
1039
- ...tags,
1040
- { name: 'Action', value: 'Delegate-Stake' },
1041
- { name: 'Target', value: params.target },
1042
- { name: 'Quantity', value: params.stakeQty.valueOf().toString() },
1043
- ],
1044
- });
1045
- }
1046
- async decreaseDelegateStake(params, options) {
1047
- const { tags = [] } = options || {};
1048
- return this.process.send({
1049
- signer: this.signer,
1050
- tags: [
1051
- ...tags,
1052
- { name: 'Action', value: 'Decrease-Delegate-Stake' },
1053
- { name: 'Target', value: params.target },
1054
- { name: 'Quantity', value: params.decreaseQty.valueOf().toString() },
1055
- { name: 'Instant', value: `${params.instant || false}` },
1056
- ],
1057
- });
1058
- }
1059
- /**
1060
- * Initiates an instant withdrawal from a gateway.
1061
- *
1062
- * @param {Object} params - The parameters for initiating an instant withdrawal
1063
- * @param {string} params.address - The gateway address of the withdrawal, if not provided, the signer's address will be used
1064
- * @param {string} params.vaultId - The vault ID of the withdrawal
1065
- * @returns {Promise<AoMessageResult>} The result of the withdrawal
1066
- */
1067
- async instantWithdrawal(params, options) {
1068
- const { tags = [] } = options || {};
1069
- const allTags = [
1070
- ...tags,
1071
- { name: 'Action', value: 'Instant-Withdrawal' },
1072
- { name: 'Vault-Id', value: params.vaultId },
1073
- { name: 'Address', value: params.gatewayAddress },
1074
- ];
1075
- return this.process.send({
1076
- signer: this.signer,
1077
- tags: (0, arweave_js_1.pruneTags)(allTags),
1078
- });
1079
- }
1080
- async increaseOperatorStake(params, options) {
1081
- const { tags = [] } = options || {};
1082
- return this.process.send({
1083
- signer: this.signer,
1084
- tags: [
1085
- ...tags,
1086
- { name: 'Action', value: 'Increase-Operator-Stake' },
1087
- { name: 'Quantity', value: params.increaseQty.valueOf().toString() },
1088
- ],
1089
- });
1090
- }
1091
- async decreaseOperatorStake(params, options) {
1092
- const { tags = [] } = options || {};
1093
- return this.process.send({
1094
- signer: this.signer,
1095
- tags: [
1096
- ...tags,
1097
- { name: 'Action', value: 'Decrease-Operator-Stake' },
1098
- { name: 'Quantity', value: params.decreaseQty.valueOf().toString() },
1099
- { name: 'Instant', value: `${params.instant || false}` },
1100
- ],
1101
- });
1102
- }
1103
- async saveObservations(params, options) {
1104
- const { tags = [] } = options || {};
1105
- return this.process.send({
1106
- signer: this.signer,
1107
- tags: [
1108
- ...tags,
1109
- { name: 'Action', value: 'Save-Observations' },
1110
- {
1111
- name: 'Report-Tx-Id',
1112
- value: params.reportTxId,
1113
- },
1114
- {
1115
- name: 'Failed-Gateways',
1116
- value: params.failedGateways.join(','),
1117
- },
1118
- ],
1119
- });
1120
- }
1121
- async buyRecord(params, options) {
1122
- // spawn a new ANT if not provided
1123
- if (params.processId === undefined) {
1124
- try {
1125
- // if a Name tag is provided, use it. Else, default to the arns name being purchased.
1126
- const { nameTag, otherTags } = (options?.tags || []).reduce((acc, tag) => {
1127
- if (tag.name === 'Name') {
1128
- acc.nameTag = tag;
1129
- }
1130
- else {
1131
- acc.otherTags.push(tag);
1132
- }
1133
- return acc;
1134
- }, { nameTag: { name: 'Name', value: params.name }, otherTags: [] });
1135
- params.processId = await ant_js_1.ANT.spawn({
1136
- signer: this.signer,
1137
- ao: this.process.ao,
1138
- logger: this.logger,
1139
- // This lets AOS set the ArNS name as the Name in lua state
1140
- tags: [nameTag, ...otherTags],
1141
- onSigningProgress: options?.onSigningProgress,
1142
- });
1143
- }
1144
- catch (error) {
1145
- this.logger.error('Failed to spawn ANT for name purchase.', {
1146
- error,
1147
- });
1148
- throw error;
1149
- }
1150
- }
1151
- options?.onSigningProgress?.('buying-name', {
1152
- name: params.name,
1153
- years: params.years,
1154
- type: params.type,
1155
- processId: params.processId,
1156
- fundFrom: params.fundFrom,
1157
- referrer: params.referrer,
1158
- });
1159
- // pay with turbo credits if available
1160
- if (params.fundFrom === 'turbo') {
1161
- if (!(this.paymentProvider instanceof turbo_js_1.TurboArNSPaymentProviderAuthenticated)) {
1162
- throw new Error('Turbo funding is not supported for this payment provider');
1163
- }
1164
- return this.paymentProvider.initiateArNSPurchase({
1165
- intent: 'Buy-Name',
1166
- name: params.name,
1167
- years: params.years,
1168
- type: params.type,
1169
- processId: params.processId,
1170
- paidBy: params.paidBy,
1171
- });
1172
- }
1173
- const { tags = [] } = options || {};
1174
- const allTags = [
1175
- ...tags,
1176
- { name: 'Action', value: 'Buy-Name' },
1177
- { name: 'Name', value: params.name },
1178
- { name: 'Years', value: params.years?.toString() ?? '1' },
1179
- { name: 'Process-Id', value: params.processId },
1180
- { name: 'Purchase-Type', value: params.type || 'lease' },
1181
- { name: 'Fund-From', value: params.fundFrom },
1182
- { name: 'Referrer', value: params.referrer },
1183
- ];
1184
- return this.process.send({
1185
- signer: this.signer,
1186
- tags: (0, arweave_js_1.pruneTags)(allTags),
1187
- });
1188
- }
1189
- /**
1190
- * Upgrades an existing leased record to a permabuy.
1191
- *
1192
- * @param {Object} params - The parameters for upgrading a record
1193
- * @param {string} params.name - The name of the record to upgrade
1194
- * @param {Object} [options] - The options for the upgrade
1195
- * @returns {Promise<AoMessageResult>} The result of the upgrade
1196
- */
1197
- async upgradeRecord(params, options) {
1198
- if (params.fundFrom === 'turbo') {
1199
- if (!(this.paymentProvider instanceof turbo_js_1.TurboArNSPaymentProviderAuthenticated)) {
1200
- throw new Error('Turbo funding is not supported for this payment provider');
1201
- }
1202
- return this.paymentProvider.initiateArNSPurchase({
1203
- intent: 'Upgrade-Name',
1204
- name: params.name,
1205
- });
1206
- }
1207
- const { tags = [] } = options || {};
1208
- const allTags = [
1209
- ...tags,
1210
- { name: 'Action', value: 'Upgrade-Name' },
1211
- { name: 'Name', value: params.name },
1212
- { name: 'Fund-From', value: params.fundFrom },
1213
- { name: 'Referrer', value: params.referrer },
1214
- ];
1215
- return this.process.send({
1216
- signer: this.signer,
1217
- tags: (0, arweave_js_1.pruneTags)(allTags),
1218
- });
1219
- }
1220
- /**
1221
- * Extends the lease of an existing leased record.
1222
- *
1223
- * @param {Object} params - The parameters for extending a lease
1224
- * @param {string} params.name - The name of the record to extend
1225
- * @param {number} params.years - The number of years to extend the lease
1226
- * @param {Object} [options] - The options for the extension
1227
- * @returns {Promise<AoMessageResult>} The result of the extension
1228
- */
1229
- async extendLease(params, options) {
1230
- if (params.fundFrom === 'turbo') {
1231
- if (!(this.paymentProvider instanceof turbo_js_1.TurboArNSPaymentProviderAuthenticated)) {
1232
- throw new Error('Turbo funding is not supported for this payment provider');
1233
- }
1234
- return this.paymentProvider.initiateArNSPurchase({
1235
- intent: 'Extend-Lease',
1236
- name: params.name,
1237
- years: params.years,
1238
- });
1239
- }
1240
- const { tags = [] } = options || {};
1241
- const allTags = [
1242
- ...tags,
1243
- { name: 'Action', value: 'Extend-Lease' },
1244
- { name: 'Name', value: params.name },
1245
- { name: 'Years', value: params.years.toString() },
1246
- { name: 'Fund-From', value: params.fundFrom },
1247
- { name: 'Referrer', value: params.referrer },
1248
- ];
1249
- return this.process.send({
1250
- signer: this.signer,
1251
- tags: (0, arweave_js_1.pruneTags)(allTags),
1252
- });
1253
- }
1254
- async increaseUndernameLimit(params, options) {
1255
- if (params.fundFrom === 'turbo') {
1256
- if (!(this.paymentProvider instanceof turbo_js_1.TurboArNSPaymentProviderAuthenticated)) {
1257
- throw new Error('Turbo funding is not supported for this payment provider');
1258
- }
1259
- return this.paymentProvider.initiateArNSPurchase({
1260
- intent: 'Increase-Undername-Limit',
1261
- quantity: params.increaseCount,
1262
- name: params.name,
1263
- });
1264
- }
1265
- const { tags = [] } = options || {};
1266
- const allTags = [
1267
- ...tags,
1268
- { name: 'Action', value: 'Increase-Undername-Limit' },
1269
- { name: 'Name', value: params.name },
1270
- { name: 'Quantity', value: params.increaseCount.toString() },
1271
- { name: 'Fund-From', value: params.fundFrom },
1272
- { name: 'Referrer', value: params.referrer },
1273
- ];
1274
- return this.process.send({
1275
- signer: this.signer,
1276
- tags: (0, arweave_js_1.pruneTags)(allTags),
1277
- });
1278
- }
1279
- /**
1280
- * Cancel a withdrawal from a gateway.
1281
- *
1282
- * @param {Object} params - The parameters for cancelling a withdrawal
1283
- * @param {string} [params.address] - The address of the withdrawal (optional). If not provided, the signer's address will be used.
1284
- * @param {string} params.vaultId - The vault ID of the withdrawal.
1285
- * @param {Object} [options] - The options for the cancellation
1286
- * @returns {Promise<AoMessageResult>} The result of the cancellation
1287
- */
1288
- async cancelWithdrawal(params, options) {
1289
- const { tags = [] } = options || {};
1290
- const allTags = [
1291
- ...tags,
1292
- { name: 'Action', value: 'Cancel-Withdrawal' },
1293
- { name: 'Vault-Id', value: params.vaultId },
1294
- { name: 'Address', value: params.gatewayAddress },
1295
- ];
1296
- return this.process.send({
1297
- signer: this.signer,
1298
- tags: (0, arweave_js_1.pruneTags)(allTags),
1299
- });
1300
- }
1301
- async requestPrimaryName(params, options) {
1302
- if (params.fundFrom === 'turbo') {
1303
- throw new Error('Turbo funding is not yet supported for primary name requests');
1304
- }
1305
- const { tags = [] } = options || {};
1306
- const allTags = [
1307
- ...tags,
1308
- { name: 'Action', value: 'Request-Primary-Name' },
1309
- { name: 'Name', value: params.name },
1310
- { name: 'Fund-From', value: params.fundFrom },
1311
- ];
1312
- return this.process.send({
1313
- signer: this.signer,
1314
- tags: (0, arweave_js_1.pruneTags)(allTags),
1315
- });
1316
- }
1317
- async setPrimaryName(params, options) {
1318
- options?.onSigningProgress?.('requesting-primary-name', {
1319
- name: params.name,
1320
- fundFrom: params.fundFrom,
1321
- referrer: params.referrer,
1322
- });
1323
- // create the primary name request, if it already exists, get the request and base name owner
1324
- const requestResult = await this.requestPrimaryName(params, options).catch(async (error) => {
1325
- // check for the error message, it may be due to the request already being made
1326
- if (error.message.includes('already exists')) {
1327
- // parse out the initiator from the error message ` "Primary name request by '" .. initiator .. "' for '" .. name .. "' already exists"
1328
- const initiator = error.message.match(/by '([^']+)'/)?.[1];
1329
- if (initiator === undefined) {
1330
- throw error;
1331
- }
1332
- options?.onSigningProgress?.('request-already-exists', {
1333
- name: params.name,
1334
- initiator,
1335
- });
1336
- // get the primary name request
1337
- const primaryNameRequest = await this.getPrimaryNameRequest({
1338
- initiator,
1339
- });
1340
- // check the name exists
1341
- const arnsRecord = await this.getArNSRecord({ name: params.name });
1342
- if (arnsRecord === undefined) {
1343
- throw new Error(`ARNS name '${params.name}' does not exist`);
1344
- }
1345
- if (primaryNameRequest.initiator !== initiator) {
1346
- throw new Error(`Primary name request for name '${params.name}' was not approved`);
1347
- }
1348
- return {
1349
- id: 'stub-id', // stub-id to indicate that the request already exists
1350
- result: {
1351
- // this is a partial stub of the AoCreatePrimaryNameRequest result
1352
- // we only need the request and base name owner for the approval
1353
- request: primaryNameRequest,
1354
- baseNameOwner: arnsRecord.processId,
1355
- fundingPlan: {
1356
- address: initiator,
1357
- },
1358
- },
1359
- };
1360
- }
1361
- // throw any other errors from the contract
1362
- throw error;
1363
- });
1364
- // the result is either a new primary name request or an existing one
1365
- // for new primary name requests the result includes the request, funding plan, and base name owner
1366
- // for existing primary name requests the result includes just the request and base name owner (see above)
1367
- const primaryNameRequest = requestResult.result;
1368
- const antProcessId = primaryNameRequest?.baseNameOwner;
1369
- const initiator = primaryNameRequest?.fundingPlan?.address;
1370
- if (primaryNameRequest === undefined ||
1371
- initiator === undefined ||
1372
- antProcessId === undefined) {
1373
- throw new Error(`Failed to request primary name ${params.name} for ${initiator} owned by ${antProcessId} process`);
1374
- }
1375
- options?.onSigningProgress?.('approving-request', {
1376
- name: params.name,
1377
- processId: antProcessId,
1378
- request: primaryNameRequest.request,
1379
- });
1380
- const antClient = ant_js_1.ANT.init({
1381
- process: new ao_process_js_1.AOProcess({
1382
- processId: antProcessId,
1383
- ao: this.process.ao,
1384
- }),
1385
- signer: this.signer,
1386
- hyperbeamUrl: this.hyperbeamUrl,
1387
- });
1388
- // approve the primary name request with the ant
1389
- const approveResult = await antClient.approvePrimaryNameRequest({
1390
- name: params.name,
1391
- address: initiator,
1392
- arioProcessId: this.process.processId,
1393
- }, options);
1394
- return approveResult;
1395
- }
1396
- /**
1397
- * Redelegate stake from one gateway to another gateway.
1398
- *
1399
- * @param {Object} params - The parameters for redelegating stake
1400
- * @param {string} params.target - The target gateway address
1401
- * @param {string} params.source - The source gateway address
1402
- * @param {number} params.stakeQty - The quantity of stake to redelegate
1403
- * @param {string} params.vaultId - An optional vault ID to redelegate from
1404
- * @param {Object} [options] - The options for the redelegation
1405
- * @returns {Promise<AoMessageResult>} The result of the redelegation
1406
- */
1407
- async redelegateStake(params, options) {
1408
- const { tags = [] } = options || {};
1409
- const allTags = [
1410
- ...tags,
1411
- { name: 'Action', value: 'Redelegate-Stake' },
1412
- { name: 'Target', value: params.target },
1413
- { name: 'Source', value: params.source },
1414
- { name: 'Quantity', value: params.stakeQty.valueOf().toString() },
1415
- { name: 'Vault-Id', value: params.vaultId },
1416
- ];
1417
- return this.process.send({
1418
- signer: this.signer,
1419
- tags: (0, arweave_js_1.pruneTags)(allTags),
1420
- });
1421
- }
1422
- }
1423
- exports.ARIOWriteable = ARIOWriteable;