@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,147 @@
1
+ "use strict";
2
+ /**
3
+ * @module attestation
4
+ * @description Web-of-trust attestations — create, revoke, and close
5
+ * on-chain attestations that vouch for agent trustworthiness.
6
+ *
7
+ * Attestations are signed endorsements from one wallet to an agent,
8
+ * forming a composable trust graph on Solana.
9
+ *
10
+ * @category Modules
11
+ * @since v0.1.0
12
+ * @packageDocumentation
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AttestationModule = void 0;
16
+ const web3_js_1 = require("@solana/web3.js");
17
+ const base_1 = require("./base");
18
+ const pda_1 = require("../pda");
19
+ /**
20
+ * @name AttestationModule
21
+ * @description Manages on-chain attestations for the Synapse Agent Protocol.
22
+ * Provides methods to create, revoke, close, and fetch attestation PDAs
23
+ * that form the web-of-trust layer.
24
+ *
25
+ * @category Modules
26
+ * @since v0.1.0
27
+ * @extends BaseModule
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * const sap = new SapClient(provider);
32
+ * // Create an attestation for an agent
33
+ * const sig = await sap.attestation.create(agentWallet, {
34
+ * attestationType: { identity: {} },
35
+ * metadataHash: [...],
36
+ * expiresAt: null,
37
+ * });
38
+ * ```
39
+ */
40
+ class AttestationModule extends base_1.BaseModule {
41
+ // ── PDA helpers ──────────────────────────────────────
42
+ /**
43
+ * @name deriveAttestation
44
+ * @description Derive the `AgentAttestation` PDA for a given agent and attester.
45
+ * @param agentPda - The agent account PDA to attest.
46
+ * @param attester - The attester wallet. Defaults to the connected wallet.
47
+ * @returns A tuple of `[PublicKey, bump]` for the attestation PDA.
48
+ * @see {@link deriveAttestation} from `pda/` module for the underlying derivation.
49
+ * @since v0.1.0
50
+ */
51
+ deriveAttestation(agentPda, attester) {
52
+ return (0, pda_1.deriveAttestation)(agentPda, attester ?? this.walletPubkey);
53
+ }
54
+ // ── Instructions ─────────────────────────────────────
55
+ /**
56
+ * @name create
57
+ * @description Create an on-chain attestation vouching for an agent.
58
+ * The connected wallet becomes the attester.
59
+ * @param agentWallet - The wallet that owns the target agent.
60
+ * @param args - Attestation parameters (type, metadata hash, optional expiry).
61
+ * @returns {Promise<TransactionSignature>} The transaction signature.
62
+ * @since v0.1.0
63
+ */
64
+ async create(agentWallet, args) {
65
+ const [agentPda] = (0, pda_1.deriveAgent)(agentWallet);
66
+ const [attestPda] = this.deriveAttestation(agentPda);
67
+ const [globalPda] = (0, pda_1.deriveGlobalRegistry)();
68
+ return this.methods
69
+ .createAttestation(args.attestationType, args.metadataHash, args.expiresAt)
70
+ .accounts({
71
+ attester: this.walletPubkey,
72
+ agent: agentPda,
73
+ attestation: attestPda,
74
+ globalRegistry: globalPda,
75
+ systemProgram: web3_js_1.SystemProgram.programId,
76
+ })
77
+ .rpc();
78
+ }
79
+ /**
80
+ * @name revoke
81
+ * @description Revoke a previously issued attestation. Only the original
82
+ * attester may revoke.
83
+ * @param agentWallet - The wallet of the attested agent.
84
+ * @returns {Promise<TransactionSignature>} The transaction signature.
85
+ * @since v0.1.0
86
+ */
87
+ async revoke(agentWallet) {
88
+ const [agentPda] = (0, pda_1.deriveAgent)(agentWallet);
89
+ const [attestPda] = this.deriveAttestation(agentPda);
90
+ return this.methods
91
+ .revokeAttestation()
92
+ .accounts({
93
+ attester: this.walletPubkey,
94
+ attestation: attestPda,
95
+ })
96
+ .rpc();
97
+ }
98
+ /**
99
+ * @name close
100
+ * @description Close a revoked attestation PDA and reclaim rent to the attester.
101
+ * @param agentWallet - The wallet of the attested agent.
102
+ * @returns {Promise<TransactionSignature>} The transaction signature.
103
+ * @since v0.1.0
104
+ */
105
+ async close(agentWallet) {
106
+ const [agentPda] = (0, pda_1.deriveAgent)(agentWallet);
107
+ const [attestPda] = this.deriveAttestation(agentPda);
108
+ const [globalPda] = (0, pda_1.deriveGlobalRegistry)();
109
+ return this.methods
110
+ .closeAttestation()
111
+ .accounts({
112
+ attester: this.walletPubkey,
113
+ attestation: attestPda,
114
+ globalRegistry: globalPda,
115
+ })
116
+ .rpc();
117
+ }
118
+ // ── Fetchers ─────────────────────────────────────────
119
+ /**
120
+ * @name fetch
121
+ * @description Fetch a deserialized `AgentAttestation` account.
122
+ * @param agentPda - The agent account PDA.
123
+ * @param attester - The attester wallet. Defaults to the connected wallet.
124
+ * @returns {Promise<AgentAttestationData>} The attestation account data.
125
+ * @throws Will throw if the attestation account does not exist.
126
+ * @since v0.1.0
127
+ */
128
+ async fetch(agentPda, attester) {
129
+ const [pda] = this.deriveAttestation(agentPda, attester);
130
+ return this.fetchAccount("agentAttestation", pda);
131
+ }
132
+ /**
133
+ * @name fetchNullable
134
+ * @description Fetch a deserialized `AgentAttestation` account, or `null`
135
+ * if it does not exist on-chain.
136
+ * @param agentPda - The agent account PDA.
137
+ * @param attester - The attester wallet. Defaults to the connected wallet.
138
+ * @returns {Promise<AgentAttestationData | null>} The attestation data or `null`.
139
+ * @since v0.1.0
140
+ */
141
+ async fetchNullable(agentPda, attester) {
142
+ const [pda] = this.deriveAttestation(agentPda, attester);
143
+ return this.fetchAccountNullable("agentAttestation", pda);
144
+ }
145
+ }
146
+ exports.AttestationModule = AttestationModule;
147
+ //# sourceMappingURL=attestation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../../src/modules/attestation.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,6CAA2F;AAC3F,iCAAoC;AACpC,gCAA8E;AAG9E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,iBAAkB,SAAQ,iBAAU;IAC/C,wDAAwD;IAExD;;;;;;;;OAQG;IACH,iBAAiB,CACf,QAAmB,EACnB,QAAoB;QAEpB,OAAO,IAAA,uBAAiB,EAAC,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;IACpE,CAAC;IAED,wDAAwD;IAExD;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CACV,WAAsB,EACtB,IAA2B;QAE3B,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,iBAAW,EAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,CAAC,SAAS,CAAC,GAAG,IAAA,0BAAoB,GAAE,CAAC;QAE3C,OAAO,IAAI,CAAC,OAAO;aAChB,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;aAC1E,QAAQ,CAAC;YACR,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,SAAS;YACtB,cAAc,EAAE,SAAS;YACzB,aAAa,EAAE,uBAAa,CAAC,SAAS;SACvC,CAAC;aACD,GAAG,EAAE,CAAC;IACX,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CAAC,WAAsB;QACjC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,iBAAW,EAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAErD,OAAO,IAAI,CAAC,OAAO;aAChB,iBAAiB,EAAE;aACnB,QAAQ,CAAC;YACR,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,WAAW,EAAE,SAAS;SACvB,CAAC;aACD,GAAG,EAAE,CAAC;IACX,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,WAAsB;QAChC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAA,iBAAW,EAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,CAAC,SAAS,CAAC,GAAG,IAAA,0BAAoB,GAAE,CAAC;QAE3C,OAAO,IAAI,CAAC,OAAO;aAChB,gBAAgB,EAAE;aAClB,QAAQ,CAAC;YACR,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,WAAW,EAAE,SAAS;YACtB,cAAc,EAAE,SAAS;SAC1B,CAAC;aACD,GAAG,EAAE,CAAC;IACX,CAAC;IAED,wDAAwD;IAExD;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,CACT,QAAmB,EACnB,QAAoB;QAEpB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,YAAY,CAAuB,kBAAkB,EAAE,GAAG,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CACjB,QAAmB,EACnB,QAAoB;QAEpB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,oBAAoB,CAAuB,kBAAkB,EAAE,GAAG,CAAC,CAAC;IAClF,CAAC;CACF;AAhID,8CAgIC"}
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ /**
3
+ * @module base
4
+ * @description Abstract base class for all SDK modules.
5
+ *
6
+ * Provides shared access to the Anchor program, provider,
7
+ * and typed `fetch` / `fetchNullable` helpers.
8
+ *
9
+ * @category Modules
10
+ * @since v0.1.0
11
+ * @packageDocumentation
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.BaseModule = void 0;
15
+ const anchor_1 = require("@coral-xyz/anchor");
16
+ const anchor_errors_1 = require("../utils/anchor-errors");
17
+ /**
18
+ * @name BaseModule
19
+ * @description Abstract base module inherited by every domain module in the SDK.
20
+ * Encapsulates the Anchor program reference, provider access, and common
21
+ * helpers for account fetching and BN construction.
22
+ *
23
+ * @abstract
24
+ * @category Modules
25
+ * @since v0.1.0
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * class MyModule extends BaseModule {
30
+ * async doSomething() {
31
+ * const data = await this.fetchAccount<MyData>("myAccount", pda);
32
+ * }
33
+ * }
34
+ * ```
35
+ */
36
+ class BaseModule {
37
+ program;
38
+ /**
39
+ * Create a new module instance.
40
+ *
41
+ * @param program - The Anchor `Program` instance for the SAP IDL.
42
+ * @protected
43
+ */
44
+ constructor(program) {
45
+ this.program = program;
46
+ }
47
+ /**
48
+ * @name methods
49
+ * @description Instruction method namespace — bypasses `noUncheckedIndexedAccess`
50
+ * on `Program<any>` where every property is `T | undefined`.
51
+ * Used internally by subclasses to build and send instructions.
52
+ * @returns The Anchor program `methods` object for chaining instruction builders.
53
+ * @protected
54
+ * @since v0.1.0
55
+ */
56
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
+ get methods() {
58
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
59
+ return this.program.methods;
60
+ }
61
+ /**
62
+ * @name provider
63
+ * @description The AnchorProvider from the program, giving access to
64
+ * the connection and wallet for signing transactions.
65
+ * @returns {AnchorProvider} The Anchor provider instance.
66
+ * @protected
67
+ * @since v0.1.0
68
+ */
69
+ get provider() {
70
+ return this.program.provider;
71
+ }
72
+ /**
73
+ * @name walletPubkey
74
+ * @description Convenience accessor for the signer wallet's public key.
75
+ * @returns {PublicKey} The public key of the connected wallet.
76
+ * @protected
77
+ * @since v0.1.0
78
+ */
79
+ get walletPubkey() {
80
+ return this.provider.wallet.publicKey;
81
+ }
82
+ /**
83
+ * @name fetchAccount
84
+ * @description Generic account fetch — deserializes the on-chain account
85
+ * data into the given type `T`, or throws if the account does not exist.
86
+ * @typeParam T - The expected deserialized account data type.
87
+ * @param accountName - The Anchor account discriminator name (e.g. `"agentAccount"`).
88
+ * @param address - The public key of the account to fetch.
89
+ * @returns {Promise<T>} The deserialized account data.
90
+ * @throws Will throw if the account does not exist on-chain.
91
+ * @protected
92
+ * @since v0.1.0
93
+ */
94
+ async fetchAccount(accountName, address) {
95
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
96
+ return this.program.account[accountName].fetch(address);
97
+ }
98
+ /**
99
+ * @name fetchAccountNullable
100
+ * @description Generic nullable account fetch — deserializes the on-chain
101
+ * account data into type `T`, or returns `null` if the account does not exist.
102
+ * @typeParam T - The expected deserialized account data type.
103
+ * @param accountName - The Anchor account discriminator name (e.g. `"agentAccount"`).
104
+ * @param address - The public key of the account to fetch.
105
+ * @returns {Promise<T | null>} The deserialized account data, or `null`.
106
+ * @protected
107
+ * @since v0.1.0
108
+ */
109
+ async fetchAccountNullable(accountName, address) {
110
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
111
+ return this.program.account[accountName].fetchNullable(address);
112
+ }
113
+ /**
114
+ * @name bn
115
+ * @description Create an Anchor `BN` from a number, bigint, or existing BN.
116
+ * Passes through values that are already `BN` instances.
117
+ * @param value - The numeric value to convert.
118
+ * @returns {BN} An Anchor-compatible big number.
119
+ * @protected
120
+ * @since v0.1.0
121
+ */
122
+ bn(value) {
123
+ if (anchor_1.BN.isBN(value))
124
+ return value;
125
+ return new anchor_1.BN(value.toString());
126
+ }
127
+ // ── v0.13.0 preflight helpers ─────────────────────────
128
+ /**
129
+ * @name requireAccountExists
130
+ * @description Fetch a required account; throw a {@link SapPreflightError}
131
+ * with an actionable message if it does not exist.
132
+ * @typeParam T - Expected account type.
133
+ * @param accountName - Anchor account discriminator name.
134
+ * @param address - PDA to fetch.
135
+ * @param onMissing - `{ predicted, hint }` describing the on-chain rejection
136
+ * that would otherwise occur.
137
+ * @protected
138
+ * @since v0.13.0
139
+ */
140
+ async requireAccountExists(accountName, address, onMissing) {
141
+ const acc = await this.fetchAccountNullable(accountName, address);
142
+ if (acc == null) {
143
+ (0, anchor_errors_1.throwPredicted)(onMissing.predicted, onMissing.hint ?? `${accountName} ${address.toBase58()} not found`);
144
+ }
145
+ return acc;
146
+ }
147
+ /**
148
+ * @name requireAccountAbsent
149
+ * @description Verify a PDA does not yet exist on-chain. Used before any
150
+ * `init` instruction to catch `account already in use` early.
151
+ * @protected
152
+ * @since v0.13.0
153
+ */
154
+ async requireAccountAbsent(accountName, address, hint) {
155
+ const acc = await this.provider.connection.getAccountInfo(address);
156
+ if (acc !== null) {
157
+ throw new anchor_errors_1.SapPreflightError(`${accountName} ${address.toBase58()} already exists. ${hint}`, 0, "AccountAlreadyInUse", hint);
158
+ }
159
+ }
160
+ /**
161
+ * @name simulateOrThrow
162
+ * @description Run `simulate()` on a method builder. If the simulation
163
+ * reports a SAP program error, throw it as a {@link SapPreflightError}
164
+ * with the decoded name + friendly hint *before* the user pays fees.
165
+ * Returns the simulation logs on success for inspection.
166
+ * @protected
167
+ * @since v0.13.0
168
+ */
169
+ async simulateOrThrow(
170
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
171
+ builder, label) {
172
+ try {
173
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
174
+ const sim = await builder.simulate();
175
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
176
+ const logs = (sim?.raw ?? sim?.logs ?? []);
177
+ return logs;
178
+ }
179
+ catch (err) {
180
+ const decoded = (0, anchor_errors_1.decodeAnchorError)(err);
181
+ if (decoded) {
182
+ throw new anchor_errors_1.SapPreflightError(`[${label}] simulation failed: ${decoded.friendly}`, decoded.code, decoded.name, decoded.logs?.slice(0, 6).join(" | "));
183
+ }
184
+ throw err;
185
+ }
186
+ }
187
+ }
188
+ exports.BaseModule = BaseModule;
189
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/modules/base.ts"],"names":[],"mappings":"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"}