@oobe-protocol-labs/synapse-sap-sdk 0.12.9 → 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 (640) 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 -75
  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 -29
  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 -128
  190. package/dist/cjs/modules/base.js.map +0 -1
  191. package/dist/cjs/modules/escrow-v2.js +0 -454
  192. package/dist/cjs/modules/escrow-v2.js.map +0 -1
  193. package/dist/cjs/modules/escrow.js +0 -300
  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 -124
  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 -319
  210. package/dist/cjs/modules/tools.js.map +0 -1
  211. package/dist/cjs/modules/vault.js +0 -410
  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/endpoint-validator.js +0 -232
  272. package/dist/cjs/utils/endpoint-validator.js.map +0 -1
  273. package/dist/cjs/utils/escrow-validation.js +0 -219
  274. package/dist/cjs/utils/escrow-validation.js.map +0 -1
  275. package/dist/cjs/utils/hash.js +0 -109
  276. package/dist/cjs/utils/hash.js.map +0 -1
  277. package/dist/cjs/utils/merchant-validator.js +0 -246
  278. package/dist/cjs/utils/merchant-validator.js.map +0 -1
  279. package/dist/cjs/utils/network-normalizer.js +0 -236
  280. package/dist/cjs/utils/network-normalizer.js.map +0 -1
  281. package/dist/cjs/utils/priority-fee.js +0 -215
  282. package/dist/cjs/utils/priority-fee.js.map +0 -1
  283. package/dist/cjs/utils/rpc-strategy.js +0 -239
  284. package/dist/cjs/utils/rpc-strategy.js.map +0 -1
  285. package/dist/cjs/utils/schemas.js +0 -331
  286. package/dist/cjs/utils/schemas.js.map +0 -1
  287. package/dist/cjs/utils/serialization.js +0 -105
  288. package/dist/cjs/utils/serialization.js.map +0 -1
  289. package/dist/cjs/utils/validation.js +0 -36
  290. package/dist/cjs/utils/validation.js.map +0 -1
  291. package/dist/cjs/utils/x402-direct.js +0 -231
  292. package/dist/cjs/utils/x402-direct.js.map +0 -1
  293. package/dist/esm/constants/addresses.js +0 -140
  294. package/dist/esm/constants/addresses.js.map +0 -1
  295. package/dist/esm/constants/index.js +0 -35
  296. package/dist/esm/constants/index.js.map +0 -1
  297. package/dist/esm/constants/limits.js +0 -158
  298. package/dist/esm/constants/limits.js.map +0 -1
  299. package/dist/esm/constants/network.js +0 -78
  300. package/dist/esm/constants/network.js.map +0 -1
  301. package/dist/esm/constants/payments.js +0 -131
  302. package/dist/esm/constants/payments.js.map +0 -1
  303. package/dist/esm/constants/programs.js +0 -75
  304. package/dist/esm/constants/programs.js.map +0 -1
  305. package/dist/esm/constants/seeds.js +0 -73
  306. package/dist/esm/constants/seeds.js.map +0 -1
  307. package/dist/esm/core/client.js +0 -539
  308. package/dist/esm/core/client.js.map +0 -1
  309. package/dist/esm/core/connection.js +0 -345
  310. package/dist/esm/core/connection.js.map +0 -1
  311. package/dist/esm/core/index.js +0 -19
  312. package/dist/esm/core/index.js.map +0 -1
  313. package/dist/esm/errors/index.js +0 -325
  314. package/dist/esm/errors/index.js.map +0 -1
  315. package/dist/esm/events/geyser.js +0 -258
  316. package/dist/esm/events/geyser.js.map +0 -1
  317. package/dist/esm/idl/index.js +0 -57
  318. package/dist/esm/idl/index.js.map +0 -1
  319. package/dist/esm/idl/synapse_agent_sap.json +0 -14595
  320. package/dist/esm/modules/agent.js +0 -268
  321. package/dist/esm/modules/agent.js.map +0 -1
  322. package/dist/esm/modules/attestation.js +0 -143
  323. package/dist/esm/modules/attestation.js.map +0 -1
  324. package/dist/esm/modules/base.js +0 -124
  325. package/dist/esm/modules/base.js.map +0 -1
  326. package/dist/esm/modules/escrow-v2.js +0 -450
  327. package/dist/esm/modules/escrow-v2.js.map +0 -1
  328. package/dist/esm/modules/escrow.js +0 -296
  329. package/dist/esm/modules/escrow.js.map +0 -1
  330. package/dist/esm/modules/feedback.js +0 -162
  331. package/dist/esm/modules/feedback.js.map +0 -1
  332. package/dist/esm/modules/index.js +0 -27
  333. package/dist/esm/modules/index.js.map +0 -1
  334. package/dist/esm/modules/indexing.js +0 -371
  335. package/dist/esm/modules/indexing.js.map +0 -1
  336. package/dist/esm/modules/ledger.js +0 -230
  337. package/dist/esm/modules/ledger.js.map +0 -1
  338. package/dist/esm/modules/receipt.js +0 -144
  339. package/dist/esm/modules/receipt.js.map +0 -1
  340. package/dist/esm/modules/staking.js +0 -120
  341. package/dist/esm/modules/staking.js.map +0 -1
  342. package/dist/esm/modules/subscription.js +0 -92
  343. package/dist/esm/modules/subscription.js.map +0 -1
  344. package/dist/esm/modules/tools.js +0 -315
  345. package/dist/esm/modules/tools.js.map +0 -1
  346. package/dist/esm/modules/vault.js +0 -406
  347. package/dist/esm/modules/vault.js.map +0 -1
  348. package/dist/esm/parser/client.js +0 -142
  349. package/dist/esm/parser/client.js.map +0 -1
  350. package/dist/esm/parser/complete.js +0 -173
  351. package/dist/esm/parser/complete.js.map +0 -1
  352. package/dist/esm/parser/index.js +0 -43
  353. package/dist/esm/parser/index.js.map +0 -1
  354. package/dist/esm/parser/inner.js +0 -180
  355. package/dist/esm/parser/inner.js.map +0 -1
  356. package/dist/esm/parser/instructions.js +0 -109
  357. package/dist/esm/parser/instructions.js.map +0 -1
  358. package/dist/esm/parser/transaction.js +0 -149
  359. package/dist/esm/parser/transaction.js.map +0 -1
  360. package/dist/esm/parser/types.js +0 -13
  361. package/dist/esm/parser/types.js.map +0 -1
  362. package/dist/esm/pda/index.js +0 -638
  363. package/dist/esm/pda/index.js.map +0 -1
  364. package/dist/esm/plugin/index.js +0 -945
  365. package/dist/esm/plugin/index.js.map +0 -1
  366. package/dist/esm/plugin/protocols.js +0 -279
  367. package/dist/esm/plugin/protocols.js.map +0 -1
  368. package/dist/esm/plugin/schemas.js +0 -860
  369. package/dist/esm/plugin/schemas.js.map +0 -1
  370. package/dist/esm/postgres/adapter.js +0 -678
  371. package/dist/esm/postgres/adapter.js.map +0 -1
  372. package/dist/esm/postgres/index.js +0 -27
  373. package/dist/esm/postgres/index.js.map +0 -1
  374. package/dist/esm/postgres/serializers.js +0 -362
  375. package/dist/esm/postgres/serializers.js.map +0 -1
  376. package/dist/esm/postgres/sync.js +0 -285
  377. package/dist/esm/postgres/sync.js.map +0 -1
  378. package/dist/esm/postgres/types.js +0 -41
  379. package/dist/esm/postgres/types.js.map +0 -1
  380. package/dist/esm/registries/builder.js +0 -410
  381. package/dist/esm/registries/builder.js.map +0 -1
  382. package/dist/esm/registries/discovery.js +0 -358
  383. package/dist/esm/registries/discovery.js.map +0 -1
  384. package/dist/esm/registries/fairscale.js +0 -633
  385. package/dist/esm/registries/fairscale.js.map +0 -1
  386. package/dist/esm/registries/index.js +0 -46
  387. package/dist/esm/registries/index.js.map +0 -1
  388. package/dist/esm/registries/metaplex-bridge.js +0 -706
  389. package/dist/esm/registries/metaplex-bridge.js.map +0 -1
  390. package/dist/esm/registries/session.js +0 -429
  391. package/dist/esm/registries/session.js.map +0 -1
  392. package/dist/esm/registries/x402.js +0 -664
  393. package/dist/esm/registries/x402.js.map +0 -1
  394. package/dist/esm/types/accounts.js +0 -12
  395. package/dist/esm/types/accounts.js.map +0 -1
  396. package/dist/esm/types/common.js +0 -12
  397. package/dist/esm/types/common.js.map +0 -1
  398. package/dist/esm/types/endpoint.js +0 -14
  399. package/dist/esm/types/endpoint.js.map +0 -1
  400. package/dist/esm/types/enums.js +0 -266
  401. package/dist/esm/types/enums.js.map +0 -1
  402. package/dist/esm/types/index.js +0 -25
  403. package/dist/esm/types/index.js.map +0 -1
  404. package/dist/esm/types/instructions.js +0 -89
  405. package/dist/esm/types/instructions.js.map +0 -1
  406. package/dist/esm/utils/endpoint-validator.js +0 -226
  407. package/dist/esm/utils/endpoint-validator.js.map +0 -1
  408. package/dist/esm/utils/escrow-validation.js +0 -212
  409. package/dist/esm/utils/escrow-validation.js.map +0 -1
  410. package/dist/esm/utils/hash.js +0 -103
  411. package/dist/esm/utils/hash.js.map +0 -1
  412. package/dist/esm/utils/merchant-validator.js +0 -241
  413. package/dist/esm/utils/merchant-validator.js.map +0 -1
  414. package/dist/esm/utils/network-normalizer.js +0 -229
  415. package/dist/esm/utils/network-normalizer.js.map +0 -1
  416. package/dist/esm/utils/priority-fee.js +0 -209
  417. package/dist/esm/utils/priority-fee.js.map +0 -1
  418. package/dist/esm/utils/rpc-strategy.js +0 -231
  419. package/dist/esm/utils/rpc-strategy.js.map +0 -1
  420. package/dist/esm/utils/schemas.js +0 -320
  421. package/dist/esm/utils/schemas.js.map +0 -1
  422. package/dist/esm/utils/serialization.js +0 -98
  423. package/dist/esm/utils/serialization.js.map +0 -1
  424. package/dist/esm/utils/validation.js +0 -33
  425. package/dist/esm/utils/validation.js.map +0 -1
  426. package/dist/esm/utils/x402-direct.js +0 -228
  427. package/dist/esm/utils/x402-direct.js.map +0 -1
  428. package/dist/types/constants/addresses.d.ts +0 -117
  429. package/dist/types/constants/addresses.d.ts.map +0 -1
  430. package/dist/types/constants/index.d.ts +0 -31
  431. package/dist/types/constants/index.d.ts.map +0 -1
  432. package/dist/types/constants/limits.d.ts +0 -149
  433. package/dist/types/constants/limits.d.ts.map +0 -1
  434. package/dist/types/constants/network.d.ts +0 -81
  435. package/dist/types/constants/network.d.ts.map +0 -1
  436. package/dist/types/constants/payments.d.ts +0 -121
  437. package/dist/types/constants/payments.d.ts.map +0 -1
  438. package/dist/types/constants/programs.d.ts +0 -69
  439. package/dist/types/constants/programs.d.ts.map +0 -1
  440. package/dist/types/constants/seeds.d.ts +0 -80
  441. package/dist/types/constants/seeds.d.ts.map +0 -1
  442. package/dist/types/core/client.d.ts +0 -452
  443. package/dist/types/core/client.d.ts.map +0 -1
  444. package/dist/types/core/connection.d.ts +0 -305
  445. package/dist/types/core/connection.d.ts.map +0 -1
  446. package/dist/types/core/index.d.ts +0 -20
  447. package/dist/types/core/index.d.ts.map +0 -1
  448. package/dist/types/errors/index.d.ts +0 -276
  449. package/dist/types/errors/index.d.ts.map +0 -1
  450. package/dist/types/events/geyser.d.ts +0 -150
  451. package/dist/types/events/geyser.d.ts.map +0 -1
  452. package/dist/types/events/index.d.ts +0 -248
  453. package/dist/types/events/index.d.ts.map +0 -1
  454. package/dist/types/idl/index.d.ts +0 -70
  455. package/dist/types/idl/index.d.ts.map +0 -1
  456. package/dist/types/index.d.ts +0 -85
  457. package/dist/types/index.d.ts.map +0 -1
  458. package/dist/types/modules/agent.d.ts +0 -166
  459. package/dist/types/modules/agent.d.ts.map +0 -1
  460. package/dist/types/modules/attestation.d.ts +0 -96
  461. package/dist/types/modules/attestation.d.ts.map +0 -1
  462. package/dist/types/modules/base.d.ts +0 -126
  463. package/dist/types/modules/base.d.ts.map +0 -1
  464. package/dist/types/modules/escrow-v2.d.ts +0 -100
  465. package/dist/types/modules/escrow-v2.d.ts.map +0 -1
  466. package/dist/types/modules/escrow.d.ts +0 -168
  467. package/dist/types/modules/escrow.d.ts.map +0 -1
  468. package/dist/types/modules/feedback.d.ts +0 -105
  469. package/dist/types/modules/feedback.d.ts.map +0 -1
  470. package/dist/types/modules/index.d.ts +0 -28
  471. package/dist/types/modules/index.d.ts.map +0 -1
  472. package/dist/types/modules/indexing.d.ts +0 -200
  473. package/dist/types/modules/indexing.d.ts.map +0 -1
  474. package/dist/types/modules/ledger.d.ts +0 -150
  475. package/dist/types/modules/ledger.d.ts.map +0 -1
  476. package/dist/types/modules/receipt.d.ts +0 -77
  477. package/dist/types/modules/receipt.d.ts.map +0 -1
  478. package/dist/types/modules/staking.d.ts +0 -51
  479. package/dist/types/modules/staking.d.ts.map +0 -1
  480. package/dist/types/modules/subscription.d.ts +0 -33
  481. package/dist/types/modules/subscription.d.ts.map +0 -1
  482. package/dist/types/modules/tools.d.ts +0 -182
  483. package/dist/types/modules/tools.d.ts.map +0 -1
  484. package/dist/types/modules/vault.d.ts +0 -240
  485. package/dist/types/modules/vault.d.ts.map +0 -1
  486. package/dist/types/parser/client.d.ts +0 -123
  487. package/dist/types/parser/client.d.ts.map +0 -1
  488. package/dist/types/parser/complete.d.ts +0 -90
  489. package/dist/types/parser/complete.d.ts.map +0 -1
  490. package/dist/types/parser/index.d.ts +0 -40
  491. package/dist/types/parser/index.d.ts.map +0 -1
  492. package/dist/types/parser/inner.d.ts +0 -114
  493. package/dist/types/parser/inner.d.ts.map +0 -1
  494. package/dist/types/parser/instructions.d.ts +0 -76
  495. package/dist/types/parser/instructions.d.ts.map +0 -1
  496. package/dist/types/parser/transaction.d.ts +0 -77
  497. package/dist/types/parser/transaction.d.ts.map +0 -1
  498. package/dist/types/parser/types.d.ts +0 -154
  499. package/dist/types/parser/types.d.ts.map +0 -1
  500. package/dist/types/pda/index.d.ts +0 -510
  501. package/dist/types/pda/index.d.ts.map +0 -1
  502. package/dist/types/plugin/index.d.ts +0 -171
  503. package/dist/types/plugin/index.d.ts.map +0 -1
  504. package/dist/types/plugin/protocols.d.ts +0 -152
  505. package/dist/types/plugin/protocols.d.ts.map +0 -1
  506. package/dist/types/plugin/schemas.d.ts +0 -829
  507. package/dist/types/plugin/schemas.d.ts.map +0 -1
  508. package/dist/types/postgres/adapter.d.ts +0 -355
  509. package/dist/types/postgres/adapter.d.ts.map +0 -1
  510. package/dist/types/postgres/index.d.ts +0 -24
  511. package/dist/types/postgres/index.d.ts.map +0 -1
  512. package/dist/types/postgres/serializers.d.ts +0 -30
  513. package/dist/types/postgres/serializers.d.ts.map +0 -1
  514. package/dist/types/postgres/sync.d.ts +0 -156
  515. package/dist/types/postgres/sync.d.ts.map +0 -1
  516. package/dist/types/postgres/types.d.ts +0 -167
  517. package/dist/types/postgres/types.d.ts.map +0 -1
  518. package/dist/types/registries/builder.d.ts +0 -340
  519. package/dist/types/registries/builder.d.ts.map +0 -1
  520. package/dist/types/registries/discovery.d.ts +0 -333
  521. package/dist/types/registries/discovery.d.ts.map +0 -1
  522. package/dist/types/registries/fairscale.d.ts +0 -680
  523. package/dist/types/registries/fairscale.d.ts.map +0 -1
  524. package/dist/types/registries/index.d.ts +0 -52
  525. package/dist/types/registries/index.d.ts.map +0 -1
  526. package/dist/types/registries/metaplex-bridge.d.ts +0 -488
  527. package/dist/types/registries/metaplex-bridge.d.ts.map +0 -1
  528. package/dist/types/registries/session.d.ts +0 -323
  529. package/dist/types/registries/session.d.ts.map +0 -1
  530. package/dist/types/registries/x402.d.ts +0 -530
  531. package/dist/types/registries/x402.d.ts.map +0 -1
  532. package/dist/types/types/accounts.d.ts +0 -765
  533. package/dist/types/types/accounts.d.ts.map +0 -1
  534. package/dist/types/types/common.d.ts +0 -166
  535. package/dist/types/types/common.d.ts.map +0 -1
  536. package/dist/types/types/endpoint.d.ts +0 -161
  537. package/dist/types/types/endpoint.d.ts.map +0 -1
  538. package/dist/types/types/enums.d.ts +0 -353
  539. package/dist/types/types/enums.d.ts.map +0 -1
  540. package/dist/types/types/index.d.ts +0 -29
  541. package/dist/types/types/index.d.ts.map +0 -1
  542. package/dist/types/types/instructions.d.ts +0 -400
  543. package/dist/types/types/instructions.d.ts.map +0 -1
  544. package/dist/types/utils/endpoint-validator.d.ts +0 -110
  545. package/dist/types/utils/endpoint-validator.d.ts.map +0 -1
  546. package/dist/types/utils/escrow-validation.d.ts +0 -145
  547. package/dist/types/utils/escrow-validation.d.ts.map +0 -1
  548. package/dist/types/utils/hash.d.ts +0 -75
  549. package/dist/types/utils/hash.d.ts.map +0 -1
  550. package/dist/types/utils/index.d.ts +0 -33
  551. package/dist/types/utils/index.d.ts.map +0 -1
  552. package/dist/types/utils/merchant-validator.d.ts +0 -176
  553. package/dist/types/utils/merchant-validator.d.ts.map +0 -1
  554. package/dist/types/utils/network-normalizer.d.ts +0 -120
  555. package/dist/types/utils/network-normalizer.d.ts.map +0 -1
  556. package/dist/types/utils/priority-fee.d.ts +0 -205
  557. package/dist/types/utils/priority-fee.d.ts.map +0 -1
  558. package/dist/types/utils/rpc-strategy.d.ts +0 -172
  559. package/dist/types/utils/rpc-strategy.d.ts.map +0 -1
  560. package/dist/types/utils/schemas.d.ts +0 -351
  561. package/dist/types/utils/schemas.d.ts.map +0 -1
  562. package/dist/types/utils/serialization.d.ts +0 -69
  563. package/dist/types/utils/serialization.d.ts.map +0 -1
  564. package/dist/types/utils/validation.d.ts +0 -29
  565. package/dist/types/utils/validation.d.ts.map +0 -1
  566. package/dist/types/utils/x402-direct.d.ts +0 -114
  567. package/dist/types/utils/x402-direct.d.ts.map +0 -1
  568. package/src/constants/addresses.ts +0 -162
  569. package/src/constants/index.ts +0 -69
  570. package/src/constants/limits.ts +0 -165
  571. package/src/constants/network.ts +0 -89
  572. package/src/constants/payments.ts +0 -145
  573. package/src/constants/programs.ts +0 -83
  574. package/src/constants/seeds.ts +0 -85
  575. package/src/core/client.ts +0 -583
  576. package/src/core/connection.ts +0 -461
  577. package/src/core/index.ts +0 -20
  578. package/src/errors/index.ts +0 -346
  579. package/src/events/geyser.ts +0 -384
  580. package/src/events/index.ts +0 -335
  581. package/src/events/yellowstone.d.ts +0 -7
  582. package/src/idl/index.ts +0 -76
  583. package/src/idl/synapse_agent_sap.json +0 -14595
  584. package/src/index.ts +0 -421
  585. package/src/modules/agent.ts +0 -319
  586. package/src/modules/attestation.ts +0 -168
  587. package/src/modules/base.ts +0 -158
  588. package/src/modules/escrow-v2.ts +0 -658
  589. package/src/modules/escrow.ts +0 -383
  590. package/src/modules/feedback.ts +0 -186
  591. package/src/modules/index.ts +0 -28
  592. package/src/modules/indexing.ts +0 -444
  593. package/src/modules/ledger.ts +0 -262
  594. package/src/modules/receipt.ts +0 -212
  595. package/src/modules/staking.ts +0 -157
  596. package/src/modules/subscription.ts +0 -147
  597. package/src/modules/tools.ts +0 -411
  598. package/src/modules/vault.ts +0 -533
  599. package/src/parser/client.ts +0 -211
  600. package/src/parser/complete.ts +0 -232
  601. package/src/parser/index.ts +0 -71
  602. package/src/parser/inner.ts +0 -255
  603. package/src/parser/instructions.ts +0 -135
  604. package/src/parser/transaction.ts +0 -200
  605. package/src/parser/types.ts +0 -182
  606. package/src/pda/index.ts +0 -919
  607. package/src/plugin/index.ts +0 -1224
  608. package/src/plugin/protocols.ts +0 -404
  609. package/src/plugin/schemas.ts +0 -941
  610. package/src/postgres/adapter.ts +0 -904
  611. package/src/postgres/index.ts +0 -59
  612. package/src/postgres/schema.sql +0 -683
  613. package/src/postgres/serializers.ts +0 -485
  614. package/src/postgres/sync.ts +0 -340
  615. package/src/postgres/types.ts +0 -245
  616. package/src/registries/builder.ts +0 -607
  617. package/src/registries/discovery.ts +0 -572
  618. package/src/registries/fairscale.ts +0 -1278
  619. package/src/registries/index.ts +0 -143
  620. package/src/registries/metaplex-bridge.ts +0 -1199
  621. package/src/registries/session.ts +0 -613
  622. package/src/registries/x402.ts +0 -1048
  623. package/src/types/accounts.ts +0 -858
  624. package/src/types/common.ts +0 -187
  625. package/src/types/endpoint.ts +0 -181
  626. package/src/types/enums.ts +0 -333
  627. package/src/types/index.ts +0 -121
  628. package/src/types/instructions.ts +0 -453
  629. package/src/utils/endpoint-validator.ts +0 -300
  630. package/src/utils/escrow-validation.ts +0 -301
  631. package/src/utils/hash.ts +0 -113
  632. package/src/utils/index.ts +0 -102
  633. package/src/utils/merchant-validator.ts +0 -359
  634. package/src/utils/network-normalizer.ts +0 -240
  635. package/src/utils/priority-fee.ts +0 -325
  636. package/src/utils/rpc-strategy.ts +0 -322
  637. package/src/utils/schemas.ts +0 -359
  638. package/src/utils/serialization.ts +0 -98
  639. package/src/utils/validation.ts +0 -36
  640. 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
- }