@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,148 @@
1
+ import { Address } from 'viem';
2
+ import { Config } from '../../core/config/index.js';
3
+ import { ChainIdParameter, Compute, FromParameter } from '../../shared/types/properties.js';
4
+ import { GaslessSubmitReceipt } from '../types.js';
5
+ import { GaslessWalletCall } from './calls.js';
6
+ /**
7
+ * Default workflow label stored with a wallet-execute request.
8
+ *
9
+ * @internal
10
+ */
11
+ export declare const GASLESS_WALLET_EXECUTE_OPERATION_TYPE = "gaslessqWalletExecute";
12
+ /**
13
+ * Parameters for {@link gaslessWalletExecute}.
14
+ */
15
+ export type GaslessWalletExecuteParameters = Compute<ChainIdParameter & FromParameter & {
16
+ /**
17
+ * Owner of the deterministic gasless wallet. Defaults to `signerAccount`,
18
+ * or to the signing wallet's address when that is omitted too. When
19
+ * `signerAccount` names a sub-account the owner is read from the
20
+ * AccountLayer, so a session key never has to supply it.
21
+ */
22
+ owner?: Address;
23
+ /**
24
+ * Account whose InstantLayer delegations authorize the operation, whose
25
+ * wallet-operation nonce is consumed, and which the gateway bills.
26
+ * Defaults to `owner`.
27
+ *
28
+ * **Pass a sub-account whenever a session key signs.** `grantDelegation`
29
+ * is `onlyAccountOwner` and the AccountLayer knows no owner for a bare
30
+ * EOA, so a delegation with an EOA delegator can never be granted — the
31
+ * default therefore only ever works owner-signed. The wallet is unchanged
32
+ * either way: the gateway derives it from `ownerOf(signerAccount)`, which
33
+ * is the same owner and so the same address.
34
+ *
35
+ * It is also the billing account. An EOA holds no SYMMIO collateral, so
36
+ * the default is payable only while the daily free quota covers it; a
37
+ * funded sub-account is what makes the fee chargeable.
38
+ */
39
+ signerAccount?: Address;
40
+ /**
41
+ * Which of the owner's GaslessWallets the calls execute from. Defaults to
42
+ * `0n`, the original wallet.
43
+ *
44
+ * The id selects everything at once: the operation's signed `target`
45
+ * (`getGaslessWalletAddress(owner, walletId)`), the nonce stream
46
+ * (`walletOperationNonces(owner, walletId, signerAccount)`) and the
47
+ * `walletIds` entry sent with the relay. Each id is an independent wallet
48
+ * with its own address, balance and nonces — an id is an application
49
+ * convention, not something the contract registers, so persist your
50
+ * assignment under `(environment, protocolInstance, owner, walletId)`.
51
+ *
52
+ * A wallet deploys lazily on first use and its one-time creation fee is
53
+ * charged to the signer account then.
54
+ */
55
+ walletId?: bigint;
56
+ /**
57
+ * The calls to execute from the wallet, in order. The batch is atomic:
58
+ * if any call reverts, the whole operation reverts and nothing is charged.
59
+ */
60
+ calls: readonly GaslessWalletCall[];
61
+ /**
62
+ * Free-form workflow label (1-128 characters) stored with the request for
63
+ * metrics and vendor support. Defaults to `"gaslessqWalletExecute"`. Fees
64
+ * are **not** keyed from it — they come from the inner call selectors.
65
+ */
66
+ operationType?: string;
67
+ /** Non-secret client correlation data stored with the request. */
68
+ metadata?: Record<string, unknown>;
69
+ }>;
70
+ /** Return type of {@link gaslessWalletExecute}. */
71
+ export type GaslessWalletExecuteReturnType = GaslessSubmitReceipt;
72
+ /**
73
+ * Run **any contract call from the deterministic gasless wallet**, with no
74
+ * native gas — an atomic batch of arbitrary `{ target, value, data }` calls
75
+ * relayed by GaslessQ. Nothing in the SDK or the relayer restricts the inner
76
+ * targets or selectors; authority comes from the owner's EIP-712 signature and
77
+ * the wallet can only ever be moved by its owner.
78
+ *
79
+ * Give each call either raw `data` or an `{ abi, functionName, args }` triple
80
+ * the SDK encodes; the two forms mix freely in one batch. Typical uses are a
81
+ * collateral exit (a finalized withdrawal routed to the wallet), or an ERC-20
82
+ * `approve` followed by a bridge or router call.
83
+ *
84
+ * **The wallet's own balance never pays the fee.** The GaslessLayer prices the
85
+ * operation from the **inner** call selectors and charges it to the SYMMIO
86
+ * account's collateral, bounded by its diamond-side operational-fee allowance;
87
+ * a per-account daily free quota can waive it. Collateral parked at the wallet
88
+ * is not a funding source for gas.
89
+ *
90
+ * The signature scheme is deliberately different from ordinary operations:
91
+ * - `callData` is `GaslessWallet.execute((address,uint256,bytes)[])` (selector
92
+ * `0x3f707e6b`) and the operation's `target` is the **wallet** address;
93
+ * - the EIP-712 domain is the **gateway** domain (`"GaslessGateway"`, with the
94
+ * GaslessLayer as `verifyingContract`);
95
+ * - the signed struct has five fields (no `flexFields`, no `maxUses`) — the
96
+ * relay body still carries `flexFields: []` / `maxUses: 1`, appended after
97
+ * signing;
98
+ * - the nonce comes from `walletOperationNonces(owner, walletId, signerAccount) + 1`,
99
+ * a separate counter from InstantLayer nonces, and a separate stream per wallet id;
100
+ * - `signerAccount.addr` defaults to the **owner wallet itself**; pass a
101
+ * sub-account through `signerAccount` to sign with a session key.
102
+ *
103
+ * **Session keys.** A signer that is not the wallet's owner must hold
104
+ * InstantLayer delegations for the wallet-execution sentinel **and every inner
105
+ * call selector** — build them with `getGaslessWalletExecuteSelectors`. Because
106
+ * a delegation can only be granted on an account the AccountLayer knows an
107
+ * owner for, the delegation lives on a **sub-account**, which you then pass as
108
+ * `signerAccount`; the wallet it resolves to is unchanged. A missing grant
109
+ * throws `GASLESS_SIGNER_NOT_DELEGATED` before the signature prompt (disable
110
+ * with `execution.preflightDelegation: false`).
111
+ *
112
+ * Fire-and-forget: persist the returned `requestId` and poll to a terminal
113
+ * status. React consumers should reach for `useGaslessWalletExecute`, which
114
+ * confirms the request before it resolves.
115
+ *
116
+ * @param config - The SDK config (must have a `getWalletClient` resolver).
117
+ * @param parameters - The calls, optional wallet id and owner/chain/signer/label overrides.
118
+ * @returns The acceptance receipt; persist `requestId`, `owner` and `walletIds` immediately.
119
+ * @throws {SymmError} `GASLESS_NOT_CONFIGURED` / `GASLESS_UNSUPPORTED_CONTRACTS_VERSION` /
120
+ * `GASLESS_WALLET_UNAVAILABLE`.
121
+ * @throws {SymmError} `GASLESS_WALLET_ID_INVALID` for a wallet id outside the `uint256` range.
122
+ * @throws {SymmError} `GASLESS_WALLET_OWNER_MISMATCH` when an explicit `owner` does not own
123
+ * `signerAccount` — thrown before the signature prompt.
124
+ * @throws {SymmError} `GASLESS_SIGNER_NOT_DELEGATED` when a non-owner signer is
125
+ * missing a delegation for the sentinel or an inner selector.
126
+ * @throws {SymmError} `GASLESS_NONCE_STREAM_BUSY` when an earlier relay on this
127
+ * `(walletId, signerAccount)` stream is still unaccounted for.
128
+ * @throws {SymmApiError} `GASLESS_RELAY_SUBMIT_FAILED` on HTTP failure —
129
+ * `InvalidWalletOperationTarget` in the decoded revert means the operation's
130
+ * target was not the owner's wallet.
131
+ * @throws {SymmApiError} `GASLESS_SUBMIT_UNCONFIRMED` when the outcome could not be
132
+ * established. The signature is spent either way: replay the submit with
133
+ * `resubmitGaslessRequest`, never by signing a new operation.
134
+ *
135
+ * @example
136
+ * ```ts
137
+ * // Approve a router, then call it — one atomic, gas-free batch.
138
+ * const receipt = await gaslessWalletExecute(config, {
139
+ * calls: [
140
+ * { target: usdc, abi: erc20Abi, functionName: "approve", args: [router, amount] },
141
+ * { target: router, data: routeCalldata },
142
+ * ],
143
+ * operationType: "bridgeWithdraw",
144
+ * });
145
+ * ```
146
+ */
147
+ export declare function gaslessWalletExecute(config: Config, parameters: GaslessWalletExecuteParameters): Promise<GaslessWalletExecuteReturnType>;
148
+ //# sourceMappingURL=gasless-wallet-execute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gasless-wallet-execute.d.ts","sourceRoot":"","sources":["../../../src/gasless/gasless-wallet-execute/gasless-wallet-execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAkB9F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGrD,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAMpE;;;;GAIG;AACH,eAAO,MAAM,qCAAqC,0BAA0B,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAClD,gBAAgB,GACd,aAAa,GAAG;IACd;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;;;;;;;;;;OAeG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACpC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CACJ,CAAC;AAEF,mDAAmD;AACnD,MAAM,MAAM,8BAA8B,GAAG,oBAAoB,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,8BAA8B,GACzC,OAAO,CAAC,8BAA8B,CAAC,CAwKzC"}
@@ -0,0 +1,120 @@
1
+ import { gaslessWalletAbi as e } from "../../symmio-contracts/abi/v0.8.6/gasless-wallet.js";
2
+ import { SymmError as t } from "../../shared/errors/symm-error.js";
3
+ import { generateSalt as n } from "../../solvers/instant-open/shared/operations.js";
4
+ import { getIsDelegationActive as r } from "../../symmio-contracts/instant-layer/actions/get-is-delegation-active.js";
5
+ import { generateGaslessIdempotencyKey as i, postGaslessSubmit as a, resolveGaslessHttp as o } from "../http.js";
6
+ import { assertGaslessWalletId as s, toGaslessWalletIdWire as c } from "../wallet-id.js";
7
+ import { toGaslessSubmitReceipt as l } from "../to-gasless-submit-receipt.js";
8
+ import { blocksGaslessNonceStream as u, gaslessWalletNonceStreamKey as d, readGaslessStreamNonce as f, submitOnGaslessNonceStream as p, withGaslessNonceLock as m } from "../nonce-lock.js";
9
+ import { toGaslessSafeNumber as h } from "../format-gasless-operation.js";
10
+ import { toWalletCallTuple as g } from "./calls.js";
11
+ import { getGaslessWalletExecuteSelectors as _ } from "./selectors.js";
12
+ import { GASLESS_WALLET_OPERATION_TYPES as v, getGaslessGatewayEip712Domain as y } from "../eip712.js";
13
+ import { getGaslessWalletAddress as b } from "../get-gasless-wallet-address/get-gasless-wallet-address.js";
14
+ import { getGaslessWalletNonce as x } from "../get-gasless-wallet-nonce/get-gasless-wallet-nonce.js";
15
+ import { resolveGaslessWalletIdentities as S } from "../resolve-wallet-identities.js";
16
+ import { encodeFunctionData as C, isAddressEqual as w } from "viem";
17
+ //#region src/gasless/gasless-wallet-execute/gasless-wallet-execute.ts
18
+ var T = 600, E = "gaslessqWalletExecute";
19
+ async function D(E, D) {
20
+ let { chainId: O, calls: k, from: A, metadata: j } = D, M = s(D.walletId ?? 0n), N = E.getChainConfig(O), P = o(E, {
21
+ chainId: O,
22
+ service: "operations"
23
+ }), F = await E.getWalletClient({
24
+ chainId: O,
25
+ from: A
26
+ }), I = F.account.address, L = D.signerAccount ?? D.owner ?? I, { canonicalAccount: R, ownerWallet: z } = D.signerAccount === void 0 ? {
27
+ canonicalAccount: L,
28
+ ownerWallet: D.owner ?? L
29
+ } : await S(E, {
30
+ chainId: O,
31
+ account: L
32
+ });
33
+ if (D.owner !== void 0 && !w(D.owner, z)) throw new t("validation", "GASLESS_WALLET_OWNER_MISMATCH", `Gasless: owner ${D.owner} does not own signerAccount ${L}, whose wallet belongs to ${z}. The GaslessLayer derives the wallet from the signer account's owner, so drop \`owner\` or pass the signer account that ${D.owner} owns.`);
34
+ let B = D.owner ?? z, V = C({
35
+ abi: e,
36
+ functionName: "execute",
37
+ args: [k.map(g)]
38
+ });
39
+ if ((N.gasless?.execution?.preflightDelegation ?? !0) && !w(I, B)) {
40
+ let e = _(k), n = await Promise.all(e.map((e) => r(E, {
41
+ chainId: O,
42
+ account: R,
43
+ delegate: I,
44
+ selector: e
45
+ }))), i = e.filter((e, t) => !n[t]);
46
+ if (i.length > 0) throw new t("validation", "GASLESS_SIGNER_NOT_DELEGATED", `Gasless: ${I} holds no delegation from ${R} for ${i.join(", ")}. Grant getGaslessWalletExecuteSelectors(calls) to the key, on a sub-account — an owner EOA cannot be a delegator.`);
47
+ }
48
+ let H = d(N.chainId, M, B, L);
49
+ return m(E, H, async () => {
50
+ let [e, t] = await Promise.all([b(E, {
51
+ chainId: O,
52
+ owner: B,
53
+ walletId: M
54
+ }), f(E, H, () => x(E, {
55
+ chainId: O,
56
+ owner: B,
57
+ walletId: M,
58
+ account: L
59
+ }))]), r = {
60
+ nonce: t + 1n,
61
+ deadline: BigInt(Math.floor(Date.now() / 1e3) + T),
62
+ salt: n()
63
+ }, o = {
64
+ signer: I,
65
+ target: e,
66
+ callData: V,
67
+ signerAccount: {
68
+ addr: L,
69
+ isPartyB: !1
70
+ },
71
+ replayAttackHeader: r
72
+ }, s = await F.signTypedData({
73
+ account: F.account,
74
+ domain: y(E, { chainId: O }),
75
+ types: v,
76
+ primaryType: "SignedOperation",
77
+ message: o
78
+ }), d = {
79
+ signer: o.signer,
80
+ target: o.target,
81
+ callData: o.callData,
82
+ signerAccount: o.signerAccount,
83
+ replayAttackHeader: {
84
+ nonce: h(r.nonce, "replayAttackHeader.nonce"),
85
+ deadline: h(r.deadline, "replayAttackHeader.deadline"),
86
+ salt: r.salt
87
+ }
88
+ }, m = i(), g = {
89
+ idempotencyKey: m,
90
+ userAddress: B,
91
+ accountId: L,
92
+ operationType: D.operationType ?? "gaslessqWalletExecute",
93
+ signedOps: [{
94
+ ...d,
95
+ flexFields: [],
96
+ maxUses: 1
97
+ }],
98
+ signatures: [s],
99
+ walletIds: [c(M)],
100
+ fills: [[]],
101
+ flexFillerSignatures: [[]],
102
+ ...j === void 0 ? {} : { metadata: j }
103
+ };
104
+ return p(E, H, {
105
+ signedNonce: r.nonce,
106
+ service: "operations",
107
+ chainId: N.chainId,
108
+ deadline: r.deadline
109
+ }, async () => l(await a(P, "/gateway/relay-instant", g, m), {
110
+ owner: B,
111
+ walletIds: [M],
112
+ idempotencyKey: m,
113
+ protocolInstance: P.protocolInstance
114
+ }), u);
115
+ });
116
+ }
117
+ //#endregion
118
+ export { E as GASLESS_WALLET_EXECUTE_OPERATION_TYPE, D as gaslessWalletExecute };
119
+
120
+ //# sourceMappingURL=gasless-wallet-execute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gasless-wallet-execute.js","names":[],"sources":["../../../src/gasless/gasless-wallet-execute/gasless-wallet-execute.ts"],"sourcesContent":["import { encodeFunctionData, isAddressEqual, type Address } from \"viem\";\nimport type { Config } from \"../../core/config\";\nimport { SymmError } from \"../../shared/errors/symm-error\";\nimport type { ChainIdParameter, Compute, FromParameter } from \"../../shared/types/properties\";\nimport { generateSalt } from \"../../solvers/instant-open/shared/operations\";\nimport { gaslessWalletAbi } from \"../../symmio-contracts/abi/v0.8.6/gasless-wallet\";\nimport { getIsDelegationActive } from \"../../symmio-contracts/instant-layer/actions/get-is-delegation-active\";\nimport { GASLESS_WALLET_OPERATION_TYPES, getGaslessGatewayEip712Domain } from \"../eip712\";\nimport { toGaslessSafeNumber } from \"../format-gasless-operation\";\nimport { getGaslessWalletAddress } from \"../get-gasless-wallet-address/get-gasless-wallet-address\";\nimport { getGaslessWalletNonce } from \"../get-gasless-wallet-nonce/get-gasless-wallet-nonce\";\nimport { generateGaslessIdempotencyKey, postGaslessSubmit, resolveGaslessHttp } from \"../http\";\nimport {\n blocksGaslessNonceStream,\n gaslessWalletNonceStreamKey,\n readGaslessStreamNonce,\n submitOnGaslessNonceStream,\n withGaslessNonceLock,\n} from \"../nonce-lock\";\nimport { resolveGaslessWalletIdentities } from \"../resolve-wallet-identities\";\nimport { toGaslessSubmitReceipt } from \"../to-gasless-submit-receipt\";\nimport type { GaslessSubmitReceipt } from \"../types\";\nimport { assertGaslessWalletId, toGaslessWalletIdWire } from \"../wallet-id\";\nimport type { GaslessWireOperationAccepted, GaslessWireRelayInstantRequest } from \"../wire-types\";\nimport { toWalletCallTuple, type GaslessWalletCall } from \"./calls\";\nimport { getGaslessWalletExecuteSelectors } from \"./selectors\";\n\n/** How long a wallet-operation signature stays valid. */\nconst GASLESS_WALLET_OPERATION_DEADLINE_SECONDS = 10 * 60;\n\n/**\n * Default workflow label stored with a wallet-execute request.\n *\n * @internal\n */\nexport const GASLESS_WALLET_EXECUTE_OPERATION_TYPE = \"gaslessqWalletExecute\";\n\n/**\n * Parameters for {@link gaslessWalletExecute}.\n */\nexport type GaslessWalletExecuteParameters = Compute<\n ChainIdParameter &\n FromParameter & {\n /**\n * Owner of the deterministic gasless wallet. Defaults to `signerAccount`,\n * or to the signing wallet's address when that is omitted too. When\n * `signerAccount` names a sub-account the owner is read from the\n * AccountLayer, so a session key never has to supply it.\n */\n owner?: Address;\n /**\n * Account whose InstantLayer delegations authorize the operation, whose\n * wallet-operation nonce is consumed, and which the gateway bills.\n * Defaults to `owner`.\n *\n * **Pass a sub-account whenever a session key signs.** `grantDelegation`\n * is `onlyAccountOwner` and the AccountLayer knows no owner for a bare\n * EOA, so a delegation with an EOA delegator can never be granted — the\n * default therefore only ever works owner-signed. The wallet is unchanged\n * either way: the gateway derives it from `ownerOf(signerAccount)`, which\n * is the same owner and so the same address.\n *\n * It is also the billing account. An EOA holds no SYMMIO collateral, so\n * the default is payable only while the daily free quota covers it; a\n * funded sub-account is what makes the fee chargeable.\n */\n signerAccount?: Address;\n /**\n * Which of the owner's GaslessWallets the calls execute from. Defaults to\n * `0n`, the original wallet.\n *\n * The id selects everything at once: the operation's signed `target`\n * (`getGaslessWalletAddress(owner, walletId)`), the nonce stream\n * (`walletOperationNonces(owner, walletId, signerAccount)`) and the\n * `walletIds` entry sent with the relay. Each id is an independent wallet\n * with its own address, balance and nonces — an id is an application\n * convention, not something the contract registers, so persist your\n * assignment under `(environment, protocolInstance, owner, walletId)`.\n *\n * A wallet deploys lazily on first use and its one-time creation fee is\n * charged to the signer account then.\n */\n walletId?: bigint;\n /**\n * The calls to execute from the wallet, in order. The batch is atomic:\n * if any call reverts, the whole operation reverts and nothing is charged.\n */\n calls: readonly GaslessWalletCall[];\n /**\n * Free-form workflow label (1-128 characters) stored with the request for\n * metrics and vendor support. Defaults to `\"gaslessqWalletExecute\"`. Fees\n * are **not** keyed from it — they come from the inner call selectors.\n */\n operationType?: string;\n /** Non-secret client correlation data stored with the request. */\n metadata?: Record<string, unknown>;\n }\n>;\n\n/** Return type of {@link gaslessWalletExecute}. */\nexport type GaslessWalletExecuteReturnType = GaslessSubmitReceipt;\n\n/**\n * Run **any contract call from the deterministic gasless wallet**, with no\n * native gas — an atomic batch of arbitrary `{ target, value, data }` calls\n * relayed by GaslessQ. Nothing in the SDK or the relayer restricts the inner\n * targets or selectors; authority comes from the owner's EIP-712 signature and\n * the wallet can only ever be moved by its owner.\n *\n * Give each call either raw `data` or an `{ abi, functionName, args }` triple\n * the SDK encodes; the two forms mix freely in one batch. Typical uses are a\n * collateral exit (a finalized withdrawal routed to the wallet), or an ERC-20\n * `approve` followed by a bridge or router call.\n *\n * **The wallet's own balance never pays the fee.** The GaslessLayer prices the\n * operation from the **inner** call selectors and charges it to the SYMMIO\n * account's collateral, bounded by its diamond-side operational-fee allowance;\n * a per-account daily free quota can waive it. Collateral parked at the wallet\n * is not a funding source for gas.\n *\n * The signature scheme is deliberately different from ordinary operations:\n * - `callData` is `GaslessWallet.execute((address,uint256,bytes)[])` (selector\n * `0x3f707e6b`) and the operation's `target` is the **wallet** address;\n * - the EIP-712 domain is the **gateway** domain (`\"GaslessGateway\"`, with the\n * GaslessLayer as `verifyingContract`);\n * - the signed struct has five fields (no `flexFields`, no `maxUses`) — the\n * relay body still carries `flexFields: []` / `maxUses: 1`, appended after\n * signing;\n * - the nonce comes from `walletOperationNonces(owner, walletId, signerAccount) + 1`,\n * a separate counter from InstantLayer nonces, and a separate stream per wallet id;\n * - `signerAccount.addr` defaults to the **owner wallet itself**; pass a\n * sub-account through `signerAccount` to sign with a session key.\n *\n * **Session keys.** A signer that is not the wallet's owner must hold\n * InstantLayer delegations for the wallet-execution sentinel **and every inner\n * call selector** — build them with `getGaslessWalletExecuteSelectors`. Because\n * a delegation can only be granted on an account the AccountLayer knows an\n * owner for, the delegation lives on a **sub-account**, which you then pass as\n * `signerAccount`; the wallet it resolves to is unchanged. A missing grant\n * throws `GASLESS_SIGNER_NOT_DELEGATED` before the signature prompt (disable\n * with `execution.preflightDelegation: false`).\n *\n * Fire-and-forget: persist the returned `requestId` and poll to a terminal\n * status. React consumers should reach for `useGaslessWalletExecute`, which\n * confirms the request before it resolves.\n *\n * @param config - The SDK config (must have a `getWalletClient` resolver).\n * @param parameters - The calls, optional wallet id and owner/chain/signer/label overrides.\n * @returns The acceptance receipt; persist `requestId`, `owner` and `walletIds` immediately.\n * @throws {SymmError} `GASLESS_NOT_CONFIGURED` / `GASLESS_UNSUPPORTED_CONTRACTS_VERSION` /\n * `GASLESS_WALLET_UNAVAILABLE`.\n * @throws {SymmError} `GASLESS_WALLET_ID_INVALID` for a wallet id outside the `uint256` range.\n * @throws {SymmError} `GASLESS_WALLET_OWNER_MISMATCH` when an explicit `owner` does not own\n * `signerAccount` — thrown before the signature prompt.\n * @throws {SymmError} `GASLESS_SIGNER_NOT_DELEGATED` when a non-owner signer is\n * missing a delegation for the sentinel or an inner selector.\n * @throws {SymmError} `GASLESS_NONCE_STREAM_BUSY` when an earlier relay on this\n * `(walletId, signerAccount)` stream is still unaccounted for.\n * @throws {SymmApiError} `GASLESS_RELAY_SUBMIT_FAILED` on HTTP failure —\n * `InvalidWalletOperationTarget` in the decoded revert means the operation's\n * target was not the owner's wallet.\n * @throws {SymmApiError} `GASLESS_SUBMIT_UNCONFIRMED` when the outcome could not be\n * established. The signature is spent either way: replay the submit with\n * `resubmitGaslessRequest`, never by signing a new operation.\n *\n * @example\n * ```ts\n * // Approve a router, then call it — one atomic, gas-free batch.\n * const receipt = await gaslessWalletExecute(config, {\n * calls: [\n * { target: usdc, abi: erc20Abi, functionName: \"approve\", args: [router, amount] },\n * { target: router, data: routeCalldata },\n * ],\n * operationType: \"bridgeWithdraw\",\n * });\n * ```\n */\nexport async function gaslessWalletExecute(\n config: Config,\n parameters: GaslessWalletExecuteParameters,\n): Promise<GaslessWalletExecuteReturnType> {\n const { chainId, calls, from, metadata } = parameters;\n const walletId = assertGaslessWalletId(parameters.walletId ?? 0n);\n\n const chain = config.getChainConfig(chainId);\n const context = resolveGaslessHttp(config, { chainId, service: \"operations\" });\n const walletClient = await config.getWalletClient({ chainId, from });\n const signer = walletClient.account.address;\n\n /**\n * `signedOp.signerAccount.addr`: the nonce key, the delegation scope, and the\n * billing identity. Defaults to `owner` so the owner-signed call is unchanged.\n */\n const account = parameters.signerAccount ?? parameters.owner ?? signer;\n\n /**\n * Without an explicit `signerAccount` the account is an owner EOA by\n * definition of this API, and the gateway's own resolution is the identity on\n * both counts — so skip two reads on the hot path rather than confirming what\n * cannot differ.\n */\n const { canonicalAccount, ownerWallet } =\n parameters.signerAccount === undefined\n ? { canonicalAccount: account, ownerWallet: parameters.owner ?? account }\n : await resolveGaslessWalletIdentities(config, { chainId, account });\n\n /**\n * An explicit `owner` that is not the one the GaslessLayer resolves for\n * `signerAccount` would sign a `target` the contract never checks against:\n * the wallet comes from `ownerOf(signerAccount)` on execution, so the\n * operation would revert with `InvalidWalletOperationTarget` after the user\n * paid for a prompt. Fail before the signature instead.\n */\n if (parameters.owner !== undefined && !isAddressEqual(parameters.owner, ownerWallet)) {\n throw new SymmError(\n \"validation\",\n \"GASLESS_WALLET_OWNER_MISMATCH\",\n `Gasless: owner ${parameters.owner} does not own signerAccount ${account}, whose wallet belongs to ${ownerWallet}. The GaslessLayer derives the wallet from the signer account's owner, so drop \\`owner\\` or pass the signer account that ${parameters.owner} owns.`,\n );\n }\n const owner = parameters.owner ?? ownerWallet;\n\n /** Encoded before any network work, so a malformed ABI call throws up front. */\n const callData = encodeFunctionData({\n abi: gaslessWalletAbi,\n functionName: \"execute\",\n args: [calls.map(toWalletCallTuple)],\n });\n\n /**\n * A signer that is not the wallet's owner is a delegate, and the GaslessLayer\n * demands an active delegation for the wallet-execution sentinel **and every\n * inner selector**. Probing here turns a relayer-side\n * `WalletDelegationMissing` into a local error that names the missing\n * selectors, before the user is asked to sign anything.\n */\n if ((chain.gasless?.execution?.preflightDelegation ?? true) && !isAddressEqual(signer, owner)) {\n const required = getGaslessWalletExecuteSelectors(calls);\n const active = await Promise.all(\n required.map((selector) =>\n getIsDelegationActive(config, { chainId, account: canonicalAccount, delegate: signer, selector }),\n ),\n );\n const missing = required.filter((_, index) => !active[index]);\n if (missing.length > 0) {\n throw new SymmError(\n \"validation\",\n \"GASLESS_SIGNER_NOT_DELEGATED\",\n `Gasless: ${signer} holds no delegation from ${canonicalAccount} for ${missing.join(\", \")}. Grant getGaslessWalletExecuteSelectors(calls) to the key, on a sub-account — an owner EOA cannot be a delegator.`,\n );\n }\n }\n\n const streamKey = gaslessWalletNonceStreamKey(chain.chainId, walletId, owner, account);\n\n return withGaslessNonceLock(config, streamKey, async () => {\n const [wallet, currentNonce] = await Promise.all([\n getGaslessWalletAddress(config, { chainId, owner, walletId }),\n readGaslessStreamNonce(config, streamKey, () =>\n getGaslessWalletNonce(config, { chainId, owner, walletId, account }),\n ),\n ]);\n\n const replayAttackHeader = {\n nonce: currentNonce + 1n,\n deadline: BigInt(Math.floor(Date.now() / 1000) + GASLESS_WALLET_OPERATION_DEADLINE_SECONDS),\n salt: generateSalt(),\n };\n\n /** The 5-field gateway-domain struct — exactly what gets signed. */\n const message = {\n signer,\n target: wallet,\n callData,\n signerAccount: { addr: account, isPartyB: false },\n replayAttackHeader,\n };\n\n const signature = await walletClient.signTypedData({\n account: walletClient.account,\n domain: getGaslessGatewayEip712Domain(config, { chainId }),\n types: GASLESS_WALLET_OPERATION_TYPES,\n primaryType: \"SignedOperation\",\n message,\n });\n\n /** The wire twin of the signed struct: uint256 fields become JSON numbers. */\n const wireOperation = {\n signer: message.signer,\n target: message.target,\n callData: message.callData,\n signerAccount: message.signerAccount,\n replayAttackHeader: {\n nonce: toGaslessSafeNumber(replayAttackHeader.nonce, \"replayAttackHeader.nonce\"),\n deadline: toGaslessSafeNumber(replayAttackHeader.deadline, \"replayAttackHeader.deadline\"),\n salt: replayAttackHeader.salt,\n },\n };\n\n /**\n * Minted here, never taken from the caller: this action signs a fresh\n * operation on every call, so a key the caller could reuse would describe a\n * different payload than the one it first keyed and the service would\n * answer `409 IDEMPOTENCY_KEY_CONFLICT`. Replaying a lost response is\n * `resubmitGaslessRequest`'s job, which reuses this key with the bytes that\n * went with it.\n */\n const idempotencyKey = generateGaslessIdempotencyKey();\n const body: GaslessWireRelayInstantRequest = {\n idempotencyKey,\n userAddress: owner,\n accountId: account,\n operationType: parameters.operationType ?? GASLESS_WALLET_EXECUTE_OPERATION_TYPE,\n /** Transport-only fields (`flexFields`, `maxUses`) the signature deliberately excludes. */\n signedOps: [{ ...wireOperation, flexFields: [], maxUses: 1 }],\n signatures: [signature],\n walletIds: [toGaslessWalletIdWire(walletId)],\n fills: [[]],\n flexFillerSignatures: [[]],\n ...(metadata !== undefined ? { metadata } : {}),\n };\n\n return submitOnGaslessNonceStream(\n config,\n streamKey,\n {\n signedNonce: replayAttackHeader.nonce,\n service: \"operations\",\n chainId: chain.chainId,\n deadline: replayAttackHeader.deadline,\n },\n async () => {\n const raw = await postGaslessSubmit<GaslessWireOperationAccepted>(\n context,\n \"/gateway/relay-instant\",\n body,\n idempotencyKey,\n );\n return toGaslessSubmitReceipt(raw, {\n owner,\n walletIds: [walletId],\n idempotencyKey,\n protocolInstance: context.protocolInstance,\n });\n },\n blocksGaslessNonceStream,\n );\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA4BA,IAAM,IAA4C,KAOrC,IAAwC;AA8IrD,eAAsB,EACpB,GACA,GACyC;CACzC,IAAM,EAAE,YAAS,UAAO,SAAM,gBAAa,GACrC,IAAW,EAAsB,EAAW,YAAY,EAAE,GAE1D,IAAQ,EAAO,eAAe,CAAO,GACrC,IAAU,EAAmB,GAAQ;EAAE;EAAS,SAAS;CAAa,CAAC,GACvE,IAAe,MAAM,EAAO,gBAAgB;EAAE;EAAS;CAAK,CAAC,GAC7D,IAAS,EAAa,QAAQ,SAM9B,IAAU,EAAW,iBAAiB,EAAW,SAAS,GAQ1D,EAAE,qBAAkB,mBACxB,EAAW,kBAAkB,KAAA,IACzB;EAAE,kBAAkB;EAAS,aAAa,EAAW,SAAS;CAAQ,IACtE,MAAM,EAA+B,GAAQ;EAAE;EAAS;CAAQ,CAAC;CASvE,IAAI,EAAW,UAAU,KAAA,KAAa,CAAC,EAAe,EAAW,OAAO,CAAW,GACjF,MAAM,IAAI,EACR,cACA,iCACA,kBAAkB,EAAW,MAAM,8BAA8B,EAAQ,4BAA4B,EAAY,2HAA2H,EAAW,MAAM,OAC/P;CAEF,IAAM,IAAQ,EAAW,SAAS,GAG5B,IAAW,EAAmB;EAClC,KAAK;EACL,cAAc;EACd,MAAM,CAAC,EAAM,IAAI,CAAiB,CAAC;CACrC,CAAC;CASD,KAAK,EAAM,SAAS,WAAW,uBAAuB,OAAS,CAAC,EAAe,GAAQ,CAAK,GAAG;EAC7F,IAAM,IAAW,EAAiC,CAAK,GACjD,IAAS,MAAM,QAAQ,IAC3B,EAAS,KAAK,MACZ,EAAsB,GAAQ;GAAE;GAAS,SAAS;GAAkB,UAAU;GAAQ;EAAS,CAAC,CAClG,CACF,GACM,IAAU,EAAS,QAAQ,GAAG,MAAU,CAAC,EAAO,EAAM;EAC5D,IAAI,EAAQ,SAAS,GACnB,MAAM,IAAI,EACR,cACA,gCACA,YAAY,EAAO,4BAA4B,EAAiB,OAAO,EAAQ,KAAK,IAAI,EAAE,mHAC5F;CAEJ;CAEA,IAAM,IAAY,EAA4B,EAAM,SAAS,GAAU,GAAO,CAAO;CAErF,OAAO,EAAqB,GAAQ,GAAW,YAAY;EACzD,IAAM,CAAC,GAAQ,KAAgB,MAAM,QAAQ,IAAI,CAC/C,EAAwB,GAAQ;GAAE;GAAS;GAAO;EAAS,CAAC,GAC5D,EAAuB,GAAQ,SAC7B,EAAsB,GAAQ;GAAE;GAAS;GAAO;GAAU;EAAQ,CAAC,CACrE,CACF,CAAC,GAEK,IAAqB;GACzB,OAAO,IAAe;GACtB,UAAU,OAAO,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI,IAAI,CAAyC;GAC1F,MAAM,EAAa;EACrB,GAGM,IAAU;GACd;GACA,QAAQ;GACR;GACA,eAAe;IAAE,MAAM;IAAS,UAAU;GAAM;GAChD;EACF,GAEM,IAAY,MAAM,EAAa,cAAc;GACjD,SAAS,EAAa;GACtB,QAAQ,EAA8B,GAAQ,EAAE,WAAQ,CAAC;GACzD,OAAO;GACP,aAAa;GACb;EACF,CAAC,GAGK,IAAgB;GACpB,QAAQ,EAAQ;GAChB,QAAQ,EAAQ;GAChB,UAAU,EAAQ;GAClB,eAAe,EAAQ;GACvB,oBAAoB;IAClB,OAAO,EAAoB,EAAmB,OAAO,0BAA0B;IAC/E,UAAU,EAAoB,EAAmB,UAAU,6BAA6B;IACxF,MAAM,EAAmB;GAC3B;EACF,GAUM,IAAiB,EAA8B,GAC/C,IAAuC;GAC3C;GACA,aAAa;GACb,WAAW;GACX,eAAe,EAAW,iBAAA;GAE1B,WAAW,CAAC;IAAE,GAAG;IAAe,YAAY,CAAC;IAAG,SAAS;GAAE,CAAC;GAC5D,YAAY,CAAC,CAAS;GACtB,WAAW,CAAC,EAAsB,CAAQ,CAAC;GAC3C,OAAO,CAAC,CAAC,CAAC;GACV,sBAAsB,CAAC,CAAC,CAAC;GACzB,GAAI,MAAa,KAAA,IAA2B,CAAC,IAAhB,EAAE,YAAS;EAC1C;EAEA,OAAO,EACL,GACA,GACA;GACE,aAAa,EAAmB;GAChC,SAAS;GACT,SAAS,EAAM;GACf,UAAU,EAAmB;EAC/B,GACA,YAOS,EAAuB,MANZ,EAChB,GACA,0BACA,GACA,CACF,GACmC;GACjC;GACA,WAAW,CAAC,CAAQ;GACpB;GACA,kBAAkB,EAAQ;EAC5B,CAAC,GAEH,CACF;CACF,CAAC;AACH"}
@@ -0,0 +1,5 @@
1
+ export * from './calls.js';
2
+ export * from './gasless-wallet-execute.js';
3
+ export * from './query.js';
4
+ export * from './selectors.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gasless/gasless-wallet-execute/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,0BAA0B,CAAC;AACzC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { Config } from '../../core/config/index.js';
2
+ import { GaslessWalletExecuteParameters, GaslessWalletExecuteReturnType } from './gasless-wallet-execute.js';
3
+ /**
4
+ * Build TanStack Mutation options for {@link gaslessWalletExecute}.
5
+ *
6
+ * @param config - The SDK config.
7
+ * @returns Options to pass to `useMutation`.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * useMutation(gaslessWalletExecuteMutationOptions(config));
12
+ * ```
13
+ */
14
+ export declare function gaslessWalletExecuteMutationOptions(config: Config): {
15
+ mutationKey: readonly ["gaslessWalletExecute"];
16
+ mutationFn: (variables: GaslessWalletExecuteParameters) => Promise<GaslessWalletExecuteReturnType>;
17
+ };
18
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/gasless/gasless-wallet-execute/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAEL,KAAK,8BAA8B,EACnC,KAAK,8BAA8B,EACpC,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;GAUG;AACH,wBAAgB,mCAAmC,CAAC,MAAM,EAAE,MAAM;;4BAGtC,8BAA8B,KAAG,OAAO,CAAC,8BAA8B,CAAC;EAGnG"}
@@ -0,0 +1,12 @@
1
+ import { gaslessWalletExecute as e } from "./gasless-wallet-execute.js";
2
+ //#region src/gasless/gasless-wallet-execute/query.ts
3
+ function t(t) {
4
+ return {
5
+ mutationKey: ["gaslessWalletExecute"],
6
+ mutationFn: (n) => e(t, n)
7
+ };
8
+ }
9
+ //#endregion
10
+ export { t as gaslessWalletExecuteMutationOptions };
11
+
12
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","names":[],"sources":["../../../src/gasless/gasless-wallet-execute/query.ts"],"sourcesContent":["import type { Config } from \"../../core/config\";\nimport {\n gaslessWalletExecute,\n type GaslessWalletExecuteParameters,\n type GaslessWalletExecuteReturnType,\n} from \"./gasless-wallet-execute\";\n\n/**\n * Build TanStack Mutation options for {@link gaslessWalletExecute}.\n *\n * @param config - The SDK config.\n * @returns Options to pass to `useMutation`.\n *\n * @example\n * ```ts\n * useMutation(gaslessWalletExecuteMutationOptions(config));\n * ```\n */\nexport function gaslessWalletExecuteMutationOptions(config: Config) {\n return {\n mutationKey: [\"gaslessWalletExecute\"] as const,\n mutationFn: (variables: GaslessWalletExecuteParameters): Promise<GaslessWalletExecuteReturnType> =>\n gaslessWalletExecute(config, variables),\n };\n}\n"],"mappings":";;AAkBA,SAAgB,EAAoC,GAAgB;CAClE,OAAO;EACL,aAAa,CAAC,sBAAsB;EACpC,aAAa,MACX,EAAqB,GAAQ,CAAS;CAC1C;AACF"}
@@ -0,0 +1,38 @@
1
+ import { Hex } from 'viem';
2
+ import { GaslessWalletCall } from './calls.js';
3
+ /**
4
+ * The exact selector set a session key must hold to run `calls` from the
5
+ * gasless wallet: the wallet-execution sentinel plus every inner call's
6
+ * selector, lowercased and de-duplicated.
7
+ *
8
+ * The GaslessLayer checks **each inner selector individually** on top of the
9
+ * sentinel — granting only the sentinel, or only the `execute` wrapper, is not
10
+ * enough. Build the batch first, then grant exactly what it needs.
11
+ *
12
+ * The delegation must be granted on a **sub-account**, not on the owner EOA:
13
+ * `grantDelegation` is `onlyAccountOwner`, and the AccountLayer knows no owner
14
+ * for a bare EOA, so an EOA delegator can never be authorized. Pass that same
15
+ * sub-account as `gaslessWalletExecute`'s `signerAccount`.
16
+ *
17
+ * Values are `bytes4` hex. `grantDelegation` rejects a duplicate-bearing array,
18
+ * which is why this de-duplicates.
19
+ *
20
+ * @param calls - The batch the session key must be able to run.
21
+ * @returns The selector set to grant, sentinel first.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * const calls = [{ target: usdc, abi: erc20Abi, functionName: "transfer", args: [to, amount] }];
26
+ *
27
+ * await grantDelegation(config, {
28
+ * account: { addr: subAccount, isPartyB: false },
29
+ * delegatedSigner: sessionKey,
30
+ * selectors: getGaslessWalletExecuteSelectors(calls),
31
+ * expiryTimestamp,
32
+ * });
33
+ *
34
+ * await gaslessWalletExecute(config, { calls, signerAccount: subAccount, from: sessionKey });
35
+ * ```
36
+ */
37
+ export declare function getGaslessWalletExecuteSelectors(calls: readonly GaslessWalletCall[]): readonly Hex[];
38
+ //# sourceMappingURL=selectors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../../src/gasless/gasless-wallet-execute/selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,EAA6B,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,GAAG,SAAS,GAAG,EAAE,CAepG"}
@@ -0,0 +1,15 @@
1
+ import { GASLESS_WALLET_EXECUTION_SENTINEL_SELECTOR as e } from "../constants.js";
2
+ import { gaslessWalletCallSelector as t } from "./calls.js";
3
+ //#region src/gasless/gasless-wallet-execute/selectors.ts
4
+ function n(n) {
5
+ let r = /* @__PURE__ */ new Set(), i = [];
6
+ for (let a of [e, ...n.map((e) => t(e))]) {
7
+ let e = a.toLowerCase();
8
+ r.has(e) || (r.add(e), i.push(e));
9
+ }
10
+ return i;
11
+ }
12
+ //#endregion
13
+ export { n as getGaslessWalletExecuteSelectors };
14
+
15
+ //# sourceMappingURL=selectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors.js","names":[],"sources":["../../../src/gasless/gasless-wallet-execute/selectors.ts"],"sourcesContent":["import type { Hex } from \"viem\";\nimport { GASLESS_WALLET_EXECUTION_SENTINEL_SELECTOR } from \"../constants\";\nimport { gaslessWalletCallSelector, type GaslessWalletCall } from \"./calls\";\n\n/**\n * The exact selector set a session key must hold to run `calls` from the\n * gasless wallet: the wallet-execution sentinel plus every inner call's\n * selector, lowercased and de-duplicated.\n *\n * The GaslessLayer checks **each inner selector individually** on top of the\n * sentinel — granting only the sentinel, or only the `execute` wrapper, is not\n * enough. Build the batch first, then grant exactly what it needs.\n *\n * The delegation must be granted on a **sub-account**, not on the owner EOA:\n * `grantDelegation` is `onlyAccountOwner`, and the AccountLayer knows no owner\n * for a bare EOA, so an EOA delegator can never be authorized. Pass that same\n * sub-account as `gaslessWalletExecute`'s `signerAccount`.\n *\n * Values are `bytes4` hex. `grantDelegation` rejects a duplicate-bearing array,\n * which is why this de-duplicates.\n *\n * @param calls - The batch the session key must be able to run.\n * @returns The selector set to grant, sentinel first.\n *\n * @example\n * ```ts\n * const calls = [{ target: usdc, abi: erc20Abi, functionName: \"transfer\", args: [to, amount] }];\n *\n * await grantDelegation(config, {\n * account: { addr: subAccount, isPartyB: false },\n * delegatedSigner: sessionKey,\n * selectors: getGaslessWalletExecuteSelectors(calls),\n * expiryTimestamp,\n * });\n *\n * await gaslessWalletExecute(config, { calls, signerAccount: subAccount, from: sessionKey });\n * ```\n */\nexport function getGaslessWalletExecuteSelectors(calls: readonly GaslessWalletCall[]): readonly Hex[] {\n const seen = new Set<Hex>();\n const unique: Hex[] = [];\n\n for (const selector of [\n GASLESS_WALLET_EXECUTION_SENTINEL_SELECTOR as Hex,\n ...calls.map((call) => gaslessWalletCallSelector(call)),\n ]) {\n const normalized = selector.toLowerCase() as Hex;\n if (seen.has(normalized)) continue;\n seen.add(normalized);\n unique.push(normalized);\n }\n\n return unique;\n}\n"],"mappings":";;;AAsCA,SAAgB,EAAiC,GAAqD;CACpG,IAAM,oBAAO,IAAI,IAAS,GACpB,IAAgB,CAAC;CAEvB,KAAK,IAAM,KAAY,CACrB,GACA,GAAG,EAAM,KAAK,MAAS,EAA0B,CAAI,CAAC,CACxD,GAAG;EACD,IAAM,IAAa,EAAS,YAAY;EACpC,EAAK,IAAI,CAAU,MACvB,EAAK,IAAI,CAAU,GACnB,EAAO,KAAK,CAAU;CACxB;CAEA,OAAO;AACT"}
@@ -0,0 +1,72 @@
1
+ import { Address } from 'viem';
2
+ import { Config } from '../../core/config/index.js';
3
+ import { ChainIdParameter, Compute } from '../../shared/types/properties.js';
4
+ import { GaslessBatchCall } from '../batch/calls.js';
5
+ import { GaslessFeeQuote } from '../types.js';
6
+ /**
7
+ * Parameters for {@link getGaslessBatchFeeQuote}.
8
+ */
9
+ export type GetGaslessBatchFeeQuoteParameters = Compute<ChainIdParameter & {
10
+ /**
11
+ * The sub-account every operation runs under — the account `relayGaslessBatch`
12
+ * would relay with. It decides the billing account (a virtual account bills
13
+ * its parent) and, for GaslessWallet entries, which owner's wallets execute.
14
+ */
15
+ account: Address;
16
+ /**
17
+ * The batch, in relay order. Quote the whole batch rather than one call at a
18
+ * time: free-quota slots and first-use wallet creation fees are allocated
19
+ * across it.
20
+ */
21
+ calls: readonly GaslessBatchCall[];
22
+ }>;
23
+ /** Return type of {@link getGaslessBatchFeeQuote}. */
24
+ export type GetGaslessBatchFeeQuoteReturnType = GaslessFeeQuote;
25
+ /**
26
+ * Preview what {@link relayGaslessBatch} would charge for the same calls —
27
+ * before any signature prompt, and without building a single operation by hand.
28
+ *
29
+ * The calls are resolved exactly as the relay resolves them, encoded as the
30
+ * `relayInstantBatch` call the relayer submits, and priced by the GaslessLayer's
31
+ * `previewFeeQuote`. The preview never checks nonces, deadlines, salts or
32
+ * signatures, so they are fixed placeholders here: the result depends only on
33
+ * the account and the calls, and caches cleanly.
34
+ *
35
+ * The quote is one row per call in `payments` (a GaslessWallet entry is one
36
+ * row, priced by its inner call selectors), with `totalFee18` the batch total.
37
+ * Every amount is 18-decimal. Group rows by `payer` and `source` to tell the
38
+ * user which balance pays: a relayed batch is charged to the SYMMIO account's
39
+ * Core balance, bounded by its operational-fee allowance, never to the wallet.
40
+ *
41
+ * It is a preview, not a guarantee: `exact` is always `false`, and an approval
42
+ * or a transfer inside the batch can change the final fee or its payer. It does
43
+ * not check that the payer can afford it — the relayer's own simulation is
44
+ * authoritative.
45
+ *
46
+ * @param config - The SDK config.
47
+ * @param parameters - The account, the batch, and an optional chain id.
48
+ * @returns The fee quote.
49
+ * @throws {SymmError} `GASLESS_NOT_CONFIGURED` / `GASLESS_UNSUPPORTED_CONTRACTS_VERSION`.
50
+ * @throws {SymmError} `GASLESS_EMPTY_BATCH`, `GASLESS_NOT_RELAYABLE` or `GASLESS_WALLET_ID_INVALID`
51
+ * for a batch the relay could not carry — before any RPC call.
52
+ * @throws {SymmError} `GASLESS_FREE_QUOTA_EXHAUSTED`, `GASLESS_FEE_QUOTE_REVERTED` or
53
+ * `GASLESS_LAYER_INTERFACE_UNSUPPORTED`, exactly as {@link getGaslessFeeQuote} does.
54
+ * @throws Viem's encoding error when an ABI-level call does not encode, and viem transport errors.
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * import { getGaslessBatchFeeQuote } from "@symmio/trading-core";
59
+ * import { formatUnits } from "viem";
60
+ *
61
+ * const quote = await getGaslessBatchFeeQuote(config, {
62
+ * account: subAccount,
63
+ * calls: [
64
+ * { functionName: "allocate", args: [amount] },
65
+ * { functionName: "editAccountName", args: [subAccount, "Main"] },
66
+ * ],
67
+ * });
68
+ * formatUnits(quote.totalFee18, 18); // "0.1"
69
+ * ```
70
+ */
71
+ export declare function getGaslessBatchFeeQuote(config: Config, parameters: GetGaslessBatchFeeQuoteParameters): Promise<GetGaslessBatchFeeQuoteReturnType>;
72
+ //# sourceMappingURL=get-gasless-batch-fee-quote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-gasless-batch-fee-quote.d.ts","sourceRoot":"","sources":["../../../src/gasless/get-gasless-batch-fee-quote/get-gasless-batch-fee-quote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAUvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAAG,OAAO,CACrD,gBAAgB,GAAG;IACjB;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACpC,CACF,CAAC;AAEF,sDAAsD;AACtD,MAAM,MAAM,iCAAiC,GAAG,eAAe,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,iCAAiC,GAC5C,OAAO,CAAC,iCAAiC,CAAC,CAkC5C"}
@@ -0,0 +1,42 @@
1
+ import { resolveGaslessService as e } from "../resolve-gasless.js";
2
+ import { getGaslessFeeQuote as t } from "../get-gasless-fee-quote/get-gasless-fee-quote.js";
3
+ import { resolveGaslessWalletIdentities as n } from "../resolve-wallet-identities.js";
4
+ import { buildGaslessBatchOperations as r, distinctGaslessBatchWalletIds as i, readGaslessBatchWalletTargets as a, resolveGaslessBatchEntries as o } from "../batch/resolve-gasless-batch.js";
5
+ import { zeroAddress as s, zeroHash as c } from "viem";
6
+ //#region src/gasless/get-gasless-batch-fee-quote/get-gasless-batch-fee-quote.ts
7
+ async function l(l, u) {
8
+ let { account: d, calls: f } = u;
9
+ e(l, { chainId: u.chainId });
10
+ let p = l.getChainConfig(u.chainId), m = p.chainId, h = o(p.addresses, f), g = i(h), _ = /* @__PURE__ */ new Map();
11
+ if (g.length > 0) {
12
+ let { ownerWallet: e } = await n(l, {
13
+ chainId: m,
14
+ account: d
15
+ });
16
+ _ = await a(l, {
17
+ chainId: m,
18
+ owner: e,
19
+ walletIds: g
20
+ });
21
+ }
22
+ let v = r(h, {
23
+ signer: s,
24
+ account: d,
25
+ deadline: 0n,
26
+ instantNonce: 0n,
27
+ walletTargets: _,
28
+ walletNonces: /* @__PURE__ */ new Map(),
29
+ salt: () => c
30
+ });
31
+ return t(l, {
32
+ chainId: m,
33
+ operations: v.operations.map((e, t) => ({
34
+ operation: e,
35
+ walletId: v.walletIds[t]
36
+ }))
37
+ });
38
+ }
39
+ //#endregion
40
+ export { l as getGaslessBatchFeeQuote };
41
+
42
+ //# sourceMappingURL=get-gasless-batch-fee-quote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-gasless-batch-fee-quote.js","names":[],"sources":["../../../src/gasless/get-gasless-batch-fee-quote/get-gasless-batch-fee-quote.ts"],"sourcesContent":["import { zeroAddress, zeroHash, type Address } from \"viem\";\nimport type { Config } from \"../../core/config\";\nimport type { ChainIdParameter, Compute } from \"../../shared/types/properties\";\nimport type { GaslessBatchCall } from \"../batch/calls\";\nimport {\n buildGaslessBatchOperations,\n distinctGaslessBatchWalletIds,\n readGaslessBatchWalletTargets,\n resolveGaslessBatchEntries,\n} from \"../batch/resolve-gasless-batch\";\nimport { getGaslessFeeQuote } from \"../get-gasless-fee-quote/get-gasless-fee-quote\";\nimport { resolveGaslessService } from \"../resolve-gasless\";\nimport { resolveGaslessWalletIdentities } from \"../resolve-wallet-identities\";\nimport type { GaslessFeeQuote } from \"../types\";\n\n/**\n * Parameters for {@link getGaslessBatchFeeQuote}.\n */\nexport type GetGaslessBatchFeeQuoteParameters = Compute<\n ChainIdParameter & {\n /**\n * The sub-account every operation runs under — the account `relayGaslessBatch`\n * would relay with. It decides the billing account (a virtual account bills\n * its parent) and, for GaslessWallet entries, which owner's wallets execute.\n */\n account: Address;\n /**\n * The batch, in relay order. Quote the whole batch rather than one call at a\n * time: free-quota slots and first-use wallet creation fees are allocated\n * across it.\n */\n calls: readonly GaslessBatchCall[];\n }\n>;\n\n/** Return type of {@link getGaslessBatchFeeQuote}. */\nexport type GetGaslessBatchFeeQuoteReturnType = GaslessFeeQuote;\n\n/**\n * Preview what {@link relayGaslessBatch} would charge for the same calls —\n * before any signature prompt, and without building a single operation by hand.\n *\n * The calls are resolved exactly as the relay resolves them, encoded as the\n * `relayInstantBatch` call the relayer submits, and priced by the GaslessLayer's\n * `previewFeeQuote`. The preview never checks nonces, deadlines, salts or\n * signatures, so they are fixed placeholders here: the result depends only on\n * the account and the calls, and caches cleanly.\n *\n * The quote is one row per call in `payments` (a GaslessWallet entry is one\n * row, priced by its inner call selectors), with `totalFee18` the batch total.\n * Every amount is 18-decimal. Group rows by `payer` and `source` to tell the\n * user which balance pays: a relayed batch is charged to the SYMMIO account's\n * Core balance, bounded by its operational-fee allowance, never to the wallet.\n *\n * It is a preview, not a guarantee: `exact` is always `false`, and an approval\n * or a transfer inside the batch can change the final fee or its payer. It does\n * not check that the payer can afford it — the relayer's own simulation is\n * authoritative.\n *\n * @param config - The SDK config.\n * @param parameters - The account, the batch, and an optional chain id.\n * @returns The fee quote.\n * @throws {SymmError} `GASLESS_NOT_CONFIGURED` / `GASLESS_UNSUPPORTED_CONTRACTS_VERSION`.\n * @throws {SymmError} `GASLESS_EMPTY_BATCH`, `GASLESS_NOT_RELAYABLE` or `GASLESS_WALLET_ID_INVALID`\n * for a batch the relay could not carry — before any RPC call.\n * @throws {SymmError} `GASLESS_FREE_QUOTA_EXHAUSTED`, `GASLESS_FEE_QUOTE_REVERTED` or\n * `GASLESS_LAYER_INTERFACE_UNSUPPORTED`, exactly as {@link getGaslessFeeQuote} does.\n * @throws Viem's encoding error when an ABI-level call does not encode, and viem transport errors.\n *\n * @example\n * ```ts\n * import { getGaslessBatchFeeQuote } from \"@symmio/trading-core\";\n * import { formatUnits } from \"viem\";\n *\n * const quote = await getGaslessBatchFeeQuote(config, {\n * account: subAccount,\n * calls: [\n * { functionName: \"allocate\", args: [amount] },\n * { functionName: \"editAccountName\", args: [subAccount, \"Main\"] },\n * ],\n * });\n * formatUnits(quote.totalFee18, 18); // \"0.1\"\n * ```\n */\nexport async function getGaslessBatchFeeQuote(\n config: Config,\n parameters: GetGaslessBatchFeeQuoteParameters,\n): Promise<GetGaslessBatchFeeQuoteReturnType> {\n const { account, calls } = parameters;\n resolveGaslessService(config, { chainId: parameters.chainId });\n const chain = config.getChainConfig(parameters.chainId);\n const chainId = chain.chainId;\n\n const entries = resolveGaslessBatchEntries(chain.addresses, calls);\n const walletIds = distinctGaslessBatchWalletIds(entries);\n\n /**\n * A wallet entry's signed target must be the real wallet address — the\n * preview rejects any other with `InvalidWalletOperationTarget` — so only a\n * batch with wallet entries pays for the owner and address reads.\n */\n let walletTargets = new Map<bigint, Address>();\n if (walletIds.length > 0) {\n const { ownerWallet } = await resolveGaslessWalletIdentities(config, { chainId, account });\n walletTargets = await readGaslessBatchWalletTargets(config, { chainId, owner: ownerWallet, walletIds });\n }\n\n const built = buildGaslessBatchOperations(entries, {\n signer: zeroAddress,\n account,\n deadline: 0n,\n instantNonce: 0n,\n walletTargets,\n walletNonces: new Map(),\n salt: () => zeroHash,\n });\n\n return getGaslessFeeQuote(config, {\n chainId,\n operations: built.operations.map((operation, index) => ({ operation, walletId: built.walletIds[index] })),\n });\n}\n"],"mappings":";;;;;;AAoFA,eAAsB,EACpB,GACA,GAC4C;CAC5C,IAAM,EAAE,YAAS,aAAU;CAC3B,EAAsB,GAAQ,EAAE,SAAS,EAAW,QAAQ,CAAC;CAC7D,IAAM,IAAQ,EAAO,eAAe,EAAW,OAAO,GAChD,IAAU,EAAM,SAEhB,IAAU,EAA2B,EAAM,WAAW,CAAK,GAC3D,IAAY,EAA8B,CAAO,GAOnD,oBAAgB,IAAI,IAAqB;CAC7C,IAAI,EAAU,SAAS,GAAG;EACxB,IAAM,EAAE,mBAAgB,MAAM,EAA+B,GAAQ;GAAE;GAAS;EAAQ,CAAC;EACzF,IAAgB,MAAM,EAA8B,GAAQ;GAAE;GAAS,OAAO;GAAa;EAAU,CAAC;CACxG;CAEA,IAAM,IAAQ,EAA4B,GAAS;EACjD,QAAQ;EACR;EACA,UAAU;EACV,cAAc;EACd;EACA,8BAAc,IAAI,IAAI;EACtB,YAAY;CACd,CAAC;CAED,OAAO,EAAmB,GAAQ;EAChC;EACA,YAAY,EAAM,WAAW,KAAK,GAAW,OAAW;GAAE;GAAW,UAAU,EAAM,UAAU;EAAO,EAAE;CAC1G,CAAC;AACH"}
@@ -0,0 +1,3 @@
1
+ export * from './get-gasless-batch-fee-quote.js';
2
+ export * from './query.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gasless/get-gasless-batch-fee-quote/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,SAAS,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { Config } from '../../core/config/index.js';
2
+ import { Compute, ConfigKeyParameter, ExactPartial } from '../../shared/types/properties.js';
3
+ import { QueryParameter, SymmioQueryOptions } from '../../shared/types/query.js';
4
+ import { GetGaslessBatchFeeQuoteParameters, GetGaslessBatchFeeQuoteReturnType } from './get-gasless-batch-fee-quote.js';
5
+ /** Data resolved by the {@link getGaslessBatchFeeQuoteQueryOptions} query. */
6
+ export type GetGaslessBatchFeeQuoteData = GetGaslessBatchFeeQuoteReturnType;
7
+ /**
8
+ * Build the TanStack Query key for {@link getGaslessBatchFeeQuoteQueryOptions}.
9
+ *
10
+ * Each call is keyed by its **encoded calldata**, not its ABI: an
11
+ * `{ abi, functionName, args }` call and the raw `{ data }` it encodes to share
12
+ * one cache entry, and an omitted `walletId` / `value` keys as `0n`.
13
+ *
14
+ * @param options - Partial query parameters.
15
+ * @returns A stable, hashable query key.
16
+ */
17
+ export declare function getGaslessBatchFeeQuoteQueryKey(options?: Compute<ExactPartial<GetGaslessBatchFeeQuoteParameters> & ConfigKeyParameter>): readonly ["getGaslessBatchFeeQuote", Record<string, unknown>];
18
+ /** Query-key type produced by {@link getGaslessBatchFeeQuoteQueryKey}. */
19
+ export type GetGaslessBatchFeeQuoteQueryKey = ReturnType<typeof getGaslessBatchFeeQuoteQueryKey>;
20
+ /**
21
+ * Options accepted by {@link getGaslessBatchFeeQuoteQueryOptions}.
22
+ */
23
+ export type GetGaslessBatchFeeQuoteOptions = Compute<GetGaslessBatchFeeQuoteParameters & QueryParameter<GetGaslessBatchFeeQuoteData, Error, GetGaslessBatchFeeQuoteData, GetGaslessBatchFeeQuoteQueryKey>>;
24
+ /** TanStack Query options returned by {@link getGaslessBatchFeeQuoteQueryOptions}. */
25
+ export type GetGaslessBatchFeeQuoteQueryOptions = SymmioQueryOptions<GetGaslessBatchFeeQuoteData, Error, GetGaslessBatchFeeQuoteData, GetGaslessBatchFeeQuoteQueryKey>;
26
+ /**
27
+ * Build TanStack Query options for {@link getGaslessBatchFeeQuote}.
28
+ *
29
+ * The key covers the account, the chain and every call's encoded calldata, so
30
+ * changing an argument re-quotes instead of reusing a stale quote.
31
+ *
32
+ * @param config - The SDK config.
33
+ * @param options - Query parameters and TanStack overrides.
34
+ * @returns Options to pass to `useQuery` / `queryClient.fetchQuery`.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * useQuery(
39
+ * getGaslessBatchFeeQuoteQueryOptions(config, {
40
+ * account: subAccount,
41
+ * calls: [{ functionName: "allocate", args: [amount] }],
42
+ * }),
43
+ * );
44
+ * ```
45
+ */
46
+ export declare function getGaslessBatchFeeQuoteQueryOptions(config: Config, options: GetGaslessBatchFeeQuoteOptions): GetGaslessBatchFeeQuoteQueryOptions;
47
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/gasless/get-gasless-batch-fee-quote/query.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAUnF,OAAO,EAEL,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACvC,MAAM,+BAA+B,CAAC;AAEvC,8EAA8E;AAC9E,MAAM,MAAM,2BAA2B,GAAG,iCAAiC,CAAC;AAwC5E;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,OAAO,CAAC,YAAY,CAAC,iCAAiC,CAAC,GAAG,kBAAkB,CAAM,iEAM5F;AAED,0EAA0E;AAC1E,MAAM,MAAM,+BAA+B,GAAG,UAAU,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAEjG;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAClD,iCAAiC,GAC/B,cAAc,CAAC,2BAA2B,EAAE,KAAK,EAAE,2BAA2B,EAAE,+BAA+B,CAAC,CACnH,CAAC;AAEF,sFAAsF;AACtF,MAAM,MAAM,mCAAmC,GAAG,kBAAkB,CAClE,2BAA2B,EAC3B,KAAK,EACL,2BAA2B,EAC3B,+BAA+B,CAChC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,8BAA8B,GACtC,mCAAmC,CAWrC"}