@ar.io/sdk 4.0.0-solana.9 → 4.0.1

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 (533) hide show
  1. package/README.md +721 -673
  2. package/lib/esm/cli/cli.js +28 -152
  3. package/lib/esm/cli/commands/antCommands.js +5 -66
  4. package/lib/esm/cli/commands/arnsPurchaseCommands.js +7 -28
  5. package/lib/esm/cli/commands/escrowCommands.js +23 -4
  6. package/lib/esm/cli/commands/gatewayWriteCommands.js +15 -8
  7. package/lib/esm/cli/commands/pruneCommands.js +14 -26
  8. package/lib/esm/cli/commands/readCommands.js +12 -1
  9. package/lib/esm/cli/options.js +2 -75
  10. package/lib/esm/cli/utils.js +96 -209
  11. package/lib/esm/common/ant-registry.js +12 -160
  12. package/lib/esm/common/ant.js +40 -1208
  13. package/lib/esm/common/faucet.js +17 -6
  14. package/lib/esm/common/index.js +0 -4
  15. package/lib/esm/common/io.js +13 -1441
  16. package/lib/esm/constants.js +0 -18
  17. package/lib/esm/solana/ant-readable.js +391 -54
  18. package/lib/esm/solana/ant-registry-readable.js +15 -0
  19. package/lib/esm/solana/ant-registry-writeable.js +19 -4
  20. package/lib/esm/solana/ant-writeable.js +43 -11
  21. package/lib/esm/solana/ata.js +15 -0
  22. package/lib/esm/solana/canonical-message.js +45 -9
  23. package/lib/esm/solana/clusters.js +69 -22
  24. package/lib/esm/solana/constants.js +21 -5
  25. package/lib/esm/solana/delegation-math.js +49 -0
  26. package/lib/esm/solana/deserialize.js +263 -727
  27. package/lib/esm/solana/escrow.js +145 -103
  28. package/lib/esm/solana/events.js +20 -199
  29. package/lib/esm/solana/funding-plan.js +19 -2
  30. package/lib/esm/solana/index.js +53 -12
  31. package/lib/esm/solana/instruction.js +15 -0
  32. package/lib/esm/solana/io-readable.js +510 -58
  33. package/lib/esm/solana/io-writeable.js +1179 -183
  34. package/lib/esm/solana/json-rpc.js +20 -4
  35. package/lib/esm/solana/metadata.js +15 -0
  36. package/lib/esm/solana/mpl-core.js +55 -5
  37. package/lib/esm/solana/pda.js +15 -0
  38. package/lib/esm/solana/predict-prescribed-observers.js +110 -0
  39. package/lib/esm/solana/retry.js +117 -0
  40. package/lib/esm/solana/rpc-circuit-breaker.js +258 -0
  41. package/lib/esm/solana/send.js +258 -3
  42. package/lib/esm/solana/spawn-ant.js +16 -2
  43. package/lib/esm/types/ant.js +8 -8
  44. package/lib/esm/types/io.js +0 -10
  45. package/lib/esm/utils/ant.js +0 -64
  46. package/lib/esm/utils/index.js +0 -3
  47. package/lib/esm/version.js +1 -1
  48. package/lib/types/cli/commands/antCommands.d.ts +6 -9
  49. package/lib/types/cli/commands/arnsPurchaseCommands.d.ts +27 -13
  50. package/lib/types/cli/commands/escrowCommands.d.ts +6 -0
  51. package/lib/types/cli/commands/gatewayWriteCommands.d.ts +12 -11
  52. package/lib/types/cli/commands/pruneCommands.d.ts +11 -11
  53. package/lib/types/cli/commands/readCommands.d.ts +25 -22
  54. package/lib/types/cli/commands/transfer.d.ts +9 -9
  55. package/lib/types/cli/options.d.ts +0 -57
  56. package/lib/types/cli/types.d.ts +6 -14
  57. package/lib/types/cli/utils.d.ts +34 -32
  58. package/lib/types/common/ant-registry.d.ts +35 -74
  59. package/lib/types/common/ant.d.ts +52 -570
  60. package/lib/types/common/faucet.d.ts +20 -8
  61. package/lib/types/common/index.d.ts +0 -3
  62. package/lib/types/common/io.d.ts +56 -288
  63. package/lib/types/constants.d.ts +0 -17
  64. package/lib/types/solana/ant-readable.d.ts +65 -6
  65. package/lib/types/solana/ant-registry-readable.d.ts +17 -2
  66. package/lib/types/solana/ant-registry-writeable.d.ts +20 -5
  67. package/lib/types/solana/ant-writeable.d.ts +39 -24
  68. package/lib/types/solana/ata.d.ts +15 -0
  69. package/lib/types/solana/canonical-message.d.ts +44 -5
  70. package/lib/types/solana/clusters.d.ts +68 -21
  71. package/lib/types/solana/constants.d.ts +16 -0
  72. package/lib/types/solana/delegation-math.d.ts +25 -0
  73. package/lib/types/solana/deserialize.d.ts +28 -198
  74. package/lib/types/solana/escrow.d.ts +128 -51
  75. package/lib/types/solana/events.d.ts +26 -144
  76. package/lib/types/solana/funding-plan.d.ts +15 -0
  77. package/lib/types/solana/index.d.ts +27 -3
  78. package/lib/types/solana/instruction.d.ts +15 -0
  79. package/lib/types/solana/io-readable.d.ts +185 -46
  80. package/lib/types/solana/io-writeable.d.ts +450 -77
  81. package/lib/types/solana/json-rpc.d.ts +15 -0
  82. package/lib/types/solana/metadata.d.ts +15 -0
  83. package/lib/types/solana/mpl-core.d.ts +44 -0
  84. package/lib/types/solana/predict-prescribed-observers.d.ts +28 -0
  85. package/lib/types/solana/retry.d.ts +62 -0
  86. package/lib/types/solana/rpc-circuit-breaker.d.ts +78 -0
  87. package/lib/types/solana/send.d.ts +80 -2
  88. package/lib/types/solana/spawn-ant.d.ts +15 -0
  89. package/lib/types/solana/types.d.ts +15 -0
  90. package/lib/types/types/ant-registry.d.ts +4 -4
  91. package/lib/types/types/ant.d.ts +92 -92
  92. package/lib/types/types/common.d.ts +18 -74
  93. package/lib/types/types/faucet.d.ts +2 -2
  94. package/lib/types/types/io.d.ts +189 -158
  95. package/lib/types/types/token.d.ts +0 -12
  96. package/lib/types/utils/ant.d.ts +1 -12
  97. package/lib/types/utils/index.d.ts +0 -3
  98. package/lib/types/version.d.ts +1 -1
  99. package/package.json +23 -37
  100. package/lib/esm/common/ant-versions.js +0 -87
  101. package/lib/esm/common/arweave.js +0 -21
  102. package/lib/esm/common/contracts/ao-process.js +0 -218
  103. package/lib/esm/common/hyperbeam/hb.js +0 -169
  104. package/lib/esm/common/marketplace.js +0 -669
  105. package/lib/esm/common/turbo.js +0 -215
  106. package/lib/esm/node/index.js +0 -20
  107. package/lib/esm/solana/generated/ant/events/aclEntryAddedEvent.js +0 -21
  108. package/lib/esm/solana/generated/ant/events/aclEntryRemovedEvent.js +0 -21
  109. package/lib/esm/solana/generated/ant/events/antMetadataUpdatedEvent.js +0 -21
  110. package/lib/esm/solana/generated/ant/events/antReconciledEvent.js +0 -21
  111. package/lib/esm/solana/generated/ant/events/antTransferredEvent.js +0 -21
  112. package/lib/esm/solana/generated/ant/events/attributesClearedEvent.js +0 -21
  113. package/lib/esm/solana/generated/ant/events/attributesSyncedEvent.js +0 -21
  114. package/lib/esm/solana/generated/ant/events/controllerAddedEvent.js +0 -21
  115. package/lib/esm/solana/generated/ant/events/controllerRemovedEvent.js +0 -21
  116. package/lib/esm/solana/generated/ant/events/index.js +0 -16
  117. package/lib/esm/solana/generated/ant/events/recordMetadataPrunedEvent.js +0 -21
  118. package/lib/esm/solana/generated/ant/events/recordMetadataRemovedEvent.js +0 -21
  119. package/lib/esm/solana/generated/ant/events/recordMetadataUpdatedEvent.js +0 -21
  120. package/lib/esm/solana/generated/ant/events/recordRemovedEvent.js +0 -21
  121. package/lib/esm/solana/generated/ant/events/recordSetEvent.js +0 -21
  122. package/lib/esm/solana/generated/ant/events/recordTransferredEvent.js +0 -21
  123. package/lib/esm/solana/generated/ant-escrow/events/escrowCancelledEvent.js +0 -21
  124. package/lib/esm/solana/generated/ant-escrow/events/escrowClaimedEvent.js +0 -21
  125. package/lib/esm/solana/generated/ant-escrow/events/escrowDepositedEvent.js +0 -21
  126. package/lib/esm/solana/generated/ant-escrow/events/escrowRecipientUpdatedEvent.js +0 -21
  127. package/lib/esm/solana/generated/ant-escrow/events/index.js +0 -5
  128. package/lib/esm/solana/generated/arns/events/demandFactorUpdatedEvent.js +0 -21
  129. package/lib/esm/solana/generated/arns/events/index.js +0 -13
  130. package/lib/esm/solana/generated/arns/events/leaseExtendedEvent.js +0 -21
  131. package/lib/esm/solana/generated/arns/events/namePurchasedEvent.js +0 -21
  132. package/lib/esm/solana/generated/arns/events/nameReassignedEvent.js +0 -21
  133. package/lib/esm/solana/generated/arns/events/nameReleasedEvent.js +0 -21
  134. package/lib/esm/solana/generated/arns/events/nameReservedEvent.js +0 -21
  135. package/lib/esm/solana/generated/arns/events/nameUnreservedEvent.js +0 -21
  136. package/lib/esm/solana/generated/arns/events/nameUpgradedEvent.js +0 -21
  137. package/lib/esm/solana/generated/arns/events/namesPrunedEvent.js +0 -21
  138. package/lib/esm/solana/generated/arns/events/reservedNameClaimedEvent.js +0 -21
  139. package/lib/esm/solana/generated/arns/events/returnedNamePurchasedEvent.js +0 -21
  140. package/lib/esm/solana/generated/arns/events/undernameIncreasedEvent.js +0 -21
  141. package/lib/esm/solana/generated/core/events/configUpdatedEvent.js +0 -21
  142. package/lib/esm/solana/generated/core/events/coreMigrationFinalizedEvent.js +0 -21
  143. package/lib/esm/solana/generated/core/events/index.js +0 -14
  144. package/lib/esm/solana/generated/core/events/primaryNameRemovedEvent.js +0 -21
  145. package/lib/esm/solana/generated/core/events/primaryNameRequestExpiredEvent.js +0 -21
  146. package/lib/esm/solana/generated/core/events/primaryNameRequestedEvent.js +0 -21
  147. package/lib/esm/solana/generated/core/events/primaryNameSetEvent.js +0 -21
  148. package/lib/esm/solana/generated/core/events/supplyFinalizedEvent.js +0 -21
  149. package/lib/esm/solana/generated/core/events/transferEvent.js +0 -21
  150. package/lib/esm/solana/generated/core/events/vaultCreatedEvent.js +0 -21
  151. package/lib/esm/solana/generated/core/events/vaultExtendedEvent.js +0 -21
  152. package/lib/esm/solana/generated/core/events/vaultIncreasedEvent.js +0 -21
  153. package/lib/esm/solana/generated/core/events/vaultReleasedEvent.js +0 -21
  154. package/lib/esm/solana/generated/core/events/vaultRevokedEvent.js +0 -21
  155. package/lib/esm/solana/generated/gar/events/allowlistToggledEvent.js +0 -21
  156. package/lib/esm/solana/generated/gar/events/delegateAllowlistedEvent.js +0 -21
  157. package/lib/esm/solana/generated/gar/events/delegationClosedEvent.js +0 -21
  158. package/lib/esm/solana/generated/gar/events/delegationDecreasedEvent.js +0 -21
  159. package/lib/esm/solana/generated/gar/events/delegationEvent.js +0 -21
  160. package/lib/esm/solana/generated/gar/events/epochClosedEvent.js +0 -21
  161. package/lib/esm/solana/generated/gar/events/epochCreatedEvent.js +0 -21
  162. package/lib/esm/solana/generated/gar/events/epochDistributedEvent.js +0 -21
  163. package/lib/esm/solana/generated/gar/events/epochPrescribedEvent.js +0 -21
  164. package/lib/esm/solana/generated/gar/events/epochWeightsTalliedEvent.js +0 -21
  165. package/lib/esm/solana/generated/gar/events/epochsToggledEvent.js +0 -21
  166. package/lib/esm/solana/generated/gar/events/fundingPlanAppliedEvent.js +0 -21
  167. package/lib/esm/solana/generated/gar/events/garMigrationFinalizedEvent.js +0 -21
  168. package/lib/esm/solana/generated/gar/events/gatewayFinalizedEvent.js +0 -21
  169. package/lib/esm/solana/generated/gar/events/gatewayJoinedEvent.js +0 -21
  170. package/lib/esm/solana/generated/gar/events/gatewayLeavingEvent.js +0 -21
  171. package/lib/esm/solana/generated/gar/events/gatewayPrunedEvent.js +0 -21
  172. package/lib/esm/solana/generated/gar/events/gatewaySettingsUpdatedEvent.js +0 -21
  173. package/lib/esm/solana/generated/gar/events/index.js +0 -31
  174. package/lib/esm/solana/generated/gar/events/instantWithdrawalEvent.js +0 -21
  175. package/lib/esm/solana/generated/gar/events/observationSubmittedEvent.js +0 -21
  176. package/lib/esm/solana/generated/gar/events/observerAddressUpdatedEvent.js +0 -21
  177. package/lib/esm/solana/generated/gar/events/operatorStakeIncreasedEvent.js +0 -21
  178. package/lib/esm/solana/generated/gar/events/redelegationEvent.js +0 -21
  179. package/lib/esm/solana/generated/gar/events/residueVaultCreatedEvent.js +0 -21
  180. package/lib/esm/solana/generated/gar/events/rewardsCompoundedEvent.js +0 -21
  181. package/lib/esm/solana/generated/gar/events/stakePaymentEvent.js +0 -21
  182. package/lib/esm/solana/generated/gar/events/withdrawalCancelledEvent.js +0 -21
  183. package/lib/esm/solana/generated/gar/events/withdrawalClaimedEvent.js +0 -21
  184. package/lib/esm/solana/generated/gar/events/withdrawalCreatedEvent.js +0 -21
  185. package/lib/esm/solana/generated/gar/events/withdrawalPaymentEvent.js +0 -21
  186. package/lib/esm/solana/generated/mpl-core/accounts/assetV1.js +0 -42
  187. package/lib/esm/solana/generated/mpl-core/accounts/collectionV1.js +0 -42
  188. package/lib/esm/solana/generated/mpl-core/accounts/hashedAssetV1.js +0 -45
  189. package/lib/esm/solana/generated/mpl-core/accounts/index.js +0 -12
  190. package/lib/esm/solana/generated/mpl-core/accounts/pluginHeaderV1.js +0 -45
  191. package/lib/esm/solana/generated/mpl-core/accounts/pluginRegistryV1.js +0 -42
  192. package/lib/esm/solana/generated/mpl-core/errors/index.js +0 -8
  193. package/lib/esm/solana/generated/mpl-core/errors/mplCore.js +0 -136
  194. package/lib/esm/solana/generated/mpl-core/index.js +0 -8
  195. package/lib/esm/solana/generated/mpl-core/instructions/addCollectionExternalPluginAdapterV1.js +0 -53
  196. package/lib/esm/solana/generated/mpl-core/instructions/addCollectionPluginV1.js +0 -53
  197. package/lib/esm/solana/generated/mpl-core/instructions/addExternalPluginAdapterV1.js +0 -53
  198. package/lib/esm/solana/generated/mpl-core/instructions/addPluginV1.js +0 -53
  199. package/lib/esm/solana/generated/mpl-core/instructions/approveCollectionPluginAuthorityV1.js +0 -53
  200. package/lib/esm/solana/generated/mpl-core/instructions/approvePluginAuthorityV1.js +0 -53
  201. package/lib/esm/solana/generated/mpl-core/instructions/burnCollectionV1.js +0 -49
  202. package/lib/esm/solana/generated/mpl-core/instructions/burnV1.js +0 -49
  203. package/lib/esm/solana/generated/mpl-core/instructions/collect.js +0 -42
  204. package/lib/esm/solana/generated/mpl-core/instructions/compressV1.js +0 -50
  205. package/lib/esm/solana/generated/mpl-core/instructions/createCollectionV1.js +0 -53
  206. package/lib/esm/solana/generated/mpl-core/instructions/createCollectionV2.js +0 -53
  207. package/lib/esm/solana/generated/mpl-core/instructions/createV1.js +0 -53
  208. package/lib/esm/solana/generated/mpl-core/instructions/createV2.js +0 -53
  209. package/lib/esm/solana/generated/mpl-core/instructions/decompressV1.js +0 -53
  210. package/lib/esm/solana/generated/mpl-core/instructions/executeV1.js +0 -56
  211. package/lib/esm/solana/generated/mpl-core/instructions/index.js +0 -40
  212. package/lib/esm/solana/generated/mpl-core/instructions/removeCollectionExternalPluginAdapterV1.js +0 -53
  213. package/lib/esm/solana/generated/mpl-core/instructions/removeCollectionPluginV1.js +0 -53
  214. package/lib/esm/solana/generated/mpl-core/instructions/removeExternalPluginAdapterV1.js +0 -53
  215. package/lib/esm/solana/generated/mpl-core/instructions/removePluginV1.js +0 -53
  216. package/lib/esm/solana/generated/mpl-core/instructions/revokeCollectionPluginAuthorityV1.js +0 -53
  217. package/lib/esm/solana/generated/mpl-core/instructions/revokePluginAuthorityV1.js +0 -53
  218. package/lib/esm/solana/generated/mpl-core/instructions/transferV1.js +0 -49
  219. package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionExternalPluginAdapterV1.js +0 -53
  220. package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionInfoV1.js +0 -45
  221. package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionPluginV1.js +0 -53
  222. package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionV1.js +0 -52
  223. package/lib/esm/solana/generated/mpl-core/instructions/updateExternalPluginAdapterV1.js +0 -53
  224. package/lib/esm/solana/generated/mpl-core/instructions/updatePluginV1.js +0 -53
  225. package/lib/esm/solana/generated/mpl-core/instructions/updateV1.js +0 -53
  226. package/lib/esm/solana/generated/mpl-core/instructions/updateV2.js +0 -53
  227. package/lib/esm/solana/generated/mpl-core/instructions/writeCollectionExternalPluginAdapterDataV1.js +0 -53
  228. package/lib/esm/solana/generated/mpl-core/instructions/writeExternalPluginAdapterDataV1.js +0 -53
  229. package/lib/esm/solana/generated/mpl-core/program-address.js +0 -1
  230. package/lib/esm/solana/generated/mpl-core/types/addAssetsToGroupV1Args.js +0 -17
  231. package/lib/esm/solana/generated/mpl-core/types/addBlocker.js +0 -17
  232. package/lib/esm/solana/generated/mpl-core/types/addCollectionsToGroupV1Args.js +0 -17
  233. package/lib/esm/solana/generated/mpl-core/types/addGroupsToGroupV1Args.js +0 -17
  234. package/lib/esm/solana/generated/mpl-core/types/agentIdentity.js +0 -17
  235. package/lib/esm/solana/generated/mpl-core/types/agentIdentityInitInfo.js +0 -18
  236. package/lib/esm/solana/generated/mpl-core/types/agentIdentityUpdateInfo.js +0 -18
  237. package/lib/esm/solana/generated/mpl-core/types/appData.js +0 -18
  238. package/lib/esm/solana/generated/mpl-core/types/appDataInitInfo.js +0 -18
  239. package/lib/esm/solana/generated/mpl-core/types/appDataUpdateInfo.js +0 -18
  240. package/lib/esm/solana/generated/mpl-core/types/attribute.js +0 -17
  241. package/lib/esm/solana/generated/mpl-core/types/attributes.js +0 -18
  242. package/lib/esm/solana/generated/mpl-core/types/authority.js +0 -24
  243. package/lib/esm/solana/generated/mpl-core/types/autograph.js +0 -18
  244. package/lib/esm/solana/generated/mpl-core/types/autographSignature.js +0 -17
  245. package/lib/esm/solana/generated/mpl-core/types/bubblegumV2.js +0 -17
  246. package/lib/esm/solana/generated/mpl-core/types/burnDelegate.js +0 -17
  247. package/lib/esm/solana/generated/mpl-core/types/closeGroupV1Args.js +0 -17
  248. package/lib/esm/solana/generated/mpl-core/types/compressionProof.js +0 -18
  249. package/lib/esm/solana/generated/mpl-core/types/creator.js +0 -17
  250. package/lib/esm/solana/generated/mpl-core/types/dataSection.js +0 -18
  251. package/lib/esm/solana/generated/mpl-core/types/dataSectionInitInfo.js +0 -18
  252. package/lib/esm/solana/generated/mpl-core/types/dataSectionUpdateInfo.js +0 -17
  253. package/lib/esm/solana/generated/mpl-core/types/dataState.js +0 -23
  254. package/lib/esm/solana/generated/mpl-core/types/edition.js +0 -17
  255. package/lib/esm/solana/generated/mpl-core/types/externalCheckResult.js +0 -17
  256. package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapter.js +0 -25
  257. package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterInitInfo.js +0 -25
  258. package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterKey.js +0 -25
  259. package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterSchema.js +0 -24
  260. package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterType.js +0 -28
  261. package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterUpdateInfo.js +0 -25
  262. package/lib/esm/solana/generated/mpl-core/types/externalRegistryRecord.js +0 -18
  263. package/lib/esm/solana/generated/mpl-core/types/externalValidationResult.js +0 -24
  264. package/lib/esm/solana/generated/mpl-core/types/extraAccount.js +0 -25
  265. package/lib/esm/solana/generated/mpl-core/types/freezeDelegate.js +0 -17
  266. package/lib/esm/solana/generated/mpl-core/types/freezeExecute.js +0 -17
  267. package/lib/esm/solana/generated/mpl-core/types/groups.js +0 -17
  268. package/lib/esm/solana/generated/mpl-core/types/hashablePluginSchema.js +0 -18
  269. package/lib/esm/solana/generated/mpl-core/types/hashedAssetSchema.js +0 -17
  270. package/lib/esm/solana/generated/mpl-core/types/hookableLifecycleEvent.js +0 -26
  271. package/lib/esm/solana/generated/mpl-core/types/immutableMetadata.js +0 -17
  272. package/lib/esm/solana/generated/mpl-core/types/index.js +0 -89
  273. package/lib/esm/solana/generated/mpl-core/types/key.js +0 -28
  274. package/lib/esm/solana/generated/mpl-core/types/lifecycleHook.js +0 -18
  275. package/lib/esm/solana/generated/mpl-core/types/lifecycleHookInitInfo.js +0 -18
  276. package/lib/esm/solana/generated/mpl-core/types/lifecycleHookUpdateInfo.js +0 -18
  277. package/lib/esm/solana/generated/mpl-core/types/linkedAppData.js +0 -18
  278. package/lib/esm/solana/generated/mpl-core/types/linkedAppDataInitInfo.js +0 -18
  279. package/lib/esm/solana/generated/mpl-core/types/linkedAppDataUpdateInfo.js +0 -18
  280. package/lib/esm/solana/generated/mpl-core/types/linkedDataKey.js +0 -25
  281. package/lib/esm/solana/generated/mpl-core/types/linkedLifecycleHook.js +0 -18
  282. package/lib/esm/solana/generated/mpl-core/types/linkedLifecycleHookInitInfo.js +0 -18
  283. package/lib/esm/solana/generated/mpl-core/types/linkedLifecycleHookUpdateInfo.js +0 -18
  284. package/lib/esm/solana/generated/mpl-core/types/masterEdition.js +0 -17
  285. package/lib/esm/solana/generated/mpl-core/types/oracle.js +0 -18
  286. package/lib/esm/solana/generated/mpl-core/types/oracleInitInfo.js +0 -18
  287. package/lib/esm/solana/generated/mpl-core/types/oracleUpdateInfo.js +0 -18
  288. package/lib/esm/solana/generated/mpl-core/types/oracleValidation.js +0 -25
  289. package/lib/esm/solana/generated/mpl-core/types/permanentBurnDelegate.js +0 -17
  290. package/lib/esm/solana/generated/mpl-core/types/permanentFreezeDelegate.js +0 -17
  291. package/lib/esm/solana/generated/mpl-core/types/permanentFreezeExecute.js +0 -17
  292. package/lib/esm/solana/generated/mpl-core/types/permanentTransferDelegate.js +0 -17
  293. package/lib/esm/solana/generated/mpl-core/types/plugin.js +0 -25
  294. package/lib/esm/solana/generated/mpl-core/types/pluginAuthorityPair.js +0 -18
  295. package/lib/esm/solana/generated/mpl-core/types/pluginType.js +0 -40
  296. package/lib/esm/solana/generated/mpl-core/types/registryRecord.js +0 -18
  297. package/lib/esm/solana/generated/mpl-core/types/relationshipKind.js +0 -25
  298. package/lib/esm/solana/generated/mpl-core/types/removeAssetsFromGroupV1Args.js +0 -17
  299. package/lib/esm/solana/generated/mpl-core/types/removeCollectionsFromGroupV1Args.js +0 -17
  300. package/lib/esm/solana/generated/mpl-core/types/removeGroupsFromGroupV1Args.js +0 -17
  301. package/lib/esm/solana/generated/mpl-core/types/royalties.js +0 -18
  302. package/lib/esm/solana/generated/mpl-core/types/ruleSet.js +0 -24
  303. package/lib/esm/solana/generated/mpl-core/types/seed.js +0 -24
  304. package/lib/esm/solana/generated/mpl-core/types/transferDelegate.js +0 -17
  305. package/lib/esm/solana/generated/mpl-core/types/updateAuthority.js +0 -24
  306. package/lib/esm/solana/generated/mpl-core/types/updateDelegate.js +0 -17
  307. package/lib/esm/solana/generated/mpl-core/types/updateGroupV1Args.js +0 -17
  308. package/lib/esm/solana/generated/mpl-core/types/updateType.js +0 -24
  309. package/lib/esm/solana/generated/mpl-core/types/validationResult.js +0 -25
  310. package/lib/esm/solana/generated/mpl-core/types/validationResultsOffset.js +0 -24
  311. package/lib/esm/solana/generated/mpl-core/types/verifiedCreators.js +0 -18
  312. package/lib/esm/solana/generated/mpl-core/types/verifiedCreatorsSignature.js +0 -17
  313. package/lib/esm/utils/ao.js +0 -421
  314. package/lib/esm/utils/arweave.js +0 -271
  315. package/lib/esm/utils/processes.js +0 -167
  316. package/lib/esm/web/index.js +0 -20
  317. package/lib/types/common/ant-versions.d.ts +0 -39
  318. package/lib/types/common/arweave.d.ts +0 -17
  319. package/lib/types/common/contracts/ao-process.d.ts +0 -33
  320. package/lib/types/common/hyperbeam/hb.d.ts +0 -88
  321. package/lib/types/common/marketplace.d.ts +0 -556
  322. package/lib/types/common/turbo.d.ts +0 -61
  323. package/lib/types/node/index.d.ts +0 -20
  324. package/lib/types/solana/generated/ant/events/aclEntryAddedEvent.d.ts +0 -26
  325. package/lib/types/solana/generated/ant/events/aclEntryRemovedEvent.d.ts +0 -26
  326. package/lib/types/solana/generated/ant/events/antMetadataUpdatedEvent.d.ts +0 -28
  327. package/lib/types/solana/generated/ant/events/antReconciledEvent.d.ts +0 -28
  328. package/lib/types/solana/generated/ant/events/antTransferredEvent.d.ts +0 -26
  329. package/lib/types/solana/generated/ant/events/attributesClearedEvent.d.ts +0 -26
  330. package/lib/types/solana/generated/ant/events/attributesSyncedEvent.d.ts +0 -24
  331. package/lib/types/solana/generated/ant/events/controllerAddedEvent.d.ts +0 -26
  332. package/lib/types/solana/generated/ant/events/controllerRemovedEvent.d.ts +0 -26
  333. package/lib/types/solana/generated/ant/events/index.d.ts +0 -15
  334. package/lib/types/solana/generated/ant/events/recordMetadataPrunedEvent.d.ts +0 -26
  335. package/lib/types/solana/generated/ant/events/recordMetadataRemovedEvent.d.ts +0 -26
  336. package/lib/types/solana/generated/ant/events/recordMetadataUpdatedEvent.d.ts +0 -28
  337. package/lib/types/solana/generated/ant/events/recordRemovedEvent.d.ts +0 -26
  338. package/lib/types/solana/generated/ant/events/recordSetEvent.d.ts +0 -34
  339. package/lib/types/solana/generated/ant/events/recordTransferredEvent.d.ts +0 -30
  340. package/lib/types/solana/generated/ant-escrow/events/escrowCancelledEvent.d.ts +0 -28
  341. package/lib/types/solana/generated/ant-escrow/events/escrowClaimedEvent.d.ts +0 -32
  342. package/lib/types/solana/generated/ant-escrow/events/escrowDepositedEvent.d.ts +0 -36
  343. package/lib/types/solana/generated/ant-escrow/events/escrowRecipientUpdatedEvent.d.ts +0 -26
  344. package/lib/types/solana/generated/ant-escrow/events/index.d.ts +0 -4
  345. package/lib/types/solana/generated/arns/events/demandFactorUpdatedEvent.d.ts +0 -28
  346. package/lib/types/solana/generated/arns/events/index.d.ts +0 -12
  347. package/lib/types/solana/generated/arns/events/leaseExtendedEvent.d.ts +0 -32
  348. package/lib/types/solana/generated/arns/events/namePurchasedEvent.d.ts +0 -34
  349. package/lib/types/solana/generated/arns/events/nameReassignedEvent.d.ts +0 -28
  350. package/lib/types/solana/generated/arns/events/nameReleasedEvent.d.ts +0 -24
  351. package/lib/types/solana/generated/arns/events/nameReservedEvent.d.ts +0 -28
  352. package/lib/types/solana/generated/arns/events/nameUnreservedEvent.d.ts +0 -24
  353. package/lib/types/solana/generated/arns/events/nameUpgradedEvent.d.ts +0 -28
  354. package/lib/types/solana/generated/arns/events/namesPrunedEvent.d.ts +0 -26
  355. package/lib/types/solana/generated/arns/events/reservedNameClaimedEvent.d.ts +0 -24
  356. package/lib/types/solana/generated/arns/events/returnedNamePurchasedEvent.d.ts +0 -32
  357. package/lib/types/solana/generated/arns/events/undernameIncreasedEvent.d.ts +0 -32
  358. package/lib/types/solana/generated/core/events/configUpdatedEvent.d.ts +0 -26
  359. package/lib/types/solana/generated/core/events/coreMigrationFinalizedEvent.d.ts +0 -26
  360. package/lib/types/solana/generated/core/events/index.d.ts +0 -13
  361. package/lib/types/solana/generated/core/events/primaryNameRemovedEvent.d.ts +0 -26
  362. package/lib/types/solana/generated/core/events/primaryNameRequestExpiredEvent.d.ts +0 -26
  363. package/lib/types/solana/generated/core/events/primaryNameRequestedEvent.d.ts +0 -30
  364. package/lib/types/solana/generated/core/events/primaryNameSetEvent.d.ts +0 -24
  365. package/lib/types/solana/generated/core/events/supplyFinalizedEvent.d.ts +0 -26
  366. package/lib/types/solana/generated/core/events/transferEvent.d.ts +0 -26
  367. package/lib/types/solana/generated/core/events/vaultCreatedEvent.d.ts +0 -28
  368. package/lib/types/solana/generated/core/events/vaultExtendedEvent.d.ts +0 -26
  369. package/lib/types/solana/generated/core/events/vaultIncreasedEvent.d.ts +0 -28
  370. package/lib/types/solana/generated/core/events/vaultReleasedEvent.d.ts +0 -26
  371. package/lib/types/solana/generated/core/events/vaultRevokedEvent.d.ts +0 -28
  372. package/lib/types/solana/generated/gar/events/allowlistToggledEvent.d.ts +0 -24
  373. package/lib/types/solana/generated/gar/events/delegateAllowlistedEvent.d.ts +0 -26
  374. package/lib/types/solana/generated/gar/events/delegationClosedEvent.d.ts +0 -24
  375. package/lib/types/solana/generated/gar/events/delegationDecreasedEvent.d.ts +0 -28
  376. package/lib/types/solana/generated/gar/events/delegationEvent.d.ts +0 -28
  377. package/lib/types/solana/generated/gar/events/epochClosedEvent.d.ts +0 -24
  378. package/lib/types/solana/generated/gar/events/epochCreatedEvent.d.ts +0 -26
  379. package/lib/types/solana/generated/gar/events/epochDistributedEvent.d.ts +0 -26
  380. package/lib/types/solana/generated/gar/events/epochPrescribedEvent.d.ts +0 -28
  381. package/lib/types/solana/generated/gar/events/epochWeightsTalliedEvent.d.ts +0 -26
  382. package/lib/types/solana/generated/gar/events/epochsToggledEvent.d.ts +0 -24
  383. package/lib/types/solana/generated/gar/events/fundingPlanAppliedEvent.d.ts +0 -28
  384. package/lib/types/solana/generated/gar/events/garMigrationFinalizedEvent.d.ts +0 -26
  385. package/lib/types/solana/generated/gar/events/gatewayFinalizedEvent.d.ts +0 -24
  386. package/lib/types/solana/generated/gar/events/gatewayJoinedEvent.d.ts +0 -26
  387. package/lib/types/solana/generated/gar/events/gatewayLeavingEvent.d.ts +0 -22
  388. package/lib/types/solana/generated/gar/events/gatewayPrunedEvent.d.ts +0 -26
  389. package/lib/types/solana/generated/gar/events/gatewaySettingsUpdatedEvent.d.ts +0 -24
  390. package/lib/types/solana/generated/gar/events/index.d.ts +0 -30
  391. package/lib/types/solana/generated/gar/events/instantWithdrawalEvent.d.ts +0 -30
  392. package/lib/types/solana/generated/gar/events/observationSubmittedEvent.d.ts +0 -28
  393. package/lib/types/solana/generated/gar/events/observerAddressUpdatedEvent.d.ts +0 -24
  394. package/lib/types/solana/generated/gar/events/operatorStakeIncreasedEvent.d.ts +0 -26
  395. package/lib/types/solana/generated/gar/events/redelegationEvent.d.ts +0 -30
  396. package/lib/types/solana/generated/gar/events/residueVaultCreatedEvent.d.ts +0 -30
  397. package/lib/types/solana/generated/gar/events/rewardsCompoundedEvent.d.ts +0 -26
  398. package/lib/types/solana/generated/gar/events/stakePaymentEvent.d.ts +0 -28
  399. package/lib/types/solana/generated/gar/events/withdrawalCancelledEvent.d.ts +0 -30
  400. package/lib/types/solana/generated/gar/events/withdrawalClaimedEvent.d.ts +0 -26
  401. package/lib/types/solana/generated/gar/events/withdrawalCreatedEvent.d.ts +0 -28
  402. package/lib/types/solana/generated/gar/events/withdrawalPaymentEvent.d.ts +0 -28
  403. package/lib/types/solana/generated/mpl-core/accounts/assetV1.d.ts +0 -37
  404. package/lib/types/solana/generated/mpl-core/accounts/collectionV1.d.ts +0 -37
  405. package/lib/types/solana/generated/mpl-core/accounts/hashedAssetV1.d.ts +0 -30
  406. package/lib/types/solana/generated/mpl-core/accounts/index.d.ts +0 -12
  407. package/lib/types/solana/generated/mpl-core/accounts/pluginHeaderV1.d.ts +0 -30
  408. package/lib/types/solana/generated/mpl-core/accounts/pluginRegistryV1.d.ts +0 -31
  409. package/lib/types/solana/generated/mpl-core/errors/index.d.ts +0 -8
  410. package/lib/types/solana/generated/mpl-core/errors/mplCore.d.ts +0 -133
  411. package/lib/types/solana/generated/mpl-core/index.d.ts +0 -8
  412. package/lib/types/solana/generated/mpl-core/instructions/addCollectionExternalPluginAdapterV1.d.ts +0 -56
  413. package/lib/types/solana/generated/mpl-core/instructions/addCollectionPluginV1.d.ts +0 -59
  414. package/lib/types/solana/generated/mpl-core/instructions/addExternalPluginAdapterV1.d.ts +0 -60
  415. package/lib/types/solana/generated/mpl-core/instructions/addPluginV1.d.ts +0 -63
  416. package/lib/types/solana/generated/mpl-core/instructions/approveCollectionPluginAuthorityV1.d.ts +0 -59
  417. package/lib/types/solana/generated/mpl-core/instructions/approvePluginAuthorityV1.d.ts +0 -63
  418. package/lib/types/solana/generated/mpl-core/instructions/burnCollectionV1.d.ts +0 -52
  419. package/lib/types/solana/generated/mpl-core/instructions/burnV1.d.ts +0 -60
  420. package/lib/types/solana/generated/mpl-core/instructions/collect.d.ts +0 -39
  421. package/lib/types/solana/generated/mpl-core/instructions/compressV1.d.ts +0 -55
  422. package/lib/types/solana/generated/mpl-core/instructions/createCollectionV1.d.ts +0 -58
  423. package/lib/types/solana/generated/mpl-core/instructions/createCollectionV2.d.ts +0 -61
  424. package/lib/types/solana/generated/mpl-core/instructions/createV1.d.ts +0 -77
  425. package/lib/types/solana/generated/mpl-core/instructions/createV2.d.ts +0 -80
  426. package/lib/types/solana/generated/mpl-core/instructions/decompressV1.d.ts +0 -60
  427. package/lib/types/solana/generated/mpl-core/instructions/executeV1.d.ts +0 -63
  428. package/lib/types/solana/generated/mpl-core/instructions/index.d.ts +0 -40
  429. package/lib/types/solana/generated/mpl-core/instructions/removeCollectionExternalPluginAdapterV1.d.ts +0 -56
  430. package/lib/types/solana/generated/mpl-core/instructions/removeCollectionPluginV1.d.ts +0 -56
  431. package/lib/types/solana/generated/mpl-core/instructions/removeExternalPluginAdapterV1.d.ts +0 -60
  432. package/lib/types/solana/generated/mpl-core/instructions/removePluginV1.d.ts +0 -60
  433. package/lib/types/solana/generated/mpl-core/instructions/revokeCollectionPluginAuthorityV1.d.ts +0 -56
  434. package/lib/types/solana/generated/mpl-core/instructions/revokePluginAuthorityV1.d.ts +0 -60
  435. package/lib/types/solana/generated/mpl-core/instructions/transferV1.d.ts +0 -64
  436. package/lib/types/solana/generated/mpl-core/instructions/updateCollectionExternalPluginAdapterV1.d.ts +0 -59
  437. package/lib/types/solana/generated/mpl-core/instructions/updateCollectionInfoV1.d.ts +0 -47
  438. package/lib/types/solana/generated/mpl-core/instructions/updateCollectionPluginV1.d.ts +0 -56
  439. package/lib/types/solana/generated/mpl-core/instructions/updateCollectionV1.d.ts +0 -62
  440. package/lib/types/solana/generated/mpl-core/instructions/updateExternalPluginAdapterV1.d.ts +0 -63
  441. package/lib/types/solana/generated/mpl-core/instructions/updatePluginV1.d.ts +0 -60
  442. package/lib/types/solana/generated/mpl-core/instructions/updateV1.d.ts +0 -66
  443. package/lib/types/solana/generated/mpl-core/instructions/updateV2.d.ts +0 -70
  444. package/lib/types/solana/generated/mpl-core/instructions/writeCollectionExternalPluginAdapterDataV1.d.ts +0 -63
  445. package/lib/types/solana/generated/mpl-core/instructions/writeExternalPluginAdapterDataV1.d.ts +0 -67
  446. package/lib/types/solana/generated/mpl-core/program-address.d.ts +0 -7
  447. package/lib/types/solana/generated/mpl-core/types/addAssetsToGroupV1Args.d.ts +0 -13
  448. package/lib/types/solana/generated/mpl-core/types/addBlocker.d.ts +0 -13
  449. package/lib/types/solana/generated/mpl-core/types/addCollectionsToGroupV1Args.d.ts +0 -13
  450. package/lib/types/solana/generated/mpl-core/types/addGroupsToGroupV1Args.d.ts +0 -15
  451. package/lib/types/solana/generated/mpl-core/types/agentIdentity.d.ts +0 -15
  452. package/lib/types/solana/generated/mpl-core/types/agentIdentityInitInfo.d.ts +0 -22
  453. package/lib/types/solana/generated/mpl-core/types/agentIdentityUpdateInfo.d.ts +0 -20
  454. package/lib/types/solana/generated/mpl-core/types/appData.d.ts +0 -20
  455. package/lib/types/solana/generated/mpl-core/types/appDataInitInfo.d.ts +0 -22
  456. package/lib/types/solana/generated/mpl-core/types/appDataUpdateInfo.d.ts +0 -18
  457. package/lib/types/solana/generated/mpl-core/types/attribute.d.ts +0 -16
  458. package/lib/types/solana/generated/mpl-core/types/attributes.d.ts +0 -18
  459. package/lib/types/solana/generated/mpl-core/types/authority.d.ts +0 -29
  460. package/lib/types/solana/generated/mpl-core/types/autograph.d.ts +0 -18
  461. package/lib/types/solana/generated/mpl-core/types/autographSignature.d.ts +0 -16
  462. package/lib/types/solana/generated/mpl-core/types/bubblegumV2.d.ts +0 -13
  463. package/lib/types/solana/generated/mpl-core/types/burnDelegate.d.ts +0 -13
  464. package/lib/types/solana/generated/mpl-core/types/closeGroupV1Args.d.ts +0 -13
  465. package/lib/types/solana/generated/mpl-core/types/compressionProof.d.ts +0 -28
  466. package/lib/types/solana/generated/mpl-core/types/creator.d.ts +0 -16
  467. package/lib/types/solana/generated/mpl-core/types/dataSection.d.ts +0 -20
  468. package/lib/types/solana/generated/mpl-core/types/dataSectionInitInfo.d.ts +0 -20
  469. package/lib/types/solana/generated/mpl-core/types/dataSectionUpdateInfo.d.ts +0 -13
  470. package/lib/types/solana/generated/mpl-core/types/dataState.d.ts +0 -16
  471. package/lib/types/solana/generated/mpl-core/types/edition.d.ts +0 -15
  472. package/lib/types/solana/generated/mpl-core/types/externalCheckResult.d.ts +0 -15
  473. package/lib/types/solana/generated/mpl-core/types/externalPluginAdapter.d.ts +0 -66
  474. package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterInitInfo.d.ts +0 -66
  475. package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterKey.d.ts +0 -64
  476. package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterSchema.d.ts +0 -17
  477. package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterType.d.ts +0 -21
  478. package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterUpdateInfo.d.ts +0 -59
  479. package/lib/types/solana/generated/mpl-core/types/externalRegistryRecord.d.ts +0 -28
  480. package/lib/types/solana/generated/mpl-core/types/externalValidationResult.d.ts +0 -17
  481. package/lib/types/solana/generated/mpl-core/types/extraAccount.d.ts +0 -86
  482. package/lib/types/solana/generated/mpl-core/types/freezeDelegate.d.ts +0 -15
  483. package/lib/types/solana/generated/mpl-core/types/freezeExecute.d.ts +0 -15
  484. package/lib/types/solana/generated/mpl-core/types/groups.d.ts +0 -15
  485. package/lib/types/solana/generated/mpl-core/types/hashablePluginSchema.d.ts +0 -22
  486. package/lib/types/solana/generated/mpl-core/types/hashedAssetSchema.d.ts +0 -16
  487. package/lib/types/solana/generated/mpl-core/types/hookableLifecycleEvent.d.ts +0 -19
  488. package/lib/types/solana/generated/mpl-core/types/immutableMetadata.d.ts +0 -13
  489. package/lib/types/solana/generated/mpl-core/types/index.d.ts +0 -89
  490. package/lib/types/solana/generated/mpl-core/types/key.d.ts +0 -21
  491. package/lib/types/solana/generated/mpl-core/types/lifecycleHook.d.ts +0 -24
  492. package/lib/types/solana/generated/mpl-core/types/lifecycleHookInitInfo.d.ts +0 -28
  493. package/lib/types/solana/generated/mpl-core/types/lifecycleHookUpdateInfo.d.ts +0 -22
  494. package/lib/types/solana/generated/mpl-core/types/linkedAppData.d.ts +0 -20
  495. package/lib/types/solana/generated/mpl-core/types/linkedAppDataInitInfo.d.ts +0 -22
  496. package/lib/types/solana/generated/mpl-core/types/linkedAppDataUpdateInfo.d.ts +0 -18
  497. package/lib/types/solana/generated/mpl-core/types/linkedDataKey.d.ts +0 -31
  498. package/lib/types/solana/generated/mpl-core/types/linkedLifecycleHook.d.ts +0 -24
  499. package/lib/types/solana/generated/mpl-core/types/linkedLifecycleHookInitInfo.d.ts +0 -28
  500. package/lib/types/solana/generated/mpl-core/types/linkedLifecycleHookUpdateInfo.d.ts +0 -22
  501. package/lib/types/solana/generated/mpl-core/types/masterEdition.d.ts +0 -21
  502. package/lib/types/solana/generated/mpl-core/types/oracle.d.ts +0 -22
  503. package/lib/types/solana/generated/mpl-core/types/oracleInitInfo.d.ts +0 -26
  504. package/lib/types/solana/generated/mpl-core/types/oracleUpdateInfo.d.ts +0 -22
  505. package/lib/types/solana/generated/mpl-core/types/oracleValidation.d.ts +0 -35
  506. package/lib/types/solana/generated/mpl-core/types/permanentBurnDelegate.d.ts +0 -13
  507. package/lib/types/solana/generated/mpl-core/types/permanentFreezeDelegate.d.ts +0 -15
  508. package/lib/types/solana/generated/mpl-core/types/permanentFreezeExecute.d.ts +0 -15
  509. package/lib/types/solana/generated/mpl-core/types/permanentTransferDelegate.d.ts +0 -13
  510. package/lib/types/solana/generated/mpl-core/types/plugin.d.ts +0 -150
  511. package/lib/types/solana/generated/mpl-core/types/pluginAuthorityPair.d.ts +0 -20
  512. package/lib/types/solana/generated/mpl-core/types/pluginType.d.ts +0 -33
  513. package/lib/types/solana/generated/mpl-core/types/registryRecord.d.ts +0 -22
  514. package/lib/types/solana/generated/mpl-core/types/relationshipKind.d.ts +0 -18
  515. package/lib/types/solana/generated/mpl-core/types/removeAssetsFromGroupV1Args.d.ts +0 -15
  516. package/lib/types/solana/generated/mpl-core/types/removeCollectionsFromGroupV1Args.d.ts +0 -15
  517. package/lib/types/solana/generated/mpl-core/types/removeGroupsFromGroupV1Args.d.ts +0 -15
  518. package/lib/types/solana/generated/mpl-core/types/royalties.d.ts +0 -22
  519. package/lib/types/solana/generated/mpl-core/types/ruleSet.d.ts +0 -27
  520. package/lib/types/solana/generated/mpl-core/types/seed.d.ts +0 -36
  521. package/lib/types/solana/generated/mpl-core/types/transferDelegate.d.ts +0 -13
  522. package/lib/types/solana/generated/mpl-core/types/updateAuthority.d.ts +0 -27
  523. package/lib/types/solana/generated/mpl-core/types/updateDelegate.d.ts +0 -15
  524. package/lib/types/solana/generated/mpl-core/types/updateGroupV1Args.d.ts +0 -19
  525. package/lib/types/solana/generated/mpl-core/types/updateType.d.ts +0 -17
  526. package/lib/types/solana/generated/mpl-core/types/validationResult.d.ts +0 -18
  527. package/lib/types/solana/generated/mpl-core/types/validationResultsOffset.d.ts +0 -33
  528. package/lib/types/solana/generated/mpl-core/types/verifiedCreators.d.ts +0 -18
  529. package/lib/types/solana/generated/mpl-core/types/verifiedCreatorsSignature.d.ts +0 -16
  530. package/lib/types/utils/ao.d.ts +0 -80
  531. package/lib/types/utils/arweave.d.ts +0 -79
  532. package/lib/types/utils/processes.d.ts +0 -39
  533. package/lib/types/web/index.d.ts +0 -20
@@ -14,13 +14,17 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { readFileSync } from 'fs';
17
- import { EthereumSigner } from '@dha-team/arbundles';
18
- import { connect } from '@permaweb/aoconnect';
19
- import { address, createKeyPairSignerFromBytes, createSolanaRpc, createSolanaRpcSubscriptions, } from '@solana/kit';
17
+ import { address, createKeyPairSignerFromBytes, createSolanaRpcSubscriptions, } from '@solana/kit';
20
18
  import bs58 from 'bs58';
21
19
  import { program } from 'commander';
22
20
  import prompts from 'prompts';
23
- import { ANT, ANTRegistry, ANT_REGISTRY_ID, ANT_REGISTRY_TESTNET_ID, AOProcess, ARIO, ARIOToken, ARIO_DEVNET_PROCESS_ID, ARIO_MAINNET_PROCESS_ID, ARIO_TESTNET_PROCESS_ID, ArweaveSigner, Logger, createAoSigner, fromB64Url, fundFromOptions, initANTStateForAddress, isValidFundFrom, isValidIntent, mARIOToken, sha256B64Url, validIntents, } from '../node/index.js';
21
+ import { ANTRegistry } from '../common/ant-registry.js';
22
+ import { ANT } from '../common/ant.js';
23
+ import { ARIO } from '../common/io.js';
24
+ import { Logger } from '../common/logger.js';
25
+ import { createCircuitBreakerRpc, defaultFallbackUrl, } from '../solana/rpc-circuit-breaker.js';
26
+ import { fundFromOptions, isValidFundFrom, isValidIntent, validIntents, } from '../types/io.js';
27
+ import { ARIOToken, mARIOToken } from '../types/token.js';
24
28
  import { globalOptions } from './options.js';
25
29
  export const defaultTtlSecondsCLI = 3600;
26
30
  export function stringifyJsonForCLIDisplay(json) {
@@ -68,46 +72,6 @@ export function makeCommand({ description, name, options = [], action, }) {
68
72
  }
69
73
  return appliedCommand;
70
74
  }
71
- export function arioProcessIdFromOptions({ arioProcessId, devnet, testnet, }) {
72
- if (arioProcessId !== undefined) {
73
- return arioProcessId;
74
- }
75
- if (devnet) {
76
- return ARIO_DEVNET_PROCESS_ID;
77
- }
78
- if (testnet) {
79
- return ARIO_TESTNET_PROCESS_ID;
80
- }
81
- return ARIO_MAINNET_PROCESS_ID;
82
- }
83
- export function antRegistryIdFromOptions({ antRegistryProcessId, testnet, }) {
84
- if (antRegistryProcessId !== undefined) {
85
- return antRegistryProcessId;
86
- }
87
- if (testnet) {
88
- return ANT_REGISTRY_TESTNET_ID;
89
- }
90
- return ANT_REGISTRY_ID;
91
- }
92
- function walletFromOptions({ privateKey, walletFile, }) {
93
- if (privateKey !== undefined) {
94
- return JSON.parse(privateKey);
95
- }
96
- if (walletFile !== undefined) {
97
- return JSON.parse(readFileSync(walletFile, 'utf-8'));
98
- }
99
- return undefined;
100
- }
101
- export function requiredJwkFromOptions(options) {
102
- const jwk = walletFromOptions(options);
103
- if (jwk === undefined) {
104
- throw new Error('No JWK provided for signing!\nPlease provide a stringified JWK with `--private-key` or the file path of a jwk.json file with `--wallet-file`');
105
- }
106
- return jwk;
107
- }
108
- export function jwkToAddress(jwk) {
109
- return sha256B64Url(fromB64Url(jwk.n));
110
- }
111
75
  function setLoggerIfDebug(options) {
112
76
  if (options.debug) {
113
77
  Logger.default.setLogLevel('debug');
@@ -117,31 +81,11 @@ export function getLoggerFromOptions(options) {
117
81
  setLoggerIfDebug(options);
118
82
  return Logger.default;
119
83
  }
120
- function aoProcessFromOptions(options) {
121
- return new AOProcess({
122
- processId: arioProcessIdFromOptions(options),
123
- ao: connect({
124
- MODE: 'legacy',
125
- CU_URL: options.cuUrl,
126
- }),
127
- });
128
- }
129
84
  export function readARIOFromOptions(options) {
130
85
  setLoggerIfDebug(options);
131
- if (options.ao) {
132
- return ARIO.init({
133
- hyperbeamUrl: options.hyperbeamUrl,
134
- process: aoProcessFromOptions({
135
- cuUrl: 'http://localhost:6363',
136
- ...options,
137
- }),
138
- paymentUrl: options.paymentUrl,
139
- });
140
- }
141
86
  const rpcUrl = options.rpcUrl ?? 'https://api.mainnet-beta.solana.com';
142
87
  return ARIO.init({
143
- backend: 'solana',
144
- rpc: createSolanaRpc(rpcUrl),
88
+ rpc: createCliRpc(rpcUrl),
145
89
  ...(options.coreProgramId
146
90
  ? { coreProgramId: address(options.coreProgramId) }
147
91
  : {}),
@@ -155,46 +99,14 @@ export function readARIOFromOptions(options) {
155
99
  }
156
100
  export async function readANTRegistryFromOptions(options) {
157
101
  setLoggerIfDebug(options);
158
- if (options.ao) {
159
- return ANTRegistry.init({
160
- process: aoProcessFromOptions(options),
161
- hyperbeamUrl: options.hyperbeamUrl,
162
- });
163
- }
164
102
  const rpcUrl = options.rpcUrl ?? 'https://api.mainnet-beta.solana.com';
165
103
  return ANTRegistry.init({
166
- backend: 'solana',
167
- rpc: createSolanaRpc(rpcUrl),
104
+ rpc: createCliRpc(rpcUrl),
168
105
  ...(options.antProgramId
169
106
  ? { antProgramId: address(options.antProgramId) }
170
107
  : {}),
171
108
  });
172
109
  }
173
- export function contractSignerFromOptions(options) {
174
- const wallet = walletFromOptions(options);
175
- if (wallet === undefined) {
176
- return undefined;
177
- }
178
- const token = options.token ?? 'arweave';
179
- if (token === 'ethereum') {
180
- const signer = new EthereumSigner(wallet);
181
- // For EthereumSigner, we need to convert the JWK to a string
182
- return { signer, signerAddress: signer.publicKey.toString('hex') };
183
- }
184
- // TODO: Support other wallet types
185
- const signer = new ArweaveSigner(wallet);
186
- return { signer, signerAddress: jwkToAddress(wallet) };
187
- }
188
- export function requiredContractSignerFromOptions(options) {
189
- const contractSigner = contractSignerFromOptions(options);
190
- if (contractSigner === undefined) {
191
- throw new Error('No signer provided for signing!\nPlease provide a stringified JWK or Ethereum private key with `--private-key` or the file path of an arweave.jwk.json or eth.private.key.txt file with `--wallet-file`');
192
- }
193
- return contractSigner;
194
- }
195
- export function requiredAoSignerFromOptions(options) {
196
- return createAoSigner(requiredContractSignerFromOptions(options).signer);
197
- }
198
110
  /** Derive a WS URL from an HTTP/HTTPS RPC URL by swapping the scheme. */
199
111
  function wsUrlFromRpcUrl(rpcUrl) {
200
112
  // Surfpool and `solana-test-validator` follow Solana's well-known localhost
@@ -218,6 +130,16 @@ function wsUrlFromRpcUrl(rpcUrl) {
218
130
  url.protocol = url.protocol === 'https:' ? 'wss:' : 'ws:';
219
131
  return url.toString().replace(/\/$/, '');
220
132
  }
133
+ /**
134
+ * Create a {@link SolanaRpc} wrapped with a circuit-breaker that falls back to
135
+ * the cluster's public RPC when the primary endpoint becomes unhealthy.
136
+ */
137
+ function createCliRpc(rpcUrl) {
138
+ return createCircuitBreakerRpc({
139
+ primaryUrl: rpcUrl,
140
+ fallbackUrl: defaultFallbackUrl(rpcUrl),
141
+ });
142
+ }
221
143
  /**
222
144
  * Load a Solana KeyPairSigner from --private-key (base58) or --wallet-file
223
145
  * (JSON array of bytes). Throws with a helpful message if neither is set.
@@ -240,29 +162,15 @@ async function loadSolanaSignerFromOptions(options) {
240
162
  }
241
163
  export async function writeARIOFromOptions(options) {
242
164
  setLoggerIfDebug(options);
243
- if (options.ao) {
244
- const { signer, signerAddress } = requiredContractSignerFromOptions(options);
245
- return {
246
- ario: ARIO.init({
247
- process: aoProcessFromOptions(options),
248
- signer,
249
- paymentUrl: options.paymentUrl,
250
- hyperbeamUrl: options.hyperbeamUrl,
251
- }),
252
- signerAddress,
253
- };
254
- }
255
165
  const rpcUrl = options.rpcUrl ?? 'https://api.mainnet-beta.solana.com';
256
166
  const signer = await loadSolanaSignerFromOptions(options);
257
167
  return {
258
168
  ario: ARIO.init({
259
- backend: 'solana',
260
- rpc: createSolanaRpc(rpcUrl),
169
+ rpc: createCliRpc(rpcUrl),
261
170
  rpcSubscriptions: createSolanaRpcSubscriptions(wsUrlFromRpcUrl(rpcUrl)),
262
171
  signer,
263
- // Forward program-id overrides to mirror `readARIOFromOptions` so
264
- // localnet / devnet writes target the deployed program IDs instead of
265
- // silently falling back to the SDK's mainnet defaults.
172
+ // Forward program-id overrides so localnet / devnet writes target the
173
+ // deployed program IDs instead of falling back to mainnet defaults.
266
174
  ...(options.coreProgramId
267
175
  ? { coreProgramId: address(options.coreProgramId) }
268
176
  : {}),
@@ -287,14 +195,51 @@ export function formatARIOWithCommas(value) {
287
195
  export function formatMARIOToARIOWithCommas(value) {
288
196
  return formatARIOWithCommas(value.toARIO());
289
197
  }
290
- /** helper to get address from --address option first, then check wallet options */
198
+ /**
199
+ * Resolve the wallet address from CLI options. Priority order:
200
+ * 1. `--address <addr>` — used verbatim.
201
+ * 2. `--wallet-file <path-to-keypair.json>` — derive the Solana pubkey
202
+ * from the keypair file (last 32 bytes of the 64-byte secret-key
203
+ * array are the public key; base58-encode them).
204
+ * 3. `--private-key <base58-secret>` — base58-decode the secret, take
205
+ * the trailing 32 bytes as the pubkey. Matches the keypair-file
206
+ * path; kept aligned with `loadSolanaSignerFromOptions` so cost
207
+ * / funding lookups work even when the user authenticates with
208
+ * only a private key.
209
+ *
210
+ * Returns `undefined` when none of those is set. Use
211
+ * `requiredAddressFromOptions` for callers that must have an address.
212
+ */
291
213
  export function addressFromOptions(options) {
292
214
  if (options.address !== undefined) {
293
215
  return options.address;
294
216
  }
295
- const signer = contractSignerFromOptions(options);
296
- if (signer !== undefined) {
297
- return signer.signerAddress;
217
+ if (options.walletFile !== undefined) {
218
+ try {
219
+ const raw = readFileSync(options.walletFile, 'utf-8');
220
+ const bytes = new Uint8Array(JSON.parse(raw));
221
+ // Solana keypair JSON files are a 64-byte Uint8Array: first 32 bytes
222
+ // are the seed/secret, last 32 bytes are the Ed25519 public key.
223
+ if (bytes.length !== 64) {
224
+ throw new Error(`Wallet file is ${bytes.length} bytes — expected 64-byte Solana keypair JSON`);
225
+ }
226
+ return bs58.encode(bytes.slice(32));
227
+ }
228
+ catch (err) {
229
+ throw new Error(`Failed to read Solana pubkey from --wallet-file '${options.walletFile}': ${err.message}`);
230
+ }
231
+ }
232
+ if (options.privateKey !== undefined) {
233
+ try {
234
+ const bytes = bs58.decode(options.privateKey);
235
+ if (bytes.length !== 64) {
236
+ throw new Error(`Decoded private key is ${bytes.length} bytes — expected 64 (32-byte secret + 32-byte pubkey)`);
237
+ }
238
+ return bs58.encode(bytes.slice(32));
239
+ }
240
+ catch (err) {
241
+ throw new Error(`Failed to derive Solana pubkey from --private-key: ${err.message}`);
242
+ }
298
243
  }
299
244
  return undefined;
300
245
  }
@@ -303,7 +248,7 @@ export function requiredAddressFromOptions(options) {
303
248
  if (address !== undefined) {
304
249
  return address;
305
250
  }
306
- throw new Error('No address provided. Use --address or --wallet-file');
251
+ throw new Error('No address provided. Use --address, --wallet-file, or --private-key');
307
252
  }
308
253
  const defaultCliPaginationLimit = 10; // more friendly UX than 100
309
254
  export function paginationParamsFromOptions(options) {
@@ -385,44 +330,8 @@ export function customTagsFromOptions(options) {
385
330
  tags,
386
331
  };
387
332
  }
388
- export function servicesFromOptions(services) {
389
- if (services === undefined || services === null || services === '') {
390
- return undefined;
391
- }
392
- try {
393
- const parsed = JSON.parse(services);
394
- // Validate structure
395
- if (!parsed.bundlers || !Array.isArray(parsed.bundlers)) {
396
- throw new Error('Services must have a "bundlers" array');
397
- }
398
- if (parsed.bundlers.length > 20) {
399
- throw new Error('Maximum 20 bundlers allowed');
400
- }
401
- // Validate each bundler
402
- for (const bundler of parsed.bundlers) {
403
- if (!bundler.fqdn || typeof bundler.fqdn !== 'string') {
404
- throw new Error('Each bundler must have a valid "fqdn" string');
405
- }
406
- if (typeof bundler.port !== 'number' ||
407
- bundler.port < 0 ||
408
- bundler.port > 65535) {
409
- throw new Error('Each bundler must have a valid "port" (0-65535)');
410
- }
411
- if (bundler.protocol !== 'https') {
412
- throw new Error('Each bundler protocol must be "https"');
413
- }
414
- if (!bundler.path || typeof bundler.path !== 'string') {
415
- throw new Error('Each bundler must have a valid "path" string');
416
- }
417
- }
418
- return parsed;
419
- }
420
- catch (error) {
421
- throw new Error(`Invalid services JSON: ${error instanceof Error ? error.message : String(error)}`);
422
- }
423
- }
424
333
  export function gatewaySettingsFromOptions(options) {
425
- const { allowDelegatedStaking, autoStake, delegateRewardShareRatio, fqdn, label, minDelegatedStake, note, observerAddress, port, properties, allowedDelegates, services, } = options;
334
+ const { allowDelegatedStaking, autoStake, delegateRewardShareRatio, fqdn, label, minDelegatedStake, note, observerAddress, port, properties, allowedDelegates, } = options;
426
335
  return {
427
336
  observerAddress,
428
337
  allowDelegatedStaking,
@@ -437,7 +346,6 @@ export function gatewaySettingsFromOptions(options) {
437
346
  note,
438
347
  port: port !== undefined ? +port : undefined,
439
348
  properties,
440
- services: servicesFromOptions(services),
441
349
  };
442
350
  }
443
351
  export function requiredTargetAndQuantityFromOptions(options) {
@@ -526,47 +434,22 @@ export function requiredProcessIdFromOptions(o) {
526
434
  }
527
435
  return o.processId;
528
436
  }
529
- function ANTProcessFromOptions(options) {
530
- return new AOProcess({
531
- processId: requiredProcessIdFromOptions(options),
532
- ao: connect({
533
- MODE: 'legacy',
534
- CU_URL: options.cuUrl,
535
- }),
536
- });
537
- }
538
437
  export async function readANTFromOptions(options) {
539
- if (options.ao) {
540
- return ANT.init({
541
- process: ANTProcessFromOptions(options),
542
- hyperbeamUrl: options.hyperbeamUrl,
543
- });
544
- }
545
438
  const rpcUrl = options.rpcUrl ?? 'https://api.mainnet-beta.solana.com';
546
439
  return ANT.init({
547
- backend: 'solana',
548
440
  processId: requiredProcessIdFromOptions(options),
549
- rpc: createSolanaRpc(rpcUrl),
441
+ rpc: createCliRpc(rpcUrl),
550
442
  ...(options.antProgramId
551
443
  ? { antProgramId: address(options.antProgramId) }
552
444
  : {}),
553
445
  });
554
446
  }
555
- export async function writeANTFromOptions(options, signer) {
556
- if (options.ao) {
557
- signer ??= requiredContractSignerFromOptions(options).signer;
558
- return ANT.init({
559
- process: ANTProcessFromOptions(options),
560
- signer,
561
- hyperbeamUrl: options.hyperbeamUrl,
562
- });
563
- }
447
+ export async function writeANTFromOptions(options) {
564
448
  const rpcUrl = options.rpcUrl ?? 'https://api.mainnet-beta.solana.com';
565
449
  const kitSigner = await loadSolanaSignerFromOptions(options);
566
450
  return ANT.init({
567
- backend: 'solana',
568
451
  processId: requiredProcessIdFromOptions(options),
569
- rpc: createSolanaRpc(rpcUrl),
452
+ rpc: createCliRpc(rpcUrl),
570
453
  rpcSubscriptions: createSolanaRpcSubscriptions(wsUrlFromRpcUrl(rpcUrl)),
571
454
  signer: kitSigner,
572
455
  ...(options.antProgramId
@@ -619,21 +502,6 @@ export function requiredPositiveIntegerFromOptions(options, key) {
619
502
  }
620
503
  return value;
621
504
  }
622
- export function getANTStateFromOptions(options) {
623
- return initANTStateForAddress({
624
- owner: requiredAddressFromOptions(options),
625
- targetId: options.target,
626
- controllers: options.controllers,
627
- description: options.description,
628
- ticker: options.ticker,
629
- name: options.name,
630
- keywords: options.keywords,
631
- logo: options.logo,
632
- ttlSeconds: options.ttlSeconds !== undefined
633
- ? +options.ttlSeconds
634
- : defaultTtlSecondsCLI,
635
- });
636
- }
637
505
  /**
638
506
  * Spawn a fresh ANT on Solana from CLI options.
639
507
  *
@@ -642,10 +510,9 @@ export function getANTStateFromOptions(options) {
642
510
  * `ario_ant::initialize` into a single transaction. The signer's address
643
511
  * becomes the ANT owner on chain — no separate `--address` is required.
644
512
  *
645
- * Maps the CLI's AO-shaped options (`--name`, `--ticker`, `--description`,
513
+ * Maps the user-facing options (`--name`, `--ticker`, `--description`,
646
514
  * `--keywords`, `--logo`, `--target` for the @ record tx id) onto the Solana
647
- * `InitializeAntParams` payload. AO-only state fields like `controllers` and
648
- * `balances` are intentionally dropped — they don't exist on Solana.
515
+ * `InitializeAntParams` payload.
649
516
  */
650
517
  export async function spawnSolanaANTFromOptions(options) {
651
518
  setLoggerIfDebug(options);
@@ -668,7 +535,7 @@ export async function spawnSolanaANTFromOptions(options) {
668
535
  'See sdk/scripts/devnet-validation/populate-ant.ts for an end-to-end example.');
669
536
  }
670
537
  return spawnSolanaANT({
671
- rpc: createSolanaRpc(rpcUrl),
538
+ rpc: createCliRpc(rpcUrl),
672
539
  rpcSubscriptions: createSolanaRpcSubscriptions(wsUrlFromRpcUrl(rpcUrl)),
673
540
  signer: kitSigner,
674
541
  state: {
@@ -678,9 +545,7 @@ export async function spawnSolanaANTFromOptions(options) {
678
545
  description: options.description,
679
546
  keywords: options.keywords,
680
547
  logo: options.logo,
681
- // `--target` is the AO convention for the @ record's tx id (see
682
- // initANTStateForAddress). Reuse it on Solana so the CLI surface stays
683
- // identical between backends.
548
+ // `--target` carries the @ record's tx id for the initial record.
684
549
  transactionId: options.target,
685
550
  },
686
551
  ...(options.antProgramId
@@ -718,16 +583,25 @@ export function fundFromFromOptions(o) {
718
583
  export function referrerFromOptions(o) {
719
584
  return o.referrer;
720
585
  }
586
+ /** Largest value representable by an unsigned 64-bit integer (2^64 - 1). */
587
+ const U64_MAX = (1n << 64n) - 1n;
721
588
  /** Parse `--withdrawal-id` from CLI options into a bigint. */
722
589
  export function withdrawalIdFromOptions(o) {
723
590
  if (o.withdrawalId === undefined)
724
591
  return undefined;
592
+ let id;
725
593
  try {
726
- return BigInt(o.withdrawalId);
594
+ id = BigInt(o.withdrawalId);
727
595
  }
728
596
  catch {
729
597
  throw new Error(`Invalid --withdrawal-id: '${o.withdrawalId}' is not a valid u64 integer`);
730
598
  }
599
+ // The on-chain seed encoder treats the id as a u64; reject out-of-range
600
+ // values here with a clear message instead of a downstream encoder error.
601
+ if (id < 0n || id > U64_MAX) {
602
+ throw new Error(`Invalid --withdrawal-id: '${o.withdrawalId}' is outside u64 range (0..${U64_MAX})`);
603
+ }
604
+ return id;
731
605
  }
732
606
  /**
733
607
  * Parse `--funding-plan-json` into a `FundingSourceSpec[]`. Validates each
@@ -782,6 +656,9 @@ export function fundingPlanFromOptions(o) {
782
656
  if (amount <= 0n) {
783
657
  throw new Error(`--funding-plan-json[${idx}].amount must be > 0 (got ${e.amount})`);
784
658
  }
659
+ if (amount > U64_MAX) {
660
+ throw new Error(`--funding-plan-json[${idx}].amount '${e.amount}' exceeds u64 max (${U64_MAX})`);
661
+ }
785
662
  const out = {
786
663
  kind: e.kind,
787
664
  amount,
@@ -793,6 +670,16 @@ export function fundingPlanFromOptions(o) {
793
670
  if (e.kind !== 'delegation' && e.kind !== 'operatorStake') {
794
671
  throw new Error(`--funding-plan-json[${idx}].gateway is only valid for kind 'delegation' or 'operatorStake' (got '${e.kind}')`);
795
672
  }
673
+ // The gateway is going to be used: confirm it actually decodes as a
674
+ // base58 Solana address. `address()` throws on malformed input, so a
675
+ // bad string fails the CLI here rather than deep in instruction
676
+ // building.
677
+ try {
678
+ address(e.gateway);
679
+ }
680
+ catch {
681
+ throw new Error(`--funding-plan-json[${idx}].gateway '${e.gateway}' is not a valid base58 Solana address`);
682
+ }
796
683
  out.gateway = e.gateway;
797
684
  }
798
685
  return out;
@@ -1,171 +1,23 @@
1
- /**
2
- * Copyright (C) 2022-2024 Permanent Data Solutions, Inc.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { ANT_REGISTRY_ID } from '../constants.js';
17
- import { isProcessConfiguration, isProcessIdConfiguration, } from '../types/index.js';
18
- import { createAoSigner } from '../utils/ao.js';
19
- import { AOProcess, InvalidContractConfigurationError } from './index.js';
20
- import { Logger } from './logger.js';
21
1
  export class ANTRegistry {
22
2
  static init(config) {
23
- if (config && 'backend' in config && config.backend === 'solana') {
24
- return (async () => {
25
- if ('signer' in config) {
26
- const { SolanaANTRegistryWriteable } = await import('../solana/ant-registry-writeable.js');
27
- return new SolanaANTRegistryWriteable({
28
- rpc: config.rpc,
29
- signer: config.signer,
30
- commitment: config.commitment,
31
- logger: config.logger,
32
- antProgramId: config.antProgramId,
33
- });
34
- }
35
- const { SolanaANTRegistryReadable } = await import('../solana/ant-registry-readable.js');
36
- return new SolanaANTRegistryReadable({
3
+ return (async () => {
4
+ if ('signer' in config) {
5
+ const { SolanaANTRegistryWriteable } = await import('../solana/ant-registry-writeable.js');
6
+ return new SolanaANTRegistryWriteable({
37
7
  rpc: config.rpc,
8
+ signer: config.signer,
38
9
  commitment: config.commitment,
39
10
  logger: config.logger,
40
11
  antProgramId: config.antProgramId,
41
12
  });
42
- })();
43
- }
44
- const aoConfig = config;
45
- if (aoConfig !== undefined && 'signer' in aoConfig) {
46
- return new AoANTRegistryWriteable(aoConfig);
47
- }
48
- return new AoANTRegistryReadable(aoConfig);
49
- }
50
- }
51
- export class AoANTRegistryReadable {
52
- process;
53
- hyperbeamUrl;
54
- checkHyperBeamPromise;
55
- logger;
56
- constructor(config) {
57
- this.logger = config?.logger ?? Logger.default;
58
- if (config === undefined || Object.keys(config).length === 0) {
59
- this.process = new AOProcess({
60
- processId: ANT_REGISTRY_ID,
61
- });
62
- }
63
- else if (isProcessConfiguration(config)) {
64
- this.process = config.process;
65
- }
66
- else if (isProcessIdConfiguration(config)) {
67
- this.process = new AOProcess({
68
- processId: config.processId,
69
- });
70
- }
71
- else {
72
- throw new InvalidContractConfigurationError();
73
- }
74
- if (config?.hyperbeamUrl !== undefined) {
75
- this.hyperbeamUrl = new URL(config.hyperbeamUrl).toString();
76
- this.checkHyperBeamPromise = this.checkHyperBeamCompatibility();
77
- }
78
- }
79
- /**
80
- * Check if the process is HyperBeam compatible. If so, we'll use the HyperBeam node to fetch the state.
81
- *
82
- * @returns {Promise<boolean>} True if the process is HyperBeam compatible, false otherwise.
83
- */
84
- async checkHyperBeamCompatibility() {
85
- if (this.hyperbeamUrl === undefined) {
86
- return Promise.resolve(false);
87
- }
88
- if (this.checkHyperBeamPromise !== undefined) {
89
- return this.checkHyperBeamPromise;
90
- }
91
- this.logger.debug('Checking HyperBeam compatibility');
92
- this.checkHyperBeamPromise = fetch(
93
- // use /now to force a refresh of the cache state, then compute when calling it for keys
94
- `${this.hyperbeamUrl.toString()}${this.process.processId}~process@1.0/now/cache/acl`, {
95
- method: 'HEAD',
96
- signal: AbortSignal.timeout(5000), // 5 second timeout
97
- })
98
- .then((res) => {
99
- if (res.ok) {
100
- this.logger.debug('HyperBeam compatible');
101
- return true;
102
13
  }
103
- this.logger.debug('HyperBeam not compatible');
104
- return false;
105
- })
106
- .catch((error) => {
107
- this.logger.debug('Failed to check HyperBeam compatibility', {
108
- cause: error,
14
+ const { SolanaANTRegistryReadable } = await import('../solana/ant-registry-readable.js');
15
+ return new SolanaANTRegistryReadable({
16
+ rpc: config.rpc,
17
+ commitment: config.commitment,
18
+ logger: config.logger,
19
+ antProgramId: config.antProgramId,
109
20
  });
110
- return false;
111
- });
112
- return this.checkHyperBeamPromise;
113
- }
114
- // Should we rename this to "getANTsByAddress"? seems more clear, though not same as handler name
115
- async accessControlList({ address, }) {
116
- if (await this.checkHyperBeamCompatibility()) {
117
- let retries = 0;
118
- while (retries < 3) {
119
- try {
120
- this.logger.debug('Fetching ant registry acl for address from hyperbeam', address);
121
- const res = await fetch(`${this.hyperbeamUrl?.toString()}${this.process.processId}~process@1.0/compute/cache/acl/${address}/serialize~json@1.0`);
122
- if (res.status !== 200) {
123
- this.logger.debug('Failed to fetch ant registry acl for address from hyperbeam', address, res.status, res.statusText);
124
- throw new Error(`Failed to fetch ant registry acl for address ${address}: ${res?.statusText ?? 'Unknown error'}`);
125
- }
126
- this.logger.debug('Fetched ant registry acl for address from hyperbeam', address);
127
- const json = (await res.json());
128
- return {
129
- Owned: json.Owned,
130
- Controlled: json.Controlled,
131
- };
132
- }
133
- catch (_error) {
134
- retries++;
135
- this.logger.debug('Failed to fetch ant registry acl for address from hyperbeam', address, retries);
136
- await new Promise((resolve) => setTimeout(resolve, 1000 * retries ** 2));
137
- }
138
- }
139
- }
140
- this.logger.debug('Fetching ant registry acl for address from process', address);
141
- return this.process.read({
142
- tags: [
143
- { name: 'Action', value: 'Access-Control-List' },
144
- { name: 'Address', value: address },
145
- ],
146
- });
147
- }
148
- /*
149
- * This is the same as accessControlList, but with a cleaner DX to make it clearer
150
- * that we're fetching the list of ANTs owned or controlled by an address.
151
- */
152
- async getAntsForAddress({ address, }) {
153
- return this.accessControlList({ address });
154
- }
155
- }
156
- export class AoANTRegistryWriteable extends AoANTRegistryReadable {
157
- signer;
158
- constructor({ signer, ...config }) {
159
- super(config);
160
- this.signer = createAoSigner(signer);
161
- }
162
- async register({ processId, }) {
163
- return this.process.send({
164
- tags: [
165
- { name: 'Action', value: 'Register' },
166
- { name: 'Process-Id', value: processId },
167
- ],
168
- signer: this.signer,
169
- });
21
+ })();
170
22
  }
171
23
  }