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