@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,439 +0,0 @@
1
- /**
2
- * @module escrow
3
- * @description x402 escrow settlement layer — create, deposit,
4
- * settle, withdraw, batch settle, and close escrow accounts.
5
- *
6
- * Supports both SOL and SPL token escrows. SPL operations require
7
- * passing additional `AccountMeta[]` via the `splAccounts` parameter.
8
- *
9
- * @category Modules
10
- * @since v0.1.0
11
- * @packageDocumentation
12
- */
13
-
14
- import {
15
- SystemProgram,
16
- type PublicKey,
17
- type TransactionSignature,
18
- type AccountMeta,
19
- } from "@solana/web3.js";
20
- import { BN } from "@coral-xyz/anchor";
21
- import { BaseModule } from "./base";
22
- import {
23
- deriveAgent,
24
- deriveAgentStats,
25
- deriveEscrow,
26
- deriveStake,
27
- deriveSettlementReceipt,
28
- } from "../pda";
29
- import type {
30
- EscrowAccountData,
31
- CreateEscrowArgs,
32
- Settlement,
33
- } from "../types";
34
- import {
35
- buildPriorityFeeIxs,
36
- computeBatchSettleCu,
37
- buildRpcOptions,
38
- } from "../utils/priority-fee";
39
- import type { SettleOptions } from "../utils/priority-fee";
40
- import { computeBatchRoot, hashToArray } from "../utils/hash";
41
- import { isAcceptedPaymentToken } from "../constants/payments";
42
- import { throwPredicted } from "../utils/anchor-errors";
43
-
44
- /**
45
- * @name EscrowModule
46
- * @description Manages x402-compatible escrow accounts for agent micropayments.
47
- * Provides methods to create, fund, settle, withdraw, batch-settle, close,
48
- * and fetch escrow PDAs on the Synapse Agent Protocol.
49
- *
50
- * @category Modules
51
- * @since v0.1.0
52
- * @extends BaseModule
53
- *
54
- * @example
55
- * ```ts
56
- * const sap = new SapClient(provider);
57
- * // Create a SOL escrow for an agent
58
- * const sig = await sap.escrow.create(agentWallet, {
59
- * pricePerCall: new BN(1_000_000),
60
- * maxCalls: new BN(100),
61
- * initialDeposit: new BN(100_000_000),
62
- * expiresAt: null,
63
- * volumeCurve: null,
64
- * tokenMint: null,
65
- * tokenDecimals: null,
66
- * });
67
- * ```
68
- *
69
- * @deprecated Since v0.7.0 — Use {@link EscrowV2Module} (`client.escrowV2`) instead.
70
- * V1 escrows lack settlement security, dispute resolution, and staking integration.
71
- * Existing V1 escrows can be migrated via `client.escrowV2.migrateFromV1()`.
72
- */
73
- export class EscrowModule extends BaseModule {
74
- // ── PDA helpers ──────────────────────────────────────
75
-
76
- /**
77
- * @name deriveEscrow
78
- * @description Derive the `EscrowAccount` PDA for a given agent and depositor.
79
- * @param agentPda - The agent account PDA.
80
- * @param depositor - The depositor wallet. Defaults to the connected wallet.
81
- * @returns A tuple of `[PublicKey, bump]` for the escrow PDA.
82
- * @see {@link deriveEscrow} from `pda/` module for the underlying derivation.
83
- * @since v0.1.0
84
- */
85
- deriveEscrow(
86
- agentPda: PublicKey,
87
- depositor?: PublicKey,
88
- ): readonly [PublicKey, number] {
89
- return deriveEscrow(agentPda, depositor ?? this.walletPubkey);
90
- }
91
-
92
- // ── Instructions ─────────────────────────────────────
93
-
94
- /**
95
- * @name create
96
- * @description Create a new escrow for agent micropayments.
97
- *
98
- * For **SOL escrow**: pass `tokenMint: null` and leave `splAccounts` empty.
99
- * For **SPL escrow**: pass `tokenMint`, `tokenDecimals`, and provide
100
- * `splAccounts` with `[depositorAta, escrowAta, tokenMint, tokenProgram]`.
101
- *
102
- * @param agentWallet - The wallet of the agent to pay.
103
- * @param args - Escrow creation parameters (price, max calls, deposit, expiry, volume curve, token info).
104
- * @param splAccounts - Remaining accounts for SPL token transfers:
105
- * `[depositorAta, escrowAta, tokenMint, tokenProgram]`. Defaults to `[]`.
106
- * @returns {Promise<TransactionSignature>} The transaction signature.
107
- * @since v0.1.0
108
- */
109
- async create(
110
- agentWallet: PublicKey,
111
- args: CreateEscrowArgs,
112
- splAccounts: AccountMeta[] = [],
113
- ): Promise<TransactionSignature> {
114
- // v0.10.0 client-side guard — surface the on-chain rejection earlier.
115
- if (!isAcceptedPaymentToken(args.tokenMint ?? null)) {
116
- throw new Error(
117
- "createEscrow: tokenMint must be null (SOL) or USDC (mainnet/devnet). " +
118
- "On-chain will reject with PaymentTokenNotAllowed.",
119
- );
120
- }
121
-
122
- const [agentPda] = deriveAgent(agentWallet);
123
- const [escrowPda] = this.deriveEscrow(agentPda);
124
- const [stakePda] = deriveStake(agentPda);
125
-
126
- return this.methods
127
- .createEscrow(
128
- args.pricePerCall,
129
- args.maxCalls,
130
- args.initialDeposit,
131
- args.expiresAt,
132
- args.volumeCurve,
133
- args.tokenMint,
134
- args.tokenDecimals,
135
- )
136
- .accounts({
137
- depositor: this.walletPubkey,
138
- agent: agentPda,
139
- agentStake: stakePda,
140
- escrow: escrowPda,
141
- systemProgram: SystemProgram.programId,
142
- })
143
- .remainingAccounts(splAccounts)
144
- .rpc();
145
- }
146
-
147
- /**
148
- * @name deposit
149
- * @description Deposit additional funds into an existing escrow.
150
- * @param agentWallet - The wallet of the agent associated with the escrow.
151
- * @param amount - The amount to deposit (lamports for SOL, smallest unit for SPL).
152
- * @param splAccounts - Remaining accounts for SPL token transfers. Defaults to `[]`.
153
- * @returns {Promise<TransactionSignature>} The transaction signature.
154
- * @since v0.1.0
155
- */
156
- async deposit(
157
- agentWallet: PublicKey,
158
- amount: BN | number | bigint,
159
- splAccounts: AccountMeta[] = [],
160
- ): Promise<TransactionSignature> {
161
- const [agentPda] = deriveAgent(agentWallet);
162
- const [escrowPda] = this.deriveEscrow(agentPda);
163
-
164
- // v0.13.0 preflight — escrow must exist; SPL deposits must include the
165
- // 4 expected remaining accounts; SOL deposits must NOT include them.
166
- const escrow = await this.requireAccountExists<EscrowAccountData>(
167
- "escrowAccount",
168
- escrowPda,
169
- { predicted: "NotAuthority", hint: "Escrow PDA not found — call createEscrow first" },
170
- );
171
- const isSpl = escrow.tokenMint != null;
172
- if (isSpl && splAccounts.length < 4) {
173
- throwPredicted("SplTokenRequired", "Pass [depositorAta, escrowAta, tokenMint, tokenProgram] in splAccounts");
174
- }
175
- if (!isSpl && splAccounts.length > 0) {
176
- throwPredicted("InvalidTokenAccount", "SOL escrow does not accept splAccounts; pass an empty array");
177
- }
178
- if (BigInt(this.bn(amount).toString()) <= 0n) {
179
- throwPredicted("InsufficientEscrowBalance", "Deposit amount must be > 0");
180
- }
181
-
182
- return this.methods
183
- .depositEscrow(this.bn(amount))
184
- .accounts({
185
- depositor: this.walletPubkey,
186
- escrow: escrowPda,
187
- systemProgram: SystemProgram.programId,
188
- })
189
- .remainingAccounts(splAccounts)
190
- .rpc();
191
- }
192
-
193
- /**
194
- * @name settle
195
- * @description Agent settles calls — claims earned funds from the escrow.
196
- * Must be called by the agent owner wallet.
197
- * @param depositorWallet - The wallet of the client who funded the escrow.
198
- * @param callsToSettle - Number of calls to settle payment for.
199
- * @param serviceHash - A 32-byte SHA-256 hash identifying the service rendered.
200
- * @param splAccounts - Remaining accounts for SPL token transfers. Defaults to `[]`.
201
- * @param opts - Optional {@link SettleOptions} for priority fees and RPC tuning.
202
- * @returns {Promise<TransactionSignature>} The transaction signature.
203
- * @since v0.1.0
204
- * @updated v0.6.2 — Added optional `opts` parameter for priority fees.
205
- */
206
- async settle(
207
- depositorWallet: PublicKey,
208
- callsToSettle: BN | number | bigint,
209
- serviceHash: number[],
210
- splAccounts: AccountMeta[] = [],
211
- opts?: SettleOptions,
212
- ): Promise<TransactionSignature> {
213
- const [agentPda] = deriveAgent(this.walletPubkey);
214
- const [escrowPda] = deriveEscrow(agentPda, depositorWallet);
215
- const [statsPda] = deriveAgentStats(agentPda);
216
- const [receiptPda] = deriveSettlementReceipt(escrowPda, serviceHash);
217
-
218
- const preIxs = buildPriorityFeeIxs(opts);
219
- const rpcOpts = buildRpcOptions(opts);
220
-
221
- let builder = this.methods
222
- .settleCalls(this.bn(callsToSettle), serviceHash)
223
- .accounts({
224
- wallet: this.walletPubkey,
225
- agent: agentPda,
226
- agentStats: statsPda,
227
- escrow: escrowPda,
228
- settlementReceipt: receiptPda,
229
- systemProgram: SystemProgram.programId,
230
- })
231
- .remainingAccounts(splAccounts);
232
-
233
- if (preIxs.length > 0) {
234
- builder = builder.preInstructions(preIxs);
235
- }
236
-
237
- return builder.rpc(rpcOpts);
238
- }
239
-
240
- /**
241
- * @name withdraw
242
- * @description Client withdraws un-settled funds from their escrow.
243
- * @param agentWallet - The wallet of the agent associated with the escrow.
244
- * @param amount - The amount to withdraw (lamports for SOL, smallest unit for SPL).
245
- * @param splAccounts - Remaining accounts for SPL token transfers. Defaults to `[]`.
246
- * @returns {Promise<TransactionSignature>} The transaction signature.
247
- * @since v0.1.0
248
- */
249
- async withdraw(
250
- agentWallet: PublicKey,
251
- amount: BN | number | bigint,
252
- splAccounts: AccountMeta[] = [],
253
- ): Promise<TransactionSignature> {
254
- const [agentPda] = deriveAgent(agentWallet);
255
- const [escrowPda] = this.deriveEscrow(agentPda);
256
-
257
- // v0.13.0 preflight — verify balance covers amount, token program shape
258
- // matches, and depositor matches the on-chain depositor.
259
- const escrow = await this.requireAccountExists<EscrowAccountData>(
260
- "escrowAccount",
261
- escrowPda,
262
- { predicted: "NotAuthority", hint: "Escrow PDA not found" },
263
- );
264
- const wantBN = this.bn(amount);
265
- const want = BigInt(wantBN.toString());
266
- if (want <= 0n) throwPredicted("InsufficientEscrowBalance", "Withdraw amount must be > 0");
267
- if (want > BigInt(escrow.balance.toString())) {
268
- throwPredicted(
269
- "InsufficientEscrowBalance",
270
- `requested ${want}, escrow.balance ${escrow.balance.toString()}`,
271
- );
272
- }
273
- const isSpl = escrow.tokenMint != null;
274
- if (isSpl && splAccounts.length < 4) {
275
- throwPredicted("SplTokenRequired", "Pass [depositorAta, escrowAta, tokenMint, tokenProgram]");
276
- }
277
- if (!isSpl && splAccounts.length > 0) {
278
- throwPredicted("InvalidTokenAccount", "SOL escrow does not accept splAccounts");
279
- }
280
-
281
- return this.methods
282
- .withdrawEscrow(this.bn(amount))
283
- .accounts({
284
- depositor: this.walletPubkey,
285
- escrow: escrowPda,
286
- systemProgram: SystemProgram.programId,
287
- })
288
- .remainingAccounts(splAccounts)
289
- .rpc();
290
- }
291
-
292
- /**
293
- * @name close
294
- * @description Close an empty escrow PDA (balance must be 0) and reclaim rent.
295
- * @param agentWallet - The wallet of the agent associated with the escrow.
296
- * @returns {Promise<TransactionSignature>} The transaction signature.
297
- * @since v0.1.0
298
- */
299
- async close(agentWallet: PublicKey): Promise<TransactionSignature> {
300
- const [agentPda] = deriveAgent(agentWallet);
301
- const [escrowPda] = this.deriveEscrow(agentPda);
302
-
303
- // v0.13.0 preflight — close fails on-chain if balance != 0.
304
- const escrow = await this.requireAccountExists<EscrowAccountData>(
305
- "escrowAccount",
306
- escrowPda,
307
- { predicted: "NotAuthority", hint: "Escrow PDA already closed or never created" },
308
- );
309
- if (BigInt(escrow.balance.toString()) !== 0n) {
310
- throwPredicted(
311
- "EscrowNotEmpty",
312
- `balance ${escrow.balance.toString()} > 0 — withdraw remaining funds first`,
313
- );
314
- }
315
-
316
- return this.methods
317
- .closeEscrow()
318
- .accounts({
319
- depositor: this.walletPubkey,
320
- escrow: escrowPda,
321
- })
322
- .rpc();
323
- }
324
-
325
- /**
326
- * @name settleBatch
327
- * @description Batch settlement — process up to 10 settlements in a single
328
- * transaction. Must be called by the agent owner wallet.
329
- *
330
- * @param depositorWallet - The wallet of the client who funded the escrow.
331
- * @param settlements - Array of settlement entries (up to 10).
332
- * @param batchRoot - Optional pre-computed batch root
333
- * (`sha256(s_0 || s_1 || ... || s_{N-1})`). When omitted the SDK
334
- * computes it from `settlements[*].serviceHash`. **Required on-chain
335
- * since v0.10.0** to seed the anti-replay receipt PDA.
336
- * @param splAccounts - Remaining accounts for SPL token transfers. Defaults to `[]`.
337
- * @param opts - Optional {@link SettleOptions} for priority fees and RPC tuning.
338
- * @returns {Promise<TransactionSignature>} The transaction signature.
339
- *
340
- * @since v0.1.0
341
- * @updated v0.6.2 — Added optional `opts` parameter for priority fees.
342
- * @updated v0.10.0 — Added `batchRoot` argument and required
343
- * `settlementReceipt` PDA on-chain (anti-replay).
344
- */
345
- async settleBatch(
346
- depositorWallet: PublicKey,
347
- settlements: Settlement[],
348
- batchRoot?: Uint8Array | number[] | null,
349
- splAccounts: AccountMeta[] = [],
350
- opts?: SettleOptions,
351
- ): Promise<TransactionSignature> {
352
- const [agentPda] = deriveAgent(this.walletPubkey);
353
- const [escrowPda] = deriveEscrow(agentPda, depositorWallet);
354
- const [statsPda] = deriveAgentStats(agentPda);
355
-
356
- const rootBytes =
357
- batchRoot && batchRoot !== null
358
- ? batchRoot instanceof Uint8Array
359
- ? batchRoot
360
- : Uint8Array.from(batchRoot)
361
- : computeBatchRoot(settlements.map((s) => s.serviceHash));
362
- const rootArr = hashToArray(rootBytes);
363
- const [receiptPda] = deriveSettlementReceipt(escrowPda, rootBytes);
364
-
365
- // Auto-size CU to the batch length so callers don't have to think
366
- // about it. The default Solana cap (200k) overflows past ~8
367
- // settlements; we compute a tight ceiling and let the caller
368
- // override via `opts.computeUnits` if they want.
369
- // Setting the CU limit is FREE — it doesn't add lamports, only
370
- // caps the maximum the runtime is allowed to charge.
371
- const effectiveOpts: SettleOptions = {
372
- ...opts,
373
- computeUnits: opts?.computeUnits ?? computeBatchSettleCu(settlements.length),
374
- };
375
- const preIxs = buildPriorityFeeIxs(effectiveOpts);
376
- const rpcOpts = buildRpcOptions(effectiveOpts);
377
-
378
- let builder = this.methods
379
- .settleBatch(settlements, rootArr)
380
- .accountsPartial({
381
- wallet: this.walletPubkey,
382
- agent: agentPda,
383
- agentStats: statsPda,
384
- escrow: escrowPda,
385
- settlementReceipt: receiptPda,
386
- systemProgram: SystemProgram.programId,
387
- })
388
- .remainingAccounts(splAccounts);
389
-
390
- if (preIxs.length > 0) {
391
- builder = builder.preInstructions(preIxs);
392
- }
393
-
394
- return builder.rpc(rpcOpts);
395
- }
396
-
397
- // ── Fetchers ─────────────────────────────────────────
398
-
399
- /**
400
- * @name fetch
401
- * @description Fetch a deserialized `EscrowAccount`.
402
- * @param agentPda - The agent account PDA.
403
- * @param depositor - The depositor wallet. Defaults to the connected wallet.
404
- * @returns {Promise<EscrowAccountData>} The escrow account data.
405
- * @throws Will throw if the escrow account does not exist.
406
- * @since v0.1.0
407
- */
408
- async fetch(agentPda: PublicKey, depositor?: PublicKey): Promise<EscrowAccountData> {
409
- const [pda] = this.deriveEscrow(agentPda, depositor);
410
- return this.fetchAccount<EscrowAccountData>("escrowAccount", pda);
411
- }
412
-
413
- /**
414
- * @name fetchNullable
415
- * @description Fetch a deserialized `EscrowAccount`, or `null` if it
416
- * does not exist on-chain.
417
- * @param agentPda - The agent account PDA.
418
- * @param depositor - The depositor wallet. Defaults to the connected wallet.
419
- * @returns {Promise<EscrowAccountData | null>} The escrow data or `null`.
420
- * @since v0.1.0
421
- */
422
- async fetchNullable(agentPda: PublicKey, depositor?: PublicKey): Promise<EscrowAccountData | null> {
423
- const [pda] = this.deriveEscrow(agentPda, depositor);
424
- return this.fetchAccountNullable<EscrowAccountData>("escrowAccount", pda);
425
- }
426
-
427
- /**
428
- * @name fetchByPda
429
- * @description Fetch an escrow account by its PDA address directly,
430
- * bypassing PDA derivation.
431
- * @param escrowPda - The escrow PDA public key.
432
- * @returns {Promise<EscrowAccountData>} The escrow account data.
433
- * @throws Will throw if the escrow account does not exist.
434
- * @since v0.1.0
435
- */
436
- async fetchByPda(escrowPda: PublicKey): Promise<EscrowAccountData> {
437
- return this.fetchAccount<EscrowAccountData>("escrowAccount", escrowPda);
438
- }
439
- }
@@ -1,186 +0,0 @@
1
- /**
2
- * @module feedback
3
- * @description Trustless reputation system — give, update, revoke, and close
4
- * on-chain feedback entries for agents.
5
- *
6
- * Feedback entries are PDA-based reviews tied to an agent and a reviewer wallet,
7
- * enabling permissionless, verifiable reputation on Solana.
8
- *
9
- * @category Modules
10
- * @since v0.1.0
11
- * @packageDocumentation
12
- */
13
-
14
- import { SystemProgram, type PublicKey, type TransactionSignature } from "@solana/web3.js";
15
- import { BaseModule } from "./base";
16
- import { deriveAgent, deriveFeedback, deriveGlobalRegistry } from "../pda";
17
- import type { FeedbackAccountData, GiveFeedbackArgs, UpdateFeedbackArgs } from "../types";
18
-
19
- /**
20
- * @name FeedbackModule
21
- * @description Manages on-chain feedback entries for the Synapse Agent Protocol.
22
- * Provides methods to give, update, revoke, close, and fetch feedback PDAs
23
- * that form the trustless reputation layer.
24
- *
25
- * @category Modules
26
- * @since v0.1.0
27
- * @extends BaseModule
28
- *
29
- * @example
30
- * ```ts
31
- * const sap = new SapClient(provider);
32
- * const sig = await sap.feedback.give(agentWallet, {
33
- * score: 5,
34
- * tag: { quality: {} },
35
- * commentHash: null,
36
- * });
37
- * ```
38
- */
39
- export class FeedbackModule extends BaseModule {
40
- // ── PDA helpers ──────────────────────────────────────
41
-
42
- /**
43
- * @name deriveFeedback
44
- * @description Derive the `FeedbackAccount` PDA for a given agent and reviewer.
45
- * @param agentPda - The agent account PDA to review.
46
- * @param reviewer - The reviewer wallet. Defaults to the connected wallet.
47
- * @returns A tuple of `[PublicKey, bump]` for the feedback PDA.
48
- * @see {@link deriveFeedback} from `pda/` module for the underlying derivation.
49
- * @since v0.1.0
50
- */
51
- deriveFeedback(
52
- agentPda: PublicKey,
53
- reviewer?: PublicKey,
54
- ): readonly [PublicKey, number] {
55
- return deriveFeedback(agentPda, reviewer ?? this.walletPubkey);
56
- }
57
-
58
- // ── Instructions ─────────────────────────────────────
59
-
60
- /**
61
- * @name give
62
- * @description Leave on-chain feedback for an agent. Creates a new
63
- * `FeedbackAccount` PDA owned by the reviewer.
64
- * @param agentWallet - The wallet that owns the target agent.
65
- * @param args - Feedback parameters (score, tag, optional comment hash).
66
- * @returns {Promise<TransactionSignature>} The transaction signature.
67
- * @since v0.1.0
68
- */
69
- async give(
70
- agentWallet: PublicKey,
71
- args: GiveFeedbackArgs,
72
- ): Promise<TransactionSignature> {
73
- const [agentPda] = deriveAgent(agentWallet);
74
- const [feedbackPda] = this.deriveFeedback(agentPda);
75
- const [globalPda] = deriveGlobalRegistry();
76
-
77
- return this.methods
78
- .giveFeedback(args.score, args.tag, args.commentHash ?? null)
79
- .accounts({
80
- reviewer: this.walletPubkey,
81
- agent: agentPda,
82
- feedback: feedbackPda,
83
- globalRegistry: globalPda,
84
- systemProgram: SystemProgram.programId,
85
- })
86
- .rpc();
87
- }
88
-
89
- /**
90
- * @name update
91
- * @description Update an existing feedback entry. Only the original reviewer
92
- * may update their feedback.
93
- * @param agentWallet - The wallet that owns the target agent.
94
- * @param args - Updated feedback parameters (new score, optional new tag, optional comment hash).
95
- * @returns {Promise<TransactionSignature>} The transaction signature.
96
- * @since v0.1.0
97
- */
98
- async update(
99
- agentWallet: PublicKey,
100
- args: UpdateFeedbackArgs,
101
- ): Promise<TransactionSignature> {
102
- const [agentPda] = deriveAgent(agentWallet);
103
- const [feedbackPda] = this.deriveFeedback(agentPda);
104
-
105
- return this.methods
106
- .updateFeedback(args.newScore, args.newTag ?? null, args.commentHash ?? null)
107
- .accounts({
108
- reviewer: this.walletPubkey,
109
- agent: agentPda,
110
- feedback: feedbackPda,
111
- })
112
- .rpc();
113
- }
114
-
115
- /**
116
- * @name revoke
117
- * @description Revoke a feedback entry, marking it as revoked and excluding
118
- * it from reputation calculations.
119
- * @param agentWallet - The wallet that owns the target agent.
120
- * @returns {Promise<TransactionSignature>} The transaction signature.
121
- * @since v0.1.0
122
- */
123
- async revoke(agentWallet: PublicKey): Promise<TransactionSignature> {
124
- const [agentPda] = deriveAgent(agentWallet);
125
- const [feedbackPda] = this.deriveFeedback(agentPda);
126
-
127
- return this.methods
128
- .revokeFeedback()
129
- .accounts({
130
- reviewer: this.walletPubkey,
131
- agent: agentPda,
132
- feedback: feedbackPda,
133
- })
134
- .rpc();
135
- }
136
-
137
- /**
138
- * @name close
139
- * @description Close a revoked feedback PDA and reclaim rent to the reviewer.
140
- * @param agentWallet - The wallet that owns the target agent.
141
- * @returns {Promise<TransactionSignature>} The transaction signature.
142
- * @since v0.1.0
143
- */
144
- async close(agentWallet: PublicKey): Promise<TransactionSignature> {
145
- const [agentPda] = deriveAgent(agentWallet);
146
- const [feedbackPda] = this.deriveFeedback(agentPda);
147
-
148
- return this.methods
149
- .closeFeedback()
150
- .accounts({
151
- reviewer: this.walletPubkey,
152
- feedback: feedbackPda,
153
- })
154
- .rpc();
155
- }
156
-
157
- // ── Fetchers ─────────────────────────────────────────
158
-
159
- /**
160
- * @name fetch
161
- * @description Fetch a deserialized `FeedbackAccount`.
162
- * @param agentPda - The agent account PDA.
163
- * @param reviewer - The reviewer wallet. Defaults to the connected wallet.
164
- * @returns {Promise<FeedbackAccountData>} The feedback account data.
165
- * @throws Will throw if the feedback account does not exist.
166
- * @since v0.1.0
167
- */
168
- async fetch(agentPda: PublicKey, reviewer?: PublicKey): Promise<FeedbackAccountData> {
169
- const [pda] = this.deriveFeedback(agentPda, reviewer);
170
- return this.fetchAccount<FeedbackAccountData>("feedbackAccount", pda);
171
- }
172
-
173
- /**
174
- * @name fetchNullable
175
- * @description Fetch a deserialized `FeedbackAccount`, or `null` if it
176
- * does not exist on-chain.
177
- * @param agentPda - The agent account PDA.
178
- * @param reviewer - The reviewer wallet. Defaults to the connected wallet.
179
- * @returns {Promise<FeedbackAccountData | null>} The feedback data or `null`.
180
- * @since v0.1.0
181
- */
182
- async fetchNullable(agentPda: PublicKey, reviewer?: PublicKey): Promise<FeedbackAccountData | null> {
183
- const [pda] = this.deriveFeedback(agentPda, reviewer);
184
- return this.fetchAccountNullable<FeedbackAccountData>("feedbackAccount", pda);
185
- }
186
- }
@@ -1,28 +0,0 @@
1
- /**
2
- * @module modules
3
- * @description Barrel export for all domain modules of the `@synapse-sap/sdk`.
4
- *
5
- * Re-exports every module class so consumers can import from a single entry point:
6
- * ```ts
7
- * import { AgentModule, VaultModule } from "@synapse-sap/sdk/modules";
8
- * ```
9
- *
10
- * @category Modules
11
- * @since v0.1.0
12
- * @packageDocumentation
13
- */
14
-
15
- export { AgentModule } from "./agent";
16
- export { FeedbackModule } from "./feedback";
17
- export { IndexingModule } from "./indexing";
18
- export { ToolsModule } from "./tools";
19
- export { VaultModule } from "./vault";
20
- export { EscrowModule } from "./escrow";
21
- export { EscrowV2Module } from "./escrow-v2";
22
- export { ReceiptModule } from "./receipt";
23
- export { StakingModule } from "./staking";
24
- export { SubscriptionModule } from "./subscription";
25
- export { AttestationModule } from "./attestation";
26
- export { LedgerModule } from "./ledger";
27
- export { BaseModule } from "./base";
28
- export type { SapProgram, SapTransactionResult } from "./base";