@oobe-protocol-labs/synapse-client-sdk 2.0.2 → 2.0.5
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/CHANGELOG.md +54 -0
- package/README.md +2 -2
- package/dist/cjs/ai/index.d.ts +1 -1
- package/dist/cjs/ai/index.d.ts.map +1 -1
- package/dist/cjs/ai/index.js +12 -28
- package/dist/cjs/ai/index.js.map +1 -1
- package/dist/cjs/ai/sap/client.d.ts +197 -0
- package/dist/cjs/ai/sap/client.d.ts.map +1 -0
- package/dist/cjs/ai/sap/client.js +334 -0
- package/dist/cjs/ai/sap/client.js.map +1 -0
- package/dist/cjs/ai/sap/index.d.ts +69 -52
- package/dist/cjs/ai/sap/index.d.ts.map +1 -1
- package/dist/cjs/ai/sap/index.js +73 -77
- package/dist/cjs/ai/sap/index.js.map +1 -1
- package/dist/cjs/ai/sap/provider.d.ts +180 -0
- package/dist/cjs/ai/sap/provider.d.ts.map +1 -0
- package/dist/cjs/ai/sap/provider.js +219 -0
- package/dist/cjs/ai/sap/provider.js.map +1 -0
- package/dist/cjs/ai/sap/types.d.ts +120 -384
- package/dist/cjs/ai/sap/types.d.ts.map +1 -1
- package/dist/cjs/ai/sap/types.js +20 -200
- package/dist/cjs/ai/sap/types.js.map +1 -1
- package/dist/docs/classes/AccountReader.html +18 -18
- package/dist/docs/classes/AccountsClient.html +10 -10
- package/dist/docs/classes/AsyncProviderError.html +4 -4
- package/dist/docs/classes/CircularDependencyError.html +4 -4
- package/dist/docs/classes/DasClient.html +13 -13
- package/dist/docs/classes/GeyserParser.html +17 -17
- package/dist/docs/classes/GrpcTransport.html +6 -6
- package/dist/docs/classes/HttpTransport.html +4 -4
- package/dist/docs/classes/InstructionWriter.html +11 -11
- package/dist/docs/classes/MemoryGuard.html +9 -9
- package/dist/docs/classes/NetworkError.html +5 -5
- package/dist/docs/classes/RefRegistry.html +11 -11
- package/dist/docs/classes/RefReleasedError.html +4 -4
- package/dist/docs/classes/RpcMethodNotFoundError.html +4 -4
- package/dist/docs/classes/ServiceNotFoundError.html +4 -4
- package/dist/docs/classes/ServiceRef.html +13 -13
- package/dist/docs/classes/SolanaRpc.html +55 -55
- package/dist/docs/classes/SynapseClient.html +15 -15
- package/dist/docs/classes/SynapseContext.html +27 -27
- package/dist/docs/classes/SynapseError.html +4 -4
- package/dist/docs/classes/TimeoutError.html +4 -4
- package/dist/docs/classes/UpstreamError.html +6 -6
- package/dist/docs/classes/WeakServiceRef.html +4 -4
- package/dist/docs/classes/WsClient.html +10 -10
- package/dist/docs/enums/SynapseNetwork.html +2 -2
- package/dist/docs/enums/SynapseRegion.html +2 -2
- package/dist/docs/enums/TokenExtensionType.html +2 -2
- package/dist/docs/functions/Epoch-1.html +1 -1
- package/dist/docs/functions/Lamports-2.html +1 -1
- package/dist/docs/functions/Pubkey-1.html +1 -1
- package/dist/docs/functions/Sig.html +1 -1
- package/dist/docs/functions/Slot-1.html +1 -1
- package/dist/docs/functions/UnixTs.html +1 -1
- package/dist/docs/functions/autoSelectRegion.html +1 -1
- package/dist/docs/functions/autoWire.html +1 -1
- package/dist/docs/functions/base58Encode.html +1 -1
- package/dist/docs/functions/base64ToBytes.html +1 -1
- package/dist/docs/functions/bigIntReplacer.html +1 -1
- package/dist/docs/functions/chunk.html +1 -1
- package/dist/docs/functions/computeBalanceChanges.html +1 -1
- package/dist/docs/functions/computeTokenBalanceChanges.html +1 -1
- package/dist/docs/functions/createBareContext.html +1 -1
- package/dist/docs/functions/createBinding.html +1 -1
- package/dist/docs/functions/createBoundHook.html +1 -1
- package/dist/docs/functions/createReactAdapter.html +1 -1
- package/dist/docs/functions/createRefHook.html +1 -1
- package/dist/docs/functions/createServerMiddleware.html +1 -1
- package/dist/docs/functions/createServiceHook.html +1 -1
- package/dist/docs/functions/createSingleton.html +1 -1
- package/dist/docs/functions/createSynapse.html +1 -1
- package/dist/docs/functions/createSynapseContext.html +1 -1
- package/dist/docs/functions/createToken.html +1 -1
- package/dist/docs/functions/decodeBase58.html +1 -1
- package/dist/docs/functions/decodeLookupTable.html +1 -1
- package/dist/docs/functions/decodeMint.html +1 -1
- package/dist/docs/functions/decodeMultisig.html +1 -1
- package/dist/docs/functions/decodeNonceAccount.html +1 -1
- package/dist/docs/functions/decodeStakeAccount.html +1 -1
- package/dist/docs/functions/decodeToken2022Account.html +1 -1
- package/dist/docs/functions/decodeToken2022Mint.html +1 -1
- package/dist/docs/functions/decodeTokenAccount.html +1 -1
- package/dist/docs/functions/encodeBase58.html +1 -1
- package/dist/docs/functions/fetchLookupTable.html +1 -1
- package/dist/docs/functions/fetchMint.html +1 -1
- package/dist/docs/functions/fetchNonceAccount.html +1 -1
- package/dist/docs/functions/fetchStakeAccount.html +1 -1
- package/dist/docs/functions/fetchTokenAccount.html +1 -1
- package/dist/docs/functions/fetchTokenAccountsByOwner.html +1 -1
- package/dist/docs/functions/fromKitAddress.html +1 -1
- package/dist/docs/functions/getAccountInfo.html +1 -1
- package/dist/docs/functions/getAsset.html +1 -1
- package/dist/docs/functions/getAssetBatch.html +1 -1
- package/dist/docs/functions/getAssetProof.html +1 -1
- package/dist/docs/functions/getAssetProofBatch.html +1 -1
- package/dist/docs/functions/getAssetsByAuthority.html +1 -1
- package/dist/docs/functions/getAssetsByCreator.html +1 -1
- package/dist/docs/functions/getAssetsByGroup.html +1 -1
- package/dist/docs/functions/getAssetsByOwner.html +1 -1
- package/dist/docs/functions/getBalance.html +1 -1
- package/dist/docs/functions/getBlock.html +1 -1
- package/dist/docs/functions/getBlockCommitment.html +1 -1
- package/dist/docs/functions/getBlockHeight.html +1 -1
- package/dist/docs/functions/getBlockProduction.html +1 -1
- package/dist/docs/functions/getBlockTime.html +1 -1
- package/dist/docs/functions/getBlocks.html +1 -1
- package/dist/docs/functions/getBlocksWithLimit.html +1 -1
- package/dist/docs/functions/getClusterNodes.html +1 -1
- package/dist/docs/functions/getContext.html +1 -1
- package/dist/docs/functions/getDecodedAccount.html +1 -1
- package/dist/docs/functions/getDecodedAccounts.html +1 -1
- package/dist/docs/functions/getEnvironment.html +1 -1
- package/dist/docs/functions/getEpochInfo.html +1 -1
- package/dist/docs/functions/getEpochSchedule.html +1 -1
- package/dist/docs/functions/getFeeForMessage.html +1 -1
- package/dist/docs/functions/getFirstAvailableBlock.html +1 -1
- package/dist/docs/functions/getGenesisHash.html +1 -1
- package/dist/docs/functions/getHealth.html +1 -1
- package/dist/docs/functions/getHighestSnapshotSlot.html +1 -1
- package/dist/docs/functions/getIdentity.html +1 -1
- package/dist/docs/functions/getInflationGovernor.html +1 -1
- package/dist/docs/functions/getInflationRate.html +1 -1
- package/dist/docs/functions/getInflationReward.html +1 -1
- package/dist/docs/functions/getLargestAccounts.html +1 -1
- package/dist/docs/functions/getLatestBlockhash.html +1 -1
- package/dist/docs/functions/getLeaderSchedule.html +1 -1
- package/dist/docs/functions/getMaxRetransmitSlot.html +1 -1
- package/dist/docs/functions/getMaxShredInsertSlot.html +1 -1
- package/dist/docs/functions/getMinimumBalanceForRentExemption.html +1 -1
- package/dist/docs/functions/getMultipleAccounts.html +1 -1
- package/dist/docs/functions/getProgramAccounts.html +1 -1
- package/dist/docs/functions/getProgramCategory.html +1 -1
- package/dist/docs/functions/getRecentPerformanceSamples.html +1 -1
- package/dist/docs/functions/getRecentPrioritizationFees.html +1 -1
- package/dist/docs/functions/getSignatureStatuses.html +1 -1
- package/dist/docs/functions/getSignaturesForAddress.html +1 -1
- package/dist/docs/functions/getSignaturesForAsset.html +1 -1
- package/dist/docs/functions/getSlot.html +1 -1
- package/dist/docs/functions/getSlotLeader.html +1 -1
- package/dist/docs/functions/getSlotLeaders.html +1 -1
- package/dist/docs/functions/getStakeActivation.html +1 -1
- package/dist/docs/functions/getStakeMinimumDelegation.html +1 -1
- package/dist/docs/functions/getSupply.html +1 -1
- package/dist/docs/functions/getTokenAccountBalance.html +1 -1
- package/dist/docs/functions/getTokenAccounts.html +1 -1
- package/dist/docs/functions/getTokenAccountsByDelegate.html +1 -1
- package/dist/docs/functions/getTokenAccountsByOwner.html +1 -1
- package/dist/docs/functions/getTokenLargestAccounts.html +1 -1
- package/dist/docs/functions/getTokenSupply.html +1 -1
- package/dist/docs/functions/getTransaction.html +1 -1
- package/dist/docs/functions/getTransactionCount.html +1 -1
- package/dist/docs/functions/getVersion.html +1 -1
- package/dist/docs/functions/getVoteAccounts.html +1 -1
- package/dist/docs/functions/isBlockhashValid.html +1 -1
- package/dist/docs/functions/isBrowser.html +1 -1
- package/dist/docs/functions/isDisposable.html +1 -1
- package/dist/docs/functions/isProgramInCategory.html +1 -1
- package/dist/docs/functions/isServer.html +1 -1
- package/dist/docs/functions/isValidPubkey.html +1 -1
- package/dist/docs/functions/isValidSignature.html +1 -1
- package/dist/docs/functions/lamportsToSol.html +1 -1
- package/dist/docs/functions/listEndpoints.html +1 -1
- package/dist/docs/functions/listNetworks.html +1 -1
- package/dist/docs/functions/listRegions.html +1 -1
- package/dist/docs/functions/minimumLedgerSlot.html +1 -1
- package/dist/docs/functions/parseAccountUpdate.html +1 -1
- package/dist/docs/functions/parseBlockMeta.html +1 -1
- package/dist/docs/functions/parseEntry.html +1 -1
- package/dist/docs/functions/parseGeyserUpdate.html +1 -1
- package/dist/docs/functions/parseSlotUpdate.html +1 -1
- package/dist/docs/functions/parseTimestamp.html +1 -1
- package/dist/docs/functions/parseTransaction.html +1 -1
- package/dist/docs/functions/probeLatency.html +1 -1
- package/dist/docs/functions/rawBufferToBase58.html +1 -1
- package/dist/docs/functions/rawBufferToBase64.html +1 -1
- package/dist/docs/functions/rawBufferToBytes.html +1 -1
- package/dist/docs/functions/rawBufferToHex.html +1 -1
- package/dist/docs/functions/readonly.html +1 -1
- package/dist/docs/functions/readonlySigner.html +1 -1
- package/dist/docs/functions/requestAirdrop.html +1 -1
- package/dist/docs/functions/resolveEndpoint.html +1 -1
- package/dist/docs/functions/resolveProgram.html +1 -1
- package/dist/docs/functions/resolveProgramBatch.html +1 -1
- package/dist/docs/functions/retry.html +1 -1
- package/dist/docs/functions/searchAssets.html +1 -1
- package/dist/docs/functions/sendTransaction.html +1 -1
- package/dist/docs/functions/setGlobalContext.html +1 -1
- package/dist/docs/functions/simulateTransaction.html +1 -1
- package/dist/docs/functions/sleep.html +1 -1
- package/dist/docs/functions/solToLamports.html +1 -1
- package/dist/docs/functions/toClientConfig.html +1 -1
- package/dist/docs/functions/toJsonSafe.html +1 -1
- package/dist/docs/functions/toKitAddress.html +1 -1
- package/dist/docs/functions/toKitInstruction.html +1 -1
- package/dist/docs/functions/toKitLamports.html +1 -1
- package/dist/docs/functions/toKitSignatureString.html +1 -1
- package/dist/docs/functions/tryGetContext.html +1 -1
- package/dist/docs/functions/tryUseService.html +1 -1
- package/dist/docs/functions/useBoundServices.html +1 -1
- package/dist/docs/functions/useService.html +1 -1
- package/dist/docs/functions/useSharedRef.html +1 -1
- package/dist/docs/functions/withRef.html +1 -1
- package/dist/docs/functions/withRefAsync.html +1 -1
- package/dist/docs/functions/writable.html +1 -1
- package/dist/docs/functions/writableSigner.html +1 -1
- package/dist/docs/index.html +2 -2
- package/dist/docs/interfaces/AccountInfo.html +7 -7
- package/dist/docs/interfaces/AccountMeta.html +4 -4
- package/dist/docs/interfaces/AccountNotification.html +2 -2
- package/dist/docs/interfaces/AccountSubParams.html +2 -2
- package/dist/docs/interfaces/AddMemoParams.html +5 -5
- package/dist/docs/interfaces/AdvanceNonceParams.html +3 -3
- package/dist/docs/interfaces/AliasProvider.html +2 -2
- package/dist/docs/interfaces/AllocateParams.html +3 -3
- package/dist/docs/interfaces/ApproveCheckedParams.html +9 -9
- package/dist/docs/interfaces/ApproveParams.html +7 -7
- package/dist/docs/interfaces/AssetSignatureInfo.html +2 -2
- package/dist/docs/interfaces/AssetSignaturesPage.html +2 -2
- package/dist/docs/interfaces/AssignParams.html +3 -3
- package/dist/docs/interfaces/AsyncFactoryProvider.html +2 -2
- package/dist/docs/interfaces/AuthorizeNonceParams.html +4 -4
- package/dist/docs/interfaces/BalanceChange.html +6 -6
- package/dist/docs/interfaces/BlockProduction.html +3 -3
- package/dist/docs/interfaces/BlockResult.html +2 -2
- package/dist/docs/interfaces/BlockReward.html +2 -2
- package/dist/docs/interfaces/BlockhashResult.html +2 -2
- package/dist/docs/interfaces/BurnCheckedParams.html +8 -8
- package/dist/docs/interfaces/BurnParams.html +7 -7
- package/dist/docs/interfaces/CallOptions.html +6 -6
- package/dist/docs/interfaces/ClassProvider.html +2 -2
- package/dist/docs/interfaces/CloseAccountParams.html +6 -6
- package/dist/docs/interfaces/ConfirmedTransaction.html +6 -6
- package/dist/docs/interfaces/ContactInfo.html +2 -2
- package/dist/docs/interfaces/ContextAdapter.html +5 -5
- package/dist/docs/interfaces/ContextEvents.html +6 -6
- package/dist/docs/interfaces/ContextModule.html +3 -3
- package/dist/docs/interfaces/CreateATAParams.html +6 -6
- package/dist/docs/interfaces/CreateAccountParams.html +6 -6
- package/dist/docs/interfaces/CreateAccountWithSeedParams.html +8 -8
- package/dist/docs/interfaces/CreateSynapseContextOpts.html +4 -4
- package/dist/docs/interfaces/DasAsset.html +2 -2
- package/dist/docs/interfaces/DasAssetProof.html +2 -2
- package/dist/docs/interfaces/DasAuthority.html +2 -2
- package/dist/docs/interfaces/DasCompression.html +2 -2
- package/dist/docs/interfaces/DasContent.html +2 -2
- package/dist/docs/interfaces/DasCreator.html +2 -2
- package/dist/docs/interfaces/DasFile.html +2 -2
- package/dist/docs/interfaces/DasGrouping.html +2 -2
- package/dist/docs/interfaces/DasOpts.html +2 -2
- package/dist/docs/interfaces/DasOwnership.html +2 -2
- package/dist/docs/interfaces/DasPage.html +2 -2
- package/dist/docs/interfaces/DasRoyalty.html +2 -2
- package/dist/docs/interfaces/DasSearchParams.html +2 -2
- package/dist/docs/interfaces/DasSupply.html +2 -2
- package/dist/docs/interfaces/DataSlice.html +3 -3
- package/dist/docs/interfaces/DecodedAccountResult.html +4 -4
- package/dist/docs/interfaces/DecodedLookupTable.html +8 -8
- package/dist/docs/interfaces/DecodedMint.html +6 -6
- package/dist/docs/interfaces/DecodedMultisig.html +5 -5
- package/dist/docs/interfaces/DecodedNonceAccount.html +6 -6
- package/dist/docs/interfaces/DecodedStakeAccount.html +2 -2
- package/dist/docs/interfaces/DecodedToken2022Account.html +9 -9
- package/dist/docs/interfaces/DecodedToken2022Mint.html +6 -6
- package/dist/docs/interfaces/DecodedTokenAccount.html +9 -9
- package/dist/docs/interfaces/DefaultAccountStateExt.html +2 -2
- package/dist/docs/interfaces/Disposable.html +2 -2
- package/dist/docs/interfaces/EndpointConnectConfig.html +5 -5
- package/dist/docs/interfaces/EpochInfo.html +7 -7
- package/dist/docs/interfaces/EpochSchedule.html +2 -2
- package/dist/docs/interfaces/FactoryProvider.html +2 -2
- package/dist/docs/interfaces/FetchedMint.html +6 -6
- package/dist/docs/interfaces/FetchedTokenAccount.html +6 -6
- package/dist/docs/interfaces/FreezeThawParams.html +6 -6
- package/dist/docs/interfaces/GetAccountInfoOpts.html +6 -6
- package/dist/docs/interfaces/GetAssetsByAuthorityParams.html +2 -2
- package/dist/docs/interfaces/GetAssetsByCreatorParams.html +2 -2
- package/dist/docs/interfaces/GetAssetsByGroupParams.html +2 -2
- package/dist/docs/interfaces/GetAssetsByOwnerParams.html +2 -2
- package/dist/docs/interfaces/GetBlockOpts.html +6 -6
- package/dist/docs/interfaces/GetBlockProductionOpts.html +6 -6
- package/dist/docs/interfaces/GetMultipleAccountsOpts.html +6 -6
- package/dist/docs/interfaces/GetProgramAccountsOpts.html +6 -6
- package/dist/docs/interfaces/GetSignatureStatusesOpts.html +6 -6
- package/dist/docs/interfaces/GetSignaturesOpts.html +7 -7
- package/dist/docs/interfaces/GetTokenAccountsParams.html +2 -2
- package/dist/docs/interfaces/GetTransactionOpts.html +6 -6
- package/dist/docs/interfaces/GeyserParserConfig.html +6 -6
- package/dist/docs/interfaces/GeyserParserEvents.html +9 -9
- package/dist/docs/interfaces/GeyserParserStats.html +2 -2
- package/dist/docs/interfaces/GrpcCallOptions.html +2 -2
- package/dist/docs/interfaces/GrpcTransportConfig.html +6 -6
- package/dist/docs/interfaces/ImmutableOwnerExt.html +2 -2
- package/dist/docs/interfaces/InflationGovernor.html +2 -2
- package/dist/docs/interfaces/InflationRate.html +2 -2
- package/dist/docs/interfaces/InflationReward.html +2 -2
- package/dist/docs/interfaces/InitializeAccountParams.html +5 -5
- package/dist/docs/interfaces/InitializeMintParams.html +6 -6
- package/dist/docs/interfaces/InitializeNonceParams.html +3 -3
- package/dist/docs/interfaces/InterestBearingConfigExt.html +2 -2
- package/dist/docs/interfaces/LatencyProbeResult.html +2 -2
- package/dist/docs/interfaces/LeakReport.html +5 -5
- package/dist/docs/interfaces/LogsNotification.html +2 -2
- package/dist/docs/interfaces/LogsSubParams.html +2 -2
- package/dist/docs/interfaces/MemoTransferExt.html +2 -2
- package/dist/docs/interfaces/MemoryGuardConfig.html +4 -4
- package/dist/docs/interfaces/MetadataPointerExt.html +2 -2
- package/dist/docs/interfaces/MintCloseAuthorityExt.html +2 -2
- package/dist/docs/interfaces/MintToCheckedParams.html +8 -8
- package/dist/docs/interfaces/MintToParams.html +7 -7
- package/dist/docs/interfaces/NonTransferableExt.html +2 -2
- package/dist/docs/interfaces/PaginationOpts.html +2 -2
- package/dist/docs/interfaces/ParsedAccountUpdate.html +16 -16
- package/dist/docs/interfaces/ParsedBlockMeta.html +2 -2
- package/dist/docs/interfaces/ParsedEntry.html +2 -2
- package/dist/docs/interfaces/ParsedInstruction.html +9 -9
- package/dist/docs/interfaces/ParsedSlotUpdate.html +3 -3
- package/dist/docs/interfaces/ParsedTransaction.html +19 -19
- package/dist/docs/interfaces/PerfSample.html +2 -2
- package/dist/docs/interfaces/PermanentDelegateExt.html +2 -2
- package/dist/docs/interfaces/ProgramAccount.html +2 -2
- package/dist/docs/interfaces/ProgramNotification.html +2 -2
- package/dist/docs/interfaces/ProgramSubParams.html +2 -2
- package/dist/docs/interfaces/ProgramsBundle.html +33 -33
- package/dist/docs/interfaces/RawAccountInfo.html +2 -2
- package/dist/docs/interfaces/RawBlockMeta.html +2 -2
- package/dist/docs/interfaces/RawBuffer.html +2 -2
- package/dist/docs/interfaces/RawCompiledInstruction.html +2 -2
- package/dist/docs/interfaces/RawEntry.html +2 -2
- package/dist/docs/interfaces/RawGeyserUpdate.html +2 -2
- package/dist/docs/interfaces/RawInnerInstruction.html +2 -2
- package/dist/docs/interfaces/RawSlotInfo.html +2 -2
- package/dist/docs/interfaces/RawTimestamp.html +2 -2
- package/dist/docs/interfaces/RawTokenBalance.html +2 -2
- package/dist/docs/interfaces/RawTransactionInfo.html +2 -2
- package/dist/docs/interfaces/ReactAdapterConfig.html +2 -2
- package/dist/docs/interfaces/RecoverNestedParams.html +7 -7
- package/dist/docs/interfaces/RefRegistryConfig.html +2 -2
- package/dist/docs/interfaces/RefStats.html +7 -7
- package/dist/docs/interfaces/RequestHeapFrameParams.html +2 -2
- package/dist/docs/interfaces/ResolveMiddleware.html +1 -1
- package/dist/docs/interfaces/RevokeParams.html +5 -5
- package/dist/docs/interfaces/RootNotification.html +2 -2
- package/dist/docs/interfaces/RootSubParams.html +1 -1
- package/dist/docs/interfaces/RpcContext.html +2 -2
- package/dist/docs/interfaces/RpcError.html +4 -4
- package/dist/docs/interfaces/RpcRequest.html +3 -3
- package/dist/docs/interfaces/RpcResponse.html +2 -2
- package/dist/docs/interfaces/SendTransactionOpts.html +6 -6
- package/dist/docs/interfaces/ServerAdapterConfig.html +3 -3
- package/dist/docs/interfaces/ServiceBinding.html +6 -6
- package/dist/docs/interfaces/ServiceRegistration.html +3 -3
- package/dist/docs/interfaces/ServiceResolver.html +6 -6
- package/dist/docs/interfaces/ServiceToken.html +4 -4
- package/dist/docs/interfaces/SetComputeUnitLimitParams.html +2 -2
- package/dist/docs/interfaces/SetComputeUnitPriceParams.html +2 -2
- package/dist/docs/interfaces/SetLoadedAccountsDataSizeLimitParams.html +2 -2
- package/dist/docs/interfaces/SignatureInfo.html +7 -7
- package/dist/docs/interfaces/SignatureNotification.html +2 -2
- package/dist/docs/interfaces/SignatureStatus.html +5 -5
- package/dist/docs/interfaces/SignatureSubParams.html +2 -2
- package/dist/docs/interfaces/SignaturesForAssetParams.html +2 -2
- package/dist/docs/interfaces/SimulateResult.html +2 -2
- package/dist/docs/interfaces/SimulateTransactionOpts.html +7 -7
- package/dist/docs/interfaces/SingletonOptions.html +2 -2
- package/dist/docs/interfaces/SlotNotification.html +2 -2
- package/dist/docs/interfaces/SlotSubParams.html +1 -1
- package/dist/docs/interfaces/SortOpts.html +2 -2
- package/dist/docs/interfaces/StakeAuthorized.html +2 -2
- package/dist/docs/interfaces/StakeDelegation.html +3 -3
- package/dist/docs/interfaces/StakeLockup.html +4 -4
- package/dist/docs/interfaces/StakeMeta.html +2 -2
- package/dist/docs/interfaces/Supply.html +5 -5
- package/dist/docs/interfaces/SynapseClientConfig.html +9 -9
- package/dist/docs/interfaces/SynapseClientLike.html +2 -2
- package/dist/docs/interfaces/SynapseEndpoint.html +7 -7
- package/dist/docs/interfaces/SyncNativeParams.html +3 -3
- package/dist/docs/interfaces/SystemTransferParams.html +4 -4
- package/dist/docs/interfaces/TokenAccount.html +3 -3
- package/dist/docs/interfaces/TokenAccountsByOwnerResult.html +2 -2
- package/dist/docs/interfaces/TokenAmount.html +5 -5
- package/dist/docs/interfaces/TokenBalanceChange.html +2 -2
- package/dist/docs/interfaces/TokenTransferParams.html +7 -7
- package/dist/docs/interfaces/TransactionInstruction.html +4 -4
- package/dist/docs/interfaces/TransactionMeta.html +11 -11
- package/dist/docs/interfaces/TransferCheckedParams.html +9 -9
- package/dist/docs/interfaces/TransferFeeAmount.html +2 -2
- package/dist/docs/interfaces/TransferFeeConfig.html +2 -2
- package/dist/docs/interfaces/TransportConfig.html +7 -7
- package/dist/docs/interfaces/UnknownExtension.html +2 -2
- package/dist/docs/interfaces/ValueProvider.html +2 -2
- package/dist/docs/interfaces/VoteAccount.html +9 -9
- package/dist/docs/interfaces/VoteAccountsResult.html +3 -3
- package/dist/docs/interfaces/WithdrawNonceParams.html +5 -5
- package/dist/docs/interfaces/WsConfig.html +6 -6
- package/dist/docs/media/CHANGELOG.md +54 -0
- package/dist/docs/types/AccountFetchOpts.html +1 -1
- package/dist/docs/types/AccountFilter.html +1 -1
- package/dist/docs/types/Base58.html +1 -1
- package/dist/docs/types/Brand.html +1 -1
- package/dist/docs/types/Commitment.html +1 -1
- package/dist/docs/types/DasSortBy.html +1 -1
- package/dist/docs/types/DasSortDirection.html +1 -1
- package/dist/docs/types/DataSizeFilter.html +1 -1
- package/dist/docs/types/DecodedExtension.html +1 -1
- package/dist/docs/types/Encoding.html +1 -1
- package/dist/docs/types/Epoch.html +1 -1
- package/dist/docs/types/Lamports.html +1 -1
- package/dist/docs/types/LogsFilter.html +1 -1
- package/dist/docs/types/MemcmpFilter.html +1 -1
- package/dist/docs/types/NonceState.html +1 -1
- package/dist/docs/types/ParsedGeyserUpdate.html +1 -1
- package/dist/docs/types/Pubkey.html +1 -1
- package/dist/docs/types/RuntimeEnv.html +1 -1
- package/dist/docs/types/ServiceLifecycle.html +1 -1
- package/dist/docs/types/ServiceProvider.html +1 -1
- package/dist/docs/types/Signature.html +1 -1
- package/dist/docs/types/Slot.html +1 -1
- package/dist/docs/types/StakeAccountType.html +1 -1
- package/dist/docs/types/SubscriptionId.html +1 -1
- package/dist/docs/types/TokenAccountState.html +1 -1
- package/dist/docs/types/TransactionDetail.html +1 -1
- package/dist/docs/types/UnaryMethod.html +1 -1
- package/dist/docs/types/UnixTimestamp.html +1 -1
- package/dist/docs/types/WsNotification.html +1 -1
- package/dist/docs/variables/ASSOCIATED_TOKEN_PROGRAM.html +1 -1
- package/dist/docs/variables/AssociatedToken.html +4 -4
- package/dist/docs/variables/COMPUTE_BUDGET_PROGRAM.html +1 -1
- package/dist/docs/variables/ComputeBudget.html +5 -5
- package/dist/docs/variables/JUPITER_PROGRAMS.html +1 -1
- package/dist/docs/variables/KNOWN_PROGRAMS.html +1 -1
- package/dist/docs/variables/KNOWN_PROGRAMS_COUNT.html +1 -1
- package/dist/docs/variables/LOOKUP_TABLE_HEADER_SIZE.html +1 -1
- package/dist/docs/variables/LOOKUP_TABLE_PROGRAM_ID.html +1 -1
- package/dist/docs/variables/MARINADE_PROGRAMS.html +1 -1
- package/dist/docs/variables/MAX_MULTISIG_SIGNERS.html +1 -1
- package/dist/docs/variables/MEMO_PROGRAM_V1.html +1 -1
- package/dist/docs/variables/MEMO_PROGRAM_V2.html +1 -1
- package/dist/docs/variables/METAPLEX_PROGRAMS.html +1 -1
- package/dist/docs/variables/METEORA_PROGRAMS.html +1 -1
- package/dist/docs/variables/MINT_SIZE.html +1 -1
- package/dist/docs/variables/MULTISIG_SIZE.html +1 -1
- package/dist/docs/variables/Memo.html +2 -2
- package/dist/docs/variables/NONCE_ACCOUNT_SIZE.html +1 -1
- package/dist/docs/variables/ORCA_PROGRAMS.html +1 -1
- package/dist/docs/variables/OTHER_PROGRAMS.html +1 -1
- package/dist/docs/variables/RAYDIUM_PROGRAMS.html +1 -1
- package/dist/docs/variables/SDK_USER_AGENT.html +1 -1
- package/dist/docs/variables/SPL_PROGRAMS.html +1 -1
- package/dist/docs/variables/STAKE_PROGRAM_ID.html +1 -1
- package/dist/docs/variables/SYNAPSE_DEVNET_EU.html +1 -1
- package/dist/docs/variables/SYNAPSE_DEVNET_US.html +1 -1
- package/dist/docs/variables/SYNAPSE_ENDPOINTS.html +1 -1
- package/dist/docs/variables/SYNAPSE_MAINNET_EU.html +1 -1
- package/dist/docs/variables/SYNAPSE_MAINNET_US.html +1 -1
- package/dist/docs/variables/SYSTEM_PROGRAM.html +1 -1
- package/dist/docs/variables/SYSTEM_PROGRAMS.html +1 -1
- package/dist/docs/variables/SYSTEM_PROGRAM_ID.html +1 -1
- package/dist/docs/variables/SplToken.html +16 -16
- package/dist/docs/variables/SystemProgram.html +10 -10
- package/dist/docs/variables/TOKEN_2022_PROGRAM.html +1 -1
- package/dist/docs/variables/TOKEN_2022_PROGRAM_ID.html +1 -1
- package/dist/docs/variables/TOKEN_ACCOUNT_SIZE.html +1 -1
- package/dist/docs/variables/TOKEN_PROGRAM.html +1 -1
- package/dist/docs/variables/TOKEN_PROGRAM_ID.html +1 -1
- package/dist/docs/variables/Tokens.html +1 -1
- package/dist/esm/ai/index.d.ts +1 -1
- package/dist/esm/ai/index.d.ts.map +1 -1
- package/dist/esm/ai/index.js +9 -11
- package/dist/esm/ai/index.js.map +1 -1
- package/dist/esm/ai/sap/client.d.ts +197 -0
- package/dist/esm/ai/sap/client.d.ts.map +1 -0
- package/dist/esm/ai/sap/client.js +330 -0
- package/dist/esm/ai/sap/client.js.map +1 -0
- package/dist/esm/ai/sap/index.d.ts +69 -52
- package/dist/esm/ai/sap/index.d.ts.map +1 -1
- package/dist/esm/ai/sap/index.js +68 -49
- package/dist/esm/ai/sap/index.js.map +1 -1
- package/dist/esm/ai/sap/provider.d.ts +180 -0
- package/dist/esm/ai/sap/provider.d.ts.map +1 -0
- package/dist/esm/ai/sap/provider.js +215 -0
- package/dist/esm/ai/sap/provider.js.map +1 -0
- package/dist/esm/ai/sap/types.d.ts +120 -384
- package/dist/esm/ai/sap/types.d.ts.map +1 -1
- package/dist/esm/ai/sap/types.js +18 -195
- package/dist/esm/ai/sap/types.js.map +1 -1
- package/package.json +31 -20
- package/dist/cjs/ai/sap/adapter.d.ts +0 -140
- package/dist/cjs/ai/sap/adapter.d.ts.map +0 -1
- package/dist/cjs/ai/sap/adapter.js +0 -181
- package/dist/cjs/ai/sap/adapter.js.map +0 -1
- package/dist/cjs/ai/sap/discovery.d.ts +0 -165
- package/dist/cjs/ai/sap/discovery.d.ts.map +0 -1
- package/dist/cjs/ai/sap/discovery.js +0 -316
- package/dist/cjs/ai/sap/discovery.js.map +0 -1
- package/dist/cjs/ai/sap/pda.d.ts +0 -205
- package/dist/cjs/ai/sap/pda.d.ts.map +0 -1
- package/dist/cjs/ai/sap/pda.js +0 -547
- package/dist/cjs/ai/sap/pda.js.map +0 -1
- package/dist/cjs/ai/sap/program.d.ts +0 -153
- package/dist/cjs/ai/sap/program.d.ts.map +0 -1
- package/dist/cjs/ai/sap/program.js +0 -227
- package/dist/cjs/ai/sap/program.js.map +0 -1
- package/dist/cjs/ai/sap/registry.d.ts +0 -218
- package/dist/cjs/ai/sap/registry.d.ts.map +0 -1
- package/dist/cjs/ai/sap/registry.js +0 -519
- package/dist/cjs/ai/sap/registry.js.map +0 -1
- package/dist/cjs/ai/sap/scoring.d.ts +0 -138
- package/dist/cjs/ai/sap/scoring.d.ts.map +0 -1
- package/dist/cjs/ai/sap/scoring.js +0 -266
- package/dist/cjs/ai/sap/scoring.js.map +0 -1
- package/dist/cjs/ai/sap/subnetwork.d.ts +0 -201
- package/dist/cjs/ai/sap/subnetwork.d.ts.map +0 -1
- package/dist/cjs/ai/sap/subnetwork.js +0 -365
- package/dist/cjs/ai/sap/subnetwork.js.map +0 -1
- package/dist/cjs/ai/sap/validator.d.ts +0 -160
- package/dist/cjs/ai/sap/validator.d.ts.map +0 -1
- package/dist/cjs/ai/sap/validator.js +0 -619
- package/dist/cjs/ai/sap/validator.js.map +0 -1
- package/dist/esm/ai/sap/adapter.d.ts +0 -140
- package/dist/esm/ai/sap/adapter.d.ts.map +0 -1
- package/dist/esm/ai/sap/adapter.js +0 -177
- package/dist/esm/ai/sap/adapter.js.map +0 -1
- package/dist/esm/ai/sap/discovery.d.ts +0 -165
- package/dist/esm/ai/sap/discovery.d.ts.map +0 -1
- package/dist/esm/ai/sap/discovery.js +0 -311
- package/dist/esm/ai/sap/discovery.js.map +0 -1
- package/dist/esm/ai/sap/pda.d.ts +0 -205
- package/dist/esm/ai/sap/pda.d.ts.map +0 -1
- package/dist/esm/ai/sap/pda.js +0 -535
- package/dist/esm/ai/sap/pda.js.map +0 -1
- package/dist/esm/ai/sap/program.d.ts +0 -153
- package/dist/esm/ai/sap/program.d.ts.map +0 -1
- package/dist/esm/ai/sap/program.js +0 -222
- package/dist/esm/ai/sap/program.js.map +0 -1
- package/dist/esm/ai/sap/registry.d.ts +0 -218
- package/dist/esm/ai/sap/registry.d.ts.map +0 -1
- package/dist/esm/ai/sap/registry.js +0 -515
- package/dist/esm/ai/sap/registry.js.map +0 -1
- package/dist/esm/ai/sap/scoring.d.ts +0 -138
- package/dist/esm/ai/sap/scoring.d.ts.map +0 -1
- package/dist/esm/ai/sap/scoring.js +0 -262
- package/dist/esm/ai/sap/scoring.js.map +0 -1
- package/dist/esm/ai/sap/subnetwork.d.ts +0 -201
- package/dist/esm/ai/sap/subnetwork.d.ts.map +0 -1
- package/dist/esm/ai/sap/subnetwork.js +0 -361
- package/dist/esm/ai/sap/subnetwork.js.map +0 -1
- package/dist/esm/ai/sap/validator.d.ts +0 -160
- package/dist/esm/ai/sap/validator.d.ts.map +0 -1
- package/dist/esm/ai/sap/validator.js +0 -614
- package/dist/esm/ai/sap/validator.js.map +0 -1
package/dist/esm/ai/sap/pda.js
DELETED
|
@@ -1,535 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module ai/sap/pda
|
|
3
|
-
* @description SAP — PDA derivation, account serialization & deserialization.
|
|
4
|
-
*
|
|
5
|
-
* Provides Solana Program Derived Address (PDA) computation for agent
|
|
6
|
-
* identity accounts, plus Borsh-compatible binary serialization for
|
|
7
|
-
* reading and writing on-chain agent data.
|
|
8
|
-
*
|
|
9
|
-
* PDA seeds: `["synapse_agent", <wallet_pubkey_32_bytes>]`
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```ts
|
|
13
|
-
* import { deriveAgentPDA, deserializeAgentAccount } from '@oobe-protocol-labs/synapse-client-sdk/ai';
|
|
14
|
-
*
|
|
15
|
-
* const { address, bump } = deriveAgentPDA(walletPubkey, programId);
|
|
16
|
-
* const account = deserializeAgentAccount(address, rawBytes);
|
|
17
|
-
* ```
|
|
18
|
-
*
|
|
19
|
-
* @since 1.3.0
|
|
20
|
-
*/
|
|
21
|
-
import { createHash, createPublicKey } from 'crypto';
|
|
22
|
-
import { SAP_SEED_PREFIX, SAP_ACCOUNT_DISCRIMINATOR } from './types.js';
|
|
23
|
-
/* ═══════════════════════════════════════════════════════════════
|
|
24
|
-
* Base58 codec (minimal, zero-dependency)
|
|
25
|
-
* ═══════════════════════════════════════════════════════════════ */
|
|
26
|
-
const B58_ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
27
|
-
/**
|
|
28
|
-
* @description Decode a base58-encoded string to raw bytes.
|
|
29
|
-
* @param {string} str - Base58-encoded string
|
|
30
|
-
* @returns {Uint8Array} Decoded bytes
|
|
31
|
-
* @since 1.3.0
|
|
32
|
-
*/
|
|
33
|
-
export function base58Decode(str) {
|
|
34
|
-
const bytes = [];
|
|
35
|
-
for (const char of str) {
|
|
36
|
-
let carry = B58_ALPHABET.indexOf(char);
|
|
37
|
-
if (carry < 0)
|
|
38
|
-
throw new Error(`Invalid base58 character: '${char}'`);
|
|
39
|
-
for (let i = 0; i < bytes.length; i++) {
|
|
40
|
-
carry += bytes[i] * 58;
|
|
41
|
-
bytes[i] = carry & 0xff;
|
|
42
|
-
carry >>= 8;
|
|
43
|
-
}
|
|
44
|
-
while (carry > 0) {
|
|
45
|
-
bytes.push(carry & 0xff);
|
|
46
|
-
carry >>= 8;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
for (const c of str) {
|
|
50
|
-
if (c !== '1')
|
|
51
|
-
break;
|
|
52
|
-
bytes.push(0);
|
|
53
|
-
}
|
|
54
|
-
return new Uint8Array(bytes.reverse());
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* @description Encode raw bytes to a base58 string.
|
|
58
|
-
* @param {Uint8Array} bytes - Raw bytes
|
|
59
|
-
* @returns {string} Base58-encoded string
|
|
60
|
-
* @since 1.3.0
|
|
61
|
-
*/
|
|
62
|
-
export function base58Encode(bytes) {
|
|
63
|
-
const digits = [0];
|
|
64
|
-
for (const byte of bytes) {
|
|
65
|
-
let carry = byte;
|
|
66
|
-
for (let i = 0; i < digits.length; i++) {
|
|
67
|
-
carry += digits[i] << 8;
|
|
68
|
-
digits[i] = carry % 58;
|
|
69
|
-
carry = (carry / 58) | 0;
|
|
70
|
-
}
|
|
71
|
-
while (carry > 0) {
|
|
72
|
-
digits.push(carry % 58);
|
|
73
|
-
carry = (carry / 58) | 0;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
let result = '';
|
|
77
|
-
for (const b of bytes) {
|
|
78
|
-
if (b !== 0)
|
|
79
|
-
break;
|
|
80
|
-
result += '1';
|
|
81
|
-
}
|
|
82
|
-
for (let i = digits.length - 1; i >= 0; i--) {
|
|
83
|
-
result += B58_ALPHABET[digits[i]];
|
|
84
|
-
}
|
|
85
|
-
return result;
|
|
86
|
-
}
|
|
87
|
-
/* ═══════════════════════════════════════════════════════════════
|
|
88
|
-
* Ed25519 on-curve check (via Node.js crypto)
|
|
89
|
-
* ═══════════════════════════════════════════════════════════════ */
|
|
90
|
-
/** @internal DER SPKI prefix for ed25519 public keys (12 bytes). */
|
|
91
|
-
const ED25519_SPKI_PREFIX = Buffer.from('302a300506032b6570032100', 'hex');
|
|
92
|
-
/**
|
|
93
|
-
* @description Check whether a 32-byte hash lies on the ed25519 curve.
|
|
94
|
-
* Uses Node.js `crypto.createPublicKey` to attempt point decompression.
|
|
95
|
-
*
|
|
96
|
-
* @param {Uint8Array} point - 32-byte candidate
|
|
97
|
-
* @returns {boolean} `true` if the point is a valid ed25519 public key (on curve)
|
|
98
|
-
* @since 1.3.0
|
|
99
|
-
*/
|
|
100
|
-
export function isOnCurve(point) {
|
|
101
|
-
try {
|
|
102
|
-
createPublicKey({
|
|
103
|
-
key: Buffer.concat([ED25519_SPKI_PREFIX, Buffer.from(point)]),
|
|
104
|
-
format: 'der',
|
|
105
|
-
type: 'spki',
|
|
106
|
-
});
|
|
107
|
-
return true;
|
|
108
|
-
}
|
|
109
|
-
catch {
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* @description Derive the agent PDA address for a given wallet public key.
|
|
115
|
-
*
|
|
116
|
-
* Algorithm (Solana `findProgramAddress`):
|
|
117
|
-
* 1. For bump = 255 → 0:
|
|
118
|
-
* - candidate = SHA-256(seed_prefix + wallet_bytes + [bump] + program_id + "ProgramDerivedAddress")
|
|
119
|
-
* - If candidate is NOT on the ed25519 curve → return (candidate, bump)
|
|
120
|
-
*
|
|
121
|
-
* @param {string} walletPubkey - Agent's wallet pubkey (base58)
|
|
122
|
-
* @param {string} programId - SAP program ID (base58)
|
|
123
|
-
* @returns {DerivedPDA} The derived PDA address and bump seed
|
|
124
|
-
* @throws {Error} If no valid PDA can be found (theoretically impossible)
|
|
125
|
-
*
|
|
126
|
-
* @example
|
|
127
|
-
* ```ts
|
|
128
|
-
* const pda = deriveAgentPDA('7xKX...wallet', 'SAPAgnt1...');
|
|
129
|
-
* console.log(pda.address); // base58 PDA address
|
|
130
|
-
* console.log(pda.bump); // 254
|
|
131
|
-
* ```
|
|
132
|
-
*
|
|
133
|
-
* @since 1.3.0
|
|
134
|
-
*/
|
|
135
|
-
export function deriveAgentPDA(walletPubkey, programId) {
|
|
136
|
-
const seedPrefix = Buffer.from(SAP_SEED_PREFIX, 'utf-8');
|
|
137
|
-
const walletBytes = base58Decode(walletPubkey);
|
|
138
|
-
const programBytes = base58Decode(programId);
|
|
139
|
-
const suffix = Buffer.from('ProgramDerivedAddress', 'utf-8');
|
|
140
|
-
for (let bump = 255; bump >= 0; bump--) {
|
|
141
|
-
const hash = createHash('sha256')
|
|
142
|
-
.update(seedPrefix)
|
|
143
|
-
.update(walletBytes)
|
|
144
|
-
.update(Uint8Array.from([bump]))
|
|
145
|
-
.update(programBytes)
|
|
146
|
-
.update(suffix)
|
|
147
|
-
.digest();
|
|
148
|
-
const candidate = new Uint8Array(hash);
|
|
149
|
-
if (!isOnCurve(candidate)) {
|
|
150
|
-
return {
|
|
151
|
-
address: base58Encode(candidate),
|
|
152
|
-
bump,
|
|
153
|
-
bytes: candidate,
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
throw new Error('Could not derive PDA — no valid bump seed found');
|
|
158
|
-
}
|
|
159
|
-
/* ═══════════════════════════════════════════════════════════════
|
|
160
|
-
* Borsh-compatible binary helpers
|
|
161
|
-
* ═══════════════════════════════════════════════════════════════ */
|
|
162
|
-
/**
|
|
163
|
-
* @description Minimal Borsh-compatible binary reader for deserializing
|
|
164
|
-
* agent PDA account data from the Solana blockchain.
|
|
165
|
-
* @since 1.3.0
|
|
166
|
-
*/
|
|
167
|
-
export class BorshReader {
|
|
168
|
-
data;
|
|
169
|
-
offset = 0;
|
|
170
|
-
/**
|
|
171
|
-
* @param {Buffer | Uint8Array} data - Raw account data bytes
|
|
172
|
-
*/
|
|
173
|
-
constructor(data) {
|
|
174
|
-
this.data = data;
|
|
175
|
-
}
|
|
176
|
-
/** Current read position. */
|
|
177
|
-
get position() { return this.offset; }
|
|
178
|
-
/** Remaining unread bytes. */
|
|
179
|
-
get remaining() { return this.data.length - this.offset; }
|
|
180
|
-
/**
|
|
181
|
-
* @description Read a single unsigned byte.
|
|
182
|
-
* @returns {number} u8 value
|
|
183
|
-
*/
|
|
184
|
-
readU8() {
|
|
185
|
-
const val = this.data[this.offset];
|
|
186
|
-
this.offset += 1;
|
|
187
|
-
return val;
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* @description Read a 32-bit unsigned integer (little-endian).
|
|
191
|
-
* @returns {number} u32 value
|
|
192
|
-
*/
|
|
193
|
-
readU32() {
|
|
194
|
-
const val = this.data[this.offset] |
|
|
195
|
-
(this.data[this.offset + 1] << 8) |
|
|
196
|
-
(this.data[this.offset + 2] << 16) |
|
|
197
|
-
(this.data[this.offset + 3] << 24);
|
|
198
|
-
this.offset += 4;
|
|
199
|
-
return val >>> 0;
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* @description Read a 64-bit signed integer (little-endian) as bigint.
|
|
203
|
-
* @returns {bigint} i64 value
|
|
204
|
-
*/
|
|
205
|
-
readI64() {
|
|
206
|
-
const lo = BigInt(this.readU32());
|
|
207
|
-
const hi = BigInt(this.readU32());
|
|
208
|
-
return (hi << 32n) | lo;
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* @description Read a 64-bit unsigned integer (little-endian) as bigint.
|
|
212
|
-
* @returns {bigint} u64 value
|
|
213
|
-
*/
|
|
214
|
-
readU64() {
|
|
215
|
-
const lo = BigInt(this.readU32());
|
|
216
|
-
const hi = BigInt(this.readU32());
|
|
217
|
-
return (hi << 32n) | lo;
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* @description Read a fixed-length byte array.
|
|
221
|
-
* @param {number} len - Number of bytes to read
|
|
222
|
-
* @returns {Uint8Array} Raw bytes
|
|
223
|
-
*/
|
|
224
|
-
readBytes(len) {
|
|
225
|
-
const slice = this.data.slice(this.offset, this.offset + len);
|
|
226
|
-
this.offset += len;
|
|
227
|
-
return new Uint8Array(slice);
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* @description Read a Borsh-encoded string (u32 length prefix + UTF-8 bytes).
|
|
231
|
-
* @returns {string} Decoded string
|
|
232
|
-
*/
|
|
233
|
-
readString() {
|
|
234
|
-
const len = this.readU32();
|
|
235
|
-
const bytes = this.readBytes(len);
|
|
236
|
-
return new TextDecoder().decode(bytes);
|
|
237
|
-
}
|
|
238
|
-
/**
|
|
239
|
-
* @description Read an optional value (1 byte flag + value if present).
|
|
240
|
-
* @param {() => T} readFn - Reader function for the inner value
|
|
241
|
-
* @returns {T | undefined}
|
|
242
|
-
*/
|
|
243
|
-
readOption(readFn) {
|
|
244
|
-
const flag = this.readU8();
|
|
245
|
-
return flag === 1 ? readFn() : undefined;
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* @description Read a Borsh-encoded Vec (u32 length prefix + elements).
|
|
249
|
-
* @param {() => T} readFn - Reader function for each element
|
|
250
|
-
* @returns {T[]} Array of decoded elements
|
|
251
|
-
*/
|
|
252
|
-
readVec(readFn) {
|
|
253
|
-
const len = this.readU32();
|
|
254
|
-
const items = [];
|
|
255
|
-
for (let i = 0; i < len; i++)
|
|
256
|
-
items.push(readFn());
|
|
257
|
-
return items;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
/**
|
|
261
|
-
* @description Minimal Borsh-compatible binary writer for serializing
|
|
262
|
-
* instruction data to send to the SAP program.
|
|
263
|
-
* @since 1.3.0
|
|
264
|
-
*/
|
|
265
|
-
export class BorshWriter {
|
|
266
|
-
buf = [];
|
|
267
|
-
/** Get the serialized bytes. */
|
|
268
|
-
toBytes() {
|
|
269
|
-
return new Uint8Array(this.buf);
|
|
270
|
-
}
|
|
271
|
-
/** @description Write a single unsigned byte. */
|
|
272
|
-
writeU8(val) {
|
|
273
|
-
this.buf.push(val & 0xff);
|
|
274
|
-
return this;
|
|
275
|
-
}
|
|
276
|
-
/** @description Write a 32-bit unsigned integer (little-endian). */
|
|
277
|
-
writeU32(val) {
|
|
278
|
-
this.buf.push(val & 0xff, (val >> 8) & 0xff, (val >> 16) & 0xff, (val >> 24) & 0xff);
|
|
279
|
-
return this;
|
|
280
|
-
}
|
|
281
|
-
/** @description Write a 64-bit signed integer (little-endian) as bigint. */
|
|
282
|
-
writeI64(val) {
|
|
283
|
-
const lo = Number(val & 0xffffffffn);
|
|
284
|
-
const hi = Number((val >> 32n) & 0xffffffffn);
|
|
285
|
-
this.writeU32(lo);
|
|
286
|
-
this.writeU32(hi);
|
|
287
|
-
return this;
|
|
288
|
-
}
|
|
289
|
-
/** @description Write a 64-bit unsigned integer (little-endian) as bigint. */
|
|
290
|
-
writeU64(val) {
|
|
291
|
-
return this.writeI64(val);
|
|
292
|
-
}
|
|
293
|
-
/** @description Write raw bytes. */
|
|
294
|
-
writeBytes(bytes) {
|
|
295
|
-
for (const b of bytes)
|
|
296
|
-
this.buf.push(b);
|
|
297
|
-
return this;
|
|
298
|
-
}
|
|
299
|
-
/** @description Write a Borsh-encoded string (u32 length + UTF-8 bytes). */
|
|
300
|
-
writeString(str) {
|
|
301
|
-
const bytes = new TextEncoder().encode(str);
|
|
302
|
-
this.writeU32(bytes.length);
|
|
303
|
-
this.writeBytes(bytes);
|
|
304
|
-
return this;
|
|
305
|
-
}
|
|
306
|
-
/** @description Write an optional value (1-byte flag + value). */
|
|
307
|
-
writeOption(val, writeFn) {
|
|
308
|
-
if (val !== undefined) {
|
|
309
|
-
this.writeU8(1);
|
|
310
|
-
writeFn(val);
|
|
311
|
-
}
|
|
312
|
-
else {
|
|
313
|
-
this.writeU8(0);
|
|
314
|
-
}
|
|
315
|
-
return this;
|
|
316
|
-
}
|
|
317
|
-
/** @description Write a Borsh-encoded Vec (u32 length + elements). */
|
|
318
|
-
writeVec(items, writeFn) {
|
|
319
|
-
this.writeU32(items.length);
|
|
320
|
-
for (const item of items)
|
|
321
|
-
writeFn(item);
|
|
322
|
-
return this;
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
/* ═══════════════════════════════════════════════════════════════
|
|
326
|
-
* Account Deserialization
|
|
327
|
-
* ═══════════════════════════════════════════════════════════════ */
|
|
328
|
-
/**
|
|
329
|
-
* @description Deserialize raw account bytes into an {@link AgentPDAAccount}.
|
|
330
|
-
*
|
|
331
|
-
* @param {string} address - PDA address (base58)
|
|
332
|
-
* @param {Buffer | Uint8Array} data - Raw account data from `getAccountInfo`
|
|
333
|
-
* @returns {AgentPDAAccount} Fully deserialized agent account
|
|
334
|
-
* @throws {Error} If discriminator doesn't match or data is malformed
|
|
335
|
-
*
|
|
336
|
-
* @example
|
|
337
|
-
* ```ts
|
|
338
|
-
* const raw = await transport.request('getAccountInfo', [pdaAddress, { encoding: 'base64' }]);
|
|
339
|
-
* const decoded = Buffer.from(raw.value.data[0], 'base64');
|
|
340
|
-
* const agent = deserializeAgentAccount(pdaAddress, decoded);
|
|
341
|
-
* ```
|
|
342
|
-
*
|
|
343
|
-
* @since 1.3.0
|
|
344
|
-
*/
|
|
345
|
-
export function deserializeAgentAccount(address, data) {
|
|
346
|
-
const reader = new BorshReader(data);
|
|
347
|
-
// Discriminator (8 bytes)
|
|
348
|
-
const disc = reader.readBytes(8);
|
|
349
|
-
for (let i = 0; i < 8; i++) {
|
|
350
|
-
if (disc[i] !== SAP_ACCOUNT_DISCRIMINATOR[i]) {
|
|
351
|
-
throw new Error(`Invalid SAP account discriminator at address ${address}`);
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
// Fixed fields
|
|
355
|
-
const version = reader.readU8();
|
|
356
|
-
const isActive = reader.readU8() === 1;
|
|
357
|
-
const walletBytes = reader.readBytes(32);
|
|
358
|
-
const walletPubkey = base58Encode(walletBytes);
|
|
359
|
-
const createdAt = Number(reader.readI64());
|
|
360
|
-
const updatedAt = Number(reader.readI64());
|
|
361
|
-
const totalCallsServed = reader.readU64();
|
|
362
|
-
const avgLatencyMs = reader.readU32();
|
|
363
|
-
const uptimePercent = reader.readU8();
|
|
364
|
-
// Variable-length fields
|
|
365
|
-
const name = reader.readString();
|
|
366
|
-
const description = reader.readString();
|
|
367
|
-
const agentId = reader.readOption(() => reader.readString());
|
|
368
|
-
// Capabilities
|
|
369
|
-
const capabilities = reader.readVec(() => ({
|
|
370
|
-
id: reader.readString(),
|
|
371
|
-
description: reader.readOption(() => reader.readString()),
|
|
372
|
-
protocol: reader.readOption(() => reader.readString()),
|
|
373
|
-
}));
|
|
374
|
-
// Pricing (v1.4 micropayment layout)
|
|
375
|
-
const pricing = reader.readVec(() => {
|
|
376
|
-
const tierId = reader.readString();
|
|
377
|
-
const pricePerCall = reader.readU64();
|
|
378
|
-
const rateLimit = reader.readU32();
|
|
379
|
-
const maxCallsPerSession = reader.readU32();
|
|
380
|
-
const tokenType = ['SOL', 'USDC', 'SPL'][reader.readU8()];
|
|
381
|
-
const tokenMint = reader.readOption(() => reader.readString());
|
|
382
|
-
// v1.4 extended fields (backward-compatible via Option encoding)
|
|
383
|
-
const minPricePerCall = reader.readOption(() => reader.readU64());
|
|
384
|
-
const maxPricePerCall = reader.readOption(() => reader.readU64());
|
|
385
|
-
const volumeCurve = reader.readOption(() => reader.readVec(() => ({
|
|
386
|
-
afterCalls: reader.readU32(),
|
|
387
|
-
pricePerCall: reader.readU64(),
|
|
388
|
-
})));
|
|
389
|
-
const burstLimit = reader.readOption(() => reader.readU32());
|
|
390
|
-
const settlementMode = reader.readOption(() => ['instant', 'escrow', 'batched', 'x402'][reader.readU8()]);
|
|
391
|
-
const minEscrowDeposit = reader.readOption(() => reader.readU64());
|
|
392
|
-
const batchIntervalSec = reader.readOption(() => reader.readU32());
|
|
393
|
-
const tokenDecimals = reader.readOption(() => reader.readU8());
|
|
394
|
-
return {
|
|
395
|
-
tierId,
|
|
396
|
-
pricePerCall,
|
|
397
|
-
minPricePerCall: minPricePerCall ?? undefined,
|
|
398
|
-
maxPricePerCall: maxPricePerCall ?? undefined,
|
|
399
|
-
volumeCurve: volumeCurve ?? undefined,
|
|
400
|
-
rateLimit,
|
|
401
|
-
maxCallsPerSession,
|
|
402
|
-
burstLimit: burstLimit ?? undefined,
|
|
403
|
-
tokenType,
|
|
404
|
-
tokenMint,
|
|
405
|
-
tokenDecimals: tokenDecimals ?? undefined,
|
|
406
|
-
settlementMode: settlementMode ?? undefined,
|
|
407
|
-
minEscrowDeposit: minEscrowDeposit ?? undefined,
|
|
408
|
-
batchIntervalSec: batchIntervalSec ?? undefined,
|
|
409
|
-
};
|
|
410
|
-
});
|
|
411
|
-
// x402 endpoint
|
|
412
|
-
const x402Endpoint = reader.readOption(() => reader.readString());
|
|
413
|
-
// Reputation score (stored after variable data)
|
|
414
|
-
const score = reader.remaining >= 4 ? reader.readU32() : 500;
|
|
415
|
-
return {
|
|
416
|
-
address,
|
|
417
|
-
version,
|
|
418
|
-
isActive,
|
|
419
|
-
walletPubkey,
|
|
420
|
-
name,
|
|
421
|
-
description,
|
|
422
|
-
agentId,
|
|
423
|
-
capabilities,
|
|
424
|
-
pricing,
|
|
425
|
-
reputation: {
|
|
426
|
-
totalCallsServed,
|
|
427
|
-
avgLatencyMs,
|
|
428
|
-
uptimePercent,
|
|
429
|
-
score,
|
|
430
|
-
lastUpdatedAt: updatedAt,
|
|
431
|
-
},
|
|
432
|
-
x402Endpoint,
|
|
433
|
-
createdAt,
|
|
434
|
-
updatedAt,
|
|
435
|
-
};
|
|
436
|
-
}
|
|
437
|
-
/**
|
|
438
|
-
* @description Serialize agent data into instruction data for the `register` instruction.
|
|
439
|
-
* Does NOT include the instruction discriminator — that is prepended by
|
|
440
|
-
* {@link SAPInstructionBuilder}.
|
|
441
|
-
*
|
|
442
|
-
* @param {RegisterAgentParams} params - Registration parameters
|
|
443
|
-
* @returns {Uint8Array} Borsh-serialized instruction data (without discriminator)
|
|
444
|
-
*
|
|
445
|
-
* @since 1.3.0
|
|
446
|
-
*/
|
|
447
|
-
export function serializeRegisterData(params) {
|
|
448
|
-
const w = new BorshWriter();
|
|
449
|
-
w.writeString(params.name);
|
|
450
|
-
w.writeString(params.description);
|
|
451
|
-
w.writeOption(params.agentId, (v) => w.writeString(v));
|
|
452
|
-
// Capabilities
|
|
453
|
-
w.writeVec(params.capabilities ?? [], (cap) => {
|
|
454
|
-
w.writeString(cap.id);
|
|
455
|
-
w.writeOption(cap.description, (v) => w.writeString(v));
|
|
456
|
-
w.writeOption(cap.protocol, (v) => w.writeString(v));
|
|
457
|
-
});
|
|
458
|
-
// Pricing (v1.4 micropayment layout)
|
|
459
|
-
w.writeVec(params.pricing ?? [], (p) => {
|
|
460
|
-
w.writeString(p.tierId);
|
|
461
|
-
w.writeU64(p.pricePerCall);
|
|
462
|
-
w.writeU32(p.rateLimit);
|
|
463
|
-
w.writeU32(p.maxCallsPerSession);
|
|
464
|
-
w.writeU8(['SOL', 'USDC', 'SPL'].indexOf(p.tokenType));
|
|
465
|
-
w.writeOption(p.tokenMint, (v) => w.writeString(v));
|
|
466
|
-
// v1.4 extended fields
|
|
467
|
-
w.writeOption(p.minPricePerCall, (v) => w.writeU64(v));
|
|
468
|
-
w.writeOption(p.maxPricePerCall, (v) => w.writeU64(v));
|
|
469
|
-
w.writeOption(p.volumeCurve, (curve) => {
|
|
470
|
-
w.writeVec(curve, (bp) => {
|
|
471
|
-
w.writeU32(bp.afterCalls);
|
|
472
|
-
w.writeU64(bp.pricePerCall);
|
|
473
|
-
});
|
|
474
|
-
});
|
|
475
|
-
w.writeOption(p.burstLimit, (v) => w.writeU32(v));
|
|
476
|
-
w.writeOption(p.settlementMode, (v) => w.writeU8(['instant', 'escrow', 'batched', 'x402'].indexOf(v)));
|
|
477
|
-
w.writeOption(p.minEscrowDeposit, (v) => w.writeU64(v));
|
|
478
|
-
w.writeOption(p.batchIntervalSec, (v) => w.writeU32(v));
|
|
479
|
-
w.writeOption(p.tokenDecimals, (v) => w.writeU8(v));
|
|
480
|
-
});
|
|
481
|
-
// x402 endpoint
|
|
482
|
-
w.writeOption(params.x402Endpoint, (v) => w.writeString(v));
|
|
483
|
-
return w.toBytes();
|
|
484
|
-
}
|
|
485
|
-
/**
|
|
486
|
-
* @description Serialize update data for the `update` instruction.
|
|
487
|
-
* Uses Option encoding for each field — `None` means "don't change".
|
|
488
|
-
*
|
|
489
|
-
* @param {UpdateAgentParams} params - Fields to update
|
|
490
|
-
* @returns {Uint8Array} Borsh-serialized instruction data (without discriminator)
|
|
491
|
-
*
|
|
492
|
-
* @since 1.4.0
|
|
493
|
-
*/
|
|
494
|
-
export function serializeUpdateData(params) {
|
|
495
|
-
const w = new BorshWriter();
|
|
496
|
-
w.writeOption(params.name, (v) => w.writeString(v));
|
|
497
|
-
w.writeOption(params.description, (v) => w.writeString(v));
|
|
498
|
-
w.writeOption(params.isActive, (v) => w.writeU8(v ? 1 : 0));
|
|
499
|
-
// Capabilities (Option<Vec>)
|
|
500
|
-
w.writeOption(params.capabilities, (caps) => {
|
|
501
|
-
w.writeVec(caps, (cap) => {
|
|
502
|
-
w.writeString(cap.id);
|
|
503
|
-
w.writeOption(cap.description, (v) => w.writeString(v));
|
|
504
|
-
w.writeOption(cap.protocol, (v) => w.writeString(v));
|
|
505
|
-
});
|
|
506
|
-
});
|
|
507
|
-
// Pricing (Option<Vec>) — v1.4 micropayment layout
|
|
508
|
-
w.writeOption(params.pricing, (tiers) => {
|
|
509
|
-
w.writeVec(tiers, (p) => {
|
|
510
|
-
w.writeString(p.tierId);
|
|
511
|
-
w.writeU64(p.pricePerCall);
|
|
512
|
-
w.writeU32(p.rateLimit);
|
|
513
|
-
w.writeU32(p.maxCallsPerSession);
|
|
514
|
-
w.writeU8(['SOL', 'USDC', 'SPL'].indexOf(p.tokenType));
|
|
515
|
-
w.writeOption(p.tokenMint, (v) => w.writeString(v));
|
|
516
|
-
// v1.4 extended fields
|
|
517
|
-
w.writeOption(p.minPricePerCall, (v) => w.writeU64(v));
|
|
518
|
-
w.writeOption(p.maxPricePerCall, (v) => w.writeU64(v));
|
|
519
|
-
w.writeOption(p.volumeCurve, (curve) => {
|
|
520
|
-
w.writeVec(curve, (bp) => {
|
|
521
|
-
w.writeU32(bp.afterCalls);
|
|
522
|
-
w.writeU64(bp.pricePerCall);
|
|
523
|
-
});
|
|
524
|
-
});
|
|
525
|
-
w.writeOption(p.burstLimit, (v) => w.writeU32(v));
|
|
526
|
-
w.writeOption(p.settlementMode, (v) => w.writeU8(['instant', 'escrow', 'batched', 'x402'].indexOf(v)));
|
|
527
|
-
w.writeOption(p.minEscrowDeposit, (v) => w.writeU64(v));
|
|
528
|
-
w.writeOption(p.batchIntervalSec, (v) => w.writeU32(v));
|
|
529
|
-
w.writeOption(p.tokenDecimals, (v) => w.writeU8(v));
|
|
530
|
-
});
|
|
531
|
-
});
|
|
532
|
-
w.writeOption(params.x402Endpoint, (v) => w.writeString(v));
|
|
533
|
-
return w.toBytes();
|
|
534
|
-
}
|
|
535
|
-
//# sourceMappingURL=pda.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pda.js","sourceRoot":"","sources":["../../../../src/ai/sap/pda.ts"],"names":[],"mappings":"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"}
|