@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,163 @@
1
+ import { AbiFunction, Hex } from 'viem';
2
+ /**
3
+ * Which contract a relayable write targets.
4
+ *
5
+ * The transparent dispatcher does not read it — the seam that builds the call
6
+ * supplies the concrete address — but a gasless batch resolves each call's
7
+ * target from it (`relayGaslessBatch`), which is why it must name the contract
8
+ * that actually declares the function.
9
+ */
10
+ export type GaslessRelayableTarget = "symmio" | "accountLayer" | "instantLayer";
11
+ /** One relayable write: its target contract and the workflow label to relay under. */
12
+ export interface GaslessRelayableWrite {
13
+ /** Contract the InstantLayer calls with this calldata. */
14
+ target: GaslessRelayableTarget;
15
+ /** Stable `operationType` label stored with relayed requests of this kind. */
16
+ operationType: string;
17
+ }
18
+ /**
19
+ * The selector → relayable-write map behind the transparent gasless mode.
20
+ * Selectors are derived from the shipped v0.8.6 ABIs at module load (never
21
+ * hardcoded), so an ABI change fails loudly here. Gasless is a perps-core-only
22
+ * facility, which makes the shipped ABIs exactly the deployment it targets.
23
+ *
24
+ * The map gates only what the SDK *attempts* — whether the vendor's fee policy
25
+ * accepts a selector is enforced server-side and surfaces as a submit error,
26
+ * so vendor policy never needs to be mirrored here.
27
+ *
28
+ * @internal
29
+ */
30
+ export declare const GASLESS_RELAYABLE_WRITES: ReadonlyMap<Hex, GaslessRelayableWrite>;
31
+ /**
32
+ * Every relayable write's ABI item, keyed by function name — the names a
33
+ * gasless batch call may use without passing an ABI
34
+ * (`{ functionName: "allocate", args }`), and each one's exact inputs.
35
+ *
36
+ * Derived from the same shipped ABIs as {@link GASLESS_RELAYABLE_SELECTORS}, so
37
+ * it holds exactly the relayable functions and can never name one the relayer
38
+ * would refuse. Use it to list the writes a batch can carry, or to show a
39
+ * call's signature.
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * import { formatAbiItem } from "viem/utils";
44
+ *
45
+ * for (const item of GASLESS_RELAYABLE_FUNCTIONS.values()) console.log(formatAbiItem(item, { includeName: true }));
46
+ * // "allocate(uint256 amount)", …
47
+ * ```
48
+ */
49
+ export declare const GASLESS_RELAYABLE_FUNCTIONS: ReadonlyMap<string, AbiFunction>;
50
+ /**
51
+ * Every selector the transparent gasless mode can relay.
52
+ *
53
+ * **Not a delegation set.** This list includes `grantDelegation`, because the
54
+ * relayer carries it like any other write — but delegating that selector buys a
55
+ * session key nothing. The InstantLayer routes an operation whose target is the
56
+ * InstantLayer itself to `_verifyGrantOperation`, which reverts unless the
57
+ * signer is the account owner, and `grantDelegation` is `onlyOwner` on top of
58
+ * that: a delegate-signed grant is rejected by the contract outright. Handing a
59
+ * key the selector would only turn a clear "the owner must sign this" into an
60
+ * opaque relay rejection, so no delegation set carries it. To onboard a key,
61
+ * use `getSessionKeySelectors`.
62
+ */
63
+ export declare const GASLESS_RELAYABLE_SELECTORS: readonly Hex[];
64
+ /**
65
+ * The selectors safe to delegate to a session key for gasless account
66
+ * management — everything a key needs to run an account unattended **except**
67
+ * moving collateral out of it (see {@link GASLESS_SESSION_KEY_WITHDRAW_SELECTORS}).
68
+ *
69
+ * **Enumerated deliberately — never derived from {@link GASLESS_RELAYABLE_WRITES}.**
70
+ * Relayability and delegability are different questions. The first asks whether
71
+ * the relayer will carry a write at all; the second asks whether a browser-held
72
+ * key may sign it with no wallet prompt. Deriving this list from the map would
73
+ * widen a session key's authority every time a write becomes relayable, so each
74
+ * selector is listed here on its own merits.
75
+ *
76
+ * Deliberately absent, though relayable:
77
+ *
78
+ * - `initiateWithdraw` — the one write that picks a destination for the
79
+ * sub-account's collateral. It lives in
80
+ * {@link GASLESS_SESSION_KEY_WITHDRAW_SELECTORS}, granted only on an explicit
81
+ * opt-in.
82
+ * - `createSubAccounts` — the one relayable AccountLayer write with **no**
83
+ * `onlyAccountOwner` guard, so the InstantLayer's per-account delegation scope
84
+ * never confines it: a key granted this selector is not bounded to the account
85
+ * that granted it. It stays owner-signed for that reason, not because creating
86
+ * an account is sensitive.
87
+ * - `deleteSubAccount` — destroys the account the delegation is scoped to, which
88
+ * is not a step a key should take unattended.
89
+ * - `depositForAccount` and `depositAndAllocateForAccount` — `CoreFacet` funds
90
+ * these straight from the signer's own token balance, so they reach collateral
91
+ * that has not entered the sub-account yet.
92
+ * - `grantDelegation` — the contract rejects a delegate-signed grant (see
93
+ * {@link GASLESS_RELAYABLE_SELECTORS}), so it would relay only to revert.
94
+ *
95
+ * `editAccountName` and `forceClosePosition` **are** in the set: the first is
96
+ * scope-confined by `onlyAccountOwner` and writes nothing but a bounded display
97
+ * string, and the second is guarded identically to the two force-cancels beside
98
+ * it and can only finish a close the owner already initiated.
99
+ *
100
+ * Pair it with `grantDelegation` (itself relayable, so the onboarding grant
101
+ * needs no gas either) to give a key promptless account management. In an app
102
+ * that also trades, prefer `getSessionKeySelectors`, which unions this set with
103
+ * the trade lifecycle and resolves the chain's contracts generation for you.
104
+ *
105
+ * @example
106
+ * ```ts
107
+ * await grantDelegation(config, {
108
+ * account: { addr: subAccount, isPartyB: false },
109
+ * delegatedSigner: sessionKey,
110
+ * selectors: GASLESS_SESSION_KEY_SELECTORS,
111
+ * expiryTimestamp,
112
+ * gasless: true,
113
+ * });
114
+ * ```
115
+ */
116
+ export declare const GASLESS_SESSION_KEY_SELECTORS: readonly Hex[];
117
+ /**
118
+ * The withdrawal authority a session key only gets on an explicit opt-in:
119
+ * `initiateWithdraw`, and nothing else.
120
+ *
121
+ * It is split out of {@link GASLESS_SESSION_KEY_SELECTORS} because it is the one
122
+ * delegable write that names a destination.
123
+ * `initiateWithdraw(WithdrawPart[] parts, bool speedUp, bytes data)` carries a
124
+ * caller-supplied `receiver` in every part, so a key holding this selector can
125
+ * send the sub-account's collateral to an address of its own choosing — that is
126
+ * authority over the funds, not merely over the account's bookkeeping.
127
+ *
128
+ * The other two withdrawal writes stay in the base set precisely because they
129
+ * cannot do that: `finalizeWithdrawRequest(address user, uint256 requestId)` and
130
+ * `requestCancelWithdraw(uint256 requestId)` take no receiver at all. They can
131
+ * only settle or cancel a request whose destination an owner-signed
132
+ * `initiateWithdraw` already fixed, so the worst a key can do with them is
133
+ * complete or unwind a transfer the owner authorized.
134
+ *
135
+ * Grant it when a key must run withdrawals end to end unattended, and treat the
136
+ * grant as what it is: the key can drain the sub-account until the delegation
137
+ * expires or is revoked.
138
+ *
139
+ * @example
140
+ * ```ts
141
+ * await grantDelegation(config, {
142
+ * account: { addr: subAccount, isPartyB: false },
143
+ * delegatedSigner: sessionKey,
144
+ * selectors: [...GASLESS_SESSION_KEY_SELECTORS, ...GASLESS_SESSION_KEY_WITHDRAW_SELECTORS],
145
+ * expiryTimestamp,
146
+ * gasless: true,
147
+ * });
148
+ * ```
149
+ */
150
+ export declare const GASLESS_SESSION_KEY_WITHDRAW_SELECTORS: readonly Hex[];
151
+ /**
152
+ * Whether a calldata selector is relayable by the transparent gasless mode.
153
+ *
154
+ * @param selector - A `0x`-prefixed 4-byte selector (calldata's first 4 bytes).
155
+ * @returns `true` when the gasless dispatcher would attempt to relay it.
156
+ *
157
+ * @example
158
+ * ```ts
159
+ * isGaslessRelayableSelector(calldata.slice(0, 10) as Hex);
160
+ * ```
161
+ */
162
+ export declare function isGaslessRelayableSelector(selector: Hex): boolean;
163
+ //# sourceMappingURL=relayable-writes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relayable-writes.d.ts","sourceRoot":"","sources":["../../src/gasless/relayable-writes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,WAAW,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAahF;;;;;;;GAOG;AACH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,cAAc,GAAG,cAAc,CAAC;AAEhF,sFAAsF;AACtF,MAAM,WAAW,qBAAqB;IACpC,0DAA0D;IAC1D,MAAM,EAAE,sBAAsB,CAAC;IAC/B,8EAA8E;IAC9E,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,GAAG,EAAE,qBAAqB,CAgE3E,CAAC;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,2BAA2B,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CASxE,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,GAAG,EAAyC,CAAC;AAEhG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,eAAO,MAAM,6BAA6B,EAAE,SAAS,GAAG,EAcvD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,sCAAsC,EAAE,SAAS,GAAG,EAEhE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAEjE"}
@@ -0,0 +1,113 @@
1
+ import { accountLayerAbi as e } from "../symmio-contracts/abi/v0.8.6/account-layer.js";
2
+ import { instantLayerAbi as t } from "../symmio-contracts/abi/v0.8.6/instant-layer.js";
3
+ import { symmioAbi as n } from "../symmio-contracts/abi/v0.8.6/symmio.js";
4
+ import { toFunctionSelector as r } from "viem";
5
+ //#region src/gasless/relayable-writes.ts
6
+ function i(e, t) {
7
+ let n = e.find((e) => e.type === "function" && e.name === t);
8
+ if (!n) throw Error(`relayable-writes: ABI is missing function "${t}" — the shipped ABI changed shape.`);
9
+ return r(n);
10
+ }
11
+ var a = new Map([
12
+ [i(n, "allocate"), {
13
+ target: "symmio",
14
+ operationType: "allocate"
15
+ }],
16
+ [i(n, "deallocate"), {
17
+ target: "symmio",
18
+ operationType: "deallocate"
19
+ }],
20
+ [i(n, "initiateWithdraw"), {
21
+ target: "symmio",
22
+ operationType: "initiateWithdraw"
23
+ }],
24
+ [i(n, "requestCancelWithdraw"), {
25
+ target: "symmio",
26
+ operationType: "requestCancelWithdraw"
27
+ }],
28
+ [i(n, "finalizeWithdrawRequest"), {
29
+ target: "symmio",
30
+ operationType: "finalizeWithdrawRequest"
31
+ }],
32
+ [i(n, "requestToCancelQuote"), {
33
+ target: "symmio",
34
+ operationType: "requestToCancelQuote"
35
+ }],
36
+ [i(n, "requestToCancelCloseRequest"), {
37
+ target: "symmio",
38
+ operationType: "requestToCancelCloseRequest"
39
+ }],
40
+ [i(n, "forceCancelQuote"), {
41
+ target: "symmio",
42
+ operationType: "forceCancelQuote"
43
+ }],
44
+ [i(n, "forceCancelCloseRequest"), {
45
+ target: "symmio",
46
+ operationType: "forceCancelCloseRequest"
47
+ }],
48
+ [i(n, "forceClosePosition"), {
49
+ target: "symmio",
50
+ operationType: "forceClosePosition"
51
+ }],
52
+ [i(n, "approveOperationalFeeWithMultiplier"), {
53
+ target: "symmio",
54
+ operationType: "approveOperationalFee"
55
+ }],
56
+ [i(e, "addMargin"), {
57
+ target: "accountLayer",
58
+ operationType: "addMargin"
59
+ }],
60
+ [i(e, "removeMargin"), {
61
+ target: "accountLayer",
62
+ operationType: "removeMargin"
63
+ }],
64
+ [i(e, "createSubAccounts"), {
65
+ target: "accountLayer",
66
+ operationType: "createSubAccounts"
67
+ }],
68
+ [i(e, "deleteSubAccount"), {
69
+ target: "accountLayer",
70
+ operationType: "deleteSubAccount"
71
+ }],
72
+ [i(e, "editAccountName"), {
73
+ target: "accountLayer",
74
+ operationType: "editAccountName"
75
+ }],
76
+ [i(e, "depositForAccount"), {
77
+ target: "accountLayer",
78
+ operationType: "depositForAccount"
79
+ }],
80
+ [i(e, "depositAndAllocateForAccount"), {
81
+ target: "accountLayer",
82
+ operationType: "depositAndAllocateForAccount"
83
+ }],
84
+ [i(t, "grantDelegation"), {
85
+ target: "instantLayer",
86
+ operationType: "grantDelegation"
87
+ }]
88
+ ]), o = new Map([
89
+ n,
90
+ e,
91
+ t
92
+ ].flatMap((e) => e.filter((e) => e.type === "function" && a.has(r(e))).map((e) => [e.name, e]))), s = [...a.keys()], c = [
93
+ i(n, "allocate"),
94
+ i(n, "deallocate"),
95
+ i(n, "requestCancelWithdraw"),
96
+ i(n, "finalizeWithdrawRequest"),
97
+ i(n, "requestToCancelQuote"),
98
+ i(n, "requestToCancelCloseRequest"),
99
+ i(n, "forceCancelQuote"),
100
+ i(n, "forceCancelCloseRequest"),
101
+ i(n, "forceClosePosition"),
102
+ i(n, "approveOperationalFeeWithMultiplier"),
103
+ i(e, "addMargin"),
104
+ i(e, "removeMargin"),
105
+ i(e, "editAccountName")
106
+ ], l = [i(n, "initiateWithdraw")];
107
+ function u(e) {
108
+ return a.has(e.toLowerCase());
109
+ }
110
+ //#endregion
111
+ export { o as GASLESS_RELAYABLE_FUNCTIONS, s as GASLESS_RELAYABLE_SELECTORS, a as GASLESS_RELAYABLE_WRITES, c as GASLESS_SESSION_KEY_SELECTORS, l as GASLESS_SESSION_KEY_WITHDRAW_SELECTORS, u as isGaslessRelayableSelector };
112
+
113
+ //# sourceMappingURL=relayable-writes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relayable-writes.js","names":[],"sources":["../../src/gasless/relayable-writes.ts"],"sourcesContent":["import { toFunctionSelector, type Abi, type AbiFunction, type Hex } from \"viem\";\nimport { accountLayerAbi } from \"../symmio-contracts/abi/v0.8.6/account-layer\";\nimport { instantLayerAbi } from \"../symmio-contracts/abi/v0.8.6/instant-layer\";\nimport { symmioAbi } from \"../symmio-contracts/abi/v0.8.6/symmio\";\n\nfunction selectorFromAbi(abi: Abi, name: string): Hex {\n const fragment = abi.find((item) => item.type === \"function\" && item.name === name) as AbiFunction | undefined;\n if (!fragment) {\n throw new Error(`relayable-writes: ABI is missing function \"${name}\" — the shipped ABI changed shape.`);\n }\n return toFunctionSelector(fragment);\n}\n\n/**\n * Which contract a relayable write targets.\n *\n * The transparent dispatcher does not read it — the seam that builds the call\n * supplies the concrete address — but a gasless batch resolves each call's\n * target from it (`relayGaslessBatch`), which is why it must name the contract\n * that actually declares the function.\n */\nexport type GaslessRelayableTarget = \"symmio\" | \"accountLayer\" | \"instantLayer\";\n\n/** One relayable write: its target contract and the workflow label to relay under. */\nexport interface GaslessRelayableWrite {\n /** Contract the InstantLayer calls with this calldata. */\n target: GaslessRelayableTarget;\n /** Stable `operationType` label stored with relayed requests of this kind. */\n operationType: string;\n}\n\n/**\n * The selector → relayable-write map behind the transparent gasless mode.\n * Selectors are derived from the shipped v0.8.6 ABIs at module load (never\n * hardcoded), so an ABI change fails loudly here. Gasless is a perps-core-only\n * facility, which makes the shipped ABIs exactly the deployment it targets.\n *\n * The map gates only what the SDK *attempts* — whether the vendor's fee policy\n * accepts a selector is enforced server-side and surfaces as a submit error,\n * so vendor policy never needs to be mirrored here.\n *\n * @internal\n */\nexport const GASLESS_RELAYABLE_WRITES: ReadonlyMap<Hex, GaslessRelayableWrite> = new Map<Hex, GaslessRelayableWrite>([\n /** AccountLayer._call-proxied core-diamond writes (signerAccount = the sub-account). */\n [selectorFromAbi(symmioAbi as Abi, \"allocate\"), { target: \"symmio\", operationType: \"allocate\" }],\n [selectorFromAbi(symmioAbi as Abi, \"deallocate\"), { target: \"symmio\", operationType: \"deallocate\" }],\n [selectorFromAbi(symmioAbi as Abi, \"initiateWithdraw\"), { target: \"symmio\", operationType: \"initiateWithdraw\" }],\n [\n selectorFromAbi(symmioAbi as Abi, \"requestCancelWithdraw\"),\n { target: \"symmio\", operationType: \"requestCancelWithdraw\" },\n ],\n [\n selectorFromAbi(symmioAbi as Abi, \"finalizeWithdrawRequest\"),\n { target: \"symmio\", operationType: \"finalizeWithdrawRequest\" },\n ],\n [\n selectorFromAbi(symmioAbi as Abi, \"requestToCancelQuote\"),\n { target: \"symmio\", operationType: \"requestToCancelQuote\" },\n ],\n [\n selectorFromAbi(symmioAbi as Abi, \"requestToCancelCloseRequest\"),\n { target: \"symmio\", operationType: \"requestToCancelCloseRequest\" },\n ],\n [selectorFromAbi(symmioAbi as Abi, \"forceCancelQuote\"), { target: \"symmio\", operationType: \"forceCancelQuote\" }],\n [\n selectorFromAbi(symmioAbi as Abi, \"forceCancelCloseRequest\"),\n { target: \"symmio\", operationType: \"forceCancelCloseRequest\" },\n ],\n [selectorFromAbi(symmioAbi as Abi, \"forceClosePosition\"), { target: \"symmio\", operationType: \"forceClosePosition\" }],\n [\n selectorFromAbi(symmioAbi as Abi, \"approveOperationalFeeWithMultiplier\"),\n { target: \"symmio\", operationType: \"approveOperationalFee\" },\n ],\n /**\n * Direct AccountLayer writes. The billing `signerAccount` differs per write:\n * the VA's parent sub-account for margin, the named sub-account for the rest,\n * and `gasless.account` (required) for `createSubAccounts`, whose accounts do\n * not exist yet.\n */\n [selectorFromAbi(accountLayerAbi as Abi, \"addMargin\"), { target: \"accountLayer\", operationType: \"addMargin\" }],\n [selectorFromAbi(accountLayerAbi as Abi, \"removeMargin\"), { target: \"accountLayer\", operationType: \"removeMargin\" }],\n [\n selectorFromAbi(accountLayerAbi as Abi, \"createSubAccounts\"),\n { target: \"accountLayer\", operationType: \"createSubAccounts\" },\n ],\n [\n selectorFromAbi(accountLayerAbi as Abi, \"deleteSubAccount\"),\n { target: \"accountLayer\", operationType: \"deleteSubAccount\" },\n ],\n [\n selectorFromAbi(accountLayerAbi as Abi, \"editAccountName\"),\n { target: \"accountLayer\", operationType: \"editAccountName\" },\n ],\n [\n selectorFromAbi(accountLayerAbi as Abi, \"depositForAccount\"),\n { target: \"accountLayer\", operationType: \"depositForAccount\" },\n ],\n [\n selectorFromAbi(accountLayerAbi as Abi, \"depositAndAllocateForAccount\"),\n { target: \"accountLayer\", operationType: \"depositAndAllocateForAccount\" },\n ],\n /** Direct InstantLayer write (signerAccount = the granting sub-account itself). */\n [\n selectorFromAbi(instantLayerAbi as Abi, \"grantDelegation\"),\n { target: \"instantLayer\", operationType: \"grantDelegation\" },\n ],\n]);\n\n/**\n * Every relayable write's ABI item, keyed by function name — the names a\n * gasless batch call may use without passing an ABI\n * (`{ functionName: \"allocate\", args }`), and each one's exact inputs.\n *\n * Derived from the same shipped ABIs as {@link GASLESS_RELAYABLE_SELECTORS}, so\n * it holds exactly the relayable functions and can never name one the relayer\n * would refuse. Use it to list the writes a batch can carry, or to show a\n * call's signature.\n *\n * @example\n * ```ts\n * import { formatAbiItem } from \"viem/utils\";\n *\n * for (const item of GASLESS_RELAYABLE_FUNCTIONS.values()) console.log(formatAbiItem(item, { includeName: true }));\n * // \"allocate(uint256 amount)\", …\n * ```\n */\nexport const GASLESS_RELAYABLE_FUNCTIONS: ReadonlyMap<string, AbiFunction> = new Map(\n [symmioAbi, accountLayerAbi, instantLayerAbi].flatMap((abi) =>\n (abi as Abi)\n .filter(\n (item): item is AbiFunction =>\n item.type === \"function\" && GASLESS_RELAYABLE_WRITES.has(toFunctionSelector(item)),\n )\n .map((item) => [item.name, item] as const),\n ),\n);\n\n/**\n * Every selector the transparent gasless mode can relay.\n *\n * **Not a delegation set.** This list includes `grantDelegation`, because the\n * relayer carries it like any other write — but delegating that selector buys a\n * session key nothing. The InstantLayer routes an operation whose target is the\n * InstantLayer itself to `_verifyGrantOperation`, which reverts unless the\n * signer is the account owner, and `grantDelegation` is `onlyOwner` on top of\n * that: a delegate-signed grant is rejected by the contract outright. Handing a\n * key the selector would only turn a clear \"the owner must sign this\" into an\n * opaque relay rejection, so no delegation set carries it. To onboard a key,\n * use `getSessionKeySelectors`.\n */\nexport const GASLESS_RELAYABLE_SELECTORS: readonly Hex[] = [...GASLESS_RELAYABLE_WRITES.keys()];\n\n/**\n * The selectors safe to delegate to a session key for gasless account\n * management — everything a key needs to run an account unattended **except**\n * moving collateral out of it (see {@link GASLESS_SESSION_KEY_WITHDRAW_SELECTORS}).\n *\n * **Enumerated deliberately — never derived from {@link GASLESS_RELAYABLE_WRITES}.**\n * Relayability and delegability are different questions. The first asks whether\n * the relayer will carry a write at all; the second asks whether a browser-held\n * key may sign it with no wallet prompt. Deriving this list from the map would\n * widen a session key's authority every time a write becomes relayable, so each\n * selector is listed here on its own merits.\n *\n * Deliberately absent, though relayable:\n *\n * - `initiateWithdraw` — the one write that picks a destination for the\n * sub-account's collateral. It lives in\n * {@link GASLESS_SESSION_KEY_WITHDRAW_SELECTORS}, granted only on an explicit\n * opt-in.\n * - `createSubAccounts` — the one relayable AccountLayer write with **no**\n * `onlyAccountOwner` guard, so the InstantLayer's per-account delegation scope\n * never confines it: a key granted this selector is not bounded to the account\n * that granted it. It stays owner-signed for that reason, not because creating\n * an account is sensitive.\n * - `deleteSubAccount` — destroys the account the delegation is scoped to, which\n * is not a step a key should take unattended.\n * - `depositForAccount` and `depositAndAllocateForAccount` — `CoreFacet` funds\n * these straight from the signer's own token balance, so they reach collateral\n * that has not entered the sub-account yet.\n * - `grantDelegation` — the contract rejects a delegate-signed grant (see\n * {@link GASLESS_RELAYABLE_SELECTORS}), so it would relay only to revert.\n *\n * `editAccountName` and `forceClosePosition` **are** in the set: the first is\n * scope-confined by `onlyAccountOwner` and writes nothing but a bounded display\n * string, and the second is guarded identically to the two force-cancels beside\n * it and can only finish a close the owner already initiated.\n *\n * Pair it with `grantDelegation` (itself relayable, so the onboarding grant\n * needs no gas either) to give a key promptless account management. In an app\n * that also trades, prefer `getSessionKeySelectors`, which unions this set with\n * the trade lifecycle and resolves the chain's contracts generation for you.\n *\n * @example\n * ```ts\n * await grantDelegation(config, {\n * account: { addr: subAccount, isPartyB: false },\n * delegatedSigner: sessionKey,\n * selectors: GASLESS_SESSION_KEY_SELECTORS,\n * expiryTimestamp,\n * gasless: true,\n * });\n * ```\n */\nexport const GASLESS_SESSION_KEY_SELECTORS: readonly Hex[] = [\n selectorFromAbi(symmioAbi as Abi, \"allocate\"),\n selectorFromAbi(symmioAbi as Abi, \"deallocate\"),\n selectorFromAbi(symmioAbi as Abi, \"requestCancelWithdraw\"),\n selectorFromAbi(symmioAbi as Abi, \"finalizeWithdrawRequest\"),\n selectorFromAbi(symmioAbi as Abi, \"requestToCancelQuote\"),\n selectorFromAbi(symmioAbi as Abi, \"requestToCancelCloseRequest\"),\n selectorFromAbi(symmioAbi as Abi, \"forceCancelQuote\"),\n selectorFromAbi(symmioAbi as Abi, \"forceCancelCloseRequest\"),\n selectorFromAbi(symmioAbi as Abi, \"forceClosePosition\"),\n selectorFromAbi(symmioAbi as Abi, \"approveOperationalFeeWithMultiplier\"),\n selectorFromAbi(accountLayerAbi as Abi, \"addMargin\"),\n selectorFromAbi(accountLayerAbi as Abi, \"removeMargin\"),\n selectorFromAbi(accountLayerAbi as Abi, \"editAccountName\"),\n];\n\n/**\n * The withdrawal authority a session key only gets on an explicit opt-in:\n * `initiateWithdraw`, and nothing else.\n *\n * It is split out of {@link GASLESS_SESSION_KEY_SELECTORS} because it is the one\n * delegable write that names a destination.\n * `initiateWithdraw(WithdrawPart[] parts, bool speedUp, bytes data)` carries a\n * caller-supplied `receiver` in every part, so a key holding this selector can\n * send the sub-account's collateral to an address of its own choosing — that is\n * authority over the funds, not merely over the account's bookkeeping.\n *\n * The other two withdrawal writes stay in the base set precisely because they\n * cannot do that: `finalizeWithdrawRequest(address user, uint256 requestId)` and\n * `requestCancelWithdraw(uint256 requestId)` take no receiver at all. They can\n * only settle or cancel a request whose destination an owner-signed\n * `initiateWithdraw` already fixed, so the worst a key can do with them is\n * complete or unwind a transfer the owner authorized.\n *\n * Grant it when a key must run withdrawals end to end unattended, and treat the\n * grant as what it is: the key can drain the sub-account until the delegation\n * expires or is revoked.\n *\n * @example\n * ```ts\n * await grantDelegation(config, {\n * account: { addr: subAccount, isPartyB: false },\n * delegatedSigner: sessionKey,\n * selectors: [...GASLESS_SESSION_KEY_SELECTORS, ...GASLESS_SESSION_KEY_WITHDRAW_SELECTORS],\n * expiryTimestamp,\n * gasless: true,\n * });\n * ```\n */\nexport const GASLESS_SESSION_KEY_WITHDRAW_SELECTORS: readonly Hex[] = [\n selectorFromAbi(symmioAbi as Abi, \"initiateWithdraw\"),\n];\n\n/**\n * Whether a calldata selector is relayable by the transparent gasless mode.\n *\n * @param selector - A `0x`-prefixed 4-byte selector (calldata's first 4 bytes).\n * @returns `true` when the gasless dispatcher would attempt to relay it.\n *\n * @example\n * ```ts\n * isGaslessRelayableSelector(calldata.slice(0, 10) as Hex);\n * ```\n */\nexport function isGaslessRelayableSelector(selector: Hex): boolean {\n return GASLESS_RELAYABLE_WRITES.has(selector.toLowerCase() as Hex);\n}\n"],"mappings":";;;;;AAKA,SAAS,EAAgB,GAAU,GAAmB;CACpD,IAAM,IAAW,EAAI,MAAM,MAAS,EAAK,SAAS,cAAc,EAAK,SAAS,CAAI;CAClF,IAAI,CAAC,GACH,MAAU,MAAM,8CAA8C,EAAK,mCAAmC;CAExG,OAAO,EAAmB,CAAQ;AACpC;AAgCA,IAAa,IAAoE,IAAI,IAAgC;CAEnH,CAAC,EAAgB,GAAkB,UAAU,GAAG;EAAE,QAAQ;EAAU,eAAe;CAAW,CAAC;CAC/F,CAAC,EAAgB,GAAkB,YAAY,GAAG;EAAE,QAAQ;EAAU,eAAe;CAAa,CAAC;CACnG,CAAC,EAAgB,GAAkB,kBAAkB,GAAG;EAAE,QAAQ;EAAU,eAAe;CAAmB,CAAC;CAC/G,CACE,EAAgB,GAAkB,uBAAuB,GACzD;EAAE,QAAQ;EAAU,eAAe;CAAwB,CAC7D;CACA,CACE,EAAgB,GAAkB,yBAAyB,GAC3D;EAAE,QAAQ;EAAU,eAAe;CAA0B,CAC/D;CACA,CACE,EAAgB,GAAkB,sBAAsB,GACxD;EAAE,QAAQ;EAAU,eAAe;CAAuB,CAC5D;CACA,CACE,EAAgB,GAAkB,6BAA6B,GAC/D;EAAE,QAAQ;EAAU,eAAe;CAA8B,CACnE;CACA,CAAC,EAAgB,GAAkB,kBAAkB,GAAG;EAAE,QAAQ;EAAU,eAAe;CAAmB,CAAC;CAC/G,CACE,EAAgB,GAAkB,yBAAyB,GAC3D;EAAE,QAAQ;EAAU,eAAe;CAA0B,CAC/D;CACA,CAAC,EAAgB,GAAkB,oBAAoB,GAAG;EAAE,QAAQ;EAAU,eAAe;CAAqB,CAAC;CACnH,CACE,EAAgB,GAAkB,qCAAqC,GACvE;EAAE,QAAQ;EAAU,eAAe;CAAwB,CAC7D;CAOA,CAAC,EAAgB,GAAwB,WAAW,GAAG;EAAE,QAAQ;EAAgB,eAAe;CAAY,CAAC;CAC7G,CAAC,EAAgB,GAAwB,cAAc,GAAG;EAAE,QAAQ;EAAgB,eAAe;CAAe,CAAC;CACnH,CACE,EAAgB,GAAwB,mBAAmB,GAC3D;EAAE,QAAQ;EAAgB,eAAe;CAAoB,CAC/D;CACA,CACE,EAAgB,GAAwB,kBAAkB,GAC1D;EAAE,QAAQ;EAAgB,eAAe;CAAmB,CAC9D;CACA,CACE,EAAgB,GAAwB,iBAAiB,GACzD;EAAE,QAAQ;EAAgB,eAAe;CAAkB,CAC7D;CACA,CACE,EAAgB,GAAwB,mBAAmB,GAC3D;EAAE,QAAQ;EAAgB,eAAe;CAAoB,CAC/D;CACA,CACE,EAAgB,GAAwB,8BAA8B,GACtE;EAAE,QAAQ;EAAgB,eAAe;CAA+B,CAC1E;CAEA,CACE,EAAgB,GAAwB,iBAAiB,GACzD;EAAE,QAAQ;EAAgB,eAAe;CAAkB,CAC7D;AACF,CAAC,GAoBY,IAAgE,IAAI,IAC/E;CAAC;CAAW;CAAiB;AAAe,EAAE,SAAS,MACpD,EACE,QACE,MACC,EAAK,SAAS,cAAc,EAAyB,IAAI,EAAmB,CAAI,CAAC,CACrF,EACC,KAAK,MAAS,CAAC,EAAK,MAAM,CAAI,CAAU,CAC7C,CACF,GAea,IAA8C,CAAC,GAAG,EAAyB,KAAK,CAAC,GAsDjF,IAAgD;CAC3D,EAAgB,GAAkB,UAAU;CAC5C,EAAgB,GAAkB,YAAY;CAC9C,EAAgB,GAAkB,uBAAuB;CACzD,EAAgB,GAAkB,yBAAyB;CAC3D,EAAgB,GAAkB,sBAAsB;CACxD,EAAgB,GAAkB,6BAA6B;CAC/D,EAAgB,GAAkB,kBAAkB;CACpD,EAAgB,GAAkB,yBAAyB;CAC3D,EAAgB,GAAkB,oBAAoB;CACtD,EAAgB,GAAkB,qCAAqC;CACvE,EAAgB,GAAwB,WAAW;CACnD,EAAgB,GAAwB,cAAc;CACtD,EAAgB,GAAwB,iBAAiB;AAC3D,GAmCa,IAAyD,CACpE,EAAgB,GAAkB,kBAAkB,CACtD;AAaA,SAAgB,EAA2B,GAAwB;CACjE,OAAO,EAAyB,IAAI,EAAS,YAAY,CAAQ;AACnE"}
@@ -0,0 +1,52 @@
1
+ import { SymmioGaslessConfig } from '../core/chains/types.js';
2
+ import { Config } from '../core/config/index.js';
3
+ /**
4
+ * Parameters for {@link resolveGaslessService} / {@link supportsGaslessService}.
5
+ */
6
+ export interface ResolveGaslessServiceParameters {
7
+ /** Target chain id. Defaults to the config's `defaultChainId`. */
8
+ chainId?: number;
9
+ }
10
+ /**
11
+ * Resolve the GaslessQ relayer service for a chain.
12
+ *
13
+ * Gasless is **chain-level**: a chain either carries a `gasless` block
14
+ * ({@link SymmioGaslessConfig}) or it does not — no solver is involved. The
15
+ * service additionally requires the perps-core contracts generation: the
16
+ * relayer verifies operations against the GaslessLayer/InstantLayer pair that
17
+ * only exists on `"0.8.6"` deployments, and backward compatibility with older
18
+ * contracts is intentionally unsupported. Both conditions fail fast here with
19
+ * a typed error, so a gasless action never signs a payload the gateway would
20
+ * reject.
21
+ *
22
+ * @param config - The SDK config.
23
+ * @param parameters - Optional chain override.
24
+ * @returns The chain's {@link SymmioGaslessConfig}.
25
+ * @throws {SymmError} `GASLESS_NOT_CONFIGURED` when the chain has no gasless block.
26
+ * @throws {SymmError} `GASLESS_UNSUPPORTED_CONTRACTS_VERSION` when the chain's
27
+ * `contractsVersion` is not `"0.8.6"`.
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * const { url, gaslessLayerAddress } = resolveGaslessService(config, { chainId });
32
+ * ```
33
+ */
34
+ export declare function resolveGaslessService(config: Config, parameters?: ResolveGaslessServiceParameters): SymmioGaslessConfig;
35
+ /**
36
+ * Whether the chain has a usable GaslessQ relayer service — the boolean twin of
37
+ * {@link resolveGaslessService}. Non-throwing: returns `false` for a chain
38
+ * without a gasless block, a non-perps-core chain, or an unknown chain. Use it
39
+ * for `enabled` gates and UI so gasless features hide instead of erroring where
40
+ * the relayer is unavailable.
41
+ *
42
+ * @param config - The SDK config.
43
+ * @param parameters - Optional chain override.
44
+ * @returns `true` when the chain has a usable gasless relayer configured.
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * if (supportsGaslessService(config, { chainId })) showGaslessToggle();
49
+ * ```
50
+ */
51
+ export declare function supportsGaslessService(config: Config, parameters?: ResolveGaslessServiceParameters): boolean;
52
+ //# sourceMappingURL=resolve-gasless.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-gasless.d.ts","sourceRoot":"","sources":["../../src/gasless/resolve-gasless.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG7C;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,+BAAoC,GAC/C,mBAAmB,CAiBrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,+BAAoC,GAAG,OAAO,CAOhH"}
@@ -0,0 +1,19 @@
1
+ import { SymmError as e } from "../shared/errors/symm-error.js";
2
+ //#region src/gasless/resolve-gasless.ts
3
+ function t(t, n = {}) {
4
+ let r = t.getChainConfig(n.chainId);
5
+ if (!r.gasless) throw new e("config", "GASLESS_NOT_CONFIGURED", `Gasless: chain ${r.chainId} has no gasless relayer service configured.`);
6
+ if (r.contractsVersion !== "0.8.6") throw new e("config", "GASLESS_UNSUPPORTED_CONTRACTS_VERSION", `Gasless: chain ${r.chainId} runs contracts ${r.contractsVersion}, but the gasless relayer supports only perps-core ("0.8.6") deployments.`);
7
+ return r.gasless;
8
+ }
9
+ function n(e, n = {}) {
10
+ try {
11
+ return t(e, n), !0;
12
+ } catch {
13
+ return !1;
14
+ }
15
+ }
16
+ //#endregion
17
+ export { t as resolveGaslessService, n as supportsGaslessService };
18
+
19
+ //# sourceMappingURL=resolve-gasless.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-gasless.js","names":[],"sources":["../../src/gasless/resolve-gasless.ts"],"sourcesContent":["import type { SymmioGaslessConfig } from \"../core/chains/types\";\nimport type { Config } from \"../core/config\";\nimport { SymmError } from \"../shared/errors/symm-error\";\n\n/**\n * Parameters for {@link resolveGaslessService} / {@link supportsGaslessService}.\n */\nexport interface ResolveGaslessServiceParameters {\n /** Target chain id. Defaults to the config's `defaultChainId`. */\n chainId?: number;\n}\n\n/**\n * Resolve the GaslessQ relayer service for a chain.\n *\n * Gasless is **chain-level**: a chain either carries a `gasless` block\n * ({@link SymmioGaslessConfig}) or it does not — no solver is involved. The\n * service additionally requires the perps-core contracts generation: the\n * relayer verifies operations against the GaslessLayer/InstantLayer pair that\n * only exists on `\"0.8.6\"` deployments, and backward compatibility with older\n * contracts is intentionally unsupported. Both conditions fail fast here with\n * a typed error, so a gasless action never signs a payload the gateway would\n * reject.\n *\n * @param config - The SDK config.\n * @param parameters - Optional chain override.\n * @returns The chain's {@link SymmioGaslessConfig}.\n * @throws {SymmError} `GASLESS_NOT_CONFIGURED` when the chain has no gasless block.\n * @throws {SymmError} `GASLESS_UNSUPPORTED_CONTRACTS_VERSION` when the chain's\n * `contractsVersion` is not `\"0.8.6\"`.\n *\n * @example\n * ```ts\n * const { url, gaslessLayerAddress } = resolveGaslessService(config, { chainId });\n * ```\n */\nexport function resolveGaslessService(\n config: Config,\n parameters: ResolveGaslessServiceParameters = {},\n): SymmioGaslessConfig {\n const chain = config.getChainConfig(parameters.chainId);\n if (!chain.gasless) {\n throw new SymmError(\n \"config\",\n \"GASLESS_NOT_CONFIGURED\",\n `Gasless: chain ${chain.chainId} has no gasless relayer service configured.`,\n );\n }\n if (chain.contractsVersion !== \"0.8.6\") {\n throw new SymmError(\n \"config\",\n \"GASLESS_UNSUPPORTED_CONTRACTS_VERSION\",\n `Gasless: chain ${chain.chainId} runs contracts ${chain.contractsVersion}, but the gasless relayer supports only perps-core (\"0.8.6\") deployments.`,\n );\n }\n return chain.gasless;\n}\n\n/**\n * Whether the chain has a usable GaslessQ relayer service — the boolean twin of\n * {@link resolveGaslessService}. Non-throwing: returns `false` for a chain\n * without a gasless block, a non-perps-core chain, or an unknown chain. Use it\n * for `enabled` gates and UI so gasless features hide instead of erroring where\n * the relayer is unavailable.\n *\n * @param config - The SDK config.\n * @param parameters - Optional chain override.\n * @returns `true` when the chain has a usable gasless relayer configured.\n *\n * @example\n * ```ts\n * if (supportsGaslessService(config, { chainId })) showGaslessToggle();\n * ```\n */\nexport function supportsGaslessService(config: Config, parameters: ResolveGaslessServiceParameters = {}): boolean {\n try {\n resolveGaslessService(config, parameters);\n return true;\n } catch {\n return false;\n }\n}\n"],"mappings":";;AAoCA,SAAgB,EACd,GACA,IAA8C,CAAC,GAC1B;CACrB,IAAM,IAAQ,EAAO,eAAe,EAAW,OAAO;CACtD,IAAI,CAAC,EAAM,SACT,MAAM,IAAI,EACR,UACA,0BACA,kBAAkB,EAAM,QAAQ,4CAClC;CAEF,IAAI,EAAM,qBAAqB,SAC7B,MAAM,IAAI,EACR,UACA,yCACA,kBAAkB,EAAM,QAAQ,kBAAkB,EAAM,iBAAiB,0EAC3E;CAEF,OAAO,EAAM;AACf;AAkBA,SAAgB,EAAuB,GAAgB,IAA8C,CAAC,GAAY;CAChH,IAAI;EAEF,OADA,EAAsB,GAAQ,CAAU,GACjC;CACT,QAAQ;EACN,OAAO;CACT;AACF"}
@@ -0,0 +1,30 @@
1
+ import { Address } from 'viem';
2
+ import { Config } from '../core/config/index.js';
3
+ /** The identities the GaslessLayer derives from a wallet operation's signer account. @internal */
4
+ export interface GaslessWalletIdentities {
5
+ /** The account delegations are checked on: a live virtual account's parent, otherwise the account itself. */
6
+ canonicalAccount: Address;
7
+ /** The owner the wallet belongs to — `ownerOf(canonicalAccount)`, or the account itself when it has none. */
8
+ ownerWallet: Address;
9
+ }
10
+ /**
11
+ * The identities the GaslessLayer derives from a wallet operation, mirroring
12
+ * `GaslessWalletExecutionLib._walletOwnerForOperation`.
13
+ *
14
+ * A **live** virtual account rolls up to its parent (a deleted one stays
15
+ * itself, so a historical VA cannot widen authority); the wallet then belongs
16
+ * to `ownerOf(canonicalAccount)`, falling back to the account itself when the
17
+ * AccountLayer knows no owner — which is exactly what makes a bare EOA resolve
18
+ * to its own wallet.
19
+ *
20
+ * @param config - The SDK config.
21
+ * @param parameters - The chain and the operation's `signerAccount.addr`.
22
+ * @returns The canonical account and the wallet owner.
23
+ *
24
+ * @internal
25
+ */
26
+ export declare function resolveGaslessWalletIdentities(config: Config, parameters: {
27
+ chainId?: number;
28
+ account: Address;
29
+ }): Promise<GaslessWalletIdentities>;
30
+ //# sourceMappingURL=resolve-wallet-identities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-wallet-identities.d.ts","sourceRoot":"","sources":["../../src/gasless/resolve-wallet-identities.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAI7C,kGAAkG;AAClG,MAAM,WAAW,uBAAuB;IACtC,6GAA6G;IAC7G,gBAAgB,EAAE,OAAO,CAAC;IAC1B,6GAA6G;IAC7G,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACjD,OAAO,CAAC,uBAAuB,CAAC,CAUlC"}
@@ -0,0 +1,21 @@
1
+ import { getVirtualAccount as e } from "../symmio-contracts/account-layer/actions/get-virtual-account.js";
2
+ import { getSubAccount as t } from "../symmio-contracts/account-layer/actions/get-sub-account.js";
3
+ import { isAddressEqual as n, zeroAddress as r } from "viem";
4
+ //#region src/gasless/resolve-wallet-identities.ts
5
+ async function i(i, a) {
6
+ let { chainId: o, account: s } = a, c = await e(i, {
7
+ chainId: o,
8
+ account: s
9
+ }), l = c.isExists ? c.parentAccount : s, u = await t(i, {
10
+ chainId: o,
11
+ account: l
12
+ });
13
+ return {
14
+ canonicalAccount: l,
15
+ ownerWallet: u.isExists && !n(u.owner, r) ? u.owner : l
16
+ };
17
+ }
18
+ //#endregion
19
+ export { i as resolveGaslessWalletIdentities };
20
+
21
+ //# sourceMappingURL=resolve-wallet-identities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-wallet-identities.js","names":[],"sources":["../../src/gasless/resolve-wallet-identities.ts"],"sourcesContent":["import { isAddressEqual, zeroAddress, type Address } from \"viem\";\nimport type { Config } from \"../core/config\";\nimport { getSubAccount } from \"../symmio-contracts/account-layer/actions/get-sub-account\";\nimport { getVirtualAccount } from \"../symmio-contracts/account-layer/actions/get-virtual-account\";\n\n/** The identities the GaslessLayer derives from a wallet operation's signer account. @internal */\nexport interface GaslessWalletIdentities {\n /** The account delegations are checked on: a live virtual account's parent, otherwise the account itself. */\n canonicalAccount: Address;\n /** The owner the wallet belongs to — `ownerOf(canonicalAccount)`, or the account itself when it has none. */\n ownerWallet: Address;\n}\n\n/**\n * The identities the GaslessLayer derives from a wallet operation, mirroring\n * `GaslessWalletExecutionLib._walletOwnerForOperation`.\n *\n * A **live** virtual account rolls up to its parent (a deleted one stays\n * itself, so a historical VA cannot widen authority); the wallet then belongs\n * to `ownerOf(canonicalAccount)`, falling back to the account itself when the\n * AccountLayer knows no owner — which is exactly what makes a bare EOA resolve\n * to its own wallet.\n *\n * @param config - The SDK config.\n * @param parameters - The chain and the operation's `signerAccount.addr`.\n * @returns The canonical account and the wallet owner.\n *\n * @internal\n */\nexport async function resolveGaslessWalletIdentities(\n config: Config,\n parameters: { chainId?: number; account: Address },\n): Promise<GaslessWalletIdentities> {\n const { chainId, account } = parameters;\n\n const virtualAccount = await getVirtualAccount(config, { chainId, account });\n const canonicalAccount = virtualAccount.isExists ? virtualAccount.parentAccount : account;\n\n const detail = await getSubAccount(config, { chainId, account: canonicalAccount });\n const ownerWallet = detail.isExists && !isAddressEqual(detail.owner, zeroAddress) ? detail.owner : canonicalAccount;\n\n return { canonicalAccount, ownerWallet };\n}\n"],"mappings":";;;;AA6BA,eAAsB,EACpB,GACA,GACkC;CAClC,IAAM,EAAE,YAAS,eAAY,GAEvB,IAAiB,MAAM,EAAkB,GAAQ;EAAE;EAAS;CAAQ,CAAC,GACrE,IAAmB,EAAe,WAAW,EAAe,gBAAgB,GAE5E,IAAS,MAAM,EAAc,GAAQ;EAAE;EAAS,SAAS;CAAiB,CAAC;CAGjF,OAAO;EAAE;EAAkB,aAFP,EAAO,YAAY,CAAC,EAAe,EAAO,OAAO,CAAW,IAAI,EAAO,QAAQ;CAE5D;AACzC"}
@@ -0,0 +1,3 @@
1
+ export * from './query.js';
2
+ export * from './resubmit-gasless-request.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gasless/resubmit-gasless-request/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { Config } from '../../core/config/index.js';
2
+ import { ResubmitGaslessRequestParameters, ResubmitGaslessRequestReturnType } from './resubmit-gasless-request.js';
3
+ /**
4
+ * Build TanStack Mutation options for {@link resubmitGaslessRequest}.
5
+ *
6
+ * @param config - The SDK config.
7
+ * @returns Options to pass to `useMutation`.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const resubmit = useMutation(resubmitGaslessRequestMutationOptions(config));
12
+ * resubmit.mutate(pendingSubmit);
13
+ * ```
14
+ */
15
+ export declare function resubmitGaslessRequestMutationOptions(config: Config): {
16
+ mutationKey: readonly ["resubmitGaslessRequest"];
17
+ mutationFn: (variables: ResubmitGaslessRequestParameters) => Promise<ResubmitGaslessRequestReturnType>;
18
+ };
19
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/gasless/resubmit-gasless-request/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAEL,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EACtC,MAAM,4BAA4B,CAAC;AAEpC;;;;;;;;;;;GAWG;AACH,wBAAgB,qCAAqC,CAAC,MAAM,EAAE,MAAM;;4BAGxC,gCAAgC,KAAG,OAAO,CAAC,gCAAgC,CAAC;EAGvG"}
@@ -0,0 +1,12 @@
1
+ import { resubmitGaslessRequest as e } from "./resubmit-gasless-request.js";
2
+ //#region src/gasless/resubmit-gasless-request/query.ts
3
+ function t(t) {
4
+ return {
5
+ mutationKey: ["resubmitGaslessRequest"],
6
+ mutationFn: (n) => e(t, n)
7
+ };
8
+ }
9
+ //#endregion
10
+ export { t as resubmitGaslessRequestMutationOptions };
11
+
12
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","names":[],"sources":["../../../src/gasless/resubmit-gasless-request/query.ts"],"sourcesContent":["import type { Config } from \"../../core/config\";\nimport {\n resubmitGaslessRequest,\n type ResubmitGaslessRequestParameters,\n type ResubmitGaslessRequestReturnType,\n} from \"./resubmit-gasless-request\";\n\n/**\n * Build TanStack Mutation options for {@link resubmitGaslessRequest}.\n *\n * @param config - The SDK config.\n * @returns Options to pass to `useMutation`.\n *\n * @example\n * ```ts\n * const resubmit = useMutation(resubmitGaslessRequestMutationOptions(config));\n * resubmit.mutate(pendingSubmit);\n * ```\n */\nexport function resubmitGaslessRequestMutationOptions(config: Config) {\n return {\n mutationKey: [\"resubmitGaslessRequest\"] as const,\n mutationFn: (variables: ResubmitGaslessRequestParameters): Promise<ResubmitGaslessRequestReturnType> =>\n resubmitGaslessRequest(config, variables),\n };\n}\n"],"mappings":";;AAmBA,SAAgB,EAAsC,GAAgB;CACpE,OAAO;EACL,aAAa,CAAC,wBAAwB;EACtC,aAAa,MACX,EAAuB,GAAQ,CAAS;CAC5C;AACF"}
@@ -0,0 +1,50 @@
1
+ import { Config } from '../../core/config/index.js';
2
+ import { GaslessDepositSubmitReceipt, GaslessSubmitReceipt } from '../types.js';
3
+ import { GaslessUnconfirmedSubmit } from '../unconfirmed-submit.js';
4
+ /** Parameters for {@link resubmitGaslessRequest}: the recorded submit, unchanged. */
5
+ export type ResubmitGaslessRequestParameters = GaslessUnconfirmedSubmit;
6
+ /** Return type of {@link resubmitGaslessRequest}. */
7
+ export type ResubmitGaslessRequestReturnType = GaslessSubmitReceipt | GaslessDepositSubmitReceipt;
8
+ /**
9
+ * Resend an **unconfirmed** gasless submit, byte for byte, under its original
10
+ * idempotency key.
11
+ *
12
+ * This is the vendor's prescribed recovery for a lost response: the same key
13
+ * with the same payload either lands the request or returns the record the
14
+ * service already created, so it can never execute the intent twice. It is the
15
+ * *only* safe response to `GASLESS_SUBMIT_UNCONFIRMED` — re-running the intent
16
+ * through the wallet would double-execute whatever the relayer accepted.
17
+ *
18
+ * The body is sent exactly as recorded, never rebuilt: the signatures inside it
19
+ * cover specific nonces and deadlines, and a regenerated payload would be a
20
+ * different request under a key the service has already bound.
21
+ *
22
+ * A deposit settlement is re-verified the same way the original submit was —
23
+ * the wallet's deterministic address is read before the POST and checked
24
+ * against the acceptance — so a replay can never sweep a wallet you did not
25
+ * fund.
26
+ *
27
+ * @param config - The SDK config.
28
+ * @param submit - The record from `getGaslessUnconfirmedSubmit(err)`, unmodified.
29
+ * @returns The acceptance receipt: an operation receipt for `/gateway/relay-instant`,
30
+ * a deposit receipt for either settlement path.
31
+ * @throws {SymmError} `GASLESS_NOT_CONFIGURED` / `GASLESS_UNSUPPORTED_CONTRACTS_VERSION` for the recorded chain.
32
+ * @throws {SymmError} `GASLESS_RESUBMIT_BODY_INVALID` when the record is not a submit this SDK produced.
33
+ * @throws {SymmApiError} `GASLESS_SUBMIT_UNCONFIRMED` again when the replay is itself
34
+ * inconclusive — keep the record and try again later.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * try {
39
+ * await relayInstantOperations(config, parameters);
40
+ * } catch (err) {
41
+ * const pending = getGaslessUnconfirmedSubmit(err);
42
+ * if (!pending) throw err;
43
+ * await store.save(pending);
44
+ * const receipt = await resubmitGaslessRequest(config, pending);
45
+ * await store.clear(pending.idempotencyKey);
46
+ * }
47
+ * ```
48
+ */
49
+ export declare function resubmitGaslessRequest(config: Config, submit: ResubmitGaslessRequestParameters): Promise<ResubmitGaslessRequestReturnType>;
50
+ //# sourceMappingURL=resubmit-gasless-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resubmit-gasless-request.d.ts","sourceRoot":"","sources":["../../../src/gasless/resubmit-gasless-request/resubmit-gasless-request.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAMhD,OAAO,KAAK,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAItE,qFAAqF;AACrF,MAAM,MAAM,gCAAgC,GAAG,wBAAwB,CAAC;AAExE,qDAAqD;AACrD,MAAM,MAAM,gCAAgC,GAAG,oBAAoB,GAAG,2BAA2B,CAAC;AA0BlG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gCAAgC,GACvC,OAAO,CAAC,gCAAgC,CAAC,CAmC3C"}
@@ -0,0 +1,52 @@
1
+ import { SymmError as e } from "../../shared/errors/symm-error.js";
2
+ import { postGaslessSubmit as t, resolveGaslessHttp as n } from "../http.js";
3
+ import { parseGaslessWalletId as r } from "../wallet-id.js";
4
+ import { toGaslessSubmitReceipt as i } from "../to-gasless-submit-receipt.js";
5
+ import { getGaslessWalletAddress as a } from "../get-gasless-wallet-address/get-gasless-wallet-address.js";
6
+ import { assertGaslessDepositWallet as o, toGaslessDepositReceipt as s } from "../to-gasless-deposit-receipt.js";
7
+ import { isAddress as c } from "viem";
8
+ //#region src/gasless/resubmit-gasless-request/resubmit-gasless-request.ts
9
+ function l(t) {
10
+ if (typeof t != "object" || !t || Array.isArray(t)) throw new e("validation", "GASLESS_RESUBMIT_BODY_INVALID", "Gasless: the recorded submit has no JSON object body, so there is nothing to resend. Only a GaslessUnconfirmedSubmit taken from getGaslessUnconfirmedSubmit can be resubmitted.");
11
+ return t;
12
+ }
13
+ function u(t, n) {
14
+ let r = t[n];
15
+ if (typeof r != "string" || !c(r)) throw new e("validation", "GASLESS_RESUBMIT_BODY_INVALID", `Gasless: the recorded submit body has no valid "${n}" address, so the acceptance could not be attributed to an owner. Resubmit only a GaslessUnconfirmedSubmit taken from getGaslessUnconfirmedSubmit.`);
16
+ return r;
17
+ }
18
+ async function d(e, c) {
19
+ let { chainId: d, path: f, body: p, idempotencyKey: m } = c, h = n(e, {
20
+ chainId: d,
21
+ service: c.service
22
+ }), g = l(p);
23
+ if (f === "/gateway/relay-instant") {
24
+ let e = u(g, "userAddress"), n = Array.isArray(g.walletIds) ? g.walletIds.map((e, t) => r(e, `walletIds[${t}]`)) : [];
25
+ return i(await t(h, f, p, m), {
26
+ owner: e,
27
+ walletIds: n,
28
+ idempotencyKey: m,
29
+ protocolInstance: h.protocolInstance
30
+ });
31
+ }
32
+ let _ = u(g, "owner"), v = g.walletId === void 0 || g.walletId === null ? 0n : r(g.walletId), y = await a(e, {
33
+ chainId: d,
34
+ owner: _,
35
+ walletId: v
36
+ }), b = s(await t(h, f, p, m), {
37
+ owner: _,
38
+ walletId: v,
39
+ idempotencyKey: m,
40
+ protocolInstance: h.protocolInstance
41
+ });
42
+ return o(b, {
43
+ walletId: v,
44
+ depositAddress: y,
45
+ url: h.baseURL,
46
+ path: f
47
+ }), b;
48
+ }
49
+ //#endregion
50
+ export { d as resubmitGaslessRequest };
51
+
52
+ //# sourceMappingURL=resubmit-gasless-request.js.map