@lombard.finance/sdk 4.3.2 → 4.4.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.
- package/CHANGELOG.md +16 -0
- package/LICENSE +21 -0
- package/README.md +6 -6
- package/dist/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.d.ts.map +1 -1
- package/dist/api-functions/getDepositBtcAddress/getDepositBtcAddress.d.ts.map +1 -1
- package/dist/api.cjs +1 -1
- package/dist/api.js +29 -29
- package/dist/bridge.cjs +1 -1
- package/dist/bridge.js +7 -7
- package/dist/btc.cjs +1 -1
- package/dist/btc.js +10 -10
- package/dist/chains/btc/actions/deposit/BtcDeposit.d.ts +7 -4
- package/dist/chains/btc/actions/deposit/BtcDeposit.d.ts.map +1 -1
- package/dist/chains/btc/actions/deposit/config/index.d.ts +16 -8
- package/dist/chains/btc/actions/deposit/config/index.d.ts.map +1 -1
- package/dist/chains/btc/actions/deposit/config/solana.d.ts +20 -0
- package/dist/chains/btc/actions/deposit/config/solana.d.ts.map +1 -0
- package/dist/chains/btc/actions/deposit/config/types.d.ts +4 -3
- package/dist/chains/btc/actions/deposit/config/types.d.ts.map +1 -1
- package/dist/chains/evm/EvmActions.d.ts +4 -4
- package/dist/chains/evm/actions/deposit/config/evm.d.ts +3 -3
- package/dist/chains/evm/actions/deposit/config/evm.d.ts.map +1 -1
- package/dist/chains/evm/actions/deposit/config/types.d.ts +1 -1
- package/dist/chains/evm/actions/deposit/config/types.d.ts.map +1 -1
- package/dist/chains/evm/actions/deposit/factory.d.ts +1 -1
- package/dist/chains/evm/actions/deposit/types.d.ts +1 -1
- package/dist/chains/evm/actions/deposit/types.d.ts.map +1 -1
- package/dist/chains/evm/actions/redeem/EvmRedeem.d.ts.map +1 -1
- package/dist/chains/evm/actions/unstake/EvmUnstake.d.ts.map +1 -1
- package/dist/chains/solana/SolanaActions.d.ts +10 -0
- package/dist/chains/solana/SolanaActions.d.ts.map +1 -1
- package/dist/chains/solana/actions/index.d.ts +1 -0
- package/dist/chains/solana/actions/index.d.ts.map +1 -1
- package/dist/chains/solana/actions/redeem/SolanaRedeem.d.ts +37 -0
- package/dist/chains/solana/actions/redeem/SolanaRedeem.d.ts.map +1 -0
- package/dist/chains/solana/actions/redeem/config/index.d.ts +8 -0
- package/dist/chains/solana/actions/redeem/config/index.d.ts.map +1 -0
- package/dist/chains/solana/actions/redeem/config/solana.d.ts +22 -0
- package/dist/chains/solana/actions/redeem/config/solana.d.ts.map +1 -0
- package/dist/chains/solana/actions/redeem/config/types.d.ts +35 -0
- package/dist/chains/solana/actions/redeem/config/types.d.ts.map +1 -0
- package/dist/chains/solana/actions/redeem/factory.d.ts +12 -0
- package/dist/chains/solana/actions/redeem/factory.d.ts.map +1 -0
- package/dist/chains/solana/actions/redeem/index.d.ts +9 -0
- package/dist/chains/solana/actions/redeem/index.d.ts.map +1 -0
- package/dist/chains/solana/actions/redeem/types.d.ts +52 -0
- package/dist/chains/solana/actions/redeem/types.d.ts.map +1 -0
- package/dist/chains/solana/utils.d.ts +15 -0
- package/dist/chains/solana/utils.d.ts.map +1 -0
- package/dist/chunks/BtcActions-BOVJrdTI.cjs +2 -0
- package/dist/chunks/BtcActions-BOVJrdTI.cjs.map +1 -0
- package/dist/chunks/{BtcActions-k-qs1uO0.js → BtcActions-_a8r3Q7c.js} +457 -414
- package/dist/chunks/BtcActions-_a8r3Q7c.js.map +1 -0
- package/dist/chunks/{EvmActions-B_dF42So.js → EvmActions-D4vFpbYk.js} +163 -173
- package/dist/chunks/EvmActions-D4vFpbYk.js.map +1 -0
- package/dist/chunks/EvmActions-VrDbgMDy.cjs +2 -0
- package/dist/chunks/EvmActions-VrDbgMDy.cjs.map +1 -0
- package/dist/chunks/ReferralsClient-Cmrjo9bN.cjs +2 -0
- package/dist/chunks/ReferralsClient-Cmrjo9bN.cjs.map +1 -0
- package/dist/chunks/{ReferralsClient-DbFWWtVi.js → ReferralsClient-DvEsA3II.js} +160 -160
- package/dist/chunks/ReferralsClient-DvEsA3II.js.map +1 -0
- package/dist/chunks/{api-config-CtcP3TVl.js → api-config-Dm6dR85f.js} +6 -6
- package/dist/chunks/{api-config-CtcP3TVl.js.map → api-config-Dm6dR85f.js.map} +1 -1
- package/dist/chunks/{approveLBTC-CZiZmdcX.cjs → approveLBTC-CUXEC3kw.cjs} +2 -2
- package/dist/chunks/{approveLBTC-CZiZmdcX.cjs.map → approveLBTC-CUXEC3kw.cjs.map} +1 -1
- package/dist/chunks/approveLBTC-Du2El1tW.js +26 -0
- package/dist/chunks/{approveLBTC-B5-ZWqct.js.map → approveLBTC-Du2El1tW.js.map} +1 -1
- package/dist/chunks/{array-Cev6kyLJ.js → array-DYttUPf5.js} +7 -7
- package/dist/chunks/{array-Cev6kyLJ.js.map → array-DYttUPf5.js.map} +1 -1
- package/dist/chunks/{blockchain-identifier-BzMQWh-C.cjs → blockchain-identifier-BTPGxLio.cjs} +2 -2
- package/dist/chunks/{blockchain-identifier-BzMQWh-C.cjs.map → blockchain-identifier-BTPGxLio.cjs.map} +1 -1
- package/dist/chunks/{blockchain-identifier-BmadkNtK.js → blockchain-identifier-CTVaEPpY.js} +24 -24
- package/dist/chunks/{blockchain-identifier-BmadkNtK.js.map → blockchain-identifier-CTVaEPpY.js.map} +1 -1
- package/dist/chunks/{bridge-CTsiodO1.js → bridge-DqGabhIY.js} +13 -13
- package/dist/chunks/{bridge-CTsiodO1.js.map → bridge-DqGabhIY.js.map} +1 -1
- package/dist/chunks/{bridge-BzRlY9pP.cjs → bridge-dWaKrMKm.cjs} +2 -2
- package/dist/chunks/{bridge-BzRlY9pP.cjs.map → bridge-dWaKrMKm.cjs.map} +1 -1
- package/dist/chunks/{config-hFKqUyg3.js → config-DghboRx0.js} +10 -10
- package/dist/chunks/{config-hFKqUyg3.js.map → config-DghboRx0.js.map} +1 -1
- package/dist/chunks/{config-l4ZaZw_g.cjs → config-DmCmanM_.cjs} +2 -2
- package/dist/chunks/{config-l4ZaZw_g.cjs.map → config-DmCmanM_.cjs.map} +1 -1
- package/dist/chunks/constants-D1FnS2Z8.js +6 -0
- package/dist/chunks/constants-D1FnS2Z8.js.map +1 -0
- package/dist/chunks/constants-ueShGH9R.cjs +2 -0
- package/dist/chunks/constants-ueShGH9R.cjs.map +1 -0
- package/dist/chunks/{defi-registry-BIRv_zkp.cjs → defi-registry-DDNavtO1.cjs} +2 -2
- package/dist/chunks/{defi-registry-BIRv_zkp.cjs.map → defi-registry-DDNavtO1.cjs.map} +1 -1
- package/dist/chunks/{defi-registry-wNFN3qyB.js → defi-registry-DxjjBQTV.js} +13 -13
- package/dist/chunks/{defi-registry-wNFN3qyB.js.map → defi-registry-DxjjBQTV.js.map} +1 -1
- package/dist/chunks/{depositStatus-DM7fRmbN.js → depositStatus-05_X7FVs.js} +42 -42
- package/dist/chunks/{depositStatus-DM7fRmbN.js.map → depositStatus-05_X7FVs.js.map} +1 -1
- package/dist/chunks/{depositStatus-C3-EgT2a.cjs → depositStatus-CUjHpXFJ.cjs} +2 -2
- package/dist/chunks/{depositStatus-C3-EgT2a.cjs.map → depositStatus-CUjHpXFJ.cjs.map} +1 -1
- package/dist/chunks/events-5c8IHjEF.cjs +2 -0
- package/dist/chunks/events-5c8IHjEF.cjs.map +1 -0
- package/dist/chunks/{events-DdV_xi-2.js → events-rgJZNpHd.js} +414 -303
- package/dist/chunks/events-rgJZNpHd.js.map +1 -0
- package/dist/chunks/evm-by-btc-address-CZvE15lx.js +39 -0
- package/dist/chunks/{evm-by-btc-address-CwLiENtM.js.map → evm-by-btc-address-CZvE15lx.js.map} +1 -1
- package/dist/chunks/fee-requirements-CCNsxAvJ.js +14 -0
- package/dist/chunks/{fee-requirements-x8-8mpJ7.js.map → fee-requirements-CCNsxAvJ.js.map} +1 -1
- package/dist/chunks/get-exchange-ratio-B-xzYND1.js +20 -0
- package/dist/chunks/{get-exchange-ratio-NtnkG1kZ.js.map → get-exchange-ratio-B-xzYND1.js.map} +1 -1
- package/dist/chunks/{get-exchange-ratio-C-7DadfD.cjs → get-exchange-ratio-BEhD4gLB.cjs} +2 -2
- package/dist/chunks/{get-exchange-ratio-C-7DadfD.cjs.map → get-exchange-ratio-BEhD4gLB.cjs.map} +1 -1
- package/dist/chunks/{get-positions-summary-DkZZYbGP.cjs → get-positions-summary-Dh1QPLYO.cjs} +2 -2
- package/dist/chunks/{get-positions-summary-DkZZYbGP.cjs.map → get-positions-summary-Dh1QPLYO.cjs.map} +1 -1
- package/dist/chunks/{get-positions-summary-B_MmGHLv.js → get-positions-summary-iYshN1RQ.js} +28 -28
- package/dist/chunks/{get-positions-summary-B_MmGHLv.js.map → get-positions-summary-iYshN1RQ.js.map} +1 -1
- package/dist/chunks/{get-vault-tvl-YAXePAW3.js → get-vault-tvl-Ct_Zkg7C.js} +41 -41
- package/dist/chunks/{get-vault-tvl-YAXePAW3.js.map → get-vault-tvl-Ct_Zkg7C.js.map} +1 -1
- package/dist/chunks/{get-vault-tvl-DmTUbOY7.cjs → get-vault-tvl-D_tQIDAs.cjs} +2 -2
- package/dist/chunks/{get-vault-tvl-DmTUbOY7.cjs.map → get-vault-tvl-D_tQIDAs.cjs.map} +1 -1
- package/dist/chunks/{get-vault-withdrawals-CWcYy_sH.cjs → get-vault-withdrawals-8ALlEiAC.cjs} +2 -2
- package/dist/chunks/{get-vault-withdrawals-CWcYy_sH.cjs.map → get-vault-withdrawals-8ALlEiAC.cjs.map} +1 -1
- package/dist/chunks/get-vault-withdrawals-jk7Sv4S4.js +161 -0
- package/dist/chunks/{get-vault-withdrawals-BrpZlt6s.js.map → get-vault-withdrawals-jk7Sv4S4.js.map} +1 -1
- package/dist/chunks/{getSharesByAddress-BEgOf1C0.cjs → getSharesByAddress-D8hehnP1.cjs} +2 -2
- package/dist/chunks/{getSharesByAddress-BEgOf1C0.cjs.map → getSharesByAddress-D8hehnP1.cjs.map} +1 -1
- package/dist/chunks/{getSharesByAddress-BiruCDp6.js → getSharesByAddress-_tBaIBsw.js} +38 -38
- package/dist/chunks/{getSharesByAddress-BiruCDp6.js.map → getSharesByAddress-_tBaIBsw.js.map} +1 -1
- package/dist/chunks/getUserStakeAndBakeSignature-CSEyzgMc.cjs +2 -0
- package/dist/chunks/getUserStakeAndBakeSignature-CSEyzgMc.cjs.map +1 -0
- package/dist/chunks/getUserStakeAndBakeSignature-Su-k10ap.js +125 -0
- package/dist/chunks/getUserStakeAndBakeSignature-Su-k10ap.js.map +1 -0
- package/dist/chunks/lbtc-addresses-D8MYCdsx.js +10 -0
- package/dist/chunks/{lbtc-addresses-BLRmtR3c.js.map → lbtc-addresses-D8MYCdsx.js.map} +1 -1
- package/dist/chunks/{lbtc-addresses-xyTYV7hx.cjs → lbtc-addresses-Kil252DX.cjs} +2 -2
- package/dist/chunks/{lbtc-addresses-xyTYV7hx.cjs.map → lbtc-addresses-Kil252DX.cjs.map} +1 -1
- package/dist/chunks/numbers-CclN2Ohk.js +15 -0
- package/dist/chunks/{numbers-CM-lcmt4.js.map → numbers-CclN2Ohk.js.map} +1 -1
- package/dist/chunks/parameters-C_16L5ft.js +11 -0
- package/dist/chunks/{parameters-CDV-6Hk5.js.map → parameters-C_16L5ft.js.map} +1 -1
- package/dist/chunks/satoshi-CSoJBXc6.js +19 -0
- package/dist/chunks/{satoshi-Ch6y8aYG.js.map → satoshi-CSoJBXc6.js.map} +1 -1
- package/dist/chunks/statusConstants-Cri7yswV.cjs +2 -0
- package/dist/chunks/statusConstants-Cri7yswV.cjs.map +1 -0
- package/dist/chunks/{statusConstants-DFxMrVob.js → statusConstants-Zii1786K.js} +1134 -1113
- package/dist/chunks/statusConstants-Zii1786K.js.map +1 -0
- package/dist/chunks/{storeNetworkFeeSignature-BZGL2Zn_.js → storeNetworkFeeSignature-BODIpq3Y.js} +26 -26
- package/dist/chunks/{storeNetworkFeeSignature-BZGL2Zn_.js.map → storeNetworkFeeSignature-BODIpq3Y.js.map} +1 -1
- package/dist/chunks/{storeNetworkFeeSignature-D7yo6lDV.cjs → storeNetworkFeeSignature-Buk4091C.cjs} +2 -2
- package/dist/chunks/{storeNetworkFeeSignature-D7yo6lDV.cjs.map → storeNetworkFeeSignature-Buk4091C.cjs.map} +1 -1
- package/dist/chunks/time-Sa5gggPG.js +24 -0
- package/dist/chunks/{time-QPeEEEnQ.js.map → time-Sa5gggPG.js.map} +1 -1
- package/dist/chunks/{token-addresses-FKpA3uc4.js → token-addresses-D0v5cR1j.js} +174 -163
- package/dist/chunks/{token-addresses-FKpA3uc4.js.map → token-addresses-D0v5cR1j.js.map} +1 -1
- package/dist/chunks/{token-addresses-DRBecUa7.cjs → token-addresses-nzvTOi24.cjs} +2 -2
- package/dist/chunks/{token-addresses-DRBecUa7.cjs.map → token-addresses-nzvTOi24.cjs.map} +1 -1
- package/dist/chunks/{tokens-D_HeVB5p.cjs → tokens-BkvA0Gp1.cjs} +2 -2
- package/dist/chunks/{tokens-D_HeVB5p.cjs.map → tokens-BkvA0Gp1.cjs.map} +1 -1
- package/dist/chunks/{tokens-C6qZHzph.js → tokens-DgC1hfkm.js} +18 -18
- package/dist/chunks/{tokens-C6qZHzph.js.map → tokens-DgC1hfkm.js.map} +1 -1
- package/dist/chunks/{unstakeLBTC-H0zdYQa6.cjs → unstakeLBTC-CmoCaGX9.cjs} +2 -2
- package/dist/chunks/{unstakeLBTC-H0zdYQa6.cjs.map → unstakeLBTC-CmoCaGX9.cjs.map} +1 -1
- package/dist/chunks/{unstakeLBTC-DAIR9NO_.js → unstakeLBTC-DtvVbpbU.js} +50 -50
- package/dist/chunks/{unstakeLBTC-DAIR9NO_.js.map → unstakeLBTC-DtvVbpbU.js.map} +1 -1
- package/dist/chunks/{withdraw-hHueI2p7.js → withdraw-DgjuaUN3.js} +45 -45
- package/dist/chunks/{withdraw-hHueI2p7.js.map → withdraw-DgjuaUN3.js.map} +1 -1
- package/dist/chunks/{withdraw-C1fMFSwy.cjs → withdraw-i0AueZ_C.cjs} +2 -2
- package/dist/chunks/{withdraw-C1fMFSwy.cjs.map → withdraw-i0AueZ_C.cjs.map} +1 -1
- package/dist/common/constants.d.ts +1 -0
- package/dist/common/constants.d.ts.map +1 -1
- package/dist/contracts.cjs +1 -1
- package/dist/contracts.js +16 -16
- package/dist/core/assets/catalog.d.ts.map +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.js +85 -85
- package/dist/debug.js +4 -4
- package/dist/defi.cjs +1 -1
- package/dist/defi.js +10 -10
- package/dist/evm.cjs +1 -1
- package/dist/evm.js +34 -34
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +287 -283
- package/dist/index.js.map +1 -1
- package/dist/metrics.cjs +1 -1
- package/dist/metrics.js +6 -6
- package/dist/stories/arg-types.d.ts +1 -0
- package/dist/stories/arg-types.d.ts.map +1 -1
- package/dist/tokens/token-addresses.d.ts +2 -2
- package/dist/tokens/token-addresses.d.ts.map +1 -1
- package/dist/utils/chain.d.ts +7 -0
- package/dist/utils/chain.d.ts.map +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +76 -76
- package/dist/vaults.cjs +1 -1
- package/dist/vaults.js +14 -14
- package/package.json +19 -6
- package/dist/chunks/BtcActions-XbVRQEcM.cjs +0 -2
- package/dist/chunks/BtcActions-XbVRQEcM.cjs.map +0 -1
- package/dist/chunks/BtcActions-k-qs1uO0.js.map +0 -1
- package/dist/chunks/EvmActions-BVzQ3fLK.cjs +0 -2
- package/dist/chunks/EvmActions-BVzQ3fLK.cjs.map +0 -1
- package/dist/chunks/EvmActions-B_dF42So.js.map +0 -1
- package/dist/chunks/ReferralsClient-BC-1wT1q.cjs +0 -2
- package/dist/chunks/ReferralsClient-BC-1wT1q.cjs.map +0 -1
- package/dist/chunks/ReferralsClient-DbFWWtVi.js.map +0 -1
- package/dist/chunks/approveLBTC-B5-ZWqct.js +0 -26
- package/dist/chunks/constants-BBK-JNcY.cjs +0 -2
- package/dist/chunks/constants-BBK-JNcY.cjs.map +0 -1
- package/dist/chunks/constants-CuT4axsy.js +0 -5
- package/dist/chunks/constants-CuT4axsy.js.map +0 -1
- package/dist/chunks/events-DdV_xi-2.js.map +0 -1
- package/dist/chunks/events-DqIJRzJo.cjs +0 -2
- package/dist/chunks/events-DqIJRzJo.cjs.map +0 -1
- package/dist/chunks/evm-by-btc-address-CwLiENtM.js +0 -39
- package/dist/chunks/fee-requirements-x8-8mpJ7.js +0 -14
- package/dist/chunks/get-exchange-ratio-NtnkG1kZ.js +0 -20
- package/dist/chunks/get-vault-withdrawals-BrpZlt6s.js +0 -161
- package/dist/chunks/getUserStakeAndBakeSignature-BxRq2cI1.cjs +0 -2
- package/dist/chunks/getUserStakeAndBakeSignature-BxRq2cI1.cjs.map +0 -1
- package/dist/chunks/getUserStakeAndBakeSignature-NGGblnJl.js +0 -120
- package/dist/chunks/getUserStakeAndBakeSignature-NGGblnJl.js.map +0 -1
- package/dist/chunks/lbtc-addresses-BLRmtR3c.js +0 -10
- package/dist/chunks/numbers-CM-lcmt4.js +0 -15
- package/dist/chunks/parameters-CDV-6Hk5.js +0 -11
- package/dist/chunks/satoshi-Ch6y8aYG.js +0 -19
- package/dist/chunks/statusConstants-BLiNBT6s.cjs +0 -2
- package/dist/chunks/statusConstants-BLiNBT6s.cjs.map +0 -1
- package/dist/chunks/statusConstants-DFxMrVob.js.map +0 -1
- package/dist/chunks/time-QPeEEEnQ.js +0 -24
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import m from "axios";
|
|
2
|
-
import { pad as w } from "viem";
|
|
3
|
-
import { g as A } from "./api-config-CtcP3TVl.js";
|
|
4
|
-
import { c as B, B as i } from "./blockchain-identifier-BmadkNtK.js";
|
|
5
|
-
import { o as s, A as b } from "./token-addresses-FKpA3uc4.js";
|
|
6
|
-
import { b as D, T as N, g as S } from "./tokens-C6qZHzph.js";
|
|
7
|
-
const U = "sanctioned_address", y = "api/v1/address/generate", I = "destination address is under sanctions", _ = [s.LBTC, s.BTCK, s.BTCb], R = [s.LBTC, s.BTCK, s.BTCb];
|
|
8
|
-
async function v({
|
|
9
|
-
address: a,
|
|
10
|
-
token: e = s.LBTC,
|
|
11
|
-
chainId: n,
|
|
12
|
-
signature: d,
|
|
13
|
-
eip712Data: r,
|
|
14
|
-
env: o,
|
|
15
|
-
referrerCode: T,
|
|
16
|
-
partnerId: C,
|
|
17
|
-
captchaToken: E,
|
|
18
|
-
signatureData: l,
|
|
19
|
-
pubKey: u
|
|
20
|
-
}) {
|
|
21
|
-
const { baseApiUrl: h } = A(o), c = B(n);
|
|
22
|
-
if (!R.includes(e))
|
|
23
|
-
throw new Error(`Unsupported token: ${e}`);
|
|
24
|
-
let g = {};
|
|
25
|
-
if (c === i.starknet) {
|
|
26
|
-
if (a = w(a, { size: 32 }), !u)
|
|
27
|
-
throw new Error("Missing parameter: pubKey");
|
|
28
|
-
g = {
|
|
29
|
-
public_key: u
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
let p = {};
|
|
33
|
-
try {
|
|
34
|
-
_.includes(e) && // FIXME: Refactor in order to pull in all token addresses from all supported networks to the sdk-common package.
|
|
35
|
-
// FIXME: Then remove this clause prior two token model.
|
|
36
|
-
![
|
|
37
|
-
i.sui,
|
|
38
|
-
i.solana,
|
|
39
|
-
i.starknet
|
|
40
|
-
].includes(c) && (p = {
|
|
41
|
-
token_address: (await D(
|
|
42
|
-
e,
|
|
43
|
-
n,
|
|
44
|
-
o,
|
|
45
|
-
b.Adapter
|
|
46
|
-
)).address
|
|
47
|
-
});
|
|
48
|
-
} catch (t) {
|
|
49
|
-
if (t instanceof Error && t instanceof N && _.includes(e))
|
|
50
|
-
throw new Error(
|
|
51
|
-
`Unable to generate BTC deposit address for given token: ${e} in ${n}, reason: ${t.message}`
|
|
52
|
-
);
|
|
53
|
-
}
|
|
54
|
-
const k = {
|
|
55
|
-
to_address: a,
|
|
56
|
-
to_address_signature: d,
|
|
57
|
-
to_chain: c,
|
|
58
|
-
partner_id: C,
|
|
59
|
-
nonce: 0,
|
|
60
|
-
captcha: E,
|
|
61
|
-
referrer_code: T,
|
|
62
|
-
eip_712_data: r,
|
|
63
|
-
sb_signature_data: l,
|
|
64
|
-
...p,
|
|
65
|
-
...g
|
|
66
|
-
};
|
|
67
|
-
try {
|
|
68
|
-
const { data: t } = await m.post(
|
|
69
|
-
y,
|
|
70
|
-
k,
|
|
71
|
-
{ baseURL: h }
|
|
72
|
-
);
|
|
73
|
-
return t.address;
|
|
74
|
-
} catch (t) {
|
|
75
|
-
const f = S(t);
|
|
76
|
-
if (M(f))
|
|
77
|
-
return U;
|
|
78
|
-
throw new Error(f);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
function M(a) {
|
|
82
|
-
return a.includes(I);
|
|
83
|
-
}
|
|
84
|
-
async function F({
|
|
85
|
-
userDestinationAddress: a,
|
|
86
|
-
chainId: e,
|
|
87
|
-
env: n
|
|
88
|
-
}) {
|
|
89
|
-
const { baseApiUrl: d } = A(n);
|
|
90
|
-
try {
|
|
91
|
-
const { data: r } = await m.get(
|
|
92
|
-
`${d}/api/v1/claimer/get-user-stake-and-bake-signature`,
|
|
93
|
-
{
|
|
94
|
-
params: {
|
|
95
|
-
userDestinationAddress: a,
|
|
96
|
-
chainId: e.toString()
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
);
|
|
100
|
-
return {
|
|
101
|
-
userDestinationAddress: r.user_destination_address,
|
|
102
|
-
signature: r.signature,
|
|
103
|
-
expirationDate: r.expiration_date,
|
|
104
|
-
depositAmount: r.deposit_amount,
|
|
105
|
-
chainId: r.chain_id,
|
|
106
|
-
nonce: r.nonce
|
|
107
|
-
};
|
|
108
|
-
} catch (r) {
|
|
109
|
-
const o = S(r);
|
|
110
|
-
throw new Error(
|
|
111
|
-
`Failed to get user stake and bake signature: ${o}`
|
|
112
|
-
);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
export {
|
|
116
|
-
U as S,
|
|
117
|
-
F as a,
|
|
118
|
-
v as g
|
|
119
|
-
};
|
|
120
|
-
//# sourceMappingURL=getUserStakeAndBakeSignature-NGGblnJl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getUserStakeAndBakeSignature-NGGblnJl.js","sources":["../../src/api-functions/generateDepositBtcAddress/generateDepositBtcAddress.ts","../../src/api-functions/getUserStakeAndBakeSignature/getUserStakeAndBakeSignature.ts"],"sourcesContent":["import axios from 'axios';\nimport { Address, pad } from 'viem';\n\nimport { getApiConfig } from '../../common/api-config';\nimport {\n BlockchainIdentifier,\n getChainNameById,\n} from '../../common/blockchain-identifier';\nimport type {\n ChainId,\n SolanaChain,\n StarknetChainId,\n SuiChain,\n} from '../../common/chains';\nimport type { IEnvParam } from '../../common/parameters';\nimport { AddressKind, Token } from '../../tokens/token-addresses';\nimport { getTokenContractInfo } from '../../tokens/tokens';\nimport {\n getErrorMessage,\n TokenContractAddressNotFoundError,\n} from '../../utils/err';\n\n/**\n * The address which will be returned if the provided EVM address is sanctioned.\n */\nexport const SANCTIONED_ADDRESS = 'sanctioned_address';\nconst ADDRESS_URL = 'api/v1/address/generate';\nconst SANCTIONS_MESSAGE = 'destination address is under sanctions';\n\ninterface IGenerateNewAddressResponse {\n address: string;\n}\n\nexport interface IGenerateDepositBtcAddressParams extends IEnvParam {\n /**\n * The destination EVM user address where LBTC will be claimed.\n */\n address: string;\n /**\n * The intended destination token, defaults to LBTC.\n */\n token?: Token;\n /**\n * The destination chain ID where LBTC will be claimed.\n */\n chainId: ChainId | SuiChain | SolanaChain | StarknetChainId;\n /**\n * The signature of the address. The signature is generated by signing the address using EVM wallet.\n */\n signature: string;\n /**\n * The typed data object used to generate the signature if using a network fee authorization signature.\n */\n eip712Data?: string;\n /**\n * The captcha token.\n */\n captchaToken?: string;\n /**\n * The referrer code.\n */\n referrerCode?: string;\n /**\n * The referral ID.\n */\n partnerId?: string;\n /**\n * The typed data object used to generate the signature if using a stake and bake feature.\n */\n signatureData?: string;\n\n /** The pubKey required for starknet addresses signatures. */\n pubKey?: string;\n}\n\nconst EXTRA_PARAMS_TOKENS = [Token.LBTC, Token.BTCK, Token.BTCb];\nconst SUPPORTED_TOKENS = [Token.LBTC, Token.BTCK, Token.BTCb];\n\n/**\n * Generates a BTC deposit address.\n *\n * If the provided EVM address is sanctioned, the function will return the `SANCTIONED_ADDRESS`.\n *\n * @param {IGenerateDepositBtcAddressParams} parameters - The parameters for generating the deposit address.\n * @param {string} parameters.address - The destination EVM user address where LBTC will be claimed.\n * @param {ChainId} parameters.chainId - The destination chain ID where LBTC will be claimed.\n * @param {string} parameters.signature - The signature of the address. The signature is generated by signing the address using EVM wallet.\n * @param {string} parameters.eip712Data - The typed data object used to generate the signature if using a network fee authorization signature.\n * @param {string} parameters.captchaToken - The captcha token.\n * @param {string} parameters.referrerCode - The referrer code.\n * @param {string} parameters.partnerId - The partner ID.\n * @param {string} parameters.signatureData - The typed data object used to generate the signature if using a stake and bake feature.\n * @param {Env} parameters.env - The optional environment identifier.\n *\n * @returns {Promise<string>} The generated deposit address.\n */\nexport async function generateDepositBtcAddress({\n address,\n token = Token.LBTC,\n chainId,\n signature,\n eip712Data,\n env,\n referrerCode,\n partnerId,\n captchaToken,\n signatureData,\n pubKey,\n}: IGenerateDepositBtcAddressParams): Promise<string> {\n const { baseApiUrl } = getApiConfig(env);\n const toChain = getChainNameById(chainId);\n\n if (!SUPPORTED_TOKENS.includes(token)) {\n throw new Error(`Unsupported token: ${token}`);\n }\n\n let additionalParams = {};\n if (toChain === BlockchainIdentifier.starknet) {\n address = pad(address as Address, { size: 32 });\n if (!pubKey) {\n throw new Error('Missing parameter: pubKey');\n }\n\n additionalParams = {\n public_key: pubKey,\n };\n }\n\n // TODO: Refactor\n // //primaryType: 'feeApproval', - NETWORK FEE\n // //primaryType: 'Permit', - STAKE AND BAKE\n // type generationFrom =\n // | 'network-fee'\n // | 'stake-and-bake'\n // | 'destination-address';\n\n // let generation: generationFrom = 'destination-address';\n // if (signatureData != null) {\n // try {\n // const typedData = JSON.parse(signatureData);\n // if (typedData?.primaryType === 'feeApproval') {\n // generation = 'network-fee';\n // } else if (typedData?.primaryType === 'Permit') {\n // generation = 'stake-and-bake';\n // }\n // } catch {\n // // NOOP\n // }\n // }\n\n /**\n * The deposit address generation requires additional fields for tokens other\n * than LBTC.\n */\n let tokenDataParams = {};\n try {\n if (\n EXTRA_PARAMS_TOKENS.includes(token) &&\n // FIXME: Refactor in order to pull in all token addresses from all supported networks to the sdk-common package.\n // FIXME: Then remove this clause prior two token model.\n !(\n [\n BlockchainIdentifier.sui,\n BlockchainIdentifier.solana,\n BlockchainIdentifier.starknet,\n ] as BlockchainIdentifier[]\n ).includes(toChain)\n ) {\n const tokenContractInfo = await getTokenContractInfo(\n token,\n chainId as ChainId,\n env,\n AddressKind.Adapter,\n );\n tokenDataParams = {\n token_address: tokenContractInfo.address,\n };\n }\n } catch (err) {\n if (\n err instanceof Error &&\n err instanceof TokenContractAddressNotFoundError &&\n EXTRA_PARAMS_TOKENS.includes(token)\n ) {\n throw new Error(\n `Unable to generate BTC deposit address for given token: ${token} in ${chainId}, reason: ${err.message}`,\n );\n }\n }\n\n // TODO: Refactor\n // const signatureDataRequestParams =\n // generation === 'network-fee'\n // ? {\n // eip_712_data: signatureData,\n // }\n // : generation === 'stake-and-bake'\n // ? { sb_signature_data: signatureData }\n // : {};\n\n const requestParams = {\n to_address: address,\n to_address_signature: signature,\n to_chain: toChain,\n partner_id: partnerId,\n nonce: 0,\n captcha: captchaToken,\n referrer_code: referrerCode,\n eip_712_data: eip712Data,\n sb_signature_data: signatureData,\n ...tokenDataParams,\n ...additionalParams,\n };\n\n try {\n const { data } = await axios.post<IGenerateNewAddressResponse>(\n ADDRESS_URL,\n requestParams,\n { baseURL: baseApiUrl },\n );\n\n return data.address;\n } catch (error) {\n const errorMsg = getErrorMessage(error);\n\n if (isSanctioned(errorMsg)) {\n return SANCTIONED_ADDRESS;\n }\n throw new Error(errorMsg);\n }\n}\n\nfunction isSanctioned(errorMsg: string): boolean {\n return errorMsg.includes(SANCTIONS_MESSAGE);\n}\n","import axios from 'axios';\n\nimport { getApiConfig } from '../../common/api-config';\nimport { ChainId } from '../../common/chains';\nimport { IEnvParam } from '../../common/parameters';\nimport { getErrorMessage } from '../../utils/err';\n\nexport interface IGetUserStakeAndBakeSignatureParams extends IEnvParam {\n /**\n * User's destination address\n */\n userDestinationAddress: string;\n /**\n * Chain ID\n */\n chainId: ChainId;\n}\n\nexport interface IGetUserStakeAndBakeSignatureResponse {\n /**\n * The user's destination address\n */\n userDestinationAddress: string;\n /**\n * The signature (may be empty if signature exists but not returned)\n */\n signature: string;\n /**\n * The expiration date\n */\n expirationDate: string;\n /**\n * The deposit amount\n */\n depositAmount: string;\n /**\n * The chain ID\n */\n chainId: string;\n /**\n * The nonce (increments with each new signature)\n */\n nonce?: string;\n}\n\ninterface IGetUserStakeAndBakeSignatureAPIResponse {\n user_destination_address: string;\n signature: string;\n expiration_date: string;\n deposit_amount: string;\n chain_id: string;\n nonce?: string;\n}\n\n/**\n * Get user's stake and bake signature from the API\n *\n * @param {IGetUserStakeAndBakeSignatureParams} parameters - Parameters for getting the signature\n * @param {string} parameters.userDestinationAddress - The destination account address.\n * @param {ChainId} parameters.chainId - The chain id.\n * @param {Env} parameters.env - The optional environment identifier.\n *\n * @returns {Promise<IGetUserStakeAndBakeSignatureResponse>} Promise that resolves to the signature response\n */\nexport async function getUserStakeAndBakeSignature({\n userDestinationAddress,\n chainId,\n env,\n}: IGetUserStakeAndBakeSignatureParams): Promise<IGetUserStakeAndBakeSignatureResponse> {\n const { baseApiUrl } = getApiConfig(env);\n\n try {\n const { data } = await axios.get<IGetUserStakeAndBakeSignatureAPIResponse>(\n `${baseApiUrl}/api/v1/claimer/get-user-stake-and-bake-signature`,\n {\n params: {\n userDestinationAddress,\n chainId: chainId.toString(),\n },\n },\n );\n\n return {\n userDestinationAddress: data.user_destination_address,\n signature: data.signature,\n expirationDate: data.expiration_date,\n depositAmount: data.deposit_amount,\n chainId: data.chain_id,\n nonce: data.nonce,\n };\n } catch (error) {\n const errorMessage = getErrorMessage(error);\n throw new Error(\n `Failed to get user stake and bake signature: ${errorMessage}`,\n );\n }\n}\n"],"names":["SANCTIONED_ADDRESS","ADDRESS_URL","SANCTIONS_MESSAGE","EXTRA_PARAMS_TOKENS","Token","SUPPORTED_TOKENS","generateDepositBtcAddress","address","token","chainId","signature","eip712Data","env","referrerCode","partnerId","captchaToken","signatureData","pubKey","baseApiUrl","getApiConfig","toChain","getChainNameById","additionalParams","BlockchainIdentifier","pad","tokenDataParams","getTokenContractInfo","AddressKind","err","TokenContractAddressNotFoundError","requestParams","data","axios","error","errorMsg","getErrorMessage","isSanctioned","getUserStakeAndBakeSignature","userDestinationAddress","errorMessage"],"mappings":";;;;;;AAyBO,MAAMA,IAAqB,sBAC5BC,IAAc,2BACdC,IAAoB,0CAgDpBC,IAAsB,CAACC,EAAM,MAAMA,EAAM,MAAMA,EAAM,IAAI,GACzDC,IAAmB,CAACD,EAAM,MAAMA,EAAM,MAAMA,EAAM,IAAI;AAoB5D,eAAsBE,EAA0B;AAAA,EAC9C,SAAAC;AAAA,EACA,OAAAC,IAAQJ,EAAM;AAAA,EACd,SAAAK;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,KAAAC;AAAA,EACA,cAAAC;AAAA,EACA,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,eAAAC;AAAA,EACA,QAAAC;AACF,GAAsD;AACpD,QAAM,EAAE,YAAAC,EAAA,IAAeC,EAAaP,CAAG,GACjCQ,IAAUC,EAAiBZ,CAAO;AAExC,MAAI,CAACJ,EAAiB,SAASG,CAAK;AAClC,UAAM,IAAI,MAAM,sBAAsBA,CAAK,EAAE;AAG/C,MAAIc,IAAmB,CAAA;AACvB,MAAIF,MAAYG,EAAqB,UAAU;AAE7C,QADAhB,IAAUiB,EAAIjB,GAAoB,EAAE,MAAM,IAAI,GAC1C,CAACU;AACH,YAAM,IAAI,MAAM,2BAA2B;AAG7C,IAAAK,IAAmB;AAAA,MACjB,YAAYL;AAAA,IAAA;AAAA,EAEhB;AA4BA,MAAIQ,IAAkB,CAAA;AACtB,MAAI;AACF,IACEtB,EAAoB,SAASK,CAAK;AAAA;AAAA,IAGlC,CACE;AAAA,MACEe,EAAqB;AAAA,MACrBA,EAAqB;AAAA,MACrBA,EAAqB;AAAA,IAAA,EAEvB,SAASH,CAAO,MAQlBK,IAAkB;AAAA,MAChB,gBAPwB,MAAMC;AAAA,QAC9BlB;AAAA,QACAC;AAAA,QACAG;AAAA,QACAe,EAAY;AAAA,MAAA,GAGqB;AAAA,IAAA;AAAA,EAGvC,SAASC,GAAK;AACZ,QACEA,aAAe,SACfA,aAAeC,KACf1B,EAAoB,SAASK,CAAK;AAElC,YAAM,IAAI;AAAA,QACR,2DAA2DA,CAAK,OAAOC,CAAO,aAAamB,EAAI,OAAO;AAAA,MAAA;AAAA,EAG5G;AAYA,QAAME,IAAgB;AAAA,IACpB,YAAYvB;AAAA,IACZ,sBAAsBG;AAAA,IACtB,UAAUU;AAAA,IACV,YAAYN;AAAA,IACZ,OAAO;AAAA,IACP,SAASC;AAAA,IACT,eAAeF;AAAA,IACf,cAAcF;AAAA,IACd,mBAAmBK;AAAA,IACnB,GAAGS;AAAA,IACH,GAAGH;AAAA,EAAA;AAGL,MAAI;AACF,UAAM,EAAE,MAAAS,EAAA,IAAS,MAAMC,EAAM;AAAA,MAC3B/B;AAAA,MACA6B;AAAA,MACA,EAAE,SAASZ,EAAA;AAAA,IAAW;AAGxB,WAAOa,EAAK;AAAA,EACd,SAASE,GAAO;AACd,UAAMC,IAAWC,EAAgBF,CAAK;AAEtC,QAAIG,EAAaF,CAAQ;AACvB,aAAOlC;AAET,UAAM,IAAI,MAAMkC,CAAQ;AAAA,EAC1B;AACF;AAEA,SAASE,EAAaF,GAA2B;AAC/C,SAAOA,EAAS,SAAShC,CAAiB;AAC5C;AC1KA,eAAsBmC,EAA6B;AAAA,EACjD,wBAAAC;AAAA,EACA,SAAA7B;AAAA,EACA,KAAAG;AACF,GAAwF;AACtF,QAAM,EAAE,YAAAM,EAAA,IAAeC,EAAaP,CAAG;AAEvC,MAAI;AACF,UAAM,EAAE,MAAAmB,EAAA,IAAS,MAAMC,EAAM;AAAA,MAC3B,GAAGd,CAAU;AAAA,MACb;AAAA,QACE,QAAQ;AAAA,UACN,wBAAAoB;AAAA,UACA,SAAS7B,EAAQ,SAAA;AAAA,QAAS;AAAA,MAC5B;AAAA,IACF;AAGF,WAAO;AAAA,MACL,wBAAwBsB,EAAK;AAAA,MAC7B,WAAWA,EAAK;AAAA,MAChB,gBAAgBA,EAAK;AAAA,MACrB,eAAeA,EAAK;AAAA,MACpB,SAASA,EAAK;AAAA,MACd,OAAOA,EAAK;AAAA,IAAA;AAAA,EAEhB,SAASE,GAAO;AACd,UAAMM,IAAeJ,EAAgBF,CAAK;AAC1C,UAAM,IAAI;AAAA,MACR,gDAAgDM,CAAY;AAAA,IAAA;AAAA,EAEhE;AACF;"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { p as r } from "./index-CfcQ_g3t.js";
|
|
2
|
-
import { E as n } from "./token-addresses-FKpA3uc4.js";
|
|
3
|
-
function c(t = r) {
|
|
4
|
-
var o;
|
|
5
|
-
return ((o = n) == null ? void 0 : o[t]) || {};
|
|
6
|
-
}
|
|
7
|
-
export {
|
|
8
|
-
c as g
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=lbtc-addresses-BLRmtR3c.js.map
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import t from "bignumber.js";
|
|
2
|
-
t(0);
|
|
3
|
-
t(1);
|
|
4
|
-
function r(o) {
|
|
5
|
-
const e = t(o);
|
|
6
|
-
if (!e.isInteger())
|
|
7
|
-
throw new Error(
|
|
8
|
-
`toBigInt received non-integer value "${o}". Convert to base units first: use toSatoshi() for BTC or toBaseDenomination() for tokens.`
|
|
9
|
-
);
|
|
10
|
-
return BigInt(e.toFixed(0));
|
|
11
|
-
}
|
|
12
|
-
export {
|
|
13
|
-
r as t
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=numbers-CM-lcmt4.js.map
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import i from "bignumber.js";
|
|
2
|
-
const n = 8, o = i(10).pow(n);
|
|
3
|
-
function s(t) {
|
|
4
|
-
return i(t).dividedBy(o);
|
|
5
|
-
}
|
|
6
|
-
function a(t) {
|
|
7
|
-
return i(t).multipliedBy(o).decimalPlaces(0, i.ROUND_HALF_UP);
|
|
8
|
-
}
|
|
9
|
-
function e(t) {
|
|
10
|
-
return BigInt(a(t).toFixed(0));
|
|
11
|
-
}
|
|
12
|
-
export {
|
|
13
|
-
n as B,
|
|
14
|
-
o as S,
|
|
15
|
-
e as a,
|
|
16
|
-
s as f,
|
|
17
|
-
a as t
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=satoshi-Ch6y8aYG.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var nt=Object.defineProperty;var st=(n,e,t)=>e in n?nt(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var N=(n,e,t)=>st(n,typeof e!="symbol"?e+"":e,t);const T=require("./index-BKzxeh1Y.cjs"),$=require("./defi-registry-BIRv_zkp.cjs"),M=require("./token-addresses-DRBecUa7.cjs"),rt=require("bitcoinjs-lib"),at=require("./constants-BBK-JNcY.cjs");function it(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const ye=it(rt),Be="4.3.2",ot="@lombard.finance/sdk",ct=typeof window<"u"&&typeof window.document<"u"?"browser":typeof process<"u"&&process.versions&&process.versions.node?"node":"unknown";var Me=(n=>(n.UNKNOWN_ERROR="unknown-error",n.INVALID_CONFIGURATION="invalid-configuration",n.OPERATION_TIMEOUT="operation-timeout",n.OPERATION_CANCELLED="operation-cancelled",n))(Me||{}),Ve=(n=>(n.PROVIDER_MISSING="provider-missing",n.PROVIDER_INITIALIZATION_FAILED="provider-initialization-failed",n.PROVIDER_CALL_FAILED="provider-call-failed",n.SIGNER_MISSING="signer-missing",n.USER_REJECTED="user-rejected",n.NETWORK_MISMATCH="network-mismatch",n))(Ve||{}),Ue=(n=>(n.ROUTE_NOT_FOUND="route-not-found",n.INVALID_ROUTE_DEFINITION="invalid-route-definition",n.UNSUPPORTED_CHAIN="unsupported-chain",n.UNSUPPORTED_ASSET="unsupported-asset",n.INCOMPATIBLE_ROUTE="incompatible-route",n.ENVIRONMENT_MISMATCH="environment-mismatch",n))(Ue||{}),P=(n=>(n.INVALID_ADDRESS="invalid-address",n.INVALID_AMOUNT="invalid-amount",n.AMOUNT_TOO_SMALL="amount-too-small",n.AMOUNT_TOO_LARGE="amount-too-large",n.INSUFFICIENT_BALANCE="insufficient-balance",n.INVALID_PARAMETER="invalid-parameter",n.MISSING_REQUIRED_PARAMETER="missing-required-parameter",n.INVALID_CHAIN="invalid-chain",n.INVALID_STATE="invalid-state",n.INVALID_ASSET="invalid-asset",n))(P||{}),Ze=(n=>(n.CONTRACT_CALL_FAILED="contract-call-failed",n.TRANSACTION_FAILED="transaction-failed",n.TRANSACTION_REVERTED="transaction-reverted",n.APPROVAL_FAILED="approval-failed",n.INSUFFICIENT_ALLOWANCE="insufficient-allowance",n.GAS_ESTIMATION_FAILED="gas-estimation-failed",n))(Ze||{}),$e=(n=>(n.INSUFFICIENT_SHARES="withdraw-insufficient-shares",n.INVALID_AMOUNT="withdraw-invalid-amount",n.NO_PENDING_WITHDRAWAL="withdraw-no-pending",n.WITHDRAWAL_ALREADY_FULFILLED="withdraw-already-fulfilled",n.WITHDRAWAL_EXPIRED="withdraw-expired",n.WITHDRAWAL_NOT_FOUND="withdraw-not-found",n.PROTOCOL_NOT_SUPPORTED="withdraw-protocol-not-supported",n.INSUFFICIENT_LIQUIDITY="withdraw-insufficient-liquidity",n))($e||{});class E extends Error{constructor(t,s,r){super(s);N(this,"code");N(this,"metadata");N(this,"sdkVersion",Be);N(this,"timestamp",new Date().toISOString());this.name="LombardError",this.code=t,this.metadata=r,Error.captureStackTrace&&Error.captureStackTrace(this,E)}toJSON(){return{name:this.name,code:this.code,message:this.message,sdkVersion:this.sdkVersion,timestamp:this.timestamp,...this.metadata&&{metadata:this.metadata},...this.stack&&{stack:this.stack}}}toSentryContext(){return{"sdk.version":this.sdkVersion,"error.code":this.code,"error.timestamp":this.timestamp,...this.metadata}}static invalidConfiguration(t){return new E("invalid-configuration",t)}static providerMissing(t,s){return new E("provider-missing",`${s} provider not configured for chain ${t}. Please provide a provider via SDK initialization.`,{chain:t,providerType:s})}static moduleMissing(t){return new E("invalid-parameter",`Module "${t}" is not registered. Install and register the corresponding package via createConfig({ modules: [...] }).`,{moduleId:t})}static providerCallFailed(t,s){const r=s instanceof Error?s.message:s;return new E("provider-call-failed",`Provider method ${t} failed: ${r}`,{method:t,cause:r})}static userRejected(t){return new E("user-rejected",`User rejected ${t}. Please try again and approve the transaction in your wallet.`,{operation:t})}static routeNotFound(t){return new E("route-not-found","No route found matching the provided parameters. Please verify the asset and chain combination is supported.",t)}static invalidRouteDefinition(t){return new E("invalid-route-definition",`Invalid route definition: ${t}`,{reason:t})}static unsupportedChain(t){return new E("unsupported-chain",`Chain ${t} is not supported in the current environment.`,{chain:t})}static invalidParameter(t,s){return new E("invalid-parameter",s,{parameter:t})}static invalidAddress(t,s){return new E("invalid-address",`Invalid address format: ${t}${s?` for chain ${s}`:""}`,{address:t,chain:s})}static invalidAmount(t){return new E("invalid-amount",t,{reason:t})}static amountTooSmall(t,s,r){return new E("amount-too-small",`Amount ${t} is below minimum ${s} ${r}`,{amount:t,minimum:s,asset:r})}static insufficientBalance(t,s,r){return new E("insufficient-balance",`Insufficient ${r} balance. Required: ${t}, Available: ${s}`,{required:t,available:s,asset:r})}static missingParameter(t){return new E("missing-required-parameter",`Required parameter "${t}" is missing`,{parameterName:t})}static transactionFailed(t,s){return new E("transaction-failed",`Transaction failed: ${s}`,{txHash:t,reason:s})}static transactionReverted(t,s){return new E("transaction-reverted",`Transaction reverted${s?`: ${s}`:""}`,{txHash:t,revertReason:s})}static approvalFailed(t,s){return new E("approval-failed",`Failed to approve ${t} for spender ${s}`,{token:t,spender:s})}}function Fe(n){return n instanceof E}function de(n){return Fe(n)?n:n instanceof Error?new E("unknown-error",n.message,{originalError:n.stack}):new E("unknown-error",String(n),{originalValue:n})}const p={BIP122:"bip122",EIP155:"eip155",SOLANA:"solana",STARKNET:"starknet",SUI:"sui",ZCASH:"zcash",RIPPLE:"ripple",DOGECOIN:"dogecoin",HYPERLIQUID:"hyperliquid"},oe=":",y=(n,e)=>`${n}${oe}${e}`,c={BITCOIN_MAINNET:y(p.BIP122,"000000000019d6689c085ae165831e93"),BITCOIN_SIGNET:y(p.BIP122,"00000008819873e925422c1ff0f99f7c"),ETHEREUM:y(p.EIP155,1),BASE:y(p.EIP155,8453),BASE_SEPOLIA:y(p.EIP155,84532),OPTIMISM:y(p.EIP155,10),POLYGON:y(p.EIP155,137),BSC:y(p.EIP155,56),BSC_TESTNET:y(p.EIP155,97),AVALANCHE:y(p.EIP155,43114),AVALANCHE_FUJI:y(p.EIP155,43113),BERACHAIN:y(p.EIP155,80094),BERACHAIN_BARTIO:y(p.EIP155,80084),BOB:y(p.EIP155,60808),CORN:y(p.EIP155,21e6),ETHERLINK:y(p.EIP155,42793),KATANA:y(p.EIP155,747474),MORPH:y(p.EIP155,2818),SONIC:y(p.EIP155,146),SONIC_TESTNET:y(p.EIP155,57054),SONIC_BLAZE_TESTNET:y(p.EIP155,57054),SWELL:y(p.EIP155,1923),TAC:y(p.EIP155,239),SEPOLIA:y(p.EIP155,11155111),HOLESKY:y(p.EIP155,17e3),MEGAETH:y(p.EIP155,4326),MONAD:y(p.EIP155,143),STABLE:y(p.EIP155,988),SOLANA_MAINNET:y(p.SOLANA,"5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"),SOLANA_DEVNET:y(p.SOLANA,"EtWTRABZaYq6iMfeYKouRu166VU2xqa1"),SOLANA_TESTNET:y(p.SOLANA,"4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z"),SUI_MAINNET:y(p.SUI,"mainnet"),SUI_TESTNET:y(p.SUI,"testnet"),SUI_DEVNET:y(p.SUI,"devnet"),STARKNET_MAINNET:y(p.STARKNET,"SN_MAIN"),STARKNET_SEPOLIA:y(p.STARKNET,"SN_SEPOLIA"),ZCASH_MAINNET:y(p.ZCASH,"mainnet"),ZCASH_TESTNET:y(p.ZCASH,"testnet"),RIPPLE_MAINNET:y(p.RIPPLE,"mainnet"),RIPPLE_TESTNET:y(p.RIPPLE,"testnet"),DOGECOIN_MAINNET:y(p.DOGECOIN,"mainnet"),DOGECOIN_TESTNET:y(p.DOGECOIN,"testnet"),HYPERLIQUID:y(p.HYPERLIQUID,"mainnet")};function dt(n){return Object.keys(c).find(e=>c[e]===n)??""}function ut(n){return typeof n=="string"&&Object.values(c).includes(n)}const j={[c.BITCOIN_MAINNET]:{name:"Bitcoin",type:"bitcoin",isTestnet:!1,explorerUrl:"https://mempool.space",nativeCurrency:"BTC",badgeVariant:"warning"},[c.BITCOIN_SIGNET]:{name:"Bitcoin Signet",type:"bitcoin",isTestnet:!0,explorerUrl:"https://mempool.space/signet",nativeCurrency:"BTC",badgeVariant:"warning"},[c.ETHEREUM]:{name:"Ethereum",type:"evm",isTestnet:!1,explorerUrl:"https://etherscan.io",nativeCurrency:"ETH",badgeVariant:"info"},[c.BASE]:{name:"Base",type:"evm",isTestnet:!1,explorerUrl:"https://basescan.org",nativeCurrency:"ETH",badgeVariant:"info"},[c.OPTIMISM]:{name:"Optimism",type:"evm",isTestnet:!1,explorerUrl:"https://optimistic.etherscan.io",nativeCurrency:"ETH",badgeVariant:"info"},[c.POLYGON]:{name:"Polygon",type:"evm",isTestnet:!1,explorerUrl:"https://polygonscan.com",nativeCurrency:"MATIC",badgeVariant:"info"},[c.BSC]:{name:"BNB Chain",type:"evm",isTestnet:!1,explorerUrl:"https://bscscan.com",nativeCurrency:"BNB",badgeVariant:"info"},[c.AVALANCHE]:{name:"Avalanche",type:"evm",isTestnet:!1,explorerUrl:"https://snowtrace.io",nativeCurrency:"AVAX",badgeVariant:"info"},[c.BERACHAIN]:{name:"Berachain",type:"evm",isTestnet:!1,explorerUrl:"https://beratrail.io",nativeCurrency:"BERA",badgeVariant:"info"},[c.BOB]:{name:"BOB",type:"evm",isTestnet:!1,explorerUrl:"https://explorer.gobob.xyz",nativeCurrency:"ETH",badgeVariant:"info"},[c.CORN]:{name:"Corn",type:"evm",isTestnet:!1,explorerUrl:"https://cornscan.io",nativeCurrency:"BTCN",badgeVariant:"info"},[c.ETHERLINK]:{name:"Etherlink",type:"evm",isTestnet:!1,explorerUrl:"https://explorer.etherlink.com",nativeCurrency:"XTZ",badgeVariant:"info"},[c.KATANA]:{name:"Katana",type:"evm",isTestnet:!1,explorerUrl:"https://explorer.katanarpc.com",nativeCurrency:"BTC.b",badgeVariant:"info"},[c.MORPH]:{name:"Morph",type:"evm",isTestnet:!1,explorerUrl:"https://explorer.morphl2.io",nativeCurrency:"ETH",badgeVariant:"info"},[c.SONIC]:{name:"Sonic",type:"evm",isTestnet:!1,explorerUrl:"https://sonicscan.org",nativeCurrency:"S",badgeVariant:"info"},[c.SWELL]:{name:"Swell",type:"evm",isTestnet:!1,explorerUrl:"https://explorer.swellnetwork.io",nativeCurrency:"ETH",badgeVariant:"info"},[c.TAC]:{name:"TAC",type:"evm",isTestnet:!1,explorerUrl:"https://explorer.tac.build",nativeCurrency:"TAC",badgeVariant:"info"},[c.MEGAETH]:{name:"MegaETH",type:"evm",isTestnet:!1,explorerUrl:"https://megaeth.blockscout.com",nativeCurrency:"ETH",badgeVariant:"info"},[c.MONAD]:{name:"Monad",type:"evm",isTestnet:!1,explorerUrl:"https://monadvision.com",nativeCurrency:"MONAD",badgeVariant:"info"},[c.STABLE]:{name:"Stable",type:"evm",isTestnet:!1,explorerUrl:"https://stablescan.xyz",nativeCurrency:"USD",badgeVariant:"info"},[c.BASE_SEPOLIA]:{name:"Base Sepolia",type:"evm",isTestnet:!0,explorerUrl:"https://sepolia.basescan.org",nativeCurrency:"ETH",badgeVariant:"secondary"},[c.BSC_TESTNET]:{name:"BNB Testnet",type:"evm",isTestnet:!0,explorerUrl:"https://testnet.bscscan.com",nativeCurrency:"BNB",badgeVariant:"secondary"},[c.AVALANCHE_FUJI]:{name:"Avalanche Fuji",type:"evm",isTestnet:!0,explorerUrl:"https://testnet.snowtrace.io",nativeCurrency:"AVAX",badgeVariant:"secondary"},[c.BERACHAIN_BARTIO]:{name:"Berachain Bartio",type:"evm",isTestnet:!0,explorerUrl:"https://bartio.beratrail.io",nativeCurrency:"BERA",badgeVariant:"secondary"},[c.SONIC_TESTNET]:{name:"Sonic Blaze Testnet",type:"evm",isTestnet:!0,explorerUrl:"https://testnet.sonicscan.org",nativeCurrency:"S",badgeVariant:"secondary"},[c.SEPOLIA]:{name:"Sepolia",type:"evm",isTestnet:!0,explorerUrl:"https://sepolia.etherscan.io",nativeCurrency:"ETH",badgeVariant:"secondary"},[c.HOLESKY]:{name:"Holesky",type:"evm",isTestnet:!0,explorerUrl:"https://holesky.etherscan.io",nativeCurrency:"ETH",badgeVariant:"secondary"},[c.SOLANA_MAINNET]:{name:"Solana",type:"solana",isTestnet:!1,explorerUrl:"https://solscan.io",nativeCurrency:"SOL",badgeVariant:"success"},[c.SOLANA_DEVNET]:{name:"Solana Devnet",type:"solana",isTestnet:!0,explorerUrl:"https://solscan.io?cluster=devnet",nativeCurrency:"SOL",badgeVariant:"secondary"},[c.SOLANA_TESTNET]:{name:"Solana Testnet",type:"solana",isTestnet:!0,explorerUrl:"https://solscan.io?cluster=testnet",nativeCurrency:"SOL",badgeVariant:"secondary"},[c.SUI_MAINNET]:{name:"Sui",type:"sui",isTestnet:!1,explorerUrl:"https://suiscan.xyz",nativeCurrency:"SUI",badgeVariant:"info"},[c.SUI_TESTNET]:{name:"Sui Testnet",type:"sui",isTestnet:!0,explorerUrl:"https://suiscan.xyz/testnet",nativeCurrency:"SUI",badgeVariant:"secondary"},[c.SUI_DEVNET]:{name:"Sui Devnet",type:"sui",isTestnet:!0,explorerUrl:"https://suiscan.xyz/devnet",nativeCurrency:"SUI",badgeVariant:"secondary"},[c.STARKNET_MAINNET]:{name:"Starknet",type:"starknet",isTestnet:!1,explorerUrl:"https://starkscan.co",nativeCurrency:"ETH",badgeVariant:"info"},[c.STARKNET_SEPOLIA]:{name:"Starknet Sepolia",type:"starknet",isTestnet:!0,explorerUrl:"https://sepolia.starkscan.co",nativeCurrency:"ETH",badgeVariant:"secondary"},[c.ZCASH_MAINNET]:{name:"Zcash",type:"zcash",isTestnet:!1,explorerUrl:"https://zcashblockexplorer.com",nativeCurrency:"ZEC",badgeVariant:"warning"},[c.ZCASH_TESTNET]:{name:"Zcash Testnet",type:"zcash",isTestnet:!0,nativeCurrency:"ZEC",badgeVariant:"secondary"},[c.RIPPLE_MAINNET]:{name:"XRP Ledger",type:"ripple",isTestnet:!1,explorerUrl:"https://xrpscan.com",nativeCurrency:"XRP",badgeVariant:"secondary"},[c.RIPPLE_TESTNET]:{name:"XRP Testnet",type:"ripple",isTestnet:!0,nativeCurrency:"XRP",badgeVariant:"secondary"},[c.DOGECOIN_MAINNET]:{name:"Dogecoin",type:"dogecoin",isTestnet:!1,explorerUrl:"https://dogechain.info",nativeCurrency:"DOGE",badgeVariant:"warning"},[c.DOGECOIN_TESTNET]:{name:"Dogecoin Testnet",type:"dogecoin",isTestnet:!0,nativeCurrency:"DOGE",badgeVariant:"secondary"},[c.HYPERLIQUID]:{name:"Hyperliquid",type:"hyperliquid",isTestnet:!1,nativeCurrency:"USDC",badgeVariant:"secondary"}},lt={"5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp":M.SOLANA_MAINNET_CHAIN,EtWTRABZaYq6iMfeYKouRu166VU2xqa1:M.SOLANA_DEVNET_CHAIN,"4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z":M.SOLANA_TESTNET_CHAIN},ft={SN_MAIN:M.STARKNET_MAINNET_CHAIN,SN_SEPOLIA:M.STARKNET_SEPOLIA_CHAIN};function ht(n){return ft[n]}function mt(n){return j[n]}function pt(n){return j[n].name}function gt(n){return j[n].type}function vt(n){return j[n].isTestnet}function yt(n){return!j[n].isTestnet}function pe(n){return j[n].type==="evm"}const ee=n=>`${n}${oe}`;function _t(n){const e=ee(p.EIP155);if(n.startsWith(e)){const a=Number.parseInt(n.slice(e.length),10);if(M.isValidChain(a))return a;throw new E(P.INVALID_CHAIN,`Invalid EVM chain: ${n}`)}const t=ee(p.SOLANA);if(n.startsWith(t)){const a=n.slice(t.length),i=`solana:${a}`;if(M.isSolanaChain(i))return i;const o=lt[a];if(o)return o;throw new E(P.INVALID_CHAIN,`Invalid Solana chain: ${n}`)}const s=ee(p.SUI);if(n.startsWith(s)){if(M.isSuiChain(n))return n;throw new E(P.INVALID_CHAIN,`Invalid Sui chain: ${n}`)}const r=ee(p.STARKNET);if(n.startsWith(r)){const a=n.slice(r.length),i=ht(a);if(i)return i;throw new E(P.INVALID_CHAIN,`Invalid Starknet chain: ${n}`)}throw new E(P.INVALID_CHAIN,`Invalid chain: ${n}`)}function At(n){return`${p.EIP155}${oe}${n}`}const I={version:"1.0.0",assets:{[$.AssetId.LBTC]:{decimals:8,symbol:"LBTC",name:"Lombard BTC",deployments:[{env:T.r.prod,chain:c.ETHEREUM,address:"0x8236a87084f8b84306f72007f36f2618a5634494"},{env:T.r.prod,chains:[c.BASE,c.BSC,c.BERACHAIN,c.CORN,c.KATANA,c.MORPH,c.SONIC,c.SWELL,c.TAC,c.MONAD,c.STABLE],address:"0xecAc9C5F704e954931349Da37F60E39f515c11c1"},{env:T.r.prod,chain:c.BOB,address:"0xA45d4121b3D47719FF57a947A9d961539Ba33204"},{env:T.r.prod,chain:c.SOLANA_MAINNET,address:"LomP48F7bLbKyMRHHsDVt7wuHaUQvQnVVspjcbfuAek"},{env:T.r.prod,chain:c.SUI_MAINNET,address:"0x3e8e9423d80e1774a7ca128fccd8bf5f1f7753be658c5e645929037f7c819040"},{env:T.r.prod,chain:c.STARKNET_MAINNET,address:"0x036834a40984312f7f7de8d31e3f6305b325389eaeea5b1c0664b2fb936461a4",assetRouter:"0x05b1886d0f844ab930fc0ee066f1655a873437f15a5d2c41ee3e884fd5299976"},{env:T.r.testnet,chain:c.SEPOLIA,address:"0xc47e4b3124597fdf8dd07843d4a7052f2ee80c30"},{env:T.r.testnet,chains:[c.AVALANCHE_FUJI,c.BASE_SEPOLIA,c.BSC_TESTNET],address:"0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5"},{env:T.r.testnet,chain:c.SOLANA_TESTNET,address:"79cscM6J9Af24TGGWcXyDf56fDLoodkyXdVy4R9aZ6C6"},{env:T.r.testnet,chain:c.SUI_TESTNET,address:"0x50454d0b0fbad1288a6ab74f2e8ce0905a3317870673ab7787ebcf6f322b45fa"},{env:T.r.testnet,chain:c.STARKNET_SEPOLIA,address:"0x00456a829ab75ba5e97534dc70d7fc617cfda244f8dcda47b11624de67c6e70c",assetRouter:"0x063b7b5c8b114ebd5b9602fbd5d0ffd2cc3a598f1d91c6904cc0997cd8fea760"},{env:T.r.stage,chains:[c.BASE_SEPOLIA,c.BSC_TESTNET,c.SEPOLIA],address:"0x731eFa688F3679688cf60A3993b8658138953ED6"},{env:T.r.stage,chain:c.SOLANA_DEVNET,address:"HEY7PCJe3GB27UWdopuYb1xDbB5SNtTcYPxRjntvfBSA"},{env:T.r.stage,chain:c.SUI_TESTNET,address:"0x2d66430a27565b912f21be970e5ae1e8c0359f0b518c3235b751c75976791ce0"},{env:T.r.stage,chain:c.STARKNET_SEPOLIA,address:"0x00b442f5420860e937a99659326e81a97e07bfd538b3cee65b90029c9da38a5f",assetRouter:"0x01d27f156092746d0d7cd9d9deec5e937f27c3c7c1c28365e9e5efac459880b3"},{env:T.r.dev,chain:c.SEPOLIA,address:"0x93283b6B889C591893dB0dc93baD71656D5d8923"},{env:T.r.dev,chains:[c.AVALANCHE_FUJI,c.BASE_SEPOLIA,c.BERACHAIN_BARTIO,c.BSC_TESTNET],address:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30"},{env:T.r.dev,chain:c.STARKNET_SEPOLIA,address:"0x0723de0c550b7bfbb5051dade72966d71a08bef952c0197462a5244497eb57c1",assetRouter:"0x04838a05c798dc57e01e85526979841c84f1f3c732a525cff53adb3e8bee3d24"}]},[$.AssetId.BTCb]:{decimals:8,symbol:"BTC.b",name:"BTC.b",deployments:[{env:T.r.prod,chains:[c.KATANA,c.MEGAETH,c.MONAD,c.STABLE],address:"0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072"},{env:T.r.prod,chain:c.AVALANCHE,address:"0x152b9d0FdC40C096757F570A51E494bd4b943E50",bridgeAdapter:"0x85D1D52e11290F174444d21C2a167bEDBE36e4d2"},{env:T.r.testnet,chain:c.SEPOLIA,address:"0x20eA7b8ABb4B583788F1DFC738C709a2d9675681"},{env:T.r.testnet,chain:c.AVALANCHE_FUJI,address:"0x7FbdC44BfEBDe80C970ba622B678daB36cee31f6",bridgeAdapter:"0x0A65C37d07c32E5eA8ea40495b7f249cdE26935e"},{env:T.r.stage,chain:c.SEPOLIA,address:"0x600e4006278EB11FA1691cA0FE6C5fcfC4992d58"},{env:T.r.dev,chain:c.SEPOLIA,address:"0x195219A262423d209E126BD21cf4F4F9AA796927"},{env:T.r.dev,chain:c.BSC_TESTNET,address:"0xea3F66E5f2928dB9673103BfA01a2153A57a8050"},{env:T.r.dev,chain:c.AVALANCHE_FUJI,address:"0x7FbdC44BfEBDe80C970ba622B678daB36cee31f6",bridgeAdapter:"0x0A65C37d07c32E5eA8ea40495b7f249cdE26935e"},{env:T.r.ibc,chain:c.AVALANCHE_FUJI,address:"0x71ba2b8dc58e7ca1b6d81a60729e31aefa37ae02",bridgeAdapter:"0x1391f9AC408cf13214DDB71d359002658eaF9ebb"}]},[$.AssetId.BTCBinance]:{decimals:18,symbol:"BTCB",name:"Binance-Peg BTCB",deployments:[{env:T.r.prod,chain:c.BSC,address:"0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c",publicMarketMaker:"0xE4ff44a615dF38e37cdF475833c1d57774CC9D4A"},{env:T.r.testnet,chain:c.BSC_TESTNET,address:"0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c",publicMarketMaker:"0x63749Acfc2527A8406E8BC8c93A80f29FDD75e27"},{env:T.r.stage,chain:c.BSC_TESTNET,address:"0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c",publicMarketMaker:"0x440362b55D4a255EBA3c27C650d2dC1a91Db85bA"},{env:T.r.dev,chain:c.BSC_TESTNET,address:"0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c",publicMarketMaker:"0x440362b55D4a255EBA3c27C650d2dC1a91Db85bA"}]},[$.AssetId.cbBTC]:{decimals:8,symbol:"cbBTC",name:"Coinbase Wrapped BTC",deployments:[{env:T.r.prod,chains:[c.ETHEREUM,c.BASE],address:"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",publicMarketMaker:"0x92c01FC0F59857c6E920EdFf1139904b2Bb74c7c"}]},[$.AssetId.eBTC]:{decimals:8,symbol:"eBTC",deployments:[{env:T.r.prod,chain:c.ETHEREUM,address:"0x657e8c867d8b37dcc18fa4caead9c45eb088c642"}]},[$.AssetId.WBTC]:{decimals:8,symbol:"WBTC",deployments:[{env:T.r.prod,chain:c.ETHEREUM,address:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"}]},[$.AssetId.WBTCN]:{decimals:8,symbol:"wBTCN",deployments:[{env:T.r.prod,chain:c.CORN,address:"0xda5dDd7270381A7C2717aD10D1c0ecB19e3CDFb2"}]}}},Tt=8;function J(n,e,t,s){const r=n.assets[e];if(r)return r.deployments.find(a=>{var i;return a.env===t&&(a.chain===s||((i=a.chains)==null?void 0:i.includes(s)))})}function Et(n,e,t,s=I){var r;return(r=J(s,n,e,t))==null?void 0:r.address}function bt(n,e=I){var t;return((t=e.assets[n])==null?void 0:t.decimals)??Tt}function xt(n,e,t,s=I){var r;return(r=J(s,n,e,t))==null?void 0:r.assetRouter}function St(n,e,t,s=I){var r;return!!((r=J(s,n,e,t))!=null&&r.assetRouter)}function It(n,e,t,s=I){var r;return(r=J(s,n,e,t))==null?void 0:r.bridgeAdapter}function Nt(n,e,t,s=I){var r;return(r=J(s,n,e,t))==null?void 0:r.publicMarketMaker}function Ct(n,e,t,s=I){return!!J(s,n,e,t)}function kt(n,e,t,s=I){const r=n.toLowerCase();for(const[a,i]of Object.entries(s.assets)){if(!i)continue;if(i.deployments.find(u=>{var h;return u.env===e&&(u.chain===t||((h=u.chains)==null?void 0:h.includes(t)))&&u.address.toLowerCase()===r}))return a}}function wt(n,e,t=I){const s=t.assets[n];if(!s)return[];const r=[];for(const a of s.deployments)a.env===e&&(a.chain&&r.push(a.chain),a.chains&&r.push(...a.chains));return r}function Ot(n,e,t=I){var a;const s=t.assets[n];if(!s)return[];const r=new Set;for(const i of s.deployments)(i.chain===e||(a=i.chains)!=null&&a.includes(e))&&r.add(i.env);return Array.from(r)}function Rt(n=I){return Object.keys(n.assets)}function Lt(n,e=I){const t=e.assets[n];if(!t)return[];const s=new Set;for(const r of t.deployments)r.chain&&s.add(r.chain),r.chains&&r.chains.forEach(a=>s.add(a));return Array.from(s)}function te(n,e,t=I){const s=t.assets[n];if(!s)return[];const r=new Set;for(const a of s.deployments)e.includes(a.env)&&(a.chain&&r.add(a.chain),a.chains&&a.chains.forEach(i=>r.add(i)));return Array.from(r)}function Dt(n,e=I){const t=e.assets[n];if(t)return{decimals:t.decimals,symbol:t.symbol,name:t.name}}function Pt(n,e,t=I){return te(n,e,t).filter(s=>pe(s))}function Bt(n,e,t=I){if(n.length===0)return[];const s=new Set(te(n[0],e,t));for(let r=1;r<n.length;r++){const a=new Set(te(n[r],e,t));for(const i of s)a.has(i)||s.delete(i)}return Array.from(s)}function Mt(n,e,t=I){return Bt(n,e,t).filter(s=>pe(s))}class je{constructor(e){N(this,"config");this.config=e}getPartnerId(){var e;return(e=this.config)==null?void 0:e.partnerId}isConfigured(){return this.config!==void 0}update(e){this.config=e}clear(){this.config=void 0}}function ge(n,e){let t;switch(e){case"evm":t=n.evm;break;case"bitcoin":t=n.bitcoin;break;case"solana":t=n.solana;break;case"sui":t=n.sui;break;case"starknet":t=n.starknet;break;default:t=void 0}return t}class He{constructor(e,t){N(this,"modules",new Map);N(this,"services",new Map);N(this,"shared",new Map);this.config=t,e.forEach(s=>this.modules.set(s.id,s))}require(e){const t=this.modules.get(e);if(!t)throw E.moduleMissing(e);return this.services.has(t.id)||this.services.set(t.id,t.register(this.createContext())),this.services.get(t.id)}optional(e){const t=this.modules.get(e);return t?(this.services.has(t.id)||this.services.set(t.id,t.register(this.createContext())),this.services.get(t.id)):null}createContext(){return{env:this.config.env,getProvider:async e=>{const t=ge(this.config.providers,e);if(t)return await t()},getShared:e=>this.shared.get(e),setShared:(e,t)=>{this.shared.set(e,t)}}}}function Vt(n){return async e=>{const t=ge(n.providers,e);if(t)return t()}}const _e=new WeakMap;function ze(n){let e=_e.get(n);return e||(e=new He(n.modules,n),_e.set(n,e)),e}function qe(n){return{env:n.env,partner:new je(n.partner),getProvider:Vt(n),logger:void 0}}function Ut(n){const e=qe(n),t=ze(n),s=t.require("btc"),r=t.require("api");return{...e,btc:s,api:r,capabilities:t}}function Zt(n){const e=qe(n),s=ze(n).require("evm");return{...e,evm:s}}const $t={IDLE:"idle",PREPARING:"preparing",READY:"ready",EXECUTING:"executing",COMPLETED:"completed",FAILED:"failed"},Ft={IDLE:"idle",PENDING:"pending",COMPLETE:"complete",FAILED:"failed"};var x;(function(n){n.assertEqual=r=>{};function e(r){}n.assertIs=e;function t(r){throw new Error}n.assertNever=t,n.arrayToEnum=r=>{const a={};for(const i of r)a[i]=i;return a},n.getValidEnumValues=r=>{const a=n.objectKeys(r).filter(o=>typeof r[r[o]]!="number"),i={};for(const o of a)i[o]=r[o];return n.objectValues(i)},n.objectValues=r=>n.objectKeys(r).map(function(a){return r[a]}),n.objectKeys=typeof Object.keys=="function"?r=>Object.keys(r):r=>{const a=[];for(const i in r)Object.prototype.hasOwnProperty.call(r,i)&&a.push(i);return a},n.find=(r,a)=>{for(const i of r)if(a(i))return i},n.isInteger=typeof Number.isInteger=="function"?r=>Number.isInteger(r):r=>typeof r=="number"&&Number.isFinite(r)&&Math.floor(r)===r;function s(r,a=" | "){return r.map(i=>typeof i=="string"?`'${i}'`:i).join(a)}n.joinValues=s,n.jsonStringifyReplacer=(r,a)=>typeof a=="bigint"?a.toString():a})(x||(x={}));var Ae;(function(n){n.mergeShapes=(e,t)=>({...e,...t})})(Ae||(Ae={}));const f=x.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),D=n=>{switch(typeof n){case"undefined":return f.undefined;case"string":return f.string;case"number":return Number.isNaN(n)?f.nan:f.number;case"boolean":return f.boolean;case"function":return f.function;case"bigint":return f.bigint;case"symbol":return f.symbol;case"object":return Array.isArray(n)?f.array:n===null?f.null:n.then&&typeof n.then=="function"&&n.catch&&typeof n.catch=="function"?f.promise:typeof Map<"u"&&n instanceof Map?f.map:typeof Set<"u"&&n instanceof Set?f.set:typeof Date<"u"&&n instanceof Date?f.date:f.object;default:return f.unknown}},d=x.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class L extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=s=>{this.issues=[...this.issues,s]},this.addIssues=(s=[])=>{this.issues=[...this.issues,...s]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){const t=e||function(a){return a.message},s={_errors:[]},r=a=>{for(const i of a.issues)if(i.code==="invalid_union")i.unionErrors.map(r);else if(i.code==="invalid_return_type")r(i.returnTypeError);else if(i.code==="invalid_arguments")r(i.argumentsError);else if(i.path.length===0)s._errors.push(t(i));else{let o=s,u=0;for(;u<i.path.length;){const h=i.path[u];u===i.path.length-1?(o[h]=o[h]||{_errors:[]},o[h]._errors.push(t(i))):o[h]=o[h]||{_errors:[]},o=o[h],u++}}};return r(this),s}static assert(e){if(!(e instanceof L))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,x.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},s=[];for(const r of this.issues)if(r.path.length>0){const a=r.path[0];t[a]=t[a]||[],t[a].push(e(r))}else s.push(e(r));return{formErrors:s,fieldErrors:t}}get formErrors(){return this.flatten()}}L.create=n=>new L(n);const ue=(n,e)=>{let t;switch(n.code){case d.invalid_type:n.received===f.undefined?t="Required":t=`Expected ${n.expected}, received ${n.received}`;break;case d.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(n.expected,x.jsonStringifyReplacer)}`;break;case d.unrecognized_keys:t=`Unrecognized key(s) in object: ${x.joinValues(n.keys,", ")}`;break;case d.invalid_union:t="Invalid input";break;case d.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${x.joinValues(n.options)}`;break;case d.invalid_enum_value:t=`Invalid enum value. Expected ${x.joinValues(n.options)}, received '${n.received}'`;break;case d.invalid_arguments:t="Invalid function arguments";break;case d.invalid_return_type:t="Invalid function return type";break;case d.invalid_date:t="Invalid date";break;case d.invalid_string:typeof n.validation=="object"?"includes"in n.validation?(t=`Invalid input: must include "${n.validation.includes}"`,typeof n.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${n.validation.position}`)):"startsWith"in n.validation?t=`Invalid input: must start with "${n.validation.startsWith}"`:"endsWith"in n.validation?t=`Invalid input: must end with "${n.validation.endsWith}"`:x.assertNever(n.validation):n.validation!=="regex"?t=`Invalid ${n.validation}`:t="Invalid";break;case d.too_small:n.type==="array"?t=`Array must contain ${n.exact?"exactly":n.inclusive?"at least":"more than"} ${n.minimum} element(s)`:n.type==="string"?t=`String must contain ${n.exact?"exactly":n.inclusive?"at least":"over"} ${n.minimum} character(s)`:n.type==="number"?t=`Number must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${n.minimum}`:n.type==="bigint"?t=`Number must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${n.minimum}`:n.type==="date"?t=`Date must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(n.minimum))}`:t="Invalid input";break;case d.too_big:n.type==="array"?t=`Array must contain ${n.exact?"exactly":n.inclusive?"at most":"less than"} ${n.maximum} element(s)`:n.type==="string"?t=`String must contain ${n.exact?"exactly":n.inclusive?"at most":"under"} ${n.maximum} character(s)`:n.type==="number"?t=`Number must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`:n.type==="bigint"?t=`BigInt must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`:n.type==="date"?t=`Date must be ${n.exact?"exactly":n.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(n.maximum))}`:t="Invalid input";break;case d.custom:t="Invalid input";break;case d.invalid_intersection_types:t="Intersection results could not be merged";break;case d.not_multiple_of:t=`Number must be a multiple of ${n.multipleOf}`;break;case d.not_finite:t="Number must be finite";break;default:t=e.defaultError,x.assertNever(n)}return{message:t}};let jt=ue;function Ht(){return jt}const zt=n=>{const{data:e,path:t,errorMaps:s,issueData:r}=n,a=[...t,...r.path||[]],i={...r,path:a};if(r.message!==void 0)return{...r,path:a,message:r.message};let o="";const u=s.filter(h=>!!h).slice().reverse();for(const h of u)o=h(i,{data:e,defaultError:o}).message;return{...r,path:a,message:o}};function l(n,e){const t=Ht(),s=zt({issueData:e,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,t,t===ue?void 0:ue].filter(r=>!!r)});n.common.issues.push(s)}class C{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const s=[];for(const r of t){if(r.status==="aborted")return g;r.status==="dirty"&&e.dirty(),s.push(r.value)}return{status:e.value,value:s}}static async mergeObjectAsync(e,t){const s=[];for(const r of t){const a=await r.key,i=await r.value;s.push({key:a,value:i})}return C.mergeObjectSync(e,s)}static mergeObjectSync(e,t){const s={};for(const r of t){const{key:a,value:i}=r;if(a.status==="aborted"||i.status==="aborted")return g;a.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),a.value!=="__proto__"&&(typeof i.value<"u"||r.alwaysSet)&&(s[a.value]=i.value)}return{status:e.value,value:s}}}const g=Object.freeze({status:"aborted"}),X=n=>({status:"dirty",value:n}),k=n=>({status:"valid",value:n}),Te=n=>n.status==="aborted",Ee=n=>n.status==="dirty",z=n=>n.status==="valid",ne=n=>typeof Promise<"u"&&n instanceof Promise;var m;(function(n){n.errToObj=e=>typeof e=="string"?{message:e}:e||{},n.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(m||(m={}));class U{constructor(e,t,s,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=s,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const be=(n,e)=>{if(z(e))return{success:!0,data:e.value};if(!n.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new L(n.common.issues);return this._error=t,this._error}}};function _(n){if(!n)return{};const{errorMap:e,invalid_type_error:t,required_error:s,description:r}=n;if(e&&(t||s))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:r}:{errorMap:(i,o)=>{const{message:u}=n;return i.code==="invalid_enum_value"?{message:u??o.defaultError}:typeof o.data>"u"?{message:u??s??o.defaultError}:i.code!=="invalid_type"?{message:o.defaultError}:{message:u??t??o.defaultError}},description:r}}class b{get description(){return this._def.description}_getType(e){return D(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:D(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new C,ctx:{common:e.parent.common,data:e.data,parsedType:D(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(ne(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const s=this.safeParse(e,t);if(s.success)return s.data;throw s.error}safeParse(e,t){const s={common:{issues:[],async:(t==null?void 0:t.async)??!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:D(e)},r=this._parseSync({data:e,path:s.path,parent:s});return be(s,r)}"~validate"(e){var s,r;const t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:D(e)};if(!this["~standard"].async)try{const a=this._parseSync({data:e,path:[],parent:t});return z(a)?{value:a.value}:{issues:t.common.issues}}catch(a){(r=(s=a==null?void 0:a.message)==null?void 0:s.toLowerCase())!=null&&r.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(a=>z(a)?{value:a.value}:{issues:t.common.issues})}async parseAsync(e,t){const s=await this.safeParseAsync(e,t);if(s.success)return s.data;throw s.error}async safeParseAsync(e,t){const s={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:D(e)},r=this._parse({data:e,path:s.path,parent:s}),a=await(ne(r)?r:Promise.resolve(r));return be(s,a)}refine(e,t){const s=r=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(r):t;return this._refinement((r,a)=>{const i=e(r),o=()=>a.addIssue({code:d.custom,...s(r)});return typeof Promise<"u"&&i instanceof Promise?i.then(u=>u?!0:(o(),!1)):i?!0:(o(),!1)})}refinement(e,t){return this._refinement((s,r)=>e(s)?!0:(r.addIssue(typeof t=="function"?t(s,r):t),!1))}_refinement(e){return new K({schema:this,typeName:v.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:t=>this["~validate"](t)}}optional(){return V.create(this,this._def)}nullable(){return Y.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return O.create(this)}promise(){return ie.create(this,this._def)}or(e){return re.create([this,e],this._def)}and(e){return ae.create(this,e,this._def)}transform(e){return new K({..._(this._def),schema:this,typeName:v.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new fe({..._(this._def),innerType:this,defaultValue:t,typeName:v.ZodDefault})}brand(){return new pn({typeName:v.ZodBranded,type:this,..._(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new he({..._(this._def),innerType:this,catchValue:t,typeName:v.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return ve.create(this,e)}readonly(){return me.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const qt=/^c[^\s-]{8,}$/i,Wt=/^[0-9a-z]+$/,Gt=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Kt=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Yt=/^[a-z0-9_-]{21}$/i,Jt=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Xt=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Qt=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,en="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let ce;const tn=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,nn=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,sn=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,rn=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,an=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,on=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,We="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",cn=new RegExp(`^${We}$`);function Ge(n){let e="[0-5]\\d";n.precision?e=`${e}\\.\\d{${n.precision}}`:n.precision==null&&(e=`${e}(\\.\\d+)?`);const t=n.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${t}`}function dn(n){return new RegExp(`^${Ge(n)}$`)}function un(n){let e=`${We}T${Ge(n)}`;const t=[];return t.push(n.local?"Z?":"Z"),n.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function ln(n,e){return!!((e==="v4"||!e)&&tn.test(n)||(e==="v6"||!e)&&sn.test(n))}function fn(n,e){if(!Jt.test(n))return!1;try{const[t]=n.split(".");if(!t)return!1;const s=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(t.length+(4-t.length%4)%4,"="),r=JSON.parse(atob(s));return!(typeof r!="object"||r===null||"typ"in r&&(r==null?void 0:r.typ)!=="JWT"||!r.alg||e&&r.alg!==e)}catch{return!1}}function hn(n,e){return!!((e==="v4"||!e)&&nn.test(n)||(e==="v6"||!e)&&rn.test(n))}class B extends b{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==f.string){const a=this._getOrReturnCtx(e);return l(a,{code:d.invalid_type,expected:f.string,received:a.parsedType}),g}const s=new C;let r;for(const a of this._def.checks)if(a.kind==="min")e.data.length<a.value&&(r=this._getOrReturnCtx(e,r),l(r,{code:d.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),s.dirty());else if(a.kind==="max")e.data.length>a.value&&(r=this._getOrReturnCtx(e,r),l(r,{code:d.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),s.dirty());else if(a.kind==="length"){const i=e.data.length>a.value,o=e.data.length<a.value;(i||o)&&(r=this._getOrReturnCtx(e,r),i?l(r,{code:d.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}):o&&l(r,{code:d.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}),s.dirty())}else if(a.kind==="email")Qt.test(e.data)||(r=this._getOrReturnCtx(e,r),l(r,{validation:"email",code:d.invalid_string,message:a.message}),s.dirty());else if(a.kind==="emoji")ce||(ce=new RegExp(en,"u")),ce.test(e.data)||(r=this._getOrReturnCtx(e,r),l(r,{validation:"emoji",code:d.invalid_string,message:a.message}),s.dirty());else if(a.kind==="uuid")Kt.test(e.data)||(r=this._getOrReturnCtx(e,r),l(r,{validation:"uuid",code:d.invalid_string,message:a.message}),s.dirty());else if(a.kind==="nanoid")Yt.test(e.data)||(r=this._getOrReturnCtx(e,r),l(r,{validation:"nanoid",code:d.invalid_string,message:a.message}),s.dirty());else if(a.kind==="cuid")qt.test(e.data)||(r=this._getOrReturnCtx(e,r),l(r,{validation:"cuid",code:d.invalid_string,message:a.message}),s.dirty());else if(a.kind==="cuid2")Wt.test(e.data)||(r=this._getOrReturnCtx(e,r),l(r,{validation:"cuid2",code:d.invalid_string,message:a.message}),s.dirty());else if(a.kind==="ulid")Gt.test(e.data)||(r=this._getOrReturnCtx(e,r),l(r,{validation:"ulid",code:d.invalid_string,message:a.message}),s.dirty());else if(a.kind==="url")try{new URL(e.data)}catch{r=this._getOrReturnCtx(e,r),l(r,{validation:"url",code:d.invalid_string,message:a.message}),s.dirty()}else a.kind==="regex"?(a.regex.lastIndex=0,a.regex.test(e.data)||(r=this._getOrReturnCtx(e,r),l(r,{validation:"regex",code:d.invalid_string,message:a.message}),s.dirty())):a.kind==="trim"?e.data=e.data.trim():a.kind==="includes"?e.data.includes(a.value,a.position)||(r=this._getOrReturnCtx(e,r),l(r,{code:d.invalid_string,validation:{includes:a.value,position:a.position},message:a.message}),s.dirty()):a.kind==="toLowerCase"?e.data=e.data.toLowerCase():a.kind==="toUpperCase"?e.data=e.data.toUpperCase():a.kind==="startsWith"?e.data.startsWith(a.value)||(r=this._getOrReturnCtx(e,r),l(r,{code:d.invalid_string,validation:{startsWith:a.value},message:a.message}),s.dirty()):a.kind==="endsWith"?e.data.endsWith(a.value)||(r=this._getOrReturnCtx(e,r),l(r,{code:d.invalid_string,validation:{endsWith:a.value},message:a.message}),s.dirty()):a.kind==="datetime"?un(a).test(e.data)||(r=this._getOrReturnCtx(e,r),l(r,{code:d.invalid_string,validation:"datetime",message:a.message}),s.dirty()):a.kind==="date"?cn.test(e.data)||(r=this._getOrReturnCtx(e,r),l(r,{code:d.invalid_string,validation:"date",message:a.message}),s.dirty()):a.kind==="time"?dn(a).test(e.data)||(r=this._getOrReturnCtx(e,r),l(r,{code:d.invalid_string,validation:"time",message:a.message}),s.dirty()):a.kind==="duration"?Xt.test(e.data)||(r=this._getOrReturnCtx(e,r),l(r,{validation:"duration",code:d.invalid_string,message:a.message}),s.dirty()):a.kind==="ip"?ln(e.data,a.version)||(r=this._getOrReturnCtx(e,r),l(r,{validation:"ip",code:d.invalid_string,message:a.message}),s.dirty()):a.kind==="jwt"?fn(e.data,a.alg)||(r=this._getOrReturnCtx(e,r),l(r,{validation:"jwt",code:d.invalid_string,message:a.message}),s.dirty()):a.kind==="cidr"?hn(e.data,a.version)||(r=this._getOrReturnCtx(e,r),l(r,{validation:"cidr",code:d.invalid_string,message:a.message}),s.dirty()):a.kind==="base64"?an.test(e.data)||(r=this._getOrReturnCtx(e,r),l(r,{validation:"base64",code:d.invalid_string,message:a.message}),s.dirty()):a.kind==="base64url"?on.test(e.data)||(r=this._getOrReturnCtx(e,r),l(r,{validation:"base64url",code:d.invalid_string,message:a.message}),s.dirty()):x.assertNever(a);return{status:s.value,value:e.data}}_regex(e,t,s){return this.refinement(r=>e.test(r),{validation:t,code:d.invalid_string,...m.errToObj(s)})}_addCheck(e){return new B({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...m.errToObj(e)})}url(e){return this._addCheck({kind:"url",...m.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...m.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...m.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...m.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...m.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...m.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...m.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...m.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...m.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...m.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...m.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...m.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(e==null?void 0:e.offset)??!1,local:(e==null?void 0:e.local)??!1,...m.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...m.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...m.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...m.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...m.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...m.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...m.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...m.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...m.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...m.errToObj(t)})}nonempty(e){return this.min(1,m.errToObj(e))}trim(){return new B({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new B({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new B({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}B.create=n=>new B({checks:[],typeName:v.ZodString,coerce:(n==null?void 0:n.coerce)??!1,..._(n)});function mn(n,e){const t=(n.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,r=t>s?t:s,a=Number.parseInt(n.toFixed(r).replace(".","")),i=Number.parseInt(e.toFixed(r).replace(".",""));return a%i/10**r}class q extends b{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==f.number){const a=this._getOrReturnCtx(e);return l(a,{code:d.invalid_type,expected:f.number,received:a.parsedType}),g}let s;const r=new C;for(const a of this._def.checks)a.kind==="int"?x.isInteger(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{code:d.invalid_type,expected:"integer",received:"float",message:a.message}),r.dirty()):a.kind==="min"?(a.inclusive?e.data<a.value:e.data<=a.value)&&(s=this._getOrReturnCtx(e,s),l(s,{code:d.too_small,minimum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),r.dirty()):a.kind==="max"?(a.inclusive?e.data>a.value:e.data>=a.value)&&(s=this._getOrReturnCtx(e,s),l(s,{code:d.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),r.dirty()):a.kind==="multipleOf"?mn(e.data,a.value)!==0&&(s=this._getOrReturnCtx(e,s),l(s,{code:d.not_multiple_of,multipleOf:a.value,message:a.message}),r.dirty()):a.kind==="finite"?Number.isFinite(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{code:d.not_finite,message:a.message}),r.dirty()):x.assertNever(a);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,m.toString(t))}gt(e,t){return this.setLimit("min",e,!1,m.toString(t))}lte(e,t){return this.setLimit("max",e,!0,m.toString(t))}lt(e,t){return this.setLimit("max",e,!1,m.toString(t))}setLimit(e,t,s,r){return new q({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:m.toString(r)}]})}_addCheck(e){return new q({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:m.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:m.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:m.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:m.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:m.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:m.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:m.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:m.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:m.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&x.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const s of this._def.checks){if(s.kind==="finite"||s.kind==="int"||s.kind==="multipleOf")return!0;s.kind==="min"?(t===null||s.value>t)&&(t=s.value):s.kind==="max"&&(e===null||s.value<e)&&(e=s.value)}return Number.isFinite(t)&&Number.isFinite(e)}}q.create=n=>new q({checks:[],typeName:v.ZodNumber,coerce:(n==null?void 0:n.coerce)||!1,..._(n)});class W extends b{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==f.bigint)return this._getInvalidInput(e);let s;const r=new C;for(const a of this._def.checks)a.kind==="min"?(a.inclusive?e.data<a.value:e.data<=a.value)&&(s=this._getOrReturnCtx(e,s),l(s,{code:d.too_small,type:"bigint",minimum:a.value,inclusive:a.inclusive,message:a.message}),r.dirty()):a.kind==="max"?(a.inclusive?e.data>a.value:e.data>=a.value)&&(s=this._getOrReturnCtx(e,s),l(s,{code:d.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),r.dirty()):a.kind==="multipleOf"?e.data%a.value!==BigInt(0)&&(s=this._getOrReturnCtx(e,s),l(s,{code:d.not_multiple_of,multipleOf:a.value,message:a.message}),r.dirty()):x.assertNever(a);return{status:r.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return l(t,{code:d.invalid_type,expected:f.bigint,received:t.parsedType}),g}gte(e,t){return this.setLimit("min",e,!0,m.toString(t))}gt(e,t){return this.setLimit("min",e,!1,m.toString(t))}lte(e,t){return this.setLimit("max",e,!0,m.toString(t))}lt(e,t){return this.setLimit("max",e,!1,m.toString(t))}setLimit(e,t,s,r){return new W({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:m.toString(r)}]})}_addCheck(e){return new W({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:m.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:m.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:m.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:m.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:m.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}W.create=n=>new W({checks:[],typeName:v.ZodBigInt,coerce:(n==null?void 0:n.coerce)??!1,..._(n)});class xe extends b{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==f.boolean){const s=this._getOrReturnCtx(e);return l(s,{code:d.invalid_type,expected:f.boolean,received:s.parsedType}),g}return k(e.data)}}xe.create=n=>new xe({typeName:v.ZodBoolean,coerce:(n==null?void 0:n.coerce)||!1,..._(n)});class se extends b{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==f.date){const a=this._getOrReturnCtx(e);return l(a,{code:d.invalid_type,expected:f.date,received:a.parsedType}),g}if(Number.isNaN(e.data.getTime())){const a=this._getOrReturnCtx(e);return l(a,{code:d.invalid_date}),g}const s=new C;let r;for(const a of this._def.checks)a.kind==="min"?e.data.getTime()<a.value&&(r=this._getOrReturnCtx(e,r),l(r,{code:d.too_small,message:a.message,inclusive:!0,exact:!1,minimum:a.value,type:"date"}),s.dirty()):a.kind==="max"?e.data.getTime()>a.value&&(r=this._getOrReturnCtx(e,r),l(r,{code:d.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),s.dirty()):x.assertNever(a);return{status:s.value,value:new Date(e.data.getTime())}}_addCheck(e){return new se({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:m.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:m.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}}se.create=n=>new se({checks:[],coerce:(n==null?void 0:n.coerce)||!1,typeName:v.ZodDate,..._(n)});class Se extends b{_parse(e){if(this._getType(e)!==f.symbol){const s=this._getOrReturnCtx(e);return l(s,{code:d.invalid_type,expected:f.symbol,received:s.parsedType}),g}return k(e.data)}}Se.create=n=>new Se({typeName:v.ZodSymbol,..._(n)});class Ie extends b{_parse(e){if(this._getType(e)!==f.undefined){const s=this._getOrReturnCtx(e);return l(s,{code:d.invalid_type,expected:f.undefined,received:s.parsedType}),g}return k(e.data)}}Ie.create=n=>new Ie({typeName:v.ZodUndefined,..._(n)});class Ne extends b{_parse(e){if(this._getType(e)!==f.null){const s=this._getOrReturnCtx(e);return l(s,{code:d.invalid_type,expected:f.null,received:s.parsedType}),g}return k(e.data)}}Ne.create=n=>new Ne({typeName:v.ZodNull,..._(n)});class Ce extends b{constructor(){super(...arguments),this._any=!0}_parse(e){return k(e.data)}}Ce.create=n=>new Ce({typeName:v.ZodAny,..._(n)});class ke extends b{constructor(){super(...arguments),this._unknown=!0}_parse(e){return k(e.data)}}ke.create=n=>new ke({typeName:v.ZodUnknown,..._(n)});class Z extends b{_parse(e){const t=this._getOrReturnCtx(e);return l(t,{code:d.invalid_type,expected:f.never,received:t.parsedType}),g}}Z.create=n=>new Z({typeName:v.ZodNever,..._(n)});class we extends b{_parse(e){if(this._getType(e)!==f.undefined){const s=this._getOrReturnCtx(e);return l(s,{code:d.invalid_type,expected:f.void,received:s.parsedType}),g}return k(e.data)}}we.create=n=>new we({typeName:v.ZodVoid,..._(n)});class O extends b{_parse(e){const{ctx:t,status:s}=this._processInputParams(e),r=this._def;if(t.parsedType!==f.array)return l(t,{code:d.invalid_type,expected:f.array,received:t.parsedType}),g;if(r.exactLength!==null){const i=t.data.length>r.exactLength.value,o=t.data.length<r.exactLength.value;(i||o)&&(l(t,{code:i?d.too_big:d.too_small,minimum:o?r.exactLength.value:void 0,maximum:i?r.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:r.exactLength.message}),s.dirty())}if(r.minLength!==null&&t.data.length<r.minLength.value&&(l(t,{code:d.too_small,minimum:r.minLength.value,type:"array",inclusive:!0,exact:!1,message:r.minLength.message}),s.dirty()),r.maxLength!==null&&t.data.length>r.maxLength.value&&(l(t,{code:d.too_big,maximum:r.maxLength.value,type:"array",inclusive:!0,exact:!1,message:r.maxLength.message}),s.dirty()),t.common.async)return Promise.all([...t.data].map((i,o)=>r.type._parseAsync(new U(t,i,t.path,o)))).then(i=>C.mergeArray(s,i));const a=[...t.data].map((i,o)=>r.type._parseSync(new U(t,i,t.path,o)));return C.mergeArray(s,a)}get element(){return this._def.type}min(e,t){return new O({...this._def,minLength:{value:e,message:m.toString(t)}})}max(e,t){return new O({...this._def,maxLength:{value:e,message:m.toString(t)}})}length(e,t){return new O({...this._def,exactLength:{value:e,message:m.toString(t)}})}nonempty(e){return this.min(1,e)}}O.create=(n,e)=>new O({type:n,minLength:null,maxLength:null,exactLength:null,typeName:v.ZodArray,..._(e)});function H(n){if(n instanceof S){const e={};for(const t in n.shape){const s=n.shape[t];e[t]=V.create(H(s))}return new S({...n._def,shape:()=>e})}else return n instanceof O?new O({...n._def,type:H(n.element)}):n instanceof V?V.create(H(n.unwrap())):n instanceof Y?Y.create(H(n.unwrap())):n instanceof F?F.create(n.items.map(e=>H(e))):n}class S extends b{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=x.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==f.object){const h=this._getOrReturnCtx(e);return l(h,{code:d.invalid_type,expected:f.object,received:h.parsedType}),g}const{status:s,ctx:r}=this._processInputParams(e),{shape:a,keys:i}=this._getCached(),o=[];if(!(this._def.catchall instanceof Z&&this._def.unknownKeys==="strip"))for(const h in r.data)i.includes(h)||o.push(h);const u=[];for(const h of i){const A=a[h],w=r.data[h];u.push({key:{status:"valid",value:h},value:A._parse(new U(r,w,r.path,h)),alwaysSet:h in r.data})}if(this._def.catchall instanceof Z){const h=this._def.unknownKeys;if(h==="passthrough")for(const A of o)u.push({key:{status:"valid",value:A},value:{status:"valid",value:r.data[A]}});else if(h==="strict")o.length>0&&(l(r,{code:d.unrecognized_keys,keys:o}),s.dirty());else if(h!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const h=this._def.catchall;for(const A of o){const w=r.data[A];u.push({key:{status:"valid",value:A},value:h._parse(new U(r,w,r.path,A)),alwaysSet:A in r.data})}}return r.common.async?Promise.resolve().then(async()=>{const h=[];for(const A of u){const w=await A.key,tt=await A.value;h.push({key:w,value:tt,alwaysSet:A.alwaysSet})}return h}).then(h=>C.mergeObjectSync(s,h)):C.mergeObjectSync(s,u)}get shape(){return this._def.shape()}strict(e){return m.errToObj,new S({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,s)=>{var a,i;const r=((i=(a=this._def).errorMap)==null?void 0:i.call(a,t,s).message)??s.defaultError;return t.code==="unrecognized_keys"?{message:m.errToObj(e).message??r}:{message:r}}}:{}})}strip(){return new S({...this._def,unknownKeys:"strip"})}passthrough(){return new S({...this._def,unknownKeys:"passthrough"})}extend(e){return new S({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new S({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:v.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new S({...this._def,catchall:e})}pick(e){const t={};for(const s of x.objectKeys(e))e[s]&&this.shape[s]&&(t[s]=this.shape[s]);return new S({...this._def,shape:()=>t})}omit(e){const t={};for(const s of x.objectKeys(this.shape))e[s]||(t[s]=this.shape[s]);return new S({...this._def,shape:()=>t})}deepPartial(){return H(this)}partial(e){const t={};for(const s of x.objectKeys(this.shape)){const r=this.shape[s];e&&!e[s]?t[s]=r:t[s]=r.optional()}return new S({...this._def,shape:()=>t})}required(e){const t={};for(const s of x.objectKeys(this.shape))if(e&&!e[s])t[s]=this.shape[s];else{let a=this.shape[s];for(;a instanceof V;)a=a._def.innerType;t[s]=a}return new S({...this._def,shape:()=>t})}keyof(){return Ke(x.objectKeys(this.shape))}}S.create=(n,e)=>new S({shape:()=>n,unknownKeys:"strip",catchall:Z.create(),typeName:v.ZodObject,..._(e)});S.strictCreate=(n,e)=>new S({shape:()=>n,unknownKeys:"strict",catchall:Z.create(),typeName:v.ZodObject,..._(e)});S.lazycreate=(n,e)=>new S({shape:n,unknownKeys:"strip",catchall:Z.create(),typeName:v.ZodObject,..._(e)});class re extends b{_parse(e){const{ctx:t}=this._processInputParams(e),s=this._def.options;function r(a){for(const o of a)if(o.result.status==="valid")return o.result;for(const o of a)if(o.result.status==="dirty")return t.common.issues.push(...o.ctx.common.issues),o.result;const i=a.map(o=>new L(o.ctx.common.issues));return l(t,{code:d.invalid_union,unionErrors:i}),g}if(t.common.async)return Promise.all(s.map(async a=>{const i={...t,common:{...t.common,issues:[]},parent:null};return{result:await a._parseAsync({data:t.data,path:t.path,parent:i}),ctx:i}})).then(r);{let a;const i=[];for(const u of s){const h={...t,common:{...t.common,issues:[]},parent:null},A=u._parseSync({data:t.data,path:t.path,parent:h});if(A.status==="valid")return A;A.status==="dirty"&&!a&&(a={result:A,ctx:h}),h.common.issues.length&&i.push(h.common.issues)}if(a)return t.common.issues.push(...a.ctx.common.issues),a.result;const o=i.map(u=>new L(u));return l(t,{code:d.invalid_union,unionErrors:o}),g}}get options(){return this._def.options}}re.create=(n,e)=>new re({options:n,typeName:v.ZodUnion,..._(e)});function le(n,e){const t=D(n),s=D(e);if(n===e)return{valid:!0,data:n};if(t===f.object&&s===f.object){const r=x.objectKeys(e),a=x.objectKeys(n).filter(o=>r.indexOf(o)!==-1),i={...n,...e};for(const o of a){const u=le(n[o],e[o]);if(!u.valid)return{valid:!1};i[o]=u.data}return{valid:!0,data:i}}else if(t===f.array&&s===f.array){if(n.length!==e.length)return{valid:!1};const r=[];for(let a=0;a<n.length;a++){const i=n[a],o=e[a],u=le(i,o);if(!u.valid)return{valid:!1};r.push(u.data)}return{valid:!0,data:r}}else return t===f.date&&s===f.date&&+n==+e?{valid:!0,data:n}:{valid:!1}}class ae extends b{_parse(e){const{status:t,ctx:s}=this._processInputParams(e),r=(a,i)=>{if(Te(a)||Te(i))return g;const o=le(a.value,i.value);return o.valid?((Ee(a)||Ee(i))&&t.dirty(),{status:t.value,value:o.data}):(l(s,{code:d.invalid_intersection_types}),g)};return s.common.async?Promise.all([this._def.left._parseAsync({data:s.data,path:s.path,parent:s}),this._def.right._parseAsync({data:s.data,path:s.path,parent:s})]).then(([a,i])=>r(a,i)):r(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}}ae.create=(n,e,t)=>new ae({left:n,right:e,typeName:v.ZodIntersection,..._(t)});class F extends b{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==f.array)return l(s,{code:d.invalid_type,expected:f.array,received:s.parsedType}),g;if(s.data.length<this._def.items.length)return l(s,{code:d.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),g;!this._def.rest&&s.data.length>this._def.items.length&&(l(s,{code:d.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const a=[...s.data].map((i,o)=>{const u=this._def.items[o]||this._def.rest;return u?u._parse(new U(s,i,s.path,o)):null}).filter(i=>!!i);return s.common.async?Promise.all(a).then(i=>C.mergeArray(t,i)):C.mergeArray(t,a)}get items(){return this._def.items}rest(e){return new F({...this._def,rest:e})}}F.create=(n,e)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new F({items:n,typeName:v.ZodTuple,rest:null,..._(e)})};class Oe extends b{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==f.map)return l(s,{code:d.invalid_type,expected:f.map,received:s.parsedType}),g;const r=this._def.keyType,a=this._def.valueType,i=[...s.data.entries()].map(([o,u],h)=>({key:r._parse(new U(s,o,s.path,[h,"key"])),value:a._parse(new U(s,u,s.path,[h,"value"]))}));if(s.common.async){const o=new Map;return Promise.resolve().then(async()=>{for(const u of i){const h=await u.key,A=await u.value;if(h.status==="aborted"||A.status==="aborted")return g;(h.status==="dirty"||A.status==="dirty")&&t.dirty(),o.set(h.value,A.value)}return{status:t.value,value:o}})}else{const o=new Map;for(const u of i){const h=u.key,A=u.value;if(h.status==="aborted"||A.status==="aborted")return g;(h.status==="dirty"||A.status==="dirty")&&t.dirty(),o.set(h.value,A.value)}return{status:t.value,value:o}}}}Oe.create=(n,e,t)=>new Oe({valueType:e,keyType:n,typeName:v.ZodMap,..._(t)});class Q extends b{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==f.set)return l(s,{code:d.invalid_type,expected:f.set,received:s.parsedType}),g;const r=this._def;r.minSize!==null&&s.data.size<r.minSize.value&&(l(s,{code:d.too_small,minimum:r.minSize.value,type:"set",inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),r.maxSize!==null&&s.data.size>r.maxSize.value&&(l(s,{code:d.too_big,maximum:r.maxSize.value,type:"set",inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());const a=this._def.valueType;function i(u){const h=new Set;for(const A of u){if(A.status==="aborted")return g;A.status==="dirty"&&t.dirty(),h.add(A.value)}return{status:t.value,value:h}}const o=[...s.data.values()].map((u,h)=>a._parse(new U(s,u,s.path,h)));return s.common.async?Promise.all(o).then(u=>i(u)):i(o)}min(e,t){return new Q({...this._def,minSize:{value:e,message:m.toString(t)}})}max(e,t){return new Q({...this._def,maxSize:{value:e,message:m.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Q.create=(n,e)=>new Q({valueType:n,minSize:null,maxSize:null,typeName:v.ZodSet,..._(e)});class Re extends b{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}Re.create=(n,e)=>new Re({getter:n,typeName:v.ZodLazy,..._(e)});class Le extends b{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return l(t,{received:t.data,code:d.invalid_literal,expected:this._def.value}),g}return{status:"valid",value:e.data}}get value(){return this._def.value}}Le.create=(n,e)=>new Le({value:n,typeName:v.ZodLiteral,..._(e)});function Ke(n,e){return new G({values:n,typeName:v.ZodEnum,..._(e)})}class G extends b{_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),s=this._def.values;return l(t,{expected:x.joinValues(s),received:t.parsedType,code:d.invalid_type}),g}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){const t=this._getOrReturnCtx(e),s=this._def.values;return l(t,{received:t.data,code:d.invalid_enum_value,options:s}),g}return k(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return G.create(e,{...this._def,...t})}exclude(e,t=this._def){return G.create(this.options.filter(s=>!e.includes(s)),{...this._def,...t})}}G.create=Ke;class De extends b{_parse(e){const t=x.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==f.string&&s.parsedType!==f.number){const r=x.objectValues(t);return l(s,{expected:x.joinValues(r),received:s.parsedType,code:d.invalid_type}),g}if(this._cache||(this._cache=new Set(x.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const r=x.objectValues(t);return l(s,{received:s.data,code:d.invalid_enum_value,options:r}),g}return k(e.data)}get enum(){return this._def.values}}De.create=(n,e)=>new De({values:n,typeName:v.ZodNativeEnum,..._(e)});class ie extends b{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==f.promise&&t.common.async===!1)return l(t,{code:d.invalid_type,expected:f.promise,received:t.parsedType}),g;const s=t.parsedType===f.promise?t.data:Promise.resolve(t.data);return k(s.then(r=>this._def.type.parseAsync(r,{path:t.path,errorMap:t.common.contextualErrorMap})))}}ie.create=(n,e)=>new ie({type:n,typeName:v.ZodPromise,..._(e)});class K extends b{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===v.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:s}=this._processInputParams(e),r=this._def.effect||null,a={addIssue:i=>{l(s,i),i.fatal?t.abort():t.dirty()},get path(){return s.path}};if(a.addIssue=a.addIssue.bind(a),r.type==="preprocess"){const i=r.transform(s.data,a);if(s.common.async)return Promise.resolve(i).then(async o=>{if(t.value==="aborted")return g;const u=await this._def.schema._parseAsync({data:o,path:s.path,parent:s});return u.status==="aborted"?g:u.status==="dirty"||t.value==="dirty"?X(u.value):u});{if(t.value==="aborted")return g;const o=this._def.schema._parseSync({data:i,path:s.path,parent:s});return o.status==="aborted"?g:o.status==="dirty"||t.value==="dirty"?X(o.value):o}}if(r.type==="refinement"){const i=o=>{const u=r.refinement(o,a);if(s.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(s.common.async===!1){const o=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return o.status==="aborted"?g:(o.status==="dirty"&&t.dirty(),i(o.value),{status:t.value,value:o.value})}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(o=>o.status==="aborted"?g:(o.status==="dirty"&&t.dirty(),i(o.value).then(()=>({status:t.value,value:o.value}))))}if(r.type==="transform")if(s.common.async===!1){const i=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!z(i))return g;const o=r.transform(i.value,a);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:o}}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(i=>z(i)?Promise.resolve(r.transform(i.value,a)).then(o=>({status:t.value,value:o})):g);x.assertNever(r)}}K.create=(n,e,t)=>new K({schema:n,typeName:v.ZodEffects,effect:e,..._(t)});K.createWithPreprocess=(n,e,t)=>new K({schema:e,effect:{type:"preprocess",transform:n},typeName:v.ZodEffects,..._(t)});class V extends b{_parse(e){return this._getType(e)===f.undefined?k(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}V.create=(n,e)=>new V({innerType:n,typeName:v.ZodOptional,..._(e)});class Y extends b{_parse(e){return this._getType(e)===f.null?k(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Y.create=(n,e)=>new Y({innerType:n,typeName:v.ZodNullable,..._(e)});class fe extends b{_parse(e){const{ctx:t}=this._processInputParams(e);let s=t.data;return t.parsedType===f.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}fe.create=(n,e)=>new fe({innerType:n,typeName:v.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,..._(e)});class he extends b{_parse(e){const{ctx:t}=this._processInputParams(e),s={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return ne(r)?r.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new L(s.common.issues)},input:s.data})})):{status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new L(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}}he.create=(n,e)=>new he({innerType:n,typeName:v.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,..._(e)});class Pe extends b{_parse(e){if(this._getType(e)!==f.nan){const s=this._getOrReturnCtx(e);return l(s,{code:d.invalid_type,expected:f.nan,received:s.parsedType}),g}return{status:"valid",value:e.data}}}Pe.create=n=>new Pe({typeName:v.ZodNaN,..._(n)});class pn extends b{_parse(e){const{ctx:t}=this._processInputParams(e),s=t.data;return this._def.type._parse({data:s,path:t.path,parent:t})}unwrap(){return this._def.type}}class ve extends b{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.common.async)return(async()=>{const a=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return a.status==="aborted"?g:a.status==="dirty"?(t.dirty(),X(a.value)):this._def.out._parseAsync({data:a.value,path:s.path,parent:s})})();{const r=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return r.status==="aborted"?g:r.status==="dirty"?(t.dirty(),{status:"dirty",value:r.value}):this._def.out._parseSync({data:r.value,path:s.path,parent:s})}}static create(e,t){return new ve({in:e,out:t,typeName:v.ZodPipeline})}}class me extends b{_parse(e){const t=this._def.innerType._parse(e),s=r=>(z(r)&&(r.value=Object.freeze(r.value)),r);return ne(t)?t.then(r=>s(r)):s(t)}unwrap(){return this._def.innerType}}me.create=(n,e)=>new me({innerType:n,typeName:v.ZodReadonly,..._(e)});var v;(function(n){n.ZodString="ZodString",n.ZodNumber="ZodNumber",n.ZodNaN="ZodNaN",n.ZodBigInt="ZodBigInt",n.ZodBoolean="ZodBoolean",n.ZodDate="ZodDate",n.ZodSymbol="ZodSymbol",n.ZodUndefined="ZodUndefined",n.ZodNull="ZodNull",n.ZodAny="ZodAny",n.ZodUnknown="ZodUnknown",n.ZodNever="ZodNever",n.ZodVoid="ZodVoid",n.ZodArray="ZodArray",n.ZodObject="ZodObject",n.ZodUnion="ZodUnion",n.ZodDiscriminatedUnion="ZodDiscriminatedUnion",n.ZodIntersection="ZodIntersection",n.ZodTuple="ZodTuple",n.ZodRecord="ZodRecord",n.ZodMap="ZodMap",n.ZodSet="ZodSet",n.ZodFunction="ZodFunction",n.ZodLazy="ZodLazy",n.ZodLiteral="ZodLiteral",n.ZodEnum="ZodEnum",n.ZodEffects="ZodEffects",n.ZodNativeEnum="ZodNativeEnum",n.ZodOptional="ZodOptional",n.ZodNullable="ZodNullable",n.ZodDefault="ZodDefault",n.ZodCatch="ZodCatch",n.ZodPromise="ZodPromise",n.ZodBranded="ZodBranded",n.ZodPipeline="ZodPipeline",n.ZodReadonly="ZodReadonly"})(v||(v={}));const R=B.create,gn=q.create,vn=W.create;Z.create;O.create;const Ye=S.create,yn=re.create;ae.create;F.create;G.create;ie.create;V.create;Y.create;function _n(){const n=new Map;return{on(e,t){let s=n.get(e);return s||(s=new Set,n.set(e,s)),s.add(t),()=>{s==null||s.delete(t),s&&s.size===0&&n.delete(e)}},emit(e,...t){const s=n.get(e);if(!(!s||s.size===0))for(const r of s)try{r(...t)}catch(a){console.error(`Error in event handler for "${String(e)}":`,a)}},off(e,t){const s=n.get(e);s&&(s.delete(t),s.size===0&&n.delete(e))},clear(){n.clear()}}}class An{constructor(e,t){N(this,"eventEmitter");N(this,"_status");N(this,"_error",null);N(this,"_isLoading",!1);N(this,"logger");N(this,"_timing",new Map);this.eventEmitter=_n(),this._status=e,this.logger=t}log(e,t,s){if(!this.logger)return;const r={action:this.constructor.name,status:this._status,...s};switch(e){case"debug":this.logger.debug(t,r);break;case"info":this.logger.info(t,r);break;case"warn":this.logger.warn(t,r);break;case"error":this.logger.error(t,r);break}}getTiming(e){return this._timing.get(e)}getAllTimings(){return Object.fromEntries(this._timing)}recordTiming(e,t){this._timing.set(e,t)}get status(){return this._status}get error(){return this._error}get isFailed(){return this._error!==null}get isLoading(){return this._isLoading}updateStatus(e){this._status=e,this.emitStatusChange(e)}assertStatus(e,t){const s=Array.isArray(e)?e:[e];if(!s.includes(this._status))throw new E(P.INVALID_STATE,`Cannot ${t} while status is ${this._status}, allowed: ${s.join(", ")}`)}clearError(){this._error=null}handleFailure(e){throw this._error=e instanceof E?e:de(e),this.emitError(this._error),this.emitFailed(),this._error}setLoading(e){this._isLoading=e,this.emitLoading(e)}async act(e,t){const s=performance.now(),r=t??"operation";this.log("debug",`Starting ${r}`,{step:String(r)}),this.clearError(),this.setLoading(!0);try{const a=await e(),i=performance.now()-s;return this.recordTiming(String(r),i),this.log("info",`Completed ${r}`,{step:String(r),duration:Math.round(i)}),t!==void 0&&this.updateStatus(t),a}catch(a){const i=performance.now()-s,o=a instanceof E?a:de(a);return this.recordTiming(String(r),i),this.log("error",`Failed ${r}`,{step:String(r),duration:Math.round(i),errorCode:o.code,errorMessage:o.message}),this.handleFailure(a)}finally{this.setLoading(!1)}}on(e,t){return this.eventEmitter.on(e,t)}emitProgress(e){this.eventEmitter.emit("progress",e)}emitStatusChange(e){this.eventEmitter.emit("status-change",e)}emitCompleted(){this.eventEmitter.emit("completed")}emitFailed(){this.eventEmitter.emit("failed")}emitError(e){this.eventEmitter.emit("error",e)}emitLoading(e){this.eventEmitter.emit("loading",e)}clearListeners(){this.eventEmitter.clear()}}function Tn(n){if(!n||typeof n!="string")return!1;if(n.startsWith("bc1")||n.startsWith("tb1"))try{return ye.address.fromBech32(n),!0}catch{return!1}try{return ye.address.fromBase58Check(n),!0}catch{return!1}}function En(n){const e=/^[1-9A-HJ-NP-Za-km-z]+$/;if(!n||typeof n!="string"||!e.test(n)||n.length<32||n.length>44)return!1;try{return bn(n).length===32}catch{return!1}}function bn(n){const e="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",t={};for(let u=0;u<e.length;u++)t[e[u]]=u;if(n.length===0)return new Uint8Array(0);let s=0;for(let u=0;u<n.length&&n[u]==="1";u++)s++;const r=Math.ceil(n.length*Math.log(58)/Math.log(256)),a=new Uint8Array(r);for(let u=s;u<n.length;u++){const h=t[n[u]];if(h===void 0)throw new Error(`Invalid base58 character: ${n[u]}`);let A=h;for(let w=r-1;w>=0;w--)A+=58*a[w],a[w]=A%256,A=Math.floor(A/256)}let i=0;for(;i<a.length&&a[i]===0;)i++;const o=new Uint8Array(s+(a.length-i));return o.fill(0,0,s),o.set(a.subarray(i),s),o}function Je(n){const e=R({message:"Amount is required"}).min(1,"Amount is required").refine(t=>t!=="0",{message:"Amount must be greater than 0"}).refine(t=>{const s=Number.parseFloat(t);return!Number.isNaN(s)&&s>0},{message:"Invalid amount format"});return n!==void 0&&n>0?e.refine(t=>Number.parseFloat(t)>=n,{message:`Amount must be at least ${n}`}):e}const Xe=Je(),Qe=Je(at.MIN_STAKE_AMOUNT_BTC),xn=Xe;yn([vn(),gn()]).refine(n=>n>0,{message:"Amount must be greater than 0"});const Sn=R({message:"Address is required"}).regex(/^0x[a-fA-F0-9]{40}$/,"Invalid EVM address format"),In=R({message:"Address is required"}).refine(En,{message:"Invalid Solana address format"}),Nn=R({message:"Address is required"}).regex(/^0x[a-fA-F0-9]{64}$/,"Invalid Sui address format"),Cn=R({message:"Address is required"}).regex(/^0x[a-fA-F0-9]{1,64}$/,"Invalid Starknet address format"),kn=R({message:"Address is required"}).refine(Tn,{message:"Invalid Bitcoin address format"}),et=R().optional();R().regex(/^0x[a-fA-F0-9]{64}$/,"Invalid transaction hash");Ye({amount:Qe,recipient:R({message:"Recipient is required"}).min(1,"Recipient is required"),referralCode:et});function wn(n,e,t={}){const s=n.safeParse(e);if(!s.success){const r=s.error.issues[0],a=r==null?void 0:r.path[0],i=(r==null?void 0:r.message)??"Invalid parameter";throw a==="amount"?E.invalidAmount(i):a==="recipient"?E.invalidAddress(e==null?void 0:e.recipient,t.destChain):E.invalidParameter(String(a),i)}return s.data}const On={IDLE:"idle",NEEDS_FEE_AUTHORIZATION:"needs_fee_authorization",NEEDS_ADDRESS_CONFIRMATION:"needs_address_confirmation",NEEDS_DEPLOY_AUTHORIZATION:"needs_deploy_authorization",READY:"ready",ADDRESS_READY:"address_ready"},Rn={IDLE:"idle",NEEDS_FEE_AUTHORIZATION:"needs_fee_authorization",NEEDS_APPROVAL:"needs-approval",READY:"ready",CONFIRMING:"confirming",COMPLETED:"completed"},Ln={IDLE:"idle",READY:"ready",CONFIRMING:"confirming",COMPLETED:"completed"};exports.ASSET_CATALOG=I;exports.BaseAction=An;exports.BtcActionStatus=On;exports.CAIP2_SEPARATOR=oe;exports.CHAIN_CATALOG=j;exports.CHAIN_PREFIXES=p;exports.CapabilityRegistry=He;exports.Chain=c;exports.ContractErrorCode=Ze;exports.ErrorCode=Me;exports.EvmOperationStatus=Rn;exports.LombardError=E;exports.NonEvmUnstakeStatus=Ln;exports.PartnerConfiguration=je;exports.ProviderErrorCode=Ve;exports.RegistryErrorCode=Ue;exports.SDK_NAME=ot;exports.SDK_RUNTIME=ct;exports.SDK_VERSION=Be;exports.StepStatus=Ft;exports.StrategyStatus=$t;exports.ValidationErrorCode=P;exports.WithdrawErrorCode=$e;exports.amountSchema=Xe;exports.bitcoinAddressSchema=kn;exports.btcStakeAmountSchema=Qe;exports.chainValueToKey=dt;exports.createBtcCoreContext=Ut;exports.createEvmCoreContext=Zt;exports.evmAddressSchema=Sn;exports.evmAmountSchema=xn;exports.evmChainIdToChain=At;exports.getAllAssetChains=Lt;exports.getAssetAddress=Et;exports.getAssetByAddress=kt;exports.getAssetChains=wt;exports.getAssetChainsForEnvs=te;exports.getAssetDecimals=bt;exports.getAssetEnvironments=Ot;exports.getAssetMetadata=Dt;exports.getAssetRouter=xt;exports.getBridgeAdapter=It;exports.getChainMetadata=mt;exports.getChainName=pt;exports.getChainType=gt;exports.getEvmAssetChains=Pt;exports.getEvmChainsWithAllAssets=Mt;exports.getProviderGetter=ge;exports.getPublicMarketMaker=Nt;exports.getSupportedAssets=Rt;exports.isAssetDeployed=Ct;exports.isChain=ut;exports.isEvmChain=pe;exports.isLombardError=Fe;exports.isMainnet=yt;exports.isTestnet=vt;exports.objectType=Ye;exports.parseChainIdentifier=_t;exports.referralCodeSchema=et;exports.solanaAddressSchema=In;exports.starknetAddressSchema=Cn;exports.stringType=R;exports.suiAddressSchema=Nn;exports.usesAssetRouter=St;exports.validatePrepareParams=wn;exports.wrapError=de;
|
|
2
|
-
//# sourceMappingURL=statusConstants-BLiNBT6s.cjs.map
|