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

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 +71 -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
@@ -29,22 +29,4 @@ export function arweaveUri(txIdOrName) {
29
29
  }
30
30
  /** FQDN regex that matches the one used in the ArNS contract. */
31
31
  export const FQDN_REGEX = new RegExp('^(?:(?!-)[A-Za-z0-9-]{1,63}(?<!-)\\.)+[A-Za-z]{1,63}$');
32
- export const ARIO_DEVNET_PROCESS_ID = 'GaQrvEMKBpkjofgnBi_B3IgIDmY_XYelVLB6GcRGrHc';
33
- // backwards compatibility - TODO: remove in v2.0.0
34
- export const arioDevnetProcessId = ARIO_DEVNET_PROCESS_ID;
35
- export const ARIO_TESTNET_PROCESS_ID = 'agYcCFJtrMG6cqMuZfskIkFTGvUPddICmtQSBIoPdiA';
36
- export const ARIO_MAINNET_PROCESS_ID = 'qNvAoz0TgcH7DMg8BCVn8jF32QH5L6T29VjHxhHqqGE';
37
- export const ANT_REGISTRY_TESTNET_ID = 'RR0vheYqtsKuJCWh6xj0beE35tjaEug5cejMw9n2aa8';
38
- export const ANT_REGISTRY_ID = 'i_le_yKKPVstLTDSmkHRqf-wYphMnwB9OhleiTgMkWc';
39
- export const MARKETPLACE_CONTRACT_ID = 'wPh88ziUF4meLpHfffmgdA6IFtzmXHgdeg-epzBjkao';
40
32
  export const MARIO_PER_ARIO = 1_000_000;
41
- /**
42
- * @deprecated - use ANT.versions.getLatestANTVersion() to get latest ANT module
43
- **/
44
- export const AOS_MODULE_ID = 'nEjlSFA_8narJlVHApbczDPkMc9znSqYtqtf1iOdoxM';
45
- /**
46
- * @deprecated - use ANT.versions.getLatestANTVersion() to get latest ANT module
47
- **/
48
- export const ANT_LUA_ID = 'sOW9Sdm1yoPRrzerC5iu1nsupp4e6I-HnJyYVHzvzQo';
49
- export const AO_AUTHORITY = 'fcoN_xJeisVsPXA-trzVAuIiqO3ydLQxM-L4XbrQKzY';
50
- export const DEFAULT_SCHEDULER_ID = '_GQ33BkPtZrqxA84vM8Zk-N2aO0toNNu_C-l-rawrBA';
@@ -1,3 +1,18 @@
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
+ */
1
16
  /**
2
17
  * Solana implementation of ANT (Arweave Name Token) read interface.
3
18
  *
@@ -7,21 +22,15 @@
7
22
  * - AntControllers: list of controller pubkeys
8
23
  * - AntRecord: undername records (transactionId, ttl, priority, etc.)
9
24
  */
10
- import { address, fetchEncodedAccount, } from '@solana/kit';
25
+ import { address, fetchEncodedAccount, fetchEncodedAccounts, } from '@solana/kit';
11
26
  import bs58 from 'bs58';
12
- // AntRecordMetadata discriminator — regenerate via `yarn codegen` after IDL rebase
13
- // to expose ANT_RECORD_METADATA_DISCRIMINATOR. Until then, compute inline.
14
27
  import { createHash as __createHash } from 'crypto';
15
- import { ANT_RECORD_DISCRIMINATOR } from '@ar.io/solana-contracts/ant';
28
+ import { ANT_RECORD_DISCRIMINATOR, ANT_RECORD_METADATA_DISCRIMINATOR, decodeAntConfig, decodeAntControllers, getAntRecordDecoder, getAntRecordMetadataDecoder, } from '@ar.io/solana-contracts/ant';
16
29
  import { Logger } from '../common/logger.js';
17
30
  import { SolanaANTRegistryReadable } from './ant-registry-readable.js';
18
31
  import { ANT_CONFIG_VERSION, ARIO_ANT_PROGRAM_ID } from './constants.js';
19
- import { deserializeAntConfig, deserializeAntControllers, deserializeAntRecord, deserializeAntRecordMetadata, } from './deserialize.js';
20
- const ANT_RECORD_METADATA_DISCRIMINATOR = new Uint8Array(__createHash('sha256')
21
- .update('account:AntRecordMetadata')
22
- .digest()
23
- .subarray(0, 8));
24
32
  import { getAntConfigPDA, getAntControllersPDA, getAntRecordMetadataPDA, getAntRecordPDA, } from './pda.js';
33
+ import { withRetry } from './retry.js';
25
34
  /**
26
35
  * Solana-backed read-only client for a single ANT (Arweave Name Token).
27
36
  *
@@ -102,9 +111,9 @@ export class SolanaANTReadable {
102
111
  });
103
112
  }
104
113
  async getAccount(pda) {
105
- return fetchEncodedAccount(this.rpc, pda, {
114
+ return withRetry(() => fetchEncodedAccount(this.rpc, pda, {
106
115
  commitment: this.commitment,
107
- });
116
+ }));
108
117
  }
109
118
  // =========================================
110
119
  // Config reads
@@ -115,7 +124,17 @@ export class SolanaANTReadable {
115
124
  if (!account.exists) {
116
125
  throw new Error(`ANT config not found for ${this.processId}`);
117
126
  }
118
- return deserializeAntConfig(Buffer.from(account.data));
127
+ const decoded = decodeAntConfig(account).data;
128
+ return {
129
+ mint: decoded.mint,
130
+ name: decoded.name,
131
+ ticker: decoded.ticker,
132
+ logo: decoded.logo,
133
+ description: decoded.description,
134
+ keywords: decoded.keywords,
135
+ owner: decoded.lastKnownOwner,
136
+ version: decoded.version.major,
137
+ };
119
138
  }
120
139
  async fetchControllers() {
121
140
  const [pda] = await getAntControllersPDA(this.mint, this.antProgram);
@@ -123,7 +142,43 @@ export class SolanaANTReadable {
123
142
  if (!account.exists) {
124
143
  return { mint: this.processId, controllers: [] };
125
144
  }
126
- return deserializeAntControllers(Buffer.from(account.data));
145
+ const decoded = decodeAntControllers(account).data;
146
+ return {
147
+ mint: decoded.mint,
148
+ controllers: decoded.controllers.map((c) => c),
149
+ };
150
+ }
151
+ /**
152
+ * Fetch AntConfig + AntControllers in a single `getMultipleAccounts` round
153
+ * trip (instead of two single-account reads). Used by `getState` to shave one
154
+ * RPC per ANT — meaningful when a UI loads many ANTs.
155
+ */
156
+ async _fetchConfigAndControllers() {
157
+ const [[configPda], [controllersPda]] = await Promise.all([
158
+ getAntConfigPDA(this.mint, this.antProgram),
159
+ getAntControllersPDA(this.mint, this.antProgram),
160
+ ]);
161
+ const [configAccount, controllersAccount] = await withRetry(() => fetchEncodedAccounts(this.rpc, [configPda, controllersPda], {
162
+ commitment: this.commitment,
163
+ }));
164
+ if (!configAccount.exists) {
165
+ throw new Error(`ANT config not found for ${this.processId}`);
166
+ }
167
+ const decodedConfig = decodeAntConfig(configAccount).data;
168
+ const config = {
169
+ mint: decodedConfig.mint,
170
+ name: decodedConfig.name,
171
+ ticker: decodedConfig.ticker,
172
+ logo: decodedConfig.logo,
173
+ description: decodedConfig.description,
174
+ keywords: decodedConfig.keywords,
175
+ owner: decodedConfig.lastKnownOwner,
176
+ version: decodedConfig.version.major,
177
+ };
178
+ const controllers = controllersAccount.exists
179
+ ? decodeAntControllers(controllersAccount).data.controllers.map((c) => c)
180
+ : [];
181
+ return { config, controllers };
127
182
  }
128
183
  async getOwner(_opts) {
129
184
  const config = await this.fetchConfig();
@@ -163,30 +218,47 @@ export class SolanaANTReadable {
163
218
  getAntRecordPDA(this.mint, undername, this.antProgram),
164
219
  getAntRecordMetadataPDA(this.mint, undername, this.antProgram),
165
220
  ]);
166
- const [recordAccount, metaAccount] = await Promise.all([
167
- this.getAccount(recordPda),
168
- this.getAccount(metaPda),
169
- ]);
221
+ const [recordAccount, metaAccount] = await withRetry(() => fetchEncodedAccounts(this.rpc, [recordPda, metaPda], {
222
+ commitment: this.commitment,
223
+ }));
170
224
  if (!recordAccount.exists)
171
225
  return undefined;
172
- const record = deserializeAntRecord(Buffer.from(recordAccount.data));
226
+ const recordDecoder = getAntRecordDecoder();
227
+ const metaDecoder = getAntRecordMetadataDecoder();
228
+ const record = recordDecoder.decode(new Uint8Array(recordAccount.data));
173
229
  const meta = metaAccount.exists
174
- ? deserializeAntRecordMetadata(Buffer.from(metaAccount.data))
175
- : {};
230
+ ? metaDecoder.decode(new Uint8Array(metaAccount.data))
231
+ : undefined;
176
232
  return {
177
- transactionId: record.transactionId,
233
+ transactionId: record.target,
178
234
  targetProtocol: record.targetProtocol,
179
235
  ttlSeconds: record.ttlSeconds,
180
- priority: record.priority,
181
- owner: record.owner,
182
- displayName: meta.displayName,
183
- logo: meta.logo,
184
- description: meta.description,
185
- keywords: meta.keywords,
236
+ priority: record.priority?.__option === 'Some'
237
+ ? record.priority.value
238
+ : undefined,
239
+ owner: record.owner?.__option === 'Some'
240
+ ? record.owner.value
241
+ : undefined,
242
+ displayName: meta?.displayName?.__option === 'Some'
243
+ ? meta.displayName.value
244
+ : undefined,
245
+ logo: meta?.recordLogo?.__option === 'Some'
246
+ ? meta.recordLogo.value
247
+ : undefined,
248
+ description: meta?.recordDescription?.__option === 'Some'
249
+ ? meta.recordDescription.value
250
+ : undefined,
251
+ keywords: meta?.recordKeywords?.__option === 'Some'
252
+ ? meta.recordKeywords.value
253
+ : undefined,
186
254
  };
187
255
  }
188
- async getRecords(_opts) {
189
- // Fetch all AntRecord + AntRecordMetadata accounts for this mint in parallel.
256
+ async getRecords(opts) {
257
+ // Fetch all AntRecord accounts for this mint. AntRecordMetadata
258
+ // (displayName/logo/description/keywords) is a SECOND program scan and is
259
+ // only needed in detail/edit views, so skip it unless `includeMetadata` is
260
+ // set — halving the per-ANT request cost on list reads. See AntReadOptions.
261
+ const includeMetadata = opts?.includeMetadata === true;
190
262
  const gpaFilter = (discriminator) => [
191
263
  {
192
264
  memcmp: {
@@ -204,21 +276,25 @@ export class SolanaANTReadable {
204
276
  },
205
277
  ];
206
278
  const [recordAccounts, metaAccounts] = (await Promise.all([
207
- this.rpc
279
+ withRetry(() => this.rpc
208
280
  .getProgramAccounts(this.antProgram, {
209
281
  commitment: this.commitment,
210
282
  encoding: 'base64',
211
283
  filters: gpaFilter(bs58.encode(ANT_RECORD_DISCRIMINATOR)),
212
284
  })
213
- .send(),
214
- this.rpc
215
- .getProgramAccounts(this.antProgram, {
216
- commitment: this.commitment,
217
- encoding: 'base64',
218
- filters: gpaFilter(bs58.encode(ANT_RECORD_METADATA_DISCRIMINATOR)),
219
- })
220
- .send(),
285
+ .send()),
286
+ includeMetadata
287
+ ? withRetry(() => this.rpc
288
+ .getProgramAccounts(this.antProgram, {
289
+ commitment: this.commitment,
290
+ encoding: 'base64',
291
+ filters: gpaFilter(bs58.encode(ANT_RECORD_METADATA_DISCRIMINATOR)),
292
+ })
293
+ .send())
294
+ : Promise.resolve([]),
221
295
  ]));
296
+ const recordDecoder = getAntRecordDecoder();
297
+ const metaDecoder = getAntRecordMetadataDecoder();
222
298
  // Index metadata by undername hash for O(1) lookup.
223
299
  // AntRecordMetadata has undername_hash at offset 40 (8 disc + 32 mint).
224
300
  const metaByHash = new Map();
@@ -226,7 +302,7 @@ export class SolanaANTReadable {
226
302
  try {
227
303
  const buf = Buffer.from(account.data[0], 'base64');
228
304
  const hash = buf.subarray(40, 72).toString('hex');
229
- metaByHash.set(hash, deserializeAntRecordMetadata(buf));
305
+ metaByHash.set(hash, metaDecoder.decode(new Uint8Array(buf)));
230
306
  }
231
307
  catch {
232
308
  // Skip malformed
@@ -237,21 +313,33 @@ export class SolanaANTReadable {
237
313
  for (const { account } of recordAccounts) {
238
314
  try {
239
315
  const buf = Buffer.from(account.data[0], 'base64');
240
- const record = deserializeAntRecord(buf);
316
+ const record = recordDecoder.decode(new Uint8Array(buf));
241
317
  const hash = __createHash('sha256')
242
318
  .update(record.undername.toLowerCase())
243
319
  .digest('hex');
244
- const meta = metaByHash.get(hash) ?? {};
320
+ const meta = metaByHash.get(hash);
245
321
  result[record.undername] = {
246
- transactionId: record.transactionId,
322
+ transactionId: record.target,
247
323
  targetProtocol: record.targetProtocol,
248
324
  ttlSeconds: record.ttlSeconds,
249
- priority: record.priority,
250
- owner: record.owner,
251
- displayName: meta.displayName,
252
- logo: meta.logo,
253
- description: meta.description,
254
- keywords: meta.keywords,
325
+ priority: record.priority?.__option === 'Some'
326
+ ? record.priority.value
327
+ : undefined,
328
+ owner: record.owner?.__option === 'Some'
329
+ ? record.owner.value
330
+ : undefined,
331
+ displayName: meta?.displayName?.__option === 'Some'
332
+ ? meta.displayName.value
333
+ : undefined,
334
+ logo: meta?.recordLogo?.__option === 'Some'
335
+ ? meta.recordLogo.value
336
+ : undefined,
337
+ description: meta?.recordDescription?.__option === 'Some'
338
+ ? meta.recordDescription.value
339
+ : undefined,
340
+ keywords: meta?.recordKeywords?.__option === 'Some'
341
+ ? meta.recordKeywords.value
342
+ : undefined,
255
343
  index: index++,
256
344
  };
257
345
  }
@@ -261,6 +349,256 @@ export class SolanaANTReadable {
261
349
  }
262
350
  return result;
263
351
  }
352
+ /**
353
+ * Bulk-load lightweight {@link ANTSummary} state for many ANTs in a handful
354
+ * of `getMultipleAccounts` calls instead of `N × getState`. For each mint it
355
+ * batches AntConfig + AntControllers + the apex (`@`) AntRecord — everything a
356
+ * portfolio/names table needs. Full undername records are NOT loaded here;
357
+ * fetch them lazily per-ANT via {@link getRecords}/{@link getState} when a
358
+ * name is opened.
359
+ *
360
+ * Requests: ~`ceil(3N / 100)` calls for N mints (10 → 1, 250 → 8), versus
361
+ * ~`4N` with per-ANT `getState`. Assumes every mint is deployed under this
362
+ * instance's `antProgram` (true for the standard AR.IO ANT program).
363
+ *
364
+ * Mints whose AntConfig doesn't exist are omitted from the result.
365
+ */
366
+ async getANTSummaries(mints) {
367
+ const unique = Array.from(new Set(mints));
368
+ if (unique.length === 0)
369
+ return {};
370
+ // Derive config + controllers + apex('@') record PDAs for every mint.
371
+ const triples = await Promise.all(unique.map(async (m) => {
372
+ const mintAddr = address(m);
373
+ const [[configPda], [controllersPda], [apexPda]] = await Promise.all([
374
+ getAntConfigPDA(mintAddr, this.antProgram),
375
+ getAntControllersPDA(mintAddr, this.antProgram),
376
+ getAntRecordPDA(mintAddr, '@', this.antProgram),
377
+ ]);
378
+ return { mint: m, configPda, controllersPda, apexPda };
379
+ }));
380
+ // Batch-fetch all PDAs (3 per mint) — getMultipleAccounts caps at 100.
381
+ const allPdas = triples.flatMap((t) => [
382
+ t.configPda,
383
+ t.controllersPda,
384
+ t.apexPda,
385
+ ]);
386
+ const accounts = [];
387
+ for (let i = 0; i < allPdas.length; i += 100) {
388
+ const chunk = allPdas.slice(i, i + 100);
389
+ const res = await withRetry(() => fetchEncodedAccounts(this.rpc, chunk, { commitment: this.commitment }));
390
+ accounts.push(...res);
391
+ }
392
+ const recordDecoder = getAntRecordDecoder();
393
+ const result = {};
394
+ for (let i = 0; i < triples.length; i++) {
395
+ const { mint } = triples[i];
396
+ const configAccount = accounts[i * 3];
397
+ const controllersAccount = accounts[i * 3 + 1];
398
+ const apexAccount = accounts[i * 3 + 2];
399
+ if (!configAccount?.exists)
400
+ continue;
401
+ const config = decodeAntConfig(configAccount).data;
402
+ const controllers = controllersAccount?.exists
403
+ ? decodeAntControllers(controllersAccount).data.controllers.map((c) => c)
404
+ : [];
405
+ let apexRecord;
406
+ if (apexAccount?.exists) {
407
+ const rec = recordDecoder.decode(new Uint8Array(apexAccount.data));
408
+ apexRecord = {
409
+ transactionId: rec.target,
410
+ targetProtocol: rec.targetProtocol,
411
+ ttlSeconds: rec.ttlSeconds,
412
+ priority: rec.priority?.__option === 'Some' ? rec.priority.value : undefined,
413
+ owner: rec.owner?.__option === 'Some'
414
+ ? rec.owner.value
415
+ : undefined,
416
+ };
417
+ }
418
+ result[mint] = {
419
+ processId: mint,
420
+ name: config.name,
421
+ ticker: config.ticker,
422
+ logo: config.logo,
423
+ description: config.description,
424
+ keywords: config.keywords,
425
+ owner: config.lastKnownOwner,
426
+ controllers,
427
+ apexRecord,
428
+ };
429
+ }
430
+ return result;
431
+ }
432
+ /**
433
+ * Bulk-load FULL {@link ANTState} (including all undername records) for many
434
+ * ANTs in a handful of calls instead of `N × getState`:
435
+ * - AntConfig + AntControllers for every mint via `getMultipleAccounts`
436
+ * (chunked at 100), and
437
+ * - ALL undername records via a SINGLE program-wide `getProgramAccounts`
438
+ * scan grouped by mint (offset 8), instead of one mint-filtered scan per
439
+ * ANT.
440
+ *
441
+ * Requests: ~`ceil(2N / 100) + 1` (+1 when `includeMetadata`) regardless of
442
+ * N — e.g. 10 ANTs → 2 calls, 250 → ~6 — versus ~`2N` with per-ANT
443
+ * `getState`. The records scan reads every ANT's records program-wide (cheap
444
+ * per account, one round trip); prefer per-ANT {@link getState} when you only
445
+ * need one ANT. Mints with no AntConfig are omitted.
446
+ */
447
+ async getANTStates(mints, opts) {
448
+ const unique = Array.from(new Set(mints));
449
+ if (unique.length === 0)
450
+ return {};
451
+ // Config + controllers PDAs for every mint, batched (100 accounts/call).
452
+ const pairs = await Promise.all(unique.map(async (m) => {
453
+ const mintAddr = address(m);
454
+ const [[configPda], [controllersPda]] = await Promise.all([
455
+ getAntConfigPDA(mintAddr, this.antProgram),
456
+ getAntControllersPDA(mintAddr, this.antProgram),
457
+ ]);
458
+ return { mint: m, configPda, controllersPda };
459
+ }));
460
+ const allPdas = pairs.flatMap((p) => [p.configPda, p.controllersPda]);
461
+ const accounts = [];
462
+ for (let i = 0; i < allPdas.length; i += 100) {
463
+ const res = await withRetry(() => fetchEncodedAccounts(this.rpc, allPdas.slice(i, i + 100), {
464
+ commitment: this.commitment,
465
+ }));
466
+ accounts.push(...res);
467
+ }
468
+ const recordsByMint = await this._recordsByMint(opts?.includeMetadata === true);
469
+ const result = {};
470
+ for (let i = 0; i < pairs.length; i++) {
471
+ const { mint } = pairs[i];
472
+ const configAccount = accounts[i * 2];
473
+ const controllersAccount = accounts[i * 2 + 1];
474
+ if (!configAccount?.exists)
475
+ continue;
476
+ const config = decodeAntConfig(configAccount).data;
477
+ const controllers = controllersAccount?.exists
478
+ ? decodeAntControllers(controllersAccount).data.controllers.map((c) => c)
479
+ : [];
480
+ const sorted = recordsByMint.get(mint) ?? {};
481
+ const plainRecords = {};
482
+ for (const [key, val] of Object.entries(sorted)) {
483
+ const { index: _, ...rec } = val;
484
+ plainRecords[key] = rec;
485
+ }
486
+ const owner = config.lastKnownOwner;
487
+ result[mint] = {
488
+ Name: config.name,
489
+ Ticker: config.ticker,
490
+ Description: config.description,
491
+ Keywords: config.keywords,
492
+ Denomination: 0,
493
+ Owner: owner,
494
+ Controllers: controllers,
495
+ Records: plainRecords,
496
+ Balances: { [owner]: 1 },
497
+ Logo: config.logo,
498
+ TotalSupply: 1,
499
+ Initialized: true,
500
+ };
501
+ }
502
+ return result;
503
+ }
504
+ /**
505
+ * Group every AntRecord (+ optional metadata) in the program by mint via a
506
+ * single `getProgramAccounts` scan (the mint sits at offset 8). Used by
507
+ * {@link getANTStates} to load all ANTs' undername records in one round trip
508
+ * instead of one mint-filtered scan per ANT.
509
+ */
510
+ async _recordsByMint(includeMetadata) {
511
+ const discFilter = (discriminator) => [
512
+ {
513
+ memcmp: {
514
+ offset: 0n,
515
+ bytes: discriminator,
516
+ encoding: 'base58',
517
+ },
518
+ },
519
+ ];
520
+ const [recordAccounts, metaAccounts] = (await Promise.all([
521
+ withRetry(() => this.rpc
522
+ .getProgramAccounts(this.antProgram, {
523
+ commitment: this.commitment,
524
+ encoding: 'base64',
525
+ filters: discFilter(bs58.encode(ANT_RECORD_DISCRIMINATOR)),
526
+ })
527
+ .send()),
528
+ includeMetadata
529
+ ? withRetry(() => this.rpc
530
+ .getProgramAccounts(this.antProgram, {
531
+ commitment: this.commitment,
532
+ encoding: 'base64',
533
+ filters: discFilter(bs58.encode(ANT_RECORD_METADATA_DISCRIMINATOR)),
534
+ })
535
+ .send())
536
+ : Promise.resolve([]),
537
+ ]));
538
+ const recordDecoder = getAntRecordDecoder();
539
+ const metaDecoder = getAntRecordMetadataDecoder();
540
+ // Metadata keyed by `${mint}:${undernameHash}` (mint at 8, hash at 40).
541
+ const metaByKey = new Map();
542
+ for (const { account } of metaAccounts) {
543
+ try {
544
+ const buf = Buffer.from(account.data[0], 'base64');
545
+ const mint = bs58.encode(buf.subarray(8, 40));
546
+ const hash = buf.subarray(40, 72).toString('hex');
547
+ metaByKey.set(`${mint}:${hash}`, metaDecoder.decode(new Uint8Array(buf)));
548
+ }
549
+ catch {
550
+ // Skip malformed
551
+ }
552
+ }
553
+ const byMint = new Map();
554
+ const indexByMint = new Map();
555
+ for (const { account } of recordAccounts) {
556
+ try {
557
+ const buf = Buffer.from(account.data[0], 'base64');
558
+ const mint = bs58.encode(buf.subarray(8, 40));
559
+ const record = recordDecoder.decode(new Uint8Array(buf));
560
+ const hash = __createHash('sha256')
561
+ .update(record.undername.toLowerCase())
562
+ .digest('hex');
563
+ const meta = metaByKey.get(`${mint}:${hash}`);
564
+ const idx = indexByMint.get(mint) ?? 0;
565
+ let bucket = byMint.get(mint);
566
+ if (!bucket) {
567
+ bucket = {};
568
+ byMint.set(mint, bucket);
569
+ }
570
+ bucket[record.undername] = {
571
+ transactionId: record.target,
572
+ targetProtocol: record.targetProtocol,
573
+ ttlSeconds: record.ttlSeconds,
574
+ priority: record.priority?.__option === 'Some'
575
+ ? record.priority.value
576
+ : undefined,
577
+ owner: record.owner?.__option === 'Some'
578
+ ? record.owner.value
579
+ : undefined,
580
+ displayName: meta?.displayName?.__option === 'Some'
581
+ ? meta.displayName.value
582
+ : undefined,
583
+ logo: meta?.recordLogo?.__option === 'Some'
584
+ ? meta.recordLogo.value
585
+ : undefined,
586
+ description: meta?.recordDescription?.__option === 'Some'
587
+ ? meta.recordDescription.value
588
+ : undefined,
589
+ keywords: meta?.recordKeywords?.__option === 'Some'
590
+ ? meta.recordKeywords.value
591
+ : undefined,
592
+ index: idx,
593
+ };
594
+ indexByMint.set(mint, idx + 1);
595
+ }
596
+ catch {
597
+ // Skip malformed
598
+ }
599
+ }
600
+ return byMint;
601
+ }
264
602
  // =========================================
265
603
  // Balance reads (NFT model — owner has balance 1)
266
604
  // =========================================
@@ -275,11 +613,10 @@ export class SolanaANTReadable {
275
613
  // =========================================
276
614
  // State / Info composites
277
615
  // =========================================
278
- async getState(_opts) {
279
- const [config, controllersData, records] = await Promise.all([
280
- this.fetchConfig(),
281
- this.fetchControllers(),
282
- this.getRecords(),
616
+ async getState(opts) {
617
+ const [{ config, controllers }, records] = await Promise.all([
618
+ this._fetchConfigAndControllers(),
619
+ this.getRecords(opts),
283
620
  ]);
284
621
  // Convert SortedANTRecords to ANTRecords (strip index)
285
622
  const plainRecords = {};
@@ -294,7 +631,7 @@ export class SolanaANTReadable {
294
631
  Keywords: config.keywords,
295
632
  Denomination: 0,
296
633
  Owner: config.owner,
297
- Controllers: controllersData.controllers,
634
+ Controllers: controllers,
298
635
  Records: plainRecords,
299
636
  Balances: { [config.owner]: 1 },
300
637
  Logo: config.logo,
@@ -1,3 +1,18 @@
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
+ */
1
16
  /**
2
17
  * Copyright (C) 2022-2024 Permanent Data Solutions, Inc.
3
18
  *
@@ -1,3 +1,18 @@
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
+ */
1
16
  /**
2
17
  * Solana implementation of the ANT Registry write interface.
3
18
  *
@@ -38,7 +53,7 @@
38
53
  * registry's signer) acts as the rent payer for everything bundled here.
39
54
  */
40
55
  import { address, } from '@solana/kit';
41
- import { getAddAclPageInstruction, getCloseAclConfigInstruction, getCloseAclPageInstruction, getRecordAclControllerInstructionAsync, getRecordAclOwnerInstruction, getRegisterAclConfigInstruction, getRemoveAclControllerInstructionAsync, getRemoveAclOwnerInstruction, } from '@ar.io/solana-contracts/ant';
56
+ import { getAddAclPageInstruction, getCloseAclConfigInstruction, getCloseAclPageInstruction, getRecordAclControllerInstructionAsync, getRecordAclOwnerInstructionAsync, getRegisterAclConfigInstruction, getRemoveAclControllerInstructionAsync, getRemoveAclOwnerInstructionAsync, } from '@ar.io/solana-contracts/ant';
42
57
  import { SolanaANTRegistryReadable, } from './ant-registry-readable.js';
43
58
  import { ACL_ROLE_CONTROLLER, ACL_ROLE_OWNER, MAX_ACL_PAGE_ENTRIES, } from './constants.js';
44
59
  import { deserializeAclConfig, deserializeAclPage } from './deserialize.js';
@@ -63,7 +78,7 @@ export class SolanaANTRegistryWriteable extends SolanaANTRegistryReadable {
63
78
  * `AclConfig` is created lazily the first time a user becomes an owner
64
79
  * or controller (via `register_acl_config`, which `planAclMaintenance`
65
80
  * emits automatically). This method exists only to satisfy the
66
- * cross-backend `AoANTRegistryWrite` interface.
81
+ * cross-backend `ANTRegistryWrite` interface.
67
82
  */
68
83
  async register(_params) {
69
84
  return { id: '' };
@@ -189,7 +204,7 @@ export class SolanaANTRegistryWriteable extends SolanaANTRegistryReadable {
189
204
  const [aclConfig] = await getAclConfigPDA(params.user, this.antProgram);
190
205
  const [aclPage] = await getAclPagePDA(params.user, params.pageIdx, this.antProgram);
191
206
  if (params.role === 'owner') {
192
- return getRecordAclOwnerInstruction({ asset: params.asset, aclConfig, aclPage, payer: this.signer }, { programAddress: this.antProgram });
207
+ return getRecordAclOwnerInstructionAsync({ asset: params.asset, aclConfig, aclPage, payer: this.signer }, { programAddress: this.antProgram });
193
208
  }
194
209
  return getRecordAclControllerInstructionAsync({ asset: params.asset, aclConfig, aclPage, payer: this.signer }, { programAddress: this.antProgram });
195
210
  }
@@ -198,7 +213,7 @@ export class SolanaANTRegistryWriteable extends SolanaANTRegistryReadable {
198
213
  const [aclConfig] = await getAclConfigPDA(params.user, this.antProgram);
199
214
  const [aclPage] = await getAclPagePDA(params.user, params.pageIdx, this.antProgram);
200
215
  if (params.role === 'owner') {
201
- return getRemoveAclOwnerInstruction({ asset: params.asset, aclConfig, aclPage, payer: this.signer }, { programAddress: this.antProgram });
216
+ return getRemoveAclOwnerInstructionAsync({ asset: params.asset, aclConfig, aclPage, payer: this.signer }, { programAddress: this.antProgram });
202
217
  }
203
218
  return getRemoveAclControllerInstructionAsync({ asset: params.asset, aclConfig, aclPage, payer: this.signer }, { programAddress: this.antProgram });
204
219
  }