@ar.io/sdk 3.24.0 → 4.0.0-solana.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 (1574) hide show
  1. package/README.md +142 -0
  2. package/lib/cjs/cli/cli.js +160 -39
  3. package/lib/cjs/cli/commands/antCommands.js +40 -14
  4. package/lib/cjs/cli/commands/arnsPurchaseCommands.js +46 -6
  5. package/lib/cjs/cli/commands/escrowCommands.js +219 -0
  6. package/lib/cjs/cli/commands/gatewayWriteCommands.js +132 -22
  7. package/lib/cjs/cli/commands/readCommands.js +10 -2
  8. package/lib/cjs/cli/commands/transfer.js +6 -6
  9. package/lib/cjs/cli/options.js +112 -2
  10. package/lib/cjs/cli/utils.js +315 -38
  11. package/lib/cjs/common/ant-registry.js +58 -3
  12. package/lib/cjs/common/ant.js +83 -5
  13. package/lib/cjs/common/contracts/ao-process.js +4 -6
  14. package/lib/cjs/common/io.js +42 -1
  15. package/lib/cjs/common/marketplace.js +24 -79
  16. package/lib/cjs/constants.js +15 -2
  17. package/lib/cjs/solana/ant-readable.js +429 -0
  18. package/lib/cjs/solana/ant-registry-readable.js +122 -0
  19. package/lib/cjs/solana/ant-registry-writeable.js +461 -0
  20. package/lib/cjs/solana/ant-writeable.js +356 -0
  21. package/lib/cjs/solana/ata.js +60 -0
  22. package/lib/cjs/solana/canonical-message.js +97 -0
  23. package/lib/cjs/solana/clusters.js +65 -0
  24. package/lib/cjs/solana/constants.js +128 -0
  25. package/lib/cjs/solana/deserialize.js +1127 -0
  26. package/lib/cjs/solana/escrow.js +744 -0
  27. package/lib/cjs/solana/events.js +248 -0
  28. package/lib/cjs/solana/funding-plan.js +723 -0
  29. package/lib/cjs/solana/generated/ant/accounts/aclConfig.js +59 -0
  30. package/lib/cjs/solana/generated/ant/accounts/aclPage.js +56 -0
  31. package/lib/cjs/solana/generated/ant/accounts/antConfig.js +55 -0
  32. package/lib/cjs/solana/generated/ant/accounts/antControllers.js +55 -0
  33. package/lib/cjs/solana/generated/ant/accounts/antMigrationConfig.js +59 -0
  34. package/lib/cjs/solana/generated/ant/accounts/antRecord.js +55 -0
  35. package/lib/cjs/solana/generated/ant/accounts/antRecordMetadata.js +55 -0
  36. package/lib/cjs/solana/generated/ant/accounts/index.js +30 -0
  37. package/lib/cjs/solana/generated/ant/errors/arioAnt.js +136 -0
  38. package/lib/cjs/solana/generated/ant/errors/index.js +24 -0
  39. package/lib/cjs/solana/generated/ant/events/aclEntryAddedEvent.js +28 -0
  40. package/lib/cjs/solana/generated/ant/events/aclEntryRemovedEvent.js +28 -0
  41. package/lib/cjs/solana/generated/ant/events/antMetadataUpdatedEvent.js +28 -0
  42. package/lib/cjs/solana/generated/ant/events/antReconciledEvent.js +28 -0
  43. package/lib/cjs/solana/generated/ant/events/antTransferredEvent.js +28 -0
  44. package/lib/cjs/solana/generated/ant/events/attributesClearedEvent.js +28 -0
  45. package/lib/cjs/solana/generated/ant/events/attributesSyncedEvent.js +28 -0
  46. package/lib/cjs/solana/generated/ant/events/controllerAddedEvent.js +28 -0
  47. package/lib/cjs/solana/generated/ant/events/controllerRemovedEvent.js +28 -0
  48. package/lib/cjs/solana/generated/ant/events/index.js +32 -0
  49. package/lib/cjs/solana/generated/ant/events/recordMetadataPrunedEvent.js +28 -0
  50. package/lib/cjs/solana/generated/ant/events/recordMetadataRemovedEvent.js +28 -0
  51. package/lib/cjs/solana/generated/ant/events/recordMetadataUpdatedEvent.js +28 -0
  52. package/lib/cjs/solana/generated/ant/events/recordRemovedEvent.js +28 -0
  53. package/lib/cjs/solana/generated/ant/events/recordSetEvent.js +28 -0
  54. package/lib/cjs/solana/generated/ant/events/recordTransferredEvent.js +28 -0
  55. package/lib/cjs/solana/generated/ant/index.js +26 -0
  56. package/lib/cjs/solana/generated/ant/instructions/addAclPage.js +55 -0
  57. package/lib/cjs/solana/generated/ant/instructions/addController.js +83 -0
  58. package/lib/cjs/solana/generated/ant/instructions/clearAttributes.js +58 -0
  59. package/lib/cjs/solana/generated/ant/instructions/closeAclConfig.js +51 -0
  60. package/lib/cjs/solana/generated/ant/instructions/closeAclPage.js +51 -0
  61. package/lib/cjs/solana/generated/ant/instructions/closeOrphanedRecordMetadata.js +53 -0
  62. package/lib/cjs/solana/generated/ant/instructions/finalizeMigration.js +66 -0
  63. package/lib/cjs/solana/generated/ant/instructions/importAccount.js +77 -0
  64. package/lib/cjs/solana/generated/ant/instructions/index.js +53 -0
  65. package/lib/cjs/solana/generated/ant/instructions/initialize.js +80 -0
  66. package/lib/cjs/solana/generated/ant/instructions/initializeMigration.js +80 -0
  67. package/lib/cjs/solana/generated/ant/instructions/migrateAnt.js +73 -0
  68. package/lib/cjs/solana/generated/ant/instructions/reconcile.js +69 -0
  69. package/lib/cjs/solana/generated/ant/instructions/recordAclController.js +73 -0
  70. package/lib/cjs/solana/generated/ant/instructions/recordAclOwner.js +55 -0
  71. package/lib/cjs/solana/generated/ant/instructions/registerAclConfig.js +77 -0
  72. package/lib/cjs/solana/generated/ant/instructions/removeAclController.js +73 -0
  73. package/lib/cjs/solana/generated/ant/instructions/removeAclOwner.js +55 -0
  74. package/lib/cjs/solana/generated/ant/instructions/removeController.js +76 -0
  75. package/lib/cjs/solana/generated/ant/instructions/removeRecord.js +73 -0
  76. package/lib/cjs/solana/generated/ant/instructions/removeRecordMetadata.js +73 -0
  77. package/lib/cjs/solana/generated/ant/instructions/setDescription.js +73 -0
  78. package/lib/cjs/solana/generated/ant/instructions/setKeywords.js +73 -0
  79. package/lib/cjs/solana/generated/ant/instructions/setLogo.js +73 -0
  80. package/lib/cjs/solana/generated/ant/instructions/setName.js +73 -0
  81. package/lib/cjs/solana/generated/ant/instructions/setRecord.js +80 -0
  82. package/lib/cjs/solana/generated/ant/instructions/setRecordMetadata.js +80 -0
  83. package/lib/cjs/solana/generated/ant/instructions/setTicker.js +73 -0
  84. package/lib/cjs/solana/generated/ant/instructions/syncAttributes.js +60 -0
  85. package/lib/cjs/solana/generated/ant/instructions/transfer.js +88 -0
  86. package/lib/cjs/solana/generated/ant/instructions/transferRecord.js +73 -0
  87. package/lib/cjs/solana/generated/ant/pdas/aclConfig.js +15 -0
  88. package/lib/cjs/solana/generated/ant/pdas/antConfig.js +15 -0
  89. package/lib/cjs/solana/generated/ant/pdas/antControllers.js +15 -0
  90. package/lib/cjs/solana/generated/ant/pdas/controllerAclConfig.js +15 -0
  91. package/lib/cjs/solana/generated/ant/pdas/index.js +30 -0
  92. package/lib/cjs/solana/generated/ant/pdas/migrationConfig.js +15 -0
  93. package/lib/cjs/solana/generated/ant/pdas/newOwnerAclConfig.js +15 -0
  94. package/lib/cjs/solana/generated/ant/pdas/oldOwnerAclConfig.js +15 -0
  95. package/lib/cjs/solana/generated/ant/program-address.js +4 -0
  96. package/lib/cjs/solana/generated/ant/types/aclEntry.js +22 -0
  97. package/lib/cjs/solana/generated/ant/types/index.js +24 -0
  98. package/lib/cjs/solana/generated/ant-escrow/accounts/escrowAnt.js +59 -0
  99. package/lib/cjs/solana/generated/ant-escrow/accounts/escrowToken.js +59 -0
  100. package/lib/cjs/solana/generated/ant-escrow/accounts/index.js +25 -0
  101. package/lib/cjs/solana/generated/ant-escrow/errors/arioAntEscrow.js +69 -0
  102. package/lib/cjs/solana/generated/ant-escrow/errors/index.js +24 -0
  103. package/lib/cjs/solana/generated/ant-escrow/events/escrowCancelledEvent.js +28 -0
  104. package/lib/cjs/solana/generated/ant-escrow/events/escrowClaimedEvent.js +28 -0
  105. package/lib/cjs/solana/generated/ant-escrow/events/escrowDepositedEvent.js +28 -0
  106. package/lib/cjs/solana/generated/ant-escrow/events/escrowRecipientUpdatedEvent.js +28 -0
  107. package/lib/cjs/solana/generated/ant-escrow/events/index.js +21 -0
  108. package/lib/cjs/solana/generated/ant-escrow/index.js +26 -0
  109. package/lib/cjs/solana/generated/ant-escrow/instructions/cancelDeposit.js +58 -0
  110. package/lib/cjs/solana/generated/ant-escrow/instructions/cancelTokenDeposit.js +58 -0
  111. package/lib/cjs/solana/generated/ant-escrow/instructions/cancelVaultDeposit.js +58 -0
  112. package/lib/cjs/solana/generated/ant-escrow/instructions/claimAntArweave.js +60 -0
  113. package/lib/cjs/solana/generated/ant-escrow/instructions/claimAntEthereum.js +60 -0
  114. package/lib/cjs/solana/generated/ant-escrow/instructions/claimTokensArweave.js +60 -0
  115. package/lib/cjs/solana/generated/ant-escrow/instructions/claimTokensEthereum.js +60 -0
  116. package/lib/cjs/solana/generated/ant-escrow/instructions/claimVaultArweave.js +63 -0
  117. package/lib/cjs/solana/generated/ant-escrow/instructions/claimVaultEthereum.js +63 -0
  118. package/lib/cjs/solana/generated/ant-escrow/instructions/depositAnt.js +83 -0
  119. package/lib/cjs/solana/generated/ant-escrow/instructions/depositTokens.js +83 -0
  120. package/lib/cjs/solana/generated/ant-escrow/instructions/depositVault.js +83 -0
  121. package/lib/cjs/solana/generated/ant-escrow/instructions/index.js +38 -0
  122. package/lib/cjs/solana/generated/ant-escrow/instructions/updateRecipient.js +53 -0
  123. package/lib/cjs/solana/generated/ant-escrow/instructions/updateTokenRecipient.js +53 -0
  124. package/lib/cjs/solana/generated/ant-escrow/instructions/updateVaultRecipient.js +53 -0
  125. package/lib/cjs/solana/generated/ant-escrow/pdas/depositTokensEscrow.js +15 -0
  126. package/lib/cjs/solana/generated/ant-escrow/pdas/depositVaultEscrow.js +15 -0
  127. package/lib/cjs/solana/generated/ant-escrow/pdas/escrow.js +15 -0
  128. package/lib/cjs/solana/generated/ant-escrow/pdas/index.js +26 -0
  129. package/lib/cjs/solana/generated/ant-escrow/program-address.js +4 -0
  130. package/lib/cjs/solana/generated/arns/accounts/arnsConfig.js +59 -0
  131. package/lib/cjs/solana/generated/arns/accounts/arnsRecord.js +56 -0
  132. package/lib/cjs/solana/generated/arns/accounts/demandFactor.js +59 -0
  133. package/lib/cjs/solana/generated/arns/accounts/index.js +29 -0
  134. package/lib/cjs/solana/generated/arns/accounts/nameRegistry.js +60 -0
  135. package/lib/cjs/solana/generated/arns/accounts/reservedName.js +55 -0
  136. package/lib/cjs/solana/generated/arns/accounts/returnedName.js +55 -0
  137. package/lib/cjs/solana/generated/arns/errors/arioArns.js +121 -0
  138. package/lib/cjs/solana/generated/arns/errors/index.js +24 -0
  139. package/lib/cjs/solana/generated/arns/events/demandFactorUpdatedEvent.js +28 -0
  140. package/lib/cjs/solana/generated/arns/events/index.js +29 -0
  141. package/lib/cjs/solana/generated/arns/events/leaseExtendedEvent.js +28 -0
  142. package/lib/cjs/solana/generated/arns/events/namePurchasedEvent.js +28 -0
  143. package/lib/cjs/solana/generated/arns/events/nameReassignedEvent.js +28 -0
  144. package/lib/cjs/solana/generated/arns/events/nameReleasedEvent.js +28 -0
  145. package/lib/cjs/solana/generated/arns/events/nameReservedEvent.js +28 -0
  146. package/lib/cjs/solana/generated/arns/events/nameUnreservedEvent.js +28 -0
  147. package/lib/cjs/solana/generated/arns/events/nameUpgradedEvent.js +28 -0
  148. package/lib/cjs/solana/generated/arns/events/namesPrunedEvent.js +28 -0
  149. package/lib/cjs/solana/generated/arns/events/reservedNameClaimedEvent.js +28 -0
  150. package/lib/cjs/solana/generated/arns/events/returnedNamePurchasedEvent.js +28 -0
  151. package/lib/cjs/solana/generated/arns/events/undernameIncreasedEvent.js +28 -0
  152. package/lib/cjs/solana/generated/arns/index.js +26 -0
  153. package/lib/cjs/solana/generated/arns/instructions/buyName.js +90 -0
  154. package/lib/cjs/solana/generated/arns/instructions/buyNameFromDelegation.js +96 -0
  155. package/lib/cjs/solana/generated/arns/instructions/buyNameFromFundingPlan.js +100 -0
  156. package/lib/cjs/solana/generated/arns/instructions/buyNameFromOperatorStake.js +96 -0
  157. package/lib/cjs/solana/generated/arns/instructions/buyNameFromWithdrawal.js +96 -0
  158. package/lib/cjs/solana/generated/arns/instructions/buyReturnedName.js +90 -0
  159. package/lib/cjs/solana/generated/arns/instructions/buyReturnedNameFromDelegation.js +96 -0
  160. package/lib/cjs/solana/generated/arns/instructions/buyReturnedNameFromFundingPlan.js +100 -0
  161. package/lib/cjs/solana/generated/arns/instructions/buyReturnedNameFromOperatorStake.js +96 -0
  162. package/lib/cjs/solana/generated/arns/instructions/buyReturnedNameFromWithdrawal.js +96 -0
  163. package/lib/cjs/solana/generated/arns/instructions/claimReservedName.js +66 -0
  164. package/lib/cjs/solana/generated/arns/instructions/createNameRegistry.js +76 -0
  165. package/lib/cjs/solana/generated/arns/instructions/extendLease.js +80 -0
  166. package/lib/cjs/solana/generated/arns/instructions/extendLeaseFromDelegation.js +86 -0
  167. package/lib/cjs/solana/generated/arns/instructions/extendLeaseFromFundingPlan.js +97 -0
  168. package/lib/cjs/solana/generated/arns/instructions/extendLeaseFromOperatorStake.js +86 -0
  169. package/lib/cjs/solana/generated/arns/instructions/extendLeaseFromWithdrawal.js +86 -0
  170. package/lib/cjs/solana/generated/arns/instructions/finalizeMigration.js +66 -0
  171. package/lib/cjs/solana/generated/arns/instructions/getTokenCost.js +71 -0
  172. package/lib/cjs/solana/generated/arns/instructions/importAccount.js +77 -0
  173. package/lib/cjs/solana/generated/arns/instructions/importRegistryEntry.js +70 -0
  174. package/lib/cjs/solana/generated/arns/instructions/increaseUndernameLimit.js +86 -0
  175. package/lib/cjs/solana/generated/arns/instructions/increaseUndernameLimitFromDelegation.js +86 -0
  176. package/lib/cjs/solana/generated/arns/instructions/increaseUndernameLimitFromFundingPlan.js +97 -0
  177. package/lib/cjs/solana/generated/arns/instructions/increaseUndernameLimitFromOperatorStake.js +86 -0
  178. package/lib/cjs/solana/generated/arns/instructions/increaseUndernameLimitFromWithdrawal.js +86 -0
  179. package/lib/cjs/solana/generated/arns/instructions/index.js +64 -0
  180. package/lib/cjs/solana/generated/arns/instructions/initialize.js +83 -0
  181. package/lib/cjs/solana/generated/arns/instructions/pruneExpiredNames.js +80 -0
  182. package/lib/cjs/solana/generated/arns/instructions/pruneExpiredReservation.js +51 -0
  183. package/lib/cjs/solana/generated/arns/instructions/pruneNameToReturned.js +76 -0
  184. package/lib/cjs/solana/generated/arns/instructions/pruneReturnedNames.js +77 -0
  185. package/lib/cjs/solana/generated/arns/instructions/reassignName.js +77 -0
  186. package/lib/cjs/solana/generated/arns/instructions/releaseName.js +76 -0
  187. package/lib/cjs/solana/generated/arns/instructions/reserveName.js +77 -0
  188. package/lib/cjs/solana/generated/arns/instructions/unreserveName.js +66 -0
  189. package/lib/cjs/solana/generated/arns/instructions/updateDemandFactor.js +66 -0
  190. package/lib/cjs/solana/generated/arns/instructions/upgradeName.js +82 -0
  191. package/lib/cjs/solana/generated/arns/instructions/upgradeNameFromDelegation.js +82 -0
  192. package/lib/cjs/solana/generated/arns/instructions/upgradeNameFromFundingPlan.js +97 -0
  193. package/lib/cjs/solana/generated/arns/instructions/upgradeNameFromOperatorStake.js +82 -0
  194. package/lib/cjs/solana/generated/arns/instructions/upgradeNameFromWithdrawal.js +82 -0
  195. package/lib/cjs/solana/generated/arns/pdas/config.js +15 -0
  196. package/lib/cjs/solana/generated/arns/pdas/demandFactor.js +15 -0
  197. package/lib/cjs/solana/generated/arns/pdas/index.js +26 -0
  198. package/lib/cjs/solana/generated/arns/pdas/nameRegistry.js +15 -0
  199. package/lib/cjs/solana/generated/arns/program-address.js +4 -0
  200. package/lib/cjs/solana/generated/arns/types/buyNameParams.js +23 -0
  201. package/lib/cjs/solana/generated/arns/types/buyReturnedNameParams.js +23 -0
  202. package/lib/cjs/solana/generated/arns/types/costIntent.js +32 -0
  203. package/lib/cjs/solana/generated/arns/types/fundingSourceKind.js +39 -0
  204. package/lib/cjs/solana/generated/arns/types/fundingSourceSpec.js +23 -0
  205. package/lib/cjs/solana/generated/arns/types/index.js +30 -0
  206. package/lib/cjs/solana/generated/arns/types/nameEntry.js +22 -0
  207. package/lib/cjs/solana/generated/arns/types/purchaseType.js +29 -0
  208. package/lib/cjs/solana/generated/core/accounts/arioConfig.js +59 -0
  209. package/lib/cjs/solana/generated/core/accounts/balance.js +59 -0
  210. package/lib/cjs/solana/generated/core/accounts/index.js +30 -0
  211. package/lib/cjs/solana/generated/core/accounts/primaryName.js +55 -0
  212. package/lib/cjs/solana/generated/core/accounts/primaryNameRequest.js +55 -0
  213. package/lib/cjs/solana/generated/core/accounts/primaryNameReverse.js +55 -0
  214. package/lib/cjs/solana/generated/core/accounts/vault.js +55 -0
  215. package/lib/cjs/solana/generated/core/accounts/vaultCounter.js +59 -0
  216. package/lib/cjs/solana/generated/core/errors/arioCore.js +115 -0
  217. package/lib/cjs/solana/generated/core/errors/index.js +24 -0
  218. package/lib/cjs/solana/generated/core/events/configUpdatedEvent.js +28 -0
  219. package/lib/cjs/solana/generated/core/events/coreMigrationFinalizedEvent.js +28 -0
  220. package/lib/cjs/solana/generated/core/events/index.js +30 -0
  221. package/lib/cjs/solana/generated/core/events/primaryNameRemovedEvent.js +28 -0
  222. package/lib/cjs/solana/generated/core/events/primaryNameRequestExpiredEvent.js +28 -0
  223. package/lib/cjs/solana/generated/core/events/primaryNameRequestedEvent.js +28 -0
  224. package/lib/cjs/solana/generated/core/events/primaryNameSetEvent.js +28 -0
  225. package/lib/cjs/solana/generated/core/events/supplyFinalizedEvent.js +28 -0
  226. package/lib/cjs/solana/generated/core/events/transferEvent.js +28 -0
  227. package/lib/cjs/solana/generated/core/events/vaultCreatedEvent.js +28 -0
  228. package/lib/cjs/solana/generated/core/events/vaultExtendedEvent.js +28 -0
  229. package/lib/cjs/solana/generated/core/events/vaultIncreasedEvent.js +28 -0
  230. package/lib/cjs/solana/generated/core/events/vaultReleasedEvent.js +28 -0
  231. package/lib/cjs/solana/generated/core/events/vaultRevokedEvent.js +28 -0
  232. package/lib/cjs/solana/generated/core/index.js +26 -0
  233. package/lib/cjs/solana/generated/core/instructions/adminRepairConfig.js +70 -0
  234. package/lib/cjs/solana/generated/core/instructions/approvePrimaryName.js +80 -0
  235. package/lib/cjs/solana/generated/core/instructions/closeExpiredRequest.js +51 -0
  236. package/lib/cjs/solana/generated/core/instructions/createVault.js +86 -0
  237. package/lib/cjs/solana/generated/core/instructions/extendVault.js +70 -0
  238. package/lib/cjs/solana/generated/core/instructions/finalizeMigration.js +66 -0
  239. package/lib/cjs/solana/generated/core/instructions/finalizeSupply.js +70 -0
  240. package/lib/cjs/solana/generated/core/instructions/importAccount.js +77 -0
  241. package/lib/cjs/solana/generated/core/instructions/importBalance.js +95 -0
  242. package/lib/cjs/solana/generated/core/instructions/increaseVault.js +77 -0
  243. package/lib/cjs/solana/generated/core/instructions/index.js +45 -0
  244. package/lib/cjs/solana/generated/core/instructions/initialize.js +80 -0
  245. package/lib/cjs/solana/generated/core/instructions/releaseVault.js +73 -0
  246. package/lib/cjs/solana/generated/core/instructions/removePrimaryName.js +73 -0
  247. package/lib/cjs/solana/generated/core/instructions/removePrimaryNameForBaseName.js +73 -0
  248. package/lib/cjs/solana/generated/core/instructions/requestAndSetPrimaryName.js +89 -0
  249. package/lib/cjs/solana/generated/core/instructions/requestAndSetPrimaryNameFromFundingPlan.js +100 -0
  250. package/lib/cjs/solana/generated/core/instructions/requestPrimaryName.js +86 -0
  251. package/lib/cjs/solana/generated/core/instructions/requestPrimaryNameFromFundingPlan.js +97 -0
  252. package/lib/cjs/solana/generated/core/instructions/revokeVault.js +73 -0
  253. package/lib/cjs/solana/generated/core/instructions/transfer.js +57 -0
  254. package/lib/cjs/solana/generated/core/instructions/updateConfig.js +70 -0
  255. package/lib/cjs/solana/generated/core/instructions/vaultedTransfer.js +86 -0
  256. package/lib/cjs/solana/generated/core/pdas/balance.js +15 -0
  257. package/lib/cjs/solana/generated/core/pdas/config.js +15 -0
  258. package/lib/cjs/solana/generated/core/pdas/index.js +31 -0
  259. package/lib/cjs/solana/generated/core/pdas/primaryName.js +15 -0
  260. package/lib/cjs/solana/generated/core/pdas/primaryNameReverse.js +15 -0
  261. package/lib/cjs/solana/generated/core/pdas/recipientVaultCounter.js +15 -0
  262. package/lib/cjs/solana/generated/core/pdas/request.js +15 -0
  263. package/lib/cjs/solana/generated/core/pdas/requestAndSetPrimaryNamePrimaryName.js +15 -0
  264. package/lib/cjs/solana/generated/core/pdas/vaultCounter.js +15 -0
  265. package/lib/cjs/solana/generated/core/program-address.js +4 -0
  266. package/lib/cjs/solana/generated/core/types/fundingSourceKind.js +39 -0
  267. package/lib/cjs/solana/generated/core/types/fundingSourceSpec.js +23 -0
  268. package/lib/cjs/solana/generated/core/types/index.js +25 -0
  269. package/lib/cjs/solana/generated/gar/accounts/allowlistEntry.js +59 -0
  270. package/lib/cjs/solana/generated/gar/accounts/delegation.js +59 -0
  271. package/lib/cjs/solana/generated/gar/accounts/epoch.js +59 -0
  272. package/lib/cjs/solana/generated/gar/accounts/epochSettings.js +59 -0
  273. package/lib/cjs/solana/generated/gar/accounts/gateway.js +56 -0
  274. package/lib/cjs/solana/generated/gar/accounts/gatewayRegistry.js +60 -0
  275. package/lib/cjs/solana/generated/gar/accounts/gatewaySettings.js +59 -0
  276. package/lib/cjs/solana/generated/gar/accounts/index.js +35 -0
  277. package/lib/cjs/solana/generated/gar/accounts/observation.js +59 -0
  278. package/lib/cjs/solana/generated/gar/accounts/observerLookup.js +59 -0
  279. package/lib/cjs/solana/generated/gar/accounts/redelegationRecord.js +59 -0
  280. package/lib/cjs/solana/generated/gar/accounts/withdrawal.js +59 -0
  281. package/lib/cjs/solana/generated/gar/accounts/withdrawalCounter.js +59 -0
  282. package/lib/cjs/solana/generated/gar/errors/arioGar.js +200 -0
  283. package/lib/cjs/solana/generated/gar/errors/index.js +24 -0
  284. package/lib/cjs/solana/generated/gar/events/allowlistToggledEvent.js +28 -0
  285. package/lib/cjs/solana/generated/gar/events/delegateAllowlistedEvent.js +28 -0
  286. package/lib/cjs/solana/generated/gar/events/delegationClosedEvent.js +28 -0
  287. package/lib/cjs/solana/generated/gar/events/delegationDecreasedEvent.js +28 -0
  288. package/lib/cjs/solana/generated/gar/events/delegationEvent.js +28 -0
  289. package/lib/cjs/solana/generated/gar/events/epochClosedEvent.js +28 -0
  290. package/lib/cjs/solana/generated/gar/events/epochCreatedEvent.js +28 -0
  291. package/lib/cjs/solana/generated/gar/events/epochDistributedEvent.js +28 -0
  292. package/lib/cjs/solana/generated/gar/events/epochPrescribedEvent.js +28 -0
  293. package/lib/cjs/solana/generated/gar/events/epochWeightsTalliedEvent.js +28 -0
  294. package/lib/cjs/solana/generated/gar/events/epochsToggledEvent.js +28 -0
  295. package/lib/cjs/solana/generated/gar/events/fundingPlanAppliedEvent.js +28 -0
  296. package/lib/cjs/solana/generated/gar/events/garMigrationFinalizedEvent.js +28 -0
  297. package/lib/cjs/solana/generated/gar/events/gatewayFinalizedEvent.js +28 -0
  298. package/lib/cjs/solana/generated/gar/events/gatewayJoinedEvent.js +28 -0
  299. package/lib/cjs/solana/generated/gar/events/gatewayLeavingEvent.js +28 -0
  300. package/lib/cjs/solana/generated/gar/events/gatewayPrunedEvent.js +28 -0
  301. package/lib/cjs/solana/generated/gar/events/gatewaySettingsUpdatedEvent.js +28 -0
  302. package/lib/cjs/solana/generated/gar/events/index.js +47 -0
  303. package/lib/cjs/solana/generated/gar/events/instantWithdrawalEvent.js +28 -0
  304. package/lib/cjs/solana/generated/gar/events/observationSubmittedEvent.js +28 -0
  305. package/lib/cjs/solana/generated/gar/events/observerAddressUpdatedEvent.js +28 -0
  306. package/lib/cjs/solana/generated/gar/events/operatorStakeIncreasedEvent.js +28 -0
  307. package/lib/cjs/solana/generated/gar/events/redelegationEvent.js +28 -0
  308. package/lib/cjs/solana/generated/gar/events/residueVaultCreatedEvent.js +28 -0
  309. package/lib/cjs/solana/generated/gar/events/rewardsCompoundedEvent.js +28 -0
  310. package/lib/cjs/solana/generated/gar/events/stakePaymentEvent.js +28 -0
  311. package/lib/cjs/solana/generated/gar/events/withdrawalCancelledEvent.js +28 -0
  312. package/lib/cjs/solana/generated/gar/events/withdrawalClaimedEvent.js +28 -0
  313. package/lib/cjs/solana/generated/gar/events/withdrawalCreatedEvent.js +28 -0
  314. package/lib/cjs/solana/generated/gar/events/withdrawalPaymentEvent.js +28 -0
  315. package/lib/cjs/solana/generated/gar/index.js +26 -0
  316. package/lib/cjs/solana/generated/gar/instructions/adminRepairSettings.js +70 -0
  317. package/lib/cjs/solana/generated/gar/instructions/allowDelegate.js +76 -0
  318. package/lib/cjs/solana/generated/gar/instructions/cancelWithdrawal.js +70 -0
  319. package/lib/cjs/solana/generated/gar/instructions/claimDelegateFromLeavingGateway.js +76 -0
  320. package/lib/cjs/solana/generated/gar/instructions/claimWithdrawal.js +73 -0
  321. package/lib/cjs/solana/generated/gar/instructions/closeDrainedWithdrawal.js +51 -0
  322. package/lib/cjs/solana/generated/gar/instructions/closeEmptyDelegation.js +51 -0
  323. package/lib/cjs/solana/generated/gar/instructions/closeEpoch.js +73 -0
  324. package/lib/cjs/solana/generated/gar/instructions/closeObservation.js +70 -0
  325. package/lib/cjs/solana/generated/gar/instructions/compoundDelegationRewards.js +51 -0
  326. package/lib/cjs/solana/generated/gar/instructions/createEpoch.js +79 -0
  327. package/lib/cjs/solana/generated/gar/instructions/createGatewayRegistry.js +76 -0
  328. package/lib/cjs/solana/generated/gar/instructions/decreaseDelegateStake.js +80 -0
  329. package/lib/cjs/solana/generated/gar/instructions/decreaseOperatorStake.js +83 -0
  330. package/lib/cjs/solana/generated/gar/instructions/deductDelegationForPayment.js +77 -0
  331. package/lib/cjs/solana/generated/gar/instructions/deductOperatorStakeForPayment.js +80 -0
  332. package/lib/cjs/solana/generated/gar/instructions/deductWithdrawalForPayment.js +77 -0
  333. package/lib/cjs/solana/generated/gar/instructions/delegateStake.js +83 -0
  334. package/lib/cjs/solana/generated/gar/instructions/disallowDelegate.js +69 -0
  335. package/lib/cjs/solana/generated/gar/instructions/distributeEpoch.js +86 -0
  336. package/lib/cjs/solana/generated/gar/instructions/finalizeGone.js +69 -0
  337. package/lib/cjs/solana/generated/gar/instructions/finalizeMigration.js +66 -0
  338. package/lib/cjs/solana/generated/gar/instructions/importAccount.js +77 -0
  339. package/lib/cjs/solana/generated/gar/instructions/importRegistryEntry.js +70 -0
  340. package/lib/cjs/solana/generated/gar/instructions/increaseOperatorStake.js +80 -0
  341. package/lib/cjs/solana/generated/gar/instructions/index.js +66 -0
  342. package/lib/cjs/solana/generated/gar/instructions/initialize.js +80 -0
  343. package/lib/cjs/solana/generated/gar/instructions/initializeEpochs.js +80 -0
  344. package/lib/cjs/solana/generated/gar/instructions/instantWithdrawal.js +73 -0
  345. package/lib/cjs/solana/generated/gar/instructions/joinNetwork.js +90 -0
  346. package/lib/cjs/solana/generated/gar/instructions/leaveNetwork.js +89 -0
  347. package/lib/cjs/solana/generated/gar/instructions/migrateSettingsSetArnsProgramId.js +77 -0
  348. package/lib/cjs/solana/generated/gar/instructions/migrateSettingsSupplyCounters.js +70 -0
  349. package/lib/cjs/solana/generated/gar/instructions/payFromFundingPlan.js +91 -0
  350. package/lib/cjs/solana/generated/gar/instructions/prescribeEpoch.js +79 -0
  351. package/lib/cjs/solana/generated/gar/instructions/pruneGateway.js +89 -0
  352. package/lib/cjs/solana/generated/gar/instructions/redelegateStake.js +86 -0
  353. package/lib/cjs/solana/generated/gar/instructions/releaseTreasuryAuthority.js +77 -0
  354. package/lib/cjs/solana/generated/gar/instructions/saveObservations.js +80 -0
  355. package/lib/cjs/solana/generated/gar/instructions/setAllowlistEnabled.js +73 -0
  356. package/lib/cjs/solana/generated/gar/instructions/setEpochsEnabled.js +70 -0
  357. package/lib/cjs/solana/generated/gar/instructions/tallyWeights.js +79 -0
  358. package/lib/cjs/solana/generated/gar/instructions/updateGatewaySettings.js +74 -0
  359. package/lib/cjs/solana/generated/gar/instructions/updateObserverAddress.js +80 -0
  360. package/lib/cjs/solana/generated/gar/pdas/allowlistEntry.js +15 -0
  361. package/lib/cjs/solana/generated/gar/pdas/decreaseOperatorStakeWithdrawalCounter.js +15 -0
  362. package/lib/cjs/solana/generated/gar/pdas/epoch.js +15 -0
  363. package/lib/cjs/solana/generated/gar/pdas/epochSettings.js +15 -0
  364. package/lib/cjs/solana/generated/gar/pdas/gateway.js +15 -0
  365. package/lib/cjs/solana/generated/gar/pdas/index.js +35 -0
  366. package/lib/cjs/solana/generated/gar/pdas/newObserverLookup.js +15 -0
  367. package/lib/cjs/solana/generated/gar/pdas/observation.js +15 -0
  368. package/lib/cjs/solana/generated/gar/pdas/payFromFundingPlanWithdrawalCounter.js +15 -0
  369. package/lib/cjs/solana/generated/gar/pdas/redelegationRecord.js +15 -0
  370. package/lib/cjs/solana/generated/gar/pdas/registry.js +15 -0
  371. package/lib/cjs/solana/generated/gar/pdas/settings.js +15 -0
  372. package/lib/cjs/solana/generated/gar/pdas/withdrawalCounter.js +15 -0
  373. package/lib/cjs/solana/generated/gar/program-address.js +4 -0
  374. package/lib/cjs/solana/generated/gar/types/fundingSourceKind.js +39 -0
  375. package/lib/cjs/solana/generated/gar/types/fundingSourceSpec.js +23 -0
  376. package/lib/cjs/solana/generated/gar/types/gatewaySettings2.js +22 -0
  377. package/lib/cjs/solana/generated/gar/types/gatewaySlot.js +22 -0
  378. package/lib/cjs/solana/generated/gar/types/gatewayStats.js +22 -0
  379. package/lib/cjs/solana/generated/gar/types/gatewayStatus.js +30 -0
  380. package/lib/cjs/solana/generated/gar/types/gatewayWeights.js +22 -0
  381. package/lib/cjs/solana/generated/gar/types/index.js +32 -0
  382. package/lib/cjs/solana/generated/gar/types/protocol.js +29 -0
  383. package/lib/cjs/solana/generated/gar/types/registryIndex.js +22 -0
  384. package/lib/cjs/solana/generated/mpl-core/accounts/assetV1.js +52 -0
  385. package/lib/cjs/solana/generated/mpl-core/accounts/collectionV1.js +52 -0
  386. package/lib/cjs/solana/generated/mpl-core/accounts/hashedAssetV1.js +56 -0
  387. package/lib/cjs/solana/generated/mpl-core/accounts/index.js +28 -0
  388. package/lib/cjs/solana/generated/mpl-core/accounts/pluginHeaderV1.js +56 -0
  389. package/lib/cjs/solana/generated/mpl-core/accounts/pluginRegistryV1.js +52 -0
  390. package/lib/cjs/solana/generated/mpl-core/errors/index.js +24 -0
  391. package/lib/cjs/solana/generated/mpl-core/errors/mplCore.js +142 -0
  392. package/lib/cjs/solana/generated/mpl-core/index.js +24 -0
  393. package/lib/cjs/solana/generated/mpl-core/instructions/addCollectionExternalPluginAdapterV1.js +62 -0
  394. package/lib/cjs/solana/generated/mpl-core/instructions/addCollectionPluginV1.js +62 -0
  395. package/lib/cjs/solana/generated/mpl-core/instructions/addExternalPluginAdapterV1.js +62 -0
  396. package/lib/cjs/solana/generated/mpl-core/instructions/addPluginV1.js +62 -0
  397. package/lib/cjs/solana/generated/mpl-core/instructions/approveCollectionPluginAuthorityV1.js +62 -0
  398. package/lib/cjs/solana/generated/mpl-core/instructions/approvePluginAuthorityV1.js +62 -0
  399. package/lib/cjs/solana/generated/mpl-core/instructions/burnCollectionV1.js +58 -0
  400. package/lib/cjs/solana/generated/mpl-core/instructions/burnV1.js +58 -0
  401. package/lib/cjs/solana/generated/mpl-core/instructions/collect.js +51 -0
  402. package/lib/cjs/solana/generated/mpl-core/instructions/compressV1.js +59 -0
  403. package/lib/cjs/solana/generated/mpl-core/instructions/createCollectionV1.js +62 -0
  404. package/lib/cjs/solana/generated/mpl-core/instructions/createCollectionV2.js +62 -0
  405. package/lib/cjs/solana/generated/mpl-core/instructions/createV1.js +62 -0
  406. package/lib/cjs/solana/generated/mpl-core/instructions/createV2.js +62 -0
  407. package/lib/cjs/solana/generated/mpl-core/instructions/decompressV1.js +62 -0
  408. package/lib/cjs/solana/generated/mpl-core/instructions/executeV1.js +65 -0
  409. package/lib/cjs/solana/generated/mpl-core/instructions/index.js +56 -0
  410. package/lib/cjs/solana/generated/mpl-core/instructions/removeCollectionExternalPluginAdapterV1.js +62 -0
  411. package/lib/cjs/solana/generated/mpl-core/instructions/removeCollectionPluginV1.js +62 -0
  412. package/lib/cjs/solana/generated/mpl-core/instructions/removeExternalPluginAdapterV1.js +62 -0
  413. package/lib/cjs/solana/generated/mpl-core/instructions/removePluginV1.js +62 -0
  414. package/lib/cjs/solana/generated/mpl-core/instructions/revokeCollectionPluginAuthorityV1.js +62 -0
  415. package/lib/cjs/solana/generated/mpl-core/instructions/revokePluginAuthorityV1.js +62 -0
  416. package/lib/cjs/solana/generated/mpl-core/instructions/transferV1.js +58 -0
  417. package/lib/cjs/solana/generated/mpl-core/instructions/updateCollectionExternalPluginAdapterV1.js +62 -0
  418. package/lib/cjs/solana/generated/mpl-core/instructions/updateCollectionInfoV1.js +54 -0
  419. package/lib/cjs/solana/generated/mpl-core/instructions/updateCollectionPluginV1.js +62 -0
  420. package/lib/cjs/solana/generated/mpl-core/instructions/updateCollectionV1.js +61 -0
  421. package/lib/cjs/solana/generated/mpl-core/instructions/updateExternalPluginAdapterV1.js +62 -0
  422. package/lib/cjs/solana/generated/mpl-core/instructions/updatePluginV1.js +62 -0
  423. package/lib/cjs/solana/generated/mpl-core/instructions/updateV1.js +62 -0
  424. package/lib/cjs/solana/generated/mpl-core/instructions/updateV2.js +62 -0
  425. package/lib/cjs/solana/generated/mpl-core/instructions/writeCollectionExternalPluginAdapterDataV1.js +62 -0
  426. package/lib/cjs/solana/generated/mpl-core/instructions/writeExternalPluginAdapterDataV1.js +62 -0
  427. package/lib/cjs/solana/generated/mpl-core/program-address.js +4 -0
  428. package/lib/cjs/solana/generated/mpl-core/types/addAssetsToGroupV1Args.js +22 -0
  429. package/lib/cjs/solana/generated/mpl-core/types/addBlocker.js +22 -0
  430. package/lib/cjs/solana/generated/mpl-core/types/addCollectionsToGroupV1Args.js +22 -0
  431. package/lib/cjs/solana/generated/mpl-core/types/addGroupsToGroupV1Args.js +22 -0
  432. package/lib/cjs/solana/generated/mpl-core/types/agentIdentity.js +22 -0
  433. package/lib/cjs/solana/generated/mpl-core/types/agentIdentityInitInfo.js +23 -0
  434. package/lib/cjs/solana/generated/mpl-core/types/agentIdentityUpdateInfo.js +23 -0
  435. package/lib/cjs/solana/generated/mpl-core/types/appData.js +23 -0
  436. package/lib/cjs/solana/generated/mpl-core/types/appDataInitInfo.js +23 -0
  437. package/lib/cjs/solana/generated/mpl-core/types/appDataUpdateInfo.js +23 -0
  438. package/lib/cjs/solana/generated/mpl-core/types/attribute.js +22 -0
  439. package/lib/cjs/solana/generated/mpl-core/types/attributes.js +23 -0
  440. package/lib/cjs/solana/generated/mpl-core/types/authority.js +31 -0
  441. package/lib/cjs/solana/generated/mpl-core/types/autograph.js +23 -0
  442. package/lib/cjs/solana/generated/mpl-core/types/autographSignature.js +22 -0
  443. package/lib/cjs/solana/generated/mpl-core/types/bubblegumV2.js +22 -0
  444. package/lib/cjs/solana/generated/mpl-core/types/burnDelegate.js +22 -0
  445. package/lib/cjs/solana/generated/mpl-core/types/closeGroupV1Args.js +22 -0
  446. package/lib/cjs/solana/generated/mpl-core/types/compressionProof.js +23 -0
  447. package/lib/cjs/solana/generated/mpl-core/types/creator.js +22 -0
  448. package/lib/cjs/solana/generated/mpl-core/types/dataSection.js +23 -0
  449. package/lib/cjs/solana/generated/mpl-core/types/dataSectionInitInfo.js +23 -0
  450. package/lib/cjs/solana/generated/mpl-core/types/dataSectionUpdateInfo.js +22 -0
  451. package/lib/cjs/solana/generated/mpl-core/types/dataState.js +29 -0
  452. package/lib/cjs/solana/generated/mpl-core/types/edition.js +22 -0
  453. package/lib/cjs/solana/generated/mpl-core/types/externalCheckResult.js +22 -0
  454. package/lib/cjs/solana/generated/mpl-core/types/externalPluginAdapter.js +32 -0
  455. package/lib/cjs/solana/generated/mpl-core/types/externalPluginAdapterInitInfo.js +32 -0
  456. package/lib/cjs/solana/generated/mpl-core/types/externalPluginAdapterKey.js +32 -0
  457. package/lib/cjs/solana/generated/mpl-core/types/externalPluginAdapterSchema.js +30 -0
  458. package/lib/cjs/solana/generated/mpl-core/types/externalPluginAdapterType.js +34 -0
  459. package/lib/cjs/solana/generated/mpl-core/types/externalPluginAdapterUpdateInfo.js +32 -0
  460. package/lib/cjs/solana/generated/mpl-core/types/externalRegistryRecord.js +23 -0
  461. package/lib/cjs/solana/generated/mpl-core/types/externalValidationResult.js +30 -0
  462. package/lib/cjs/solana/generated/mpl-core/types/extraAccount.js +32 -0
  463. package/lib/cjs/solana/generated/mpl-core/types/freezeDelegate.js +22 -0
  464. package/lib/cjs/solana/generated/mpl-core/types/freezeExecute.js +22 -0
  465. package/lib/cjs/solana/generated/mpl-core/types/groups.js +22 -0
  466. package/lib/cjs/solana/generated/mpl-core/types/hashablePluginSchema.js +23 -0
  467. package/lib/cjs/solana/generated/mpl-core/types/hashedAssetSchema.js +22 -0
  468. package/lib/cjs/solana/generated/mpl-core/types/hookableLifecycleEvent.js +32 -0
  469. package/lib/cjs/solana/generated/mpl-core/types/immutableMetadata.js +22 -0
  470. package/lib/cjs/solana/generated/mpl-core/types/index.js +105 -0
  471. package/lib/cjs/solana/generated/mpl-core/types/key.js +34 -0
  472. package/lib/cjs/solana/generated/mpl-core/types/lifecycleHook.js +23 -0
  473. package/lib/cjs/solana/generated/mpl-core/types/lifecycleHookInitInfo.js +23 -0
  474. package/lib/cjs/solana/generated/mpl-core/types/lifecycleHookUpdateInfo.js +23 -0
  475. package/lib/cjs/solana/generated/mpl-core/types/linkedAppData.js +23 -0
  476. package/lib/cjs/solana/generated/mpl-core/types/linkedAppDataInitInfo.js +23 -0
  477. package/lib/cjs/solana/generated/mpl-core/types/linkedAppDataUpdateInfo.js +23 -0
  478. package/lib/cjs/solana/generated/mpl-core/types/linkedDataKey.js +32 -0
  479. package/lib/cjs/solana/generated/mpl-core/types/linkedLifecycleHook.js +23 -0
  480. package/lib/cjs/solana/generated/mpl-core/types/linkedLifecycleHookInitInfo.js +23 -0
  481. package/lib/cjs/solana/generated/mpl-core/types/linkedLifecycleHookUpdateInfo.js +23 -0
  482. package/lib/cjs/solana/generated/mpl-core/types/masterEdition.js +22 -0
  483. package/lib/cjs/solana/generated/mpl-core/types/oracle.js +23 -0
  484. package/lib/cjs/solana/generated/mpl-core/types/oracleInitInfo.js +23 -0
  485. package/lib/cjs/solana/generated/mpl-core/types/oracleUpdateInfo.js +23 -0
  486. package/lib/cjs/solana/generated/mpl-core/types/oracleValidation.js +32 -0
  487. package/lib/cjs/solana/generated/mpl-core/types/permanentBurnDelegate.js +22 -0
  488. package/lib/cjs/solana/generated/mpl-core/types/permanentFreezeDelegate.js +22 -0
  489. package/lib/cjs/solana/generated/mpl-core/types/permanentFreezeExecute.js +22 -0
  490. package/lib/cjs/solana/generated/mpl-core/types/permanentTransferDelegate.js +22 -0
  491. package/lib/cjs/solana/generated/mpl-core/types/plugin.js +32 -0
  492. package/lib/cjs/solana/generated/mpl-core/types/pluginAuthorityPair.js +23 -0
  493. package/lib/cjs/solana/generated/mpl-core/types/pluginType.js +46 -0
  494. package/lib/cjs/solana/generated/mpl-core/types/registryRecord.js +23 -0
  495. package/lib/cjs/solana/generated/mpl-core/types/relationshipKind.js +31 -0
  496. package/lib/cjs/solana/generated/mpl-core/types/removeAssetsFromGroupV1Args.js +22 -0
  497. package/lib/cjs/solana/generated/mpl-core/types/removeCollectionsFromGroupV1Args.js +22 -0
  498. package/lib/cjs/solana/generated/mpl-core/types/removeGroupsFromGroupV1Args.js +22 -0
  499. package/lib/cjs/solana/generated/mpl-core/types/royalties.js +23 -0
  500. package/lib/cjs/solana/generated/mpl-core/types/ruleSet.js +31 -0
  501. package/lib/cjs/solana/generated/mpl-core/types/seed.js +31 -0
  502. package/lib/cjs/solana/generated/mpl-core/types/transferDelegate.js +22 -0
  503. package/lib/cjs/solana/generated/mpl-core/types/updateAuthority.js +31 -0
  504. package/lib/cjs/solana/generated/mpl-core/types/updateDelegate.js +22 -0
  505. package/lib/cjs/solana/generated/mpl-core/types/updateGroupV1Args.js +22 -0
  506. package/lib/cjs/solana/generated/mpl-core/types/updateType.js +30 -0
  507. package/lib/cjs/solana/generated/mpl-core/types/validationResult.js +31 -0
  508. package/lib/cjs/solana/generated/mpl-core/types/validationResultsOffset.js +31 -0
  509. package/lib/cjs/solana/generated/mpl-core/types/verifiedCreators.js +23 -0
  510. package/lib/cjs/solana/generated/mpl-core/types/verifiedCreatorsSignature.js +22 -0
  511. package/lib/cjs/solana/index.js +180 -0
  512. package/lib/cjs/solana/instruction.js +30 -0
  513. package/lib/cjs/solana/io-readable.js +1389 -0
  514. package/lib/cjs/solana/io-writeable.js +1994 -0
  515. package/lib/cjs/solana/json-rpc.js +78 -0
  516. package/lib/cjs/solana/metadata.js +72 -0
  517. package/lib/cjs/solana/mpl-core.js +148 -0
  518. package/lib/cjs/solana/pda.js +355 -0
  519. package/lib/cjs/solana/send.js +164 -0
  520. package/lib/cjs/solana/spawn-ant.js +215 -0
  521. package/lib/cjs/solana/types.js +2 -0
  522. package/lib/cjs/types/ant.js +19 -7
  523. package/lib/cjs/types/io.js +8 -1
  524. package/lib/cjs/utils/ant.js +1 -0
  525. package/lib/cjs/utils/ao.js +1 -0
  526. package/lib/cjs/version.js +1 -1
  527. package/lib/esm/cli/cli.js +128 -40
  528. package/lib/esm/cli/commands/antCommands.js +40 -14
  529. package/lib/esm/cli/commands/arnsPurchaseCommands.js +46 -7
  530. package/lib/esm/cli/commands/escrowCommands.js +208 -0
  531. package/lib/esm/cli/commands/gatewayWriteCommands.js +132 -22
  532. package/lib/esm/cli/commands/readCommands.js +10 -2
  533. package/lib/esm/cli/commands/transfer.js +6 -6
  534. package/lib/esm/cli/options.js +112 -2
  535. package/lib/esm/cli/utils.js +280 -39
  536. package/lib/esm/common/ant-registry.js +25 -3
  537. package/lib/esm/common/ant.js +50 -5
  538. package/lib/esm/common/contracts/ao-process.js +4 -6
  539. package/lib/esm/common/io.js +41 -0
  540. package/lib/esm/common/marketplace.js +24 -79
  541. package/lib/esm/constants.js +13 -1
  542. package/lib/esm/solana/ant-readable.js +389 -0
  543. package/lib/esm/solana/ant-registry-readable.js +118 -0
  544. package/lib/esm/solana/ant-registry-writeable.js +457 -0
  545. package/lib/esm/solana/ant-writeable.js +352 -0
  546. package/lib/esm/solana/ata.js +55 -0
  547. package/lib/esm/solana/canonical-message.js +92 -0
  548. package/lib/esm/solana/clusters.js +62 -0
  549. package/lib/esm/solana/constants.js +124 -0
  550. package/lib/esm/solana/deserialize.js +1098 -0
  551. package/lib/esm/solana/escrow.js +739 -0
  552. package/lib/esm/solana/events.js +210 -0
  553. package/lib/esm/solana/funding-plan.js +682 -0
  554. package/lib/esm/solana/generated/ant/accounts/aclConfig.js +46 -0
  555. package/lib/esm/solana/generated/ant/accounts/aclPage.js +44 -0
  556. package/lib/esm/solana/generated/ant/accounts/antConfig.js +43 -0
  557. package/lib/esm/solana/generated/ant/accounts/antControllers.js +43 -0
  558. package/lib/esm/solana/generated/ant/accounts/antMigrationConfig.js +46 -0
  559. package/lib/esm/solana/generated/ant/accounts/antRecord.js +43 -0
  560. package/lib/esm/solana/generated/ant/accounts/antRecordMetadata.js +43 -0
  561. package/lib/esm/solana/generated/ant/accounts/index.js +14 -0
  562. package/lib/esm/solana/generated/ant/errors/arioAnt.js +130 -0
  563. package/lib/esm/solana/generated/ant/errors/index.js +8 -0
  564. package/lib/esm/solana/generated/ant/events/aclEntryAddedEvent.js +21 -0
  565. package/lib/esm/solana/generated/ant/events/aclEntryRemovedEvent.js +21 -0
  566. package/lib/esm/solana/generated/ant/events/antMetadataUpdatedEvent.js +21 -0
  567. package/lib/esm/solana/generated/ant/events/antReconciledEvent.js +21 -0
  568. package/lib/esm/solana/generated/ant/events/antTransferredEvent.js +21 -0
  569. package/lib/esm/solana/generated/ant/events/attributesClearedEvent.js +21 -0
  570. package/lib/esm/solana/generated/ant/events/attributesSyncedEvent.js +21 -0
  571. package/lib/esm/solana/generated/ant/events/controllerAddedEvent.js +21 -0
  572. package/lib/esm/solana/generated/ant/events/controllerRemovedEvent.js +21 -0
  573. package/lib/esm/solana/generated/ant/events/index.js +16 -0
  574. package/lib/esm/solana/generated/ant/events/recordMetadataPrunedEvent.js +21 -0
  575. package/lib/esm/solana/generated/ant/events/recordMetadataRemovedEvent.js +21 -0
  576. package/lib/esm/solana/generated/ant/events/recordMetadataUpdatedEvent.js +21 -0
  577. package/lib/esm/solana/generated/ant/events/recordRemovedEvent.js +21 -0
  578. package/lib/esm/solana/generated/ant/events/recordSetEvent.js +21 -0
  579. package/lib/esm/solana/generated/ant/events/recordTransferredEvent.js +21 -0
  580. package/lib/esm/solana/generated/ant/index.js +10 -0
  581. package/lib/esm/solana/generated/ant/instructions/addAclPage.js +46 -0
  582. package/lib/esm/solana/generated/ant/instructions/addController.js +73 -0
  583. package/lib/esm/solana/generated/ant/instructions/clearAttributes.js +49 -0
  584. package/lib/esm/solana/generated/ant/instructions/closeAclConfig.js +42 -0
  585. package/lib/esm/solana/generated/ant/instructions/closeAclPage.js +42 -0
  586. package/lib/esm/solana/generated/ant/instructions/closeOrphanedRecordMetadata.js +44 -0
  587. package/lib/esm/solana/generated/ant/instructions/finalizeMigration.js +56 -0
  588. package/lib/esm/solana/generated/ant/instructions/importAccount.js +67 -0
  589. package/lib/esm/solana/generated/ant/instructions/index.js +37 -0
  590. package/lib/esm/solana/generated/ant/instructions/initialize.js +70 -0
  591. package/lib/esm/solana/generated/ant/instructions/initializeMigration.js +70 -0
  592. package/lib/esm/solana/generated/ant/instructions/migrateAnt.js +63 -0
  593. package/lib/esm/solana/generated/ant/instructions/reconcile.js +59 -0
  594. package/lib/esm/solana/generated/ant/instructions/recordAclController.js +63 -0
  595. package/lib/esm/solana/generated/ant/instructions/recordAclOwner.js +46 -0
  596. package/lib/esm/solana/generated/ant/instructions/registerAclConfig.js +67 -0
  597. package/lib/esm/solana/generated/ant/instructions/removeAclController.js +63 -0
  598. package/lib/esm/solana/generated/ant/instructions/removeAclOwner.js +46 -0
  599. package/lib/esm/solana/generated/ant/instructions/removeController.js +66 -0
  600. package/lib/esm/solana/generated/ant/instructions/removeRecord.js +63 -0
  601. package/lib/esm/solana/generated/ant/instructions/removeRecordMetadata.js +63 -0
  602. package/lib/esm/solana/generated/ant/instructions/setDescription.js +63 -0
  603. package/lib/esm/solana/generated/ant/instructions/setKeywords.js +63 -0
  604. package/lib/esm/solana/generated/ant/instructions/setLogo.js +63 -0
  605. package/lib/esm/solana/generated/ant/instructions/setName.js +63 -0
  606. package/lib/esm/solana/generated/ant/instructions/setRecord.js +70 -0
  607. package/lib/esm/solana/generated/ant/instructions/setRecordMetadata.js +70 -0
  608. package/lib/esm/solana/generated/ant/instructions/setTicker.js +63 -0
  609. package/lib/esm/solana/generated/ant/instructions/syncAttributes.js +51 -0
  610. package/lib/esm/solana/generated/ant/instructions/transfer.js +78 -0
  611. package/lib/esm/solana/generated/ant/instructions/transferRecord.js +63 -0
  612. package/lib/esm/solana/generated/ant/pdas/aclConfig.js +12 -0
  613. package/lib/esm/solana/generated/ant/pdas/antConfig.js +12 -0
  614. package/lib/esm/solana/generated/ant/pdas/antControllers.js +12 -0
  615. package/lib/esm/solana/generated/ant/pdas/controllerAclConfig.js +12 -0
  616. package/lib/esm/solana/generated/ant/pdas/index.js +14 -0
  617. package/lib/esm/solana/generated/ant/pdas/migrationConfig.js +12 -0
  618. package/lib/esm/solana/generated/ant/pdas/newOwnerAclConfig.js +12 -0
  619. package/lib/esm/solana/generated/ant/pdas/oldOwnerAclConfig.js +12 -0
  620. package/lib/esm/solana/generated/ant/program-address.js +1 -0
  621. package/lib/esm/solana/generated/ant/types/aclEntry.js +17 -0
  622. package/lib/esm/solana/generated/ant/types/index.js +8 -0
  623. package/lib/esm/solana/generated/ant-escrow/accounts/escrowAnt.js +46 -0
  624. package/lib/esm/solana/generated/ant-escrow/accounts/escrowToken.js +46 -0
  625. package/lib/esm/solana/generated/ant-escrow/accounts/index.js +9 -0
  626. package/lib/esm/solana/generated/ant-escrow/errors/arioAntEscrow.js +64 -0
  627. package/lib/esm/solana/generated/ant-escrow/errors/index.js +8 -0
  628. package/lib/esm/solana/generated/ant-escrow/events/escrowCancelledEvent.js +21 -0
  629. package/lib/esm/solana/generated/ant-escrow/events/escrowClaimedEvent.js +21 -0
  630. package/lib/esm/solana/generated/ant-escrow/events/escrowDepositedEvent.js +21 -0
  631. package/lib/esm/solana/generated/ant-escrow/events/escrowRecipientUpdatedEvent.js +21 -0
  632. package/lib/esm/solana/generated/ant-escrow/events/index.js +5 -0
  633. package/lib/esm/solana/generated/ant-escrow/index.js +10 -0
  634. package/lib/esm/solana/generated/ant-escrow/instructions/cancelDeposit.js +49 -0
  635. package/lib/esm/solana/generated/ant-escrow/instructions/cancelTokenDeposit.js +49 -0
  636. package/lib/esm/solana/generated/ant-escrow/instructions/cancelVaultDeposit.js +49 -0
  637. package/lib/esm/solana/generated/ant-escrow/instructions/claimAntArweave.js +51 -0
  638. package/lib/esm/solana/generated/ant-escrow/instructions/claimAntEthereum.js +51 -0
  639. package/lib/esm/solana/generated/ant-escrow/instructions/claimTokensArweave.js +51 -0
  640. package/lib/esm/solana/generated/ant-escrow/instructions/claimTokensEthereum.js +51 -0
  641. package/lib/esm/solana/generated/ant-escrow/instructions/claimVaultArweave.js +54 -0
  642. package/lib/esm/solana/generated/ant-escrow/instructions/claimVaultEthereum.js +54 -0
  643. package/lib/esm/solana/generated/ant-escrow/instructions/depositAnt.js +73 -0
  644. package/lib/esm/solana/generated/ant-escrow/instructions/depositTokens.js +73 -0
  645. package/lib/esm/solana/generated/ant-escrow/instructions/depositVault.js +73 -0
  646. package/lib/esm/solana/generated/ant-escrow/instructions/index.js +22 -0
  647. package/lib/esm/solana/generated/ant-escrow/instructions/updateRecipient.js +44 -0
  648. package/lib/esm/solana/generated/ant-escrow/instructions/updateTokenRecipient.js +44 -0
  649. package/lib/esm/solana/generated/ant-escrow/instructions/updateVaultRecipient.js +44 -0
  650. package/lib/esm/solana/generated/ant-escrow/pdas/depositTokensEscrow.js +12 -0
  651. package/lib/esm/solana/generated/ant-escrow/pdas/depositVaultEscrow.js +12 -0
  652. package/lib/esm/solana/generated/ant-escrow/pdas/escrow.js +12 -0
  653. package/lib/esm/solana/generated/ant-escrow/pdas/index.js +10 -0
  654. package/lib/esm/solana/generated/ant-escrow/program-address.js +1 -0
  655. package/lib/esm/solana/generated/arns/accounts/arnsConfig.js +46 -0
  656. package/lib/esm/solana/generated/arns/accounts/arnsRecord.js +44 -0
  657. package/lib/esm/solana/generated/arns/accounts/demandFactor.js +46 -0
  658. package/lib/esm/solana/generated/arns/accounts/index.js +13 -0
  659. package/lib/esm/solana/generated/arns/accounts/nameRegistry.js +47 -0
  660. package/lib/esm/solana/generated/arns/accounts/reservedName.js +43 -0
  661. package/lib/esm/solana/generated/arns/accounts/returnedName.js +43 -0
  662. package/lib/esm/solana/generated/arns/errors/arioArns.js +116 -0
  663. package/lib/esm/solana/generated/arns/errors/index.js +8 -0
  664. package/lib/esm/solana/generated/arns/events/demandFactorUpdatedEvent.js +21 -0
  665. package/lib/esm/solana/generated/arns/events/index.js +13 -0
  666. package/lib/esm/solana/generated/arns/events/leaseExtendedEvent.js +21 -0
  667. package/lib/esm/solana/generated/arns/events/namePurchasedEvent.js +21 -0
  668. package/lib/esm/solana/generated/arns/events/nameReassignedEvent.js +21 -0
  669. package/lib/esm/solana/generated/arns/events/nameReleasedEvent.js +21 -0
  670. package/lib/esm/solana/generated/arns/events/nameReservedEvent.js +21 -0
  671. package/lib/esm/solana/generated/arns/events/nameUnreservedEvent.js +21 -0
  672. package/lib/esm/solana/generated/arns/events/nameUpgradedEvent.js +21 -0
  673. package/lib/esm/solana/generated/arns/events/namesPrunedEvent.js +21 -0
  674. package/lib/esm/solana/generated/arns/events/reservedNameClaimedEvent.js +21 -0
  675. package/lib/esm/solana/generated/arns/events/returnedNamePurchasedEvent.js +21 -0
  676. package/lib/esm/solana/generated/arns/events/undernameIncreasedEvent.js +21 -0
  677. package/lib/esm/solana/generated/arns/index.js +10 -0
  678. package/lib/esm/solana/generated/arns/instructions/buyName.js +80 -0
  679. package/lib/esm/solana/generated/arns/instructions/buyNameFromDelegation.js +86 -0
  680. package/lib/esm/solana/generated/arns/instructions/buyNameFromFundingPlan.js +90 -0
  681. package/lib/esm/solana/generated/arns/instructions/buyNameFromOperatorStake.js +86 -0
  682. package/lib/esm/solana/generated/arns/instructions/buyNameFromWithdrawal.js +86 -0
  683. package/lib/esm/solana/generated/arns/instructions/buyReturnedName.js +80 -0
  684. package/lib/esm/solana/generated/arns/instructions/buyReturnedNameFromDelegation.js +86 -0
  685. package/lib/esm/solana/generated/arns/instructions/buyReturnedNameFromFundingPlan.js +90 -0
  686. package/lib/esm/solana/generated/arns/instructions/buyReturnedNameFromOperatorStake.js +86 -0
  687. package/lib/esm/solana/generated/arns/instructions/buyReturnedNameFromWithdrawal.js +86 -0
  688. package/lib/esm/solana/generated/arns/instructions/claimReservedName.js +56 -0
  689. package/lib/esm/solana/generated/arns/instructions/createNameRegistry.js +66 -0
  690. package/lib/esm/solana/generated/arns/instructions/extendLease.js +70 -0
  691. package/lib/esm/solana/generated/arns/instructions/extendLeaseFromDelegation.js +76 -0
  692. package/lib/esm/solana/generated/arns/instructions/extendLeaseFromFundingPlan.js +87 -0
  693. package/lib/esm/solana/generated/arns/instructions/extendLeaseFromOperatorStake.js +76 -0
  694. package/lib/esm/solana/generated/arns/instructions/extendLeaseFromWithdrawal.js +76 -0
  695. package/lib/esm/solana/generated/arns/instructions/finalizeMigration.js +56 -0
  696. package/lib/esm/solana/generated/arns/instructions/getTokenCost.js +61 -0
  697. package/lib/esm/solana/generated/arns/instructions/importAccount.js +67 -0
  698. package/lib/esm/solana/generated/arns/instructions/importRegistryEntry.js +60 -0
  699. package/lib/esm/solana/generated/arns/instructions/increaseUndernameLimit.js +76 -0
  700. package/lib/esm/solana/generated/arns/instructions/increaseUndernameLimitFromDelegation.js +76 -0
  701. package/lib/esm/solana/generated/arns/instructions/increaseUndernameLimitFromFundingPlan.js +87 -0
  702. package/lib/esm/solana/generated/arns/instructions/increaseUndernameLimitFromOperatorStake.js +76 -0
  703. package/lib/esm/solana/generated/arns/instructions/increaseUndernameLimitFromWithdrawal.js +76 -0
  704. package/lib/esm/solana/generated/arns/instructions/index.js +48 -0
  705. package/lib/esm/solana/generated/arns/instructions/initialize.js +73 -0
  706. package/lib/esm/solana/generated/arns/instructions/pruneExpiredNames.js +70 -0
  707. package/lib/esm/solana/generated/arns/instructions/pruneExpiredReservation.js +42 -0
  708. package/lib/esm/solana/generated/arns/instructions/pruneNameToReturned.js +66 -0
  709. package/lib/esm/solana/generated/arns/instructions/pruneReturnedNames.js +67 -0
  710. package/lib/esm/solana/generated/arns/instructions/reassignName.js +67 -0
  711. package/lib/esm/solana/generated/arns/instructions/releaseName.js +66 -0
  712. package/lib/esm/solana/generated/arns/instructions/reserveName.js +67 -0
  713. package/lib/esm/solana/generated/arns/instructions/unreserveName.js +56 -0
  714. package/lib/esm/solana/generated/arns/instructions/updateDemandFactor.js +56 -0
  715. package/lib/esm/solana/generated/arns/instructions/upgradeName.js +72 -0
  716. package/lib/esm/solana/generated/arns/instructions/upgradeNameFromDelegation.js +72 -0
  717. package/lib/esm/solana/generated/arns/instructions/upgradeNameFromFundingPlan.js +87 -0
  718. package/lib/esm/solana/generated/arns/instructions/upgradeNameFromOperatorStake.js +72 -0
  719. package/lib/esm/solana/generated/arns/instructions/upgradeNameFromWithdrawal.js +72 -0
  720. package/lib/esm/solana/generated/arns/pdas/config.js +12 -0
  721. package/lib/esm/solana/generated/arns/pdas/demandFactor.js +12 -0
  722. package/lib/esm/solana/generated/arns/pdas/index.js +10 -0
  723. package/lib/esm/solana/generated/arns/pdas/nameRegistry.js +12 -0
  724. package/lib/esm/solana/generated/arns/program-address.js +1 -0
  725. package/lib/esm/solana/generated/arns/types/buyNameParams.js +18 -0
  726. package/lib/esm/solana/generated/arns/types/buyReturnedNameParams.js +18 -0
  727. package/lib/esm/solana/generated/arns/types/costIntent.js +26 -0
  728. package/lib/esm/solana/generated/arns/types/fundingSourceKind.js +33 -0
  729. package/lib/esm/solana/generated/arns/types/fundingSourceSpec.js +18 -0
  730. package/lib/esm/solana/generated/arns/types/index.js +14 -0
  731. package/lib/esm/solana/generated/arns/types/nameEntry.js +17 -0
  732. package/lib/esm/solana/generated/arns/types/purchaseType.js +23 -0
  733. package/lib/esm/solana/generated/core/accounts/arioConfig.js +46 -0
  734. package/lib/esm/solana/generated/core/accounts/balance.js +46 -0
  735. package/lib/esm/solana/generated/core/accounts/index.js +14 -0
  736. package/lib/esm/solana/generated/core/accounts/primaryName.js +43 -0
  737. package/lib/esm/solana/generated/core/accounts/primaryNameRequest.js +43 -0
  738. package/lib/esm/solana/generated/core/accounts/primaryNameReverse.js +43 -0
  739. package/lib/esm/solana/generated/core/accounts/vault.js +43 -0
  740. package/lib/esm/solana/generated/core/accounts/vaultCounter.js +46 -0
  741. package/lib/esm/solana/generated/core/errors/arioCore.js +110 -0
  742. package/lib/esm/solana/generated/core/errors/index.js +8 -0
  743. package/lib/esm/solana/generated/core/events/configUpdatedEvent.js +21 -0
  744. package/lib/esm/solana/generated/core/events/coreMigrationFinalizedEvent.js +21 -0
  745. package/lib/esm/solana/generated/core/events/index.js +14 -0
  746. package/lib/esm/solana/generated/core/events/primaryNameRemovedEvent.js +21 -0
  747. package/lib/esm/solana/generated/core/events/primaryNameRequestExpiredEvent.js +21 -0
  748. package/lib/esm/solana/generated/core/events/primaryNameRequestedEvent.js +21 -0
  749. package/lib/esm/solana/generated/core/events/primaryNameSetEvent.js +21 -0
  750. package/lib/esm/solana/generated/core/events/supplyFinalizedEvent.js +21 -0
  751. package/lib/esm/solana/generated/core/events/transferEvent.js +21 -0
  752. package/lib/esm/solana/generated/core/events/vaultCreatedEvent.js +21 -0
  753. package/lib/esm/solana/generated/core/events/vaultExtendedEvent.js +21 -0
  754. package/lib/esm/solana/generated/core/events/vaultIncreasedEvent.js +21 -0
  755. package/lib/esm/solana/generated/core/events/vaultReleasedEvent.js +21 -0
  756. package/lib/esm/solana/generated/core/events/vaultRevokedEvent.js +21 -0
  757. package/lib/esm/solana/generated/core/index.js +10 -0
  758. package/lib/esm/solana/generated/core/instructions/adminRepairConfig.js +60 -0
  759. package/lib/esm/solana/generated/core/instructions/approvePrimaryName.js +70 -0
  760. package/lib/esm/solana/generated/core/instructions/closeExpiredRequest.js +42 -0
  761. package/lib/esm/solana/generated/core/instructions/createVault.js +76 -0
  762. package/lib/esm/solana/generated/core/instructions/extendVault.js +60 -0
  763. package/lib/esm/solana/generated/core/instructions/finalizeMigration.js +56 -0
  764. package/lib/esm/solana/generated/core/instructions/finalizeSupply.js +60 -0
  765. package/lib/esm/solana/generated/core/instructions/importAccount.js +67 -0
  766. package/lib/esm/solana/generated/core/instructions/importBalance.js +85 -0
  767. package/lib/esm/solana/generated/core/instructions/increaseVault.js +67 -0
  768. package/lib/esm/solana/generated/core/instructions/index.js +29 -0
  769. package/lib/esm/solana/generated/core/instructions/initialize.js +70 -0
  770. package/lib/esm/solana/generated/core/instructions/releaseVault.js +63 -0
  771. package/lib/esm/solana/generated/core/instructions/removePrimaryName.js +63 -0
  772. package/lib/esm/solana/generated/core/instructions/removePrimaryNameForBaseName.js +63 -0
  773. package/lib/esm/solana/generated/core/instructions/requestAndSetPrimaryName.js +79 -0
  774. package/lib/esm/solana/generated/core/instructions/requestAndSetPrimaryNameFromFundingPlan.js +90 -0
  775. package/lib/esm/solana/generated/core/instructions/requestPrimaryName.js +76 -0
  776. package/lib/esm/solana/generated/core/instructions/requestPrimaryNameFromFundingPlan.js +87 -0
  777. package/lib/esm/solana/generated/core/instructions/revokeVault.js +63 -0
  778. package/lib/esm/solana/generated/core/instructions/transfer.js +48 -0
  779. package/lib/esm/solana/generated/core/instructions/updateConfig.js +60 -0
  780. package/lib/esm/solana/generated/core/instructions/vaultedTransfer.js +76 -0
  781. package/lib/esm/solana/generated/core/pdas/balance.js +12 -0
  782. package/lib/esm/solana/generated/core/pdas/config.js +12 -0
  783. package/lib/esm/solana/generated/core/pdas/index.js +15 -0
  784. package/lib/esm/solana/generated/core/pdas/primaryName.js +12 -0
  785. package/lib/esm/solana/generated/core/pdas/primaryNameReverse.js +12 -0
  786. package/lib/esm/solana/generated/core/pdas/recipientVaultCounter.js +12 -0
  787. package/lib/esm/solana/generated/core/pdas/request.js +12 -0
  788. package/lib/esm/solana/generated/core/pdas/requestAndSetPrimaryNamePrimaryName.js +12 -0
  789. package/lib/esm/solana/generated/core/pdas/vaultCounter.js +12 -0
  790. package/lib/esm/solana/generated/core/program-address.js +1 -0
  791. package/lib/esm/solana/generated/core/types/fundingSourceKind.js +33 -0
  792. package/lib/esm/solana/generated/core/types/fundingSourceSpec.js +18 -0
  793. package/lib/esm/solana/generated/core/types/index.js +9 -0
  794. package/lib/esm/solana/generated/gar/accounts/allowlistEntry.js +46 -0
  795. package/lib/esm/solana/generated/gar/accounts/delegation.js +46 -0
  796. package/lib/esm/solana/generated/gar/accounts/epoch.js +46 -0
  797. package/lib/esm/solana/generated/gar/accounts/epochSettings.js +46 -0
  798. package/lib/esm/solana/generated/gar/accounts/gateway.js +44 -0
  799. package/lib/esm/solana/generated/gar/accounts/gatewayRegistry.js +47 -0
  800. package/lib/esm/solana/generated/gar/accounts/gatewaySettings.js +46 -0
  801. package/lib/esm/solana/generated/gar/accounts/index.js +19 -0
  802. package/lib/esm/solana/generated/gar/accounts/observation.js +46 -0
  803. package/lib/esm/solana/generated/gar/accounts/observerLookup.js +46 -0
  804. package/lib/esm/solana/generated/gar/accounts/redelegationRecord.js +46 -0
  805. package/lib/esm/solana/generated/gar/accounts/withdrawal.js +46 -0
  806. package/lib/esm/solana/generated/gar/accounts/withdrawalCounter.js +46 -0
  807. package/lib/esm/solana/generated/gar/errors/arioGar.js +194 -0
  808. package/lib/esm/solana/generated/gar/errors/index.js +8 -0
  809. package/lib/esm/solana/generated/gar/events/allowlistToggledEvent.js +21 -0
  810. package/lib/esm/solana/generated/gar/events/delegateAllowlistedEvent.js +21 -0
  811. package/lib/esm/solana/generated/gar/events/delegationClosedEvent.js +21 -0
  812. package/lib/esm/solana/generated/gar/events/delegationDecreasedEvent.js +21 -0
  813. package/lib/esm/solana/generated/gar/events/delegationEvent.js +21 -0
  814. package/lib/esm/solana/generated/gar/events/epochClosedEvent.js +21 -0
  815. package/lib/esm/solana/generated/gar/events/epochCreatedEvent.js +21 -0
  816. package/lib/esm/solana/generated/gar/events/epochDistributedEvent.js +21 -0
  817. package/lib/esm/solana/generated/gar/events/epochPrescribedEvent.js +21 -0
  818. package/lib/esm/solana/generated/gar/events/epochWeightsTalliedEvent.js +21 -0
  819. package/lib/esm/solana/generated/gar/events/epochsToggledEvent.js +21 -0
  820. package/lib/esm/solana/generated/gar/events/fundingPlanAppliedEvent.js +21 -0
  821. package/lib/esm/solana/generated/gar/events/garMigrationFinalizedEvent.js +21 -0
  822. package/lib/esm/solana/generated/gar/events/gatewayFinalizedEvent.js +21 -0
  823. package/lib/esm/solana/generated/gar/events/gatewayJoinedEvent.js +21 -0
  824. package/lib/esm/solana/generated/gar/events/gatewayLeavingEvent.js +21 -0
  825. package/lib/esm/solana/generated/gar/events/gatewayPrunedEvent.js +21 -0
  826. package/lib/esm/solana/generated/gar/events/gatewaySettingsUpdatedEvent.js +21 -0
  827. package/lib/esm/solana/generated/gar/events/index.js +31 -0
  828. package/lib/esm/solana/generated/gar/events/instantWithdrawalEvent.js +21 -0
  829. package/lib/esm/solana/generated/gar/events/observationSubmittedEvent.js +21 -0
  830. package/lib/esm/solana/generated/gar/events/observerAddressUpdatedEvent.js +21 -0
  831. package/lib/esm/solana/generated/gar/events/operatorStakeIncreasedEvent.js +21 -0
  832. package/lib/esm/solana/generated/gar/events/redelegationEvent.js +21 -0
  833. package/lib/esm/solana/generated/gar/events/residueVaultCreatedEvent.js +21 -0
  834. package/lib/esm/solana/generated/gar/events/rewardsCompoundedEvent.js +21 -0
  835. package/lib/esm/solana/generated/gar/events/stakePaymentEvent.js +21 -0
  836. package/lib/esm/solana/generated/gar/events/withdrawalCancelledEvent.js +21 -0
  837. package/lib/esm/solana/generated/gar/events/withdrawalClaimedEvent.js +21 -0
  838. package/lib/esm/solana/generated/gar/events/withdrawalCreatedEvent.js +21 -0
  839. package/lib/esm/solana/generated/gar/events/withdrawalPaymentEvent.js +21 -0
  840. package/lib/esm/solana/generated/gar/index.js +10 -0
  841. package/lib/esm/solana/generated/gar/instructions/adminRepairSettings.js +60 -0
  842. package/lib/esm/solana/generated/gar/instructions/allowDelegate.js +66 -0
  843. package/lib/esm/solana/generated/gar/instructions/cancelWithdrawal.js +60 -0
  844. package/lib/esm/solana/generated/gar/instructions/claimDelegateFromLeavingGateway.js +66 -0
  845. package/lib/esm/solana/generated/gar/instructions/claimWithdrawal.js +63 -0
  846. package/lib/esm/solana/generated/gar/instructions/closeDrainedWithdrawal.js +42 -0
  847. package/lib/esm/solana/generated/gar/instructions/closeEmptyDelegation.js +42 -0
  848. package/lib/esm/solana/generated/gar/instructions/closeEpoch.js +63 -0
  849. package/lib/esm/solana/generated/gar/instructions/closeObservation.js +60 -0
  850. package/lib/esm/solana/generated/gar/instructions/compoundDelegationRewards.js +42 -0
  851. package/lib/esm/solana/generated/gar/instructions/createEpoch.js +69 -0
  852. package/lib/esm/solana/generated/gar/instructions/createGatewayRegistry.js +66 -0
  853. package/lib/esm/solana/generated/gar/instructions/decreaseDelegateStake.js +70 -0
  854. package/lib/esm/solana/generated/gar/instructions/decreaseOperatorStake.js +73 -0
  855. package/lib/esm/solana/generated/gar/instructions/deductDelegationForPayment.js +67 -0
  856. package/lib/esm/solana/generated/gar/instructions/deductOperatorStakeForPayment.js +70 -0
  857. package/lib/esm/solana/generated/gar/instructions/deductWithdrawalForPayment.js +67 -0
  858. package/lib/esm/solana/generated/gar/instructions/delegateStake.js +73 -0
  859. package/lib/esm/solana/generated/gar/instructions/disallowDelegate.js +59 -0
  860. package/lib/esm/solana/generated/gar/instructions/distributeEpoch.js +76 -0
  861. package/lib/esm/solana/generated/gar/instructions/finalizeGone.js +59 -0
  862. package/lib/esm/solana/generated/gar/instructions/finalizeMigration.js +56 -0
  863. package/lib/esm/solana/generated/gar/instructions/importAccount.js +67 -0
  864. package/lib/esm/solana/generated/gar/instructions/importRegistryEntry.js +60 -0
  865. package/lib/esm/solana/generated/gar/instructions/increaseOperatorStake.js +70 -0
  866. package/lib/esm/solana/generated/gar/instructions/index.js +50 -0
  867. package/lib/esm/solana/generated/gar/instructions/initialize.js +70 -0
  868. package/lib/esm/solana/generated/gar/instructions/initializeEpochs.js +70 -0
  869. package/lib/esm/solana/generated/gar/instructions/instantWithdrawal.js +63 -0
  870. package/lib/esm/solana/generated/gar/instructions/joinNetwork.js +80 -0
  871. package/lib/esm/solana/generated/gar/instructions/leaveNetwork.js +79 -0
  872. package/lib/esm/solana/generated/gar/instructions/migrateSettingsSetArnsProgramId.js +67 -0
  873. package/lib/esm/solana/generated/gar/instructions/migrateSettingsSupplyCounters.js +60 -0
  874. package/lib/esm/solana/generated/gar/instructions/payFromFundingPlan.js +81 -0
  875. package/lib/esm/solana/generated/gar/instructions/prescribeEpoch.js +69 -0
  876. package/lib/esm/solana/generated/gar/instructions/pruneGateway.js +79 -0
  877. package/lib/esm/solana/generated/gar/instructions/redelegateStake.js +76 -0
  878. package/lib/esm/solana/generated/gar/instructions/releaseTreasuryAuthority.js +67 -0
  879. package/lib/esm/solana/generated/gar/instructions/saveObservations.js +70 -0
  880. package/lib/esm/solana/generated/gar/instructions/setAllowlistEnabled.js +63 -0
  881. package/lib/esm/solana/generated/gar/instructions/setEpochsEnabled.js +60 -0
  882. package/lib/esm/solana/generated/gar/instructions/tallyWeights.js +69 -0
  883. package/lib/esm/solana/generated/gar/instructions/updateGatewaySettings.js +64 -0
  884. package/lib/esm/solana/generated/gar/instructions/updateObserverAddress.js +70 -0
  885. package/lib/esm/solana/generated/gar/pdas/allowlistEntry.js +12 -0
  886. package/lib/esm/solana/generated/gar/pdas/decreaseOperatorStakeWithdrawalCounter.js +12 -0
  887. package/lib/esm/solana/generated/gar/pdas/epoch.js +12 -0
  888. package/lib/esm/solana/generated/gar/pdas/epochSettings.js +12 -0
  889. package/lib/esm/solana/generated/gar/pdas/gateway.js +12 -0
  890. package/lib/esm/solana/generated/gar/pdas/index.js +19 -0
  891. package/lib/esm/solana/generated/gar/pdas/newObserverLookup.js +12 -0
  892. package/lib/esm/solana/generated/gar/pdas/observation.js +12 -0
  893. package/lib/esm/solana/generated/gar/pdas/payFromFundingPlanWithdrawalCounter.js +12 -0
  894. package/lib/esm/solana/generated/gar/pdas/redelegationRecord.js +12 -0
  895. package/lib/esm/solana/generated/gar/pdas/registry.js +12 -0
  896. package/lib/esm/solana/generated/gar/pdas/settings.js +12 -0
  897. package/lib/esm/solana/generated/gar/pdas/withdrawalCounter.js +12 -0
  898. package/lib/esm/solana/generated/gar/program-address.js +1 -0
  899. package/lib/esm/solana/generated/gar/types/fundingSourceKind.js +33 -0
  900. package/lib/esm/solana/generated/gar/types/fundingSourceSpec.js +18 -0
  901. package/lib/esm/solana/generated/gar/types/gatewaySettings2.js +17 -0
  902. package/lib/esm/solana/generated/gar/types/gatewaySlot.js +17 -0
  903. package/lib/esm/solana/generated/gar/types/gatewayStats.js +17 -0
  904. package/lib/esm/solana/generated/gar/types/gatewayStatus.js +24 -0
  905. package/lib/esm/solana/generated/gar/types/gatewayWeights.js +17 -0
  906. package/lib/esm/solana/generated/gar/types/index.js +16 -0
  907. package/lib/esm/solana/generated/gar/types/protocol.js +23 -0
  908. package/lib/esm/solana/generated/gar/types/registryIndex.js +17 -0
  909. package/lib/esm/solana/generated/mpl-core/accounts/assetV1.js +42 -0
  910. package/lib/esm/solana/generated/mpl-core/accounts/collectionV1.js +42 -0
  911. package/lib/esm/solana/generated/mpl-core/accounts/hashedAssetV1.js +45 -0
  912. package/lib/esm/solana/generated/mpl-core/accounts/index.js +12 -0
  913. package/lib/esm/solana/generated/mpl-core/accounts/pluginHeaderV1.js +45 -0
  914. package/lib/esm/solana/generated/mpl-core/accounts/pluginRegistryV1.js +42 -0
  915. package/lib/esm/solana/generated/mpl-core/errors/index.js +8 -0
  916. package/lib/esm/solana/generated/mpl-core/errors/mplCore.js +136 -0
  917. package/lib/esm/solana/generated/mpl-core/index.js +8 -0
  918. package/lib/esm/solana/generated/mpl-core/instructions/addCollectionExternalPluginAdapterV1.js +53 -0
  919. package/lib/esm/solana/generated/mpl-core/instructions/addCollectionPluginV1.js +53 -0
  920. package/lib/esm/solana/generated/mpl-core/instructions/addExternalPluginAdapterV1.js +53 -0
  921. package/lib/esm/solana/generated/mpl-core/instructions/addPluginV1.js +53 -0
  922. package/lib/esm/solana/generated/mpl-core/instructions/approveCollectionPluginAuthorityV1.js +53 -0
  923. package/lib/esm/solana/generated/mpl-core/instructions/approvePluginAuthorityV1.js +53 -0
  924. package/lib/esm/solana/generated/mpl-core/instructions/burnCollectionV1.js +49 -0
  925. package/lib/esm/solana/generated/mpl-core/instructions/burnV1.js +49 -0
  926. package/lib/esm/solana/generated/mpl-core/instructions/collect.js +42 -0
  927. package/lib/esm/solana/generated/mpl-core/instructions/compressV1.js +50 -0
  928. package/lib/esm/solana/generated/mpl-core/instructions/createCollectionV1.js +53 -0
  929. package/lib/esm/solana/generated/mpl-core/instructions/createCollectionV2.js +53 -0
  930. package/lib/esm/solana/generated/mpl-core/instructions/createV1.js +53 -0
  931. package/lib/esm/solana/generated/mpl-core/instructions/createV2.js +53 -0
  932. package/lib/esm/solana/generated/mpl-core/instructions/decompressV1.js +53 -0
  933. package/lib/esm/solana/generated/mpl-core/instructions/executeV1.js +56 -0
  934. package/lib/esm/solana/generated/mpl-core/instructions/index.js +40 -0
  935. package/lib/esm/solana/generated/mpl-core/instructions/removeCollectionExternalPluginAdapterV1.js +53 -0
  936. package/lib/esm/solana/generated/mpl-core/instructions/removeCollectionPluginV1.js +53 -0
  937. package/lib/esm/solana/generated/mpl-core/instructions/removeExternalPluginAdapterV1.js +53 -0
  938. package/lib/esm/solana/generated/mpl-core/instructions/removePluginV1.js +53 -0
  939. package/lib/esm/solana/generated/mpl-core/instructions/revokeCollectionPluginAuthorityV1.js +53 -0
  940. package/lib/esm/solana/generated/mpl-core/instructions/revokePluginAuthorityV1.js +53 -0
  941. package/lib/esm/solana/generated/mpl-core/instructions/transferV1.js +49 -0
  942. package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionExternalPluginAdapterV1.js +53 -0
  943. package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionInfoV1.js +45 -0
  944. package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionPluginV1.js +53 -0
  945. package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionV1.js +52 -0
  946. package/lib/esm/solana/generated/mpl-core/instructions/updateExternalPluginAdapterV1.js +53 -0
  947. package/lib/esm/solana/generated/mpl-core/instructions/updatePluginV1.js +53 -0
  948. package/lib/esm/solana/generated/mpl-core/instructions/updateV1.js +53 -0
  949. package/lib/esm/solana/generated/mpl-core/instructions/updateV2.js +53 -0
  950. package/lib/esm/solana/generated/mpl-core/instructions/writeCollectionExternalPluginAdapterDataV1.js +53 -0
  951. package/lib/esm/solana/generated/mpl-core/instructions/writeExternalPluginAdapterDataV1.js +53 -0
  952. package/lib/esm/solana/generated/mpl-core/program-address.js +1 -0
  953. package/lib/esm/solana/generated/mpl-core/types/addAssetsToGroupV1Args.js +17 -0
  954. package/lib/esm/solana/generated/mpl-core/types/addBlocker.js +17 -0
  955. package/lib/esm/solana/generated/mpl-core/types/addCollectionsToGroupV1Args.js +17 -0
  956. package/lib/esm/solana/generated/mpl-core/types/addGroupsToGroupV1Args.js +17 -0
  957. package/lib/esm/solana/generated/mpl-core/types/agentIdentity.js +17 -0
  958. package/lib/esm/solana/generated/mpl-core/types/agentIdentityInitInfo.js +18 -0
  959. package/lib/esm/solana/generated/mpl-core/types/agentIdentityUpdateInfo.js +18 -0
  960. package/lib/esm/solana/generated/mpl-core/types/appData.js +18 -0
  961. package/lib/esm/solana/generated/mpl-core/types/appDataInitInfo.js +18 -0
  962. package/lib/esm/solana/generated/mpl-core/types/appDataUpdateInfo.js +18 -0
  963. package/lib/esm/solana/generated/mpl-core/types/attribute.js +17 -0
  964. package/lib/esm/solana/generated/mpl-core/types/attributes.js +18 -0
  965. package/lib/esm/solana/generated/mpl-core/types/authority.js +24 -0
  966. package/lib/esm/solana/generated/mpl-core/types/autograph.js +18 -0
  967. package/lib/esm/solana/generated/mpl-core/types/autographSignature.js +17 -0
  968. package/lib/esm/solana/generated/mpl-core/types/bubblegumV2.js +17 -0
  969. package/lib/esm/solana/generated/mpl-core/types/burnDelegate.js +17 -0
  970. package/lib/esm/solana/generated/mpl-core/types/closeGroupV1Args.js +17 -0
  971. package/lib/esm/solana/generated/mpl-core/types/compressionProof.js +18 -0
  972. package/lib/esm/solana/generated/mpl-core/types/creator.js +17 -0
  973. package/lib/esm/solana/generated/mpl-core/types/dataSection.js +18 -0
  974. package/lib/esm/solana/generated/mpl-core/types/dataSectionInitInfo.js +18 -0
  975. package/lib/esm/solana/generated/mpl-core/types/dataSectionUpdateInfo.js +17 -0
  976. package/lib/esm/solana/generated/mpl-core/types/dataState.js +23 -0
  977. package/lib/esm/solana/generated/mpl-core/types/edition.js +17 -0
  978. package/lib/esm/solana/generated/mpl-core/types/externalCheckResult.js +17 -0
  979. package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapter.js +25 -0
  980. package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterInitInfo.js +25 -0
  981. package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterKey.js +25 -0
  982. package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterSchema.js +24 -0
  983. package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterType.js +28 -0
  984. package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterUpdateInfo.js +25 -0
  985. package/lib/esm/solana/generated/mpl-core/types/externalRegistryRecord.js +18 -0
  986. package/lib/esm/solana/generated/mpl-core/types/externalValidationResult.js +24 -0
  987. package/lib/esm/solana/generated/mpl-core/types/extraAccount.js +25 -0
  988. package/lib/esm/solana/generated/mpl-core/types/freezeDelegate.js +17 -0
  989. package/lib/esm/solana/generated/mpl-core/types/freezeExecute.js +17 -0
  990. package/lib/esm/solana/generated/mpl-core/types/groups.js +17 -0
  991. package/lib/esm/solana/generated/mpl-core/types/hashablePluginSchema.js +18 -0
  992. package/lib/esm/solana/generated/mpl-core/types/hashedAssetSchema.js +17 -0
  993. package/lib/esm/solana/generated/mpl-core/types/hookableLifecycleEvent.js +26 -0
  994. package/lib/esm/solana/generated/mpl-core/types/immutableMetadata.js +17 -0
  995. package/lib/esm/solana/generated/mpl-core/types/index.js +89 -0
  996. package/lib/esm/solana/generated/mpl-core/types/key.js +28 -0
  997. package/lib/esm/solana/generated/mpl-core/types/lifecycleHook.js +18 -0
  998. package/lib/esm/solana/generated/mpl-core/types/lifecycleHookInitInfo.js +18 -0
  999. package/lib/esm/solana/generated/mpl-core/types/lifecycleHookUpdateInfo.js +18 -0
  1000. package/lib/esm/solana/generated/mpl-core/types/linkedAppData.js +18 -0
  1001. package/lib/esm/solana/generated/mpl-core/types/linkedAppDataInitInfo.js +18 -0
  1002. package/lib/esm/solana/generated/mpl-core/types/linkedAppDataUpdateInfo.js +18 -0
  1003. package/lib/esm/solana/generated/mpl-core/types/linkedDataKey.js +25 -0
  1004. package/lib/esm/solana/generated/mpl-core/types/linkedLifecycleHook.js +18 -0
  1005. package/lib/esm/solana/generated/mpl-core/types/linkedLifecycleHookInitInfo.js +18 -0
  1006. package/lib/esm/solana/generated/mpl-core/types/linkedLifecycleHookUpdateInfo.js +18 -0
  1007. package/lib/esm/solana/generated/mpl-core/types/masterEdition.js +17 -0
  1008. package/lib/esm/solana/generated/mpl-core/types/oracle.js +18 -0
  1009. package/lib/esm/solana/generated/mpl-core/types/oracleInitInfo.js +18 -0
  1010. package/lib/esm/solana/generated/mpl-core/types/oracleUpdateInfo.js +18 -0
  1011. package/lib/esm/solana/generated/mpl-core/types/oracleValidation.js +25 -0
  1012. package/lib/esm/solana/generated/mpl-core/types/permanentBurnDelegate.js +17 -0
  1013. package/lib/esm/solana/generated/mpl-core/types/permanentFreezeDelegate.js +17 -0
  1014. package/lib/esm/solana/generated/mpl-core/types/permanentFreezeExecute.js +17 -0
  1015. package/lib/esm/solana/generated/mpl-core/types/permanentTransferDelegate.js +17 -0
  1016. package/lib/esm/solana/generated/mpl-core/types/plugin.js +25 -0
  1017. package/lib/esm/solana/generated/mpl-core/types/pluginAuthorityPair.js +18 -0
  1018. package/lib/esm/solana/generated/mpl-core/types/pluginType.js +40 -0
  1019. package/lib/esm/solana/generated/mpl-core/types/registryRecord.js +18 -0
  1020. package/lib/esm/solana/generated/mpl-core/types/relationshipKind.js +25 -0
  1021. package/lib/esm/solana/generated/mpl-core/types/removeAssetsFromGroupV1Args.js +17 -0
  1022. package/lib/esm/solana/generated/mpl-core/types/removeCollectionsFromGroupV1Args.js +17 -0
  1023. package/lib/esm/solana/generated/mpl-core/types/removeGroupsFromGroupV1Args.js +17 -0
  1024. package/lib/esm/solana/generated/mpl-core/types/royalties.js +18 -0
  1025. package/lib/esm/solana/generated/mpl-core/types/ruleSet.js +24 -0
  1026. package/lib/esm/solana/generated/mpl-core/types/seed.js +24 -0
  1027. package/lib/esm/solana/generated/mpl-core/types/transferDelegate.js +17 -0
  1028. package/lib/esm/solana/generated/mpl-core/types/updateAuthority.js +24 -0
  1029. package/lib/esm/solana/generated/mpl-core/types/updateDelegate.js +17 -0
  1030. package/lib/esm/solana/generated/mpl-core/types/updateGroupV1Args.js +17 -0
  1031. package/lib/esm/solana/generated/mpl-core/types/updateType.js +24 -0
  1032. package/lib/esm/solana/generated/mpl-core/types/validationResult.js +25 -0
  1033. package/lib/esm/solana/generated/mpl-core/types/validationResultsOffset.js +24 -0
  1034. package/lib/esm/solana/generated/mpl-core/types/verifiedCreators.js +18 -0
  1035. package/lib/esm/solana/generated/mpl-core/types/verifiedCreatorsSignature.js +17 -0
  1036. package/lib/esm/solana/index.js +85 -0
  1037. package/lib/esm/solana/instruction.js +24 -0
  1038. package/lib/esm/solana/io-readable.js +1349 -0
  1039. package/lib/esm/solana/io-writeable.js +1956 -0
  1040. package/lib/esm/solana/json-rpc.js +74 -0
  1041. package/lib/esm/solana/metadata.js +66 -0
  1042. package/lib/esm/solana/mpl-core.js +142 -0
  1043. package/lib/esm/solana/pda.js +317 -0
  1044. package/lib/esm/solana/send.js +159 -0
  1045. package/lib/esm/solana/spawn-ant.js +210 -0
  1046. package/lib/esm/solana/types.js +1 -0
  1047. package/lib/esm/types/ant.js +19 -7
  1048. package/lib/esm/types/io.js +8 -1
  1049. package/lib/esm/utils/ant.js +1 -0
  1050. package/lib/esm/utils/ao.js +1 -0
  1051. package/lib/esm/version.js +1 -1
  1052. package/lib/types/cli/commands/antCommands.d.ts +2 -7
  1053. package/lib/types/cli/commands/arnsPurchaseCommands.d.ts +12 -0
  1054. package/lib/types/cli/commands/escrowCommands.d.ts +62 -0
  1055. package/lib/types/cli/commands/readCommands.d.ts +2 -0
  1056. package/lib/types/cli/options.d.ts +86 -0
  1057. package/lib/types/cli/types.d.ts +6 -0
  1058. package/lib/types/cli/utils.d.ts +43 -5
  1059. package/lib/types/common/ant-registry.d.ts +41 -0
  1060. package/lib/types/common/ant.d.ts +35 -2
  1061. package/lib/types/common/contracts/ao-process.d.ts +2 -16
  1062. package/lib/types/common/io.d.ts +42 -2
  1063. package/lib/types/common/marketplace.d.ts +2 -14
  1064. package/lib/types/constants.d.ts +11 -1
  1065. package/lib/types/solana/ant-readable.d.ts +121 -0
  1066. package/lib/types/solana/ant-registry-readable.d.ts +90 -0
  1067. package/lib/types/solana/ant-registry-writeable.d.ts +234 -0
  1068. package/lib/types/solana/ant-writeable.d.ts +162 -0
  1069. package/lib/types/solana/ata.d.ts +29 -0
  1070. package/lib/types/solana/canonical-message.d.ts +82 -0
  1071. package/lib/types/solana/clusters.d.ts +62 -0
  1072. package/lib/types/solana/constants.d.ts +97 -0
  1073. package/lib/types/solana/deserialize.d.ts +400 -0
  1074. package/lib/types/solana/escrow.d.ts +357 -0
  1075. package/lib/types/solana/events.d.ts +156 -0
  1076. package/lib/types/solana/funding-plan.d.ts +210 -0
  1077. package/lib/types/solana/generated/ant/accounts/aclConfig.d.ts +56 -0
  1078. package/lib/types/solana/generated/ant/accounts/aclPage.d.ts +44 -0
  1079. package/lib/types/solana/generated/ant/accounts/antConfig.d.ts +63 -0
  1080. package/lib/types/solana/generated/ant/accounts/antControllers.d.ts +51 -0
  1081. package/lib/types/solana/generated/ant/accounts/antMigrationConfig.d.ts +44 -0
  1082. package/lib/types/solana/generated/ant/accounts/antRecord.d.ts +75 -0
  1083. package/lib/types/solana/generated/ant/accounts/antRecordMetadata.d.ts +59 -0
  1084. package/lib/types/solana/generated/ant/accounts/index.d.ts +14 -0
  1085. package/lib/types/solana/generated/ant/errors/arioAnt.d.ts +127 -0
  1086. package/lib/types/solana/generated/ant/errors/index.d.ts +8 -0
  1087. package/lib/types/solana/generated/ant/events/aclEntryAddedEvent.d.ts +26 -0
  1088. package/lib/types/solana/generated/ant/events/aclEntryRemovedEvent.d.ts +26 -0
  1089. package/lib/types/solana/generated/ant/events/antMetadataUpdatedEvent.d.ts +28 -0
  1090. package/lib/types/solana/generated/ant/events/antReconciledEvent.d.ts +28 -0
  1091. package/lib/types/solana/generated/ant/events/antTransferredEvent.d.ts +26 -0
  1092. package/lib/types/solana/generated/ant/events/attributesClearedEvent.d.ts +26 -0
  1093. package/lib/types/solana/generated/ant/events/attributesSyncedEvent.d.ts +24 -0
  1094. package/lib/types/solana/generated/ant/events/controllerAddedEvent.d.ts +26 -0
  1095. package/lib/types/solana/generated/ant/events/controllerRemovedEvent.d.ts +26 -0
  1096. package/lib/types/solana/generated/ant/events/index.d.ts +15 -0
  1097. package/lib/types/solana/generated/ant/events/recordMetadataPrunedEvent.d.ts +26 -0
  1098. package/lib/types/solana/generated/ant/events/recordMetadataRemovedEvent.d.ts +26 -0
  1099. package/lib/types/solana/generated/ant/events/recordMetadataUpdatedEvent.d.ts +28 -0
  1100. package/lib/types/solana/generated/ant/events/recordRemovedEvent.d.ts +26 -0
  1101. package/lib/types/solana/generated/ant/events/recordSetEvent.d.ts +34 -0
  1102. package/lib/types/solana/generated/ant/events/recordTransferredEvent.d.ts +30 -0
  1103. package/lib/types/solana/generated/ant/index.d.ts +10 -0
  1104. package/lib/types/solana/generated/ant/instructions/addAclPage.d.ts +39 -0
  1105. package/lib/types/solana/generated/ant/instructions/addController.d.ts +95 -0
  1106. package/lib/types/solana/generated/ant/instructions/clearAttributes.d.ts +67 -0
  1107. package/lib/types/solana/generated/ant/instructions/closeAclConfig.d.ts +43 -0
  1108. package/lib/types/solana/generated/ant/instructions/closeAclPage.d.ts +39 -0
  1109. package/lib/types/solana/generated/ant/instructions/closeOrphanedRecordMetadata.d.ts +55 -0
  1110. package/lib/types/solana/generated/ant/instructions/finalizeMigration.d.ts +42 -0
  1111. package/lib/types/solana/generated/ant/instructions/importAccount.d.ts +60 -0
  1112. package/lib/types/solana/generated/ant/instructions/index.d.ts +37 -0
  1113. package/lib/types/solana/generated/ant/instructions/initialize.d.ts +103 -0
  1114. package/lib/types/solana/generated/ant/instructions/initializeMigration.d.ts +78 -0
  1115. package/lib/types/solana/generated/ant/instructions/migrateAnt.d.ts +51 -0
  1116. package/lib/types/solana/generated/ant/instructions/reconcile.d.ts +51 -0
  1117. package/lib/types/solana/generated/ant/instructions/recordAclController.d.ts +66 -0
  1118. package/lib/types/solana/generated/ant/instructions/recordAclOwner.d.ts +53 -0
  1119. package/lib/types/solana/generated/ant/instructions/registerAclConfig.d.ts +53 -0
  1120. package/lib/types/solana/generated/ant/instructions/removeAclController.d.ts +66 -0
  1121. package/lib/types/solana/generated/ant/instructions/removeAclOwner.d.ts +53 -0
  1122. package/lib/types/solana/generated/ant/instructions/removeController.d.ts +59 -0
  1123. package/lib/types/solana/generated/ant/instructions/removeRecord.d.ts +81 -0
  1124. package/lib/types/solana/generated/ant/instructions/removeRecordMetadata.d.ts +59 -0
  1125. package/lib/types/solana/generated/ant/instructions/setDescription.d.ts +53 -0
  1126. package/lib/types/solana/generated/ant/instructions/setKeywords.d.ts +53 -0
  1127. package/lib/types/solana/generated/ant/instructions/setLogo.d.ts +53 -0
  1128. package/lib/types/solana/generated/ant/instructions/setName.d.ts +53 -0
  1129. package/lib/types/solana/generated/ant/instructions/setRecord.d.ts +91 -0
  1130. package/lib/types/solana/generated/ant/instructions/setRecordMetadata.d.ts +94 -0
  1131. package/lib/types/solana/generated/ant/instructions/setTicker.d.ts +53 -0
  1132. package/lib/types/solana/generated/ant/instructions/syncAttributes.d.ts +77 -0
  1133. package/lib/types/solana/generated/ant/instructions/transfer.d.ts +162 -0
  1134. package/lib/types/solana/generated/ant/instructions/transferRecord.d.ts +56 -0
  1135. package/lib/types/solana/generated/ant/pdas/aclConfig.d.ts +14 -0
  1136. package/lib/types/solana/generated/ant/pdas/antConfig.d.ts +14 -0
  1137. package/lib/types/solana/generated/ant/pdas/antControllers.d.ts +14 -0
  1138. package/lib/types/solana/generated/ant/pdas/controllerAclConfig.d.ts +14 -0
  1139. package/lib/types/solana/generated/ant/pdas/index.d.ts +14 -0
  1140. package/lib/types/solana/generated/ant/pdas/migrationConfig.d.ts +11 -0
  1141. package/lib/types/solana/generated/ant/pdas/newOwnerAclConfig.d.ts +14 -0
  1142. package/lib/types/solana/generated/ant/pdas/oldOwnerAclConfig.d.ts +14 -0
  1143. package/lib/types/solana/generated/ant/program-address.d.ts +7 -0
  1144. package/lib/types/solana/generated/ant/types/aclEntry.d.ts +27 -0
  1145. package/lib/types/solana/generated/ant/types/index.d.ts +8 -0
  1146. package/lib/types/solana/generated/ant-escrow/accounts/escrowAnt.d.ts +116 -0
  1147. package/lib/types/solana/generated/ant-escrow/accounts/escrowToken.d.ts +100 -0
  1148. package/lib/types/solana/generated/ant-escrow/accounts/index.d.ts +9 -0
  1149. package/lib/types/solana/generated/ant-escrow/errors/arioAntEscrow.d.ts +61 -0
  1150. package/lib/types/solana/generated/ant-escrow/errors/index.d.ts +8 -0
  1151. package/lib/types/solana/generated/ant-escrow/events/escrowCancelledEvent.d.ts +28 -0
  1152. package/lib/types/solana/generated/ant-escrow/events/escrowClaimedEvent.d.ts +32 -0
  1153. package/lib/types/solana/generated/ant-escrow/events/escrowDepositedEvent.d.ts +36 -0
  1154. package/lib/types/solana/generated/ant-escrow/events/escrowRecipientUpdatedEvent.d.ts +26 -0
  1155. package/lib/types/solana/generated/ant-escrow/events/index.d.ts +4 -0
  1156. package/lib/types/solana/generated/ant-escrow/index.d.ts +10 -0
  1157. package/lib/types/solana/generated/ant-escrow/instructions/cancelDeposit.d.ts +69 -0
  1158. package/lib/types/solana/generated/ant-escrow/instructions/cancelTokenDeposit.d.ts +59 -0
  1159. package/lib/types/solana/generated/ant-escrow/instructions/cancelVaultDeposit.d.ts +59 -0
  1160. package/lib/types/solana/generated/ant-escrow/instructions/claimAntArweave.d.ts +105 -0
  1161. package/lib/types/solana/generated/ant-escrow/instructions/claimAntEthereum.d.ts +54 -0
  1162. package/lib/types/solana/generated/ant-escrow/instructions/claimTokensArweave.d.ts +69 -0
  1163. package/lib/types/solana/generated/ant-escrow/instructions/claimTokensEthereum.d.ts +60 -0
  1164. package/lib/types/solana/generated/ant-escrow/instructions/claimVaultArweave.d.ts +65 -0
  1165. package/lib/types/solana/generated/ant-escrow/instructions/claimVaultEthereum.d.ts +92 -0
  1166. package/lib/types/solana/generated/ant-escrow/instructions/depositAnt.d.ts +117 -0
  1167. package/lib/types/solana/generated/ant-escrow/instructions/depositTokens.d.ts +101 -0
  1168. package/lib/types/solana/generated/ant-escrow/instructions/depositVault.d.ts +97 -0
  1169. package/lib/types/solana/generated/ant-escrow/instructions/index.d.ts +22 -0
  1170. package/lib/types/solana/generated/ant-escrow/instructions/updateRecipient.d.ts +56 -0
  1171. package/lib/types/solana/generated/ant-escrow/instructions/updateTokenRecipient.d.ts +52 -0
  1172. package/lib/types/solana/generated/ant-escrow/instructions/updateVaultRecipient.d.ts +52 -0
  1173. package/lib/types/solana/generated/ant-escrow/pdas/depositTokensEscrow.d.ts +15 -0
  1174. package/lib/types/solana/generated/ant-escrow/pdas/depositVaultEscrow.d.ts +15 -0
  1175. package/lib/types/solana/generated/ant-escrow/pdas/escrow.d.ts +14 -0
  1176. package/lib/types/solana/generated/ant-escrow/pdas/index.d.ts +10 -0
  1177. package/lib/types/solana/generated/ant-escrow/program-address.d.ts +7 -0
  1178. package/lib/types/solana/generated/arns/accounts/arnsConfig.d.ts +76 -0
  1179. package/lib/types/solana/generated/arns/accounts/arnsRecord.d.ts +92 -0
  1180. package/lib/types/solana/generated/arns/accounts/demandFactor.d.ts +72 -0
  1181. package/lib/types/solana/generated/arns/accounts/index.d.ts +13 -0
  1182. package/lib/types/solana/generated/arns/accounts/nameRegistry.d.ts +65 -0
  1183. package/lib/types/solana/generated/arns/accounts/reservedName.d.ts +51 -0
  1184. package/lib/types/solana/generated/arns/accounts/returnedName.d.ts +47 -0
  1185. package/lib/types/solana/generated/arns/errors/arioArns.d.ts +113 -0
  1186. package/lib/types/solana/generated/arns/errors/index.d.ts +8 -0
  1187. package/lib/types/solana/generated/arns/events/demandFactorUpdatedEvent.d.ts +28 -0
  1188. package/lib/types/solana/generated/arns/events/index.d.ts +12 -0
  1189. package/lib/types/solana/generated/arns/events/leaseExtendedEvent.d.ts +32 -0
  1190. package/lib/types/solana/generated/arns/events/namePurchasedEvent.d.ts +34 -0
  1191. package/lib/types/solana/generated/arns/events/nameReassignedEvent.d.ts +28 -0
  1192. package/lib/types/solana/generated/arns/events/nameReleasedEvent.d.ts +24 -0
  1193. package/lib/types/solana/generated/arns/events/nameReservedEvent.d.ts +28 -0
  1194. package/lib/types/solana/generated/arns/events/nameUnreservedEvent.d.ts +24 -0
  1195. package/lib/types/solana/generated/arns/events/nameUpgradedEvent.d.ts +28 -0
  1196. package/lib/types/solana/generated/arns/events/namesPrunedEvent.d.ts +26 -0
  1197. package/lib/types/solana/generated/arns/events/reservedNameClaimedEvent.d.ts +24 -0
  1198. package/lib/types/solana/generated/arns/events/returnedNamePurchasedEvent.d.ts +32 -0
  1199. package/lib/types/solana/generated/arns/events/undernameIncreasedEvent.d.ts +32 -0
  1200. package/lib/types/solana/generated/arns/index.d.ts +10 -0
  1201. package/lib/types/solana/generated/arns/instructions/buyName.d.ts +81 -0
  1202. package/lib/types/solana/generated/arns/instructions/buyNameFromDelegation.d.ts +87 -0
  1203. package/lib/types/solana/generated/arns/instructions/buyNameFromFundingPlan.d.ts +99 -0
  1204. package/lib/types/solana/generated/arns/instructions/buyNameFromOperatorStake.d.ts +84 -0
  1205. package/lib/types/solana/generated/arns/instructions/buyNameFromWithdrawal.d.ts +84 -0
  1206. package/lib/types/solana/generated/arns/instructions/buyReturnedName.d.ts +75 -0
  1207. package/lib/types/solana/generated/arns/instructions/buyReturnedNameFromDelegation.d.ts +96 -0
  1208. package/lib/types/solana/generated/arns/instructions/buyReturnedNameFromFundingPlan.d.ts +102 -0
  1209. package/lib/types/solana/generated/arns/instructions/buyReturnedNameFromOperatorStake.d.ts +93 -0
  1210. package/lib/types/solana/generated/arns/instructions/buyReturnedNameFromWithdrawal.d.ts +87 -0
  1211. package/lib/types/solana/generated/arns/instructions/claimReservedName.d.ts +45 -0
  1212. package/lib/types/solana/generated/arns/instructions/createNameRegistry.d.ts +48 -0
  1213. package/lib/types/solana/generated/arns/instructions/extendLease.d.ts +62 -0
  1214. package/lib/types/solana/generated/arns/instructions/extendLeaseFromDelegation.d.ts +74 -0
  1215. package/lib/types/solana/generated/arns/instructions/extendLeaseFromFundingPlan.d.ts +90 -0
  1216. package/lib/types/solana/generated/arns/instructions/extendLeaseFromOperatorStake.d.ts +71 -0
  1217. package/lib/types/solana/generated/arns/instructions/extendLeaseFromWithdrawal.d.ts +71 -0
  1218. package/lib/types/solana/generated/arns/instructions/finalizeMigration.d.ts +42 -0
  1219. package/lib/types/solana/generated/arns/instructions/getTokenCost.d.ts +66 -0
  1220. package/lib/types/solana/generated/arns/instructions/importAccount.d.ts +60 -0
  1221. package/lib/types/solana/generated/arns/instructions/importRegistryEntry.d.ts +54 -0
  1222. package/lib/types/solana/generated/arns/instructions/increaseUndernameLimit.d.ts +65 -0
  1223. package/lib/types/solana/generated/arns/instructions/increaseUndernameLimitFromDelegation.d.ts +74 -0
  1224. package/lib/types/solana/generated/arns/instructions/increaseUndernameLimitFromFundingPlan.d.ts +90 -0
  1225. package/lib/types/solana/generated/arns/instructions/increaseUndernameLimitFromOperatorStake.d.ts +71 -0
  1226. package/lib/types/solana/generated/arns/instructions/increaseUndernameLimitFromWithdrawal.d.ts +71 -0
  1227. package/lib/types/solana/generated/arns/instructions/index.d.ts +48 -0
  1228. package/lib/types/solana/generated/arns/instructions/initialize.d.ts +90 -0
  1229. package/lib/types/solana/generated/arns/instructions/pruneExpiredNames.d.ts +56 -0
  1230. package/lib/types/solana/generated/arns/instructions/pruneExpiredReservation.d.ts +37 -0
  1231. package/lib/types/solana/generated/arns/instructions/pruneNameToReturned.d.ts +54 -0
  1232. package/lib/types/solana/generated/arns/instructions/pruneReturnedNames.d.ts +50 -0
  1233. package/lib/types/solana/generated/arns/instructions/reassignName.d.ts +53 -0
  1234. package/lib/types/solana/generated/arns/instructions/releaseName.d.ts +54 -0
  1235. package/lib/types/solana/generated/arns/instructions/reserveName.d.ts +61 -0
  1236. package/lib/types/solana/generated/arns/instructions/unreserveName.d.ts +45 -0
  1237. package/lib/types/solana/generated/arns/instructions/updateDemandFactor.d.ts +42 -0
  1238. package/lib/types/solana/generated/arns/instructions/upgradeName.d.ts +60 -0
  1239. package/lib/types/solana/generated/arns/instructions/upgradeNameFromDelegation.d.ts +69 -0
  1240. package/lib/types/solana/generated/arns/instructions/upgradeNameFromFundingPlan.d.ts +86 -0
  1241. package/lib/types/solana/generated/arns/instructions/upgradeNameFromOperatorStake.d.ts +66 -0
  1242. package/lib/types/solana/generated/arns/instructions/upgradeNameFromWithdrawal.d.ts +66 -0
  1243. package/lib/types/solana/generated/arns/pdas/config.d.ts +11 -0
  1244. package/lib/types/solana/generated/arns/pdas/demandFactor.d.ts +11 -0
  1245. package/lib/types/solana/generated/arns/pdas/index.d.ts +10 -0
  1246. package/lib/types/solana/generated/arns/pdas/nameRegistry.d.ts +11 -0
  1247. package/lib/types/solana/generated/arns/program-address.d.ts +7 -0
  1248. package/lib/types/solana/generated/arns/types/buyNameParams.d.ts +32 -0
  1249. package/lib/types/solana/generated/arns/types/buyReturnedNameParams.d.ts +26 -0
  1250. package/lib/types/solana/generated/arns/types/costIntent.d.ts +19 -0
  1251. package/lib/types/solana/generated/arns/types/fundingSourceKind.d.ts +26 -0
  1252. package/lib/types/solana/generated/arns/types/fundingSourceSpec.d.ts +21 -0
  1253. package/lib/types/solana/generated/arns/types/index.d.ts +14 -0
  1254. package/lib/types/solana/generated/arns/types/nameEntry.d.ts +21 -0
  1255. package/lib/types/solana/generated/arns/types/purchaseType.d.ts +16 -0
  1256. package/lib/types/solana/generated/core/accounts/arioConfig.d.ts +84 -0
  1257. package/lib/types/solana/generated/core/accounts/balance.d.ts +40 -0
  1258. package/lib/types/solana/generated/core/accounts/index.d.ts +14 -0
  1259. package/lib/types/solana/generated/core/accounts/primaryName.d.ts +43 -0
  1260. package/lib/types/solana/generated/core/accounts/primaryNameRequest.d.ts +47 -0
  1261. package/lib/types/solana/generated/core/accounts/primaryNameReverse.d.ts +39 -0
  1262. package/lib/types/solana/generated/core/accounts/vault.d.ts +59 -0
  1263. package/lib/types/solana/generated/core/accounts/vaultCounter.d.ts +40 -0
  1264. package/lib/types/solana/generated/core/errors/arioCore.d.ts +107 -0
  1265. package/lib/types/solana/generated/core/errors/index.d.ts +8 -0
  1266. package/lib/types/solana/generated/core/events/configUpdatedEvent.d.ts +26 -0
  1267. package/lib/types/solana/generated/core/events/coreMigrationFinalizedEvent.d.ts +26 -0
  1268. package/lib/types/solana/generated/core/events/index.d.ts +13 -0
  1269. package/lib/types/solana/generated/core/events/primaryNameRemovedEvent.d.ts +26 -0
  1270. package/lib/types/solana/generated/core/events/primaryNameRequestExpiredEvent.d.ts +26 -0
  1271. package/lib/types/solana/generated/core/events/primaryNameRequestedEvent.d.ts +30 -0
  1272. package/lib/types/solana/generated/core/events/primaryNameSetEvent.d.ts +24 -0
  1273. package/lib/types/solana/generated/core/events/supplyFinalizedEvent.d.ts +26 -0
  1274. package/lib/types/solana/generated/core/events/transferEvent.d.ts +26 -0
  1275. package/lib/types/solana/generated/core/events/vaultCreatedEvent.d.ts +28 -0
  1276. package/lib/types/solana/generated/core/events/vaultExtendedEvent.d.ts +26 -0
  1277. package/lib/types/solana/generated/core/events/vaultIncreasedEvent.d.ts +28 -0
  1278. package/lib/types/solana/generated/core/events/vaultReleasedEvent.d.ts +26 -0
  1279. package/lib/types/solana/generated/core/events/vaultRevokedEvent.d.ts +28 -0
  1280. package/lib/types/solana/generated/core/index.d.ts +10 -0
  1281. package/lib/types/solana/generated/core/instructions/adminRepairConfig.d.ts +51 -0
  1282. package/lib/types/solana/generated/core/instructions/approvePrimaryName.d.ts +93 -0
  1283. package/lib/types/solana/generated/core/instructions/closeExpiredRequest.d.ts +39 -0
  1284. package/lib/types/solana/generated/core/instructions/createVault.d.ts +69 -0
  1285. package/lib/types/solana/generated/core/instructions/extendVault.d.ts +50 -0
  1286. package/lib/types/solana/generated/core/instructions/finalizeMigration.d.ts +42 -0
  1287. package/lib/types/solana/generated/core/instructions/finalizeSupply.d.ts +59 -0
  1288. package/lib/types/solana/generated/core/instructions/importAccount.d.ts +60 -0
  1289. package/lib/types/solana/generated/core/instructions/importBalance.d.ts +153 -0
  1290. package/lib/types/solana/generated/core/instructions/increaseVault.d.ts +59 -0
  1291. package/lib/types/solana/generated/core/instructions/index.d.ts +29 -0
  1292. package/lib/types/solana/generated/core/instructions/initialize.d.ts +99 -0
  1293. package/lib/types/solana/generated/core/instructions/releaseVault.d.ts +54 -0
  1294. package/lib/types/solana/generated/core/instructions/removePrimaryName.d.ts +53 -0
  1295. package/lib/types/solana/generated/core/instructions/removePrimaryNameForBaseName.d.ts +75 -0
  1296. package/lib/types/solana/generated/core/instructions/requestAndSetPrimaryName.d.ts +85 -0
  1297. package/lib/types/solana/generated/core/instructions/requestAndSetPrimaryNameFromFundingPlan.d.ts +98 -0
  1298. package/lib/types/solana/generated/core/instructions/requestPrimaryName.d.ts +68 -0
  1299. package/lib/types/solana/generated/core/instructions/requestPrimaryNameFromFundingPlan.d.ts +90 -0
  1300. package/lib/types/solana/generated/core/instructions/revokeVault.d.ts +54 -0
  1301. package/lib/types/solana/generated/core/instructions/transfer.d.ts +43 -0
  1302. package/lib/types/solana/generated/core/instructions/updateConfig.d.ts +59 -0
  1303. package/lib/types/solana/generated/core/instructions/vaultedTransfer.d.ts +76 -0
  1304. package/lib/types/solana/generated/core/pdas/balance.d.ts +14 -0
  1305. package/lib/types/solana/generated/core/pdas/config.d.ts +11 -0
  1306. package/lib/types/solana/generated/core/pdas/index.d.ts +15 -0
  1307. package/lib/types/solana/generated/core/pdas/primaryName.d.ts +14 -0
  1308. package/lib/types/solana/generated/core/pdas/primaryNameReverse.d.ts +14 -0
  1309. package/lib/types/solana/generated/core/pdas/recipientVaultCounter.d.ts +14 -0
  1310. package/lib/types/solana/generated/core/pdas/request.d.ts +14 -0
  1311. package/lib/types/solana/generated/core/pdas/requestAndSetPrimaryNamePrimaryName.d.ts +14 -0
  1312. package/lib/types/solana/generated/core/pdas/vaultCounter.d.ts +14 -0
  1313. package/lib/types/solana/generated/core/program-address.d.ts +7 -0
  1314. package/lib/types/solana/generated/core/types/fundingSourceKind.d.ts +26 -0
  1315. package/lib/types/solana/generated/core/types/fundingSourceSpec.d.ts +21 -0
  1316. package/lib/types/solana/generated/core/types/index.d.ts +9 -0
  1317. package/lib/types/solana/generated/gar/accounts/allowlistEntry.d.ts +36 -0
  1318. package/lib/types/solana/generated/gar/accounts/delegation.d.ts +42 -0
  1319. package/lib/types/solana/generated/gar/accounts/epoch.d.ts +118 -0
  1320. package/lib/types/solana/generated/gar/accounts/epochSettings.d.ts +120 -0
  1321. package/lib/types/solana/generated/gar/accounts/gateway.d.ts +106 -0
  1322. package/lib/types/solana/generated/gar/accounts/gatewayRegistry.d.ts +59 -0
  1323. package/lib/types/solana/generated/gar/accounts/gatewaySettings.d.ts +94 -0
  1324. package/lib/types/solana/generated/gar/accounts/index.d.ts +19 -0
  1325. package/lib/types/solana/generated/gar/accounts/observation.d.ts +54 -0
  1326. package/lib/types/solana/generated/gar/accounts/observerLookup.d.ts +32 -0
  1327. package/lib/types/solana/generated/gar/accounts/redelegationRecord.d.ts +44 -0
  1328. package/lib/types/solana/generated/gar/accounts/withdrawal.d.ts +82 -0
  1329. package/lib/types/solana/generated/gar/accounts/withdrawalCounter.d.ts +34 -0
  1330. package/lib/types/solana/generated/gar/errors/arioGar.d.ts +188 -0
  1331. package/lib/types/solana/generated/gar/errors/index.d.ts +8 -0
  1332. package/lib/types/solana/generated/gar/events/allowlistToggledEvent.d.ts +24 -0
  1333. package/lib/types/solana/generated/gar/events/delegateAllowlistedEvent.d.ts +26 -0
  1334. package/lib/types/solana/generated/gar/events/delegationClosedEvent.d.ts +24 -0
  1335. package/lib/types/solana/generated/gar/events/delegationDecreasedEvent.d.ts +28 -0
  1336. package/lib/types/solana/generated/gar/events/delegationEvent.d.ts +28 -0
  1337. package/lib/types/solana/generated/gar/events/epochClosedEvent.d.ts +24 -0
  1338. package/lib/types/solana/generated/gar/events/epochCreatedEvent.d.ts +26 -0
  1339. package/lib/types/solana/generated/gar/events/epochDistributedEvent.d.ts +26 -0
  1340. package/lib/types/solana/generated/gar/events/epochPrescribedEvent.d.ts +28 -0
  1341. package/lib/types/solana/generated/gar/events/epochWeightsTalliedEvent.d.ts +26 -0
  1342. package/lib/types/solana/generated/gar/events/epochsToggledEvent.d.ts +24 -0
  1343. package/lib/types/solana/generated/gar/events/fundingPlanAppliedEvent.d.ts +28 -0
  1344. package/lib/types/solana/generated/gar/events/garMigrationFinalizedEvent.d.ts +26 -0
  1345. package/lib/types/solana/generated/gar/events/gatewayFinalizedEvent.d.ts +24 -0
  1346. package/lib/types/solana/generated/gar/events/gatewayJoinedEvent.d.ts +26 -0
  1347. package/lib/types/solana/generated/gar/events/gatewayLeavingEvent.d.ts +22 -0
  1348. package/lib/types/solana/generated/gar/events/gatewayPrunedEvent.d.ts +26 -0
  1349. package/lib/types/solana/generated/gar/events/gatewaySettingsUpdatedEvent.d.ts +24 -0
  1350. package/lib/types/solana/generated/gar/events/index.d.ts +30 -0
  1351. package/lib/types/solana/generated/gar/events/instantWithdrawalEvent.d.ts +30 -0
  1352. package/lib/types/solana/generated/gar/events/observationSubmittedEvent.d.ts +28 -0
  1353. package/lib/types/solana/generated/gar/events/observerAddressUpdatedEvent.d.ts +24 -0
  1354. package/lib/types/solana/generated/gar/events/operatorStakeIncreasedEvent.d.ts +26 -0
  1355. package/lib/types/solana/generated/gar/events/redelegationEvent.d.ts +30 -0
  1356. package/lib/types/solana/generated/gar/events/residueVaultCreatedEvent.d.ts +30 -0
  1357. package/lib/types/solana/generated/gar/events/rewardsCompoundedEvent.d.ts +26 -0
  1358. package/lib/types/solana/generated/gar/events/stakePaymentEvent.d.ts +28 -0
  1359. package/lib/types/solana/generated/gar/events/withdrawalCancelledEvent.d.ts +30 -0
  1360. package/lib/types/solana/generated/gar/events/withdrawalClaimedEvent.d.ts +26 -0
  1361. package/lib/types/solana/generated/gar/events/withdrawalCreatedEvent.d.ts +28 -0
  1362. package/lib/types/solana/generated/gar/events/withdrawalPaymentEvent.d.ts +28 -0
  1363. package/lib/types/solana/generated/gar/index.d.ts +10 -0
  1364. package/lib/types/solana/generated/gar/instructions/adminRepairSettings.d.ts +55 -0
  1365. package/lib/types/solana/generated/gar/instructions/allowDelegate.d.ts +51 -0
  1366. package/lib/types/solana/generated/gar/instructions/cancelWithdrawal.d.ts +63 -0
  1367. package/lib/types/solana/generated/gar/instructions/claimDelegateFromLeavingGateway.d.ts +93 -0
  1368. package/lib/types/solana/generated/gar/instructions/claimWithdrawal.d.ts +54 -0
  1369. package/lib/types/solana/generated/gar/instructions/closeDrainedWithdrawal.d.ts +53 -0
  1370. package/lib/types/solana/generated/gar/instructions/closeEmptyDelegation.d.ts +51 -0
  1371. package/lib/types/solana/generated/gar/instructions/closeEpoch.d.ts +50 -0
  1372. package/lib/types/solana/generated/gar/instructions/closeObservation.d.ts +50 -0
  1373. package/lib/types/solana/generated/gar/instructions/compoundDelegationRewards.d.ts +37 -0
  1374. package/lib/types/solana/generated/gar/instructions/createEpoch.d.ts +63 -0
  1375. package/lib/types/solana/generated/gar/instructions/createGatewayRegistry.d.ts +48 -0
  1376. package/lib/types/solana/generated/gar/instructions/decreaseDelegateStake.d.ts +62 -0
  1377. package/lib/types/solana/generated/gar/instructions/decreaseOperatorStake.d.ts +59 -0
  1378. package/lib/types/solana/generated/gar/instructions/deductDelegationForPayment.d.ts +65 -0
  1379. package/lib/types/solana/generated/gar/instructions/deductOperatorStakeForPayment.d.ts +62 -0
  1380. package/lib/types/solana/generated/gar/instructions/deductWithdrawalForPayment.d.ts +62 -0
  1381. package/lib/types/solana/generated/gar/instructions/delegateStake.d.ts +65 -0
  1382. package/lib/types/solana/generated/gar/instructions/disallowDelegate.d.ts +48 -0
  1383. package/lib/types/solana/generated/gar/instructions/distributeEpoch.d.ts +74 -0
  1384. package/lib/types/solana/generated/gar/instructions/finalizeGone.d.ts +72 -0
  1385. package/lib/types/solana/generated/gar/instructions/finalizeMigration.d.ts +42 -0
  1386. package/lib/types/solana/generated/gar/instructions/importAccount.d.ts +60 -0
  1387. package/lib/types/solana/generated/gar/instructions/importRegistryEntry.d.ts +58 -0
  1388. package/lib/types/solana/generated/gar/instructions/increaseOperatorStake.d.ts +59 -0
  1389. package/lib/types/solana/generated/gar/instructions/index.d.ts +50 -0
  1390. package/lib/types/solana/generated/gar/instructions/initialize.d.ts +102 -0
  1391. package/lib/types/solana/generated/gar/instructions/initializeEpochs.d.ts +91 -0
  1392. package/lib/types/solana/generated/gar/instructions/instantWithdrawal.d.ts +57 -0
  1393. package/lib/types/solana/generated/gar/instructions/joinNetwork.d.ts +123 -0
  1394. package/lib/types/solana/generated/gar/instructions/leaveNetwork.d.ts +135 -0
  1395. package/lib/types/solana/generated/gar/instructions/migrateSettingsSetArnsProgramId.d.ts +71 -0
  1396. package/lib/types/solana/generated/gar/instructions/migrateSettingsSupplyCounters.d.ts +55 -0
  1397. package/lib/types/solana/generated/gar/instructions/payFromFundingPlan.d.ts +116 -0
  1398. package/lib/types/solana/generated/gar/instructions/prescribeEpoch.d.ts +68 -0
  1399. package/lib/types/solana/generated/gar/instructions/pruneGateway.d.ts +120 -0
  1400. package/lib/types/solana/generated/gar/instructions/redelegateStake.d.ts +116 -0
  1401. package/lib/types/solana/generated/gar/instructions/releaseTreasuryAuthority.d.ts +74 -0
  1402. package/lib/types/solana/generated/gar/instructions/saveObservations.d.ts +65 -0
  1403. package/lib/types/solana/generated/gar/instructions/setAllowlistEnabled.d.ts +50 -0
  1404. package/lib/types/solana/generated/gar/instructions/setEpochsEnabled.d.ts +47 -0
  1405. package/lib/types/solana/generated/gar/instructions/tallyWeights.d.ts +56 -0
  1406. package/lib/types/solana/generated/gar/instructions/updateGatewaySettings.d.ts +83 -0
  1407. package/lib/types/solana/generated/gar/instructions/updateObserverAddress.d.ts +56 -0
  1408. package/lib/types/solana/generated/gar/pdas/allowlistEntry.d.ts +15 -0
  1409. package/lib/types/solana/generated/gar/pdas/decreaseOperatorStakeWithdrawalCounter.d.ts +14 -0
  1410. package/lib/types/solana/generated/gar/pdas/epoch.d.ts +14 -0
  1411. package/lib/types/solana/generated/gar/pdas/epochSettings.d.ts +11 -0
  1412. package/lib/types/solana/generated/gar/pdas/gateway.d.ts +14 -0
  1413. package/lib/types/solana/generated/gar/pdas/index.d.ts +19 -0
  1414. package/lib/types/solana/generated/gar/pdas/newObserverLookup.d.ts +14 -0
  1415. package/lib/types/solana/generated/gar/pdas/observation.d.ts +15 -0
  1416. package/lib/types/solana/generated/gar/pdas/payFromFundingPlanWithdrawalCounter.d.ts +14 -0
  1417. package/lib/types/solana/generated/gar/pdas/redelegationRecord.d.ts +14 -0
  1418. package/lib/types/solana/generated/gar/pdas/registry.d.ts +11 -0
  1419. package/lib/types/solana/generated/gar/pdas/settings.d.ts +11 -0
  1420. package/lib/types/solana/generated/gar/pdas/withdrawalCounter.d.ts +14 -0
  1421. package/lib/types/solana/generated/gar/program-address.d.ts +7 -0
  1422. package/lib/types/solana/generated/gar/types/fundingSourceKind.d.ts +26 -0
  1423. package/lib/types/solana/generated/gar/types/fundingSourceSpec.d.ts +21 -0
  1424. package/lib/types/solana/generated/gar/types/gatewaySettings2.d.ts +32 -0
  1425. package/lib/types/solana/generated/gar/types/gatewaySlot.d.ts +37 -0
  1426. package/lib/types/solana/generated/gar/types/gatewayStats.d.ts +22 -0
  1427. package/lib/types/solana/generated/gar/types/gatewayStatus.d.ts +17 -0
  1428. package/lib/types/solana/generated/gar/types/gatewayWeights.d.ts +48 -0
  1429. package/lib/types/solana/generated/gar/types/index.d.ts +16 -0
  1430. package/lib/types/solana/generated/gar/types/protocol.d.ts +16 -0
  1431. package/lib/types/solana/generated/gar/types/registryIndex.d.ts +25 -0
  1432. package/lib/types/solana/generated/mpl-core/accounts/assetV1.d.ts +37 -0
  1433. package/lib/types/solana/generated/mpl-core/accounts/collectionV1.d.ts +37 -0
  1434. package/lib/types/solana/generated/mpl-core/accounts/hashedAssetV1.d.ts +30 -0
  1435. package/lib/types/solana/generated/mpl-core/accounts/index.d.ts +12 -0
  1436. package/lib/types/solana/generated/mpl-core/accounts/pluginHeaderV1.d.ts +30 -0
  1437. package/lib/types/solana/generated/mpl-core/accounts/pluginRegistryV1.d.ts +31 -0
  1438. package/lib/types/solana/generated/mpl-core/errors/index.d.ts +8 -0
  1439. package/lib/types/solana/generated/mpl-core/errors/mplCore.d.ts +133 -0
  1440. package/lib/types/solana/generated/mpl-core/index.d.ts +8 -0
  1441. package/lib/types/solana/generated/mpl-core/instructions/addCollectionExternalPluginAdapterV1.d.ts +56 -0
  1442. package/lib/types/solana/generated/mpl-core/instructions/addCollectionPluginV1.d.ts +59 -0
  1443. package/lib/types/solana/generated/mpl-core/instructions/addExternalPluginAdapterV1.d.ts +60 -0
  1444. package/lib/types/solana/generated/mpl-core/instructions/addPluginV1.d.ts +63 -0
  1445. package/lib/types/solana/generated/mpl-core/instructions/approveCollectionPluginAuthorityV1.d.ts +59 -0
  1446. package/lib/types/solana/generated/mpl-core/instructions/approvePluginAuthorityV1.d.ts +63 -0
  1447. package/lib/types/solana/generated/mpl-core/instructions/burnCollectionV1.d.ts +52 -0
  1448. package/lib/types/solana/generated/mpl-core/instructions/burnV1.d.ts +60 -0
  1449. package/lib/types/solana/generated/mpl-core/instructions/collect.d.ts +39 -0
  1450. package/lib/types/solana/generated/mpl-core/instructions/compressV1.d.ts +55 -0
  1451. package/lib/types/solana/generated/mpl-core/instructions/createCollectionV1.d.ts +58 -0
  1452. package/lib/types/solana/generated/mpl-core/instructions/createCollectionV2.d.ts +61 -0
  1453. package/lib/types/solana/generated/mpl-core/instructions/createV1.d.ts +77 -0
  1454. package/lib/types/solana/generated/mpl-core/instructions/createV2.d.ts +80 -0
  1455. package/lib/types/solana/generated/mpl-core/instructions/decompressV1.d.ts +60 -0
  1456. package/lib/types/solana/generated/mpl-core/instructions/executeV1.d.ts +63 -0
  1457. package/lib/types/solana/generated/mpl-core/instructions/index.d.ts +40 -0
  1458. package/lib/types/solana/generated/mpl-core/instructions/removeCollectionExternalPluginAdapterV1.d.ts +56 -0
  1459. package/lib/types/solana/generated/mpl-core/instructions/removeCollectionPluginV1.d.ts +56 -0
  1460. package/lib/types/solana/generated/mpl-core/instructions/removeExternalPluginAdapterV1.d.ts +60 -0
  1461. package/lib/types/solana/generated/mpl-core/instructions/removePluginV1.d.ts +60 -0
  1462. package/lib/types/solana/generated/mpl-core/instructions/revokeCollectionPluginAuthorityV1.d.ts +56 -0
  1463. package/lib/types/solana/generated/mpl-core/instructions/revokePluginAuthorityV1.d.ts +60 -0
  1464. package/lib/types/solana/generated/mpl-core/instructions/transferV1.d.ts +64 -0
  1465. package/lib/types/solana/generated/mpl-core/instructions/updateCollectionExternalPluginAdapterV1.d.ts +59 -0
  1466. package/lib/types/solana/generated/mpl-core/instructions/updateCollectionInfoV1.d.ts +47 -0
  1467. package/lib/types/solana/generated/mpl-core/instructions/updateCollectionPluginV1.d.ts +56 -0
  1468. package/lib/types/solana/generated/mpl-core/instructions/updateCollectionV1.d.ts +62 -0
  1469. package/lib/types/solana/generated/mpl-core/instructions/updateExternalPluginAdapterV1.d.ts +63 -0
  1470. package/lib/types/solana/generated/mpl-core/instructions/updatePluginV1.d.ts +60 -0
  1471. package/lib/types/solana/generated/mpl-core/instructions/updateV1.d.ts +66 -0
  1472. package/lib/types/solana/generated/mpl-core/instructions/updateV2.d.ts +70 -0
  1473. package/lib/types/solana/generated/mpl-core/instructions/writeCollectionExternalPluginAdapterDataV1.d.ts +63 -0
  1474. package/lib/types/solana/generated/mpl-core/instructions/writeExternalPluginAdapterDataV1.d.ts +67 -0
  1475. package/lib/types/solana/generated/mpl-core/program-address.d.ts +7 -0
  1476. package/lib/types/solana/generated/mpl-core/types/addAssetsToGroupV1Args.d.ts +13 -0
  1477. package/lib/types/solana/generated/mpl-core/types/addBlocker.d.ts +13 -0
  1478. package/lib/types/solana/generated/mpl-core/types/addCollectionsToGroupV1Args.d.ts +13 -0
  1479. package/lib/types/solana/generated/mpl-core/types/addGroupsToGroupV1Args.d.ts +15 -0
  1480. package/lib/types/solana/generated/mpl-core/types/agentIdentity.d.ts +15 -0
  1481. package/lib/types/solana/generated/mpl-core/types/agentIdentityInitInfo.d.ts +22 -0
  1482. package/lib/types/solana/generated/mpl-core/types/agentIdentityUpdateInfo.d.ts +20 -0
  1483. package/lib/types/solana/generated/mpl-core/types/appData.d.ts +20 -0
  1484. package/lib/types/solana/generated/mpl-core/types/appDataInitInfo.d.ts +22 -0
  1485. package/lib/types/solana/generated/mpl-core/types/appDataUpdateInfo.d.ts +18 -0
  1486. package/lib/types/solana/generated/mpl-core/types/attribute.d.ts +16 -0
  1487. package/lib/types/solana/generated/mpl-core/types/attributes.d.ts +18 -0
  1488. package/lib/types/solana/generated/mpl-core/types/authority.d.ts +29 -0
  1489. package/lib/types/solana/generated/mpl-core/types/autograph.d.ts +18 -0
  1490. package/lib/types/solana/generated/mpl-core/types/autographSignature.d.ts +16 -0
  1491. package/lib/types/solana/generated/mpl-core/types/bubblegumV2.d.ts +13 -0
  1492. package/lib/types/solana/generated/mpl-core/types/burnDelegate.d.ts +13 -0
  1493. package/lib/types/solana/generated/mpl-core/types/closeGroupV1Args.d.ts +13 -0
  1494. package/lib/types/solana/generated/mpl-core/types/compressionProof.d.ts +28 -0
  1495. package/lib/types/solana/generated/mpl-core/types/creator.d.ts +16 -0
  1496. package/lib/types/solana/generated/mpl-core/types/dataSection.d.ts +20 -0
  1497. package/lib/types/solana/generated/mpl-core/types/dataSectionInitInfo.d.ts +20 -0
  1498. package/lib/types/solana/generated/mpl-core/types/dataSectionUpdateInfo.d.ts +13 -0
  1499. package/lib/types/solana/generated/mpl-core/types/dataState.d.ts +16 -0
  1500. package/lib/types/solana/generated/mpl-core/types/edition.d.ts +15 -0
  1501. package/lib/types/solana/generated/mpl-core/types/externalCheckResult.d.ts +15 -0
  1502. package/lib/types/solana/generated/mpl-core/types/externalPluginAdapter.d.ts +66 -0
  1503. package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterInitInfo.d.ts +66 -0
  1504. package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterKey.d.ts +64 -0
  1505. package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterSchema.d.ts +17 -0
  1506. package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterType.d.ts +21 -0
  1507. package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterUpdateInfo.d.ts +59 -0
  1508. package/lib/types/solana/generated/mpl-core/types/externalRegistryRecord.d.ts +28 -0
  1509. package/lib/types/solana/generated/mpl-core/types/externalValidationResult.d.ts +17 -0
  1510. package/lib/types/solana/generated/mpl-core/types/extraAccount.d.ts +86 -0
  1511. package/lib/types/solana/generated/mpl-core/types/freezeDelegate.d.ts +15 -0
  1512. package/lib/types/solana/generated/mpl-core/types/freezeExecute.d.ts +15 -0
  1513. package/lib/types/solana/generated/mpl-core/types/groups.d.ts +15 -0
  1514. package/lib/types/solana/generated/mpl-core/types/hashablePluginSchema.d.ts +22 -0
  1515. package/lib/types/solana/generated/mpl-core/types/hashedAssetSchema.d.ts +16 -0
  1516. package/lib/types/solana/generated/mpl-core/types/hookableLifecycleEvent.d.ts +19 -0
  1517. package/lib/types/solana/generated/mpl-core/types/immutableMetadata.d.ts +13 -0
  1518. package/lib/types/solana/generated/mpl-core/types/index.d.ts +89 -0
  1519. package/lib/types/solana/generated/mpl-core/types/key.d.ts +21 -0
  1520. package/lib/types/solana/generated/mpl-core/types/lifecycleHook.d.ts +24 -0
  1521. package/lib/types/solana/generated/mpl-core/types/lifecycleHookInitInfo.d.ts +28 -0
  1522. package/lib/types/solana/generated/mpl-core/types/lifecycleHookUpdateInfo.d.ts +22 -0
  1523. package/lib/types/solana/generated/mpl-core/types/linkedAppData.d.ts +20 -0
  1524. package/lib/types/solana/generated/mpl-core/types/linkedAppDataInitInfo.d.ts +22 -0
  1525. package/lib/types/solana/generated/mpl-core/types/linkedAppDataUpdateInfo.d.ts +18 -0
  1526. package/lib/types/solana/generated/mpl-core/types/linkedDataKey.d.ts +31 -0
  1527. package/lib/types/solana/generated/mpl-core/types/linkedLifecycleHook.d.ts +24 -0
  1528. package/lib/types/solana/generated/mpl-core/types/linkedLifecycleHookInitInfo.d.ts +28 -0
  1529. package/lib/types/solana/generated/mpl-core/types/linkedLifecycleHookUpdateInfo.d.ts +22 -0
  1530. package/lib/types/solana/generated/mpl-core/types/masterEdition.d.ts +21 -0
  1531. package/lib/types/solana/generated/mpl-core/types/oracle.d.ts +22 -0
  1532. package/lib/types/solana/generated/mpl-core/types/oracleInitInfo.d.ts +26 -0
  1533. package/lib/types/solana/generated/mpl-core/types/oracleUpdateInfo.d.ts +22 -0
  1534. package/lib/types/solana/generated/mpl-core/types/oracleValidation.d.ts +35 -0
  1535. package/lib/types/solana/generated/mpl-core/types/permanentBurnDelegate.d.ts +13 -0
  1536. package/lib/types/solana/generated/mpl-core/types/permanentFreezeDelegate.d.ts +15 -0
  1537. package/lib/types/solana/generated/mpl-core/types/permanentFreezeExecute.d.ts +15 -0
  1538. package/lib/types/solana/generated/mpl-core/types/permanentTransferDelegate.d.ts +13 -0
  1539. package/lib/types/solana/generated/mpl-core/types/plugin.d.ts +150 -0
  1540. package/lib/types/solana/generated/mpl-core/types/pluginAuthorityPair.d.ts +20 -0
  1541. package/lib/types/solana/generated/mpl-core/types/pluginType.d.ts +33 -0
  1542. package/lib/types/solana/generated/mpl-core/types/registryRecord.d.ts +22 -0
  1543. package/lib/types/solana/generated/mpl-core/types/relationshipKind.d.ts +18 -0
  1544. package/lib/types/solana/generated/mpl-core/types/removeAssetsFromGroupV1Args.d.ts +15 -0
  1545. package/lib/types/solana/generated/mpl-core/types/removeCollectionsFromGroupV1Args.d.ts +15 -0
  1546. package/lib/types/solana/generated/mpl-core/types/removeGroupsFromGroupV1Args.d.ts +15 -0
  1547. package/lib/types/solana/generated/mpl-core/types/royalties.d.ts +22 -0
  1548. package/lib/types/solana/generated/mpl-core/types/ruleSet.d.ts +27 -0
  1549. package/lib/types/solana/generated/mpl-core/types/seed.d.ts +36 -0
  1550. package/lib/types/solana/generated/mpl-core/types/transferDelegate.d.ts +13 -0
  1551. package/lib/types/solana/generated/mpl-core/types/updateAuthority.d.ts +27 -0
  1552. package/lib/types/solana/generated/mpl-core/types/updateDelegate.d.ts +15 -0
  1553. package/lib/types/solana/generated/mpl-core/types/updateGroupV1Args.d.ts +19 -0
  1554. package/lib/types/solana/generated/mpl-core/types/updateType.d.ts +17 -0
  1555. package/lib/types/solana/generated/mpl-core/types/validationResult.d.ts +18 -0
  1556. package/lib/types/solana/generated/mpl-core/types/validationResultsOffset.d.ts +33 -0
  1557. package/lib/types/solana/generated/mpl-core/types/verifiedCreators.d.ts +18 -0
  1558. package/lib/types/solana/generated/mpl-core/types/verifiedCreatorsSignature.d.ts +16 -0
  1559. package/lib/types/solana/index.d.ts +63 -0
  1560. package/lib/types/solana/instruction.d.ts +24 -0
  1561. package/lib/types/solana/io-readable.d.ts +224 -0
  1562. package/lib/types/solana/io-writeable.d.ts +430 -0
  1563. package/lib/types/solana/json-rpc.d.ts +32 -0
  1564. package/lib/types/solana/metadata.d.ts +69 -0
  1565. package/lib/types/solana/mpl-core.d.ts +76 -0
  1566. package/lib/types/solana/pda.d.ts +95 -0
  1567. package/lib/types/solana/send.d.ts +45 -0
  1568. package/lib/types/solana/spawn-ant.d.ts +130 -0
  1569. package/lib/types/solana/types.d.ts +67 -0
  1570. package/lib/types/types/ant-registry.d.ts +39 -0
  1571. package/lib/types/types/ant.d.ts +22 -4
  1572. package/lib/types/types/io.d.ts +56 -1
  1573. package/lib/types/version.d.ts +1 -1
  1574. package/package.json +22 -4
@@ -0,0 +1,1994 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.SolanaARIOWriteable = void 0;
37
+ exports.splitPrimaryName = splitPrimaryName;
38
+ /**
39
+ * Solana implementation of AoARIOWrite interface.
40
+ *
41
+ * Extends SolanaARIOReadable with write operations that build and send
42
+ * Solana transactions via Codama-generated instruction builders.
43
+ *
44
+ * All instruction encoding (discriminators, account ordering, Borsh codecs,
45
+ * default value resolution for token/system programs) is delegated to the
46
+ * generated builders in `./generated/{core,gar,arns}/instructions/`. The
47
+ * builders are derived from the on-chain IDL and stay in sync via codegen.
48
+ *
49
+ * This file's job is just to:
50
+ * 1. Translate the AO-style SDK params into the builder's input shape.
51
+ * 2. Pre-derive the PDAs that the *Async builders can't infer (the ones
52
+ * whose seeds depend on runtime state — e.g. the next withdrawal id
53
+ * from the on-chain counter, or the buyer's ATA from a runtime mint).
54
+ * 3. Append remaining_accounts (gateway PDAs, name registry) for the
55
+ * epoch crank instructions, since Codama doesn't generate a typed
56
+ * surface for them.
57
+ */
58
+ const kit_1 = require("@solana/kit");
59
+ const ata_js_1 = require("./ata.js");
60
+ const deserialize_js_1 = require("./deserialize.js");
61
+ const funding_plan_js_1 = require("./funding-plan.js");
62
+ const index_js_1 = require("./generated/arns/instructions/index.js");
63
+ const index_js_2 = require("./generated/arns/types/index.js");
64
+ const index_js_3 = require("./generated/gar/types/index.js");
65
+ /** Maps the SDK's user-facing FundingSourceKind string union to the
66
+ * Codama-generated enum used by the on-chain ix payload. */
67
+ function toGeneratedFundingSourceSpec(s) {
68
+ const kindMap = {
69
+ balance: index_js_3.FundingSourceKind.Balance,
70
+ delegation: index_js_3.FundingSourceKind.Delegation,
71
+ operatorStake: index_js_3.FundingSourceKind.OperatorStake,
72
+ withdrawal: index_js_3.FundingSourceKind.Withdrawal,
73
+ };
74
+ return { kind: kindMap[s.kind], amount: s.amount };
75
+ }
76
+ const syncAttributes_js_1 = require("./generated/ant/instructions/syncAttributes.js");
77
+ const index_js_4 = require("./generated/core/instructions/index.js");
78
+ const delegation_js_1 = require("./generated/gar/accounts/delegation.js");
79
+ const gateway_js_1 = require("./generated/gar/accounts/gateway.js");
80
+ const index_js_5 = require("./generated/gar/instructions/index.js");
81
+ const index_js_6 = require("./generated/gar/types/index.js");
82
+ const io_readable_js_1 = require("./io-readable.js");
83
+ const pda_js_1 = require("./pda.js");
84
+ const send_js_1 = require("./send.js");
85
+ const addressDecoder = (0, kit_1.getAddressDecoder)();
86
+ /** Resolve mARIOToken | number to a plain number */
87
+ function toAmount(qty) {
88
+ if (typeof qty === 'number')
89
+ return qty;
90
+ return qty.valueOf();
91
+ }
92
+ /**
93
+ * Append additional `AccountMeta`s to a Codama-generated instruction.
94
+ *
95
+ * The generated `getXInstruction[Async]` builders return frozen objects with
96
+ * a typed, fixed `accounts` tuple. The Solana program accepts extra
97
+ * `remaining_accounts` for epoch crank ops (gateway PDAs, name registry) and
98
+ * for primary-name authorization (arnsRecord, demandFactor, antRecord — see
99
+ * `_buildPrimaryNameValidationAccounts`), but
100
+ * Codama has no typed surface for them — so we splice them in here.
101
+ */
102
+ function withRemainingAccounts(ix, remaining) {
103
+ const accounts = [
104
+ ...(ix.accounts ?? []),
105
+ ...remaining,
106
+ ];
107
+ return { ...ix, accounts };
108
+ }
109
+ /**
110
+ * Split a primary name into its undername + base parts using the same rule
111
+ * as the on-chain `splitn(2, '_')` in `programs/ario-core/src/instructions/primary_name.rs`:
112
+ * everything before the first '_' is the undername, the rest is the base.
113
+ *
114
+ * Exposed as a top-level helper so it can be unit-tested without spinning up
115
+ * an `SolanaARIOWriteable`. Lowercases the input to match contract behavior.
116
+ */
117
+ function splitPrimaryName(name) {
118
+ const lower = name.toLowerCase();
119
+ const ix = lower.indexOf('_');
120
+ if (ix === -1) {
121
+ return { isUndername: false, baseName: lower, undername: null };
122
+ }
123
+ return {
124
+ isUndername: true,
125
+ baseName: lower.slice(ix + 1),
126
+ undername: lower.slice(0, ix),
127
+ };
128
+ }
129
+ /**
130
+ * Solana-backed read-write client for the AR.IO protocol.
131
+ *
132
+ * Usage:
133
+ * ```ts
134
+ * import {
135
+ * createSolanaRpc,
136
+ * createSolanaRpcSubscriptions,
137
+ * generateKeyPairSigner,
138
+ * } from '@solana/kit';
139
+ * import { SolanaARIOWriteable } from '@ar.io/sdk/solana';
140
+ *
141
+ * const rpc = createSolanaRpc('https://api.mainnet-beta.solana.com');
142
+ * const rpcSubscriptions = createSolanaRpcSubscriptions('wss://api.mainnet-beta.solana.com');
143
+ * const signer = await generateKeyPairSigner();
144
+ * const ario = new SolanaARIOWriteable({ rpc, rpcSubscriptions, signer });
145
+ *
146
+ * await ario.transfer({ target: 'RecipientPubkey...', qty: 100_000_000 });
147
+ * ```
148
+ */
149
+ class SolanaARIOWriteable extends io_readable_js_1.SolanaARIOReadable {
150
+ signer;
151
+ rpcSubscriptions;
152
+ constructor(config) {
153
+ super(config);
154
+ this.signer = config.signer;
155
+ this.rpcSubscriptions = config.rpcSubscriptions;
156
+ }
157
+ /** The signer's on-chain address. */
158
+ get signerAddress() {
159
+ return this.signer.address;
160
+ }
161
+ async sendTransaction(instructions, computeUnitLimit = 400_000) {
162
+ return (0, send_js_1.sendAndConfirm)({
163
+ rpc: this.rpc,
164
+ rpcSubscriptions: this.rpcSubscriptions,
165
+ signer: this.signer,
166
+ instructions,
167
+ commitment: this.commitment,
168
+ computeUnitLimit,
169
+ });
170
+ }
171
+ /** Helper to get the ARIO mint and treasury from ArioConfig */
172
+ async getCoreConfig() {
173
+ const [configPda] = await (0, pda_js_1.getArioConfigPDA)(this.coreProgram);
174
+ const account = await (0, kit_1.fetchEncodedAccount)(this.rpc, configPda, {
175
+ commitment: this.commitment,
176
+ });
177
+ if (!account.exists)
178
+ throw new Error('ArioConfig not found');
179
+ const data = Buffer.from(account.data);
180
+ // ArioConfig: [8 disc][32 authority][32 mint][32 arns_program][32 treasury]
181
+ const mint = addressDecoder.decode(data.subarray(40, 72));
182
+ const treasury = addressDecoder.decode(data.subarray(104, 136));
183
+ return { mint, treasury };
184
+ }
185
+ async getMint() {
186
+ return (await this.getCoreConfig()).mint;
187
+ }
188
+ /** Helper to get ArNS config fields (mint and treasury) */
189
+ async getArnsConfig() {
190
+ const [settingsPda] = await (0, pda_js_1.getArnsSettingsPDA)(this.arnsProgram);
191
+ const account = await (0, kit_1.fetchEncodedAccount)(this.rpc, settingsPda, {
192
+ commitment: this.commitment,
193
+ });
194
+ if (!account.exists)
195
+ throw new Error('ArnsConfig not found');
196
+ const data = Buffer.from(account.data);
197
+ // ArnsConfig layout: [8 disc][32 authority][32 mint][32 treasury]...
198
+ const mint = addressDecoder.decode(data.subarray(40, 72));
199
+ const treasury = addressDecoder.decode(data.subarray(72, 104));
200
+ return { mint, treasury };
201
+ }
202
+ /** Helper to get GAR config fields (mint, stake pool, protocol pool) */
203
+ async getGarConfig() {
204
+ const [settingsPda] = await (0, pda_js_1.getGarSettingsPDA)(this.garProgram);
205
+ const account = await (0, kit_1.fetchEncodedAccount)(this.rpc, settingsPda, {
206
+ commitment: this.commitment,
207
+ });
208
+ if (!account.exists)
209
+ throw new Error('GarSettings not found');
210
+ const data = Buffer.from(account.data);
211
+ // GarSettings: [8 disc][32 authority][32 mint][8+8+8+8+8+8=48 u64s][4 u32][1 bool]
212
+ // [32 migration_authority][32 stake_token_account][32 protocol_token_account][1 bump]
213
+ const mint = addressDecoder.decode(data.subarray(40, 72));
214
+ const stakeTokenAccount = addressDecoder.decode(data.subarray(157, 189));
215
+ const protocolTokenAccount = addressDecoder.decode(data.subarray(189, 221));
216
+ return { mint, stakeTokenAccount, protocolTokenAccount };
217
+ }
218
+ // =========================================
219
+ // Codama default-PDA injection helpers
220
+ // =========================================
221
+ //
222
+ // Codama's auto-generated `getXInstructionAsync` builders fall back to
223
+ // calling `find<Account>Pda()` (no args) when a "defaultable" account is
224
+ // omitted from the input. Those `find*Pda` helpers default to the
225
+ // **placeholder** program addresses baked into the generated client
226
+ // (`ARioArnsProgXXX...`, `ArioCoreProgXXX...`, etc.), *not* the env- or
227
+ // constructor-overridden program ID we actually deploy at. The result is a
228
+ // PDA derived against the wrong program id, which on-chain shows up as
229
+ // Anchor `AccountNotInitialized` (#3012) for `config` / `demand_factor` /
230
+ // `name_registry` / `settings` / etc.
231
+ //
232
+ // The wrappers below pre-derive each program's defaultable PDAs against
233
+ // the **real** program id and merge them into the input so codama never
234
+ // touches its placeholder defaults. Caller-provided values still win
235
+ // because spread order is `(...defaults, ...input)`.
236
+ /**
237
+ * Inject ARNS default PDAs (config, demandFactor, nameRegistry).
238
+ *
239
+ * Extra fields not consumed by a given builder are harmlessly ignored
240
+ * (codama only reads the named keys from `input`).
241
+ */
242
+ async withArnsDefaults(input) {
243
+ const [config] = await (0, pda_js_1.getArnsSettingsPDA)(this.arnsProgram);
244
+ const [demandFactor] = await (0, pda_js_1.getDemandFactorPDA)(this.arnsProgram);
245
+ const [nameRegistry] = await (0, pda_js_1.getArnsRegistryPDA)(this.arnsProgram);
246
+ return { config, demandFactor, nameRegistry, ...input };
247
+ }
248
+ /** Inject ARIO core default PDAs (config). */
249
+ async withCoreDefaults(input) {
250
+ const [config] = await (0, pda_js_1.getArioConfigPDA)(this.coreProgram);
251
+ return { config, ...input };
252
+ }
253
+ /** Inject GAR default PDAs (settings, epochSettings, registry). */
254
+ async withGarDefaults(input) {
255
+ const [settings] = await (0, pda_js_1.getGarSettingsPDA)(this.garProgram);
256
+ const [epochSettings] = await (0, pda_js_1.getEpochSettingsPDA)(this.garProgram);
257
+ const [registry] = await (0, pda_js_1.getGatewayRegistryPDA)(this.garProgram);
258
+ return { settings, epochSettings, registry, ...input };
259
+ }
260
+ /** Read WithdrawalCounter's next_id (returns 0n if not yet created) */
261
+ async getNextWithdrawalId(owner) {
262
+ const [counterPda] = await (0, pda_js_1.getWithdrawalCounterPDA)(owner, this.garProgram);
263
+ const account = await (0, kit_1.fetchEncodedAccount)(this.rpc, counterPda, {
264
+ commitment: this.commitment,
265
+ });
266
+ if (!account.exists)
267
+ return 0n;
268
+ // WithdrawalCounter: [8 disc][32 owner][8 next_id]
269
+ return Buffer.from(account.data).readBigUInt64LE(40);
270
+ }
271
+ // =========================================
272
+ // Token operations (ario-core)
273
+ // =========================================
274
+ async transfer(params, _options) {
275
+ const amount = toAmount(params.qty);
276
+ const recipient = (0, kit_1.address)(params.target);
277
+ const mint = await this.getMint();
278
+ const fromATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(mint, this.signer.address);
279
+ const toATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(mint, recipient);
280
+ const ix = (0, index_js_4.getTransferInstruction)({
281
+ fromTokenAccount: fromATA,
282
+ toTokenAccount: toATA,
283
+ authority: this.signer,
284
+ amount,
285
+ }, { programAddress: this.coreProgram });
286
+ const sig = await this.sendTransaction([ix]);
287
+ return { id: sig };
288
+ }
289
+ async vaultedTransfer(params, _options) {
290
+ const amount = toAmount(params.quantity);
291
+ const lockSeconds = Math.floor(params.lockLengthMs / 1000);
292
+ const recipient = (0, kit_1.address)(params.recipient);
293
+ const mint = await this.getMint();
294
+ // Vault PDA depends on the recipient's *current* vault counter id, which
295
+ // the codegen builder can't infer — derive it manually.
296
+ const nextId = await this.getNextVaultId(recipient);
297
+ const [vaultPda] = await (0, pda_js_1.getVaultPDA)(recipient, nextId, this.coreProgram);
298
+ const senderATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(mint, this.signer.address);
299
+ const vaultATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(mint, vaultPda, true);
300
+ const ix = await (0, index_js_4.getVaultedTransferInstructionAsync)(await this.withCoreDefaults({
301
+ vault: vaultPda,
302
+ senderTokenAccount: senderATA,
303
+ vaultTokenAccount: vaultATA,
304
+ recipient,
305
+ sender: this.signer,
306
+ amount,
307
+ lockDurationSeconds: lockSeconds,
308
+ revocable: params.revokable ?? false,
309
+ }), { programAddress: this.coreProgram });
310
+ // The on-chain CreateVault / VaultedTransfer constraint is
311
+ // `Account<TokenAccount>` (NOT `init`) — Anchor expects the vault ATA to
312
+ // already exist. Bundle an idempotent CreateAssociatedTokenAccount in
313
+ // the same tx so the caller doesn't need a separate setup step.
314
+ const createVaultAtaIx = (0, ata_js_1.buildCreateAtaIdempotentIx)(this.signer.address, vaultATA, vaultPda, mint);
315
+ const sig = await this.sendTransaction([createVaultAtaIx, ix]);
316
+ return { id: sig };
317
+ }
318
+ async createVault(params, _options) {
319
+ const amount = toAmount(params.quantity);
320
+ const lockSeconds = Math.floor(params.lockLengthMs / 1000);
321
+ const mint = await this.getMint();
322
+ const nextId = await this.getNextVaultId(this.signer.address);
323
+ const [vaultPda] = await (0, pda_js_1.getVaultPDA)(this.signer.address, nextId, this.coreProgram);
324
+ const ownerATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(mint, this.signer.address);
325
+ const vaultATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(mint, vaultPda, true);
326
+ const ix = await (0, index_js_4.getCreateVaultInstructionAsync)(await this.withCoreDefaults({
327
+ vault: vaultPda,
328
+ ownerTokenAccount: ownerATA,
329
+ vaultTokenAccount: vaultATA,
330
+ owner: this.signer,
331
+ amount,
332
+ lockDurationSeconds: lockSeconds,
333
+ }), { programAddress: this.coreProgram });
334
+ // See note in vaultedTransfer above — vault ATA is not init'd by the
335
+ // on-chain handler; bundle the create.
336
+ const createVaultAtaIx = (0, ata_js_1.buildCreateAtaIdempotentIx)(this.signer.address, vaultATA, vaultPda, mint);
337
+ const sig = await this.sendTransaction([createVaultAtaIx, ix]);
338
+ return { id: sig };
339
+ }
340
+ /** Read VaultCounter's next_id (returns 0n if not yet created). */
341
+ async getNextVaultId(owner) {
342
+ // VaultCounter PDA derivation lives in pda.ts as getVaultCounterPDA.
343
+ const { getVaultCounterPDA } = await Promise.resolve().then(() => __importStar(require('./pda.js')));
344
+ const [counterPda] = await getVaultCounterPDA(owner, this.coreProgram);
345
+ const account = await (0, kit_1.fetchEncodedAccount)(this.rpc, counterPda, {
346
+ commitment: this.commitment,
347
+ });
348
+ if (!account.exists)
349
+ return 0n;
350
+ return Buffer.from(account.data).readBigUInt64LE(40);
351
+ }
352
+ async extendVault(params, _options) {
353
+ const additionalSeconds = Math.floor(params.extendLengthMs / 1000);
354
+ const [vaultPda] = await (0, pda_js_1.getVaultPDA)(this.signer.address, BigInt(params.vaultId), this.coreProgram);
355
+ const ix = await (0, index_js_4.getExtendVaultInstructionAsync)(await this.withCoreDefaults({
356
+ vault: vaultPda,
357
+ owner: this.signer,
358
+ additionalSeconds,
359
+ }), { programAddress: this.coreProgram });
360
+ const sig = await this.sendTransaction([ix]);
361
+ return { id: sig };
362
+ }
363
+ async increaseVault(params, _options) {
364
+ const amount = toAmount(params.quantity);
365
+ const mint = await this.getMint();
366
+ const [vaultPda] = await (0, pda_js_1.getVaultPDA)(this.signer.address, BigInt(params.vaultId), this.coreProgram);
367
+ const ownerATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(mint, this.signer.address);
368
+ const vaultATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(mint, vaultPda, true);
369
+ const ix = await (0, index_js_4.getIncreaseVaultInstructionAsync)(await this.withCoreDefaults({
370
+ vault: vaultPda,
371
+ ownerTokenAccount: ownerATA,
372
+ vaultTokenAccount: vaultATA,
373
+ owner: this.signer,
374
+ amount,
375
+ }), { programAddress: this.coreProgram });
376
+ const sig = await this.sendTransaction([ix]);
377
+ return { id: sig };
378
+ }
379
+ async revokeVault(params, _options) {
380
+ const recipient = (0, kit_1.address)(params.recipient);
381
+ const mint = await this.getMint();
382
+ const [vaultPda] = await (0, pda_js_1.getVaultPDA)(recipient, BigInt(params.vaultId), this.coreProgram);
383
+ const vaultATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(mint, vaultPda, true);
384
+ const controllerATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(mint, this.signer.address);
385
+ const ix = await (0, index_js_4.getRevokeVaultInstructionAsync)(await this.withCoreDefaults({
386
+ vault: vaultPda,
387
+ vaultTokenAccount: vaultATA,
388
+ controllerTokenAccount: controllerATA,
389
+ controller: this.signer,
390
+ }), { programAddress: this.coreProgram });
391
+ const sig = await this.sendTransaction([ix]);
392
+ return { id: sig };
393
+ }
394
+ // =========================================
395
+ // Gateway operations (ario-gar)
396
+ // =========================================
397
+ async joinNetwork(params, _options) {
398
+ const garConfig = await this.getGarConfig();
399
+ const operatorATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(garConfig.mint, this.signer.address);
400
+ const observerAddress = params.observerAddress
401
+ ? (0, kit_1.address)(params.observerAddress)
402
+ : this.signer.address;
403
+ const [observerLookupPda] = await (0, pda_js_1.getObserverLookupPDA)(observerAddress, this.garProgram);
404
+ const ix = await (0, index_js_5.getJoinNetworkInstructionAsync)(await this.withGarDefaults({
405
+ operatorTokenAccount: operatorATA,
406
+ stakeTokenAccount: garConfig.stakeTokenAccount,
407
+ observerLookup: observerLookupPda,
408
+ operator: this.signer,
409
+ operatorStake: BigInt(params.operatorStake),
410
+ label: params.label ?? '',
411
+ fqdn: params.fqdn ?? '',
412
+ port: params.port ?? 443,
413
+ protocol: index_js_6.Protocol.Https,
414
+ properties: params.properties ?? null,
415
+ note: params.note ?? null,
416
+ autoStake: params.autoStake ?? false,
417
+ allowDelegatedStaking: params.allowDelegatedStaking === true ||
418
+ params.allowDelegatedStaking === 'allowlist',
419
+ delegateRewardShareRatio: params.delegateRewardShareRatio ?? 0,
420
+ minDelegateStake: params.minDelegatedStake !== undefined
421
+ ? BigInt(params.minDelegatedStake)
422
+ : null,
423
+ observerAddress,
424
+ }), { programAddress: this.garProgram });
425
+ const sig = await this.sendTransaction([ix], 1_000_000);
426
+ return { id: sig };
427
+ }
428
+ async leaveNetwork(_options) {
429
+ // BD-102: leave_network may produce 1 or 2 Withdrawal PDAs. The
430
+ // protected exit vault uses `next_id`; the optional excess vault
431
+ // uses `next_id + 1`. The SDK always derives both PDAs and passes
432
+ // them to the codama-emitted builder — the contract's
433
+ // `Option<UncheckedAccount>` excess slot is consumed only when the
434
+ // post-stake excess is positive. Passing it unconditionally keeps
435
+ // the SDK side stateless (no need to fetch gateway.operator_stake +
436
+ // settings.min_operator_stake to decide).
437
+ const nextId = await this.getNextWithdrawalId(this.signer.address);
438
+ const [exitVaultPda] = await (0, pda_js_1.getWithdrawalPDA)(this.signer.address, nextId, this.garProgram);
439
+ const [excessVaultPda] = await (0, pda_js_1.getWithdrawalPDA)(this.signer.address, nextId + 1n, this.garProgram);
440
+ const ix = await (0, index_js_5.getLeaveNetworkInstructionAsync)(await this.withGarDefaults({
441
+ withdrawal: exitVaultPda,
442
+ excessWithdrawal: excessVaultPda,
443
+ operator: this.signer,
444
+ }), { programAddress: this.garProgram });
445
+ const sig = await this.sendTransaction([ix], 1_000_000);
446
+ return { id: sig };
447
+ }
448
+ async updateGatewaySettings(params, _options) {
449
+ const ix = await (0, index_js_5.getUpdateGatewaySettingsInstructionAsync)(await this.withGarDefaults({
450
+ operator: this.signer,
451
+ label: params.label ?? null,
452
+ fqdn: params.fqdn ?? null,
453
+ port: params.port ?? null,
454
+ // Codama exposes `protocol` as Option<Protocol>. We only ever updated
455
+ // the URL parts above, so leave protocol untouched (None).
456
+ protocol: null,
457
+ properties: params.properties ?? null,
458
+ note: params.note ?? null,
459
+ autoStake: params.autoStake ?? null,
460
+ allowDelegatedStaking: typeof params.allowDelegatedStaking === 'boolean'
461
+ ? params.allowDelegatedStaking
462
+ : null,
463
+ delegateRewardShareRatio: params.delegateRewardShareRatio ?? null,
464
+ minDelegateStake: params.minDelegatedStake !== undefined
465
+ ? BigInt(params.minDelegatedStake)
466
+ : null,
467
+ }), { programAddress: this.garProgram });
468
+ const sig = await this.sendTransaction([ix], 1_000_000);
469
+ return { id: sig };
470
+ }
471
+ async increaseOperatorStake(params, _options) {
472
+ const amount = toAmount(params.increaseQty);
473
+ const garConfig = await this.getGarConfig();
474
+ const operatorATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(garConfig.mint, this.signer.address);
475
+ const ix = await (0, index_js_5.getIncreaseOperatorStakeInstructionAsync)(await this.withGarDefaults({
476
+ operatorTokenAccount: operatorATA,
477
+ stakeTokenAccount: garConfig.stakeTokenAccount,
478
+ operator: this.signer,
479
+ amount,
480
+ }), { programAddress: this.garProgram });
481
+ const sig = await this.sendTransaction([ix], 1_000_000);
482
+ return { id: sig };
483
+ }
484
+ async decreaseOperatorStake(params, _options) {
485
+ const amount = toAmount(params.decreaseQty);
486
+ const nextId = await this.getNextWithdrawalId(this.signer.address);
487
+ const [withdrawalPda] = await (0, pda_js_1.getWithdrawalPDA)(this.signer.address, nextId, this.garProgram);
488
+ const ix = await (0, index_js_5.getDecreaseOperatorStakeInstructionAsync)(await this.withGarDefaults({
489
+ withdrawal: withdrawalPda,
490
+ operator: this.signer,
491
+ amount,
492
+ }), { programAddress: this.garProgram });
493
+ const sig = await this.sendTransaction([ix], 1_000_000);
494
+ return { id: sig };
495
+ }
496
+ async delegateStake(params, _options) {
497
+ const amount = toAmount(params.stakeQty);
498
+ const target = (0, kit_1.address)(params.target);
499
+ const garConfig = await this.getGarConfig();
500
+ const [gatewayPda] = await (0, pda_js_1.getGatewayPDA)(target, this.garProgram);
501
+ const [delegationPda] = await (0, pda_js_1.getDelegationPDA)(target, this.signer.address, this.garProgram);
502
+ const delegatorATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(garConfig.mint, this.signer.address);
503
+ const ix = await (0, index_js_5.getDelegateStakeInstructionAsync)(await this.withGarDefaults({
504
+ gateway: gatewayPda,
505
+ delegation: delegationPda,
506
+ delegatorTokenAccount: delegatorATA,
507
+ stakeTokenAccount: garConfig.stakeTokenAccount,
508
+ delegator: this.signer,
509
+ amount,
510
+ }), { programAddress: this.garProgram });
511
+ const sig = await this.sendTransaction([ix], 1_000_000);
512
+ return { id: sig };
513
+ }
514
+ async decreaseDelegateStake(params, _options) {
515
+ const amount = toAmount(params.decreaseQty);
516
+ const target = (0, kit_1.address)(params.target);
517
+ const [gatewayPda] = await (0, pda_js_1.getGatewayPDA)(target, this.garProgram);
518
+ const [delegationPda] = await (0, pda_js_1.getDelegationPDA)(target, this.signer.address, this.garProgram);
519
+ const nextId = await this.getNextWithdrawalId(this.signer.address);
520
+ const [withdrawalPda] = await (0, pda_js_1.getWithdrawalPDA)(this.signer.address, nextId, this.garProgram);
521
+ const ix = await (0, index_js_5.getDecreaseDelegateStakeInstructionAsync)(await this.withGarDefaults({
522
+ gateway: gatewayPda,
523
+ delegation: delegationPda,
524
+ withdrawal: withdrawalPda,
525
+ delegator: this.signer,
526
+ amount,
527
+ }), { programAddress: this.garProgram });
528
+ const sig = await this.sendTransaction([ix], 1_000_000);
529
+ return { id: sig };
530
+ }
531
+ async instantWithdrawal(params, _options) {
532
+ const garConfig = await this.getGarConfig();
533
+ const [withdrawalPda] = await (0, pda_js_1.getWithdrawalPDA)(this.signer.address, BigInt(params.vaultId), this.garProgram);
534
+ const ownerATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(garConfig.mint, this.signer.address);
535
+ const ix = await (0, index_js_5.getInstantWithdrawalInstructionAsync)(await this.withGarDefaults({
536
+ withdrawal: withdrawalPda,
537
+ stakeTokenAccount: garConfig.stakeTokenAccount,
538
+ ownerTokenAccount: ownerATA,
539
+ protocolTokenAccount: garConfig.protocolTokenAccount,
540
+ owner: this.signer,
541
+ }), { programAddress: this.garProgram });
542
+ const sig = await this.sendTransaction([ix], 1_000_000);
543
+ return { id: sig };
544
+ }
545
+ async cancelWithdrawal(params, _options) {
546
+ const gateway = params.gatewayAddress
547
+ ? (0, kit_1.address)(params.gatewayAddress)
548
+ : this.signer.address;
549
+ const [gatewayPda] = await (0, pda_js_1.getGatewayPDA)(gateway, this.garProgram);
550
+ const [withdrawalPda] = await (0, pda_js_1.getWithdrawalPDA)(this.signer.address, BigInt(params.vaultId), this.garProgram);
551
+ const isDelegate = gateway !== this.signer.address;
552
+ const delegation = isDelegate
553
+ ? (await (0, pda_js_1.getDelegationPDA)(gateway, this.signer.address, this.garProgram))[0]
554
+ : undefined;
555
+ const [settingsPda] = await (0, pda_js_1.getGarSettingsPDA)(this.garProgram);
556
+ const ix = (0, index_js_5.getCancelWithdrawalInstruction)({
557
+ settings: settingsPda,
558
+ gateway: gatewayPda,
559
+ withdrawal: withdrawalPda,
560
+ delegation,
561
+ owner: this.signer,
562
+ }, { programAddress: this.garProgram });
563
+ const sig = await this.sendTransaction([ix], 1_000_000);
564
+ return { id: sig };
565
+ }
566
+ async saveObservations(params, _options) {
567
+ let epochIndex;
568
+ if (params.epochIndex !== undefined) {
569
+ epochIndex = params.epochIndex;
570
+ }
571
+ else {
572
+ const [settingsPda] = await (0, pda_js_1.getEpochSettingsPDA)(this.garProgram);
573
+ const settingsAccount = await (0, kit_1.fetchEncodedAccount)(this.rpc, settingsPda, {
574
+ commitment: this.commitment,
575
+ });
576
+ if (!settingsAccount.exists)
577
+ throw new Error('EpochSettings not found');
578
+ const settings = (0, deserialize_js_1.deserializeEpochSettingsFull)(Buffer.from(settingsAccount.data));
579
+ epochIndex = settings.currentEpochIndex;
580
+ }
581
+ // Build the [u8; 375] gateway_results bitfield. On-chain convention:
582
+ // bit set (1) = passed, bit clear (0) = failed.
583
+ let resultsBuf;
584
+ let gatewayCount;
585
+ if (params.gatewayResults) {
586
+ resultsBuf = Buffer.alloc(375);
587
+ resultsBuf.set(params.gatewayResults.subarray(0, 375));
588
+ gatewayCount = params.gatewayCount ?? 0;
589
+ }
590
+ else {
591
+ const registryAddresses = await this.getRegistryGatewayAddresses();
592
+ gatewayCount = registryAddresses.length;
593
+ resultsBuf = Buffer.alloc(375, 0xff); // start all-passed
594
+ const failedSet = new Set(params.failedGateways);
595
+ for (let i = 0; i < gatewayCount; i++) {
596
+ if (failedSet.has(registryAddresses[i])) {
597
+ resultsBuf[Math.floor(i / 8)] &= ~(1 << (i % 8));
598
+ }
599
+ }
600
+ // Clear bits beyond the active gateway count.
601
+ for (let i = gatewayCount; i < 3000; i++) {
602
+ resultsBuf[Math.floor(i / 8)] &= ~(1 << (i % 8));
603
+ }
604
+ }
605
+ // report_tx_id is a fixed [u8; 32] (Arweave TX ID). The legacy SDK
606
+ // truncates the raw string bytes; mirror that for compatibility.
607
+ const reportTxId = Buffer.alloc(32);
608
+ Buffer.from(params.reportTxId).copy(reportTxId, 0, 0, Math.min(32, params.reportTxId.length));
609
+ const ix = await (0, index_js_5.getSaveObservationsInstructionAsync)({
610
+ observer: this.signer,
611
+ epochIndex: BigInt(epochIndex),
612
+ gatewayResults: new Uint8Array(resultsBuf),
613
+ gatewayCount,
614
+ reportTxId: new Uint8Array(reportTxId),
615
+ }, { programAddress: this.garProgram });
616
+ const sig = await this.sendTransaction([ix], 1_000_000);
617
+ return { id: sig };
618
+ }
619
+ async redelegateStake(params, _options) {
620
+ const amount = toAmount(params.stakeQty);
621
+ const source = (0, kit_1.address)(params.source);
622
+ const target = (0, kit_1.address)(params.target);
623
+ const garConfig = await this.getGarConfig();
624
+ const [sourceGatewayPda] = await (0, pda_js_1.getGatewayPDA)(source, this.garProgram);
625
+ const [targetGatewayPda] = await (0, pda_js_1.getGatewayPDA)(target, this.garProgram);
626
+ const [sourceDelegationPda] = await (0, pda_js_1.getDelegationPDA)(source, this.signer.address, this.garProgram);
627
+ const [targetDelegationPda] = await (0, pda_js_1.getDelegationPDA)(target, this.signer.address, this.garProgram);
628
+ const delegatorATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(garConfig.mint, this.signer.address);
629
+ const ix = await (0, index_js_5.getRedelegateStakeInstructionAsync)(await this.withGarDefaults({
630
+ sourceGateway: sourceGatewayPda,
631
+ targetGateway: targetGatewayPda,
632
+ sourceDelegation: sourceDelegationPda,
633
+ targetDelegation: targetDelegationPda,
634
+ delegatorTokenAccount: delegatorATA,
635
+ stakeTokenAccount: garConfig.stakeTokenAccount,
636
+ protocolTokenAccount: garConfig.protocolTokenAccount,
637
+ delegator: this.signer,
638
+ amount,
639
+ }), { programAddress: this.garProgram });
640
+ const sig = await this.sendTransaction([ix], 1_000_000);
641
+ return { id: sig };
642
+ }
643
+ // =========================================
644
+ // ArNS operations (ario-arns)
645
+ // =========================================
646
+ async buyRecord(params, _options) {
647
+ const arnsConfig = await this.getArnsConfig();
648
+ const buyerATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(arnsConfig.mint, this.signer.address);
649
+ const antPubkey = (0, kit_1.address)(params.processId ?? '11111111111111111111111111111111');
650
+ const [arnsRecord] = await (0, pda_js_1.getArnsRecordPDA)(params.name, this.arnsProgram);
651
+ const [reservedNameCheck] = await (0, pda_js_1.getReservedNamePDA)(params.name, this.arnsProgram);
652
+ const [returnedNameCheck] = await (0, pda_js_1.getReturnedNamePDA)(params.name, this.arnsProgram);
653
+ const buyNameParams = {
654
+ name: params.name,
655
+ purchaseType: params.type === 'permabuy' ? index_js_2.PurchaseType.Permabuy : index_js_2.PurchaseType.Lease,
656
+ years: params.years ?? 1,
657
+ ant: antPubkey,
658
+ };
659
+ // Phase 4 of FUND_FROM_PLAN.md: dispatch on params.fundFrom. The pre-Phase-4
660
+ // path always fell through to the balance-funded `buyName` ix even when
661
+ // CLI-set `--fund-from stakes`; we now route to the corresponding on-chain
662
+ // wrapper for each mode.
663
+ let ix;
664
+ if (params.fundFrom === 'stakes' && params.gatewayAddress) {
665
+ const gatewayAddr = (0, kit_1.address)(params.gatewayAddress);
666
+ const garConfig = await this.getGarConfig();
667
+ const [garSettings] = await (0, pda_js_1.getGarSettingsPDA)(this.garProgram);
668
+ const [gatewayPda] = await (0, pda_js_1.getGatewayPDA)(gatewayAddr, this.garProgram);
669
+ const baseShared = {
670
+ config: await this.arnsConfigPda(),
671
+ demandFactor: await this.demandFactorPda(),
672
+ arnsRecord,
673
+ nameRegistry: await this.nameRegistryPda(),
674
+ reservedNameCheck,
675
+ returnedNameCheck,
676
+ garSettings,
677
+ gateway: gatewayPda,
678
+ stakeTokenAccount: garConfig.stakeTokenAccount,
679
+ protocolTokenAccount: arnsConfig.treasury,
680
+ buyer: this.signer,
681
+ garProgram: this.garProgram,
682
+ params: buyNameParams,
683
+ };
684
+ if (params.fundAsOperator) {
685
+ ix = await (0, index_js_1.getBuyNameFromOperatorStakeInstructionAsync)(baseShared, {
686
+ programAddress: this.arnsProgram,
687
+ });
688
+ }
689
+ else {
690
+ const [delegationPda] = await (0, pda_js_1.getDelegationPDA)(gatewayAddr, this.signer.address, this.garProgram);
691
+ ix = await (0, index_js_1.getBuyNameFromDelegationInstructionAsync)({ ...baseShared, delegation: delegationPda }, { programAddress: this.arnsProgram });
692
+ }
693
+ }
694
+ else if (params.fundFrom === 'withdrawal' &&
695
+ params.withdrawalId !== undefined) {
696
+ const garConfig = await this.getGarConfig();
697
+ const [garSettings] = await (0, pda_js_1.getGarSettingsPDA)(this.garProgram);
698
+ const [withdrawalPda] = await (0, pda_js_1.getWithdrawalPDA)(this.signer.address, params.withdrawalId, this.garProgram);
699
+ ix = await (0, index_js_1.getBuyNameFromWithdrawalInstructionAsync)({
700
+ config: await this.arnsConfigPda(),
701
+ demandFactor: await this.demandFactorPda(),
702
+ arnsRecord,
703
+ nameRegistry: await this.nameRegistryPda(),
704
+ reservedNameCheck,
705
+ returnedNameCheck,
706
+ garSettings,
707
+ withdrawal: withdrawalPda,
708
+ stakeTokenAccount: garConfig.stakeTokenAccount,
709
+ protocolTokenAccount: arnsConfig.treasury,
710
+ buyer: this.signer,
711
+ garProgram: this.garProgram,
712
+ params: buyNameParams,
713
+ }, { programAddress: this.arnsProgram });
714
+ }
715
+ else if (params.fundFrom === 'plan' || params.fundFrom === 'any') {
716
+ ix = await this._buildBuyNameFromFundingPlanIx({
717
+ params,
718
+ antPubkey,
719
+ arnsRecord,
720
+ reservedNameCheck,
721
+ returnedNameCheck,
722
+ buyNameParams,
723
+ arnsConfig,
724
+ });
725
+ }
726
+ else {
727
+ // 'balance' or undefined falls through to the original direct-buy path.
728
+ ix = await (0, index_js_1.getBuyNameInstructionAsync)(await this.withArnsDefaults({
729
+ arnsRecord,
730
+ buyerTokenAccount: buyerATA,
731
+ protocolTokenAccount: arnsConfig.treasury,
732
+ reservedNameCheck,
733
+ returnedNameCheck,
734
+ buyer: this.signer,
735
+ params: buyNameParams,
736
+ }), { programAddress: this.arnsProgram });
737
+ }
738
+ // Sprint 4 / ADR-016: bundle `ant.sync_attributes` IFF the buyer
739
+ // owns the ANT (preserves BD-096 — non-holder buys defer the trait
740
+ // sync to a later `syncAttributes()` call by the actual owner).
741
+ // Pass `antPubkey` as assetOverride: the ArnsRecord PDA is CREATED
742
+ // by the buy_name ix, so it doesn't exist on-chain at SDK build
743
+ // time — the helper would 404 if it tried to read it.
744
+ const syncIx = await this._buildSyncAttributesIxIfOwner(params.name, antPubkey);
745
+ const sig = await this.sendTransaction(syncIx ? [ix, syncIx] : [ix]);
746
+ return { id: sig };
747
+ }
748
+ /**
749
+ * Resolve a `FundingPlan` for a fee-paying ArNS ix. When `params.sources`
750
+ * is set, use it verbatim (caller-supplied plan); otherwise discover the
751
+ * user's sources and build a plan via the Lua-faithful planner.
752
+ *
753
+ * Throws `InsufficientFundingError` (as a thrown Error with the structured
754
+ * payload as `cause`) when no plan covers `amountNeeded`.
755
+ */
756
+ async _resolveFundingPlan(params, amountNeeded) {
757
+ // `'plan'` is the explicit "I'll supply my own sources, skip discovery"
758
+ // mode (per FUNDING_MODES.md). Fail loudly if a caller picks `'plan'`
759
+ // without sources — pre-2026-05 the SDK silently fell through to
760
+ // discovery, making `'plan'` a synonym for `'any'`. The new semantic
761
+ // matches the doc: `'any'` discovers, `'plan'` uses what you give it.
762
+ if (params.fundFrom === 'plan' && !params.sources?.length) {
763
+ throw new Error("fundFrom: 'plan' requires explicit `sources`. Pass them via " +
764
+ "params.sources, or use fundFrom: 'any' to let the SDK discover " +
765
+ 'and plan automatically.');
766
+ }
767
+ if (params.sources?.length) {
768
+ // Caller supplied an explicit plan; build the FundingPlan envelope
769
+ // around it without source discovery. Each Delegation/OperatorStake
770
+ // source MUST carry an explicit `gateway` field so the executor knows
771
+ // which gateway PDA to slot in. Earlier single-gateway flows used
772
+ // `params.gatewayAddress` as a fallback for the first stake source —
773
+ // we preserve that for back-compat in the explicit-plan path.
774
+ const hasBalance = params.sources.some((s) => s.kind === 'balance');
775
+ const fallbackGateway = params.gatewayAddress
776
+ ? (0, kit_1.address)(params.gatewayAddress)
777
+ : undefined;
778
+ const gatewayPerSource = params.sources.map((s) => {
779
+ if (s.kind !== 'delegation' && s.kind !== 'operatorStake')
780
+ return undefined;
781
+ const explicit = s.gateway;
782
+ if (explicit)
783
+ return (0, kit_1.address)(explicit);
784
+ if (fallbackGateway)
785
+ return fallbackGateway;
786
+ throw new Error('sources includes delegation/operatorStake but no gateway is set on that source and gatewayAddress is unset');
787
+ });
788
+ // Auto-detect residue: for each Delegation source, fetch the live
789
+ // Delegation + Gateway PDAs and compute the post-drain. If it lands
790
+ // in (0, min_delegation_amount), that source will trigger an on-
791
+ // chain residue auto-vault and we must reserve a residue PDA slot.
792
+ const residueDelegationIndexes = await this._detectResidueIndexes(params.sources, gatewayPerSource);
793
+ return {
794
+ sources: params.sources.map((s) => ({
795
+ kind: s.kind,
796
+ amount: s.amount,
797
+ ...(s.withdrawalId !== undefined
798
+ ? { withdrawalId: s.withdrawalId }
799
+ : {}),
800
+ })),
801
+ gatewayPerSource,
802
+ residueDelegationIndexes,
803
+ hasBalanceSource: hasBalance,
804
+ };
805
+ }
806
+ // No explicit sources: discover + plan.
807
+ const arnsConfig = await this.getArnsConfig();
808
+ const { discoverFundingSources } = await Promise.resolve().then(() => __importStar(require('./funding-plan.js')));
809
+ const sources = await discoverFundingSources(this.rpc, this.signer.address, {
810
+ arioMint: arnsConfig.mint,
811
+ garProgram: this.garProgram,
812
+ });
813
+ const plan = (0, funding_plan_js_1.buildFundingPlan)(sources, amountNeeded, {
814
+ fundFrom: params.fundFrom,
815
+ preferGateway: params.gatewayAddress
816
+ ? (0, kit_1.address)(params.gatewayAddress)
817
+ : undefined,
818
+ fundAsOperator: params.fundAsOperator,
819
+ });
820
+ if ('kind' in plan) {
821
+ const err = new Error(plan.message);
822
+ err.cause = plan;
823
+ throw err;
824
+ }
825
+ return plan;
826
+ }
827
+ /**
828
+ * Build a `buy_name_from_funding_plan` ix using the funding-plan module.
829
+ * Resolves per-source PDAs (Delegation, Withdrawal) and the residue-vault
830
+ * PDA prediction in one shot.
831
+ */
832
+ async _buildBuyNameFromFundingPlanIx(args) {
833
+ const garConfig = await this.getGarConfig();
834
+ const [garSettings] = await (0, pda_js_1.getGarSettingsPDA)(this.garProgram);
835
+ const buyerATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(args.arnsConfig.mint, this.signer.address);
836
+ const cost = await this._estimateBuyNameCost(args.buyNameParams);
837
+ const plan = await this._resolveFundingPlan(args.params, cost);
838
+ const { remainingAccounts, withdrawalCounter, residueVaultCount } = await this._materializeFundingPlan(args.params, plan);
839
+ return await (0, index_js_1.getBuyNameFromFundingPlanInstructionAsync)({
840
+ config: await this.arnsConfigPda(),
841
+ demandFactor: await this.demandFactorPda(),
842
+ arnsRecord: args.arnsRecord,
843
+ nameRegistry: await this.nameRegistryPda(),
844
+ reservedNameCheck: args.reservedNameCheck,
845
+ returnedNameCheck: args.returnedNameCheck,
846
+ garSettings,
847
+ stakeTokenAccount: garConfig.stakeTokenAccount,
848
+ protocolTokenAccount: args.arnsConfig.treasury,
849
+ payerTokenAccount: plan.hasBalanceSource ? buyerATA : undefined,
850
+ buyer: this.signer,
851
+ withdrawalCounter,
852
+ garProgram: this.garProgram,
853
+ params: args.buyNameParams,
854
+ sources: plan.sources.map(toGeneratedFundingSourceSpec),
855
+ discountAccountCount: 0,
856
+ residueVaultCount,
857
+ }, {
858
+ programAddress: this.arnsProgram,
859
+ }).then((ix) => remainingAccounts.length > 0
860
+ ? withRemainingAccounts(ix, remainingAccounts)
861
+ : ix);
862
+ }
863
+ /**
864
+ * For an explicit caller-supplied plan, detect which Delegation sources
865
+ * will trigger an on-chain residue auto-vault. Reads each (Delegation,
866
+ * Gateway) pair in parallel; computes post-drain; flags `(0, min)`.
867
+ *
868
+ * Hard-fails on RPC error or missing PDA — silently skipping would let
869
+ * the on-chain handler reject the tx with `MissingResidueVault` and
870
+ * burn fees. The error message points at remediation.
871
+ */
872
+ async _detectResidueIndexes(sources, gatewayPerSource) {
873
+ const delegationIndexes = sources
874
+ .map((s, i) => ({ s, i }))
875
+ .filter(({ s }) => s.kind === 'delegation');
876
+ if (delegationIndexes.length === 0)
877
+ return [];
878
+ const owner = this.signer.address;
879
+ const reads = await Promise.all(delegationIndexes.map(async ({ i }) => {
880
+ const gateway = gatewayPerSource[i];
881
+ if (!gateway) {
882
+ throw new Error(`funding plan source #${i} is a Delegation but gatewayPerSource[${i}] is undefined; set source.gateway or params.gatewayAddress`);
883
+ }
884
+ const [delegationPda] = await (0, pda_js_1.getDelegationPDA)(gateway, owner, this.garProgram);
885
+ const [gatewayPda] = await (0, pda_js_1.getGatewayPDA)(gateway, this.garProgram);
886
+ const [delAcct, gwAcct] = await Promise.all([
887
+ (0, kit_1.fetchEncodedAccount)(this.rpc, delegationPda, {
888
+ commitment: this.commitment,
889
+ }),
890
+ (0, kit_1.fetchEncodedAccount)(this.rpc, gatewayPda, {
891
+ commitment: this.commitment,
892
+ }),
893
+ ]);
894
+ if (!delAcct.exists) {
895
+ throw new Error(`residue auto-detect failed: Delegation PDA ${delegationPda} not found for source #${i} (gateway ${gateway}); ensure the delegation exists or pass an explicit funding plan with residue hints`);
896
+ }
897
+ if (!gwAcct.exists) {
898
+ throw new Error(`residue auto-detect failed: Gateway PDA ${gatewayPda} not found for source #${i}`);
899
+ }
900
+ return { i, delAcct, gwAcct };
901
+ }));
902
+ const delegationDecoder = (0, delegation_js_1.getDelegationDecoder)();
903
+ const gatewayDecoder = (0, gateway_js_1.getGatewayDecoder)();
904
+ const states = new Array(sources.length).fill(undefined);
905
+ for (const { i, delAcct, gwAcct } of reads) {
906
+ const delegation = delegationDecoder.decode(delAcct.data);
907
+ const gateway = gatewayDecoder.decode(gwAcct.data);
908
+ states[i] = {
909
+ delegationAmount: delegation.amount,
910
+ minDelegationAmount: gateway.settings.minDelegationAmount,
911
+ };
912
+ }
913
+ return (0, funding_plan_js_1.computeResidueIndexes)(sources, states);
914
+ }
915
+ /**
916
+ * Materialize a `FundingPlan` into the on-chain ix's per-source remaining
917
+ * accounts, residue-vault PDAs, and the withdrawal_counter slot. Shared
918
+ * across all 5 ArNS funding-plan ix dispatches and the 2 ario-core
919
+ * primary-name funding-plan dispatches.
920
+ *
921
+ * Throws when the plan has Withdrawal sources whose ids cannot be
922
+ * resolved from either `spec.withdrawalId` (preferred) or
923
+ * `params.withdrawalId` (single-withdrawal back-compat).
924
+ */
925
+ async _materializeFundingPlan(params, plan) {
926
+ // Resolve withdrawalIds: prefer per-source `spec.withdrawalId` (the
927
+ // multi-withdrawal canonical path — discoverFundingSources sets it
928
+ // and explicit caller plans can too); fall back to params.withdrawalId
929
+ // for single-withdrawal CLI back-compat.
930
+ const withdrawalSpecs = (params.sources ?? plan.sources).filter((s) => s.kind === 'withdrawal');
931
+ const withdrawalIds = withdrawalSpecs.map((s, idx) => {
932
+ const specId = s.withdrawalId;
933
+ if (specId !== undefined)
934
+ return BigInt(specId);
935
+ if (params.withdrawalId !== undefined && idx === 0) {
936
+ return BigInt(params.withdrawalId);
937
+ }
938
+ throw new Error(`funding plan Withdrawal source #${idx} has no withdrawalId; set it on the source spec or pass params.withdrawalId for single-withdrawal plans`);
939
+ });
940
+ const { residueVaults, withdrawalCounter } = await (0, funding_plan_js_1.predictResidueVaults)(this.rpc, this.signer.address, plan, { garProgram: this.garProgram });
941
+ const remainingAccounts = await (0, funding_plan_js_1.buildFundingPlanRemainingAccounts)(plan, this.signer.address, { withdrawalIds, residueVaults, garProgram: this.garProgram });
942
+ return {
943
+ remainingAccounts: remainingAccounts,
944
+ withdrawalCounter,
945
+ residueVaultCount: residueVaults.length,
946
+ };
947
+ }
948
+ /**
949
+ * Best-effort cost estimation for `buy_name`. Reads the live DemandFactor
950
+ * + ArnsConfig and applies the on-chain pricing math. Used by the funding-
951
+ * plan path so callers don't have to compute cost client-side.
952
+ *
953
+ * The estimate may be 1-2 mARIO higher than the actual on-chain cost when a
954
+ * demand-factor period rolls during the tx; the on-chain handler reads the
955
+ * live demand-factor and verifies sum(sources) == cost, so an overestimate
956
+ * fails fast with `FundingPlanAmountMismatch`. Callers should retry with a
957
+ * fresh estimate on that error.
958
+ */
959
+ async _estimateBuyNameCost(buyNameParams) {
960
+ // Importing the pricing helpers from generated/ would couple the SDK to
961
+ // codegen layout; instead we re-implement the same math (see
962
+ // programs/ario-arns/src/pricing.rs::calculate_registration_fee).
963
+ const [demandFactorPda] = await (0, pda_js_1.getDemandFactorPDA)(this.arnsProgram);
964
+ const dfAccount = await (0, kit_1.fetchEncodedAccount)(this.rpc, demandFactorPda, {
965
+ commitment: this.commitment,
966
+ });
967
+ if (!dfAccount.exists)
968
+ throw new Error('DemandFactor not found');
969
+ // Layout: disc(8) + current_demand_factor(8) + ... + fees[51](u64×51).
970
+ // Fees array starts at offset that depends on the struct layout — we
971
+ // safely read the first 8+51*8 bytes.
972
+ const data = Buffer.from(dfAccount.data);
973
+ const dv = new DataView(data.buffer, data.byteOffset, data.byteLength);
974
+ const demandFactor = dv.getBigUint64(8, true);
975
+ // Fees layout is: disc(8) + current_demand_factor(8) +
976
+ // purchases_this_period(8) + revenue_this_period(8) +
977
+ // period_zero_start_timestamp(8) + ... + fees[51]
978
+ // To stay decoupled from non-fee fields, we read the whole array
979
+ // assuming fees starts at a known offset. See ArNS DemandFactor struct.
980
+ // Pragmatic fallback: use a fixed fees offset of 56 (post-disc + 6 u64s).
981
+ const FEES_OFFSET = 56;
982
+ if (data.length < FEES_OFFSET + 51 * 8) {
983
+ throw new Error('DemandFactor account data too short for fees array');
984
+ }
985
+ const nameLen = buyNameParams.name.length;
986
+ const idx = Math.min(Math.max(nameLen, 1), 51) - 1;
987
+ const baseFee = dv.getBigUint64(FEES_OFFSET + idx * 8, true);
988
+ const SCALE = 1000000n; // DEMAND_FACTOR_SCALE
989
+ if (buyNameParams.purchaseType === index_js_2.PurchaseType.Permabuy) {
990
+ // Permabuy = base_fee * 20% * 20 (annual share × 20 years cap)
991
+ const permabuy = (baseFee * 200000n) / SCALE; // 20% annual
992
+ return (permabuy * 20n * demandFactor) / SCALE;
993
+ }
994
+ // Lease: base_fee * (1 + 0.20 * years) * demand_factor
995
+ const leasePct = SCALE + 200000n * BigInt(buyNameParams.years);
996
+ return (((baseFee * leasePct) / SCALE) * demandFactor) / SCALE;
997
+ }
998
+ async arnsConfigPda() {
999
+ // The ArNS config (`Settings`) PDA is seeded with `arns_config` — NOT
1000
+ // the `ario_config` seed used by the ario-core `Config` PDA. Earlier
1001
+ // revisions of this helper called `getArioConfigPDA(this.arnsProgram)`
1002
+ // which composes the wrong seed against the right program; the
1003
+ // resulting PDA points at an account that never exists, and every
1004
+ // fund-from-stakes / withdrawal / funding-plan path simulated as
1005
+ // AccountNotInitialized (#3012) on the `config` slot.
1006
+ const [pda] = await (0, pda_js_1.getArnsSettingsPDA)(this.arnsProgram);
1007
+ return pda;
1008
+ }
1009
+ async demandFactorPda() {
1010
+ const [pda] = await (0, pda_js_1.getDemandFactorPDA)(this.arnsProgram);
1011
+ return pda;
1012
+ }
1013
+ async nameRegistryPda() {
1014
+ const [pda] = await (0, pda_js_1.getArnsRegistryPDA)(this.arnsProgram);
1015
+ return pda;
1016
+ }
1017
+ async upgradeRecord(params, _options) {
1018
+ const ix = await this._buildManageStakeIx({
1019
+ params,
1020
+ operation: 'upgrade',
1021
+ });
1022
+ const syncIx = await this._buildSyncAttributesIxIfOwner(params.name);
1023
+ const sig = await this.sendTransaction(syncIx ? [ix, syncIx] : [ix]);
1024
+ return { id: sig };
1025
+ }
1026
+ async syncAttributes(params, _options) {
1027
+ // Public method — caller is asking explicitly to sync. Build the ix
1028
+ // unconditionally; if they don't actually own the ANT, the on-chain
1029
+ // handler returns NotNftHolder. (The bundle path uses
1030
+ // `_buildSyncAttributesIxIfOwner`, which skips when not the owner so
1031
+ // the wrapping arns ix can still succeed for non-holder management
1032
+ // — see BD-095.)
1033
+ const ix = await this._buildSyncAttributesIxUnconditional(params.name);
1034
+ const sig = await this.sendTransaction([ix]);
1035
+ return { id: sig };
1036
+ }
1037
+ /**
1038
+ * Build a `sync_attributes` instruction for `name` IFF the signer is
1039
+ * the current MPL Core asset owner. Returns `null` otherwise.
1040
+ *
1041
+ * Sprint 4 / ADR-016: bundle helper for `buyRecord`, `upgradeRecord`,
1042
+ * `increaseUndernameLimit`, `reassignName`, and `buyReturnedName`.
1043
+ * Returning `null` lets the caller send the arns ix alone — preserves
1044
+ * BD-095 (non-holder ArNS lease management) and BD-096 (deferred
1045
+ * trait sync for non-holder buyers). The actual ANT owner reconciles
1046
+ * state later via the public `syncAttributes()`.
1047
+ *
1048
+ * `extendLease` is NOT a caller of this helper — extend_lease changes
1049
+ * only `end_timestamp`, which isn't mirrored in any Attributes-plugin
1050
+ * trait (BD-095 last row). `releaseName` is also excluded — release_name
1051
+ * closes the ArnsRecord PDA, so a follow-up `sync_attributes` would
1052
+ * fail the PDA-existence check.
1053
+ *
1054
+ * `assetOverride` MUST be set when the bundling ix mutates
1055
+ * `record.ant` mid-tx (i.e. `reassign_name`). The on-chain record
1056
+ * still points at the OLD asset at SDK build time, so without the
1057
+ * override the bundled sync would target the wrong asset and fail
1058
+ * the post-reassign `record.ant == asset.key()` check. The owner
1059
+ * check runs against the supplied asset (= new ANT for reassign),
1060
+ * matching the pre-reshape "new owner reconciles later" semantic.
1061
+ */
1062
+ async _buildSyncAttributesIxIfOwner(name, assetOverride) {
1063
+ let asset;
1064
+ if (assetOverride !== undefined) {
1065
+ asset = assetOverride;
1066
+ }
1067
+ else {
1068
+ const record = await this.getArNSRecord({ name });
1069
+ asset = (0, kit_1.address)(record.processId);
1070
+ }
1071
+ const { fetchMplCoreOwner } = await Promise.resolve().then(() => __importStar(require('./mpl-core.js')));
1072
+ const owner = await fetchMplCoreOwner(this.rpc, asset, {
1073
+ commitment: this.commitment,
1074
+ });
1075
+ if (owner === null || owner !== this.signer.address) {
1076
+ return null;
1077
+ }
1078
+ return this._buildSyncAttributesIxFor(name, asset);
1079
+ }
1080
+ /**
1081
+ * Build a `sync_attributes` instruction unconditionally (no owner
1082
+ * check). Used by the public `syncAttributes()` method, where the
1083
+ * caller is asking explicitly — if they aren't the owner the chain
1084
+ * returns NotNftHolder.
1085
+ */
1086
+ async _buildSyncAttributesIxUnconditional(name) {
1087
+ const record = await this.getArNSRecord({ name });
1088
+ return this._buildSyncAttributesIxFor(name, (0, kit_1.address)(record.processId));
1089
+ }
1090
+ /** Pure builder; no RPC. Used by both gated + unconditional helpers. */
1091
+ async _buildSyncAttributesIxFor(name, asset) {
1092
+ const [arnsRecord] = await (0, pda_js_1.getArnsRecordPDA)(name, this.arnsProgram);
1093
+ return (0, syncAttributes_js_1.getSyncAttributesInstruction)({
1094
+ asset,
1095
+ payer: this.signer,
1096
+ authority: this.signer,
1097
+ arnsRecord,
1098
+ name,
1099
+ }, { programAddress: this.antProgram });
1100
+ }
1101
+ async extendLease(params, _options) {
1102
+ const ix = await this._buildManageStakeIx({
1103
+ params,
1104
+ operation: 'extend',
1105
+ years: params.years,
1106
+ });
1107
+ // BD-095: extend_lease changes only `end_timestamp`, which isn't
1108
+ // mirrored in any Metaplex Attributes plugin trait. No bundle.
1109
+ const sig = await this.sendTransaction([ix]);
1110
+ return { id: sig };
1111
+ }
1112
+ async increaseUndernameLimit(params, _options) {
1113
+ const ix = await this._buildManageStakeIx({
1114
+ params,
1115
+ operation: 'increaseUndername',
1116
+ quantity: params.increaseCount,
1117
+ });
1118
+ const syncIx = await this._buildSyncAttributesIxIfOwner(params.name);
1119
+ const sig = await this.sendTransaction(syncIx ? [ix, syncIx] : [ix]);
1120
+ return { id: sig };
1121
+ }
1122
+ /**
1123
+ * Shared dispatch helper for the 3 manage variants (upgrade / extend /
1124
+ * increaseUndername). They share the same account shape per the
1125
+ * `manage_from_delegation_accounts!` / `manage_from_operator_stake_accounts!`
1126
+ * macros in `programs/ario-arns/src/instructions/manage_from_stake.rs`.
1127
+ * Only the operation-specific extra args differ (years for extend,
1128
+ * quantity for increaseUndername).
1129
+ */
1130
+ async _buildManageStakeIx(args) {
1131
+ const arnsConfig = await this.getArnsConfig();
1132
+ const callerATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(arnsConfig.mint, this.signer.address);
1133
+ const [arnsRecord] = await (0, pda_js_1.getArnsRecordPDA)(args.params.name, this.arnsProgram);
1134
+ // Balance / undefined → original direct-transfer ix (matches pre-Phase-4).
1135
+ if (!args.params.fundFrom ||
1136
+ args.params.fundFrom === 'balance' ||
1137
+ args.params.fundFrom === 'turbo') {
1138
+ const baseAccounts = await this.withArnsDefaults({
1139
+ arnsRecord,
1140
+ callerTokenAccount: callerATA,
1141
+ protocolTokenAccount: arnsConfig.treasury,
1142
+ caller: this.signer,
1143
+ });
1144
+ if (args.operation === 'upgrade') {
1145
+ return (0, index_js_1.getUpgradeNameInstructionAsync)(baseAccounts, {
1146
+ programAddress: this.arnsProgram,
1147
+ });
1148
+ }
1149
+ if (args.operation === 'extend') {
1150
+ return (0, index_js_1.getExtendLeaseInstructionAsync)({ ...baseAccounts, years: args.years }, { programAddress: this.arnsProgram });
1151
+ }
1152
+ return (0, index_js_1.getIncreaseUndernameLimitInstructionAsync)({ ...baseAccounts, quantity: args.quantity }, { programAddress: this.arnsProgram });
1153
+ }
1154
+ // Stake / withdrawal / funding-plan paths share an account skeleton.
1155
+ const garConfig = await this.getGarConfig();
1156
+ const [garSettings] = await (0, pda_js_1.getGarSettingsPDA)(this.garProgram);
1157
+ const sharedManageBase = {
1158
+ config: await this.arnsConfigPda(),
1159
+ demandFactor: await this.demandFactorPda(),
1160
+ arnsRecord,
1161
+ garSettings,
1162
+ stakeTokenAccount: garConfig.stakeTokenAccount,
1163
+ protocolTokenAccount: arnsConfig.treasury,
1164
+ caller: this.signer,
1165
+ garProgram: this.garProgram,
1166
+ };
1167
+ if (args.params.fundFrom === 'stakes' && args.params.gatewayAddress) {
1168
+ const gatewayAddr = (0, kit_1.address)(args.params.gatewayAddress);
1169
+ const [gatewayPda] = await (0, pda_js_1.getGatewayPDA)(gatewayAddr, this.garProgram);
1170
+ const stakeBase = { ...sharedManageBase, gateway: gatewayPda };
1171
+ if (args.params.fundAsOperator) {
1172
+ if (args.operation === 'upgrade')
1173
+ return (0, index_js_1.getUpgradeNameFromOperatorStakeInstructionAsync)(stakeBase, {
1174
+ programAddress: this.arnsProgram,
1175
+ });
1176
+ if (args.operation === 'extend')
1177
+ return (0, index_js_1.getExtendLeaseFromOperatorStakeInstructionAsync)({ ...stakeBase, years: args.years }, { programAddress: this.arnsProgram });
1178
+ return (0, index_js_1.getIncreaseUndernameLimitFromOperatorStakeInstructionAsync)({ ...stakeBase, quantity: args.quantity }, { programAddress: this.arnsProgram });
1179
+ }
1180
+ const [delegationPda] = await (0, pda_js_1.getDelegationPDA)(gatewayAddr, this.signer.address, this.garProgram);
1181
+ const delBase = { ...stakeBase, delegation: delegationPda };
1182
+ if (args.operation === 'upgrade')
1183
+ return (0, index_js_1.getUpgradeNameFromDelegationInstructionAsync)(delBase, {
1184
+ programAddress: this.arnsProgram,
1185
+ });
1186
+ if (args.operation === 'extend')
1187
+ return (0, index_js_1.getExtendLeaseFromDelegationInstructionAsync)({ ...delBase, years: args.years }, { programAddress: this.arnsProgram });
1188
+ return (0, index_js_1.getIncreaseUndernameLimitFromDelegationInstructionAsync)({ ...delBase, quantity: args.quantity }, { programAddress: this.arnsProgram });
1189
+ }
1190
+ if (args.params.fundFrom === 'withdrawal' &&
1191
+ args.params.withdrawalId !== undefined) {
1192
+ const [withdrawalPda] = await (0, pda_js_1.getWithdrawalPDA)(this.signer.address, args.params.withdrawalId, this.garProgram);
1193
+ const wBase = { ...sharedManageBase, withdrawal: withdrawalPda };
1194
+ if (args.operation === 'upgrade')
1195
+ return (0, index_js_1.getUpgradeNameFromWithdrawalInstructionAsync)(wBase, {
1196
+ programAddress: this.arnsProgram,
1197
+ });
1198
+ if (args.operation === 'extend')
1199
+ return (0, index_js_1.getExtendLeaseFromWithdrawalInstructionAsync)({ ...wBase, years: args.years }, { programAddress: this.arnsProgram });
1200
+ return (0, index_js_1.getIncreaseUndernameLimitFromWithdrawalInstructionAsync)({ ...wBase, quantity: args.quantity }, { programAddress: this.arnsProgram });
1201
+ }
1202
+ if (args.params.fundFrom === 'plan' || args.params.fundFrom === 'any') {
1203
+ // Cost estimation for manage variants: each operation has its own
1204
+ // pricing path. Keep it pragmatic — let the planner build the plan
1205
+ // around the user's desired total (caller can pass explicit sources
1206
+ // to bypass cost estimation entirely).
1207
+ const cost = await this._estimateManageStakeCost({
1208
+ operation: args.operation,
1209
+ name: args.params.name,
1210
+ years: args.years,
1211
+ quantity: args.quantity,
1212
+ });
1213
+ const plan = await this._resolveFundingPlan(args.params, cost);
1214
+ const buyerATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(arnsConfig.mint, this.signer.address);
1215
+ const { remainingAccounts, withdrawalCounter, residueVaultCount } = await this._materializeFundingPlan(args.params, plan);
1216
+ const fpBase = {
1217
+ config: await this.arnsConfigPda(),
1218
+ demandFactor: await this.demandFactorPda(),
1219
+ arnsRecord,
1220
+ garSettings,
1221
+ stakeTokenAccount: garConfig.stakeTokenAccount,
1222
+ protocolTokenAccount: arnsConfig.treasury,
1223
+ payerTokenAccount: plan.hasBalanceSource ? buyerATA : undefined,
1224
+ caller: this.signer,
1225
+ withdrawalCounter,
1226
+ garProgram: this.garProgram,
1227
+ sources: plan.sources.map(toGeneratedFundingSourceSpec),
1228
+ discountAccountCount: 0,
1229
+ residueVaultCount,
1230
+ };
1231
+ let ix;
1232
+ if (args.operation === 'upgrade')
1233
+ ix = await (0, index_js_1.getUpgradeNameFromFundingPlanInstructionAsync)(fpBase, {
1234
+ programAddress: this.arnsProgram,
1235
+ });
1236
+ else if (args.operation === 'extend')
1237
+ ix = await (0, index_js_1.getExtendLeaseFromFundingPlanInstructionAsync)({ ...fpBase, years: args.years }, { programAddress: this.arnsProgram });
1238
+ else
1239
+ ix = await (0, index_js_1.getIncreaseUndernameLimitFromFundingPlanInstructionAsync)({ ...fpBase, quantity: args.quantity }, { programAddress: this.arnsProgram });
1240
+ return remainingAccounts.length > 0
1241
+ ? withRemainingAccounts(ix, remainingAccounts)
1242
+ : ix;
1243
+ }
1244
+ throw new Error(`unsupported fundFrom mode '${args.params.fundFrom}' for ${args.operation}`);
1245
+ }
1246
+ /**
1247
+ * Cost estimate for manage operations (upgrade / extend / increaseUndername).
1248
+ * Reads the live DemandFactor account + applies the on-chain pricing math.
1249
+ */
1250
+ async _estimateManageStakeCost(args) {
1251
+ const [demandFactorPda] = await (0, pda_js_1.getDemandFactorPDA)(this.arnsProgram);
1252
+ const dfAccount = await (0, kit_1.fetchEncodedAccount)(this.rpc, demandFactorPda, {
1253
+ commitment: this.commitment,
1254
+ });
1255
+ if (!dfAccount.exists)
1256
+ throw new Error('DemandFactor not found');
1257
+ const data = Buffer.from(dfAccount.data);
1258
+ const dv = new DataView(data.buffer, data.byteOffset, data.byteLength);
1259
+ const demandFactor = dv.getBigUint64(8, true);
1260
+ const FEES_OFFSET = 56;
1261
+ const idx = Math.min(Math.max(args.name.length, 1), 51) - 1;
1262
+ const baseFee = dv.getBigUint64(FEES_OFFSET + idx * 8, true);
1263
+ const SCALE = 1000000n;
1264
+ if (args.operation === 'upgrade') {
1265
+ // Permabuy upgrade: 20% × 20 × demand_factor
1266
+ const permabuy = (baseFee * 200000n) / SCALE;
1267
+ return (permabuy * 20n * demandFactor) / SCALE;
1268
+ }
1269
+ if (args.operation === 'extend') {
1270
+ // Lease extension fee: base_fee * 0.20 * years * demand_factor
1271
+ return ((baseFee * 200000n * BigInt(args.years) * demandFactor) /
1272
+ SCALE /
1273
+ SCALE);
1274
+ }
1275
+ // increaseUndername: base_fee * UNDERNAME_LEASE_FEE_PCT * quantity * demand_factor
1276
+ // UNDERNAME_LEASE_FEE_PCT = 1% = 10_000 in RATE_SCALE = 1_000_000.
1277
+ return ((baseFee * 10000n * BigInt(args.quantity) * demandFactor) /
1278
+ SCALE /
1279
+ SCALE);
1280
+ }
1281
+ // =========================================
1282
+ // Primary name operations (ario-core)
1283
+ // =========================================
1284
+ /**
1285
+ * Build the `remaining_accounts` slice + the `antProgramId` arg the
1286
+ * four ario-core primary-name instructions consume. Sprint 2/5
1287
+ * reshape (ADR-016): ario-core no longer reads MPL Core asset bytes.
1288
+ * Authorization is "caller is the AntRecord.owner for this name" via
1289
+ * PDA-seed-pinned lookup.
1290
+ *
1291
+ * Layouts the on-chain handlers expect:
1292
+ * request_primary_name: [arnsRecord, demandFactor]
1293
+ * request_and_set_primary_name: [arnsRecord, demandFactor, antRecord]
1294
+ * approve_primary_name: [arnsRecord, antRecord]
1295
+ * remove_primary_name_for_base_name: [arnsRecord, antRecord(@)]
1296
+ *
1297
+ * `antRecord` keys off the undername part for undernames (e.g.
1298
+ * "blog_arweave" → AntRecord at "blog") or the canonical "@" sentinel
1299
+ * for base names. `removeForBaseName` is special — it always uses "@"
1300
+ * regardless of whether the primary name being removed is an undername,
1301
+ * since the *base* name owner is the one revoking it.
1302
+ *
1303
+ * `antProgram` honors ADR-016 / BD-100 pluggability: the asset's
1304
+ * `ANT Program` Attributes-plugin trait selects which program owns the
1305
+ * AntRecord PDA. Absent / unparseable → canonical fallback. Both the
1306
+ * PDA derivation here and the `ant_program_id` arg the caller passes
1307
+ * to the on-chain ix MUST agree (the handler re-derives and rejects
1308
+ * mismatches).
1309
+ */
1310
+ async _buildPrimaryNameValidationAccounts(name, variant) {
1311
+ const { isUndername, baseName, undername } = splitPrimaryName(name);
1312
+ const [arnsRecordPda] = await (0, pda_js_1.getArnsRecordPDA)(baseName, this.arnsProgram);
1313
+ const remaining = [
1314
+ { address: arnsRecordPda, role: kit_1.AccountRole.READONLY },
1315
+ ];
1316
+ // Fee-charging variants need the demand factor for fee scaling.
1317
+ if (variant === 'request' || variant === 'requestAndSet') {
1318
+ const [demandFactorPda] = await (0, pda_js_1.getDemandFactorPDA)(this.arnsProgram);
1319
+ remaining.push({ address: demandFactorPda, role: kit_1.AccountRole.READONLY });
1320
+ }
1321
+ // ANT-auth variants need the AntRecord PDA. We have to read the
1322
+ // ArnsRecord first to recover the ANT mint, then read the asset's
1323
+ // `ANT Program` trait (ADR-016 / BD-100) to pick the right program
1324
+ // for the AntRecord PDA derivation.
1325
+ let antProgram = this.antProgram;
1326
+ if (variant !== 'request') {
1327
+ const arnsAccount = await (0, kit_1.fetchEncodedAccount)(this.rpc, arnsRecordPda, {
1328
+ commitment: this.commitment,
1329
+ });
1330
+ if (!arnsAccount.exists) {
1331
+ throw new Error(`ArNS record not found for base name: ${baseName}`);
1332
+ }
1333
+ const arnsRecord = (0, deserialize_js_1.deserializeArnsRecord)(Buffer.from(arnsAccount.data));
1334
+ const antMint = (0, kit_1.address)(arnsRecord.processId);
1335
+ const { fetchAntProgramFromAsset } = await Promise.resolve().then(() => __importStar(require('./mpl-core.js')));
1336
+ antProgram =
1337
+ (await fetchAntProgramFromAsset(this.rpc, antMint, {
1338
+ commitment: this.commitment,
1339
+ })) ?? this.antProgram;
1340
+ // removeForBaseName always uses the "@" undername (the base-name
1341
+ // owner's record). The other ANT-auth variants use the undername
1342
+ // part if the primary name is an undername.
1343
+ const antUndername = variant === 'removeForBaseName' || !isUndername || undername === null
1344
+ ? '@'
1345
+ : undername;
1346
+ const [antRecordPda] = await (0, pda_js_1.getAntRecordPDA)(antMint, antUndername, antProgram);
1347
+ remaining.push({ address: antRecordPda, role: kit_1.AccountRole.READONLY });
1348
+ }
1349
+ return { remaining, antProgram };
1350
+ }
1351
+ async requestPrimaryName(params, _options) {
1352
+ const coreConfig = await this.getCoreConfig();
1353
+ const signerATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(coreConfig.mint, this.signer.address);
1354
+ const { remaining } = await this._buildPrimaryNameValidationAccounts(params.name, 'request');
1355
+ // Phase 4 of FUND_FROM_PLAN.md: dispatch primary-name funding via the
1356
+ // funding-plan ix when caller asks for stakes/withdrawal/plan/any. The
1357
+ // direct-transfer ix stays the path for fundFrom='balance' / undefined.
1358
+ let ix;
1359
+ if (!params.fundFrom ||
1360
+ params.fundFrom === 'balance' ||
1361
+ params.fundFrom === 'turbo') {
1362
+ ix = withRemainingAccounts(await (0, index_js_4.getRequestPrimaryNameInstructionAsync)(await this.withCoreDefaults({
1363
+ initiatorTokenAccount: signerATA,
1364
+ protocolTokenAccount: coreConfig.treasury,
1365
+ initiator: this.signer,
1366
+ name: params.name,
1367
+ }), { programAddress: this.coreProgram }), remaining);
1368
+ }
1369
+ else {
1370
+ ix = await this._buildPrimaryNameFromFundingPlanIx({
1371
+ params,
1372
+ coreConfig,
1373
+ validationAccounts: remaining,
1374
+ operation: 'request',
1375
+ });
1376
+ }
1377
+ const sig = await this.sendTransaction([ix]);
1378
+ return { id: sig };
1379
+ }
1380
+ async setPrimaryName(params, _options) {
1381
+ // setPrimaryName routes to the on-chain `request_and_set_primary_name`
1382
+ // path — the auto-approve flow when the caller owns the AntRecord
1383
+ // for the matching name (undername part, or "@" for base names).
1384
+ const coreConfig = await this.getCoreConfig();
1385
+ const signerATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(coreConfig.mint, this.signer.address);
1386
+ const { remaining, antProgram } = await this._buildPrimaryNameValidationAccounts(params.name, 'requestAndSet');
1387
+ if (!params.fundFrom ||
1388
+ params.fundFrom === 'balance' ||
1389
+ params.fundFrom === 'turbo') {
1390
+ // Direct-transfer path: delegate to requestPrimaryName for now (this
1391
+ // matches the pre-Phase-4 placeholder; the on-chain
1392
+ // request_and_set_primary_name ix uses the same fee charge so the
1393
+ // routing is functionally identical).
1394
+ void signerATA;
1395
+ return this.requestPrimaryName(params, _options);
1396
+ }
1397
+ const ix = await this._buildPrimaryNameFromFundingPlanIx({
1398
+ params,
1399
+ coreConfig,
1400
+ validationAccounts: remaining,
1401
+ operation: 'requestAndSet',
1402
+ antProgramId: antProgram,
1403
+ });
1404
+ const sig = await this.sendTransaction([ix]);
1405
+ return { id: sig };
1406
+ }
1407
+ /**
1408
+ * Build a `request_primary_name_from_funding_plan` or
1409
+ * `request_and_set_primary_name_from_funding_plan` ix. Forwards both:
1410
+ * - validation accounts (ArnsRecord + DemandFactor [+ ant_asset
1411
+ * [+ AntRecord]]) — passed via remaining_accounts at indices
1412
+ * [0..validation_account_count)
1413
+ * - per-source PDAs from the funding plan — passed at indices
1414
+ * [validation_account_count..)
1415
+ *
1416
+ * The on-chain handler (programs/ario-core/src/instructions/primary_name.rs)
1417
+ * splits remaining_accounts at `validation_account_count` and forwards the
1418
+ * funding-source slice to ario-gar's pay_from_funding_plan via CPI.
1419
+ */
1420
+ async _buildPrimaryNameFromFundingPlanIx(args) {
1421
+ // Estimate the fee — primary-name fee = PRIMARY_NAME_REQUEST_BASE_FEE *
1422
+ // demand_factor / DEMAND_FACTOR_SCALE. Read demand_factor from chain.
1423
+ const [demandFactorPda] = await (0, pda_js_1.getDemandFactorPDA)(this.arnsProgram);
1424
+ const dfAccount = await (0, kit_1.fetchEncodedAccount)(this.rpc, demandFactorPda, {
1425
+ commitment: this.commitment,
1426
+ });
1427
+ if (!dfAccount.exists)
1428
+ throw new Error('DemandFactor not found');
1429
+ const dv = new DataView(dfAccount.data.buffer, dfAccount.data.byteOffset, dfAccount.data.byteLength);
1430
+ const demandFactor = dv.getBigUint64(8, true);
1431
+ const PRIMARY_NAME_REQUEST_BASE_FEE = 200000n; // 0.2 ARIO in mARIO
1432
+ const SCALE = 1000000n;
1433
+ const fee = (PRIMARY_NAME_REQUEST_BASE_FEE * demandFactor) / SCALE;
1434
+ const plan = await this._resolveFundingPlan(args.params, fee);
1435
+ const garConfig = await this.getGarConfig();
1436
+ const [garSettings] = await (0, pda_js_1.getGarSettingsPDA)(this.garProgram);
1437
+ const initiatorATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(args.coreConfig.mint, this.signer.address);
1438
+ const { remainingAccounts: fundingRemaining, withdrawalCounter, residueVaultCount, } = await this._materializeFundingPlan(args.params, plan);
1439
+ const allRemaining = [
1440
+ ...args.validationAccounts,
1441
+ ...fundingRemaining,
1442
+ ];
1443
+ const validationAccountCount = args.validationAccounts.length;
1444
+ const baseFp = {
1445
+ config: await this._coreConfigPda(),
1446
+ garSettings,
1447
+ stakeTokenAccount: garConfig.stakeTokenAccount,
1448
+ protocolTokenAccount: args.coreConfig.treasury,
1449
+ payerTokenAccount: plan.hasBalanceSource ? initiatorATA : undefined,
1450
+ initiator: this.signer,
1451
+ withdrawalCounter,
1452
+ garProgram: this.garProgram,
1453
+ sources: plan.sources.map(toGeneratedFundingSourceSpec),
1454
+ validationAccountCount,
1455
+ residueVaultCount,
1456
+ };
1457
+ let ix;
1458
+ if (args.operation === 'request') {
1459
+ const [requestPda] = await (0, pda_js_1.getPrimaryNameRequestPDA)(this.signer.address, this.coreProgram);
1460
+ ix = await (0, index_js_4.getRequestPrimaryNameFromFundingPlanInstructionAsync)({ ...baseFp, request: requestPda, name: args.params.name }, { programAddress: this.coreProgram });
1461
+ }
1462
+ else {
1463
+ const [primaryNamePda] = await (0, pda_js_1.getPrimaryNamePDA)(this.signer.address, this.coreProgram);
1464
+ const [primaryNameReversePda] = await (0, pda_js_1.getPrimaryNameReversePDA)(args.params.name, this.coreProgram);
1465
+ ix = await (0, index_js_4.getRequestAndSetPrimaryNameFromFundingPlanInstructionAsync)({
1466
+ ...baseFp,
1467
+ primaryName: primaryNamePda,
1468
+ primaryNameReverse: primaryNameReversePda,
1469
+ name: args.params.name,
1470
+ reverseLookupHash: (0, pda_js_1.hashName)(args.params.name),
1471
+ antProgramId: args.antProgramId ?? this.antProgram,
1472
+ }, { programAddress: this.coreProgram });
1473
+ }
1474
+ return allRemaining.length > 0
1475
+ ? withRemainingAccounts(ix, allRemaining)
1476
+ : ix;
1477
+ }
1478
+ async _coreConfigPda() {
1479
+ const [pda] = await (0, pda_js_1.getArioConfigPDA)(this.coreProgram);
1480
+ return pda;
1481
+ }
1482
+ /**
1483
+ * Approve a previously-created primary name request. The signer must be
1484
+ * the AntRecord.owner for the requested name (undername part for
1485
+ * undernames, "@" for base names) — Sprint 2 / ADR-016 reshape.
1486
+ *
1487
+ * Mirrors the on-chain `approve_primary_name` instruction
1488
+ * (`programs/ario-core/src/instructions/primary_name.rs`).
1489
+ * remaining_accounts: [arns_record(base), ant_record(undername | @)].
1490
+ */
1491
+ async approvePrimaryName(params, _options) {
1492
+ const [requestPda] = await (0, pda_js_1.getPrimaryNameRequestPDA)(params.initiator, this.coreProgram);
1493
+ const [primaryNamePda] = await (0, pda_js_1.getPrimaryNamePDA)(params.initiator, this.coreProgram);
1494
+ const [primaryNameReversePda] = await (0, pda_js_1.getPrimaryNameReversePDA)(params.name, this.coreProgram);
1495
+ const { remaining, antProgram } = await this._buildPrimaryNameValidationAccounts(params.name, 'approve');
1496
+ const ix = withRemainingAccounts(await (0, index_js_4.getApprovePrimaryNameInstructionAsync)({
1497
+ request: requestPda,
1498
+ initiator: params.initiator,
1499
+ primaryName: primaryNamePda,
1500
+ primaryNameReverse: primaryNameReversePda,
1501
+ nameOwner: this.signer,
1502
+ reverseLookupHash: (0, pda_js_1.hashName)(params.name),
1503
+ antProgramId: antProgram,
1504
+ }, { programAddress: this.coreProgram }), remaining);
1505
+ const sig = await this.sendTransaction([ix]);
1506
+ return { id: sig };
1507
+ }
1508
+ // =========================================
1509
+ // Vault release (ario-core)
1510
+ // =========================================
1511
+ /** Release tokens from an unlocked vault back to the owner. */
1512
+ async releaseVault(params, _options) {
1513
+ const mint = await this.getMint();
1514
+ const [vaultPda] = await (0, pda_js_1.getVaultPDA)(this.signer.address, BigInt(params.vaultId), this.coreProgram);
1515
+ const vaultATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(mint, vaultPda, true);
1516
+ const ownerATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(mint, this.signer.address);
1517
+ const ix = await (0, index_js_4.getReleaseVaultInstructionAsync)(await this.withCoreDefaults({
1518
+ vault: vaultPda,
1519
+ vaultTokenAccount: vaultATA,
1520
+ ownerTokenAccount: ownerATA,
1521
+ owner: this.signer,
1522
+ }), { programAddress: this.coreProgram });
1523
+ const sig = await this.sendTransaction([ix]);
1524
+ return { id: sig };
1525
+ }
1526
+ // =========================================
1527
+ // Close expired primary name request (ario-core)
1528
+ // =========================================
1529
+ /** Close an expired primary name request (permissionless — anyone can call). */
1530
+ async closeExpiredRequest(params, _options) {
1531
+ const initiatorPubkey = (0, kit_1.address)(params.initiator);
1532
+ const [requestPda] = await (0, pda_js_1.getPrimaryNameRequestPDA)(initiatorPubkey, this.coreProgram);
1533
+ const ix = (0, index_js_4.getCloseExpiredRequestInstruction)({
1534
+ request: requestPda,
1535
+ initiator: initiatorPubkey,
1536
+ payer: this.signer,
1537
+ }, { programAddress: this.coreProgram });
1538
+ const sig = await this.sendTransaction([ix]);
1539
+ return { id: sig };
1540
+ }
1541
+ // =========================================
1542
+ // Withdrawal claim (ario-gar)
1543
+ // =========================================
1544
+ /** Claim tokens from a completed withdrawal (after lock period). */
1545
+ async claimWithdrawal(params, _options) {
1546
+ const garConfig = await this.getGarConfig();
1547
+ const [withdrawalPda] = await (0, pda_js_1.getWithdrawalPDA)(this.signer.address, BigInt(params.withdrawalId), this.garProgram);
1548
+ const ownerATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(garConfig.mint, this.signer.address);
1549
+ const ix = await (0, index_js_5.getClaimWithdrawalInstructionAsync)(await this.withGarDefaults({
1550
+ withdrawal: withdrawalPda,
1551
+ stakeTokenAccount: garConfig.stakeTokenAccount,
1552
+ ownerTokenAccount: ownerATA,
1553
+ owner: this.signer,
1554
+ }), { programAddress: this.garProgram });
1555
+ const sig = await this.sendTransaction([ix], 1_000_000);
1556
+ return { id: sig };
1557
+ }
1558
+ // =========================================
1559
+ // Claim delegation from leaving gateway (ario-gar)
1560
+ // =========================================
1561
+ /** Claim delegated stake from a gateway that is leaving the network. */
1562
+ async claimDelegateFromLeavingGateway(params, _options) {
1563
+ const gateway = (0, kit_1.address)(params.gatewayAddress);
1564
+ const [gatewayPda] = await (0, pda_js_1.getGatewayPDA)(gateway, this.garProgram);
1565
+ const [delegationPda] = await (0, pda_js_1.getDelegationPDA)(gateway, this.signer.address, this.garProgram);
1566
+ const nextId = await this.getNextWithdrawalId(this.signer.address);
1567
+ const [withdrawalPda] = await (0, pda_js_1.getWithdrawalPDA)(this.signer.address, nextId, this.garProgram);
1568
+ // The on-chain handler is permissionless since `af38a40` (delegator +
1569
+ // payer split — anyone can crank). The IDL exposes both fields:
1570
+ // `delegator: Address` (no signature, just the seeds-derivation key)
1571
+ // and `payer: Signer` (covers rent on the init_if_needed withdrawal
1572
+ // counter + the new withdrawal account). The SDK's primary self-
1573
+ // claim path passes the signer for both roles; cranker callers can
1574
+ // pass distinct addresses by adding a `payer?` param to this method
1575
+ // (out of scope here — feature gap; tracked in
1576
+ // docs/E2E_TEST_COVERAGE_PLAN.md Phase 3.3).
1577
+ const ix = await (0, index_js_5.getClaimDelegateFromLeavingGatewayInstructionAsync)({
1578
+ gateway: gatewayPda,
1579
+ delegation: delegationPda,
1580
+ withdrawal: withdrawalPda,
1581
+ delegator: this.signer.address,
1582
+ payer: this.signer,
1583
+ }, { programAddress: this.garProgram });
1584
+ const sig = await this.sendTransaction([ix], 1_000_000);
1585
+ return { id: sig };
1586
+ }
1587
+ // =========================================
1588
+ // Delegation allowlist (ario-gar)
1589
+ // =========================================
1590
+ /** Add an address to the gateway's delegation allowlist. */
1591
+ async allowDelegate(params, _options) {
1592
+ const ix = await (0, index_js_5.getAllowDelegateInstructionAsync)({
1593
+ delegate: (0, kit_1.address)(params.delegate),
1594
+ operator: this.signer,
1595
+ }, { programAddress: this.garProgram });
1596
+ const sig = await this.sendTransaction([ix], 1_000_000);
1597
+ return { id: sig };
1598
+ }
1599
+ /** Remove an address from the gateway's delegation allowlist. */
1600
+ async disallowDelegate(params, _options) {
1601
+ const ix = await (0, index_js_5.getDisallowDelegateInstructionAsync)({
1602
+ delegate: (0, kit_1.address)(params.delegate),
1603
+ operator: this.signer,
1604
+ }, { programAddress: this.garProgram });
1605
+ const sig = await this.sendTransaction([ix], 1_000_000);
1606
+ return { id: sig };
1607
+ }
1608
+ /** Enable or disable the delegation allowlist for the gateway. */
1609
+ async setAllowlistEnabled(params, _options) {
1610
+ const ix = await (0, index_js_5.getSetAllowlistEnabledInstructionAsync)(await this.withGarDefaults({
1611
+ operator: this.signer,
1612
+ enabled: params.enabled,
1613
+ }), { programAddress: this.garProgram });
1614
+ const sig = await this.sendTransaction([ix], 1_000_000);
1615
+ return { id: sig };
1616
+ }
1617
+ // =========================================
1618
+ // Buy returned name (ario-arns)
1619
+ // =========================================
1620
+ /**
1621
+ * Buy a name from the returned name auction (Dutch auction with premium).
1622
+ *
1623
+ * Phase 4: now dispatches on `params.fundFrom`. Note that for
1624
+ * `buyReturnedName`, only the protocol share funds from the chosen source;
1625
+ * the initiator share is always a direct buyer-ATA → initiator-ATA SPL
1626
+ * transfer (matches the on-chain `_from_*` variant behavior).
1627
+ */
1628
+ async buyReturnedName(params, _options) {
1629
+ const arnsConfig = await this.getArnsConfig();
1630
+ const buyerATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(arnsConfig.mint, this.signer.address);
1631
+ const antPubkey = (0, kit_1.address)(params.processId);
1632
+ // Read the ReturnedName to find the original initiator (gets the premium).
1633
+ const [returnedNamePda] = await (0, pda_js_1.getReturnedNamePDA)(params.name, this.arnsProgram);
1634
+ const returnedNameAccount = await (0, kit_1.fetchEncodedAccount)(this.rpc, returnedNamePda, { commitment: this.commitment });
1635
+ if (!returnedNameAccount.exists) {
1636
+ throw new Error(`Returned name not found: ${params.name}`);
1637
+ }
1638
+ const returnedNameData = Buffer.from(returnedNameAccount.data);
1639
+ const nameLen = returnedNameData.readUInt32LE(8);
1640
+ const initiatorOffset = 8 + 4 + nameLen + 32;
1641
+ const initiator = addressDecoder.decode(returnedNameData.subarray(initiatorOffset, initiatorOffset + 32));
1642
+ const initiatorATA = await (0, ata_js_1.getAssociatedTokenAddressKit)(arnsConfig.mint, initiator);
1643
+ const [arnsRecord] = await (0, pda_js_1.getArnsRecordPDA)(params.name, this.arnsProgram);
1644
+ const buyParams = {
1645
+ name: params.name,
1646
+ purchaseType: params.type === 'permabuy' ? index_js_2.PurchaseType.Permabuy : index_js_2.PurchaseType.Lease,
1647
+ years: params.years ?? 1,
1648
+ ant: antPubkey,
1649
+ };
1650
+ let ix;
1651
+ if (!params.fundFrom ||
1652
+ params.fundFrom === 'balance' ||
1653
+ params.fundFrom === 'turbo') {
1654
+ ix = await (0, index_js_1.getBuyReturnedNameInstructionAsync)(await this.withArnsDefaults({
1655
+ arnsRecord,
1656
+ returnedName: returnedNamePda,
1657
+ buyerTokenAccount: buyerATA,
1658
+ protocolTokenAccount: arnsConfig.treasury,
1659
+ initiatorTokenAccount: initiatorATA,
1660
+ buyer: this.signer,
1661
+ params: buyParams,
1662
+ }), { programAddress: this.arnsProgram });
1663
+ }
1664
+ else {
1665
+ const garConfig = await this.getGarConfig();
1666
+ const [garSettings] = await (0, pda_js_1.getGarSettingsPDA)(this.garProgram);
1667
+ const sharedReturnedBase = {
1668
+ config: await this.arnsConfigPda(),
1669
+ demandFactor: await this.demandFactorPda(),
1670
+ returnedName: returnedNamePda,
1671
+ arnsRecord,
1672
+ nameRegistry: await this.nameRegistryPda(),
1673
+ buyerTokenAccount: buyerATA,
1674
+ initiatorTokenAccount: initiatorATA,
1675
+ garSettings,
1676
+ stakeTokenAccount: garConfig.stakeTokenAccount,
1677
+ protocolTokenAccount: arnsConfig.treasury,
1678
+ buyer: this.signer,
1679
+ garProgram: this.garProgram,
1680
+ params: buyParams,
1681
+ };
1682
+ if (params.fundFrom === 'stakes' && params.gatewayAddress) {
1683
+ const gatewayAddr = (0, kit_1.address)(params.gatewayAddress);
1684
+ const [gatewayPda] = await (0, pda_js_1.getGatewayPDA)(gatewayAddr, this.garProgram);
1685
+ if (params.fundAsOperator) {
1686
+ ix = await (0, index_js_1.getBuyReturnedNameFromOperatorStakeInstructionAsync)({ ...sharedReturnedBase, gateway: gatewayPda }, { programAddress: this.arnsProgram });
1687
+ }
1688
+ else {
1689
+ const [delegationPda] = await (0, pda_js_1.getDelegationPDA)(gatewayAddr, this.signer.address, this.garProgram);
1690
+ ix = await (0, index_js_1.getBuyReturnedNameFromDelegationInstructionAsync)({
1691
+ ...sharedReturnedBase,
1692
+ gateway: gatewayPda,
1693
+ delegation: delegationPda,
1694
+ }, { programAddress: this.arnsProgram });
1695
+ }
1696
+ }
1697
+ else if (params.fundFrom === 'withdrawal' &&
1698
+ params.withdrawalId !== undefined) {
1699
+ const [withdrawalPda] = await (0, pda_js_1.getWithdrawalPDA)(this.signer.address, params.withdrawalId, this.garProgram);
1700
+ ix = await (0, index_js_1.getBuyReturnedNameFromWithdrawalInstructionAsync)({ ...sharedReturnedBase, withdrawal: withdrawalPda }, { programAddress: this.arnsProgram });
1701
+ }
1702
+ else if (params.fundFrom === 'plan' || params.fundFrom === 'any') {
1703
+ // Returned-name pricing is dynamic (Dutch auction premium); we trust
1704
+ // explicit caller-supplied sources here and skip auto-discovery if
1705
+ // sources is provided. For 'any' without sources, we fall back to a
1706
+ // best-effort estimate using the plain registration fee — caller can
1707
+ // always retry with explicit sources on FundingPlanAmountMismatch.
1708
+ const cost = await this._estimateBuyNameCost({
1709
+ name: params.name,
1710
+ purchaseType: buyParams.purchaseType,
1711
+ years: buyParams.years,
1712
+ });
1713
+ const plan = await this._resolveFundingPlan(params, cost);
1714
+ const { remainingAccounts, withdrawalCounter, residueVaultCount } = await this._materializeFundingPlan(params, plan);
1715
+ ix = await (0, index_js_1.getBuyReturnedNameFromFundingPlanInstructionAsync)({
1716
+ ...sharedReturnedBase,
1717
+ payerTokenAccount: plan.hasBalanceSource ? buyerATA : undefined,
1718
+ withdrawalCounter,
1719
+ sources: plan.sources.map(toGeneratedFundingSourceSpec),
1720
+ discountAccountCount: 0,
1721
+ residueVaultCount,
1722
+ }, { programAddress: this.arnsProgram });
1723
+ if (remainingAccounts.length > 0)
1724
+ ix = withRemainingAccounts(ix, remainingAccounts);
1725
+ }
1726
+ else {
1727
+ throw new Error(`unsupported fundFrom mode '${params.fundFrom}' for buyReturnedName`);
1728
+ }
1729
+ }
1730
+ // Sprint 4 / ADR-016: bundle ant.sync_attributes after the buy so the
1731
+ // Attributes plugin reflects the new record holder. assetOverride =
1732
+ // antPubkey because the ArnsRecord PDA is created by buy_returned_name
1733
+ // and doesn't exist on-chain at SDK build time.
1734
+ const syncIx = await this._buildSyncAttributesIxIfOwner(params.name, antPubkey);
1735
+ const sig = await this.sendTransaction(syncIx ? [ix, syncIx] : [ix]);
1736
+ return { id: sig };
1737
+ }
1738
+ // =========================================
1739
+ // Name management (ario-arns)
1740
+ // =========================================
1741
+ /** Reassign an ArNS name to a different ANT. */
1742
+ async reassignName(params, _options) {
1743
+ const newAnt = (0, kit_1.address)(params.processId);
1744
+ const [arnsRecord] = await (0, pda_js_1.getArnsRecordPDA)(params.name, this.arnsProgram);
1745
+ const ix = await (0, index_js_1.getReassignNameInstructionAsync)(await this.withArnsDefaults({
1746
+ arnsRecord,
1747
+ caller: this.signer,
1748
+ newAnt,
1749
+ }), { programAddress: this.arnsProgram });
1750
+ // The on-chain handler validates the new ANT via `remaining_accounts[0]`
1751
+ // (must be MPL-Core-owned + key matches `newAnt`). The codama builder
1752
+ // for reassign_name only encodes the typed accounts above, so we tag
1753
+ // the new ANT asset on as a readonly remaining account.
1754
+ //
1755
+ // Sprint 4 / ADR-016: post-reassign the record points at `newAnt`. The
1756
+ // bundled `sync_attributes` MUST target `newAnt` — without the
1757
+ // override, the helper would read the on-chain record at SDK build
1758
+ // time (still pointing at the OLD asset), build a sync ix for the
1759
+ // OLD asset, and fail the post-reassign `record.ant == asset.key()`
1760
+ // check. The owner-check inside _buildSyncAttributesIxIfOwner runs
1761
+ // against `newAnt`, so the bundle fires only when the reassign
1762
+ // caller is also the new ANT's holder; otherwise the ix is sent
1763
+ // alone and the new owner runs `syncAttributes()` later (BD-095/096).
1764
+ const syncIx = await this._buildSyncAttributesIxIfOwner(params.name, newAnt);
1765
+ const reassignWithMetas = withRemainingAccounts(ix, [
1766
+ { address: newAnt, role: kit_1.AccountRole.READONLY },
1767
+ ]);
1768
+ const sig = await this.sendTransaction(syncIx ? [reassignWithMetas, syncIx] : [reassignWithMetas]);
1769
+ return { id: sig };
1770
+ }
1771
+ /** Release a permabuy name back to the registry (creates a returned name auction). */
1772
+ async releaseName(params, _options) {
1773
+ const [returnedNamePda] = await (0, pda_js_1.getReturnedNamePDA)(params.name, this.arnsProgram);
1774
+ const [arnsRecord] = await (0, pda_js_1.getArnsRecordPDA)(params.name, this.arnsProgram);
1775
+ const ix = await (0, index_js_1.getReleaseNameInstructionAsync)(await this.withArnsDefaults({
1776
+ arnsRecord,
1777
+ returnedName: returnedNamePda,
1778
+ caller: this.signer,
1779
+ }), { programAddress: this.arnsProgram });
1780
+ // Note: no sync_attributes bundle here — release_name closes the
1781
+ // ArnsRecord PDA, so a follow-up sync would fail PDA validation. The
1782
+ // asset's stale traits remain pointing at the released name; off-chain
1783
+ // resolvers should treat ArnsRecord as the source of truth and ignore
1784
+ // a "ArNS Name" trait that no longer resolves.
1785
+ const sig = await this.sendTransaction([ix]);
1786
+ return { id: sig };
1787
+ }
1788
+ // =========================================
1789
+ // Epoch cranking (ario-gar) — permissionless
1790
+ // =========================================
1791
+ /**
1792
+ * Create a new epoch. Permissionless — anyone can call when the next
1793
+ * epoch's start time has arrived.
1794
+ */
1795
+ async createEpoch(_options) {
1796
+ const garConfig = await this.getGarConfig();
1797
+ const [epochSettingsPda] = await (0, pda_js_1.getEpochSettingsPDA)(this.garProgram);
1798
+ const settingsAccount = await (0, kit_1.fetchEncodedAccount)(this.rpc, epochSettingsPda, { commitment: this.commitment });
1799
+ if (!settingsAccount.exists)
1800
+ throw new Error('EpochSettings not found');
1801
+ const settings = (0, deserialize_js_1.deserializeEpochSettingsFull)(Buffer.from(settingsAccount.data));
1802
+ const epochIndex = settings.currentEpochIndex;
1803
+ const [epochPda] = await (0, pda_js_1.getEpochPDA)(epochIndex, this.garProgram);
1804
+ const ix = await (0, index_js_5.getCreateEpochInstructionAsync)(await this.withGarDefaults({
1805
+ epoch: epochPda,
1806
+ protocolTokenAccount: garConfig.protocolTokenAccount,
1807
+ payer: this.signer,
1808
+ }), { programAddress: this.garProgram });
1809
+ const sig = await this.sendTransaction([ix], 1_000_000);
1810
+ return { id: sig };
1811
+ }
1812
+ /**
1813
+ * Tally weights for a batch of gateways. Permissionless — call repeatedly
1814
+ * until all gateways are processed. Pass gateway PDAs as
1815
+ * `gatewayAccounts`; they're appended as `remaining_accounts`.
1816
+ */
1817
+ async tallyWeights(params, _options) {
1818
+ const ix = await (0, index_js_5.getTallyWeightsInstructionAsync)(await this.withGarDefaults({
1819
+ payer: this.signer,
1820
+ epochIndex: BigInt(params.epochIndex),
1821
+ }), { programAddress: this.garProgram });
1822
+ const remaining = params.gatewayAccounts.map((address) => ({
1823
+ address,
1824
+ role: kit_1.AccountRole.WRITABLE,
1825
+ }));
1826
+ const sig = await this.sendTransaction([withRemainingAccounts(ix, remaining)], 1_000_000);
1827
+ return { id: sig };
1828
+ }
1829
+ /**
1830
+ * Prescribe observers and names for an epoch. Permissionless — call after
1831
+ * weights are tallied. Gateway PDAs are appended as `remaining_accounts`,
1832
+ * and the optional `nameRegistryAccount` (must be last) enables the name
1833
+ * prescription leg.
1834
+ */
1835
+ async prescribeEpoch(params, _options) {
1836
+ const ix = await (0, index_js_5.getPrescribeEpochInstructionAsync)(await this.withGarDefaults({
1837
+ payer: this.signer,
1838
+ epochIndex: BigInt(params.epochIndex),
1839
+ }), { programAddress: this.garProgram });
1840
+ const remaining = params.gatewayAccounts.map((address) => ({
1841
+ address,
1842
+ role: kit_1.AccountRole.READONLY,
1843
+ }));
1844
+ if (params.nameRegistryAccount) {
1845
+ remaining.push({
1846
+ address: params.nameRegistryAccount,
1847
+ role: kit_1.AccountRole.READONLY,
1848
+ });
1849
+ }
1850
+ const sig = await this.sendTransaction([withRemainingAccounts(ix, remaining)], 1_000_000);
1851
+ return { id: sig };
1852
+ }
1853
+ /**
1854
+ * Distribute rewards for a completed epoch in batches. Permissionless —
1855
+ * call after epoch ends. Gateway PDAs appended as `remaining_accounts`.
1856
+ */
1857
+ async distributeEpoch(params, _options) {
1858
+ const garConfig = await this.getGarConfig();
1859
+ const ix = await (0, index_js_5.getDistributeEpochInstructionAsync)(await this.withGarDefaults({
1860
+ protocolTokenAccount: garConfig.protocolTokenAccount,
1861
+ stakeTokenAccount: garConfig.stakeTokenAccount,
1862
+ payer: this.signer,
1863
+ epochIndex: BigInt(params.epochIndex),
1864
+ }), { programAddress: this.garProgram });
1865
+ const remaining = params.gatewayAccounts.map((address) => ({
1866
+ address,
1867
+ role: kit_1.AccountRole.WRITABLE,
1868
+ }));
1869
+ const sig = await this.sendTransaction([withRemainingAccounts(ix, remaining)], 1_000_000);
1870
+ return { id: sig };
1871
+ }
1872
+ /**
1873
+ * Close an old epoch account and reclaim rent. Permissionless — call after
1874
+ * the epoch is distributed and at least 7 epochs have passed.
1875
+ */
1876
+ async closeEpoch(params, _options) {
1877
+ const ix = await (0, index_js_5.getCloseEpochInstructionAsync)(await this.withGarDefaults({
1878
+ payer: this.signer,
1879
+ epochIndex: BigInt(params.epochIndex),
1880
+ }), { programAddress: this.garProgram });
1881
+ const sig = await this.sendTransaction([ix]);
1882
+ return { id: sig };
1883
+ }
1884
+ // =========================================
1885
+ // Cranker helpers
1886
+ // =========================================
1887
+ /**
1888
+ * Get gateway PDAs for a batch starting at registryIndex.
1889
+ * Reads the GatewayRegistry and derives PDAs for the next `batchSize`
1890
+ * active gateways.
1891
+ */
1892
+ async getRegistryGatewayPDAs(startIndex, batchSize) {
1893
+ const [registryPda] = await (0, pda_js_1.getGatewayRegistryPDA)(this.garProgram);
1894
+ const registryAccount = await (0, kit_1.fetchEncodedAccount)(this.rpc, registryPda, {
1895
+ commitment: this.commitment,
1896
+ });
1897
+ if (!registryAccount.exists)
1898
+ return [];
1899
+ const registryData = Buffer.from(registryAccount.data);
1900
+ const count = registryData.readUInt32LE(40); // 8 disc + 32 authority
1901
+ const slotsOffset = 48; // 8 + 32 + 4 + 4
1902
+ // GatewaySlot: address(32) + composite_weight(8) + start_timestamp(8)
1903
+ // + status(1) + _padding(7) = 56 bytes.
1904
+ const SLOT_STRIDE = 56;
1905
+ const pdas = [];
1906
+ const end = Math.min(startIndex + batchSize, count);
1907
+ const zero = '11111111111111111111111111111111';
1908
+ for (let i = startIndex; i < end && i < 3000; i++) {
1909
+ const slotOffset = slotsOffset + i * SLOT_STRIDE;
1910
+ const addr = addressDecoder.decode(registryData.subarray(slotOffset, slotOffset + 32));
1911
+ if (addr === zero)
1912
+ continue;
1913
+ const [gatewayPda] = await (0, pda_js_1.getGatewayPDA)(addr, this.garProgram);
1914
+ pdas.push(gatewayPda);
1915
+ }
1916
+ return pdas;
1917
+ }
1918
+ /** Get ALL active gateway PDAs from the registry. */
1919
+ async getAllRegistryGatewayPDAs() {
1920
+ const [registryPda] = await (0, pda_js_1.getGatewayRegistryPDA)(this.garProgram);
1921
+ const registryAccount = await (0, kit_1.fetchEncodedAccount)(this.rpc, registryPda, {
1922
+ commitment: this.commitment,
1923
+ });
1924
+ if (!registryAccount.exists)
1925
+ return [];
1926
+ const registryData = Buffer.from(registryAccount.data);
1927
+ const count = registryData.readUInt32LE(40);
1928
+ const slotsOffset = 48;
1929
+ const SLOT_STRIDE = 56;
1930
+ const pdas = [];
1931
+ const zero = '11111111111111111111111111111111';
1932
+ for (let i = 0; i < count && i < 3000; i++) {
1933
+ const slotOffset = slotsOffset + i * SLOT_STRIDE;
1934
+ const addr = addressDecoder.decode(registryData.subarray(slotOffset, slotOffset + 32));
1935
+ if (addr === zero)
1936
+ continue;
1937
+ const [gatewayPda] = await (0, pda_js_1.getGatewayPDA)(addr, this.garProgram);
1938
+ pdas.push(gatewayPda);
1939
+ }
1940
+ return pdas;
1941
+ }
1942
+ /**
1943
+ * Read the raw epoch account data for cranker state inspection.
1944
+ * Returns null if the epoch account doesn't exist yet.
1945
+ */
1946
+ async getEpochRaw(epochIndex) {
1947
+ const [epochPda] = await (0, pda_js_1.getEpochPDA)(epochIndex, this.garProgram);
1948
+ const account = await (0, kit_1.fetchEncodedAccount)(this.rpc, epochPda, {
1949
+ commitment: this.commitment,
1950
+ });
1951
+ if (!account.exists)
1952
+ return null;
1953
+ try {
1954
+ return this.fetchEpochRawFields(Buffer.from(account.data));
1955
+ }
1956
+ catch {
1957
+ return null;
1958
+ }
1959
+ }
1960
+ /**
1961
+ * Parse raw epoch account data for cranker-relevant fields.
1962
+ * Offsets match the Rust Epoch zero-copy struct (repr(C)).
1963
+ *
1964
+ * Layout after 8-byte discriminator:
1965
+ * [8 epoch_index][8 start_ts][8 end_ts][8 total_eligible][8 per_gw]
1966
+ * [8 per_obs][8 reward_rate][8 weight_lo][8 weight_hi][32 hashchain]
1967
+ * [4 active_gw_count][4 dist_idx][4 tally_idx]
1968
+ * [1 observer_count][1 name_count][1 obs_submitted][1 rewards_dist]
1969
+ * [1 weights_tallied][1 prescriptions_done][1 bump][1 _pad1]
1970
+ * [6000 failure_counts][1600 prescribed_observers]
1971
+ * [1600 prescribed_observer_gateways][64 prescribed_names]
1972
+ * [7 has_observed][5 _pad2]
1973
+ */
1974
+ fetchEpochRawFields(data) {
1975
+ const base = 8;
1976
+ const endTimestamp = Number(data.readBigInt64LE(base + 16));
1977
+ const activeGatewayCount = data.readUInt32LE(base + 104);
1978
+ const distributionIndex = data.readUInt32LE(base + 108);
1979
+ const tallyIndex = data.readUInt32LE(base + 112);
1980
+ const rewardsDistributed = data.readUInt8(base + 119);
1981
+ const weightsTallied = data.readUInt8(base + 120);
1982
+ const prescriptionsDone = data.readUInt8(base + 121);
1983
+ return {
1984
+ tallyIndex,
1985
+ distributionIndex,
1986
+ weightsTallied,
1987
+ prescriptionsDone,
1988
+ rewardsDistributed,
1989
+ activeGatewayCount,
1990
+ endTimestamp,
1991
+ };
1992
+ }
1993
+ }
1994
+ exports.SolanaARIOWriteable = SolanaARIOWriteable;