@oobe-protocol-labs/synapse-client-sdk 2.0.0 → 2.0.5

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