@oobe-protocol-labs/synapse-sap-sdk 0.14.0 → 0.15.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 (651) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +986 -0
  3. package/dist/cjs/client.js +30 -13
  4. package/dist/cjs/client.js.map +1 -1
  5. package/dist/cjs/constants/addresses.js +143 -0
  6. package/dist/cjs/constants/addresses.js.map +1 -0
  7. package/dist/cjs/constants/index.js +64 -0
  8. package/dist/cjs/constants/index.js.map +1 -0
  9. package/dist/cjs/constants/limits.js +161 -0
  10. package/dist/cjs/constants/limits.js.map +1 -0
  11. package/dist/cjs/constants/network.js +81 -0
  12. package/dist/cjs/constants/network.js.map +1 -0
  13. package/dist/cjs/constants/payments.js +137 -0
  14. package/dist/cjs/constants/payments.js.map +1 -0
  15. package/dist/cjs/constants/programs.js +78 -0
  16. package/dist/cjs/constants/programs.js.map +1 -0
  17. package/dist/cjs/constants/seeds.js +76 -0
  18. package/dist/cjs/constants/seeds.js.map +1 -0
  19. package/dist/cjs/constants.js +39 -32
  20. package/dist/cjs/constants.js.map +1 -1
  21. package/dist/cjs/core/client.js +546 -0
  22. package/dist/cjs/core/client.js.map +1 -0
  23. package/dist/cjs/core/connection.js +350 -0
  24. package/dist/cjs/core/connection.js.map +1 -0
  25. package/dist/cjs/core/index.js +25 -0
  26. package/dist/cjs/core/index.js.map +1 -0
  27. package/dist/cjs/errors/index.js +334 -0
  28. package/dist/cjs/errors/index.js.map +1 -0
  29. package/dist/cjs/errors.js +15 -5
  30. package/dist/cjs/errors.js.map +1 -1
  31. package/dist/cjs/events/geyser.js +295 -0
  32. package/dist/cjs/events/geyser.js.map +1 -0
  33. package/dist/cjs/events/index.js +32 -26
  34. package/dist/cjs/events/index.js.map +1 -1
  35. package/dist/cjs/idl/index.js +63 -0
  36. package/dist/cjs/idl/index.js.map +1 -0
  37. package/dist/cjs/idl/synapse_agent_sap.json +14595 -0
  38. package/dist/cjs/instructions/agent.js +1 -0
  39. package/dist/cjs/instructions/agent.js.map +1 -1
  40. package/dist/cjs/instructions/attestation.js +1 -0
  41. package/dist/cjs/instructions/attestation.js.map +1 -1
  42. package/dist/cjs/instructions/digest.js +1 -0
  43. package/dist/cjs/instructions/digest.js.map +1 -1
  44. package/dist/cjs/instructions/dispute.js +1 -0
  45. package/dist/cjs/instructions/dispute.js.map +1 -1
  46. package/dist/cjs/instructions/escrow.js +1 -0
  47. package/dist/cjs/instructions/escrow.js.map +1 -1
  48. package/dist/cjs/instructions/global.js +1 -0
  49. package/dist/cjs/instructions/global.js.map +1 -1
  50. package/dist/cjs/instructions/indexing.js +1 -0
  51. package/dist/cjs/instructions/indexing.js.map +1 -1
  52. package/dist/cjs/instructions/misc.js +1 -0
  53. package/dist/cjs/instructions/misc.js.map +1 -1
  54. package/dist/cjs/instructions/session.js +1 -0
  55. package/dist/cjs/instructions/session.js.map +1 -1
  56. package/dist/cjs/instructions/staking.js +1 -0
  57. package/dist/cjs/instructions/staking.js.map +1 -1
  58. package/dist/cjs/instructions/subscription.js +1 -0
  59. package/dist/cjs/instructions/subscription.js.map +1 -1
  60. package/dist/cjs/instructions/tools.js +1 -0
  61. package/dist/cjs/instructions/tools.js.map +1 -1
  62. package/dist/cjs/instructions/vault.js +1 -0
  63. package/dist/cjs/instructions/vault.js.map +1 -1
  64. package/dist/cjs/modules/agent.js +272 -0
  65. package/dist/cjs/modules/agent.js.map +1 -0
  66. package/dist/cjs/modules/attestation.js +147 -0
  67. package/dist/cjs/modules/attestation.js.map +1 -0
  68. package/dist/cjs/modules/base.js +189 -0
  69. package/dist/cjs/modules/base.js.map +1 -0
  70. package/dist/cjs/modules/escrow-v2.js +607 -0
  71. package/dist/cjs/modules/escrow-v2.js.map +1 -0
  72. package/dist/cjs/modules/escrow.js +336 -0
  73. package/dist/cjs/modules/escrow.js.map +1 -0
  74. package/dist/cjs/modules/feedback.js +166 -0
  75. package/dist/cjs/modules/feedback.js.map +1 -0
  76. package/dist/cjs/modules/index.js +43 -0
  77. package/dist/cjs/modules/index.js.map +1 -0
  78. package/dist/cjs/modules/indexing.js +375 -0
  79. package/dist/cjs/modules/indexing.js.map +1 -0
  80. package/dist/cjs/modules/ledger.js +234 -0
  81. package/dist/cjs/modules/ledger.js.map +1 -0
  82. package/dist/cjs/modules/receipt.js +148 -0
  83. package/dist/cjs/modules/receipt.js.map +1 -0
  84. package/dist/cjs/modules/staking.js +159 -0
  85. package/dist/cjs/modules/staking.js.map +1 -0
  86. package/dist/cjs/modules/subscription.js +96 -0
  87. package/dist/cjs/modules/subscription.js.map +1 -0
  88. package/dist/cjs/modules/tools.js +345 -0
  89. package/dist/cjs/modules/tools.js.map +1 -0
  90. package/dist/cjs/modules/vault.js +427 -0
  91. package/dist/cjs/modules/vault.js.map +1 -0
  92. package/dist/cjs/parser/client.js +146 -0
  93. package/dist/cjs/parser/client.js.map +1 -0
  94. package/dist/cjs/parser/complete.js +177 -0
  95. package/dist/cjs/parser/complete.js.map +1 -0
  96. package/dist/cjs/parser/index.js +57 -0
  97. package/dist/cjs/parser/index.js.map +1 -0
  98. package/dist/cjs/parser/inner.js +185 -0
  99. package/dist/cjs/parser/inner.js.map +1 -0
  100. package/dist/cjs/parser/instructions.js +114 -0
  101. package/dist/cjs/parser/instructions.js.map +1 -0
  102. package/dist/cjs/parser/transaction.js +153 -0
  103. package/dist/cjs/parser/transaction.js.map +1 -0
  104. package/dist/cjs/parser/types.js +14 -0
  105. package/dist/cjs/parser/types.js.map +1 -0
  106. package/dist/cjs/pda/index.js +672 -0
  107. package/dist/cjs/pda/index.js.map +1 -0
  108. package/dist/cjs/plugin/index.js +952 -0
  109. package/dist/cjs/plugin/index.js.map +1 -0
  110. package/dist/cjs/plugin/protocols.js +282 -0
  111. package/dist/cjs/plugin/protocols.js.map +1 -0
  112. package/dist/cjs/plugin/schemas.js +863 -0
  113. package/dist/cjs/plugin/schemas.js.map +1 -0
  114. package/dist/cjs/postgres/adapter.js +715 -0
  115. package/dist/cjs/postgres/adapter.js.map +1 -0
  116. package/dist/cjs/postgres/index.js +50 -0
  117. package/dist/cjs/postgres/index.js.map +1 -0
  118. package/dist/cjs/postgres/serializers.js +381 -0
  119. package/dist/cjs/postgres/serializers.js.map +1 -0
  120. package/dist/cjs/postgres/sync.js +289 -0
  121. package/dist/cjs/postgres/sync.js.map +1 -0
  122. package/dist/cjs/postgres/types.js +44 -0
  123. package/dist/cjs/postgres/types.js.map +1 -0
  124. package/dist/cjs/registries/builder.js +414 -0
  125. package/dist/cjs/registries/builder.js.map +1 -0
  126. package/dist/cjs/registries/discovery.js +362 -0
  127. package/dist/cjs/registries/discovery.js.map +1 -0
  128. package/dist/cjs/registries/fairscale.js +639 -0
  129. package/dist/cjs/registries/fairscale.js.map +1 -0
  130. package/dist/cjs/registries/index.js +58 -0
  131. package/dist/cjs/registries/index.js.map +1 -0
  132. package/dist/cjs/registries/metaplex-bridge.js +743 -0
  133. package/dist/cjs/registries/metaplex-bridge.js.map +1 -0
  134. package/dist/cjs/registries/session.js +433 -0
  135. package/dist/cjs/registries/session.js.map +1 -0
  136. package/dist/cjs/registries/x402.js +668 -0
  137. package/dist/cjs/registries/x402.js.map +1 -0
  138. package/dist/cjs/types/accounts.js +13 -0
  139. package/dist/cjs/types/accounts.js.map +1 -0
  140. package/dist/cjs/types/common.js +13 -0
  141. package/dist/cjs/types/common.js.map +1 -0
  142. package/dist/cjs/types/endpoint.js +15 -0
  143. package/dist/cjs/types/endpoint.js.map +1 -0
  144. package/dist/cjs/types/enums.js +269 -0
  145. package/dist/cjs/types/enums.js.map +1 -0
  146. package/dist/cjs/types/index.js +41 -0
  147. package/dist/cjs/types/index.js.map +1 -0
  148. package/dist/cjs/types/instructions.js +92 -0
  149. package/dist/cjs/types/instructions.js.map +1 -0
  150. package/dist/cjs/types.js +4 -1
  151. package/dist/cjs/types.js.map +1 -1
  152. package/dist/cjs/utils/anchor-errors.js +453 -0
  153. package/dist/cjs/utils/anchor-errors.js.map +1 -0
  154. package/dist/cjs/utils/endpoint-validator.js +232 -0
  155. package/dist/cjs/utils/endpoint-validator.js.map +1 -0
  156. package/dist/cjs/utils/escrow-validation.js +219 -0
  157. package/dist/cjs/utils/escrow-validation.js.map +1 -0
  158. package/dist/cjs/utils/hash.js +109 -0
  159. package/dist/cjs/utils/hash.js.map +1 -0
  160. package/dist/cjs/utils/index.js +10 -4
  161. package/dist/cjs/utils/index.js.map +1 -1
  162. package/dist/cjs/utils/merchant-validator.js +246 -0
  163. package/dist/cjs/utils/merchant-validator.js.map +1 -0
  164. package/dist/cjs/utils/network-normalizer.js +236 -0
  165. package/dist/cjs/utils/network-normalizer.js.map +1 -0
  166. package/dist/cjs/utils/priority-fee.js +215 -0
  167. package/dist/cjs/utils/priority-fee.js.map +1 -0
  168. package/dist/cjs/utils/rpc-strategy.js +239 -0
  169. package/dist/cjs/utils/rpc-strategy.js.map +1 -0
  170. package/dist/cjs/utils/schemas.js +331 -0
  171. package/dist/cjs/utils/schemas.js.map +1 -0
  172. package/dist/cjs/utils/serialization.js +105 -0
  173. package/dist/cjs/utils/serialization.js.map +1 -0
  174. package/dist/cjs/utils/validate.js +1 -1
  175. package/dist/cjs/utils/validate.js.map +1 -1
  176. package/dist/cjs/utils/validation.js +36 -0
  177. package/dist/cjs/utils/validation.js.map +1 -0
  178. package/dist/cjs/utils/volume-curve.js +117 -0
  179. package/dist/cjs/utils/volume-curve.js.map +1 -0
  180. package/dist/cjs/utils/x402-direct.js +231 -0
  181. package/dist/cjs/utils/x402-direct.js.map +1 -0
  182. package/dist/esm/client.js +30 -13
  183. package/dist/esm/client.js.map +1 -1
  184. package/dist/esm/constants/addresses.d.ts +117 -0
  185. package/dist/esm/constants/addresses.d.ts.map +1 -0
  186. package/dist/esm/constants/addresses.js +140 -0
  187. package/dist/esm/constants/addresses.js.map +1 -0
  188. package/dist/esm/constants/index.d.ts +31 -0
  189. package/dist/esm/constants/index.d.ts.map +1 -0
  190. package/dist/esm/constants/index.js +35 -0
  191. package/dist/esm/constants/index.js.map +1 -0
  192. package/dist/esm/constants/limits.d.ts +149 -0
  193. package/dist/esm/constants/limits.d.ts.map +1 -0
  194. package/dist/esm/constants/limits.js +158 -0
  195. package/dist/esm/constants/limits.js.map +1 -0
  196. package/dist/esm/constants/network.d.ts +81 -0
  197. package/dist/esm/constants/network.d.ts.map +1 -0
  198. package/dist/esm/constants/network.js +78 -0
  199. package/dist/esm/constants/network.js.map +1 -0
  200. package/dist/esm/constants/payments.d.ts +121 -0
  201. package/dist/esm/constants/payments.d.ts.map +1 -0
  202. package/dist/esm/constants/payments.js +131 -0
  203. package/dist/esm/constants/payments.js.map +1 -0
  204. package/dist/esm/constants/programs.d.ts +69 -0
  205. package/dist/esm/constants/programs.d.ts.map +1 -0
  206. package/dist/esm/constants/programs.js +75 -0
  207. package/dist/esm/constants/programs.js.map +1 -0
  208. package/dist/esm/constants/seeds.d.ts +80 -0
  209. package/dist/esm/constants/seeds.d.ts.map +1 -0
  210. package/dist/esm/constants/seeds.js +73 -0
  211. package/dist/esm/constants/seeds.js.map +1 -0
  212. package/dist/esm/constants.d.ts +14 -27
  213. package/dist/esm/constants.d.ts.map +1 -1
  214. package/dist/esm/constants.js +16 -31
  215. package/dist/esm/constants.js.map +1 -1
  216. package/dist/esm/core/client.d.ts +452 -0
  217. package/dist/esm/core/client.d.ts.map +1 -0
  218. package/dist/esm/core/client.js +539 -0
  219. package/dist/esm/core/client.js.map +1 -0
  220. package/dist/esm/core/connection.d.ts +305 -0
  221. package/dist/esm/core/connection.d.ts.map +1 -0
  222. package/dist/esm/core/connection.js +345 -0
  223. package/dist/esm/core/connection.js.map +1 -0
  224. package/dist/esm/core/index.d.ts +20 -0
  225. package/dist/esm/core/index.d.ts.map +1 -0
  226. package/dist/esm/core/index.js +19 -0
  227. package/dist/esm/core/index.js.map +1 -0
  228. package/dist/esm/errors/index.d.ts +276 -0
  229. package/dist/esm/errors/index.d.ts.map +1 -0
  230. package/dist/esm/errors/index.js +325 -0
  231. package/dist/esm/errors/index.js.map +1 -0
  232. package/dist/esm/errors.d.ts +8 -0
  233. package/dist/esm/errors.d.ts.map +1 -1
  234. package/dist/esm/errors.js +8 -0
  235. package/dist/esm/errors.js.map +1 -1
  236. package/dist/esm/events/geyser.d.ts +150 -0
  237. package/dist/esm/events/geyser.d.ts.map +1 -0
  238. package/dist/esm/events/geyser.js +258 -0
  239. package/dist/esm/events/geyser.js.map +1 -0
  240. package/dist/esm/events/index.d.ts +11 -7
  241. package/dist/esm/events/index.d.ts.map +1 -1
  242. package/dist/esm/events/index.js +30 -26
  243. package/dist/esm/events/index.js.map +1 -1
  244. package/dist/esm/idl/index.d.ts +70 -0
  245. package/dist/esm/idl/index.d.ts.map +1 -0
  246. package/dist/esm/idl/index.js +57 -0
  247. package/dist/esm/idl/index.js.map +1 -0
  248. package/dist/esm/idl/synapse_agent_sap.json +14595 -0
  249. package/dist/esm/instructions/agent.js +1 -0
  250. package/dist/esm/instructions/agent.js.map +1 -1
  251. package/dist/esm/instructions/attestation.js +1 -0
  252. package/dist/esm/instructions/attestation.js.map +1 -1
  253. package/dist/esm/instructions/digest.js +1 -0
  254. package/dist/esm/instructions/digest.js.map +1 -1
  255. package/dist/esm/instructions/dispute.js +1 -0
  256. package/dist/esm/instructions/dispute.js.map +1 -1
  257. package/dist/esm/instructions/escrow.js +1 -0
  258. package/dist/esm/instructions/escrow.js.map +1 -1
  259. package/dist/esm/instructions/global.js +1 -0
  260. package/dist/esm/instructions/global.js.map +1 -1
  261. package/dist/esm/instructions/indexing.js +1 -0
  262. package/dist/esm/instructions/indexing.js.map +1 -1
  263. package/dist/esm/instructions/misc.js +1 -0
  264. package/dist/esm/instructions/misc.js.map +1 -1
  265. package/dist/esm/instructions/session.js +1 -0
  266. package/dist/esm/instructions/session.js.map +1 -1
  267. package/dist/esm/instructions/staking.js +1 -0
  268. package/dist/esm/instructions/staking.js.map +1 -1
  269. package/dist/esm/instructions/subscription.js +1 -0
  270. package/dist/esm/instructions/subscription.js.map +1 -1
  271. package/dist/esm/instructions/tools.js +1 -0
  272. package/dist/esm/instructions/tools.js.map +1 -1
  273. package/dist/esm/instructions/vault.js +1 -0
  274. package/dist/esm/instructions/vault.js.map +1 -1
  275. package/dist/esm/modules/agent.d.ts +166 -0
  276. package/dist/esm/modules/agent.d.ts.map +1 -0
  277. package/dist/esm/modules/agent.js +268 -0
  278. package/dist/esm/modules/agent.js.map +1 -0
  279. package/dist/esm/modules/attestation.d.ts +96 -0
  280. package/dist/esm/modules/attestation.d.ts.map +1 -0
  281. package/dist/esm/modules/attestation.js +143 -0
  282. package/dist/esm/modules/attestation.js.map +1 -0
  283. package/dist/esm/modules/base.d.ts +161 -0
  284. package/dist/esm/modules/base.d.ts.map +1 -0
  285. package/dist/esm/modules/base.js +185 -0
  286. package/dist/esm/modules/base.js.map +1 -0
  287. package/dist/esm/modules/escrow-v2.d.ts +169 -0
  288. package/dist/esm/modules/escrow-v2.d.ts.map +1 -0
  289. package/dist/esm/modules/escrow-v2.js +603 -0
  290. package/dist/esm/modules/escrow-v2.js.map +1 -0
  291. package/dist/esm/modules/escrow.d.ts +168 -0
  292. package/dist/esm/modules/escrow.d.ts.map +1 -0
  293. package/dist/esm/modules/escrow.js +332 -0
  294. package/dist/esm/modules/escrow.js.map +1 -0
  295. package/dist/esm/modules/feedback.d.ts +105 -0
  296. package/dist/esm/modules/feedback.d.ts.map +1 -0
  297. package/dist/esm/modules/feedback.js +162 -0
  298. package/dist/esm/modules/feedback.js.map +1 -0
  299. package/dist/esm/modules/index.d.ts +28 -0
  300. package/dist/esm/modules/index.d.ts.map +1 -0
  301. package/dist/esm/modules/index.js +27 -0
  302. package/dist/esm/modules/index.js.map +1 -0
  303. package/dist/esm/modules/indexing.d.ts +200 -0
  304. package/dist/esm/modules/indexing.d.ts.map +1 -0
  305. package/dist/esm/modules/indexing.js +371 -0
  306. package/dist/esm/modules/indexing.js.map +1 -0
  307. package/dist/esm/modules/ledger.d.ts +150 -0
  308. package/dist/esm/modules/ledger.d.ts.map +1 -0
  309. package/dist/esm/modules/ledger.js +230 -0
  310. package/dist/esm/modules/ledger.js.map +1 -0
  311. package/dist/esm/modules/receipt.d.ts +77 -0
  312. package/dist/esm/modules/receipt.d.ts.map +1 -0
  313. package/dist/esm/modules/receipt.js +144 -0
  314. package/dist/esm/modules/receipt.js.map +1 -0
  315. package/dist/esm/modules/staking.d.ts +51 -0
  316. package/dist/esm/modules/staking.d.ts.map +1 -0
  317. package/dist/esm/modules/staking.js +155 -0
  318. package/dist/esm/modules/staking.js.map +1 -0
  319. package/dist/esm/modules/subscription.d.ts +33 -0
  320. package/dist/esm/modules/subscription.d.ts.map +1 -0
  321. package/dist/esm/modules/subscription.js +92 -0
  322. package/dist/esm/modules/subscription.js.map +1 -0
  323. package/dist/esm/modules/tools.d.ts +182 -0
  324. package/dist/esm/modules/tools.d.ts.map +1 -0
  325. package/dist/esm/modules/tools.js +341 -0
  326. package/dist/esm/modules/tools.js.map +1 -0
  327. package/dist/esm/modules/vault.d.ts +240 -0
  328. package/dist/esm/modules/vault.d.ts.map +1 -0
  329. package/dist/esm/modules/vault.js +423 -0
  330. package/dist/esm/modules/vault.js.map +1 -0
  331. package/dist/esm/parser/client.d.ts +123 -0
  332. package/dist/esm/parser/client.d.ts.map +1 -0
  333. package/dist/esm/parser/client.js +142 -0
  334. package/dist/esm/parser/client.js.map +1 -0
  335. package/dist/esm/parser/complete.d.ts +90 -0
  336. package/dist/esm/parser/complete.d.ts.map +1 -0
  337. package/dist/esm/parser/complete.js +173 -0
  338. package/dist/esm/parser/complete.js.map +1 -0
  339. package/dist/esm/parser/index.d.ts +40 -0
  340. package/dist/esm/parser/index.d.ts.map +1 -0
  341. package/dist/esm/parser/index.js +43 -0
  342. package/dist/esm/parser/index.js.map +1 -0
  343. package/dist/esm/parser/inner.d.ts +114 -0
  344. package/dist/esm/parser/inner.d.ts.map +1 -0
  345. package/dist/esm/parser/inner.js +180 -0
  346. package/dist/esm/parser/inner.js.map +1 -0
  347. package/dist/esm/parser/instructions.d.ts +76 -0
  348. package/dist/esm/parser/instructions.d.ts.map +1 -0
  349. package/dist/esm/parser/instructions.js +109 -0
  350. package/dist/esm/parser/instructions.js.map +1 -0
  351. package/dist/esm/parser/transaction.d.ts +77 -0
  352. package/dist/esm/parser/transaction.d.ts.map +1 -0
  353. package/dist/esm/parser/transaction.js +149 -0
  354. package/dist/esm/parser/transaction.js.map +1 -0
  355. package/dist/esm/parser/types.d.ts +154 -0
  356. package/dist/esm/parser/types.d.ts.map +1 -0
  357. package/dist/esm/parser/types.js +13 -0
  358. package/dist/esm/parser/types.js.map +1 -0
  359. package/dist/esm/pda/index.d.ts +510 -0
  360. package/dist/esm/pda/index.d.ts.map +1 -0
  361. package/dist/esm/pda/index.js +638 -0
  362. package/dist/esm/pda/index.js.map +1 -0
  363. package/dist/esm/plugin/index.d.ts +171 -0
  364. package/dist/esm/plugin/index.d.ts.map +1 -0
  365. package/dist/esm/plugin/index.js +945 -0
  366. package/dist/esm/plugin/index.js.map +1 -0
  367. package/dist/esm/plugin/protocols.d.ts +152 -0
  368. package/dist/esm/plugin/protocols.d.ts.map +1 -0
  369. package/dist/esm/plugin/protocols.js +279 -0
  370. package/dist/esm/plugin/protocols.js.map +1 -0
  371. package/dist/esm/plugin/schemas.d.ts +829 -0
  372. package/dist/esm/plugin/schemas.d.ts.map +1 -0
  373. package/dist/esm/plugin/schemas.js +860 -0
  374. package/dist/esm/plugin/schemas.js.map +1 -0
  375. package/dist/esm/postgres/adapter.d.ts +355 -0
  376. package/dist/esm/postgres/adapter.d.ts.map +1 -0
  377. package/dist/esm/postgres/adapter.js +678 -0
  378. package/dist/esm/postgres/adapter.js.map +1 -0
  379. package/dist/esm/postgres/index.d.ts +24 -0
  380. package/dist/esm/postgres/index.d.ts.map +1 -0
  381. package/dist/esm/postgres/index.js +27 -0
  382. package/dist/esm/postgres/index.js.map +1 -0
  383. package/dist/esm/postgres/serializers.d.ts +30 -0
  384. package/dist/esm/postgres/serializers.d.ts.map +1 -0
  385. package/dist/esm/postgres/serializers.js +362 -0
  386. package/dist/esm/postgres/serializers.js.map +1 -0
  387. package/dist/esm/postgres/sync.d.ts +156 -0
  388. package/dist/esm/postgres/sync.d.ts.map +1 -0
  389. package/dist/esm/postgres/sync.js +285 -0
  390. package/dist/esm/postgres/sync.js.map +1 -0
  391. package/dist/esm/postgres/types.d.ts +167 -0
  392. package/dist/esm/postgres/types.d.ts.map +1 -0
  393. package/dist/esm/postgres/types.js +41 -0
  394. package/dist/esm/postgres/types.js.map +1 -0
  395. package/dist/esm/registries/builder.d.ts +340 -0
  396. package/dist/esm/registries/builder.d.ts.map +1 -0
  397. package/dist/esm/registries/builder.js +410 -0
  398. package/dist/esm/registries/builder.js.map +1 -0
  399. package/dist/esm/registries/discovery.d.ts +333 -0
  400. package/dist/esm/registries/discovery.d.ts.map +1 -0
  401. package/dist/esm/registries/discovery.js +358 -0
  402. package/dist/esm/registries/discovery.js.map +1 -0
  403. package/dist/esm/registries/fairscale.d.ts +680 -0
  404. package/dist/esm/registries/fairscale.d.ts.map +1 -0
  405. package/dist/esm/registries/fairscale.js +633 -0
  406. package/dist/esm/registries/fairscale.js.map +1 -0
  407. package/dist/esm/registries/index.d.ts +52 -0
  408. package/dist/esm/registries/index.d.ts.map +1 -0
  409. package/dist/esm/registries/index.js +46 -0
  410. package/dist/esm/registries/index.js.map +1 -0
  411. package/dist/esm/registries/metaplex-bridge.d.ts +489 -0
  412. package/dist/esm/registries/metaplex-bridge.d.ts.map +1 -0
  413. package/dist/esm/registries/metaplex-bridge.js +706 -0
  414. package/dist/esm/registries/metaplex-bridge.js.map +1 -0
  415. package/dist/esm/registries/session.d.ts +323 -0
  416. package/dist/esm/registries/session.d.ts.map +1 -0
  417. package/dist/esm/registries/session.js +429 -0
  418. package/dist/esm/registries/session.js.map +1 -0
  419. package/dist/esm/registries/x402.d.ts +530 -0
  420. package/dist/esm/registries/x402.d.ts.map +1 -0
  421. package/dist/esm/registries/x402.js +664 -0
  422. package/dist/esm/registries/x402.js.map +1 -0
  423. package/dist/esm/types/accounts.d.ts +765 -0
  424. package/dist/esm/types/accounts.d.ts.map +1 -0
  425. package/dist/esm/types/accounts.js +12 -0
  426. package/dist/esm/types/accounts.js.map +1 -0
  427. package/dist/esm/types/common.d.ts +166 -0
  428. package/dist/esm/types/common.d.ts.map +1 -0
  429. package/dist/esm/types/common.js +12 -0
  430. package/dist/esm/types/common.js.map +1 -0
  431. package/dist/esm/types/endpoint.d.ts +161 -0
  432. package/dist/esm/types/endpoint.d.ts.map +1 -0
  433. package/dist/esm/types/endpoint.js +14 -0
  434. package/dist/esm/types/endpoint.js.map +1 -0
  435. package/dist/esm/types/enums.d.ts +353 -0
  436. package/dist/esm/types/enums.d.ts.map +1 -0
  437. package/dist/esm/types/enums.js +266 -0
  438. package/dist/esm/types/enums.js.map +1 -0
  439. package/dist/esm/types/index.d.ts +29 -0
  440. package/dist/esm/types/index.d.ts.map +1 -0
  441. package/dist/esm/types/index.js +25 -0
  442. package/dist/esm/types/index.js.map +1 -0
  443. package/dist/esm/types/instructions.d.ts +400 -0
  444. package/dist/esm/types/instructions.d.ts.map +1 -0
  445. package/dist/esm/types/instructions.js +89 -0
  446. package/dist/esm/types/instructions.js.map +1 -0
  447. package/dist/esm/types.d.ts +28 -0
  448. package/dist/esm/types.d.ts.map +1 -1
  449. package/dist/esm/types.js +1 -0
  450. package/dist/esm/types.js.map +1 -1
  451. package/dist/esm/utils/anchor-errors.d.ts +61 -0
  452. package/dist/esm/utils/anchor-errors.d.ts.map +1 -0
  453. package/dist/esm/utils/anchor-errors.js +447 -0
  454. package/dist/esm/utils/anchor-errors.js.map +1 -0
  455. package/dist/esm/utils/endpoint-validator.d.ts +110 -0
  456. package/dist/esm/utils/endpoint-validator.d.ts.map +1 -0
  457. package/dist/esm/utils/endpoint-validator.js +226 -0
  458. package/dist/esm/utils/endpoint-validator.js.map +1 -0
  459. package/dist/esm/utils/escrow-validation.d.ts +145 -0
  460. package/dist/esm/utils/escrow-validation.d.ts.map +1 -0
  461. package/dist/esm/utils/escrow-validation.js +212 -0
  462. package/dist/esm/utils/escrow-validation.js.map +1 -0
  463. package/dist/esm/utils/hash.d.ts +75 -0
  464. package/dist/esm/utils/hash.d.ts.map +1 -0
  465. package/dist/esm/utils/hash.js +103 -0
  466. package/dist/esm/utils/hash.js.map +1 -0
  467. package/dist/esm/utils/index.d.ts +3 -1
  468. package/dist/esm/utils/index.d.ts.map +1 -1
  469. package/dist/esm/utils/index.js +6 -3
  470. package/dist/esm/utils/index.js.map +1 -1
  471. package/dist/esm/utils/merchant-validator.d.ts +176 -0
  472. package/dist/esm/utils/merchant-validator.d.ts.map +1 -0
  473. package/dist/esm/utils/merchant-validator.js +241 -0
  474. package/dist/esm/utils/merchant-validator.js.map +1 -0
  475. package/dist/esm/utils/network-normalizer.d.ts +120 -0
  476. package/dist/esm/utils/network-normalizer.d.ts.map +1 -0
  477. package/dist/esm/utils/network-normalizer.js +229 -0
  478. package/dist/esm/utils/network-normalizer.js.map +1 -0
  479. package/dist/esm/utils/priority-fee.d.ts +205 -0
  480. package/dist/esm/utils/priority-fee.d.ts.map +1 -0
  481. package/dist/esm/utils/priority-fee.js +209 -0
  482. package/dist/esm/utils/priority-fee.js.map +1 -0
  483. package/dist/esm/utils/rpc-strategy.d.ts +172 -0
  484. package/dist/esm/utils/rpc-strategy.d.ts.map +1 -0
  485. package/dist/esm/utils/rpc-strategy.js +231 -0
  486. package/dist/esm/utils/rpc-strategy.js.map +1 -0
  487. package/dist/esm/utils/schemas.d.ts +351 -0
  488. package/dist/esm/utils/schemas.d.ts.map +1 -0
  489. package/dist/esm/utils/schemas.js +320 -0
  490. package/dist/esm/utils/schemas.js.map +1 -0
  491. package/dist/esm/utils/serialization.d.ts +69 -0
  492. package/dist/esm/utils/serialization.d.ts.map +1 -0
  493. package/dist/esm/utils/serialization.js +98 -0
  494. package/dist/esm/utils/serialization.js.map +1 -0
  495. package/dist/esm/utils/validate.js +1 -1
  496. package/dist/esm/utils/validate.js.map +1 -1
  497. package/dist/esm/utils/validation.d.ts +29 -0
  498. package/dist/esm/utils/validation.d.ts.map +1 -0
  499. package/dist/esm/utils/validation.js +33 -0
  500. package/dist/esm/utils/validation.js.map +1 -0
  501. package/dist/esm/utils/volume-curve.d.ts +60 -0
  502. package/dist/esm/utils/volume-curve.d.ts.map +1 -0
  503. package/dist/esm/utils/volume-curve.js +114 -0
  504. package/dist/esm/utils/volume-curve.js.map +1 -0
  505. package/dist/esm/utils/x402-direct.d.ts +114 -0
  506. package/dist/esm/utils/x402-direct.d.ts.map +1 -0
  507. package/dist/esm/utils/x402-direct.js +228 -0
  508. package/dist/esm/utils/x402-direct.js.map +1 -0
  509. package/dist/types/constants/addresses.d.ts +117 -0
  510. package/dist/types/constants/addresses.d.ts.map +1 -0
  511. package/dist/types/constants/index.d.ts +31 -0
  512. package/dist/types/constants/index.d.ts.map +1 -0
  513. package/dist/types/constants/limits.d.ts +149 -0
  514. package/dist/types/constants/limits.d.ts.map +1 -0
  515. package/dist/types/constants/network.d.ts +81 -0
  516. package/dist/types/constants/network.d.ts.map +1 -0
  517. package/dist/types/constants/payments.d.ts +121 -0
  518. package/dist/types/constants/payments.d.ts.map +1 -0
  519. package/dist/types/constants/programs.d.ts +69 -0
  520. package/dist/types/constants/programs.d.ts.map +1 -0
  521. package/dist/types/constants/seeds.d.ts +82 -0
  522. package/dist/types/constants/seeds.d.ts.map +1 -0
  523. package/dist/types/core/client.d.ts +467 -0
  524. package/dist/types/core/client.d.ts.map +1 -0
  525. package/dist/types/core/connection.d.ts +305 -0
  526. package/dist/types/core/connection.d.ts.map +1 -0
  527. package/dist/types/core/index.d.ts +20 -0
  528. package/dist/types/core/index.d.ts.map +1 -0
  529. package/dist/types/errors/index.d.ts +335 -0
  530. package/dist/types/errors/index.d.ts.map +1 -0
  531. package/dist/types/events/geyser.d.ts +150 -0
  532. package/dist/types/events/geyser.d.ts.map +1 -0
  533. package/dist/types/events/index.d.ts +248 -0
  534. package/dist/types/events/index.d.ts.map +1 -0
  535. package/dist/types/idl/index.d.ts +70 -0
  536. package/dist/types/idl/index.d.ts.map +1 -0
  537. package/dist/types/index.d.ts +86 -0
  538. package/dist/types/index.d.ts.map +1 -0
  539. package/dist/types/modules/agent.d.ts +156 -0
  540. package/dist/types/modules/agent.d.ts.map +1 -0
  541. package/dist/types/modules/attestation.d.ts +96 -0
  542. package/dist/types/modules/attestation.d.ts.map +1 -0
  543. package/dist/types/modules/base.d.ts +215 -0
  544. package/dist/types/modules/base.d.ts.map +1 -0
  545. package/dist/types/modules/escrow-v2.d.ts +285 -0
  546. package/dist/types/modules/escrow-v2.d.ts.map +1 -0
  547. package/dist/types/modules/feedback.d.ts +105 -0
  548. package/dist/types/modules/feedback.d.ts.map +1 -0
  549. package/dist/types/modules/index.d.ts +27 -0
  550. package/dist/types/modules/index.d.ts.map +1 -0
  551. package/dist/types/modules/indexing.d.ts +200 -0
  552. package/dist/types/modules/indexing.d.ts.map +1 -0
  553. package/dist/types/modules/ledger.d.ts +150 -0
  554. package/dist/types/modules/ledger.d.ts.map +1 -0
  555. package/dist/types/modules/receipt.d.ts +91 -0
  556. package/dist/types/modules/receipt.d.ts.map +1 -0
  557. package/dist/types/modules/staking.d.ts +51 -0
  558. package/dist/types/modules/staking.d.ts.map +1 -0
  559. package/dist/types/modules/subscription.d.ts +33 -0
  560. package/dist/types/modules/subscription.d.ts.map +1 -0
  561. package/dist/types/modules/tools.d.ts +172 -0
  562. package/dist/types/modules/tools.d.ts.map +1 -0
  563. package/dist/types/modules/vault.d.ts +240 -0
  564. package/dist/types/modules/vault.d.ts.map +1 -0
  565. package/dist/types/parser/client.d.ts +123 -0
  566. package/dist/types/parser/client.d.ts.map +1 -0
  567. package/dist/types/parser/complete.d.ts +90 -0
  568. package/dist/types/parser/complete.d.ts.map +1 -0
  569. package/dist/types/parser/index.d.ts +40 -0
  570. package/dist/types/parser/index.d.ts.map +1 -0
  571. package/dist/types/parser/inner.d.ts +114 -0
  572. package/dist/types/parser/inner.d.ts.map +1 -0
  573. package/dist/types/parser/instructions.d.ts +76 -0
  574. package/dist/types/parser/instructions.d.ts.map +1 -0
  575. package/dist/types/parser/transaction.d.ts +77 -0
  576. package/dist/types/parser/transaction.d.ts.map +1 -0
  577. package/dist/types/parser/types.d.ts +154 -0
  578. package/dist/types/parser/types.d.ts.map +1 -0
  579. package/dist/types/pda/index.d.ts +527 -0
  580. package/dist/types/pda/index.d.ts.map +1 -0
  581. package/dist/types/plugin/index.d.ts +171 -0
  582. package/dist/types/plugin/index.d.ts.map +1 -0
  583. package/dist/types/plugin/protocols.d.ts +152 -0
  584. package/dist/types/plugin/protocols.d.ts.map +1 -0
  585. package/dist/types/plugin/schemas.d.ts +829 -0
  586. package/dist/types/plugin/schemas.d.ts.map +1 -0
  587. package/dist/types/postgres/adapter.d.ts +355 -0
  588. package/dist/types/postgres/adapter.d.ts.map +1 -0
  589. package/dist/types/postgres/index.d.ts +24 -0
  590. package/dist/types/postgres/index.d.ts.map +1 -0
  591. package/dist/types/postgres/serializers.d.ts +30 -0
  592. package/dist/types/postgres/serializers.d.ts.map +1 -0
  593. package/dist/types/postgres/sync.d.ts +156 -0
  594. package/dist/types/postgres/sync.d.ts.map +1 -0
  595. package/dist/types/postgres/types.d.ts +167 -0
  596. package/dist/types/postgres/types.d.ts.map +1 -0
  597. package/dist/types/registries/builder.d.ts +333 -0
  598. package/dist/types/registries/builder.d.ts.map +1 -0
  599. package/dist/types/registries/discovery.d.ts +333 -0
  600. package/dist/types/registries/discovery.d.ts.map +1 -0
  601. package/dist/types/registries/fairscale.d.ts +680 -0
  602. package/dist/types/registries/fairscale.d.ts.map +1 -0
  603. package/dist/types/registries/index.d.ts +52 -0
  604. package/dist/types/registries/index.d.ts.map +1 -0
  605. package/dist/types/registries/metaplex-bridge.d.ts +488 -0
  606. package/dist/types/registries/metaplex-bridge.d.ts.map +1 -0
  607. package/dist/types/registries/session.d.ts +317 -0
  608. package/dist/types/registries/session.d.ts.map +1 -0
  609. package/dist/types/registries/x402.d.ts +523 -0
  610. package/dist/types/registries/x402.d.ts.map +1 -0
  611. package/dist/types/types/accounts.d.ts +817 -0
  612. package/dist/types/types/accounts.d.ts.map +1 -0
  613. package/dist/types/types/common.d.ts +166 -0
  614. package/dist/types/types/common.d.ts.map +1 -0
  615. package/dist/types/types/endpoint.d.ts +161 -0
  616. package/dist/types/types/endpoint.d.ts.map +1 -0
  617. package/dist/types/types/enums.d.ts +353 -0
  618. package/dist/types/types/enums.d.ts.map +1 -0
  619. package/dist/types/types/index.d.ts +29 -0
  620. package/dist/types/types/index.d.ts.map +1 -0
  621. package/dist/types/types/instructions.d.ts +400 -0
  622. package/dist/types/types/instructions.d.ts.map +1 -0
  623. package/dist/types/utils/anchor-errors.d.ts +61 -0
  624. package/dist/types/utils/anchor-errors.d.ts.map +1 -0
  625. package/dist/types/utils/endpoint-validator.d.ts +110 -0
  626. package/dist/types/utils/endpoint-validator.d.ts.map +1 -0
  627. package/dist/types/utils/escrow-validation.d.ts +145 -0
  628. package/dist/types/utils/escrow-validation.d.ts.map +1 -0
  629. package/dist/types/utils/hash.d.ts +75 -0
  630. package/dist/types/utils/hash.d.ts.map +1 -0
  631. package/dist/types/utils/index.d.ts +36 -0
  632. package/dist/types/utils/index.d.ts.map +1 -0
  633. package/dist/types/utils/merchant-validator.d.ts +176 -0
  634. package/dist/types/utils/merchant-validator.d.ts.map +1 -0
  635. package/dist/types/utils/network-normalizer.d.ts +120 -0
  636. package/dist/types/utils/network-normalizer.d.ts.map +1 -0
  637. package/dist/types/utils/priority-fee.d.ts +205 -0
  638. package/dist/types/utils/priority-fee.d.ts.map +1 -0
  639. package/dist/types/utils/rpc-strategy.d.ts +179 -0
  640. package/dist/types/utils/rpc-strategy.d.ts.map +1 -0
  641. package/dist/types/utils/schemas.d.ts +351 -0
  642. package/dist/types/utils/schemas.d.ts.map +1 -0
  643. package/dist/types/utils/serialization.d.ts +69 -0
  644. package/dist/types/utils/serialization.d.ts.map +1 -0
  645. package/dist/types/utils/validation.d.ts +29 -0
  646. package/dist/types/utils/validation.d.ts.map +1 -0
  647. package/dist/types/utils/volume-curve.d.ts +60 -0
  648. package/dist/types/utils/volume-curve.d.ts.map +1 -0
  649. package/dist/types/utils/x402-direct.d.ts +114 -0
  650. package/dist/types/utils/x402-direct.d.ts.map +1 -0
  651. package/package.json +2 -2
@@ -0,0 +1,530 @@
1
+ /**
2
+ * @module registries/x402
3
+ * @description x402 payment flow registry — high-level helpers for
4
+ * the complete x402 HTTP micropayment lifecycle.
5
+ *
6
+ * Implements the x402 payment standard on SAP:
7
+ *
8
+ * ┌──────────┐ HTTP 402 ┌──────────┐
9
+ * │ Client │ ──────────────→│ Agent │
10
+ * └────┬─────┘ └────┬─────┘
11
+ * │ 1. Discover pricing │
12
+ * │ 2. Create/fund escrow │
13
+ * │ 3. Call via x402 header │
14
+ * │ │
15
+ * │ 4. Agent serves request │
16
+ * │ 5. Agent settles onchain │
17
+ * │ ← PaymentSettledEvent ← │
18
+ * │ 6. Client verifies │
19
+ * └───────────────────────────┘
20
+ *
21
+ * This registry provides:
22
+ * - Pricing estimation with volume curve support
23
+ * - x402 HTTP header generation
24
+ * - Escrow lifecycle management
25
+ * - Settlement verification
26
+ * - Balance/expiry monitoring
27
+ *
28
+ * @category Registries
29
+ * @since v0.1.0
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * const x402 = client.x402;
34
+ *
35
+ * // === CLIENT SIDE ===
36
+ *
37
+ * // 1. Estimate cost before committing
38
+ * const estimate = x402.estimateCost(agentWallet, 100);
39
+ *
40
+ * // 2. Prepare payment (creates escrow + deposits)
41
+ * const ctx = await x402.preparePayment(agentWallet, {
42
+ * pricePerCall: 1000,
43
+ * maxCalls: 100,
44
+ * deposit: 100_000,
45
+ * });
46
+ *
47
+ * // 3. Build x402 HTTP headers for API calls
48
+ * const headers = x402.buildPaymentHeaders(ctx);
49
+ *
50
+ * // 4. Check balance
51
+ * const balance = await x402.getBalance(agentWallet);
52
+ *
53
+ * // === AGENT SIDE ===
54
+ *
55
+ * // 5. Settle after serving calls
56
+ * const receipt = await x402.settle(depositorWallet, 5, serviceData);
57
+ *
58
+ * // 6. Batch settle for efficiency
59
+ * const batchReceipt = await x402.settleBatch(depositorWallet, settlements);
60
+ *
61
+ * // 7. Verify a settlement TX
62
+ * const verified = await x402.verifySettlement(txSignature);
63
+ * ```
64
+ */
65
+ import { type PublicKey, type TransactionSignature } from "@solana/web3.js";
66
+ import { BN } from "@coral-xyz/anchor";
67
+ import type { SapProgram } from "../modules/base";
68
+ import type { SapNetworkId } from "../constants/network";
69
+ import type { EscrowAccountData, EscrowAccountV2Data, VolumeCurveBreakpoint } from "../types";
70
+ import type { SettleOptions } from "../utils/priority-fee";
71
+ export type { SettleOptions } from "../utils/priority-fee";
72
+ /**
73
+ * @interface CostEstimate
74
+ * @name CostEstimate
75
+ * @description Cost estimation result from {@link X402Registry.estimateCost} or
76
+ * {@link X402Registry.calculateCost}. Includes total cost, effective price per call,
77
+ * and per-tier breakdown when volume curves apply.
78
+ * @category Registries
79
+ * @since v0.1.0
80
+ */
81
+ export interface CostEstimate {
82
+ /** Total cost in smallest token unit. */
83
+ readonly totalCost: BN;
84
+ /** Number of calls estimated. */
85
+ readonly calls: number;
86
+ /** Effective price per call (weighted average). */
87
+ readonly effectivePricePerCall: BN;
88
+ /** Whether volume curve applies. */
89
+ readonly hasVolumeCurve: boolean;
90
+ /** Breakdown by tier (if volume curve). */
91
+ readonly tiers: Array<{
92
+ readonly calls: number;
93
+ readonly pricePerCall: BN;
94
+ readonly subtotal: BN;
95
+ }>;
96
+ }
97
+ /**
98
+ * @interface PaymentContext
99
+ * @name PaymentContext
100
+ * @description x402 payment context after escrow creation via {@link X402Registry.preparePayment}.
101
+ * Contains all information needed to build x402 HTTP headers and track the payment flow.
102
+ * @category Registries
103
+ * @since v0.1.0
104
+ */
105
+ export interface PaymentContext {
106
+ /** Escrow PDA address. */
107
+ readonly escrowPda: PublicKey;
108
+ /** Agent PDA address. */
109
+ readonly agentPda: PublicKey;
110
+ /** Agent wallet. */
111
+ readonly agentWallet: PublicKey;
112
+ /** Depositor (client) wallet. */
113
+ readonly depositorWallet: PublicKey;
114
+ /** Price per call in smallest token unit. */
115
+ readonly pricePerCall: BN;
116
+ /** Max calls allowed. */
117
+ readonly maxCalls: BN;
118
+ /** Escrow creation TX signature. */
119
+ readonly txSignature: TransactionSignature;
120
+ /**
121
+ * Network identifier for the `X-Payment-Network` header.
122
+ * Persisted at escrow creation so every subsequent
123
+ * `buildPaymentHeaders(ctx)` call uses the correct value.
124
+ *
125
+ * @default SapNetwork.SOLANA_MAINNET
126
+ * @since v0.4.3
127
+ */
128
+ readonly networkIdentifier: string;
129
+ }
130
+ /**
131
+ * @interface PreparePaymentOptions
132
+ * @name PreparePaymentOptions
133
+ * @description Options for preparing an x402 payment via {@link X402Registry.preparePayment}.
134
+ * Defines pricing, deposit, expiry, volume curve, and token configuration.
135
+ * @category Registries
136
+ * @since v0.1.0
137
+ */
138
+ export interface PreparePaymentOptions {
139
+ /** Base price per call (smallest token unit). */
140
+ readonly pricePerCall: number | string | BN;
141
+ /** Max calls allowed (0 = unlimited). */
142
+ readonly maxCalls?: number | string | BN;
143
+ /** Initial deposit amount (smallest token unit). */
144
+ readonly deposit: number | string | BN;
145
+ /** Expiry timestamp in unix seconds (0 = never). */
146
+ readonly expiresAt?: number | string | BN;
147
+ /** Volume curve breakpoints. */
148
+ readonly volumeCurve?: Array<{
149
+ afterCalls: number;
150
+ pricePerCall: number | string | BN;
151
+ }>;
152
+ /** SPL token mint (null = native SOL). */
153
+ readonly tokenMint?: PublicKey | null;
154
+ /** Token decimals (default: 9 for SOL). */
155
+ readonly tokenDecimals?: number;
156
+ /**
157
+ * Network identifier written into the `X-Payment-Network` header.
158
+ *
159
+ * Accepts any {@link SapNetworkId} constant or a custom string.
160
+ * Defaults to `SapNetwork.SOLANA_MAINNET` (`"solana:mainnet-beta"`).
161
+ *
162
+ * @example
163
+ * ```ts
164
+ * import { SapNetwork } from "@synapse-sap/sdk";
165
+ *
166
+ * // Use genesis-hash form for Kamiyo / Helius x402
167
+ * const ctx = await x402.preparePayment(agentWallet, {
168
+ * pricePerCall: 1000,
169
+ * deposit: 100_000,
170
+ * networkIdentifier: SapNetwork.SOLANA_MAINNET_GENESIS,
171
+ * });
172
+ * ```
173
+ *
174
+ * @default SapNetwork.SOLANA_MAINNET
175
+ * @since v0.4.3
176
+ */
177
+ readonly networkIdentifier?: SapNetworkId | string;
178
+ }
179
+ /**
180
+ * @interface X402Headers
181
+ * @name X402Headers
182
+ * @description x402 HTTP headers for API requests.
183
+ * Include these headers when calling an agent’s x402 endpoint.
184
+ * Built by {@link X402Registry.buildPaymentHeaders} or
185
+ * {@link X402Registry.buildPaymentHeadersFromEscrow}.
186
+ * @category Registries
187
+ * @since v0.1.0
188
+ */
189
+ export interface X402Headers {
190
+ /** x402 protocol header. */
191
+ readonly "X-Payment-Protocol": "SAP-x402";
192
+ /** Escrow PDA address (base58). */
193
+ readonly "X-Payment-Escrow": string;
194
+ /** Agent PDA address (base58). */
195
+ readonly "X-Payment-Agent": string;
196
+ /** Client wallet address (base58). */
197
+ readonly "X-Payment-Depositor": string;
198
+ /** Max calls remaining. */
199
+ readonly "X-Payment-MaxCalls": string;
200
+ /** Price per call. */
201
+ readonly "X-Payment-PricePerCall": string;
202
+ /** SAP program ID. */
203
+ readonly "X-Payment-Program": string;
204
+ /** Solana cluster. */
205
+ readonly "X-Payment-Network": string;
206
+ }
207
+ /**
208
+ * @interface EscrowBalance
209
+ * @name EscrowBalance
210
+ * @description Escrow balance and status returned by {@link X402Registry.getBalance}.
211
+ * Includes current balance, deposit/settlement totals, remaining calls,
212
+ * expiry status, and affordable call estimate.
213
+ * @category Registries
214
+ * @since v0.1.0
215
+ */
216
+ export interface EscrowBalance {
217
+ /** Current balance. */
218
+ readonly balance: BN;
219
+ /** Total deposited. */
220
+ readonly totalDeposited: BN;
221
+ /** Total settled. */
222
+ readonly totalSettled: BN;
223
+ /** Total calls settled. */
224
+ readonly totalCallsSettled: BN;
225
+ /** Calls remaining (maxCalls - settled, or Infinity if unlimited). */
226
+ readonly callsRemaining: number;
227
+ /** Is the escrow expired? */
228
+ readonly isExpired: boolean;
229
+ /** Estimated calls affordable with current balance. */
230
+ readonly affordableCalls: number;
231
+ }
232
+ /**
233
+ * @interface SettlementResult
234
+ * @name SettlementResult
235
+ * @description Settlement result with verification data from {@link X402Registry.settle}.
236
+ * Contains the transaction signature, calls settled, amount transferred,
237
+ * and the service hash used.
238
+ * @category Registries
239
+ * @since v0.1.0
240
+ */
241
+ export interface SettlementResult {
242
+ /** Transaction signature. */
243
+ readonly txSignature: TransactionSignature;
244
+ /** Calls settled. */
245
+ readonly callsSettled: number;
246
+ /** Amount transferred. */
247
+ readonly amount: BN;
248
+ /** Service hash used. */
249
+ readonly serviceHash: number[];
250
+ }
251
+ /**
252
+ * @interface BatchSettlementResult
253
+ * @name BatchSettlementResult
254
+ * @description Batch settlement result from {@link X402Registry.settleBatch}.
255
+ * Aggregates totals across all individual settlements in the batch.
256
+ * @category Registries
257
+ * @since v0.1.0
258
+ */
259
+ export interface BatchSettlementResult {
260
+ /** Transaction signature. */
261
+ readonly txSignature: TransactionSignature;
262
+ /** Total calls settled. */
263
+ readonly totalCalls: number;
264
+ /** Total amount transferred. */
265
+ readonly totalAmount: BN;
266
+ /** Number of individual settlements in batch. */
267
+ readonly settlementCount: number;
268
+ }
269
+ /**
270
+ * @name X402Registry
271
+ * @description x402 payment flow registry for the SAP network.
272
+ *
273
+ * Provides the complete x402 HTTP micropayment lifecycle: pricing
274
+ * estimation, escrow management, HTTP header generation, settlement,
275
+ * and balance monitoring. Used by both clients (payers) and agents (payees).
276
+ *
277
+ * @category Registries
278
+ * @since v0.1.0
279
+ *
280
+ * @example
281
+ * ```ts
282
+ * const x402 = client.x402;
283
+ *
284
+ * // Client: prepare payment and build headers
285
+ * const ctx = await x402.preparePayment(agentWallet, {
286
+ * pricePerCall: 1000, maxCalls: 100, deposit: 100_000,
287
+ * });
288
+ * const headers = x402.buildPaymentHeaders(ctx);
289
+ *
290
+ * // Agent: settle calls after serving
291
+ * const receipt = await x402.settle(depositorWallet, 5, "service-data");
292
+ * ```
293
+ */
294
+ export declare class X402Registry {
295
+ private readonly program;
296
+ private readonly wallet;
297
+ constructor(program: SapProgram);
298
+ /**
299
+ * @name estimateCost
300
+ * @description Estimate the cost of N calls to an agent.
301
+ * Reads the escrow data if it exists, falls back to the agent’s pricing.
302
+ * Supports volume curve pricing for tiered cost calculation.
303
+ *
304
+ * @param agentWallet - Agent wallet address.
305
+ * @param calls - Number of calls to estimate.
306
+ * @param opts - Optional: provide pricing directly to avoid on-chain fetch.
307
+ * @param opts.pricePerCall - Base price per call.
308
+ * @param opts.volumeCurve - Volume curve breakpoints.
309
+ * @param opts.totalCallsBefore - Total calls already settled (for curve offset).
310
+ * @returns A {@link CostEstimate} with total cost and per-tier breakdown.
311
+ * @since v0.1.0
312
+ */
313
+ estimateCost(agentWallet: PublicKey, calls: number, opts?: {
314
+ pricePerCall?: BN;
315
+ volumeCurve?: VolumeCurveBreakpoint[];
316
+ totalCallsBefore?: number;
317
+ }): Promise<CostEstimate>;
318
+ /**
319
+ * @name calculateCost
320
+ * @description Pure cost calculation (no network calls).
321
+ * Implements the same tiered pricing logic as the on-chain program.
322
+ *
323
+ * @param basePrice - Base price per call in smallest token unit.
324
+ * @param volumeCurve - Volume curve breakpoints.
325
+ * @param totalCallsBefore - Total calls already settled (cursor offset).
326
+ * @param calls - Number of calls to calculate cost for.
327
+ * @returns A {@link CostEstimate} with total cost and per-tier breakdown.
328
+ * @since v0.1.0
329
+ */
330
+ calculateCost(basePrice: BN, volumeCurve: VolumeCurveBreakpoint[], totalCallsBefore: number, calls: number): CostEstimate;
331
+ /**
332
+ * @name preparePayment
333
+ * @description Prepare an x402 payment flow — creates and funds an escrow.
334
+ * Derives the escrow PDA, sends the `createEscrow` instruction, and returns
335
+ * a {@link PaymentContext} for building x402 headers.
336
+ *
337
+ * @param agentWallet - The agent’s wallet public key.
338
+ * @param opts - Payment options (price, max calls, deposit, etc.).
339
+ * @returns A {@link PaymentContext} with escrow details and transaction signature.
340
+ * @since v0.1.0
341
+ * @deprecated Since v0.7.0 — Creates a V1 escrow. Use `client.escrowV2.create()` for
342
+ * V2 escrows with dispute windows, co-signing, and settlement security.
343
+ *
344
+ * @example
345
+ * ```ts
346
+ * const ctx = await x402.preparePayment(agentWallet, {
347
+ * pricePerCall: 1000,
348
+ * maxCalls: 100,
349
+ * deposit: 100_000,
350
+ * });
351
+ * ```
352
+ */
353
+ preparePayment(agentWallet: PublicKey, opts: PreparePaymentOptions): Promise<PaymentContext>;
354
+ /**
355
+ * @name addFunds
356
+ * @description Add more funds to an existing escrow.
357
+ *
358
+ * @param agentWallet - Agent wallet of the escrow.
359
+ * @param amount - Amount to deposit in smallest token unit.
360
+ * @returns The transaction signature.
361
+ * @since v0.1.0
362
+ * @deprecated Since v0.7.0 — Operates on V1 escrows only. Use `client.escrowV2.deposit()` instead.
363
+ */
364
+ addFunds(agentWallet: PublicKey, amount: number | string | BN): Promise<TransactionSignature>;
365
+ /**
366
+ * @name withdrawFunds
367
+ * @description Withdraw remaining funds from an escrow.
368
+ *
369
+ * @param agentWallet - Agent wallet of the escrow.
370
+ * @param amount - Amount to withdraw in smallest token unit.
371
+ * @returns The transaction signature.
372
+ * @since v0.1.0
373
+ * @deprecated Since v0.7.0 — Operates on V1 escrows only. Use `client.escrowV2.withdraw()` instead.
374
+ */
375
+ withdrawFunds(agentWallet: PublicKey, amount: number | string | BN): Promise<TransactionSignature>;
376
+ /**
377
+ * @name closeEscrow
378
+ * @description Close an empty escrow (balance must be 0).
379
+ * Reclaims the rent-exempt lamports.
380
+ *
381
+ * @param agentWallet - Agent wallet of the escrow.
382
+ * @returns The transaction signature.
383
+ * @since v0.1.0
384
+ * @deprecated Since v0.7.0 — Operates on V1 escrows only. Use `client.escrowV2.close()` instead.
385
+ */
386
+ closeEscrow(agentWallet: PublicKey): Promise<TransactionSignature>;
387
+ /**
388
+ * @name buildPaymentHeaders
389
+ * @description Build x402 HTTP headers for API requests.
390
+ * Include these headers when calling an agent’s x402 endpoint.
391
+ *
392
+ * @param ctx - Payment context from {@link X402Registry.preparePayment}.
393
+ * @param opts - Optional settings.
394
+ * @param opts.network - Solana cluster name (defaults to `"mainnet-beta"`).
395
+ * @returns An {@link X402Headers} object ready to merge into HTTP requests.
396
+ * @since v0.1.0
397
+ */
398
+ buildPaymentHeaders(ctx: PaymentContext, opts?: {
399
+ network?: string;
400
+ }): X402Headers;
401
+ /**
402
+ * @name buildPaymentHeadersFromEscrow
403
+ * @description Build x402 headers directly from an agent wallet (fetches escrow data).
404
+ * Convenience method that fetches the escrow account on-chain.
405
+ *
406
+ * @param agentWallet - Agent wallet to look up the escrow for.
407
+ * @param opts - Optional settings.
408
+ * @param opts.network - Network identifier for the `X-Payment-Network` header.
409
+ * Defaults to `SapNetwork.SOLANA_MAINNET`.
410
+ * @returns An {@link X402Headers} object, or `null` if no escrow exists.
411
+ * @since v0.1.0
412
+ */
413
+ buildPaymentHeadersFromEscrow(agentWallet: PublicKey, opts?: {
414
+ network?: SapNetworkId | string;
415
+ }): Promise<X402Headers | null>;
416
+ /**
417
+ * @name settle
418
+ * @description Settle calls — agent claims payment for calls served.
419
+ * Must be called by the agent owner wallet. Calculates the settlement
420
+ * amount using the escrow’s pricing and volume curve.
421
+ *
422
+ * @param depositorWallet - The client wallet that funded the escrow.
423
+ * @param callsToSettle - Number of calls to settle.
424
+ * @param serviceData - Raw service data (auto-hashed to `service_hash`).
425
+ * @param opts - Optional {@link SettleOptions} for priority fees and RPC tuning.
426
+ * @returns A {@link SettlementResult} with transaction details and amount.
427
+ * @since v0.1.0
428
+ * @updated v0.6.2 — Added optional `opts` parameter for priority fees.
429
+ *
430
+ * @example
431
+ * ```ts
432
+ * // Default (no priority fee)
433
+ * const receipt = await x402.settle(depositor, 1, "data");
434
+ *
435
+ * // Fast settlement with priority fee
436
+ * import { FAST_SETTLE_OPTIONS } from "@synapse-sap/sdk";
437
+ * const receipt = await x402.settle(depositor, 1, "data", FAST_SETTLE_OPTIONS);
438
+ *
439
+ * // Custom priority fee
440
+ * const receipt = await x402.settle(depositor, 1, "data", {
441
+ * priorityFeeMicroLamports: 10_000,
442
+ * computeUnits: 100_000,
443
+ * skipPreflight: true,
444
+ * });
445
+ * ```
446
+ */
447
+ settle(depositorWallet: PublicKey, callsToSettle: number, serviceData: string | Buffer | Uint8Array, opts?: SettleOptions): Promise<SettlementResult>;
448
+ /**
449
+ * @name settleBatch
450
+ * @description Batch settle — process up to 10 settlements in one TX.
451
+ * Must be called by the agent owner wallet. More gas-efficient than
452
+ * individual settlements.
453
+ *
454
+ * Optionally accepts {@link SettleOptions} to configure priority fees,
455
+ * compute budget, and RPC behavior for faster confirmation.
456
+ *
457
+ * @param depositorWallet - The client wallet that funded the escrow.
458
+ * @param entries - Array of `{ calls, serviceData }` settlement entries.
459
+ * @param opts - Optional {@link SettleOptions} for priority fees and RPC tuning.
460
+ * @returns A {@link BatchSettlementResult} with aggregated totals.
461
+ * @since v0.1.0
462
+ * @updated v0.6.2 — Added optional `opts` parameter for priority fees.
463
+ *
464
+ * @example
465
+ * ```ts
466
+ * import { FAST_BATCH_SETTLE_OPTIONS } from "@synapse-sap/sdk";
467
+ * const receipt = await x402.settleBatch(depositor, entries, FAST_BATCH_SETTLE_OPTIONS);
468
+ * ```
469
+ */
470
+ settleBatch(depositorWallet: PublicKey, entries: Array<{
471
+ calls: number;
472
+ serviceData: string | Buffer | Uint8Array;
473
+ }>, opts?: SettleOptions): Promise<BatchSettlementResult>;
474
+ /**
475
+ * @name getBalance
476
+ * @description Get the current escrow balance and status.
477
+ * Returns balance, deposit/settlement totals, remaining calls,
478
+ * expiry status, and affordable call estimate.
479
+ *
480
+ * @param agentWallet - Agent wallet of the escrow.
481
+ * @param depositor - Depositor wallet (defaults to caller).
482
+ * @returns An {@link EscrowBalance}, or `null` if no escrow exists.
483
+ * @since v0.1.0
484
+ */
485
+ getBalance(agentWallet: PublicKey, depositor?: PublicKey): Promise<EscrowBalance | null>;
486
+ /**
487
+ * @name hasEscrow
488
+ * @description Check if an escrow exists for a given agent + depositor pair.
489
+ *
490
+ * @param agentWallet - Agent wallet to check.
491
+ * @param depositor - Depositor wallet (defaults to caller).
492
+ * @returns `true` if the escrow account exists on-chain.
493
+ * @since v0.1.0
494
+ */
495
+ hasEscrow(agentWallet: PublicKey, depositor?: PublicKey): Promise<boolean>;
496
+ /**
497
+ * @name fetchEscrow
498
+ * @description Fetch the raw escrow account data.
499
+ *
500
+ * @param agentWallet - Agent wallet of the escrow.
501
+ * @param depositor - Depositor wallet (defaults to caller).
502
+ * @returns The raw {@link EscrowAccountData}, or `null` if not found.
503
+ * @since v0.1.0
504
+ */
505
+ fetchEscrow(agentWallet: PublicKey, depositor?: PublicKey): Promise<EscrowAccountData | EscrowAccountV2Data | null>;
506
+ /**
507
+ * @name methods
508
+ * @description Accessor for the Anchor program methods namespace.
509
+ * @returns The program methods object for building RPC calls.
510
+ * @private
511
+ */
512
+ private get methods();
513
+ /**
514
+ * @name fetchNullable
515
+ * @description Fetch an on-chain account by name and PDA. Returns `null` if not found.
516
+ * @param name - Anchor account discriminator name.
517
+ * @param pda - Account public key to fetch.
518
+ * @returns The deserialized account data, or `null` if the account does not exist.
519
+ * @private
520
+ */
521
+ private fetchNullable;
522
+ /**
523
+ * @name resolveEscrow
524
+ * @description Try to find an escrow: V2 (nonce=0) first, then V1 fallback.
525
+ * Returns the escrow data, PDA, and version indicator.
526
+ * @private
527
+ */
528
+ private resolveEscrow;
529
+ }
530
+ //# sourceMappingURL=x402.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x402.d.ts","sourceRoot":"","sources":["../../../src/registries/x402.ts"],"names":[],"mappings":"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"}