@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,305 @@
1
+ /**
2
+ * @module core/connection
3
+ * @description RPC connection factory for SAP v2 SDK.
4
+ *
5
+ * Provides a high-level, synapse-client-sdk–compatible entry point
6
+ * for creating {@link SapClient} instances from an RPC URL and wallet.
7
+ *
8
+ * @category Core
9
+ * @since v0.1.0
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { SapConnection } from "@synapse-sap/sdk";
14
+ *
15
+ * // Quick start — RPC URL + Keypair
16
+ * const sap = SapConnection.fromKeypair("https://api.devnet.solana.com", keypair);
17
+ * const agent = await sap.client.agent.fetch();
18
+ *
19
+ * // Or build step-by-step
20
+ * const conn = new SapConnection({
21
+ * rpcUrl: "https://us-1-mainnet.oobeprotocol.ai/rpc?api_key=xxx",
22
+ * cluster: "mainnet-beta",
23
+ * commitment: "confirmed",
24
+ * });
25
+ * const client = conn.createClient(wallet);
26
+ * ```
27
+ */
28
+ import { Connection, type Commitment, Keypair, type PublicKey, type Transaction, type VersionedTransaction } from "@solana/web3.js";
29
+ import { SapClient } from "./client";
30
+ /**
31
+ * @interface SapWallet
32
+ * @description Minimal wallet/signer interface compatible with
33
+ * Anchor's `AnchorProvider`. Avoids importing `Wallet` from
34
+ * `@coral-xyz/anchor` which is absent in ESM builds.
35
+ * @category Core
36
+ * @since v0.4.1
37
+ */
38
+ export interface SapWallet {
39
+ readonly publicKey: PublicKey;
40
+ signTransaction<T extends Transaction | VersionedTransaction>(tx: T): Promise<T>;
41
+ signAllTransactions<T extends Transaction | VersionedTransaction>(txs: T[]): Promise<T[]>;
42
+ }
43
+ /**
44
+ * @name KeypairWallet
45
+ * @description Simple wallet wrapper around a `Keypair`.
46
+ * Drop-in replacement for Anchor's `NodeWallet` / `Wallet` class.
47
+ * @category Core
48
+ * @since v0.4.1
49
+ */
50
+ export declare class KeypairWallet implements SapWallet {
51
+ readonly payer: Keypair;
52
+ readonly publicKey: PublicKey;
53
+ constructor(payer: Keypair);
54
+ signTransaction<T extends Transaction | VersionedTransaction>(tx: T): Promise<T>;
55
+ signAllTransactions<T extends Transaction | VersionedTransaction>(txs: T[]): Promise<T[]>;
56
+ }
57
+ /**
58
+ * @name SapCluster
59
+ * @description Supported Solana cluster names used to select the RPC endpoint
60
+ * and corresponding SAP program ID.
61
+ * @category Core
62
+ * @since v0.1.0
63
+ */
64
+ export type SapCluster = "mainnet-beta" | "devnet" | "localnet";
65
+ /**
66
+ * @interface SapConnectionConfig
67
+ * @description Configuration object used to initialise a {@link SapConnection}.
68
+ * @category Core
69
+ * @since v0.1.0
70
+ * @see {@link SapConnection}
71
+ */
72
+ export interface SapConnectionConfig {
73
+ /**
74
+ * @property {string} rpcUrl
75
+ * @description Solana JSON-RPC endpoint URL (e.g. `https://api.devnet.solana.com`).
76
+ */
77
+ rpcUrl: string;
78
+ /**
79
+ * @property {string} [wsUrl]
80
+ * @description WebSocket endpoint URL. When omitted the SDK derives it
81
+ * automatically from {@link rpcUrl} by swapping the protocol scheme.
82
+ */
83
+ wsUrl?: string;
84
+ /**
85
+ * @property {Commitment} [commitment]
86
+ * @description Commitment level for queries and transaction confirmations.
87
+ * Defaults to `"confirmed"` when not provided.
88
+ */
89
+ commitment?: Commitment;
90
+ /**
91
+ * @property {SapCluster} [cluster]
92
+ * @description Cluster hint (`mainnet-beta` | `devnet` | `localnet`).
93
+ * When omitted the SDK infers it from {@link rpcUrl} via
94
+ * {@link SapConnection.detectCluster}.
95
+ */
96
+ cluster?: SapCluster;
97
+ }
98
+ /**
99
+ * @name SapConnection
100
+ * @description Lightweight RPC connection wrapper that creates
101
+ * properly-configured {@link SapClient} instances.
102
+ *
103
+ * Compatible with the `synapse-client-sdk` connection model:
104
+ * start from an RPC URL, attach a wallet, get a typed client.
105
+ *
106
+ * @category Core
107
+ * @since v0.1.0
108
+ * @see {@link SapClient}
109
+ * @see {@link SapConnectionConfig}
110
+ *
111
+ * @example
112
+ * ```ts
113
+ * // Factory shortcut for devnet
114
+ * const conn = SapConnection.devnet();
115
+ * const client = conn.createClient(wallet);
116
+ *
117
+ * // One-liner with Keypair
118
+ * const { client } = SapConnection.fromKeypair(
119
+ * "https://api.devnet.solana.com",
120
+ * keypair,
121
+ * );
122
+ * ```
123
+ */
124
+ export declare class SapConnection {
125
+ /**
126
+ * @readonly
127
+ * @description Raw Solana {@link Connection}. Exposed for advanced
128
+ * use-cases that need direct RPC access.
129
+ */
130
+ readonly connection: Connection;
131
+ /**
132
+ * @readonly
133
+ * @description The resolved Solana cluster for this connection,
134
+ * either explicitly provided or auto-detected from the RPC URL.
135
+ */
136
+ readonly cluster: SapCluster;
137
+ /**
138
+ * @readonly
139
+ * @description Commitment level used for all queries and
140
+ * transaction confirmations on this connection.
141
+ */
142
+ readonly commitment: Commitment;
143
+ /**
144
+ * @readonly
145
+ * @description The SAP on-chain program {@link PublicKey} resolved
146
+ * for the current {@link cluster}.
147
+ * @see {@link SapConnection.programIdForCluster}
148
+ */
149
+ readonly programId: PublicKey;
150
+ constructor(config: SapConnectionConfig);
151
+ /**
152
+ * Create a {@link SapConnection} for **devnet** with sensible defaults.
153
+ *
154
+ * @static
155
+ * @param {Commitment} [commitment="confirmed"] — Commitment level.
156
+ * @returns {SapConnection} A connection targeting Solana devnet.
157
+ * @since v0.1.0
158
+ *
159
+ * @example
160
+ * ```ts
161
+ * const conn = SapConnection.devnet();
162
+ * ```
163
+ */
164
+ static devnet(commitment?: Commitment): SapConnection;
165
+ /**
166
+ * Create a {@link SapConnection} for **mainnet-beta** with sensible defaults.
167
+ *
168
+ * @static
169
+ * @param {string} [rpcUrl="https://api.mainnet-beta.solana.com"] — Custom RPC URL.
170
+ * @param {Commitment} [commitment="confirmed"] — Commitment level.
171
+ * @returns {SapConnection} A connection targeting Solana mainnet-beta.
172
+ * @since v0.1.0
173
+ *
174
+ * @example
175
+ * ```ts
176
+ * const conn = SapConnection.mainnet("https://my-rpc.example.com");
177
+ * ```
178
+ */
179
+ static mainnet(rpcUrl?: string, commitment?: Commitment): SapConnection;
180
+ /**
181
+ * Create a {@link SapConnection} for **localnet** (`localhost:8899`).
182
+ *
183
+ * @static
184
+ * @param {Commitment} [commitment="confirmed"] — Commitment level.
185
+ * @returns {SapConnection} A connection targeting a local validator.
186
+ * @since v0.1.0
187
+ *
188
+ * @example
189
+ * ```ts
190
+ * const conn = SapConnection.localnet();
191
+ * ```
192
+ */
193
+ static localnet(commitment?: Commitment): SapConnection;
194
+ /**
195
+ * One-liner: create a {@link SapConnection} + {@link SapClient} from
196
+ * an RPC URL and a `Keypair`. Perfect for scripts and CLI tools.
197
+ *
198
+ * @static
199
+ * @param {string} rpcUrl — Solana JSON-RPC endpoint.
200
+ * @param {Keypair} keypair — Signer keypair.
201
+ * @param {object} [opts] — Optional overrides.
202
+ * @param {Commitment} [opts.commitment] — Commitment level.
203
+ * @param {SapCluster} [opts.cluster] — Explicit cluster hint.
204
+ * @returns {SapConnection & { readonly client: SapClient }} Connection with an attached client.
205
+ * @since v0.1.0
206
+ *
207
+ * @example
208
+ * ```ts
209
+ * const { client, connection } = SapConnection.fromKeypair(
210
+ * "https://api.devnet.solana.com",
211
+ * Keypair.generate(),
212
+ * );
213
+ * ```
214
+ */
215
+ static fromKeypair(rpcUrl: string, keypair: Keypair, opts?: {
216
+ commitment?: Commitment;
217
+ cluster?: SapCluster;
218
+ }): SapConnection & {
219
+ readonly client: SapClient;
220
+ };
221
+ /**
222
+ * Create a {@link SapClient} from a {@link SapWallet} (signer).
223
+ *
224
+ * @param {SapWallet} wallet — A wallet/signer implementing {@link SapWallet}.
225
+ * @returns {SapClient} A fully-configured SAP client.
226
+ * @since v0.1.0
227
+ *
228
+ * @example
229
+ * ```ts
230
+ * const client = conn.createClient(new KeypairWallet(keypair));
231
+ * ```
232
+ */
233
+ createClient(wallet: SapWallet): SapClient;
234
+ /**
235
+ * Create a {@link SapClient} from a raw {@link Keypair}.
236
+ *
237
+ * @param {Keypair} keypair — The signer keypair.
238
+ * @returns {SapClient} A fully-configured SAP client.
239
+ * @since v0.1.0
240
+ *
241
+ * @example
242
+ * ```ts
243
+ * const client = conn.fromKeypair(Keypair.generate());
244
+ * ```
245
+ */
246
+ fromKeypair(keypair: Keypair): SapClient;
247
+ /**
248
+ * Request an airdrop (devnet / localnet only).
249
+ *
250
+ * @param {PublicKey} to — Recipient public key.
251
+ * @param {number} solAmount — Amount of SOL to airdrop.
252
+ * @returns {Promise<string>} The confirmed transaction signature.
253
+ * @throws {Error} If the airdrop request or confirmation fails (e.g. on mainnet).
254
+ * @since v0.1.0
255
+ *
256
+ * @example
257
+ * ```ts
258
+ * const sig = await conn.airdrop(wallet.publicKey, 2);
259
+ * ```
260
+ */
261
+ airdrop(to: PublicKey, solAmount: number): Promise<string>;
262
+ /**
263
+ * Get the SOL balance of an address in **lamports**.
264
+ *
265
+ * @param {PublicKey} address — The account to query.
266
+ * @returns {Promise<number>} Balance in lamports.
267
+ * @since v0.1.0
268
+ */
269
+ getBalance(address: PublicKey): Promise<number>;
270
+ /**
271
+ * Get the SOL balance of an address in **SOL** (human-readable).
272
+ *
273
+ * @param {PublicKey} address — The account to query.
274
+ * @returns {Promise<number>} Balance in SOL.
275
+ * @since v0.1.0
276
+ *
277
+ * @example
278
+ * ```ts
279
+ * const sol = await conn.getBalanceSol(wallet.publicKey);
280
+ * console.log(`Balance: ${sol} SOL`);
281
+ * ```
282
+ */
283
+ getBalanceSol(address: PublicKey): Promise<number>;
284
+ /**
285
+ * Infer the {@link SapCluster} from an RPC URL by inspecting
286
+ * well-known substrings (`devnet`, `localhost`, `:8899`).
287
+ *
288
+ * @static
289
+ * @param {string} rpcUrl — The RPC endpoint to inspect.
290
+ * @returns {SapCluster} The detected cluster, defaulting to `"mainnet-beta"`.
291
+ * @since v0.1.0
292
+ */
293
+ static detectCluster(rpcUrl: string): SapCluster;
294
+ /**
295
+ * Map a {@link SapCluster} to the canonical SAP on-chain program ID.
296
+ *
297
+ * @static
298
+ * @param {SapCluster} cluster — Target cluster.
299
+ * @returns {PublicKey} The program {@link PublicKey} for the given cluster.
300
+ * @since v0.1.0
301
+ * @see {@link SAP_PROGRAM_ID}
302
+ */
303
+ static programIdForCluster(cluster: SapCluster): PublicKey;
304
+ }
305
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/core/connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,345 @@
1
+ /**
2
+ * @module core/connection
3
+ * @description RPC connection factory for SAP v2 SDK.
4
+ *
5
+ * Provides a high-level, synapse-client-sdk–compatible entry point
6
+ * for creating {@link SapClient} instances from an RPC URL and wallet.
7
+ *
8
+ * @category Core
9
+ * @since v0.1.0
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { SapConnection } from "@synapse-sap/sdk";
14
+ *
15
+ * // Quick start — RPC URL + Keypair
16
+ * const sap = SapConnection.fromKeypair("https://api.devnet.solana.com", keypair);
17
+ * const agent = await sap.client.agent.fetch();
18
+ *
19
+ * // Or build step-by-step
20
+ * const conn = new SapConnection({
21
+ * rpcUrl: "https://us-1-mainnet.oobeprotocol.ai/rpc?api_key=xxx",
22
+ * cluster: "mainnet-beta",
23
+ * commitment: "confirmed",
24
+ * });
25
+ * const client = conn.createClient(wallet);
26
+ * ```
27
+ */
28
+ import { Connection, LAMPORTS_PER_SOL, } from "@solana/web3.js";
29
+ import { AnchorProvider } from "@coral-xyz/anchor";
30
+ import { SAP_PROGRAM_ID, MAINNET_SAP_PROGRAM_ID, DEVNET_SAP_PROGRAM_ID, LOCALNET_SAP_PROGRAM_ID, } from "../constants";
31
+ import { SapClient } from "./client";
32
+ /**
33
+ * @name KeypairWallet
34
+ * @description Simple wallet wrapper around a `Keypair`.
35
+ * Drop-in replacement for Anchor's `NodeWallet` / `Wallet` class.
36
+ * @category Core
37
+ * @since v0.4.1
38
+ */
39
+ export class KeypairWallet {
40
+ payer;
41
+ publicKey;
42
+ constructor(payer) {
43
+ this.payer = payer;
44
+ this.publicKey = payer.publicKey;
45
+ }
46
+ async signTransaction(tx) {
47
+ if ("partialSign" in tx) {
48
+ tx.partialSign(this.payer);
49
+ }
50
+ else {
51
+ tx.sign([this.payer]);
52
+ }
53
+ return tx;
54
+ }
55
+ async signAllTransactions(txs) {
56
+ for (const tx of txs) {
57
+ await this.signTransaction(tx);
58
+ }
59
+ return txs;
60
+ }
61
+ }
62
+ // ═══════════════════════════════════════════════════════════════════
63
+ // Implementation
64
+ // ═══════════════════════════════════════════════════════════════════
65
+ /**
66
+ * @name SapConnection
67
+ * @description Lightweight RPC connection wrapper that creates
68
+ * properly-configured {@link SapClient} instances.
69
+ *
70
+ * Compatible with the `synapse-client-sdk` connection model:
71
+ * start from an RPC URL, attach a wallet, get a typed client.
72
+ *
73
+ * @category Core
74
+ * @since v0.1.0
75
+ * @see {@link SapClient}
76
+ * @see {@link SapConnectionConfig}
77
+ *
78
+ * @example
79
+ * ```ts
80
+ * // Factory shortcut for devnet
81
+ * const conn = SapConnection.devnet();
82
+ * const client = conn.createClient(wallet);
83
+ *
84
+ * // One-liner with Keypair
85
+ * const { client } = SapConnection.fromKeypair(
86
+ * "https://api.devnet.solana.com",
87
+ * keypair,
88
+ * );
89
+ * ```
90
+ */
91
+ export class SapConnection {
92
+ /**
93
+ * @readonly
94
+ * @description Raw Solana {@link Connection}. Exposed for advanced
95
+ * use-cases that need direct RPC access.
96
+ */
97
+ connection;
98
+ /**
99
+ * @readonly
100
+ * @description The resolved Solana cluster for this connection,
101
+ * either explicitly provided or auto-detected from the RPC URL.
102
+ */
103
+ cluster;
104
+ /**
105
+ * @readonly
106
+ * @description Commitment level used for all queries and
107
+ * transaction confirmations on this connection.
108
+ */
109
+ commitment;
110
+ /**
111
+ * @readonly
112
+ * @description The SAP on-chain program {@link PublicKey} resolved
113
+ * for the current {@link cluster}.
114
+ * @see {@link SapConnection.programIdForCluster}
115
+ */
116
+ programId;
117
+ constructor(config) {
118
+ this.commitment = config.commitment ?? "confirmed";
119
+ this.cluster = config.cluster ?? SapConnection.detectCluster(config.rpcUrl);
120
+ this.programId = SapConnection.programIdForCluster(this.cluster);
121
+ this.connection = new Connection(config.rpcUrl, {
122
+ commitment: this.commitment,
123
+ wsEndpoint: config.wsUrl,
124
+ });
125
+ }
126
+ // ─────────────────────────────────────────────
127
+ // Factory helpers
128
+ // ─────────────────────────────────────────────
129
+ /**
130
+ * Create a {@link SapConnection} for **devnet** with sensible defaults.
131
+ *
132
+ * @static
133
+ * @param {Commitment} [commitment="confirmed"] — Commitment level.
134
+ * @returns {SapConnection} A connection targeting Solana devnet.
135
+ * @since v0.1.0
136
+ *
137
+ * @example
138
+ * ```ts
139
+ * const conn = SapConnection.devnet();
140
+ * ```
141
+ */
142
+ static devnet(commitment = "confirmed") {
143
+ return new SapConnection({
144
+ rpcUrl: "https://api.devnet.solana.com",
145
+ cluster: "devnet",
146
+ commitment,
147
+ });
148
+ }
149
+ /**
150
+ * Create a {@link SapConnection} for **mainnet-beta** with sensible defaults.
151
+ *
152
+ * @static
153
+ * @param {string} [rpcUrl="https://api.mainnet-beta.solana.com"] — Custom RPC URL.
154
+ * @param {Commitment} [commitment="confirmed"] — Commitment level.
155
+ * @returns {SapConnection} A connection targeting Solana mainnet-beta.
156
+ * @since v0.1.0
157
+ *
158
+ * @example
159
+ * ```ts
160
+ * const conn = SapConnection.mainnet("https://my-rpc.example.com");
161
+ * ```
162
+ */
163
+ static mainnet(rpcUrl = "https://api.mainnet-beta.solana.com", commitment = "confirmed") {
164
+ return new SapConnection({ rpcUrl, cluster: "mainnet-beta", commitment });
165
+ }
166
+ /**
167
+ * Create a {@link SapConnection} for **localnet** (`localhost:8899`).
168
+ *
169
+ * @static
170
+ * @param {Commitment} [commitment="confirmed"] — Commitment level.
171
+ * @returns {SapConnection} A connection targeting a local validator.
172
+ * @since v0.1.0
173
+ *
174
+ * @example
175
+ * ```ts
176
+ * const conn = SapConnection.localnet();
177
+ * ```
178
+ */
179
+ static localnet(commitment = "confirmed") {
180
+ return new SapConnection({
181
+ rpcUrl: "http://localhost:8899",
182
+ cluster: "localnet",
183
+ commitment,
184
+ });
185
+ }
186
+ /**
187
+ * One-liner: create a {@link SapConnection} + {@link SapClient} from
188
+ * an RPC URL and a `Keypair`. Perfect for scripts and CLI tools.
189
+ *
190
+ * @static
191
+ * @param {string} rpcUrl — Solana JSON-RPC endpoint.
192
+ * @param {Keypair} keypair — Signer keypair.
193
+ * @param {object} [opts] — Optional overrides.
194
+ * @param {Commitment} [opts.commitment] — Commitment level.
195
+ * @param {SapCluster} [opts.cluster] — Explicit cluster hint.
196
+ * @returns {SapConnection & { readonly client: SapClient }} Connection with an attached client.
197
+ * @since v0.1.0
198
+ *
199
+ * @example
200
+ * ```ts
201
+ * const { client, connection } = SapConnection.fromKeypair(
202
+ * "https://api.devnet.solana.com",
203
+ * Keypair.generate(),
204
+ * );
205
+ * ```
206
+ */
207
+ static fromKeypair(rpcUrl, keypair, opts) {
208
+ const conn = new SapConnection({
209
+ rpcUrl,
210
+ commitment: opts?.commitment,
211
+ cluster: opts?.cluster,
212
+ });
213
+ const client = conn.createClient(new KeypairWallet(keypair));
214
+ return Object.assign(conn, { client });
215
+ }
216
+ // ─────────────────────────────────────────────
217
+ // Client creation
218
+ // ─────────────────────────────────────────────
219
+ /**
220
+ * Create a {@link SapClient} from a {@link SapWallet} (signer).
221
+ *
222
+ * @param {SapWallet} wallet — A wallet/signer implementing {@link SapWallet}.
223
+ * @returns {SapClient} A fully-configured SAP client.
224
+ * @since v0.1.0
225
+ *
226
+ * @example
227
+ * ```ts
228
+ * const client = conn.createClient(new KeypairWallet(keypair));
229
+ * ```
230
+ */
231
+ createClient(wallet) {
232
+ const provider = new AnchorProvider(this.connection, wallet, {
233
+ commitment: this.commitment,
234
+ });
235
+ return SapClient.from(provider, this.programId);
236
+ }
237
+ /**
238
+ * Create a {@link SapClient} from a raw {@link Keypair}.
239
+ *
240
+ * @param {Keypair} keypair — The signer keypair.
241
+ * @returns {SapClient} A fully-configured SAP client.
242
+ * @since v0.1.0
243
+ *
244
+ * @example
245
+ * ```ts
246
+ * const client = conn.fromKeypair(Keypair.generate());
247
+ * ```
248
+ */
249
+ fromKeypair(keypair) {
250
+ return this.createClient(new KeypairWallet(keypair));
251
+ }
252
+ // ─────────────────────────────────────────────
253
+ // Utility methods
254
+ // ─────────────────────────────────────────────
255
+ /**
256
+ * Request an airdrop (devnet / localnet only).
257
+ *
258
+ * @param {PublicKey} to — Recipient public key.
259
+ * @param {number} solAmount — Amount of SOL to airdrop.
260
+ * @returns {Promise<string>} The confirmed transaction signature.
261
+ * @throws {Error} If the airdrop request or confirmation fails (e.g. on mainnet).
262
+ * @since v0.1.0
263
+ *
264
+ * @example
265
+ * ```ts
266
+ * const sig = await conn.airdrop(wallet.publicKey, 2);
267
+ * ```
268
+ */
269
+ async airdrop(to, solAmount) {
270
+ const sig = await this.connection.requestAirdrop(to, solAmount * LAMPORTS_PER_SOL);
271
+ await this.connection.confirmTransaction(sig, this.commitment);
272
+ return sig;
273
+ }
274
+ /**
275
+ * Get the SOL balance of an address in **lamports**.
276
+ *
277
+ * @param {PublicKey} address — The account to query.
278
+ * @returns {Promise<number>} Balance in lamports.
279
+ * @since v0.1.0
280
+ */
281
+ async getBalance(address) {
282
+ return this.connection.getBalance(address, this.commitment);
283
+ }
284
+ /**
285
+ * Get the SOL balance of an address in **SOL** (human-readable).
286
+ *
287
+ * @param {PublicKey} address — The account to query.
288
+ * @returns {Promise<number>} Balance in SOL.
289
+ * @since v0.1.0
290
+ *
291
+ * @example
292
+ * ```ts
293
+ * const sol = await conn.getBalanceSol(wallet.publicKey);
294
+ * console.log(`Balance: ${sol} SOL`);
295
+ * ```
296
+ */
297
+ async getBalanceSol(address) {
298
+ const lamports = await this.getBalance(address);
299
+ return lamports / LAMPORTS_PER_SOL;
300
+ }
301
+ // ─────────────────────────────────────────────
302
+ // Internal helpers
303
+ // ─────────────────────────────────────────────
304
+ /**
305
+ * Infer the {@link SapCluster} from an RPC URL by inspecting
306
+ * well-known substrings (`devnet`, `localhost`, `:8899`).
307
+ *
308
+ * @static
309
+ * @param {string} rpcUrl — The RPC endpoint to inspect.
310
+ * @returns {SapCluster} The detected cluster, defaulting to `"mainnet-beta"`.
311
+ * @since v0.1.0
312
+ */
313
+ static detectCluster(rpcUrl) {
314
+ const lower = rpcUrl.toLowerCase();
315
+ if (lower.includes("devnet"))
316
+ return "devnet";
317
+ if (lower.includes("localhost") ||
318
+ lower.includes("127.0.0.1") ||
319
+ lower.includes(":8899"))
320
+ return "localnet";
321
+ return "mainnet-beta";
322
+ }
323
+ /**
324
+ * Map a {@link SapCluster} to the canonical SAP on-chain program ID.
325
+ *
326
+ * @static
327
+ * @param {SapCluster} cluster — Target cluster.
328
+ * @returns {PublicKey} The program {@link PublicKey} for the given cluster.
329
+ * @since v0.1.0
330
+ * @see {@link SAP_PROGRAM_ID}
331
+ */
332
+ static programIdForCluster(cluster) {
333
+ switch (cluster) {
334
+ case "mainnet-beta":
335
+ return MAINNET_SAP_PROGRAM_ID;
336
+ case "devnet":
337
+ return DEVNET_SAP_PROGRAM_ID;
338
+ case "localnet":
339
+ return LOCALNET_SAP_PROGRAM_ID;
340
+ default:
341
+ return SAP_PROGRAM_ID;
342
+ }
343
+ }
344
+ }
345
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/core/connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @module core
3
+ * @description Core infrastructure — client creation and RPC connection.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { SapClient, SapConnection } from "@synapse-sap/sdk";
8
+ *
9
+ * // From Anchor provider
10
+ * const client = SapClient.from(provider);
11
+ *
12
+ * // From RPC URL + keypair (synapse-client-sdk compatible)
13
+ * const conn = SapConnection.devnet();
14
+ * const client2 = conn.fromKeypair(keypair);
15
+ * ```
16
+ */
17
+ export { SapClient } from "./client";
18
+ export { SapConnection, KeypairWallet } from "./connection";
19
+ export type { SapCluster, SapConnectionConfig, SapWallet } from "./connection";
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC5D,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}