@oobe-protocol-labs/synapse-sap-sdk 0.13.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 (418) hide show
  1. package/dist/cjs/accounts/index.js +286 -0
  2. package/dist/cjs/accounts/index.js.map +1 -0
  3. package/dist/cjs/client.js +125 -0
  4. package/dist/cjs/client.js.map +1 -0
  5. package/dist/cjs/constants/seeds.js +9 -9
  6. package/dist/cjs/constants/seeds.js.map +1 -1
  7. package/dist/cjs/constants.js +66 -0
  8. package/dist/cjs/constants.js.map +1 -0
  9. package/dist/cjs/errors.js +260 -0
  10. package/dist/cjs/errors.js.map +1 -0
  11. package/dist/cjs/events/index.js +37 -123
  12. package/dist/cjs/events/index.js.map +1 -1
  13. package/dist/cjs/idlTypes.js +4 -0
  14. package/dist/cjs/idlTypes.js.map +1 -0
  15. package/dist/cjs/index.js +75 -241
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/instructions/agent.js +90 -0
  18. package/dist/cjs/instructions/agent.js.map +1 -0
  19. package/dist/cjs/instructions/attestation.js +113 -0
  20. package/dist/cjs/instructions/attestation.js.map +1 -0
  21. package/dist/cjs/instructions/digest.js +29 -0
  22. package/dist/cjs/instructions/digest.js.map +1 -0
  23. package/dist/cjs/instructions/dispute.js +117 -0
  24. package/dist/cjs/instructions/dispute.js.map +1 -0
  25. package/dist/cjs/instructions/escrow.js +102 -0
  26. package/dist/cjs/instructions/escrow.js.map +1 -0
  27. package/dist/cjs/instructions/global.js +29 -0
  28. package/dist/cjs/instructions/global.js.map +1 -0
  29. package/dist/cjs/instructions/index.js +31 -0
  30. package/dist/cjs/instructions/index.js.map +1 -0
  31. package/dist/cjs/instructions/indexing.js +222 -0
  32. package/dist/cjs/instructions/indexing.js.map +1 -0
  33. package/dist/cjs/instructions/misc.js +74 -0
  34. package/dist/cjs/instructions/misc.js.map +1 -0
  35. package/dist/cjs/instructions/session.js +90 -0
  36. package/dist/cjs/instructions/session.js.map +1 -0
  37. package/dist/cjs/instructions/staking.js +133 -0
  38. package/dist/cjs/instructions/staking.js.map +1 -0
  39. package/dist/cjs/instructions/subscription.js +81 -0
  40. package/dist/cjs/instructions/subscription.js.map +1 -0
  41. package/dist/cjs/instructions/tools.js +110 -0
  42. package/dist/cjs/instructions/tools.js.map +1 -0
  43. package/dist/cjs/instructions/vault.js +107 -0
  44. package/dist/cjs/instructions/vault.js.map +1 -0
  45. package/dist/cjs/pdas/index.js +120 -0
  46. package/dist/cjs/pdas/index.js.map +1 -0
  47. package/dist/cjs/registries/fairscale.js +1 -1
  48. package/dist/cjs/registries/fairscale.js.map +1 -1
  49. package/dist/cjs/registries/metaplex-bridge.js +1 -1
  50. package/dist/cjs/registries/metaplex-bridge.js.map +1 -1
  51. package/dist/cjs/types.js +45 -0
  52. package/dist/cjs/types.js.map +1 -0
  53. package/dist/cjs/utils/escrow-validation.js +1 -1
  54. package/dist/cjs/utils/escrow-validation.js.map +1 -1
  55. package/dist/cjs/utils/index.js +32 -83
  56. package/dist/cjs/utils/index.js.map +1 -1
  57. package/dist/cjs/utils/merchant-validator.js +5 -5
  58. package/dist/cjs/utils/merchant-validator.js.map +1 -1
  59. package/dist/cjs/utils/validate.js +236 -0
  60. package/dist/cjs/utils/validate.js.map +1 -0
  61. package/dist/cjs/utils/volume-curve.js +1 -1
  62. package/dist/cjs/utils/volume-curve.js.map +1 -1
  63. package/dist/esm/accounts/index.d.ts +11 -0
  64. package/dist/esm/accounts/index.d.ts.map +1 -0
  65. package/dist/esm/accounts/index.js +273 -0
  66. package/dist/esm/accounts/index.js.map +1 -0
  67. package/dist/esm/client.d.ts +55 -0
  68. package/dist/esm/client.d.ts.map +1 -0
  69. package/dist/esm/client.js +87 -0
  70. package/dist/esm/client.js.map +1 -0
  71. package/dist/esm/constants/addresses.d.ts +117 -0
  72. package/dist/esm/constants/addresses.d.ts.map +1 -0
  73. package/dist/esm/constants/index.d.ts +31 -0
  74. package/dist/esm/constants/index.d.ts.map +1 -0
  75. package/dist/esm/constants/limits.d.ts +149 -0
  76. package/dist/esm/constants/limits.d.ts.map +1 -0
  77. package/{src/constants/network.ts → dist/esm/constants/network.d.ts} +23 -31
  78. package/dist/esm/constants/network.d.ts.map +1 -0
  79. package/{src/constants/payments.ts → dist/esm/constants/payments.d.ts} +11 -35
  80. package/dist/esm/constants/payments.d.ts.map +1 -0
  81. package/{src/constants/programs.ts → dist/esm/constants/programs.d.ts} +6 -20
  82. package/dist/esm/constants/programs.d.ts.map +1 -0
  83. package/dist/esm/constants/seeds.d.ts +80 -0
  84. package/dist/esm/constants/seeds.d.ts.map +1 -0
  85. package/dist/esm/constants/seeds.js +9 -9
  86. package/dist/esm/constants/seeds.js.map +1 -1
  87. package/dist/esm/constants.d.ts +39 -0
  88. package/dist/esm/constants.d.ts.map +1 -0
  89. package/dist/esm/constants.js +41 -0
  90. package/dist/esm/constants.js.map +1 -0
  91. package/dist/esm/core/client.d.ts +452 -0
  92. package/dist/esm/core/client.d.ts.map +1 -0
  93. package/dist/esm/core/connection.d.ts +305 -0
  94. package/dist/esm/core/connection.d.ts.map +1 -0
  95. package/{src/core/index.ts → dist/esm/core/index.d.ts} +1 -1
  96. package/dist/esm/core/index.d.ts.map +1 -0
  97. package/dist/esm/errors/index.d.ts +276 -0
  98. package/dist/esm/errors/index.d.ts.map +1 -0
  99. package/dist/esm/errors.d.ts +119 -0
  100. package/dist/esm/errors.d.ts.map +1 -0
  101. package/dist/esm/errors.js +252 -0
  102. package/dist/esm/errors.js.map +1 -0
  103. package/dist/esm/events/geyser.d.ts +150 -0
  104. package/dist/esm/events/geyser.d.ts.map +1 -0
  105. package/dist/esm/events/index.d.ts +17 -0
  106. package/dist/esm/events/index.d.ts.map +1 -0
  107. package/dist/esm/events/index.js +34 -122
  108. package/dist/esm/events/index.js.map +1 -1
  109. package/{src/idl/index.ts → dist/esm/idl/index.d.ts} +9 -15
  110. package/dist/esm/idl/index.d.ts.map +1 -0
  111. package/dist/esm/idlTypes.d.ts +925 -0
  112. package/dist/esm/idlTypes.d.ts.map +1 -0
  113. package/dist/esm/idlTypes.js +3 -0
  114. package/dist/esm/idlTypes.js.map +1 -0
  115. package/dist/esm/index.d.ts +12 -0
  116. package/dist/esm/index.d.ts.map +1 -0
  117. package/dist/esm/index.js +15 -88
  118. package/dist/esm/index.js.map +1 -1
  119. package/dist/esm/instructions/agent.d.ts +71 -0
  120. package/dist/esm/instructions/agent.d.ts.map +1 -0
  121. package/dist/esm/instructions/agent.js +86 -0
  122. package/dist/esm/instructions/agent.js.map +1 -0
  123. package/dist/esm/instructions/attestation.d.ts +76 -0
  124. package/dist/esm/instructions/attestation.d.ts.map +1 -0
  125. package/dist/esm/instructions/attestation.js +109 -0
  126. package/dist/esm/instructions/attestation.js.map +1 -0
  127. package/dist/esm/instructions/digest.d.ts +20 -0
  128. package/dist/esm/instructions/digest.d.ts.map +1 -0
  129. package/dist/esm/instructions/digest.js +25 -0
  130. package/dist/esm/instructions/digest.js.map +1 -0
  131. package/dist/esm/instructions/dispute.d.ts +81 -0
  132. package/dist/esm/instructions/dispute.d.ts.map +1 -0
  133. package/dist/esm/instructions/dispute.js +113 -0
  134. package/dist/esm/instructions/dispute.js.map +1 -0
  135. package/dist/esm/instructions/escrow.d.ts +79 -0
  136. package/dist/esm/instructions/escrow.d.ts.map +1 -0
  137. package/dist/esm/instructions/escrow.js +98 -0
  138. package/dist/esm/instructions/escrow.js.map +1 -0
  139. package/dist/esm/instructions/global.d.ts +14 -0
  140. package/dist/esm/instructions/global.d.ts.map +1 -0
  141. package/dist/esm/instructions/global.js +25 -0
  142. package/dist/esm/instructions/global.js.map +1 -0
  143. package/dist/esm/instructions/index.d.ts +14 -0
  144. package/dist/esm/instructions/index.d.ts.map +1 -0
  145. package/dist/esm/instructions/index.js +15 -0
  146. package/dist/esm/instructions/index.js.map +1 -0
  147. package/dist/esm/instructions/indexing.d.ts +150 -0
  148. package/dist/esm/instructions/indexing.d.ts.map +1 -0
  149. package/dist/esm/instructions/indexing.js +218 -0
  150. package/dist/esm/instructions/indexing.js.map +1 -0
  151. package/dist/esm/instructions/memory.d.ts +8 -0
  152. package/dist/esm/instructions/memory.d.ts.map +1 -0
  153. package/dist/esm/instructions/memory.js +234 -0
  154. package/dist/esm/instructions/memory.js.map +1 -0
  155. package/dist/esm/instructions/misc.d.ts +50 -0
  156. package/dist/esm/instructions/misc.d.ts.map +1 -0
  157. package/dist/esm/instructions/misc.js +70 -0
  158. package/dist/esm/instructions/misc.js.map +1 -0
  159. package/dist/esm/instructions/session.d.ts +57 -0
  160. package/dist/esm/instructions/session.d.ts.map +1 -0
  161. package/dist/esm/instructions/session.js +86 -0
  162. package/dist/esm/instructions/session.js.map +1 -0
  163. package/dist/esm/instructions/staking.d.ts +85 -0
  164. package/dist/esm/instructions/staking.d.ts.map +1 -0
  165. package/dist/esm/instructions/staking.js +129 -0
  166. package/dist/esm/instructions/staking.js.map +1 -0
  167. package/dist/esm/instructions/subscription.d.ts +50 -0
  168. package/dist/esm/instructions/subscription.d.ts.map +1 -0
  169. package/dist/esm/instructions/subscription.js +77 -0
  170. package/dist/esm/instructions/subscription.js.map +1 -0
  171. package/dist/esm/instructions/tools.d.ts +88 -0
  172. package/dist/esm/instructions/tools.d.ts.map +1 -0
  173. package/dist/esm/instructions/tools.js +106 -0
  174. package/dist/esm/instructions/tools.js.map +1 -0
  175. package/dist/esm/instructions/vault.d.ts +84 -0
  176. package/dist/esm/instructions/vault.d.ts.map +1 -0
  177. package/dist/esm/instructions/vault.js +103 -0
  178. package/dist/esm/instructions/vault.js.map +1 -0
  179. package/dist/esm/modules/agent.d.ts +166 -0
  180. package/dist/esm/modules/agent.d.ts.map +1 -0
  181. package/dist/esm/modules/attestation.d.ts +96 -0
  182. package/dist/esm/modules/attestation.d.ts.map +1 -0
  183. package/dist/esm/modules/base.d.ts +161 -0
  184. package/dist/esm/modules/base.d.ts.map +1 -0
  185. package/dist/esm/modules/escrow-v2.d.ts +169 -0
  186. package/dist/esm/modules/escrow-v2.d.ts.map +1 -0
  187. package/dist/esm/modules/feedback.d.ts +105 -0
  188. package/dist/esm/modules/feedback.d.ts.map +1 -0
  189. package/{src/modules/index.ts → dist/esm/modules/index.d.ts} +1 -1
  190. package/dist/esm/modules/index.d.ts.map +1 -0
  191. package/dist/esm/modules/indexing.d.ts +200 -0
  192. package/dist/esm/modules/indexing.d.ts.map +1 -0
  193. package/dist/esm/modules/ledger.d.ts +150 -0
  194. package/dist/esm/modules/ledger.d.ts.map +1 -0
  195. package/dist/esm/modules/receipt.d.ts +77 -0
  196. package/dist/esm/modules/receipt.d.ts.map +1 -0
  197. package/dist/esm/modules/staking.d.ts +51 -0
  198. package/dist/esm/modules/staking.d.ts.map +1 -0
  199. package/dist/esm/modules/subscription.d.ts +33 -0
  200. package/dist/esm/modules/subscription.d.ts.map +1 -0
  201. package/dist/esm/modules/tools.d.ts +182 -0
  202. package/dist/esm/modules/tools.d.ts.map +1 -0
  203. package/dist/esm/modules/vault.d.ts +240 -0
  204. package/dist/esm/modules/vault.d.ts.map +1 -0
  205. package/dist/esm/parser/client.d.ts +123 -0
  206. package/dist/esm/parser/client.d.ts.map +1 -0
  207. package/dist/esm/parser/complete.d.ts +90 -0
  208. package/dist/esm/parser/complete.d.ts.map +1 -0
  209. package/{src/parser/index.ts → dist/esm/parser/index.d.ts} +6 -37
  210. package/dist/esm/parser/index.d.ts.map +1 -0
  211. package/dist/esm/parser/inner.d.ts +114 -0
  212. package/dist/esm/parser/inner.d.ts.map +1 -0
  213. package/{src/parser/instructions.ts → dist/esm/parser/instructions.d.ts} +4 -63
  214. package/dist/esm/parser/instructions.d.ts.map +1 -0
  215. package/dist/esm/parser/transaction.d.ts +77 -0
  216. package/dist/esm/parser/transaction.d.ts.map +1 -0
  217. package/dist/esm/parser/types.d.ts +154 -0
  218. package/dist/esm/parser/types.d.ts.map +1 -0
  219. package/{src/pda/index.ts → dist/esm/pda/index.d.ts} +33 -442
  220. package/dist/esm/pda/index.d.ts.map +1 -0
  221. package/dist/esm/pdas/index.d.ts +37 -0
  222. package/dist/esm/pdas/index.d.ts.map +1 -0
  223. package/dist/esm/pdas/index.js +101 -0
  224. package/dist/esm/pdas/index.js.map +1 -0
  225. package/dist/esm/plugin/index.d.ts +171 -0
  226. package/dist/esm/plugin/index.d.ts.map +1 -0
  227. package/dist/esm/plugin/protocols.d.ts +152 -0
  228. package/dist/esm/plugin/protocols.d.ts.map +1 -0
  229. package/dist/esm/plugin/schemas.d.ts +829 -0
  230. package/dist/esm/plugin/schemas.d.ts.map +1 -0
  231. package/dist/esm/postgres/adapter.d.ts +355 -0
  232. package/dist/esm/postgres/adapter.d.ts.map +1 -0
  233. package/dist/esm/postgres/index.d.ts +24 -0
  234. package/dist/esm/postgres/index.d.ts.map +1 -0
  235. package/dist/esm/postgres/serializers.d.ts +30 -0
  236. package/dist/esm/postgres/serializers.d.ts.map +1 -0
  237. package/dist/esm/postgres/sync.d.ts +156 -0
  238. package/dist/esm/postgres/sync.d.ts.map +1 -0
  239. package/dist/esm/postgres/types.d.ts +167 -0
  240. package/dist/esm/postgres/types.d.ts.map +1 -0
  241. package/dist/esm/registries/builder.d.ts +340 -0
  242. package/dist/esm/registries/builder.d.ts.map +1 -0
  243. package/dist/esm/registries/discovery.d.ts +333 -0
  244. package/dist/esm/registries/discovery.d.ts.map +1 -0
  245. package/dist/esm/registries/fairscale.d.ts +680 -0
  246. package/dist/esm/registries/fairscale.d.ts.map +1 -0
  247. package/dist/esm/registries/fairscale.js +1 -1
  248. package/dist/esm/registries/fairscale.js.map +1 -1
  249. package/dist/esm/registries/index.d.ts +52 -0
  250. package/dist/esm/registries/index.d.ts.map +1 -0
  251. package/dist/esm/registries/metaplex-bridge.d.ts +489 -0
  252. package/dist/esm/registries/metaplex-bridge.d.ts.map +1 -0
  253. package/dist/esm/registries/metaplex-bridge.js +1 -1
  254. package/dist/esm/registries/metaplex-bridge.js.map +1 -1
  255. package/dist/esm/registries/session.d.ts +323 -0
  256. package/dist/esm/registries/session.d.ts.map +1 -0
  257. package/dist/esm/registries/x402.d.ts +530 -0
  258. package/dist/esm/registries/x402.d.ts.map +1 -0
  259. package/dist/esm/types/accounts.d.ts +765 -0
  260. package/dist/esm/types/accounts.d.ts.map +1 -0
  261. package/dist/esm/types/common.d.ts +166 -0
  262. package/dist/esm/types/common.d.ts.map +1 -0
  263. package/dist/esm/types/endpoint.d.ts +161 -0
  264. package/dist/esm/types/endpoint.d.ts.map +1 -0
  265. package/dist/esm/types/enums.d.ts +353 -0
  266. package/dist/esm/types/enums.d.ts.map +1 -0
  267. package/dist/esm/types/index.d.ts +29 -0
  268. package/dist/esm/types/index.d.ts.map +1 -0
  269. package/dist/esm/types/instructions.d.ts +400 -0
  270. package/dist/esm/types/instructions.d.ts.map +1 -0
  271. package/dist/esm/types.d.ts +236 -0
  272. package/dist/esm/types.d.ts.map +1 -0
  273. package/dist/esm/types.js +40 -0
  274. package/dist/esm/types.js.map +1 -0
  275. package/dist/esm/utils/anchor-errors.d.ts +61 -0
  276. package/dist/esm/utils/anchor-errors.d.ts.map +1 -0
  277. package/dist/esm/utils/endpoint-validator.d.ts +110 -0
  278. package/dist/esm/utils/endpoint-validator.d.ts.map +1 -0
  279. package/dist/esm/utils/escrow-validation.d.ts +145 -0
  280. package/dist/esm/utils/escrow-validation.d.ts.map +1 -0
  281. package/dist/esm/utils/escrow-validation.js +1 -1
  282. package/dist/esm/utils/escrow-validation.js.map +1 -1
  283. package/{src/utils/hash.ts → dist/esm/utils/hash.d.ts} +4 -42
  284. package/dist/esm/utils/hash.d.ts.map +1 -0
  285. package/dist/esm/utils/index.d.ts +6 -0
  286. package/dist/esm/utils/index.d.ts.map +1 -0
  287. package/dist/esm/utils/index.js +16 -33
  288. package/dist/esm/utils/index.js.map +1 -1
  289. package/dist/esm/utils/merchant-validator.d.ts +176 -0
  290. package/dist/esm/utils/merchant-validator.d.ts.map +1 -0
  291. package/dist/esm/utils/merchant-validator.js +1 -1
  292. package/dist/esm/utils/merchant-validator.js.map +1 -1
  293. package/dist/esm/utils/network-normalizer.d.ts +120 -0
  294. package/dist/esm/utils/network-normalizer.d.ts.map +1 -0
  295. package/dist/esm/utils/priority-fee.d.ts +205 -0
  296. package/dist/esm/utils/priority-fee.d.ts.map +1 -0
  297. package/dist/esm/utils/rpc-strategy.d.ts +172 -0
  298. package/dist/esm/utils/rpc-strategy.d.ts.map +1 -0
  299. package/dist/esm/utils/schemas.d.ts +351 -0
  300. package/dist/esm/utils/schemas.d.ts.map +1 -0
  301. package/{src/utils/serialization.ts → dist/esm/utils/serialization.d.ts} +3 -32
  302. package/dist/esm/utils/serialization.d.ts.map +1 -0
  303. package/dist/esm/utils/validate.d.ts +66 -0
  304. package/dist/esm/utils/validate.d.ts.map +1 -0
  305. package/dist/esm/utils/validate.js +221 -0
  306. package/dist/esm/utils/validate.js.map +1 -0
  307. package/{src/utils/validation.ts → dist/esm/utils/validation.d.ts} +2 -9
  308. package/dist/esm/utils/validation.d.ts.map +1 -0
  309. package/{src/utils/volume-curve.ts → dist/esm/utils/volume-curve.d.ts} +2 -73
  310. package/dist/esm/utils/volume-curve.d.ts.map +1 -0
  311. package/dist/esm/utils/volume-curve.js +1 -1
  312. package/dist/esm/utils/volume-curve.js.map +1 -1
  313. package/dist/esm/utils/x402-direct.d.ts +114 -0
  314. package/dist/esm/utils/x402-direct.d.ts.map +1 -0
  315. package/dist/types/constants/seeds.d.ts +2 -0
  316. package/dist/types/constants/seeds.d.ts.map +1 -1
  317. package/dist/types/core/client.d.ts +21 -6
  318. package/dist/types/core/client.d.ts.map +1 -1
  319. package/dist/types/errors/index.d.ts +59 -0
  320. package/dist/types/errors/index.d.ts.map +1 -1
  321. package/dist/types/index.d.ts +3 -2
  322. package/dist/types/index.d.ts.map +1 -1
  323. package/dist/types/modules/agent.d.ts +9 -19
  324. package/dist/types/modules/agent.d.ts.map +1 -1
  325. package/dist/types/modules/attestation.d.ts.map +1 -1
  326. package/dist/types/modules/base.d.ts +54 -0
  327. package/dist/types/modules/base.d.ts.map +1 -1
  328. package/dist/types/modules/escrow-v2.d.ts +117 -1
  329. package/dist/types/modules/escrow-v2.d.ts.map +1 -1
  330. package/dist/types/modules/index.d.ts +1 -2
  331. package/dist/types/modules/index.d.ts.map +1 -1
  332. package/dist/types/modules/receipt.d.ts +14 -0
  333. package/dist/types/modules/receipt.d.ts.map +1 -1
  334. package/dist/types/modules/subscription.d.ts.map +1 -1
  335. package/dist/types/modules/tools.d.ts +0 -10
  336. package/dist/types/modules/tools.d.ts.map +1 -1
  337. package/dist/types/modules/vault.d.ts.map +1 -1
  338. package/dist/types/pda/index.d.ts +17 -0
  339. package/dist/types/pda/index.d.ts.map +1 -1
  340. package/dist/types/plugin/index.d.ts.map +1 -1
  341. package/dist/types/registries/builder.d.ts +2 -9
  342. package/dist/types/registries/builder.d.ts.map +1 -1
  343. package/dist/types/registries/metaplex-bridge.d.ts.map +1 -1
  344. package/dist/types/registries/session.d.ts +3 -9
  345. package/dist/types/registries/session.d.ts.map +1 -1
  346. package/dist/types/registries/x402.d.ts +2 -9
  347. package/dist/types/registries/x402.d.ts.map +1 -1
  348. package/dist/types/types/accounts.d.ts +52 -0
  349. package/dist/types/types/accounts.d.ts.map +1 -1
  350. package/dist/types/types/index.d.ts +1 -1
  351. package/dist/types/types/index.d.ts.map +1 -1
  352. package/dist/types/utils/rpc-strategy.d.ts +7 -0
  353. package/dist/types/utils/rpc-strategy.d.ts.map +1 -1
  354. package/package.json +59 -183
  355. package/src/constants/addresses.ts +0 -162
  356. package/src/constants/index.ts +0 -69
  357. package/src/constants/limits.ts +0 -165
  358. package/src/constants/seeds.ts +0 -85
  359. package/src/core/client.ts +0 -583
  360. package/src/core/connection.ts +0 -461
  361. package/src/errors/index.ts +0 -346
  362. package/src/events/geyser.ts +0 -384
  363. package/src/events/index.ts +0 -335
  364. package/src/events/yellowstone.d.ts +0 -7
  365. package/src/idl/synapse_agent_sap.json +0 -14595
  366. package/src/index.ts +0 -421
  367. package/src/modules/agent.ts +0 -319
  368. package/src/modules/attestation.ts +0 -168
  369. package/src/modules/base.ts +0 -247
  370. package/src/modules/escrow-v2.ts +0 -871
  371. package/src/modules/escrow.ts +0 -439
  372. package/src/modules/feedback.ts +0 -186
  373. package/src/modules/indexing.ts +0 -444
  374. package/src/modules/ledger.ts +0 -262
  375. package/src/modules/receipt.ts +0 -212
  376. package/src/modules/staking.ts +0 -223
  377. package/src/modules/subscription.ts +0 -147
  378. package/src/modules/tools.ts +0 -454
  379. package/src/modules/vault.ts +0 -558
  380. package/src/parser/client.ts +0 -211
  381. package/src/parser/complete.ts +0 -232
  382. package/src/parser/inner.ts +0 -255
  383. package/src/parser/transaction.ts +0 -200
  384. package/src/parser/types.ts +0 -182
  385. package/src/plugin/index.ts +0 -1224
  386. package/src/plugin/protocols.ts +0 -404
  387. package/src/plugin/schemas.ts +0 -941
  388. package/src/postgres/adapter.ts +0 -904
  389. package/src/postgres/index.ts +0 -59
  390. package/src/postgres/schema.sql +0 -683
  391. package/src/postgres/serializers.ts +0 -485
  392. package/src/postgres/sync.ts +0 -340
  393. package/src/postgres/types.ts +0 -245
  394. package/src/registries/builder.ts +0 -607
  395. package/src/registries/discovery.ts +0 -572
  396. package/src/registries/fairscale.ts +0 -1278
  397. package/src/registries/index.ts +0 -143
  398. package/src/registries/metaplex-bridge.ts +0 -1199
  399. package/src/registries/session.ts +0 -613
  400. package/src/registries/x402.ts +0 -1048
  401. package/src/types/accounts.ts +0 -858
  402. package/src/types/common.ts +0 -187
  403. package/src/types/endpoint.ts +0 -181
  404. package/src/types/enums.ts +0 -333
  405. package/src/types/index.ts +0 -121
  406. package/src/types/instructions.ts +0 -453
  407. package/src/utils/anchor-errors.ts +0 -461
  408. package/src/utils/endpoint-validator.ts +0 -300
  409. package/src/utils/escrow-validation.ts +0 -301
  410. package/src/utils/index.ts +0 -118
  411. package/src/utils/merchant-validator.ts +0 -359
  412. package/src/utils/network-normalizer.ts +0 -240
  413. package/src/utils/priority-fee.ts +0 -325
  414. package/src/utils/rpc-strategy.ts +0 -322
  415. package/src/utils/schemas.ts +0 -359
  416. package/src/utils/x402-direct.ts +0 -370
  417. /package/dist/{types → esm}/modules/escrow.d.ts +0 -0
  418. /package/dist/{types → esm}/modules/escrow.d.ts.map +0 -0
@@ -1,461 +0,0 @@
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
-
13
- export interface SapErrorEntry { readonly code: number; readonly name: string; readonly msg: string; }
14
- export const SAP_ERRORS: Readonly<Record<number, SapErrorEntry>> = Object.freeze({
15
- 6000: { code: 6000, name: "NameTooLong", msg: "name>64" },
16
- 6001: { code: 6001, name: "DescriptionTooLong", msg: "desc>256" },
17
- 6002: { code: 6002, name: "UriTooLong", msg: "uri>256" },
18
- 6003: { code: 6003, name: "TooManyCapabilities", msg: "caps>10" },
19
- 6004: { code: 6004, name: "TooManyPricingTiers", msg: "tiers>5" },
20
- 6005: { code: 6005, name: "TooManyProtocols", msg: "protos>5" },
21
- 6006: { code: 6006, name: "TooManyPlugins", msg: "plugins>5" },
22
- 6007: { code: 6007, name: "AlreadyActive", msg: "already active" },
23
- 6008: { code: 6008, name: "AlreadyInactive", msg: "already inactive" },
24
- 6009: { code: 6009, name: "InvalidFeedbackScore", msg: "score 0-1000" },
25
- 6010: { code: 6010, name: "TagTooLong", msg: "tag>32" },
26
- 6011: { code: 6011, name: "SelfReviewNotAllowed", msg: "self review" },
27
- 6012: { code: 6012, name: "FeedbackAlreadyRevoked", msg: "already revoked" },
28
- 6013: { code: 6013, name: "CapabilityIndexFull", msg: "cap idx full" },
29
- 6014: { code: 6014, name: "ProtocolIndexFull", msg: "proto idx full" },
30
- 6015: { code: 6015, name: "AgentNotInIndex", msg: "not in idx" },
31
- 6016: { code: 6016, name: "InvalidCapabilityHash", msg: "cap hash" },
32
- 6017: { code: 6017, name: "InvalidProtocolHash", msg: "proto hash" },
33
- 6018: { code: 6018, name: "InvalidPluginType", msg: "bad plugin type" },
34
- 6019: { code: 6019, name: "ChunkDataTooLarge", msg: "chunk>900" },
35
- 6020: { code: 6020, name: "ContentTypeTooLong", msg: "ctype>max" },
36
- 6021: { code: 6021, name: "IpfsCidTooLong", msg: "cid>max" },
37
- 6022: { code: 6022, name: "EmptyName", msg: "empty name" },
38
- 6023: { code: 6023, name: "ControlCharInName", msg: "ctrl char" },
39
- 6024: { code: 6024, name: "EmptyDescription", msg: "empty desc" },
40
- 6025: { code: 6025, name: "AgentIdTooLong", msg: "agentid>128" },
41
- 6026: { code: 6026, name: "InvalidCapabilityFormat", msg: "cap format" },
42
- 6027: { code: 6027, name: "DuplicateCapability", msg: "dup cap" },
43
- 6028: { code: 6028, name: "EmptyTierId", msg: "empty tier" },
44
- 6029: { code: 6029, name: "DuplicateTierId", msg: "dup tier" },
45
- 6030: { code: 6030, name: "InvalidRateLimit", msg: "rate=0" },
46
- 6031: { code: 6031, name: "SplRequiresTokenMint", msg: "spl needs mint" },
47
- 6032: { code: 6032, name: "InvalidX402Endpoint", msg: "x402 https" },
48
- 6033: { code: 6033, name: "InvalidVolumeCurve", msg: "curve order" },
49
- 6034: { code: 6034, name: "TooManyVolumeCurvePoints", msg: "curve>5" },
50
- 6035: { code: 6035, name: "MinPriceExceedsMax", msg: "min>max price" },
51
- 6036: { code: 6036, name: "InvalidUptimePercent", msg: "uptime 0-100" },
52
- 6037: { code: 6037, name: "SessionClosed", msg: "session closed" },
53
- 6038: { code: 6038, name: "InvalidSequence", msg: "bad seq" },
54
- 6039: { code: 6039, name: "InvalidFragmentIndex", msg: "frag idx" },
55
- 6040: { code: 6040, name: "InscriptionTooLarge", msg: "data>750" },
56
- 6041: { code: 6041, name: "EmptyInscription", msg: "empty data" },
57
- 6042: { code: 6042, name: "InvalidTotalFragments", msg: "frags<1" },
58
- 6043: { code: 6043, name: "EpochMismatch", msg: "epoch mismatch" },
59
- 6044: { code: 6044, name: "VaultNotClosed", msg: "vault open" },
60
- 6045: { code: 6045, name: "SessionNotClosed", msg: "session open" },
61
- 6046: { code: 6046, name: "DelegateExpired", msg: "delegate expired" },
62
- 6047: { code: 6047, name: "InvalidDelegate", msg: "bad delegate" },
63
- 6048: { code: 6048, name: "ToolNameTooLong", msg: "tool>32" },
64
- 6049: { code: 6049, name: "EmptyToolName", msg: "empty tool" },
65
- 6050: { code: 6050, name: "InvalidToolNameHash", msg: "tool hash" },
66
- 6051: { code: 6051, name: "InvalidToolHttpMethod", msg: "bad method" },
67
- 6052: { code: 6052, name: "InvalidToolCategory", msg: "bad category" },
68
- 6053: { code: 6053, name: "ToolAlreadyInactive", msg: "tool inactive" },
69
- 6054: { code: 6054, name: "ToolAlreadyActive", msg: "tool active" },
70
- 6055: { code: 6055, name: "InvalidSchemaHash", msg: "schema hash" },
71
- 6056: { code: 6056, name: "InvalidSchemaType", msg: "schema type" },
72
- 6057: { code: 6057, name: "InvalidCheckpointIndex", msg: "cp index" },
73
- 6058: { code: 6058, name: "FeedbackNotRevoked", msg: "not revoked" },
74
- 6059: { code: 6059, name: "IndexNotEmpty", msg: "idx not empty" },
75
- 6060: { code: 6060, name: "SessionStillOpen", msg: "session open" },
76
- 6061: { code: 6061, name: "NoFieldsToUpdate", msg: "no fields" },
77
- 6062: { code: 6062, name: "InsufficientEscrowBalance", msg: "low balance" },
78
- 6063: { code: 6063, name: "EscrowMaxCallsExceeded", msg: "max calls" },
79
- 6064: { code: 6064, name: "EscrowEmpty", msg: "escrow empty" },
80
- 6065: { code: 6065, name: "EscrowNotEmpty", msg: "escrow!=0" },
81
- 6066: { code: 6066, name: "InvalidSettlementCalls", msg: "calls<1" },
82
- 6067: { code: 6067, name: "AttestationTypeTooLong", msg: "atype>32" },
83
- 6068: { code: 6068, name: "EmptyAttestationType", msg: "empty atype" },
84
- 6069: { code: 6069, name: "SelfAttestationNotAllowed", msg: "self attest" },
85
- 6070: { code: 6070, name: "AttestationAlreadyRevoked", msg: "already revoked" },
86
- 6071: { code: 6071, name: "AttestationNotRevoked", msg: "not revoked" },
87
- 6072: { code: 6072, name: "ToolCategoryIndexFull", msg: "cat idx full" },
88
- 6073: { code: 6073, name: "ToolNotInCategoryIndex", msg: "not in cat" },
89
- 6074: { code: 6074, name: "ToolCategoryMismatch", msg: "cat mismatch" },
90
- 6075: { code: 6075, name: "ArithmeticOverflow", msg: "overflow" },
91
- 6076: { code: 6076, name: "EscrowExpired", msg: "escrow expired" },
92
- 6077: { code: 6077, name: "AgentInactive", msg: "agent inactive" },
93
- 6078: { code: 6078, name: "AttestationExpired", msg: "attest expired" },
94
- 6079: { code: 6079, name: "BufferFull", msg: "buf full" },
95
- 6080: { code: 6080, name: "BufferDataTooLarge", msg: "buf>750" },
96
- 6081: { code: 6081, name: "Unauthorized", msg: "unauthorized" },
97
- 6082: { code: 6082, name: "InvalidSession", msg: "bad session" },
98
- 6083: { code: 6083, name: "EmptyDigestHash", msg: "empty hash" },
99
- 6084: { code: 6084, name: "LedgerDataTooLarge", msg: "ledger>750" },
100
- 6085: { code: 6085, name: "LedgerRingEmpty", msg: "ring empty" },
101
- 6086: { code: 6086, name: "BatchEmpty", msg: "batch empty" },
102
- 6087: { code: 6087, name: "BatchTooLarge", msg: "batch>10" },
103
- 6088: { code: 6088, name: "SplTokenRequired", msg: "spl accts" },
104
- 6089: { code: 6089, name: "InvalidTokenAccount", msg: "bad token" },
105
- 6090: { code: 6090, name: "InvalidTokenProgram", msg: "bad prog" },
106
- 6091: { code: 6091, name: "InvalidSettlementSecurity", msg: "bad security" },
107
- 6092: { code: 6092, name: "CoSignerRequired", msg: "cosigner" },
108
- 6093: { code: 6093, name: "InvalidCoSigner", msg: "bad cosigner" },
109
- 6094: { code: 6094, name: "InvalidArbiter", msg: "bad arbiter" },
110
- 6095: { code: 6095, name: "ArbiterRequired", msg: "arbiter=0" },
111
- 6096: { code: 6096, name: "EscrowNonceReused", msg: "nonce reused" },
112
- 6097: { code: 6097, name: "SettlementNotPending", msg: "not pending" },
113
- 6098: { code: 6098, name: "SettlementAlreadyFinalized", msg: "already final" },
114
- 6099: { code: 6099, name: "DisputeWindowNotExpired", msg: "too early" },
115
- 6100: { code: 6100, name: "DisputeWindowExpired", msg: "window closed" },
116
- 6101: { code: 6101, name: "NotDepositor", msg: "not depositor" },
117
- 6102: { code: 6102, name: "DisputeAlreadyFiled", msg: "dup dispute" },
118
- 6103: { code: 6103, name: "DisputeStillOpen", msg: "dispute open" },
119
- 6104: { code: 6104, name: "NotArbiter", msg: "not arbiter" },
120
- 6105: { code: 6105, name: "InvalidDisputeOutcome", msg: "bad outcome" },
121
- 6106: { code: 6106, name: "StakeBelowMinimum", msg: "stake<min" },
122
- 6107: { code: 6107, name: "NoStakeAccount", msg: "no stake" },
123
- 6108: { code: 6108, name: "UnstakeAlreadyPending", msg: "unstake pending" },
124
- 6109: { code: 6109, name: "UnstakeCooldownNotMet", msg: "cooldown" },
125
- 6110: { code: 6110, name: "NoUnstakePending", msg: "no unstake" },
126
- 6111: { code: 6111, name: "SlashExceedsStake", msg: "slash>stake" },
127
- 6112: { code: 6112, name: "SubscriptionAlreadyActive", msg: "sub active" },
128
- 6113: { code: 6113, name: "SubscriptionCancelled", msg: "sub cancelled" },
129
- 6114: { code: 6114, name: "NoIntervalDue", msg: "no due" },
130
- 6115: { code: 6115, name: "SubscriptionInsufficientBalance", msg: "sub low bal" },
131
- 6116: { code: 6116, name: "InvalidBillingInterval", msg: "bad interval" },
132
- 6117: { code: 6117, name: "InvalidShardIndex", msg: "bad shard" },
133
- 6118: { code: 6118, name: "IndexPageFull", msg: "page full" },
134
- 6119: { code: 6119, name: "InvalidPageIndex", msg: "bad page" },
135
- 6120: { code: 6120, name: "IndexPageNotEmpty", msg: "page≠empty" },
136
- 6121: { code: 6121, name: "AlreadyMigrated", msg: "already v2" },
137
- 6122: { code: 6122, name: "MigrationV1Only", msg: "v1 only" },
138
- 6123: { code: 6123, name: "SettlementDisputed", msg: "disputed" },
139
- 6124: { code: 6124, name: "InvalidAgentWallet", msg: "bad agent wallet" },
140
- 6125: { code: 6125, name: "StakeAgentMismatch", msg: "stake agent mismatch" },
141
- 6126: { code: 6126, name: "NotAuthority", msg: "not authority" },
142
- 6127: { code: 6127, name: "UnstakeBelowRent", msg: "unstake below rent" },
143
- 6128: { code: 6128, name: "InsufficientStake", msg: "insufficient stake" },
144
- 6129: { code: 6129, name: "SelfReportDeprecated", msg: "SelfReport deprecated" },
145
- 6130: { code: 6130, name: "ArbiterDeprecated", msg: "arbiter deprecated" },
146
- 6131: { code: 6131, name: "InvalidBatchIndex", msg: "bad batch idx" },
147
- 6132: { code: 6132, name: "InvalidPeriod", msg: "bad period" },
148
- 6133: { code: 6133, name: "InvalidDisputeType", msg: "bad dispute type" },
149
- 6134: { code: 6134, name: "ProofDeadlineExpired", msg: "proof expired" },
150
- 6135: { code: 6135, name: "ProofDeadlineNotExpired", msg: "proof not expired" },
151
- 6136: { code: 6136, name: "InvalidReceiptProof", msg: "bad receipt proof" },
152
- 6137: { code: 6137, name: "SettlementReplay", msg: "settlement replay" },
153
- 6138: { code: 6138, name: "PaymentTokenNotAllowed", msg: "token not allowed" },
154
- 6139: { code: 6139, name: "AgentStakeRequired", msg: "agent stake required" },
155
- 6140: { code: 6140, name: "DelegateExpiryInvalid", msg: "delegate expiry invalid" },
156
- 6141: { code: 6141, name: "EscrowNotClosed", msg: "escrow not closed" },
157
- 6142: { code: 6142, name: "VolumeCurveNotDescending", msg: "curve not descending" },
158
- 6143: { code: 6143, name: "DuplicateServiceHash", msg: "dup service hash" },
159
- 6144: { code: 6144, name: "StakeBelowCoverage", msg: "stake under coverage" },
160
- 6145: { code: 6145, name: "StakeNotClosable", msg: "stake not closable" },
161
- 6146: { code: 6146, name: "AgentStakeAccountMissing", msg: "agent stake account missing" },
162
- });
163
- export const SAP_ERROR_BY_NAME: Readonly<Record<string, number>> = Object.freeze({
164
- NameTooLong: 6000,
165
- DescriptionTooLong: 6001,
166
- UriTooLong: 6002,
167
- TooManyCapabilities: 6003,
168
- TooManyPricingTiers: 6004,
169
- TooManyProtocols: 6005,
170
- TooManyPlugins: 6006,
171
- AlreadyActive: 6007,
172
- AlreadyInactive: 6008,
173
- InvalidFeedbackScore: 6009,
174
- TagTooLong: 6010,
175
- SelfReviewNotAllowed: 6011,
176
- FeedbackAlreadyRevoked: 6012,
177
- CapabilityIndexFull: 6013,
178
- ProtocolIndexFull: 6014,
179
- AgentNotInIndex: 6015,
180
- InvalidCapabilityHash: 6016,
181
- InvalidProtocolHash: 6017,
182
- InvalidPluginType: 6018,
183
- ChunkDataTooLarge: 6019,
184
- ContentTypeTooLong: 6020,
185
- IpfsCidTooLong: 6021,
186
- EmptyName: 6022,
187
- ControlCharInName: 6023,
188
- EmptyDescription: 6024,
189
- AgentIdTooLong: 6025,
190
- InvalidCapabilityFormat: 6026,
191
- DuplicateCapability: 6027,
192
- EmptyTierId: 6028,
193
- DuplicateTierId: 6029,
194
- InvalidRateLimit: 6030,
195
- SplRequiresTokenMint: 6031,
196
- InvalidX402Endpoint: 6032,
197
- InvalidVolumeCurve: 6033,
198
- TooManyVolumeCurvePoints: 6034,
199
- MinPriceExceedsMax: 6035,
200
- InvalidUptimePercent: 6036,
201
- SessionClosed: 6037,
202
- InvalidSequence: 6038,
203
- InvalidFragmentIndex: 6039,
204
- InscriptionTooLarge: 6040,
205
- EmptyInscription: 6041,
206
- InvalidTotalFragments: 6042,
207
- EpochMismatch: 6043,
208
- VaultNotClosed: 6044,
209
- SessionNotClosed: 6045,
210
- DelegateExpired: 6046,
211
- InvalidDelegate: 6047,
212
- ToolNameTooLong: 6048,
213
- EmptyToolName: 6049,
214
- InvalidToolNameHash: 6050,
215
- InvalidToolHttpMethod: 6051,
216
- InvalidToolCategory: 6052,
217
- ToolAlreadyInactive: 6053,
218
- ToolAlreadyActive: 6054,
219
- InvalidSchemaHash: 6055,
220
- InvalidSchemaType: 6056,
221
- InvalidCheckpointIndex: 6057,
222
- FeedbackNotRevoked: 6058,
223
- IndexNotEmpty: 6059,
224
- SessionStillOpen: 6060,
225
- NoFieldsToUpdate: 6061,
226
- InsufficientEscrowBalance: 6062,
227
- EscrowMaxCallsExceeded: 6063,
228
- EscrowEmpty: 6064,
229
- EscrowNotEmpty: 6065,
230
- InvalidSettlementCalls: 6066,
231
- AttestationTypeTooLong: 6067,
232
- EmptyAttestationType: 6068,
233
- SelfAttestationNotAllowed: 6069,
234
- AttestationAlreadyRevoked: 6070,
235
- AttestationNotRevoked: 6071,
236
- ToolCategoryIndexFull: 6072,
237
- ToolNotInCategoryIndex: 6073,
238
- ToolCategoryMismatch: 6074,
239
- ArithmeticOverflow: 6075,
240
- EscrowExpired: 6076,
241
- AgentInactive: 6077,
242
- AttestationExpired: 6078,
243
- BufferFull: 6079,
244
- BufferDataTooLarge: 6080,
245
- Unauthorized: 6081,
246
- InvalidSession: 6082,
247
- EmptyDigestHash: 6083,
248
- LedgerDataTooLarge: 6084,
249
- LedgerRingEmpty: 6085,
250
- BatchEmpty: 6086,
251
- BatchTooLarge: 6087,
252
- SplTokenRequired: 6088,
253
- InvalidTokenAccount: 6089,
254
- InvalidTokenProgram: 6090,
255
- InvalidSettlementSecurity: 6091,
256
- CoSignerRequired: 6092,
257
- InvalidCoSigner: 6093,
258
- InvalidArbiter: 6094,
259
- ArbiterRequired: 6095,
260
- EscrowNonceReused: 6096,
261
- SettlementNotPending: 6097,
262
- SettlementAlreadyFinalized: 6098,
263
- DisputeWindowNotExpired: 6099,
264
- DisputeWindowExpired: 6100,
265
- NotDepositor: 6101,
266
- DisputeAlreadyFiled: 6102,
267
- DisputeStillOpen: 6103,
268
- NotArbiter: 6104,
269
- InvalidDisputeOutcome: 6105,
270
- StakeBelowMinimum: 6106,
271
- NoStakeAccount: 6107,
272
- UnstakeAlreadyPending: 6108,
273
- UnstakeCooldownNotMet: 6109,
274
- NoUnstakePending: 6110,
275
- SlashExceedsStake: 6111,
276
- SubscriptionAlreadyActive: 6112,
277
- SubscriptionCancelled: 6113,
278
- NoIntervalDue: 6114,
279
- SubscriptionInsufficientBalance: 6115,
280
- InvalidBillingInterval: 6116,
281
- InvalidShardIndex: 6117,
282
- IndexPageFull: 6118,
283
- InvalidPageIndex: 6119,
284
- IndexPageNotEmpty: 6120,
285
- AlreadyMigrated: 6121,
286
- MigrationV1Only: 6122,
287
- SettlementDisputed: 6123,
288
- InvalidAgentWallet: 6124,
289
- StakeAgentMismatch: 6125,
290
- NotAuthority: 6126,
291
- UnstakeBelowRent: 6127,
292
- InsufficientStake: 6128,
293
- SelfReportDeprecated: 6129,
294
- ArbiterDeprecated: 6130,
295
- InvalidBatchIndex: 6131,
296
- InvalidPeriod: 6132,
297
- InvalidDisputeType: 6133,
298
- ProofDeadlineExpired: 6134,
299
- ProofDeadlineNotExpired: 6135,
300
- InvalidReceiptProof: 6136,
301
- SettlementReplay: 6137,
302
- PaymentTokenNotAllowed: 6138,
303
- AgentStakeRequired: 6139,
304
- DelegateExpiryInvalid: 6140,
305
- EscrowNotClosed: 6141,
306
- VolumeCurveNotDescending: 6142,
307
- DuplicateServiceHash: 6143,
308
- StakeBelowCoverage: 6144,
309
- StakeNotClosable: 6145,
310
- AgentStakeAccountMissing: 6146,
311
- });
312
-
313
- /**
314
- * @name DecodedAnchorError
315
- * @description Structured error extracted from a thrown RPC/simulation error.
316
- * @since v0.13.0
317
- */
318
- export interface DecodedAnchorError {
319
- readonly code: number;
320
- readonly name: string;
321
- readonly msg: string;
322
- readonly friendly: string;
323
- readonly logs?: readonly string[];
324
- }
325
-
326
- const FRIENDLY_OVERRIDES: Readonly<Record<string, string>> = Object.freeze({
327
- Unauthorized: "Unauthorized — wallet does not match the on-chain authority for this PDA.",
328
- AgentInactive: "Agent is inactive (deactivated). Reactivate before publishing tools or accepting escrows.",
329
- AgentStakeRequired: "Agent stake account missing or below MIN_STAKE (0.1 SOL). Initialize stake first.",
330
- StakeBelowMinimum: "Stake below minimum (0.1 SOL). Top up before requesting unstake or accepting escrows.",
331
- StakeBelowCoverage: "Stake below coverage requirement for outstanding escrow. Increase stake or wait for escrows to settle.",
332
- PaymentTokenNotAllowed: "Token mint not in allowlist. Use SOL (null) or USDC (mainnet/devnet).",
333
- DelegateExpiryInvalid: "Delegate expiry exceeds MAX_DELEGATE_DURATION_SECS (365 days) from now.",
334
- EscrowNotEmpty: "Escrow balance != 0. Withdraw or settle remaining funds before closing.",
335
- EscrowEmpty: "Escrow balance is zero — cannot settle.",
336
- InsufficientEscrowBalance: "Insufficient escrow balance for the requested settlement amount.",
337
- ArithmeticOverflow: "Arithmetic overflow — likely an orphan PendingSettlement, mismatched amount, or unsigned subtraction. Run `escrowV2.diagnoseOrphanPending()` to inspect.",
338
- EscrowNonceReused: "Escrow nonce already used by this depositor. Pick a fresh nonce.",
339
- SettlementNotPending: "PendingSettlement is not in pending state (already finalized or never created).",
340
- SettlementAlreadyFinalized: "PendingSettlement already finalized — cannot finalize twice.",
341
- DisputeWindowNotExpired: "Dispute window still open. Wait until escrow.dispute_window_slots elapse before finalizing.",
342
- DisputeWindowExpired: "Dispute window already closed. Cannot file dispute.",
343
- CoSignerRequired: "Settlement security mode requires a co-signer. Pass the co-signer keypair.",
344
- InvalidCoSigner: "Co-signer pubkey does not match the on-chain `escrow.co_signer`.",
345
- InvalidSettlementSecurity: "Settlement security mode mismatch with on-chain escrow config.",
346
- SettlementReplay: "Settlement receipt PDA already exists for this serviceHash/batchRoot. Replay blocked.",
347
- DuplicateServiceHash: "Two settlements in the same batch share the same serviceHash. Make each call unique.",
348
- BatchTooLarge: "Batch settle exceeds 10 entries. Split across multiple transactions.",
349
- BatchEmpty: "Batch settle requires at least 1 settlement.",
350
- InscriptionTooLarge: "Inscription chunk exceeds 750 bytes. Split into more fragments.",
351
- InvalidSchemaHash: "Tool schema hash is empty / invalid. v0.2.0+ requires every tool to publish a JSON schema (or schema_hash).",
352
- EmptyToolName: "Tool name cannot be empty.",
353
- ToolNameTooLong: "Tool name exceeds 32 bytes.",
354
- EscrowExpired: "Escrow expired (expiresAt passed). Create a new escrow.",
355
- UnstakeCooldownNotMet: "Unstake cooldown not elapsed. Wait for the cooldown window before completing unstake.",
356
- UnstakeBelowRent: "Resulting stake balance would fall below the rent-exempt minimum. Reduce unstake amount.",
357
- });
358
-
359
- /**
360
- * @name decodeAnchorError
361
- * @description Pull an Anchor / SAP error out of any caught value.
362
- * Handles: AnchorError, raw RPC SimulateError, `0x...` hex codes,
363
- * nested `error.errorCode.number`, and direct `code` numbers.
364
- * @returns Structured {@link DecodedAnchorError} or `null` if not a SAP error.
365
- * @since v0.13.0
366
- */
367
- export function decodeAnchorError(err: unknown): DecodedAnchorError | null {
368
- if (err == null || typeof err !== "object") return null;
369
-
370
- const code = extractCode(err);
371
- if (code == null) return null;
372
-
373
- const entry = SAP_ERRORS[code];
374
- if (!entry) {
375
- return {
376
- code,
377
- name: "Unknown",
378
- msg: `custom program error 0x${code.toString(16)}`,
379
- friendly: `Unknown SAP error (code ${code}). Check IDL.`,
380
- logs: extractLogs(err),
381
- };
382
- }
383
-
384
- return {
385
- code: entry.code,
386
- name: entry.name,
387
- msg: entry.msg,
388
- friendly: FRIENDLY_OVERRIDES[entry.name] ?? `${entry.name}: ${entry.msg}`,
389
- logs: extractLogs(err),
390
- };
391
- }
392
-
393
- function extractCode(err: unknown): number | null {
394
- if (typeof err !== "object" || err == null) return null;
395
- const e = err as Record<string, unknown>;
396
- if (typeof e.code === "number") return e.code;
397
-
398
- const nested = e.error;
399
- if (nested && typeof nested === "object") {
400
- const errorCode = (nested as Record<string, unknown>).errorCode;
401
- if (errorCode && typeof errorCode === "object") {
402
- const num = (errorCode as Record<string, unknown>).number;
403
- if (typeof num === "number") return num;
404
- }
405
- }
406
-
407
- const msg = (err as Error).message;
408
- if (typeof msg === "string") {
409
- const hex = msg.match(/custom program error:\s*0x([0-9a-fA-F]+)/);
410
- if (hex?.[1]) return parseInt(hex[1], 16);
411
- const dec = msg.match(/Error Number:\s*(\d+)/);
412
- if (dec?.[1]) return parseInt(dec[1], 10);
413
- }
414
- return null;
415
- }
416
-
417
- function extractLogs(err: unknown): string[] | undefined {
418
- if (typeof err !== "object" || err == null) return undefined;
419
- const logs = (err as Record<string, unknown>).logs;
420
- if (Array.isArray(logs)) return logs as string[];
421
- const nested = (err as Record<string, unknown>).simulationResponse;
422
- if (nested && typeof nested === "object") {
423
- const inner = (nested as Record<string, unknown>).logs;
424
- if (Array.isArray(inner)) return inner as string[];
425
- }
426
- return undefined;
427
- }
428
-
429
- /**
430
- * @name SapPreflightError
431
- * @description Thrown by SDK preflights when an on-chain check is guaranteed
432
- * to fail. Carries the predicted error code/name so callers can branch
433
- * without parsing strings.
434
- * @since v0.13.0
435
- */
436
- export class SapPreflightError extends Error {
437
- readonly preflight = true as const;
438
- constructor(
439
- message: string,
440
- readonly predictedCode: number,
441
- readonly predictedName: string,
442
- readonly hint?: string,
443
- ) {
444
- super(message);
445
- this.name = "SapPreflightError";
446
- }
447
- }
448
-
449
- /**
450
- * @name throwPredicted
451
- * @description Helper for SDK preflights. Throws a {@link SapPreflightError}
452
- * carrying the on-chain error name + friendly message.
453
- * @since v0.13.0
454
- */
455
- export function throwPredicted(name: keyof typeof SAP_ERROR_BY_NAME, hint?: string): never {
456
- const code = SAP_ERROR_BY_NAME[name as string] ?? -1;
457
- const entry = code >= 0 ? SAP_ERRORS[code] : undefined;
458
- const friendly = FRIENDLY_OVERRIDES[name as string] ?? `${String(name)}: ${entry?.msg ?? ""}`;
459
- const full = hint ? `${friendly} (${hint})` : friendly;
460
- throw new SapPreflightError(full, code, name as string, hint);
461
- }