@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
@@ -0,0 +1,533 @@
1
+ /**
2
+ * Solana implementation of AoARIOWrite interface.
3
+ *
4
+ * Extends SolanaARIOReadable with write operations that build and send
5
+ * Solana transactions via Codama-generated instruction builders.
6
+ *
7
+ * All instruction encoding (discriminators, account ordering, Borsh codecs,
8
+ * default value resolution for token/system programs) is delegated to the
9
+ * generated builders in `./generated/{core,gar,arns}/instructions/`. The
10
+ * builders are derived from the on-chain IDL and stay in sync via codegen.
11
+ *
12
+ * This file's job is just to:
13
+ * 1. Translate the AO-style SDK params into the builder's input shape.
14
+ * 2. Pre-derive the PDAs that the *Async builders can't infer (the ones
15
+ * whose seeds depend on runtime state — e.g. the next withdrawal id
16
+ * from the on-chain counter, or the buyer's ATA from a runtime mint).
17
+ * 3. Append remaining_accounts (gateway PDAs, name registry) for the
18
+ * epoch crank instructions, since Codama doesn't generate a typed
19
+ * surface for them.
20
+ */
21
+ import { type Address, type Instruction } from '@solana/kit';
22
+ import type { ILogger } from '../common/logger.js';
23
+ import type { AoMessageResult, WriteOptions } from '../types/common.js';
24
+ import type { AoArNSPurchaseParams, AoBuyRecordParams, AoCreateVaultParams, AoDelegateStakeParams, AoExtendLeaseParams, AoExtendVaultParams, AoIncreaseUndernameLimitParams, AoIncreaseVaultParams, AoJoinNetworkParams, AoRedelegateStakeParams, AoRevokeVaultParams, AoUpdateGatewaySettingsParams, AoVaultedTransferParams } from '../types/io.js';
25
+ import type { mARIOToken } from '../types/token.js';
26
+ import { SolanaARIOReadable } from './io-readable.js';
27
+ import type { SolanaRpcSubscriptions, SolanaSigner, SolanaWriteConfig } from './types.js';
28
+ /**
29
+ * Split a primary name into its undername + base parts using the same rule
30
+ * as the on-chain `splitn(2, '_')` in `programs/ario-core/src/instructions/primary_name.rs`:
31
+ * everything before the first '_' is the undername, the rest is the base.
32
+ *
33
+ * Exposed as a top-level helper so it can be unit-tested without spinning up
34
+ * an `SolanaARIOWriteable`. Lowercases the input to match contract behavior.
35
+ */
36
+ export declare function splitPrimaryName(name: string): {
37
+ isUndername: boolean;
38
+ baseName: string;
39
+ undername: string | null;
40
+ };
41
+ /**
42
+ * Solana-backed read-write client for the AR.IO protocol.
43
+ *
44
+ * Usage:
45
+ * ```ts
46
+ * import {
47
+ * createSolanaRpc,
48
+ * createSolanaRpcSubscriptions,
49
+ * generateKeyPairSigner,
50
+ * } from '@solana/kit';
51
+ * import { SolanaARIOWriteable } from '@ar.io/sdk/solana';
52
+ *
53
+ * const rpc = createSolanaRpc('https://api.mainnet-beta.solana.com');
54
+ * const rpcSubscriptions = createSolanaRpcSubscriptions('wss://api.mainnet-beta.solana.com');
55
+ * const signer = await generateKeyPairSigner();
56
+ * const ario = new SolanaARIOWriteable({ rpc, rpcSubscriptions, signer });
57
+ *
58
+ * await ario.transfer({ target: 'RecipientPubkey...', qty: 100_000_000 });
59
+ * ```
60
+ */
61
+ /** Build the gateway_results bitmap for save_observations.
62
+ * All bits start as 1 (pass) for the first `registryAddresses.length`
63
+ * positions; positions named in `failedGateways` get cleared to 0; all
64
+ * positions beyond `registryAddresses.length` are 0. */
65
+ export declare function buildObservationBitmap(registryAddresses: string[], failedGateways: string[]): Buffer;
66
+ /** Encode an Arweave TX ID into the on-chain `[u8; 32]` slot.
67
+ *
68
+ * An Arweave TX ID **is** a 32-byte SHA-256 hash; the 43-char base64url
69
+ * string is just its presentation encoding. We decode here so the
70
+ * on-chain bytes are the raw hash — lossless and trivially reversible
71
+ * via base64url-encode on the consumer side. Without this, on-chain
72
+ * bytes alone couldn't be used to look up the original report bundle
73
+ * on permaweb (the whole point of recording the txid for auditability).
74
+ *
75
+ * Empty / undefined input → 32 zero bytes ("no permaweb archive
76
+ * configured for this submission" — the report still lives off-chain
77
+ * in the observer's local sinks but isn't anchored on Arweave).
78
+ *
79
+ * Throws on malformed input: the base64url string must be exactly 43
80
+ * chars and decode to 32 bytes. Strict validation here is desirable —
81
+ * silently truncating or accepting bad input would erode the
82
+ * auditability that the field exists for.
83
+ */
84
+ export declare function encodeReportTxId(reportTxId: string | undefined): Buffer;
85
+ export declare class SolanaARIOWriteable extends SolanaARIOReadable {
86
+ protected readonly signer: SolanaSigner;
87
+ protected readonly rpcSubscriptions: SolanaRpcSubscriptions;
88
+ constructor(config: SolanaWriteConfig & {
89
+ logger?: ILogger;
90
+ coreProgramId?: Address;
91
+ garProgramId?: Address;
92
+ arnsProgramId?: Address;
93
+ antProgramId?: Address;
94
+ });
95
+ /** The signer's on-chain address. */
96
+ protected get signerAddress(): Address;
97
+ protected sendTransaction(instructions: Instruction[], computeUnitLimit?: number): Promise<string>;
98
+ /** Helper to get the ARIO mint and treasury from ArioConfig */
99
+ private getCoreConfig;
100
+ private getMint;
101
+ /** Helper to get ArNS config fields (mint and treasury) */
102
+ private getArnsConfig;
103
+ /** Helper to get GAR config fields (mint, stake pool, protocol pool) */
104
+ private getGarConfig;
105
+ /**
106
+ * Inject ARNS default PDAs (config, demandFactor, nameRegistry).
107
+ *
108
+ * Extra fields not consumed by a given builder are harmlessly ignored
109
+ * (codama only reads the named keys from `input`).
110
+ */
111
+ private withArnsDefaults;
112
+ /** Inject ARIO core default PDAs (config). */
113
+ private withCoreDefaults;
114
+ /** Inject GAR default PDAs (settings, epochSettings, registry). */
115
+ private withGarDefaults;
116
+ /** Read WithdrawalCounter's next_id (returns 0n if not yet created) */
117
+ private getNextWithdrawalId;
118
+ transfer(params: {
119
+ target: string;
120
+ qty: number | mARIOToken;
121
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
122
+ vaultedTransfer(params: AoVaultedTransferParams, _options?: WriteOptions): Promise<AoMessageResult>;
123
+ createVault(params: AoCreateVaultParams, _options?: WriteOptions): Promise<AoMessageResult>;
124
+ /** Read VaultCounter's next_id (returns 0n if not yet created). */
125
+ private getNextVaultId;
126
+ extendVault(params: AoExtendVaultParams, _options?: WriteOptions): Promise<AoMessageResult>;
127
+ increaseVault(params: AoIncreaseVaultParams, _options?: WriteOptions): Promise<AoMessageResult>;
128
+ revokeVault(params: AoRevokeVaultParams, _options?: WriteOptions): Promise<AoMessageResult>;
129
+ joinNetwork(params: AoJoinNetworkParams, _options?: WriteOptions): Promise<AoMessageResult>;
130
+ leaveNetwork(_options?: WriteOptions): Promise<AoMessageResult>;
131
+ updateGatewaySettings(params: AoUpdateGatewaySettingsParams, _options?: WriteOptions): Promise<AoMessageResult>;
132
+ increaseOperatorStake(params: {
133
+ increaseQty: number | mARIOToken;
134
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
135
+ decreaseOperatorStake(params: {
136
+ decreaseQty: number | mARIOToken;
137
+ instant?: boolean;
138
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
139
+ delegateStake(params: AoDelegateStakeParams, _options?: WriteOptions): Promise<AoMessageResult>;
140
+ decreaseDelegateStake(params: {
141
+ target: string;
142
+ decreaseQty: number | mARIOToken;
143
+ instant?: boolean;
144
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
145
+ instantWithdrawal(params: {
146
+ gatewayAddress?: string;
147
+ vaultId: string;
148
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
149
+ cancelWithdrawal(params: {
150
+ gatewayAddress?: string;
151
+ vaultId: string;
152
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
153
+ saveObservations(params: {
154
+ reportTxId: string;
155
+ failedGateways: string[];
156
+ epochIndex?: number;
157
+ /** Raw 256-byte gateway results bitfield (if provided, overrides failedGateways) */
158
+ gatewayResults?: Uint8Array;
159
+ gatewayCount?: number;
160
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
161
+ redelegateStake(params: AoRedelegateStakeParams, _options?: WriteOptions): Promise<AoMessageResult>;
162
+ buyRecord(params: AoBuyRecordParams, _options?: WriteOptions): Promise<AoMessageResult>;
163
+ /**
164
+ * Resolve a `FundingPlan` for a fee-paying ArNS ix. When `params.sources`
165
+ * is set, use it verbatim (caller-supplied plan); otherwise discover the
166
+ * user's sources and build a plan via the Lua-faithful planner.
167
+ *
168
+ * Throws `InsufficientFundingError` (as a thrown Error with the structured
169
+ * payload as `cause`) when no plan covers `amountNeeded`.
170
+ */
171
+ private _resolveFundingPlan;
172
+ /**
173
+ * Build a `buy_name_from_funding_plan` ix using the funding-plan module.
174
+ * Resolves per-source PDAs (Delegation, Withdrawal) and the residue-vault
175
+ * PDA prediction in one shot.
176
+ */
177
+ private _buildBuyNameFromFundingPlanIx;
178
+ /**
179
+ * For an explicit caller-supplied plan, detect which Delegation sources
180
+ * will trigger an on-chain residue auto-vault. Reads each (Delegation,
181
+ * Gateway) pair in parallel; computes post-drain; flags `(0, min)`.
182
+ *
183
+ * Hard-fails on RPC error or missing PDA — silently skipping would let
184
+ * the on-chain handler reject the tx with `MissingResidueVault` and
185
+ * burn fees. The error message points at remediation.
186
+ */
187
+ private _detectResidueIndexes;
188
+ /**
189
+ * Materialize a `FundingPlan` into the on-chain ix's per-source remaining
190
+ * accounts, residue-vault PDAs, and the withdrawal_counter slot. Shared
191
+ * across all 5 ArNS funding-plan ix dispatches and the 2 ario-core
192
+ * primary-name funding-plan dispatches.
193
+ *
194
+ * Throws when the plan has Withdrawal sources whose ids cannot be
195
+ * resolved from either `spec.withdrawalId` (preferred) or
196
+ * `params.withdrawalId` (single-withdrawal back-compat).
197
+ */
198
+ private _materializeFundingPlan;
199
+ /**
200
+ * Best-effort cost estimation for `buy_name`. Reads the live DemandFactor
201
+ * + ArnsConfig and applies the on-chain pricing math. Used by the funding-
202
+ * plan path so callers don't have to compute cost client-side.
203
+ *
204
+ * The estimate may be 1-2 mARIO higher than the actual on-chain cost when a
205
+ * demand-factor period rolls during the tx; the on-chain handler reads the
206
+ * live demand-factor and verifies sum(sources) == cost, so an overestimate
207
+ * fails fast with `FundingPlanAmountMismatch`. Callers should retry with a
208
+ * fresh estimate on that error.
209
+ */
210
+ private _estimateBuyNameCost;
211
+ private arnsConfigPda;
212
+ private demandFactorPda;
213
+ private nameRegistryPda;
214
+ upgradeRecord(params: AoArNSPurchaseParams, _options?: WriteOptions): Promise<AoMessageResult>;
215
+ syncAttributes(params: {
216
+ name: string;
217
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
218
+ /**
219
+ * Build a `sync_attributes` instruction for `name` IFF the signer is
220
+ * the current MPL Core asset owner. Returns `null` otherwise.
221
+ *
222
+ * Sprint 4 / ADR-016: bundle helper for `buyRecord`, `upgradeRecord`,
223
+ * `increaseUndernameLimit`, `reassignName`, and `buyReturnedName`.
224
+ * Returning `null` lets the caller send the arns ix alone — preserves
225
+ * BD-095 (non-holder ArNS lease management) and BD-096 (deferred
226
+ * trait sync for non-holder buyers). The actual ANT owner reconciles
227
+ * state later via the public `syncAttributes()`.
228
+ *
229
+ * `extendLease` is NOT a caller of this helper — extend_lease changes
230
+ * only `end_timestamp`, which isn't mirrored in any Attributes-plugin
231
+ * trait (BD-095 last row). `releaseName` is also excluded — release_name
232
+ * closes the ArnsRecord PDA, so a follow-up `sync_attributes` would
233
+ * fail the PDA-existence check.
234
+ *
235
+ * `assetOverride` MUST be set when the bundling ix mutates
236
+ * `record.ant` mid-tx (i.e. `reassign_name`). The on-chain record
237
+ * still points at the OLD asset at SDK build time, so without the
238
+ * override the bundled sync would target the wrong asset and fail
239
+ * the post-reassign `record.ant == asset.key()` check. The owner
240
+ * check runs against the supplied asset (= new ANT for reassign),
241
+ * matching the pre-reshape "new owner reconciles later" semantic.
242
+ */
243
+ private _buildSyncAttributesIxIfOwner;
244
+ /**
245
+ * Build a `sync_attributes` instruction unconditionally (no owner
246
+ * check). Used by the public `syncAttributes()` method, where the
247
+ * caller is asking explicitly — if they aren't the owner the chain
248
+ * returns NotNftHolder.
249
+ */
250
+ private _buildSyncAttributesIxUnconditional;
251
+ /** Pure builder; no RPC. Used by both gated + unconditional helpers. */
252
+ private _buildSyncAttributesIxFor;
253
+ extendLease(params: AoExtendLeaseParams, _options?: WriteOptions): Promise<AoMessageResult>;
254
+ increaseUndernameLimit(params: AoIncreaseUndernameLimitParams, _options?: WriteOptions): Promise<AoMessageResult>;
255
+ /**
256
+ * Shared dispatch helper for the 3 manage variants (upgrade / extend /
257
+ * increaseUndername). They share the same account shape per the
258
+ * `manage_from_delegation_accounts!` / `manage_from_operator_stake_accounts!`
259
+ * macros in `programs/ario-arns/src/instructions/manage_from_stake.rs`.
260
+ * Only the operation-specific extra args differ (years for extend,
261
+ * quantity for increaseUndername).
262
+ */
263
+ private _buildManageStakeIx;
264
+ /**
265
+ * Cost estimate for manage operations (upgrade / extend / increaseUndername).
266
+ * Reads the live DemandFactor account + applies the on-chain pricing math.
267
+ */
268
+ private _estimateManageStakeCost;
269
+ /**
270
+ * Build the `remaining_accounts` slice + the `antProgramId` arg the
271
+ * four ario-core primary-name instructions consume. Sprint 2/5
272
+ * reshape (ADR-016): ario-core no longer reads MPL Core asset bytes.
273
+ * Authorization is "caller is the AntRecord.owner for this name" via
274
+ * PDA-seed-pinned lookup.
275
+ *
276
+ * Layouts the on-chain handlers expect:
277
+ * request_primary_name: [arnsRecord, demandFactor]
278
+ * request_and_set_primary_name: [arnsRecord, demandFactor, antRecord]
279
+ * approve_primary_name: [arnsRecord, antRecord]
280
+ * remove_primary_name_for_base_name: [arnsRecord, antRecord(@)]
281
+ *
282
+ * `antRecord` keys off the undername part for undernames (e.g.
283
+ * "blog_arweave" → AntRecord at "blog") or the canonical "@" sentinel
284
+ * for base names. `removeForBaseName` is special — it always uses "@"
285
+ * regardless of whether the primary name being removed is an undername,
286
+ * since the *base* name owner is the one revoking it.
287
+ *
288
+ * `antProgram` honors ADR-016 / BD-100 pluggability: the asset's
289
+ * `ANT Program` Attributes-plugin trait selects which program owns the
290
+ * AntRecord PDA. Absent / unparseable → canonical fallback. Both the
291
+ * PDA derivation here and the `ant_program_id` arg the caller passes
292
+ * to the on-chain ix MUST agree (the handler re-derives and rejects
293
+ * mismatches).
294
+ */
295
+ private _buildPrimaryNameValidationAccounts;
296
+ requestPrimaryName(params: AoArNSPurchaseParams, _options?: WriteOptions): Promise<AoMessageResult>;
297
+ setPrimaryName(params: AoArNSPurchaseParams, _options?: WriteOptions): Promise<AoMessageResult>;
298
+ /**
299
+ * Build a `request_primary_name_from_funding_plan` or
300
+ * `request_and_set_primary_name_from_funding_plan` ix. Forwards both:
301
+ * - validation accounts (ArnsRecord + DemandFactor [+ ant_asset
302
+ * [+ AntRecord]]) — passed via remaining_accounts at indices
303
+ * [0..validation_account_count)
304
+ * - per-source PDAs from the funding plan — passed at indices
305
+ * [validation_account_count..)
306
+ *
307
+ * The on-chain handler (programs/ario-core/src/instructions/primary_name.rs)
308
+ * splits remaining_accounts at `validation_account_count` and forwards the
309
+ * funding-source slice to ario-gar's pay_from_funding_plan via CPI.
310
+ */
311
+ private _buildPrimaryNameFromFundingPlanIx;
312
+ private _coreConfigPda;
313
+ /**
314
+ * Approve a previously-created primary name request. The signer must be
315
+ * the AntRecord.owner for the requested name (undername part for
316
+ * undernames, "@" for base names) — Sprint 2 / ADR-016 reshape.
317
+ *
318
+ * Mirrors the on-chain `approve_primary_name` instruction
319
+ * (`programs/ario-core/src/instructions/primary_name.rs`).
320
+ * remaining_accounts: [arns_record(base), ant_record(undername | @)].
321
+ */
322
+ approvePrimaryName(params: {
323
+ initiator: Address;
324
+ name: string;
325
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
326
+ /** Release tokens from an unlocked vault back to the owner. */
327
+ releaseVault(params: {
328
+ vaultId: string;
329
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
330
+ /** Close an expired primary name request (permissionless — anyone can call). */
331
+ closeExpiredRequest(params: {
332
+ initiator: string;
333
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
334
+ /** Claim tokens from a completed withdrawal (after lock period). */
335
+ claimWithdrawal(params: {
336
+ withdrawalId: string;
337
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
338
+ /** Claim delegated stake from a gateway that is leaving the network. */
339
+ claimDelegateFromLeavingGateway(params: {
340
+ gatewayAddress: string;
341
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
342
+ /** Add an address to the gateway's delegation allowlist. */
343
+ allowDelegate(params: {
344
+ delegate: string;
345
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
346
+ /** Remove an address from the gateway's delegation allowlist. */
347
+ disallowDelegate(params: {
348
+ delegate: string;
349
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
350
+ /** Enable or disable the delegation allowlist for the gateway. */
351
+ setAllowlistEnabled(params: {
352
+ enabled: boolean;
353
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
354
+ /**
355
+ * Buy a name from the returned name auction (Dutch auction with premium).
356
+ *
357
+ * Phase 4: now dispatches on `params.fundFrom`. Note that for
358
+ * `buyReturnedName`, only the protocol share funds from the chosen source;
359
+ * the initiator share is always a direct buyer-ATA → initiator-ATA SPL
360
+ * transfer (matches the on-chain `_from_*` variant behavior).
361
+ */
362
+ buyReturnedName(params: {
363
+ name: string;
364
+ type: 'lease' | 'permabuy';
365
+ years?: number;
366
+ processId: string;
367
+ } & Partial<AoArNSPurchaseParams>, _options?: WriteOptions): Promise<AoMessageResult>;
368
+ /** Reassign an ArNS name to a different ANT. */
369
+ reassignName(params: {
370
+ name: string;
371
+ processId: string;
372
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
373
+ /** Release a permabuy name back to the registry (creates a returned name auction). */
374
+ releaseName(params: {
375
+ name: string;
376
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
377
+ /**
378
+ * Create a new epoch. Permissionless — anyone can call when the next
379
+ * epoch's start time has arrived.
380
+ */
381
+ createEpoch(_options?: WriteOptions): Promise<AoMessageResult>;
382
+ /**
383
+ * Tally weights for a batch of gateways. Permissionless — call repeatedly
384
+ * until all gateways are processed. Pass gateway PDAs as
385
+ * `gatewayAccounts`; they're appended as `remaining_accounts`.
386
+ */
387
+ tallyWeights(params: {
388
+ epochIndex: number;
389
+ gatewayAccounts: Address[];
390
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
391
+ /**
392
+ * Prescribe observers and names for an epoch. Permissionless — call after
393
+ * weights are tallied. Gateway PDAs are appended as `remaining_accounts`,
394
+ * and the optional `nameRegistryAccount` (must be last) enables the name
395
+ * prescription leg.
396
+ */
397
+ prescribeEpoch(params: {
398
+ epochIndex: number;
399
+ gatewayAccounts: Address[];
400
+ /** Optional NameRegistry account — pass to enable name prescription */
401
+ nameRegistryAccount?: Address;
402
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
403
+ /**
404
+ * Distribute rewards for a completed epoch in batches. Permissionless —
405
+ * call after epoch ends. Gateway PDAs appended as `remaining_accounts`.
406
+ */
407
+ distributeEpoch(params: {
408
+ epochIndex: number;
409
+ gatewayAccounts: Address[];
410
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
411
+ /**
412
+ * Close an old epoch account and reclaim rent. Permissionless — call after
413
+ * the epoch is distributed and at least 7 epochs have passed.
414
+ */
415
+ closeEpoch(params: {
416
+ epochIndex: number;
417
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
418
+ /**
419
+ * Get gateway PDAs for a batch starting at registryIndex.
420
+ * Reads the GatewayRegistry and derives PDAs for the next `batchSize`
421
+ * active gateways.
422
+ */
423
+ getRegistryGatewayPDAs(startIndex: number, batchSize: number): Promise<Address[]>;
424
+ /** Get ALL active gateway PDAs from the registry. */
425
+ getAllRegistryGatewayPDAs(): Promise<Address[]>;
426
+ /**
427
+ * Read the raw epoch account data for cranker state inspection.
428
+ * Returns null if the epoch account doesn't exist yet.
429
+ */
430
+ getEpochRaw(epochIndex: number): Promise<{
431
+ tallyIndex: number;
432
+ distributionIndex: number;
433
+ weightsTallied: number;
434
+ prescriptionsDone: number;
435
+ rewardsDistributed: number;
436
+ activeGatewayCount: number;
437
+ endTimestamp: number;
438
+ } | null>;
439
+ /**
440
+ * Parse raw epoch account data for cranker-relevant fields.
441
+ * Offsets match the Rust Epoch zero-copy struct (repr(C)).
442
+ *
443
+ * Layout after 8-byte discriminator:
444
+ * [8 epoch_index][8 start_ts][8 end_ts][8 total_eligible][8 per_gw]
445
+ * [8 per_obs][8 reward_rate][8 weight_lo][8 weight_hi][32 hashchain]
446
+ * [4 active_gw_count][4 dist_idx][4 tally_idx]
447
+ * [1 observer_count][1 name_count][1 obs_submitted][1 rewards_dist]
448
+ * [1 weights_tallied][1 prescriptions_done][1 bump][1 _pad1]
449
+ * [6000 failure_counts][1600 prescribed_observers]
450
+ * [1600 prescribed_observer_gateways][64 prescribed_names]
451
+ * [7 has_observed][5 _pad2]
452
+ */
453
+ private fetchEpochRawFields;
454
+ /**
455
+ * Batch-prune expired ArnsRecord PDAs from the NameRegistry. The caller
456
+ * supplies the eligible records as `arnsRecords` — they're appended as
457
+ * `remaining_accounts` and the on-chain handler verifies each is past
458
+ * `end_timestamp + grace_period + return_auction_duration` before closing.
459
+ * `maxNames` caps the per-tx work (u8). Submit in batches of ~10-15.
460
+ */
461
+ pruneExpiredNames(params: {
462
+ maxNames: number;
463
+ arnsRecords: string[];
464
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
465
+ /**
466
+ * Convert a single expired-but-not-yet-returned lease into a `ReturnedName`
467
+ * (kicks off the Dutch auction). Permissionless.
468
+ */
469
+ pruneNameToReturned(params: {
470
+ name: string;
471
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
472
+ /**
473
+ * Batch-prune expired ReturnedName PDAs (auction window elapsed). Caller
474
+ * supplies the eligible PDAs as `returnedNames`; they're appended as
475
+ * `remaining_accounts`. `maxNames` caps per-tx work (u8).
476
+ */
477
+ pruneReturnedNames(params: {
478
+ maxNames: number;
479
+ returnedNames: string[];
480
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
481
+ /**
482
+ * Close a single expired ReservedName PDA. Permissionless after
483
+ * `expires_at`.
484
+ */
485
+ pruneExpiredReservation(params: {
486
+ name: string;
487
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
488
+ /**
489
+ * Slash and remove a deficient gateway (`stats.failed_consecutive >=
490
+ * max_consecutive_failures`). Builds the protected exit vault for the
491
+ * post-slash min portion plus the optional excess vault for any surplus.
492
+ * The contract's `excess_withdrawal: Option<UncheckedAccount>` slot is
493
+ * always passed (PDA derived from `next_id + 1`); the handler consumes
494
+ * it only when the post-slash stake exceeds `min_operator_stake`.
495
+ * Permissionless.
496
+ */
497
+ pruneGateway(params: {
498
+ gateway: string;
499
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
500
+ /**
501
+ * GC a `Leaving`/`Gone` gateway whose leave window has fully elapsed.
502
+ * Closes the Gateway PDA and refunds rent to the caller. Permissionless.
503
+ */
504
+ finalizeGone(params: {
505
+ gateway: string;
506
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
507
+ /**
508
+ * Reclaim rent from an Observation PDA whose epoch has been distributed.
509
+ * Permissionless. Pass `epochIndex` and the `observer` address used as
510
+ * the Observation seed.
511
+ */
512
+ closeObservation(params: {
513
+ epochIndex: number;
514
+ observer: string;
515
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
516
+ /**
517
+ * Close an empty Delegation PDA (`amount == 0`) and refund rent to the
518
+ * original delegator (NOT the caller — see GAR-016, prevents griefing).
519
+ * Permissionless.
520
+ */
521
+ closeEmptyDelegation(params: {
522
+ gateway: string;
523
+ delegator: string;
524
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
525
+ /**
526
+ * Close a drained Withdrawal PDA (`amount == 0`) and refund rent to the
527
+ * original owner (NOT the caller). Permissionless.
528
+ */
529
+ closeDrainedWithdrawal(params: {
530
+ owner: string;
531
+ withdrawalId: number | bigint;
532
+ }, _options?: WriteOptions): Promise<AoMessageResult>;
533
+ }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Helpers for JSON-RPC reads against {@link SolanaRpc} that return a
3
+ * web3.js-shaped `AccountInfo` (Buffer-backed `data`, plain Address strings).
4
+ * Used by the ACL/AntRegistry path so the deserializers can stay agnostic of
5
+ * the RPC client's response shape.
6
+ */
7
+ import { type Address } from '@solana/kit';
8
+ import type { SolanaRpc } from './types.js';
9
+ /** Raw account layout used by SDK readers (matches legacy web3 `AccountInfo` fields). */
10
+ export type SolanaAccountInfo = {
11
+ data: Buffer;
12
+ owner: Address;
13
+ lamports: number;
14
+ executable: boolean;
15
+ rentEpoch: number;
16
+ };
17
+ /**
18
+ * Fetch a single account and decode its data into a Buffer-backed shape that
19
+ * looks like the legacy `web3.js` `AccountInfo`. Returns `null` if the account
20
+ * doesn't exist (so callers can handle "missing PDA" without try/catch).
21
+ */
22
+ export declare function getAccountInfoLegacy(rpc: SolanaRpc, pda: Address, commitment: string | undefined): Promise<SolanaAccountInfo | null>;
23
+ /**
24
+ * Fetch multiple accounts in a single RPC round-trip and decode each into
25
+ * the legacy `AccountInfo` shape. Missing accounts come back as `null`,
26
+ * preserving 1:1 alignment with the input `pdas` array.
27
+ *
28
+ * Used by paginated readers (ACL pages, etc.) to load all sibling pages
29
+ * via `getMultipleAccountsInfo` rather than firing N parallel
30
+ * `getAccountInfo` calls.
31
+ */
32
+ export declare function getMultipleAccountsInfoLegacy(rpc: SolanaRpc, pdas: Address[], commitment: string | undefined): Promise<(SolanaAccountInfo | null)[]>;
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Metaplex-standard JSON metadata builder for AR.IO ANT NFTs.
3
+ *
4
+ * The Core asset's `uri` field on chain points at a JSON file with this
5
+ * shape; marketplaces and DAS providers fetch + parse it for their
6
+ * inline name/image/description display. The 3 ArNS traits (`ArNS Name`,
7
+ * `Type`, `Undername Limit`) live in the on-chain Attributes plugin, NOT
8
+ * in this JSON — see ADR-012.
9
+ *
10
+ * This helper produces the exact same JSON shape as the migration import
11
+ * (`migration/import/src/metadata.ts::buildAntMetadata`); the two paths
12
+ * MUST stay in lock-step or migrated and freshly-spawned ANTs will
13
+ * render differently in marketplace UIs. A regression test in
14
+ * `spawn-ant.test.ts` asserts byte-equality between the two for matching
15
+ * inputs.
16
+ *
17
+ * Pure function. No network, no Turbo, no dependencies. Caller handles
18
+ * uploading the resulting JSON to Arweave (e.g. via `@ardrive/turbo-sdk`
19
+ * with a `HexSolanaSigner` — free for files under 100 KiB) and passes the
20
+ * resulting `ar://${txid}` to `spawnSolanaANT`'s `state.uri`.
21
+ */
22
+ export { ARIO_LOGO_TX_ID, AR_IO_PROTOCOL as AR_PROTOCOL, } from '../constants.js';
23
+ /** Metaplex-standard JSON metadata shape. */
24
+ export interface NftMetadataJson {
25
+ name: string;
26
+ symbol: string;
27
+ description: string;
28
+ image: string;
29
+ external_url?: string;
30
+ properties?: {
31
+ files?: Array<{
32
+ uri: string;
33
+ type: string;
34
+ }>;
35
+ /** Metaplex standard categories: image | video | audio | vr | html. */
36
+ category?: string;
37
+ };
38
+ }
39
+ /** Inputs to `buildAntMetadata`. */
40
+ export interface AntMetadataParams {
41
+ /** Display name for the NFT — usually the ArNS name when one is set. */
42
+ name: string;
43
+ /** ArNS name this ANT controls (if any). When set, becomes the JSON
44
+ * `name` and is also used in `external_url`. */
45
+ arnsName?: string;
46
+ /** Ticker / symbol. Defaults to "ANT". */
47
+ ticker?: string;
48
+ /** Description. Auto-generated from arnsName when omitted. */
49
+ description?: string;
50
+ /** Logo TX id (43-char Arweave id). Defaults to the AR.IO logo. */
51
+ logoTxId?: string;
52
+ /**
53
+ * Optional gateway hostname (e.g. `"turbo-gateway.com"` or `"arweave.net"`).
54
+ * When provided, all Arweave references in the JSON resolve to
55
+ * `https://${gateway}/raw/${txid}` instead of `ar://${txid}`. Useful when
56
+ * you need consumers (like Helius DAS or the Metaplex Core explorer) to
57
+ * fetch the JSON immediately without waiting for Wayfinder-aware
58
+ * resolution; ADR-012's canonical scheme is still `ar://`.
59
+ */
60
+ gateway?: string;
61
+ }
62
+ /**
63
+ * Build ANT NFT JSON metadata.
64
+ *
65
+ * Output is byte-identical to the migration import's `buildAntMetadata`
66
+ * for matching inputs. Defaults to `ar://` URLs (ADR-012 canonical); pass
67
+ * `gateway` to opt into https URLs.
68
+ */
69
+ export declare function buildAntMetadata(params: AntMetadataParams): NftMetadataJson;