@symmio/trading-core 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (650) hide show
  1. package/dist/core/chains/types.d.ts +197 -0
  2. package/dist/core/chains/types.d.ts.map +1 -1
  3. package/dist/core/chains/types.js.map +1 -1
  4. package/dist/core/config/merge-chain-config.d.ts.map +1 -1
  5. package/dist/core/config/merge-chain-config.js +49 -19
  6. package/dist/core/config/merge-chain-config.js.map +1 -1
  7. package/dist/gasless/abortable-sleep.d.ts +17 -0
  8. package/dist/gasless/abortable-sleep.d.ts.map +1 -0
  9. package/dist/gasless/abortable-sleep.js +21 -0
  10. package/dist/gasless/abortable-sleep.js.map +1 -0
  11. package/dist/gasless/assert-gateway-coherence.d.ts +20 -0
  12. package/dist/gasless/assert-gateway-coherence.d.ts.map +1 -0
  13. package/dist/gasless/assert-gateway-coherence.js +26 -0
  14. package/dist/gasless/assert-gateway-coherence.js.map +1 -0
  15. package/dist/gasless/batch/calls.d.ts +121 -0
  16. package/dist/gasless/batch/calls.d.ts.map +1 -0
  17. package/dist/gasless/batch/calls.js +36 -0
  18. package/dist/gasless/batch/calls.js.map +1 -0
  19. package/dist/gasless/batch/index.d.ts +2 -0
  20. package/dist/gasless/batch/index.d.ts.map +1 -0
  21. package/dist/gasless/batch/resolve-gasless-batch.d.ts +118 -0
  22. package/dist/gasless/batch/resolve-gasless-batch.d.ts.map +1 -0
  23. package/dist/gasless/batch/resolve-gasless-batch.js +89 -0
  24. package/dist/gasless/batch/resolve-gasless-batch.js.map +1 -0
  25. package/dist/gasless/classify-gasless-failure.d.ts +99 -0
  26. package/dist/gasless/classify-gasless-failure.d.ts.map +1 -0
  27. package/dist/gasless/classify-gasless-failure.js +60 -0
  28. package/dist/gasless/classify-gasless-failure.js.map +1 -0
  29. package/dist/gasless/confirm-gasless-request/confirm-gasless-request.d.ts +121 -0
  30. package/dist/gasless/confirm-gasless-request/confirm-gasless-request.d.ts.map +1 -0
  31. package/dist/gasless/confirm-gasless-request/confirm-gasless-request.js +73 -0
  32. package/dist/gasless/confirm-gasless-request/confirm-gasless-request.js.map +1 -0
  33. package/dist/gasless/confirm-gasless-request/index.d.ts +2 -0
  34. package/dist/gasless/confirm-gasless-request/index.d.ts.map +1 -0
  35. package/dist/gasless/constants.d.ts +24 -0
  36. package/dist/gasless/constants.d.ts.map +1 -0
  37. package/dist/gasless/constants.js +6 -0
  38. package/dist/gasless/constants.js.map +1 -0
  39. package/dist/gasless/delegation-preflight.d.ts +39 -0
  40. package/dist/gasless/delegation-preflight.d.ts.map +1 -0
  41. package/dist/gasless/delegation-preflight.js +33 -0
  42. package/dist/gasless/delegation-preflight.js.map +1 -0
  43. package/dist/gasless/dispatch/maybe-relay-as-gasless.d.ts +73 -0
  44. package/dist/gasless/dispatch/maybe-relay-as-gasless.d.ts.map +1 -0
  45. package/dist/gasless/dispatch/maybe-relay-as-gasless.js +189 -0
  46. package/dist/gasless/dispatch/maybe-relay-as-gasless.js.map +1 -0
  47. package/dist/gasless/eip712.d.ts +79 -0
  48. package/dist/gasless/eip712.d.ts.map +1 -0
  49. package/dist/gasless/eip712.js +60 -0
  50. package/dist/gasless/eip712.js.map +1 -0
  51. package/dist/gasless/errors.d.ts +132 -0
  52. package/dist/gasless/errors.d.ts.map +1 -0
  53. package/dist/gasless/errors.js +110 -0
  54. package/dist/gasless/errors.js.map +1 -0
  55. package/dist/gasless/events.d.ts +37 -0
  56. package/dist/gasless/events.d.ts.map +1 -0
  57. package/dist/gasless/events.js +34 -0
  58. package/dist/gasless/events.js.map +1 -0
  59. package/dist/gasless/fallback.d.ts +58 -0
  60. package/dist/gasless/fallback.d.ts.map +1 -0
  61. package/dist/gasless/fallback.js +34 -0
  62. package/dist/gasless/fallback.js.map +1 -0
  63. package/dist/gasless/format-gasless-operation.d.ts +37 -0
  64. package/dist/gasless/format-gasless-operation.d.ts.map +1 -0
  65. package/dist/gasless/format-gasless-operation.js +33 -0
  66. package/dist/gasless/format-gasless-operation.js.map +1 -0
  67. package/dist/gasless/gasless-url.d.ts +82 -0
  68. package/dist/gasless/gasless-url.d.ts.map +1 -0
  69. package/dist/gasless/gasless-url.js +70 -0
  70. package/dist/gasless/gasless-url.js.map +1 -0
  71. package/dist/gasless/gasless-wallet-execute/calls.d.ts +73 -0
  72. package/dist/gasless/gasless-wallet-execute/calls.d.ts.map +1 -0
  73. package/dist/gasless/gasless-wallet-execute/calls.js +24 -0
  74. package/dist/gasless/gasless-wallet-execute/calls.js.map +1 -0
  75. package/dist/gasless/gasless-wallet-execute/gasless-wallet-execute.d.ts +148 -0
  76. package/dist/gasless/gasless-wallet-execute/gasless-wallet-execute.d.ts.map +1 -0
  77. package/dist/gasless/gasless-wallet-execute/gasless-wallet-execute.js +120 -0
  78. package/dist/gasless/gasless-wallet-execute/gasless-wallet-execute.js.map +1 -0
  79. package/dist/gasless/gasless-wallet-execute/index.d.ts +5 -0
  80. package/dist/gasless/gasless-wallet-execute/index.d.ts.map +1 -0
  81. package/dist/gasless/gasless-wallet-execute/query.d.ts +18 -0
  82. package/dist/gasless/gasless-wallet-execute/query.d.ts.map +1 -0
  83. package/dist/gasless/gasless-wallet-execute/query.js +12 -0
  84. package/dist/gasless/gasless-wallet-execute/query.js.map +1 -0
  85. package/dist/gasless/gasless-wallet-execute/selectors.d.ts +38 -0
  86. package/dist/gasless/gasless-wallet-execute/selectors.d.ts.map +1 -0
  87. package/dist/gasless/gasless-wallet-execute/selectors.js +15 -0
  88. package/dist/gasless/gasless-wallet-execute/selectors.js.map +1 -0
  89. package/dist/gasless/get-gasless-batch-fee-quote/get-gasless-batch-fee-quote.d.ts +72 -0
  90. package/dist/gasless/get-gasless-batch-fee-quote/get-gasless-batch-fee-quote.d.ts.map +1 -0
  91. package/dist/gasless/get-gasless-batch-fee-quote/get-gasless-batch-fee-quote.js +42 -0
  92. package/dist/gasless/get-gasless-batch-fee-quote/get-gasless-batch-fee-quote.js.map +1 -0
  93. package/dist/gasless/get-gasless-batch-fee-quote/index.d.ts +3 -0
  94. package/dist/gasless/get-gasless-batch-fee-quote/index.d.ts.map +1 -0
  95. package/dist/gasless/get-gasless-batch-fee-quote/query.d.ts +47 -0
  96. package/dist/gasless/get-gasless-batch-fee-quote/query.d.ts.map +1 -0
  97. package/dist/gasless/get-gasless-batch-fee-quote/query.js +50 -0
  98. package/dist/gasless/get-gasless-batch-fee-quote/query.js.map +1 -0
  99. package/dist/gasless/get-gasless-deposit-policy/get-gasless-deposit-policy.d.ts +80 -0
  100. package/dist/gasless/get-gasless-deposit-policy/get-gasless-deposit-policy.d.ts.map +1 -0
  101. package/dist/gasless/get-gasless-deposit-policy/get-gasless-deposit-policy.js +61 -0
  102. package/dist/gasless/get-gasless-deposit-policy/get-gasless-deposit-policy.js.map +1 -0
  103. package/dist/gasless/get-gasless-deposit-policy/index.d.ts +3 -0
  104. package/dist/gasless/get-gasless-deposit-policy/index.d.ts.map +1 -0
  105. package/dist/gasless/get-gasless-deposit-policy/query.d.ts +51 -0
  106. package/dist/gasless/get-gasless-deposit-policy/query.d.ts.map +1 -0
  107. package/dist/gasless/get-gasless-deposit-policy/query.js +25 -0
  108. package/dist/gasless/get-gasless-deposit-policy/query.js.map +1 -0
  109. package/dist/gasless/get-gasless-fee-quote/encode-relay-batch-call-data.d.ts +27 -0
  110. package/dist/gasless/get-gasless-fee-quote/encode-relay-batch-call-data.d.ts.map +1 -0
  111. package/dist/gasless/get-gasless-fee-quote/encode-relay-batch-call-data.js +22 -0
  112. package/dist/gasless/get-gasless-fee-quote/encode-relay-batch-call-data.js.map +1 -0
  113. package/dist/gasless/get-gasless-fee-quote/fee-quote-errors.d.ts +61 -0
  114. package/dist/gasless/get-gasless-fee-quote/fee-quote-errors.d.ts.map +1 -0
  115. package/dist/gasless/get-gasless-fee-quote/fee-quote-errors.js +59 -0
  116. package/dist/gasless/get-gasless-fee-quote/fee-quote-errors.js.map +1 -0
  117. package/dist/gasless/get-gasless-fee-quote/get-gasless-fee-quote.d.ts +79 -0
  118. package/dist/gasless/get-gasless-fee-quote/get-gasless-fee-quote.d.ts.map +1 -0
  119. package/dist/gasless/get-gasless-fee-quote/get-gasless-fee-quote.js +53 -0
  120. package/dist/gasless/get-gasless-fee-quote/get-gasless-fee-quote.js.map +1 -0
  121. package/dist/gasless/get-gasless-fee-quote/index.d.ts +4 -0
  122. package/dist/gasless/get-gasless-fee-quote/index.d.ts.map +1 -0
  123. package/dist/gasless/get-gasless-fee-quote/query.d.ts +41 -0
  124. package/dist/gasless/get-gasless-fee-quote/query.d.ts.map +1 -0
  125. package/dist/gasless/get-gasless-fee-quote/query.js +31 -0
  126. package/dist/gasless/get-gasless-fee-quote/query.js.map +1 -0
  127. package/dist/gasless/get-gasless-request/get-gasless-request.d.ts +51 -0
  128. package/dist/gasless/get-gasless-request/get-gasless-request.d.ts.map +1 -0
  129. package/dist/gasless/get-gasless-request/get-gasless-request.js +15 -0
  130. package/dist/gasless/get-gasless-request/get-gasless-request.js.map +1 -0
  131. package/dist/gasless/get-gasless-request/index.d.ts +4 -0
  132. package/dist/gasless/get-gasless-request/index.d.ts.map +1 -0
  133. package/dist/gasless/get-gasless-request/query.d.ts +64 -0
  134. package/dist/gasless/get-gasless-request/query.d.ts.map +1 -0
  135. package/dist/gasless/get-gasless-request/query.js +42 -0
  136. package/dist/gasless/get-gasless-request/query.js.map +1 -0
  137. package/dist/gasless/get-gasless-request/to-gasless-request.d.ts +26 -0
  138. package/dist/gasless/get-gasless-request/to-gasless-request.d.ts.map +1 -0
  139. package/dist/gasless/get-gasless-request/to-gasless-request.js +62 -0
  140. package/dist/gasless/get-gasless-request/to-gasless-request.js.map +1 -0
  141. package/dist/gasless/get-gasless-request-transactions/get-gasless-request-transactions.d.ts +40 -0
  142. package/dist/gasless/get-gasless-request-transactions/get-gasless-request-transactions.d.ts.map +1 -0
  143. package/dist/gasless/get-gasless-request-transactions/get-gasless-request-transactions.js +15 -0
  144. package/dist/gasless/get-gasless-request-transactions/get-gasless-request-transactions.js.map +1 -0
  145. package/dist/gasless/get-gasless-request-transactions/index.d.ts +4 -0
  146. package/dist/gasless/get-gasless-request-transactions/index.d.ts.map +1 -0
  147. package/dist/gasless/get-gasless-request-transactions/query.d.ts +75 -0
  148. package/dist/gasless/get-gasless-request-transactions/query.d.ts.map +1 -0
  149. package/dist/gasless/get-gasless-request-transactions/query.js +37 -0
  150. package/dist/gasless/get-gasless-request-transactions/query.js.map +1 -0
  151. package/dist/gasless/get-gasless-request-transactions/to-gasless-request-transaction.d.ts +21 -0
  152. package/dist/gasless/get-gasless-request-transactions/to-gasless-request-transaction.d.ts.map +1 -0
  153. package/dist/gasless/get-gasless-request-transactions/to-gasless-request-transaction.js +27 -0
  154. package/dist/gasless/get-gasless-request-transactions/to-gasless-request-transaction.js.map +1 -0
  155. package/dist/gasless/get-gasless-wallet-address/get-gasless-wallet-address.d.ts +48 -0
  156. package/dist/gasless/get-gasless-wallet-address/get-gasless-wallet-address.d.ts.map +1 -0
  157. package/dist/gasless/get-gasless-wallet-address/get-gasless-wallet-address.js +20 -0
  158. package/dist/gasless/get-gasless-wallet-address/get-gasless-wallet-address.js.map +1 -0
  159. package/dist/gasless/get-gasless-wallet-address/index.d.ts +3 -0
  160. package/dist/gasless/get-gasless-wallet-address/index.d.ts.map +1 -0
  161. package/dist/gasless/get-gasless-wallet-address/query.d.ts +46 -0
  162. package/dist/gasless/get-gasless-wallet-address/query.d.ts.map +1 -0
  163. package/dist/gasless/get-gasless-wallet-address/query.js +25 -0
  164. package/dist/gasless/get-gasless-wallet-address/query.js.map +1 -0
  165. package/dist/gasless/get-gasless-wallet-creation-fee/get-gasless-wallet-creation-fee.d.ts +57 -0
  166. package/dist/gasless/get-gasless-wallet-creation-fee/get-gasless-wallet-creation-fee.d.ts.map +1 -0
  167. package/dist/gasless/get-gasless-wallet-creation-fee/get-gasless-wallet-creation-fee.js +17 -0
  168. package/dist/gasless/get-gasless-wallet-creation-fee/get-gasless-wallet-creation-fee.js.map +1 -0
  169. package/dist/gasless/get-gasless-wallet-creation-fee/index.d.ts +3 -0
  170. package/dist/gasless/get-gasless-wallet-creation-fee/index.d.ts.map +1 -0
  171. package/dist/gasless/get-gasless-wallet-creation-fee/query.d.ts +51 -0
  172. package/dist/gasless/get-gasless-wallet-creation-fee/query.d.ts.map +1 -0
  173. package/dist/gasless/get-gasless-wallet-creation-fee/query.js +25 -0
  174. package/dist/gasless/get-gasless-wallet-creation-fee/query.js.map +1 -0
  175. package/dist/gasless/get-gasless-wallet-nonce/get-gasless-wallet-nonce.d.ts +51 -0
  176. package/dist/gasless/get-gasless-wallet-nonce/get-gasless-wallet-nonce.d.ts.map +1 -0
  177. package/dist/gasless/get-gasless-wallet-nonce/get-gasless-wallet-nonce.js +21 -0
  178. package/dist/gasless/get-gasless-wallet-nonce/get-gasless-wallet-nonce.js.map +1 -0
  179. package/dist/gasless/get-gasless-wallet-nonce/index.d.ts +3 -0
  180. package/dist/gasless/get-gasless-wallet-nonce/index.d.ts.map +1 -0
  181. package/dist/gasless/get-gasless-wallet-nonce/query.d.ts +47 -0
  182. package/dist/gasless/get-gasless-wallet-nonce/query.d.ts.map +1 -0
  183. package/dist/gasless/get-gasless-wallet-nonce/query.js +25 -0
  184. package/dist/gasless/get-gasless-wallet-nonce/query.js.map +1 -0
  185. package/dist/gasless/get-session-key-selectors.d.ts +83 -0
  186. package/dist/gasless/get-session-key-selectors.d.ts.map +1 -0
  187. package/dist/gasless/get-session-key-selectors.js +25 -0
  188. package/dist/gasless/get-session-key-selectors.js.map +1 -0
  189. package/dist/gasless/http.d.ts +229 -0
  190. package/dist/gasless/http.d.ts.map +1 -0
  191. package/dist/gasless/http.js +165 -0
  192. package/dist/gasless/http.js.map +1 -0
  193. package/dist/gasless/index.d.ts +34 -0
  194. package/dist/gasless/index.d.ts.map +1 -0
  195. package/dist/gasless/is-newer-gasless-request.d.ts +32 -0
  196. package/dist/gasless/is-newer-gasless-request.d.ts.map +1 -0
  197. package/dist/gasless/is-newer-gasless-request.js +21 -0
  198. package/dist/gasless/is-newer-gasless-request.js.map +1 -0
  199. package/dist/gasless/nonce-lock.d.ts +180 -0
  200. package/dist/gasless/nonce-lock.d.ts.map +1 -0
  201. package/dist/gasless/nonce-lock.js +102 -0
  202. package/dist/gasless/nonce-lock.js.map +1 -0
  203. package/dist/gasless/observe-gasless-request.d.ts +65 -0
  204. package/dist/gasless/observe-gasless-request.d.ts.map +1 -0
  205. package/dist/gasless/observe-gasless-request.js +56 -0
  206. package/dist/gasless/observe-gasless-request.js.map +1 -0
  207. package/dist/gasless/query-poll-delay.d.ts +39 -0
  208. package/dist/gasless/query-poll-delay.d.ts.map +1 -0
  209. package/dist/gasless/query-poll-delay.js +14 -0
  210. package/dist/gasless/query-poll-delay.js.map +1 -0
  211. package/dist/gasless/relay-gasless-batch/index.d.ts +3 -0
  212. package/dist/gasless/relay-gasless-batch/index.d.ts.map +1 -0
  213. package/dist/gasless/relay-gasless-batch/query.d.ts +18 -0
  214. package/dist/gasless/relay-gasless-batch/query.d.ts.map +1 -0
  215. package/dist/gasless/relay-gasless-batch/query.js +12 -0
  216. package/dist/gasless/relay-gasless-batch/query.js.map +1 -0
  217. package/dist/gasless/relay-gasless-batch/relay-gasless-batch.d.ts +106 -0
  218. package/dist/gasless/relay-gasless-batch/relay-gasless-batch.d.ts.map +1 -0
  219. package/dist/gasless/relay-gasless-batch/relay-gasless-batch.js +145 -0
  220. package/dist/gasless/relay-gasless-batch/relay-gasless-batch.js.map +1 -0
  221. package/dist/gasless/relay-gasless-batch/sign-gasless-batch.d.ts +36 -0
  222. package/dist/gasless/relay-gasless-batch/sign-gasless-batch.d.ts.map +1 -0
  223. package/dist/gasless/relay-gasless-batch/sign-gasless-batch.js +24 -0
  224. package/dist/gasless/relay-gasless-batch/sign-gasless-batch.js.map +1 -0
  225. package/dist/gasless/relay-grant-delegation/index.d.ts +3 -0
  226. package/dist/gasless/relay-grant-delegation/index.d.ts.map +1 -0
  227. package/dist/gasless/relay-grant-delegation/query.d.ts +18 -0
  228. package/dist/gasless/relay-grant-delegation/query.d.ts.map +1 -0
  229. package/dist/gasless/relay-grant-delegation/query.js +12 -0
  230. package/dist/gasless/relay-grant-delegation/query.js.map +1 -0
  231. package/dist/gasless/relay-grant-delegation/relay-grant-delegation.d.ts +69 -0
  232. package/dist/gasless/relay-grant-delegation/relay-grant-delegation.d.ts.map +1 -0
  233. package/dist/gasless/relay-grant-delegation/relay-grant-delegation.js +57 -0
  234. package/dist/gasless/relay-grant-delegation/relay-grant-delegation.js.map +1 -0
  235. package/dist/gasless/relay-instant-operations/index.d.ts +3 -0
  236. package/dist/gasless/relay-instant-operations/index.d.ts.map +1 -0
  237. package/dist/gasless/relay-instant-operations/query.d.ts +18 -0
  238. package/dist/gasless/relay-instant-operations/query.d.ts.map +1 -0
  239. package/dist/gasless/relay-instant-operations/query.js +12 -0
  240. package/dist/gasless/relay-instant-operations/query.js.map +1 -0
  241. package/dist/gasless/relay-instant-operations/relay-instant-operations.d.ts +127 -0
  242. package/dist/gasless/relay-instant-operations/relay-instant-operations.d.ts.map +1 -0
  243. package/dist/gasless/relay-instant-operations/relay-instant-operations.js +42 -0
  244. package/dist/gasless/relay-instant-operations/relay-instant-operations.js.map +1 -0
  245. package/dist/gasless/relayable-writes.d.ts +163 -0
  246. package/dist/gasless/relayable-writes.d.ts.map +1 -0
  247. package/dist/gasless/relayable-writes.js +113 -0
  248. package/dist/gasless/relayable-writes.js.map +1 -0
  249. package/dist/gasless/resolve-gasless.d.ts +52 -0
  250. package/dist/gasless/resolve-gasless.d.ts.map +1 -0
  251. package/dist/gasless/resolve-gasless.js +19 -0
  252. package/dist/gasless/resolve-gasless.js.map +1 -0
  253. package/dist/gasless/resolve-wallet-identities.d.ts +30 -0
  254. package/dist/gasless/resolve-wallet-identities.d.ts.map +1 -0
  255. package/dist/gasless/resolve-wallet-identities.js +21 -0
  256. package/dist/gasless/resolve-wallet-identities.js.map +1 -0
  257. package/dist/gasless/resubmit-gasless-request/index.d.ts +3 -0
  258. package/dist/gasless/resubmit-gasless-request/index.d.ts.map +1 -0
  259. package/dist/gasless/resubmit-gasless-request/query.d.ts +19 -0
  260. package/dist/gasless/resubmit-gasless-request/query.d.ts.map +1 -0
  261. package/dist/gasless/resubmit-gasless-request/query.js +12 -0
  262. package/dist/gasless/resubmit-gasless-request/query.js.map +1 -0
  263. package/dist/gasless/resubmit-gasless-request/resubmit-gasless-request.d.ts +50 -0
  264. package/dist/gasless/resubmit-gasless-request/resubmit-gasless-request.d.ts.map +1 -0
  265. package/dist/gasless/resubmit-gasless-request/resubmit-gasless-request.js +52 -0
  266. package/dist/gasless/resubmit-gasless-request/resubmit-gasless-request.js.map +1 -0
  267. package/dist/gasless/settle-gasless-deposit-existing-account/index.d.ts +3 -0
  268. package/dist/gasless/settle-gasless-deposit-existing-account/index.d.ts.map +1 -0
  269. package/dist/gasless/settle-gasless-deposit-existing-account/query.d.ts +18 -0
  270. package/dist/gasless/settle-gasless-deposit-existing-account/query.d.ts.map +1 -0
  271. package/dist/gasless/settle-gasless-deposit-existing-account/query.js +12 -0
  272. package/dist/gasless/settle-gasless-deposit-existing-account/query.js.map +1 -0
  273. package/dist/gasless/settle-gasless-deposit-existing-account/settle-gasless-deposit-existing-account.d.ts +66 -0
  274. package/dist/gasless/settle-gasless-deposit-existing-account/settle-gasless-deposit-existing-account.d.ts.map +1 -0
  275. package/dist/gasless/settle-gasless-deposit-existing-account/settle-gasless-deposit-existing-account.js +36 -0
  276. package/dist/gasless/settle-gasless-deposit-existing-account/settle-gasless-deposit-existing-account.js.map +1 -0
  277. package/dist/gasless/settle-gasless-deposit-new-account/index.d.ts +3 -0
  278. package/dist/gasless/settle-gasless-deposit-new-account/index.d.ts.map +1 -0
  279. package/dist/gasless/settle-gasless-deposit-new-account/query.d.ts +18 -0
  280. package/dist/gasless/settle-gasless-deposit-new-account/query.d.ts.map +1 -0
  281. package/dist/gasless/settle-gasless-deposit-new-account/query.js +12 -0
  282. package/dist/gasless/settle-gasless-deposit-new-account/query.js.map +1 -0
  283. package/dist/gasless/settle-gasless-deposit-new-account/settle-gasless-deposit-new-account.d.ts +106 -0
  284. package/dist/gasless/settle-gasless-deposit-new-account/settle-gasless-deposit-new-account.d.ts.map +1 -0
  285. package/dist/gasless/settle-gasless-deposit-new-account/settle-gasless-deposit-new-account.js +43 -0
  286. package/dist/gasless/settle-gasless-deposit-new-account/settle-gasless-deposit-new-account.js.map +1 -0
  287. package/dist/gasless/status-read-limiter.d.ts +44 -0
  288. package/dist/gasless/status-read-limiter.d.ts.map +1 -0
  289. package/dist/gasless/status-read-limiter.js +28 -0
  290. package/dist/gasless/status-read-limiter.js.map +1 -0
  291. package/dist/gasless/to-gasless-deposit-receipt.d.ts +61 -0
  292. package/dist/gasless/to-gasless-deposit-receipt.d.ts.map +1 -0
  293. package/dist/gasless/to-gasless-deposit-receipt.js +36 -0
  294. package/dist/gasless/to-gasless-deposit-receipt.js.map +1 -0
  295. package/dist/gasless/to-gasless-submit-receipt.d.ts +60 -0
  296. package/dist/gasless/to-gasless-submit-receipt.d.ts.map +1 -0
  297. package/dist/gasless/to-gasless-submit-receipt.js +26 -0
  298. package/dist/gasless/to-gasless-submit-receipt.js.map +1 -0
  299. package/dist/gasless/transient-read.d.ts +32 -0
  300. package/dist/gasless/transient-read.d.ts.map +1 -0
  301. package/dist/gasless/transient-read.js +28 -0
  302. package/dist/gasless/transient-read.js.map +1 -0
  303. package/dist/gasless/types/generated/gasless-deposits.d.ts +170 -0
  304. package/dist/gasless/types/generated/gasless-deposits.d.ts.map +1 -0
  305. package/dist/gasless/types/generated/gasless-operations.d.ts +260 -0
  306. package/dist/gasless/types/generated/gasless-operations.d.ts.map +1 -0
  307. package/dist/gasless/types.d.ts +493 -0
  308. package/dist/gasless/types.d.ts.map +1 -0
  309. package/dist/gasless/types.js +33 -0
  310. package/dist/gasless/types.js.map +1 -0
  311. package/dist/gasless/unconfirmed-submit.d.ts +132 -0
  312. package/dist/gasless/unconfirmed-submit.d.ts.map +1 -0
  313. package/dist/gasless/unconfirmed-submit.js +49 -0
  314. package/dist/gasless/unconfirmed-submit.js.map +1 -0
  315. package/dist/gasless/wait-for-gasless-request/index.d.ts +2 -0
  316. package/dist/gasless/wait-for-gasless-request/index.d.ts.map +1 -0
  317. package/dist/gasless/wait-for-gasless-request/wait-for-gasless-request.d.ts +114 -0
  318. package/dist/gasless/wait-for-gasless-request/wait-for-gasless-request.d.ts.map +1 -0
  319. package/dist/gasless/wait-for-gasless-request/wait-for-gasless-request.js +77 -0
  320. package/dist/gasless/wait-for-gasless-request/wait-for-gasless-request.js.map +1 -0
  321. package/dist/gasless/wallet-id.d.ts +42 -0
  322. package/dist/gasless/wallet-id.d.ts.map +1 -0
  323. package/dist/gasless/wallet-id.js +25 -0
  324. package/dist/gasless/wallet-id.js.map +1 -0
  325. package/dist/gasless/wire-parse.d.ts +33 -0
  326. package/dist/gasless/wire-parse.d.ts.map +1 -0
  327. package/dist/gasless/wire-parse.js +14 -0
  328. package/dist/gasless/wire-parse.js.map +1 -0
  329. package/dist/gasless/wire-types.d.ts +73 -0
  330. package/dist/gasless/wire-types.d.ts.map +1 -0
  331. package/dist/gasless/write-request-registry.d.ts +56 -0
  332. package/dist/gasless/write-request-registry.d.ts.map +1 -0
  333. package/dist/gasless/write-request-registry.js +22 -0
  334. package/dist/gasless/write-request-registry.js.map +1 -0
  335. package/dist/index.d.ts +82 -17
  336. package/dist/index.d.ts.map +1 -1
  337. package/dist/index.js +568 -497
  338. package/dist/pools/listing-config/to-listing-config.js +2 -2
  339. package/dist/pools/listing-config/to-listing-config.js.map +1 -1
  340. package/dist/pools/market-detail/to-listing-market-detail.d.ts.map +1 -1
  341. package/dist/pools/market-detail/to-listing-market-detail.js +46 -40
  342. package/dist/pools/market-detail/to-listing-market-detail.js.map +1 -1
  343. package/dist/pools/markets/to-listing-market.d.ts.map +1 -1
  344. package/dist/pools/markets/to-listing-market.js +2 -1
  345. package/dist/pools/markets/to-listing-market.js.map +1 -1
  346. package/dist/pools/types/generated/listing-backend.d.ts +163 -16
  347. package/dist/pools/types/generated/listing-backend.d.ts.map +1 -1
  348. package/dist/pools/types/generated/listing-backend.js.map +1 -1
  349. package/dist/pools/types.d.ts +52 -2
  350. package/dist/pools/types.d.ts.map +1 -1
  351. package/dist/pools/types.js +6 -4
  352. package/dist/pools/types.js.map +1 -1
  353. package/dist/quotes/get-quote-funding/get-quote-funding.d.ts +3 -2
  354. package/dist/quotes/get-quote-funding/get-quote-funding.d.ts.map +1 -1
  355. package/dist/quotes/get-quote-funding/get-quote-funding.js.map +1 -1
  356. package/dist/quotes/get-quote-funding/types.d.ts +4 -2
  357. package/dist/quotes/get-quote-funding/types.d.ts.map +1 -1
  358. package/dist/quotes/get-quote-pending-funding/get-quote-pending-funding.d.ts +68 -0
  359. package/dist/quotes/get-quote-pending-funding/get-quote-pending-funding.d.ts.map +1 -0
  360. package/dist/quotes/get-quote-pending-funding/get-quote-pending-funding.js +34 -0
  361. package/dist/quotes/get-quote-pending-funding/get-quote-pending-funding.js.map +1 -0
  362. package/dist/quotes/get-quote-pending-funding/index.d.ts +4 -0
  363. package/dist/quotes/get-quote-pending-funding/index.d.ts.map +1 -0
  364. package/dist/quotes/get-quote-pending-funding/query.d.ts +58 -0
  365. package/dist/quotes/get-quote-pending-funding/query.d.ts.map +1 -0
  366. package/dist/quotes/get-quote-pending-funding/query.js +27 -0
  367. package/dist/quotes/get-quote-pending-funding/query.js.map +1 -0
  368. package/dist/quotes/get-quote-pending-funding/types.d.ts +19 -0
  369. package/dist/quotes/get-quote-pending-funding/types.d.ts.map +1 -0
  370. package/dist/quotes/get-quotes-events-by-type/get-quotes-events-by-type.d.ts +2 -1
  371. package/dist/quotes/get-quotes-events-by-type/get-quotes-events-by-type.d.ts.map +1 -1
  372. package/dist/quotes/get-quotes-events-by-type/get-quotes-events-by-type.js.map +1 -1
  373. package/dist/quotes/grouping/aggregate-group-funding.d.ts +9 -8
  374. package/dist/quotes/grouping/aggregate-group-funding.d.ts.map +1 -1
  375. package/dist/quotes/grouping/aggregate-group-funding.js.map +1 -1
  376. package/dist/quotes/grouping/partition-quotes.d.ts +30 -0
  377. package/dist/quotes/grouping/partition-quotes.d.ts.map +1 -1
  378. package/dist/quotes/grouping/partition-quotes.js +9 -6
  379. package/dist/quotes/grouping/partition-quotes.js.map +1 -1
  380. package/dist/quotes/index.d.ts +1 -0
  381. package/dist/quotes/index.d.ts.map +1 -1
  382. package/dist/quotes/unified-quote.d.ts +6 -6
  383. package/dist/quotes/unified-quote.js.map +1 -1
  384. package/dist/shared/errors/redact-url.d.ts +15 -0
  385. package/dist/shared/errors/redact-url.d.ts.map +1 -0
  386. package/dist/shared/errors/redact-url.js +9 -0
  387. package/dist/shared/errors/redact-url.js.map +1 -0
  388. package/dist/shared/errors/retry-after.d.ts +17 -0
  389. package/dist/shared/errors/retry-after.d.ts.map +1 -0
  390. package/dist/shared/errors/retry-after.js +16 -0
  391. package/dist/shared/errors/retry-after.js.map +1 -0
  392. package/dist/shared/errors/sanitized-api-error.d.ts +32 -0
  393. package/dist/shared/errors/sanitized-api-error.d.ts.map +1 -0
  394. package/dist/shared/errors/sanitized-api-error.js +41 -0
  395. package/dist/shared/errors/sanitized-api-error.js.map +1 -0
  396. package/dist/shared/errors/symm-error.d.ts +39 -4
  397. package/dist/shared/errors/symm-error.d.ts.map +1 -1
  398. package/dist/shared/errors/symm-error.js +29 -15
  399. package/dist/shared/errors/symm-error.js.map +1 -1
  400. package/dist/shared/types/properties.d.ts +53 -5
  401. package/dist/shared/types/properties.d.ts.map +1 -1
  402. package/dist/shared/utils/core-units.d.ts +82 -0
  403. package/dist/shared/utils/core-units.d.ts.map +1 -0
  404. package/dist/shared/utils/core-units.js +21 -0
  405. package/dist/shared/utils/core-units.js.map +1 -0
  406. package/dist/shared/utils/http-header.d.ts +16 -0
  407. package/dist/shared/utils/http-header.d.ts.map +1 -0
  408. package/dist/shared/utils/http-header.js +14 -0
  409. package/dist/shared/utils/http-header.js.map +1 -0
  410. package/dist/shared/utils/query.js +2 -1
  411. package/dist/shared/utils/query.js.map +1 -1
  412. package/dist/solvers/force-close/force-close-auto.d.ts +6 -2
  413. package/dist/solvers/force-close/force-close-auto.d.ts.map +1 -1
  414. package/dist/solvers/force-close/force-close-auto.js +2 -1
  415. package/dist/solvers/force-close/force-close-auto.js.map +1 -1
  416. package/dist/solvers/force-close/force-close-position.d.ts +9 -3
  417. package/dist/solvers/force-close/force-close-position.d.ts.map +1 -1
  418. package/dist/solvers/force-close/force-close-position.js +2 -1
  419. package/dist/solvers/force-close/force-close-position.js.map +1 -1
  420. package/dist/solvers/instant-open/instant-open/adapters/enigma-instant-open.js +12 -12
  421. package/dist/solvers/instant-open/instant-open/adapters/rasa-instant-open.js +7 -7
  422. package/dist/symmio-contracts/abi/index.d.ts +2 -0
  423. package/dist/symmio-contracts/abi/index.d.ts.map +1 -1
  424. package/dist/symmio-contracts/abi/v0.8.6/gasless-layer.d.ts +2323 -0
  425. package/dist/symmio-contracts/abi/v0.8.6/gasless-layer.d.ts.map +1 -0
  426. package/dist/symmio-contracts/abi/v0.8.6/gasless-layer.js +2706 -0
  427. package/dist/symmio-contracts/abi/v0.8.6/gasless-layer.js.map +1 -0
  428. package/dist/symmio-contracts/abi/v0.8.6/gasless-wallet.d.ts +137 -0
  429. package/dist/symmio-contracts/abi/v0.8.6/gasless-wallet.d.ts.map +1 -0
  430. package/dist/symmio-contracts/abi/v0.8.6/gasless-wallet.js +145 -0
  431. package/dist/symmio-contracts/abi/v0.8.6/gasless-wallet.js.map +1 -0
  432. package/dist/symmio-contracts/abi/v0.8.6/index.d.ts +2 -0
  433. package/dist/symmio-contracts/abi/v0.8.6/index.d.ts.map +1 -1
  434. package/dist/symmio-contracts/abi/v0.8.6/instant-layer.d.ts +1879 -37
  435. package/dist/symmio-contracts/abi/v0.8.6/instant-layer.d.ts.map +1 -1
  436. package/dist/symmio-contracts/abi/v0.8.6/instant-layer.js +2180 -50
  437. package/dist/symmio-contracts/abi/v0.8.6/instant-layer.js.map +1 -1
  438. package/dist/symmio-contracts/account-layer/actions/add-margin.d.ts +2 -2
  439. package/dist/symmio-contracts/account-layer/actions/add-margin.d.ts.map +1 -1
  440. package/dist/symmio-contracts/account-layer/actions/add-margin.js +34 -17
  441. package/dist/symmio-contracts/account-layer/actions/add-margin.js.map +1 -1
  442. package/dist/symmio-contracts/account-layer/actions/create-sub-accounts.d.ts +11 -2
  443. package/dist/symmio-contracts/account-layer/actions/create-sub-accounts.d.ts.map +1 -1
  444. package/dist/symmio-contracts/account-layer/actions/create-sub-accounts.js +33 -17
  445. package/dist/symmio-contracts/account-layer/actions/create-sub-accounts.js.map +1 -1
  446. package/dist/symmio-contracts/account-layer/actions/delete-sub-account.d.ts +9 -2
  447. package/dist/symmio-contracts/account-layer/actions/delete-sub-account.d.ts.map +1 -1
  448. package/dist/symmio-contracts/account-layer/actions/delete-sub-account.js +33 -16
  449. package/dist/symmio-contracts/account-layer/actions/delete-sub-account.js.map +1 -1
  450. package/dist/symmio-contracts/account-layer/actions/deposit-and-allocate-for-account.d.ts +8 -2
  451. package/dist/symmio-contracts/account-layer/actions/deposit-and-allocate-for-account.d.ts.map +1 -1
  452. package/dist/symmio-contracts/account-layer/actions/deposit-and-allocate-for-account.js +34 -17
  453. package/dist/symmio-contracts/account-layer/actions/deposit-and-allocate-for-account.js.map +1 -1
  454. package/dist/symmio-contracts/account-layer/actions/deposit-for-account.d.ts +8 -2
  455. package/dist/symmio-contracts/account-layer/actions/deposit-for-account.d.ts.map +1 -1
  456. package/dist/symmio-contracts/account-layer/actions/deposit-for-account.js +34 -17
  457. package/dist/symmio-contracts/account-layer/actions/deposit-for-account.js.map +1 -1
  458. package/dist/symmio-contracts/account-layer/actions/edit-account-name.d.ts +7 -2
  459. package/dist/symmio-contracts/account-layer/actions/edit-account-name.d.ts.map +1 -1
  460. package/dist/symmio-contracts/account-layer/actions/edit-account-name.js +34 -17
  461. package/dist/symmio-contracts/account-layer/actions/edit-account-name.js.map +1 -1
  462. package/dist/symmio-contracts/account-layer/actions/get-account-balance-info.d.ts +1 -1
  463. package/dist/symmio-contracts/account-layer/actions/get-account-balance-info.js.map +1 -1
  464. package/dist/symmio-contracts/account-layer/actions/get-account-balance-of.d.ts +9 -3
  465. package/dist/symmio-contracts/account-layer/actions/get-account-balance-of.d.ts.map +1 -1
  466. package/dist/symmio-contracts/account-layer/actions/get-account-balance-of.js.map +1 -1
  467. package/dist/symmio-contracts/account-layer/actions/remove-margin.d.ts +2 -2
  468. package/dist/symmio-contracts/account-layer/actions/remove-margin.d.ts.map +1 -1
  469. package/dist/symmio-contracts/account-layer/actions/remove-margin.js +41 -20
  470. package/dist/symmio-contracts/account-layer/actions/remove-margin.js.map +1 -1
  471. package/dist/symmio-contracts/account-layer/types.d.ts +3 -1
  472. package/dist/symmio-contracts/account-layer/types.d.ts.map +1 -1
  473. package/dist/symmio-contracts/account-layer/types.js.map +1 -1
  474. package/dist/symmio-contracts/instant-layer/actions/finalize-revoke-delegation.d.ts +60 -0
  475. package/dist/symmio-contracts/instant-layer/actions/finalize-revoke-delegation.d.ts.map +1 -0
  476. package/dist/symmio-contracts/instant-layer/actions/finalize-revoke-delegation.js +35 -0
  477. package/dist/symmio-contracts/instant-layer/actions/finalize-revoke-delegation.js.map +1 -0
  478. package/dist/symmio-contracts/instant-layer/actions/get-active-delegations.d.ts +91 -0
  479. package/dist/symmio-contracts/instant-layer/actions/get-active-delegations.d.ts.map +1 -0
  480. package/dist/symmio-contracts/instant-layer/actions/get-active-delegations.js +19 -0
  481. package/dist/symmio-contracts/instant-layer/actions/get-active-delegations.js.map +1 -0
  482. package/dist/symmio-contracts/instant-layer/actions/get-instant-layer-nonce.d.ts +36 -0
  483. package/dist/symmio-contracts/instant-layer/actions/get-instant-layer-nonce.d.ts.map +1 -0
  484. package/dist/symmio-contracts/instant-layer/actions/get-instant-layer-nonce.js +15 -0
  485. package/dist/symmio-contracts/instant-layer/actions/get-instant-layer-nonce.js.map +1 -0
  486. package/dist/symmio-contracts/instant-layer/actions/get-pending-revocation-etas.d.ts +79 -0
  487. package/dist/symmio-contracts/instant-layer/actions/get-pending-revocation-etas.d.ts.map +1 -0
  488. package/dist/symmio-contracts/instant-layer/actions/get-pending-revocation-etas.js +32 -0
  489. package/dist/symmio-contracts/instant-layer/actions/get-pending-revocation-etas.js.map +1 -0
  490. package/dist/symmio-contracts/instant-layer/actions/get-revocation-cooldown.d.ts +43 -0
  491. package/dist/symmio-contracts/instant-layer/actions/get-revocation-cooldown.d.ts.map +1 -0
  492. package/dist/symmio-contracts/instant-layer/actions/get-revocation-cooldown.js +14 -0
  493. package/dist/symmio-contracts/instant-layer/actions/get-revocation-cooldown.js.map +1 -0
  494. package/dist/symmio-contracts/instant-layer/actions/grant-delegation.d.ts +24 -3
  495. package/dist/symmio-contracts/instant-layer/actions/grant-delegation.d.ts.map +1 -1
  496. package/dist/symmio-contracts/instant-layer/actions/grant-delegation.js +48 -22
  497. package/dist/symmio-contracts/instant-layer/actions/grant-delegation.js.map +1 -1
  498. package/dist/symmio-contracts/instant-layer/actions/initiate-revoke-delegation.d.ts +62 -0
  499. package/dist/symmio-contracts/instant-layer/actions/initiate-revoke-delegation.d.ts.map +1 -0
  500. package/dist/symmio-contracts/instant-layer/actions/initiate-revoke-delegation.js +35 -0
  501. package/dist/symmio-contracts/instant-layer/actions/initiate-revoke-delegation.js.map +1 -0
  502. package/dist/symmio-contracts/instant-layer/index.d.ts +12 -0
  503. package/dist/symmio-contracts/instant-layer/index.d.ts.map +1 -1
  504. package/dist/symmio-contracts/instant-layer/query/finalize-revoke-delegation.d.ts +22 -0
  505. package/dist/symmio-contracts/instant-layer/query/finalize-revoke-delegation.d.ts.map +1 -0
  506. package/dist/symmio-contracts/instant-layer/query/finalize-revoke-delegation.js +12 -0
  507. package/dist/symmio-contracts/instant-layer/query/finalize-revoke-delegation.js.map +1 -0
  508. package/dist/symmio-contracts/instant-layer/query/get-active-delegations.d.ts +36 -0
  509. package/dist/symmio-contracts/instant-layer/query/get-active-delegations.d.ts.map +1 -0
  510. package/dist/symmio-contracts/instant-layer/query/get-active-delegations.js +29 -0
  511. package/dist/symmio-contracts/instant-layer/query/get-active-delegations.js.map +1 -0
  512. package/dist/symmio-contracts/instant-layer/query/get-instant-layer-nonce.d.ts +39 -0
  513. package/dist/symmio-contracts/instant-layer/query/get-instant-layer-nonce.d.ts.map +1 -0
  514. package/dist/symmio-contracts/instant-layer/query/get-instant-layer-nonce.js +27 -0
  515. package/dist/symmio-contracts/instant-layer/query/get-instant-layer-nonce.js.map +1 -0
  516. package/dist/symmio-contracts/instant-layer/query/get-is-delegation-active.js +7 -7
  517. package/dist/symmio-contracts/instant-layer/query/get-pending-revocation-etas.d.ts +42 -0
  518. package/dist/symmio-contracts/instant-layer/query/get-pending-revocation-etas.d.ts.map +1 -0
  519. package/dist/symmio-contracts/instant-layer/query/get-pending-revocation-etas.js +30 -0
  520. package/dist/symmio-contracts/instant-layer/query/get-pending-revocation-etas.js.map +1 -0
  521. package/dist/symmio-contracts/instant-layer/query/get-revocation-cooldown.d.ts +36 -0
  522. package/dist/symmio-contracts/instant-layer/query/get-revocation-cooldown.d.ts.map +1 -0
  523. package/dist/symmio-contracts/instant-layer/query/get-revocation-cooldown.js +21 -0
  524. package/dist/symmio-contracts/instant-layer/query/get-revocation-cooldown.js.map +1 -0
  525. package/dist/symmio-contracts/instant-layer/query/initiate-revoke-delegation.d.ts +22 -0
  526. package/dist/symmio-contracts/instant-layer/query/initiate-revoke-delegation.d.ts.map +1 -0
  527. package/dist/symmio-contracts/instant-layer/query/initiate-revoke-delegation.js +12 -0
  528. package/dist/symmio-contracts/instant-layer/query/initiate-revoke-delegation.js.map +1 -0
  529. package/dist/symmio-contracts/symmio/actions/allocate.d.ts +2 -2
  530. package/dist/symmio-contracts/symmio/actions/allocate.d.ts.map +1 -1
  531. package/dist/symmio-contracts/symmio/actions/allocate.js +2 -1
  532. package/dist/symmio-contracts/symmio/actions/allocate.js.map +1 -1
  533. package/dist/symmio-contracts/symmio/actions/approve-operational-fee.d.ts +87 -0
  534. package/dist/symmio-contracts/symmio/actions/approve-operational-fee.d.ts.map +1 -0
  535. package/dist/symmio-contracts/symmio/actions/approve-operational-fee.js +38 -0
  536. package/dist/symmio-contracts/symmio/actions/approve-operational-fee.js.map +1 -0
  537. package/dist/symmio-contracts/symmio/actions/deallocate-and-initiate-withdraw.d.ts +2 -2
  538. package/dist/symmio-contracts/symmio/actions/deallocate-and-initiate-withdraw.d.ts.map +1 -1
  539. package/dist/symmio-contracts/symmio/actions/deallocate-and-initiate-withdraw.js +2 -1
  540. package/dist/symmio-contracts/symmio/actions/deallocate-and-initiate-withdraw.js.map +1 -1
  541. package/dist/symmio-contracts/symmio/actions/deallocate.d.ts +2 -2
  542. package/dist/symmio-contracts/symmio/actions/deallocate.d.ts.map +1 -1
  543. package/dist/symmio-contracts/symmio/actions/deallocate.js +2 -1
  544. package/dist/symmio-contracts/symmio/actions/deallocate.js.map +1 -1
  545. package/dist/symmio-contracts/symmio/actions/finalize-withdraw-request.d.ts +15 -3
  546. package/dist/symmio-contracts/symmio/actions/finalize-withdraw-request.d.ts.map +1 -1
  547. package/dist/symmio-contracts/symmio/actions/finalize-withdraw-request.js +34 -17
  548. package/dist/symmio-contracts/symmio/actions/finalize-withdraw-request.js.map +1 -1
  549. package/dist/symmio-contracts/symmio/actions/force-cancel-close-request.d.ts +2 -2
  550. package/dist/symmio-contracts/symmio/actions/force-cancel-close-request.d.ts.map +1 -1
  551. package/dist/symmio-contracts/symmio/actions/force-cancel-close-request.js +2 -1
  552. package/dist/symmio-contracts/symmio/actions/force-cancel-close-request.js.map +1 -1
  553. package/dist/symmio-contracts/symmio/actions/force-cancel-quote.d.ts +2 -2
  554. package/dist/symmio-contracts/symmio/actions/force-cancel-quote.d.ts.map +1 -1
  555. package/dist/symmio-contracts/symmio/actions/force-cancel-quote.js +2 -1
  556. package/dist/symmio-contracts/symmio/actions/force-cancel-quote.js.map +1 -1
  557. package/dist/symmio-contracts/symmio/actions/get-operational-fee-allowance.d.ts +85 -0
  558. package/dist/symmio-contracts/symmio/actions/get-operational-fee-allowance.d.ts.map +1 -0
  559. package/dist/symmio-contracts/symmio/actions/get-operational-fee-allowance.js +29 -0
  560. package/dist/symmio-contracts/symmio/actions/get-operational-fee-allowance.js.map +1 -0
  561. package/dist/symmio-contracts/symmio/actions/initiate-withdraw.d.ts +2 -2
  562. package/dist/symmio-contracts/symmio/actions/initiate-withdraw.d.ts.map +1 -1
  563. package/dist/symmio-contracts/symmio/actions/initiate-withdraw.js +2 -1
  564. package/dist/symmio-contracts/symmio/actions/initiate-withdraw.js.map +1 -1
  565. package/dist/symmio-contracts/symmio/actions/request-cancel-withdraw.d.ts +2 -2
  566. package/dist/symmio-contracts/symmio/actions/request-cancel-withdraw.d.ts.map +1 -1
  567. package/dist/symmio-contracts/symmio/actions/request-cancel-withdraw.js +2 -1
  568. package/dist/symmio-contracts/symmio/actions/request-cancel-withdraw.js.map +1 -1
  569. package/dist/symmio-contracts/symmio/actions/request-to-cancel-close-request.d.ts +2 -2
  570. package/dist/symmio-contracts/symmio/actions/request-to-cancel-close-request.d.ts.map +1 -1
  571. package/dist/symmio-contracts/symmio/actions/request-to-cancel-close-request.js +2 -1
  572. package/dist/symmio-contracts/symmio/actions/request-to-cancel-close-request.js.map +1 -1
  573. package/dist/symmio-contracts/symmio/actions/request-to-cancel-quote.d.ts +2 -2
  574. package/dist/symmio-contracts/symmio/actions/request-to-cancel-quote.d.ts.map +1 -1
  575. package/dist/symmio-contracts/symmio/actions/request-to-cancel-quote.js +2 -1
  576. package/dist/symmio-contracts/symmio/actions/request-to-cancel-quote.js.map +1 -1
  577. package/dist/symmio-contracts/symmio/actions/withdraw-auto.d.ts +9 -7
  578. package/dist/symmio-contracts/symmio/actions/withdraw-auto.d.ts.map +1 -1
  579. package/dist/symmio-contracts/symmio/actions/withdraw-auto.js +24 -22
  580. package/dist/symmio-contracts/symmio/actions/withdraw-auto.js.map +1 -1
  581. package/dist/symmio-contracts/symmio/actions/withdraw.d.ts +2 -2
  582. package/dist/symmio-contracts/symmio/actions/withdraw.d.ts.map +1 -1
  583. package/dist/symmio-contracts/symmio/actions/withdraw.js +4 -2
  584. package/dist/symmio-contracts/symmio/actions/withdraw.js.map +1 -1
  585. package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/get-funding-fees-of-party-b.d.ts +43 -0
  586. package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/get-funding-fees-of-party-b.d.ts.map +1 -0
  587. package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/get-funding-fees-of-party-b.js +15 -0
  588. package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/get-funding-fees-of-party-b.js.map +1 -0
  589. package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/index.d.ts +4 -0
  590. package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/index.d.ts.map +1 -0
  591. package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/query.d.ts +43 -0
  592. package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/query.d.ts.map +1 -0
  593. package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/query.js +25 -0
  594. package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/query.js.map +1 -0
  595. package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/types.d.ts +85 -0
  596. package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/types.d.ts.map +1 -0
  597. package/dist/symmio-contracts/symmio/index.d.ts +5 -0
  598. package/dist/symmio-contracts/symmio/index.d.ts.map +1 -1
  599. package/dist/symmio-contracts/symmio/internal/call-as-sub-account.d.ts +2 -1
  600. package/dist/symmio-contracts/symmio/internal/call-as-sub-account.d.ts.map +1 -1
  601. package/dist/symmio-contracts/symmio/internal/call-as-sub-account.js +46 -17
  602. package/dist/symmio-contracts/symmio/internal/call-as-sub-account.js.map +1 -1
  603. package/dist/symmio-contracts/symmio/query/approve-operational-fee.d.ts +18 -0
  604. package/dist/symmio-contracts/symmio/query/approve-operational-fee.d.ts.map +1 -0
  605. package/dist/symmio-contracts/symmio/query/approve-operational-fee.js +12 -0
  606. package/dist/symmio-contracts/symmio/query/approve-operational-fee.js.map +1 -0
  607. package/dist/symmio-contracts/symmio/query/get-operational-fee-allowance.d.ts +35 -0
  608. package/dist/symmio-contracts/symmio/query/get-operational-fee-allowance.d.ts.map +1 -0
  609. package/dist/symmio-contracts/symmio/query/get-operational-fee-allowance.js +28 -0
  610. package/dist/symmio-contracts/symmio/query/get-operational-fee-allowance.js.map +1 -0
  611. package/dist/symmio-contracts/symmio/types.d.ts +6 -6
  612. package/dist/symmio-contracts/symmio/types.js.map +1 -1
  613. package/dist/symmio-subgraph/executeSubgraphRequest.d.ts +2 -1
  614. package/dist/symmio-subgraph/executeSubgraphRequest.d.ts.map +1 -1
  615. package/dist/symmio-subgraph/executeSubgraphRequest.js +24 -21
  616. package/dist/symmio-subgraph/executeSubgraphRequest.js.map +1 -1
  617. package/dist/websocket/gasless/close-code-policy.d.ts +51 -0
  618. package/dist/websocket/gasless/close-code-policy.d.ts.map +1 -0
  619. package/dist/websocket/gasless/close-code-policy.js +75 -0
  620. package/dist/websocket/gasless/close-code-policy.js.map +1 -0
  621. package/dist/websocket/gasless/gasless-stream-hub.d.ts +61 -0
  622. package/dist/websocket/gasless/gasless-stream-hub.d.ts.map +1 -0
  623. package/dist/websocket/gasless/gasless-stream-hub.js +311 -0
  624. package/dist/websocket/gasless/gasless-stream-hub.js.map +1 -0
  625. package/dist/websocket/gasless/index.d.ts +7 -0
  626. package/dist/websocket/gasless/index.d.ts.map +1 -0
  627. package/dist/websocket/gasless/parse-gasless-stream-message.d.ts +82 -0
  628. package/dist/websocket/gasless/parse-gasless-stream-message.d.ts.map +1 -0
  629. package/dist/websocket/gasless/parse-gasless-stream-message.js +136 -0
  630. package/dist/websocket/gasless/parse-gasless-stream-message.js.map +1 -0
  631. package/dist/websocket/gasless/resolve-gasless-stream-url.d.ts +58 -0
  632. package/dist/websocket/gasless/resolve-gasless-stream-url.d.ts.map +1 -0
  633. package/dist/websocket/gasless/resolve-gasless-stream-url.js +59 -0
  634. package/dist/websocket/gasless/resolve-gasless-stream-url.js.map +1 -0
  635. package/dist/websocket/gasless/types.d.ts +48 -0
  636. package/dist/websocket/gasless/types.d.ts.map +1 -0
  637. package/dist/websocket/gasless/watch-gasless-request.d.ts +72 -0
  638. package/dist/websocket/gasless/watch-gasless-request.d.ts.map +1 -0
  639. package/dist/websocket/gasless/watch-gasless-request.js +35 -0
  640. package/dist/websocket/gasless/watch-gasless-request.js.map +1 -0
  641. package/dist/websocket/index.d.ts +1 -0
  642. package/dist/websocket/index.d.ts.map +1 -1
  643. package/dist/websocket/socket/create-reconnecting-socket.d.ts +39 -6
  644. package/dist/websocket/socket/create-reconnecting-socket.d.ts.map +1 -1
  645. package/dist/websocket/socket/create-reconnecting-socket.js +92 -53
  646. package/dist/websocket/socket/create-reconnecting-socket.js.map +1 -1
  647. package/dist/websocket/socket/socket-status.d.ts +7 -2
  648. package/dist/websocket/socket/socket-status.d.ts.map +1 -1
  649. package/dist/websocket/socket/socket-status.js.map +1 -1
  650. package/package.json +1 -1
@@ -0,0 +1,58 @@
1
+ import { SymmioGaslessConfig } from '../../core/chains/types.js';
2
+ import { GaslessService } from '../../gasless/types.js';
3
+ /**
4
+ * A resolved status-stream endpoint: the `ws(s)://` URL to dial and the
5
+ * protocol instance every message from it must name.
6
+ *
7
+ * @internal
8
+ */
9
+ export interface GaslessStreamEndpoint {
10
+ /** Full stream URL, `…/v1/instances/{instance}/{service}/ws`. */
11
+ url: string;
12
+ /** The instance the endpoint pins; the `ready` frame is checked against it. */
13
+ protocolInstance: string;
14
+ /** The service the stream carries. */
15
+ service: GaslessService;
16
+ /** The chain the endpoint was resolved for (for error messages and hub keys). */
17
+ chainId: number;
18
+ }
19
+ /**
20
+ * Resolve the status-stream endpoint for one `(chain, service)`.
21
+ *
22
+ * The stream shares the gateway's URL forms with HTTP, so both start from
23
+ * {@link parseGaslessUrl}:
24
+ *
25
+ * - **origin** → `wss://host/v1/instances/{instance}/{service}/ws`
26
+ * - **instance root** → the same, with the configured path
27
+ * - **service base** → `{url}/ws`, for that service only
28
+ * - **proxy root** → only from `statusStream.origin`, because a proxy that
29
+ * forwards HTTP cannot be assumed to forward a WebSocket upgrade, and a
30
+ * relative proxy path has no host core could turn into `ws(s)` without a
31
+ * browser global
32
+ *
33
+ * The stream is anonymous: a browser `WebSocket` cannot send an `Authorization`
34
+ * header, so `apiKey` never reaches it. A partner key raises HTTP limits only.
35
+ *
36
+ * @param chainId - The chain the config belongs to.
37
+ * @param gasless - The chain's gasless config.
38
+ * @param service - Which service's stream to resolve.
39
+ * @returns The endpoint to dial.
40
+ * @throws {SymmError} `GASLESS_STREAM_NOT_CONFIGURED` when `statusStream` is absent or disabled.
41
+ * @throws {SymmError} `GASLESS_STREAM_ORIGIN_REQUIRED` for a proxy root with no `statusStream.origin`.
42
+ * @throws {SymmError} `GASLESS_STREAM_ORIGIN_CONFLICT` when `origin` is set on a gateway url form.
43
+ * @throws {SymmError} `GASLESS_PROTOCOL_INSTANCE_REQUIRED` when a proxy root declares no `protocolInstance`.
44
+ * @throws {SymmError} Every {@link parseGaslessUrl} config error, plus `GASLESS_URL_SERVICE_MISMATCH`.
45
+ *
46
+ * @internal
47
+ */
48
+ export declare function resolveGaslessStreamUrl(chainId: number, gasless: SymmioGaslessConfig, service: GaslessService): GaslessStreamEndpoint;
49
+ /**
50
+ * Whether `(chain, service)` has a status stream the SDK can dial.
51
+ *
52
+ * Non-throwing companion to {@link resolveGaslessStreamUrl}: a consumer can ask
53
+ * before subscribing, and fall back to HTTP polling when the answer is `false`.
54
+ *
55
+ * @internal
56
+ */
57
+ export declare function canResolveGaslessStreamUrl(chainId: number, gasless: SymmioGaslessConfig, service: GaslessService): boolean;
58
+ //# sourceMappingURL=resolve-gasless-stream-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-gasless-stream-url.d.ts","sourceRoot":"","sources":["../../../src/websocket/gasless/resolve-gasless-stream-url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAC;IACZ,+EAA+E;IAC/E,gBAAgB,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,OAAO,EAAE,cAAc,CAAC;IACxB,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;CACjB;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,cAAc,GACtB,qBAAqB,CA4DvB;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,cAAc,GACtB,OAAO,CAOT"}
@@ -0,0 +1,59 @@
1
+ import { SymmError as e } from "../../shared/errors/symm-error.js";
2
+ import { assertGaslessUrlServes as t, parseGaslessUrl as n } from "../../gasless/gasless-url.js";
3
+ //#region src/websocket/gasless/resolve-gasless-stream-url.ts
4
+ function r(e) {
5
+ return e.replace(/^http:/i, "ws:").replace(/^https:/i, "wss:");
6
+ }
7
+ function i(t, n) {
8
+ return new e("config", t, n);
9
+ }
10
+ function a(e, a, o) {
11
+ if (!a.statusStream?.enabled) throw i("GASLESS_STREAM_NOT_CONFIGURED", `Gasless: chain ${e} does not enable the status stream. Set \`gasless.statusStream.enabled\` once operators confirm the WebSocket for this deployment; until then status reads poll over HTTP.`);
12
+ let s = n(e, a);
13
+ t(e, s, o);
14
+ let c = a.statusStream.origin?.trim().replace(/\/+$/, "");
15
+ if (s.form === "proxy-root") {
16
+ if (!c) throw i("GASLESS_STREAM_ORIGIN_REQUIRED", `Gasless: chain ${e} routes HTTP through a proxy, so the status stream needs \`gasless.statusStream.origin\` — the gateway's own origin. A proxy that forwards HTTP does not necessarily forward a WebSocket upgrade, and the stream is anonymous either way.`);
17
+ if (!s.protocolInstance) throw i("GASLESS_PROTOCOL_INSTANCE_REQUIRED", `Gasless: chain ${e} streams from \`statusStream.origin\` but declares no \`protocolInstance\`. The instance key selects the deployment and is checked on every stream message.`);
18
+ let t = n(e, {
19
+ url: c,
20
+ protocolInstance: s.protocolInstance
21
+ });
22
+ if (t.form !== "origin") throw i("GASLESS_STREAM_ORIGIN_REQUIRED", `Gasless: chain ${e} sets \`gasless.statusStream.origin\` to a url with a path. It must be the gateway's bare origin; the SDK appends the instance and service path itself.`);
23
+ return {
24
+ url: `${r(t.url)}/v1/instances/${encodeURIComponent(t.protocolInstance)}/${o}/ws`,
25
+ protocolInstance: t.protocolInstance,
26
+ service: o,
27
+ chainId: e
28
+ };
29
+ }
30
+ if (c) throw i("GASLESS_STREAM_ORIGIN_CONFLICT", `Gasless: chain ${e} sets \`gasless.statusStream.origin\` while its \`url\` already names the gateway. Remove the origin — the stream derives from \`url\` — or point \`url\` at your proxy.`);
31
+ let l = r(s.url);
32
+ return s.form === "origin" ? {
33
+ url: `${l}/v1/instances/${encodeURIComponent(s.protocolInstance)}/${o}/ws`,
34
+ protocolInstance: s.protocolInstance,
35
+ service: o,
36
+ chainId: e
37
+ } : s.form === "instance-root" ? {
38
+ url: `${l}/${o}/ws`,
39
+ protocolInstance: s.protocolInstance,
40
+ service: o,
41
+ chainId: e
42
+ } : {
43
+ url: `${l}/ws`,
44
+ protocolInstance: s.protocolInstance,
45
+ service: o,
46
+ chainId: e
47
+ };
48
+ }
49
+ function o(e, t, n) {
50
+ try {
51
+ return a(e, t, n), !0;
52
+ } catch {
53
+ return !1;
54
+ }
55
+ }
56
+ //#endregion
57
+ export { o as canResolveGaslessStreamUrl, a as resolveGaslessStreamUrl };
58
+
59
+ //# sourceMappingURL=resolve-gasless-stream-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-gasless-stream-url.js","names":[],"sources":["../../../src/websocket/gasless/resolve-gasless-stream-url.ts"],"sourcesContent":["import type { SymmioGaslessConfig } from \"../../core/chains/types\";\nimport { assertGaslessUrlServes, parseGaslessUrl } from \"../../gasless/gasless-url\";\nimport type { GaslessService } from \"../../gasless/types\";\nimport { SymmError } from \"../../shared/errors/symm-error\";\n\n/**\n * A resolved status-stream endpoint: the `ws(s)://` URL to dial and the\n * protocol instance every message from it must name.\n *\n * @internal\n */\nexport interface GaslessStreamEndpoint {\n /** Full stream URL, `…/v1/instances/{instance}/{service}/ws`. */\n url: string;\n /** The instance the endpoint pins; the `ready` frame is checked against it. */\n protocolInstance: string;\n /** The service the stream carries. */\n service: GaslessService;\n /** The chain the endpoint was resolved for (for error messages and hub keys). */\n chainId: number;\n}\n\n/** Swap an `http(s)` scheme for its WebSocket counterpart. */\nfunction toWebSocketScheme(url: string): string {\n return url.replace(/^http:/i, \"ws:\").replace(/^https:/i, \"wss:\");\n}\n\nfunction streamError(code: string, message: string): SymmError {\n return new SymmError(\"config\", code, message);\n}\n\n/**\n * Resolve the status-stream endpoint for one `(chain, service)`.\n *\n * The stream shares the gateway's URL forms with HTTP, so both start from\n * {@link parseGaslessUrl}:\n *\n * - **origin** → `wss://host/v1/instances/{instance}/{service}/ws`\n * - **instance root** → the same, with the configured path\n * - **service base** → `{url}/ws`, for that service only\n * - **proxy root** → only from `statusStream.origin`, because a proxy that\n * forwards HTTP cannot be assumed to forward a WebSocket upgrade, and a\n * relative proxy path has no host core could turn into `ws(s)` without a\n * browser global\n *\n * The stream is anonymous: a browser `WebSocket` cannot send an `Authorization`\n * header, so `apiKey` never reaches it. A partner key raises HTTP limits only.\n *\n * @param chainId - The chain the config belongs to.\n * @param gasless - The chain's gasless config.\n * @param service - Which service's stream to resolve.\n * @returns The endpoint to dial.\n * @throws {SymmError} `GASLESS_STREAM_NOT_CONFIGURED` when `statusStream` is absent or disabled.\n * @throws {SymmError} `GASLESS_STREAM_ORIGIN_REQUIRED` for a proxy root with no `statusStream.origin`.\n * @throws {SymmError} `GASLESS_STREAM_ORIGIN_CONFLICT` when `origin` is set on a gateway url form.\n * @throws {SymmError} `GASLESS_PROTOCOL_INSTANCE_REQUIRED` when a proxy root declares no `protocolInstance`.\n * @throws {SymmError} Every {@link parseGaslessUrl} config error, plus `GASLESS_URL_SERVICE_MISMATCH`.\n *\n * @internal\n */\nexport function resolveGaslessStreamUrl(\n chainId: number,\n gasless: SymmioGaslessConfig,\n service: GaslessService,\n): GaslessStreamEndpoint {\n if (!gasless.statusStream?.enabled) {\n throw streamError(\n \"GASLESS_STREAM_NOT_CONFIGURED\",\n `Gasless: chain ${chainId} does not enable the status stream. Set \\`gasless.statusStream.enabled\\` once operators confirm the WebSocket for this deployment; until then status reads poll over HTTP.`,\n );\n }\n\n const parsed = parseGaslessUrl(chainId, gasless);\n assertGaslessUrlServes(chainId, parsed, service);\n const origin = gasless.statusStream.origin?.trim().replace(/\\/+$/, \"\");\n\n if (parsed.form === \"proxy-root\") {\n if (!origin) {\n throw streamError(\n \"GASLESS_STREAM_ORIGIN_REQUIRED\",\n `Gasless: chain ${chainId} routes HTTP through a proxy, so the status stream needs \\`gasless.statusStream.origin\\` — the gateway's own origin. A proxy that forwards HTTP does not necessarily forward a WebSocket upgrade, and the stream is anonymous either way.`,\n );\n }\n if (!parsed.protocolInstance) {\n throw streamError(\n \"GASLESS_PROTOCOL_INSTANCE_REQUIRED\",\n `Gasless: chain ${chainId} streams from \\`statusStream.origin\\` but declares no \\`protocolInstance\\`. The instance key selects the deployment and is checked on every stream message.`,\n );\n }\n const base = parseGaslessUrl(chainId, { url: origin, protocolInstance: parsed.protocolInstance });\n if (base.form !== \"origin\") {\n throw streamError(\n \"GASLESS_STREAM_ORIGIN_REQUIRED\",\n `Gasless: chain ${chainId} sets \\`gasless.statusStream.origin\\` to a url with a path. It must be the gateway's bare origin; the SDK appends the instance and service path itself.`,\n );\n }\n return {\n url: `${toWebSocketScheme(base.url)}/v1/instances/${encodeURIComponent(base.protocolInstance)}/${service}/ws`,\n protocolInstance: base.protocolInstance,\n service,\n chainId,\n };\n }\n\n if (origin) {\n throw streamError(\n \"GASLESS_STREAM_ORIGIN_CONFLICT\",\n `Gasless: chain ${chainId} sets \\`gasless.statusStream.origin\\` while its \\`url\\` already names the gateway. Remove the origin — the stream derives from \\`url\\` — or point \\`url\\` at your proxy.`,\n );\n }\n\n const base = toWebSocketScheme(parsed.url);\n if (parsed.form === \"origin\") {\n return {\n url: `${base}/v1/instances/${encodeURIComponent(parsed.protocolInstance)}/${service}/ws`,\n protocolInstance: parsed.protocolInstance,\n service,\n chainId,\n };\n }\n if (parsed.form === \"instance-root\") {\n return { url: `${base}/${service}/ws`, protocolInstance: parsed.protocolInstance, service, chainId };\n }\n return { url: `${base}/ws`, protocolInstance: parsed.protocolInstance, service, chainId };\n}\n\n/**\n * Whether `(chain, service)` has a status stream the SDK can dial.\n *\n * Non-throwing companion to {@link resolveGaslessStreamUrl}: a consumer can ask\n * before subscribing, and fall back to HTTP polling when the answer is `false`.\n *\n * @internal\n */\nexport function canResolveGaslessStreamUrl(\n chainId: number,\n gasless: SymmioGaslessConfig,\n service: GaslessService,\n): boolean {\n try {\n resolveGaslessStreamUrl(chainId, gasless, service);\n return true;\n } catch {\n return false;\n }\n}\n"],"mappings":";;;AAuBA,SAAS,EAAkB,GAAqB;CAC9C,OAAO,EAAI,QAAQ,WAAW,KAAK,EAAE,QAAQ,YAAY,MAAM;AACjE;AAEA,SAAS,EAAY,GAAc,GAA4B;CAC7D,OAAO,IAAI,EAAU,UAAU,GAAM,CAAO;AAC9C;AA+BA,SAAgB,EACd,GACA,GACA,GACuB;CACvB,IAAI,CAAC,EAAQ,cAAc,SACzB,MAAM,EACJ,iCACA,kBAAkB,EAAQ,2KAC5B;CAGF,IAAM,IAAS,EAAgB,GAAS,CAAO;CAC/C,EAAuB,GAAS,GAAQ,CAAO;CAC/C,IAAM,IAAS,EAAQ,aAAa,QAAQ,KAAK,EAAE,QAAQ,QAAQ,EAAE;CAErE,IAAI,EAAO,SAAS,cAAc;EAChC,IAAI,CAAC,GACH,MAAM,EACJ,kCACA,kBAAkB,EAAQ,0OAC5B;EAEF,IAAI,CAAC,EAAO,kBACV,MAAM,EACJ,sCACA,kBAAkB,EAAQ,4JAC5B;EAEF,IAAM,IAAO,EAAgB,GAAS;GAAE,KAAK;GAAQ,kBAAkB,EAAO;EAAiB,CAAC;EAChG,IAAI,EAAK,SAAS,UAChB,MAAM,EACJ,kCACA,kBAAkB,EAAQ,wJAC5B;EAEF,OAAO;GACL,KAAK,GAAG,EAAkB,EAAK,GAAG,EAAE,gBAAgB,mBAAmB,EAAK,gBAAgB,EAAE,GAAG,EAAQ;GACzG,kBAAkB,EAAK;GACvB;GACA;EACF;CACF;CAEA,IAAI,GACF,MAAM,EACJ,kCACA,kBAAkB,EAAQ,yKAC5B;CAGF,IAAM,IAAO,EAAkB,EAAO,GAAG;CAYzC,OAXI,EAAO,SAAS,WACX;EACL,KAAK,GAAG,EAAK,gBAAgB,mBAAmB,EAAO,gBAAgB,EAAE,GAAG,EAAQ;EACpF,kBAAkB,EAAO;EACzB;EACA;CACF,IAEE,EAAO,SAAS,kBACX;EAAE,KAAK,GAAG,EAAK,GAAG,EAAQ;EAAM,kBAAkB,EAAO;EAAkB;EAAS;CAAQ,IAE9F;EAAE,KAAK,GAAG,EAAK;EAAM,kBAAkB,EAAO;EAAkB;EAAS;CAAQ;AAC1F;AAUA,SAAgB,EACd,GACA,GACA,GACS;CACT,IAAI;EAEF,OADA,EAAwB,GAAS,GAAS,CAAO,GAC1C;CACT,QAAQ;EACN,OAAO;CACT;AACF"}
@@ -0,0 +1,48 @@
1
+ import { GaslessRequest, GaslessRequestTransaction } from '../../gasless/types.js';
2
+ import { GaslessCloseReason } from './close-code-policy.js';
3
+ /**
4
+ * Health of a gasless status stream, as reported to watchers.
5
+ *
6
+ * `live` is the only state where HTTP polling can stand down: a selector is
7
+ * subscribed and the gateway has sent its snapshot. Every other state means the
8
+ * caller should keep (or resume) polling.
9
+ */
10
+ export type GaslessStreamStatus =
11
+ /** No socket yet — nothing subscribed, or the first dial has not started. */
12
+ "idle"
13
+ /** Dialing, or waiting for the `ready` handshake and this selector's snapshot. */
14
+ | "connecting"
15
+ /** Subscribed and delivering; poll fallback can pause. */
16
+ | "live"
17
+ /** Temporarily not delivering (reconnecting, throttled, or over the subscription cap); poll meanwhile. */
18
+ | "degraded"
19
+ /** Permanently off for this config — streams disabled, unauthorized, misrouted, or a client bug. */
20
+ | "disabled";
21
+ /**
22
+ * Why a stream is in its current state, when that is not obvious from the
23
+ * status alone.
24
+ */
25
+ export interface GaslessStreamStatusDetail {
26
+ /** The cause, from the close-code policy or the gateway's own command error. */
27
+ reason: GaslessCloseReason | "not-configured" | "not-found" | "subscription-limit" | "instance-mismatch" | "terminal";
28
+ /** WebSocket close code, when a close produced this state. */
29
+ closeCode?: number;
30
+ /** One sentence naming what would change it. */
31
+ detail: string;
32
+ }
33
+ /**
34
+ * One delivery from a subscribed status stream.
35
+ *
36
+ * `snapshot` is the full current state, sent right after a subscribe (including
37
+ * after a reconnect); `update` follows every stored change. Both carry complete
38
+ * data, never a patch, so a consumer replaces its state from each one.
39
+ */
40
+ export interface GaslessRequestStreamUpdate {
41
+ /** Whether this frame is the subscribe snapshot or a later change. */
42
+ kind: "snapshot" | "update";
43
+ /** The workflow record, or `null` when the gateway sent one the SDK could not normalize. */
44
+ request: GaslessRequest | null;
45
+ /** Every stored transaction attempt for the workflow, in the gateway's order. */
46
+ transactions: readonly GaslessRequestTransaction[];
47
+ }
48
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/websocket/gasless/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB;AAC7B,6EAA6E;AAC3E,MAAM;AACR,kFAAkF;GAChF,YAAY;AACd,0DAA0D;GACxD,MAAM;AACR,0GAA0G;GACxG,UAAU;AACZ,oGAAoG;GAClG,UAAU,CAAC;AAEf;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,gFAAgF;IAChF,MAAM,EAAE,kBAAkB,GAAG,gBAAgB,GAAG,WAAW,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,UAAU,CAAC;IACtH,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,0BAA0B;IACzC,sEAAsE;IACtE,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC5B,4FAA4F;IAC5F,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,iFAAiF;IACjF,YAAY,EAAE,SAAS,yBAAyB,EAAE,CAAC;CACpD"}
@@ -0,0 +1,72 @@
1
+ import { Config } from '../../core/config/index.js';
2
+ import { GaslessService } from '../../gasless/types.js';
3
+ import { SymmError } from '../../shared/errors/symm-error.js';
4
+ import { ChainIdParameter, Compute } from '../../shared/types/properties.js';
5
+ import { GaslessRequestStreamUpdate, GaslessStreamStatus, GaslessStreamStatusDetail } from './types.js';
6
+ /**
7
+ * Parameters for {@link watchGaslessRequest}.
8
+ */
9
+ export type WatchGaslessRequestParameters = Compute<ChainIdParameter & {
10
+ /** Stable service id returned by a gasless submit. */
11
+ requestId: string;
12
+ /** Which service stores the workflow. Defaults to `"operations"`. */
13
+ service?: GaslessService;
14
+ /** Called with the subscribe snapshot and every later change; both carry complete state. */
15
+ onUpdate: (update: GaslessRequestStreamUpdate) => void;
16
+ /** Called whenever the stream's health changes, so a caller can poll while it is not `live`. */
17
+ onStatusChange?: (status: GaslessStreamStatus, detail: GaslessStreamStatusDetail | null) => void;
18
+ /** Called on a stream-level error; the subscription stays and the caller keeps polling. */
19
+ onError?: (error: SymmError) => void;
20
+ }>;
21
+ /** Releases a {@link watchGaslessRequest} subscription. */
22
+ export type UnwatchGaslessRequest = () => void;
23
+ /**
24
+ * Subscribe to one relayer workflow's live status.
25
+ *
26
+ * **Opens a socket and nothing else — it never issues HTTP.** The gateway's
27
+ * status stream is optional and off unless a deployment declares
28
+ * `gasless.statusStream.enabled`, so a caller pairs this with
29
+ * `getGaslessRequestQueryOptions` (or `useGaslessRequest`, which does it for
30
+ * you) and polls while `onStatusChange` reports anything but `"live"`. A
31
+ * `watch*` that silently became an HTTP poller would break its own contract:
32
+ * `Unwatch` would tear down two unlike resources and `onStatusChange` would
33
+ * describe a transport the data no longer came from.
34
+ *
35
+ * One socket per `(config, service, instance)` is shared by every watcher, its
36
+ * subscriptions are replayed after each reconnect, and a terminal workflow
37
+ * status unsubscribes itself.
38
+ *
39
+ * @param config - The SDK config.
40
+ * @param parameters - Request id, optional chain/service override, handlers.
41
+ * @returns An unwatch function that releases this subscription.
42
+ * @throws {SymmError} synchronously when the chain has no gasless block, the
43
+ * stream is not enabled, or the endpoint cannot be derived
44
+ * (`GASLESS_STREAM_NOT_CONFIGURED`, `GASLESS_STREAM_ORIGIN_REQUIRED`,
45
+ * `GASLESS_STREAM_ORIGIN_CONFLICT`, plus the url/config errors).
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * const unwatch = watchGaslessRequest(config, {
50
+ * requestId,
51
+ * onUpdate: ({ request }) => render(request),
52
+ * onStatusChange: (status) => setPolling(status !== "live"),
53
+ * });
54
+ * ```
55
+ */
56
+ export declare function watchGaslessRequest(config: Config, parameters: WatchGaslessRequestParameters): UnwatchGaslessRequest;
57
+ /**
58
+ * Whether `(chain, service)` can be streamed at all.
59
+ *
60
+ * Non-throwing: a consumer asks before subscribing and falls back to polling
61
+ * when the answer is `false` — an un-upgraded deployment, a proxy without a
62
+ * declared gateway origin, or simply a deployment whose operators have not
63
+ * enabled status WebSockets yet.
64
+ *
65
+ * @param config - The SDK config.
66
+ * @param parameters - Optional chain and service override.
67
+ * @returns `true` when {@link watchGaslessRequest} would resolve an endpoint.
68
+ */
69
+ export declare function supportsGaslessStatusStream(config: Config, parameters?: Compute<ChainIdParameter & {
70
+ service?: GaslessService;
71
+ }>): boolean;
72
+ //# sourceMappingURL=watch-gasless-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch-gasless-request.d.ts","sourceRoot":"","sources":["../../../src/websocket/gasless/watch-gasless-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAA4B,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAG/E,OAAO,KAAK,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAE1G;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,OAAO,CACjD,gBAAgB,GAAG;IACjB,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,4FAA4F;IAC5F,QAAQ,EAAE,CAAC,MAAM,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACvD,gGAAgG;IAChG,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,yBAAyB,GAAG,IAAI,KAAK,IAAI,CAAC;IACjG,2FAA2F;IAC3F,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACtC,CACF,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,6BAA6B,GAAG,qBAAqB,CAsBpH;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,OAAO,CAAC,gBAAgB,GAAG;IAAE,OAAO,CAAC,EAAE,cAAc,CAAA;CAAE,CAAM,GACxE,OAAO,CAST"}
@@ -0,0 +1,35 @@
1
+ import { resolveGaslessService as e } from "../../gasless/resolve-gasless.js";
2
+ import { isGaslessRequestTerminal as t } from "../../gasless/types.js";
3
+ import { acquireGaslessStreamSelector as n, releaseGaslessStreamSelector as r } from "./gasless-stream-hub.js";
4
+ import { canResolveGaslessStreamUrl as i, resolveGaslessStreamUrl as a } from "./resolve-gasless-stream-url.js";
5
+ //#region src/websocket/gasless/watch-gasless-request.ts
6
+ function o(i, o) {
7
+ let { chainId: s, requestId: c, service: l = "operations", onUpdate: u, onStatusChange: d, onError: f } = o, p = i.getChainConfig(s), m = e(i, { chainId: s }), h = a(p.chainId, m, l), g = {
8
+ kind: "request",
9
+ requestId: c
10
+ };
11
+ return n(i, {
12
+ endpoint: h,
13
+ selector: g,
14
+ listener: {
15
+ onUpdate: (e) => {
16
+ e.request && t(e.request.status) && r(i, h.url, g), u(e);
17
+ },
18
+ onStatusChange: d,
19
+ onError: f
20
+ }
21
+ });
22
+ }
23
+ function s(t, n = {}) {
24
+ let { chainId: r, service: a = "operations" } = n;
25
+ try {
26
+ let n = t.getChainConfig(r), o = e(t, { chainId: r });
27
+ return i(n.chainId, o, a);
28
+ } catch {
29
+ return !1;
30
+ }
31
+ }
32
+ //#endregion
33
+ export { s as supportsGaslessStatusStream, o as watchGaslessRequest };
34
+
35
+ //# sourceMappingURL=watch-gasless-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch-gasless-request.js","names":[],"sources":["../../../src/websocket/gasless/watch-gasless-request.ts"],"sourcesContent":["import type { Config } from \"../../core/config\";\nimport { resolveGaslessService } from \"../../gasless/resolve-gasless\";\nimport { isGaslessRequestTerminal, type GaslessService } from \"../../gasless/types\";\nimport type { SymmError } from \"../../shared/errors/symm-error\";\nimport type { ChainIdParameter, Compute } from \"../../shared/types/properties\";\nimport { acquireGaslessStreamSelector, releaseGaslessStreamSelector } from \"./gasless-stream-hub\";\nimport { canResolveGaslessStreamUrl, resolveGaslessStreamUrl } from \"./resolve-gasless-stream-url\";\nimport type { GaslessRequestStreamUpdate, GaslessStreamStatus, GaslessStreamStatusDetail } from \"./types\";\n\n/**\n * Parameters for {@link watchGaslessRequest}.\n */\nexport type WatchGaslessRequestParameters = Compute<\n ChainIdParameter & {\n /** Stable service id returned by a gasless submit. */\n requestId: string;\n /** Which service stores the workflow. Defaults to `\"operations\"`. */\n service?: GaslessService;\n /** Called with the subscribe snapshot and every later change; both carry complete state. */\n onUpdate: (update: GaslessRequestStreamUpdate) => void;\n /** Called whenever the stream's health changes, so a caller can poll while it is not `live`. */\n onStatusChange?: (status: GaslessStreamStatus, detail: GaslessStreamStatusDetail | null) => void;\n /** Called on a stream-level error; the subscription stays and the caller keeps polling. */\n onError?: (error: SymmError) => void;\n }\n>;\n\n/** Releases a {@link watchGaslessRequest} subscription. */\nexport type UnwatchGaslessRequest = () => void;\n\n/**\n * Subscribe to one relayer workflow's live status.\n *\n * **Opens a socket and nothing else — it never issues HTTP.** The gateway's\n * status stream is optional and off unless a deployment declares\n * `gasless.statusStream.enabled`, so a caller pairs this with\n * `getGaslessRequestQueryOptions` (or `useGaslessRequest`, which does it for\n * you) and polls while `onStatusChange` reports anything but `\"live\"`. A\n * `watch*` that silently became an HTTP poller would break its own contract:\n * `Unwatch` would tear down two unlike resources and `onStatusChange` would\n * describe a transport the data no longer came from.\n *\n * One socket per `(config, service, instance)` is shared by every watcher, its\n * subscriptions are replayed after each reconnect, and a terminal workflow\n * status unsubscribes itself.\n *\n * @param config - The SDK config.\n * @param parameters - Request id, optional chain/service override, handlers.\n * @returns An unwatch function that releases this subscription.\n * @throws {SymmError} synchronously when the chain has no gasless block, the\n * stream is not enabled, or the endpoint cannot be derived\n * (`GASLESS_STREAM_NOT_CONFIGURED`, `GASLESS_STREAM_ORIGIN_REQUIRED`,\n * `GASLESS_STREAM_ORIGIN_CONFLICT`, plus the url/config errors).\n *\n * @example\n * ```ts\n * const unwatch = watchGaslessRequest(config, {\n * requestId,\n * onUpdate: ({ request }) => render(request),\n * onStatusChange: (status) => setPolling(status !== \"live\"),\n * });\n * ```\n */\nexport function watchGaslessRequest(config: Config, parameters: WatchGaslessRequestParameters): UnwatchGaslessRequest {\n const { chainId, requestId, service = \"operations\", onUpdate, onStatusChange, onError } = parameters;\n const chain = config.getChainConfig(chainId);\n const gasless = resolveGaslessService(config, { chainId });\n const endpoint = resolveGaslessStreamUrl(chain.chainId, gasless, service);\n const selector = { kind: \"request\", requestId } as const;\n\n return acquireGaslessStreamSelector(config, {\n endpoint,\n selector,\n listener: {\n onUpdate: (update) => {\n /** A terminal record ends the subscription: the gateway sends nothing more. */\n if (update.request && isGaslessRequestTerminal(update.request.status)) {\n releaseGaslessStreamSelector(config, endpoint.url, selector);\n }\n onUpdate(update);\n },\n onStatusChange,\n onError,\n },\n });\n}\n\n/**\n * Whether `(chain, service)` can be streamed at all.\n *\n * Non-throwing: a consumer asks before subscribing and falls back to polling\n * when the answer is `false` — an un-upgraded deployment, a proxy without a\n * declared gateway origin, or simply a deployment whose operators have not\n * enabled status WebSockets yet.\n *\n * @param config - The SDK config.\n * @param parameters - Optional chain and service override.\n * @returns `true` when {@link watchGaslessRequest} would resolve an endpoint.\n */\nexport function supportsGaslessStatusStream(\n config: Config,\n parameters: Compute<ChainIdParameter & { service?: GaslessService }> = {},\n): boolean {\n const { chainId, service = \"operations\" } = parameters;\n try {\n const chain = config.getChainConfig(chainId);\n const gasless = resolveGaslessService(config, { chainId });\n return canResolveGaslessStreamUrl(chain.chainId, gasless, service);\n } catch {\n return false;\n }\n}\n"],"mappings":";;;;;AA+DA,SAAgB,EAAoB,GAAgB,GAAkE;CACpH,IAAM,EAAE,YAAS,cAAW,aAAU,cAAc,aAAU,mBAAgB,eAAY,GACpF,IAAQ,EAAO,eAAe,CAAO,GACrC,IAAU,EAAsB,GAAQ,EAAE,WAAQ,CAAC,GACnD,IAAW,EAAwB,EAAM,SAAS,GAAS,CAAO,GAClE,IAAW;EAAE,MAAM;EAAW;CAAU;CAE9C,OAAO,EAA6B,GAAQ;EAC1C;EACA;EACA,UAAU;GACR,WAAW,MAAW;IAKpB,AAHI,EAAO,WAAW,EAAyB,EAAO,QAAQ,MAAM,KAClE,EAA6B,GAAQ,EAAS,KAAK,CAAQ,GAE7D,EAAS,CAAM;GACjB;GACA;GACA;EACF;CACF,CAAC;AACH;AAcA,SAAgB,EACd,GACA,IAAuE,CAAC,GAC/D;CACT,IAAM,EAAE,YAAS,aAAU,iBAAiB;CAC5C,IAAI;EACF,IAAM,IAAQ,EAAO,eAAe,CAAO,GACrC,IAAU,EAAsB,GAAQ,EAAE,WAAQ,CAAC;EACzD,OAAO,EAA2B,EAAM,SAAS,GAAS,CAAO;CACnE,QAAQ;EACN,OAAO;CACT;AACF"}
@@ -1,3 +1,4 @@
1
+ export * from './gasless/index.js';
1
2
  export * from './notifications/index.js';
2
3
  export * from './prices/index.js';
3
4
  export * from './socket/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/websocket/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/websocket/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
@@ -6,7 +6,10 @@ import { SocketStatus } from './socket-status.js';
6
6
  * 10s exponential backoff with jitter).
7
7
  */
8
8
  export interface ReconnectingSocketReconnectOptions {
9
- /** Reconnect after an unclean close. Default `true`. */
9
+ /**
10
+ * Redial when the connection closes, or a dial throws, without `close()`
11
+ * having been called. The close code is not inspected. Default `true`.
12
+ */
10
13
  enabled?: boolean;
11
14
  /** Max consecutive retries before giving up. Default `Infinity`. */
12
15
  maxAttempts?: number;
@@ -37,7 +40,13 @@ export interface SocketCloseInfo {
37
40
  code?: number;
38
41
  /** WebSocket close reason, if any. */
39
42
  reason?: string;
40
- /** Whether the socket will attempt to reconnect after this close. */
43
+ /** Whether the connection closed cleanly (the closing handshake completed), if the implementation reported it. */
44
+ wasClean?: boolean;
45
+ /**
46
+ * Whether the socket will attempt to reconnect after this close. Calling
47
+ * {@link ReconnectingSocket.close} from inside `onClose` cancels a reconnect
48
+ * reported here as `true`.
49
+ */
41
50
  willReconnect: boolean;
42
51
  }
43
52
  /**
@@ -62,11 +71,20 @@ export interface ReconnectingSocketOptions {
62
71
  heartbeat?: ReconnectingSocketHeartbeatOptions;
63
72
  /** Called each time the socket transitions to `open`. */
64
73
  onOpen?: () => void;
65
- /** Called each time the underlying connection closes (transient or terminal). */
74
+ /**
75
+ * Called each time the underlying connection closes (transient or terminal).
76
+ * A dial that throws is reported to `onError` instead, and `close()` while no
77
+ * connection exists (for example during a backoff wait) settles the status
78
+ * without calling this.
79
+ */
66
80
  onClose?: (info: SocketCloseInfo) => void;
67
81
  /** Called on a transport-level error; receives the raw error event. */
68
82
  onError?: (event: unknown) => void;
69
- /** Called for each inbound frame; `data` is the raw `event.data` (usually a JSON string). */
83
+ /**
84
+ * Called for each inbound frame; `data` is the raw `event.data` (usually a
85
+ * JSON string). Not called after `close()`, even for a frame the
86
+ * implementation still delivers while the connection finishes closing.
87
+ */
70
88
  onMessage?: (data: unknown) => void;
71
89
  /** Called whenever {@link SocketStatus} changes. */
72
90
  onStatusChange?: (status: SocketStatus) => void;
@@ -79,8 +97,23 @@ export interface ReconnectingSocketOptions {
79
97
  export interface ReconnectingSocket {
80
98
  /** Send a text frame now if open, otherwise buffer it until the next open. */
81
99
  send(data: string): void;
82
- /** Close permanently (no reconnect), flushing timers. Idempotent. */
83
- close(): void;
100
+ /**
101
+ * Close permanently: cancel any pending reconnect, stop the heartbeat, drop
102
+ * buffered sends, and close the current connection. From this call on no
103
+ * frame reaches `onMessage`, even while the connection is still closing. Safe
104
+ * to call from any callback, including `onClose` and `onStatusChange`.
105
+ * Idempotent — only the first call acts, so a later call's `code` and
106
+ * `reason` are ignored.
107
+ *
108
+ * `code` and `reason` are checked before the connection is touched, the same
109
+ * way for every implementation and whether or not a connection is open. When
110
+ * either breaks the limits below, a `RangeError` goes to `onError` and the
111
+ * connection closes without them.
112
+ *
113
+ * @param code - Close code to send: `1000`, or an integer from `3000` to `4999` — the codes the WebSocket standard lets a client send. Any other code is rejected, even one the implementation would send (the `ws` package accepts `1001`).
114
+ * @param reason - Close reason to send, at most 123 UTF-8 bytes.
115
+ */
116
+ close(code?: number, reason?: string): void;
84
117
  /** Current connection status. */
85
118
  getStatus(): SocketStatus;
86
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-reconnecting-socket.d.ts","sourceRoot":"","sources":["../../../src/websocket/socket/create-reconnecting-socket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAiB,MAAM,8BAA8B,CAAC;AAExF,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAExE;;;;GAIG;AACH,MAAM,WAAW,kCAAkC;IACjD,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,kCAAkC;IACjD,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,yCAAyC;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B,+FAA+F;IAC/F,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IACjC,wBAAwB;IACxB,SAAS,CAAC,EAAE,kCAAkC,CAAC;IAC/C,wBAAwB;IACxB,SAAS,CAAC,EAAE,kCAAkC,CAAC;IAC/C,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,iFAAiF;IACjF,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1C,uEAAuE;IACvE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,6FAA6F;IAC7F,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,oDAAoD;IACpD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD,6FAA6F;IAC7F,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qEAAqE;IACrE,KAAK,IAAI,IAAI,CAAC;IACd,iCAAiC;IACjC,SAAS,IAAI,YAAY,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,yBAAyB,GAAG,kBAAkB,CAwJ/F"}
1
+ {"version":3,"file":"create-reconnecting-socket.d.ts","sourceRoot":"","sources":["../../../src/websocket/socket/create-reconnecting-socket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAiB,MAAM,8BAA8B,CAAC;AAExF,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAExE;;;;GAIG;AACH,MAAM,WAAW,kCAAkC;IACjD;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,kCAAkC;IACjD,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kHAAkH;IAClH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,yCAAyC;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B,+FAA+F;IAC/F,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;IACjC,wBAAwB;IACxB,SAAS,CAAC,EAAE,kCAAkC,CAAC;IAC/C,wBAAwB;IACxB,SAAS,CAAC,EAAE,kCAAkC,CAAC;IAC/C,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1C,uEAAuE;IACvE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,oDAAoD;IACpD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD,6FAA6F;IAC7F,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,iCAAiC;IACjC,SAAS,IAAI,YAAY,CAAC;CAC3B;AA0BD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,yBAAyB,GAAG,kBAAkB,CAiO/F"}
@@ -1,101 +1,140 @@
1
1
  import { computeBackoffDelay as e } from "./backoff.js";
2
2
  import { SOCKET_READY_STATE as t } from "./socket-status.js";
3
3
  //#region src/websocket/socket/create-reconnecting-socket.ts
4
- function n(n) {
4
+ var n = 123;
5
+ function r(e) {
6
+ return e === 1e3 || Number.isInteger(e) && e >= 3e3 && e <= 4999;
7
+ }
8
+ function i(e, t) {
9
+ if (e !== void 0 && !r(e)) return /* @__PURE__ */ RangeError(`WebSocket close code ${e} is not allowed; use 1000 or an integer from 3000 to 4999.`);
10
+ if (t === void 0) return;
11
+ let i = new TextEncoder().encode(t).length;
12
+ if (!(i <= n)) return /* @__PURE__ */ RangeError(`WebSocket close reason is ${i} UTF-8 bytes; the limit is ${n}.`);
13
+ }
14
+ function a(n) {
5
15
  let r = {
6
16
  enabled: n.reconnect?.enabled ?? !0,
7
17
  maxAttempts: n.reconnect?.maxAttempts ?? Infinity,
8
18
  baseDelayMs: n.reconnect?.baseDelayMs ?? 500,
9
19
  maxDelayMs: n.reconnect?.maxDelayMs ?? 1e4,
10
20
  jitter: n.reconnect?.jitter ?? !0
11
- }, i = {
21
+ }, a = {
12
22
  enabled: n.heartbeat?.enabled ?? !1,
13
23
  intervalMs: n.heartbeat?.intervalMs ?? 3e4,
14
24
  message: n.heartbeat?.message ?? "ping"
15
- }, a = null, o = "connecting", s = 0, c = !1, l = [], u = null, d = null;
16
- function f(e) {
17
- o !== e && (o = e, n.onStatusChange?.(e));
18
- }
19
- function p() {
20
- u !== null && (clearTimeout(u), u = null);
25
+ }, o = null, s = "connecting", c = 0, l = !1, u = [], d = null, f = null;
26
+ function p(e) {
27
+ s !== e && (s = e, n.onStatusChange?.(e));
21
28
  }
22
29
  function m() {
23
- d !== null && (clearInterval(d), d = null);
30
+ d !== null && (clearTimeout(d), d = null);
31
+ }
32
+ function h() {
33
+ f !== null && (clearInterval(f), f = null);
34
+ }
35
+ function g(e) {
36
+ return !l && o === e;
37
+ }
38
+ function _() {
39
+ return !l && r.enabled && c < r.maxAttempts;
24
40
  }
25
- function h(e, r) {
41
+ function v(e, r) {
26
42
  try {
27
43
  e.readyState === t.OPEN && e.send(r);
28
44
  } catch (e) {
29
45
  n.onError?.(e);
30
46
  }
31
47
  }
32
- function g(e) {
33
- i.enabled && (m(), d = setInterval(() => h(e, i.message), i.intervalMs));
48
+ function y(e) {
49
+ !a.enabled || !g(e) || (h(), f = setInterval(() => v(e, a.message), a.intervalMs));
34
50
  }
35
- function _() {
36
- p(), f("connecting");
51
+ function b() {
52
+ if (m(), l || (p("connecting"), l)) return;
37
53
  let e;
38
54
  try {
39
55
  e = new n.webSocketConstructor(n.url, n.protocols);
40
56
  } catch (e) {
41
- n.onError?.(e), v();
57
+ n.onError?.(e), _() ? x() : p("closed");
42
58
  return;
43
59
  }
44
- a = e, e.onopen = () => {
45
- if (a === e) {
46
- s = 0, f("open"), n.onOpen?.();
47
- for (let t of n.getOpenMessages?.() ?? []) h(e, t);
48
- if (l.length > 0) {
49
- let t = l;
50
- l = [];
51
- for (let n of t) h(e, n);
60
+ o = e, e.onopen = () => {
61
+ if (g(e) && (c = 0, p("open"), g(e) && (n.onOpen?.(), g(e)))) {
62
+ for (let t of n.getOpenMessages?.() ?? []) v(e, t);
63
+ if (u.length > 0) {
64
+ let t = u;
65
+ u = [];
66
+ for (let n of t) v(e, n);
52
67
  }
53
- g(e);
68
+ y(e);
54
69
  }
55
70
  }, e.onmessage = (t) => {
56
- a === e && n.onMessage?.(t.data);
71
+ g(e) && n.onMessage?.(t.data);
57
72
  }, e.onerror = (t) => {
58
- a === e && n.onError?.(t);
73
+ o === e && n.onError?.(t);
59
74
  }, e.onclose = (t) => {
60
- if (a !== e) return;
61
- m(), a = null;
62
- let i = !c && r.enabled && s < r.maxAttempts;
75
+ if (o !== e) return;
76
+ h(), o = null;
77
+ let r = _();
63
78
  if (n.onClose?.({
64
79
  code: t?.code,
65
80
  reason: t?.reason,
66
- willReconnect: i
67
- }), !i) {
68
- f("closed");
81
+ wasClean: t?.wasClean,
82
+ willReconnect: r
83
+ }), r && !l) {
84
+ x();
69
85
  return;
70
86
  }
71
- v();
87
+ p("closed");
72
88
  };
73
89
  }
74
- function v() {
75
- f("reconnecting");
76
- let t = e(s, r, n.random);
77
- s += 1, u = setTimeout(_, t);
90
+ function x() {
91
+ if (l || (p("reconnecting"), l)) return;
92
+ let t = e(c, r, n.random);
93
+ c += 1, d = setTimeout(b, t);
78
94
  }
79
- function y(e) {
80
- a && a.readyState === t.OPEN ? h(a, e) : l.push(e);
95
+ function S(e) {
96
+ o && o.readyState === t.OPEN ? v(o, e) : u.push(e);
81
97
  }
82
- function b() {
83
- if (!c) if (c = !0, p(), m(), l = [], a) {
84
- f("closing");
85
- try {
86
- a.close();
87
- } catch {
88
- f("closed");
89
- }
90
- } else f("closed");
98
+ function C(e, t) {
99
+ try {
100
+ e.close();
101
+ } finally {
102
+ n.onError?.(t);
103
+ }
104
+ }
105
+ function w(e, t, n) {
106
+ if (t === void 0 && n === void 0) {
107
+ e.close();
108
+ return;
109
+ }
110
+ try {
111
+ e.close(t, n);
112
+ } catch (t) {
113
+ C(e, t);
114
+ }
115
+ }
116
+ function T(e, t) {
117
+ if (l) return;
118
+ l = !0, m(), h(), u = [];
119
+ let r = i(e, t), a = o;
120
+ if (!a) {
121
+ p("closed"), r && n.onError?.(r);
122
+ return;
123
+ }
124
+ p("closing");
125
+ try {
126
+ r ? C(a, r) : w(a, e, t);
127
+ } catch {
128
+ p("closed");
129
+ }
91
130
  }
92
- return _(), {
93
- send: y,
94
- close: b,
95
- getStatus: () => o
131
+ return b(), {
132
+ send: S,
133
+ close: T,
134
+ getStatus: () => s
96
135
  };
97
136
  }
98
137
  //#endregion
99
- export { n as createReconnectingSocket };
138
+ export { a as createReconnectingSocket };
100
139
 
101
140
  //# sourceMappingURL=create-reconnecting-socket.js.map