@lendasat/lendaswap-sdk-pure 0.2.36 → 0.2.37

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.
@@ -223,6 +223,78 @@ export interface paths {
223
223
  patch?: never;
224
224
  trace?: never;
225
225
  };
226
+ "/dex-calldata/claim": {
227
+ parameters: {
228
+ query?: never;
229
+ header?: never;
230
+ path?: never;
231
+ cookie?: never;
232
+ };
233
+ get?: never;
234
+ put?: never;
235
+ /**
236
+ * Fetch fresh calldata for the **claim** flow.
237
+ * @description User redeems tBTC from the HTLC and swaps it for the foreign target
238
+ * landing on the same EOA. The server uses `recipient = sender`.
239
+ *
240
+ * Stateless — no swap-id binding, no persistence. The SDK is expected to
241
+ * call this immediately before submitting a user op so the calldata stays
242
+ * fresh; on `AA23 reverted` / slippage failure the SDK should retry.
243
+ */
244
+ post: operations["post_dex_calldata_claim"];
245
+ delete?: never;
246
+ options?: never;
247
+ head?: never;
248
+ patch?: never;
249
+ trace?: never;
250
+ };
251
+ "/dex-calldata/fund": {
252
+ parameters: {
253
+ query?: never;
254
+ header?: never;
255
+ path?: never;
256
+ cookie?: never;
257
+ };
258
+ get?: never;
259
+ put?: never;
260
+ /**
261
+ * Fetch fresh calldata for the **fund** flow.
262
+ * @description User spends source tokens on their own EOA; the swap output lands on
263
+ * the HTLC coordinator (derived server-side from `to_chain`).
264
+ *
265
+ * Stateless — no swap-id binding, no persistence. The SDK is expected to
266
+ * call this immediately before submitting a user op so the calldata stays
267
+ * fresh; on `AA23 reverted` / slippage failure the SDK should retry.
268
+ */
269
+ post: operations["post_dex_calldata_fund"];
270
+ delete?: never;
271
+ options?: never;
272
+ head?: never;
273
+ patch?: never;
274
+ trace?: never;
275
+ };
276
+ "/dex-quote": {
277
+ parameters: {
278
+ query?: never;
279
+ header?: never;
280
+ path?: never;
281
+ cookie?: never;
282
+ };
283
+ get?: never;
284
+ put?: never;
285
+ /**
286
+ * Quote the EVM leg of a foreign-target swap.
287
+ * @description Read-only price discovery — no calldata is constructed and no slippage
288
+ * is applied. For execution, call [`/dex-calldata`] which returns
289
+ * slippage-adjusted bounds plus the bytes to submit.
290
+ */
291
+ post: operations["post_dex_quote"];
292
+ delete?: never;
293
+ options?: never;
294
+ head?: never;
295
+ patch?: never;
296
+ trace?: never;
297
+ };
226
298
  "/evm-tokens": {
227
299
  parameters: {
228
300
  query?: never;
@@ -1626,6 +1698,53 @@ export interface components {
1626
1698
  /** @description List of VTXO outpoints to refresh */
1627
1699
  vtxos: string[];
1628
1700
  };
1701
+ /**
1702
+ * @description Which side the caller is pinning on the requested swap.
1703
+ *
1704
+ * Stringified `u128` rather than typed integer — matches the rest of the
1705
+ * API (`net_source_amount`, `min_amount_out`, …) and dodges the JS
1706
+ * `Number` precision cliff at 2^53 for 18-decimal tokens.
1707
+ */
1708
+ DexAmount: {
1709
+ /** @enum {string} */
1710
+ kind: "exact_in";
1711
+ /**
1712
+ * @description Spend exactly this much `from_token`; receive at least the
1713
+ * response's `estimated_amount_out` (post-slippage) of `to_token`.
1714
+ */
1715
+ value: string;
1716
+ } | {
1717
+ /** @enum {string} */
1718
+ kind: "exact_out";
1719
+ /**
1720
+ * @description Receive exactly this much `to_token`; spend at most the
1721
+ * response's `expected_amount_in` (post-slippage) of `from_token`.
1722
+ */
1723
+ value: string;
1724
+ };
1725
+ /**
1726
+ * @description A single EVM contract call the SDK should embed in its batch user op.
1727
+ *
1728
+ * The list ordering matters — the SDK must submit calls in the order
1729
+ * returned. Today this is always `[approve(spender, amount), router.swap(...)]`:
1730
+ * v1 targets fresh EIP-7702-delegated EOAs that start with zero
1731
+ * allowance, so the approve is unconditional. When native-ETH inputs
1732
+ * or stable-allowance paths land, the approve will be dropped when
1733
+ * `allowance(sender, spender) >= amount` and the response will be a
1734
+ * single-element list.
1735
+ */
1736
+ DexCall: {
1737
+ /** @description ABI-encoded calldata to send to `target` (`0x`-prefixed hex). */
1738
+ data: string;
1739
+ /** @description Contract address the SDK must `call` (with `value`). */
1740
+ target: string;
1741
+ /**
1742
+ * @description `msg.value` to attach, as a stringified `u256`. Almost always
1743
+ * `"0"` for token-only flows; non-zero only when the swap involves
1744
+ * native ETH on either leg.
1745
+ */
1746
+ value: string;
1747
+ };
1629
1748
  /** @description DEX swap calldata for the coordinator contract. */
1630
1749
  DexCallData: {
1631
1750
  data: string;
@@ -1641,6 +1760,230 @@ export interface components {
1641
1760
  /** @description Native token value (usually "0") */
1642
1761
  value?: string;
1643
1762
  };
1763
+ /**
1764
+ * @description Request shared by both `/dex-calldata/claim` and `/dex-calldata/fund`.
1765
+ *
1766
+ * The flow-specific `recipient` is deliberately not part of this struct —
1767
+ * each flow's handler resolves it from configuration (fund) or echoes the
1768
+ * sender (claim).
1769
+ */
1770
+ DexCalldataRequest: {
1771
+ /**
1772
+ * @description Either the input amount (exact-in) or the desired output amount
1773
+ * (exact-out), both as stringified `u128` smallest-unit values.
1774
+ */
1775
+ amount: components["schemas"]["DexAmount"];
1776
+ /**
1777
+ * @description Source asset the SDK will spend. Must be a [`Token::Evm`] variant —
1778
+ * EOAs only delegate via EIP-7702 on EVM. `Solana` is rejected with
1779
+ * a 400.
1780
+ */
1781
+ from: components["schemas"]["Token"];
1782
+ /**
1783
+ * @description Address that holds (and will spend) `from.address` on its chain.
1784
+ * This is the address the SDK will sign the user op against — under
1785
+ * EIP-7702 + Kernel that's the user's 7702-delegated EOA.
1786
+ *
1787
+ * Routers bake `sender` assumptions into the calldata (e.g. allowance
1788
+ * checks, permit sources, refund destinations), so passing the wrong
1789
+ * address here produces calldata that either fails routing
1790
+ * pre-submission or reverts on-chain.
1791
+ */
1792
+ sender: string;
1793
+ /**
1794
+ * Format: int32
1795
+ * @description Slippage tolerance in basis points (e.g. `100` = 1%, `50` = 0.5%).
1796
+ * Bounded server-side; out-of-range values return 400.
1797
+ */
1798
+ slippage_bps: number;
1799
+ /** @description Target asset the swap will produce. */
1800
+ to: components["schemas"]["Token"];
1801
+ };
1802
+ DexCalldataResponse: {
1803
+ /**
1804
+ * @description Chain identifier on which the SDK must submit `payload` (always
1805
+ * equal to the request's `from_chain`; surfaced explicitly so the
1806
+ * SDK doesn't have to track it across the request/response
1807
+ * boundary).
1808
+ */
1809
+ chain: string;
1810
+ /**
1811
+ * @description Estimated amount of `to_token` the user will receive on `to_chain`,
1812
+ * as a stringified `u128` smallest-unit value.
1813
+ *
1814
+ * - `ExactIn`: the slippage-adjusted *minimum* output. The swap call will revert on-chain if
1815
+ * the actual output is less.
1816
+ * - `ExactOut`: echoes the pinned output amount from the request.
1817
+ */
1818
+ estimated_amount_out: string;
1819
+ /**
1820
+ * Format: int32
1821
+ * @description Rough upper bound on how long settlement on `to_chain` takes
1822
+ * once the user op lands on `from_chain`. ~1 for same-chain
1823
+ * swaps, ~15 for CCTP fast-transfer, minutes for slower bridges.
1824
+ * SDK uses this to size status-poll backoff.
1825
+ */
1826
+ estimated_settlement_seconds: number;
1827
+ /**
1828
+ * @description Amount of `from_token` the user must provide on `from_chain`, as a
1829
+ * stringified `u128` smallest-unit value.
1830
+ *
1831
+ * - `ExactIn`: echoes the pinned input amount from the request.
1832
+ * - `ExactOut`: the slippage-adjusted *maximum* input the SDK must be willing to spend to
1833
+ * guarantee receiving the pinned output. The SDK should fund / approve at least this
1834
+ * amount.
1835
+ */
1836
+ expected_amount_in: string;
1837
+ /**
1838
+ * @description Chain-native instructions the SDK must submit on `chain`. Today
1839
+ * always the `Evm` variant — see [`DexCallsPayload`] for the
1840
+ * forward-compatibility story when non-EVM source chains are added.
1841
+ */
1842
+ payload: components["schemas"]["DexCallsPayload"];
1843
+ /**
1844
+ * @description Label identifying which router the server selected (`"lifi"`,
1845
+ * `"uniswap"`, `"curve"`, `"cctp"`, …). Informational only — SDK
1846
+ * behaviour is router-agnostic.
1847
+ */
1848
+ router: string;
1849
+ };
1850
+ /**
1851
+ * @description Chain-native instructions the SDK must submit on `chain`.
1852
+ *
1853
+ * Tagged on `kind` so the response is shape-stable as new source-chain
1854
+ * kinds are added. Today only `Evm` exists (matching the v1 invariant
1855
+ * that `from_chain` is always an EVM chain — the SDK signs via
1856
+ * EIP-7702 + Kernel, which only works on EVM EOAs).
1857
+ *
1858
+ * When Solana-source support lands, a new variant — roughly
1859
+ * `Solana { instructions: Vec<SolanaInstruction>, accounts: Vec<AccountMeta>, recent_blockhash:
1860
+ * String }` — will be added. Clients that already switch on `kind` keep working;
1861
+ * only clients that need to *handle* Solana opt in by adding the new
1862
+ * match arm.
1863
+ */
1864
+ DexCallsPayload: {
1865
+ calls: components["schemas"]["DexCall"][];
1866
+ /** @enum {string} */
1867
+ kind: "evm";
1868
+ };
1869
+ /**
1870
+ * @description A single hop in the route the server picked.
1871
+ *
1872
+ * One hop == one user op the SDK will need to submit. Multi-hop routes
1873
+ * (e.g. USDC@Optimism → USDC@Arbitrum via CCTP, then USDC@Arbitrum →
1874
+ * tBTC@Arbitrum via Uniswap) are represented as multiple entries in
1875
+ * [`DexQuoteResponse::hops`].
1876
+ */
1877
+ DexQuoteHop: {
1878
+ estimated_amount_out: components["schemas"]["TokenAmount"];
1879
+ /**
1880
+ * Format: int32
1881
+ * @description Per-hop settlement time. Sum across `hops` ≈ end-to-end time.
1882
+ */
1883
+ estimated_settlement_seconds: number;
1884
+ /**
1885
+ * @description Per-hop input/output (raw market estimates, no slippage). Useful
1886
+ * for showing the user a per-hop fee breakdown in the UI. Each side
1887
+ * carries the matching token's decimals for direct human-readable
1888
+ * formatting.
1889
+ */
1890
+ expected_amount_in: components["schemas"]["TokenAmount"];
1891
+ /**
1892
+ * @description Source token for this hop. Carries chain id + address in the same
1893
+ * shape as the request — round-trips cleanly through the SDK.
1894
+ */
1895
+ from: components["schemas"]["Token"];
1896
+ /** @description Per-hop router label (`"cctp"`, `"layerzero"`, `"uniswap"`, …). */
1897
+ router: string;
1898
+ /**
1899
+ * @description Destination token for this hop. Equal-chain to `from` for
1900
+ * same-chain swaps, different for bridges.
1901
+ */
1902
+ to: components["schemas"]["Token"];
1903
+ };
1904
+ DexQuoteRequest: {
1905
+ /**
1906
+ * @description Either the input amount (exact-in) or the desired output amount
1907
+ * (exact-out), both as stringified `u128` smallest-unit values.
1908
+ */
1909
+ amount: components["schemas"]["DexAmount"];
1910
+ /**
1911
+ * @description Source asset. Must be a [`Token::Evm`] variant — price discovery
1912
+ * is rooted in an EVM settlement hub; `Solana` is rejected with a
1913
+ * 400.
1914
+ */
1915
+ from: components["schemas"]["Token"];
1916
+ /**
1917
+ * Format: int32
1918
+ * @description Slippage tolerance the SDK will use at execution time, in basis
1919
+ * points (e.g. `100` = 1%, `50` = 0.5%). Affects route selection —
1920
+ * some pools only quote at higher tolerances — so passing the same
1921
+ * value here that the SDK will later send to `/dex-calldata` keeps
1922
+ * the displayed quote consistent with what actually executes.
1923
+ * Bounded server-side; out-of-range values return 400.
1924
+ */
1925
+ slippage_bps: number;
1926
+ /**
1927
+ * @description Target asset. Same-chain quotes use the same chain id as `from`;
1928
+ * cross-chain quotes use a different EVM chain id (Solana
1929
+ * destinations are reserved for future work).
1930
+ */
1931
+ to: components["schemas"]["Token"];
1932
+ };
1933
+ DexQuoteResponse: {
1934
+ /**
1935
+ * Format: int32
1936
+ * @description How long the SDK can treat this quote as fresh, in seconds. Route
1937
+ * prices move slowly on the timescale of UI interactions, so
1938
+ * re-quoting on every keystroke is wasteful; the SDK should cache
1939
+ * for at least this long and only refetch when stale.
1940
+ */
1941
+ cache_ttl_seconds: number;
1942
+ /**
1943
+ * @description End-to-end output amount across all hops.
1944
+ *
1945
+ * - `ExactIn`: the expected (mid-market) output for the pinned input, with the caller's
1946
+ * `slippage_bps` already factored into route selection.
1947
+ * - `ExactOut`: echoes the pinned output amount from the request.
1948
+ */
1949
+ estimated_amount_out: components["schemas"]["TokenAmount"];
1950
+ /**
1951
+ * Format: int32
1952
+ * @description Sum of all hops' settlement times. Useful for showing the user a
1953
+ * rough end-to-end ETA alongside the price.
1954
+ */
1955
+ estimated_settlement_seconds: number;
1956
+ /**
1957
+ * @description End-to-end input amount across all hops.
1958
+ *
1959
+ * - `ExactIn`: echoes the pinned input amount from the request.
1960
+ * - `ExactOut`: the expected (mid-market) input required to receive the pinned output, with
1961
+ * the caller's `slippage_bps` already factored into route selection.
1962
+ */
1963
+ expected_amount_in: components["schemas"]["TokenAmount"];
1964
+ /**
1965
+ * @description Per-hop breakdown of the route. Always at least one entry.
1966
+ *
1967
+ * `hops.len() == 1`: single-hop route, one user op.
1968
+ * `hops.len() > 1`: multi-hop route, one user op per hop, submitted
1969
+ * in order and waiting for settlement between each. The SDK iterates
1970
+ * `hops` and calls [`/dex-calldata`] once per hop, deriving each
1971
+ * `/dex-calldata` request from the corresponding `DexQuoteHop`.
1972
+ */
1973
+ hops: components["schemas"]["DexQuoteHop"][];
1974
+ /**
1975
+ * @description `true` iff `hops.len() > 1`. Surfaced explicitly so the SDK can
1976
+ * show the user a step counter ("Step 1 of 2") without iterating.
1977
+ */
1978
+ requires_multiple_user_ops: boolean;
1979
+ /**
1980
+ * @description Top-level router label. Usually equals the only hop's router for
1981
+ * single-hop routes (`"lifi"`, `"uniswap"`, …), or a `+`-joined
1982
+ * composite for multi-hop (`"cctp+uniswap"`). Informational only —
1983
+ * SDK behaviour is driven by `hops`, not this string.
1984
+ */
1985
+ router: string;
1986
+ };
1644
1987
  /** @description EIP-2612 permit signature for gasless token->Permit2 approval. */
1645
1988
  Eip2612Permit: {
1646
1989
  /** Format: int64 */
@@ -2604,6 +2947,69 @@ export interface components {
2604
2947
  * @enum {string}
2605
2948
  */
2606
2949
  SwapStatus: "pending" | "clientfundingseen" | "clientfunded" | "clientrefunded" | "serverfunded" | "clientredeeming" | "clientredeemed" | "serverredeemed" | "clientfundedserverrefunded" | "clientrefundedserverfunded" | "clientrefundedserverrefunded" | "expired" | "clientinvalidfunded" | "clientfundedtoolate" | "serverwontfund" | "clientredeemedandclientrefunded";
2950
+ /**
2951
+ * @description A token identified by the chain it lives on plus a chain-native address.
2952
+ *
2953
+ * Tagged on `kind` so each chain family encodes the address in its own
2954
+ * natural format (hex on EVM, base58 on Solana, etc.). Validation is
2955
+ * post-deserialization — the wire types stay loose (`u64` chain id,
2956
+ * `String` address) and handlers reject unsupported chain ids or
2957
+ * malformed addresses with 400s.
2958
+ *
2959
+ * Today only EVM is consumed; `Solana` is reserved for the cross-chain
2960
+ * claim flow. Handlers that don't support a variant must error
2961
+ * explicitly so callers get a clear message instead of an opaque
2962
+ * downstream failure.
2963
+ */
2964
+ Token: {
2965
+ /** @description Token contract address, lowercase hex, `0x`-prefixed. */
2966
+ address: string;
2967
+ /**
2968
+ * Format: int64
2969
+ * @description Numeric EVM chain id (`1` = Ethereum, `137` = Polygon,
2970
+ * `42161` = Arbitrum, etc.). Not constrained to the [`EvmChain`]
2971
+ * enum at parse time so we don't have to redeploy to support a
2972
+ * new chain.
2973
+ */
2974
+ chain_id: number;
2975
+ /** @enum {string} */
2976
+ kind: "evm";
2977
+ } | {
2978
+ /**
2979
+ * @description SPL mint address, base58-encoded. For SPL targets the SDK
2980
+ * typically also needs the recipient's associated token account
2981
+ * — that's a separate request field, not part of the token
2982
+ * identity.
2983
+ */
2984
+ address: string;
2985
+ /** @enum {string} */
2986
+ kind: "solana";
2987
+ };
2988
+ /**
2989
+ * @description Smallest-unit amount paired with the associated token's symbol and
2990
+ * decimal places, so the SDK can format `raw / 10^decimals` for
2991
+ * display (and label it with the symbol) without a separate lookup.
2992
+ *
2993
+ * `raw` is a stringified `u256` to dodge the JS `Number` precision
2994
+ * cliff at 2^53 (which 18-decimal tokens exceed routinely).
2995
+ */
2996
+ TokenAmount: {
2997
+ /**
2998
+ * Format: int32
2999
+ * @description Decimal places of the associated token (`6` for USDC, `18` for
3000
+ * tBTC, etc.).
3001
+ */
3002
+ decimals: number;
3003
+ /** @description Smallest-unit amount, stringified `u256`. */
3004
+ raw: string;
3005
+ /**
3006
+ * @description Ticker symbol of the associated token (`"USDC"`, `"tBTC"`, …),
3007
+ * when known. Omitted from the wire when the server can't resolve
3008
+ * it — informational only, do not key business logic on this
3009
+ * string.
3010
+ */
3011
+ symbol?: string | null;
3012
+ };
2607
3013
  /** @description Token identifier. Known values: btc, 0x123456 */
2608
3014
  TokenId: "btc" | string;
2609
3015
  TokenInfo: {
@@ -3217,6 +3623,159 @@ export interface operations {
3217
3623
  };
3218
3624
  };
3219
3625
  };
3626
+ post_dex_calldata_claim: {
3627
+ parameters: {
3628
+ query?: never;
3629
+ header?: never;
3630
+ path?: never;
3631
+ cookie?: never;
3632
+ };
3633
+ requestBody: {
3634
+ content: {
3635
+ "application/json": components["schemas"]["DexCalldataRequest"];
3636
+ };
3637
+ };
3638
+ responses: {
3639
+ /** @description Fresh calldata ready to be embedded in a user op */
3640
+ 200: {
3641
+ headers: {
3642
+ [name: string]: unknown;
3643
+ };
3644
+ content: {
3645
+ "application/json": components["schemas"]["DexCalldataResponse"];
3646
+ };
3647
+ };
3648
+ /** @description Bad request (unsupported chain pair, unknown token, malformed amount, slippage out of range) */
3649
+ 400: {
3650
+ headers: {
3651
+ [name: string]: unknown;
3652
+ };
3653
+ content: {
3654
+ "application/json": components["schemas"]["ErrorResponse"];
3655
+ };
3656
+ };
3657
+ /** @description Internal server error */
3658
+ 500: {
3659
+ headers: {
3660
+ [name: string]: unknown;
3661
+ };
3662
+ content: {
3663
+ "application/json": components["schemas"]["ErrorResponse"];
3664
+ };
3665
+ };
3666
+ /** @description Upstream router failed or returned no routable path for the requested pair */
3667
+ 502: {
3668
+ headers: {
3669
+ [name: string]: unknown;
3670
+ };
3671
+ content: {
3672
+ "application/json": components["schemas"]["ErrorResponse"];
3673
+ };
3674
+ };
3675
+ };
3676
+ };
3677
+ post_dex_calldata_fund: {
3678
+ parameters: {
3679
+ query?: never;
3680
+ header?: never;
3681
+ path?: never;
3682
+ cookie?: never;
3683
+ };
3684
+ requestBody: {
3685
+ content: {
3686
+ "application/json": components["schemas"]["DexCalldataRequest"];
3687
+ };
3688
+ };
3689
+ responses: {
3690
+ /** @description Fresh calldata ready to be embedded in a user op */
3691
+ 200: {
3692
+ headers: {
3693
+ [name: string]: unknown;
3694
+ };
3695
+ content: {
3696
+ "application/json": components["schemas"]["DexCalldataResponse"];
3697
+ };
3698
+ };
3699
+ /** @description Bad request (unsupported chain pair, unknown token, malformed amount, slippage out of range) */
3700
+ 400: {
3701
+ headers: {
3702
+ [name: string]: unknown;
3703
+ };
3704
+ content: {
3705
+ "application/json": components["schemas"]["ErrorResponse"];
3706
+ };
3707
+ };
3708
+ /** @description Internal server error */
3709
+ 500: {
3710
+ headers: {
3711
+ [name: string]: unknown;
3712
+ };
3713
+ content: {
3714
+ "application/json": components["schemas"]["ErrorResponse"];
3715
+ };
3716
+ };
3717
+ /** @description Upstream router failed or returned no routable path for the requested pair */
3718
+ 502: {
3719
+ headers: {
3720
+ [name: string]: unknown;
3721
+ };
3722
+ content: {
3723
+ "application/json": components["schemas"]["ErrorResponse"];
3724
+ };
3725
+ };
3726
+ };
3727
+ };
3728
+ post_dex_quote: {
3729
+ parameters: {
3730
+ query?: never;
3731
+ header?: never;
3732
+ path?: never;
3733
+ cookie?: never;
3734
+ };
3735
+ requestBody: {
3736
+ content: {
3737
+ "application/json": components["schemas"]["DexQuoteRequest"];
3738
+ };
3739
+ };
3740
+ responses: {
3741
+ /** @description Price estimate for the requested EVM leg */
3742
+ 200: {
3743
+ headers: {
3744
+ [name: string]: unknown;
3745
+ };
3746
+ content: {
3747
+ "application/json": components["schemas"]["DexQuoteResponse"];
3748
+ };
3749
+ };
3750
+ /** @description Bad request (unsupported chain pair, unknown token, malformed amount) */
3751
+ 400: {
3752
+ headers: {
3753
+ [name: string]: unknown;
3754
+ };
3755
+ content: {
3756
+ "application/json": components["schemas"]["ErrorResponse"];
3757
+ };
3758
+ };
3759
+ /** @description Internal server error */
3760
+ 500: {
3761
+ headers: {
3762
+ [name: string]: unknown;
3763
+ };
3764
+ content: {
3765
+ "application/json": components["schemas"]["ErrorResponse"];
3766
+ };
3767
+ };
3768
+ /** @description Upstream router failed or returned no routable path for the requested pair */
3769
+ 502: {
3770
+ headers: {
3771
+ [name: string]: unknown;
3772
+ };
3773
+ content: {
3774
+ "application/json": components["schemas"]["ErrorResponse"];
3775
+ };
3776
+ };
3777
+ };
3778
+ };
3220
3779
  get_evm_tokens: {
3221
3780
  parameters: {
3222
3781
  query?: {