@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,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reader for the on-chain Metaplex Core asset (`AssetV1` + plugin chain).
|
|
3
|
+
*
|
|
4
|
+
* The codama-generated decoders in `generated/mpl-core` only cover the
|
|
5
|
+
* fixed-shape header section (`AssetV1`, `PluginHeaderV1`, etc.) — they
|
|
6
|
+
* don't know how to follow the variable-offset registry chain to a
|
|
7
|
+
* specific plugin payload. This module fills that gap with a small
|
|
8
|
+
* walker that:
|
|
9
|
+
*
|
|
10
|
+
* 1. decodes the `AssetV1` prefix (key + owner + update authority +
|
|
11
|
+
* name + uri + seq);
|
|
12
|
+
* 2. follows the `PluginHeaderV1.pluginRegistryOffset` to the
|
|
13
|
+
* `PluginRegistryV1`;
|
|
14
|
+
* 3. iterates registry records to find the requested plugin variant;
|
|
15
|
+
* 4. decodes the `Plugin` enum at the registry record's offset.
|
|
16
|
+
*
|
|
17
|
+
* The same walk lives on-chain in `programs/ario-arns/src/state/mod.rs`
|
|
18
|
+
* (`read_mpl_core_attribute`) and `programs/ario-core/src/mpl_core.rs`
|
|
19
|
+
* (`read_ant_program`). The three implementations are pinned against
|
|
20
|
+
* each other by the migration import's edge-case fixtures and unit
|
|
21
|
+
* tests at all three layers.
|
|
22
|
+
*
|
|
23
|
+
* Reading is best-effort: any parse failure returns `null` rather than
|
|
24
|
+
* throwing, so callers can fall back to canonical defaults
|
|
25
|
+
* (e.g. `ARIO_ANT_PROGRAM_ID`) when an asset was minted without the
|
|
26
|
+
* `ANT Program` attribute or has a layout the walker doesn't recognise.
|
|
27
|
+
*/
|
|
28
|
+
import { type Address, type FetchAccountConfig, type ReadonlyUint8Array, fetchEncodedAccount } from '@solana/kit';
|
|
29
|
+
/**
|
|
30
|
+
* On-chain trait keys. Marketplaces and DAS indexers query these by
|
|
31
|
+
* exact string match — keep in lock-step with:
|
|
32
|
+
* - `migration/import/src/phases/phase2-ants.ts`
|
|
33
|
+
* - `programs/ario-arns/src/mpl_core_cpi.rs::TRAIT_KEY_*`
|
|
34
|
+
* - `programs/ario-core/src/mpl_core.rs::TRAIT_KEY_ANT_PROGRAM`
|
|
35
|
+
*/
|
|
36
|
+
export declare const TRAIT_KEY_ARNS_NAME: "ArNS Name";
|
|
37
|
+
export declare const TRAIT_KEY_TYPE: "Type";
|
|
38
|
+
export declare const TRAIT_KEY_UNDERNAME_LIMIT: "Undername Limit";
|
|
39
|
+
export declare const TRAIT_KEY_ANT_PROGRAM: "ANT Program";
|
|
40
|
+
/**
|
|
41
|
+
* Read a single attribute value from a Metaplex Core asset's Attributes
|
|
42
|
+
* plugin. Returns `null` when the asset has no plugin section, has no
|
|
43
|
+
* Attributes plugin, the requested key is absent, or any layer of the
|
|
44
|
+
* walk fails to decode. This is a best-effort lookup — callers should
|
|
45
|
+
* use a canonical default rather than treating absence as an error.
|
|
46
|
+
*
|
|
47
|
+
* `data` is the raw account data (post-discriminator? no — MPL Core
|
|
48
|
+
* doesn't use the 8-byte Anchor discriminator, the asset is the
|
|
49
|
+
* account's full data starting from the `Key` enum byte).
|
|
50
|
+
*/
|
|
51
|
+
export declare function readAttribute(data: Uint8Array | ReadonlyUint8Array, key: string): string | null;
|
|
52
|
+
/**
|
|
53
|
+
* Convenience wrapper: fetch the asset account and parse its
|
|
54
|
+
* `ANT Program` attribute. Returns `null` when the account doesn't
|
|
55
|
+
* exist, has no `ANT Program` trait, or the value can't be parsed —
|
|
56
|
+
* callers should fall back to the canonical `ARIO_ANT_PROGRAM_ID`.
|
|
57
|
+
*
|
|
58
|
+
* Importing this here (rather than wiring it directly into the resolver
|
|
59
|
+
* paths) lets `ant-readable.ts` keep its constructor synchronous and
|
|
60
|
+
* have a separate async `fromAsset(rpc, mint)` factory that does the
|
|
61
|
+
* lookup once and caches the result.
|
|
62
|
+
*/
|
|
63
|
+
export declare function fetchAntProgramFromAsset(rpc: Parameters<typeof fetchEncodedAccount>[0], mint: Address, config?: FetchAccountConfig): Promise<Address | null>;
|
|
64
|
+
/**
|
|
65
|
+
* Fetch the current owner of an MPL Core asset. Returns `null` when the
|
|
66
|
+
* account doesn't exist or the AssetV1 layout can't be decoded.
|
|
67
|
+
*
|
|
68
|
+
* Used by `SolanaARIOWriteable` to decide whether to bundle
|
|
69
|
+
* `ant.sync_attributes` into a buy / manage tx. The Attributes plugin's
|
|
70
|
+
* `BasePluginAuthority` is `Owner`, so only the current asset holder
|
|
71
|
+
* can sign the inner CPI; if the caller isn't the holder, bundling
|
|
72
|
+
* would abort the whole tx (BD-095 — non-holder ArNS lease management
|
|
73
|
+
* must continue to succeed; the actual ANT owner can call the public
|
|
74
|
+
* `syncAttributes` later to converge state).
|
|
75
|
+
*/
|
|
76
|
+
export declare function fetchMplCoreOwner(rpc: Parameters<typeof fetchEncodedAccount>[0], mint: Address, config?: FetchAccountConfig): Promise<Address | null>;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PDA derivation helpers for AR.IO Solana programs.
|
|
3
|
+
*
|
|
4
|
+
* Each function derives the on-chain address for a given account type,
|
|
5
|
+
* mirroring the seeds defined in the Anchor programs.
|
|
6
|
+
*
|
|
7
|
+
* All helpers are async — kit's `getProgramDerivedAddress` is async because
|
|
8
|
+
* it may perform bump-seed search off the main thread in some environments.
|
|
9
|
+
*/
|
|
10
|
+
import { type Address } from '@solana/kit';
|
|
11
|
+
/** Return shape for every PDA helper: `[pdaAddress, bumpSeed]`. */
|
|
12
|
+
export type Pda = readonly [Address, number];
|
|
13
|
+
/**
|
|
14
|
+
* Hash a variable-length name for use as PDA seed.
|
|
15
|
+
* Matches Rust: hash(name.to_lowercase().as_bytes())
|
|
16
|
+
*/
|
|
17
|
+
export declare function hashName(name: string): Buffer;
|
|
18
|
+
export declare function getArioConfigPDA(programId?: Address): Promise<Pda>;
|
|
19
|
+
export declare function getBalancePDA(owner: Address, programId?: Address): Promise<Pda>;
|
|
20
|
+
export declare function getVaultPDA(owner: Address, vaultId: bigint | number, programId?: Address): Promise<Pda>;
|
|
21
|
+
export declare function getVaultCounterPDA(owner: Address, programId?: Address): Promise<Pda>;
|
|
22
|
+
export declare function getPrimaryNamePDA(owner: Address, programId?: Address): Promise<Pda>;
|
|
23
|
+
export declare function getPrimaryNameRequestPDA(initiator: Address, programId?: Address): Promise<Pda>;
|
|
24
|
+
export declare function getPrimaryNameReversePDA(name: string, programId?: Address): Promise<Pda>;
|
|
25
|
+
export declare function getGatewayRegistryPDA(programId?: Address): Promise<Pda>;
|
|
26
|
+
export declare function getGarSettingsPDA(programId?: Address): Promise<Pda>;
|
|
27
|
+
export declare function getGatewayPDA(operator: Address, programId?: Address): Promise<Pda>;
|
|
28
|
+
export declare function getDelegationPDA(gateway: Address, delegator: Address, programId?: Address): Promise<Pda>;
|
|
29
|
+
export declare function getWithdrawalPDA(owner: Address, withdrawalId: bigint | number, programId?: Address): Promise<Pda>;
|
|
30
|
+
export declare function getWithdrawalCounterPDA(owner: Address, programId?: Address): Promise<Pda>;
|
|
31
|
+
export declare function getAllowlistPDA(gateway: Address, delegate: Address, programId?: Address): Promise<Pda>;
|
|
32
|
+
export declare function getEpochPDA(epochIndex: number, programId?: Address): Promise<Pda>;
|
|
33
|
+
export declare function getEpochSettingsPDA(programId?: Address): Promise<Pda>;
|
|
34
|
+
export declare function getRedelegationRecordPDA(delegator: Address, programId?: Address): Promise<Pda>;
|
|
35
|
+
export declare function getObservationPDA(epochIndex: number, observer: Address, programId?: Address): Promise<Pda>;
|
|
36
|
+
export declare function getObserverLookupPDA(observerAddress: Address, programId?: Address): Promise<Pda>;
|
|
37
|
+
export declare function getArnsRegistryPDA(programId?: Address): Promise<Pda>;
|
|
38
|
+
export declare function getArnsSettingsPDA(programId?: Address): Promise<Pda>;
|
|
39
|
+
export declare function getArnsRecordPDA(name: string, programId?: Address): Promise<Pda>;
|
|
40
|
+
/**
|
|
41
|
+
* Derive ArNS record PDA from a raw 32-byte name hash.
|
|
42
|
+
* Used when resolving prescribed name hashes from Epoch data.
|
|
43
|
+
*/
|
|
44
|
+
export declare function getArnsRecordPDAFromHash(nameHash: Buffer, programId?: Address): Promise<Pda>;
|
|
45
|
+
export declare function getReservedNamePDA(name: string, programId?: Address): Promise<Pda>;
|
|
46
|
+
export declare function getReturnedNamePDA(name: string, programId?: Address): Promise<Pda>;
|
|
47
|
+
export declare function getDemandFactorPDA(programId?: Address): Promise<Pda>;
|
|
48
|
+
export declare function getAntConfigPDA(mint: Address, programId?: Address): Promise<Pda>;
|
|
49
|
+
export declare function getAntControllersPDA(mint: Address, programId?: Address): Promise<Pda>;
|
|
50
|
+
export declare function getAntRecordPDA(mint: Address, undername: string, programId?: Address): Promise<Pda>;
|
|
51
|
+
export declare function getAntRecordMetadataPDA(mint: Address, undername: string, programId?: Address): Promise<Pda>;
|
|
52
|
+
/**
|
|
53
|
+
* Derive the `AclConfig` head PDA for a given wallet address.
|
|
54
|
+
*
|
|
55
|
+
* Seeds: `["acl_config", user]` under the ario-ant program.
|
|
56
|
+
*
|
|
57
|
+
* See ADR-012 (docs/DECISIONS.md): `AclConfig` is the head record for a
|
|
58
|
+
* user's paginated ACL. It tracks `page_count` (how many `AclPage` PDAs
|
|
59
|
+
* exist) and `total_entries` (sum across pages). Frontends point-read
|
|
60
|
+
* this once, then fan out to each `AclPage` via `getMultipleAccountsInfo`.
|
|
61
|
+
*/
|
|
62
|
+
export declare function getAclConfigPDA(user: Address, programId?: Address): Promise<Pda>;
|
|
63
|
+
/**
|
|
64
|
+
* Derive an `AclPage` PDA for a given user + page index.
|
|
65
|
+
*
|
|
66
|
+
* Seeds: `["acl_page", user, page_idx_le]` where `page_idx_le` is the
|
|
67
|
+
* 8-byte little-endian encoding of `u64` (matches the contract).
|
|
68
|
+
*
|
|
69
|
+
* Each page address is content-derivable from `(user, page_idx)`, so any
|
|
70
|
+
* single page can be loaded in O(1) without scanning sibling pages.
|
|
71
|
+
*/
|
|
72
|
+
export declare function getAclPagePDA(user: Address, pageIdx: bigint | number, programId?: Address): Promise<Pda>;
|
|
73
|
+
/**
|
|
74
|
+
* Derive the EscrowAnt PDA for a given ANT mint. Exactly one escrow per
|
|
75
|
+
* ANT — re-deriving the address tells you whether an escrow already
|
|
76
|
+
* exists (look up the account and check `data.length`).
|
|
77
|
+
*
|
|
78
|
+
* Seeds: ["escrow_ant", ant_mint]
|
|
79
|
+
* Source: contracts/programs/ario-ant-escrow/src/state.rs::ESCROW_ANT_SEED
|
|
80
|
+
*/
|
|
81
|
+
export declare function getEscrowAntPDA(antMint: Address, programId?: Address): Promise<Pda>;
|
|
82
|
+
/**
|
|
83
|
+
* Derive the EscrowToken PDA for a given depositor and asset ID.
|
|
84
|
+
*
|
|
85
|
+
* Seeds: ["escrow_token", depositor, asset_id]
|
|
86
|
+
* Source: contracts/programs/ario-ant-escrow/src/state.rs::ESCROW_TOKEN_SEED
|
|
87
|
+
*/
|
|
88
|
+
export declare function getEscrowTokenPDA(depositor: Address, assetId: Uint8Array, programId?: Address): Promise<Pda>;
|
|
89
|
+
/**
|
|
90
|
+
* Derive the EscrowVault PDA for a given depositor and asset ID.
|
|
91
|
+
*
|
|
92
|
+
* Seeds: ["escrow_vault", depositor, asset_id]
|
|
93
|
+
* Source: contracts/programs/ario-ant-escrow/src/state.rs::ESCROW_VAULT_SEED
|
|
94
|
+
*/
|
|
95
|
+
export declare function getEscrowVaultPDA(depositor: Address, assetId: Uint8Array, programId?: Address): Promise<Pda>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type Commitment, type Instruction, type TransactionSigner } from '@solana/kit';
|
|
2
|
+
import type { SolanaRpc, SolanaRpcSubscriptions } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Build, sign, send, and confirm a transaction in one call.
|
|
5
|
+
*
|
|
6
|
+
* The caller supplies the core instructions; a compute-unit-limit instruction
|
|
7
|
+
* is prepended automatically.
|
|
8
|
+
*/
|
|
9
|
+
export declare function sendAndConfirm({ rpc, rpcSubscriptions, signer, instructions, commitment, computeUnitLimit, }: {
|
|
10
|
+
rpc: SolanaRpc;
|
|
11
|
+
rpcSubscriptions: SolanaRpcSubscriptions;
|
|
12
|
+
signer: TransactionSigner;
|
|
13
|
+
instructions: Instruction[];
|
|
14
|
+
commitment?: Commitment;
|
|
15
|
+
computeUnitLimit?: number;
|
|
16
|
+
}): Promise<string>;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Solana implementation of `ANT.spawn`.
|
|
3
|
+
*
|
|
4
|
+
* Mints a fresh Metaplex Core asset (the ANT NFT) AND initializes the
|
|
5
|
+
* `ario-ant` extended state PDAs (`AntConfig`, `AntControllers`, root `@`
|
|
6
|
+
* record) in a single atomic transaction.
|
|
7
|
+
*
|
|
8
|
+
* This is the Solana counterpart to the legacy AO `spawnANT` flow:
|
|
9
|
+
* - AO: `ao.spawn({ module, scheduler, ... })` → returns AO process id.
|
|
10
|
+
* - Solana: mint MPL Core asset + initialize ario-ant PDAs → returns the
|
|
11
|
+
* asset's pubkey (which serves as the SDK's stable `processId`).
|
|
12
|
+
*
|
|
13
|
+
* For the bulk-import flow used by `migration/import` we use a separate
|
|
14
|
+
* code path that mints to the migration authority and uses the gated
|
|
15
|
+
* `import_account` instruction — that's intentional and not what this SDK
|
|
16
|
+
* helper is for.
|
|
17
|
+
*/
|
|
18
|
+
import { type Address, type Commitment, type Instruction, type KeyPairSigner } from '@solana/kit';
|
|
19
|
+
import type { SolanaRpc, SolanaRpcSubscriptions, SolanaSigner } from './types.js';
|
|
20
|
+
/** AR.IO logo Arweave TX — matches the Rust default in `ario_ant::initialize`. */
|
|
21
|
+
export declare const ARIO_LOGO_TX_ID = "AnYvLJTWcG9lr2Ll5MwYWZR2o5uTE39WbpYB0zCxwKM";
|
|
22
|
+
/**
|
|
23
|
+
* Default Arweave transaction id used when an ANT is spawned without an
|
|
24
|
+
* explicit `transactionId`. Empty string would fail the on-chain
|
|
25
|
+
* `is_valid_arweave_id` check, so we fall back to the AR.IO logo TX (which is
|
|
26
|
+
* a real Arweave id and won't trip validation).
|
|
27
|
+
*/
|
|
28
|
+
export declare const DEFAULT_ANT_TRANSACTION_ID = "AnYvLJTWcG9lr2Ll5MwYWZR2o5uTE39WbpYB0zCxwKM";
|
|
29
|
+
export type SpawnSolanaANTState = {
|
|
30
|
+
/** ANT display name (1–51 chars). */
|
|
31
|
+
name: string;
|
|
32
|
+
/** Optional ticker (defaults to "ANT" on chain). */
|
|
33
|
+
ticker?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Content target for the root `@` record (Arweave TX ID, IPFS CID, etc.).
|
|
36
|
+
* Defaults to the AR.IO logo TX — callers that want a real pointer should
|
|
37
|
+
* override this.
|
|
38
|
+
*/
|
|
39
|
+
transactionId?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Storage protocol for the root `@` record target.
|
|
42
|
+
* 0 = Arweave (default), 1 = IPFS.
|
|
43
|
+
*/
|
|
44
|
+
targetProtocol?: number;
|
|
45
|
+
/** Logo TX id (43 chars). Defaults to the AR.IO logo. */
|
|
46
|
+
logo?: string;
|
|
47
|
+
/** Description (≤ 512 chars). */
|
|
48
|
+
description?: string;
|
|
49
|
+
/** Keywords (≤ 16 entries). */
|
|
50
|
+
keywords?: string[];
|
|
51
|
+
/**
|
|
52
|
+
* Metadata URI baked into the MPL Core asset (`uri` field). Defaults to
|
|
53
|
+
* `ar://{logo}` — wallets resolve `ar://{txId}` to `https://arweave.net/{txId}`.
|
|
54
|
+
*/
|
|
55
|
+
uri?: string;
|
|
56
|
+
};
|
|
57
|
+
export type SpawnSolanaANTParams = {
|
|
58
|
+
/** RPC client used to fetch a recent blockhash + send the spawn transaction. */
|
|
59
|
+
rpc: SolanaRpc;
|
|
60
|
+
/** RPC subscriptions client — required to confirm the transaction. */
|
|
61
|
+
rpcSubscriptions: SolanaRpcSubscriptions;
|
|
62
|
+
/** Solana signer — pays rent + receives the NFT. */
|
|
63
|
+
signer: SolanaSigner;
|
|
64
|
+
/** ANT metadata for the new asset. `name` is the only required field. */
|
|
65
|
+
state: SpawnSolanaANTState;
|
|
66
|
+
/** Override the deployed `ario-ant` program id (devnet/localnet only). */
|
|
67
|
+
antProgramId?: Address;
|
|
68
|
+
/**
|
|
69
|
+
* Pre-derived mint signer. Useful for tests that want a deterministic
|
|
70
|
+
* asset address. When omitted a fresh random keypair signer is generated.
|
|
71
|
+
*/
|
|
72
|
+
mintSigner?: KeyPairSigner;
|
|
73
|
+
/** Confirmation commitment for the resulting tx. Defaults to 'confirmed'. */
|
|
74
|
+
commitment?: Commitment;
|
|
75
|
+
/** CU limit for the bundled tx. Defaults to 400_000 (matches existing writes). */
|
|
76
|
+
computeUnitLimit?: number;
|
|
77
|
+
};
|
|
78
|
+
export type SpawnSolanaANTResult = {
|
|
79
|
+
/**
|
|
80
|
+
* SDK-canonical ANT identifier on Solana — this is the MPL Core asset's
|
|
81
|
+
* pubkey (base58). Pass it back into `ANT.init({ backend: 'solana',
|
|
82
|
+
* processId, ... })` to drive subsequent reads/writes.
|
|
83
|
+
*/
|
|
84
|
+
processId: string;
|
|
85
|
+
/** Same value as `processId`, as an `Address` for convenience. */
|
|
86
|
+
mint: Address;
|
|
87
|
+
/** Confirmed transaction signature. */
|
|
88
|
+
signature: string;
|
|
89
|
+
};
|
|
90
|
+
/** A single on-chain `Attributes` plugin entry. */
|
|
91
|
+
export type AntAttribute = {
|
|
92
|
+
key: string;
|
|
93
|
+
value: string;
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Public, low-level builder for the `CreateV1` MPL Core instruction with the
|
|
97
|
+
* AR.IO-standard ANT shape (Attributes plugin pre-installed, Owner authority).
|
|
98
|
+
*
|
|
99
|
+
* Delegates to the Codama-generated `getCreateV1Instruction`, but accepts
|
|
100
|
+
* plain `Address`es (rather than full `TransactionSigner`s) so test fixtures
|
|
101
|
+
* and devnet validation scripts can byte-pin the wire format without
|
|
102
|
+
* standing up real keypairs. The signer roles still flow through correctly
|
|
103
|
+
* because we re-cast under `unknown`.
|
|
104
|
+
*
|
|
105
|
+
* Most callers should use `ANT.spawn` / `spawnSolanaANT` instead — that path
|
|
106
|
+
* also wires up `ario_ant::initialize` so the ANT is fully usable end to end.
|
|
107
|
+
* Use this raw builder when you need fine-grained control over signing, or
|
|
108
|
+
* are bundling the mint into a larger compound transaction.
|
|
109
|
+
*
|
|
110
|
+
* **Why we always emit an Attributes plugin (even with an empty list):**
|
|
111
|
+
* `ario_arns::buy_record` and friends CPI into `UpdatePluginV1` to populate
|
|
112
|
+
* traits at purchase time. If the asset has no Attributes plugin, that CPI
|
|
113
|
+
* fails. Emitting an empty plugin here keeps every spawned ANT
|
|
114
|
+
* `purchase`-ready and matches what `migration/import` mints — see ADR-012
|
|
115
|
+
* and BD-096. Authority is `Owner` so the ANT NFT holder (= asset owner)
|
|
116
|
+
* can sign their own trait updates.
|
|
117
|
+
*/
|
|
118
|
+
export declare function buildCreateAntInstruction({ mint, authority, payer, name, uri, attributes, }: {
|
|
119
|
+
mint: Address;
|
|
120
|
+
authority: Address;
|
|
121
|
+
payer: Address;
|
|
122
|
+
name: string;
|
|
123
|
+
uri: string;
|
|
124
|
+
attributes?: AntAttribute[];
|
|
125
|
+
}): Instruction;
|
|
126
|
+
/**
|
|
127
|
+
* Spawn a brand-new ANT on Solana. Returns the asset address, which is the
|
|
128
|
+
* SDK's stable `processId` for that ANT.
|
|
129
|
+
*/
|
|
130
|
+
export declare function spawnSolanaANT(params: SpawnSolanaANTParams): Promise<SpawnSolanaANTResult>;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Solana-specific types for the AR.IO SDK.
|
|
3
|
+
*
|
|
4
|
+
* These extend the common SDK types with Solana connection and signer config.
|
|
5
|
+
*/
|
|
6
|
+
import { type Address, type Commitment, type Rpc, type RpcSubscriptions, type SolanaRpcApi, type SolanaRpcApiMainnet, type SolanaRpcSubscriptionsApi, type TransactionSigner } from '@solana/kit';
|
|
7
|
+
/**
|
|
8
|
+
* The Solana RPC client produced by `createSolanaRpc(url)`.
|
|
9
|
+
*
|
|
10
|
+
* We accept both the mainnet-safe API (no `requestAirdrop`) and the test-cluster
|
|
11
|
+
* API (with `requestAirdrop`). kit's `createSolanaRpc` narrows the return type
|
|
12
|
+
* based on the URL string; this union lets callers pass either shape.
|
|
13
|
+
*/
|
|
14
|
+
export type SolanaRpc = Rpc<SolanaRpcApi> | Rpc<SolanaRpcApiMainnet>;
|
|
15
|
+
/**
|
|
16
|
+
* The subscriptions client produced by `createSolanaRpcSubscriptions(wsUrl)`.
|
|
17
|
+
* Required alongside `SolanaRpc` to confirm transactions (via
|
|
18
|
+
* `sendAndConfirmTransactionFactory`).
|
|
19
|
+
*/
|
|
20
|
+
export type SolanaRpcSubscriptions = RpcSubscriptions<SolanaRpcSubscriptionsApi>;
|
|
21
|
+
/**
|
|
22
|
+
* A transaction signer in the kit model. Covers keypair-based signers
|
|
23
|
+
* (`KeyPairSigner`) and any wallet-adapter-compatible signer that implements
|
|
24
|
+
* the {@link TransactionSigner} interface (partial, modifying, or sending).
|
|
25
|
+
*/
|
|
26
|
+
export type SolanaSigner = TransactionSigner;
|
|
27
|
+
/** Configuration for Solana SDK instances */
|
|
28
|
+
export type SolanaConfig = {
|
|
29
|
+
rpc: SolanaRpc;
|
|
30
|
+
/**
|
|
31
|
+
* Subscriptions client. Required for writeable instances (confirmation).
|
|
32
|
+
* Optional for readable instances.
|
|
33
|
+
*/
|
|
34
|
+
rpcSubscriptions?: SolanaRpcSubscriptions;
|
|
35
|
+
commitment?: Commitment;
|
|
36
|
+
};
|
|
37
|
+
export type SolanaReadConfig = SolanaConfig;
|
|
38
|
+
export type SolanaWriteConfig = SolanaConfig & {
|
|
39
|
+
rpcSubscriptions: SolanaRpcSubscriptions;
|
|
40
|
+
signer: SolanaSigner;
|
|
41
|
+
};
|
|
42
|
+
/** Result of a Solana write operation */
|
|
43
|
+
export type SolanaTransactionResult<T = undefined> = {
|
|
44
|
+
/** Transaction signature (base58) */
|
|
45
|
+
id: string;
|
|
46
|
+
result?: T;
|
|
47
|
+
};
|
|
48
|
+
/** Raw account data with metadata */
|
|
49
|
+
export type AccountData<T> = {
|
|
50
|
+
address: Address;
|
|
51
|
+
data: T;
|
|
52
|
+
};
|
|
53
|
+
/** Discriminator for Anchor accounts: sha256("account:StructName")[0..8] */
|
|
54
|
+
export type AccountDiscriminator = Uint8Array;
|
|
55
|
+
/**
|
|
56
|
+
* On Solana, "processId" (AO concept) maps to the ANT's Metaplex Core
|
|
57
|
+
* asset address. We keep the field name for SDK compatibility.
|
|
58
|
+
*/
|
|
59
|
+
export type SolanaArNSNameData = {
|
|
60
|
+
processId: string;
|
|
61
|
+
owner: string;
|
|
62
|
+
startTimestamp: number;
|
|
63
|
+
type: 'lease' | 'permabuy';
|
|
64
|
+
endTimestamp?: number;
|
|
65
|
+
undernameLimit: number;
|
|
66
|
+
purchasePrice: number;
|
|
67
|
+
};
|
|
@@ -21,7 +21,46 @@ export interface AoANTRegistryRead {
|
|
|
21
21
|
Owned: string[];
|
|
22
22
|
Controlled: string[];
|
|
23
23
|
}>;
|
|
24
|
+
/**
|
|
25
|
+
* Alias for `accessControlList` with a clearer name. Returns the ANTs
|
|
26
|
+
* owned or controlled by the given address. Implemented by both the AO
|
|
27
|
+
* and Solana backends so consumers can switch backends without renaming
|
|
28
|
+
* calls.
|
|
29
|
+
*/
|
|
30
|
+
getAntsForAddress?(params: {
|
|
31
|
+
address: string;
|
|
32
|
+
}): Promise<{
|
|
33
|
+
Owned: string[];
|
|
34
|
+
Controlled: string[];
|
|
35
|
+
}>;
|
|
24
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Cross-backend ACL relationship. Both AO and Solana model the same two
|
|
39
|
+
* roles today (owner / controller); the Solana paginated registry stores
|
|
40
|
+
* them as a `u8` byte (`ACL_ROLE_*` constants) but the public surface uses
|
|
41
|
+
* strings so consumers don't have to know the on-chain encoding.
|
|
42
|
+
*/
|
|
43
|
+
export type AclMaintenanceRole = 'owner' | 'controller';
|
|
44
|
+
/**
|
|
45
|
+
* Mutation we want the on-chain ACL to reflect once the transaction lands.
|
|
46
|
+
* `user` and `asset` are wallet/process addresses (base58 on Solana, AO
|
|
47
|
+
* address on AO).
|
|
48
|
+
*
|
|
49
|
+
* On the Solana backend this is the input to the registry's internal
|
|
50
|
+
* preflight planner, surfaced via the workflow helpers
|
|
51
|
+
* (`bootstrapOwnerOnSpawn`, `bulkRemoveControllerEntries`) — they
|
|
52
|
+
* translate it into the minimum `register_acl_config` / `add_acl_page`
|
|
53
|
+
* / `record_acl_*` / `remove_acl_*` instruction set against the
|
|
54
|
+
* paginated `AclConfig` + `AclPage` layout (see ADR-012). On AO, the
|
|
55
|
+
* registry process owns its own ACL bookkeeping, so the equivalent is
|
|
56
|
+
* a no-op.
|
|
57
|
+
*/
|
|
58
|
+
export type AclMaintenanceOp = {
|
|
59
|
+
action: 'record' | 'remove';
|
|
60
|
+
role: AclMaintenanceRole;
|
|
61
|
+
user: string;
|
|
62
|
+
asset: string;
|
|
63
|
+
};
|
|
25
64
|
export interface AoANTRegistryWrite extends AoANTRegistryRead {
|
|
26
65
|
register(params: {
|
|
27
66
|
processId: string;
|
package/lib/types/types/ant.d.ts
CHANGED
|
@@ -33,8 +33,9 @@ export declare const IntegerStringSchema: z.ZodEffects<z.ZodString, string, stri
|
|
|
33
33
|
export declare const AntDescriptionSchema: z.ZodString;
|
|
34
34
|
export declare const AntKeywordsSchema: z.ZodArray<z.ZodString, "many">;
|
|
35
35
|
export declare const AntRecordSchema: z.ZodObject<{
|
|
36
|
-
transactionId: z.
|
|
36
|
+
transactionId: z.ZodString;
|
|
37
37
|
ttlSeconds: z.ZodNumber;
|
|
38
|
+
targetProtocol: z.ZodDefault<z.ZodNumber>;
|
|
38
39
|
priority: z.ZodOptional<z.ZodNumber>;
|
|
39
40
|
owner: z.ZodOptional<z.ZodString>;
|
|
40
41
|
displayName: z.ZodOptional<z.ZodString>;
|
|
@@ -44,6 +45,7 @@ export declare const AntRecordSchema: z.ZodObject<{
|
|
|
44
45
|
}, "strip", z.ZodTypeAny, {
|
|
45
46
|
transactionId: string;
|
|
46
47
|
ttlSeconds: number;
|
|
48
|
+
targetProtocol: number;
|
|
47
49
|
description?: string | undefined;
|
|
48
50
|
priority?: number | undefined;
|
|
49
51
|
owner?: string | undefined;
|
|
@@ -54,6 +56,7 @@ export declare const AntRecordSchema: z.ZodObject<{
|
|
|
54
56
|
transactionId: string;
|
|
55
57
|
ttlSeconds: number;
|
|
56
58
|
description?: string | undefined;
|
|
59
|
+
targetProtocol?: number | undefined;
|
|
57
60
|
priority?: number | undefined;
|
|
58
61
|
owner?: string | undefined;
|
|
59
62
|
displayName?: string | undefined;
|
|
@@ -67,8 +70,9 @@ export type SortedANTRecord = AoANTRecord & {
|
|
|
67
70
|
};
|
|
68
71
|
export type SortedANTRecords = Record<string, SortedANTRecord>;
|
|
69
72
|
export declare const AntRecordsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
70
|
-
transactionId: z.
|
|
73
|
+
transactionId: z.ZodString;
|
|
71
74
|
ttlSeconds: z.ZodNumber;
|
|
75
|
+
targetProtocol: z.ZodDefault<z.ZodNumber>;
|
|
72
76
|
priority: z.ZodOptional<z.ZodNumber>;
|
|
73
77
|
owner: z.ZodOptional<z.ZodString>;
|
|
74
78
|
displayName: z.ZodOptional<z.ZodString>;
|
|
@@ -78,6 +82,7 @@ export declare const AntRecordsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
|
78
82
|
}, "strip", z.ZodTypeAny, {
|
|
79
83
|
transactionId: string;
|
|
80
84
|
ttlSeconds: number;
|
|
85
|
+
targetProtocol: number;
|
|
81
86
|
description?: string | undefined;
|
|
82
87
|
priority?: number | undefined;
|
|
83
88
|
owner?: string | undefined;
|
|
@@ -88,6 +93,7 @@ export declare const AntRecordsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
|
88
93
|
transactionId: string;
|
|
89
94
|
ttlSeconds: number;
|
|
90
95
|
description?: string | undefined;
|
|
96
|
+
targetProtocol?: number | undefined;
|
|
91
97
|
priority?: number | undefined;
|
|
92
98
|
owner?: string | undefined;
|
|
93
99
|
displayName?: string | undefined;
|
|
@@ -105,8 +111,9 @@ export declare const AntStateSchema: z.ZodObject<{
|
|
|
105
111
|
Owner: z.ZodString;
|
|
106
112
|
Controllers: z.ZodArray<z.ZodString, "many">;
|
|
107
113
|
Records: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
108
|
-
transactionId: z.
|
|
114
|
+
transactionId: z.ZodString;
|
|
109
115
|
ttlSeconds: z.ZodNumber;
|
|
116
|
+
targetProtocol: z.ZodDefault<z.ZodNumber>;
|
|
110
117
|
priority: z.ZodOptional<z.ZodNumber>;
|
|
111
118
|
owner: z.ZodOptional<z.ZodString>;
|
|
112
119
|
displayName: z.ZodOptional<z.ZodString>;
|
|
@@ -116,6 +123,7 @@ export declare const AntStateSchema: z.ZodObject<{
|
|
|
116
123
|
}, "strip", z.ZodTypeAny, {
|
|
117
124
|
transactionId: string;
|
|
118
125
|
ttlSeconds: number;
|
|
126
|
+
targetProtocol: number;
|
|
119
127
|
description?: string | undefined;
|
|
120
128
|
priority?: number | undefined;
|
|
121
129
|
owner?: string | undefined;
|
|
@@ -126,6 +134,7 @@ export declare const AntStateSchema: z.ZodObject<{
|
|
|
126
134
|
transactionId: string;
|
|
127
135
|
ttlSeconds: number;
|
|
128
136
|
description?: string | undefined;
|
|
137
|
+
targetProtocol?: number | undefined;
|
|
129
138
|
priority?: number | undefined;
|
|
130
139
|
owner?: string | undefined;
|
|
131
140
|
displayName?: string | undefined;
|
|
@@ -147,6 +156,7 @@ export declare const AntStateSchema: z.ZodObject<{
|
|
|
147
156
|
Records: Record<string, {
|
|
148
157
|
transactionId: string;
|
|
149
158
|
ttlSeconds: number;
|
|
159
|
+
targetProtocol: number;
|
|
150
160
|
description?: string | undefined;
|
|
151
161
|
priority?: number | undefined;
|
|
152
162
|
owner?: string | undefined;
|
|
@@ -170,6 +180,7 @@ export declare const AntStateSchema: z.ZodObject<{
|
|
|
170
180
|
transactionId: string;
|
|
171
181
|
ttlSeconds: number;
|
|
172
182
|
description?: string | undefined;
|
|
183
|
+
targetProtocol?: number | undefined;
|
|
173
184
|
priority?: number | undefined;
|
|
174
185
|
owner?: string | undefined;
|
|
175
186
|
displayName?: string | undefined;
|
|
@@ -207,8 +218,9 @@ export declare const SpawnANTStateSchema: z.ZodObject<{
|
|
|
207
218
|
owner: z.ZodString;
|
|
208
219
|
controllers: z.ZodArray<z.ZodString, "many">;
|
|
209
220
|
records: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
210
|
-
transactionId: z.
|
|
221
|
+
transactionId: z.ZodString;
|
|
211
222
|
ttlSeconds: z.ZodNumber;
|
|
223
|
+
targetProtocol: z.ZodDefault<z.ZodNumber>;
|
|
212
224
|
priority: z.ZodOptional<z.ZodNumber>;
|
|
213
225
|
owner: z.ZodOptional<z.ZodString>;
|
|
214
226
|
displayName: z.ZodOptional<z.ZodString>;
|
|
@@ -218,6 +230,7 @@ export declare const SpawnANTStateSchema: z.ZodObject<{
|
|
|
218
230
|
}, "strip", z.ZodTypeAny, {
|
|
219
231
|
transactionId: string;
|
|
220
232
|
ttlSeconds: number;
|
|
233
|
+
targetProtocol: number;
|
|
221
234
|
description?: string | undefined;
|
|
222
235
|
priority?: number | undefined;
|
|
223
236
|
owner?: string | undefined;
|
|
@@ -228,6 +241,7 @@ export declare const SpawnANTStateSchema: z.ZodObject<{
|
|
|
228
241
|
transactionId: string;
|
|
229
242
|
ttlSeconds: number;
|
|
230
243
|
description?: string | undefined;
|
|
244
|
+
targetProtocol?: number | undefined;
|
|
231
245
|
priority?: number | undefined;
|
|
232
246
|
owner?: string | undefined;
|
|
233
247
|
displayName?: string | undefined;
|
|
@@ -247,6 +261,7 @@ export declare const SpawnANTStateSchema: z.ZodObject<{
|
|
|
247
261
|
records: Record<string, {
|
|
248
262
|
transactionId: string;
|
|
249
263
|
ttlSeconds: number;
|
|
264
|
+
targetProtocol: number;
|
|
250
265
|
description?: string | undefined;
|
|
251
266
|
priority?: number | undefined;
|
|
252
267
|
owner?: string | undefined;
|
|
@@ -267,6 +282,7 @@ export declare const SpawnANTStateSchema: z.ZodObject<{
|
|
|
267
282
|
transactionId: string;
|
|
268
283
|
ttlSeconds: number;
|
|
269
284
|
description?: string | undefined;
|
|
285
|
+
targetProtocol?: number | undefined;
|
|
270
286
|
priority?: number | undefined;
|
|
271
287
|
owner?: string | undefined;
|
|
272
288
|
displayName?: string | undefined;
|
|
@@ -442,6 +458,8 @@ export interface AoANTWrite extends AoANTRead {
|
|
|
442
458
|
export type AoANTSetBaseNameRecordParams = {
|
|
443
459
|
transactionId: string;
|
|
444
460
|
ttlSeconds: number;
|
|
461
|
+
/** Storage protocol: 0 = Arweave, 1 = IPFS. Defaults to 0 (Arweave). */
|
|
462
|
+
targetProtocol?: number;
|
|
445
463
|
priority?: number;
|
|
446
464
|
owner?: string;
|
|
447
465
|
displayName?: string;
|
package/lib/types/types/io.d.ts
CHANGED
|
@@ -312,9 +312,40 @@ export type AoTokenCostParams = {
|
|
|
312
312
|
quantity?: number;
|
|
313
313
|
fromAddress?: WalletAddress;
|
|
314
314
|
};
|
|
315
|
-
export declare const fundFromOptions: readonly ["balance", "stakes", "any", "turbo"];
|
|
315
|
+
export declare const fundFromOptions: readonly ["balance", "stakes", "withdrawal", "plan", "any", "turbo"];
|
|
316
316
|
export type FundFrom = (typeof fundFromOptions)[number];
|
|
317
317
|
export declare const isValidFundFrom: (fundFrom: string) => fundFrom is FundFrom;
|
|
318
|
+
/**
|
|
319
|
+
* One entry in a multi-source funding plan. Mirrors the on-chain
|
|
320
|
+
* `ario_gar::FundingSourceSpec` shape (kind + amount); `gateway` is an
|
|
321
|
+
* SDK-side hint for explicit (non-discovered) plans so the executor knows
|
|
322
|
+
* which gateway PDA to slot in for `Delegation` / `OperatorStake` sources.
|
|
323
|
+
*
|
|
324
|
+
* Multi-gateway: `Delegation` sources may span up to MAX_DELEGATION_SOURCES
|
|
325
|
+
* (3) distinct gateways per plan. `Balance` and `Withdrawal` sources are
|
|
326
|
+
* gateway-independent. Hard cap of MAX_FUNDING_SOURCES (5) total sources
|
|
327
|
+
* per `pay_from_funding_plan` call.
|
|
328
|
+
*/
|
|
329
|
+
export type FundingSourceKind = 'balance' | 'delegation' | 'operatorStake' | 'withdrawal';
|
|
330
|
+
export type FundingSourceSpec = {
|
|
331
|
+
kind: FundingSourceKind;
|
|
332
|
+
/** mARIO amount drawn from this source. Must be > 0. */
|
|
333
|
+
amount: bigint;
|
|
334
|
+
/**
|
|
335
|
+
* Bound gateway (base58). Required for `delegation` / `operatorStake` in
|
|
336
|
+
* multi-gateway explicit plans; ignored for `balance` / `withdrawal`. When
|
|
337
|
+
* omitted on stake-locked sources, the executor falls back to
|
|
338
|
+
* `params.gatewayAddress`.
|
|
339
|
+
*/
|
|
340
|
+
gateway?: WalletAddress;
|
|
341
|
+
/**
|
|
342
|
+
* Withdrawal vault id — required for `kind: 'withdrawal'` in multi-
|
|
343
|
+
* withdrawal plans. Single-withdrawal plans may omit it and rely on
|
|
344
|
+
* `params.withdrawalId`. Ignored for non-withdrawal kinds. Client-side
|
|
345
|
+
* metadata only — does NOT change the on-chain wire format.
|
|
346
|
+
*/
|
|
347
|
+
withdrawalId?: bigint;
|
|
348
|
+
};
|
|
318
349
|
export type AoGetCostDetailsParams = AoTokenCostParams & {
|
|
319
350
|
fundFrom?: FundFrom;
|
|
320
351
|
};
|
|
@@ -348,6 +379,19 @@ export type AoGetVaultParams = {
|
|
|
348
379
|
};
|
|
349
380
|
export type AoArNSPurchaseParams = AoArNSNameParams & {
|
|
350
381
|
fundFrom?: FundFrom;
|
|
382
|
+
/** Gateway operator address — required when fundFrom is 'stakes' */
|
|
383
|
+
gatewayAddress?: WalletAddress;
|
|
384
|
+
/** If true, fund from operator stake instead of delegation (default: delegation) */
|
|
385
|
+
fundAsOperator?: boolean;
|
|
386
|
+
/** Withdrawal vault id — required when fundFrom is 'withdrawal' (Solana only) */
|
|
387
|
+
withdrawalId?: bigint;
|
|
388
|
+
/**
|
|
389
|
+
* Explicit funding plan — when provided AND fundFrom is 'plan' or 'any',
|
|
390
|
+
* the SDK skips source discovery and uses these sources verbatim. Caller
|
|
391
|
+
* is responsible for matching `sum(amounts) == cost` and respecting the
|
|
392
|
+
* single-gateway invariant. Solana only.
|
|
393
|
+
*/
|
|
394
|
+
sources?: FundingSourceSpec[];
|
|
351
395
|
paidBy?: WalletAddress | WalletAddress[];
|
|
352
396
|
referrer?: string;
|
|
353
397
|
};
|
|
@@ -559,6 +603,17 @@ export interface AoARIOWrite extends AoARIORead {
|
|
|
559
603
|
requestPrimaryName(params: AoArNSPurchaseParams, options?: WriteOptions): Promise<AoMessageResult<AoCreatePrimaryNameRequest>>;
|
|
560
604
|
setPrimaryName: AoWriteAction<AoArNSPurchaseParams, AoMessageResult, keyof SetPrimaryNameProgressEvents, SetPrimaryNameProgressEvents[keyof SetPrimaryNameProgressEvents]>;
|
|
561
605
|
redelegateStake: AoWriteAction<AoRedelegateStakeParams>;
|
|
606
|
+
/**
|
|
607
|
+
* Reconcile an ANT NFT's on-chain Attributes plugin (`ArNS Name`, `Type`,
|
|
608
|
+
* `Undername Limit`) with its current `ArnsRecord` state. Permissionless
|
|
609
|
+
* cache-sync — useful when a `buyRecord`/`reassignName` was performed on
|
|
610
|
+
* behalf of a different ANT holder, leaving traits unpopulated.
|
|
611
|
+
*
|
|
612
|
+
* Solana-only: throws on the AO backend (AO ANTs have no NFT trait surface).
|
|
613
|
+
*/
|
|
614
|
+
syncAttributes: AoWriteAction<{
|
|
615
|
+
name: string;
|
|
616
|
+
}, AoMessageResult>;
|
|
562
617
|
}
|
|
563
618
|
export declare function isProcessConfiguration(config: object | undefined): config is Required<ProcessConfiguration> & Record<string, never>;
|
|
564
619
|
export declare function isProcessIdConfiguration(config: object | undefined): config is Required<ProcessIdConfig> & Record<string, never>;
|
package/lib/types/version.d.ts
CHANGED