@oobe-protocol-labs/synapse-client-sdk 1.0.7 → 1.2.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/CHANGELOG.md +114 -0
- package/dist/cjs/ai/gateway/index.d.ts +5 -5
- package/dist/cjs/ai/gateway/index.d.ts.map +1 -1
- package/dist/cjs/ai/gateway/index.js +2 -2
- package/dist/cjs/ai/gateway/index.js.map +1 -1
- 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 +5 -2
- package/dist/cjs/ai/index.js.map +1 -1
- package/dist/cjs/ai/tools/index.d.ts +4 -4
- package/dist/cjs/ai/tools/index.d.ts.map +1 -1
- package/dist/cjs/ai/tools/index.js +5 -2
- package/dist/cjs/ai/tools/index.js.map +1 -1
- package/dist/cjs/ai/tools/protocols/index.d.ts +9 -3
- package/dist/cjs/ai/tools/protocols/index.d.ts.map +1 -1
- package/dist/cjs/ai/tools/protocols/index.js +16 -2
- package/dist/cjs/ai/tools/protocols/index.js.map +1 -1
- package/dist/cjs/ai/tools/protocols/jupiter/schemas.d.ts +1 -1
- package/dist/cjs/ai/tools/protocols/jupiter/schemas.d.ts.map +1 -1
- package/dist/cjs/ai/tools/protocols/jupiter/schemas.js +126 -28
- package/dist/cjs/ai/tools/protocols/jupiter/schemas.js.map +1 -1
- package/dist/cjs/ai/tools/protocols/jupiter/tools.d.ts +4 -3
- package/dist/cjs/ai/tools/protocols/jupiter/tools.d.ts.map +1 -1
- package/dist/cjs/ai/tools/protocols/jupiter/tools.js +91 -9
- package/dist/cjs/ai/tools/protocols/jupiter/tools.js.map +1 -1
- package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.d.ts +4 -4
- package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.d.ts.map +1 -1
- package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.js +1 -1
- package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.js.map +1 -1
- package/dist/cjs/ai/tools/protocols/metaplex/tools.d.ts +7 -4
- package/dist/cjs/ai/tools/protocols/metaplex/tools.d.ts.map +1 -1
- package/dist/cjs/ai/tools/protocols/metaplex/tools.js +4 -1
- package/dist/cjs/ai/tools/protocols/metaplex/tools.js.map +1 -1
- package/dist/cjs/ai/tools/protocols/raydium-onchain/tools.d.ts +4 -4
- package/dist/cjs/ai/tools/protocols/raydium-onchain/tools.d.ts.map +1 -1
- package/dist/cjs/ai/tools/protocols/raydium-onchain/tools.js +1 -1
- package/dist/cjs/ai/tools/protocols/raydium-onchain/tools.js.map +1 -1
- package/dist/cjs/ai/tools/protocols/solana-programs/index.d.ts +7 -0
- package/dist/cjs/ai/tools/protocols/solana-programs/index.d.ts.map +1 -0
- package/dist/cjs/ai/tools/protocols/solana-programs/index.js +13 -0
- package/dist/cjs/ai/tools/protocols/solana-programs/index.js.map +1 -0
- package/dist/cjs/ai/tools/protocols/solana-programs/schemas.d.ts +11 -0
- package/dist/cjs/ai/tools/protocols/solana-programs/schemas.d.ts.map +1 -0
- package/dist/cjs/ai/tools/protocols/solana-programs/schemas.js +160 -0
- package/dist/cjs/ai/tools/protocols/solana-programs/schemas.js.map +1 -0
- package/dist/cjs/ai/tools/protocols/solana-programs/tools.d.ts +57 -0
- package/dist/cjs/ai/tools/protocols/solana-programs/tools.d.ts.map +1 -0
- package/dist/cjs/ai/tools/protocols/solana-programs/tools.js +226 -0
- package/dist/cjs/ai/tools/protocols/solana-programs/tools.js.map +1 -0
- package/dist/cjs/context/container.d.ts +341 -0
- package/dist/cjs/context/container.d.ts.map +1 -0
- package/dist/cjs/context/container.js +670 -0
- package/dist/cjs/context/container.js.map +1 -0
- package/dist/cjs/context/hooks.d.ts +357 -0
- package/dist/cjs/context/hooks.d.ts.map +1 -0
- package/dist/cjs/context/hooks.js +451 -0
- package/dist/cjs/context/hooks.js.map +1 -0
- package/dist/cjs/context/index.d.ts +81 -0
- package/dist/cjs/context/index.d.ts.map +1 -0
- package/dist/cjs/context/index.js +125 -0
- package/dist/cjs/context/index.js.map +1 -0
- package/dist/cjs/context/providers.d.ts +176 -0
- package/dist/cjs/context/providers.d.ts.map +1 -0
- package/dist/cjs/context/providers.js +184 -0
- package/dist/cjs/context/providers.js.map +1 -0
- package/dist/cjs/context/refs.d.ts +491 -0
- package/dist/cjs/context/refs.d.ts.map +1 -0
- package/dist/cjs/context/refs.js +673 -0
- package/dist/cjs/context/refs.js.map +1 -0
- package/dist/cjs/context/types.d.ts +251 -0
- package/dist/cjs/context/types.d.ts.map +1 -0
- package/dist/cjs/context/types.js +87 -0
- package/dist/cjs/context/types.js.map +1 -0
- package/dist/cjs/core/client.d.ts +31 -1
- package/dist/cjs/core/client.d.ts.map +1 -1
- package/dist/cjs/core/client.js.map +1 -1
- package/dist/cjs/index.d.ts +4 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +6 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/programs/associated-token.d.ts +97 -0
- package/dist/cjs/programs/associated-token.d.ts.map +1 -0
- package/dist/cjs/programs/associated-token.js +113 -0
- package/dist/cjs/programs/associated-token.js.map +1 -0
- package/dist/cjs/programs/compute-budget.d.ts +105 -0
- package/dist/cjs/programs/compute-budget.d.ts.map +1 -0
- package/dist/cjs/programs/compute-budget.js +99 -0
- package/dist/cjs/programs/compute-budget.js.map +1 -0
- package/dist/cjs/programs/index.d.ts +74 -0
- package/dist/cjs/programs/index.d.ts.map +1 -0
- package/dist/cjs/programs/index.js +112 -0
- package/dist/cjs/programs/index.js.map +1 -0
- package/dist/cjs/programs/memo.d.ts +70 -0
- package/dist/cjs/programs/memo.d.ts.map +1 -0
- package/dist/cjs/programs/memo.js +74 -0
- package/dist/cjs/programs/memo.js.map +1 -0
- package/dist/cjs/programs/spl-token.d.ts +373 -0
- package/dist/cjs/programs/spl-token.d.ts.map +1 -0
- package/dist/cjs/programs/spl-token.js +358 -0
- package/dist/cjs/programs/spl-token.js.map +1 -0
- package/dist/cjs/programs/system.d.ts +231 -0
- package/dist/cjs/programs/system.d.ts.map +1 -0
- package/dist/cjs/programs/system.js +231 -0
- package/dist/cjs/programs/system.js.map +1 -0
- package/dist/cjs/programs/types.d.ts +111 -0
- package/dist/cjs/programs/types.d.ts.map +1 -0
- package/dist/cjs/programs/types.js +166 -0
- package/dist/cjs/programs/types.js.map +1 -0
- package/dist/docs/assets/navigation.js +1 -1
- package/dist/docs/assets/search.js +1 -1
- package/dist/docs/classes/AccountReader.html +18 -18
- package/dist/docs/classes/AccountsClient.html +10 -10
- package/dist/docs/classes/AsyncProviderError.html +39 -0
- package/dist/docs/classes/CircularDependencyError.html +39 -0
- 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 +37 -0
- package/dist/docs/classes/MemoryGuard.html +27 -0
- package/dist/docs/classes/NetworkError.html +5 -5
- package/dist/docs/classes/RefRegistry.html +40 -0
- package/dist/docs/classes/RefReleasedError.html +39 -0
- package/dist/docs/classes/RpcMethodNotFoundError.html +4 -4
- package/dist/docs/classes/ServiceNotFoundError.html +39 -0
- package/dist/docs/classes/ServiceRef.html +60 -0
- package/dist/docs/classes/SolanaRpc.html +55 -55
- package/dist/docs/classes/SynapseClient.html +39 -27
- package/dist/docs/classes/SynapseContext.html +151 -0
- 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 +17 -0
- 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 +11 -0
- package/dist/docs/functions/base58Encode.html +1 -1
- package/dist/docs/functions/base64ToBytes.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 +6 -0
- package/dist/docs/functions/createBinding.html +11 -0
- package/dist/docs/functions/createBoundHook.html +8 -0
- package/dist/docs/functions/createReactAdapter.html +11 -0
- package/dist/docs/functions/createRefHook.html +10 -0
- package/dist/docs/functions/createServerMiddleware.html +11 -0
- package/dist/docs/functions/createServiceHook.html +10 -0
- package/dist/docs/functions/createSynapse.html +1 -1
- package/dist/docs/functions/createSynapseContext.html +12 -0
- package/dist/docs/functions/createToken.html +9 -0
- package/dist/docs/functions/decodeBase58.html +2 -0
- 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 +4 -0
- 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 +3 -0
- 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 +3 -0
- package/dist/docs/functions/readonlySigner.html +3 -0
- 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 +9 -0
- 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/toKitAddress.html +1 -1
- package/dist/docs/functions/toKitInstruction.html +9 -0
- package/dist/docs/functions/toKitLamports.html +1 -1
- package/dist/docs/functions/toKitSignatureString.html +1 -1
- package/dist/docs/functions/tryGetContext.html +3 -0
- package/dist/docs/functions/tryUseService.html +4 -0
- package/dist/docs/functions/useBoundServices.html +10 -0
- package/dist/docs/functions/useService.html +13 -0
- package/dist/docs/functions/useSharedRef.html +14 -0
- package/dist/docs/functions/withRef.html +14 -0
- package/dist/docs/functions/withRefAsync.html +12 -0
- package/dist/docs/functions/writable.html +3 -0
- package/dist/docs/functions/writableSigner.html +3 -0
- package/dist/docs/hierarchy.html +1 -1
- package/dist/docs/interfaces/AccountInfo.html +7 -7
- package/dist/docs/interfaces/AccountMeta.html +9 -0
- package/dist/docs/interfaces/AccountNotification.html +2 -2
- package/dist/docs/interfaces/AccountSubParams.html +2 -2
- package/dist/docs/interfaces/AddMemoParams.html +11 -0
- package/dist/docs/interfaces/AdvanceNonceParams.html +7 -0
- package/dist/docs/interfaces/AliasProvider.html +6 -0
- package/dist/docs/interfaces/AllocateParams.html +7 -0
- package/dist/docs/interfaces/ApproveCheckedParams.html +19 -0
- package/dist/docs/interfaces/ApproveParams.html +15 -0
- package/dist/docs/interfaces/AssetSignatureInfo.html +2 -2
- package/dist/docs/interfaces/AssetSignaturesPage.html +2 -2
- package/dist/docs/interfaces/AssignParams.html +7 -0
- package/dist/docs/interfaces/AsyncFactoryProvider.html +7 -0
- package/dist/docs/interfaces/AuthorizeNonceParams.html +9 -0
- 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 +17 -0
- package/dist/docs/interfaces/BurnParams.html +15 -0
- package/dist/docs/interfaces/CallOptions.html +6 -6
- package/dist/docs/interfaces/ClassProvider.html +6 -0
- package/dist/docs/interfaces/CloseAccountParams.html +13 -0
- package/dist/docs/interfaces/ConfirmedTransaction.html +6 -6
- package/dist/docs/interfaces/ContactInfo.html +2 -2
- package/dist/docs/interfaces/ContextAdapter.html +15 -0
- package/dist/docs/interfaces/ContextEvents.html +13 -0
- package/dist/docs/interfaces/ContextModule.html +12 -0
- package/dist/docs/interfaces/CreateATAParams.html +13 -0
- package/dist/docs/interfaces/CreateAccountParams.html +13 -0
- package/dist/docs/interfaces/CreateAccountWithSeedParams.html +17 -0
- package/dist/docs/interfaces/CreateSynapseContextOpts.html +18 -0
- 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 +5 -0
- 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 +7 -0
- package/dist/docs/interfaces/FetchedMint.html +6 -6
- package/dist/docs/interfaces/FetchedTokenAccount.html +6 -6
- package/dist/docs/interfaces/FreezeThawParams.html +13 -0
- 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 +11 -0
- package/dist/docs/interfaces/InitializeMintParams.html +13 -0
- package/dist/docs/interfaces/InitializeNonceParams.html +7 -0
- package/dist/docs/interfaces/InterestBearingConfigExt.html +2 -2
- package/dist/docs/interfaces/LatencyProbeResult.html +2 -2
- package/dist/docs/interfaces/LeakReport.html +12 -0
- 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 +20 -0
- package/dist/docs/interfaces/MetadataPointerExt.html +2 -2
- package/dist/docs/interfaces/MintCloseAuthorityExt.html +2 -2
- package/dist/docs/interfaces/MintToCheckedParams.html +17 -0
- package/dist/docs/interfaces/MintToParams.html +15 -0
- 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 +108 -0
- 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 +8 -0
- package/dist/docs/interfaces/RecoverNestedParams.html +15 -0
- package/dist/docs/interfaces/RefRegistryConfig.html +9 -0
- package/dist/docs/interfaces/RefStats.html +15 -0
- package/dist/docs/interfaces/RequestHeapFrameParams.html +5 -0
- package/dist/docs/interfaces/ResolveMiddleware.html +8 -0
- package/dist/docs/interfaces/RevokeParams.html +11 -0
- 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 +2 -2
- package/dist/docs/interfaces/RpcResponse.html +2 -2
- package/dist/docs/interfaces/SendTransactionOpts.html +6 -6
- package/dist/docs/interfaces/ServerAdapterConfig.html +13 -0
- package/dist/docs/interfaces/ServiceBinding.html +17 -0
- package/dist/docs/interfaces/ServiceRegistration.html +7 -0
- package/dist/docs/interfaces/ServiceResolver.html +16 -0
- package/dist/docs/interfaces/ServiceToken.html +13 -0
- package/dist/docs/interfaces/SetComputeUnitLimitParams.html +5 -0
- package/dist/docs/interfaces/SetComputeUnitPriceParams.html +5 -0
- package/dist/docs/interfaces/SetLoadedAccountsDataSizeLimitParams.html +5 -0
- 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/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 +14 -0
- package/dist/docs/interfaces/SynapseEndpoint.html +7 -7
- package/dist/docs/interfaces/SyncNativeParams.html +7 -0
- package/dist/docs/interfaces/SystemTransferParams.html +9 -0
- 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 +15 -0
- package/dist/docs/interfaces/TransactionInstruction.html +11 -0
- package/dist/docs/interfaces/TransactionMeta.html +11 -11
- package/dist/docs/interfaces/TransferCheckedParams.html +19 -0
- 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 +4 -0
- package/dist/docs/interfaces/VoteAccount.html +9 -9
- package/dist/docs/interfaces/VoteAccountsResult.html +3 -3
- package/dist/docs/interfaces/WithdrawNonceParams.html +11 -0
- package/dist/docs/interfaces/WsConfig.html +6 -6
- package/dist/docs/media/CHANGELOG.md +114 -0
- package/dist/docs/modules.html +107 -1
- 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 +25 -0
- package/dist/docs/types/ServiceProvider.html +3 -0
- 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 +3 -0
- package/dist/docs/variables/AssociatedToken.html +13 -0
- package/dist/docs/variables/COMPUTE_BUDGET_PROGRAM.html +3 -0
- package/dist/docs/variables/ComputeBudget.html +19 -0
- 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 +3 -0
- package/dist/docs/variables/MEMO_PROGRAM_V2.html +3 -0
- 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 +9 -0
- 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 +3 -0
- 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 +38 -0
- package/dist/docs/variables/SystemProgram.html +42 -0
- package/dist/docs/variables/TOKEN_2022_PROGRAM.html +3 -0
- 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 +3 -0
- package/dist/docs/variables/TOKEN_PROGRAM_ID.html +1 -1
- package/dist/docs/variables/Tokens.html +16 -0
- package/dist/esm/ai/gateway/index.d.ts +5 -5
- package/dist/esm/ai/gateway/index.d.ts.map +1 -1
- package/dist/esm/ai/gateway/index.js +2 -2
- package/dist/esm/ai/gateway/index.js.map +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 +2 -2
- package/dist/esm/ai/index.js.map +1 -1
- package/dist/esm/ai/tools/index.d.ts +4 -4
- package/dist/esm/ai/tools/index.d.ts.map +1 -1
- package/dist/esm/ai/tools/index.js +3 -3
- package/dist/esm/ai/tools/index.js.map +1 -1
- package/dist/esm/ai/tools/protocols/index.d.ts +9 -3
- package/dist/esm/ai/tools/protocols/index.d.ts.map +1 -1
- package/dist/esm/ai/tools/protocols/index.js +12 -1
- package/dist/esm/ai/tools/protocols/index.js.map +1 -1
- package/dist/esm/ai/tools/protocols/jupiter/schemas.d.ts +1 -1
- package/dist/esm/ai/tools/protocols/jupiter/schemas.d.ts.map +1 -1
- package/dist/esm/ai/tools/protocols/jupiter/schemas.js +126 -28
- package/dist/esm/ai/tools/protocols/jupiter/schemas.js.map +1 -1
- package/dist/esm/ai/tools/protocols/jupiter/tools.d.ts +4 -3
- package/dist/esm/ai/tools/protocols/jupiter/tools.d.ts.map +1 -1
- package/dist/esm/ai/tools/protocols/jupiter/tools.js +91 -9
- package/dist/esm/ai/tools/protocols/jupiter/tools.js.map +1 -1
- package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.d.ts +4 -4
- package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.d.ts.map +1 -1
- package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.js +1 -1
- package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.js.map +1 -1
- package/dist/esm/ai/tools/protocols/metaplex/tools.d.ts +7 -4
- package/dist/esm/ai/tools/protocols/metaplex/tools.d.ts.map +1 -1
- package/dist/esm/ai/tools/protocols/metaplex/tools.js +4 -1
- package/dist/esm/ai/tools/protocols/metaplex/tools.js.map +1 -1
- package/dist/esm/ai/tools/protocols/raydium-onchain/tools.d.ts +4 -4
- package/dist/esm/ai/tools/protocols/raydium-onchain/tools.d.ts.map +1 -1
- package/dist/esm/ai/tools/protocols/raydium-onchain/tools.js +1 -1
- package/dist/esm/ai/tools/protocols/raydium-onchain/tools.js.map +1 -1
- package/dist/esm/ai/tools/protocols/solana-programs/index.d.ts +7 -0
- package/dist/esm/ai/tools/protocols/solana-programs/index.d.ts.map +1 -0
- package/dist/esm/ai/tools/protocols/solana-programs/index.js +7 -0
- package/dist/esm/ai/tools/protocols/solana-programs/index.js.map +1 -0
- package/dist/esm/ai/tools/protocols/solana-programs/schemas.d.ts +11 -0
- package/dist/esm/ai/tools/protocols/solana-programs/schemas.d.ts.map +1 -0
- package/dist/esm/ai/tools/protocols/solana-programs/schemas.js +157 -0
- package/dist/esm/ai/tools/protocols/solana-programs/schemas.js.map +1 -0
- package/dist/esm/ai/tools/protocols/solana-programs/tools.d.ts +57 -0
- package/dist/esm/ai/tools/protocols/solana-programs/tools.d.ts.map +1 -0
- package/dist/esm/ai/tools/protocols/solana-programs/tools.js +220 -0
- package/dist/esm/ai/tools/protocols/solana-programs/tools.js.map +1 -0
- package/dist/esm/context/container.d.ts +341 -0
- package/dist/esm/context/container.d.ts.map +1 -0
- package/dist/esm/context/container.js +666 -0
- package/dist/esm/context/container.js.map +1 -0
- package/dist/esm/context/hooks.d.ts +357 -0
- package/dist/esm/context/hooks.d.ts.map +1 -0
- package/dist/esm/context/hooks.js +434 -0
- package/dist/esm/context/hooks.js.map +1 -0
- package/dist/esm/context/index.d.ts +81 -0
- package/dist/esm/context/index.d.ts.map +1 -0
- package/dist/esm/context/index.js +98 -0
- package/dist/esm/context/index.js.map +1 -0
- package/dist/esm/context/providers.d.ts +176 -0
- package/dist/esm/context/providers.d.ts.map +1 -0
- package/dist/esm/context/providers.js +179 -0
- package/dist/esm/context/providers.js.map +1 -0
- package/dist/esm/context/refs.d.ts +491 -0
- package/dist/esm/context/refs.d.ts.map +1 -0
- package/dist/esm/context/refs.js +664 -0
- package/dist/esm/context/refs.js.map +1 -0
- package/dist/esm/context/types.d.ts +251 -0
- package/dist/esm/context/types.d.ts.map +1 -0
- package/dist/esm/context/types.js +79 -0
- package/dist/esm/context/types.js.map +1 -0
- package/dist/esm/core/client.d.ts +31 -1
- package/dist/esm/core/client.d.ts.map +1 -1
- package/dist/esm/core/client.js.map +1 -1
- package/dist/esm/index.d.ts +4 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +6 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/programs/associated-token.d.ts +97 -0
- package/dist/esm/programs/associated-token.d.ts.map +1 -0
- package/dist/esm/programs/associated-token.js +110 -0
- package/dist/esm/programs/associated-token.js.map +1 -0
- package/dist/esm/programs/compute-budget.d.ts +105 -0
- package/dist/esm/programs/compute-budget.d.ts.map +1 -0
- package/dist/esm/programs/compute-budget.js +96 -0
- package/dist/esm/programs/compute-budget.js.map +1 -0
- package/dist/esm/programs/index.d.ts +74 -0
- package/dist/esm/programs/index.d.ts.map +1 -0
- package/dist/esm/programs/index.js +90 -0
- package/dist/esm/programs/index.js.map +1 -0
- package/dist/esm/programs/memo.d.ts +70 -0
- package/dist/esm/programs/memo.d.ts.map +1 -0
- package/dist/esm/programs/memo.js +71 -0
- package/dist/esm/programs/memo.js.map +1 -0
- package/dist/esm/programs/spl-token.d.ts +373 -0
- package/dist/esm/programs/spl-token.d.ts.map +1 -0
- package/dist/esm/programs/spl-token.js +355 -0
- package/dist/esm/programs/spl-token.js.map +1 -0
- package/dist/esm/programs/system.d.ts +231 -0
- package/dist/esm/programs/system.d.ts.map +1 -0
- package/dist/esm/programs/system.js +228 -0
- package/dist/esm/programs/system.js.map +1 -0
- package/dist/esm/programs/types.d.ts +111 -0
- package/dist/esm/programs/types.d.ts.map +1 -0
- package/dist/esm/programs/types.js +157 -0
- package/dist/esm/programs/types.js.map +1 -0
- package/package.json +41 -1
|
@@ -0,0 +1,491 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory-safe service references — ref counting, leak detection, WeakRef sharing.
|
|
3
|
+
*
|
|
4
|
+
* ## Why refs?
|
|
5
|
+
*
|
|
6
|
+
* In an SDK, memory management is critical. Raw `resolve()` returns
|
|
7
|
+
* a direct reference with no tracking. `acquireRef()` returns a
|
|
8
|
+
* `ServiceRef<T>` that:
|
|
9
|
+
*
|
|
10
|
+
* 1. **Tracks** how many components hold the service (ref counting)
|
|
11
|
+
* 2. **Invalidates** automatically when the context is disposed
|
|
12
|
+
* 3. **Detects leaks** via `FinalizationRegistry` (if a ref is GC'd without release)
|
|
13
|
+
* 4. **Supports RAII** via `use()` / `useAsync()` / `withRef()`
|
|
14
|
+
*
|
|
15
|
+
* ## Architecture
|
|
16
|
+
*
|
|
17
|
+
* ```
|
|
18
|
+
* ┌──────────────────────────────────────────────────────────┐
|
|
19
|
+
* │ Component A Component B │
|
|
20
|
+
* │ acquireRef(RPC) ──┐ ┌── acquireRef(RPC) │
|
|
21
|
+
* │ ServiceRef #1 │ │ ServiceRef #2 │
|
|
22
|
+
* │ refCount: 2 ▼ ▼ refCount: 2 │
|
|
23
|
+
* │ ┌──────────┐ │
|
|
24
|
+
* │ │ Registry │ ← FinalizationRegistry │
|
|
25
|
+
* │ │ RPC → 2 │ (leak detection) │
|
|
26
|
+
* │ └────┬─────┘ │
|
|
27
|
+
* │ │ │
|
|
28
|
+
* │ ┌────▼─────┐ │
|
|
29
|
+
* │ │ Singleton│ (one instance, N refs) │
|
|
30
|
+
* │ │ RPC svc │ │
|
|
31
|
+
* │ └──────────┘ │
|
|
32
|
+
* │ │
|
|
33
|
+
* │ A.release() → refCount: 1 │ B.release() → refCount: 0 │
|
|
34
|
+
* └──────────────────────────────────────────────────────────┘
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* ## Component sharing pattern
|
|
38
|
+
*
|
|
39
|
+
* ```ts
|
|
40
|
+
* // Component A — acquires a tracked reference
|
|
41
|
+
* const rpcRef = ctx.acquireRef(Tokens.RPC);
|
|
42
|
+
* const balance = await rpcRef.current.getBalance(pubkey);
|
|
43
|
+
*
|
|
44
|
+
* // Component B — acquires its own tracked ref to the SAME instance
|
|
45
|
+
* const rpcRef2 = ctx.acquireRef(Tokens.RPC);
|
|
46
|
+
* const slot = await rpcRef2.current.getSlot();
|
|
47
|
+
*
|
|
48
|
+
* // Both hold the SAME singleton — ref count is 2
|
|
49
|
+
* ctx.refCount(Tokens.RPC); // → 2
|
|
50
|
+
*
|
|
51
|
+
* // Component A unmounts
|
|
52
|
+
* rpcRef.release(); // ref count → 1
|
|
53
|
+
*
|
|
54
|
+
* // Component B unmounts
|
|
55
|
+
* rpcRef2.release(); // ref count → 0
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* ## RAII pattern (auto-release)
|
|
59
|
+
*
|
|
60
|
+
* ```ts
|
|
61
|
+
* // Sync — ref released in finally block
|
|
62
|
+
* const balance = withRef(ctx, Tokens.RPC, rpc => rpc.getBalance(pubkey));
|
|
63
|
+
*
|
|
64
|
+
* // Async — ref released after await completes
|
|
65
|
+
* const slot = await withRefAsync(ctx, Tokens.RPC, rpc => rpc.getSlot());
|
|
66
|
+
*
|
|
67
|
+
* // On the ref itself
|
|
68
|
+
* const result = ref.use(rpc => rpc.getBalance(pubkey));
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* @module context/refs
|
|
72
|
+
* @since 1.2.0
|
|
73
|
+
*/
|
|
74
|
+
import { SynapseError } from '../core/errors';
|
|
75
|
+
import type { ServiceToken, Disposable } from './types';
|
|
76
|
+
/**
|
|
77
|
+
* Thrown when accessing `.current` on a released or invalidated reference.
|
|
78
|
+
* @since 1.2.0
|
|
79
|
+
*/
|
|
80
|
+
export declare class RefReleasedError extends SynapseError {
|
|
81
|
+
constructor(tokenName: string);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Leak report entry — one per ref that was GC'd without release
|
|
85
|
+
* or that has exceeded the maximum age threshold.
|
|
86
|
+
* @since 1.2.0
|
|
87
|
+
*/
|
|
88
|
+
export interface LeakReport {
|
|
89
|
+
/** Name of the service token. */
|
|
90
|
+
tokenName: string;
|
|
91
|
+
/** Unique ID of the leaked ref. */
|
|
92
|
+
refId: number;
|
|
93
|
+
/** `performance.now()` when the ref was acquired. */
|
|
94
|
+
acquiredAt: number;
|
|
95
|
+
/** `performance.now()` when the leak was detected. */
|
|
96
|
+
detectedAt: number;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Aggregate statistics from the {@link RefRegistry}.
|
|
100
|
+
* @since 1.2.0
|
|
101
|
+
*/
|
|
102
|
+
export interface RefStats {
|
|
103
|
+
/** Total refs acquired since creation. */
|
|
104
|
+
totalAcquired: number;
|
|
105
|
+
/** Total refs released since creation. */
|
|
106
|
+
totalReleased: number;
|
|
107
|
+
/** Currently active (unreleased) refs. */
|
|
108
|
+
active: number;
|
|
109
|
+
/** Peak concurrent active refs. */
|
|
110
|
+
peak: number;
|
|
111
|
+
/** Refs detected as leaked (GC'd without release). */
|
|
112
|
+
leaked: number;
|
|
113
|
+
/** Active ref count per token name. */
|
|
114
|
+
byToken: Record<string, number>;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Configuration for the {@link RefRegistry}.
|
|
118
|
+
* @since 1.2.0
|
|
119
|
+
*/
|
|
120
|
+
export interface RefRegistryConfig {
|
|
121
|
+
/**
|
|
122
|
+
* Enable FinalizationRegistry-based leak detection.
|
|
123
|
+
* Falls back to disabled if the runtime doesn't support it.
|
|
124
|
+
* @default true
|
|
125
|
+
*/
|
|
126
|
+
enableLeakDetection?: boolean;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Configuration for the {@link MemoryGuard}.
|
|
130
|
+
* @since 1.2.0
|
|
131
|
+
*/
|
|
132
|
+
export interface MemoryGuardConfig {
|
|
133
|
+
/**
|
|
134
|
+
* Max age in ms before a ref is considered a potential leak.
|
|
135
|
+
* Used by `checkLeaks()`.
|
|
136
|
+
* @default 60000
|
|
137
|
+
*/
|
|
138
|
+
maxRefAgeMs?: number;
|
|
139
|
+
/**
|
|
140
|
+
* Max total active refs before emitting a pressure warning.
|
|
141
|
+
* @default 100
|
|
142
|
+
*/
|
|
143
|
+
maxActiveRefs?: number;
|
|
144
|
+
/**
|
|
145
|
+
* Interval in ms for automatic leak checks. `0` = disabled.
|
|
146
|
+
* The timer is `unref()`'d so it won't keep the process alive.
|
|
147
|
+
* @default 0
|
|
148
|
+
*/
|
|
149
|
+
checkIntervalMs?: number;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* A tracked, ref-counted reference to a resolved service.
|
|
153
|
+
*
|
|
154
|
+
* Provides memory-safe access: accessing `.current` after `.release()`
|
|
155
|
+
* throws {@link RefReleasedError} instead of returning a stale value.
|
|
156
|
+
*
|
|
157
|
+
* @typeParam T - The service type.
|
|
158
|
+
* @since 1.2.0
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```ts
|
|
162
|
+
* const rpcRef = ctx.acquireRef(Tokens.RPC);
|
|
163
|
+
*
|
|
164
|
+
* // Use the service
|
|
165
|
+
* const balance = await rpcRef.current.getBalance(pubkey);
|
|
166
|
+
*
|
|
167
|
+
* // Release when done (e.g. on unmount)
|
|
168
|
+
* rpcRef.release();
|
|
169
|
+
*
|
|
170
|
+
* // Accessing after release throws
|
|
171
|
+
* rpcRef.current; // ❌ RefReleasedError
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
export declare class ServiceRef<T> implements Disposable {
|
|
175
|
+
private readonly _value;
|
|
176
|
+
private readonly _token;
|
|
177
|
+
private readonly _onRelease;
|
|
178
|
+
/** Unique reference ID (monotonically increasing within a registry). */
|
|
179
|
+
readonly id: number;
|
|
180
|
+
private _released;
|
|
181
|
+
private readonly _acquiredAt;
|
|
182
|
+
/**
|
|
183
|
+
* @internal Use `ctx.acquireRef(token)` or `RefRegistry.acquire()` to create refs.
|
|
184
|
+
*/
|
|
185
|
+
constructor(_value: T, _token: ServiceToken<T>, _onRelease: (ref: ServiceRef<T>) => void,
|
|
186
|
+
/** Unique reference ID (monotonically increasing within a registry). */
|
|
187
|
+
id: number);
|
|
188
|
+
/**
|
|
189
|
+
* The resolved service instance.
|
|
190
|
+
*
|
|
191
|
+
* @throws {RefReleasedError} If the ref has been released or invalidated.
|
|
192
|
+
*/
|
|
193
|
+
get current(): T;
|
|
194
|
+
/** Whether this reference is still valid (not released). */
|
|
195
|
+
get alive(): boolean;
|
|
196
|
+
/** The token this ref was acquired for. */
|
|
197
|
+
get token(): ServiceToken<T>;
|
|
198
|
+
/** `performance.now()` timestamp when this ref was acquired. */
|
|
199
|
+
get acquiredAt(): number;
|
|
200
|
+
/** How long this ref has been alive, in ms. */
|
|
201
|
+
get ageMs(): number;
|
|
202
|
+
/**
|
|
203
|
+
* Release this reference, decrementing the ref count.
|
|
204
|
+
*
|
|
205
|
+
* After release:
|
|
206
|
+
* - `.current` throws {@link RefReleasedError}
|
|
207
|
+
* - `.alive` returns `false`
|
|
208
|
+
* - The ref count for this token decreases by 1
|
|
209
|
+
*
|
|
210
|
+
* Safe to call multiple times (idempotent).
|
|
211
|
+
*/
|
|
212
|
+
release(): void;
|
|
213
|
+
/** Alias for {@link release}. Implements {@link Disposable}. */
|
|
214
|
+
dispose(): void;
|
|
215
|
+
/**
|
|
216
|
+
* Execute a function with this reference, auto-releasing afterward.
|
|
217
|
+
*
|
|
218
|
+
* The ref is released in a `finally` block, guaranteeing cleanup
|
|
219
|
+
* even if the function throws.
|
|
220
|
+
*
|
|
221
|
+
* @param fn - Receives the unwrapped service value.
|
|
222
|
+
* @returns The return value of `fn`.
|
|
223
|
+
*
|
|
224
|
+
* @example
|
|
225
|
+
* ```ts
|
|
226
|
+
* const balance = rpcRef.use(rpc => rpc.getBalance(pubkey));
|
|
227
|
+
* // rpcRef is now released — no leak possible
|
|
228
|
+
* ```
|
|
229
|
+
*/
|
|
230
|
+
use<R>(fn: (service: T) => R): R;
|
|
231
|
+
/**
|
|
232
|
+
* Async version of {@link use}. Awaits the function, then releases.
|
|
233
|
+
*
|
|
234
|
+
* @example
|
|
235
|
+
* ```ts
|
|
236
|
+
* const balance = await rpcRef.useAsync(rpc => rpc.getBalance(pubkey));
|
|
237
|
+
* ```
|
|
238
|
+
*/
|
|
239
|
+
useAsync<R>(fn: (service: T) => Promise<R>): Promise<R>;
|
|
240
|
+
/**
|
|
241
|
+
* Create a weak reference that does **not** prevent garbage collection.
|
|
242
|
+
*
|
|
243
|
+
* The returned `WeakServiceRef` can be shared to components that
|
|
244
|
+
* only need the service optionally — if the strong refs are all
|
|
245
|
+
* released and the GC collects the object, `.deref()` returns
|
|
246
|
+
* `undefined` instead of throwing.
|
|
247
|
+
*
|
|
248
|
+
* @throws {SynapseError} If the service value is a primitive (not weakly referenceable).
|
|
249
|
+
*
|
|
250
|
+
* @example
|
|
251
|
+
* ```ts
|
|
252
|
+
* const weakRpc = rpcRef.toWeak();
|
|
253
|
+
* // Later:
|
|
254
|
+
* const rpc = weakRpc.deref();
|
|
255
|
+
* if (rpc) rpc.getBalance(pubkey);
|
|
256
|
+
* ```
|
|
257
|
+
*/
|
|
258
|
+
toWeak(): WeakServiceRef<T & object>;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* A non-preventing (weak) reference to a service.
|
|
262
|
+
*
|
|
263
|
+
* Unlike {@link ServiceRef}, this does **not** keep the service alive
|
|
264
|
+
* in memory. The garbage collector can collect the underlying object
|
|
265
|
+
* even while this ref exists. Use `.deref()` to check if the service
|
|
266
|
+
* is still available.
|
|
267
|
+
*
|
|
268
|
+
* @typeParam T - The service type (must be an object).
|
|
269
|
+
* @since 1.2.0
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* ```ts
|
|
273
|
+
* const weakRpc = strongRef.toWeak();
|
|
274
|
+
*
|
|
275
|
+
* // In another component — check before use
|
|
276
|
+
* const rpc = weakRpc.deref();
|
|
277
|
+
* if (rpc) {
|
|
278
|
+
* await rpc.getBalance(pubkey);
|
|
279
|
+
* } else {
|
|
280
|
+
* // Service was GC'd — re-acquire if needed
|
|
281
|
+
* }
|
|
282
|
+
* ```
|
|
283
|
+
*/
|
|
284
|
+
export declare class WeakServiceRef<T extends object> {
|
|
285
|
+
private readonly _ref;
|
|
286
|
+
constructor(value: T);
|
|
287
|
+
/**
|
|
288
|
+
* Dereference the weak ref.
|
|
289
|
+
* @returns The service instance, or `undefined` if it was GC'd.
|
|
290
|
+
*/
|
|
291
|
+
deref(): T | undefined;
|
|
292
|
+
/** Whether the underlying object is still alive (not yet GC'd). */
|
|
293
|
+
get alive(): boolean;
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Centralized registry that tracks all active {@link ServiceRef}s.
|
|
297
|
+
*
|
|
298
|
+
* Provides ref counting, introspection, and leak detection via
|
|
299
|
+
* `FinalizationRegistry`. Each `SynapseContext` owns at most one
|
|
300
|
+
* `RefRegistry` (created lazily on first `acquireRef()`).
|
|
301
|
+
*
|
|
302
|
+
* @since 1.2.0
|
|
303
|
+
*/
|
|
304
|
+
export declare class RefRegistry implements Disposable {
|
|
305
|
+
/** @internal Active refs grouped by token. */
|
|
306
|
+
private readonly _entries;
|
|
307
|
+
/** @internal FinalizationRegistry for GC-based leak detection. */
|
|
308
|
+
private readonly _leakDetector?;
|
|
309
|
+
/** @internal Track which ref IDs are still active (for leak detection). */
|
|
310
|
+
private readonly _activeRefIds;
|
|
311
|
+
/** @internal Monotonically increasing ref ID. */
|
|
312
|
+
private _nextId;
|
|
313
|
+
/** @internal Counters. */
|
|
314
|
+
private _totalAcquired;
|
|
315
|
+
private _totalReleased;
|
|
316
|
+
private _peakActive;
|
|
317
|
+
private _leakedCount;
|
|
318
|
+
/** @internal Leak handlers. */
|
|
319
|
+
private readonly _leakHandlers;
|
|
320
|
+
/** @internal Whether the registry has been disposed. */
|
|
321
|
+
private _disposed;
|
|
322
|
+
constructor(config?: RefRegistryConfig);
|
|
323
|
+
/**
|
|
324
|
+
* Create a tracked ref for a resolved service value.
|
|
325
|
+
*
|
|
326
|
+
* @param token - The service token.
|
|
327
|
+
* @param value - The resolved service instance.
|
|
328
|
+
* @returns A new `ServiceRef<T>` linked to this registry.
|
|
329
|
+
*/
|
|
330
|
+
acquire<T>(token: ServiceToken<T>, value: T): ServiceRef<T>;
|
|
331
|
+
/** @internal Handle a ref being released. */
|
|
332
|
+
private _handleRelease;
|
|
333
|
+
/**
|
|
334
|
+
* Number of active refs for a specific token.
|
|
335
|
+
*/
|
|
336
|
+
refCount(token: ServiceToken): number;
|
|
337
|
+
/**
|
|
338
|
+
* Total number of active (unreleased) refs across all tokens.
|
|
339
|
+
*/
|
|
340
|
+
totalActive(): number;
|
|
341
|
+
/**
|
|
342
|
+
* Aggregate statistics snapshot.
|
|
343
|
+
*/
|
|
344
|
+
get stats(): RefStats;
|
|
345
|
+
/** @internal Build per-token breakdown. */
|
|
346
|
+
private _tokenBreakdown;
|
|
347
|
+
/**
|
|
348
|
+
* Check for potential leaks: refs that have been alive longer
|
|
349
|
+
* than `maxAgeMs` without being released.
|
|
350
|
+
*
|
|
351
|
+
* This is a **heuristic** — long-lived refs (e.g. for the lifetime
|
|
352
|
+
* of the app) are expected. Use this for debugging / dev mode.
|
|
353
|
+
*
|
|
354
|
+
* @param maxAgeMs - Threshold in ms. @default 60_000
|
|
355
|
+
*/
|
|
356
|
+
checkLeaks(maxAgeMs?: number): LeakReport[];
|
|
357
|
+
/**
|
|
358
|
+
* Register a handler for GC-detected leaks.
|
|
359
|
+
*
|
|
360
|
+
* Called when a `ServiceRef` is garbage collected without
|
|
361
|
+
* `.release()` having been called first.
|
|
362
|
+
*
|
|
363
|
+
* @param handler - Receives a {@link LeakReport} for each leak.
|
|
364
|
+
*/
|
|
365
|
+
onLeak(handler: (report: LeakReport) => void): void;
|
|
366
|
+
/**
|
|
367
|
+
* Force-release all active refs.
|
|
368
|
+
*
|
|
369
|
+
* Called automatically when the owning `SynapseContext` is disposed.
|
|
370
|
+
* After this, all refs' `.current` will throw {@link RefReleasedError}.
|
|
371
|
+
*/
|
|
372
|
+
invalidateAll(): void;
|
|
373
|
+
/** Dispose the registry — invalidates all refs, clears handlers. */
|
|
374
|
+
dispose(): void;
|
|
375
|
+
/** Whether this registry has been disposed. */
|
|
376
|
+
get isDisposed(): boolean;
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Memory safety monitor that wraps a {@link RefRegistry}.
|
|
380
|
+
*
|
|
381
|
+
* Provides configurable thresholds, periodic leak checks, and
|
|
382
|
+
* pressure alerts. Designed for dev-mode diagnostics or production
|
|
383
|
+
* monitoring of SDK memory usage.
|
|
384
|
+
*
|
|
385
|
+
* @since 1.2.0
|
|
386
|
+
*
|
|
387
|
+
* @example
|
|
388
|
+
* ```ts
|
|
389
|
+
* const guard = new MemoryGuard(registry, {
|
|
390
|
+
* maxRefAgeMs: 30_000,
|
|
391
|
+
* maxActiveRefs: 50,
|
|
392
|
+
* checkIntervalMs: 10_000,
|
|
393
|
+
* });
|
|
394
|
+
*
|
|
395
|
+
* guard.onPressure(stats => {
|
|
396
|
+
* console.warn('⚠️ Memory pressure:', stats.active, 'active refs');
|
|
397
|
+
* });
|
|
398
|
+
*
|
|
399
|
+
* guard.onLeak(report => {
|
|
400
|
+
* console.error('🔴 Leaked ref:', report.tokenName, '#' + report.refId);
|
|
401
|
+
* });
|
|
402
|
+
* ```
|
|
403
|
+
*/
|
|
404
|
+
export declare class MemoryGuard implements Disposable {
|
|
405
|
+
private readonly _registry;
|
|
406
|
+
private _timer?;
|
|
407
|
+
private readonly _pressureHandlers;
|
|
408
|
+
private readonly _config;
|
|
409
|
+
constructor(_registry: RefRegistry, config?: MemoryGuardConfig);
|
|
410
|
+
/** Current ref statistics from the underlying registry. */
|
|
411
|
+
get stats(): RefStats;
|
|
412
|
+
/** Whether the active ref count exceeds the threshold. */
|
|
413
|
+
get underPressure(): boolean;
|
|
414
|
+
/** Number of currently active refs. */
|
|
415
|
+
get activeRefs(): number;
|
|
416
|
+
/**
|
|
417
|
+
* Check for potential leaks (refs older than `maxRefAgeMs`).
|
|
418
|
+
*/
|
|
419
|
+
checkLeaks(): LeakReport[];
|
|
420
|
+
/**
|
|
421
|
+
* Subscribe to memory pressure events.
|
|
422
|
+
*
|
|
423
|
+
* Fires when the active ref count exceeds `maxActiveRefs`
|
|
424
|
+
* during a periodic check.
|
|
425
|
+
*/
|
|
426
|
+
onPressure(handler: (stats: RefStats) => void): void;
|
|
427
|
+
/**
|
|
428
|
+
* Subscribe to GC-detected leak events.
|
|
429
|
+
*
|
|
430
|
+
* Delegates to the underlying {@link RefRegistry.onLeak}.
|
|
431
|
+
*/
|
|
432
|
+
onLeak(handler: (report: LeakReport) => void): void;
|
|
433
|
+
/** @internal Periodic check callback. */
|
|
434
|
+
private _periodicCheck;
|
|
435
|
+
/** Dispose the guard — stops the timer, clears handlers. */
|
|
436
|
+
dispose(): void;
|
|
437
|
+
}
|
|
438
|
+
/**
|
|
439
|
+
* A batch of acquired refs, bound to a set of tokens.
|
|
440
|
+
*
|
|
441
|
+
* Provides a single `.release()` call that frees all refs at once —
|
|
442
|
+
* ideal for components that consume multiple services and need
|
|
443
|
+
* guaranteed cleanup.
|
|
444
|
+
*
|
|
445
|
+
* @since 1.2.0
|
|
446
|
+
*/
|
|
447
|
+
export interface ServiceBinding<T extends Record<string, ServiceToken>> {
|
|
448
|
+
/**
|
|
449
|
+
* Lazy-resolved services. Each property resolves and acquires a ref
|
|
450
|
+
* on first access.
|
|
451
|
+
*/
|
|
452
|
+
readonly services: {
|
|
453
|
+
[K in keyof T]: T[K] extends ServiceToken<infer U> ? U : never;
|
|
454
|
+
};
|
|
455
|
+
/** All acquired refs (populated as services are accessed). */
|
|
456
|
+
readonly refs: Map<string, ServiceRef<unknown>>;
|
|
457
|
+
/** Whether any ref is still alive. */
|
|
458
|
+
readonly alive: boolean;
|
|
459
|
+
/** Release all acquired refs. Safe to call multiple times. */
|
|
460
|
+
release(): void;
|
|
461
|
+
/** Alias for {@link release}. */
|
|
462
|
+
dispose(): void;
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* Create a binding that acquires tracked refs for multiple tokens.
|
|
466
|
+
*
|
|
467
|
+
* Services are resolved **lazily** on first property access. All refs
|
|
468
|
+
* are released together with a single `.release()` call.
|
|
469
|
+
*
|
|
470
|
+
* @param acquireFn - Function that acquires a ref for a token (usually `ctx.acquireRef.bind(ctx)`).
|
|
471
|
+
* @param tokens - Record mapping property names to service tokens.
|
|
472
|
+
* @returns A {@link ServiceBinding} with lazy services and batch release.
|
|
473
|
+
* @since 1.2.0
|
|
474
|
+
*
|
|
475
|
+
* @example
|
|
476
|
+
* ```ts
|
|
477
|
+
* const binding = createBinding(
|
|
478
|
+
* token => ctx.acquireRef(token),
|
|
479
|
+
* { rpc: Tokens.RPC, das: Tokens.DAS, programs: Tokens.PROGRAMS },
|
|
480
|
+
* );
|
|
481
|
+
*
|
|
482
|
+
* // Use services (each is acquired on first access):
|
|
483
|
+
* await binding.services.rpc.getBalance(pubkey);
|
|
484
|
+
* await binding.services.das.getAsset(assetId);
|
|
485
|
+
*
|
|
486
|
+
* // Release ALL refs at once:
|
|
487
|
+
* binding.release();
|
|
488
|
+
* ```
|
|
489
|
+
*/
|
|
490
|
+
export declare function createBinding<T extends Record<string, ServiceToken>>(acquireFn: <U>(token: ServiceToken<U>) => ServiceRef<U>, tokens: T): ServiceBinding<T>;
|
|
491
|
+
//# sourceMappingURL=refs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../../src/context/refs.ts"],"names":[],"mappings":"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"}
|