@oobe-protocol-labs/synapse-client-sdk 1.0.2 → 1.0.4

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 (577) hide show
  1. package/CHANGELOG.md +93 -2
  2. package/dist/cjs/accounts/helpers.d.ts +88 -0
  3. package/dist/cjs/accounts/helpers.d.ts.map +1 -0
  4. package/dist/cjs/accounts/helpers.js +117 -0
  5. package/dist/cjs/accounts/helpers.js.map +1 -0
  6. package/dist/cjs/accounts/index.d.ts +105 -0
  7. package/dist/cjs/accounts/index.d.ts.map +1 -0
  8. package/dist/cjs/accounts/index.js +137 -0
  9. package/dist/cjs/accounts/index.js.map +1 -0
  10. package/dist/cjs/accounts/lookup.d.ts +30 -0
  11. package/dist/cjs/accounts/lookup.d.ts.map +1 -0
  12. package/dist/cjs/accounts/lookup.js +31 -0
  13. package/dist/cjs/accounts/lookup.js.map +1 -0
  14. package/dist/cjs/accounts/nonce.d.ts +30 -0
  15. package/dist/cjs/accounts/nonce.d.ts.map +1 -0
  16. package/dist/cjs/accounts/nonce.js +31 -0
  17. package/dist/cjs/accounts/nonce.js.map +1 -0
  18. package/dist/cjs/accounts/stake.d.ts +33 -0
  19. package/dist/cjs/accounts/stake.d.ts.map +1 -0
  20. package/dist/cjs/accounts/stake.js +34 -0
  21. package/dist/cjs/accounts/stake.js.map +1 -0
  22. package/dist/cjs/accounts/token.d.ts +98 -0
  23. package/dist/cjs/accounts/token.d.ts.map +1 -0
  24. package/dist/cjs/accounts/token.js +126 -0
  25. package/dist/cjs/accounts/token.js.map +1 -0
  26. package/dist/cjs/ai/tools/index.d.ts +1 -1
  27. package/dist/cjs/ai/tools/index.d.ts.map +1 -1
  28. package/dist/cjs/ai/tools/index.js +11 -2
  29. package/dist/cjs/ai/tools/index.js.map +1 -1
  30. package/dist/cjs/ai/tools/protocols/index.d.ts +13 -1
  31. package/dist/cjs/ai/tools/protocols/index.d.ts.map +1 -1
  32. package/dist/cjs/ai/tools/protocols/index.js +32 -1
  33. package/dist/cjs/ai/tools/protocols/index.js.map +1 -1
  34. package/dist/cjs/ai/tools/protocols/jupiter/index.d.ts +1 -1
  35. package/dist/cjs/ai/tools/protocols/jupiter/index.d.ts.map +1 -1
  36. package/dist/cjs/ai/tools/protocols/jupiter/index.js +2 -1
  37. package/dist/cjs/ai/tools/protocols/jupiter/index.js.map +1 -1
  38. package/dist/cjs/ai/tools/protocols/jupiter/schemas.d.ts +1 -1
  39. package/dist/cjs/ai/tools/protocols/jupiter/schemas.d.ts.map +1 -1
  40. package/dist/cjs/ai/tools/protocols/jupiter/schemas.js +22 -22
  41. package/dist/cjs/ai/tools/protocols/jupiter/schemas.js.map +1 -1
  42. package/dist/cjs/ai/tools/protocols/jupiter/tools.d.ts +9 -4
  43. package/dist/cjs/ai/tools/protocols/jupiter/tools.d.ts.map +1 -1
  44. package/dist/cjs/ai/tools/protocols/jupiter/tools.js +38 -6
  45. package/dist/cjs/ai/tools/protocols/jupiter/tools.js.map +1 -1
  46. package/dist/cjs/ai/tools/protocols/jupiter-onchain/index.d.ts +13 -0
  47. package/dist/cjs/ai/tools/protocols/jupiter-onchain/index.d.ts.map +1 -0
  48. package/dist/cjs/ai/tools/protocols/jupiter-onchain/index.js +20 -0
  49. package/dist/cjs/ai/tools/protocols/jupiter-onchain/index.js.map +1 -0
  50. package/dist/cjs/ai/tools/protocols/jupiter-onchain/schemas.d.ts +11 -0
  51. package/dist/cjs/ai/tools/protocols/jupiter-onchain/schemas.d.ts.map +1 -0
  52. package/dist/cjs/ai/tools/protocols/jupiter-onchain/schemas.js +286 -0
  53. package/dist/cjs/ai/tools/protocols/jupiter-onchain/schemas.js.map +1 -0
  54. package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.d.ts +58 -0
  55. package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.d.ts.map +1 -0
  56. package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.js +342 -0
  57. package/dist/cjs/ai/tools/protocols/jupiter-onchain/tools.js.map +1 -0
  58. package/dist/cjs/ai/tools/protocols/raydium-onchain/index.d.ts +13 -0
  59. package/dist/cjs/ai/tools/protocols/raydium-onchain/index.d.ts.map +1 -0
  60. package/dist/cjs/ai/tools/protocols/raydium-onchain/index.js +20 -0
  61. package/dist/cjs/ai/tools/protocols/raydium-onchain/index.js.map +1 -0
  62. package/dist/cjs/ai/tools/protocols/raydium-onchain/schemas.d.ts +11 -0
  63. package/dist/cjs/ai/tools/protocols/raydium-onchain/schemas.d.ts.map +1 -0
  64. package/dist/cjs/ai/tools/protocols/raydium-onchain/schemas.js +288 -0
  65. package/dist/cjs/ai/tools/protocols/raydium-onchain/schemas.js.map +1 -0
  66. package/dist/cjs/ai/tools/protocols/raydium-onchain/tools.d.ts +58 -0
  67. package/dist/cjs/ai/tools/protocols/raydium-onchain/tools.d.ts.map +1 -0
  68. package/dist/cjs/ai/tools/protocols/raydium-onchain/tools.js +384 -0
  69. package/dist/cjs/ai/tools/protocols/raydium-onchain/tools.js.map +1 -0
  70. package/dist/cjs/ai/tools/protocols/shared.d.ts +8 -1
  71. package/dist/cjs/ai/tools/protocols/shared.d.ts.map +1 -1
  72. package/dist/cjs/ai/tools/protocols/shared.js +4 -1
  73. package/dist/cjs/ai/tools/protocols/shared.js.map +1 -1
  74. package/dist/cjs/ai/tools/zod/index.d.ts +1 -1
  75. package/dist/cjs/ai/tools/zod/index.d.ts.map +1 -1
  76. package/dist/cjs/ai/tools/zod/index.js +2 -2
  77. package/dist/cjs/ai/tools/zod/index.js.map +1 -1
  78. package/dist/cjs/ai/tools/zod/types.d.ts +2 -0
  79. package/dist/cjs/ai/tools/zod/types.d.ts.map +1 -1
  80. package/dist/cjs/ai/tools/zod/types.js.map +1 -1
  81. package/dist/cjs/core/client.d.ts +25 -0
  82. package/dist/cjs/core/client.d.ts.map +1 -1
  83. package/dist/cjs/core/client.js +30 -0
  84. package/dist/cjs/core/client.js.map +1 -1
  85. package/dist/cjs/decoders/index.d.ts +36 -0
  86. package/dist/cjs/decoders/index.d.ts.map +1 -0
  87. package/dist/cjs/decoders/index.js +62 -0
  88. package/dist/cjs/decoders/index.js.map +1 -0
  89. package/dist/cjs/decoders/layout.d.ts +105 -0
  90. package/dist/cjs/decoders/layout.d.ts.map +1 -0
  91. package/dist/cjs/decoders/layout.js +188 -0
  92. package/dist/cjs/decoders/layout.js.map +1 -0
  93. package/dist/cjs/decoders/lookup-table.d.ts +60 -0
  94. package/dist/cjs/decoders/lookup-table.d.ts.map +1 -0
  95. package/dist/cjs/decoders/lookup-table.js +75 -0
  96. package/dist/cjs/decoders/lookup-table.js.map +1 -0
  97. package/dist/cjs/decoders/multisig.d.ts +49 -0
  98. package/dist/cjs/decoders/multisig.d.ts.map +1 -0
  99. package/dist/cjs/decoders/multisig.js +50 -0
  100. package/dist/cjs/decoders/multisig.js.map +1 -0
  101. package/dist/cjs/decoders/nonce.d.ts +54 -0
  102. package/dist/cjs/decoders/nonce.d.ts.map +1 -0
  103. package/dist/cjs/decoders/nonce.js +48 -0
  104. package/dist/cjs/decoders/nonce.js.map +1 -0
  105. package/dist/cjs/decoders/stake.d.ts +65 -0
  106. package/dist/cjs/decoders/stake.d.ts.map +1 -0
  107. package/dist/cjs/decoders/stake.js +86 -0
  108. package/dist/cjs/decoders/stake.js.map +1 -0
  109. package/dist/cjs/decoders/token-2022.d.ts +134 -0
  110. package/dist/cjs/decoders/token-2022.d.ts.map +1 -0
  111. package/dist/cjs/decoders/token-2022.js +160 -0
  112. package/dist/cjs/decoders/token-2022.js.map +1 -0
  113. package/dist/cjs/decoders/token.d.ts +87 -0
  114. package/dist/cjs/decoders/token.d.ts.map +1 -0
  115. package/dist/cjs/decoders/token.js +71 -0
  116. package/dist/cjs/decoders/token.js.map +1 -0
  117. package/dist/cjs/index.d.ts +2 -0
  118. package/dist/cjs/index.d.ts.map +1 -1
  119. package/dist/cjs/index.js +4 -0
  120. package/dist/cjs/index.js.map +1 -1
  121. package/dist/docs/assets/navigation.js +1 -1
  122. package/dist/docs/assets/search.js +1 -1
  123. package/dist/docs/classes/AccountReader.html +61 -0
  124. package/dist/docs/classes/AccountsClient.html +43 -0
  125. package/dist/docs/classes/DasClient.html +13 -13
  126. package/dist/docs/classes/GeyserParser.html +17 -17
  127. package/dist/docs/classes/GrpcTransport.html +6 -6
  128. package/dist/docs/classes/HttpTransport.html +4 -4
  129. package/dist/docs/classes/NetworkError.html +5 -5
  130. package/dist/docs/classes/RpcMethodNotFoundError.html +4 -4
  131. package/dist/docs/classes/SolanaRpc.html +55 -55
  132. package/dist/docs/classes/SynapseClient.html +35 -25
  133. package/dist/docs/classes/SynapseError.html +4 -4
  134. package/dist/docs/classes/TimeoutError.html +4 -4
  135. package/dist/docs/classes/UpstreamError.html +6 -6
  136. package/dist/docs/classes/WsClient.html +10 -10
  137. package/dist/docs/enums/SynapseNetwork.html +2 -2
  138. package/dist/docs/enums/SynapseRegion.html +2 -2
  139. package/dist/docs/enums/TokenExtensionType.html +23 -0
  140. package/dist/docs/functions/Epoch-1.html +1 -1
  141. package/dist/docs/functions/Lamports-2.html +1 -1
  142. package/dist/docs/functions/Pubkey-1.html +1 -1
  143. package/dist/docs/functions/Sig.html +1 -1
  144. package/dist/docs/functions/Slot-1.html +1 -1
  145. package/dist/docs/functions/UnixTs.html +1 -1
  146. package/dist/docs/functions/autoSelectRegion.html +1 -1
  147. package/dist/docs/functions/base58Encode.html +1 -1
  148. package/dist/docs/functions/base64ToBytes.html +7 -0
  149. package/dist/docs/functions/chunk.html +1 -1
  150. package/dist/docs/functions/computeBalanceChanges.html +1 -1
  151. package/dist/docs/functions/computeTokenBalanceChanges.html +1 -1
  152. package/dist/docs/functions/createSynapse.html +1 -1
  153. package/dist/docs/functions/decodeLookupTable.html +17 -0
  154. package/dist/docs/functions/decodeMint.html +6 -0
  155. package/dist/docs/functions/decodeMultisig.html +13 -0
  156. package/dist/docs/functions/decodeNonceAccount.html +14 -0
  157. package/dist/docs/functions/decodeStakeAccount.html +12 -0
  158. package/dist/docs/functions/decodeToken2022Account.html +5 -0
  159. package/dist/docs/functions/decodeToken2022Mint.html +5 -0
  160. package/dist/docs/functions/decodeTokenAccount.html +6 -0
  161. package/dist/docs/functions/encodeBase58.html +7 -0
  162. package/dist/docs/functions/fetchLookupTable.html +10 -0
  163. package/dist/docs/functions/fetchMint.html +11 -0
  164. package/dist/docs/functions/fetchNonceAccount.html +10 -0
  165. package/dist/docs/functions/fetchStakeAccount.html +10 -0
  166. package/dist/docs/functions/fetchTokenAccount.html +12 -0
  167. package/dist/docs/functions/fetchTokenAccountsByOwner.html +11 -0
  168. package/dist/docs/functions/fromKitAddress.html +1 -1
  169. package/dist/docs/functions/getAccountInfo.html +1 -1
  170. package/dist/docs/functions/getAsset.html +1 -1
  171. package/dist/docs/functions/getAssetBatch.html +1 -1
  172. package/dist/docs/functions/getAssetProof.html +1 -1
  173. package/dist/docs/functions/getAssetProofBatch.html +1 -1
  174. package/dist/docs/functions/getAssetsByAuthority.html +1 -1
  175. package/dist/docs/functions/getAssetsByCreator.html +1 -1
  176. package/dist/docs/functions/getAssetsByGroup.html +1 -1
  177. package/dist/docs/functions/getAssetsByOwner.html +1 -1
  178. package/dist/docs/functions/getBalance.html +1 -1
  179. package/dist/docs/functions/getBlock.html +1 -1
  180. package/dist/docs/functions/getBlockCommitment.html +1 -1
  181. package/dist/docs/functions/getBlockHeight.html +1 -1
  182. package/dist/docs/functions/getBlockProduction.html +1 -1
  183. package/dist/docs/functions/getBlockTime.html +1 -1
  184. package/dist/docs/functions/getBlocks.html +1 -1
  185. package/dist/docs/functions/getBlocksWithLimit.html +1 -1
  186. package/dist/docs/functions/getClusterNodes.html +1 -1
  187. package/dist/docs/functions/getDecodedAccount.html +14 -0
  188. package/dist/docs/functions/getDecodedAccounts.html +9 -0
  189. package/dist/docs/functions/getEnvironment.html +1 -1
  190. package/dist/docs/functions/getEpochInfo.html +1 -1
  191. package/dist/docs/functions/getEpochSchedule.html +1 -1
  192. package/dist/docs/functions/getFeeForMessage.html +1 -1
  193. package/dist/docs/functions/getFirstAvailableBlock.html +1 -1
  194. package/dist/docs/functions/getGenesisHash.html +1 -1
  195. package/dist/docs/functions/getHealth.html +1 -1
  196. package/dist/docs/functions/getHighestSnapshotSlot.html +1 -1
  197. package/dist/docs/functions/getIdentity.html +1 -1
  198. package/dist/docs/functions/getInflationGovernor.html +1 -1
  199. package/dist/docs/functions/getInflationRate.html +1 -1
  200. package/dist/docs/functions/getInflationReward.html +1 -1
  201. package/dist/docs/functions/getLargestAccounts.html +1 -1
  202. package/dist/docs/functions/getLatestBlockhash.html +1 -1
  203. package/dist/docs/functions/getLeaderSchedule.html +1 -1
  204. package/dist/docs/functions/getMaxRetransmitSlot.html +1 -1
  205. package/dist/docs/functions/getMaxShredInsertSlot.html +1 -1
  206. package/dist/docs/functions/getMinimumBalanceForRentExemption.html +1 -1
  207. package/dist/docs/functions/getMultipleAccounts.html +1 -1
  208. package/dist/docs/functions/getProgramAccounts.html +1 -1
  209. package/dist/docs/functions/getProgramCategory.html +1 -1
  210. package/dist/docs/functions/getRecentPerformanceSamples.html +1 -1
  211. package/dist/docs/functions/getRecentPrioritizationFees.html +1 -1
  212. package/dist/docs/functions/getSignatureStatuses.html +1 -1
  213. package/dist/docs/functions/getSignaturesForAddress.html +1 -1
  214. package/dist/docs/functions/getSignaturesForAsset.html +1 -1
  215. package/dist/docs/functions/getSlot.html +1 -1
  216. package/dist/docs/functions/getSlotLeader.html +1 -1
  217. package/dist/docs/functions/getSlotLeaders.html +1 -1
  218. package/dist/docs/functions/getStakeActivation.html +1 -1
  219. package/dist/docs/functions/getStakeMinimumDelegation.html +1 -1
  220. package/dist/docs/functions/getSupply.html +1 -1
  221. package/dist/docs/functions/getTokenAccountBalance.html +1 -1
  222. package/dist/docs/functions/getTokenAccounts.html +1 -1
  223. package/dist/docs/functions/getTokenAccountsByDelegate.html +1 -1
  224. package/dist/docs/functions/getTokenAccountsByOwner.html +1 -1
  225. package/dist/docs/functions/getTokenLargestAccounts.html +1 -1
  226. package/dist/docs/functions/getTokenSupply.html +1 -1
  227. package/dist/docs/functions/getTransaction.html +1 -1
  228. package/dist/docs/functions/getTransactionCount.html +1 -1
  229. package/dist/docs/functions/getVersion.html +1 -1
  230. package/dist/docs/functions/getVoteAccounts.html +1 -1
  231. package/dist/docs/functions/isBlockhashValid.html +1 -1
  232. package/dist/docs/functions/isBrowser.html +1 -1
  233. package/dist/docs/functions/isProgramInCategory.html +1 -1
  234. package/dist/docs/functions/isServer.html +1 -1
  235. package/dist/docs/functions/isValidPubkey.html +1 -1
  236. package/dist/docs/functions/isValidSignature.html +1 -1
  237. package/dist/docs/functions/lamportsToSol.html +1 -1
  238. package/dist/docs/functions/listEndpoints.html +1 -1
  239. package/dist/docs/functions/listNetworks.html +1 -1
  240. package/dist/docs/functions/listRegions.html +1 -1
  241. package/dist/docs/functions/minimumLedgerSlot.html +1 -1
  242. package/dist/docs/functions/parseAccountUpdate.html +1 -1
  243. package/dist/docs/functions/parseBlockMeta.html +1 -1
  244. package/dist/docs/functions/parseEntry.html +1 -1
  245. package/dist/docs/functions/parseGeyserUpdate.html +1 -1
  246. package/dist/docs/functions/parseSlotUpdate.html +1 -1
  247. package/dist/docs/functions/parseTimestamp.html +1 -1
  248. package/dist/docs/functions/parseTransaction.html +1 -1
  249. package/dist/docs/functions/probeLatency.html +1 -1
  250. package/dist/docs/functions/rawBufferToBase58.html +1 -1
  251. package/dist/docs/functions/rawBufferToBase64.html +1 -1
  252. package/dist/docs/functions/rawBufferToBytes.html +1 -1
  253. package/dist/docs/functions/rawBufferToHex.html +1 -1
  254. package/dist/docs/functions/requestAirdrop.html +1 -1
  255. package/dist/docs/functions/resolveEndpoint.html +1 -1
  256. package/dist/docs/functions/resolveProgram.html +1 -1
  257. package/dist/docs/functions/resolveProgramBatch.html +1 -1
  258. package/dist/docs/functions/retry.html +1 -1
  259. package/dist/docs/functions/searchAssets.html +1 -1
  260. package/dist/docs/functions/sendTransaction.html +1 -1
  261. package/dist/docs/functions/simulateTransaction.html +1 -1
  262. package/dist/docs/functions/sleep.html +1 -1
  263. package/dist/docs/functions/solToLamports.html +1 -1
  264. package/dist/docs/functions/toClientConfig.html +1 -1
  265. package/dist/docs/functions/toKitAddress.html +1 -1
  266. package/dist/docs/functions/toKitLamports.html +1 -1
  267. package/dist/docs/functions/toKitSignatureString.html +1 -1
  268. package/dist/docs/hierarchy.html +1 -1
  269. package/dist/docs/interfaces/AccountInfo.html +7 -7
  270. package/dist/docs/interfaces/AccountNotification.html +2 -2
  271. package/dist/docs/interfaces/AccountSubParams.html +2 -2
  272. package/dist/docs/interfaces/AssetSignatureInfo.html +2 -2
  273. package/dist/docs/interfaces/AssetSignaturesPage.html +2 -2
  274. package/dist/docs/interfaces/BalanceChange.html +6 -6
  275. package/dist/docs/interfaces/BlockProduction.html +3 -3
  276. package/dist/docs/interfaces/BlockResult.html +2 -2
  277. package/dist/docs/interfaces/BlockReward.html +2 -2
  278. package/dist/docs/interfaces/BlockhashResult.html +2 -2
  279. package/dist/docs/interfaces/CallOptions.html +6 -6
  280. package/dist/docs/interfaces/ConfirmedTransaction.html +6 -6
  281. package/dist/docs/interfaces/ContactInfo.html +2 -2
  282. package/dist/docs/interfaces/DasAsset.html +2 -2
  283. package/dist/docs/interfaces/DasAssetProof.html +2 -2
  284. package/dist/docs/interfaces/DasAuthority.html +2 -2
  285. package/dist/docs/interfaces/DasCompression.html +2 -2
  286. package/dist/docs/interfaces/DasContent.html +2 -2
  287. package/dist/docs/interfaces/DasCreator.html +2 -2
  288. package/dist/docs/interfaces/DasFile.html +2 -2
  289. package/dist/docs/interfaces/DasGrouping.html +2 -2
  290. package/dist/docs/interfaces/DasOpts.html +2 -2
  291. package/dist/docs/interfaces/DasOwnership.html +2 -2
  292. package/dist/docs/interfaces/DasPage.html +2 -2
  293. package/dist/docs/interfaces/DasRoyalty.html +2 -2
  294. package/dist/docs/interfaces/DasSearchParams.html +2 -2
  295. package/dist/docs/interfaces/DasSupply.html +2 -2
  296. package/dist/docs/interfaces/DataSlice.html +3 -3
  297. package/dist/docs/interfaces/DecodedAccountResult.html +10 -0
  298. package/dist/docs/interfaces/DecodedLookupTable.html +20 -0
  299. package/dist/docs/interfaces/DecodedMint.html +16 -0
  300. package/dist/docs/interfaces/DecodedMultisig.html +14 -0
  301. package/dist/docs/interfaces/DecodedNonceAccount.html +16 -0
  302. package/dist/docs/interfaces/DecodedStakeAccount.html +7 -0
  303. package/dist/docs/interfaces/DecodedToken2022Account.html +20 -0
  304. package/dist/docs/interfaces/DecodedToken2022Mint.html +14 -0
  305. package/dist/docs/interfaces/DecodedTokenAccount.html +22 -0
  306. package/dist/docs/interfaces/DefaultAccountStateExt.html +5 -0
  307. package/dist/docs/interfaces/EndpointConnectConfig.html +5 -5
  308. package/dist/docs/interfaces/EpochInfo.html +7 -7
  309. package/dist/docs/interfaces/EpochSchedule.html +2 -2
  310. package/dist/docs/interfaces/FetchedMint.html +13 -0
  311. package/dist/docs/interfaces/FetchedTokenAccount.html +13 -0
  312. package/dist/docs/interfaces/GetAccountInfoOpts.html +6 -6
  313. package/dist/docs/interfaces/GetAssetsByAuthorityParams.html +2 -2
  314. package/dist/docs/interfaces/GetAssetsByCreatorParams.html +2 -2
  315. package/dist/docs/interfaces/GetAssetsByGroupParams.html +2 -2
  316. package/dist/docs/interfaces/GetAssetsByOwnerParams.html +2 -2
  317. package/dist/docs/interfaces/GetBlockOpts.html +6 -6
  318. package/dist/docs/interfaces/GetBlockProductionOpts.html +6 -6
  319. package/dist/docs/interfaces/GetMultipleAccountsOpts.html +6 -6
  320. package/dist/docs/interfaces/GetProgramAccountsOpts.html +6 -6
  321. package/dist/docs/interfaces/GetSignatureStatusesOpts.html +6 -6
  322. package/dist/docs/interfaces/GetSignaturesOpts.html +7 -7
  323. package/dist/docs/interfaces/GetTokenAccountsParams.html +2 -2
  324. package/dist/docs/interfaces/GetTransactionOpts.html +6 -6
  325. package/dist/docs/interfaces/GeyserParserConfig.html +6 -6
  326. package/dist/docs/interfaces/GeyserParserEvents.html +9 -9
  327. package/dist/docs/interfaces/GeyserParserStats.html +2 -2
  328. package/dist/docs/interfaces/GrpcCallOptions.html +2 -2
  329. package/dist/docs/interfaces/GrpcTransportConfig.html +6 -6
  330. package/dist/docs/interfaces/ImmutableOwnerExt.html +4 -0
  331. package/dist/docs/interfaces/InflationGovernor.html +2 -2
  332. package/dist/docs/interfaces/InflationRate.html +2 -2
  333. package/dist/docs/interfaces/InflationReward.html +2 -2
  334. package/dist/docs/interfaces/InterestBearingConfigExt.html +9 -0
  335. package/dist/docs/interfaces/LatencyProbeResult.html +2 -2
  336. package/dist/docs/interfaces/LogsNotification.html +2 -2
  337. package/dist/docs/interfaces/LogsSubParams.html +2 -2
  338. package/dist/docs/interfaces/MemoTransferExt.html +5 -0
  339. package/dist/docs/interfaces/MetadataPointerExt.html +6 -0
  340. package/dist/docs/interfaces/MintCloseAuthorityExt.html +5 -0
  341. package/dist/docs/interfaces/NonTransferableExt.html +4 -0
  342. package/dist/docs/interfaces/PaginationOpts.html +2 -2
  343. package/dist/docs/interfaces/ParsedAccountUpdate.html +16 -16
  344. package/dist/docs/interfaces/ParsedBlockMeta.html +2 -2
  345. package/dist/docs/interfaces/ParsedEntry.html +2 -2
  346. package/dist/docs/interfaces/ParsedInstruction.html +9 -9
  347. package/dist/docs/interfaces/ParsedSlotUpdate.html +3 -3
  348. package/dist/docs/interfaces/ParsedTransaction.html +19 -19
  349. package/dist/docs/interfaces/PerfSample.html +2 -2
  350. package/dist/docs/interfaces/PermanentDelegateExt.html +5 -0
  351. package/dist/docs/interfaces/ProgramAccount.html +2 -2
  352. package/dist/docs/interfaces/ProgramNotification.html +2 -2
  353. package/dist/docs/interfaces/ProgramSubParams.html +2 -2
  354. package/dist/docs/interfaces/RawAccountInfo.html +2 -2
  355. package/dist/docs/interfaces/RawBlockMeta.html +2 -2
  356. package/dist/docs/interfaces/RawBuffer.html +2 -2
  357. package/dist/docs/interfaces/RawCompiledInstruction.html +2 -2
  358. package/dist/docs/interfaces/RawEntry.html +2 -2
  359. package/dist/docs/interfaces/RawGeyserUpdate.html +2 -2
  360. package/dist/docs/interfaces/RawInnerInstruction.html +2 -2
  361. package/dist/docs/interfaces/RawSlotInfo.html +2 -2
  362. package/dist/docs/interfaces/RawTimestamp.html +2 -2
  363. package/dist/docs/interfaces/RawTokenBalance.html +2 -2
  364. package/dist/docs/interfaces/RawTransactionInfo.html +2 -2
  365. package/dist/docs/interfaces/RootNotification.html +2 -2
  366. package/dist/docs/interfaces/RootSubParams.html +1 -1
  367. package/dist/docs/interfaces/RpcContext.html +2 -2
  368. package/dist/docs/interfaces/RpcError.html +4 -4
  369. package/dist/docs/interfaces/RpcRequest.html +2 -2
  370. package/dist/docs/interfaces/RpcResponse.html +2 -2
  371. package/dist/docs/interfaces/SendTransactionOpts.html +6 -6
  372. package/dist/docs/interfaces/SignatureInfo.html +7 -7
  373. package/dist/docs/interfaces/SignatureNotification.html +2 -2
  374. package/dist/docs/interfaces/SignatureStatus.html +5 -5
  375. package/dist/docs/interfaces/SignatureSubParams.html +2 -2
  376. package/dist/docs/interfaces/SignaturesForAssetParams.html +2 -2
  377. package/dist/docs/interfaces/SimulateResult.html +2 -2
  378. package/dist/docs/interfaces/SimulateTransactionOpts.html +7 -7
  379. package/dist/docs/interfaces/SlotNotification.html +2 -2
  380. package/dist/docs/interfaces/SlotSubParams.html +1 -1
  381. package/dist/docs/interfaces/SortOpts.html +2 -2
  382. package/dist/docs/interfaces/StakeAuthorized.html +5 -0
  383. package/dist/docs/interfaces/StakeDelegation.html +9 -0
  384. package/dist/docs/interfaces/StakeLockup.html +9 -0
  385. package/dist/docs/interfaces/StakeMeta.html +6 -0
  386. package/dist/docs/interfaces/Supply.html +5 -5
  387. package/dist/docs/interfaces/SynapseClientConfig.html +9 -9
  388. package/dist/docs/interfaces/SynapseEndpoint.html +7 -7
  389. package/dist/docs/interfaces/TokenAccount.html +3 -3
  390. package/dist/docs/interfaces/TokenAccountsByOwnerResult.html +2 -2
  391. package/dist/docs/interfaces/TokenAmount.html +5 -5
  392. package/dist/docs/interfaces/TokenBalanceChange.html +2 -2
  393. package/dist/docs/interfaces/TransactionMeta.html +11 -11
  394. package/dist/docs/interfaces/TransferFeeAmount.html +5 -0
  395. package/dist/docs/interfaces/TransferFeeConfig.html +9 -0
  396. package/dist/docs/interfaces/TransportConfig.html +7 -7
  397. package/dist/docs/interfaces/UnknownExtension.html +6 -0
  398. package/dist/docs/interfaces/VoteAccount.html +9 -9
  399. package/dist/docs/interfaces/VoteAccountsResult.html +3 -3
  400. package/dist/docs/interfaces/WsConfig.html +6 -6
  401. package/dist/docs/media/CHANGELOG.md +93 -2
  402. package/dist/docs/modules.html +65 -2
  403. package/dist/docs/types/AccountFetchOpts.html +3 -0
  404. package/dist/docs/types/AccountFilter.html +1 -1
  405. package/dist/docs/types/Base58.html +1 -1
  406. package/dist/docs/types/Brand.html +1 -1
  407. package/dist/docs/types/Commitment.html +1 -1
  408. package/dist/docs/types/DasSortBy.html +1 -1
  409. package/dist/docs/types/DasSortDirection.html +1 -1
  410. package/dist/docs/types/DataSizeFilter.html +1 -1
  411. package/dist/docs/types/DecodedExtension.html +3 -0
  412. package/dist/docs/types/Encoding.html +1 -1
  413. package/dist/docs/types/Epoch.html +1 -1
  414. package/dist/docs/types/Lamports.html +1 -1
  415. package/dist/docs/types/LogsFilter.html +1 -1
  416. package/dist/docs/types/MemcmpFilter.html +1 -1
  417. package/dist/docs/types/NonceState.html +3 -0
  418. package/dist/docs/types/ParsedGeyserUpdate.html +1 -1
  419. package/dist/docs/types/Pubkey.html +1 -1
  420. package/dist/docs/types/RuntimeEnv.html +1 -1
  421. package/dist/docs/types/Signature.html +1 -1
  422. package/dist/docs/types/Slot.html +1 -1
  423. package/dist/docs/types/StakeAccountType.html +3 -0
  424. package/dist/docs/types/SubscriptionId.html +1 -1
  425. package/dist/docs/types/TokenAccountState.html +3 -0
  426. package/dist/docs/types/TransactionDetail.html +1 -1
  427. package/dist/docs/types/UnaryMethod.html +1 -1
  428. package/dist/docs/types/UnixTimestamp.html +1 -1
  429. package/dist/docs/types/WsNotification.html +1 -1
  430. package/dist/docs/variables/JUPITER_PROGRAMS.html +1 -1
  431. package/dist/docs/variables/KNOWN_PROGRAMS.html +1 -1
  432. package/dist/docs/variables/KNOWN_PROGRAMS_COUNT.html +1 -1
  433. package/dist/docs/variables/LOOKUP_TABLE_HEADER_SIZE.html +3 -0
  434. package/dist/docs/variables/LOOKUP_TABLE_PROGRAM_ID.html +3 -0
  435. package/dist/docs/variables/MARINADE_PROGRAMS.html +1 -1
  436. package/dist/docs/variables/MAX_MULTISIG_SIGNERS.html +3 -0
  437. package/dist/docs/variables/METAPLEX_PROGRAMS.html +1 -1
  438. package/dist/docs/variables/METEORA_PROGRAMS.html +1 -1
  439. package/dist/docs/variables/MINT_SIZE.html +3 -0
  440. package/dist/docs/variables/MULTISIG_SIZE.html +3 -0
  441. package/dist/docs/variables/NONCE_ACCOUNT_SIZE.html +3 -0
  442. package/dist/docs/variables/ORCA_PROGRAMS.html +1 -1
  443. package/dist/docs/variables/OTHER_PROGRAMS.html +1 -1
  444. package/dist/docs/variables/RAYDIUM_PROGRAMS.html +1 -1
  445. package/dist/docs/variables/SDK_USER_AGENT.html +1 -1
  446. package/dist/docs/variables/SPL_PROGRAMS.html +1 -1
  447. package/dist/docs/variables/STAKE_PROGRAM_ID.html +3 -0
  448. package/dist/docs/variables/SYNAPSE_DEVNET_EU.html +1 -1
  449. package/dist/docs/variables/SYNAPSE_DEVNET_US.html +1 -1
  450. package/dist/docs/variables/SYNAPSE_ENDPOINTS.html +1 -1
  451. package/dist/docs/variables/SYNAPSE_MAINNET_EU.html +1 -1
  452. package/dist/docs/variables/SYNAPSE_MAINNET_US.html +1 -1
  453. package/dist/docs/variables/SYSTEM_PROGRAMS.html +1 -1
  454. package/dist/docs/variables/SYSTEM_PROGRAM_ID.html +3 -0
  455. package/dist/docs/variables/TOKEN_2022_PROGRAM_ID.html +3 -0
  456. package/dist/docs/variables/TOKEN_ACCOUNT_SIZE.html +3 -0
  457. package/dist/docs/variables/TOKEN_PROGRAM_ID.html +3 -0
  458. package/dist/esm/accounts/helpers.d.ts +88 -0
  459. package/dist/esm/accounts/helpers.d.ts.map +1 -0
  460. package/dist/esm/accounts/helpers.js +112 -0
  461. package/dist/esm/accounts/helpers.js.map +1 -0
  462. package/dist/esm/accounts/index.d.ts +105 -0
  463. package/dist/esm/accounts/index.d.ts.map +1 -0
  464. package/dist/esm/accounts/index.js +124 -0
  465. package/dist/esm/accounts/index.js.map +1 -0
  466. package/dist/esm/accounts/lookup.d.ts +30 -0
  467. package/dist/esm/accounts/lookup.d.ts.map +1 -0
  468. package/dist/esm/accounts/lookup.js +28 -0
  469. package/dist/esm/accounts/lookup.js.map +1 -0
  470. package/dist/esm/accounts/nonce.d.ts +30 -0
  471. package/dist/esm/accounts/nonce.d.ts.map +1 -0
  472. package/dist/esm/accounts/nonce.js +28 -0
  473. package/dist/esm/accounts/nonce.js.map +1 -0
  474. package/dist/esm/accounts/stake.d.ts +33 -0
  475. package/dist/esm/accounts/stake.d.ts.map +1 -0
  476. package/dist/esm/accounts/stake.js +31 -0
  477. package/dist/esm/accounts/stake.js.map +1 -0
  478. package/dist/esm/accounts/token.d.ts +98 -0
  479. package/dist/esm/accounts/token.d.ts.map +1 -0
  480. package/dist/esm/accounts/token.js +121 -0
  481. package/dist/esm/accounts/token.js.map +1 -0
  482. package/dist/esm/ai/tools/index.d.ts +1 -1
  483. package/dist/esm/ai/tools/index.d.ts.map +1 -1
  484. package/dist/esm/ai/tools/index.js +4 -4
  485. package/dist/esm/ai/tools/index.js.map +1 -1
  486. package/dist/esm/ai/tools/protocols/index.d.ts +13 -1
  487. package/dist/esm/ai/tools/protocols/index.d.ts.map +1 -1
  488. package/dist/esm/ai/tools/protocols/index.js +23 -1
  489. package/dist/esm/ai/tools/protocols/index.js.map +1 -1
  490. package/dist/esm/ai/tools/protocols/jupiter/index.d.ts +1 -1
  491. package/dist/esm/ai/tools/protocols/jupiter/index.d.ts.map +1 -1
  492. package/dist/esm/ai/tools/protocols/jupiter/index.js +1 -1
  493. package/dist/esm/ai/tools/protocols/jupiter/index.js.map +1 -1
  494. package/dist/esm/ai/tools/protocols/jupiter/schemas.d.ts +1 -1
  495. package/dist/esm/ai/tools/protocols/jupiter/schemas.d.ts.map +1 -1
  496. package/dist/esm/ai/tools/protocols/jupiter/schemas.js +22 -22
  497. package/dist/esm/ai/tools/protocols/jupiter/schemas.js.map +1 -1
  498. package/dist/esm/ai/tools/protocols/jupiter/tools.d.ts +9 -4
  499. package/dist/esm/ai/tools/protocols/jupiter/tools.d.ts.map +1 -1
  500. package/dist/esm/ai/tools/protocols/jupiter/tools.js +37 -5
  501. package/dist/esm/ai/tools/protocols/jupiter/tools.js.map +1 -1
  502. package/dist/esm/ai/tools/protocols/jupiter-onchain/index.d.ts +13 -0
  503. package/dist/esm/ai/tools/protocols/jupiter-onchain/index.d.ts.map +1 -0
  504. package/dist/esm/ai/tools/protocols/jupiter-onchain/index.js +13 -0
  505. package/dist/esm/ai/tools/protocols/jupiter-onchain/index.js.map +1 -0
  506. package/dist/esm/ai/tools/protocols/jupiter-onchain/schemas.d.ts +11 -0
  507. package/dist/esm/ai/tools/protocols/jupiter-onchain/schemas.d.ts.map +1 -0
  508. package/dist/esm/ai/tools/protocols/jupiter-onchain/schemas.js +283 -0
  509. package/dist/esm/ai/tools/protocols/jupiter-onchain/schemas.js.map +1 -0
  510. package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.d.ts +58 -0
  511. package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.d.ts.map +1 -0
  512. package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.js +336 -0
  513. package/dist/esm/ai/tools/protocols/jupiter-onchain/tools.js.map +1 -0
  514. package/dist/esm/ai/tools/protocols/raydium-onchain/index.d.ts +13 -0
  515. package/dist/esm/ai/tools/protocols/raydium-onchain/index.d.ts.map +1 -0
  516. package/dist/esm/ai/tools/protocols/raydium-onchain/index.js +13 -0
  517. package/dist/esm/ai/tools/protocols/raydium-onchain/index.js.map +1 -0
  518. package/dist/esm/ai/tools/protocols/raydium-onchain/schemas.d.ts +11 -0
  519. package/dist/esm/ai/tools/protocols/raydium-onchain/schemas.d.ts.map +1 -0
  520. package/dist/esm/ai/tools/protocols/raydium-onchain/schemas.js +285 -0
  521. package/dist/esm/ai/tools/protocols/raydium-onchain/schemas.js.map +1 -0
  522. package/dist/esm/ai/tools/protocols/raydium-onchain/tools.d.ts +58 -0
  523. package/dist/esm/ai/tools/protocols/raydium-onchain/tools.d.ts.map +1 -0
  524. package/dist/esm/ai/tools/protocols/raydium-onchain/tools.js +378 -0
  525. package/dist/esm/ai/tools/protocols/raydium-onchain/tools.js.map +1 -0
  526. package/dist/esm/ai/tools/protocols/shared.d.ts +8 -1
  527. package/dist/esm/ai/tools/protocols/shared.d.ts.map +1 -1
  528. package/dist/esm/ai/tools/protocols/shared.js +4 -1
  529. package/dist/esm/ai/tools/protocols/shared.js.map +1 -1
  530. package/dist/esm/ai/tools/zod/index.d.ts +1 -1
  531. package/dist/esm/ai/tools/zod/index.d.ts.map +1 -1
  532. package/dist/esm/ai/tools/zod/index.js +2 -2
  533. package/dist/esm/ai/tools/zod/index.js.map +1 -1
  534. package/dist/esm/ai/tools/zod/types.d.ts +2 -0
  535. package/dist/esm/ai/tools/zod/types.d.ts.map +1 -1
  536. package/dist/esm/ai/tools/zod/types.js.map +1 -1
  537. package/dist/esm/core/client.d.ts +25 -0
  538. package/dist/esm/core/client.d.ts.map +1 -1
  539. package/dist/esm/core/client.js +30 -0
  540. package/dist/esm/core/client.js.map +1 -1
  541. package/dist/esm/decoders/index.d.ts +36 -0
  542. package/dist/esm/decoders/index.d.ts.map +1 -0
  543. package/dist/esm/decoders/index.js +37 -0
  544. package/dist/esm/decoders/index.js.map +1 -0
  545. package/dist/esm/decoders/layout.d.ts +105 -0
  546. package/dist/esm/decoders/layout.d.ts.map +1 -0
  547. package/dist/esm/decoders/layout.js +183 -0
  548. package/dist/esm/decoders/layout.js.map +1 -0
  549. package/dist/esm/decoders/lookup-table.d.ts +60 -0
  550. package/dist/esm/decoders/lookup-table.d.ts.map +1 -0
  551. package/dist/esm/decoders/lookup-table.js +71 -0
  552. package/dist/esm/decoders/lookup-table.js.map +1 -0
  553. package/dist/esm/decoders/multisig.d.ts +49 -0
  554. package/dist/esm/decoders/multisig.d.ts.map +1 -0
  555. package/dist/esm/decoders/multisig.js +46 -0
  556. package/dist/esm/decoders/multisig.js.map +1 -0
  557. package/dist/esm/decoders/nonce.d.ts +54 -0
  558. package/dist/esm/decoders/nonce.d.ts.map +1 -0
  559. package/dist/esm/decoders/nonce.js +44 -0
  560. package/dist/esm/decoders/nonce.js.map +1 -0
  561. package/dist/esm/decoders/stake.d.ts +65 -0
  562. package/dist/esm/decoders/stake.d.ts.map +1 -0
  563. package/dist/esm/decoders/stake.js +82 -0
  564. package/dist/esm/decoders/stake.js.map +1 -0
  565. package/dist/esm/decoders/token-2022.d.ts +134 -0
  566. package/dist/esm/decoders/token-2022.d.ts.map +1 -0
  567. package/dist/esm/decoders/token-2022.js +155 -0
  568. package/dist/esm/decoders/token-2022.js.map +1 -0
  569. package/dist/esm/decoders/token.d.ts +87 -0
  570. package/dist/esm/decoders/token.d.ts.map +1 -0
  571. package/dist/esm/decoders/token.js +66 -0
  572. package/dist/esm/decoders/token.js.map +1 -0
  573. package/dist/esm/index.d.ts +2 -0
  574. package/dist/esm/index.d.ts.map +1 -1
  575. package/dist/esm/index.js +4 -0
  576. package/dist/esm/index.js.map +1 -1
  577. package/package.json +11 -1
package/CHANGELOG.md CHANGED
@@ -7,6 +7,95 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ---
9
9
 
10
+ ## [1.0.4] — 2026-02-27
11
+
12
+ ### Added
13
+ - **Jupiter On-Chain AI Tools** (`src/ai/tools/protocols/jupiter-onchain/`) — 10 new LangChain-compatible
14
+ tools that query Jupiter program state directly via local RPC transport, zero REST dependency.
15
+ - `fetchAccount`, `searchProgramAccounts`, `getTransactionHistory`, `inspectTransaction`,
16
+ `getLimitOrders`, `getDCAAccounts`, `getPerpsPositions`, `getTokenMintInfo`, `getTokenHoldings`,
17
+ `resolvePrograms`.
18
+ - Built-in program ID registry for 11 Jupiter programs (Swap V6, Limit Order V2, DCA, Perps,
19
+ Governance, Lock, Vote, Router, Merkle Distributor, Token Ledger, Referral).
20
+ - Memcmp-based position discovery filters for limits, DCA, and perps accounts.
21
+
22
+ - **Raydium On-Chain AI Tools** (`src/ai/tools/protocols/raydium-onchain/`) — 10 new LangChain-compatible
23
+ tools that query Raydium program state directly via local RPC transport.
24
+ - `fetchAccount`, `searchProgramAccounts`, `getTransactionHistory`, `inspectTransaction`,
25
+ `getPoolState`, `getMultiplePoolStates`, `getPoolsByMint`, `getLPPositions`, `getFarmPositions`,
26
+ `resolvePrograms`.
27
+ - Built-in program ID registry for 7 Raydium programs (AMM V4, CLMM, CPMM, Staking, Farm V3/V5/V6).
28
+ - Automatic pool type detection from owner program.
29
+
30
+ - **Configurable auth header** in `ProtocolHttpClient` — new `apiKeyHeader` field on
31
+ `ProtocolClientConfig` allows protocols to specify custom auth headers (e.g. `x-api-key`)
32
+ instead of the default `Authorization: Bearer`.
33
+
34
+ - **Super-factory supports 5 protocol toolkits** — `createProtocolTools()` now wires Jupiter,
35
+ Raydium, Metaplex, Jupiter On-Chain, and Raydium On-Chain (68 total tools when all enabled).
36
+
37
+ ### Fixed
38
+ - **#4 — Auth header**: Jupiter REST tools now send `x-api-key: <key>` instead of
39
+ `Authorization: Bearer <key>`, matching Jupiter's actual API authentication.
40
+ - **#5 — Token List URL**: `getTokenList` now routes to `tokens.jup.ag/tokens` via a dedicated
41
+ `ProtocolHttpClient` instead of the non-existent `api.jup.ag/tokens/v1` path.
42
+ - **#6 — getRouters removed**: Removed the `getRouters` method entirely — the
43
+ `/ultra/v1/routers` endpoint does not exist (404). Jupiter method count: 22 → 20.
44
+ - **#7 — getHoldings params**: Changed input from `wallet: Pubkey` to
45
+ `tokenAccountAddresses: Pubkey[]` (array, min 1, max 100), matching the actual API contract.
46
+ - **#8 — getLimitOrders schema**: Replaced `includeHistory: boolean` with
47
+ `orderStatus: 'active' | 'history'` enum to match the Jupiter Limit Order V2 API.
48
+ - **#9 — getDCAOrders schema**: Added required `recurringType: 'time' | 'price' | 'all'` and
49
+ `orderStatus: 'active' | 'history'` fields; removed non-existent `includeHistory`.
50
+ - **#10 — createLimitOrder body**: Executor now wraps `inputMint`, `outputMint`, `makingAmount`,
51
+ `takingAmount`, `expiredAt`, `feeBps` inside a `params: {}` object as Jupiter expects.
52
+ - **#11 — executeTrigger schema**: Added required `requestId: string` to input schema.
53
+ - **#12 — executeDCA schema**: Added required `requestId: string` to input schema.
54
+ - **#13 — createDCA field rename**: Changed `maker` → `user` to match Jupiter DCA API.
55
+ - **#14 — cancelDCA field rename + param**: Changed `maker` → `user` and added required
56
+ `recurringType: 'time' | 'price'` field.
57
+
58
+ ### Changed
59
+ - Jupiter REST method count reduced from 22 → **20** (removed `getRouters`; count after all
60
+ schema corrections).
61
+ - Total protocol tool count across all 5 toolkits: **68** (20 Jupiter + 16 Raydium + 12 Metaplex
62
+ + 10 Jupiter On-Chain + 10 Raydium On-Chain).
63
+ - Test suite updated: **415 tests**, all passing.
64
+
65
+ ---
66
+
67
+ ## [1.0.3] — 2026-02-27
68
+
69
+ ### Added
70
+ - **Native Solana account data decoders** (`src/decoders/`) — zero-dependency binary decoders
71
+ verified field-by-field against official Solana source code (`solana-program/token`, `anza-xyz/agave`).
72
+ - `AccountReader` — DataView-based binary reader with LE byte order, COption (C ABI) support.
73
+ - `decodeTokenAccount` — SPL Token Account (165 bytes): mint, owner, amount, delegate, state,
74
+ isNative, delegatedAmount, closeAuthority.
75
+ - `decodeMint` — SPL Token Mint (82 bytes): mintAuthority, supply, decimals, isInitialized,
76
+ freezeAuthority.
77
+ - `decodeToken2022Account` / `decodeToken2022Mint` — Token Extensions with TLV parser
78
+ (TransferFeeConfig, MintCloseAuthority, MetadataPointer, ImmutableOwner, MemoTransfer, etc.).
79
+ - `decodeStakeAccount` — Stake program (200 bytes): Meta (authorized + lockup) + Delegation
80
+ (voterPubkey, stake, activationEpoch, deactivationEpoch, warmupCooldownRate) + creditsObserved.
81
+ - `decodeNonceAccount` — Durable nonce (80 bytes): version, state, authority, blockhash,
82
+ lamportsPerSignature.
83
+ - `decodeLookupTable` — Address Lookup Table (56-byte header + N×32 addresses):
84
+ deactivationSlot, lastExtendedSlot, authority, addresses.
85
+ - `decodeMultisig` — SPL Multisig (355 bytes): m, n, isInitialized, signers[11].
86
+ - `encodeBase58` — self-contained base58 encoder (no external dependencies).
87
+ - **Typed account fetchers** (`src/accounts/`) — high-level account fetching with automatic
88
+ decoding wired into `SynapseClient`.
89
+ - `AccountsClient` class accessible via `client.accounts`.
90
+ - `fetchTokenAccount` / `fetchMint` — auto-detects Token vs Token-2022 by program owner.
91
+ - `fetchTokenAccountsByOwner` — batch fetch all token accounts for a wallet.
92
+ - `fetchStakeAccount` / `fetchNonceAccount` / `fetchLookupTable`.
93
+ - `getDecodedAccount<T>` / `getDecodedAccounts<T>` generic helpers.
94
+ - **Sub-path exports** — `./decoders` and `./accounts` added to `package.json` exports map.
95
+ - **37 new unit tests** for all decoders with hand-crafted byte buffers (415 total, all passing).
96
+
97
+ ---
98
+
10
99
  ## [1.0.2] — 2026-02-26
11
100
 
12
101
  ### Added
@@ -44,8 +133,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
44
133
  - **Geyser gRPC Parser** (`src/grpc/parser/`) — full streaming transaction decoder with 80+
45
134
  known-program registry, instruction-level decoding, inner-instruction flattening, and token
46
135
  balance extraction. Includes `GeyserParser` high-level class and raw `decode*` utilities.
47
- - **Protocol Tools** — 49 new LangChain-compatible tools for on-chain protocols:
48
- - Jupiter DEX: 21 tools (swap, quote, route, limit orders, DCA, token list, price).
136
+ - **Protocol Tools** — 48 new LangChain-compatible tools for on-chain protocols:
137
+ - Jupiter DEX: 20 tools (swap, quote, route, limit orders, DCA, token list, price).
49
138
  - Raydium DEX: 16 tools (pools, liquidity, farming, swaps, CLMM positions).
50
139
  - Metaplex NFT: 12 tools (mint, update, verify, burn, delegate, collections).
51
140
  - **Known Facilitators Registry** (`src/ai/gateway/x402/registry.ts`) — pre-configured
@@ -84,6 +173,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
84
173
 
85
174
  ---
86
175
 
176
+ [1.0.4]: https://github.com/oobe-protocol-labs/synapse-client-sdk/compare/v1.0.3...v1.0.4
177
+ [1.0.3]: https://github.com/oobe-protocol-labs/synapse-client-sdk/compare/v1.0.2...v1.0.3
87
178
  [1.0.2]: https://github.com/oobe-protocol-labs/synapse-client-sdk/compare/v1.0.1...v1.0.2
88
179
  [1.0.1]: https://github.com/oobe-protocol-labs/synapse-client-sdk/compare/v1.0.0-beta...v1.0.1
89
180
  [1.0.0-beta]: https://github.com/oobe-protocol-labs/synapse-client-sdk/releases/tag/v1.0.0-beta
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Generic decoded account fetcher utilities.
3
+ *
4
+ * Provides a reusable pattern for fetching raw account data via RPC
5
+ * and decoding it with a typed decoder function.
6
+ *
7
+ * @module accounts/helpers
8
+ * @since 1.1.0
9
+ */
10
+ import type { HttpTransport, CallOptions } from '../core/transport';
11
+ import type { Pubkey, Commitment } from '../core/types';
12
+ /** @internal Minimal account info from base64-encoded RPC response. */
13
+ interface RawAccountInfo {
14
+ data: [string, string] | string;
15
+ executable: boolean;
16
+ lamports: number;
17
+ owner: string;
18
+ rentEpoch: number;
19
+ space: number;
20
+ }
21
+ /**
22
+ * Result of a decoded account fetch.
23
+ *
24
+ * @typeParam T - The decoded account type.
25
+ * @since 1.1.0
26
+ */
27
+ export interface DecodedAccountResult<T> {
28
+ /** Decoded account data. */
29
+ decoded: T;
30
+ /** Raw account info as returned by the RPC (base64 encoding). */
31
+ raw: RawAccountInfo;
32
+ /** Slot at which the data was fetched. */
33
+ slot: number;
34
+ }
35
+ /**
36
+ * Base64-decode a Solana RPC account data field.
37
+ *
38
+ * The RPC returns account data as `[base64String, "base64"]` when
39
+ * `encoding: "base64"` is used.
40
+ *
41
+ * @param data - The raw data field from getAccountInfo.
42
+ * @returns Decoded Uint8Array.
43
+ * @since 1.1.0
44
+ */
45
+ export declare function base64ToBytes(data: [string, string] | string | unknown): Uint8Array;
46
+ /**
47
+ * Fetch a raw account and decode its data using the provided decoder.
48
+ *
49
+ * This is the core building block for all typed account fetchers.
50
+ * It handles the RPC call, base64 decoding, and applies the decoder.
51
+ *
52
+ * @typeParam T - The decoded account type.
53
+ * @param transport - HTTP transport for RPC calls.
54
+ * @param pubkey - Account public key to fetch.
55
+ * @param decoder - Function that decodes raw bytes into type T.
56
+ * @param opts - RPC options (commitment, call overrides).
57
+ * @returns Decoded result, or `null` if the account doesn't exist.
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * import { getDecodedAccount } from '@oobe-protocol-labs/synapse-client-sdk/accounts';
62
+ * import { decodeTokenAccount } from '@oobe-protocol-labs/synapse-client-sdk/decoders';
63
+ *
64
+ * const result = await getDecodedAccount(transport, pubkey, decodeTokenAccount);
65
+ * if (result) console.log(`Amount: ${result.decoded.amount}`);
66
+ * ```
67
+ *
68
+ * @since 1.1.0
69
+ */
70
+ export declare function getDecodedAccount<T>(transport: HttpTransport, pubkey: Pubkey, decoder: (data: Uint8Array) => T, opts?: {
71
+ commitment?: Commitment;
72
+ } & CallOptions): Promise<DecodedAccountResult<T> | null>;
73
+ /**
74
+ * Fetch multiple accounts and decode them in batch (single RPC call).
75
+ *
76
+ * @typeParam T - The decoded account type.
77
+ * @param transport - HTTP transport for RPC calls.
78
+ * @param pubkeys - Account public keys to fetch.
79
+ * @param decoder - Function that decodes raw bytes into type T.
80
+ * @param opts - RPC options.
81
+ * @returns Array of decoded results (null entries for non-existent accounts).
82
+ * @since 1.1.0
83
+ */
84
+ export declare function getDecodedAccounts<T>(transport: HttpTransport, pubkeys: Pubkey[], decoder: (data: Uint8Array) => T, opts?: {
85
+ commitment?: Commitment;
86
+ } & CallOptions): Promise<(DecodedAccountResult<T> | null)[]>;
87
+ export {};
88
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/accounts/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAQ,MAAM,eAAe,CAAC;AAU9D,uEAAuE;AACvE,UAAU,cAAc;IACtB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAID;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,4BAA4B;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,iEAAiE;IACjE,GAAG,EAAE,cAAc,CAAC;IACpB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;CACd;AAID;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAoBnF;AAID;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,CAAC,EAChC,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,GAAG,WAAgB,GACnD,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAqBzC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,CAAC,EAChC,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,GAAG,WAAgB,GACnD,OAAO,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAoB7C"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ /**
3
+ * Generic decoded account fetcher utilities.
4
+ *
5
+ * Provides a reusable pattern for fetching raw account data via RPC
6
+ * and decoding it with a typed decoder function.
7
+ *
8
+ * @module accounts/helpers
9
+ * @since 1.1.0
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.base64ToBytes = base64ToBytes;
13
+ exports.getDecodedAccount = getDecodedAccount;
14
+ exports.getDecodedAccounts = getDecodedAccounts;
15
+ // ── Base64 decoding ────────────────────────────────────────────
16
+ /**
17
+ * Base64-decode a Solana RPC account data field.
18
+ *
19
+ * The RPC returns account data as `[base64String, "base64"]` when
20
+ * `encoding: "base64"` is used.
21
+ *
22
+ * @param data - The raw data field from getAccountInfo.
23
+ * @returns Decoded Uint8Array.
24
+ * @since 1.1.0
25
+ */
26
+ function base64ToBytes(data) {
27
+ let b64;
28
+ if (Array.isArray(data) && typeof data[0] === 'string') {
29
+ b64 = data[0];
30
+ }
31
+ else if (typeof data === 'string') {
32
+ b64 = data;
33
+ }
34
+ else {
35
+ throw new Error('Unexpected account data format: expected [base64, "base64"] or string');
36
+ }
37
+ // Node.js Buffer path (fast)
38
+ if (typeof Buffer !== 'undefined') {
39
+ return new Uint8Array(Buffer.from(b64, 'base64'));
40
+ }
41
+ // Browser / edge path
42
+ const binary = atob(b64);
43
+ const bytes = new Uint8Array(binary.length);
44
+ for (let i = 0; i < binary.length; i++)
45
+ bytes[i] = binary.charCodeAt(i);
46
+ return bytes;
47
+ }
48
+ // ── Core fetcher ───────────────────────────────────────────────
49
+ /**
50
+ * Fetch a raw account and decode its data using the provided decoder.
51
+ *
52
+ * This is the core building block for all typed account fetchers.
53
+ * It handles the RPC call, base64 decoding, and applies the decoder.
54
+ *
55
+ * @typeParam T - The decoded account type.
56
+ * @param transport - HTTP transport for RPC calls.
57
+ * @param pubkey - Account public key to fetch.
58
+ * @param decoder - Function that decodes raw bytes into type T.
59
+ * @param opts - RPC options (commitment, call overrides).
60
+ * @returns Decoded result, or `null` if the account doesn't exist.
61
+ *
62
+ * @example
63
+ * ```ts
64
+ * import { getDecodedAccount } from '@oobe-protocol-labs/synapse-client-sdk/accounts';
65
+ * import { decodeTokenAccount } from '@oobe-protocol-labs/synapse-client-sdk/decoders';
66
+ *
67
+ * const result = await getDecodedAccount(transport, pubkey, decodeTokenAccount);
68
+ * if (result) console.log(`Amount: ${result.decoded.amount}`);
69
+ * ```
70
+ *
71
+ * @since 1.1.0
72
+ */
73
+ async function getDecodedAccount(transport, pubkey, decoder, opts = {}) {
74
+ const { commitment, ...callOpts } = opts;
75
+ const cfg = { encoding: 'base64' };
76
+ if (commitment)
77
+ cfg.commitment = commitment;
78
+ const result = await transport.request('getAccountInfo', [pubkey, cfg], callOpts);
79
+ if (!result.value)
80
+ return null;
81
+ const bytes = base64ToBytes(result.value.data);
82
+ const decoded = decoder(bytes);
83
+ return {
84
+ decoded,
85
+ raw: result.value,
86
+ slot: result.context.slot,
87
+ };
88
+ }
89
+ /**
90
+ * Fetch multiple accounts and decode them in batch (single RPC call).
91
+ *
92
+ * @typeParam T - The decoded account type.
93
+ * @param transport - HTTP transport for RPC calls.
94
+ * @param pubkeys - Account public keys to fetch.
95
+ * @param decoder - Function that decodes raw bytes into type T.
96
+ * @param opts - RPC options.
97
+ * @returns Array of decoded results (null entries for non-existent accounts).
98
+ * @since 1.1.0
99
+ */
100
+ async function getDecodedAccounts(transport, pubkeys, decoder, opts = {}) {
101
+ const { commitment, ...callOpts } = opts;
102
+ const cfg = { encoding: 'base64' };
103
+ if (commitment)
104
+ cfg.commitment = commitment;
105
+ const result = await transport.request('getMultipleAccounts', [pubkeys, cfg], callOpts);
106
+ return result.value.map((acct) => {
107
+ if (!acct)
108
+ return null;
109
+ const bytes = base64ToBytes(acct.data);
110
+ return {
111
+ decoded: decoder(bytes),
112
+ raw: acct,
113
+ slot: result.context.slot,
114
+ };
115
+ });
116
+ }
117
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/accounts/helpers.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAoDH,sCAoBC;AA4BD,8CA0BC;AAaD,gDAyBC;AA5HD,kEAAkE;AAElE;;;;;;;;;GASG;AACH,SAAgB,aAAa,CAAC,IAAyC;IACrE,IAAI,GAAW,CAAC;IAChB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACvD,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,sBAAsB;IACtB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kEAAkE;AAElE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACI,KAAK,UAAU,iBAAiB,CACrC,SAAwB,EACxB,MAAc,EACd,OAAgC,EAChC,OAAkD,EAAE;IAEpD,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;IACzC,MAAM,GAAG,GAA4B,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAC5D,IAAI,UAAU;QAAE,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;IAE5C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CACpC,gBAAgB,EAChB,CAAC,MAAM,EAAE,GAAG,CAAC,EACb,QAAQ,CACT,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAE/B,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAE/B,OAAO;QACL,OAAO;QACP,GAAG,EAAE,MAAM,CAAC,KAAK;QACjB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;KAC1B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,kBAAkB,CACtC,SAAwB,EACxB,OAAiB,EACjB,OAAgC,EAChC,OAAkD,EAAE;IAEpD,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;IACzC,MAAM,GAAG,GAA4B,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAC5D,IAAI,UAAU;QAAE,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;IAE5C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CACpC,qBAAqB,EACrB,CAAC,OAAO,EAAE,GAAG,CAAC,EACd,QAAQ,CACT,CAAC;IAEF,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;YACvB,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;SAC1B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Typed account fetchers with built-in decoding.
3
+ *
4
+ * Provides high-level methods that fetch raw account data via RPC
5
+ * and return fully decoded, typed objects. This is the "batteries-included"
6
+ * layer that eliminates manual base64 decoding and byte layout parsing.
7
+ *
8
+ * @module accounts
9
+ * @since 1.1.0
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const client = new SynapseClient({ endpoint: '...' });
14
+ *
15
+ * // One call, fully decoded:
16
+ * const mint = await client.accounts.fetchMint(mintPubkey);
17
+ * console.log(`Supply: ${mint.decoded.supply}, Decimals: ${mint.decoded.decimals}`);
18
+ *
19
+ * const acct = await client.accounts.fetchTokenAccount(tokenPubkey);
20
+ * console.log(`Balance: ${acct.decoded.amount}`);
21
+ * ```
22
+ */
23
+ import type { HttpTransport, CallOptions } from '../core/transport';
24
+ import type { Pubkey, Commitment } from '../core/types';
25
+ export { fetchTokenAccount, fetchMint, fetchTokenAccountsByOwner } from './token';
26
+ export { fetchStakeAccount } from './stake';
27
+ export { fetchNonceAccount } from './nonce';
28
+ export { fetchLookupTable } from './lookup';
29
+ export { getDecodedAccount, getDecodedAccounts, base64ToBytes } from './helpers';
30
+ export type { DecodedAccountResult } from './helpers';
31
+ export type { FetchedTokenAccount, FetchedMint } from './token';
32
+ /** Options for account fetch methods. @since 1.1.0 */
33
+ export type AccountFetchOpts = {
34
+ commitment?: Commitment;
35
+ } & CallOptions;
36
+ /**
37
+ * High-level accounts client with decoded fetch methods.
38
+ *
39
+ * Exposed as `client.accounts` on {@link SynapseClient}. Each method
40
+ * fetches raw data, base64-decodes it, and runs the appropriate native
41
+ * decoder — returning a fully typed object.
42
+ *
43
+ * @since 1.1.0
44
+ */
45
+ export declare class AccountsClient {
46
+ private readonly transport;
47
+ constructor(transport: HttpTransport);
48
+ /**
49
+ * Fetch and decode a single SPL Token account.
50
+ * Auto-detects Token vs Token-2022 and includes extensions.
51
+ * @since 1.1.0
52
+ */
53
+ fetchTokenAccount(pubkey: Pubkey, opts?: AccountFetchOpts): Promise<import("./token").FetchedTokenAccount | null>;
54
+ /**
55
+ * Fetch and decode a token mint.
56
+ * Auto-detects Token vs Token-2022 and includes extensions.
57
+ * @since 1.1.0
58
+ */
59
+ fetchMint(pubkey: Pubkey, opts?: AccountFetchOpts): Promise<import("./token").FetchedMint | null>;
60
+ /**
61
+ * Fetch all token accounts owned by a wallet, optionally filtered by mint.
62
+ * @since 1.1.0
63
+ */
64
+ fetchTokenAccountsByOwner(owner: Pubkey, mint?: Pubkey, opts?: AccountFetchOpts & {
65
+ programId?: Pubkey;
66
+ }): Promise<import("./token").FetchedTokenAccount[]>;
67
+ /**
68
+ * Fetch and decode a stake account.
69
+ * @since 1.1.0
70
+ */
71
+ fetchStakeAccount(pubkey: Pubkey, opts?: AccountFetchOpts): Promise<import("./helpers").DecodedAccountResult<import("..").DecodedStakeAccount> | null>;
72
+ /**
73
+ * Fetch and decode a durable nonce account.
74
+ * @since 1.1.0
75
+ */
76
+ fetchNonceAccount(pubkey: Pubkey, opts?: AccountFetchOpts): Promise<import("./helpers").DecodedAccountResult<import("..").DecodedNonceAccount> | null>;
77
+ /**
78
+ * Fetch and decode an Address Lookup Table.
79
+ * @since 1.1.0
80
+ */
81
+ fetchLookupTable(pubkey: Pubkey, opts?: AccountFetchOpts): Promise<import("./helpers").DecodedAccountResult<import("..").DecodedLookupTable> | null>;
82
+ /**
83
+ * Fetch any account and decode it with a custom decoder function.
84
+ *
85
+ * @typeParam T - The decoded type.
86
+ * @param pubkey - Account public key.
87
+ * @param decoder - Custom decoder function `(data: Uint8Array) => T`.
88
+ * @param opts - RPC options.
89
+ * @returns Decoded result or null.
90
+ * @since 1.1.0
91
+ */
92
+ fetchDecoded<T>(pubkey: Pubkey, decoder: (data: Uint8Array) => T, opts?: AccountFetchOpts): Promise<import("./helpers").DecodedAccountResult<T> | null>;
93
+ /**
94
+ * Fetch multiple accounts and decode them with a custom decoder (single RPC call).
95
+ *
96
+ * @typeParam T - The decoded type.
97
+ * @param pubkeys - Account public keys.
98
+ * @param decoder - Custom decoder function.
99
+ * @param opts - RPC options.
100
+ * @returns Array of decoded results (null for non-existent).
101
+ * @since 1.1.0
102
+ */
103
+ fetchDecodedBatch<T>(pubkeys: Pubkey[], decoder: (data: Uint8Array) => T, opts?: AccountFetchOpts): Promise<(import("./helpers").DecodedAccountResult<T> | null)[]>;
104
+ }
105
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/accounts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAQxD,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACjF,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEhE,sDAAsD;AACtD,MAAM,MAAM,gBAAgB,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,GAAG,WAAW,CAAC;AAEzE;;;;;;;;GAQG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAIrD;;;;OAIG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB;IAIzD;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB;IAIjD;;;OAGG;IACH,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAMxG;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB;IAMzD;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB;IAMzD;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB;IAMxD;;;;;;;;;OASG;IACH,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,gBAAgB;IAIzF;;;;;;;;;OASG;IACH,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,gBAAgB;CAGlG"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ /**
3
+ * Typed account fetchers with built-in decoding.
4
+ *
5
+ * Provides high-level methods that fetch raw account data via RPC
6
+ * and return fully decoded, typed objects. This is the "batteries-included"
7
+ * layer that eliminates manual base64 decoding and byte layout parsing.
8
+ *
9
+ * @module accounts
10
+ * @since 1.1.0
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const client = new SynapseClient({ endpoint: '...' });
15
+ *
16
+ * // One call, fully decoded:
17
+ * const mint = await client.accounts.fetchMint(mintPubkey);
18
+ * console.log(`Supply: ${mint.decoded.supply}, Decimals: ${mint.decoded.decimals}`);
19
+ *
20
+ * const acct = await client.accounts.fetchTokenAccount(tokenPubkey);
21
+ * console.log(`Balance: ${acct.decoded.amount}`);
22
+ * ```
23
+ */
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.AccountsClient = exports.base64ToBytes = exports.getDecodedAccounts = exports.getDecodedAccount = exports.fetchLookupTable = exports.fetchNonceAccount = exports.fetchStakeAccount = exports.fetchTokenAccountsByOwner = exports.fetchMint = exports.fetchTokenAccount = void 0;
26
+ const token_1 = require("./token");
27
+ const stake_1 = require("./stake");
28
+ const nonce_1 = require("./nonce");
29
+ const lookup_1 = require("./lookup");
30
+ const helpers_1 = require("./helpers");
31
+ // ── Re-export individual fetchers for tree-shaking ─────────────
32
+ var token_2 = require("./token");
33
+ Object.defineProperty(exports, "fetchTokenAccount", { enumerable: true, get: function () { return token_2.fetchTokenAccount; } });
34
+ Object.defineProperty(exports, "fetchMint", { enumerable: true, get: function () { return token_2.fetchMint; } });
35
+ Object.defineProperty(exports, "fetchTokenAccountsByOwner", { enumerable: true, get: function () { return token_2.fetchTokenAccountsByOwner; } });
36
+ var stake_2 = require("./stake");
37
+ Object.defineProperty(exports, "fetchStakeAccount", { enumerable: true, get: function () { return stake_2.fetchStakeAccount; } });
38
+ var nonce_2 = require("./nonce");
39
+ Object.defineProperty(exports, "fetchNonceAccount", { enumerable: true, get: function () { return nonce_2.fetchNonceAccount; } });
40
+ var lookup_2 = require("./lookup");
41
+ Object.defineProperty(exports, "fetchLookupTable", { enumerable: true, get: function () { return lookup_2.fetchLookupTable; } });
42
+ var helpers_2 = require("./helpers");
43
+ Object.defineProperty(exports, "getDecodedAccount", { enumerable: true, get: function () { return helpers_2.getDecodedAccount; } });
44
+ Object.defineProperty(exports, "getDecodedAccounts", { enumerable: true, get: function () { return helpers_2.getDecodedAccounts; } });
45
+ Object.defineProperty(exports, "base64ToBytes", { enumerable: true, get: function () { return helpers_2.base64ToBytes; } });
46
+ /**
47
+ * High-level accounts client with decoded fetch methods.
48
+ *
49
+ * Exposed as `client.accounts` on {@link SynapseClient}. Each method
50
+ * fetches raw data, base64-decodes it, and runs the appropriate native
51
+ * decoder — returning a fully typed object.
52
+ *
53
+ * @since 1.1.0
54
+ */
55
+ class AccountsClient {
56
+ transport;
57
+ constructor(transport) {
58
+ this.transport = transport;
59
+ }
60
+ // ── Token ────────────────────────────────────────────────────
61
+ /**
62
+ * Fetch and decode a single SPL Token account.
63
+ * Auto-detects Token vs Token-2022 and includes extensions.
64
+ * @since 1.1.0
65
+ */
66
+ fetchTokenAccount(pubkey, opts) {
67
+ return (0, token_1.fetchTokenAccount)(this.transport, pubkey, opts);
68
+ }
69
+ /**
70
+ * Fetch and decode a token mint.
71
+ * Auto-detects Token vs Token-2022 and includes extensions.
72
+ * @since 1.1.0
73
+ */
74
+ fetchMint(pubkey, opts) {
75
+ return (0, token_1.fetchMint)(this.transport, pubkey, opts);
76
+ }
77
+ /**
78
+ * Fetch all token accounts owned by a wallet, optionally filtered by mint.
79
+ * @since 1.1.0
80
+ */
81
+ fetchTokenAccountsByOwner(owner, mint, opts) {
82
+ return (0, token_1.fetchTokenAccountsByOwner)(this.transport, owner, mint, opts);
83
+ }
84
+ // ── Stake ────────────────────────────────────────────────────
85
+ /**
86
+ * Fetch and decode a stake account.
87
+ * @since 1.1.0
88
+ */
89
+ fetchStakeAccount(pubkey, opts) {
90
+ return (0, stake_1.fetchStakeAccount)(this.transport, pubkey, opts);
91
+ }
92
+ // ── Nonce ────────────────────────────────────────────────────
93
+ /**
94
+ * Fetch and decode a durable nonce account.
95
+ * @since 1.1.0
96
+ */
97
+ fetchNonceAccount(pubkey, opts) {
98
+ return (0, nonce_1.fetchNonceAccount)(this.transport, pubkey, opts);
99
+ }
100
+ // ── Lookup Table ─────────────────────────────────────────────
101
+ /**
102
+ * Fetch and decode an Address Lookup Table.
103
+ * @since 1.1.0
104
+ */
105
+ fetchLookupTable(pubkey, opts) {
106
+ return (0, lookup_1.fetchLookupTable)(this.transport, pubkey, opts);
107
+ }
108
+ // ── Generic ──────────────────────────────────────────────────
109
+ /**
110
+ * Fetch any account and decode it with a custom decoder function.
111
+ *
112
+ * @typeParam T - The decoded type.
113
+ * @param pubkey - Account public key.
114
+ * @param decoder - Custom decoder function `(data: Uint8Array) => T`.
115
+ * @param opts - RPC options.
116
+ * @returns Decoded result or null.
117
+ * @since 1.1.0
118
+ */
119
+ fetchDecoded(pubkey, decoder, opts) {
120
+ return (0, helpers_1.getDecodedAccount)(this.transport, pubkey, decoder, opts);
121
+ }
122
+ /**
123
+ * Fetch multiple accounts and decode them with a custom decoder (single RPC call).
124
+ *
125
+ * @typeParam T - The decoded type.
126
+ * @param pubkeys - Account public keys.
127
+ * @param decoder - Custom decoder function.
128
+ * @param opts - RPC options.
129
+ * @returns Array of decoded results (null for non-existent).
130
+ * @since 1.1.0
131
+ */
132
+ fetchDecodedBatch(pubkeys, decoder, opts) {
133
+ return (0, helpers_1.getDecodedAccounts)(this.transport, pubkeys, decoder, opts);
134
+ }
135
+ }
136
+ exports.AccountsClient = AccountsClient;
137
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/accounts/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAIH,mCAAkF;AAClF,mCAA4C;AAC5C,mCAA4C;AAC5C,qCAA4C;AAC5C,uCAAkE;AAElE,kEAAkE;AAClE,iCAAkF;AAAzE,0GAAA,iBAAiB,OAAA;AAAE,kGAAA,SAAS,OAAA;AAAE,kHAAA,yBAAyB,OAAA;AAChE,iCAA4C;AAAnC,0GAAA,iBAAiB,OAAA;AAC1B,iCAA4C;AAAnC,0GAAA,iBAAiB,OAAA;AAC1B,mCAA4C;AAAnC,0GAAA,gBAAgB,OAAA;AACzB,qCAAiF;AAAxE,4GAAA,iBAAiB,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAAE,wGAAA,aAAa,OAAA;AAO7D;;;;;;;;GAQG;AACH,MAAa,cAAc;IACI;IAA7B,YAA6B,SAAwB;QAAxB,cAAS,GAAT,SAAS,CAAe;IAAG,CAAC;IAEzD,gEAAgE;IAEhE;;;;OAIG;IACH,iBAAiB,CAAC,MAAc,EAAE,IAAuB;QACvD,OAAO,IAAA,yBAAiB,EAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,MAAc,EAAE,IAAuB;QAC/C,OAAO,IAAA,iBAAS,EAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,yBAAyB,CAAC,KAAa,EAAE,IAAa,EAAE,IAAgD;QACtG,OAAO,IAAA,iCAAyB,EAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,gEAAgE;IAEhE;;;OAGG;IACH,iBAAiB,CAAC,MAAc,EAAE,IAAuB;QACvD,OAAO,IAAA,yBAAiB,EAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,gEAAgE;IAEhE;;;OAGG;IACH,iBAAiB,CAAC,MAAc,EAAE,IAAuB;QACvD,OAAO,IAAA,yBAAiB,EAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,gEAAgE;IAEhE;;;OAGG;IACH,gBAAgB,CAAC,MAAc,EAAE,IAAuB;QACtD,OAAO,IAAA,yBAAgB,EAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,gEAAgE;IAEhE;;;;;;;;;OASG;IACH,YAAY,CAAI,MAAc,EAAE,OAAgC,EAAE,IAAuB;QACvF,OAAO,IAAA,2BAAiB,EAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;OASG;IACH,iBAAiB,CAAI,OAAiB,EAAE,OAAgC,EAAE,IAAuB;QAC/F,OAAO,IAAA,4BAAkB,EAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;CACF;AA1FD,wCA0FC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * High-level Address Lookup Table fetcher.
3
+ *
4
+ * @module accounts/lookup
5
+ * @since 1.1.0
6
+ */
7
+ import type { HttpTransport, CallOptions } from '../core/transport';
8
+ import type { Pubkey, Commitment } from '../core/types';
9
+ import type { DecodedLookupTable } from '../decoders/lookup-table';
10
+ import type { DecodedAccountResult } from './helpers';
11
+ /**
12
+ * Fetch and decode an Address Lookup Table account.
13
+ *
14
+ * @param transport - HTTP transport.
15
+ * @param pubkey - Lookup table account public key.
16
+ * @param opts - RPC options.
17
+ * @returns Decoded lookup table, or `null` if not found.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * const lut = await fetchLookupTable(transport, lutPubkey);
22
+ * if (lut) console.log(`Contains ${lut.decoded.addresses.length} addresses`);
23
+ * ```
24
+ *
25
+ * @since 1.1.0
26
+ */
27
+ export declare function fetchLookupTable(transport: HttpTransport, pubkey: Pubkey, opts?: {
28
+ commitment?: Commitment;
29
+ } & CallOptions): Promise<DecodedAccountResult<DecodedLookupTable> | null>;
30
+ //# sourceMappingURL=lookup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../../src/accounts/lookup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,UAAU,CAAA;CAAE,GAAG,WAAgB,GACnD,OAAO,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,CAE1D"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ /**
3
+ * High-level Address Lookup Table fetcher.
4
+ *
5
+ * @module accounts/lookup
6
+ * @since 1.1.0
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.fetchLookupTable = fetchLookupTable;
10
+ const lookup_table_1 = require("../decoders/lookup-table");
11
+ const helpers_1 = require("./helpers");
12
+ /**
13
+ * Fetch and decode an Address Lookup Table account.
14
+ *
15
+ * @param transport - HTTP transport.
16
+ * @param pubkey - Lookup table account public key.
17
+ * @param opts - RPC options.
18
+ * @returns Decoded lookup table, or `null` if not found.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const lut = await fetchLookupTable(transport, lutPubkey);
23
+ * if (lut) console.log(`Contains ${lut.decoded.addresses.length} addresses`);
24
+ * ```
25
+ *
26
+ * @since 1.1.0
27
+ */
28
+ async function fetchLookupTable(transport, pubkey, opts = {}) {
29
+ return (0, helpers_1.getDecodedAccount)(transport, pubkey, lookup_table_1.decodeLookupTable, opts);
30
+ }
31
+ //# sourceMappingURL=lookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../../src/accounts/lookup.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAyBH,4CAMC;AA3BD,2DAA6D;AAE7D,uCAA8C;AAG9C;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,gBAAgB,CACpC,SAAwB,EACxB,MAAc,EACd,OAAkD,EAAE;IAEpD,OAAO,IAAA,2BAAiB,EAAC,SAAS,EAAE,MAAM,EAAE,gCAAiB,EAAE,IAAI,CAAC,CAAC;AACvE,CAAC"}