@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,120 @@
1
+ /**
2
+ * @module utils/network-normalizer
3
+ * @description Network identifier normalization for x402 payment headers.
4
+ *
5
+ * Solves the canonical-string mismatch between SAP clients and servers:
6
+ * some providers accept `solana:mainnet-beta` while others require
7
+ * the genesis-hash form `solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`.
8
+ *
9
+ * This module provides a single source of truth for normalizing
10
+ * network identifiers so that both clients and agents canonicalize
11
+ * before comparing. Catches the Kamiyo "sap network mismatch" error
12
+ * at the SDK level.
13
+ *
14
+ * @category Utils
15
+ * @since v0.6.0
16
+ */
17
+ import { type SapNetworkId } from "../constants/network";
18
+ /**
19
+ * @name normalizeNetworkId
20
+ * @description Normalize a raw network identifier string to its canonical
21
+ * {@link SapNetworkId} form.
22
+ *
23
+ * Handles:
24
+ * - Case-insensitive matching
25
+ * - Stripping whitespace
26
+ * - Resolving genesis-hash vs. cluster-name aliases
27
+ * - Unknown strings are returned as-is (passthrough)
28
+ *
29
+ * @param raw - Raw network identifier string from headers, env vars, or config.
30
+ * @returns The canonical {@link SapNetworkId}, or the trimmed input if unknown.
31
+ *
32
+ * @category Utils
33
+ * @since v0.6.0
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * import { normalizeNetworkId } from "@synapse-sap/sdk";
38
+ *
39
+ * normalizeNetworkId("solana:mainnet-beta");
40
+ * // → "solana:mainnet-beta"
41
+ *
42
+ * normalizeNetworkId("5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp");
43
+ * // → "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
44
+ *
45
+ * normalizeNetworkId(" MAINNET ");
46
+ * // → "solana:mainnet-beta"
47
+ * ```
48
+ */
49
+ export declare function normalizeNetworkId(raw: string): SapNetworkId | string;
50
+ /**
51
+ * @name isNetworkEquivalent
52
+ * @description Check if two network identifier strings refer to the same network,
53
+ * even if they use different formats (cluster-name vs. genesis-hash).
54
+ *
55
+ * This is the key function that prevents the Kamiyo "sap network mismatch"
56
+ * error — instead of comparing strings literally, we compare their
57
+ * canonical equivalence class.
58
+ *
59
+ * @param a - First network identifier.
60
+ * @param b - Second network identifier.
61
+ * @returns `true` if both identifiers refer to the same Solana network.
62
+ *
63
+ * @category Utils
64
+ * @since v0.6.0
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * import { isNetworkEquivalent } from "@synapse-sap/sdk";
69
+ *
70
+ * isNetworkEquivalent("solana:mainnet-beta", "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp");
71
+ * // → true
72
+ *
73
+ * isNetworkEquivalent("solana:devnet", "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1");
74
+ * // → true
75
+ *
76
+ * isNetworkEquivalent("solana:mainnet-beta", "solana:devnet");
77
+ * // → false
78
+ * ```
79
+ */
80
+ export declare function isNetworkEquivalent(a: string, b: string): boolean;
81
+ /**
82
+ * @name getNetworkGenesisHash
83
+ * @description Get the genesis-hash form of a network identifier.
84
+ * Returns the genesis-hash variant for known networks, or the input as-is.
85
+ *
86
+ * Useful for agents that require the genesis-hash form (Kamiyo, Helius x402).
87
+ *
88
+ * @param networkId - Any network identifier.
89
+ * @returns The genesis-hash form, or the input if unknown.
90
+ *
91
+ * @category Utils
92
+ * @since v0.6.0
93
+ */
94
+ export declare function getNetworkGenesisHash(networkId: string): string;
95
+ /**
96
+ * @name getNetworkClusterName
97
+ * @description Get the cluster-name form of a network identifier.
98
+ * Returns the human-readable cluster name for known networks.
99
+ *
100
+ * Useful for providers that accept cluster names (Coinbase, Phantom).
101
+ *
102
+ * @param networkId - Any network identifier.
103
+ * @returns The cluster-name form, or the input if unknown.
104
+ *
105
+ * @category Utils
106
+ * @since v0.6.0
107
+ */
108
+ export declare function getNetworkClusterName(networkId: string): string;
109
+ /**
110
+ * @name isKnownNetwork
111
+ * @description Check if a network identifier is recognized by the SDK.
112
+ *
113
+ * @param networkId - The network identifier to check.
114
+ * @returns `true` if the identifier maps to a known Solana network.
115
+ *
116
+ * @category Utils
117
+ * @since v0.6.0
118
+ */
119
+ export declare function isKnownNetwork(networkId: string): boolean;
120
+ //# sourceMappingURL=network-normalizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-normalizer.d.ts","sourceRoot":"","sources":["../../../src/utils/network-normalizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAsDrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,MAAM,CAcrE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CA2BjE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAS/D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAS/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAIzD"}
@@ -0,0 +1,229 @@
1
+ /**
2
+ * @module utils/network-normalizer
3
+ * @description Network identifier normalization for x402 payment headers.
4
+ *
5
+ * Solves the canonical-string mismatch between SAP clients and servers:
6
+ * some providers accept `solana:mainnet-beta` while others require
7
+ * the genesis-hash form `solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`.
8
+ *
9
+ * This module provides a single source of truth for normalizing
10
+ * network identifiers so that both clients and agents canonicalize
11
+ * before comparing. Catches the Kamiyo "sap network mismatch" error
12
+ * at the SDK level.
13
+ *
14
+ * @category Utils
15
+ * @since v0.6.0
16
+ */
17
+ import { SapNetwork } from "../constants/network";
18
+ // ═══════════════════════════════════════════════════════════════════
19
+ // Canonical Mapping
20
+ // ═══════════════════════════════════════════════════════════════════
21
+ /**
22
+ * Bidirectional alias map: for every known network string, stores the
23
+ * canonical SapNetworkId it resolves to, plus all known aliases.
24
+ */
25
+ const NETWORK_ALIASES = new Map([
26
+ // ── Mainnet ───────────────────────────────
27
+ // Canonical: genesis-hash form
28
+ ["solana:mainnet-beta", SapNetwork.SOLANA_MAINNET],
29
+ ["solana:mainnet", SapNetwork.SOLANA_MAINNET],
30
+ ["mainnet-beta", SapNetwork.SOLANA_MAINNET],
31
+ ["mainnet", SapNetwork.SOLANA_MAINNET],
32
+ ["solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", SapNetwork.SOLANA_MAINNET_GENESIS],
33
+ ["5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", SapNetwork.SOLANA_MAINNET_GENESIS],
34
+ // ── Devnet ────────────────────────────────
35
+ ["solana:devnet", SapNetwork.SOLANA_DEVNET_NAMED],
36
+ ["devnet", SapNetwork.SOLANA_DEVNET_NAMED],
37
+ ["solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1", SapNetwork.SOLANA_DEVNET],
38
+ ["EtWTRABZaYq6iMfeYKouRu166VU2xqa1", SapNetwork.SOLANA_DEVNET],
39
+ ]);
40
+ /**
41
+ * Mainnet equivalence set: all strings that refer to Solana mainnet-beta,
42
+ * regardless of format.
43
+ */
44
+ const MAINNET_EQUIVALENTS = new Set([
45
+ SapNetwork.SOLANA_MAINNET,
46
+ SapNetwork.SOLANA_MAINNET_GENESIS,
47
+ "solana:mainnet",
48
+ "mainnet-beta",
49
+ "mainnet",
50
+ "5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
51
+ ]);
52
+ /**
53
+ * Devnet equivalence set.
54
+ */
55
+ const DEVNET_EQUIVALENTS = new Set([
56
+ SapNetwork.SOLANA_DEVNET,
57
+ SapNetwork.SOLANA_DEVNET_NAMED,
58
+ "devnet",
59
+ "EtWTRABZaYq6iMfeYKouRu166VU2xqa1",
60
+ ]);
61
+ // ═══════════════════════════════════════════════════════════════════
62
+ // Public API
63
+ // ═══════════════════════════════════════════════════════════════════
64
+ /**
65
+ * @name normalizeNetworkId
66
+ * @description Normalize a raw network identifier string to its canonical
67
+ * {@link SapNetworkId} form.
68
+ *
69
+ * Handles:
70
+ * - Case-insensitive matching
71
+ * - Stripping whitespace
72
+ * - Resolving genesis-hash vs. cluster-name aliases
73
+ * - Unknown strings are returned as-is (passthrough)
74
+ *
75
+ * @param raw - Raw network identifier string from headers, env vars, or config.
76
+ * @returns The canonical {@link SapNetworkId}, or the trimmed input if unknown.
77
+ *
78
+ * @category Utils
79
+ * @since v0.6.0
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * import { normalizeNetworkId } from "@synapse-sap/sdk";
84
+ *
85
+ * normalizeNetworkId("solana:mainnet-beta");
86
+ * // → "solana:mainnet-beta"
87
+ *
88
+ * normalizeNetworkId("5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp");
89
+ * // → "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
90
+ *
91
+ * normalizeNetworkId(" MAINNET ");
92
+ * // → "solana:mainnet-beta"
93
+ * ```
94
+ */
95
+ export function normalizeNetworkId(raw) {
96
+ const trimmed = raw.trim();
97
+ // Exact match first
98
+ const exact = NETWORK_ALIASES.get(trimmed);
99
+ if (exact)
100
+ return exact;
101
+ // Case-insensitive lookup
102
+ const lower = trimmed.toLowerCase();
103
+ for (const [alias, canonical] of NETWORK_ALIASES) {
104
+ if (alias.toLowerCase() === lower)
105
+ return canonical;
106
+ }
107
+ // Passthrough for unknown networks (custom chains, etc.)
108
+ return trimmed;
109
+ }
110
+ /**
111
+ * @name isNetworkEquivalent
112
+ * @description Check if two network identifier strings refer to the same network,
113
+ * even if they use different formats (cluster-name vs. genesis-hash).
114
+ *
115
+ * This is the key function that prevents the Kamiyo "sap network mismatch"
116
+ * error — instead of comparing strings literally, we compare their
117
+ * canonical equivalence class.
118
+ *
119
+ * @param a - First network identifier.
120
+ * @param b - Second network identifier.
121
+ * @returns `true` if both identifiers refer to the same Solana network.
122
+ *
123
+ * @category Utils
124
+ * @since v0.6.0
125
+ *
126
+ * @example
127
+ * ```ts
128
+ * import { isNetworkEquivalent } from "@synapse-sap/sdk";
129
+ *
130
+ * isNetworkEquivalent("solana:mainnet-beta", "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp");
131
+ * // → true
132
+ *
133
+ * isNetworkEquivalent("solana:devnet", "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1");
134
+ * // → true
135
+ *
136
+ * isNetworkEquivalent("solana:mainnet-beta", "solana:devnet");
137
+ * // → false
138
+ * ```
139
+ */
140
+ export function isNetworkEquivalent(a, b) {
141
+ const normA = a.trim();
142
+ const normB = b.trim();
143
+ // Fast path: identical strings
144
+ if (normA === normB)
145
+ return true;
146
+ // Check if both are in the same equivalence set
147
+ if (MAINNET_EQUIVALENTS.has(normA) && MAINNET_EQUIVALENTS.has(normB))
148
+ return true;
149
+ if (DEVNET_EQUIVALENTS.has(normA) && DEVNET_EQUIVALENTS.has(normB))
150
+ return true;
151
+ // Case-insensitive match
152
+ const lowerA = normA.toLowerCase();
153
+ const lowerB = normB.toLowerCase();
154
+ if (lowerA === lowerB)
155
+ return true;
156
+ // Resolve both to canonical and compare
157
+ const canonA = normalizeNetworkId(normA);
158
+ const canonB = normalizeNetworkId(normB);
159
+ if (canonA === canonB)
160
+ return true;
161
+ // Final check: both resolve to the same equivalence set
162
+ if (MAINNET_EQUIVALENTS.has(canonA) && MAINNET_EQUIVALENTS.has(canonB))
163
+ return true;
164
+ if (DEVNET_EQUIVALENTS.has(canonA) && DEVNET_EQUIVALENTS.has(canonB))
165
+ return true;
166
+ return false;
167
+ }
168
+ /**
169
+ * @name getNetworkGenesisHash
170
+ * @description Get the genesis-hash form of a network identifier.
171
+ * Returns the genesis-hash variant for known networks, or the input as-is.
172
+ *
173
+ * Useful for agents that require the genesis-hash form (Kamiyo, Helius x402).
174
+ *
175
+ * @param networkId - Any network identifier.
176
+ * @returns The genesis-hash form, or the input if unknown.
177
+ *
178
+ * @category Utils
179
+ * @since v0.6.0
180
+ */
181
+ export function getNetworkGenesisHash(networkId) {
182
+ const norm = normalizeNetworkId(networkId);
183
+ if (MAINNET_EQUIVALENTS.has(networkId) || MAINNET_EQUIVALENTS.has(norm)) {
184
+ return SapNetwork.SOLANA_MAINNET_GENESIS;
185
+ }
186
+ if (DEVNET_EQUIVALENTS.has(networkId) || DEVNET_EQUIVALENTS.has(norm)) {
187
+ return SapNetwork.SOLANA_DEVNET;
188
+ }
189
+ return norm;
190
+ }
191
+ /**
192
+ * @name getNetworkClusterName
193
+ * @description Get the cluster-name form of a network identifier.
194
+ * Returns the human-readable cluster name for known networks.
195
+ *
196
+ * Useful for providers that accept cluster names (Coinbase, Phantom).
197
+ *
198
+ * @param networkId - Any network identifier.
199
+ * @returns The cluster-name form, or the input if unknown.
200
+ *
201
+ * @category Utils
202
+ * @since v0.6.0
203
+ */
204
+ export function getNetworkClusterName(networkId) {
205
+ const norm = normalizeNetworkId(networkId);
206
+ if (MAINNET_EQUIVALENTS.has(networkId) || MAINNET_EQUIVALENTS.has(norm)) {
207
+ return SapNetwork.SOLANA_MAINNET;
208
+ }
209
+ if (DEVNET_EQUIVALENTS.has(networkId) || DEVNET_EQUIVALENTS.has(norm)) {
210
+ return SapNetwork.SOLANA_DEVNET_NAMED;
211
+ }
212
+ return norm;
213
+ }
214
+ /**
215
+ * @name isKnownNetwork
216
+ * @description Check if a network identifier is recognized by the SDK.
217
+ *
218
+ * @param networkId - The network identifier to check.
219
+ * @returns `true` if the identifier maps to a known Solana network.
220
+ *
221
+ * @category Utils
222
+ * @since v0.6.0
223
+ */
224
+ export function isKnownNetwork(networkId) {
225
+ const trimmed = networkId.trim();
226
+ return MAINNET_EQUIVALENTS.has(trimmed) || DEVNET_EQUIVALENTS.has(trimmed) ||
227
+ NETWORK_ALIASES.has(trimmed);
228
+ }
229
+ //# sourceMappingURL=network-normalizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-normalizer.js","sourceRoot":"","sources":["../../../src/utils/network-normalizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,205 @@
1
+ /**
2
+ * @module utils/priority-fee
3
+ * @description Compute budget and priority fee utilities for SAP transactions.
4
+ *
5
+ * Solana transactions that include a priority fee (via the Compute Budget program)
6
+ * land faster because validators prefer higher-fee transactions. This module
7
+ * provides a clean, composable API for building priority-fee instructions
8
+ * that can be prepended to any Anchor method builder via `.preInstructions()`.
9
+ *
10
+ * Typical use: x402 settlement transactions where the receiving agent's RPC
11
+ * has a short confirmation window (e.g., 30 seconds).
12
+ *
13
+ * @category Utils
14
+ * @since v0.6.2
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { buildPriorityFeeIxs, DEFAULT_SETTLE_PRIORITY } from "@synapse-sap/sdk";
19
+ *
20
+ * // Append to any Anchor method builder:
21
+ * await program.methods
22
+ * .settleCalls(calls, hash)
23
+ * .accounts({ ... })
24
+ * .preInstructions(buildPriorityFeeIxs({ priorityFeeMicroLamports: 5000 }))
25
+ * .rpc({ skipPreflight: true });
26
+ * ```
27
+ */
28
+ import { type TransactionInstruction } from "@solana/web3.js";
29
+ /**
30
+ * Default priority fee for settlement transactions (in microlamports).
31
+ * 5000 µL ≈ 0.0005 SOL per 200k CU — fast enough for most agent RPCs.
32
+ *
33
+ * @since v0.6.2
34
+ */
35
+ export declare const DEFAULT_SETTLE_PRIORITY_FEE = 5000;
36
+ /**
37
+ * Default compute unit limit for settlement transactions.
38
+ * `settle_calls` uses ~60k CU; 100k provides a safe margin.
39
+ *
40
+ * @since v0.6.2
41
+ */
42
+ export declare const DEFAULT_SETTLE_COMPUTE_UNITS = 100000;
43
+ /**
44
+ * Default compute unit limit for batch settlement transactions.
45
+ * `settle_batch` with 10 entries uses ~200k CU; 300k provides margin.
46
+ *
47
+ * @since v0.6.2
48
+ */
49
+ export declare const DEFAULT_BATCH_SETTLE_COMPUTE_UNITS = 300000;
50
+ /**
51
+ * @name computeBatchSettleCu
52
+ * @description Compute the CU limit needed by `settle_batch` for a
53
+ * given entry count. Returned value is safe to pass to
54
+ * `ComputeBudgetProgram.setComputeUnitLimit`.
55
+ *
56
+ * Formula: `60_000 + n * 25_000`, clamped to 1.2M.
57
+ *
58
+ * @param entryCount - Number of settlements in the batch (1..N).
59
+ * @returns CU limit suitable for `setComputeUnitLimit`.
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * const cu = computeBatchSettleCu(20); // 560_000
64
+ * ```
65
+ *
66
+ * @category Utils
67
+ * @since v0.11.0
68
+ */
69
+ export declare function computeBatchSettleCu(entryCount: number): number;
70
+ /**
71
+ * @interface PriorityFeeConfig
72
+ * @description Configuration for building compute budget instructions.
73
+ * @category Utils
74
+ * @since v0.6.2
75
+ */
76
+ export interface PriorityFeeConfig {
77
+ /**
78
+ * Priority fee in microlamports per compute unit.
79
+ * Higher values = faster confirmation.
80
+ *
81
+ * Common values:
82
+ * - `1000` — low priority (~0.0001 SOL)
83
+ * - `5000` — medium priority (~0.0005 SOL) ← recommended for settle
84
+ * - `50000` — high priority (~0.005 SOL)
85
+ * - `0` — no priority fee (default Solana behavior)
86
+ *
87
+ * @default 0
88
+ */
89
+ readonly priorityFeeMicroLamports?: number;
90
+ /**
91
+ * Maximum compute units the transaction may consume.
92
+ * Setting an explicit limit avoids overpaying for unused CU.
93
+ *
94
+ * @default 200_000 (Solana default)
95
+ */
96
+ readonly computeUnits?: number;
97
+ }
98
+ /**
99
+ * @interface SettleOptions
100
+ * @description Options for x402 settlement transactions.
101
+ * Controls priority fees, compute budget, and RPC behavior
102
+ * to optimize confirmation speed for time-sensitive settlements.
103
+ *
104
+ * @category Registries
105
+ * @since v0.6.2
106
+ *
107
+ * @example
108
+ * ```ts
109
+ * // Fast settlement with priority fee
110
+ * const receipt = await x402.settle(depositor, 1, "data", {
111
+ * priorityFeeMicroLamports: 5000,
112
+ * computeUnits: 100_000,
113
+ * skipPreflight: true,
114
+ * });
115
+ *
116
+ * // Use the convenience preset
117
+ * import { FAST_SETTLE_OPTIONS } from "@synapse-sap/sdk";
118
+ * const receipt = await x402.settle(depositor, 1, "data", FAST_SETTLE_OPTIONS);
119
+ * ```
120
+ */
121
+ export interface SettleOptions extends PriorityFeeConfig {
122
+ /**
123
+ * Skip Solana simulation before submitting.
124
+ * Saves ~400ms but loses pre-flight error detection.
125
+ *
126
+ * Recommended for settlements where the escrow state
127
+ * has already been pre-fetched and validated.
128
+ *
129
+ * @default false
130
+ */
131
+ readonly skipPreflight?: boolean;
132
+ /**
133
+ * Transaction commitment level override.
134
+ * Uses the provider's default when omitted.
135
+ *
136
+ * - `"processed"` — fastest, least reliable
137
+ * - `"confirmed"` — balanced (recommended)
138
+ * - `"finalized"` — slowest, most reliable
139
+ */
140
+ readonly commitment?: "processed" | "confirmed" | "finalized";
141
+ /**
142
+ * Maximum number of RPC retry attempts.
143
+ * @default provider default (usually 3)
144
+ */
145
+ readonly maxRetries?: number;
146
+ }
147
+ /**
148
+ * Recommended preset for fast x402 settlements.
149
+ * Priority fee 5000 µL, 100k CU, skip preflight, confirmed commitment.
150
+ *
151
+ * @since v0.6.2
152
+ */
153
+ export declare const FAST_SETTLE_OPTIONS: Readonly<SettleOptions>;
154
+ /**
155
+ * Recommended preset for fast batch settlements.
156
+ * Priority fee 5000 µL, 300k CU, skip preflight, confirmed commitment.
157
+ *
158
+ * @since v0.6.2
159
+ */
160
+ export declare const FAST_BATCH_SETTLE_OPTIONS: Readonly<SettleOptions>;
161
+ /**
162
+ * @name buildPriorityFeeIxs
163
+ * @description Build compute budget instructions for priority fee transactions.
164
+ *
165
+ * Returns an array of 0–2 `TransactionInstruction`s:
166
+ * - `SetComputeUnitPrice` (if `priorityFeeMicroLamports > 0`)
167
+ * - `SetComputeUnitLimit` (if `computeUnits` provided)
168
+ *
169
+ * The returned array is designed to be passed directly to
170
+ * Anchor's `.preInstructions()` builder method.
171
+ *
172
+ * @param config - Priority fee configuration.
173
+ * @returns Array of compute budget instructions (may be empty).
174
+ *
175
+ * @category Utils
176
+ * @since v0.6.2
177
+ *
178
+ * @example
179
+ * ```ts
180
+ * const ixs = buildPriorityFeeIxs({
181
+ * priorityFeeMicroLamports: 5000,
182
+ * computeUnits: 100_000,
183
+ * });
184
+ *
185
+ * await program.methods
186
+ * .settleCalls(calls, hash)
187
+ * .accounts({ ... })
188
+ * .preInstructions(ixs)
189
+ * .rpc({ skipPreflight: true });
190
+ * ```
191
+ */
192
+ export declare function buildPriorityFeeIxs(config?: PriorityFeeConfig): TransactionInstruction[];
193
+ /**
194
+ * @name buildRpcOptions
195
+ * @description Build Anchor `.rpc()` options from {@link SettleOptions}.
196
+ *
197
+ * @param opts - Settle options.
198
+ * @returns Options object suitable for Anchor `.rpc(opts)`.
199
+ *
200
+ * @category Utils
201
+ * @since v0.6.2
202
+ * @internal
203
+ */
204
+ export declare function buildRpcOptions(opts?: SettleOptions): Record<string, unknown> | undefined;
205
+ //# sourceMappingURL=priority-fee.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"priority-fee.d.ts","sourceRoot":"","sources":["../../../src/utils/priority-fee.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,iBAAiB,CAAC;AAMzB;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,SAAU,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,SAAU,CAAC;AA8B1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAM/D;AAMD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAE3C;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAEjC;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;IAE9D;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAMD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,aAAa,CAKtD,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,aAAa,CAK5D,CAAC;AAMH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,CAAC,EAAE,iBAAiB,GACzB,sBAAsB,EAAE,CAwB1B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,IAAI,CAAC,EAAE,aAAa,GACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAgBrC"}