@oobe-protocol-labs/synapse-sap-sdk 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (654) hide show
  1. package/dist/cjs/accounts/index.js +286 -0
  2. package/dist/cjs/accounts/index.js.map +1 -0
  3. package/dist/cjs/client.js +108 -0
  4. package/dist/cjs/client.js.map +1 -0
  5. package/dist/cjs/constants.js +59 -0
  6. package/dist/cjs/constants.js.map +1 -0
  7. package/dist/cjs/errors.js +250 -0
  8. package/dist/cjs/errors.js.map +1 -0
  9. package/dist/cjs/events/index.js +38 -130
  10. package/dist/cjs/events/index.js.map +1 -1
  11. package/dist/cjs/idlTypes.js +4 -0
  12. package/dist/cjs/idlTypes.js.map +1 -0
  13. package/dist/cjs/index.js +75 -241
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/instructions/agent.js +89 -0
  16. package/dist/cjs/instructions/agent.js.map +1 -0
  17. package/dist/cjs/instructions/attestation.js +112 -0
  18. package/dist/cjs/instructions/attestation.js.map +1 -0
  19. package/dist/cjs/instructions/digest.js +28 -0
  20. package/dist/cjs/instructions/digest.js.map +1 -0
  21. package/dist/cjs/instructions/dispute.js +116 -0
  22. package/dist/cjs/instructions/dispute.js.map +1 -0
  23. package/dist/cjs/instructions/escrow.js +101 -0
  24. package/dist/cjs/instructions/escrow.js.map +1 -0
  25. package/dist/cjs/instructions/global.js +28 -0
  26. package/dist/cjs/instructions/global.js.map +1 -0
  27. package/dist/cjs/instructions/index.js +31 -0
  28. package/dist/cjs/instructions/index.js.map +1 -0
  29. package/dist/cjs/instructions/indexing.js +221 -0
  30. package/dist/cjs/instructions/indexing.js.map +1 -0
  31. package/dist/cjs/instructions/misc.js +73 -0
  32. package/dist/cjs/instructions/misc.js.map +1 -0
  33. package/dist/cjs/instructions/session.js +89 -0
  34. package/dist/cjs/instructions/session.js.map +1 -0
  35. package/dist/cjs/instructions/staking.js +132 -0
  36. package/dist/cjs/instructions/staking.js.map +1 -0
  37. package/dist/cjs/instructions/subscription.js +80 -0
  38. package/dist/cjs/instructions/subscription.js.map +1 -0
  39. package/dist/cjs/instructions/tools.js +109 -0
  40. package/dist/cjs/instructions/tools.js.map +1 -0
  41. package/dist/cjs/instructions/vault.js +106 -0
  42. package/dist/cjs/instructions/vault.js.map +1 -0
  43. package/dist/cjs/pdas/index.js +120 -0
  44. package/dist/cjs/pdas/index.js.map +1 -0
  45. package/dist/cjs/types.js +42 -0
  46. package/dist/cjs/types.js.map +1 -0
  47. package/dist/cjs/utils/index.js +29 -86
  48. package/dist/cjs/utils/index.js.map +1 -1
  49. package/dist/cjs/utils/validate.js +236 -0
  50. package/dist/cjs/utils/validate.js.map +1 -0
  51. package/dist/esm/accounts/index.d.ts +11 -0
  52. package/dist/esm/accounts/index.d.ts.map +1 -0
  53. package/dist/esm/accounts/index.js +273 -0
  54. package/dist/esm/accounts/index.js.map +1 -0
  55. package/dist/esm/client.d.ts +55 -0
  56. package/dist/esm/client.d.ts.map +1 -0
  57. package/dist/esm/client.js +70 -0
  58. package/dist/esm/client.js.map +1 -0
  59. package/dist/esm/constants.d.ts +52 -0
  60. package/dist/esm/constants.d.ts.map +1 -0
  61. package/dist/esm/constants.js +56 -0
  62. package/dist/esm/constants.js.map +1 -0
  63. package/dist/esm/errors.d.ts +111 -0
  64. package/dist/esm/errors.d.ts.map +1 -0
  65. package/dist/esm/errors.js +244 -0
  66. package/dist/esm/errors.js.map +1 -0
  67. package/dist/esm/events/index.d.ts +13 -0
  68. package/dist/esm/events/index.d.ts.map +1 -0
  69. package/dist/esm/events/index.js +36 -128
  70. package/dist/esm/events/index.js.map +1 -1
  71. package/dist/esm/idlTypes.d.ts +925 -0
  72. package/dist/esm/idlTypes.d.ts.map +1 -0
  73. package/dist/esm/idlTypes.js +3 -0
  74. package/dist/esm/idlTypes.js.map +1 -0
  75. package/dist/esm/index.d.ts +12 -0
  76. package/dist/esm/index.d.ts.map +1 -0
  77. package/dist/esm/index.js +15 -88
  78. package/dist/esm/index.js.map +1 -1
  79. package/dist/esm/instructions/agent.d.ts +71 -0
  80. package/dist/esm/instructions/agent.d.ts.map +1 -0
  81. package/dist/esm/instructions/agent.js +85 -0
  82. package/dist/esm/instructions/agent.js.map +1 -0
  83. package/dist/esm/instructions/attestation.d.ts +76 -0
  84. package/dist/esm/instructions/attestation.d.ts.map +1 -0
  85. package/dist/esm/instructions/attestation.js +108 -0
  86. package/dist/esm/instructions/attestation.js.map +1 -0
  87. package/dist/esm/instructions/digest.d.ts +20 -0
  88. package/dist/esm/instructions/digest.d.ts.map +1 -0
  89. package/dist/esm/instructions/digest.js +24 -0
  90. package/dist/esm/instructions/digest.js.map +1 -0
  91. package/dist/esm/instructions/dispute.d.ts +81 -0
  92. package/dist/esm/instructions/dispute.d.ts.map +1 -0
  93. package/dist/esm/instructions/dispute.js +112 -0
  94. package/dist/esm/instructions/dispute.js.map +1 -0
  95. package/dist/esm/instructions/escrow.d.ts +79 -0
  96. package/dist/esm/instructions/escrow.d.ts.map +1 -0
  97. package/dist/esm/instructions/escrow.js +97 -0
  98. package/dist/esm/instructions/escrow.js.map +1 -0
  99. package/dist/esm/instructions/global.d.ts +14 -0
  100. package/dist/esm/instructions/global.d.ts.map +1 -0
  101. package/dist/esm/instructions/global.js +24 -0
  102. package/dist/esm/instructions/global.js.map +1 -0
  103. package/dist/esm/instructions/index.d.ts +14 -0
  104. package/dist/esm/instructions/index.d.ts.map +1 -0
  105. package/dist/esm/instructions/index.js +15 -0
  106. package/dist/esm/instructions/index.js.map +1 -0
  107. package/dist/esm/instructions/indexing.d.ts +150 -0
  108. package/dist/esm/instructions/indexing.d.ts.map +1 -0
  109. package/dist/esm/instructions/indexing.js +217 -0
  110. package/dist/esm/instructions/indexing.js.map +1 -0
  111. package/dist/esm/instructions/memory.d.ts +8 -0
  112. package/dist/esm/instructions/memory.d.ts.map +1 -0
  113. package/dist/esm/instructions/memory.js +234 -0
  114. package/dist/esm/instructions/memory.js.map +1 -0
  115. package/dist/esm/instructions/misc.d.ts +50 -0
  116. package/dist/esm/instructions/misc.d.ts.map +1 -0
  117. package/dist/esm/instructions/misc.js +69 -0
  118. package/dist/esm/instructions/misc.js.map +1 -0
  119. package/dist/esm/instructions/session.d.ts +57 -0
  120. package/dist/esm/instructions/session.d.ts.map +1 -0
  121. package/dist/esm/instructions/session.js +85 -0
  122. package/dist/esm/instructions/session.js.map +1 -0
  123. package/dist/esm/instructions/staking.d.ts +85 -0
  124. package/dist/esm/instructions/staking.d.ts.map +1 -0
  125. package/dist/esm/instructions/staking.js +128 -0
  126. package/dist/esm/instructions/staking.js.map +1 -0
  127. package/dist/esm/instructions/subscription.d.ts +50 -0
  128. package/dist/esm/instructions/subscription.d.ts.map +1 -0
  129. package/dist/esm/instructions/subscription.js +76 -0
  130. package/dist/esm/instructions/subscription.js.map +1 -0
  131. package/dist/esm/instructions/tools.d.ts +88 -0
  132. package/dist/esm/instructions/tools.d.ts.map +1 -0
  133. package/dist/esm/instructions/tools.js +105 -0
  134. package/dist/esm/instructions/tools.js.map +1 -0
  135. package/dist/esm/instructions/vault.d.ts +84 -0
  136. package/dist/esm/instructions/vault.d.ts.map +1 -0
  137. package/dist/esm/instructions/vault.js +102 -0
  138. package/dist/esm/instructions/vault.js.map +1 -0
  139. package/dist/esm/pdas/index.d.ts +37 -0
  140. package/dist/esm/pdas/index.d.ts.map +1 -0
  141. package/dist/esm/pdas/index.js +101 -0
  142. package/dist/esm/pdas/index.js.map +1 -0
  143. package/dist/esm/types.d.ts +208 -0
  144. package/dist/esm/types.d.ts.map +1 -0
  145. package/dist/esm/types.js +39 -0
  146. package/dist/esm/types.js.map +1 -0
  147. package/dist/esm/utils/index.d.ts +4 -0
  148. package/dist/esm/utils/index.d.ts.map +1 -0
  149. package/dist/esm/utils/index.js +13 -33
  150. package/dist/esm/utils/index.js.map +1 -1
  151. package/dist/esm/utils/validate.d.ts +66 -0
  152. package/dist/esm/utils/validate.d.ts.map +1 -0
  153. package/dist/esm/utils/validate.js +221 -0
  154. package/dist/esm/utils/validate.js.map +1 -0
  155. package/package.json +59 -183
  156. package/LICENSE +0 -21
  157. package/README.md +0 -986
  158. package/dist/cjs/constants/addresses.js +0 -143
  159. package/dist/cjs/constants/addresses.js.map +0 -1
  160. package/dist/cjs/constants/index.js +0 -64
  161. package/dist/cjs/constants/index.js.map +0 -1
  162. package/dist/cjs/constants/limits.js +0 -161
  163. package/dist/cjs/constants/limits.js.map +0 -1
  164. package/dist/cjs/constants/network.js +0 -81
  165. package/dist/cjs/constants/network.js.map +0 -1
  166. package/dist/cjs/constants/payments.js +0 -137
  167. package/dist/cjs/constants/payments.js.map +0 -1
  168. package/dist/cjs/constants/programs.js +0 -78
  169. package/dist/cjs/constants/programs.js.map +0 -1
  170. package/dist/cjs/constants/seeds.js +0 -76
  171. package/dist/cjs/constants/seeds.js.map +0 -1
  172. package/dist/cjs/core/client.js +0 -546
  173. package/dist/cjs/core/client.js.map +0 -1
  174. package/dist/cjs/core/connection.js +0 -350
  175. package/dist/cjs/core/connection.js.map +0 -1
  176. package/dist/cjs/core/index.js +0 -25
  177. package/dist/cjs/core/index.js.map +0 -1
  178. package/dist/cjs/errors/index.js +0 -334
  179. package/dist/cjs/errors/index.js.map +0 -1
  180. package/dist/cjs/events/geyser.js +0 -295
  181. package/dist/cjs/events/geyser.js.map +0 -1
  182. package/dist/cjs/idl/index.js +0 -63
  183. package/dist/cjs/idl/index.js.map +0 -1
  184. package/dist/cjs/idl/synapse_agent_sap.json +0 -14595
  185. package/dist/cjs/modules/agent.js +0 -272
  186. package/dist/cjs/modules/agent.js.map +0 -1
  187. package/dist/cjs/modules/attestation.js +0 -147
  188. package/dist/cjs/modules/attestation.js.map +0 -1
  189. package/dist/cjs/modules/base.js +0 -189
  190. package/dist/cjs/modules/base.js.map +0 -1
  191. package/dist/cjs/modules/escrow-v2.js +0 -607
  192. package/dist/cjs/modules/escrow-v2.js.map +0 -1
  193. package/dist/cjs/modules/escrow.js +0 -336
  194. package/dist/cjs/modules/escrow.js.map +0 -1
  195. package/dist/cjs/modules/feedback.js +0 -166
  196. package/dist/cjs/modules/feedback.js.map +0 -1
  197. package/dist/cjs/modules/index.js +0 -43
  198. package/dist/cjs/modules/index.js.map +0 -1
  199. package/dist/cjs/modules/indexing.js +0 -375
  200. package/dist/cjs/modules/indexing.js.map +0 -1
  201. package/dist/cjs/modules/ledger.js +0 -234
  202. package/dist/cjs/modules/ledger.js.map +0 -1
  203. package/dist/cjs/modules/receipt.js +0 -148
  204. package/dist/cjs/modules/receipt.js.map +0 -1
  205. package/dist/cjs/modules/staking.js +0 -159
  206. package/dist/cjs/modules/staking.js.map +0 -1
  207. package/dist/cjs/modules/subscription.js +0 -96
  208. package/dist/cjs/modules/subscription.js.map +0 -1
  209. package/dist/cjs/modules/tools.js +0 -345
  210. package/dist/cjs/modules/tools.js.map +0 -1
  211. package/dist/cjs/modules/vault.js +0 -427
  212. package/dist/cjs/modules/vault.js.map +0 -1
  213. package/dist/cjs/parser/client.js +0 -146
  214. package/dist/cjs/parser/client.js.map +0 -1
  215. package/dist/cjs/parser/complete.js +0 -177
  216. package/dist/cjs/parser/complete.js.map +0 -1
  217. package/dist/cjs/parser/index.js +0 -57
  218. package/dist/cjs/parser/index.js.map +0 -1
  219. package/dist/cjs/parser/inner.js +0 -185
  220. package/dist/cjs/parser/inner.js.map +0 -1
  221. package/dist/cjs/parser/instructions.js +0 -114
  222. package/dist/cjs/parser/instructions.js.map +0 -1
  223. package/dist/cjs/parser/transaction.js +0 -153
  224. package/dist/cjs/parser/transaction.js.map +0 -1
  225. package/dist/cjs/parser/types.js +0 -14
  226. package/dist/cjs/parser/types.js.map +0 -1
  227. package/dist/cjs/pda/index.js +0 -672
  228. package/dist/cjs/pda/index.js.map +0 -1
  229. package/dist/cjs/plugin/index.js +0 -952
  230. package/dist/cjs/plugin/index.js.map +0 -1
  231. package/dist/cjs/plugin/protocols.js +0 -282
  232. package/dist/cjs/plugin/protocols.js.map +0 -1
  233. package/dist/cjs/plugin/schemas.js +0 -863
  234. package/dist/cjs/plugin/schemas.js.map +0 -1
  235. package/dist/cjs/postgres/adapter.js +0 -715
  236. package/dist/cjs/postgres/adapter.js.map +0 -1
  237. package/dist/cjs/postgres/index.js +0 -50
  238. package/dist/cjs/postgres/index.js.map +0 -1
  239. package/dist/cjs/postgres/serializers.js +0 -381
  240. package/dist/cjs/postgres/serializers.js.map +0 -1
  241. package/dist/cjs/postgres/sync.js +0 -289
  242. package/dist/cjs/postgres/sync.js.map +0 -1
  243. package/dist/cjs/postgres/types.js +0 -44
  244. package/dist/cjs/postgres/types.js.map +0 -1
  245. package/dist/cjs/registries/builder.js +0 -414
  246. package/dist/cjs/registries/builder.js.map +0 -1
  247. package/dist/cjs/registries/discovery.js +0 -362
  248. package/dist/cjs/registries/discovery.js.map +0 -1
  249. package/dist/cjs/registries/fairscale.js +0 -639
  250. package/dist/cjs/registries/fairscale.js.map +0 -1
  251. package/dist/cjs/registries/index.js +0 -58
  252. package/dist/cjs/registries/index.js.map +0 -1
  253. package/dist/cjs/registries/metaplex-bridge.js +0 -743
  254. package/dist/cjs/registries/metaplex-bridge.js.map +0 -1
  255. package/dist/cjs/registries/session.js +0 -433
  256. package/dist/cjs/registries/session.js.map +0 -1
  257. package/dist/cjs/registries/x402.js +0 -668
  258. package/dist/cjs/registries/x402.js.map +0 -1
  259. package/dist/cjs/types/accounts.js +0 -13
  260. package/dist/cjs/types/accounts.js.map +0 -1
  261. package/dist/cjs/types/common.js +0 -13
  262. package/dist/cjs/types/common.js.map +0 -1
  263. package/dist/cjs/types/endpoint.js +0 -15
  264. package/dist/cjs/types/endpoint.js.map +0 -1
  265. package/dist/cjs/types/enums.js +0 -269
  266. package/dist/cjs/types/enums.js.map +0 -1
  267. package/dist/cjs/types/index.js +0 -41
  268. package/dist/cjs/types/index.js.map +0 -1
  269. package/dist/cjs/types/instructions.js +0 -92
  270. package/dist/cjs/types/instructions.js.map +0 -1
  271. package/dist/cjs/utils/anchor-errors.js +0 -453
  272. package/dist/cjs/utils/anchor-errors.js.map +0 -1
  273. package/dist/cjs/utils/endpoint-validator.js +0 -232
  274. package/dist/cjs/utils/endpoint-validator.js.map +0 -1
  275. package/dist/cjs/utils/escrow-validation.js +0 -219
  276. package/dist/cjs/utils/escrow-validation.js.map +0 -1
  277. package/dist/cjs/utils/hash.js +0 -109
  278. package/dist/cjs/utils/hash.js.map +0 -1
  279. package/dist/cjs/utils/merchant-validator.js +0 -246
  280. package/dist/cjs/utils/merchant-validator.js.map +0 -1
  281. package/dist/cjs/utils/network-normalizer.js +0 -236
  282. package/dist/cjs/utils/network-normalizer.js.map +0 -1
  283. package/dist/cjs/utils/priority-fee.js +0 -215
  284. package/dist/cjs/utils/priority-fee.js.map +0 -1
  285. package/dist/cjs/utils/rpc-strategy.js +0 -239
  286. package/dist/cjs/utils/rpc-strategy.js.map +0 -1
  287. package/dist/cjs/utils/schemas.js +0 -331
  288. package/dist/cjs/utils/schemas.js.map +0 -1
  289. package/dist/cjs/utils/serialization.js +0 -105
  290. package/dist/cjs/utils/serialization.js.map +0 -1
  291. package/dist/cjs/utils/validation.js +0 -36
  292. package/dist/cjs/utils/validation.js.map +0 -1
  293. package/dist/cjs/utils/volume-curve.js +0 -117
  294. package/dist/cjs/utils/volume-curve.js.map +0 -1
  295. package/dist/cjs/utils/x402-direct.js +0 -231
  296. package/dist/cjs/utils/x402-direct.js.map +0 -1
  297. package/dist/esm/constants/addresses.js +0 -140
  298. package/dist/esm/constants/addresses.js.map +0 -1
  299. package/dist/esm/constants/index.js +0 -35
  300. package/dist/esm/constants/index.js.map +0 -1
  301. package/dist/esm/constants/limits.js +0 -158
  302. package/dist/esm/constants/limits.js.map +0 -1
  303. package/dist/esm/constants/network.js +0 -78
  304. package/dist/esm/constants/network.js.map +0 -1
  305. package/dist/esm/constants/payments.js +0 -131
  306. package/dist/esm/constants/payments.js.map +0 -1
  307. package/dist/esm/constants/programs.js +0 -75
  308. package/dist/esm/constants/programs.js.map +0 -1
  309. package/dist/esm/constants/seeds.js +0 -73
  310. package/dist/esm/constants/seeds.js.map +0 -1
  311. package/dist/esm/core/client.js +0 -539
  312. package/dist/esm/core/client.js.map +0 -1
  313. package/dist/esm/core/connection.js +0 -345
  314. package/dist/esm/core/connection.js.map +0 -1
  315. package/dist/esm/core/index.js +0 -19
  316. package/dist/esm/core/index.js.map +0 -1
  317. package/dist/esm/errors/index.js +0 -325
  318. package/dist/esm/errors/index.js.map +0 -1
  319. package/dist/esm/events/geyser.js +0 -258
  320. package/dist/esm/events/geyser.js.map +0 -1
  321. package/dist/esm/idl/index.js +0 -57
  322. package/dist/esm/idl/index.js.map +0 -1
  323. package/dist/esm/idl/synapse_agent_sap.json +0 -14595
  324. package/dist/esm/modules/agent.js +0 -268
  325. package/dist/esm/modules/agent.js.map +0 -1
  326. package/dist/esm/modules/attestation.js +0 -143
  327. package/dist/esm/modules/attestation.js.map +0 -1
  328. package/dist/esm/modules/base.js +0 -185
  329. package/dist/esm/modules/base.js.map +0 -1
  330. package/dist/esm/modules/escrow-v2.js +0 -603
  331. package/dist/esm/modules/escrow-v2.js.map +0 -1
  332. package/dist/esm/modules/escrow.js +0 -332
  333. package/dist/esm/modules/escrow.js.map +0 -1
  334. package/dist/esm/modules/feedback.js +0 -162
  335. package/dist/esm/modules/feedback.js.map +0 -1
  336. package/dist/esm/modules/index.js +0 -27
  337. package/dist/esm/modules/index.js.map +0 -1
  338. package/dist/esm/modules/indexing.js +0 -371
  339. package/dist/esm/modules/indexing.js.map +0 -1
  340. package/dist/esm/modules/ledger.js +0 -230
  341. package/dist/esm/modules/ledger.js.map +0 -1
  342. package/dist/esm/modules/receipt.js +0 -144
  343. package/dist/esm/modules/receipt.js.map +0 -1
  344. package/dist/esm/modules/staking.js +0 -155
  345. package/dist/esm/modules/staking.js.map +0 -1
  346. package/dist/esm/modules/subscription.js +0 -92
  347. package/dist/esm/modules/subscription.js.map +0 -1
  348. package/dist/esm/modules/tools.js +0 -341
  349. package/dist/esm/modules/tools.js.map +0 -1
  350. package/dist/esm/modules/vault.js +0 -423
  351. package/dist/esm/modules/vault.js.map +0 -1
  352. package/dist/esm/parser/client.js +0 -142
  353. package/dist/esm/parser/client.js.map +0 -1
  354. package/dist/esm/parser/complete.js +0 -173
  355. package/dist/esm/parser/complete.js.map +0 -1
  356. package/dist/esm/parser/index.js +0 -43
  357. package/dist/esm/parser/index.js.map +0 -1
  358. package/dist/esm/parser/inner.js +0 -180
  359. package/dist/esm/parser/inner.js.map +0 -1
  360. package/dist/esm/parser/instructions.js +0 -109
  361. package/dist/esm/parser/instructions.js.map +0 -1
  362. package/dist/esm/parser/transaction.js +0 -149
  363. package/dist/esm/parser/transaction.js.map +0 -1
  364. package/dist/esm/parser/types.js +0 -13
  365. package/dist/esm/parser/types.js.map +0 -1
  366. package/dist/esm/pda/index.js +0 -638
  367. package/dist/esm/pda/index.js.map +0 -1
  368. package/dist/esm/plugin/index.js +0 -945
  369. package/dist/esm/plugin/index.js.map +0 -1
  370. package/dist/esm/plugin/protocols.js +0 -279
  371. package/dist/esm/plugin/protocols.js.map +0 -1
  372. package/dist/esm/plugin/schemas.js +0 -860
  373. package/dist/esm/plugin/schemas.js.map +0 -1
  374. package/dist/esm/postgres/adapter.js +0 -678
  375. package/dist/esm/postgres/adapter.js.map +0 -1
  376. package/dist/esm/postgres/index.js +0 -27
  377. package/dist/esm/postgres/index.js.map +0 -1
  378. package/dist/esm/postgres/serializers.js +0 -362
  379. package/dist/esm/postgres/serializers.js.map +0 -1
  380. package/dist/esm/postgres/sync.js +0 -285
  381. package/dist/esm/postgres/sync.js.map +0 -1
  382. package/dist/esm/postgres/types.js +0 -41
  383. package/dist/esm/postgres/types.js.map +0 -1
  384. package/dist/esm/registries/builder.js +0 -410
  385. package/dist/esm/registries/builder.js.map +0 -1
  386. package/dist/esm/registries/discovery.js +0 -358
  387. package/dist/esm/registries/discovery.js.map +0 -1
  388. package/dist/esm/registries/fairscale.js +0 -633
  389. package/dist/esm/registries/fairscale.js.map +0 -1
  390. package/dist/esm/registries/index.js +0 -46
  391. package/dist/esm/registries/index.js.map +0 -1
  392. package/dist/esm/registries/metaplex-bridge.js +0 -706
  393. package/dist/esm/registries/metaplex-bridge.js.map +0 -1
  394. package/dist/esm/registries/session.js +0 -429
  395. package/dist/esm/registries/session.js.map +0 -1
  396. package/dist/esm/registries/x402.js +0 -664
  397. package/dist/esm/registries/x402.js.map +0 -1
  398. package/dist/esm/types/accounts.js +0 -12
  399. package/dist/esm/types/accounts.js.map +0 -1
  400. package/dist/esm/types/common.js +0 -12
  401. package/dist/esm/types/common.js.map +0 -1
  402. package/dist/esm/types/endpoint.js +0 -14
  403. package/dist/esm/types/endpoint.js.map +0 -1
  404. package/dist/esm/types/enums.js +0 -266
  405. package/dist/esm/types/enums.js.map +0 -1
  406. package/dist/esm/types/index.js +0 -25
  407. package/dist/esm/types/index.js.map +0 -1
  408. package/dist/esm/types/instructions.js +0 -89
  409. package/dist/esm/types/instructions.js.map +0 -1
  410. package/dist/esm/utils/anchor-errors.js +0 -447
  411. package/dist/esm/utils/anchor-errors.js.map +0 -1
  412. package/dist/esm/utils/endpoint-validator.js +0 -226
  413. package/dist/esm/utils/endpoint-validator.js.map +0 -1
  414. package/dist/esm/utils/escrow-validation.js +0 -212
  415. package/dist/esm/utils/escrow-validation.js.map +0 -1
  416. package/dist/esm/utils/hash.js +0 -103
  417. package/dist/esm/utils/hash.js.map +0 -1
  418. package/dist/esm/utils/merchant-validator.js +0 -241
  419. package/dist/esm/utils/merchant-validator.js.map +0 -1
  420. package/dist/esm/utils/network-normalizer.js +0 -229
  421. package/dist/esm/utils/network-normalizer.js.map +0 -1
  422. package/dist/esm/utils/priority-fee.js +0 -209
  423. package/dist/esm/utils/priority-fee.js.map +0 -1
  424. package/dist/esm/utils/rpc-strategy.js +0 -231
  425. package/dist/esm/utils/rpc-strategy.js.map +0 -1
  426. package/dist/esm/utils/schemas.js +0 -320
  427. package/dist/esm/utils/schemas.js.map +0 -1
  428. package/dist/esm/utils/serialization.js +0 -98
  429. package/dist/esm/utils/serialization.js.map +0 -1
  430. package/dist/esm/utils/validation.js +0 -33
  431. package/dist/esm/utils/validation.js.map +0 -1
  432. package/dist/esm/utils/volume-curve.js +0 -114
  433. package/dist/esm/utils/volume-curve.js.map +0 -1
  434. package/dist/esm/utils/x402-direct.js +0 -228
  435. package/dist/esm/utils/x402-direct.js.map +0 -1
  436. package/dist/types/constants/addresses.d.ts +0 -117
  437. package/dist/types/constants/addresses.d.ts.map +0 -1
  438. package/dist/types/constants/index.d.ts +0 -31
  439. package/dist/types/constants/index.d.ts.map +0 -1
  440. package/dist/types/constants/limits.d.ts +0 -149
  441. package/dist/types/constants/limits.d.ts.map +0 -1
  442. package/dist/types/constants/network.d.ts +0 -81
  443. package/dist/types/constants/network.d.ts.map +0 -1
  444. package/dist/types/constants/payments.d.ts +0 -121
  445. package/dist/types/constants/payments.d.ts.map +0 -1
  446. package/dist/types/constants/programs.d.ts +0 -69
  447. package/dist/types/constants/programs.d.ts.map +0 -1
  448. package/dist/types/constants/seeds.d.ts +0 -80
  449. package/dist/types/constants/seeds.d.ts.map +0 -1
  450. package/dist/types/core/client.d.ts +0 -452
  451. package/dist/types/core/client.d.ts.map +0 -1
  452. package/dist/types/core/connection.d.ts +0 -305
  453. package/dist/types/core/connection.d.ts.map +0 -1
  454. package/dist/types/core/index.d.ts +0 -20
  455. package/dist/types/core/index.d.ts.map +0 -1
  456. package/dist/types/errors/index.d.ts +0 -276
  457. package/dist/types/errors/index.d.ts.map +0 -1
  458. package/dist/types/events/geyser.d.ts +0 -150
  459. package/dist/types/events/geyser.d.ts.map +0 -1
  460. package/dist/types/events/index.d.ts +0 -248
  461. package/dist/types/events/index.d.ts.map +0 -1
  462. package/dist/types/idl/index.d.ts +0 -70
  463. package/dist/types/idl/index.d.ts.map +0 -1
  464. package/dist/types/index.d.ts +0 -85
  465. package/dist/types/index.d.ts.map +0 -1
  466. package/dist/types/modules/agent.d.ts +0 -166
  467. package/dist/types/modules/agent.d.ts.map +0 -1
  468. package/dist/types/modules/attestation.d.ts +0 -96
  469. package/dist/types/modules/attestation.d.ts.map +0 -1
  470. package/dist/types/modules/base.d.ts +0 -161
  471. package/dist/types/modules/base.d.ts.map +0 -1
  472. package/dist/types/modules/escrow-v2.d.ts +0 -169
  473. package/dist/types/modules/escrow-v2.d.ts.map +0 -1
  474. package/dist/types/modules/escrow.d.ts +0 -168
  475. package/dist/types/modules/escrow.d.ts.map +0 -1
  476. package/dist/types/modules/feedback.d.ts +0 -105
  477. package/dist/types/modules/feedback.d.ts.map +0 -1
  478. package/dist/types/modules/index.d.ts +0 -28
  479. package/dist/types/modules/index.d.ts.map +0 -1
  480. package/dist/types/modules/indexing.d.ts +0 -200
  481. package/dist/types/modules/indexing.d.ts.map +0 -1
  482. package/dist/types/modules/ledger.d.ts +0 -150
  483. package/dist/types/modules/ledger.d.ts.map +0 -1
  484. package/dist/types/modules/receipt.d.ts +0 -77
  485. package/dist/types/modules/receipt.d.ts.map +0 -1
  486. package/dist/types/modules/staking.d.ts +0 -51
  487. package/dist/types/modules/staking.d.ts.map +0 -1
  488. package/dist/types/modules/subscription.d.ts +0 -33
  489. package/dist/types/modules/subscription.d.ts.map +0 -1
  490. package/dist/types/modules/tools.d.ts +0 -182
  491. package/dist/types/modules/tools.d.ts.map +0 -1
  492. package/dist/types/modules/vault.d.ts +0 -240
  493. package/dist/types/modules/vault.d.ts.map +0 -1
  494. package/dist/types/parser/client.d.ts +0 -123
  495. package/dist/types/parser/client.d.ts.map +0 -1
  496. package/dist/types/parser/complete.d.ts +0 -90
  497. package/dist/types/parser/complete.d.ts.map +0 -1
  498. package/dist/types/parser/index.d.ts +0 -40
  499. package/dist/types/parser/index.d.ts.map +0 -1
  500. package/dist/types/parser/inner.d.ts +0 -114
  501. package/dist/types/parser/inner.d.ts.map +0 -1
  502. package/dist/types/parser/instructions.d.ts +0 -76
  503. package/dist/types/parser/instructions.d.ts.map +0 -1
  504. package/dist/types/parser/transaction.d.ts +0 -77
  505. package/dist/types/parser/transaction.d.ts.map +0 -1
  506. package/dist/types/parser/types.d.ts +0 -154
  507. package/dist/types/parser/types.d.ts.map +0 -1
  508. package/dist/types/pda/index.d.ts +0 -510
  509. package/dist/types/pda/index.d.ts.map +0 -1
  510. package/dist/types/plugin/index.d.ts +0 -171
  511. package/dist/types/plugin/index.d.ts.map +0 -1
  512. package/dist/types/plugin/protocols.d.ts +0 -152
  513. package/dist/types/plugin/protocols.d.ts.map +0 -1
  514. package/dist/types/plugin/schemas.d.ts +0 -829
  515. package/dist/types/plugin/schemas.d.ts.map +0 -1
  516. package/dist/types/postgres/adapter.d.ts +0 -355
  517. package/dist/types/postgres/adapter.d.ts.map +0 -1
  518. package/dist/types/postgres/index.d.ts +0 -24
  519. package/dist/types/postgres/index.d.ts.map +0 -1
  520. package/dist/types/postgres/serializers.d.ts +0 -30
  521. package/dist/types/postgres/serializers.d.ts.map +0 -1
  522. package/dist/types/postgres/sync.d.ts +0 -156
  523. package/dist/types/postgres/sync.d.ts.map +0 -1
  524. package/dist/types/postgres/types.d.ts +0 -167
  525. package/dist/types/postgres/types.d.ts.map +0 -1
  526. package/dist/types/registries/builder.d.ts +0 -340
  527. package/dist/types/registries/builder.d.ts.map +0 -1
  528. package/dist/types/registries/discovery.d.ts +0 -333
  529. package/dist/types/registries/discovery.d.ts.map +0 -1
  530. package/dist/types/registries/fairscale.d.ts +0 -680
  531. package/dist/types/registries/fairscale.d.ts.map +0 -1
  532. package/dist/types/registries/index.d.ts +0 -52
  533. package/dist/types/registries/index.d.ts.map +0 -1
  534. package/dist/types/registries/metaplex-bridge.d.ts +0 -488
  535. package/dist/types/registries/metaplex-bridge.d.ts.map +0 -1
  536. package/dist/types/registries/session.d.ts +0 -323
  537. package/dist/types/registries/session.d.ts.map +0 -1
  538. package/dist/types/registries/x402.d.ts +0 -530
  539. package/dist/types/registries/x402.d.ts.map +0 -1
  540. package/dist/types/types/accounts.d.ts +0 -765
  541. package/dist/types/types/accounts.d.ts.map +0 -1
  542. package/dist/types/types/common.d.ts +0 -166
  543. package/dist/types/types/common.d.ts.map +0 -1
  544. package/dist/types/types/endpoint.d.ts +0 -161
  545. package/dist/types/types/endpoint.d.ts.map +0 -1
  546. package/dist/types/types/enums.d.ts +0 -353
  547. package/dist/types/types/enums.d.ts.map +0 -1
  548. package/dist/types/types/index.d.ts +0 -29
  549. package/dist/types/types/index.d.ts.map +0 -1
  550. package/dist/types/types/instructions.d.ts +0 -400
  551. package/dist/types/types/instructions.d.ts.map +0 -1
  552. package/dist/types/utils/anchor-errors.d.ts +0 -61
  553. package/dist/types/utils/anchor-errors.d.ts.map +0 -1
  554. package/dist/types/utils/endpoint-validator.d.ts +0 -110
  555. package/dist/types/utils/endpoint-validator.d.ts.map +0 -1
  556. package/dist/types/utils/escrow-validation.d.ts +0 -145
  557. package/dist/types/utils/escrow-validation.d.ts.map +0 -1
  558. package/dist/types/utils/hash.d.ts +0 -75
  559. package/dist/types/utils/hash.d.ts.map +0 -1
  560. package/dist/types/utils/index.d.ts +0 -36
  561. package/dist/types/utils/index.d.ts.map +0 -1
  562. package/dist/types/utils/merchant-validator.d.ts +0 -176
  563. package/dist/types/utils/merchant-validator.d.ts.map +0 -1
  564. package/dist/types/utils/network-normalizer.d.ts +0 -120
  565. package/dist/types/utils/network-normalizer.d.ts.map +0 -1
  566. package/dist/types/utils/priority-fee.d.ts +0 -205
  567. package/dist/types/utils/priority-fee.d.ts.map +0 -1
  568. package/dist/types/utils/rpc-strategy.d.ts +0 -172
  569. package/dist/types/utils/rpc-strategy.d.ts.map +0 -1
  570. package/dist/types/utils/schemas.d.ts +0 -351
  571. package/dist/types/utils/schemas.d.ts.map +0 -1
  572. package/dist/types/utils/serialization.d.ts +0 -69
  573. package/dist/types/utils/serialization.d.ts.map +0 -1
  574. package/dist/types/utils/validation.d.ts +0 -29
  575. package/dist/types/utils/validation.d.ts.map +0 -1
  576. package/dist/types/utils/volume-curve.d.ts +0 -60
  577. package/dist/types/utils/volume-curve.d.ts.map +0 -1
  578. package/dist/types/utils/x402-direct.d.ts +0 -114
  579. package/dist/types/utils/x402-direct.d.ts.map +0 -1
  580. package/src/constants/addresses.ts +0 -162
  581. package/src/constants/index.ts +0 -69
  582. package/src/constants/limits.ts +0 -165
  583. package/src/constants/network.ts +0 -89
  584. package/src/constants/payments.ts +0 -145
  585. package/src/constants/programs.ts +0 -83
  586. package/src/constants/seeds.ts +0 -85
  587. package/src/core/client.ts +0 -583
  588. package/src/core/connection.ts +0 -461
  589. package/src/core/index.ts +0 -20
  590. package/src/errors/index.ts +0 -346
  591. package/src/events/geyser.ts +0 -384
  592. package/src/events/index.ts +0 -335
  593. package/src/events/yellowstone.d.ts +0 -7
  594. package/src/idl/index.ts +0 -76
  595. package/src/idl/synapse_agent_sap.json +0 -14595
  596. package/src/index.ts +0 -421
  597. package/src/modules/agent.ts +0 -319
  598. package/src/modules/attestation.ts +0 -168
  599. package/src/modules/base.ts +0 -247
  600. package/src/modules/escrow-v2.ts +0 -871
  601. package/src/modules/escrow.ts +0 -439
  602. package/src/modules/feedback.ts +0 -186
  603. package/src/modules/index.ts +0 -28
  604. package/src/modules/indexing.ts +0 -444
  605. package/src/modules/ledger.ts +0 -262
  606. package/src/modules/receipt.ts +0 -212
  607. package/src/modules/staking.ts +0 -223
  608. package/src/modules/subscription.ts +0 -147
  609. package/src/modules/tools.ts +0 -454
  610. package/src/modules/vault.ts +0 -558
  611. package/src/parser/client.ts +0 -211
  612. package/src/parser/complete.ts +0 -232
  613. package/src/parser/index.ts +0 -71
  614. package/src/parser/inner.ts +0 -255
  615. package/src/parser/instructions.ts +0 -135
  616. package/src/parser/transaction.ts +0 -200
  617. package/src/parser/types.ts +0 -182
  618. package/src/pda/index.ts +0 -919
  619. package/src/plugin/index.ts +0 -1224
  620. package/src/plugin/protocols.ts +0 -404
  621. package/src/plugin/schemas.ts +0 -941
  622. package/src/postgres/adapter.ts +0 -904
  623. package/src/postgres/index.ts +0 -59
  624. package/src/postgres/schema.sql +0 -683
  625. package/src/postgres/serializers.ts +0 -485
  626. package/src/postgres/sync.ts +0 -340
  627. package/src/postgres/types.ts +0 -245
  628. package/src/registries/builder.ts +0 -607
  629. package/src/registries/discovery.ts +0 -572
  630. package/src/registries/fairscale.ts +0 -1278
  631. package/src/registries/index.ts +0 -143
  632. package/src/registries/metaplex-bridge.ts +0 -1199
  633. package/src/registries/session.ts +0 -613
  634. package/src/registries/x402.ts +0 -1048
  635. package/src/types/accounts.ts +0 -858
  636. package/src/types/common.ts +0 -187
  637. package/src/types/endpoint.ts +0 -181
  638. package/src/types/enums.ts +0 -333
  639. package/src/types/index.ts +0 -121
  640. package/src/types/instructions.ts +0 -453
  641. package/src/utils/anchor-errors.ts +0 -461
  642. package/src/utils/endpoint-validator.ts +0 -300
  643. package/src/utils/escrow-validation.ts +0 -301
  644. package/src/utils/hash.ts +0 -113
  645. package/src/utils/index.ts +0 -118
  646. package/src/utils/merchant-validator.ts +0 -359
  647. package/src/utils/network-normalizer.ts +0 -240
  648. package/src/utils/priority-fee.ts +0 -325
  649. package/src/utils/rpc-strategy.ts +0 -322
  650. package/src/utils/schemas.ts +0 -359
  651. package/src/utils/serialization.ts +0 -98
  652. package/src/utils/validation.ts +0 -36
  653. package/src/utils/volume-curve.ts +0 -131
  654. package/src/utils/x402-direct.ts +0 -370
@@ -1,384 +0,0 @@
1
- /**
2
- * @module events/geyser
3
- * @description Yellowstone gRPC (Geyser) event stream for SAP v2.
4
- *
5
- * Drop-in alternative to the WebSocket `connection.onLogs()` pipeline.
6
- * Uses Triton / Helius / any Yellowstone-compatible gRPC endpoint to
7
- * receive program transaction updates with sub-second latency and
8
- * automatic reconnection.
9
- *
10
- * @category Events
11
- * @since v0.6.3
12
- *
13
- * @example
14
- * ```ts
15
- * import { GeyserEventStream } from "@oobe-protocol-labs/synapse-sap-sdk";
16
- * import { EventParser } from "@oobe-protocol-labs/synapse-sap-sdk";
17
- *
18
- * const stream = new GeyserEventStream({
19
- * endpoint: "https://grpc.triton.one",
20
- * token: process.env.GEYSER_TOKEN!,
21
- * programId: "SAPpUhsWLJG1FfkGRcXagEDMrMsWGjbky7AyhGpFETZ",
22
- * });
23
- *
24
- * const parser = new EventParser(program);
25
- *
26
- * stream.on("logs", (logs, signature, slot) => {
27
- * const events = parser.parseLogs(logs);
28
- * for (const event of events) {
29
- * console.log(event.name, event.data);
30
- * }
31
- * });
32
- *
33
- * stream.on("error", (err) => console.error("gRPC error:", err));
34
- *
35
- * await stream.connect();
36
- * // ... later
37
- * await stream.disconnect();
38
- * ```
39
- */
40
-
41
- import { EventEmitter } from "events";
42
-
43
- // ═══════════════════════════════════════════════════════════════════
44
- // Types
45
- // ═══════════════════════════════════════════════════════════════════
46
-
47
- /**
48
- * Configuration for the Yellowstone gRPC event stream.
49
- *
50
- * @interface GeyserConfig
51
- * @since v0.6.3
52
- */
53
- export interface GeyserConfig {
54
- /** Yellowstone gRPC endpoint URL (e.g. "https://grpc.triton.one") */
55
- endpoint: string;
56
-
57
- /** Authentication token for the gRPC endpoint */
58
- token: string;
59
-
60
- /** SAP program ID to filter. Defaults to SAP v2 program. */
61
- programId?: string;
62
-
63
- /**
64
- * Commitment level for the subscription.
65
- * @default "confirmed"
66
- */
67
- commitment?: "processed" | "confirmed" | "finalized";
68
-
69
- /**
70
- * Automatically reconnect on disconnect.
71
- * @default true
72
- */
73
- autoReconnect?: boolean;
74
-
75
- /**
76
- * Delay between reconnection attempts in ms.
77
- * @default 3000
78
- */
79
- reconnectDelayMs?: number;
80
-
81
- /**
82
- * Maximum number of reconnection attempts. 0 = unlimited.
83
- * @default 0
84
- */
85
- maxReconnectAttempts?: number;
86
-
87
- /**
88
- * Include failed transactions in the stream.
89
- * @default false
90
- */
91
- includeFailedTxs?: boolean;
92
- }
93
-
94
- /**
95
- * Events emitted by {@link GeyserEventStream}.
96
- *
97
- * @interface GeyserStreamEvents
98
- * @since v0.6.3
99
- */
100
- export interface GeyserStreamEvents {
101
- /**
102
- * Emitted for each transaction's log messages.
103
- * Same shape as `connection.onLogs()` callback — plug into `EventParser.parseLogs()`.
104
- */
105
- logs: (logs: string[], signature: string, slot: number) => void;
106
-
107
- /** Emitted when the gRPC stream connects or reconnects. */
108
- connected: () => void;
109
-
110
- /** Emitted when the stream disconnects. */
111
- disconnected: (reason: string) => void;
112
-
113
- /** Emitted on transport or parsing errors. */
114
- error: (err: Error) => void;
115
-
116
- /** Emitted on reconnection attempt. */
117
- reconnecting: (attempt: number) => void;
118
- }
119
-
120
- // ═══════════════════════════════════════════════════════════════════
121
- // Constants
122
- // ═══════════════════════════════════════════════════════════════════
123
-
124
- const SAP_PROGRAM_ID = "SAPpUhsWLJG1FfkGRcXagEDMrMsWGjbky7AyhGpFETZ";
125
-
126
- const COMMITMENT_MAP: Record<string, number> = {
127
- processed: 0,
128
- confirmed: 1,
129
- finalized: 2,
130
- };
131
-
132
- // ═══════════════════════════════════════════════════════════════════
133
- // GeyserEventStream
134
- // ═══════════════════════════════════════════════════════════════════
135
-
136
- /**
137
- * Yellowstone gRPC event stream for SAP v2 programs.
138
- *
139
- * Wraps `@triton-one/yellowstone-grpc` and emits parsed log lines
140
- * compatible with the existing {@link EventParser}.
141
- *
142
- * @name GeyserEventStream
143
- * @category Events
144
- * @since v0.6.3
145
- *
146
- * @example
147
- * ```ts
148
- * const stream = new GeyserEventStream({
149
- * endpoint: "https://grpc.triton.one",
150
- * token: process.env.GEYSER_TOKEN!,
151
- * });
152
- *
153
- * stream.on("logs", (logs, sig, slot) => {
154
- * const events = parser.parseLogs(logs);
155
- * events.forEach(e => db.insertEvent(e));
156
- * });
157
- *
158
- * await stream.connect();
159
- * ```
160
- */
161
- export class GeyserEventStream extends EventEmitter {
162
- private readonly config: Required<GeyserConfig>;
163
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
164
- private client: any = null;
165
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
166
- private stream: any = null;
167
- private reconnectAttempts = 0;
168
- private _connected = false;
169
- private _stopped = false;
170
-
171
- constructor(config: GeyserConfig) {
172
- super();
173
- this.config = {
174
- endpoint: config.endpoint,
175
- token: config.token,
176
- programId: config.programId ?? SAP_PROGRAM_ID,
177
- commitment: config.commitment ?? "confirmed",
178
- autoReconnect: config.autoReconnect ?? true,
179
- reconnectDelayMs: config.reconnectDelayMs ?? 3_000,
180
- maxReconnectAttempts: config.maxReconnectAttempts ?? 0,
181
- includeFailedTxs: config.includeFailedTxs ?? false,
182
- };
183
- }
184
-
185
- /** Whether the gRPC stream is currently connected. */
186
- get connected(): boolean {
187
- return this._connected;
188
- }
189
-
190
- /**
191
- * Connect to the Yellowstone gRPC endpoint and start streaming.
192
- *
193
- * @throws If `@triton-one/yellowstone-grpc` is not installed.
194
- */
195
- async connect(): Promise<void> {
196
- this._stopped = false;
197
- this.reconnectAttempts = 0;
198
-
199
- // Dynamic import — yellowstone is an optional peer dependency
200
- let YellowstoneClient: new (...args: unknown[]) => unknown;
201
- try {
202
- const mod = await import("@triton-one/yellowstone-grpc");
203
- YellowstoneClient = mod.default ?? mod.Client;
204
- } catch {
205
- throw new Error(
206
- "Missing dependency: @triton-one/yellowstone-grpc\n" +
207
- "Install it with: npm i @triton-one/yellowstone-grpc",
208
- );
209
- }
210
-
211
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
212
- this.client = new (YellowstoneClient as any)(
213
- this.config.endpoint,
214
- this.config.token,
215
- undefined, // TLS options — use defaults
216
- );
217
-
218
- await this.subscribe();
219
- }
220
-
221
- /**
222
- * Disconnect from the gRPC stream and stop reconnection.
223
- */
224
- async disconnect(): Promise<void> {
225
- this._stopped = true;
226
- this._connected = false;
227
-
228
- if (this.stream) {
229
- try {
230
- this.stream.cancel?.();
231
- this.stream = null;
232
- } catch {
233
- // ignore cancel errors
234
- }
235
- }
236
-
237
- this.emit("disconnected", "manual");
238
- }
239
-
240
- // ─── Internal ──────────────────────────────────────
241
-
242
- private async subscribe(): Promise<void> {
243
- if (!this.client || this._stopped) return;
244
-
245
- try {
246
- this.stream = await this.client.subscribe();
247
- } catch (err) {
248
- this.emit("error", err instanceof Error ? err : new Error(String(err)));
249
- await this.maybeReconnect();
250
- return;
251
- }
252
-
253
- // Build the subscription request
254
- const request = {
255
- accounts: {},
256
- slots: {},
257
- transactions: {
258
- sap: {
259
- vote: false,
260
- failed: this.config.includeFailedTxs,
261
- signature: undefined,
262
- accountInclude: [this.config.programId],
263
- accountExclude: [],
264
- accountRequired: [],
265
- },
266
- },
267
- transactionsStatus: {},
268
- blocks: {},
269
- blocksMeta: {},
270
- entry: {},
271
- commitment: COMMITMENT_MAP[this.config.commitment] ?? 1,
272
- accountsDataSlice: [],
273
- ping: { id: 1 },
274
- };
275
-
276
- // Send subscription
277
- try {
278
- await new Promise<void>((resolve, reject) => {
279
- this.stream.write(request, (err: Error | null) => {
280
- if (err) reject(err);
281
- else resolve();
282
- });
283
- });
284
- } catch (err) {
285
- this.emit("error", err instanceof Error ? err : new Error(String(err)));
286
- await this.maybeReconnect();
287
- return;
288
- }
289
-
290
- this._connected = true;
291
- this.reconnectAttempts = 0;
292
- this.emit("connected");
293
-
294
- // Listen for data
295
- this.stream.on("data", (data: GeyserUpdateMessage) => {
296
- try {
297
- this.handleMessage(data);
298
- } catch (err) {
299
- this.emit("error", err instanceof Error ? err : new Error(String(err)));
300
- }
301
- });
302
-
303
- this.stream.on("error", (err: Error) => {
304
- this.emit("error", err);
305
- });
306
-
307
- this.stream.on("end", () => {
308
- this._connected = false;
309
- this.emit("disconnected", "stream-end");
310
- this.maybeReconnect();
311
- });
312
-
313
- this.stream.on("close", () => {
314
- this._connected = false;
315
- this.emit("disconnected", "stream-close");
316
- this.maybeReconnect();
317
- });
318
- }
319
-
320
- private handleMessage(data: GeyserUpdateMessage): void {
321
- // Respond to pings to keep the stream alive
322
- if (data.ping) {
323
- this.stream?.write({ ping: { id: data.ping.id } }, () => {});
324
- return;
325
- }
326
-
327
- // Extract transaction data
328
- const tx = data.transaction;
329
- if (!tx?.transaction?.transaction) return;
330
-
331
- const meta = tx.transaction.meta;
332
- if (!meta) return;
333
-
334
- // Extract log messages from the transaction meta
335
- const logs: string[] = meta.logMessages ?? [];
336
- if (logs.length === 0) return;
337
-
338
- const signature = tx.transaction.signature
339
- ? Buffer.from(tx.transaction.signature).toString("base64")
340
- : "unknown";
341
-
342
- const slot = Number(tx.slot ?? 0);
343
-
344
- this.emit("logs", logs, signature, slot);
345
- }
346
-
347
- private async maybeReconnect(): Promise<void> {
348
- if (this._stopped || !this.config.autoReconnect) return;
349
-
350
- const max = this.config.maxReconnectAttempts;
351
- if (max > 0 && this.reconnectAttempts >= max) {
352
- this.emit(
353
- "error",
354
- new Error(`Max reconnect attempts (${max}) exceeded`),
355
- );
356
- return;
357
- }
358
-
359
- this.reconnectAttempts++;
360
- this.emit("reconnecting", this.reconnectAttempts);
361
-
362
- await new Promise((r) => setTimeout(r, this.config.reconnectDelayMs));
363
-
364
- if (!this._stopped) {
365
- await this.subscribe();
366
- }
367
- }
368
- }
369
-
370
- // ─── Internal Yellowstone message types ─────────────
371
-
372
- interface GeyserUpdateMessage {
373
- ping?: { id: number };
374
- transaction?: {
375
- slot?: string | number;
376
- transaction?: {
377
- signature?: Uint8Array;
378
- transaction?: unknown;
379
- meta?: {
380
- logMessages?: string[];
381
- };
382
- };
383
- };
384
- }
@@ -1,335 +0,0 @@
1
- /**
2
- * @module events
3
- * @description Decode SAP v2 events from transaction logs.
4
- *
5
- * Uses Anchor's event parser under the hood. Provides a
6
- * strongly-typed, filterable event stream.
7
- *
8
- * @category Events
9
- * @since v0.1.0
10
- *
11
- * @example
12
- * ```ts
13
- * import { EventParser } from "@synapse-sap/sdk/events";
14
- *
15
- * const events = client.events.parseLogs(txLogs);
16
- * for (const event of events) {
17
- * if (event.name === "PaymentSettledEvent") {
18
- * console.log(event.data);
19
- * }
20
- * }
21
- * ```
22
- */
23
-
24
- import { type Program, BN, EventParser as AnchorEventParser } from "@coral-xyz/anchor";
25
- import type { PublicKey } from "@solana/web3.js";
26
-
27
- // ═══════════════════════════════════════════════════════════════════
28
- // Event Data Types
29
- // ═══════════════════════════════════════════════════════════════════
30
-
31
- /**
32
- * Decoded payload for the `RegisteredEvent` emitted when a new agent is registered.
33
- *
34
- * @interface RegisteredEventData
35
- * @name RegisteredEventData
36
- * @description Contains the agent PDA, owner wallet, display name, capabilities list, and timestamp.
37
- * @category Events
38
- * @since v0.1.0
39
- * @see {@link SapEvent}
40
- */
41
- export interface RegisteredEventData {
42
- readonly name: "RegisteredEvent";
43
- readonly data: {
44
- agent: PublicKey;
45
- wallet: PublicKey;
46
- name: string;
47
- capabilities: string[];
48
- timestamp: BN;
49
- };
50
- }
51
-
52
- /**
53
- * Decoded payload for the `UpdatedEvent` emitted when an agent’s profile is modified.
54
- *
55
- * @interface UpdatedEventData
56
- * @name UpdatedEventData
57
- * @description Contains the agent PDA, owner wallet, a list of changed field names, and timestamp.
58
- * @category Events
59
- * @since v0.1.0
60
- * @see {@link SapEvent}
61
- */
62
- export interface UpdatedEventData {
63
- readonly name: "UpdatedEvent";
64
- readonly data: {
65
- agent: PublicKey;
66
- wallet: PublicKey;
67
- updatedFields: string[];
68
- timestamp: BN;
69
- };
70
- }
71
-
72
- /**
73
- * Decoded payload for the `FeedbackEvent` emitted when a reviewer submits feedback.
74
- *
75
- * @interface FeedbackEventData
76
- * @name FeedbackEventData
77
- * @description Contains the agent PDA, reviewer wallet, numeric score, tag, and timestamp.
78
- * @category Events
79
- * @since v0.1.0
80
- * @see {@link SapEvent}
81
- */
82
- export interface FeedbackEventData {
83
- readonly name: "FeedbackEvent";
84
- readonly data: {
85
- agent: PublicKey;
86
- reviewer: PublicKey;
87
- score: number;
88
- tag: string;
89
- timestamp: BN;
90
- };
91
- }
92
-
93
- /**
94
- * Decoded payload for the `MemoryInscribedEvent` emitted when data is written to a vault.
95
- *
96
- * @interface MemoryInscribedEventData
97
- * @name MemoryInscribedEventData
98
- * @description Contains vault/session PDAs, sequence info, encrypted data, nonce, content hash,
99
- * fragment metadata, compression flag, and timestamp.
100
- * @category Events
101
- * @since v0.1.0
102
- * @see {@link SapEvent}
103
- */
104
- export interface MemoryInscribedEventData {
105
- readonly name: "MemoryInscribedEvent";
106
- readonly data: {
107
- vault: PublicKey;
108
- session: PublicKey;
109
- sequence: number;
110
- epochIndex: number;
111
- encryptedData: number[];
112
- nonce: number[];
113
- contentHash: number[];
114
- totalFragments: number;
115
- fragmentIndex: number;
116
- compression: number;
117
- dataLen: number;
118
- nonceVersion: number;
119
- timestamp: BN;
120
- };
121
- }
122
-
123
- /**
124
- * Decoded payload for the `PaymentSettledEvent` emitted when an escrow settlement occurs.
125
- *
126
- * @interface PaymentSettledEventData
127
- * @name PaymentSettledEventData
128
- * @description Contains escrow/agent/depositor PDAs, settlement counts, amounts, service hash,
129
- * and remaining balance.
130
- * @category Events
131
- * @since v0.1.0
132
- * @see {@link SapEvent}
133
- */
134
- export interface PaymentSettledEventData {
135
- readonly name: "PaymentSettledEvent";
136
- readonly data: {
137
- escrow: PublicKey;
138
- agent: PublicKey;
139
- depositor: PublicKey;
140
- callsSettled: BN;
141
- amount: BN;
142
- serviceHash: number[];
143
- totalCallsSettled: BN;
144
- remainingBalance: BN;
145
- timestamp: BN;
146
- };
147
- }
148
-
149
- /**
150
- * Decoded payload for the `LedgerEntryEvent` emitted when data is appended to a ledger.
151
- *
152
- * @interface LedgerEntryEventData
153
- * @name LedgerEntryEventData
154
- * @description Contains session/ledger PDAs, entry index, raw data, content hash,
155
- * Merkle root, and timestamp.
156
- * @category Events
157
- * @since v0.1.0
158
- * @see {@link SapEvent}
159
- */
160
- export interface LedgerEntryEventData {
161
- readonly name: "LedgerEntryEvent";
162
- readonly data: {
163
- session: PublicKey;
164
- ledger: PublicKey;
165
- entryIndex: number;
166
- data: number[];
167
- contentHash: number[];
168
- dataLen: number;
169
- merkleRoot: number[];
170
- timestamp: BN;
171
- };
172
- }
173
-
174
- /**
175
- * Discriminated union of all known SAP v2 event types.
176
- *
177
- * @name SapEvent
178
- * @description Use the `name` discriminant to narrow to a specific event payload.
179
- * @category Events
180
- * @since v0.1.0
181
- */
182
- export type SapEvent =
183
- | RegisteredEventData
184
- | UpdatedEventData
185
- | FeedbackEventData
186
- | MemoryInscribedEventData
187
- | PaymentSettledEventData
188
- | LedgerEntryEventData;
189
-
190
- // ═══════════════════════════════════════════════════════════════════
191
- // Event Name Literals
192
- // ═══════════════════════════════════════════════════════════════════
193
-
194
- /**
195
- * Exhaustive list of all SAP v2 event name strings.
196
- *
197
- * @name SAP_EVENT_NAMES
198
- * @description Frozen array of every event discriminant emitted by the program.
199
- * Useful for log filtering and exhaustive switch checks.
200
- * @category Events
201
- * @since v0.1.0
202
- * @see {@link SapEventName}
203
- */
204
- export const SAP_EVENT_NAMES = [
205
- "RegisteredEvent",
206
- "UpdatedEvent",
207
- "DeactivatedEvent",
208
- "ReactivatedEvent",
209
- "ClosedEvent",
210
- "FeedbackEvent",
211
- "FeedbackUpdatedEvent",
212
- "FeedbackRevokedEvent",
213
- "ReputationUpdatedEvent",
214
- "CallsReportedEvent",
215
- "VaultInitializedEvent",
216
- "SessionOpenedEvent",
217
- "MemoryInscribedEvent",
218
- "EpochOpenedEvent",
219
- "SessionClosedEvent",
220
- "VaultClosedEvent",
221
- "SessionPdaClosedEvent",
222
- "EpochPageClosedEvent",
223
- "VaultNonceRotatedEvent",
224
- "DelegateAddedEvent",
225
- "DelegateRevokedEvent",
226
- "ToolPublishedEvent",
227
- "ToolSchemaInscribedEvent",
228
- "ToolUpdatedEvent",
229
- "ToolDeactivatedEvent",
230
- "ToolReactivatedEvent",
231
- "ToolClosedEvent",
232
- "ToolInvocationReportedEvent",
233
- "CheckpointCreatedEvent",
234
- "EscrowCreatedEvent",
235
- "EscrowDepositedEvent",
236
- "PaymentSettledEvent",
237
- "EscrowWithdrawnEvent",
238
- "BatchSettledEvent",
239
- "AttestationCreatedEvent",
240
- "AttestationRevokedEvent",
241
- "LedgerEntryEvent",
242
- "LedgerSealedEvent",
243
- ] as const;
244
-
245
- /**
246
- * String literal union of all SAP v2 event names.
247
- *
248
- * @name SapEventName
249
- * @description Derived from {@link SAP_EVENT_NAMES} for compile-time exhaustiveness.
250
- * @category Events
251
- * @since v0.1.0
252
- */
253
- export type SapEventName = (typeof SAP_EVENT_NAMES)[number];
254
-
255
- // ═══════════════════════════════════════════════════════════════════
256
- // Event Parser
257
- // ═══════════════════════════════════════════════════════════════════
258
-
259
- /**
260
- * A single parsed event extracted from transaction logs.
261
- *
262
- * @interface ParsedEvent
263
- * @name ParsedEvent
264
- * @description Lightweight container with a `name` discriminant and untyped `data` record.
265
- * Narrow via {@link SapEventName} for type-safe access.
266
- * @category Events
267
- * @since v0.1.0
268
- */
269
- export interface ParsedEvent {
270
- readonly name: string;
271
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
272
- readonly data: Record<string, any>;
273
- }
274
-
275
- /**
276
- * Typed wrapper around Anchor’s `EventParser` for SAP v2 programs.
277
- *
278
- * Extracts strongly-typed {@link ParsedEvent} objects from raw
279
- * transaction log lines.
280
- *
281
- * @name EventParser
282
- * @description Instantiate with an Anchor `Program` and call {@link EventParser.parseLogs}
283
- * to decode events, or {@link EventParser.filterByName} to narrow results.
284
- * @category Events
285
- * @since v0.1.0
286
- *
287
- * @example
288
- * ```ts
289
- * const parser = new EventParser(program);
290
- * const events = parser.parseLogs(txLogs);
291
- * const settled = parser.filterByName(events, "PaymentSettledEvent");
292
- * ```
293
- */
294
- export class EventParser {
295
- private readonly parser: AnchorEventParser;
296
-
297
- /**
298
- * Create a new `EventParser`.
299
- *
300
- * @param program - An Anchor `Program` instance whose IDL defines the events to decode.
301
- */
302
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
303
- constructor(program: Program<any>) {
304
- this.parser = new AnchorEventParser(program.programId, program.coder);
305
- }
306
-
307
- /**
308
- * Parse raw transaction log lines into typed events.
309
- *
310
- * @param logs - Array of log strings from a confirmed transaction.
311
- * @returns {ParsedEvent[]} Decoded events found in the logs.
312
- */
313
- parseLogs(logs: string[]): ParsedEvent[] {
314
- const events: ParsedEvent[] = [];
315
- const generator = this.parser.parseLogs(logs);
316
- for (const event of generator) {
317
- events.push(event as ParsedEvent);
318
- }
319
- return events;
320
- }
321
-
322
- /**
323
- * Filter a list of parsed events by event name.
324
- *
325
- * @param events - The full array of {@link ParsedEvent} objects to filter.
326
- * @param name - The {@link SapEventName} to match against.
327
- * @returns {ParsedEvent[]} Only events whose `name` matches.
328
- */
329
- filterByName<N extends SapEventName>(
330
- events: ParsedEvent[],
331
- name: N,
332
- ): ParsedEvent[] {
333
- return events.filter((e) => e.name === name);
334
- }
335
- }