@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.
Files changed (659) hide show
  1. package/CHANGELOG.md +114 -0
  2. package/dist/cjs/ai/gateway/index.d.ts +5 -5
  3. package/dist/cjs/ai/gateway/index.d.ts.map +1 -1
  4. package/dist/cjs/ai/gateway/index.js +2 -2
  5. package/dist/cjs/ai/gateway/index.js.map +1 -1
  6. package/dist/cjs/ai/index.d.ts +1 -1
  7. package/dist/cjs/ai/index.d.ts.map +1 -1
  8. package/dist/cjs/ai/index.js +5 -2
  9. package/dist/cjs/ai/index.js.map +1 -1
  10. package/dist/cjs/ai/tools/index.d.ts +4 -4
  11. package/dist/cjs/ai/tools/index.d.ts.map +1 -1
  12. package/dist/cjs/ai/tools/index.js +5 -2
  13. package/dist/cjs/ai/tools/index.js.map +1 -1
  14. package/dist/cjs/ai/tools/protocols/index.d.ts +9 -3
  15. package/dist/cjs/ai/tools/protocols/index.d.ts.map +1 -1
  16. package/dist/cjs/ai/tools/protocols/index.js +16 -2
  17. package/dist/cjs/ai/tools/protocols/index.js.map +1 -1
  18. package/dist/cjs/ai/tools/protocols/jupiter/schemas.d.ts +1 -1
  19. package/dist/cjs/ai/tools/protocols/jupiter/schemas.d.ts.map +1 -1
  20. package/dist/cjs/ai/tools/protocols/jupiter/schemas.js +126 -28
  21. package/dist/cjs/ai/tools/protocols/jupiter/schemas.js.map +1 -1
  22. package/dist/cjs/ai/tools/protocols/jupiter/tools.d.ts +4 -3
  23. package/dist/cjs/ai/tools/protocols/jupiter/tools.d.ts.map +1 -1
  24. package/dist/cjs/ai/tools/protocols/jupiter/tools.js +91 -9
  25. package/dist/cjs/ai/tools/protocols/jupiter/tools.js.map +1 -1
  26. package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.d.ts +4 -4
  27. package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.d.ts.map +1 -1
  28. package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.js +1 -1
  29. package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.js.map +1 -1
  30. package/dist/cjs/ai/tools/protocols/metaplex/tools.d.ts +7 -4
  31. package/dist/cjs/ai/tools/protocols/metaplex/tools.d.ts.map +1 -1
  32. package/dist/cjs/ai/tools/protocols/metaplex/tools.js +4 -1
  33. package/dist/cjs/ai/tools/protocols/metaplex/tools.js.map +1 -1
  34. package/dist/cjs/ai/tools/protocols/raydium-onchain/tools.d.ts +4 -4
  35. package/dist/cjs/ai/tools/protocols/raydium-onchain/tools.d.ts.map +1 -1
  36. package/dist/cjs/ai/tools/protocols/raydium-onchain/tools.js +1 -1
  37. package/dist/cjs/ai/tools/protocols/raydium-onchain/tools.js.map +1 -1
  38. package/dist/cjs/ai/tools/protocols/solana-programs/index.d.ts +7 -0
  39. package/dist/cjs/ai/tools/protocols/solana-programs/index.d.ts.map +1 -0
  40. package/dist/cjs/ai/tools/protocols/solana-programs/index.js +13 -0
  41. package/dist/cjs/ai/tools/protocols/solana-programs/index.js.map +1 -0
  42. package/dist/cjs/ai/tools/protocols/solana-programs/schemas.d.ts +11 -0
  43. package/dist/cjs/ai/tools/protocols/solana-programs/schemas.d.ts.map +1 -0
  44. package/dist/cjs/ai/tools/protocols/solana-programs/schemas.js +160 -0
  45. package/dist/cjs/ai/tools/protocols/solana-programs/schemas.js.map +1 -0
  46. package/dist/cjs/ai/tools/protocols/solana-programs/tools.d.ts +57 -0
  47. package/dist/cjs/ai/tools/protocols/solana-programs/tools.d.ts.map +1 -0
  48. package/dist/cjs/ai/tools/protocols/solana-programs/tools.js +226 -0
  49. package/dist/cjs/ai/tools/protocols/solana-programs/tools.js.map +1 -0
  50. package/dist/cjs/context/container.d.ts +341 -0
  51. package/dist/cjs/context/container.d.ts.map +1 -0
  52. package/dist/cjs/context/container.js +670 -0
  53. package/dist/cjs/context/container.js.map +1 -0
  54. package/dist/cjs/context/hooks.d.ts +357 -0
  55. package/dist/cjs/context/hooks.d.ts.map +1 -0
  56. package/dist/cjs/context/hooks.js +451 -0
  57. package/dist/cjs/context/hooks.js.map +1 -0
  58. package/dist/cjs/context/index.d.ts +81 -0
  59. package/dist/cjs/context/index.d.ts.map +1 -0
  60. package/dist/cjs/context/index.js +125 -0
  61. package/dist/cjs/context/index.js.map +1 -0
  62. package/dist/cjs/context/providers.d.ts +176 -0
  63. package/dist/cjs/context/providers.d.ts.map +1 -0
  64. package/dist/cjs/context/providers.js +184 -0
  65. package/dist/cjs/context/providers.js.map +1 -0
  66. package/dist/cjs/context/refs.d.ts +491 -0
  67. package/dist/cjs/context/refs.d.ts.map +1 -0
  68. package/dist/cjs/context/refs.js +673 -0
  69. package/dist/cjs/context/refs.js.map +1 -0
  70. package/dist/cjs/context/types.d.ts +251 -0
  71. package/dist/cjs/context/types.d.ts.map +1 -0
  72. package/dist/cjs/context/types.js +87 -0
  73. package/dist/cjs/context/types.js.map +1 -0
  74. package/dist/cjs/core/client.d.ts +31 -1
  75. package/dist/cjs/core/client.d.ts.map +1 -1
  76. package/dist/cjs/core/client.js.map +1 -1
  77. package/dist/cjs/index.d.ts +4 -1
  78. package/dist/cjs/index.d.ts.map +1 -1
  79. package/dist/cjs/index.js +6 -1
  80. package/dist/cjs/index.js.map +1 -1
  81. package/dist/cjs/programs/associated-token.d.ts +97 -0
  82. package/dist/cjs/programs/associated-token.d.ts.map +1 -0
  83. package/dist/cjs/programs/associated-token.js +113 -0
  84. package/dist/cjs/programs/associated-token.js.map +1 -0
  85. package/dist/cjs/programs/compute-budget.d.ts +105 -0
  86. package/dist/cjs/programs/compute-budget.d.ts.map +1 -0
  87. package/dist/cjs/programs/compute-budget.js +99 -0
  88. package/dist/cjs/programs/compute-budget.js.map +1 -0
  89. package/dist/cjs/programs/index.d.ts +74 -0
  90. package/dist/cjs/programs/index.d.ts.map +1 -0
  91. package/dist/cjs/programs/index.js +112 -0
  92. package/dist/cjs/programs/index.js.map +1 -0
  93. package/dist/cjs/programs/memo.d.ts +70 -0
  94. package/dist/cjs/programs/memo.d.ts.map +1 -0
  95. package/dist/cjs/programs/memo.js +74 -0
  96. package/dist/cjs/programs/memo.js.map +1 -0
  97. package/dist/cjs/programs/spl-token.d.ts +373 -0
  98. package/dist/cjs/programs/spl-token.d.ts.map +1 -0
  99. package/dist/cjs/programs/spl-token.js +358 -0
  100. package/dist/cjs/programs/spl-token.js.map +1 -0
  101. package/dist/cjs/programs/system.d.ts +231 -0
  102. package/dist/cjs/programs/system.d.ts.map +1 -0
  103. package/dist/cjs/programs/system.js +231 -0
  104. package/dist/cjs/programs/system.js.map +1 -0
  105. package/dist/cjs/programs/types.d.ts +111 -0
  106. package/dist/cjs/programs/types.d.ts.map +1 -0
  107. package/dist/cjs/programs/types.js +166 -0
  108. package/dist/cjs/programs/types.js.map +1 -0
  109. package/dist/docs/assets/navigation.js +1 -1
  110. package/dist/docs/assets/search.js +1 -1
  111. package/dist/docs/classes/AccountReader.html +18 -18
  112. package/dist/docs/classes/AccountsClient.html +10 -10
  113. package/dist/docs/classes/AsyncProviderError.html +39 -0
  114. package/dist/docs/classes/CircularDependencyError.html +39 -0
  115. package/dist/docs/classes/DasClient.html +13 -13
  116. package/dist/docs/classes/GeyserParser.html +17 -17
  117. package/dist/docs/classes/GrpcTransport.html +6 -6
  118. package/dist/docs/classes/HttpTransport.html +4 -4
  119. package/dist/docs/classes/InstructionWriter.html +37 -0
  120. package/dist/docs/classes/MemoryGuard.html +27 -0
  121. package/dist/docs/classes/NetworkError.html +5 -5
  122. package/dist/docs/classes/RefRegistry.html +40 -0
  123. package/dist/docs/classes/RefReleasedError.html +39 -0
  124. package/dist/docs/classes/RpcMethodNotFoundError.html +4 -4
  125. package/dist/docs/classes/ServiceNotFoundError.html +39 -0
  126. package/dist/docs/classes/ServiceRef.html +60 -0
  127. package/dist/docs/classes/SolanaRpc.html +55 -55
  128. package/dist/docs/classes/SynapseClient.html +39 -27
  129. package/dist/docs/classes/SynapseContext.html +151 -0
  130. package/dist/docs/classes/SynapseError.html +4 -4
  131. package/dist/docs/classes/TimeoutError.html +4 -4
  132. package/dist/docs/classes/UpstreamError.html +6 -6
  133. package/dist/docs/classes/WeakServiceRef.html +17 -0
  134. package/dist/docs/classes/WsClient.html +10 -10
  135. package/dist/docs/enums/SynapseNetwork.html +2 -2
  136. package/dist/docs/enums/SynapseRegion.html +2 -2
  137. package/dist/docs/enums/TokenExtensionType.html +2 -2
  138. package/dist/docs/functions/Epoch-1.html +1 -1
  139. package/dist/docs/functions/Lamports-2.html +1 -1
  140. package/dist/docs/functions/Pubkey-1.html +1 -1
  141. package/dist/docs/functions/Sig.html +1 -1
  142. package/dist/docs/functions/Slot-1.html +1 -1
  143. package/dist/docs/functions/UnixTs.html +1 -1
  144. package/dist/docs/functions/autoSelectRegion.html +1 -1
  145. package/dist/docs/functions/autoWire.html +11 -0
  146. package/dist/docs/functions/base58Encode.html +1 -1
  147. package/dist/docs/functions/base64ToBytes.html +1 -1
  148. package/dist/docs/functions/chunk.html +1 -1
  149. package/dist/docs/functions/computeBalanceChanges.html +1 -1
  150. package/dist/docs/functions/computeTokenBalanceChanges.html +1 -1
  151. package/dist/docs/functions/createBareContext.html +6 -0
  152. package/dist/docs/functions/createBinding.html +11 -0
  153. package/dist/docs/functions/createBoundHook.html +8 -0
  154. package/dist/docs/functions/createReactAdapter.html +11 -0
  155. package/dist/docs/functions/createRefHook.html +10 -0
  156. package/dist/docs/functions/createServerMiddleware.html +11 -0
  157. package/dist/docs/functions/createServiceHook.html +10 -0
  158. package/dist/docs/functions/createSynapse.html +1 -1
  159. package/dist/docs/functions/createSynapseContext.html +12 -0
  160. package/dist/docs/functions/createToken.html +9 -0
  161. package/dist/docs/functions/decodeBase58.html +2 -0
  162. package/dist/docs/functions/decodeLookupTable.html +1 -1
  163. package/dist/docs/functions/decodeMint.html +1 -1
  164. package/dist/docs/functions/decodeMultisig.html +1 -1
  165. package/dist/docs/functions/decodeNonceAccount.html +1 -1
  166. package/dist/docs/functions/decodeStakeAccount.html +1 -1
  167. package/dist/docs/functions/decodeToken2022Account.html +1 -1
  168. package/dist/docs/functions/decodeToken2022Mint.html +1 -1
  169. package/dist/docs/functions/decodeTokenAccount.html +1 -1
  170. package/dist/docs/functions/encodeBase58.html +1 -1
  171. package/dist/docs/functions/fetchLookupTable.html +1 -1
  172. package/dist/docs/functions/fetchMint.html +1 -1
  173. package/dist/docs/functions/fetchNonceAccount.html +1 -1
  174. package/dist/docs/functions/fetchStakeAccount.html +1 -1
  175. package/dist/docs/functions/fetchTokenAccount.html +1 -1
  176. package/dist/docs/functions/fetchTokenAccountsByOwner.html +1 -1
  177. package/dist/docs/functions/fromKitAddress.html +1 -1
  178. package/dist/docs/functions/getAccountInfo.html +1 -1
  179. package/dist/docs/functions/getAsset.html +1 -1
  180. package/dist/docs/functions/getAssetBatch.html +1 -1
  181. package/dist/docs/functions/getAssetProof.html +1 -1
  182. package/dist/docs/functions/getAssetProofBatch.html +1 -1
  183. package/dist/docs/functions/getAssetsByAuthority.html +1 -1
  184. package/dist/docs/functions/getAssetsByCreator.html +1 -1
  185. package/dist/docs/functions/getAssetsByGroup.html +1 -1
  186. package/dist/docs/functions/getAssetsByOwner.html +1 -1
  187. package/dist/docs/functions/getBalance.html +1 -1
  188. package/dist/docs/functions/getBlock.html +1 -1
  189. package/dist/docs/functions/getBlockCommitment.html +1 -1
  190. package/dist/docs/functions/getBlockHeight.html +1 -1
  191. package/dist/docs/functions/getBlockProduction.html +1 -1
  192. package/dist/docs/functions/getBlockTime.html +1 -1
  193. package/dist/docs/functions/getBlocks.html +1 -1
  194. package/dist/docs/functions/getBlocksWithLimit.html +1 -1
  195. package/dist/docs/functions/getClusterNodes.html +1 -1
  196. package/dist/docs/functions/getContext.html +4 -0
  197. package/dist/docs/functions/getDecodedAccount.html +1 -1
  198. package/dist/docs/functions/getDecodedAccounts.html +1 -1
  199. package/dist/docs/functions/getEnvironment.html +1 -1
  200. package/dist/docs/functions/getEpochInfo.html +1 -1
  201. package/dist/docs/functions/getEpochSchedule.html +1 -1
  202. package/dist/docs/functions/getFeeForMessage.html +1 -1
  203. package/dist/docs/functions/getFirstAvailableBlock.html +1 -1
  204. package/dist/docs/functions/getGenesisHash.html +1 -1
  205. package/dist/docs/functions/getHealth.html +1 -1
  206. package/dist/docs/functions/getHighestSnapshotSlot.html +1 -1
  207. package/dist/docs/functions/getIdentity.html +1 -1
  208. package/dist/docs/functions/getInflationGovernor.html +1 -1
  209. package/dist/docs/functions/getInflationRate.html +1 -1
  210. package/dist/docs/functions/getInflationReward.html +1 -1
  211. package/dist/docs/functions/getLargestAccounts.html +1 -1
  212. package/dist/docs/functions/getLatestBlockhash.html +1 -1
  213. package/dist/docs/functions/getLeaderSchedule.html +1 -1
  214. package/dist/docs/functions/getMaxRetransmitSlot.html +1 -1
  215. package/dist/docs/functions/getMaxShredInsertSlot.html +1 -1
  216. package/dist/docs/functions/getMinimumBalanceForRentExemption.html +1 -1
  217. package/dist/docs/functions/getMultipleAccounts.html +1 -1
  218. package/dist/docs/functions/getProgramAccounts.html +1 -1
  219. package/dist/docs/functions/getProgramCategory.html +1 -1
  220. package/dist/docs/functions/getRecentPerformanceSamples.html +1 -1
  221. package/dist/docs/functions/getRecentPrioritizationFees.html +1 -1
  222. package/dist/docs/functions/getSignatureStatuses.html +1 -1
  223. package/dist/docs/functions/getSignaturesForAddress.html +1 -1
  224. package/dist/docs/functions/getSignaturesForAsset.html +1 -1
  225. package/dist/docs/functions/getSlot.html +1 -1
  226. package/dist/docs/functions/getSlotLeader.html +1 -1
  227. package/dist/docs/functions/getSlotLeaders.html +1 -1
  228. package/dist/docs/functions/getStakeActivation.html +1 -1
  229. package/dist/docs/functions/getStakeMinimumDelegation.html +1 -1
  230. package/dist/docs/functions/getSupply.html +1 -1
  231. package/dist/docs/functions/getTokenAccountBalance.html +1 -1
  232. package/dist/docs/functions/getTokenAccounts.html +1 -1
  233. package/dist/docs/functions/getTokenAccountsByDelegate.html +1 -1
  234. package/dist/docs/functions/getTokenAccountsByOwner.html +1 -1
  235. package/dist/docs/functions/getTokenLargestAccounts.html +1 -1
  236. package/dist/docs/functions/getTokenSupply.html +1 -1
  237. package/dist/docs/functions/getTransaction.html +1 -1
  238. package/dist/docs/functions/getTransactionCount.html +1 -1
  239. package/dist/docs/functions/getVersion.html +1 -1
  240. package/dist/docs/functions/getVoteAccounts.html +1 -1
  241. package/dist/docs/functions/isBlockhashValid.html +1 -1
  242. package/dist/docs/functions/isBrowser.html +1 -1
  243. package/dist/docs/functions/isDisposable.html +3 -0
  244. package/dist/docs/functions/isProgramInCategory.html +1 -1
  245. package/dist/docs/functions/isServer.html +1 -1
  246. package/dist/docs/functions/isValidPubkey.html +1 -1
  247. package/dist/docs/functions/isValidSignature.html +1 -1
  248. package/dist/docs/functions/lamportsToSol.html +1 -1
  249. package/dist/docs/functions/listEndpoints.html +1 -1
  250. package/dist/docs/functions/listNetworks.html +1 -1
  251. package/dist/docs/functions/listRegions.html +1 -1
  252. package/dist/docs/functions/minimumLedgerSlot.html +1 -1
  253. package/dist/docs/functions/parseAccountUpdate.html +1 -1
  254. package/dist/docs/functions/parseBlockMeta.html +1 -1
  255. package/dist/docs/functions/parseEntry.html +1 -1
  256. package/dist/docs/functions/parseGeyserUpdate.html +1 -1
  257. package/dist/docs/functions/parseSlotUpdate.html +1 -1
  258. package/dist/docs/functions/parseTimestamp.html +1 -1
  259. package/dist/docs/functions/parseTransaction.html +1 -1
  260. package/dist/docs/functions/probeLatency.html +1 -1
  261. package/dist/docs/functions/rawBufferToBase58.html +1 -1
  262. package/dist/docs/functions/rawBufferToBase64.html +1 -1
  263. package/dist/docs/functions/rawBufferToBytes.html +1 -1
  264. package/dist/docs/functions/rawBufferToHex.html +1 -1
  265. package/dist/docs/functions/readonly.html +3 -0
  266. package/dist/docs/functions/readonlySigner.html +3 -0
  267. package/dist/docs/functions/requestAirdrop.html +1 -1
  268. package/dist/docs/functions/resolveEndpoint.html +1 -1
  269. package/dist/docs/functions/resolveProgram.html +1 -1
  270. package/dist/docs/functions/resolveProgramBatch.html +1 -1
  271. package/dist/docs/functions/retry.html +1 -1
  272. package/dist/docs/functions/searchAssets.html +1 -1
  273. package/dist/docs/functions/sendTransaction.html +1 -1
  274. package/dist/docs/functions/setGlobalContext.html +9 -0
  275. package/dist/docs/functions/simulateTransaction.html +1 -1
  276. package/dist/docs/functions/sleep.html +1 -1
  277. package/dist/docs/functions/solToLamports.html +1 -1
  278. package/dist/docs/functions/toClientConfig.html +1 -1
  279. package/dist/docs/functions/toKitAddress.html +1 -1
  280. package/dist/docs/functions/toKitInstruction.html +9 -0
  281. package/dist/docs/functions/toKitLamports.html +1 -1
  282. package/dist/docs/functions/toKitSignatureString.html +1 -1
  283. package/dist/docs/functions/tryGetContext.html +3 -0
  284. package/dist/docs/functions/tryUseService.html +4 -0
  285. package/dist/docs/functions/useBoundServices.html +10 -0
  286. package/dist/docs/functions/useService.html +13 -0
  287. package/dist/docs/functions/useSharedRef.html +14 -0
  288. package/dist/docs/functions/withRef.html +14 -0
  289. package/dist/docs/functions/withRefAsync.html +12 -0
  290. package/dist/docs/functions/writable.html +3 -0
  291. package/dist/docs/functions/writableSigner.html +3 -0
  292. package/dist/docs/hierarchy.html +1 -1
  293. package/dist/docs/interfaces/AccountInfo.html +7 -7
  294. package/dist/docs/interfaces/AccountMeta.html +9 -0
  295. package/dist/docs/interfaces/AccountNotification.html +2 -2
  296. package/dist/docs/interfaces/AccountSubParams.html +2 -2
  297. package/dist/docs/interfaces/AddMemoParams.html +11 -0
  298. package/dist/docs/interfaces/AdvanceNonceParams.html +7 -0
  299. package/dist/docs/interfaces/AliasProvider.html +6 -0
  300. package/dist/docs/interfaces/AllocateParams.html +7 -0
  301. package/dist/docs/interfaces/ApproveCheckedParams.html +19 -0
  302. package/dist/docs/interfaces/ApproveParams.html +15 -0
  303. package/dist/docs/interfaces/AssetSignatureInfo.html +2 -2
  304. package/dist/docs/interfaces/AssetSignaturesPage.html +2 -2
  305. package/dist/docs/interfaces/AssignParams.html +7 -0
  306. package/dist/docs/interfaces/AsyncFactoryProvider.html +7 -0
  307. package/dist/docs/interfaces/AuthorizeNonceParams.html +9 -0
  308. package/dist/docs/interfaces/BalanceChange.html +6 -6
  309. package/dist/docs/interfaces/BlockProduction.html +3 -3
  310. package/dist/docs/interfaces/BlockResult.html +2 -2
  311. package/dist/docs/interfaces/BlockReward.html +2 -2
  312. package/dist/docs/interfaces/BlockhashResult.html +2 -2
  313. package/dist/docs/interfaces/BurnCheckedParams.html +17 -0
  314. package/dist/docs/interfaces/BurnParams.html +15 -0
  315. package/dist/docs/interfaces/CallOptions.html +6 -6
  316. package/dist/docs/interfaces/ClassProvider.html +6 -0
  317. package/dist/docs/interfaces/CloseAccountParams.html +13 -0
  318. package/dist/docs/interfaces/ConfirmedTransaction.html +6 -6
  319. package/dist/docs/interfaces/ContactInfo.html +2 -2
  320. package/dist/docs/interfaces/ContextAdapter.html +15 -0
  321. package/dist/docs/interfaces/ContextEvents.html +13 -0
  322. package/dist/docs/interfaces/ContextModule.html +12 -0
  323. package/dist/docs/interfaces/CreateATAParams.html +13 -0
  324. package/dist/docs/interfaces/CreateAccountParams.html +13 -0
  325. package/dist/docs/interfaces/CreateAccountWithSeedParams.html +17 -0
  326. package/dist/docs/interfaces/CreateSynapseContextOpts.html +18 -0
  327. package/dist/docs/interfaces/DasAsset.html +2 -2
  328. package/dist/docs/interfaces/DasAssetProof.html +2 -2
  329. package/dist/docs/interfaces/DasAuthority.html +2 -2
  330. package/dist/docs/interfaces/DasCompression.html +2 -2
  331. package/dist/docs/interfaces/DasContent.html +2 -2
  332. package/dist/docs/interfaces/DasCreator.html +2 -2
  333. package/dist/docs/interfaces/DasFile.html +2 -2
  334. package/dist/docs/interfaces/DasGrouping.html +2 -2
  335. package/dist/docs/interfaces/DasOpts.html +2 -2
  336. package/dist/docs/interfaces/DasOwnership.html +2 -2
  337. package/dist/docs/interfaces/DasPage.html +2 -2
  338. package/dist/docs/interfaces/DasRoyalty.html +2 -2
  339. package/dist/docs/interfaces/DasSearchParams.html +2 -2
  340. package/dist/docs/interfaces/DasSupply.html +2 -2
  341. package/dist/docs/interfaces/DataSlice.html +3 -3
  342. package/dist/docs/interfaces/DecodedAccountResult.html +4 -4
  343. package/dist/docs/interfaces/DecodedLookupTable.html +8 -8
  344. package/dist/docs/interfaces/DecodedMint.html +6 -6
  345. package/dist/docs/interfaces/DecodedMultisig.html +5 -5
  346. package/dist/docs/interfaces/DecodedNonceAccount.html +6 -6
  347. package/dist/docs/interfaces/DecodedStakeAccount.html +2 -2
  348. package/dist/docs/interfaces/DecodedToken2022Account.html +9 -9
  349. package/dist/docs/interfaces/DecodedToken2022Mint.html +6 -6
  350. package/dist/docs/interfaces/DecodedTokenAccount.html +9 -9
  351. package/dist/docs/interfaces/DefaultAccountStateExt.html +2 -2
  352. package/dist/docs/interfaces/Disposable.html +5 -0
  353. package/dist/docs/interfaces/EndpointConnectConfig.html +5 -5
  354. package/dist/docs/interfaces/EpochInfo.html +7 -7
  355. package/dist/docs/interfaces/EpochSchedule.html +2 -2
  356. package/dist/docs/interfaces/FactoryProvider.html +7 -0
  357. package/dist/docs/interfaces/FetchedMint.html +6 -6
  358. package/dist/docs/interfaces/FetchedTokenAccount.html +6 -6
  359. package/dist/docs/interfaces/FreezeThawParams.html +13 -0
  360. package/dist/docs/interfaces/GetAccountInfoOpts.html +6 -6
  361. package/dist/docs/interfaces/GetAssetsByAuthorityParams.html +2 -2
  362. package/dist/docs/interfaces/GetAssetsByCreatorParams.html +2 -2
  363. package/dist/docs/interfaces/GetAssetsByGroupParams.html +2 -2
  364. package/dist/docs/interfaces/GetAssetsByOwnerParams.html +2 -2
  365. package/dist/docs/interfaces/GetBlockOpts.html +6 -6
  366. package/dist/docs/interfaces/GetBlockProductionOpts.html +6 -6
  367. package/dist/docs/interfaces/GetMultipleAccountsOpts.html +6 -6
  368. package/dist/docs/interfaces/GetProgramAccountsOpts.html +6 -6
  369. package/dist/docs/interfaces/GetSignatureStatusesOpts.html +6 -6
  370. package/dist/docs/interfaces/GetSignaturesOpts.html +7 -7
  371. package/dist/docs/interfaces/GetTokenAccountsParams.html +2 -2
  372. package/dist/docs/interfaces/GetTransactionOpts.html +6 -6
  373. package/dist/docs/interfaces/GeyserParserConfig.html +6 -6
  374. package/dist/docs/interfaces/GeyserParserEvents.html +9 -9
  375. package/dist/docs/interfaces/GeyserParserStats.html +2 -2
  376. package/dist/docs/interfaces/GrpcCallOptions.html +2 -2
  377. package/dist/docs/interfaces/GrpcTransportConfig.html +6 -6
  378. package/dist/docs/interfaces/ImmutableOwnerExt.html +2 -2
  379. package/dist/docs/interfaces/InflationGovernor.html +2 -2
  380. package/dist/docs/interfaces/InflationRate.html +2 -2
  381. package/dist/docs/interfaces/InflationReward.html +2 -2
  382. package/dist/docs/interfaces/InitializeAccountParams.html +11 -0
  383. package/dist/docs/interfaces/InitializeMintParams.html +13 -0
  384. package/dist/docs/interfaces/InitializeNonceParams.html +7 -0
  385. package/dist/docs/interfaces/InterestBearingConfigExt.html +2 -2
  386. package/dist/docs/interfaces/LatencyProbeResult.html +2 -2
  387. package/dist/docs/interfaces/LeakReport.html +12 -0
  388. package/dist/docs/interfaces/LogsNotification.html +2 -2
  389. package/dist/docs/interfaces/LogsSubParams.html +2 -2
  390. package/dist/docs/interfaces/MemoTransferExt.html +2 -2
  391. package/dist/docs/interfaces/MemoryGuardConfig.html +20 -0
  392. package/dist/docs/interfaces/MetadataPointerExt.html +2 -2
  393. package/dist/docs/interfaces/MintCloseAuthorityExt.html +2 -2
  394. package/dist/docs/interfaces/MintToCheckedParams.html +17 -0
  395. package/dist/docs/interfaces/MintToParams.html +15 -0
  396. package/dist/docs/interfaces/NonTransferableExt.html +2 -2
  397. package/dist/docs/interfaces/PaginationOpts.html +2 -2
  398. package/dist/docs/interfaces/ParsedAccountUpdate.html +16 -16
  399. package/dist/docs/interfaces/ParsedBlockMeta.html +2 -2
  400. package/dist/docs/interfaces/ParsedEntry.html +2 -2
  401. package/dist/docs/interfaces/ParsedInstruction.html +9 -9
  402. package/dist/docs/interfaces/ParsedSlotUpdate.html +3 -3
  403. package/dist/docs/interfaces/ParsedTransaction.html +19 -19
  404. package/dist/docs/interfaces/PerfSample.html +2 -2
  405. package/dist/docs/interfaces/PermanentDelegateExt.html +2 -2
  406. package/dist/docs/interfaces/ProgramAccount.html +2 -2
  407. package/dist/docs/interfaces/ProgramNotification.html +2 -2
  408. package/dist/docs/interfaces/ProgramSubParams.html +2 -2
  409. package/dist/docs/interfaces/ProgramsBundle.html +108 -0
  410. package/dist/docs/interfaces/RawAccountInfo.html +2 -2
  411. package/dist/docs/interfaces/RawBlockMeta.html +2 -2
  412. package/dist/docs/interfaces/RawBuffer.html +2 -2
  413. package/dist/docs/interfaces/RawCompiledInstruction.html +2 -2
  414. package/dist/docs/interfaces/RawEntry.html +2 -2
  415. package/dist/docs/interfaces/RawGeyserUpdate.html +2 -2
  416. package/dist/docs/interfaces/RawInnerInstruction.html +2 -2
  417. package/dist/docs/interfaces/RawSlotInfo.html +2 -2
  418. package/dist/docs/interfaces/RawTimestamp.html +2 -2
  419. package/dist/docs/interfaces/RawTokenBalance.html +2 -2
  420. package/dist/docs/interfaces/RawTransactionInfo.html +2 -2
  421. package/dist/docs/interfaces/ReactAdapterConfig.html +8 -0
  422. package/dist/docs/interfaces/RecoverNestedParams.html +15 -0
  423. package/dist/docs/interfaces/RefRegistryConfig.html +9 -0
  424. package/dist/docs/interfaces/RefStats.html +15 -0
  425. package/dist/docs/interfaces/RequestHeapFrameParams.html +5 -0
  426. package/dist/docs/interfaces/ResolveMiddleware.html +8 -0
  427. package/dist/docs/interfaces/RevokeParams.html +11 -0
  428. package/dist/docs/interfaces/RootNotification.html +2 -2
  429. package/dist/docs/interfaces/RootSubParams.html +1 -1
  430. package/dist/docs/interfaces/RpcContext.html +2 -2
  431. package/dist/docs/interfaces/RpcError.html +4 -4
  432. package/dist/docs/interfaces/RpcRequest.html +2 -2
  433. package/dist/docs/interfaces/RpcResponse.html +2 -2
  434. package/dist/docs/interfaces/SendTransactionOpts.html +6 -6
  435. package/dist/docs/interfaces/ServerAdapterConfig.html +13 -0
  436. package/dist/docs/interfaces/ServiceBinding.html +17 -0
  437. package/dist/docs/interfaces/ServiceRegistration.html +7 -0
  438. package/dist/docs/interfaces/ServiceResolver.html +16 -0
  439. package/dist/docs/interfaces/ServiceToken.html +13 -0
  440. package/dist/docs/interfaces/SetComputeUnitLimitParams.html +5 -0
  441. package/dist/docs/interfaces/SetComputeUnitPriceParams.html +5 -0
  442. package/dist/docs/interfaces/SetLoadedAccountsDataSizeLimitParams.html +5 -0
  443. package/dist/docs/interfaces/SignatureInfo.html +7 -7
  444. package/dist/docs/interfaces/SignatureNotification.html +2 -2
  445. package/dist/docs/interfaces/SignatureStatus.html +5 -5
  446. package/dist/docs/interfaces/SignatureSubParams.html +2 -2
  447. package/dist/docs/interfaces/SignaturesForAssetParams.html +2 -2
  448. package/dist/docs/interfaces/SimulateResult.html +2 -2
  449. package/dist/docs/interfaces/SimulateTransactionOpts.html +7 -7
  450. package/dist/docs/interfaces/SlotNotification.html +2 -2
  451. package/dist/docs/interfaces/SlotSubParams.html +1 -1
  452. package/dist/docs/interfaces/SortOpts.html +2 -2
  453. package/dist/docs/interfaces/StakeAuthorized.html +2 -2
  454. package/dist/docs/interfaces/StakeDelegation.html +3 -3
  455. package/dist/docs/interfaces/StakeLockup.html +4 -4
  456. package/dist/docs/interfaces/StakeMeta.html +2 -2
  457. package/dist/docs/interfaces/Supply.html +5 -5
  458. package/dist/docs/interfaces/SynapseClientConfig.html +9 -9
  459. package/dist/docs/interfaces/SynapseClientLike.html +14 -0
  460. package/dist/docs/interfaces/SynapseEndpoint.html +7 -7
  461. package/dist/docs/interfaces/SyncNativeParams.html +7 -0
  462. package/dist/docs/interfaces/SystemTransferParams.html +9 -0
  463. package/dist/docs/interfaces/TokenAccount.html +3 -3
  464. package/dist/docs/interfaces/TokenAccountsByOwnerResult.html +2 -2
  465. package/dist/docs/interfaces/TokenAmount.html +5 -5
  466. package/dist/docs/interfaces/TokenBalanceChange.html +2 -2
  467. package/dist/docs/interfaces/TokenTransferParams.html +15 -0
  468. package/dist/docs/interfaces/TransactionInstruction.html +11 -0
  469. package/dist/docs/interfaces/TransactionMeta.html +11 -11
  470. package/dist/docs/interfaces/TransferCheckedParams.html +19 -0
  471. package/dist/docs/interfaces/TransferFeeAmount.html +2 -2
  472. package/dist/docs/interfaces/TransferFeeConfig.html +2 -2
  473. package/dist/docs/interfaces/TransportConfig.html +7 -7
  474. package/dist/docs/interfaces/UnknownExtension.html +2 -2
  475. package/dist/docs/interfaces/ValueProvider.html +4 -0
  476. package/dist/docs/interfaces/VoteAccount.html +9 -9
  477. package/dist/docs/interfaces/VoteAccountsResult.html +3 -3
  478. package/dist/docs/interfaces/WithdrawNonceParams.html +11 -0
  479. package/dist/docs/interfaces/WsConfig.html +6 -6
  480. package/dist/docs/media/CHANGELOG.md +114 -0
  481. package/dist/docs/modules.html +107 -1
  482. package/dist/docs/types/AccountFetchOpts.html +1 -1
  483. package/dist/docs/types/AccountFilter.html +1 -1
  484. package/dist/docs/types/Base58.html +1 -1
  485. package/dist/docs/types/Brand.html +1 -1
  486. package/dist/docs/types/Commitment.html +1 -1
  487. package/dist/docs/types/DasSortBy.html +1 -1
  488. package/dist/docs/types/DasSortDirection.html +1 -1
  489. package/dist/docs/types/DataSizeFilter.html +1 -1
  490. package/dist/docs/types/DecodedExtension.html +1 -1
  491. package/dist/docs/types/Encoding.html +1 -1
  492. package/dist/docs/types/Epoch.html +1 -1
  493. package/dist/docs/types/Lamports.html +1 -1
  494. package/dist/docs/types/LogsFilter.html +1 -1
  495. package/dist/docs/types/MemcmpFilter.html +1 -1
  496. package/dist/docs/types/NonceState.html +1 -1
  497. package/dist/docs/types/ParsedGeyserUpdate.html +1 -1
  498. package/dist/docs/types/Pubkey.html +1 -1
  499. package/dist/docs/types/RuntimeEnv.html +1 -1
  500. package/dist/docs/types/ServiceLifecycle.html +25 -0
  501. package/dist/docs/types/ServiceProvider.html +3 -0
  502. package/dist/docs/types/Signature.html +1 -1
  503. package/dist/docs/types/Slot.html +1 -1
  504. package/dist/docs/types/StakeAccountType.html +1 -1
  505. package/dist/docs/types/SubscriptionId.html +1 -1
  506. package/dist/docs/types/TokenAccountState.html +1 -1
  507. package/dist/docs/types/TransactionDetail.html +1 -1
  508. package/dist/docs/types/UnaryMethod.html +1 -1
  509. package/dist/docs/types/UnixTimestamp.html +1 -1
  510. package/dist/docs/types/WsNotification.html +1 -1
  511. package/dist/docs/variables/ASSOCIATED_TOKEN_PROGRAM.html +3 -0
  512. package/dist/docs/variables/AssociatedToken.html +13 -0
  513. package/dist/docs/variables/COMPUTE_BUDGET_PROGRAM.html +3 -0
  514. package/dist/docs/variables/ComputeBudget.html +19 -0
  515. package/dist/docs/variables/JUPITER_PROGRAMS.html +1 -1
  516. package/dist/docs/variables/KNOWN_PROGRAMS.html +1 -1
  517. package/dist/docs/variables/KNOWN_PROGRAMS_COUNT.html +1 -1
  518. package/dist/docs/variables/LOOKUP_TABLE_HEADER_SIZE.html +1 -1
  519. package/dist/docs/variables/LOOKUP_TABLE_PROGRAM_ID.html +1 -1
  520. package/dist/docs/variables/MARINADE_PROGRAMS.html +1 -1
  521. package/dist/docs/variables/MAX_MULTISIG_SIGNERS.html +1 -1
  522. package/dist/docs/variables/MEMO_PROGRAM_V1.html +3 -0
  523. package/dist/docs/variables/MEMO_PROGRAM_V2.html +3 -0
  524. package/dist/docs/variables/METAPLEX_PROGRAMS.html +1 -1
  525. package/dist/docs/variables/METEORA_PROGRAMS.html +1 -1
  526. package/dist/docs/variables/MINT_SIZE.html +1 -1
  527. package/dist/docs/variables/MULTISIG_SIZE.html +1 -1
  528. package/dist/docs/variables/Memo.html +9 -0
  529. package/dist/docs/variables/NONCE_ACCOUNT_SIZE.html +1 -1
  530. package/dist/docs/variables/ORCA_PROGRAMS.html +1 -1
  531. package/dist/docs/variables/OTHER_PROGRAMS.html +1 -1
  532. package/dist/docs/variables/RAYDIUM_PROGRAMS.html +1 -1
  533. package/dist/docs/variables/SDK_USER_AGENT.html +1 -1
  534. package/dist/docs/variables/SPL_PROGRAMS.html +1 -1
  535. package/dist/docs/variables/STAKE_PROGRAM_ID.html +1 -1
  536. package/dist/docs/variables/SYNAPSE_DEVNET_EU.html +1 -1
  537. package/dist/docs/variables/SYNAPSE_DEVNET_US.html +1 -1
  538. package/dist/docs/variables/SYNAPSE_ENDPOINTS.html +1 -1
  539. package/dist/docs/variables/SYNAPSE_MAINNET_EU.html +1 -1
  540. package/dist/docs/variables/SYNAPSE_MAINNET_US.html +1 -1
  541. package/dist/docs/variables/SYSTEM_PROGRAM.html +3 -0
  542. package/dist/docs/variables/SYSTEM_PROGRAMS.html +1 -1
  543. package/dist/docs/variables/SYSTEM_PROGRAM_ID.html +1 -1
  544. package/dist/docs/variables/SplToken.html +38 -0
  545. package/dist/docs/variables/SystemProgram.html +42 -0
  546. package/dist/docs/variables/TOKEN_2022_PROGRAM.html +3 -0
  547. package/dist/docs/variables/TOKEN_2022_PROGRAM_ID.html +1 -1
  548. package/dist/docs/variables/TOKEN_ACCOUNT_SIZE.html +1 -1
  549. package/dist/docs/variables/TOKEN_PROGRAM.html +3 -0
  550. package/dist/docs/variables/TOKEN_PROGRAM_ID.html +1 -1
  551. package/dist/docs/variables/Tokens.html +16 -0
  552. package/dist/esm/ai/gateway/index.d.ts +5 -5
  553. package/dist/esm/ai/gateway/index.d.ts.map +1 -1
  554. package/dist/esm/ai/gateway/index.js +2 -2
  555. package/dist/esm/ai/gateway/index.js.map +1 -1
  556. package/dist/esm/ai/index.d.ts +1 -1
  557. package/dist/esm/ai/index.d.ts.map +1 -1
  558. package/dist/esm/ai/index.js +2 -2
  559. package/dist/esm/ai/index.js.map +1 -1
  560. package/dist/esm/ai/tools/index.d.ts +4 -4
  561. package/dist/esm/ai/tools/index.d.ts.map +1 -1
  562. package/dist/esm/ai/tools/index.js +3 -3
  563. package/dist/esm/ai/tools/index.js.map +1 -1
  564. package/dist/esm/ai/tools/protocols/index.d.ts +9 -3
  565. package/dist/esm/ai/tools/protocols/index.d.ts.map +1 -1
  566. package/dist/esm/ai/tools/protocols/index.js +12 -1
  567. package/dist/esm/ai/tools/protocols/index.js.map +1 -1
  568. package/dist/esm/ai/tools/protocols/jupiter/schemas.d.ts +1 -1
  569. package/dist/esm/ai/tools/protocols/jupiter/schemas.d.ts.map +1 -1
  570. package/dist/esm/ai/tools/protocols/jupiter/schemas.js +126 -28
  571. package/dist/esm/ai/tools/protocols/jupiter/schemas.js.map +1 -1
  572. package/dist/esm/ai/tools/protocols/jupiter/tools.d.ts +4 -3
  573. package/dist/esm/ai/tools/protocols/jupiter/tools.d.ts.map +1 -1
  574. package/dist/esm/ai/tools/protocols/jupiter/tools.js +91 -9
  575. package/dist/esm/ai/tools/protocols/jupiter/tools.js.map +1 -1
  576. package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.d.ts +4 -4
  577. package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.d.ts.map +1 -1
  578. package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.js +1 -1
  579. package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.js.map +1 -1
  580. package/dist/esm/ai/tools/protocols/metaplex/tools.d.ts +7 -4
  581. package/dist/esm/ai/tools/protocols/metaplex/tools.d.ts.map +1 -1
  582. package/dist/esm/ai/tools/protocols/metaplex/tools.js +4 -1
  583. package/dist/esm/ai/tools/protocols/metaplex/tools.js.map +1 -1
  584. package/dist/esm/ai/tools/protocols/raydium-onchain/tools.d.ts +4 -4
  585. package/dist/esm/ai/tools/protocols/raydium-onchain/tools.d.ts.map +1 -1
  586. package/dist/esm/ai/tools/protocols/raydium-onchain/tools.js +1 -1
  587. package/dist/esm/ai/tools/protocols/raydium-onchain/tools.js.map +1 -1
  588. package/dist/esm/ai/tools/protocols/solana-programs/index.d.ts +7 -0
  589. package/dist/esm/ai/tools/protocols/solana-programs/index.d.ts.map +1 -0
  590. package/dist/esm/ai/tools/protocols/solana-programs/index.js +7 -0
  591. package/dist/esm/ai/tools/protocols/solana-programs/index.js.map +1 -0
  592. package/dist/esm/ai/tools/protocols/solana-programs/schemas.d.ts +11 -0
  593. package/dist/esm/ai/tools/protocols/solana-programs/schemas.d.ts.map +1 -0
  594. package/dist/esm/ai/tools/protocols/solana-programs/schemas.js +157 -0
  595. package/dist/esm/ai/tools/protocols/solana-programs/schemas.js.map +1 -0
  596. package/dist/esm/ai/tools/protocols/solana-programs/tools.d.ts +57 -0
  597. package/dist/esm/ai/tools/protocols/solana-programs/tools.d.ts.map +1 -0
  598. package/dist/esm/ai/tools/protocols/solana-programs/tools.js +220 -0
  599. package/dist/esm/ai/tools/protocols/solana-programs/tools.js.map +1 -0
  600. package/dist/esm/context/container.d.ts +341 -0
  601. package/dist/esm/context/container.d.ts.map +1 -0
  602. package/dist/esm/context/container.js +666 -0
  603. package/dist/esm/context/container.js.map +1 -0
  604. package/dist/esm/context/hooks.d.ts +357 -0
  605. package/dist/esm/context/hooks.d.ts.map +1 -0
  606. package/dist/esm/context/hooks.js +434 -0
  607. package/dist/esm/context/hooks.js.map +1 -0
  608. package/dist/esm/context/index.d.ts +81 -0
  609. package/dist/esm/context/index.d.ts.map +1 -0
  610. package/dist/esm/context/index.js +98 -0
  611. package/dist/esm/context/index.js.map +1 -0
  612. package/dist/esm/context/providers.d.ts +176 -0
  613. package/dist/esm/context/providers.d.ts.map +1 -0
  614. package/dist/esm/context/providers.js +179 -0
  615. package/dist/esm/context/providers.js.map +1 -0
  616. package/dist/esm/context/refs.d.ts +491 -0
  617. package/dist/esm/context/refs.d.ts.map +1 -0
  618. package/dist/esm/context/refs.js +664 -0
  619. package/dist/esm/context/refs.js.map +1 -0
  620. package/dist/esm/context/types.d.ts +251 -0
  621. package/dist/esm/context/types.d.ts.map +1 -0
  622. package/dist/esm/context/types.js +79 -0
  623. package/dist/esm/context/types.js.map +1 -0
  624. package/dist/esm/core/client.d.ts +31 -1
  625. package/dist/esm/core/client.d.ts.map +1 -1
  626. package/dist/esm/core/client.js.map +1 -1
  627. package/dist/esm/index.d.ts +4 -1
  628. package/dist/esm/index.d.ts.map +1 -1
  629. package/dist/esm/index.js +6 -1
  630. package/dist/esm/index.js.map +1 -1
  631. package/dist/esm/programs/associated-token.d.ts +97 -0
  632. package/dist/esm/programs/associated-token.d.ts.map +1 -0
  633. package/dist/esm/programs/associated-token.js +110 -0
  634. package/dist/esm/programs/associated-token.js.map +1 -0
  635. package/dist/esm/programs/compute-budget.d.ts +105 -0
  636. package/dist/esm/programs/compute-budget.d.ts.map +1 -0
  637. package/dist/esm/programs/compute-budget.js +96 -0
  638. package/dist/esm/programs/compute-budget.js.map +1 -0
  639. package/dist/esm/programs/index.d.ts +74 -0
  640. package/dist/esm/programs/index.d.ts.map +1 -0
  641. package/dist/esm/programs/index.js +90 -0
  642. package/dist/esm/programs/index.js.map +1 -0
  643. package/dist/esm/programs/memo.d.ts +70 -0
  644. package/dist/esm/programs/memo.d.ts.map +1 -0
  645. package/dist/esm/programs/memo.js +71 -0
  646. package/dist/esm/programs/memo.js.map +1 -0
  647. package/dist/esm/programs/spl-token.d.ts +373 -0
  648. package/dist/esm/programs/spl-token.d.ts.map +1 -0
  649. package/dist/esm/programs/spl-token.js +355 -0
  650. package/dist/esm/programs/spl-token.js.map +1 -0
  651. package/dist/esm/programs/system.d.ts +231 -0
  652. package/dist/esm/programs/system.d.ts.map +1 -0
  653. package/dist/esm/programs/system.js +228 -0
  654. package/dist/esm/programs/system.js.map +1 -0
  655. package/dist/esm/programs/types.d.ts +111 -0
  656. package/dist/esm/programs/types.d.ts.map +1 -0
  657. package/dist/esm/programs/types.js +157 -0
  658. package/dist/esm/programs/types.js.map +1 -0
  659. 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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"}