@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.
- package/README.md +142 -0
- package/lib/cjs/cli/cli.js +160 -39
- package/lib/cjs/cli/commands/antCommands.js +40 -14
- package/lib/cjs/cli/commands/arnsPurchaseCommands.js +46 -6
- package/lib/cjs/cli/commands/escrowCommands.js +219 -0
- package/lib/cjs/cli/commands/gatewayWriteCommands.js +132 -22
- package/lib/cjs/cli/commands/readCommands.js +10 -2
- package/lib/cjs/cli/commands/transfer.js +6 -6
- package/lib/cjs/cli/options.js +112 -2
- package/lib/cjs/cli/utils.js +315 -38
- package/lib/cjs/common/ant-registry.js +58 -3
- package/lib/cjs/common/ant.js +83 -5
- package/lib/cjs/common/contracts/ao-process.js +4 -6
- package/lib/cjs/common/io.js +42 -1
- package/lib/cjs/common/marketplace.js +24 -79
- package/lib/cjs/constants.js +15 -2
- package/lib/cjs/solana/ant-readable.js +429 -0
- package/lib/cjs/solana/ant-registry-readable.js +122 -0
- package/lib/cjs/solana/ant-registry-writeable.js +461 -0
- package/lib/cjs/solana/ant-writeable.js +356 -0
- package/lib/cjs/solana/ata.js +60 -0
- package/lib/cjs/solana/canonical-message.js +97 -0
- package/lib/cjs/solana/clusters.js +65 -0
- package/lib/cjs/solana/constants.js +128 -0
- package/lib/cjs/solana/deserialize.js +1127 -0
- package/lib/cjs/solana/escrow.js +744 -0
- package/lib/cjs/solana/events.js +248 -0
- package/lib/cjs/solana/funding-plan.js +723 -0
- package/lib/cjs/solana/generated/ant/accounts/aclConfig.js +59 -0
- package/lib/cjs/solana/generated/ant/accounts/aclPage.js +56 -0
- package/lib/cjs/solana/generated/ant/accounts/antConfig.js +55 -0
- package/lib/cjs/solana/generated/ant/accounts/antControllers.js +55 -0
- package/lib/cjs/solana/generated/ant/accounts/antMigrationConfig.js +59 -0
- package/lib/cjs/solana/generated/ant/accounts/antRecord.js +55 -0
- package/lib/cjs/solana/generated/ant/accounts/antRecordMetadata.js +55 -0
- package/lib/cjs/solana/generated/ant/accounts/index.js +30 -0
- package/lib/cjs/solana/generated/ant/errors/arioAnt.js +136 -0
- package/lib/cjs/solana/generated/ant/errors/index.js +24 -0
- package/lib/cjs/solana/generated/ant/events/aclEntryAddedEvent.js +28 -0
- package/lib/cjs/solana/generated/ant/events/aclEntryRemovedEvent.js +28 -0
- package/lib/cjs/solana/generated/ant/events/antMetadataUpdatedEvent.js +28 -0
- package/lib/cjs/solana/generated/ant/events/antReconciledEvent.js +28 -0
- package/lib/cjs/solana/generated/ant/events/antTransferredEvent.js +28 -0
- package/lib/cjs/solana/generated/ant/events/attributesClearedEvent.js +28 -0
- package/lib/cjs/solana/generated/ant/events/attributesSyncedEvent.js +28 -0
- package/lib/cjs/solana/generated/ant/events/controllerAddedEvent.js +28 -0
- package/lib/cjs/solana/generated/ant/events/controllerRemovedEvent.js +28 -0
- package/lib/cjs/solana/generated/ant/events/index.js +32 -0
- package/lib/cjs/solana/generated/ant/events/recordMetadataPrunedEvent.js +28 -0
- package/lib/cjs/solana/generated/ant/events/recordMetadataRemovedEvent.js +28 -0
- package/lib/cjs/solana/generated/ant/events/recordMetadataUpdatedEvent.js +28 -0
- package/lib/cjs/solana/generated/ant/events/recordRemovedEvent.js +28 -0
- package/lib/cjs/solana/generated/ant/events/recordSetEvent.js +28 -0
- package/lib/cjs/solana/generated/ant/events/recordTransferredEvent.js +28 -0
- package/lib/cjs/solana/generated/ant/index.js +26 -0
- package/lib/cjs/solana/generated/ant/instructions/addAclPage.js +55 -0
- package/lib/cjs/solana/generated/ant/instructions/addController.js +83 -0
- package/lib/cjs/solana/generated/ant/instructions/clearAttributes.js +58 -0
- package/lib/cjs/solana/generated/ant/instructions/closeAclConfig.js +51 -0
- package/lib/cjs/solana/generated/ant/instructions/closeAclPage.js +51 -0
- package/lib/cjs/solana/generated/ant/instructions/closeOrphanedRecordMetadata.js +53 -0
- package/lib/cjs/solana/generated/ant/instructions/finalizeMigration.js +66 -0
- package/lib/cjs/solana/generated/ant/instructions/importAccount.js +77 -0
- package/lib/cjs/solana/generated/ant/instructions/index.js +53 -0
- package/lib/cjs/solana/generated/ant/instructions/initialize.js +80 -0
- package/lib/cjs/solana/generated/ant/instructions/initializeMigration.js +80 -0
- package/lib/cjs/solana/generated/ant/instructions/migrateAnt.js +73 -0
- package/lib/cjs/solana/generated/ant/instructions/reconcile.js +69 -0
- package/lib/cjs/solana/generated/ant/instructions/recordAclController.js +73 -0
- package/lib/cjs/solana/generated/ant/instructions/recordAclOwner.js +55 -0
- package/lib/cjs/solana/generated/ant/instructions/registerAclConfig.js +77 -0
- package/lib/cjs/solana/generated/ant/instructions/removeAclController.js +73 -0
- package/lib/cjs/solana/generated/ant/instructions/removeAclOwner.js +55 -0
- package/lib/cjs/solana/generated/ant/instructions/removeController.js +76 -0
- package/lib/cjs/solana/generated/ant/instructions/removeRecord.js +73 -0
- package/lib/cjs/solana/generated/ant/instructions/removeRecordMetadata.js +73 -0
- package/lib/cjs/solana/generated/ant/instructions/setDescription.js +73 -0
- package/lib/cjs/solana/generated/ant/instructions/setKeywords.js +73 -0
- package/lib/cjs/solana/generated/ant/instructions/setLogo.js +73 -0
- package/lib/cjs/solana/generated/ant/instructions/setName.js +73 -0
- package/lib/cjs/solana/generated/ant/instructions/setRecord.js +80 -0
- package/lib/cjs/solana/generated/ant/instructions/setRecordMetadata.js +80 -0
- package/lib/cjs/solana/generated/ant/instructions/setTicker.js +73 -0
- package/lib/cjs/solana/generated/ant/instructions/syncAttributes.js +60 -0
- package/lib/cjs/solana/generated/ant/instructions/transfer.js +88 -0
- package/lib/cjs/solana/generated/ant/instructions/transferRecord.js +73 -0
- package/lib/cjs/solana/generated/ant/pdas/aclConfig.js +15 -0
- package/lib/cjs/solana/generated/ant/pdas/antConfig.js +15 -0
- package/lib/cjs/solana/generated/ant/pdas/antControllers.js +15 -0
- package/lib/cjs/solana/generated/ant/pdas/controllerAclConfig.js +15 -0
- package/lib/cjs/solana/generated/ant/pdas/index.js +30 -0
- package/lib/cjs/solana/generated/ant/pdas/migrationConfig.js +15 -0
- package/lib/cjs/solana/generated/ant/pdas/newOwnerAclConfig.js +15 -0
- package/lib/cjs/solana/generated/ant/pdas/oldOwnerAclConfig.js +15 -0
- package/lib/cjs/solana/generated/ant/program-address.js +4 -0
- package/lib/cjs/solana/generated/ant/types/aclEntry.js +22 -0
- package/lib/cjs/solana/generated/ant/types/index.js +24 -0
- package/lib/cjs/solana/generated/ant-escrow/accounts/escrowAnt.js +59 -0
- package/lib/cjs/solana/generated/ant-escrow/accounts/escrowToken.js +59 -0
- package/lib/cjs/solana/generated/ant-escrow/accounts/index.js +25 -0
- package/lib/cjs/solana/generated/ant-escrow/errors/arioAntEscrow.js +69 -0
- package/lib/cjs/solana/generated/ant-escrow/errors/index.js +24 -0
- package/lib/cjs/solana/generated/ant-escrow/events/escrowCancelledEvent.js +28 -0
- package/lib/cjs/solana/generated/ant-escrow/events/escrowClaimedEvent.js +28 -0
- package/lib/cjs/solana/generated/ant-escrow/events/escrowDepositedEvent.js +28 -0
- package/lib/cjs/solana/generated/ant-escrow/events/escrowRecipientUpdatedEvent.js +28 -0
- package/lib/cjs/solana/generated/ant-escrow/events/index.js +21 -0
- package/lib/cjs/solana/generated/ant-escrow/index.js +26 -0
- package/lib/cjs/solana/generated/ant-escrow/instructions/cancelDeposit.js +58 -0
- package/lib/cjs/solana/generated/ant-escrow/instructions/cancelTokenDeposit.js +58 -0
- package/lib/cjs/solana/generated/ant-escrow/instructions/cancelVaultDeposit.js +58 -0
- package/lib/cjs/solana/generated/ant-escrow/instructions/claimAntArweave.js +60 -0
- package/lib/cjs/solana/generated/ant-escrow/instructions/claimAntEthereum.js +60 -0
- package/lib/cjs/solana/generated/ant-escrow/instructions/claimTokensArweave.js +60 -0
- package/lib/cjs/solana/generated/ant-escrow/instructions/claimTokensEthereum.js +60 -0
- package/lib/cjs/solana/generated/ant-escrow/instructions/claimVaultArweave.js +63 -0
- package/lib/cjs/solana/generated/ant-escrow/instructions/claimVaultEthereum.js +63 -0
- package/lib/cjs/solana/generated/ant-escrow/instructions/depositAnt.js +83 -0
- package/lib/cjs/solana/generated/ant-escrow/instructions/depositTokens.js +83 -0
- package/lib/cjs/solana/generated/ant-escrow/instructions/depositVault.js +83 -0
- package/lib/cjs/solana/generated/ant-escrow/instructions/index.js +38 -0
- package/lib/cjs/solana/generated/ant-escrow/instructions/updateRecipient.js +53 -0
- package/lib/cjs/solana/generated/ant-escrow/instructions/updateTokenRecipient.js +53 -0
- package/lib/cjs/solana/generated/ant-escrow/instructions/updateVaultRecipient.js +53 -0
- package/lib/cjs/solana/generated/ant-escrow/pdas/depositTokensEscrow.js +15 -0
- package/lib/cjs/solana/generated/ant-escrow/pdas/depositVaultEscrow.js +15 -0
- package/lib/cjs/solana/generated/ant-escrow/pdas/escrow.js +15 -0
- package/lib/cjs/solana/generated/ant-escrow/pdas/index.js +26 -0
- package/lib/cjs/solana/generated/ant-escrow/program-address.js +4 -0
- package/lib/cjs/solana/generated/arns/accounts/arnsConfig.js +59 -0
- package/lib/cjs/solana/generated/arns/accounts/arnsRecord.js +56 -0
- package/lib/cjs/solana/generated/arns/accounts/demandFactor.js +59 -0
- package/lib/cjs/solana/generated/arns/accounts/index.js +29 -0
- package/lib/cjs/solana/generated/arns/accounts/nameRegistry.js +60 -0
- package/lib/cjs/solana/generated/arns/accounts/reservedName.js +55 -0
- package/lib/cjs/solana/generated/arns/accounts/returnedName.js +55 -0
- package/lib/cjs/solana/generated/arns/errors/arioArns.js +121 -0
- package/lib/cjs/solana/generated/arns/errors/index.js +24 -0
- package/lib/cjs/solana/generated/arns/events/demandFactorUpdatedEvent.js +28 -0
- package/lib/cjs/solana/generated/arns/events/index.js +29 -0
- package/lib/cjs/solana/generated/arns/events/leaseExtendedEvent.js +28 -0
- package/lib/cjs/solana/generated/arns/events/namePurchasedEvent.js +28 -0
- package/lib/cjs/solana/generated/arns/events/nameReassignedEvent.js +28 -0
- package/lib/cjs/solana/generated/arns/events/nameReleasedEvent.js +28 -0
- package/lib/cjs/solana/generated/arns/events/nameReservedEvent.js +28 -0
- package/lib/cjs/solana/generated/arns/events/nameUnreservedEvent.js +28 -0
- package/lib/cjs/solana/generated/arns/events/nameUpgradedEvent.js +28 -0
- package/lib/cjs/solana/generated/arns/events/namesPrunedEvent.js +28 -0
- package/lib/cjs/solana/generated/arns/events/reservedNameClaimedEvent.js +28 -0
- package/lib/cjs/solana/generated/arns/events/returnedNamePurchasedEvent.js +28 -0
- package/lib/cjs/solana/generated/arns/events/undernameIncreasedEvent.js +28 -0
- package/lib/cjs/solana/generated/arns/index.js +26 -0
- package/lib/cjs/solana/generated/arns/instructions/buyName.js +90 -0
- package/lib/cjs/solana/generated/arns/instructions/buyNameFromDelegation.js +96 -0
- package/lib/cjs/solana/generated/arns/instructions/buyNameFromFundingPlan.js +100 -0
- package/lib/cjs/solana/generated/arns/instructions/buyNameFromOperatorStake.js +96 -0
- package/lib/cjs/solana/generated/arns/instructions/buyNameFromWithdrawal.js +96 -0
- package/lib/cjs/solana/generated/arns/instructions/buyReturnedName.js +90 -0
- package/lib/cjs/solana/generated/arns/instructions/buyReturnedNameFromDelegation.js +96 -0
- package/lib/cjs/solana/generated/arns/instructions/buyReturnedNameFromFundingPlan.js +100 -0
- package/lib/cjs/solana/generated/arns/instructions/buyReturnedNameFromOperatorStake.js +96 -0
- package/lib/cjs/solana/generated/arns/instructions/buyReturnedNameFromWithdrawal.js +96 -0
- package/lib/cjs/solana/generated/arns/instructions/claimReservedName.js +66 -0
- package/lib/cjs/solana/generated/arns/instructions/createNameRegistry.js +76 -0
- package/lib/cjs/solana/generated/arns/instructions/extendLease.js +80 -0
- package/lib/cjs/solana/generated/arns/instructions/extendLeaseFromDelegation.js +86 -0
- package/lib/cjs/solana/generated/arns/instructions/extendLeaseFromFundingPlan.js +97 -0
- package/lib/cjs/solana/generated/arns/instructions/extendLeaseFromOperatorStake.js +86 -0
- package/lib/cjs/solana/generated/arns/instructions/extendLeaseFromWithdrawal.js +86 -0
- package/lib/cjs/solana/generated/arns/instructions/finalizeMigration.js +66 -0
- package/lib/cjs/solana/generated/arns/instructions/getTokenCost.js +71 -0
- package/lib/cjs/solana/generated/arns/instructions/importAccount.js +77 -0
- package/lib/cjs/solana/generated/arns/instructions/importRegistryEntry.js +70 -0
- package/lib/cjs/solana/generated/arns/instructions/increaseUndernameLimit.js +86 -0
- package/lib/cjs/solana/generated/arns/instructions/increaseUndernameLimitFromDelegation.js +86 -0
- package/lib/cjs/solana/generated/arns/instructions/increaseUndernameLimitFromFundingPlan.js +97 -0
- package/lib/cjs/solana/generated/arns/instructions/increaseUndernameLimitFromOperatorStake.js +86 -0
- package/lib/cjs/solana/generated/arns/instructions/increaseUndernameLimitFromWithdrawal.js +86 -0
- package/lib/cjs/solana/generated/arns/instructions/index.js +64 -0
- package/lib/cjs/solana/generated/arns/instructions/initialize.js +83 -0
- package/lib/cjs/solana/generated/arns/instructions/pruneExpiredNames.js +80 -0
- package/lib/cjs/solana/generated/arns/instructions/pruneExpiredReservation.js +51 -0
- package/lib/cjs/solana/generated/arns/instructions/pruneNameToReturned.js +76 -0
- package/lib/cjs/solana/generated/arns/instructions/pruneReturnedNames.js +77 -0
- package/lib/cjs/solana/generated/arns/instructions/reassignName.js +77 -0
- package/lib/cjs/solana/generated/arns/instructions/releaseName.js +76 -0
- package/lib/cjs/solana/generated/arns/instructions/reserveName.js +77 -0
- package/lib/cjs/solana/generated/arns/instructions/unreserveName.js +66 -0
- package/lib/cjs/solana/generated/arns/instructions/updateDemandFactor.js +66 -0
- package/lib/cjs/solana/generated/arns/instructions/upgradeName.js +82 -0
- package/lib/cjs/solana/generated/arns/instructions/upgradeNameFromDelegation.js +82 -0
- package/lib/cjs/solana/generated/arns/instructions/upgradeNameFromFundingPlan.js +97 -0
- package/lib/cjs/solana/generated/arns/instructions/upgradeNameFromOperatorStake.js +82 -0
- package/lib/cjs/solana/generated/arns/instructions/upgradeNameFromWithdrawal.js +82 -0
- package/lib/cjs/solana/generated/arns/pdas/config.js +15 -0
- package/lib/cjs/solana/generated/arns/pdas/demandFactor.js +15 -0
- package/lib/cjs/solana/generated/arns/pdas/index.js +26 -0
- package/lib/cjs/solana/generated/arns/pdas/nameRegistry.js +15 -0
- package/lib/cjs/solana/generated/arns/program-address.js +4 -0
- package/lib/cjs/solana/generated/arns/types/buyNameParams.js +23 -0
- package/lib/cjs/solana/generated/arns/types/buyReturnedNameParams.js +23 -0
- package/lib/cjs/solana/generated/arns/types/costIntent.js +32 -0
- package/lib/cjs/solana/generated/arns/types/fundingSourceKind.js +39 -0
- package/lib/cjs/solana/generated/arns/types/fundingSourceSpec.js +23 -0
- package/lib/cjs/solana/generated/arns/types/index.js +30 -0
- package/lib/cjs/solana/generated/arns/types/nameEntry.js +22 -0
- package/lib/cjs/solana/generated/arns/types/purchaseType.js +29 -0
- package/lib/cjs/solana/generated/core/accounts/arioConfig.js +59 -0
- package/lib/cjs/solana/generated/core/accounts/balance.js +59 -0
- package/lib/cjs/solana/generated/core/accounts/index.js +30 -0
- package/lib/cjs/solana/generated/core/accounts/primaryName.js +55 -0
- package/lib/cjs/solana/generated/core/accounts/primaryNameRequest.js +55 -0
- package/lib/cjs/solana/generated/core/accounts/primaryNameReverse.js +55 -0
- package/lib/cjs/solana/generated/core/accounts/vault.js +55 -0
- package/lib/cjs/solana/generated/core/accounts/vaultCounter.js +59 -0
- package/lib/cjs/solana/generated/core/errors/arioCore.js +115 -0
- package/lib/cjs/solana/generated/core/errors/index.js +24 -0
- package/lib/cjs/solana/generated/core/events/configUpdatedEvent.js +28 -0
- package/lib/cjs/solana/generated/core/events/coreMigrationFinalizedEvent.js +28 -0
- package/lib/cjs/solana/generated/core/events/index.js +30 -0
- package/lib/cjs/solana/generated/core/events/primaryNameRemovedEvent.js +28 -0
- package/lib/cjs/solana/generated/core/events/primaryNameRequestExpiredEvent.js +28 -0
- package/lib/cjs/solana/generated/core/events/primaryNameRequestedEvent.js +28 -0
- package/lib/cjs/solana/generated/core/events/primaryNameSetEvent.js +28 -0
- package/lib/cjs/solana/generated/core/events/supplyFinalizedEvent.js +28 -0
- package/lib/cjs/solana/generated/core/events/transferEvent.js +28 -0
- package/lib/cjs/solana/generated/core/events/vaultCreatedEvent.js +28 -0
- package/lib/cjs/solana/generated/core/events/vaultExtendedEvent.js +28 -0
- package/lib/cjs/solana/generated/core/events/vaultIncreasedEvent.js +28 -0
- package/lib/cjs/solana/generated/core/events/vaultReleasedEvent.js +28 -0
- package/lib/cjs/solana/generated/core/events/vaultRevokedEvent.js +28 -0
- package/lib/cjs/solana/generated/core/index.js +26 -0
- package/lib/cjs/solana/generated/core/instructions/adminRepairConfig.js +70 -0
- package/lib/cjs/solana/generated/core/instructions/approvePrimaryName.js +80 -0
- package/lib/cjs/solana/generated/core/instructions/closeExpiredRequest.js +51 -0
- package/lib/cjs/solana/generated/core/instructions/createVault.js +86 -0
- package/lib/cjs/solana/generated/core/instructions/extendVault.js +70 -0
- package/lib/cjs/solana/generated/core/instructions/finalizeMigration.js +66 -0
- package/lib/cjs/solana/generated/core/instructions/finalizeSupply.js +70 -0
- package/lib/cjs/solana/generated/core/instructions/importAccount.js +77 -0
- package/lib/cjs/solana/generated/core/instructions/importBalance.js +95 -0
- package/lib/cjs/solana/generated/core/instructions/increaseVault.js +77 -0
- package/lib/cjs/solana/generated/core/instructions/index.js +45 -0
- package/lib/cjs/solana/generated/core/instructions/initialize.js +80 -0
- package/lib/cjs/solana/generated/core/instructions/releaseVault.js +73 -0
- package/lib/cjs/solana/generated/core/instructions/removePrimaryName.js +73 -0
- package/lib/cjs/solana/generated/core/instructions/removePrimaryNameForBaseName.js +73 -0
- package/lib/cjs/solana/generated/core/instructions/requestAndSetPrimaryName.js +89 -0
- package/lib/cjs/solana/generated/core/instructions/requestAndSetPrimaryNameFromFundingPlan.js +100 -0
- package/lib/cjs/solana/generated/core/instructions/requestPrimaryName.js +86 -0
- package/lib/cjs/solana/generated/core/instructions/requestPrimaryNameFromFundingPlan.js +97 -0
- package/lib/cjs/solana/generated/core/instructions/revokeVault.js +73 -0
- package/lib/cjs/solana/generated/core/instructions/transfer.js +57 -0
- package/lib/cjs/solana/generated/core/instructions/updateConfig.js +70 -0
- package/lib/cjs/solana/generated/core/instructions/vaultedTransfer.js +86 -0
- package/lib/cjs/solana/generated/core/pdas/balance.js +15 -0
- package/lib/cjs/solana/generated/core/pdas/config.js +15 -0
- package/lib/cjs/solana/generated/core/pdas/index.js +31 -0
- package/lib/cjs/solana/generated/core/pdas/primaryName.js +15 -0
- package/lib/cjs/solana/generated/core/pdas/primaryNameReverse.js +15 -0
- package/lib/cjs/solana/generated/core/pdas/recipientVaultCounter.js +15 -0
- package/lib/cjs/solana/generated/core/pdas/request.js +15 -0
- package/lib/cjs/solana/generated/core/pdas/requestAndSetPrimaryNamePrimaryName.js +15 -0
- package/lib/cjs/solana/generated/core/pdas/vaultCounter.js +15 -0
- package/lib/cjs/solana/generated/core/program-address.js +4 -0
- package/lib/cjs/solana/generated/core/types/fundingSourceKind.js +39 -0
- package/lib/cjs/solana/generated/core/types/fundingSourceSpec.js +23 -0
- package/lib/cjs/solana/generated/core/types/index.js +25 -0
- package/lib/cjs/solana/generated/gar/accounts/allowlistEntry.js +59 -0
- package/lib/cjs/solana/generated/gar/accounts/delegation.js +59 -0
- package/lib/cjs/solana/generated/gar/accounts/epoch.js +59 -0
- package/lib/cjs/solana/generated/gar/accounts/epochSettings.js +59 -0
- package/lib/cjs/solana/generated/gar/accounts/gateway.js +56 -0
- package/lib/cjs/solana/generated/gar/accounts/gatewayRegistry.js +60 -0
- package/lib/cjs/solana/generated/gar/accounts/gatewaySettings.js +59 -0
- package/lib/cjs/solana/generated/gar/accounts/index.js +35 -0
- package/lib/cjs/solana/generated/gar/accounts/observation.js +59 -0
- package/lib/cjs/solana/generated/gar/accounts/observerLookup.js +59 -0
- package/lib/cjs/solana/generated/gar/accounts/redelegationRecord.js +59 -0
- package/lib/cjs/solana/generated/gar/accounts/withdrawal.js +59 -0
- package/lib/cjs/solana/generated/gar/accounts/withdrawalCounter.js +59 -0
- package/lib/cjs/solana/generated/gar/errors/arioGar.js +200 -0
- package/lib/cjs/solana/generated/gar/errors/index.js +24 -0
- package/lib/cjs/solana/generated/gar/events/allowlistToggledEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/delegateAllowlistedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/delegationClosedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/delegationDecreasedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/delegationEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/epochClosedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/epochCreatedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/epochDistributedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/epochPrescribedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/epochWeightsTalliedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/epochsToggledEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/fundingPlanAppliedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/garMigrationFinalizedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/gatewayFinalizedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/gatewayJoinedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/gatewayLeavingEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/gatewayPrunedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/gatewaySettingsUpdatedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/index.js +47 -0
- package/lib/cjs/solana/generated/gar/events/instantWithdrawalEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/observationSubmittedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/observerAddressUpdatedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/operatorStakeIncreasedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/redelegationEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/residueVaultCreatedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/rewardsCompoundedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/stakePaymentEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/withdrawalCancelledEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/withdrawalClaimedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/withdrawalCreatedEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/events/withdrawalPaymentEvent.js +28 -0
- package/lib/cjs/solana/generated/gar/index.js +26 -0
- package/lib/cjs/solana/generated/gar/instructions/adminRepairSettings.js +70 -0
- package/lib/cjs/solana/generated/gar/instructions/allowDelegate.js +76 -0
- package/lib/cjs/solana/generated/gar/instructions/cancelWithdrawal.js +70 -0
- package/lib/cjs/solana/generated/gar/instructions/claimDelegateFromLeavingGateway.js +76 -0
- package/lib/cjs/solana/generated/gar/instructions/claimWithdrawal.js +73 -0
- package/lib/cjs/solana/generated/gar/instructions/closeDrainedWithdrawal.js +51 -0
- package/lib/cjs/solana/generated/gar/instructions/closeEmptyDelegation.js +51 -0
- package/lib/cjs/solana/generated/gar/instructions/closeEpoch.js +73 -0
- package/lib/cjs/solana/generated/gar/instructions/closeObservation.js +70 -0
- package/lib/cjs/solana/generated/gar/instructions/compoundDelegationRewards.js +51 -0
- package/lib/cjs/solana/generated/gar/instructions/createEpoch.js +79 -0
- package/lib/cjs/solana/generated/gar/instructions/createGatewayRegistry.js +76 -0
- package/lib/cjs/solana/generated/gar/instructions/decreaseDelegateStake.js +80 -0
- package/lib/cjs/solana/generated/gar/instructions/decreaseOperatorStake.js +83 -0
- package/lib/cjs/solana/generated/gar/instructions/deductDelegationForPayment.js +77 -0
- package/lib/cjs/solana/generated/gar/instructions/deductOperatorStakeForPayment.js +80 -0
- package/lib/cjs/solana/generated/gar/instructions/deductWithdrawalForPayment.js +77 -0
- package/lib/cjs/solana/generated/gar/instructions/delegateStake.js +83 -0
- package/lib/cjs/solana/generated/gar/instructions/disallowDelegate.js +69 -0
- package/lib/cjs/solana/generated/gar/instructions/distributeEpoch.js +86 -0
- package/lib/cjs/solana/generated/gar/instructions/finalizeGone.js +69 -0
- package/lib/cjs/solana/generated/gar/instructions/finalizeMigration.js +66 -0
- package/lib/cjs/solana/generated/gar/instructions/importAccount.js +77 -0
- package/lib/cjs/solana/generated/gar/instructions/importRegistryEntry.js +70 -0
- package/lib/cjs/solana/generated/gar/instructions/increaseOperatorStake.js +80 -0
- package/lib/cjs/solana/generated/gar/instructions/index.js +66 -0
- package/lib/cjs/solana/generated/gar/instructions/initialize.js +80 -0
- package/lib/cjs/solana/generated/gar/instructions/initializeEpochs.js +80 -0
- package/lib/cjs/solana/generated/gar/instructions/instantWithdrawal.js +73 -0
- package/lib/cjs/solana/generated/gar/instructions/joinNetwork.js +90 -0
- package/lib/cjs/solana/generated/gar/instructions/leaveNetwork.js +89 -0
- package/lib/cjs/solana/generated/gar/instructions/migrateSettingsSetArnsProgramId.js +77 -0
- package/lib/cjs/solana/generated/gar/instructions/migrateSettingsSupplyCounters.js +70 -0
- package/lib/cjs/solana/generated/gar/instructions/payFromFundingPlan.js +91 -0
- package/lib/cjs/solana/generated/gar/instructions/prescribeEpoch.js +79 -0
- package/lib/cjs/solana/generated/gar/instructions/pruneGateway.js +89 -0
- package/lib/cjs/solana/generated/gar/instructions/redelegateStake.js +86 -0
- package/lib/cjs/solana/generated/gar/instructions/releaseTreasuryAuthority.js +77 -0
- package/lib/cjs/solana/generated/gar/instructions/saveObservations.js +80 -0
- package/lib/cjs/solana/generated/gar/instructions/setAllowlistEnabled.js +73 -0
- package/lib/cjs/solana/generated/gar/instructions/setEpochsEnabled.js +70 -0
- package/lib/cjs/solana/generated/gar/instructions/tallyWeights.js +79 -0
- package/lib/cjs/solana/generated/gar/instructions/updateGatewaySettings.js +74 -0
- package/lib/cjs/solana/generated/gar/instructions/updateObserverAddress.js +80 -0
- package/lib/cjs/solana/generated/gar/pdas/allowlistEntry.js +15 -0
- package/lib/cjs/solana/generated/gar/pdas/decreaseOperatorStakeWithdrawalCounter.js +15 -0
- package/lib/cjs/solana/generated/gar/pdas/epoch.js +15 -0
- package/lib/cjs/solana/generated/gar/pdas/epochSettings.js +15 -0
- package/lib/cjs/solana/generated/gar/pdas/gateway.js +15 -0
- package/lib/cjs/solana/generated/gar/pdas/index.js +35 -0
- package/lib/cjs/solana/generated/gar/pdas/newObserverLookup.js +15 -0
- package/lib/cjs/solana/generated/gar/pdas/observation.js +15 -0
- package/lib/cjs/solana/generated/gar/pdas/payFromFundingPlanWithdrawalCounter.js +15 -0
- package/lib/cjs/solana/generated/gar/pdas/redelegationRecord.js +15 -0
- package/lib/cjs/solana/generated/gar/pdas/registry.js +15 -0
- package/lib/cjs/solana/generated/gar/pdas/settings.js +15 -0
- package/lib/cjs/solana/generated/gar/pdas/withdrawalCounter.js +15 -0
- package/lib/cjs/solana/generated/gar/program-address.js +4 -0
- package/lib/cjs/solana/generated/gar/types/fundingSourceKind.js +39 -0
- package/lib/cjs/solana/generated/gar/types/fundingSourceSpec.js +23 -0
- package/lib/cjs/solana/generated/gar/types/gatewaySettings2.js +22 -0
- package/lib/cjs/solana/generated/gar/types/gatewaySlot.js +22 -0
- package/lib/cjs/solana/generated/gar/types/gatewayStats.js +22 -0
- package/lib/cjs/solana/generated/gar/types/gatewayStatus.js +30 -0
- package/lib/cjs/solana/generated/gar/types/gatewayWeights.js +22 -0
- package/lib/cjs/solana/generated/gar/types/index.js +32 -0
- package/lib/cjs/solana/generated/gar/types/protocol.js +29 -0
- package/lib/cjs/solana/generated/gar/types/registryIndex.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/accounts/assetV1.js +52 -0
- package/lib/cjs/solana/generated/mpl-core/accounts/collectionV1.js +52 -0
- package/lib/cjs/solana/generated/mpl-core/accounts/hashedAssetV1.js +56 -0
- package/lib/cjs/solana/generated/mpl-core/accounts/index.js +28 -0
- package/lib/cjs/solana/generated/mpl-core/accounts/pluginHeaderV1.js +56 -0
- package/lib/cjs/solana/generated/mpl-core/accounts/pluginRegistryV1.js +52 -0
- package/lib/cjs/solana/generated/mpl-core/errors/index.js +24 -0
- package/lib/cjs/solana/generated/mpl-core/errors/mplCore.js +142 -0
- package/lib/cjs/solana/generated/mpl-core/index.js +24 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/addCollectionExternalPluginAdapterV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/addCollectionPluginV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/addExternalPluginAdapterV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/addPluginV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/approveCollectionPluginAuthorityV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/approvePluginAuthorityV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/burnCollectionV1.js +58 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/burnV1.js +58 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/collect.js +51 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/compressV1.js +59 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/createCollectionV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/createCollectionV2.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/createV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/createV2.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/decompressV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/executeV1.js +65 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/index.js +56 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/removeCollectionExternalPluginAdapterV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/removeCollectionPluginV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/removeExternalPluginAdapterV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/removePluginV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/revokeCollectionPluginAuthorityV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/revokePluginAuthorityV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/transferV1.js +58 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/updateCollectionExternalPluginAdapterV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/updateCollectionInfoV1.js +54 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/updateCollectionPluginV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/updateCollectionV1.js +61 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/updateExternalPluginAdapterV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/updatePluginV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/updateV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/updateV2.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/writeCollectionExternalPluginAdapterDataV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/instructions/writeExternalPluginAdapterDataV1.js +62 -0
- package/lib/cjs/solana/generated/mpl-core/program-address.js +4 -0
- package/lib/cjs/solana/generated/mpl-core/types/addAssetsToGroupV1Args.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/addBlocker.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/addCollectionsToGroupV1Args.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/addGroupsToGroupV1Args.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/agentIdentity.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/agentIdentityInitInfo.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/agentIdentityUpdateInfo.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/appData.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/appDataInitInfo.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/appDataUpdateInfo.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/attribute.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/attributes.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/authority.js +31 -0
- package/lib/cjs/solana/generated/mpl-core/types/autograph.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/autographSignature.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/bubblegumV2.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/burnDelegate.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/closeGroupV1Args.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/compressionProof.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/creator.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/dataSection.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/dataSectionInitInfo.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/dataSectionUpdateInfo.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/dataState.js +29 -0
- package/lib/cjs/solana/generated/mpl-core/types/edition.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/externalCheckResult.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/externalPluginAdapter.js +32 -0
- package/lib/cjs/solana/generated/mpl-core/types/externalPluginAdapterInitInfo.js +32 -0
- package/lib/cjs/solana/generated/mpl-core/types/externalPluginAdapterKey.js +32 -0
- package/lib/cjs/solana/generated/mpl-core/types/externalPluginAdapterSchema.js +30 -0
- package/lib/cjs/solana/generated/mpl-core/types/externalPluginAdapterType.js +34 -0
- package/lib/cjs/solana/generated/mpl-core/types/externalPluginAdapterUpdateInfo.js +32 -0
- package/lib/cjs/solana/generated/mpl-core/types/externalRegistryRecord.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/externalValidationResult.js +30 -0
- package/lib/cjs/solana/generated/mpl-core/types/extraAccount.js +32 -0
- package/lib/cjs/solana/generated/mpl-core/types/freezeDelegate.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/freezeExecute.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/groups.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/hashablePluginSchema.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/hashedAssetSchema.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/hookableLifecycleEvent.js +32 -0
- package/lib/cjs/solana/generated/mpl-core/types/immutableMetadata.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/index.js +105 -0
- package/lib/cjs/solana/generated/mpl-core/types/key.js +34 -0
- package/lib/cjs/solana/generated/mpl-core/types/lifecycleHook.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/lifecycleHookInitInfo.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/lifecycleHookUpdateInfo.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/linkedAppData.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/linkedAppDataInitInfo.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/linkedAppDataUpdateInfo.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/linkedDataKey.js +32 -0
- package/lib/cjs/solana/generated/mpl-core/types/linkedLifecycleHook.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/linkedLifecycleHookInitInfo.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/linkedLifecycleHookUpdateInfo.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/masterEdition.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/oracle.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/oracleInitInfo.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/oracleUpdateInfo.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/oracleValidation.js +32 -0
- package/lib/cjs/solana/generated/mpl-core/types/permanentBurnDelegate.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/permanentFreezeDelegate.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/permanentFreezeExecute.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/permanentTransferDelegate.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/plugin.js +32 -0
- package/lib/cjs/solana/generated/mpl-core/types/pluginAuthorityPair.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/pluginType.js +46 -0
- package/lib/cjs/solana/generated/mpl-core/types/registryRecord.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/relationshipKind.js +31 -0
- package/lib/cjs/solana/generated/mpl-core/types/removeAssetsFromGroupV1Args.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/removeCollectionsFromGroupV1Args.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/removeGroupsFromGroupV1Args.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/royalties.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/ruleSet.js +31 -0
- package/lib/cjs/solana/generated/mpl-core/types/seed.js +31 -0
- package/lib/cjs/solana/generated/mpl-core/types/transferDelegate.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/updateAuthority.js +31 -0
- package/lib/cjs/solana/generated/mpl-core/types/updateDelegate.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/updateGroupV1Args.js +22 -0
- package/lib/cjs/solana/generated/mpl-core/types/updateType.js +30 -0
- package/lib/cjs/solana/generated/mpl-core/types/validationResult.js +31 -0
- package/lib/cjs/solana/generated/mpl-core/types/validationResultsOffset.js +31 -0
- package/lib/cjs/solana/generated/mpl-core/types/verifiedCreators.js +23 -0
- package/lib/cjs/solana/generated/mpl-core/types/verifiedCreatorsSignature.js +22 -0
- package/lib/cjs/solana/index.js +180 -0
- package/lib/cjs/solana/instruction.js +30 -0
- package/lib/cjs/solana/io-readable.js +1389 -0
- package/lib/cjs/solana/io-writeable.js +1994 -0
- package/lib/cjs/solana/json-rpc.js +78 -0
- package/lib/cjs/solana/metadata.js +72 -0
- package/lib/cjs/solana/mpl-core.js +148 -0
- package/lib/cjs/solana/pda.js +355 -0
- package/lib/cjs/solana/send.js +164 -0
- package/lib/cjs/solana/spawn-ant.js +215 -0
- package/lib/cjs/solana/types.js +2 -0
- package/lib/cjs/types/ant.js +19 -7
- package/lib/cjs/types/io.js +8 -1
- package/lib/cjs/utils/ant.js +1 -0
- package/lib/cjs/utils/ao.js +1 -0
- package/lib/cjs/version.js +1 -1
- package/lib/esm/cli/cli.js +128 -40
- package/lib/esm/cli/commands/antCommands.js +40 -14
- package/lib/esm/cli/commands/arnsPurchaseCommands.js +46 -7
- package/lib/esm/cli/commands/escrowCommands.js +208 -0
- package/lib/esm/cli/commands/gatewayWriteCommands.js +132 -22
- package/lib/esm/cli/commands/readCommands.js +10 -2
- package/lib/esm/cli/commands/transfer.js +6 -6
- package/lib/esm/cli/options.js +112 -2
- package/lib/esm/cli/utils.js +280 -39
- package/lib/esm/common/ant-registry.js +25 -3
- package/lib/esm/common/ant.js +50 -5
- package/lib/esm/common/contracts/ao-process.js +4 -6
- package/lib/esm/common/io.js +41 -0
- package/lib/esm/common/marketplace.js +24 -79
- package/lib/esm/constants.js +13 -1
- package/lib/esm/solana/ant-readable.js +389 -0
- package/lib/esm/solana/ant-registry-readable.js +118 -0
- package/lib/esm/solana/ant-registry-writeable.js +457 -0
- package/lib/esm/solana/ant-writeable.js +352 -0
- package/lib/esm/solana/ata.js +55 -0
- package/lib/esm/solana/canonical-message.js +92 -0
- package/lib/esm/solana/clusters.js +62 -0
- package/lib/esm/solana/constants.js +124 -0
- package/lib/esm/solana/deserialize.js +1098 -0
- package/lib/esm/solana/escrow.js +739 -0
- package/lib/esm/solana/events.js +210 -0
- package/lib/esm/solana/funding-plan.js +682 -0
- package/lib/esm/solana/generated/ant/accounts/aclConfig.js +46 -0
- package/lib/esm/solana/generated/ant/accounts/aclPage.js +44 -0
- package/lib/esm/solana/generated/ant/accounts/antConfig.js +43 -0
- package/lib/esm/solana/generated/ant/accounts/antControllers.js +43 -0
- package/lib/esm/solana/generated/ant/accounts/antMigrationConfig.js +46 -0
- package/lib/esm/solana/generated/ant/accounts/antRecord.js +43 -0
- package/lib/esm/solana/generated/ant/accounts/antRecordMetadata.js +43 -0
- package/lib/esm/solana/generated/ant/accounts/index.js +14 -0
- package/lib/esm/solana/generated/ant/errors/arioAnt.js +130 -0
- package/lib/esm/solana/generated/ant/errors/index.js +8 -0
- package/lib/esm/solana/generated/ant/events/aclEntryAddedEvent.js +21 -0
- package/lib/esm/solana/generated/ant/events/aclEntryRemovedEvent.js +21 -0
- package/lib/esm/solana/generated/ant/events/antMetadataUpdatedEvent.js +21 -0
- package/lib/esm/solana/generated/ant/events/antReconciledEvent.js +21 -0
- package/lib/esm/solana/generated/ant/events/antTransferredEvent.js +21 -0
- package/lib/esm/solana/generated/ant/events/attributesClearedEvent.js +21 -0
- package/lib/esm/solana/generated/ant/events/attributesSyncedEvent.js +21 -0
- package/lib/esm/solana/generated/ant/events/controllerAddedEvent.js +21 -0
- package/lib/esm/solana/generated/ant/events/controllerRemovedEvent.js +21 -0
- package/lib/esm/solana/generated/ant/events/index.js +16 -0
- package/lib/esm/solana/generated/ant/events/recordMetadataPrunedEvent.js +21 -0
- package/lib/esm/solana/generated/ant/events/recordMetadataRemovedEvent.js +21 -0
- package/lib/esm/solana/generated/ant/events/recordMetadataUpdatedEvent.js +21 -0
- package/lib/esm/solana/generated/ant/events/recordRemovedEvent.js +21 -0
- package/lib/esm/solana/generated/ant/events/recordSetEvent.js +21 -0
- package/lib/esm/solana/generated/ant/events/recordTransferredEvent.js +21 -0
- package/lib/esm/solana/generated/ant/index.js +10 -0
- package/lib/esm/solana/generated/ant/instructions/addAclPage.js +46 -0
- package/lib/esm/solana/generated/ant/instructions/addController.js +73 -0
- package/lib/esm/solana/generated/ant/instructions/clearAttributes.js +49 -0
- package/lib/esm/solana/generated/ant/instructions/closeAclConfig.js +42 -0
- package/lib/esm/solana/generated/ant/instructions/closeAclPage.js +42 -0
- package/lib/esm/solana/generated/ant/instructions/closeOrphanedRecordMetadata.js +44 -0
- package/lib/esm/solana/generated/ant/instructions/finalizeMigration.js +56 -0
- package/lib/esm/solana/generated/ant/instructions/importAccount.js +67 -0
- package/lib/esm/solana/generated/ant/instructions/index.js +37 -0
- package/lib/esm/solana/generated/ant/instructions/initialize.js +70 -0
- package/lib/esm/solana/generated/ant/instructions/initializeMigration.js +70 -0
- package/lib/esm/solana/generated/ant/instructions/migrateAnt.js +63 -0
- package/lib/esm/solana/generated/ant/instructions/reconcile.js +59 -0
- package/lib/esm/solana/generated/ant/instructions/recordAclController.js +63 -0
- package/lib/esm/solana/generated/ant/instructions/recordAclOwner.js +46 -0
- package/lib/esm/solana/generated/ant/instructions/registerAclConfig.js +67 -0
- package/lib/esm/solana/generated/ant/instructions/removeAclController.js +63 -0
- package/lib/esm/solana/generated/ant/instructions/removeAclOwner.js +46 -0
- package/lib/esm/solana/generated/ant/instructions/removeController.js +66 -0
- package/lib/esm/solana/generated/ant/instructions/removeRecord.js +63 -0
- package/lib/esm/solana/generated/ant/instructions/removeRecordMetadata.js +63 -0
- package/lib/esm/solana/generated/ant/instructions/setDescription.js +63 -0
- package/lib/esm/solana/generated/ant/instructions/setKeywords.js +63 -0
- package/lib/esm/solana/generated/ant/instructions/setLogo.js +63 -0
- package/lib/esm/solana/generated/ant/instructions/setName.js +63 -0
- package/lib/esm/solana/generated/ant/instructions/setRecord.js +70 -0
- package/lib/esm/solana/generated/ant/instructions/setRecordMetadata.js +70 -0
- package/lib/esm/solana/generated/ant/instructions/setTicker.js +63 -0
- package/lib/esm/solana/generated/ant/instructions/syncAttributes.js +51 -0
- package/lib/esm/solana/generated/ant/instructions/transfer.js +78 -0
- package/lib/esm/solana/generated/ant/instructions/transferRecord.js +63 -0
- package/lib/esm/solana/generated/ant/pdas/aclConfig.js +12 -0
- package/lib/esm/solana/generated/ant/pdas/antConfig.js +12 -0
- package/lib/esm/solana/generated/ant/pdas/antControllers.js +12 -0
- package/lib/esm/solana/generated/ant/pdas/controllerAclConfig.js +12 -0
- package/lib/esm/solana/generated/ant/pdas/index.js +14 -0
- package/lib/esm/solana/generated/ant/pdas/migrationConfig.js +12 -0
- package/lib/esm/solana/generated/ant/pdas/newOwnerAclConfig.js +12 -0
- package/lib/esm/solana/generated/ant/pdas/oldOwnerAclConfig.js +12 -0
- package/lib/esm/solana/generated/ant/program-address.js +1 -0
- package/lib/esm/solana/generated/ant/types/aclEntry.js +17 -0
- package/lib/esm/solana/generated/ant/types/index.js +8 -0
- package/lib/esm/solana/generated/ant-escrow/accounts/escrowAnt.js +46 -0
- package/lib/esm/solana/generated/ant-escrow/accounts/escrowToken.js +46 -0
- package/lib/esm/solana/generated/ant-escrow/accounts/index.js +9 -0
- package/lib/esm/solana/generated/ant-escrow/errors/arioAntEscrow.js +64 -0
- package/lib/esm/solana/generated/ant-escrow/errors/index.js +8 -0
- package/lib/esm/solana/generated/ant-escrow/events/escrowCancelledEvent.js +21 -0
- package/lib/esm/solana/generated/ant-escrow/events/escrowClaimedEvent.js +21 -0
- package/lib/esm/solana/generated/ant-escrow/events/escrowDepositedEvent.js +21 -0
- package/lib/esm/solana/generated/ant-escrow/events/escrowRecipientUpdatedEvent.js +21 -0
- package/lib/esm/solana/generated/ant-escrow/events/index.js +5 -0
- package/lib/esm/solana/generated/ant-escrow/index.js +10 -0
- package/lib/esm/solana/generated/ant-escrow/instructions/cancelDeposit.js +49 -0
- package/lib/esm/solana/generated/ant-escrow/instructions/cancelTokenDeposit.js +49 -0
- package/lib/esm/solana/generated/ant-escrow/instructions/cancelVaultDeposit.js +49 -0
- package/lib/esm/solana/generated/ant-escrow/instructions/claimAntArweave.js +51 -0
- package/lib/esm/solana/generated/ant-escrow/instructions/claimAntEthereum.js +51 -0
- package/lib/esm/solana/generated/ant-escrow/instructions/claimTokensArweave.js +51 -0
- package/lib/esm/solana/generated/ant-escrow/instructions/claimTokensEthereum.js +51 -0
- package/lib/esm/solana/generated/ant-escrow/instructions/claimVaultArweave.js +54 -0
- package/lib/esm/solana/generated/ant-escrow/instructions/claimVaultEthereum.js +54 -0
- package/lib/esm/solana/generated/ant-escrow/instructions/depositAnt.js +73 -0
- package/lib/esm/solana/generated/ant-escrow/instructions/depositTokens.js +73 -0
- package/lib/esm/solana/generated/ant-escrow/instructions/depositVault.js +73 -0
- package/lib/esm/solana/generated/ant-escrow/instructions/index.js +22 -0
- package/lib/esm/solana/generated/ant-escrow/instructions/updateRecipient.js +44 -0
- package/lib/esm/solana/generated/ant-escrow/instructions/updateTokenRecipient.js +44 -0
- package/lib/esm/solana/generated/ant-escrow/instructions/updateVaultRecipient.js +44 -0
- package/lib/esm/solana/generated/ant-escrow/pdas/depositTokensEscrow.js +12 -0
- package/lib/esm/solana/generated/ant-escrow/pdas/depositVaultEscrow.js +12 -0
- package/lib/esm/solana/generated/ant-escrow/pdas/escrow.js +12 -0
- package/lib/esm/solana/generated/ant-escrow/pdas/index.js +10 -0
- package/lib/esm/solana/generated/ant-escrow/program-address.js +1 -0
- package/lib/esm/solana/generated/arns/accounts/arnsConfig.js +46 -0
- package/lib/esm/solana/generated/arns/accounts/arnsRecord.js +44 -0
- package/lib/esm/solana/generated/arns/accounts/demandFactor.js +46 -0
- package/lib/esm/solana/generated/arns/accounts/index.js +13 -0
- package/lib/esm/solana/generated/arns/accounts/nameRegistry.js +47 -0
- package/lib/esm/solana/generated/arns/accounts/reservedName.js +43 -0
- package/lib/esm/solana/generated/arns/accounts/returnedName.js +43 -0
- package/lib/esm/solana/generated/arns/errors/arioArns.js +116 -0
- package/lib/esm/solana/generated/arns/errors/index.js +8 -0
- package/lib/esm/solana/generated/arns/events/demandFactorUpdatedEvent.js +21 -0
- package/lib/esm/solana/generated/arns/events/index.js +13 -0
- package/lib/esm/solana/generated/arns/events/leaseExtendedEvent.js +21 -0
- package/lib/esm/solana/generated/arns/events/namePurchasedEvent.js +21 -0
- package/lib/esm/solana/generated/arns/events/nameReassignedEvent.js +21 -0
- package/lib/esm/solana/generated/arns/events/nameReleasedEvent.js +21 -0
- package/lib/esm/solana/generated/arns/events/nameReservedEvent.js +21 -0
- package/lib/esm/solana/generated/arns/events/nameUnreservedEvent.js +21 -0
- package/lib/esm/solana/generated/arns/events/nameUpgradedEvent.js +21 -0
- package/lib/esm/solana/generated/arns/events/namesPrunedEvent.js +21 -0
- package/lib/esm/solana/generated/arns/events/reservedNameClaimedEvent.js +21 -0
- package/lib/esm/solana/generated/arns/events/returnedNamePurchasedEvent.js +21 -0
- package/lib/esm/solana/generated/arns/events/undernameIncreasedEvent.js +21 -0
- package/lib/esm/solana/generated/arns/index.js +10 -0
- package/lib/esm/solana/generated/arns/instructions/buyName.js +80 -0
- package/lib/esm/solana/generated/arns/instructions/buyNameFromDelegation.js +86 -0
- package/lib/esm/solana/generated/arns/instructions/buyNameFromFundingPlan.js +90 -0
- package/lib/esm/solana/generated/arns/instructions/buyNameFromOperatorStake.js +86 -0
- package/lib/esm/solana/generated/arns/instructions/buyNameFromWithdrawal.js +86 -0
- package/lib/esm/solana/generated/arns/instructions/buyReturnedName.js +80 -0
- package/lib/esm/solana/generated/arns/instructions/buyReturnedNameFromDelegation.js +86 -0
- package/lib/esm/solana/generated/arns/instructions/buyReturnedNameFromFundingPlan.js +90 -0
- package/lib/esm/solana/generated/arns/instructions/buyReturnedNameFromOperatorStake.js +86 -0
- package/lib/esm/solana/generated/arns/instructions/buyReturnedNameFromWithdrawal.js +86 -0
- package/lib/esm/solana/generated/arns/instructions/claimReservedName.js +56 -0
- package/lib/esm/solana/generated/arns/instructions/createNameRegistry.js +66 -0
- package/lib/esm/solana/generated/arns/instructions/extendLease.js +70 -0
- package/lib/esm/solana/generated/arns/instructions/extendLeaseFromDelegation.js +76 -0
- package/lib/esm/solana/generated/arns/instructions/extendLeaseFromFundingPlan.js +87 -0
- package/lib/esm/solana/generated/arns/instructions/extendLeaseFromOperatorStake.js +76 -0
- package/lib/esm/solana/generated/arns/instructions/extendLeaseFromWithdrawal.js +76 -0
- package/lib/esm/solana/generated/arns/instructions/finalizeMigration.js +56 -0
- package/lib/esm/solana/generated/arns/instructions/getTokenCost.js +61 -0
- package/lib/esm/solana/generated/arns/instructions/importAccount.js +67 -0
- package/lib/esm/solana/generated/arns/instructions/importRegistryEntry.js +60 -0
- package/lib/esm/solana/generated/arns/instructions/increaseUndernameLimit.js +76 -0
- package/lib/esm/solana/generated/arns/instructions/increaseUndernameLimitFromDelegation.js +76 -0
- package/lib/esm/solana/generated/arns/instructions/increaseUndernameLimitFromFundingPlan.js +87 -0
- package/lib/esm/solana/generated/arns/instructions/increaseUndernameLimitFromOperatorStake.js +76 -0
- package/lib/esm/solana/generated/arns/instructions/increaseUndernameLimitFromWithdrawal.js +76 -0
- package/lib/esm/solana/generated/arns/instructions/index.js +48 -0
- package/lib/esm/solana/generated/arns/instructions/initialize.js +73 -0
- package/lib/esm/solana/generated/arns/instructions/pruneExpiredNames.js +70 -0
- package/lib/esm/solana/generated/arns/instructions/pruneExpiredReservation.js +42 -0
- package/lib/esm/solana/generated/arns/instructions/pruneNameToReturned.js +66 -0
- package/lib/esm/solana/generated/arns/instructions/pruneReturnedNames.js +67 -0
- package/lib/esm/solana/generated/arns/instructions/reassignName.js +67 -0
- package/lib/esm/solana/generated/arns/instructions/releaseName.js +66 -0
- package/lib/esm/solana/generated/arns/instructions/reserveName.js +67 -0
- package/lib/esm/solana/generated/arns/instructions/unreserveName.js +56 -0
- package/lib/esm/solana/generated/arns/instructions/updateDemandFactor.js +56 -0
- package/lib/esm/solana/generated/arns/instructions/upgradeName.js +72 -0
- package/lib/esm/solana/generated/arns/instructions/upgradeNameFromDelegation.js +72 -0
- package/lib/esm/solana/generated/arns/instructions/upgradeNameFromFundingPlan.js +87 -0
- package/lib/esm/solana/generated/arns/instructions/upgradeNameFromOperatorStake.js +72 -0
- package/lib/esm/solana/generated/arns/instructions/upgradeNameFromWithdrawal.js +72 -0
- package/lib/esm/solana/generated/arns/pdas/config.js +12 -0
- package/lib/esm/solana/generated/arns/pdas/demandFactor.js +12 -0
- package/lib/esm/solana/generated/arns/pdas/index.js +10 -0
- package/lib/esm/solana/generated/arns/pdas/nameRegistry.js +12 -0
- package/lib/esm/solana/generated/arns/program-address.js +1 -0
- package/lib/esm/solana/generated/arns/types/buyNameParams.js +18 -0
- package/lib/esm/solana/generated/arns/types/buyReturnedNameParams.js +18 -0
- package/lib/esm/solana/generated/arns/types/costIntent.js +26 -0
- package/lib/esm/solana/generated/arns/types/fundingSourceKind.js +33 -0
- package/lib/esm/solana/generated/arns/types/fundingSourceSpec.js +18 -0
- package/lib/esm/solana/generated/arns/types/index.js +14 -0
- package/lib/esm/solana/generated/arns/types/nameEntry.js +17 -0
- package/lib/esm/solana/generated/arns/types/purchaseType.js +23 -0
- package/lib/esm/solana/generated/core/accounts/arioConfig.js +46 -0
- package/lib/esm/solana/generated/core/accounts/balance.js +46 -0
- package/lib/esm/solana/generated/core/accounts/index.js +14 -0
- package/lib/esm/solana/generated/core/accounts/primaryName.js +43 -0
- package/lib/esm/solana/generated/core/accounts/primaryNameRequest.js +43 -0
- package/lib/esm/solana/generated/core/accounts/primaryNameReverse.js +43 -0
- package/lib/esm/solana/generated/core/accounts/vault.js +43 -0
- package/lib/esm/solana/generated/core/accounts/vaultCounter.js +46 -0
- package/lib/esm/solana/generated/core/errors/arioCore.js +110 -0
- package/lib/esm/solana/generated/core/errors/index.js +8 -0
- package/lib/esm/solana/generated/core/events/configUpdatedEvent.js +21 -0
- package/lib/esm/solana/generated/core/events/coreMigrationFinalizedEvent.js +21 -0
- package/lib/esm/solana/generated/core/events/index.js +14 -0
- package/lib/esm/solana/generated/core/events/primaryNameRemovedEvent.js +21 -0
- package/lib/esm/solana/generated/core/events/primaryNameRequestExpiredEvent.js +21 -0
- package/lib/esm/solana/generated/core/events/primaryNameRequestedEvent.js +21 -0
- package/lib/esm/solana/generated/core/events/primaryNameSetEvent.js +21 -0
- package/lib/esm/solana/generated/core/events/supplyFinalizedEvent.js +21 -0
- package/lib/esm/solana/generated/core/events/transferEvent.js +21 -0
- package/lib/esm/solana/generated/core/events/vaultCreatedEvent.js +21 -0
- package/lib/esm/solana/generated/core/events/vaultExtendedEvent.js +21 -0
- package/lib/esm/solana/generated/core/events/vaultIncreasedEvent.js +21 -0
- package/lib/esm/solana/generated/core/events/vaultReleasedEvent.js +21 -0
- package/lib/esm/solana/generated/core/events/vaultRevokedEvent.js +21 -0
- package/lib/esm/solana/generated/core/index.js +10 -0
- package/lib/esm/solana/generated/core/instructions/adminRepairConfig.js +60 -0
- package/lib/esm/solana/generated/core/instructions/approvePrimaryName.js +70 -0
- package/lib/esm/solana/generated/core/instructions/closeExpiredRequest.js +42 -0
- package/lib/esm/solana/generated/core/instructions/createVault.js +76 -0
- package/lib/esm/solana/generated/core/instructions/extendVault.js +60 -0
- package/lib/esm/solana/generated/core/instructions/finalizeMigration.js +56 -0
- package/lib/esm/solana/generated/core/instructions/finalizeSupply.js +60 -0
- package/lib/esm/solana/generated/core/instructions/importAccount.js +67 -0
- package/lib/esm/solana/generated/core/instructions/importBalance.js +85 -0
- package/lib/esm/solana/generated/core/instructions/increaseVault.js +67 -0
- package/lib/esm/solana/generated/core/instructions/index.js +29 -0
- package/lib/esm/solana/generated/core/instructions/initialize.js +70 -0
- package/lib/esm/solana/generated/core/instructions/releaseVault.js +63 -0
- package/lib/esm/solana/generated/core/instructions/removePrimaryName.js +63 -0
- package/lib/esm/solana/generated/core/instructions/removePrimaryNameForBaseName.js +63 -0
- package/lib/esm/solana/generated/core/instructions/requestAndSetPrimaryName.js +79 -0
- package/lib/esm/solana/generated/core/instructions/requestAndSetPrimaryNameFromFundingPlan.js +90 -0
- package/lib/esm/solana/generated/core/instructions/requestPrimaryName.js +76 -0
- package/lib/esm/solana/generated/core/instructions/requestPrimaryNameFromFundingPlan.js +87 -0
- package/lib/esm/solana/generated/core/instructions/revokeVault.js +63 -0
- package/lib/esm/solana/generated/core/instructions/transfer.js +48 -0
- package/lib/esm/solana/generated/core/instructions/updateConfig.js +60 -0
- package/lib/esm/solana/generated/core/instructions/vaultedTransfer.js +76 -0
- package/lib/esm/solana/generated/core/pdas/balance.js +12 -0
- package/lib/esm/solana/generated/core/pdas/config.js +12 -0
- package/lib/esm/solana/generated/core/pdas/index.js +15 -0
- package/lib/esm/solana/generated/core/pdas/primaryName.js +12 -0
- package/lib/esm/solana/generated/core/pdas/primaryNameReverse.js +12 -0
- package/lib/esm/solana/generated/core/pdas/recipientVaultCounter.js +12 -0
- package/lib/esm/solana/generated/core/pdas/request.js +12 -0
- package/lib/esm/solana/generated/core/pdas/requestAndSetPrimaryNamePrimaryName.js +12 -0
- package/lib/esm/solana/generated/core/pdas/vaultCounter.js +12 -0
- package/lib/esm/solana/generated/core/program-address.js +1 -0
- package/lib/esm/solana/generated/core/types/fundingSourceKind.js +33 -0
- package/lib/esm/solana/generated/core/types/fundingSourceSpec.js +18 -0
- package/lib/esm/solana/generated/core/types/index.js +9 -0
- package/lib/esm/solana/generated/gar/accounts/allowlistEntry.js +46 -0
- package/lib/esm/solana/generated/gar/accounts/delegation.js +46 -0
- package/lib/esm/solana/generated/gar/accounts/epoch.js +46 -0
- package/lib/esm/solana/generated/gar/accounts/epochSettings.js +46 -0
- package/lib/esm/solana/generated/gar/accounts/gateway.js +44 -0
- package/lib/esm/solana/generated/gar/accounts/gatewayRegistry.js +47 -0
- package/lib/esm/solana/generated/gar/accounts/gatewaySettings.js +46 -0
- package/lib/esm/solana/generated/gar/accounts/index.js +19 -0
- package/lib/esm/solana/generated/gar/accounts/observation.js +46 -0
- package/lib/esm/solana/generated/gar/accounts/observerLookup.js +46 -0
- package/lib/esm/solana/generated/gar/accounts/redelegationRecord.js +46 -0
- package/lib/esm/solana/generated/gar/accounts/withdrawal.js +46 -0
- package/lib/esm/solana/generated/gar/accounts/withdrawalCounter.js +46 -0
- package/lib/esm/solana/generated/gar/errors/arioGar.js +194 -0
- package/lib/esm/solana/generated/gar/errors/index.js +8 -0
- package/lib/esm/solana/generated/gar/events/allowlistToggledEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/delegateAllowlistedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/delegationClosedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/delegationDecreasedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/delegationEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/epochClosedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/epochCreatedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/epochDistributedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/epochPrescribedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/epochWeightsTalliedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/epochsToggledEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/fundingPlanAppliedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/garMigrationFinalizedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/gatewayFinalizedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/gatewayJoinedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/gatewayLeavingEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/gatewayPrunedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/gatewaySettingsUpdatedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/index.js +31 -0
- package/lib/esm/solana/generated/gar/events/instantWithdrawalEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/observationSubmittedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/observerAddressUpdatedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/operatorStakeIncreasedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/redelegationEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/residueVaultCreatedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/rewardsCompoundedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/stakePaymentEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/withdrawalCancelledEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/withdrawalClaimedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/withdrawalCreatedEvent.js +21 -0
- package/lib/esm/solana/generated/gar/events/withdrawalPaymentEvent.js +21 -0
- package/lib/esm/solana/generated/gar/index.js +10 -0
- package/lib/esm/solana/generated/gar/instructions/adminRepairSettings.js +60 -0
- package/lib/esm/solana/generated/gar/instructions/allowDelegate.js +66 -0
- package/lib/esm/solana/generated/gar/instructions/cancelWithdrawal.js +60 -0
- package/lib/esm/solana/generated/gar/instructions/claimDelegateFromLeavingGateway.js +66 -0
- package/lib/esm/solana/generated/gar/instructions/claimWithdrawal.js +63 -0
- package/lib/esm/solana/generated/gar/instructions/closeDrainedWithdrawal.js +42 -0
- package/lib/esm/solana/generated/gar/instructions/closeEmptyDelegation.js +42 -0
- package/lib/esm/solana/generated/gar/instructions/closeEpoch.js +63 -0
- package/lib/esm/solana/generated/gar/instructions/closeObservation.js +60 -0
- package/lib/esm/solana/generated/gar/instructions/compoundDelegationRewards.js +42 -0
- package/lib/esm/solana/generated/gar/instructions/createEpoch.js +69 -0
- package/lib/esm/solana/generated/gar/instructions/createGatewayRegistry.js +66 -0
- package/lib/esm/solana/generated/gar/instructions/decreaseDelegateStake.js +70 -0
- package/lib/esm/solana/generated/gar/instructions/decreaseOperatorStake.js +73 -0
- package/lib/esm/solana/generated/gar/instructions/deductDelegationForPayment.js +67 -0
- package/lib/esm/solana/generated/gar/instructions/deductOperatorStakeForPayment.js +70 -0
- package/lib/esm/solana/generated/gar/instructions/deductWithdrawalForPayment.js +67 -0
- package/lib/esm/solana/generated/gar/instructions/delegateStake.js +73 -0
- package/lib/esm/solana/generated/gar/instructions/disallowDelegate.js +59 -0
- package/lib/esm/solana/generated/gar/instructions/distributeEpoch.js +76 -0
- package/lib/esm/solana/generated/gar/instructions/finalizeGone.js +59 -0
- package/lib/esm/solana/generated/gar/instructions/finalizeMigration.js +56 -0
- package/lib/esm/solana/generated/gar/instructions/importAccount.js +67 -0
- package/lib/esm/solana/generated/gar/instructions/importRegistryEntry.js +60 -0
- package/lib/esm/solana/generated/gar/instructions/increaseOperatorStake.js +70 -0
- package/lib/esm/solana/generated/gar/instructions/index.js +50 -0
- package/lib/esm/solana/generated/gar/instructions/initialize.js +70 -0
- package/lib/esm/solana/generated/gar/instructions/initializeEpochs.js +70 -0
- package/lib/esm/solana/generated/gar/instructions/instantWithdrawal.js +63 -0
- package/lib/esm/solana/generated/gar/instructions/joinNetwork.js +80 -0
- package/lib/esm/solana/generated/gar/instructions/leaveNetwork.js +79 -0
- package/lib/esm/solana/generated/gar/instructions/migrateSettingsSetArnsProgramId.js +67 -0
- package/lib/esm/solana/generated/gar/instructions/migrateSettingsSupplyCounters.js +60 -0
- package/lib/esm/solana/generated/gar/instructions/payFromFundingPlan.js +81 -0
- package/lib/esm/solana/generated/gar/instructions/prescribeEpoch.js +69 -0
- package/lib/esm/solana/generated/gar/instructions/pruneGateway.js +79 -0
- package/lib/esm/solana/generated/gar/instructions/redelegateStake.js +76 -0
- package/lib/esm/solana/generated/gar/instructions/releaseTreasuryAuthority.js +67 -0
- package/lib/esm/solana/generated/gar/instructions/saveObservations.js +70 -0
- package/lib/esm/solana/generated/gar/instructions/setAllowlistEnabled.js +63 -0
- package/lib/esm/solana/generated/gar/instructions/setEpochsEnabled.js +60 -0
- package/lib/esm/solana/generated/gar/instructions/tallyWeights.js +69 -0
- package/lib/esm/solana/generated/gar/instructions/updateGatewaySettings.js +64 -0
- package/lib/esm/solana/generated/gar/instructions/updateObserverAddress.js +70 -0
- package/lib/esm/solana/generated/gar/pdas/allowlistEntry.js +12 -0
- package/lib/esm/solana/generated/gar/pdas/decreaseOperatorStakeWithdrawalCounter.js +12 -0
- package/lib/esm/solana/generated/gar/pdas/epoch.js +12 -0
- package/lib/esm/solana/generated/gar/pdas/epochSettings.js +12 -0
- package/lib/esm/solana/generated/gar/pdas/gateway.js +12 -0
- package/lib/esm/solana/generated/gar/pdas/index.js +19 -0
- package/lib/esm/solana/generated/gar/pdas/newObserverLookup.js +12 -0
- package/lib/esm/solana/generated/gar/pdas/observation.js +12 -0
- package/lib/esm/solana/generated/gar/pdas/payFromFundingPlanWithdrawalCounter.js +12 -0
- package/lib/esm/solana/generated/gar/pdas/redelegationRecord.js +12 -0
- package/lib/esm/solana/generated/gar/pdas/registry.js +12 -0
- package/lib/esm/solana/generated/gar/pdas/settings.js +12 -0
- package/lib/esm/solana/generated/gar/pdas/withdrawalCounter.js +12 -0
- package/lib/esm/solana/generated/gar/program-address.js +1 -0
- package/lib/esm/solana/generated/gar/types/fundingSourceKind.js +33 -0
- package/lib/esm/solana/generated/gar/types/fundingSourceSpec.js +18 -0
- package/lib/esm/solana/generated/gar/types/gatewaySettings2.js +17 -0
- package/lib/esm/solana/generated/gar/types/gatewaySlot.js +17 -0
- package/lib/esm/solana/generated/gar/types/gatewayStats.js +17 -0
- package/lib/esm/solana/generated/gar/types/gatewayStatus.js +24 -0
- package/lib/esm/solana/generated/gar/types/gatewayWeights.js +17 -0
- package/lib/esm/solana/generated/gar/types/index.js +16 -0
- package/lib/esm/solana/generated/gar/types/protocol.js +23 -0
- package/lib/esm/solana/generated/gar/types/registryIndex.js +17 -0
- package/lib/esm/solana/generated/mpl-core/accounts/assetV1.js +42 -0
- package/lib/esm/solana/generated/mpl-core/accounts/collectionV1.js +42 -0
- package/lib/esm/solana/generated/mpl-core/accounts/hashedAssetV1.js +45 -0
- package/lib/esm/solana/generated/mpl-core/accounts/index.js +12 -0
- package/lib/esm/solana/generated/mpl-core/accounts/pluginHeaderV1.js +45 -0
- package/lib/esm/solana/generated/mpl-core/accounts/pluginRegistryV1.js +42 -0
- package/lib/esm/solana/generated/mpl-core/errors/index.js +8 -0
- package/lib/esm/solana/generated/mpl-core/errors/mplCore.js +136 -0
- package/lib/esm/solana/generated/mpl-core/index.js +8 -0
- package/lib/esm/solana/generated/mpl-core/instructions/addCollectionExternalPluginAdapterV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/addCollectionPluginV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/addExternalPluginAdapterV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/addPluginV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/approveCollectionPluginAuthorityV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/approvePluginAuthorityV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/burnCollectionV1.js +49 -0
- package/lib/esm/solana/generated/mpl-core/instructions/burnV1.js +49 -0
- package/lib/esm/solana/generated/mpl-core/instructions/collect.js +42 -0
- package/lib/esm/solana/generated/mpl-core/instructions/compressV1.js +50 -0
- package/lib/esm/solana/generated/mpl-core/instructions/createCollectionV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/createCollectionV2.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/createV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/createV2.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/decompressV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/executeV1.js +56 -0
- package/lib/esm/solana/generated/mpl-core/instructions/index.js +40 -0
- package/lib/esm/solana/generated/mpl-core/instructions/removeCollectionExternalPluginAdapterV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/removeCollectionPluginV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/removeExternalPluginAdapterV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/removePluginV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/revokeCollectionPluginAuthorityV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/revokePluginAuthorityV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/transferV1.js +49 -0
- package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionExternalPluginAdapterV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionInfoV1.js +45 -0
- package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionPluginV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionV1.js +52 -0
- package/lib/esm/solana/generated/mpl-core/instructions/updateExternalPluginAdapterV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/updatePluginV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/updateV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/updateV2.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/writeCollectionExternalPluginAdapterDataV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/instructions/writeExternalPluginAdapterDataV1.js +53 -0
- package/lib/esm/solana/generated/mpl-core/program-address.js +1 -0
- package/lib/esm/solana/generated/mpl-core/types/addAssetsToGroupV1Args.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/addBlocker.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/addCollectionsToGroupV1Args.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/addGroupsToGroupV1Args.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/agentIdentity.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/agentIdentityInitInfo.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/agentIdentityUpdateInfo.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/appData.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/appDataInitInfo.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/appDataUpdateInfo.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/attribute.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/attributes.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/authority.js +24 -0
- package/lib/esm/solana/generated/mpl-core/types/autograph.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/autographSignature.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/bubblegumV2.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/burnDelegate.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/closeGroupV1Args.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/compressionProof.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/creator.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/dataSection.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/dataSectionInitInfo.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/dataSectionUpdateInfo.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/dataState.js +23 -0
- package/lib/esm/solana/generated/mpl-core/types/edition.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/externalCheckResult.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapter.js +25 -0
- package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterInitInfo.js +25 -0
- package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterKey.js +25 -0
- package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterSchema.js +24 -0
- package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterType.js +28 -0
- package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterUpdateInfo.js +25 -0
- package/lib/esm/solana/generated/mpl-core/types/externalRegistryRecord.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/externalValidationResult.js +24 -0
- package/lib/esm/solana/generated/mpl-core/types/extraAccount.js +25 -0
- package/lib/esm/solana/generated/mpl-core/types/freezeDelegate.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/freezeExecute.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/groups.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/hashablePluginSchema.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/hashedAssetSchema.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/hookableLifecycleEvent.js +26 -0
- package/lib/esm/solana/generated/mpl-core/types/immutableMetadata.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/index.js +89 -0
- package/lib/esm/solana/generated/mpl-core/types/key.js +28 -0
- package/lib/esm/solana/generated/mpl-core/types/lifecycleHook.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/lifecycleHookInitInfo.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/lifecycleHookUpdateInfo.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/linkedAppData.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/linkedAppDataInitInfo.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/linkedAppDataUpdateInfo.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/linkedDataKey.js +25 -0
- package/lib/esm/solana/generated/mpl-core/types/linkedLifecycleHook.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/linkedLifecycleHookInitInfo.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/linkedLifecycleHookUpdateInfo.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/masterEdition.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/oracle.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/oracleInitInfo.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/oracleUpdateInfo.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/oracleValidation.js +25 -0
- package/lib/esm/solana/generated/mpl-core/types/permanentBurnDelegate.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/permanentFreezeDelegate.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/permanentFreezeExecute.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/permanentTransferDelegate.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/plugin.js +25 -0
- package/lib/esm/solana/generated/mpl-core/types/pluginAuthorityPair.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/pluginType.js +40 -0
- package/lib/esm/solana/generated/mpl-core/types/registryRecord.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/relationshipKind.js +25 -0
- package/lib/esm/solana/generated/mpl-core/types/removeAssetsFromGroupV1Args.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/removeCollectionsFromGroupV1Args.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/removeGroupsFromGroupV1Args.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/royalties.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/ruleSet.js +24 -0
- package/lib/esm/solana/generated/mpl-core/types/seed.js +24 -0
- package/lib/esm/solana/generated/mpl-core/types/transferDelegate.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/updateAuthority.js +24 -0
- package/lib/esm/solana/generated/mpl-core/types/updateDelegate.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/updateGroupV1Args.js +17 -0
- package/lib/esm/solana/generated/mpl-core/types/updateType.js +24 -0
- package/lib/esm/solana/generated/mpl-core/types/validationResult.js +25 -0
- package/lib/esm/solana/generated/mpl-core/types/validationResultsOffset.js +24 -0
- package/lib/esm/solana/generated/mpl-core/types/verifiedCreators.js +18 -0
- package/lib/esm/solana/generated/mpl-core/types/verifiedCreatorsSignature.js +17 -0
- package/lib/esm/solana/index.js +85 -0
- package/lib/esm/solana/instruction.js +24 -0
- package/lib/esm/solana/io-readable.js +1349 -0
- package/lib/esm/solana/io-writeable.js +1956 -0
- package/lib/esm/solana/json-rpc.js +74 -0
- package/lib/esm/solana/metadata.js +66 -0
- package/lib/esm/solana/mpl-core.js +142 -0
- package/lib/esm/solana/pda.js +317 -0
- package/lib/esm/solana/send.js +159 -0
- package/lib/esm/solana/spawn-ant.js +210 -0
- package/lib/esm/solana/types.js +1 -0
- package/lib/esm/types/ant.js +19 -7
- package/lib/esm/types/io.js +8 -1
- package/lib/esm/utils/ant.js +1 -0
- package/lib/esm/utils/ao.js +1 -0
- package/lib/esm/version.js +1 -1
- package/lib/types/cli/commands/antCommands.d.ts +2 -7
- package/lib/types/cli/commands/arnsPurchaseCommands.d.ts +12 -0
- package/lib/types/cli/commands/escrowCommands.d.ts +62 -0
- package/lib/types/cli/commands/readCommands.d.ts +2 -0
- package/lib/types/cli/options.d.ts +86 -0
- package/lib/types/cli/types.d.ts +6 -0
- package/lib/types/cli/utils.d.ts +43 -5
- package/lib/types/common/ant-registry.d.ts +41 -0
- package/lib/types/common/ant.d.ts +35 -2
- package/lib/types/common/contracts/ao-process.d.ts +2 -16
- package/lib/types/common/io.d.ts +42 -2
- package/lib/types/common/marketplace.d.ts +2 -14
- package/lib/types/constants.d.ts +11 -1
- package/lib/types/solana/ant-readable.d.ts +121 -0
- package/lib/types/solana/ant-registry-readable.d.ts +90 -0
- package/lib/types/solana/ant-registry-writeable.d.ts +234 -0
- package/lib/types/solana/ant-writeable.d.ts +162 -0
- package/lib/types/solana/ata.d.ts +29 -0
- package/lib/types/solana/canonical-message.d.ts +82 -0
- package/lib/types/solana/clusters.d.ts +62 -0
- package/lib/types/solana/constants.d.ts +97 -0
- package/lib/types/solana/deserialize.d.ts +400 -0
- package/lib/types/solana/escrow.d.ts +357 -0
- package/lib/types/solana/events.d.ts +156 -0
- package/lib/types/solana/funding-plan.d.ts +210 -0
- package/lib/types/solana/generated/ant/accounts/aclConfig.d.ts +56 -0
- package/lib/types/solana/generated/ant/accounts/aclPage.d.ts +44 -0
- package/lib/types/solana/generated/ant/accounts/antConfig.d.ts +63 -0
- package/lib/types/solana/generated/ant/accounts/antControllers.d.ts +51 -0
- package/lib/types/solana/generated/ant/accounts/antMigrationConfig.d.ts +44 -0
- package/lib/types/solana/generated/ant/accounts/antRecord.d.ts +75 -0
- package/lib/types/solana/generated/ant/accounts/antRecordMetadata.d.ts +59 -0
- package/lib/types/solana/generated/ant/accounts/index.d.ts +14 -0
- package/lib/types/solana/generated/ant/errors/arioAnt.d.ts +127 -0
- package/lib/types/solana/generated/ant/errors/index.d.ts +8 -0
- package/lib/types/solana/generated/ant/events/aclEntryAddedEvent.d.ts +26 -0
- package/lib/types/solana/generated/ant/events/aclEntryRemovedEvent.d.ts +26 -0
- package/lib/types/solana/generated/ant/events/antMetadataUpdatedEvent.d.ts +28 -0
- package/lib/types/solana/generated/ant/events/antReconciledEvent.d.ts +28 -0
- package/lib/types/solana/generated/ant/events/antTransferredEvent.d.ts +26 -0
- package/lib/types/solana/generated/ant/events/attributesClearedEvent.d.ts +26 -0
- package/lib/types/solana/generated/ant/events/attributesSyncedEvent.d.ts +24 -0
- package/lib/types/solana/generated/ant/events/controllerAddedEvent.d.ts +26 -0
- package/lib/types/solana/generated/ant/events/controllerRemovedEvent.d.ts +26 -0
- package/lib/types/solana/generated/ant/events/index.d.ts +15 -0
- package/lib/types/solana/generated/ant/events/recordMetadataPrunedEvent.d.ts +26 -0
- package/lib/types/solana/generated/ant/events/recordMetadataRemovedEvent.d.ts +26 -0
- package/lib/types/solana/generated/ant/events/recordMetadataUpdatedEvent.d.ts +28 -0
- package/lib/types/solana/generated/ant/events/recordRemovedEvent.d.ts +26 -0
- package/lib/types/solana/generated/ant/events/recordSetEvent.d.ts +34 -0
- package/lib/types/solana/generated/ant/events/recordTransferredEvent.d.ts +30 -0
- package/lib/types/solana/generated/ant/index.d.ts +10 -0
- package/lib/types/solana/generated/ant/instructions/addAclPage.d.ts +39 -0
- package/lib/types/solana/generated/ant/instructions/addController.d.ts +95 -0
- package/lib/types/solana/generated/ant/instructions/clearAttributes.d.ts +67 -0
- package/lib/types/solana/generated/ant/instructions/closeAclConfig.d.ts +43 -0
- package/lib/types/solana/generated/ant/instructions/closeAclPage.d.ts +39 -0
- package/lib/types/solana/generated/ant/instructions/closeOrphanedRecordMetadata.d.ts +55 -0
- package/lib/types/solana/generated/ant/instructions/finalizeMigration.d.ts +42 -0
- package/lib/types/solana/generated/ant/instructions/importAccount.d.ts +60 -0
- package/lib/types/solana/generated/ant/instructions/index.d.ts +37 -0
- package/lib/types/solana/generated/ant/instructions/initialize.d.ts +103 -0
- package/lib/types/solana/generated/ant/instructions/initializeMigration.d.ts +78 -0
- package/lib/types/solana/generated/ant/instructions/migrateAnt.d.ts +51 -0
- package/lib/types/solana/generated/ant/instructions/reconcile.d.ts +51 -0
- package/lib/types/solana/generated/ant/instructions/recordAclController.d.ts +66 -0
- package/lib/types/solana/generated/ant/instructions/recordAclOwner.d.ts +53 -0
- package/lib/types/solana/generated/ant/instructions/registerAclConfig.d.ts +53 -0
- package/lib/types/solana/generated/ant/instructions/removeAclController.d.ts +66 -0
- package/lib/types/solana/generated/ant/instructions/removeAclOwner.d.ts +53 -0
- package/lib/types/solana/generated/ant/instructions/removeController.d.ts +59 -0
- package/lib/types/solana/generated/ant/instructions/removeRecord.d.ts +81 -0
- package/lib/types/solana/generated/ant/instructions/removeRecordMetadata.d.ts +59 -0
- package/lib/types/solana/generated/ant/instructions/setDescription.d.ts +53 -0
- package/lib/types/solana/generated/ant/instructions/setKeywords.d.ts +53 -0
- package/lib/types/solana/generated/ant/instructions/setLogo.d.ts +53 -0
- package/lib/types/solana/generated/ant/instructions/setName.d.ts +53 -0
- package/lib/types/solana/generated/ant/instructions/setRecord.d.ts +91 -0
- package/lib/types/solana/generated/ant/instructions/setRecordMetadata.d.ts +94 -0
- package/lib/types/solana/generated/ant/instructions/setTicker.d.ts +53 -0
- package/lib/types/solana/generated/ant/instructions/syncAttributes.d.ts +77 -0
- package/lib/types/solana/generated/ant/instructions/transfer.d.ts +162 -0
- package/lib/types/solana/generated/ant/instructions/transferRecord.d.ts +56 -0
- package/lib/types/solana/generated/ant/pdas/aclConfig.d.ts +14 -0
- package/lib/types/solana/generated/ant/pdas/antConfig.d.ts +14 -0
- package/lib/types/solana/generated/ant/pdas/antControllers.d.ts +14 -0
- package/lib/types/solana/generated/ant/pdas/controllerAclConfig.d.ts +14 -0
- package/lib/types/solana/generated/ant/pdas/index.d.ts +14 -0
- package/lib/types/solana/generated/ant/pdas/migrationConfig.d.ts +11 -0
- package/lib/types/solana/generated/ant/pdas/newOwnerAclConfig.d.ts +14 -0
- package/lib/types/solana/generated/ant/pdas/oldOwnerAclConfig.d.ts +14 -0
- package/lib/types/solana/generated/ant/program-address.d.ts +7 -0
- package/lib/types/solana/generated/ant/types/aclEntry.d.ts +27 -0
- package/lib/types/solana/generated/ant/types/index.d.ts +8 -0
- package/lib/types/solana/generated/ant-escrow/accounts/escrowAnt.d.ts +116 -0
- package/lib/types/solana/generated/ant-escrow/accounts/escrowToken.d.ts +100 -0
- package/lib/types/solana/generated/ant-escrow/accounts/index.d.ts +9 -0
- package/lib/types/solana/generated/ant-escrow/errors/arioAntEscrow.d.ts +61 -0
- package/lib/types/solana/generated/ant-escrow/errors/index.d.ts +8 -0
- package/lib/types/solana/generated/ant-escrow/events/escrowCancelledEvent.d.ts +28 -0
- package/lib/types/solana/generated/ant-escrow/events/escrowClaimedEvent.d.ts +32 -0
- package/lib/types/solana/generated/ant-escrow/events/escrowDepositedEvent.d.ts +36 -0
- package/lib/types/solana/generated/ant-escrow/events/escrowRecipientUpdatedEvent.d.ts +26 -0
- package/lib/types/solana/generated/ant-escrow/events/index.d.ts +4 -0
- package/lib/types/solana/generated/ant-escrow/index.d.ts +10 -0
- package/lib/types/solana/generated/ant-escrow/instructions/cancelDeposit.d.ts +69 -0
- package/lib/types/solana/generated/ant-escrow/instructions/cancelTokenDeposit.d.ts +59 -0
- package/lib/types/solana/generated/ant-escrow/instructions/cancelVaultDeposit.d.ts +59 -0
- package/lib/types/solana/generated/ant-escrow/instructions/claimAntArweave.d.ts +105 -0
- package/lib/types/solana/generated/ant-escrow/instructions/claimAntEthereum.d.ts +54 -0
- package/lib/types/solana/generated/ant-escrow/instructions/claimTokensArweave.d.ts +69 -0
- package/lib/types/solana/generated/ant-escrow/instructions/claimTokensEthereum.d.ts +60 -0
- package/lib/types/solana/generated/ant-escrow/instructions/claimVaultArweave.d.ts +65 -0
- package/lib/types/solana/generated/ant-escrow/instructions/claimVaultEthereum.d.ts +92 -0
- package/lib/types/solana/generated/ant-escrow/instructions/depositAnt.d.ts +117 -0
- package/lib/types/solana/generated/ant-escrow/instructions/depositTokens.d.ts +101 -0
- package/lib/types/solana/generated/ant-escrow/instructions/depositVault.d.ts +97 -0
- package/lib/types/solana/generated/ant-escrow/instructions/index.d.ts +22 -0
- package/lib/types/solana/generated/ant-escrow/instructions/updateRecipient.d.ts +56 -0
- package/lib/types/solana/generated/ant-escrow/instructions/updateTokenRecipient.d.ts +52 -0
- package/lib/types/solana/generated/ant-escrow/instructions/updateVaultRecipient.d.ts +52 -0
- package/lib/types/solana/generated/ant-escrow/pdas/depositTokensEscrow.d.ts +15 -0
- package/lib/types/solana/generated/ant-escrow/pdas/depositVaultEscrow.d.ts +15 -0
- package/lib/types/solana/generated/ant-escrow/pdas/escrow.d.ts +14 -0
- package/lib/types/solana/generated/ant-escrow/pdas/index.d.ts +10 -0
- package/lib/types/solana/generated/ant-escrow/program-address.d.ts +7 -0
- package/lib/types/solana/generated/arns/accounts/arnsConfig.d.ts +76 -0
- package/lib/types/solana/generated/arns/accounts/arnsRecord.d.ts +92 -0
- package/lib/types/solana/generated/arns/accounts/demandFactor.d.ts +72 -0
- package/lib/types/solana/generated/arns/accounts/index.d.ts +13 -0
- package/lib/types/solana/generated/arns/accounts/nameRegistry.d.ts +65 -0
- package/lib/types/solana/generated/arns/accounts/reservedName.d.ts +51 -0
- package/lib/types/solana/generated/arns/accounts/returnedName.d.ts +47 -0
- package/lib/types/solana/generated/arns/errors/arioArns.d.ts +113 -0
- package/lib/types/solana/generated/arns/errors/index.d.ts +8 -0
- package/lib/types/solana/generated/arns/events/demandFactorUpdatedEvent.d.ts +28 -0
- package/lib/types/solana/generated/arns/events/index.d.ts +12 -0
- package/lib/types/solana/generated/arns/events/leaseExtendedEvent.d.ts +32 -0
- package/lib/types/solana/generated/arns/events/namePurchasedEvent.d.ts +34 -0
- package/lib/types/solana/generated/arns/events/nameReassignedEvent.d.ts +28 -0
- package/lib/types/solana/generated/arns/events/nameReleasedEvent.d.ts +24 -0
- package/lib/types/solana/generated/arns/events/nameReservedEvent.d.ts +28 -0
- package/lib/types/solana/generated/arns/events/nameUnreservedEvent.d.ts +24 -0
- package/lib/types/solana/generated/arns/events/nameUpgradedEvent.d.ts +28 -0
- package/lib/types/solana/generated/arns/events/namesPrunedEvent.d.ts +26 -0
- package/lib/types/solana/generated/arns/events/reservedNameClaimedEvent.d.ts +24 -0
- package/lib/types/solana/generated/arns/events/returnedNamePurchasedEvent.d.ts +32 -0
- package/lib/types/solana/generated/arns/events/undernameIncreasedEvent.d.ts +32 -0
- package/lib/types/solana/generated/arns/index.d.ts +10 -0
- package/lib/types/solana/generated/arns/instructions/buyName.d.ts +81 -0
- package/lib/types/solana/generated/arns/instructions/buyNameFromDelegation.d.ts +87 -0
- package/lib/types/solana/generated/arns/instructions/buyNameFromFundingPlan.d.ts +99 -0
- package/lib/types/solana/generated/arns/instructions/buyNameFromOperatorStake.d.ts +84 -0
- package/lib/types/solana/generated/arns/instructions/buyNameFromWithdrawal.d.ts +84 -0
- package/lib/types/solana/generated/arns/instructions/buyReturnedName.d.ts +75 -0
- package/lib/types/solana/generated/arns/instructions/buyReturnedNameFromDelegation.d.ts +96 -0
- package/lib/types/solana/generated/arns/instructions/buyReturnedNameFromFundingPlan.d.ts +102 -0
- package/lib/types/solana/generated/arns/instructions/buyReturnedNameFromOperatorStake.d.ts +93 -0
- package/lib/types/solana/generated/arns/instructions/buyReturnedNameFromWithdrawal.d.ts +87 -0
- package/lib/types/solana/generated/arns/instructions/claimReservedName.d.ts +45 -0
- package/lib/types/solana/generated/arns/instructions/createNameRegistry.d.ts +48 -0
- package/lib/types/solana/generated/arns/instructions/extendLease.d.ts +62 -0
- package/lib/types/solana/generated/arns/instructions/extendLeaseFromDelegation.d.ts +74 -0
- package/lib/types/solana/generated/arns/instructions/extendLeaseFromFundingPlan.d.ts +90 -0
- package/lib/types/solana/generated/arns/instructions/extendLeaseFromOperatorStake.d.ts +71 -0
- package/lib/types/solana/generated/arns/instructions/extendLeaseFromWithdrawal.d.ts +71 -0
- package/lib/types/solana/generated/arns/instructions/finalizeMigration.d.ts +42 -0
- package/lib/types/solana/generated/arns/instructions/getTokenCost.d.ts +66 -0
- package/lib/types/solana/generated/arns/instructions/importAccount.d.ts +60 -0
- package/lib/types/solana/generated/arns/instructions/importRegistryEntry.d.ts +54 -0
- package/lib/types/solana/generated/arns/instructions/increaseUndernameLimit.d.ts +65 -0
- package/lib/types/solana/generated/arns/instructions/increaseUndernameLimitFromDelegation.d.ts +74 -0
- package/lib/types/solana/generated/arns/instructions/increaseUndernameLimitFromFundingPlan.d.ts +90 -0
- package/lib/types/solana/generated/arns/instructions/increaseUndernameLimitFromOperatorStake.d.ts +71 -0
- package/lib/types/solana/generated/arns/instructions/increaseUndernameLimitFromWithdrawal.d.ts +71 -0
- package/lib/types/solana/generated/arns/instructions/index.d.ts +48 -0
- package/lib/types/solana/generated/arns/instructions/initialize.d.ts +90 -0
- package/lib/types/solana/generated/arns/instructions/pruneExpiredNames.d.ts +56 -0
- package/lib/types/solana/generated/arns/instructions/pruneExpiredReservation.d.ts +37 -0
- package/lib/types/solana/generated/arns/instructions/pruneNameToReturned.d.ts +54 -0
- package/lib/types/solana/generated/arns/instructions/pruneReturnedNames.d.ts +50 -0
- package/lib/types/solana/generated/arns/instructions/reassignName.d.ts +53 -0
- package/lib/types/solana/generated/arns/instructions/releaseName.d.ts +54 -0
- package/lib/types/solana/generated/arns/instructions/reserveName.d.ts +61 -0
- package/lib/types/solana/generated/arns/instructions/unreserveName.d.ts +45 -0
- package/lib/types/solana/generated/arns/instructions/updateDemandFactor.d.ts +42 -0
- package/lib/types/solana/generated/arns/instructions/upgradeName.d.ts +60 -0
- package/lib/types/solana/generated/arns/instructions/upgradeNameFromDelegation.d.ts +69 -0
- package/lib/types/solana/generated/arns/instructions/upgradeNameFromFundingPlan.d.ts +86 -0
- package/lib/types/solana/generated/arns/instructions/upgradeNameFromOperatorStake.d.ts +66 -0
- package/lib/types/solana/generated/arns/instructions/upgradeNameFromWithdrawal.d.ts +66 -0
- package/lib/types/solana/generated/arns/pdas/config.d.ts +11 -0
- package/lib/types/solana/generated/arns/pdas/demandFactor.d.ts +11 -0
- package/lib/types/solana/generated/arns/pdas/index.d.ts +10 -0
- package/lib/types/solana/generated/arns/pdas/nameRegistry.d.ts +11 -0
- package/lib/types/solana/generated/arns/program-address.d.ts +7 -0
- package/lib/types/solana/generated/arns/types/buyNameParams.d.ts +32 -0
- package/lib/types/solana/generated/arns/types/buyReturnedNameParams.d.ts +26 -0
- package/lib/types/solana/generated/arns/types/costIntent.d.ts +19 -0
- package/lib/types/solana/generated/arns/types/fundingSourceKind.d.ts +26 -0
- package/lib/types/solana/generated/arns/types/fundingSourceSpec.d.ts +21 -0
- package/lib/types/solana/generated/arns/types/index.d.ts +14 -0
- package/lib/types/solana/generated/arns/types/nameEntry.d.ts +21 -0
- package/lib/types/solana/generated/arns/types/purchaseType.d.ts +16 -0
- package/lib/types/solana/generated/core/accounts/arioConfig.d.ts +84 -0
- package/lib/types/solana/generated/core/accounts/balance.d.ts +40 -0
- package/lib/types/solana/generated/core/accounts/index.d.ts +14 -0
- package/lib/types/solana/generated/core/accounts/primaryName.d.ts +43 -0
- package/lib/types/solana/generated/core/accounts/primaryNameRequest.d.ts +47 -0
- package/lib/types/solana/generated/core/accounts/primaryNameReverse.d.ts +39 -0
- package/lib/types/solana/generated/core/accounts/vault.d.ts +59 -0
- package/lib/types/solana/generated/core/accounts/vaultCounter.d.ts +40 -0
- package/lib/types/solana/generated/core/errors/arioCore.d.ts +107 -0
- package/lib/types/solana/generated/core/errors/index.d.ts +8 -0
- package/lib/types/solana/generated/core/events/configUpdatedEvent.d.ts +26 -0
- package/lib/types/solana/generated/core/events/coreMigrationFinalizedEvent.d.ts +26 -0
- package/lib/types/solana/generated/core/events/index.d.ts +13 -0
- package/lib/types/solana/generated/core/events/primaryNameRemovedEvent.d.ts +26 -0
- package/lib/types/solana/generated/core/events/primaryNameRequestExpiredEvent.d.ts +26 -0
- package/lib/types/solana/generated/core/events/primaryNameRequestedEvent.d.ts +30 -0
- package/lib/types/solana/generated/core/events/primaryNameSetEvent.d.ts +24 -0
- package/lib/types/solana/generated/core/events/supplyFinalizedEvent.d.ts +26 -0
- package/lib/types/solana/generated/core/events/transferEvent.d.ts +26 -0
- package/lib/types/solana/generated/core/events/vaultCreatedEvent.d.ts +28 -0
- package/lib/types/solana/generated/core/events/vaultExtendedEvent.d.ts +26 -0
- package/lib/types/solana/generated/core/events/vaultIncreasedEvent.d.ts +28 -0
- package/lib/types/solana/generated/core/events/vaultReleasedEvent.d.ts +26 -0
- package/lib/types/solana/generated/core/events/vaultRevokedEvent.d.ts +28 -0
- package/lib/types/solana/generated/core/index.d.ts +10 -0
- package/lib/types/solana/generated/core/instructions/adminRepairConfig.d.ts +51 -0
- package/lib/types/solana/generated/core/instructions/approvePrimaryName.d.ts +93 -0
- package/lib/types/solana/generated/core/instructions/closeExpiredRequest.d.ts +39 -0
- package/lib/types/solana/generated/core/instructions/createVault.d.ts +69 -0
- package/lib/types/solana/generated/core/instructions/extendVault.d.ts +50 -0
- package/lib/types/solana/generated/core/instructions/finalizeMigration.d.ts +42 -0
- package/lib/types/solana/generated/core/instructions/finalizeSupply.d.ts +59 -0
- package/lib/types/solana/generated/core/instructions/importAccount.d.ts +60 -0
- package/lib/types/solana/generated/core/instructions/importBalance.d.ts +153 -0
- package/lib/types/solana/generated/core/instructions/increaseVault.d.ts +59 -0
- package/lib/types/solana/generated/core/instructions/index.d.ts +29 -0
- package/lib/types/solana/generated/core/instructions/initialize.d.ts +99 -0
- package/lib/types/solana/generated/core/instructions/releaseVault.d.ts +54 -0
- package/lib/types/solana/generated/core/instructions/removePrimaryName.d.ts +53 -0
- package/lib/types/solana/generated/core/instructions/removePrimaryNameForBaseName.d.ts +75 -0
- package/lib/types/solana/generated/core/instructions/requestAndSetPrimaryName.d.ts +85 -0
- package/lib/types/solana/generated/core/instructions/requestAndSetPrimaryNameFromFundingPlan.d.ts +98 -0
- package/lib/types/solana/generated/core/instructions/requestPrimaryName.d.ts +68 -0
- package/lib/types/solana/generated/core/instructions/requestPrimaryNameFromFundingPlan.d.ts +90 -0
- package/lib/types/solana/generated/core/instructions/revokeVault.d.ts +54 -0
- package/lib/types/solana/generated/core/instructions/transfer.d.ts +43 -0
- package/lib/types/solana/generated/core/instructions/updateConfig.d.ts +59 -0
- package/lib/types/solana/generated/core/instructions/vaultedTransfer.d.ts +76 -0
- package/lib/types/solana/generated/core/pdas/balance.d.ts +14 -0
- package/lib/types/solana/generated/core/pdas/config.d.ts +11 -0
- package/lib/types/solana/generated/core/pdas/index.d.ts +15 -0
- package/lib/types/solana/generated/core/pdas/primaryName.d.ts +14 -0
- package/lib/types/solana/generated/core/pdas/primaryNameReverse.d.ts +14 -0
- package/lib/types/solana/generated/core/pdas/recipientVaultCounter.d.ts +14 -0
- package/lib/types/solana/generated/core/pdas/request.d.ts +14 -0
- package/lib/types/solana/generated/core/pdas/requestAndSetPrimaryNamePrimaryName.d.ts +14 -0
- package/lib/types/solana/generated/core/pdas/vaultCounter.d.ts +14 -0
- package/lib/types/solana/generated/core/program-address.d.ts +7 -0
- package/lib/types/solana/generated/core/types/fundingSourceKind.d.ts +26 -0
- package/lib/types/solana/generated/core/types/fundingSourceSpec.d.ts +21 -0
- package/lib/types/solana/generated/core/types/index.d.ts +9 -0
- package/lib/types/solana/generated/gar/accounts/allowlistEntry.d.ts +36 -0
- package/lib/types/solana/generated/gar/accounts/delegation.d.ts +42 -0
- package/lib/types/solana/generated/gar/accounts/epoch.d.ts +118 -0
- package/lib/types/solana/generated/gar/accounts/epochSettings.d.ts +120 -0
- package/lib/types/solana/generated/gar/accounts/gateway.d.ts +106 -0
- package/lib/types/solana/generated/gar/accounts/gatewayRegistry.d.ts +59 -0
- package/lib/types/solana/generated/gar/accounts/gatewaySettings.d.ts +94 -0
- package/lib/types/solana/generated/gar/accounts/index.d.ts +19 -0
- package/lib/types/solana/generated/gar/accounts/observation.d.ts +54 -0
- package/lib/types/solana/generated/gar/accounts/observerLookup.d.ts +32 -0
- package/lib/types/solana/generated/gar/accounts/redelegationRecord.d.ts +44 -0
- package/lib/types/solana/generated/gar/accounts/withdrawal.d.ts +82 -0
- package/lib/types/solana/generated/gar/accounts/withdrawalCounter.d.ts +34 -0
- package/lib/types/solana/generated/gar/errors/arioGar.d.ts +188 -0
- package/lib/types/solana/generated/gar/errors/index.d.ts +8 -0
- package/lib/types/solana/generated/gar/events/allowlistToggledEvent.d.ts +24 -0
- package/lib/types/solana/generated/gar/events/delegateAllowlistedEvent.d.ts +26 -0
- package/lib/types/solana/generated/gar/events/delegationClosedEvent.d.ts +24 -0
- package/lib/types/solana/generated/gar/events/delegationDecreasedEvent.d.ts +28 -0
- package/lib/types/solana/generated/gar/events/delegationEvent.d.ts +28 -0
- package/lib/types/solana/generated/gar/events/epochClosedEvent.d.ts +24 -0
- package/lib/types/solana/generated/gar/events/epochCreatedEvent.d.ts +26 -0
- package/lib/types/solana/generated/gar/events/epochDistributedEvent.d.ts +26 -0
- package/lib/types/solana/generated/gar/events/epochPrescribedEvent.d.ts +28 -0
- package/lib/types/solana/generated/gar/events/epochWeightsTalliedEvent.d.ts +26 -0
- package/lib/types/solana/generated/gar/events/epochsToggledEvent.d.ts +24 -0
- package/lib/types/solana/generated/gar/events/fundingPlanAppliedEvent.d.ts +28 -0
- package/lib/types/solana/generated/gar/events/garMigrationFinalizedEvent.d.ts +26 -0
- package/lib/types/solana/generated/gar/events/gatewayFinalizedEvent.d.ts +24 -0
- package/lib/types/solana/generated/gar/events/gatewayJoinedEvent.d.ts +26 -0
- package/lib/types/solana/generated/gar/events/gatewayLeavingEvent.d.ts +22 -0
- package/lib/types/solana/generated/gar/events/gatewayPrunedEvent.d.ts +26 -0
- package/lib/types/solana/generated/gar/events/gatewaySettingsUpdatedEvent.d.ts +24 -0
- package/lib/types/solana/generated/gar/events/index.d.ts +30 -0
- package/lib/types/solana/generated/gar/events/instantWithdrawalEvent.d.ts +30 -0
- package/lib/types/solana/generated/gar/events/observationSubmittedEvent.d.ts +28 -0
- package/lib/types/solana/generated/gar/events/observerAddressUpdatedEvent.d.ts +24 -0
- package/lib/types/solana/generated/gar/events/operatorStakeIncreasedEvent.d.ts +26 -0
- package/lib/types/solana/generated/gar/events/redelegationEvent.d.ts +30 -0
- package/lib/types/solana/generated/gar/events/residueVaultCreatedEvent.d.ts +30 -0
- package/lib/types/solana/generated/gar/events/rewardsCompoundedEvent.d.ts +26 -0
- package/lib/types/solana/generated/gar/events/stakePaymentEvent.d.ts +28 -0
- package/lib/types/solana/generated/gar/events/withdrawalCancelledEvent.d.ts +30 -0
- package/lib/types/solana/generated/gar/events/withdrawalClaimedEvent.d.ts +26 -0
- package/lib/types/solana/generated/gar/events/withdrawalCreatedEvent.d.ts +28 -0
- package/lib/types/solana/generated/gar/events/withdrawalPaymentEvent.d.ts +28 -0
- package/lib/types/solana/generated/gar/index.d.ts +10 -0
- package/lib/types/solana/generated/gar/instructions/adminRepairSettings.d.ts +55 -0
- package/lib/types/solana/generated/gar/instructions/allowDelegate.d.ts +51 -0
- package/lib/types/solana/generated/gar/instructions/cancelWithdrawal.d.ts +63 -0
- package/lib/types/solana/generated/gar/instructions/claimDelegateFromLeavingGateway.d.ts +93 -0
- package/lib/types/solana/generated/gar/instructions/claimWithdrawal.d.ts +54 -0
- package/lib/types/solana/generated/gar/instructions/closeDrainedWithdrawal.d.ts +53 -0
- package/lib/types/solana/generated/gar/instructions/closeEmptyDelegation.d.ts +51 -0
- package/lib/types/solana/generated/gar/instructions/closeEpoch.d.ts +50 -0
- package/lib/types/solana/generated/gar/instructions/closeObservation.d.ts +50 -0
- package/lib/types/solana/generated/gar/instructions/compoundDelegationRewards.d.ts +37 -0
- package/lib/types/solana/generated/gar/instructions/createEpoch.d.ts +63 -0
- package/lib/types/solana/generated/gar/instructions/createGatewayRegistry.d.ts +48 -0
- package/lib/types/solana/generated/gar/instructions/decreaseDelegateStake.d.ts +62 -0
- package/lib/types/solana/generated/gar/instructions/decreaseOperatorStake.d.ts +59 -0
- package/lib/types/solana/generated/gar/instructions/deductDelegationForPayment.d.ts +65 -0
- package/lib/types/solana/generated/gar/instructions/deductOperatorStakeForPayment.d.ts +62 -0
- package/lib/types/solana/generated/gar/instructions/deductWithdrawalForPayment.d.ts +62 -0
- package/lib/types/solana/generated/gar/instructions/delegateStake.d.ts +65 -0
- package/lib/types/solana/generated/gar/instructions/disallowDelegate.d.ts +48 -0
- package/lib/types/solana/generated/gar/instructions/distributeEpoch.d.ts +74 -0
- package/lib/types/solana/generated/gar/instructions/finalizeGone.d.ts +72 -0
- package/lib/types/solana/generated/gar/instructions/finalizeMigration.d.ts +42 -0
- package/lib/types/solana/generated/gar/instructions/importAccount.d.ts +60 -0
- package/lib/types/solana/generated/gar/instructions/importRegistryEntry.d.ts +58 -0
- package/lib/types/solana/generated/gar/instructions/increaseOperatorStake.d.ts +59 -0
- package/lib/types/solana/generated/gar/instructions/index.d.ts +50 -0
- package/lib/types/solana/generated/gar/instructions/initialize.d.ts +102 -0
- package/lib/types/solana/generated/gar/instructions/initializeEpochs.d.ts +91 -0
- package/lib/types/solana/generated/gar/instructions/instantWithdrawal.d.ts +57 -0
- package/lib/types/solana/generated/gar/instructions/joinNetwork.d.ts +123 -0
- package/lib/types/solana/generated/gar/instructions/leaveNetwork.d.ts +135 -0
- package/lib/types/solana/generated/gar/instructions/migrateSettingsSetArnsProgramId.d.ts +71 -0
- package/lib/types/solana/generated/gar/instructions/migrateSettingsSupplyCounters.d.ts +55 -0
- package/lib/types/solana/generated/gar/instructions/payFromFundingPlan.d.ts +116 -0
- package/lib/types/solana/generated/gar/instructions/prescribeEpoch.d.ts +68 -0
- package/lib/types/solana/generated/gar/instructions/pruneGateway.d.ts +120 -0
- package/lib/types/solana/generated/gar/instructions/redelegateStake.d.ts +116 -0
- package/lib/types/solana/generated/gar/instructions/releaseTreasuryAuthority.d.ts +74 -0
- package/lib/types/solana/generated/gar/instructions/saveObservations.d.ts +65 -0
- package/lib/types/solana/generated/gar/instructions/setAllowlistEnabled.d.ts +50 -0
- package/lib/types/solana/generated/gar/instructions/setEpochsEnabled.d.ts +47 -0
- package/lib/types/solana/generated/gar/instructions/tallyWeights.d.ts +56 -0
- package/lib/types/solana/generated/gar/instructions/updateGatewaySettings.d.ts +83 -0
- package/lib/types/solana/generated/gar/instructions/updateObserverAddress.d.ts +56 -0
- package/lib/types/solana/generated/gar/pdas/allowlistEntry.d.ts +15 -0
- package/lib/types/solana/generated/gar/pdas/decreaseOperatorStakeWithdrawalCounter.d.ts +14 -0
- package/lib/types/solana/generated/gar/pdas/epoch.d.ts +14 -0
- package/lib/types/solana/generated/gar/pdas/epochSettings.d.ts +11 -0
- package/lib/types/solana/generated/gar/pdas/gateway.d.ts +14 -0
- package/lib/types/solana/generated/gar/pdas/index.d.ts +19 -0
- package/lib/types/solana/generated/gar/pdas/newObserverLookup.d.ts +14 -0
- package/lib/types/solana/generated/gar/pdas/observation.d.ts +15 -0
- package/lib/types/solana/generated/gar/pdas/payFromFundingPlanWithdrawalCounter.d.ts +14 -0
- package/lib/types/solana/generated/gar/pdas/redelegationRecord.d.ts +14 -0
- package/lib/types/solana/generated/gar/pdas/registry.d.ts +11 -0
- package/lib/types/solana/generated/gar/pdas/settings.d.ts +11 -0
- package/lib/types/solana/generated/gar/pdas/withdrawalCounter.d.ts +14 -0
- package/lib/types/solana/generated/gar/program-address.d.ts +7 -0
- package/lib/types/solana/generated/gar/types/fundingSourceKind.d.ts +26 -0
- package/lib/types/solana/generated/gar/types/fundingSourceSpec.d.ts +21 -0
- package/lib/types/solana/generated/gar/types/gatewaySettings2.d.ts +32 -0
- package/lib/types/solana/generated/gar/types/gatewaySlot.d.ts +37 -0
- package/lib/types/solana/generated/gar/types/gatewayStats.d.ts +22 -0
- package/lib/types/solana/generated/gar/types/gatewayStatus.d.ts +17 -0
- package/lib/types/solana/generated/gar/types/gatewayWeights.d.ts +48 -0
- package/lib/types/solana/generated/gar/types/index.d.ts +16 -0
- package/lib/types/solana/generated/gar/types/protocol.d.ts +16 -0
- package/lib/types/solana/generated/gar/types/registryIndex.d.ts +25 -0
- package/lib/types/solana/generated/mpl-core/accounts/assetV1.d.ts +37 -0
- package/lib/types/solana/generated/mpl-core/accounts/collectionV1.d.ts +37 -0
- package/lib/types/solana/generated/mpl-core/accounts/hashedAssetV1.d.ts +30 -0
- package/lib/types/solana/generated/mpl-core/accounts/index.d.ts +12 -0
- package/lib/types/solana/generated/mpl-core/accounts/pluginHeaderV1.d.ts +30 -0
- package/lib/types/solana/generated/mpl-core/accounts/pluginRegistryV1.d.ts +31 -0
- package/lib/types/solana/generated/mpl-core/errors/index.d.ts +8 -0
- package/lib/types/solana/generated/mpl-core/errors/mplCore.d.ts +133 -0
- package/lib/types/solana/generated/mpl-core/index.d.ts +8 -0
- package/lib/types/solana/generated/mpl-core/instructions/addCollectionExternalPluginAdapterV1.d.ts +56 -0
- package/lib/types/solana/generated/mpl-core/instructions/addCollectionPluginV1.d.ts +59 -0
- package/lib/types/solana/generated/mpl-core/instructions/addExternalPluginAdapterV1.d.ts +60 -0
- package/lib/types/solana/generated/mpl-core/instructions/addPluginV1.d.ts +63 -0
- package/lib/types/solana/generated/mpl-core/instructions/approveCollectionPluginAuthorityV1.d.ts +59 -0
- package/lib/types/solana/generated/mpl-core/instructions/approvePluginAuthorityV1.d.ts +63 -0
- package/lib/types/solana/generated/mpl-core/instructions/burnCollectionV1.d.ts +52 -0
- package/lib/types/solana/generated/mpl-core/instructions/burnV1.d.ts +60 -0
- package/lib/types/solana/generated/mpl-core/instructions/collect.d.ts +39 -0
- package/lib/types/solana/generated/mpl-core/instructions/compressV1.d.ts +55 -0
- package/lib/types/solana/generated/mpl-core/instructions/createCollectionV1.d.ts +58 -0
- package/lib/types/solana/generated/mpl-core/instructions/createCollectionV2.d.ts +61 -0
- package/lib/types/solana/generated/mpl-core/instructions/createV1.d.ts +77 -0
- package/lib/types/solana/generated/mpl-core/instructions/createV2.d.ts +80 -0
- package/lib/types/solana/generated/mpl-core/instructions/decompressV1.d.ts +60 -0
- package/lib/types/solana/generated/mpl-core/instructions/executeV1.d.ts +63 -0
- package/lib/types/solana/generated/mpl-core/instructions/index.d.ts +40 -0
- package/lib/types/solana/generated/mpl-core/instructions/removeCollectionExternalPluginAdapterV1.d.ts +56 -0
- package/lib/types/solana/generated/mpl-core/instructions/removeCollectionPluginV1.d.ts +56 -0
- package/lib/types/solana/generated/mpl-core/instructions/removeExternalPluginAdapterV1.d.ts +60 -0
- package/lib/types/solana/generated/mpl-core/instructions/removePluginV1.d.ts +60 -0
- package/lib/types/solana/generated/mpl-core/instructions/revokeCollectionPluginAuthorityV1.d.ts +56 -0
- package/lib/types/solana/generated/mpl-core/instructions/revokePluginAuthorityV1.d.ts +60 -0
- package/lib/types/solana/generated/mpl-core/instructions/transferV1.d.ts +64 -0
- package/lib/types/solana/generated/mpl-core/instructions/updateCollectionExternalPluginAdapterV1.d.ts +59 -0
- package/lib/types/solana/generated/mpl-core/instructions/updateCollectionInfoV1.d.ts +47 -0
- package/lib/types/solana/generated/mpl-core/instructions/updateCollectionPluginV1.d.ts +56 -0
- package/lib/types/solana/generated/mpl-core/instructions/updateCollectionV1.d.ts +62 -0
- package/lib/types/solana/generated/mpl-core/instructions/updateExternalPluginAdapterV1.d.ts +63 -0
- package/lib/types/solana/generated/mpl-core/instructions/updatePluginV1.d.ts +60 -0
- package/lib/types/solana/generated/mpl-core/instructions/updateV1.d.ts +66 -0
- package/lib/types/solana/generated/mpl-core/instructions/updateV2.d.ts +70 -0
- package/lib/types/solana/generated/mpl-core/instructions/writeCollectionExternalPluginAdapterDataV1.d.ts +63 -0
- package/lib/types/solana/generated/mpl-core/instructions/writeExternalPluginAdapterDataV1.d.ts +67 -0
- package/lib/types/solana/generated/mpl-core/program-address.d.ts +7 -0
- package/lib/types/solana/generated/mpl-core/types/addAssetsToGroupV1Args.d.ts +13 -0
- package/lib/types/solana/generated/mpl-core/types/addBlocker.d.ts +13 -0
- package/lib/types/solana/generated/mpl-core/types/addCollectionsToGroupV1Args.d.ts +13 -0
- package/lib/types/solana/generated/mpl-core/types/addGroupsToGroupV1Args.d.ts +15 -0
- package/lib/types/solana/generated/mpl-core/types/agentIdentity.d.ts +15 -0
- package/lib/types/solana/generated/mpl-core/types/agentIdentityInitInfo.d.ts +22 -0
- package/lib/types/solana/generated/mpl-core/types/agentIdentityUpdateInfo.d.ts +20 -0
- package/lib/types/solana/generated/mpl-core/types/appData.d.ts +20 -0
- package/lib/types/solana/generated/mpl-core/types/appDataInitInfo.d.ts +22 -0
- package/lib/types/solana/generated/mpl-core/types/appDataUpdateInfo.d.ts +18 -0
- package/lib/types/solana/generated/mpl-core/types/attribute.d.ts +16 -0
- package/lib/types/solana/generated/mpl-core/types/attributes.d.ts +18 -0
- package/lib/types/solana/generated/mpl-core/types/authority.d.ts +29 -0
- package/lib/types/solana/generated/mpl-core/types/autograph.d.ts +18 -0
- package/lib/types/solana/generated/mpl-core/types/autographSignature.d.ts +16 -0
- package/lib/types/solana/generated/mpl-core/types/bubblegumV2.d.ts +13 -0
- package/lib/types/solana/generated/mpl-core/types/burnDelegate.d.ts +13 -0
- package/lib/types/solana/generated/mpl-core/types/closeGroupV1Args.d.ts +13 -0
- package/lib/types/solana/generated/mpl-core/types/compressionProof.d.ts +28 -0
- package/lib/types/solana/generated/mpl-core/types/creator.d.ts +16 -0
- package/lib/types/solana/generated/mpl-core/types/dataSection.d.ts +20 -0
- package/lib/types/solana/generated/mpl-core/types/dataSectionInitInfo.d.ts +20 -0
- package/lib/types/solana/generated/mpl-core/types/dataSectionUpdateInfo.d.ts +13 -0
- package/lib/types/solana/generated/mpl-core/types/dataState.d.ts +16 -0
- package/lib/types/solana/generated/mpl-core/types/edition.d.ts +15 -0
- package/lib/types/solana/generated/mpl-core/types/externalCheckResult.d.ts +15 -0
- package/lib/types/solana/generated/mpl-core/types/externalPluginAdapter.d.ts +66 -0
- package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterInitInfo.d.ts +66 -0
- package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterKey.d.ts +64 -0
- package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterSchema.d.ts +17 -0
- package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterType.d.ts +21 -0
- package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterUpdateInfo.d.ts +59 -0
- package/lib/types/solana/generated/mpl-core/types/externalRegistryRecord.d.ts +28 -0
- package/lib/types/solana/generated/mpl-core/types/externalValidationResult.d.ts +17 -0
- package/lib/types/solana/generated/mpl-core/types/extraAccount.d.ts +86 -0
- package/lib/types/solana/generated/mpl-core/types/freezeDelegate.d.ts +15 -0
- package/lib/types/solana/generated/mpl-core/types/freezeExecute.d.ts +15 -0
- package/lib/types/solana/generated/mpl-core/types/groups.d.ts +15 -0
- package/lib/types/solana/generated/mpl-core/types/hashablePluginSchema.d.ts +22 -0
- package/lib/types/solana/generated/mpl-core/types/hashedAssetSchema.d.ts +16 -0
- package/lib/types/solana/generated/mpl-core/types/hookableLifecycleEvent.d.ts +19 -0
- package/lib/types/solana/generated/mpl-core/types/immutableMetadata.d.ts +13 -0
- package/lib/types/solana/generated/mpl-core/types/index.d.ts +89 -0
- package/lib/types/solana/generated/mpl-core/types/key.d.ts +21 -0
- package/lib/types/solana/generated/mpl-core/types/lifecycleHook.d.ts +24 -0
- package/lib/types/solana/generated/mpl-core/types/lifecycleHookInitInfo.d.ts +28 -0
- package/lib/types/solana/generated/mpl-core/types/lifecycleHookUpdateInfo.d.ts +22 -0
- package/lib/types/solana/generated/mpl-core/types/linkedAppData.d.ts +20 -0
- package/lib/types/solana/generated/mpl-core/types/linkedAppDataInitInfo.d.ts +22 -0
- package/lib/types/solana/generated/mpl-core/types/linkedAppDataUpdateInfo.d.ts +18 -0
- package/lib/types/solana/generated/mpl-core/types/linkedDataKey.d.ts +31 -0
- package/lib/types/solana/generated/mpl-core/types/linkedLifecycleHook.d.ts +24 -0
- package/lib/types/solana/generated/mpl-core/types/linkedLifecycleHookInitInfo.d.ts +28 -0
- package/lib/types/solana/generated/mpl-core/types/linkedLifecycleHookUpdateInfo.d.ts +22 -0
- package/lib/types/solana/generated/mpl-core/types/masterEdition.d.ts +21 -0
- package/lib/types/solana/generated/mpl-core/types/oracle.d.ts +22 -0
- package/lib/types/solana/generated/mpl-core/types/oracleInitInfo.d.ts +26 -0
- package/lib/types/solana/generated/mpl-core/types/oracleUpdateInfo.d.ts +22 -0
- package/lib/types/solana/generated/mpl-core/types/oracleValidation.d.ts +35 -0
- package/lib/types/solana/generated/mpl-core/types/permanentBurnDelegate.d.ts +13 -0
- package/lib/types/solana/generated/mpl-core/types/permanentFreezeDelegate.d.ts +15 -0
- package/lib/types/solana/generated/mpl-core/types/permanentFreezeExecute.d.ts +15 -0
- package/lib/types/solana/generated/mpl-core/types/permanentTransferDelegate.d.ts +13 -0
- package/lib/types/solana/generated/mpl-core/types/plugin.d.ts +150 -0
- package/lib/types/solana/generated/mpl-core/types/pluginAuthorityPair.d.ts +20 -0
- package/lib/types/solana/generated/mpl-core/types/pluginType.d.ts +33 -0
- package/lib/types/solana/generated/mpl-core/types/registryRecord.d.ts +22 -0
- package/lib/types/solana/generated/mpl-core/types/relationshipKind.d.ts +18 -0
- package/lib/types/solana/generated/mpl-core/types/removeAssetsFromGroupV1Args.d.ts +15 -0
- package/lib/types/solana/generated/mpl-core/types/removeCollectionsFromGroupV1Args.d.ts +15 -0
- package/lib/types/solana/generated/mpl-core/types/removeGroupsFromGroupV1Args.d.ts +15 -0
- package/lib/types/solana/generated/mpl-core/types/royalties.d.ts +22 -0
- package/lib/types/solana/generated/mpl-core/types/ruleSet.d.ts +27 -0
- package/lib/types/solana/generated/mpl-core/types/seed.d.ts +36 -0
- package/lib/types/solana/generated/mpl-core/types/transferDelegate.d.ts +13 -0
- package/lib/types/solana/generated/mpl-core/types/updateAuthority.d.ts +27 -0
- package/lib/types/solana/generated/mpl-core/types/updateDelegate.d.ts +15 -0
- package/lib/types/solana/generated/mpl-core/types/updateGroupV1Args.d.ts +19 -0
- package/lib/types/solana/generated/mpl-core/types/updateType.d.ts +17 -0
- package/lib/types/solana/generated/mpl-core/types/validationResult.d.ts +18 -0
- package/lib/types/solana/generated/mpl-core/types/validationResultsOffset.d.ts +33 -0
- package/lib/types/solana/generated/mpl-core/types/verifiedCreators.d.ts +18 -0
- package/lib/types/solana/generated/mpl-core/types/verifiedCreatorsSignature.d.ts +16 -0
- package/lib/types/solana/index.d.ts +63 -0
- package/lib/types/solana/instruction.d.ts +24 -0
- package/lib/types/solana/io-readable.d.ts +224 -0
- package/lib/types/solana/io-writeable.d.ts +430 -0
- package/lib/types/solana/json-rpc.d.ts +32 -0
- package/lib/types/solana/metadata.d.ts +69 -0
- package/lib/types/solana/mpl-core.d.ts +76 -0
- package/lib/types/solana/pda.d.ts +95 -0
- package/lib/types/solana/send.d.ts +45 -0
- package/lib/types/solana/spawn-ant.d.ts +130 -0
- package/lib/types/solana/types.d.ts +67 -0
- package/lib/types/types/ant-registry.d.ts +39 -0
- package/lib/types/types/ant.d.ts +22 -4
- package/lib/types/types/io.d.ts +56 -1
- package/lib/types/version.d.ts +1 -1
- 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;
|