@ar.io/sdk 4.0.0-solana.8 → 4.0.0
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 +721 -673
- package/lib/esm/cli/cli.js +28 -152
- package/lib/esm/cli/commands/antCommands.js +5 -66
- package/lib/esm/cli/commands/arnsPurchaseCommands.js +7 -28
- package/lib/esm/cli/commands/escrowCommands.js +23 -4
- package/lib/esm/cli/commands/gatewayWriteCommands.js +15 -8
- package/lib/esm/cli/commands/pruneCommands.js +14 -26
- package/lib/esm/cli/commands/readCommands.js +12 -1
- package/lib/esm/cli/options.js +2 -75
- package/lib/esm/cli/utils.js +96 -209
- package/lib/esm/common/ant-registry.js +12 -160
- package/lib/esm/common/ant.js +40 -1208
- package/lib/esm/common/faucet.js +17 -6
- package/lib/esm/common/index.js +0 -4
- package/lib/esm/common/io.js +13 -1441
- package/lib/esm/constants.js +0 -18
- package/lib/esm/solana/ant-readable.js +391 -54
- package/lib/esm/solana/ant-registry-readable.js +15 -0
- package/lib/esm/solana/ant-registry-writeable.js +19 -4
- package/lib/esm/solana/ant-writeable.js +43 -11
- package/lib/esm/solana/ata.js +15 -0
- package/lib/esm/solana/canonical-message.js +45 -9
- package/lib/esm/solana/clusters.js +71 -22
- package/lib/esm/solana/constants.js +21 -5
- package/lib/esm/solana/delegation-math.js +49 -0
- package/lib/esm/solana/deserialize.js +263 -727
- package/lib/esm/solana/escrow.js +145 -103
- package/lib/esm/solana/events.js +20 -199
- package/lib/esm/solana/funding-plan.js +19 -2
- package/lib/esm/solana/index.js +53 -12
- package/lib/esm/solana/instruction.js +15 -0
- package/lib/esm/solana/io-readable.js +510 -58
- package/lib/esm/solana/io-writeable.js +1198 -197
- package/lib/esm/solana/json-rpc.js +20 -4
- package/lib/esm/solana/metadata.js +15 -0
- package/lib/esm/solana/mpl-core.js +55 -5
- package/lib/esm/solana/pda.js +15 -0
- package/lib/esm/solana/predict-prescribed-observers.js +110 -0
- package/lib/esm/solana/retry.js +117 -0
- package/lib/esm/solana/rpc-circuit-breaker.js +258 -0
- package/lib/esm/solana/send.js +258 -3
- package/lib/esm/solana/spawn-ant.js +16 -2
- package/lib/esm/types/ant.js +8 -8
- package/lib/esm/types/io.js +0 -10
- package/lib/esm/utils/ant.js +0 -64
- package/lib/esm/utils/index.js +0 -3
- package/lib/esm/version.js +1 -1
- package/lib/types/cli/commands/antCommands.d.ts +6 -9
- package/lib/types/cli/commands/arnsPurchaseCommands.d.ts +27 -13
- package/lib/types/cli/commands/escrowCommands.d.ts +6 -0
- package/lib/types/cli/commands/gatewayWriteCommands.d.ts +12 -11
- package/lib/types/cli/commands/pruneCommands.d.ts +11 -11
- package/lib/types/cli/commands/readCommands.d.ts +25 -22
- package/lib/types/cli/commands/transfer.d.ts +9 -9
- package/lib/types/cli/options.d.ts +0 -57
- package/lib/types/cli/types.d.ts +6 -14
- package/lib/types/cli/utils.d.ts +34 -32
- package/lib/types/common/ant-registry.d.ts +35 -74
- package/lib/types/common/ant.d.ts +52 -570
- package/lib/types/common/faucet.d.ts +20 -8
- package/lib/types/common/index.d.ts +0 -3
- package/lib/types/common/io.d.ts +56 -288
- package/lib/types/constants.d.ts +0 -17
- package/lib/types/solana/ant-readable.d.ts +65 -6
- package/lib/types/solana/ant-registry-readable.d.ts +17 -2
- package/lib/types/solana/ant-registry-writeable.d.ts +20 -5
- package/lib/types/solana/ant-writeable.d.ts +39 -24
- package/lib/types/solana/ata.d.ts +15 -0
- package/lib/types/solana/canonical-message.d.ts +44 -5
- package/lib/types/solana/clusters.d.ts +68 -21
- package/lib/types/solana/constants.d.ts +16 -0
- package/lib/types/solana/delegation-math.d.ts +25 -0
- package/lib/types/solana/deserialize.d.ts +28 -198
- package/lib/types/solana/escrow.d.ts +128 -51
- package/lib/types/solana/events.d.ts +26 -144
- package/lib/types/solana/funding-plan.d.ts +15 -0
- package/lib/types/solana/index.d.ts +27 -3
- package/lib/types/solana/instruction.d.ts +15 -0
- package/lib/types/solana/io-readable.d.ts +185 -46
- package/lib/types/solana/io-writeable.d.ts +450 -77
- package/lib/types/solana/json-rpc.d.ts +15 -0
- package/lib/types/solana/metadata.d.ts +15 -0
- package/lib/types/solana/mpl-core.d.ts +44 -0
- package/lib/types/solana/predict-prescribed-observers.d.ts +28 -0
- package/lib/types/solana/retry.d.ts +62 -0
- package/lib/types/solana/rpc-circuit-breaker.d.ts +78 -0
- package/lib/types/solana/send.d.ts +80 -2
- package/lib/types/solana/spawn-ant.d.ts +15 -0
- package/lib/types/solana/types.d.ts +15 -0
- package/lib/types/types/ant-registry.d.ts +4 -4
- package/lib/types/types/ant.d.ts +92 -92
- package/lib/types/types/common.d.ts +18 -74
- package/lib/types/types/faucet.d.ts +2 -2
- package/lib/types/types/io.d.ts +189 -158
- package/lib/types/types/token.d.ts +0 -12
- package/lib/types/utils/ant.d.ts +1 -12
- package/lib/types/utils/index.d.ts +0 -3
- package/lib/types/version.d.ts +1 -1
- package/package.json +28 -38
- package/lib/esm/common/ant-versions.js +0 -87
- package/lib/esm/common/arweave.js +0 -21
- package/lib/esm/common/contracts/ao-process.js +0 -218
- package/lib/esm/common/hyperbeam/hb.js +0 -169
- package/lib/esm/common/marketplace.js +0 -669
- package/lib/esm/common/turbo.js +0 -215
- package/lib/esm/node/index.js +0 -20
- package/lib/esm/solana/generated/ant/events/aclEntryAddedEvent.js +0 -21
- package/lib/esm/solana/generated/ant/events/aclEntryRemovedEvent.js +0 -21
- package/lib/esm/solana/generated/ant/events/antMetadataUpdatedEvent.js +0 -21
- package/lib/esm/solana/generated/ant/events/antReconciledEvent.js +0 -21
- package/lib/esm/solana/generated/ant/events/antTransferredEvent.js +0 -21
- package/lib/esm/solana/generated/ant/events/attributesClearedEvent.js +0 -21
- package/lib/esm/solana/generated/ant/events/attributesSyncedEvent.js +0 -21
- package/lib/esm/solana/generated/ant/events/controllerAddedEvent.js +0 -21
- package/lib/esm/solana/generated/ant/events/controllerRemovedEvent.js +0 -21
- package/lib/esm/solana/generated/ant/events/index.js +0 -16
- package/lib/esm/solana/generated/ant/events/recordMetadataPrunedEvent.js +0 -21
- package/lib/esm/solana/generated/ant/events/recordMetadataRemovedEvent.js +0 -21
- package/lib/esm/solana/generated/ant/events/recordMetadataUpdatedEvent.js +0 -21
- package/lib/esm/solana/generated/ant/events/recordRemovedEvent.js +0 -21
- package/lib/esm/solana/generated/ant/events/recordSetEvent.js +0 -21
- package/lib/esm/solana/generated/ant/events/recordTransferredEvent.js +0 -21
- package/lib/esm/solana/generated/ant-escrow/events/escrowCancelledEvent.js +0 -21
- package/lib/esm/solana/generated/ant-escrow/events/escrowClaimedEvent.js +0 -21
- package/lib/esm/solana/generated/ant-escrow/events/escrowDepositedEvent.js +0 -21
- package/lib/esm/solana/generated/ant-escrow/events/escrowRecipientUpdatedEvent.js +0 -21
- package/lib/esm/solana/generated/ant-escrow/events/index.js +0 -5
- package/lib/esm/solana/generated/arns/events/demandFactorUpdatedEvent.js +0 -21
- package/lib/esm/solana/generated/arns/events/index.js +0 -13
- package/lib/esm/solana/generated/arns/events/leaseExtendedEvent.js +0 -21
- package/lib/esm/solana/generated/arns/events/namePurchasedEvent.js +0 -21
- package/lib/esm/solana/generated/arns/events/nameReassignedEvent.js +0 -21
- package/lib/esm/solana/generated/arns/events/nameReleasedEvent.js +0 -21
- package/lib/esm/solana/generated/arns/events/nameReservedEvent.js +0 -21
- package/lib/esm/solana/generated/arns/events/nameUnreservedEvent.js +0 -21
- package/lib/esm/solana/generated/arns/events/nameUpgradedEvent.js +0 -21
- package/lib/esm/solana/generated/arns/events/namesPrunedEvent.js +0 -21
- package/lib/esm/solana/generated/arns/events/reservedNameClaimedEvent.js +0 -21
- package/lib/esm/solana/generated/arns/events/returnedNamePurchasedEvent.js +0 -21
- package/lib/esm/solana/generated/arns/events/undernameIncreasedEvent.js +0 -21
- package/lib/esm/solana/generated/core/events/configUpdatedEvent.js +0 -21
- package/lib/esm/solana/generated/core/events/coreMigrationFinalizedEvent.js +0 -21
- package/lib/esm/solana/generated/core/events/index.js +0 -14
- package/lib/esm/solana/generated/core/events/primaryNameRemovedEvent.js +0 -21
- package/lib/esm/solana/generated/core/events/primaryNameRequestExpiredEvent.js +0 -21
- package/lib/esm/solana/generated/core/events/primaryNameRequestedEvent.js +0 -21
- package/lib/esm/solana/generated/core/events/primaryNameSetEvent.js +0 -21
- package/lib/esm/solana/generated/core/events/supplyFinalizedEvent.js +0 -21
- package/lib/esm/solana/generated/core/events/transferEvent.js +0 -21
- package/lib/esm/solana/generated/core/events/vaultCreatedEvent.js +0 -21
- package/lib/esm/solana/generated/core/events/vaultExtendedEvent.js +0 -21
- package/lib/esm/solana/generated/core/events/vaultIncreasedEvent.js +0 -21
- package/lib/esm/solana/generated/core/events/vaultReleasedEvent.js +0 -21
- package/lib/esm/solana/generated/core/events/vaultRevokedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/allowlistToggledEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/delegateAllowlistedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/delegationClosedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/delegationDecreasedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/delegationEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/epochClosedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/epochCreatedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/epochDistributedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/epochPrescribedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/epochWeightsTalliedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/epochsToggledEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/fundingPlanAppliedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/garMigrationFinalizedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/gatewayFinalizedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/gatewayJoinedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/gatewayLeavingEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/gatewayPrunedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/gatewaySettingsUpdatedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/index.js +0 -31
- package/lib/esm/solana/generated/gar/events/instantWithdrawalEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/observationSubmittedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/observerAddressUpdatedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/operatorStakeIncreasedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/redelegationEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/residueVaultCreatedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/rewardsCompoundedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/stakePaymentEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/withdrawalCancelledEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/withdrawalClaimedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/withdrawalCreatedEvent.js +0 -21
- package/lib/esm/solana/generated/gar/events/withdrawalPaymentEvent.js +0 -21
- package/lib/esm/solana/generated/mpl-core/accounts/assetV1.js +0 -42
- package/lib/esm/solana/generated/mpl-core/accounts/collectionV1.js +0 -42
- package/lib/esm/solana/generated/mpl-core/accounts/hashedAssetV1.js +0 -45
- package/lib/esm/solana/generated/mpl-core/accounts/index.js +0 -12
- package/lib/esm/solana/generated/mpl-core/accounts/pluginHeaderV1.js +0 -45
- package/lib/esm/solana/generated/mpl-core/accounts/pluginRegistryV1.js +0 -42
- package/lib/esm/solana/generated/mpl-core/errors/index.js +0 -8
- package/lib/esm/solana/generated/mpl-core/errors/mplCore.js +0 -136
- package/lib/esm/solana/generated/mpl-core/index.js +0 -8
- package/lib/esm/solana/generated/mpl-core/instructions/addCollectionExternalPluginAdapterV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/addCollectionPluginV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/addExternalPluginAdapterV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/addPluginV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/approveCollectionPluginAuthorityV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/approvePluginAuthorityV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/burnCollectionV1.js +0 -49
- package/lib/esm/solana/generated/mpl-core/instructions/burnV1.js +0 -49
- package/lib/esm/solana/generated/mpl-core/instructions/collect.js +0 -42
- package/lib/esm/solana/generated/mpl-core/instructions/compressV1.js +0 -50
- package/lib/esm/solana/generated/mpl-core/instructions/createCollectionV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/createCollectionV2.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/createV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/createV2.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/decompressV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/executeV1.js +0 -56
- package/lib/esm/solana/generated/mpl-core/instructions/index.js +0 -40
- package/lib/esm/solana/generated/mpl-core/instructions/removeCollectionExternalPluginAdapterV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/removeCollectionPluginV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/removeExternalPluginAdapterV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/removePluginV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/revokeCollectionPluginAuthorityV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/revokePluginAuthorityV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/transferV1.js +0 -49
- package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionExternalPluginAdapterV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionInfoV1.js +0 -45
- package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionPluginV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/updateCollectionV1.js +0 -52
- package/lib/esm/solana/generated/mpl-core/instructions/updateExternalPluginAdapterV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/updatePluginV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/updateV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/updateV2.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/writeCollectionExternalPluginAdapterDataV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/instructions/writeExternalPluginAdapterDataV1.js +0 -53
- package/lib/esm/solana/generated/mpl-core/program-address.js +0 -1
- package/lib/esm/solana/generated/mpl-core/types/addAssetsToGroupV1Args.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/addBlocker.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/addCollectionsToGroupV1Args.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/addGroupsToGroupV1Args.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/agentIdentity.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/agentIdentityInitInfo.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/agentIdentityUpdateInfo.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/appData.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/appDataInitInfo.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/appDataUpdateInfo.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/attribute.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/attributes.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/authority.js +0 -24
- package/lib/esm/solana/generated/mpl-core/types/autograph.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/autographSignature.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/bubblegumV2.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/burnDelegate.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/closeGroupV1Args.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/compressionProof.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/creator.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/dataSection.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/dataSectionInitInfo.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/dataSectionUpdateInfo.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/dataState.js +0 -23
- package/lib/esm/solana/generated/mpl-core/types/edition.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/externalCheckResult.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapter.js +0 -25
- package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterInitInfo.js +0 -25
- package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterKey.js +0 -25
- package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterSchema.js +0 -24
- package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterType.js +0 -28
- package/lib/esm/solana/generated/mpl-core/types/externalPluginAdapterUpdateInfo.js +0 -25
- package/lib/esm/solana/generated/mpl-core/types/externalRegistryRecord.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/externalValidationResult.js +0 -24
- package/lib/esm/solana/generated/mpl-core/types/extraAccount.js +0 -25
- package/lib/esm/solana/generated/mpl-core/types/freezeDelegate.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/freezeExecute.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/groups.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/hashablePluginSchema.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/hashedAssetSchema.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/hookableLifecycleEvent.js +0 -26
- package/lib/esm/solana/generated/mpl-core/types/immutableMetadata.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/index.js +0 -89
- package/lib/esm/solana/generated/mpl-core/types/key.js +0 -28
- package/lib/esm/solana/generated/mpl-core/types/lifecycleHook.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/lifecycleHookInitInfo.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/lifecycleHookUpdateInfo.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/linkedAppData.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/linkedAppDataInitInfo.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/linkedAppDataUpdateInfo.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/linkedDataKey.js +0 -25
- package/lib/esm/solana/generated/mpl-core/types/linkedLifecycleHook.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/linkedLifecycleHookInitInfo.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/linkedLifecycleHookUpdateInfo.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/masterEdition.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/oracle.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/oracleInitInfo.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/oracleUpdateInfo.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/oracleValidation.js +0 -25
- package/lib/esm/solana/generated/mpl-core/types/permanentBurnDelegate.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/permanentFreezeDelegate.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/permanentFreezeExecute.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/permanentTransferDelegate.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/plugin.js +0 -25
- package/lib/esm/solana/generated/mpl-core/types/pluginAuthorityPair.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/pluginType.js +0 -40
- package/lib/esm/solana/generated/mpl-core/types/registryRecord.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/relationshipKind.js +0 -25
- package/lib/esm/solana/generated/mpl-core/types/removeAssetsFromGroupV1Args.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/removeCollectionsFromGroupV1Args.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/removeGroupsFromGroupV1Args.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/royalties.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/ruleSet.js +0 -24
- package/lib/esm/solana/generated/mpl-core/types/seed.js +0 -24
- package/lib/esm/solana/generated/mpl-core/types/transferDelegate.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/updateAuthority.js +0 -24
- package/lib/esm/solana/generated/mpl-core/types/updateDelegate.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/updateGroupV1Args.js +0 -17
- package/lib/esm/solana/generated/mpl-core/types/updateType.js +0 -24
- package/lib/esm/solana/generated/mpl-core/types/validationResult.js +0 -25
- package/lib/esm/solana/generated/mpl-core/types/validationResultsOffset.js +0 -24
- package/lib/esm/solana/generated/mpl-core/types/verifiedCreators.js +0 -18
- package/lib/esm/solana/generated/mpl-core/types/verifiedCreatorsSignature.js +0 -17
- package/lib/esm/utils/ao.js +0 -421
- package/lib/esm/utils/arweave.js +0 -271
- package/lib/esm/utils/processes.js +0 -167
- package/lib/esm/web/index.js +0 -20
- package/lib/types/common/ant-versions.d.ts +0 -39
- package/lib/types/common/arweave.d.ts +0 -17
- package/lib/types/common/contracts/ao-process.d.ts +0 -33
- package/lib/types/common/hyperbeam/hb.d.ts +0 -88
- package/lib/types/common/marketplace.d.ts +0 -556
- package/lib/types/common/turbo.d.ts +0 -61
- package/lib/types/node/index.d.ts +0 -20
- package/lib/types/solana/generated/ant/events/aclEntryAddedEvent.d.ts +0 -26
- package/lib/types/solana/generated/ant/events/aclEntryRemovedEvent.d.ts +0 -26
- package/lib/types/solana/generated/ant/events/antMetadataUpdatedEvent.d.ts +0 -28
- package/lib/types/solana/generated/ant/events/antReconciledEvent.d.ts +0 -28
- package/lib/types/solana/generated/ant/events/antTransferredEvent.d.ts +0 -26
- package/lib/types/solana/generated/ant/events/attributesClearedEvent.d.ts +0 -26
- package/lib/types/solana/generated/ant/events/attributesSyncedEvent.d.ts +0 -24
- package/lib/types/solana/generated/ant/events/controllerAddedEvent.d.ts +0 -26
- package/lib/types/solana/generated/ant/events/controllerRemovedEvent.d.ts +0 -26
- package/lib/types/solana/generated/ant/events/index.d.ts +0 -15
- package/lib/types/solana/generated/ant/events/recordMetadataPrunedEvent.d.ts +0 -26
- package/lib/types/solana/generated/ant/events/recordMetadataRemovedEvent.d.ts +0 -26
- package/lib/types/solana/generated/ant/events/recordMetadataUpdatedEvent.d.ts +0 -28
- package/lib/types/solana/generated/ant/events/recordRemovedEvent.d.ts +0 -26
- package/lib/types/solana/generated/ant/events/recordSetEvent.d.ts +0 -34
- package/lib/types/solana/generated/ant/events/recordTransferredEvent.d.ts +0 -30
- package/lib/types/solana/generated/ant-escrow/events/escrowCancelledEvent.d.ts +0 -28
- package/lib/types/solana/generated/ant-escrow/events/escrowClaimedEvent.d.ts +0 -32
- package/lib/types/solana/generated/ant-escrow/events/escrowDepositedEvent.d.ts +0 -36
- package/lib/types/solana/generated/ant-escrow/events/escrowRecipientUpdatedEvent.d.ts +0 -26
- package/lib/types/solana/generated/ant-escrow/events/index.d.ts +0 -4
- package/lib/types/solana/generated/arns/events/demandFactorUpdatedEvent.d.ts +0 -28
- package/lib/types/solana/generated/arns/events/index.d.ts +0 -12
- package/lib/types/solana/generated/arns/events/leaseExtendedEvent.d.ts +0 -32
- package/lib/types/solana/generated/arns/events/namePurchasedEvent.d.ts +0 -34
- package/lib/types/solana/generated/arns/events/nameReassignedEvent.d.ts +0 -28
- package/lib/types/solana/generated/arns/events/nameReleasedEvent.d.ts +0 -24
- package/lib/types/solana/generated/arns/events/nameReservedEvent.d.ts +0 -28
- package/lib/types/solana/generated/arns/events/nameUnreservedEvent.d.ts +0 -24
- package/lib/types/solana/generated/arns/events/nameUpgradedEvent.d.ts +0 -28
- package/lib/types/solana/generated/arns/events/namesPrunedEvent.d.ts +0 -26
- package/lib/types/solana/generated/arns/events/reservedNameClaimedEvent.d.ts +0 -24
- package/lib/types/solana/generated/arns/events/returnedNamePurchasedEvent.d.ts +0 -32
- package/lib/types/solana/generated/arns/events/undernameIncreasedEvent.d.ts +0 -32
- package/lib/types/solana/generated/core/events/configUpdatedEvent.d.ts +0 -26
- package/lib/types/solana/generated/core/events/coreMigrationFinalizedEvent.d.ts +0 -26
- package/lib/types/solana/generated/core/events/index.d.ts +0 -13
- package/lib/types/solana/generated/core/events/primaryNameRemovedEvent.d.ts +0 -26
- package/lib/types/solana/generated/core/events/primaryNameRequestExpiredEvent.d.ts +0 -26
- package/lib/types/solana/generated/core/events/primaryNameRequestedEvent.d.ts +0 -30
- package/lib/types/solana/generated/core/events/primaryNameSetEvent.d.ts +0 -24
- package/lib/types/solana/generated/core/events/supplyFinalizedEvent.d.ts +0 -26
- package/lib/types/solana/generated/core/events/transferEvent.d.ts +0 -26
- package/lib/types/solana/generated/core/events/vaultCreatedEvent.d.ts +0 -28
- package/lib/types/solana/generated/core/events/vaultExtendedEvent.d.ts +0 -26
- package/lib/types/solana/generated/core/events/vaultIncreasedEvent.d.ts +0 -28
- package/lib/types/solana/generated/core/events/vaultReleasedEvent.d.ts +0 -26
- package/lib/types/solana/generated/core/events/vaultRevokedEvent.d.ts +0 -28
- package/lib/types/solana/generated/gar/events/allowlistToggledEvent.d.ts +0 -24
- package/lib/types/solana/generated/gar/events/delegateAllowlistedEvent.d.ts +0 -26
- package/lib/types/solana/generated/gar/events/delegationClosedEvent.d.ts +0 -24
- package/lib/types/solana/generated/gar/events/delegationDecreasedEvent.d.ts +0 -28
- package/lib/types/solana/generated/gar/events/delegationEvent.d.ts +0 -28
- package/lib/types/solana/generated/gar/events/epochClosedEvent.d.ts +0 -24
- package/lib/types/solana/generated/gar/events/epochCreatedEvent.d.ts +0 -26
- package/lib/types/solana/generated/gar/events/epochDistributedEvent.d.ts +0 -26
- package/lib/types/solana/generated/gar/events/epochPrescribedEvent.d.ts +0 -28
- package/lib/types/solana/generated/gar/events/epochWeightsTalliedEvent.d.ts +0 -26
- package/lib/types/solana/generated/gar/events/epochsToggledEvent.d.ts +0 -24
- package/lib/types/solana/generated/gar/events/fundingPlanAppliedEvent.d.ts +0 -28
- package/lib/types/solana/generated/gar/events/garMigrationFinalizedEvent.d.ts +0 -26
- package/lib/types/solana/generated/gar/events/gatewayFinalizedEvent.d.ts +0 -24
- package/lib/types/solana/generated/gar/events/gatewayJoinedEvent.d.ts +0 -26
- package/lib/types/solana/generated/gar/events/gatewayLeavingEvent.d.ts +0 -22
- package/lib/types/solana/generated/gar/events/gatewayPrunedEvent.d.ts +0 -26
- package/lib/types/solana/generated/gar/events/gatewaySettingsUpdatedEvent.d.ts +0 -24
- package/lib/types/solana/generated/gar/events/index.d.ts +0 -30
- package/lib/types/solana/generated/gar/events/instantWithdrawalEvent.d.ts +0 -30
- package/lib/types/solana/generated/gar/events/observationSubmittedEvent.d.ts +0 -28
- package/lib/types/solana/generated/gar/events/observerAddressUpdatedEvent.d.ts +0 -24
- package/lib/types/solana/generated/gar/events/operatorStakeIncreasedEvent.d.ts +0 -26
- package/lib/types/solana/generated/gar/events/redelegationEvent.d.ts +0 -30
- package/lib/types/solana/generated/gar/events/residueVaultCreatedEvent.d.ts +0 -30
- package/lib/types/solana/generated/gar/events/rewardsCompoundedEvent.d.ts +0 -26
- package/lib/types/solana/generated/gar/events/stakePaymentEvent.d.ts +0 -28
- package/lib/types/solana/generated/gar/events/withdrawalCancelledEvent.d.ts +0 -30
- package/lib/types/solana/generated/gar/events/withdrawalClaimedEvent.d.ts +0 -26
- package/lib/types/solana/generated/gar/events/withdrawalCreatedEvent.d.ts +0 -28
- package/lib/types/solana/generated/gar/events/withdrawalPaymentEvent.d.ts +0 -28
- package/lib/types/solana/generated/mpl-core/accounts/assetV1.d.ts +0 -37
- package/lib/types/solana/generated/mpl-core/accounts/collectionV1.d.ts +0 -37
- package/lib/types/solana/generated/mpl-core/accounts/hashedAssetV1.d.ts +0 -30
- package/lib/types/solana/generated/mpl-core/accounts/index.d.ts +0 -12
- package/lib/types/solana/generated/mpl-core/accounts/pluginHeaderV1.d.ts +0 -30
- package/lib/types/solana/generated/mpl-core/accounts/pluginRegistryV1.d.ts +0 -31
- package/lib/types/solana/generated/mpl-core/errors/index.d.ts +0 -8
- package/lib/types/solana/generated/mpl-core/errors/mplCore.d.ts +0 -133
- package/lib/types/solana/generated/mpl-core/index.d.ts +0 -8
- package/lib/types/solana/generated/mpl-core/instructions/addCollectionExternalPluginAdapterV1.d.ts +0 -56
- package/lib/types/solana/generated/mpl-core/instructions/addCollectionPluginV1.d.ts +0 -59
- package/lib/types/solana/generated/mpl-core/instructions/addExternalPluginAdapterV1.d.ts +0 -60
- package/lib/types/solana/generated/mpl-core/instructions/addPluginV1.d.ts +0 -63
- package/lib/types/solana/generated/mpl-core/instructions/approveCollectionPluginAuthorityV1.d.ts +0 -59
- package/lib/types/solana/generated/mpl-core/instructions/approvePluginAuthorityV1.d.ts +0 -63
- package/lib/types/solana/generated/mpl-core/instructions/burnCollectionV1.d.ts +0 -52
- package/lib/types/solana/generated/mpl-core/instructions/burnV1.d.ts +0 -60
- package/lib/types/solana/generated/mpl-core/instructions/collect.d.ts +0 -39
- package/lib/types/solana/generated/mpl-core/instructions/compressV1.d.ts +0 -55
- package/lib/types/solana/generated/mpl-core/instructions/createCollectionV1.d.ts +0 -58
- package/lib/types/solana/generated/mpl-core/instructions/createCollectionV2.d.ts +0 -61
- package/lib/types/solana/generated/mpl-core/instructions/createV1.d.ts +0 -77
- package/lib/types/solana/generated/mpl-core/instructions/createV2.d.ts +0 -80
- package/lib/types/solana/generated/mpl-core/instructions/decompressV1.d.ts +0 -60
- package/lib/types/solana/generated/mpl-core/instructions/executeV1.d.ts +0 -63
- package/lib/types/solana/generated/mpl-core/instructions/index.d.ts +0 -40
- package/lib/types/solana/generated/mpl-core/instructions/removeCollectionExternalPluginAdapterV1.d.ts +0 -56
- package/lib/types/solana/generated/mpl-core/instructions/removeCollectionPluginV1.d.ts +0 -56
- package/lib/types/solana/generated/mpl-core/instructions/removeExternalPluginAdapterV1.d.ts +0 -60
- package/lib/types/solana/generated/mpl-core/instructions/removePluginV1.d.ts +0 -60
- package/lib/types/solana/generated/mpl-core/instructions/revokeCollectionPluginAuthorityV1.d.ts +0 -56
- package/lib/types/solana/generated/mpl-core/instructions/revokePluginAuthorityV1.d.ts +0 -60
- package/lib/types/solana/generated/mpl-core/instructions/transferV1.d.ts +0 -64
- package/lib/types/solana/generated/mpl-core/instructions/updateCollectionExternalPluginAdapterV1.d.ts +0 -59
- package/lib/types/solana/generated/mpl-core/instructions/updateCollectionInfoV1.d.ts +0 -47
- package/lib/types/solana/generated/mpl-core/instructions/updateCollectionPluginV1.d.ts +0 -56
- package/lib/types/solana/generated/mpl-core/instructions/updateCollectionV1.d.ts +0 -62
- package/lib/types/solana/generated/mpl-core/instructions/updateExternalPluginAdapterV1.d.ts +0 -63
- package/lib/types/solana/generated/mpl-core/instructions/updatePluginV1.d.ts +0 -60
- package/lib/types/solana/generated/mpl-core/instructions/updateV1.d.ts +0 -66
- package/lib/types/solana/generated/mpl-core/instructions/updateV2.d.ts +0 -70
- package/lib/types/solana/generated/mpl-core/instructions/writeCollectionExternalPluginAdapterDataV1.d.ts +0 -63
- package/lib/types/solana/generated/mpl-core/instructions/writeExternalPluginAdapterDataV1.d.ts +0 -67
- package/lib/types/solana/generated/mpl-core/program-address.d.ts +0 -7
- package/lib/types/solana/generated/mpl-core/types/addAssetsToGroupV1Args.d.ts +0 -13
- package/lib/types/solana/generated/mpl-core/types/addBlocker.d.ts +0 -13
- package/lib/types/solana/generated/mpl-core/types/addCollectionsToGroupV1Args.d.ts +0 -13
- package/lib/types/solana/generated/mpl-core/types/addGroupsToGroupV1Args.d.ts +0 -15
- package/lib/types/solana/generated/mpl-core/types/agentIdentity.d.ts +0 -15
- package/lib/types/solana/generated/mpl-core/types/agentIdentityInitInfo.d.ts +0 -22
- package/lib/types/solana/generated/mpl-core/types/agentIdentityUpdateInfo.d.ts +0 -20
- package/lib/types/solana/generated/mpl-core/types/appData.d.ts +0 -20
- package/lib/types/solana/generated/mpl-core/types/appDataInitInfo.d.ts +0 -22
- package/lib/types/solana/generated/mpl-core/types/appDataUpdateInfo.d.ts +0 -18
- package/lib/types/solana/generated/mpl-core/types/attribute.d.ts +0 -16
- package/lib/types/solana/generated/mpl-core/types/attributes.d.ts +0 -18
- package/lib/types/solana/generated/mpl-core/types/authority.d.ts +0 -29
- package/lib/types/solana/generated/mpl-core/types/autograph.d.ts +0 -18
- package/lib/types/solana/generated/mpl-core/types/autographSignature.d.ts +0 -16
- package/lib/types/solana/generated/mpl-core/types/bubblegumV2.d.ts +0 -13
- package/lib/types/solana/generated/mpl-core/types/burnDelegate.d.ts +0 -13
- package/lib/types/solana/generated/mpl-core/types/closeGroupV1Args.d.ts +0 -13
- package/lib/types/solana/generated/mpl-core/types/compressionProof.d.ts +0 -28
- package/lib/types/solana/generated/mpl-core/types/creator.d.ts +0 -16
- package/lib/types/solana/generated/mpl-core/types/dataSection.d.ts +0 -20
- package/lib/types/solana/generated/mpl-core/types/dataSectionInitInfo.d.ts +0 -20
- package/lib/types/solana/generated/mpl-core/types/dataSectionUpdateInfo.d.ts +0 -13
- package/lib/types/solana/generated/mpl-core/types/dataState.d.ts +0 -16
- package/lib/types/solana/generated/mpl-core/types/edition.d.ts +0 -15
- package/lib/types/solana/generated/mpl-core/types/externalCheckResult.d.ts +0 -15
- package/lib/types/solana/generated/mpl-core/types/externalPluginAdapter.d.ts +0 -66
- package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterInitInfo.d.ts +0 -66
- package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterKey.d.ts +0 -64
- package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterSchema.d.ts +0 -17
- package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterType.d.ts +0 -21
- package/lib/types/solana/generated/mpl-core/types/externalPluginAdapterUpdateInfo.d.ts +0 -59
- package/lib/types/solana/generated/mpl-core/types/externalRegistryRecord.d.ts +0 -28
- package/lib/types/solana/generated/mpl-core/types/externalValidationResult.d.ts +0 -17
- package/lib/types/solana/generated/mpl-core/types/extraAccount.d.ts +0 -86
- package/lib/types/solana/generated/mpl-core/types/freezeDelegate.d.ts +0 -15
- package/lib/types/solana/generated/mpl-core/types/freezeExecute.d.ts +0 -15
- package/lib/types/solana/generated/mpl-core/types/groups.d.ts +0 -15
- package/lib/types/solana/generated/mpl-core/types/hashablePluginSchema.d.ts +0 -22
- package/lib/types/solana/generated/mpl-core/types/hashedAssetSchema.d.ts +0 -16
- package/lib/types/solana/generated/mpl-core/types/hookableLifecycleEvent.d.ts +0 -19
- package/lib/types/solana/generated/mpl-core/types/immutableMetadata.d.ts +0 -13
- package/lib/types/solana/generated/mpl-core/types/index.d.ts +0 -89
- package/lib/types/solana/generated/mpl-core/types/key.d.ts +0 -21
- package/lib/types/solana/generated/mpl-core/types/lifecycleHook.d.ts +0 -24
- package/lib/types/solana/generated/mpl-core/types/lifecycleHookInitInfo.d.ts +0 -28
- package/lib/types/solana/generated/mpl-core/types/lifecycleHookUpdateInfo.d.ts +0 -22
- package/lib/types/solana/generated/mpl-core/types/linkedAppData.d.ts +0 -20
- package/lib/types/solana/generated/mpl-core/types/linkedAppDataInitInfo.d.ts +0 -22
- package/lib/types/solana/generated/mpl-core/types/linkedAppDataUpdateInfo.d.ts +0 -18
- package/lib/types/solana/generated/mpl-core/types/linkedDataKey.d.ts +0 -31
- package/lib/types/solana/generated/mpl-core/types/linkedLifecycleHook.d.ts +0 -24
- package/lib/types/solana/generated/mpl-core/types/linkedLifecycleHookInitInfo.d.ts +0 -28
- package/lib/types/solana/generated/mpl-core/types/linkedLifecycleHookUpdateInfo.d.ts +0 -22
- package/lib/types/solana/generated/mpl-core/types/masterEdition.d.ts +0 -21
- package/lib/types/solana/generated/mpl-core/types/oracle.d.ts +0 -22
- package/lib/types/solana/generated/mpl-core/types/oracleInitInfo.d.ts +0 -26
- package/lib/types/solana/generated/mpl-core/types/oracleUpdateInfo.d.ts +0 -22
- package/lib/types/solana/generated/mpl-core/types/oracleValidation.d.ts +0 -35
- package/lib/types/solana/generated/mpl-core/types/permanentBurnDelegate.d.ts +0 -13
- package/lib/types/solana/generated/mpl-core/types/permanentFreezeDelegate.d.ts +0 -15
- package/lib/types/solana/generated/mpl-core/types/permanentFreezeExecute.d.ts +0 -15
- package/lib/types/solana/generated/mpl-core/types/permanentTransferDelegate.d.ts +0 -13
- package/lib/types/solana/generated/mpl-core/types/plugin.d.ts +0 -150
- package/lib/types/solana/generated/mpl-core/types/pluginAuthorityPair.d.ts +0 -20
- package/lib/types/solana/generated/mpl-core/types/pluginType.d.ts +0 -33
- package/lib/types/solana/generated/mpl-core/types/registryRecord.d.ts +0 -22
- package/lib/types/solana/generated/mpl-core/types/relationshipKind.d.ts +0 -18
- package/lib/types/solana/generated/mpl-core/types/removeAssetsFromGroupV1Args.d.ts +0 -15
- package/lib/types/solana/generated/mpl-core/types/removeCollectionsFromGroupV1Args.d.ts +0 -15
- package/lib/types/solana/generated/mpl-core/types/removeGroupsFromGroupV1Args.d.ts +0 -15
- package/lib/types/solana/generated/mpl-core/types/royalties.d.ts +0 -22
- package/lib/types/solana/generated/mpl-core/types/ruleSet.d.ts +0 -27
- package/lib/types/solana/generated/mpl-core/types/seed.d.ts +0 -36
- package/lib/types/solana/generated/mpl-core/types/transferDelegate.d.ts +0 -13
- package/lib/types/solana/generated/mpl-core/types/updateAuthority.d.ts +0 -27
- package/lib/types/solana/generated/mpl-core/types/updateDelegate.d.ts +0 -15
- package/lib/types/solana/generated/mpl-core/types/updateGroupV1Args.d.ts +0 -19
- package/lib/types/solana/generated/mpl-core/types/updateType.d.ts +0 -17
- package/lib/types/solana/generated/mpl-core/types/validationResult.d.ts +0 -18
- package/lib/types/solana/generated/mpl-core/types/validationResultsOffset.d.ts +0 -33
- package/lib/types/solana/generated/mpl-core/types/verifiedCreators.d.ts +0 -18
- package/lib/types/solana/generated/mpl-core/types/verifiedCreatorsSignature.d.ts +0 -16
- package/lib/types/utils/ao.d.ts +0 -80
- package/lib/types/utils/arweave.d.ts +0 -79
- package/lib/types/utils/processes.d.ts +0 -39
- package/lib/types/web/index.d.ts +0 -20
package/lib/esm/solana/send.js
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
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
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
1
16
|
/**
|
|
2
17
|
* Shared helpers for building, signing, and sending Solana transactions
|
|
3
18
|
* with @solana/kit. Used by SolanaARIOWriteable and SolanaANTWriteable.
|
|
@@ -8,17 +23,18 @@
|
|
|
8
23
|
* favor of the official package. See `sendAndConfirm` below for why we always
|
|
9
24
|
* pin BOTH instructions (even with a 0 priority fee).
|
|
10
25
|
*/
|
|
26
|
+
import { ADDRESS_LOOKUP_TABLE_PROGRAM_ADDRESS, getCloseLookupTableInstruction, getCreateLookupTableInstructionAsync, getDeactivateLookupTableInstruction, getExtendLookupTableInstruction, } from '@solana-program/address-lookup-table';
|
|
11
27
|
import { getSetComputeUnitLimitInstruction, getSetComputeUnitPriceInstruction, } from '@solana-program/compute-budget';
|
|
12
|
-
import { appendTransactionMessageInstructions, compileTransaction, createTransactionMessage, getBase64EncodedWireTransaction, getSignatureFromTransaction, pipe, sendAndConfirmTransactionFactory, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, signTransactionMessageWithSigners, } from '@solana/kit';
|
|
28
|
+
import { appendTransactionMessageInstructions, compileTransaction, compressTransactionMessageUsingAddressLookupTables, createTransactionMessage, getAddressDecoder, getBase64EncodedWireTransaction, getSignatureFromTransaction, pipe, sendAndConfirmTransactionFactory, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, signTransactionMessageWithSigners, } from '@solana/kit';
|
|
13
29
|
/**
|
|
14
30
|
* Build, sign, send, and confirm a transaction in one call.
|
|
15
31
|
*
|
|
16
32
|
* The caller supplies the core instructions; a compute-unit-limit instruction
|
|
17
33
|
* is prepended automatically.
|
|
18
34
|
*/
|
|
19
|
-
export async function sendAndConfirm({ rpc, rpcSubscriptions, signer, instructions, commitment = 'confirmed', computeUnitLimit = 400_000, }) {
|
|
35
|
+
export async function sendAndConfirm({ rpc, rpcSubscriptions, signer, instructions, commitment = 'confirmed', computeUnitLimit = 400_000, addressLookupTables, }) {
|
|
20
36
|
const { value: latestBlockhash } = await rpc.getLatestBlockhash().send();
|
|
21
|
-
const
|
|
37
|
+
const baseMessage = pipe(createTransactionMessage({ version: 0 }), (tx) => setTransactionMessageFeePayerSigner(signer, tx), (tx) => setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, tx), (tx) => appendTransactionMessageInstructions([
|
|
22
38
|
getSetComputeUnitLimitInstruction({ units: computeUnitLimit }),
|
|
23
39
|
// Always pin the priority fee (even at 0) so wallets like Phantom
|
|
24
40
|
// don't silently *append* their own compute-budget instructions
|
|
@@ -32,6 +48,10 @@ export async function sendAndConfirm({ rpc, rpcSubscriptions, signer, instructio
|
|
|
32
48
|
getSetComputeUnitPriceInstruction({ microLamports: 0n }),
|
|
33
49
|
...instructions,
|
|
34
50
|
], tx));
|
|
51
|
+
// Compress against any supplied lookup tables (v0). No-op when none given.
|
|
52
|
+
const message = addressLookupTables
|
|
53
|
+
? compressTransactionMessageUsingAddressLookupTables(baseMessage, addressLookupTables)
|
|
54
|
+
: baseMessage;
|
|
35
55
|
const signedTx = await signTransactionMessageWithSigners(message);
|
|
36
56
|
const sendAndConfirmFactory = sendAndConfirmTransactionFactory({
|
|
37
57
|
rpc,
|
|
@@ -115,3 +135,238 @@ async function logSimulationDiagnostics(rpc, message, originalError) {
|
|
|
115
135
|
console.warn('[solana-send] failed to collect diagnostics', diagErr);
|
|
116
136
|
}
|
|
117
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Submit `instruction` in a v0 transaction whose `lookupAddresses` (read-only
|
|
140
|
+
* accounts) are served from a freshly-created, ephemeral Address Lookup Table,
|
|
141
|
+
* so an instruction touching far more accounts than fit inline (e.g.
|
|
142
|
+
* `prescribe_epoch` with ≤50 observer PDAs + NameRegistry, ~2 KB of keys) still
|
|
143
|
+
* fits Solana's 1232-byte transaction-size limit.
|
|
144
|
+
*
|
|
145
|
+
* Three confirmed steps: create the table, extend it with the addresses (in
|
|
146
|
+
* ≤20-address batches to stay within the extend tx size), then send
|
|
147
|
+
* `instruction` compressed against the table. The sequential confirmations
|
|
148
|
+
* satisfy the rule that appended addresses are only usable the slot AFTER they
|
|
149
|
+
* are added. `signer` is the table's authority + payer; the table's (tiny) rent
|
|
150
|
+
* is left allocated — a future cleanup pass can deactivate + close it.
|
|
151
|
+
*/
|
|
152
|
+
export async function sendWithEphemeralLookupTable({ rpc, rpcSubscriptions, signer, instruction, lookupAddresses, commitment = 'confirmed', computeUnitLimit = 1_000_000, }) {
|
|
153
|
+
const recentSlot = await rpc.getSlot({ commitment: 'finalized' }).send();
|
|
154
|
+
const createIx = await getCreateLookupTableInstructionAsync({
|
|
155
|
+
authority: signer.address,
|
|
156
|
+
payer: signer,
|
|
157
|
+
recentSlot,
|
|
158
|
+
});
|
|
159
|
+
const tableAddress = createIx.accounts[0].address;
|
|
160
|
+
// Create the (empty) table.
|
|
161
|
+
await sendAndConfirm({
|
|
162
|
+
rpc,
|
|
163
|
+
rpcSubscriptions,
|
|
164
|
+
signer,
|
|
165
|
+
instructions: [createIx],
|
|
166
|
+
commitment,
|
|
167
|
+
computeUnitLimit: 60_000,
|
|
168
|
+
});
|
|
169
|
+
// Fill it, ≤20 addresses per extend tx.
|
|
170
|
+
const BATCH = 20;
|
|
171
|
+
for (let i = 0; i < lookupAddresses.length; i += BATCH) {
|
|
172
|
+
const extendIx = getExtendLookupTableInstruction({
|
|
173
|
+
address: tableAddress,
|
|
174
|
+
authority: signer,
|
|
175
|
+
payer: signer,
|
|
176
|
+
addresses: lookupAddresses.slice(i, i + BATCH),
|
|
177
|
+
});
|
|
178
|
+
await sendAndConfirm({
|
|
179
|
+
rpc,
|
|
180
|
+
rpcSubscriptions,
|
|
181
|
+
signer,
|
|
182
|
+
instructions: [extendIx],
|
|
183
|
+
commitment,
|
|
184
|
+
computeUnitLimit: 60_000,
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
// Wait until the table holds every address AND one slot has elapsed since —
|
|
188
|
+
// addresses appended to a lookup table are only usable the slot AFTER they're
|
|
189
|
+
// added, and the validator that processes the prescribe must already see
|
|
190
|
+
// them. Skipping this yields "address table lookup uses an invalid index".
|
|
191
|
+
await waitForLookupTableActive(rpc, tableAddress, lookupAddresses.length);
|
|
192
|
+
// Send the real instruction, compressed against the now-active table.
|
|
193
|
+
return sendAndConfirm({
|
|
194
|
+
rpc,
|
|
195
|
+
rpcSubscriptions,
|
|
196
|
+
signer,
|
|
197
|
+
instructions: [instruction],
|
|
198
|
+
commitment,
|
|
199
|
+
computeUnitLimit,
|
|
200
|
+
addressLookupTables: { [tableAddress]: lookupAddresses },
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Poll until an Address Lookup Table holds at least `expectedCount` addresses
|
|
205
|
+
* AND at least one slot has elapsed since they all landed. Lookup-table entries
|
|
206
|
+
* are only usable the slot AFTER they are appended, and the leader processing
|
|
207
|
+
* the consuming tx must already see them — otherwise the runtime rejects the tx
|
|
208
|
+
* with "address table lookup uses an invalid index". ALT account layout is a
|
|
209
|
+
* 56-byte metadata header followed by 32-byte addresses.
|
|
210
|
+
*/
|
|
211
|
+
async function waitForLookupTableActive(rpc, table, expectedCount, maxWaitMs = 30_000) {
|
|
212
|
+
const META = 56;
|
|
213
|
+
const start = Date.now();
|
|
214
|
+
let slotAllPresent = null;
|
|
215
|
+
while (Date.now() - start < maxWaitMs) {
|
|
216
|
+
const acc = await rpc.getAccountInfo(table, { encoding: 'base64' }).send();
|
|
217
|
+
const slot = acc.context.slot;
|
|
218
|
+
if (acc.value) {
|
|
219
|
+
const len = Buffer.from(acc.value.data[0], 'base64').length;
|
|
220
|
+
const count = len >= META ? Math.floor((len - META) / 32) : 0;
|
|
221
|
+
if (count >= expectedCount) {
|
|
222
|
+
if (slotAllPresent === null) {
|
|
223
|
+
slotAllPresent = slot;
|
|
224
|
+
}
|
|
225
|
+
else if (slot > slotAllPresent) {
|
|
226
|
+
return; // all addresses present + a slot has elapsed → warm
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
await new Promise((r) => setTimeout(r, 800));
|
|
231
|
+
}
|
|
232
|
+
throw new Error(`lookup table ${table} not active (≥${expectedCount} addresses + 1 slot) within ${maxWaitMs}ms`);
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Reclaim rent from the ephemeral Address Lookup Tables `signer` created for
|
|
236
|
+
* prescribe (see {@link sendWithEphemeralLookupTable}). Each prescribe leaves a
|
|
237
|
+
* single-use table allocated (~0.0126 SOL of rent); reclaiming needs a
|
|
238
|
+
* deactivate → ~513-slot cooldown → close sequence, so it can't run inline — a
|
|
239
|
+
* throttled permissionless cleanup pass (cranker / observer) calls this.
|
|
240
|
+
*
|
|
241
|
+
* Discovery is RPC-portable. `getProgramAccounts` on the Address Lookup Table
|
|
242
|
+
* program is rejected by Agave RPCs (`Invalid param: WrongSize`, on public
|
|
243
|
+
* devnet/mainnet-beta and dedicated providers alike — the ALT program can't be
|
|
244
|
+
* enumerated), so instead we read the signer's own transaction history
|
|
245
|
+
* (`getSignaturesForAddress` + `getTransaction`) and collect the tables it
|
|
246
|
+
* referenced via `message.addressTableLookups` — a prescribe ALT is used in
|
|
247
|
+
* exactly one transaction.
|
|
248
|
+
*
|
|
249
|
+
* Safety fingerprint: a candidate is only touched when EVERY one of its entries
|
|
250
|
+
* is owned by a program in `allowedEntryOwners` (the GAR + ArNS programs — i.e.
|
|
251
|
+
* observer Gateway PDAs + the ArNS NameRegistry). That composition uniquely
|
|
252
|
+
* identifies a prescribe ephemeral, so the pass never deactivates/closes an
|
|
253
|
+
* unrelated table even if `signer` is also used to author Address Lookup Tables
|
|
254
|
+
* for other purposes.
|
|
255
|
+
*
|
|
256
|
+
* DEACTIVATES still-active matches (starts the cooldown) and CLOSES deactivated
|
|
257
|
+
* matches past the cooldown (refunding rent to `signer`). At most `maxTables`
|
|
258
|
+
* submissions per call; scans at most `scanLimit` recent signatures. Best-effort:
|
|
259
|
+
* per-table failures are skipped and retried on the next pass.
|
|
260
|
+
*/
|
|
261
|
+
export async function reclaimLookupTablesForSigner({ rpc, rpcSubscriptions, signer, allowedEntryOwners, commitment = 'confirmed', maxTables = 10, scanLimit = 500, }) {
|
|
262
|
+
const ALT_META = 56; // metadata header before the 32-byte address array
|
|
263
|
+
const ACTIVE = 0xffffffffffffffffn; // u64::MAX = not yet deactivated
|
|
264
|
+
const COOLDOWN_SLOTS = 513n; // deactivation_slot must age out of SlotHashes
|
|
265
|
+
const allowed = new Set(allowedEntryOwners);
|
|
266
|
+
const addressDecoder = getAddressDecoder();
|
|
267
|
+
// getTransaction only honours 'confirmed' | 'finalized'.
|
|
268
|
+
const historyCommitment = commitment === 'finalized' ? 'finalized' : 'confirmed';
|
|
269
|
+
// --- Discover candidate tables from the signer's transaction history -------
|
|
270
|
+
const sigs = await rpc
|
|
271
|
+
.getSignaturesForAddress(signer.address, { limit: scanLimit })
|
|
272
|
+
.send();
|
|
273
|
+
const candidates = new Set();
|
|
274
|
+
for (const { signature } of sigs) {
|
|
275
|
+
// A little headroom over maxTables so already-closed candidates don't
|
|
276
|
+
// starve the budget; the rest get picked up next pass.
|
|
277
|
+
if (candidates.size >= maxTables * 3)
|
|
278
|
+
break;
|
|
279
|
+
const tx = await rpc
|
|
280
|
+
.getTransaction(signature, {
|
|
281
|
+
encoding: 'json',
|
|
282
|
+
maxSupportedTransactionVersion: 0,
|
|
283
|
+
commitment: historyCommitment,
|
|
284
|
+
})
|
|
285
|
+
.send();
|
|
286
|
+
const lookups = tx?.transaction?.message?.addressTableLookups ?? [];
|
|
287
|
+
for (const l of lookups)
|
|
288
|
+
candidates.add(l.accountKey);
|
|
289
|
+
}
|
|
290
|
+
// --- Reclaim ----------------------------------------------------------------
|
|
291
|
+
const currentSlot = await rpc.getSlot().send();
|
|
292
|
+
let deactivated = 0;
|
|
293
|
+
let closed = 0;
|
|
294
|
+
for (const table of candidates) {
|
|
295
|
+
if (deactivated + closed >= maxTables)
|
|
296
|
+
break;
|
|
297
|
+
const address = table;
|
|
298
|
+
try {
|
|
299
|
+
const info = await rpc
|
|
300
|
+
.getAccountInfo(address, { encoding: 'base64' })
|
|
301
|
+
.send();
|
|
302
|
+
const value = info.value;
|
|
303
|
+
if (!value)
|
|
304
|
+
continue; // already closed
|
|
305
|
+
if (value.owner !==
|
|
306
|
+
ADDRESS_LOOKUP_TABLE_PROGRAM_ADDRESS) {
|
|
307
|
+
continue;
|
|
308
|
+
}
|
|
309
|
+
const data = Buffer.from(value.data[0], 'base64');
|
|
310
|
+
if (data.length < ALT_META)
|
|
311
|
+
continue;
|
|
312
|
+
const deactivationSlot = data.readBigUInt64LE(4);
|
|
313
|
+
// Fingerprint: every entry must be owned by an allowed program. A prescribe
|
|
314
|
+
// ALT is exclusively observer Gateway PDAs (GAR) + the NameRegistry (ArNS).
|
|
315
|
+
const entries = [];
|
|
316
|
+
for (let off = ALT_META; off + 32 <= data.length; off += 32) {
|
|
317
|
+
entries.push(addressDecoder.decode(data.subarray(off, off + 32)));
|
|
318
|
+
}
|
|
319
|
+
if (entries.length === 0)
|
|
320
|
+
continue;
|
|
321
|
+
const owners = await rpc
|
|
322
|
+
.getMultipleAccounts(entries, {
|
|
323
|
+
encoding: 'base64',
|
|
324
|
+
dataSlice: { offset: 0, length: 0 },
|
|
325
|
+
})
|
|
326
|
+
.send();
|
|
327
|
+
const allOwned = owners.value.every((a) => a != null && allowed.has(a.owner));
|
|
328
|
+
if (!allOwned)
|
|
329
|
+
continue; // not a prescribe ephemeral — leave it alone
|
|
330
|
+
if (deactivationSlot === ACTIVE) {
|
|
331
|
+
await sendAndConfirm({
|
|
332
|
+
rpc,
|
|
333
|
+
rpcSubscriptions,
|
|
334
|
+
signer,
|
|
335
|
+
commitment,
|
|
336
|
+
computeUnitLimit: 30_000,
|
|
337
|
+
instructions: [
|
|
338
|
+
getDeactivateLookupTableInstruction({ address, authority: signer }),
|
|
339
|
+
],
|
|
340
|
+
});
|
|
341
|
+
deactivated += 1;
|
|
342
|
+
}
|
|
343
|
+
else if (currentSlot > deactivationSlot + COOLDOWN_SLOTS) {
|
|
344
|
+
await sendAndConfirm({
|
|
345
|
+
rpc,
|
|
346
|
+
rpcSubscriptions,
|
|
347
|
+
signer,
|
|
348
|
+
commitment,
|
|
349
|
+
computeUnitLimit: 30_000,
|
|
350
|
+
instructions: [
|
|
351
|
+
getCloseLookupTableInstruction({
|
|
352
|
+
address,
|
|
353
|
+
authority: signer,
|
|
354
|
+
recipient: signer.address,
|
|
355
|
+
}),
|
|
356
|
+
],
|
|
357
|
+
});
|
|
358
|
+
closed += 1;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
catch {
|
|
362
|
+
// best-effort: a racing close / not-yet-cooled table just gets retried
|
|
363
|
+
// on the next cleanup pass.
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
return {
|
|
367
|
+
deactivated,
|
|
368
|
+
closed,
|
|
369
|
+
candidates: candidates.size,
|
|
370
|
+
scannedSignatures: sigs.length,
|
|
371
|
+
};
|
|
372
|
+
}
|
|
@@ -1,3 +1,18 @@
|
|
|
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
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
1
16
|
/**
|
|
2
17
|
* Solana implementation of `ANT.spawn`.
|
|
3
18
|
*
|
|
@@ -17,11 +32,10 @@
|
|
|
17
32
|
*/
|
|
18
33
|
import { addSignersToTransactionMessage, appendTransactionMessageInstructions, createTransactionMessage, generateKeyPairSigner, getSignatureFromTransaction, pipe, sendAndConfirmTransactionFactory, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, signTransactionMessageWithSigners, } from '@solana/kit';
|
|
19
34
|
import { getInitializeInstructionAsync } from '@ar.io/solana-contracts/ant';
|
|
35
|
+
import { DataState, getCreateV1Instruction, } from '@ar.io/solana-contracts/mpl-core';
|
|
20
36
|
import { getSetComputeUnitLimitInstruction, getSetComputeUnitPriceInstruction, } from '@solana-program/compute-budget';
|
|
21
37
|
import { SolanaANTRegistryWriteable } from './ant-registry-writeable.js';
|
|
22
38
|
import { ARIO_ANT_PROGRAM_ID } from './constants.js';
|
|
23
|
-
import { getCreateV1Instruction } from './generated/mpl-core/instructions/index.js';
|
|
24
|
-
import { DataState } from './generated/mpl-core/types/index.js';
|
|
25
39
|
import { getAntRecordPDA } from './pda.js';
|
|
26
40
|
/** AR.IO logo Arweave TX — matches the Rust default in `ario_ant::initialize`. */
|
|
27
41
|
export const ARIO_LOGO_TX_ID = 'AnYvLJTWcG9lr2Ll5MwYWZR2o5uTE39WbpYB0zCxwKM';
|
package/lib/esm/types/ant.js
CHANGED
|
@@ -34,8 +34,8 @@ export const ArweaveTxIdSchema = z
|
|
|
34
34
|
.refine((val) => ARWEAVE_TX_REGEX.test(val), {
|
|
35
35
|
message: 'Must be an Arweave Transaction ID',
|
|
36
36
|
});
|
|
37
|
-
export const
|
|
38
|
-
description: '
|
|
37
|
+
export const WalletAddressSchema = z.string({
|
|
38
|
+
description: 'Wallet address (Solana base58 pubkey)',
|
|
39
39
|
});
|
|
40
40
|
export const IntegerStringSchema = z
|
|
41
41
|
.string({
|
|
@@ -63,7 +63,7 @@ export const AntRecordSchema = z.object({
|
|
|
63
63
|
.describe('Storage protocol: 0 = Arweave, 1 = IPFS')
|
|
64
64
|
.default(0),
|
|
65
65
|
priority: z.number().optional(),
|
|
66
|
-
owner:
|
|
66
|
+
owner: WalletAddressSchema.describe('The owner address of the record').optional(),
|
|
67
67
|
displayName: z
|
|
68
68
|
.string()
|
|
69
69
|
.max(61)
|
|
@@ -82,8 +82,8 @@ export const AntRecordSchema = z.object({
|
|
|
82
82
|
.optional(),
|
|
83
83
|
});
|
|
84
84
|
export const AntRecordsSchema = z.record(z.string(), AntRecordSchema);
|
|
85
|
-
export const AntControllersSchema = z.array(
|
|
86
|
-
export const AntBalancesSchema = z.record(
|
|
85
|
+
export const AntControllersSchema = z.array(WalletAddressSchema.describe('Controller address'));
|
|
86
|
+
export const AntBalancesSchema = z.record(WalletAddressSchema.describe('Holder address'), z.number());
|
|
87
87
|
export const AntStateSchema = z.object({
|
|
88
88
|
Name: z.string().describe('The name of the ANT.'),
|
|
89
89
|
Ticker: z.string().describe('The ticker symbol for the ANT.'),
|
|
@@ -93,7 +93,7 @@ export const AntStateSchema = z.object({
|
|
|
93
93
|
.number()
|
|
94
94
|
.describe('The number of decimal places to use for the ANT. Defaults to 0 if not set representing whole numbers.')
|
|
95
95
|
.min(0, { message: 'Denomination must be a non-negative number' }),
|
|
96
|
-
Owner:
|
|
96
|
+
Owner: WalletAddressSchema.describe('The Owners address.'),
|
|
97
97
|
Controllers: AntControllersSchema.describe('Controllers of the ANT who have administrative privileges.'),
|
|
98
98
|
Records: AntRecordsSchema.describe('Records associated with the ANT.'),
|
|
99
99
|
Balances: AntBalancesSchema.describe('Balance details for each address holding the ANT.'),
|
|
@@ -111,7 +111,7 @@ export const SpawnANTStateSchema = z.object({
|
|
|
111
111
|
ticker: z.string().describe('The ticker symbol for the ANT.'),
|
|
112
112
|
description: z.string().describe('The description for the ANT.'),
|
|
113
113
|
keywords: AntKeywordsSchema.describe('The keywords for the ANT.'),
|
|
114
|
-
owner:
|
|
114
|
+
owner: WalletAddressSchema.describe('The Owners address.'),
|
|
115
115
|
controllers: AntControllersSchema.describe('Controllers of the ANT who have administrative privileges.'),
|
|
116
116
|
records: AntRecordsSchema.describe('Records associated with the ANT.'),
|
|
117
117
|
balances: AntBalancesSchema.describe('Balance details for each address holding the ANT.'),
|
|
@@ -171,6 +171,6 @@ export const AntInfoSchema = z.object({
|
|
|
171
171
|
* @param state {object}
|
|
172
172
|
* @returns {boolean}
|
|
173
173
|
*/
|
|
174
|
-
export function
|
|
174
|
+
export function isANTState(state) {
|
|
175
175
|
return AntStateSchema.safeParse(state).success;
|
|
176
176
|
}
|
package/lib/esm/types/io.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { validateArweaveId } from '../utils/arweave.js';
|
|
2
1
|
export const isDistributedEpochData = (data) => {
|
|
3
2
|
return data.distributedTimestamp !== undefined;
|
|
4
3
|
};
|
|
@@ -34,15 +33,6 @@ export const isValidFundFrom = (fundFrom) => {
|
|
|
34
33
|
return fundFromOptions.indexOf(fundFrom) !== -1;
|
|
35
34
|
};
|
|
36
35
|
// Type-guard functions
|
|
37
|
-
export function isProcessConfiguration(config) {
|
|
38
|
-
return config !== undefined && 'process' in config;
|
|
39
|
-
}
|
|
40
|
-
export function isProcessIdConfiguration(config) {
|
|
41
|
-
return (config !== undefined &&
|
|
42
|
-
'processId' in config &&
|
|
43
|
-
typeof config.processId === 'string' &&
|
|
44
|
-
validateArweaveId(config.processId) === true);
|
|
45
|
-
}
|
|
46
36
|
export function isLeasedArNSRecord(record) {
|
|
47
37
|
return record.type === 'lease';
|
|
48
38
|
}
|
package/lib/esm/utils/ant.js
CHANGED
|
@@ -37,67 +37,3 @@ export const sortANTRecords = (antRecords) => {
|
|
|
37
37
|
// now that they are sorted, add the index to each record - this is their position in the sorted list and is used to enforce undername limits
|
|
38
38
|
return Object.fromEntries(sortedEntries.map(([a, aRecord], index) => [a, { ...aRecord, index }]));
|
|
39
39
|
};
|
|
40
|
-
/**
|
|
41
|
-
* @deprecated - this is no longer necessary because HyperBeam now uses the AoANTState type
|
|
42
|
-
*/
|
|
43
|
-
export const isHyperBeamANTState = (state) => {
|
|
44
|
-
return ('name' in state &&
|
|
45
|
-
'ticker' in state &&
|
|
46
|
-
'description' in state &&
|
|
47
|
-
'keywords' in state &&
|
|
48
|
-
'denomination' in state &&
|
|
49
|
-
'owner' in state &&
|
|
50
|
-
'controllers' in state &&
|
|
51
|
-
'records' in state &&
|
|
52
|
-
'balances' in state &&
|
|
53
|
-
'logo' in state &&
|
|
54
|
-
'totalsupply' in state &&
|
|
55
|
-
'initialized' in state);
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* Convert HyperBeam serialized ANT state to backwards compatible format.
|
|
59
|
-
*
|
|
60
|
-
* @deprecated - this is no longer necessary because HyperBeam now uses the AOANTState type
|
|
61
|
-
* @param state - The HyperBeam serialized ANT state.
|
|
62
|
-
*/
|
|
63
|
-
export const convertHyperBeamStateToAoANTState = (initialState) => {
|
|
64
|
-
function lowerCaseKeys(obj) {
|
|
65
|
-
return Object.fromEntries(Object.entries(obj).map(([key, value]) => {
|
|
66
|
-
if (key.toLowerCase().includes('balances')) {
|
|
67
|
-
return [key.toLowerCase(), value];
|
|
68
|
-
}
|
|
69
|
-
if (typeof value === 'object' &&
|
|
70
|
-
!Array.isArray(value) &&
|
|
71
|
-
value !== null) {
|
|
72
|
-
return [key.toLowerCase(), lowerCaseKeys(value)];
|
|
73
|
-
}
|
|
74
|
-
return [key.toLowerCase(), value];
|
|
75
|
-
}));
|
|
76
|
-
}
|
|
77
|
-
// we need to ensure keys are lower cased because hyperbeam json serializes keys to lowercase inconsistently
|
|
78
|
-
const state = lowerCaseKeys(initialState);
|
|
79
|
-
return {
|
|
80
|
-
Name: state.name,
|
|
81
|
-
Ticker: state.ticker,
|
|
82
|
-
Description: state.description,
|
|
83
|
-
Keywords: state.keywords,
|
|
84
|
-
Denomination: parseInt(state.denomination),
|
|
85
|
-
Owner: state.owner,
|
|
86
|
-
Controllers: state.controllers,
|
|
87
|
-
Records: Object.entries(state.records).reduce((acc, [key, record]) => {
|
|
88
|
-
acc[key] = {
|
|
89
|
-
transactionId: record.transactionid,
|
|
90
|
-
ttlSeconds: record.ttlseconds,
|
|
91
|
-
targetProtocol: 0,
|
|
92
|
-
...(record.priority !== undefined
|
|
93
|
-
? { priority: record.priority }
|
|
94
|
-
: {}),
|
|
95
|
-
};
|
|
96
|
-
return acc;
|
|
97
|
-
}, {}),
|
|
98
|
-
Balances: state.balances,
|
|
99
|
-
Logo: state.logo,
|
|
100
|
-
TotalSupply: state.totalsupply || 1,
|
|
101
|
-
Initialized: state.initialized,
|
|
102
|
-
};
|
|
103
|
-
};
|
package/lib/esm/utils/index.js
CHANGED
|
@@ -13,10 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
export * from './ao.js';
|
|
17
|
-
export * from './arweave.js';
|
|
18
16
|
export * from './base64.js';
|
|
19
17
|
export * from './json.js';
|
|
20
|
-
export * from './processes.js';
|
|
21
18
|
export * from './schema.js';
|
|
22
19
|
export * from './ant.js';
|
package/lib/esm/version.js
CHANGED
|
@@ -13,16 +13,13 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import {
|
|
17
|
-
import { CLIWriteOptionsFromAoAntParams
|
|
16
|
+
import { ANTSetBaseNameRecordParams, ANTSetUndernameRecordParams } from '../../types/ant.js';
|
|
17
|
+
import { CLIWriteOptionsFromAoAntParams } from '../types.js';
|
|
18
18
|
/** @deprecated -- use set-ant-base-name and set-ant-undername */
|
|
19
|
-
export declare function setAntRecordCLICommand(o: CLIWriteOptionsFromAoAntParams<
|
|
20
|
-
export declare function setAntBaseNameCLICommand(o: CLIWriteOptionsFromAoAntParams<
|
|
21
|
-
export declare function setAntUndernameCLICommand(o: CLIWriteOptionsFromAoAntParams<
|
|
19
|
+
export declare function setAntRecordCLICommand(o: CLIWriteOptionsFromAoAntParams<ANTSetUndernameRecordParams>): Promise<import("../../types/common.js").MessageResult<Record<string, string | number | boolean | null>>>;
|
|
20
|
+
export declare function setAntBaseNameCLICommand(o: CLIWriteOptionsFromAoAntParams<ANTSetBaseNameRecordParams>): Promise<import("../../types/common.js").MessageResult<Record<string, string | number | boolean | null>>>;
|
|
21
|
+
export declare function setAntUndernameCLICommand(o: CLIWriteOptionsFromAoAntParams<ANTSetUndernameRecordParams>): Promise<import("../../types/common.js").MessageResult<Record<string, string | number | boolean | null>>>;
|
|
22
22
|
export declare function transferRecordOwnershipCLICommand(o: CLIWriteOptionsFromAoAntParams<{
|
|
23
23
|
undername: string;
|
|
24
24
|
recipient: string;
|
|
25
|
-
}>): Promise<import("../../types/common.js").
|
|
26
|
-
export declare function upgradeAntCLICommand(o: CLIWriteOptionsFromAoAntParams<Record<string, unknown>>): Promise<{
|
|
27
|
-
[key: string]: JsonSerializable;
|
|
28
|
-
}>;
|
|
25
|
+
}>): Promise<import("../../types/common.js").MessageResult<Record<string, string | number | boolean | null>>>;
|
|
@@ -1,22 +1,36 @@
|
|
|
1
|
-
|
|
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
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { ArNSPurchaseParams, BuyRecordParams, ExtendLeaseParams, IncreaseUndernameLimitParams } from '../../types/io.js';
|
|
2
17
|
import { CLIWriteOptionsFromAoParams } from '../types.js';
|
|
3
|
-
export declare function buyRecordCLICommand(o: CLIWriteOptionsFromAoParams<
|
|
4
|
-
export declare function upgradeRecordCLICommand(o: CLIWriteOptionsFromAoParams<
|
|
5
|
-
export declare function extendLeaseCLICommand(o: CLIWriteOptionsFromAoParams<
|
|
6
|
-
export declare function increaseUndernameLimitCLICommand(o: CLIWriteOptionsFromAoParams<
|
|
7
|
-
export declare function requestPrimaryNameCLICommand(o: CLIWriteOptionsFromAoParams<
|
|
18
|
+
export declare function buyRecordCLICommand(o: CLIWriteOptionsFromAoParams<BuyRecordParams>): Promise<import("../../types/common.js").MessageResult>;
|
|
19
|
+
export declare function upgradeRecordCLICommand(o: CLIWriteOptionsFromAoParams<ArNSPurchaseParams>): Promise<import("../../types/common.js").MessageResult>;
|
|
20
|
+
export declare function extendLeaseCLICommand(o: CLIWriteOptionsFromAoParams<ExtendLeaseParams>): Promise<import("../../types/common.js").MessageResult>;
|
|
21
|
+
export declare function increaseUndernameLimitCLICommand(o: CLIWriteOptionsFromAoParams<IncreaseUndernameLimitParams>): Promise<import("../../types/common.js").MessageResult>;
|
|
22
|
+
export declare function requestPrimaryNameCLICommand(o: CLIWriteOptionsFromAoParams<ArNSPurchaseParams>): Promise<Omit<import("../../types/common.js").PrimaryNameRequest, "initiator"> & {
|
|
8
23
|
initiator: import("../../types/common.js").WalletAddress;
|
|
9
24
|
}>;
|
|
10
|
-
export declare function setPrimaryNameCLICommand(o: CLIWriteOptionsFromAoParams<
|
|
25
|
+
export declare function setPrimaryNameCLICommand(o: CLIWriteOptionsFromAoParams<ArNSPurchaseParams>): Promise<import("../../types/common.js").MessageResult>;
|
|
11
26
|
/**
|
|
12
27
|
* Reconcile the on-chain ANT Attributes plugin (`ArNS Name`, `Type`,
|
|
13
|
-
* `Undername Limit`) with the current `ArnsRecord` state. Permissionless
|
|
14
|
-
* Solana-only; AO backend will throw with a clear error.
|
|
28
|
+
* `Undername Limit`) with the current `ArnsRecord` state. Permissionless.
|
|
15
29
|
*
|
|
16
|
-
* Use after a `buy-record`
|
|
17
|
-
*
|
|
18
|
-
*
|
|
30
|
+
* Use after a `buy-record` where the buyer was not the ANT NFT holder
|
|
31
|
+
* (the ANT-side trait CPI gets skipped at runtime in that case so the
|
|
32
|
+
* plugin stays empty until the actual holder reconciles).
|
|
19
33
|
*/
|
|
20
34
|
export declare function syncAttributesCLICommand(o: CLIWriteOptionsFromAoParams<{
|
|
21
35
|
name: string;
|
|
22
|
-
}>): Promise<import("../../types/common.js").
|
|
36
|
+
}>): Promise<import("../../types/common.js").MessageResult>;
|
|
@@ -6,6 +6,12 @@
|
|
|
6
6
|
* You may obtain a copy of the License at
|
|
7
7
|
*
|
|
8
8
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
9
15
|
*/
|
|
10
16
|
/**
|
|
11
17
|
* CLI commands for `ario-ant-escrow` — trustless multi-protocol ANT custody.
|
|
@@ -1,38 +1,39 @@
|
|
|
1
1
|
import { AddressAndVaultIdCLIWriteOptions, DecreaseDelegateStakeCLIOptions, JoinNetworkCLIOptions, OperatorStakeCLIOptions, RedelegateStakeCLIOptions, TransferCLIOptions, UpdateGatewaySettingsCLIOptions, WriteActionCLIOptions } from '../types.js';
|
|
2
2
|
export declare function joinNetwork(options: JoinNetworkCLIOptions): Promise<{
|
|
3
|
-
joinNetworkResult: import("../../types/common.js").
|
|
3
|
+
joinNetworkResult: import("../../types/common.js").MessageResult<Record<string, string | number | boolean | null>>;
|
|
4
4
|
joinedAddress: string;
|
|
5
5
|
message: string;
|
|
6
6
|
}>;
|
|
7
7
|
export declare function updateGatewaySettings(options: UpdateGatewaySettingsCLIOptions): Promise<{
|
|
8
|
-
updateGatewaySettingsResult: import("../../types/common.js").
|
|
8
|
+
updateGatewaySettingsResult: import("../../types/common.js").MessageResult<Record<string, string | number | boolean | null>>;
|
|
9
9
|
updatedGatewayAddress: string;
|
|
10
10
|
message: string;
|
|
11
11
|
}>;
|
|
12
|
-
export declare function leaveNetwork(options: WriteActionCLIOptions): Promise<import("../../types/common.js").
|
|
12
|
+
export declare function leaveNetwork(options: WriteActionCLIOptions): Promise<import("../../types/common.js").MessageResult>;
|
|
13
13
|
export declare function saveObservations(o: WriteActionCLIOptions & {
|
|
14
14
|
failedGateways?: string[];
|
|
15
15
|
transactionId?: string;
|
|
16
|
-
}): Promise<import("../../types/common.js").
|
|
17
|
-
export declare function increaseOperatorStake(o: OperatorStakeCLIOptions): Promise<import("../../types/common.js").
|
|
18
|
-
export declare function decreaseOperatorStake(o: OperatorStakeCLIOptions): Promise<import("../../types/common.js").
|
|
19
|
-
export declare function
|
|
20
|
-
export declare function
|
|
16
|
+
}): Promise<import("../../types/common.js").MessageResult<Record<string, string | number | boolean | null>>>;
|
|
17
|
+
export declare function increaseOperatorStake(o: OperatorStakeCLIOptions): Promise<import("../../types/common.js").MessageResult<Record<string, string | number | boolean | null>>>;
|
|
18
|
+
export declare function decreaseOperatorStake(o: OperatorStakeCLIOptions): Promise<import("../../types/common.js").MessageResult<Record<string, string | number | boolean | null>>>;
|
|
19
|
+
export declare function claimWithdrawal(o: AddressAndVaultIdCLIWriteOptions): Promise<import("../../types/common.js").MessageResult>;
|
|
20
|
+
export declare function instantWithdrawal(o: AddressAndVaultIdCLIWriteOptions): Promise<import("../../types/common.js").MessageResult<Record<string, string | number | boolean | null>>>;
|
|
21
|
+
export declare function cancelWithdrawal(o: AddressAndVaultIdCLIWriteOptions): Promise<import("../../types/common.js").MessageResult<Record<string, string | number | boolean | null>>>;
|
|
21
22
|
export declare function delegateStake(options: TransferCLIOptions): Promise<{
|
|
22
23
|
senderAddress: string;
|
|
23
|
-
transferResult: import("../../types/common.js").
|
|
24
|
+
transferResult: import("../../types/common.js").MessageResult<Record<string, string | number | boolean | null>>;
|
|
24
25
|
message: string;
|
|
25
26
|
} | {
|
|
26
27
|
message: string;
|
|
27
28
|
}>;
|
|
28
29
|
export declare function decreaseDelegateStake(options: DecreaseDelegateStakeCLIOptions): Promise<{
|
|
29
30
|
targetGateway: string;
|
|
30
|
-
decreaseDelegateStakeResult: import("../../types/common.js").
|
|
31
|
+
decreaseDelegateStakeResult: import("../../types/common.js").MessageResult<Record<string, string | number | boolean | null>>;
|
|
31
32
|
message: string;
|
|
32
33
|
}>;
|
|
33
34
|
export declare function redelegateStake(options: RedelegateStakeCLIOptions): Promise<{
|
|
34
35
|
sourceGateway: string;
|
|
35
36
|
targetGateway: string;
|
|
36
|
-
redelegateStakeResult: import("../../types/common.js").
|
|
37
|
+
redelegateStakeResult: import("../../types/common.js").MessageResult<Record<string, string | number | boolean | null>>;
|
|
37
38
|
message: string;
|
|
38
39
|
}>;
|