@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
|
@@ -1,74 +1,101 @@
|
|
|
1
1
|
import { antRecordMetadataFromOptions, arioProcessIdFromOptions, assertConfirmationPrompt, booleanFromOptions, customTagsFromOptions, defaultTtlSecondsCLI, readARIOFromOptions, requiredStringFromOptions, stringArrayFromOptions, writeANTFromOptions, } from '../utils.js';
|
|
2
|
+
function targetProtocolFromOptions(o) {
|
|
3
|
+
const raw = o.targetProtocol;
|
|
4
|
+
if (!raw || raw === 'arweave')
|
|
5
|
+
return 0;
|
|
6
|
+
if (raw === 'ipfs')
|
|
7
|
+
return 1;
|
|
8
|
+
throw new Error(`Invalid --target-protocol "${raw}". Must be "arweave" or "ipfs".`);
|
|
9
|
+
}
|
|
2
10
|
/** @deprecated -- use set-ant-base-name and set-ant-undername */
|
|
3
11
|
export async function setAntRecordCLICommand(o) {
|
|
4
12
|
const ttlSeconds = +(o.ttlSeconds ?? defaultTtlSecondsCLI);
|
|
5
13
|
const undername = requiredStringFromOptions(o, 'undername');
|
|
6
14
|
const transactionId = requiredStringFromOptions(o, 'transactionId');
|
|
7
|
-
const
|
|
15
|
+
const targetProtocol = targetProtocolFromOptions(o);
|
|
16
|
+
const writeAnt = await writeANTFromOptions(o);
|
|
8
17
|
const recordParams = {
|
|
9
18
|
undername,
|
|
10
19
|
transactionId,
|
|
11
20
|
ttlSeconds,
|
|
21
|
+
targetProtocol,
|
|
12
22
|
...antRecordMetadataFromOptions(o),
|
|
13
23
|
};
|
|
14
24
|
if (!o.skipConfirmation) {
|
|
15
25
|
await assertConfirmationPrompt(`Are you sure you want to set this record on the ANT process ${writeAnt.processId}?\n${JSON.stringify(recordParams, null, 2)}`, o);
|
|
16
26
|
}
|
|
17
|
-
return writeANTFromOptions(o).setRecord(recordParams, customTagsFromOptions(o));
|
|
27
|
+
return (await writeANTFromOptions(o)).setRecord(recordParams, customTagsFromOptions(o));
|
|
18
28
|
}
|
|
19
29
|
export async function setAntBaseNameCLICommand(o) {
|
|
20
30
|
const ttlSeconds = +(o.ttlSeconds ?? defaultTtlSecondsCLI);
|
|
21
31
|
const transactionId = requiredStringFromOptions(o, 'transactionId');
|
|
32
|
+
const targetProtocol = targetProtocolFromOptions(o);
|
|
22
33
|
const params = {
|
|
23
34
|
transactionId,
|
|
24
35
|
ttlSeconds,
|
|
36
|
+
targetProtocol,
|
|
25
37
|
...antRecordMetadataFromOptions(o),
|
|
26
38
|
};
|
|
27
|
-
const writeAnt = writeANTFromOptions(o);
|
|
39
|
+
const writeAnt = await writeANTFromOptions(o);
|
|
28
40
|
if (!o.skipConfirmation) {
|
|
29
41
|
await assertConfirmationPrompt(`Are you sure you want to set this base name on the ANT process ${writeAnt.processId}?\n${JSON.stringify(params, null, 2)}`, o);
|
|
30
42
|
}
|
|
31
|
-
return writeANTFromOptions(o).setBaseNameRecord(params, customTagsFromOptions(o));
|
|
43
|
+
return (await writeANTFromOptions(o)).setBaseNameRecord(params, customTagsFromOptions(o));
|
|
32
44
|
}
|
|
33
45
|
export async function setAntUndernameCLICommand(o) {
|
|
34
46
|
const ttlSeconds = +(o.ttlSeconds ?? defaultTtlSecondsCLI);
|
|
35
47
|
const undername = requiredStringFromOptions(o, 'undername');
|
|
36
48
|
const transactionId = requiredStringFromOptions(o, 'transactionId');
|
|
49
|
+
const targetProtocol = targetProtocolFromOptions(o);
|
|
37
50
|
const params = {
|
|
38
51
|
undername,
|
|
39
52
|
transactionId,
|
|
40
53
|
ttlSeconds,
|
|
54
|
+
targetProtocol,
|
|
41
55
|
...antRecordMetadataFromOptions(o),
|
|
42
56
|
};
|
|
43
|
-
const writeAnt = writeANTFromOptions(o);
|
|
57
|
+
const writeAnt = await writeANTFromOptions(o);
|
|
44
58
|
if (!o.skipConfirmation) {
|
|
45
59
|
await assertConfirmationPrompt(`Are you sure you want to set this undername on the ANT process ${writeAnt.processId}?\n${JSON.stringify(params, null, 2)}`, o);
|
|
46
60
|
}
|
|
47
|
-
return writeANTFromOptions(o).setUndernameRecord(params, customTagsFromOptions(o));
|
|
61
|
+
return (await writeANTFromOptions(o)).setUndernameRecord(params, customTagsFromOptions(o));
|
|
48
62
|
}
|
|
49
63
|
export async function transferRecordOwnershipCLICommand(o) {
|
|
50
64
|
const undername = requiredStringFromOptions(o, 'undername');
|
|
51
65
|
const recipient = requiredStringFromOptions(o, 'recipient');
|
|
52
|
-
const writeAnt = writeANTFromOptions(o);
|
|
66
|
+
const writeAnt = await writeANTFromOptions(o);
|
|
53
67
|
if (!o.skipConfirmation) {
|
|
54
68
|
await assertConfirmationPrompt(`Are you sure you want to transfer ownership of "${undername}" to "${recipient}" on ANT process ${writeAnt.processId}?\n${JSON.stringify({ undername, recipient }, null, 2)}`, o);
|
|
55
69
|
}
|
|
56
|
-
return writeANTFromOptions(o).transferRecord({ undername, recipient }, customTagsFromOptions(o));
|
|
70
|
+
return (await writeANTFromOptions(o)).transferRecord({ undername, recipient }, customTagsFromOptions(o));
|
|
57
71
|
}
|
|
58
72
|
export async function upgradeAntCLICommand(o) {
|
|
59
|
-
|
|
73
|
+
// Solana: simple per-ANT schema migration (no forking, no name reassignment)
|
|
74
|
+
if (!o.ao) {
|
|
75
|
+
const writeAnt = await writeANTFromOptions(o);
|
|
76
|
+
if (!o.skipConfirmation) {
|
|
77
|
+
await assertConfirmationPrompt(`Migrate ANT to latest schema version?\n` +
|
|
78
|
+
`ANT: ${writeAnt.processId}`, o);
|
|
79
|
+
}
|
|
80
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
81
|
+
const result = await writeAnt.upgrade();
|
|
82
|
+
if (!result.needsMigration) {
|
|
83
|
+
return { message: 'ANT is already at the latest version' };
|
|
84
|
+
}
|
|
85
|
+
return { message: 'ANT migrated successfully', txId: String(result.id) };
|
|
86
|
+
}
|
|
87
|
+
// AO: fork process and reassign names
|
|
88
|
+
const writeAnt = await writeANTFromOptions(o);
|
|
60
89
|
const arioProcessId = arioProcessIdFromOptions(o);
|
|
61
90
|
const ario = readARIOFromOptions(o);
|
|
62
91
|
const reassignAffiliatedNames = booleanFromOptions(o, 'reassignAffiliatedNames');
|
|
63
92
|
const names = stringArrayFromOptions(o, 'names') || [];
|
|
64
93
|
if (reassignAffiliatedNames) {
|
|
65
|
-
// Fetch all ArNS records that point to this ANT process
|
|
66
94
|
const allRecords = await ario.getArNSRecords({
|
|
67
95
|
filters: {
|
|
68
96
|
processId: writeAnt.processId,
|
|
69
97
|
},
|
|
70
98
|
});
|
|
71
|
-
// Filter records that belong to this ANT
|
|
72
99
|
const affiliatedNames = allRecords.items.map((record) => record.name);
|
|
73
100
|
names.push(...affiliatedNames);
|
|
74
101
|
}
|
|
@@ -82,15 +109,14 @@ export async function upgradeAntCLICommand(o) {
|
|
|
82
109
|
`Names that will be reassigned (${names.length}): ${names.join(', ')}`, o);
|
|
83
110
|
}
|
|
84
111
|
const result = reassignAffiliatedNames
|
|
85
|
-
? await writeANTFromOptions(o).upgrade({
|
|
112
|
+
? await (await writeANTFromOptions(o)).upgrade({
|
|
86
113
|
reassignAffiliatedNames,
|
|
87
114
|
arioProcessId,
|
|
88
115
|
})
|
|
89
|
-
: await writeANTFromOptions(o).upgrade({
|
|
116
|
+
: await (await writeANTFromOptions(o)).upgrade({
|
|
90
117
|
names,
|
|
91
118
|
arioProcessId,
|
|
92
119
|
});
|
|
93
|
-
// Serialize error objects for JSON compatibility
|
|
94
120
|
const serializedFailedReassignedNames = {};
|
|
95
121
|
for (const [name, failure] of Object.entries(result.failedReassignedNames)) {
|
|
96
122
|
serializedFailedReassignedNames[name] = {
|
|
@@ -14,9 +14,19 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { ANT } from '../../common/ant.js';
|
|
17
|
-
import { assertConfirmationPrompt, assertEnoughBalanceForArNSPurchase, customTagsFromOptions, fundFromFromOptions, positiveIntegerFromOptions, recordTypeFromOptions, referrerFromOptions, requiredPositiveIntegerFromOptions, requiredStringFromOptions, stringArrayFromOptions, writeARIOFromOptions, } from '../utils.js';
|
|
17
|
+
import { assertConfirmationPrompt, assertEnoughBalanceForArNSPurchase, customTagsFromOptions, fundFromFromOptions, fundingPlanFromOptions, positiveIntegerFromOptions, recordTypeFromOptions, referrerFromOptions, requiredPositiveIntegerFromOptions, requiredStringFromOptions, stringArrayFromOptions, withdrawalIdFromOptions, writeARIOFromOptions, } from '../utils.js';
|
|
18
|
+
/** Coerce the JSON-parsed funding plan to the typed `FundingSourceSpec[]`. */
|
|
19
|
+
function coerceFundingPlanSources(parsed) {
|
|
20
|
+
if (!parsed)
|
|
21
|
+
return undefined;
|
|
22
|
+
return parsed.map((s) => ({
|
|
23
|
+
kind: s.kind,
|
|
24
|
+
amount: s.amount,
|
|
25
|
+
...(s.gateway ? { gateway: s.gateway } : {}),
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
18
28
|
export async function buyRecordCLICommand(o) {
|
|
19
|
-
const { ario, signerAddress } = writeARIOFromOptions(o);
|
|
29
|
+
const { ario, signerAddress } = await writeARIOFromOptions(o);
|
|
20
30
|
const name = requiredStringFromOptions(o, 'name');
|
|
21
31
|
const type = recordTypeFromOptions(o);
|
|
22
32
|
const years = positiveIntegerFromOptions(o, 'years');
|
|
@@ -56,13 +66,17 @@ export async function buyRecordCLICommand(o) {
|
|
|
56
66
|
type,
|
|
57
67
|
years,
|
|
58
68
|
fundFrom: fundFromFromOptions(o),
|
|
69
|
+
gatewayAddress: o.gatewayAddress,
|
|
70
|
+
fundAsOperator: o.fundAsOperator,
|
|
71
|
+
withdrawalId: withdrawalIdFromOptions(o),
|
|
72
|
+
sources: coerceFundingPlanSources(fundingPlanFromOptions(o)),
|
|
59
73
|
paidBy: stringArrayFromOptions(o, 'paidBy'),
|
|
60
74
|
referrer,
|
|
61
75
|
}, customTagsFromOptions(o));
|
|
62
76
|
}
|
|
63
77
|
export async function upgradeRecordCLICommand(o) {
|
|
64
78
|
const name = requiredStringFromOptions(o, 'name');
|
|
65
|
-
const { ario, signerAddress } = writeARIOFromOptions(o);
|
|
79
|
+
const { ario, signerAddress } = await writeARIOFromOptions(o);
|
|
66
80
|
const fundFrom = fundFromFromOptions(o);
|
|
67
81
|
const referrer = referrerFromOptions(o);
|
|
68
82
|
if (!o.skipConfirmation) {
|
|
@@ -90,6 +104,8 @@ export async function upgradeRecordCLICommand(o) {
|
|
|
90
104
|
return ario.upgradeRecord({
|
|
91
105
|
name,
|
|
92
106
|
fundFrom,
|
|
107
|
+
gatewayAddress: o.gatewayAddress,
|
|
108
|
+
fundAsOperator: o.fundAsOperator,
|
|
93
109
|
paidBy: stringArrayFromOptions(o, 'paidBy'),
|
|
94
110
|
referrer,
|
|
95
111
|
});
|
|
@@ -99,7 +115,7 @@ export async function extendLeaseCLICommand(o) {
|
|
|
99
115
|
const years = requiredPositiveIntegerFromOptions(o, 'years');
|
|
100
116
|
const fundFrom = fundFromFromOptions(o);
|
|
101
117
|
const referrer = referrerFromOptions(o);
|
|
102
|
-
const { ario, signerAddress } = writeARIOFromOptions(o);
|
|
118
|
+
const { ario, signerAddress } = await writeARIOFromOptions(o);
|
|
103
119
|
if (!o.skipConfirmation) {
|
|
104
120
|
const existingRecord = await ario.getArNSRecord({
|
|
105
121
|
name,
|
|
@@ -126,6 +142,9 @@ export async function extendLeaseCLICommand(o) {
|
|
|
126
142
|
return ario.extendLease({
|
|
127
143
|
name,
|
|
128
144
|
years,
|
|
145
|
+
fundFrom,
|
|
146
|
+
gatewayAddress: o.gatewayAddress,
|
|
147
|
+
fundAsOperator: o.fundAsOperator,
|
|
129
148
|
paidBy: stringArrayFromOptions(o, 'paidBy'),
|
|
130
149
|
referrer,
|
|
131
150
|
}, customTagsFromOptions(o));
|
|
@@ -135,7 +154,7 @@ export async function increaseUndernameLimitCLICommand(o) {
|
|
|
135
154
|
const increaseCount = requiredPositiveIntegerFromOptions(o, 'increaseCount');
|
|
136
155
|
const fundFrom = fundFromFromOptions(o);
|
|
137
156
|
const referrer = referrerFromOptions(o);
|
|
138
|
-
const { ario, signerAddress } = writeARIOFromOptions(o);
|
|
157
|
+
const { ario, signerAddress } = await writeARIOFromOptions(o);
|
|
139
158
|
if (!o.skipConfirmation) {
|
|
140
159
|
const existingRecord = await ario.getArNSRecord({
|
|
141
160
|
name,
|
|
@@ -159,12 +178,15 @@ export async function increaseUndernameLimitCLICommand(o) {
|
|
|
159
178
|
return ario.increaseUndernameLimit({
|
|
160
179
|
name,
|
|
161
180
|
increaseCount,
|
|
181
|
+
fundFrom,
|
|
182
|
+
gatewayAddress: o.gatewayAddress,
|
|
183
|
+
fundAsOperator: o.fundAsOperator,
|
|
162
184
|
paidBy: stringArrayFromOptions(o, 'paidBy'),
|
|
163
185
|
referrer,
|
|
164
186
|
}, customTagsFromOptions(o));
|
|
165
187
|
}
|
|
166
188
|
export async function requestPrimaryNameCLICommand(o) {
|
|
167
|
-
const { ario, signerAddress } = writeARIOFromOptions(o);
|
|
189
|
+
const { ario, signerAddress } = await writeARIOFromOptions(o);
|
|
168
190
|
const fundFrom = fundFromFromOptions(o);
|
|
169
191
|
const referrer = referrerFromOptions(o);
|
|
170
192
|
const name = requiredStringFromOptions(o, 'name');
|
|
@@ -193,7 +215,7 @@ export async function requestPrimaryNameCLICommand(o) {
|
|
|
193
215
|
return result.request;
|
|
194
216
|
}
|
|
195
217
|
export async function setPrimaryNameCLICommand(o) {
|
|
196
|
-
const { ario, signerAddress } = writeARIOFromOptions(o);
|
|
218
|
+
const { ario, signerAddress } = await writeARIOFromOptions(o);
|
|
197
219
|
const name = requiredStringFromOptions(o, 'name');
|
|
198
220
|
const fundFrom = fundFromFromOptions(o);
|
|
199
221
|
const referrer = referrerFromOptions(o);
|
|
@@ -202,3 +224,20 @@ export async function setPrimaryNameCLICommand(o) {
|
|
|
202
224
|
}
|
|
203
225
|
return ario.setPrimaryName({ name, fundFrom, referrer });
|
|
204
226
|
}
|
|
227
|
+
/**
|
|
228
|
+
* Reconcile the on-chain ANT Attributes plugin (`ArNS Name`, `Type`,
|
|
229
|
+
* `Undername Limit`) with the current `ArnsRecord` state. Permissionless,
|
|
230
|
+
* Solana-only; AO backend will throw with a clear error.
|
|
231
|
+
*
|
|
232
|
+
* Use after a `buy-record` / `reassign-name` where the buyer/recipient was
|
|
233
|
+
* not the ANT NFT holder (the ANT-side trait CPI gets skipped at runtime
|
|
234
|
+
* in that case so the plugin stays empty until the actual holder reconciles).
|
|
235
|
+
*/
|
|
236
|
+
export async function syncAttributesCLICommand(o) {
|
|
237
|
+
const name = requiredStringFromOptions(o, 'name');
|
|
238
|
+
const { ario } = await writeARIOFromOptions(o);
|
|
239
|
+
if (!o.skipConfirmation) {
|
|
240
|
+
await assertConfirmationPrompt(`Sync on-chain ANT traits for "${name}" to match the current ArnsRecord?`, o);
|
|
241
|
+
}
|
|
242
|
+
return ario.syncAttributes({ name });
|
|
243
|
+
}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (C) 2022-2024 Permanent Data Solutions, Inc.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* CLI commands for `ario-ant-escrow` — trustless multi-protocol ANT custody.
|
|
12
|
+
*
|
|
13
|
+
* Each command instantiates an {@link ANTEscrow} with options-driven RPC +
|
|
14
|
+
* signer wiring (mirrors the rest of the Solana CLI surface — see
|
|
15
|
+
* `arnsPurchaseCommands.ts`). All read commands work without a signer; all
|
|
16
|
+
* write commands require `--wallet-file` or `--private-key`.
|
|
17
|
+
*
|
|
18
|
+
* Recipient pubkey loading:
|
|
19
|
+
* - Arweave: `--recipient-arweave <jwk-file>` reads the JWK JSON, decodes
|
|
20
|
+
* the base64url `n` field to 512 raw bytes (RSA-4096 modulus).
|
|
21
|
+
* - Ethereum: `--recipient-ethereum 0x...` parses the 20-byte hex address.
|
|
22
|
+
*/
|
|
23
|
+
import { readFileSync } from 'node:fs';
|
|
24
|
+
import { address, createKeyPairSignerFromBytes, createSolanaRpc, createSolanaRpcSubscriptions, } from '@solana/kit';
|
|
25
|
+
import bs58 from 'bs58';
|
|
26
|
+
import { ARIO_ANT_ESCROW_PROGRAM_ID } from '../../solana/constants.js';
|
|
27
|
+
import { ANTEscrow } from '../../solana/escrow.js';
|
|
28
|
+
// =========================================
|
|
29
|
+
// Wiring helpers
|
|
30
|
+
// =========================================
|
|
31
|
+
function wsUrlFromRpcUrl(rpcUrl) {
|
|
32
|
+
return rpcUrl.replace(/^http/, 'ws');
|
|
33
|
+
}
|
|
34
|
+
function escrowProgramIdFrom(options) {
|
|
35
|
+
return options.escrowProgramId
|
|
36
|
+
? address(options.escrowProgramId)
|
|
37
|
+
: ARIO_ANT_ESCROW_PROGRAM_ID;
|
|
38
|
+
}
|
|
39
|
+
async function readEscrowReader(options) {
|
|
40
|
+
const rpcUrl = options.rpcUrl ?? 'https://api.mainnet-beta.solana.com';
|
|
41
|
+
return ANTEscrow.init({
|
|
42
|
+
rpc: createSolanaRpc(rpcUrl),
|
|
43
|
+
programId: escrowProgramIdFrom(options),
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
async function writeEscrowFromOptions(options) {
|
|
47
|
+
let secretKey;
|
|
48
|
+
if (options.privateKey) {
|
|
49
|
+
secretKey = bs58.decode(options.privateKey);
|
|
50
|
+
}
|
|
51
|
+
else if (options.walletFile) {
|
|
52
|
+
const raw = readFileSync(options.walletFile, 'utf-8');
|
|
53
|
+
secretKey = new Uint8Array(JSON.parse(raw));
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
throw new Error('escrow write operations require a signer. Provide --wallet-file <path> or --private-key <base58>');
|
|
57
|
+
}
|
|
58
|
+
const signer = await createKeyPairSignerFromBytes(secretKey);
|
|
59
|
+
const rpcUrl = options.rpcUrl ?? 'https://api.mainnet-beta.solana.com';
|
|
60
|
+
return ANTEscrow.init({
|
|
61
|
+
rpc: createSolanaRpc(rpcUrl),
|
|
62
|
+
rpcSubscriptions: createSolanaRpcSubscriptions(wsUrlFromRpcUrl(rpcUrl)),
|
|
63
|
+
signer,
|
|
64
|
+
programId: escrowProgramIdFrom(options),
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
// =========================================
|
|
68
|
+
// Recipient pubkey parsing
|
|
69
|
+
// =========================================
|
|
70
|
+
function base64UrlDecode(s) {
|
|
71
|
+
// Convert base64url → base64, then decode.
|
|
72
|
+
let b64 = s.replace(/-/g, '+').replace(/_/g, '/');
|
|
73
|
+
while (b64.length % 4 !== 0)
|
|
74
|
+
b64 += '=';
|
|
75
|
+
return new Uint8Array(Buffer.from(b64, 'base64'));
|
|
76
|
+
}
|
|
77
|
+
/** Load an Arweave RSA-4096 modulus from a JWK file (`.json` with `n` field). */
|
|
78
|
+
function loadArweaveModulusFromJwk(filePath) {
|
|
79
|
+
const raw = readFileSync(filePath, 'utf-8');
|
|
80
|
+
const jwk = JSON.parse(raw);
|
|
81
|
+
if (jwk.kty !== 'RSA' || !jwk.n) {
|
|
82
|
+
throw new Error(`Not a valid Arweave RSA JWK (missing kty=RSA or n field)`);
|
|
83
|
+
}
|
|
84
|
+
const modulus = base64UrlDecode(jwk.n);
|
|
85
|
+
if (modulus.length !== 512) {
|
|
86
|
+
throw new Error(`Arweave modulus must be 512 bytes (4096-bit RSA); got ${modulus.length}`);
|
|
87
|
+
}
|
|
88
|
+
return modulus;
|
|
89
|
+
}
|
|
90
|
+
/** Parse an Ethereum address (`0xabc...`) into 20 raw bytes. */
|
|
91
|
+
function parseEthereumAddress(hex) {
|
|
92
|
+
const cleaned = hex.startsWith('0x') ? hex.slice(2) : hex;
|
|
93
|
+
if (cleaned.length !== 40 || !/^[0-9a-fA-F]+$/.test(cleaned)) {
|
|
94
|
+
throw new Error(`Ethereum address must be 0x-prefixed 40-char hex; got "${hex}"`);
|
|
95
|
+
}
|
|
96
|
+
return Uint8Array.from(Buffer.from(cleaned, 'hex'));
|
|
97
|
+
}
|
|
98
|
+
function recipientFromDepositOptions(o) {
|
|
99
|
+
if (o.recipientArweave && o.recipientEthereum) {
|
|
100
|
+
throw new Error('--recipient-arweave and --recipient-ethereum are mutually exclusive');
|
|
101
|
+
}
|
|
102
|
+
if (o.recipientArweave) {
|
|
103
|
+
return {
|
|
104
|
+
protocol: 'arweave',
|
|
105
|
+
publicKey: loadArweaveModulusFromJwk(o.recipientArweave),
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
if (o.recipientEthereum) {
|
|
109
|
+
return {
|
|
110
|
+
protocol: 'ethereum',
|
|
111
|
+
publicKey: parseEthereumAddress(o.recipientEthereum),
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
throw new Error('one of --recipient-arweave or --recipient-ethereum is required');
|
|
115
|
+
}
|
|
116
|
+
function recipientFromUpdateOptions(o) {
|
|
117
|
+
return recipientFromDepositOptions({
|
|
118
|
+
recipientArweave: o.newRecipientArweave,
|
|
119
|
+
recipientEthereum: o.newRecipientEthereum,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
function antFromOptions(o) {
|
|
123
|
+
if (!o.ant)
|
|
124
|
+
throw new Error('--ant <mint> is required');
|
|
125
|
+
return address(o.ant);
|
|
126
|
+
}
|
|
127
|
+
// =========================================
|
|
128
|
+
// CLI handlers
|
|
129
|
+
// =========================================
|
|
130
|
+
/** `ar.io escrow status --ant <mint>` */
|
|
131
|
+
export async function escrowStatusCLICommand(o) {
|
|
132
|
+
const escrow = await readEscrowReader(o);
|
|
133
|
+
const ant = antFromOptions(o);
|
|
134
|
+
const state = await escrow.get(ant);
|
|
135
|
+
if (!state) {
|
|
136
|
+
return { active: false, antMint: ant };
|
|
137
|
+
}
|
|
138
|
+
return {
|
|
139
|
+
active: true,
|
|
140
|
+
antMint: state.antMint,
|
|
141
|
+
depositor: state.depositor,
|
|
142
|
+
recipientProtocol: state.recipientProtocol,
|
|
143
|
+
recipientPubkeyHex: Buffer.from(state.recipientPubkey).toString('hex'),
|
|
144
|
+
nonceHex: Buffer.from(state.nonce).toString('hex'),
|
|
145
|
+
depositSlot: state.depositSlot.toString(),
|
|
146
|
+
version: state.version,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
/** `ar.io escrow deposit --ant <mint> --recipient-{arweave|ethereum} ...` */
|
|
150
|
+
export async function escrowDepositCLICommand(o) {
|
|
151
|
+
const recipient = recipientFromDepositOptions(o);
|
|
152
|
+
const escrow = await writeEscrowFromOptions(o);
|
|
153
|
+
const sig = await escrow.deposit({ antMint: antFromOptions(o), recipient });
|
|
154
|
+
return { signature: sig };
|
|
155
|
+
}
|
|
156
|
+
/** `ar.io escrow cancel --ant <mint>` */
|
|
157
|
+
export async function escrowCancelCLICommand(o) {
|
|
158
|
+
const escrow = await writeEscrowFromOptions(o);
|
|
159
|
+
const sig = await escrow.cancel({ antMint: antFromOptions(o) });
|
|
160
|
+
return { signature: sig };
|
|
161
|
+
}
|
|
162
|
+
/** `ar.io escrow update-recipient --ant <mint> --new-recipient-{arweave|ethereum} ...` */
|
|
163
|
+
export async function escrowUpdateRecipientCLICommand(o) {
|
|
164
|
+
const newRecipient = recipientFromUpdateOptions(o);
|
|
165
|
+
const escrow = await writeEscrowFromOptions(o);
|
|
166
|
+
const sig = await escrow.updateRecipient({
|
|
167
|
+
antMint: antFromOptions(o),
|
|
168
|
+
newRecipient,
|
|
169
|
+
});
|
|
170
|
+
return { signature: sig };
|
|
171
|
+
}
|
|
172
|
+
/** `ar.io escrow claim-arweave --ant <mint> --signature-file <bin> --claimant <pubkey> [--salt-len 32]` */
|
|
173
|
+
export async function escrowClaimArweaveCLICommand(o) {
|
|
174
|
+
if (!o.signatureFile)
|
|
175
|
+
throw new Error('--signature-file <path> is required');
|
|
176
|
+
if (!o.claimant)
|
|
177
|
+
throw new Error('--claimant <pubkey> is required');
|
|
178
|
+
const sigBytes = new Uint8Array(readFileSync(o.signatureFile));
|
|
179
|
+
if (sigBytes.length !== 512) {
|
|
180
|
+
throw new Error(`signature file must be 512 bytes; got ${sigBytes.length}`);
|
|
181
|
+
}
|
|
182
|
+
const escrow = await writeEscrowFromOptions(o);
|
|
183
|
+
const sig = await escrow.claimArweave({
|
|
184
|
+
antMint: antFromOptions(o),
|
|
185
|
+
claimant: address(o.claimant),
|
|
186
|
+
signature: sigBytes,
|
|
187
|
+
saltLen: o.saltLen ? Number(o.saltLen) : 32,
|
|
188
|
+
});
|
|
189
|
+
return { signature: sig };
|
|
190
|
+
}
|
|
191
|
+
/** `ar.io escrow claim-ethereum --ant <mint> --signature-file <bin> --claimant <pubkey>` */
|
|
192
|
+
export async function escrowClaimEthereumCLICommand(o) {
|
|
193
|
+
if (!o.signatureFile)
|
|
194
|
+
throw new Error('--signature-file <path> is required');
|
|
195
|
+
if (!o.claimant)
|
|
196
|
+
throw new Error('--claimant <pubkey> is required');
|
|
197
|
+
const sigBytes = new Uint8Array(readFileSync(o.signatureFile));
|
|
198
|
+
if (sigBytes.length !== 65) {
|
|
199
|
+
throw new Error(`signature file must be 65 bytes (r||s||v); got ${sigBytes.length}`);
|
|
200
|
+
}
|
|
201
|
+
const escrow = await writeEscrowFromOptions(o);
|
|
202
|
+
const sig = await escrow.claimEthereum({
|
|
203
|
+
antMint: antFromOptions(o),
|
|
204
|
+
claimant: address(o.claimant),
|
|
205
|
+
signature: sigBytes,
|
|
206
|
+
});
|
|
207
|
+
return { signature: sig };
|
|
208
|
+
}
|