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

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 (513) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +986 -0
  3. package/dist/cjs/client.js +31 -14
  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 +31 -14
  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/package.json +2 -2
  510. package/dist/esm/instructions/memory.d.ts +0 -8
  511. package/dist/esm/instructions/memory.d.ts.map +0 -1
  512. package/dist/esm/instructions/memory.js +0 -234
  513. package/dist/esm/instructions/memory.js.map +0 -1
@@ -0,0 +1,447 @@
1
+ /**
2
+ * @module utils/anchor-errors
3
+ * @description Full SAP program error table (147 entries, codes 6000-6146)
4
+ * plus decoder utilities. Mirrors `programs/synapse-agent-sap/src/errors.rs`.
5
+ *
6
+ * Use {@link decodeAnchorError} to extract a structured error from any
7
+ * thrown RPC / simulation error. Use {@link SAP_ERRORS} for direct lookups.
8
+ *
9
+ * @category Utils
10
+ * @since v0.13.0
11
+ */
12
+ export const SAP_ERRORS = Object.freeze({
13
+ 6000: { code: 6000, name: "NameTooLong", msg: "name>64" },
14
+ 6001: { code: 6001, name: "DescriptionTooLong", msg: "desc>256" },
15
+ 6002: { code: 6002, name: "UriTooLong", msg: "uri>256" },
16
+ 6003: { code: 6003, name: "TooManyCapabilities", msg: "caps>10" },
17
+ 6004: { code: 6004, name: "TooManyPricingTiers", msg: "tiers>5" },
18
+ 6005: { code: 6005, name: "TooManyProtocols", msg: "protos>5" },
19
+ 6006: { code: 6006, name: "TooManyPlugins", msg: "plugins>5" },
20
+ 6007: { code: 6007, name: "AlreadyActive", msg: "already active" },
21
+ 6008: { code: 6008, name: "AlreadyInactive", msg: "already inactive" },
22
+ 6009: { code: 6009, name: "InvalidFeedbackScore", msg: "score 0-1000" },
23
+ 6010: { code: 6010, name: "TagTooLong", msg: "tag>32" },
24
+ 6011: { code: 6011, name: "SelfReviewNotAllowed", msg: "self review" },
25
+ 6012: { code: 6012, name: "FeedbackAlreadyRevoked", msg: "already revoked" },
26
+ 6013: { code: 6013, name: "CapabilityIndexFull", msg: "cap idx full" },
27
+ 6014: { code: 6014, name: "ProtocolIndexFull", msg: "proto idx full" },
28
+ 6015: { code: 6015, name: "AgentNotInIndex", msg: "not in idx" },
29
+ 6016: { code: 6016, name: "InvalidCapabilityHash", msg: "cap hash" },
30
+ 6017: { code: 6017, name: "InvalidProtocolHash", msg: "proto hash" },
31
+ 6018: { code: 6018, name: "InvalidPluginType", msg: "bad plugin type" },
32
+ 6019: { code: 6019, name: "ChunkDataTooLarge", msg: "chunk>900" },
33
+ 6020: { code: 6020, name: "ContentTypeTooLong", msg: "ctype>max" },
34
+ 6021: { code: 6021, name: "IpfsCidTooLong", msg: "cid>max" },
35
+ 6022: { code: 6022, name: "EmptyName", msg: "empty name" },
36
+ 6023: { code: 6023, name: "ControlCharInName", msg: "ctrl char" },
37
+ 6024: { code: 6024, name: "EmptyDescription", msg: "empty desc" },
38
+ 6025: { code: 6025, name: "AgentIdTooLong", msg: "agentid>128" },
39
+ 6026: { code: 6026, name: "InvalidCapabilityFormat", msg: "cap format" },
40
+ 6027: { code: 6027, name: "DuplicateCapability", msg: "dup cap" },
41
+ 6028: { code: 6028, name: "EmptyTierId", msg: "empty tier" },
42
+ 6029: { code: 6029, name: "DuplicateTierId", msg: "dup tier" },
43
+ 6030: { code: 6030, name: "InvalidRateLimit", msg: "rate=0" },
44
+ 6031: { code: 6031, name: "SplRequiresTokenMint", msg: "spl needs mint" },
45
+ 6032: { code: 6032, name: "InvalidX402Endpoint", msg: "x402 https" },
46
+ 6033: { code: 6033, name: "InvalidVolumeCurve", msg: "curve order" },
47
+ 6034: { code: 6034, name: "TooManyVolumeCurvePoints", msg: "curve>5" },
48
+ 6035: { code: 6035, name: "MinPriceExceedsMax", msg: "min>max price" },
49
+ 6036: { code: 6036, name: "InvalidUptimePercent", msg: "uptime 0-100" },
50
+ 6037: { code: 6037, name: "SessionClosed", msg: "session closed" },
51
+ 6038: { code: 6038, name: "InvalidSequence", msg: "bad seq" },
52
+ 6039: { code: 6039, name: "InvalidFragmentIndex", msg: "frag idx" },
53
+ 6040: { code: 6040, name: "InscriptionTooLarge", msg: "data>750" },
54
+ 6041: { code: 6041, name: "EmptyInscription", msg: "empty data" },
55
+ 6042: { code: 6042, name: "InvalidTotalFragments", msg: "frags<1" },
56
+ 6043: { code: 6043, name: "EpochMismatch", msg: "epoch mismatch" },
57
+ 6044: { code: 6044, name: "VaultNotClosed", msg: "vault open" },
58
+ 6045: { code: 6045, name: "SessionNotClosed", msg: "session open" },
59
+ 6046: { code: 6046, name: "DelegateExpired", msg: "delegate expired" },
60
+ 6047: { code: 6047, name: "InvalidDelegate", msg: "bad delegate" },
61
+ 6048: { code: 6048, name: "ToolNameTooLong", msg: "tool>32" },
62
+ 6049: { code: 6049, name: "EmptyToolName", msg: "empty tool" },
63
+ 6050: { code: 6050, name: "InvalidToolNameHash", msg: "tool hash" },
64
+ 6051: { code: 6051, name: "InvalidToolHttpMethod", msg: "bad method" },
65
+ 6052: { code: 6052, name: "InvalidToolCategory", msg: "bad category" },
66
+ 6053: { code: 6053, name: "ToolAlreadyInactive", msg: "tool inactive" },
67
+ 6054: { code: 6054, name: "ToolAlreadyActive", msg: "tool active" },
68
+ 6055: { code: 6055, name: "InvalidSchemaHash", msg: "schema hash" },
69
+ 6056: { code: 6056, name: "InvalidSchemaType", msg: "schema type" },
70
+ 6057: { code: 6057, name: "InvalidCheckpointIndex", msg: "cp index" },
71
+ 6058: { code: 6058, name: "FeedbackNotRevoked", msg: "not revoked" },
72
+ 6059: { code: 6059, name: "IndexNotEmpty", msg: "idx not empty" },
73
+ 6060: { code: 6060, name: "SessionStillOpen", msg: "session open" },
74
+ 6061: { code: 6061, name: "NoFieldsToUpdate", msg: "no fields" },
75
+ 6062: { code: 6062, name: "InsufficientEscrowBalance", msg: "low balance" },
76
+ 6063: { code: 6063, name: "EscrowMaxCallsExceeded", msg: "max calls" },
77
+ 6064: { code: 6064, name: "EscrowEmpty", msg: "escrow empty" },
78
+ 6065: { code: 6065, name: "EscrowNotEmpty", msg: "escrow!=0" },
79
+ 6066: { code: 6066, name: "InvalidSettlementCalls", msg: "calls<1" },
80
+ 6067: { code: 6067, name: "AttestationTypeTooLong", msg: "atype>32" },
81
+ 6068: { code: 6068, name: "EmptyAttestationType", msg: "empty atype" },
82
+ 6069: { code: 6069, name: "SelfAttestationNotAllowed", msg: "self attest" },
83
+ 6070: { code: 6070, name: "AttestationAlreadyRevoked", msg: "already revoked" },
84
+ 6071: { code: 6071, name: "AttestationNotRevoked", msg: "not revoked" },
85
+ 6072: { code: 6072, name: "ToolCategoryIndexFull", msg: "cat idx full" },
86
+ 6073: { code: 6073, name: "ToolNotInCategoryIndex", msg: "not in cat" },
87
+ 6074: { code: 6074, name: "ToolCategoryMismatch", msg: "cat mismatch" },
88
+ 6075: { code: 6075, name: "ArithmeticOverflow", msg: "overflow" },
89
+ 6076: { code: 6076, name: "EscrowExpired", msg: "escrow expired" },
90
+ 6077: { code: 6077, name: "AgentInactive", msg: "agent inactive" },
91
+ 6078: { code: 6078, name: "AttestationExpired", msg: "attest expired" },
92
+ 6079: { code: 6079, name: "BufferFull", msg: "buf full" },
93
+ 6080: { code: 6080, name: "BufferDataTooLarge", msg: "buf>750" },
94
+ 6081: { code: 6081, name: "Unauthorized", msg: "unauthorized" },
95
+ 6082: { code: 6082, name: "InvalidSession", msg: "bad session" },
96
+ 6083: { code: 6083, name: "EmptyDigestHash", msg: "empty hash" },
97
+ 6084: { code: 6084, name: "LedgerDataTooLarge", msg: "ledger>750" },
98
+ 6085: { code: 6085, name: "LedgerRingEmpty", msg: "ring empty" },
99
+ 6086: { code: 6086, name: "BatchEmpty", msg: "batch empty" },
100
+ 6087: { code: 6087, name: "BatchTooLarge", msg: "batch>10" },
101
+ 6088: { code: 6088, name: "SplTokenRequired", msg: "spl accts" },
102
+ 6089: { code: 6089, name: "InvalidTokenAccount", msg: "bad token" },
103
+ 6090: { code: 6090, name: "InvalidTokenProgram", msg: "bad prog" },
104
+ 6091: { code: 6091, name: "InvalidSettlementSecurity", msg: "bad security" },
105
+ 6092: { code: 6092, name: "CoSignerRequired", msg: "cosigner" },
106
+ 6093: { code: 6093, name: "InvalidCoSigner", msg: "bad cosigner" },
107
+ 6094: { code: 6094, name: "InvalidArbiter", msg: "bad arbiter" },
108
+ 6095: { code: 6095, name: "ArbiterRequired", msg: "arbiter=0" },
109
+ 6096: { code: 6096, name: "EscrowNonceReused", msg: "nonce reused" },
110
+ 6097: { code: 6097, name: "SettlementNotPending", msg: "not pending" },
111
+ 6098: { code: 6098, name: "SettlementAlreadyFinalized", msg: "already final" },
112
+ 6099: { code: 6099, name: "DisputeWindowNotExpired", msg: "too early" },
113
+ 6100: { code: 6100, name: "DisputeWindowExpired", msg: "window closed" },
114
+ 6101: { code: 6101, name: "NotDepositor", msg: "not depositor" },
115
+ 6102: { code: 6102, name: "DisputeAlreadyFiled", msg: "dup dispute" },
116
+ 6103: { code: 6103, name: "DisputeStillOpen", msg: "dispute open" },
117
+ 6104: { code: 6104, name: "NotArbiter", msg: "not arbiter" },
118
+ 6105: { code: 6105, name: "InvalidDisputeOutcome", msg: "bad outcome" },
119
+ 6106: { code: 6106, name: "StakeBelowMinimum", msg: "stake<min" },
120
+ 6107: { code: 6107, name: "NoStakeAccount", msg: "no stake" },
121
+ 6108: { code: 6108, name: "UnstakeAlreadyPending", msg: "unstake pending" },
122
+ 6109: { code: 6109, name: "UnstakeCooldownNotMet", msg: "cooldown" },
123
+ 6110: { code: 6110, name: "NoUnstakePending", msg: "no unstake" },
124
+ 6111: { code: 6111, name: "SlashExceedsStake", msg: "slash>stake" },
125
+ 6112: { code: 6112, name: "SubscriptionAlreadyActive", msg: "sub active" },
126
+ 6113: { code: 6113, name: "SubscriptionCancelled", msg: "sub cancelled" },
127
+ 6114: { code: 6114, name: "NoIntervalDue", msg: "no due" },
128
+ 6115: { code: 6115, name: "SubscriptionInsufficientBalance", msg: "sub low bal" },
129
+ 6116: { code: 6116, name: "InvalidBillingInterval", msg: "bad interval" },
130
+ 6117: { code: 6117, name: "InvalidShardIndex", msg: "bad shard" },
131
+ 6118: { code: 6118, name: "IndexPageFull", msg: "page full" },
132
+ 6119: { code: 6119, name: "InvalidPageIndex", msg: "bad page" },
133
+ 6120: { code: 6120, name: "IndexPageNotEmpty", msg: "page≠empty" },
134
+ 6121: { code: 6121, name: "AlreadyMigrated", msg: "already v2" },
135
+ 6122: { code: 6122, name: "MigrationV1Only", msg: "v1 only" },
136
+ 6123: { code: 6123, name: "SettlementDisputed", msg: "disputed" },
137
+ 6124: { code: 6124, name: "InvalidAgentWallet", msg: "bad agent wallet" },
138
+ 6125: { code: 6125, name: "StakeAgentMismatch", msg: "stake agent mismatch" },
139
+ 6126: { code: 6126, name: "NotAuthority", msg: "not authority" },
140
+ 6127: { code: 6127, name: "UnstakeBelowRent", msg: "unstake below rent" },
141
+ 6128: { code: 6128, name: "InsufficientStake", msg: "insufficient stake" },
142
+ 6129: { code: 6129, name: "SelfReportDeprecated", msg: "SelfReport deprecated" },
143
+ 6130: { code: 6130, name: "ArbiterDeprecated", msg: "arbiter deprecated" },
144
+ 6131: { code: 6131, name: "InvalidBatchIndex", msg: "bad batch idx" },
145
+ 6132: { code: 6132, name: "InvalidPeriod", msg: "bad period" },
146
+ 6133: { code: 6133, name: "InvalidDisputeType", msg: "bad dispute type" },
147
+ 6134: { code: 6134, name: "ProofDeadlineExpired", msg: "proof expired" },
148
+ 6135: { code: 6135, name: "ProofDeadlineNotExpired", msg: "proof not expired" },
149
+ 6136: { code: 6136, name: "InvalidReceiptProof", msg: "bad receipt proof" },
150
+ 6137: { code: 6137, name: "SettlementReplay", msg: "settlement replay" },
151
+ 6138: { code: 6138, name: "PaymentTokenNotAllowed", msg: "token not allowed" },
152
+ 6139: { code: 6139, name: "AgentStakeRequired", msg: "agent stake required" },
153
+ 6140: { code: 6140, name: "DelegateExpiryInvalid", msg: "delegate expiry invalid" },
154
+ 6141: { code: 6141, name: "EscrowNotClosed", msg: "escrow not closed" },
155
+ 6142: { code: 6142, name: "VolumeCurveNotDescending", msg: "curve not descending" },
156
+ 6143: { code: 6143, name: "DuplicateServiceHash", msg: "dup service hash" },
157
+ 6144: { code: 6144, name: "StakeBelowCoverage", msg: "stake under coverage" },
158
+ 6145: { code: 6145, name: "StakeNotClosable", msg: "stake not closable" },
159
+ 6146: { code: 6146, name: "AgentStakeAccountMissing", msg: "agent stake account missing" },
160
+ });
161
+ export const SAP_ERROR_BY_NAME = Object.freeze({
162
+ NameTooLong: 6000,
163
+ DescriptionTooLong: 6001,
164
+ UriTooLong: 6002,
165
+ TooManyCapabilities: 6003,
166
+ TooManyPricingTiers: 6004,
167
+ TooManyProtocols: 6005,
168
+ TooManyPlugins: 6006,
169
+ AlreadyActive: 6007,
170
+ AlreadyInactive: 6008,
171
+ InvalidFeedbackScore: 6009,
172
+ TagTooLong: 6010,
173
+ SelfReviewNotAllowed: 6011,
174
+ FeedbackAlreadyRevoked: 6012,
175
+ CapabilityIndexFull: 6013,
176
+ ProtocolIndexFull: 6014,
177
+ AgentNotInIndex: 6015,
178
+ InvalidCapabilityHash: 6016,
179
+ InvalidProtocolHash: 6017,
180
+ InvalidPluginType: 6018,
181
+ ChunkDataTooLarge: 6019,
182
+ ContentTypeTooLong: 6020,
183
+ IpfsCidTooLong: 6021,
184
+ EmptyName: 6022,
185
+ ControlCharInName: 6023,
186
+ EmptyDescription: 6024,
187
+ AgentIdTooLong: 6025,
188
+ InvalidCapabilityFormat: 6026,
189
+ DuplicateCapability: 6027,
190
+ EmptyTierId: 6028,
191
+ DuplicateTierId: 6029,
192
+ InvalidRateLimit: 6030,
193
+ SplRequiresTokenMint: 6031,
194
+ InvalidX402Endpoint: 6032,
195
+ InvalidVolumeCurve: 6033,
196
+ TooManyVolumeCurvePoints: 6034,
197
+ MinPriceExceedsMax: 6035,
198
+ InvalidUptimePercent: 6036,
199
+ SessionClosed: 6037,
200
+ InvalidSequence: 6038,
201
+ InvalidFragmentIndex: 6039,
202
+ InscriptionTooLarge: 6040,
203
+ EmptyInscription: 6041,
204
+ InvalidTotalFragments: 6042,
205
+ EpochMismatch: 6043,
206
+ VaultNotClosed: 6044,
207
+ SessionNotClosed: 6045,
208
+ DelegateExpired: 6046,
209
+ InvalidDelegate: 6047,
210
+ ToolNameTooLong: 6048,
211
+ EmptyToolName: 6049,
212
+ InvalidToolNameHash: 6050,
213
+ InvalidToolHttpMethod: 6051,
214
+ InvalidToolCategory: 6052,
215
+ ToolAlreadyInactive: 6053,
216
+ ToolAlreadyActive: 6054,
217
+ InvalidSchemaHash: 6055,
218
+ InvalidSchemaType: 6056,
219
+ InvalidCheckpointIndex: 6057,
220
+ FeedbackNotRevoked: 6058,
221
+ IndexNotEmpty: 6059,
222
+ SessionStillOpen: 6060,
223
+ NoFieldsToUpdate: 6061,
224
+ InsufficientEscrowBalance: 6062,
225
+ EscrowMaxCallsExceeded: 6063,
226
+ EscrowEmpty: 6064,
227
+ EscrowNotEmpty: 6065,
228
+ InvalidSettlementCalls: 6066,
229
+ AttestationTypeTooLong: 6067,
230
+ EmptyAttestationType: 6068,
231
+ SelfAttestationNotAllowed: 6069,
232
+ AttestationAlreadyRevoked: 6070,
233
+ AttestationNotRevoked: 6071,
234
+ ToolCategoryIndexFull: 6072,
235
+ ToolNotInCategoryIndex: 6073,
236
+ ToolCategoryMismatch: 6074,
237
+ ArithmeticOverflow: 6075,
238
+ EscrowExpired: 6076,
239
+ AgentInactive: 6077,
240
+ AttestationExpired: 6078,
241
+ BufferFull: 6079,
242
+ BufferDataTooLarge: 6080,
243
+ Unauthorized: 6081,
244
+ InvalidSession: 6082,
245
+ EmptyDigestHash: 6083,
246
+ LedgerDataTooLarge: 6084,
247
+ LedgerRingEmpty: 6085,
248
+ BatchEmpty: 6086,
249
+ BatchTooLarge: 6087,
250
+ SplTokenRequired: 6088,
251
+ InvalidTokenAccount: 6089,
252
+ InvalidTokenProgram: 6090,
253
+ InvalidSettlementSecurity: 6091,
254
+ CoSignerRequired: 6092,
255
+ InvalidCoSigner: 6093,
256
+ InvalidArbiter: 6094,
257
+ ArbiterRequired: 6095,
258
+ EscrowNonceReused: 6096,
259
+ SettlementNotPending: 6097,
260
+ SettlementAlreadyFinalized: 6098,
261
+ DisputeWindowNotExpired: 6099,
262
+ DisputeWindowExpired: 6100,
263
+ NotDepositor: 6101,
264
+ DisputeAlreadyFiled: 6102,
265
+ DisputeStillOpen: 6103,
266
+ NotArbiter: 6104,
267
+ InvalidDisputeOutcome: 6105,
268
+ StakeBelowMinimum: 6106,
269
+ NoStakeAccount: 6107,
270
+ UnstakeAlreadyPending: 6108,
271
+ UnstakeCooldownNotMet: 6109,
272
+ NoUnstakePending: 6110,
273
+ SlashExceedsStake: 6111,
274
+ SubscriptionAlreadyActive: 6112,
275
+ SubscriptionCancelled: 6113,
276
+ NoIntervalDue: 6114,
277
+ SubscriptionInsufficientBalance: 6115,
278
+ InvalidBillingInterval: 6116,
279
+ InvalidShardIndex: 6117,
280
+ IndexPageFull: 6118,
281
+ InvalidPageIndex: 6119,
282
+ IndexPageNotEmpty: 6120,
283
+ AlreadyMigrated: 6121,
284
+ MigrationV1Only: 6122,
285
+ SettlementDisputed: 6123,
286
+ InvalidAgentWallet: 6124,
287
+ StakeAgentMismatch: 6125,
288
+ NotAuthority: 6126,
289
+ UnstakeBelowRent: 6127,
290
+ InsufficientStake: 6128,
291
+ SelfReportDeprecated: 6129,
292
+ ArbiterDeprecated: 6130,
293
+ InvalidBatchIndex: 6131,
294
+ InvalidPeriod: 6132,
295
+ InvalidDisputeType: 6133,
296
+ ProofDeadlineExpired: 6134,
297
+ ProofDeadlineNotExpired: 6135,
298
+ InvalidReceiptProof: 6136,
299
+ SettlementReplay: 6137,
300
+ PaymentTokenNotAllowed: 6138,
301
+ AgentStakeRequired: 6139,
302
+ DelegateExpiryInvalid: 6140,
303
+ EscrowNotClosed: 6141,
304
+ VolumeCurveNotDescending: 6142,
305
+ DuplicateServiceHash: 6143,
306
+ StakeBelowCoverage: 6144,
307
+ StakeNotClosable: 6145,
308
+ AgentStakeAccountMissing: 6146,
309
+ });
310
+ const FRIENDLY_OVERRIDES = Object.freeze({
311
+ Unauthorized: "Unauthorized — wallet does not match the on-chain authority for this PDA.",
312
+ AgentInactive: "Agent is inactive (deactivated). Reactivate before publishing tools or accepting escrows.",
313
+ AgentStakeRequired: "Agent stake account missing or below MIN_STAKE (0.1 SOL). Initialize stake first.",
314
+ StakeBelowMinimum: "Stake below minimum (0.1 SOL). Top up before requesting unstake or accepting escrows.",
315
+ StakeBelowCoverage: "Stake below coverage requirement for outstanding escrow. Increase stake or wait for escrows to settle.",
316
+ PaymentTokenNotAllowed: "Token mint not in allowlist. Use SOL (null) or USDC (mainnet/devnet).",
317
+ DelegateExpiryInvalid: "Delegate expiry exceeds MAX_DELEGATE_DURATION_SECS (365 days) from now.",
318
+ EscrowNotEmpty: "Escrow balance != 0. Withdraw or settle remaining funds before closing.",
319
+ EscrowEmpty: "Escrow balance is zero — cannot settle.",
320
+ InsufficientEscrowBalance: "Insufficient escrow balance for the requested settlement amount.",
321
+ ArithmeticOverflow: "Arithmetic overflow — likely an orphan PendingSettlement, mismatched amount, or unsigned subtraction. Run `escrowV2.diagnoseOrphanPending()` to inspect.",
322
+ EscrowNonceReused: "Escrow nonce already used by this depositor. Pick a fresh nonce.",
323
+ SettlementNotPending: "PendingSettlement is not in pending state (already finalized or never created).",
324
+ SettlementAlreadyFinalized: "PendingSettlement already finalized — cannot finalize twice.",
325
+ DisputeWindowNotExpired: "Dispute window still open. Wait until escrow.dispute_window_slots elapse before finalizing.",
326
+ DisputeWindowExpired: "Dispute window already closed. Cannot file dispute.",
327
+ CoSignerRequired: "Settlement security mode requires a co-signer. Pass the co-signer keypair.",
328
+ InvalidCoSigner: "Co-signer pubkey does not match the on-chain `escrow.co_signer`.",
329
+ InvalidSettlementSecurity: "Settlement security mode mismatch with on-chain escrow config.",
330
+ SettlementReplay: "Settlement receipt PDA already exists for this serviceHash/batchRoot. Replay blocked.",
331
+ DuplicateServiceHash: "Two settlements in the same batch share the same serviceHash. Make each call unique.",
332
+ BatchTooLarge: "Batch settle exceeds 10 entries. Split across multiple transactions.",
333
+ BatchEmpty: "Batch settle requires at least 1 settlement.",
334
+ InscriptionTooLarge: "Inscription chunk exceeds 750 bytes. Split into more fragments.",
335
+ InvalidSchemaHash: "Tool schema hash is empty / invalid. v0.2.0+ requires every tool to publish a JSON schema (or schema_hash).",
336
+ EmptyToolName: "Tool name cannot be empty.",
337
+ ToolNameTooLong: "Tool name exceeds 32 bytes.",
338
+ EscrowExpired: "Escrow expired (expiresAt passed). Create a new escrow.",
339
+ UnstakeCooldownNotMet: "Unstake cooldown not elapsed. Wait for the cooldown window before completing unstake.",
340
+ UnstakeBelowRent: "Resulting stake balance would fall below the rent-exempt minimum. Reduce unstake amount.",
341
+ });
342
+ /**
343
+ * @name decodeAnchorError
344
+ * @description Pull an Anchor / SAP error out of any caught value.
345
+ * Handles: AnchorError, raw RPC SimulateError, `0x...` hex codes,
346
+ * nested `error.errorCode.number`, and direct `code` numbers.
347
+ * @returns Structured {@link DecodedAnchorError} or `null` if not a SAP error.
348
+ * @since v0.13.0
349
+ */
350
+ export function decodeAnchorError(err) {
351
+ if (err == null || typeof err !== "object")
352
+ return null;
353
+ const code = extractCode(err);
354
+ if (code == null)
355
+ return null;
356
+ const entry = SAP_ERRORS[code];
357
+ if (!entry) {
358
+ return {
359
+ code,
360
+ name: "Unknown",
361
+ msg: `custom program error 0x${code.toString(16)}`,
362
+ friendly: `Unknown SAP error (code ${code}). Check IDL.`,
363
+ logs: extractLogs(err),
364
+ };
365
+ }
366
+ return {
367
+ code: entry.code,
368
+ name: entry.name,
369
+ msg: entry.msg,
370
+ friendly: FRIENDLY_OVERRIDES[entry.name] ?? `${entry.name}: ${entry.msg}`,
371
+ logs: extractLogs(err),
372
+ };
373
+ }
374
+ function extractCode(err) {
375
+ if (typeof err !== "object" || err == null)
376
+ return null;
377
+ const e = err;
378
+ if (typeof e.code === "number")
379
+ return e.code;
380
+ const nested = e.error;
381
+ if (nested && typeof nested === "object") {
382
+ const errorCode = nested.errorCode;
383
+ if (errorCode && typeof errorCode === "object") {
384
+ const num = errorCode.number;
385
+ if (typeof num === "number")
386
+ return num;
387
+ }
388
+ }
389
+ const msg = err.message;
390
+ if (typeof msg === "string") {
391
+ const hex = msg.match(/custom program error:\s*0x([0-9a-fA-F]+)/);
392
+ if (hex?.[1])
393
+ return parseInt(hex[1], 16);
394
+ const dec = msg.match(/Error Number:\s*(\d+)/);
395
+ if (dec?.[1])
396
+ return parseInt(dec[1], 10);
397
+ }
398
+ return null;
399
+ }
400
+ function extractLogs(err) {
401
+ if (typeof err !== "object" || err == null)
402
+ return undefined;
403
+ const logs = err.logs;
404
+ if (Array.isArray(logs))
405
+ return logs;
406
+ const nested = err.simulationResponse;
407
+ if (nested && typeof nested === "object") {
408
+ const inner = nested.logs;
409
+ if (Array.isArray(inner))
410
+ return inner;
411
+ }
412
+ return undefined;
413
+ }
414
+ /**
415
+ * @name SapPreflightError
416
+ * @description Thrown by SDK preflights when an on-chain check is guaranteed
417
+ * to fail. Carries the predicted error code/name so callers can branch
418
+ * without parsing strings.
419
+ * @since v0.13.0
420
+ */
421
+ export class SapPreflightError extends Error {
422
+ predictedCode;
423
+ predictedName;
424
+ hint;
425
+ preflight = true;
426
+ constructor(message, predictedCode, predictedName, hint) {
427
+ super(message);
428
+ this.predictedCode = predictedCode;
429
+ this.predictedName = predictedName;
430
+ this.hint = hint;
431
+ this.name = "SapPreflightError";
432
+ }
433
+ }
434
+ /**
435
+ * @name throwPredicted
436
+ * @description Helper for SDK preflights. Throws a {@link SapPreflightError}
437
+ * carrying the on-chain error name + friendly message.
438
+ * @since v0.13.0
439
+ */
440
+ export function throwPredicted(name, hint) {
441
+ const code = SAP_ERROR_BY_NAME[name] ?? -1;
442
+ const entry = code >= 0 ? SAP_ERRORS[code] : undefined;
443
+ const friendly = FRIENDLY_OVERRIDES[name] ?? `${String(name)}: ${entry?.msg ?? ""}`;
444
+ const full = hint ? `${friendly} (${hint})` : friendly;
445
+ throw new SapPreflightError(full, code, name, hint);
446
+ }
447
+ //# sourceMappingURL=anchor-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anchor-errors.js","sourceRoot":"","sources":["../../../src/utils/anchor-errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * @module utils/endpoint-validator
3
+ * @description Endpoint validation utilities for SAP agent discovery.
4
+ *
5
+ * Fetches advertised endpoints and verifies they respond with JSON,
6
+ * proper CORS headers, and SAP-compatible behavior. Designed to
7
+ * fail fast when an endpoint 404s, requires CSRF tokens, or
8
+ * serves HTML instead of JSON.
9
+ *
10
+ * Used by:
11
+ * - CLI `discovery validate` command
12
+ * - SDK programmatic validation before x402 calls
13
+ * - Integration test harnesses
14
+ *
15
+ * @category Utils
16
+ * @since v0.6.0
17
+ */
18
+ import type { EndpointDescriptor, HealthCheckDescriptor, EndpointValidationResult } from "../types/endpoint";
19
+ /**
20
+ * @interface ValidateEndpointOptions
21
+ * @description Options for endpoint validation.
22
+ * @category Utils
23
+ * @since v0.6.0
24
+ */
25
+ export interface ValidateEndpointOptions {
26
+ /** Timeout in milliseconds (default: 10000). */
27
+ readonly timeoutMs?: number;
28
+ /** Number of retries on failure (default: 1). */
29
+ readonly retries?: number;
30
+ /** HTTP method override (default: uses descriptor or HEAD). */
31
+ readonly method?: string;
32
+ /** Custom headers to include in the validation request. */
33
+ readonly headers?: Record<string, string>;
34
+ /** If true, also sends a preflight OPTIONS request. */
35
+ readonly checkCors?: boolean;
36
+ }
37
+ /**
38
+ * @name validateEndpoint
39
+ * @description Validate a single endpoint URL for SAP compatibility.
40
+ *
41
+ * Performs the following checks:
42
+ * 1. URL is reachable (no 4xx/5xx)
43
+ * 2. Response Content-Type is JSON
44
+ * 3. CORS headers are present (if checkCors enabled)
45
+ * 4. No redirect to HTML login pages
46
+ * 5. Measures response latency
47
+ *
48
+ * @param url - The endpoint URL to validate.
49
+ * @param opts - Validation options.
50
+ * @returns An {@link EndpointValidationResult} with detailed check results.
51
+ *
52
+ * @category Utils
53
+ * @since v0.6.0
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * const result = await validateEndpoint("https://api.example.com/x402");
58
+ * if (!result.reachable) console.error(result.error);
59
+ * ```
60
+ */
61
+ export declare function validateEndpoint(url: string, opts?: ValidateEndpointOptions): Promise<EndpointValidationResult>;
62
+ /**
63
+ * @name validateEndpointDescriptor
64
+ * @description Validate an {@link EndpointDescriptor} with context-aware checks.
65
+ *
66
+ * Uses the descriptor's method, auth requirements, and other metadata to
67
+ * perform a more targeted validation than raw URL checking.
68
+ *
69
+ * @param descriptor - The endpoint descriptor to validate.
70
+ * @param opts - Additional options.
71
+ * @returns An {@link EndpointValidationResult}.
72
+ *
73
+ * @category Utils
74
+ * @since v0.6.0
75
+ */
76
+ export declare function validateEndpointDescriptor(descriptor: EndpointDescriptor, opts?: ValidateEndpointOptions): Promise<EndpointValidationResult>;
77
+ /**
78
+ * @name validateHealthCheck
79
+ * @description Validate an agent's health-check endpoint.
80
+ *
81
+ * @param health - The health-check descriptor.
82
+ * @returns An {@link EndpointValidationResult}.
83
+ *
84
+ * @category Utils
85
+ * @since v0.6.0
86
+ */
87
+ export declare function validateHealthCheck(health: HealthCheckDescriptor): Promise<EndpointValidationResult>;
88
+ /**
89
+ * @name validateAgentEndpoints
90
+ * @description Validate all endpoints for an agent (primary + health + tool overrides).
91
+ *
92
+ * @param params - Object containing the endpoints to validate.
93
+ * @param params.endpoint - Primary endpoint descriptor.
94
+ * @param params.healthCheck - Optional health-check descriptor.
95
+ * @param params.toolEndpoints - Optional array of tool-specific endpoint overrides.
96
+ * @param opts - Validation options.
97
+ * @returns A map of `label → EndpointValidationResult`.
98
+ *
99
+ * @category Utils
100
+ * @since v0.6.0
101
+ */
102
+ export declare function validateAgentEndpoints(params: {
103
+ endpoint: EndpointDescriptor;
104
+ healthCheck?: HealthCheckDescriptor;
105
+ toolEndpoints?: Array<{
106
+ name: string;
107
+ endpoint: EndpointDescriptor;
108
+ }>;
109
+ }, opts?: ValidateEndpointOptions): Promise<Map<string, EndpointValidationResult>>;
110
+ //# sourceMappingURL=endpoint-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint-validator.d.ts","sourceRoot":"","sources":["../../../src/utils/endpoint-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,mBAAmB,CAAC;AAM3B;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,gDAAgD;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,iDAAiD;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,uDAAuD;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,wBAAwB,CAAC,CA+FnC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,kBAAkB,EAC9B,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,wBAAwB,CAAC,CA6BnC;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,wBAAwB,CAAC,CAmBnC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE;IACN,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,kBAAkB,CAAA;KAAE,CAAC,CAAC;CACvE,EACD,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAsBhD"}