@dhedge/trading-widget 4.6.0 → 4.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/index.cjs +1 -1
  2. package/index.d.ts +1 -0
  3. package/index.js +718 -590
  4. package/package.json +2 -1
package/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var Ir=Object.defineProperty;var Nr=(t,e,n)=>e in t?Ir(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var _e=(t,e,n)=>Nr(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),P=require("@headlessui/react"),E=require("wagmi"),p=require("react"),h=require("wagmi/chains"),ct=require("date-fns"),I=require("viem"),b=require("bignumber.js"),_r=require("lodash/invertBy"),kr=require("ts-custom-error"),He=require("@tanstack/react-query"),ee=require("@heroicons/react/24/outline"),A=require("classnames"),Pr=require("react-popper-tooltip"),Ca=require("lodash.chunk"),Or=require("wagmi/connectors"),Lr=require("lodash.isnumber"),Ie=require("@heroicons/react/24/solid"),gn=require("@heroicons/react/16/solid"),Rr=require("lodash.uniqby"),Rt=require("@heroicons/react/20/solid"),R=()=>{const{address:t,status:e,connector:n,isConnected:a}=E.useAccount();return{account:a?t:void 0,status:e,connector:n,providerName:n?.name,isConnected:a}},C="0x0000000000000000000000000000000000000000",Le=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),k=18,jr="1000000000000000000",Mr=59e3,Ge=3e4,Re=15e3,Da=5e3,Ia=400,Na=Ia*1.2,_a=ct.formatDuration({hours:24}),ka={address:C,symbol:"",chainId:h.optimism.id,depositParams:{customTokens:[]},withdrawParams:{customTokens:[]},deprecated:!1},Br="deposit",Pa=1,zt=0,Fr=.5,Oa=.02,Wr=.75,Ur=[zt],La="withdrawSafe",Ra="initWithdrawal",$r="unrollAndClaim",zr="completeWithdrawal",ja=3e7,Ma=1.25,Ce=1e4,Ba=13e3,Fa=3,In=2e4,Vr=15e3,Hr={[h.mainnet.id]:h.mainnet,[h.polygon.id]:h.polygon,[h.optimism.id]:h.optimism,[h.arbitrum.id]:h.arbitrum,[h.base.id]:h.base},Ue={[h.mainnet.id]:{nativeTokenSymbol:"ETH",wrappedNativeTokenName:"WETH",address:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",decimals:k},[h.polygon.id]:{nativeTokenSymbol:"POL",wrappedNativeTokenName:"WPOL",address:"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",decimals:k},[h.optimism.id]:{nativeTokenSymbol:"ETH",wrappedNativeTokenName:"WETH",address:"0x4200000000000000000000000000000000000006",decimals:k},[h.arbitrum.id]:{nativeTokenSymbol:"ETH",wrappedNativeTokenName:"WETH",address:"0x82af49447d8a07e3bd95bd0d56f35241523fbab1",decimals:k},[h.base.id]:{nativeTokenSymbol:"ETH",wrappedNativeTokenName:"WETH",address:"0x4200000000000000000000000000000000000006",decimals:k}},kt={[h.mainnet.id]:299e5,[h.polygon.id]:299e5,[h.optimism.id]:299e5,[h.arbitrum.id]:299e5,[h.base.id]:299e5},Gr={[h.mainnet.id]:"https://eth-mainnet.g.alchemy.com/v2",[h.optimism.id]:"https://opt-mainnet.g.alchemy.com/v2",[h.polygon.id]:"https://polygon-mainnet.g.alchemy.com/v2",[h.arbitrum.id]:"https://arb-mainnet.g.alchemy.com/v2",[h.base.id]:"https://base-mainnet.g.alchemy.com/v2"},Wa={USD:"$",ETH:"Ξ",BTC:"₿"},qr={USD:2,ETH:4,BTC:6},Yr=["USDC","USDT"],q={INVEST_INPUT_FOCUS:"invest_input_focus",APPROVED_TOKEN:"approved_token",DEPOSIT:"deposit",MULTI_ASSET_WITHDRAW:"multi_asset_withdraw",SINGLE_ASSET_WITHDRAW:"single_asset_unroll",SINGLE_ASSET_WITHDRAW_AND_CLAIM:"single_asset_unroll_and_claim",CLAIM:"claim_unrolled_assets",SWAP:"swap_unrolled_assets",WITHDRAWAL:"withdrawal",TRADING_SETTINGS_OPENED:"trading_settings_opened",INFINITE_ALLOWANCE_CHANGE:"infinite_allowance_change",BATCH_TRANSACTIONS_CHANGE:"batch_transactions_change",CREATE_LIMIT_SELL_ORDER:"create_limit_sell_order",OPEN_LIMIT_SELL_VIEW:"open_limit_sell_view",LIMIT_ORDER_WITHDRAW:"limit_order_withdraw",LIMIT_ORDER_WITHDRAW_DELETE:"limit_order_withdraw_delete"},Kr={approve:[q.APPROVED_TOKEN],deposit:[q.DEPOSIT],multi_withdraw:[q.WITHDRAWAL,q.MULTI_ASSET_WITHDRAW],single_withdraw:[q.WITHDRAWAL,q.SINGLE_ASSET_WITHDRAW],single_withdraw_and_claim:[q.WITHDRAWAL,q.SINGLE_ASSET_WITHDRAW_AND_CLAIM],claim:[q.CLAIM],swap:[q.SWAP],create_limit_sell_order:[q.CREATE_LIMIT_SELL_ORDER],limit_order_withdraw:[q.LIMIT_ORDER_WITHDRAW],delete_limit_order_withdraw:[q.LIMIT_ORDER_WITHDRAW_DELETE]},ge={IS_INFINITE:{NAME:"is_infinite",TYPE:"number"},SYMBOL:{NAME:"symbol",TYPE:"string"},CHAIN_ID:{NAME:"chain_id",TYPE:"number"},ADDRESS:{NAME:"address",TYPE:"string"},IS_BATCH_TRANSACTIONS_ENABLED:{NAME:"is_batch_enabled",TYPE:"number"},SOURCE:{NAME:"source",TYPE:"string"}};var ke=(t=>(t.ETH="ETH",t.MAINNET="MAINNET",t.POLYGON="POLYGON",t.OE="OPTIMISM",t.ARBI="ARBITRUM",t.BASE="BASE",t))(ke||{});const nt=process.env.NEXT_PUBLIC_INFURA_API_KEY;h.arbitrum.id+"",`${nt}`,h.optimism.id+"",`${nt}`,h.polygon.id+"",`${nt}`,h.base.id+"",`${nt}`,h.mainnet.id+"",`${nt}`;const Qr={[h.arbitrum.id]:{...h.arbitrum,name:"Arbitrum",iconPath:"/icons/arbitrum-network.svg",chainId:h.arbitrum.id,shortName:"ARB"},[h.optimism.id]:{...h.optimism,name:"Optimism",iconPath:"/icons/optimism-network.svg",chainId:h.optimism.id,shortName:"OP"},[h.polygon.id]:{...h.polygon,chainId:h.polygon.id,iconPath:"/icons/polygon-network.svg",shortName:"POLY"},[h.base.id]:{...h.base,chainId:h.base.id,iconPath:"/icons/base-network.svg",shortName:"BASE"},[h.mainnet.id]:{...h.mainnet,chainId:h.mainnet.id,iconPath:"/icons/ethereum-network.svg",shortName:"ETHEREUM"}};ke.ETH+"",h.mainnet.id,ke.MAINNET+"",h.mainnet.id,ke.POLYGON+"",h.polygon.id,ke.OE+"",h.optimism.id,ke.ARBI+"",h.arbitrum.id,ke.BASE+"",h.base.id;h.mainnet.id+"",h.optimism.id+"",h.polygon.id+"",h.arbitrum.id+"",h.base.id+"";const Nn="0x0000000000000000000000000000000000000000";BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");h.mainnet.id+"",BigInt(100),h.optimism.id+"",BigInt(600),h.polygon.id+"",BigInt(600),h.base.id+"",BigInt(600),h.arbitrum.id+"",BigInt(5300);const Xr="0x96D33bCF84DdE326014248E2896F79bbb9c13D6d",Ua="0xbDd84294bC8299861A2121F749A25EFEb7168a32",Zr="0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2",Jr="0xffFb5fB14606EB3a548C113026355020dDF27535",ei="0x794a61358D6845594F94dc1DB02A252b5b4814aD",$a="0xA5679C4272A056Bb83f039961fae7D99C48529F5",za="0x26a687e8244f1866E9Aa2D400c8b9957Aa8e6Ad4",ti="0x49Afe3abCf66CF09Fab86cb1139D8811C8afe56F",Va="0xf067575Eb60c7587C11e867907AA7284833704d1",ni="0x59525b9b23adc475ef91d98dae06b568ba574ce5",ai="0xa907504d7a4c415b4e6e1d0866d96afe8202f0e5",si="0x1849324228d852a67eb7443e42d967e480ffe95d",oi="0xa238dd80c259a72e81d7e4664a9801593f98d1c5",Ha="0xFcBEc28c43E356693971a24bf3F2Fd7D965E2ebA",ri="0x07e144e336fcc3fe928a8a2a5714da64354c1aab",ii="0x5e61a079A178f0E5784107a4963baAe0c5a680c6",li="0x794a61358D6845594F94dc1DB02A252b5b4814aD",Ga="0x2Ed1bd7f66e47113672f3870308b5E867C5bb743",qa="0x3bFE2a472d2964Ea4070725b7Fb0A868b3f08b63",ci="0xfdc7b8bFe0DD3513Cc669bB8d601Cb83e2F69cB0",di="0x8dFf5E27EA6b7AC08EbFdf9eB090F32ee9a30fcf",pi="0x794a61358D6845594F94dc1DB02A252b5b4814aD",Ya="0x45b90480D6F643dE2f128db091A357C3c90399f2",Ka="0xB71410736d2C8F2DAf30dA9D332dA10534d2624d",_n="0x4F754e0F0924afD74980886b0B479Fa1D7C58D0D";h.mainnet.id+"",h.arbitrum.id+"",h.base.id+"",h.optimism.id+"",h.polygon.id+"";h.mainnet.id+"",h.arbitrum.id+"",h.base.id+"",h.optimism.id+"",h.polygon.id+"";const Tn=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"onBehalfOf",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"borrowRateMode",type:"uint256"},{indexed:!1,internalType:"uint256",name:"borrowRate",type:"uint256"},{indexed:!0,internalType:"uint16",name:"referral",type:"uint16"}],name:"Borrow",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"onBehalfOf",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!0,internalType:"uint16",name:"referral",type:"uint16"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"target",type:"address"},{indexed:!0,internalType:"address",name:"initiator",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"premium",type:"uint256"},{indexed:!1,internalType:"uint16",name:"referralCode",type:"uint16"}],name:"FlashLoan",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"collateralAsset",type:"address"},{indexed:!0,internalType:"address",name:"debtAsset",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"debtToCover",type:"uint256"},{indexed:!1,internalType:"uint256",name:"liquidatedCollateralAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"liquidator",type:"address"},{indexed:!1,internalType:"bool",name:"receiveAToken",type:"bool"}],name:"LiquidationCall",type:"event"},{anonymous:!1,inputs:[],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"}],name:"RebalanceStableBorrowRate",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"repayer",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Repay",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"uint256",name:"liquidityRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"stableBorrowRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"variableBorrowRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"liquidityIndex",type:"uint256"},{indexed:!1,internalType:"uint256",name:"variableBorrowIndex",type:"uint256"}],name:"ReserveDataUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"}],name:"ReserveUsedAsCollateralDisabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"}],name:"ReserveUsedAsCollateralEnabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"rateMode",type:"uint256"}],name:"Swap",type:"event"},{anonymous:!1,inputs:[],name:"Unpaused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Withdraw",type:"event"},{inputs:[],name:"FLASHLOAN_PREMIUM_TOTAL",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"LENDINGPOOL_REVISION",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_NUMBER_RESERVES",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_STABLE_RATE_BORROW_SIZE_PERCENT",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"interestRateMode",type:"uint256"},{internalType:"uint16",name:"referralCode",type:"uint16"},{internalType:"address",name:"onBehalfOf",type:"address"}],name:"borrow",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"uint16",name:"referralCode",type:"uint16"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"balanceFromBefore",type:"uint256"},{internalType:"uint256",name:"balanceToBefore",type:"uint256"}],name:"finalizeTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"receiverAddress",type:"address"},{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"modes",type:"uint256[]"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"bytes",name:"params",type:"bytes"},{internalType:"uint16",name:"referralCode",type:"uint16"}],name:"flashLoan",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getAddressesProvider",outputs:[{internalType:"contract ILendingPoolAddressesProvider",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getConfiguration",outputs:[{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.ReserveConfigurationMap",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getReserveData",outputs:[{components:[{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.ReserveConfigurationMap",name:"configuration",type:"tuple"},{internalType:"uint128",name:"liquidityIndex",type:"uint128"},{internalType:"uint128",name:"variableBorrowIndex",type:"uint128"},{internalType:"uint128",name:"currentLiquidityRate",type:"uint128"},{internalType:"uint128",name:"currentVariableBorrowRate",type:"uint128"},{internalType:"uint128",name:"currentStableBorrowRate",type:"uint128"},{internalType:"uint40",name:"lastUpdateTimestamp",type:"uint40"},{internalType:"address",name:"aTokenAddress",type:"address"},{internalType:"address",name:"stableDebtTokenAddress",type:"address"},{internalType:"address",name:"variableDebtTokenAddress",type:"address"},{internalType:"address",name:"interestRateStrategyAddress",type:"address"},{internalType:"uint8",name:"id",type:"uint8"}],internalType:"struct DataTypes.ReserveData",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getReserveNormalizedIncome",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getReserveNormalizedVariableDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getReservesList",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getUserAccountData",outputs:[{internalType:"uint256",name:"totalCollateralETH",type:"uint256"},{internalType:"uint256",name:"totalDebtETH",type:"uint256"},{internalType:"uint256",name:"availableBorrowsETH",type:"uint256"},{internalType:"uint256",name:"currentLiquidationThreshold",type:"uint256"},{internalType:"uint256",name:"ltv",type:"uint256"},{internalType:"uint256",name:"healthFactor",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getUserConfiguration",outputs:[{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.UserConfigurationMap",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"aTokenAddress",type:"address"},{internalType:"address",name:"stableDebtAddress",type:"address"},{internalType:"address",name:"variableDebtAddress",type:"address"},{internalType:"address",name:"interestRateStrategyAddress",type:"address"}],name:"initReserve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ILendingPoolAddressesProvider",name:"provider",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"collateralAsset",type:"address"},{internalType:"address",name:"debtAsset",type:"address"},{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"debtToCover",type:"uint256"},{internalType:"bool",name:"receiveAToken",type:"bool"}],name:"liquidationCall",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"user",type:"address"}],name:"rebalanceStableBorrowRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"rateMode",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"}],name:"repay",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"configuration",type:"uint256"}],name:"setConfiguration",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"val",type:"bool"}],name:"setPause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"rateStrategyAddress",type:"address"}],name:"setReserveInterestRateStrategyAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"useAsCollateral",type:"bool"}],name:"setUserUseReserveAsCollateral",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"rateMode",type:"uint256"}],name:"swapBorrowRateMode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"withdraw",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"}],ui=[{inputs:[{internalType:"address",name:"_pool",type:"address"},{internalType:"uint256",name:"_poolTokenAmount",type:"uint256"},{internalType:"uint256",name:"_slippageTolerance",type:"uint256"}],name:"calculateSwapDataParams",outputs:[{components:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISwapDataConsumingGuard.AssetStructure[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISwapDataConsumingGuard.AssetStructure",name:"dstData",type:"tuple"}],internalType:"struct ISwapDataConsumingGuard.SwapDataParams",name:"swapDataParams",type:"tuple"}],stateMutability:"nonpayable",type:"function"}],je=[{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getAssetPrice",outputs:[{internalType:"uint256",name:"price",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isPool",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"extContract",type:"address"}],name:"getAssetGuard",outputs:[{internalType:"address",name:"guard",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"extContract",type:"address"}],name:"getContractGuard",outputs:[{internalType:"address",name:"guard",type:"address"}],stateMutability:"view",type:"function"}],Te=[{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"fundValue",type:"uint256"}],name:"calculateAvailableManagerFee",outputs:[{internalType:"uint256",name:"fee",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"deposit",outputs:[{internalType:"uint256",name:"liquidityMinted",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"getExitRemainingCooldown",outputs:[{internalType:"uint256",name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFundSummary",outputs:[{components:[{internalType:"string",name:"name",type:"string"},{internalType:"uint256",name:"totalSupply",type:"uint256"},{internalType:"uint256",name:"totalFundValue",type:"uint256"},{internalType:"address",name:"manager",type:"address"},{internalType:"string",name:"managerName",type:"string"},{internalType:"uint256",name:"creationTime",type:"uint256"},{internalType:"bool",name:"privatePool",type:"bool"},{internalType:"uint256",name:"performanceFeeNumerator",type:"uint256"},{internalType:"uint256",name:"managerFeeNumerator",type:"uint256"},{internalType:"uint256",name:"managerFeeDenominator",type:"uint256"},{internalType:"uint256",name:"exitFeeNumerator",type:"uint256"},{internalType:"uint256",name:"exitFeeDenominator",type:"uint256"},{internalType:"uint256",name:"entryFeeNumerator",type:"uint256"}],internalType:"struct PoolLogic.FundSummary",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"mintManagerFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolManagerLogic",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenPrice",outputs:[{internalType:"uint256",name:"price",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fundTokenAmount",type:"uint256"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"_complexAssetsData",type:"tuple[]"}],name:"withdrawSafe",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_fundTokenAmount",type:"uint256"},{internalType:"uint256",name:"_slippageTolerance",type:"uint256"}],name:"withdrawSafe",outputs:[],stateMutability:"nonpayable",type:"function"}],mi=[{type:"tuple[]",components:[{type:"address",name:"asset"},{type:"uint256",name:"amount"},{type:"tuple",name:"swapData",components:[{type:"bytes32",name:"routerKey"},{type:"bytes",name:"txData"}]}]}],yi=[{type:"tuple",components:[{type:"bytes",name:"encodedSrcData"},{type:"tuple",name:"dstData",components:[{type:"address",name:"dstAddress"},{type:"uint256",name:"dstAmount"}]},{type:"uint256",name:"slippage"}]}],De=[{inputs:[],name:"getFundComposition",outputs:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"isDeposit",type:"bool"}],internalType:"struct IHasSupportedAsset.Asset[]",name:"assets",type:"tuple[]"},{internalType:"uint256[]",name:"balances",type:"uint256[]"},{internalType:"uint256[]",name:"rates",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFeeIncreaseInfo",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"member",type:"address"}],name:"isMemberAllowed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"minDepositUSD",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalFundValueMutable",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getSupportedAssets",outputs:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"isDeposit",type:"bool"}],internalType:"struct IHasSupportedAsset.Asset[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxSupplyCap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolFeeShareNumerator",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],Qa=[{anonymous:!1,inputs:[{components:[{internalType:"address",name:"pool",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct RewardDistribution.RewardSummary[]",name:"distributedRewards",type:"tuple[]"},{indexed:!1,internalType:"uint256",name:"totalDistributedRewards",type:"uint256"}],name:"RewardsDistribution",type:"event"},{inputs:[],name:"calculateEligiblePoolsRewards",outputs:[{components:[{internalType:"address",name:"pool",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct RewardDistribution.RewardSummary[]",name:"rewards",type:"tuple[]"},{internalType:"uint256",name:"totalRewardsToDistribute",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getEligiblePoolsWithTvl",outputs:[{internalType:"uint256",name:"tvl",type:"uint256"},{components:[{internalType:"address",name:"pool",type:"address"},{internalType:"uint256",name:"tvl",type:"uint256"}],internalType:"struct RewardDistribution.EligiblePool[]",name:"eligiblePools",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getRewardsAPY",outputs:[{internalType:"uint256",name:"apy",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getWhitelistedPools",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"lastDistributionTime",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"rewardAmountPerSecond",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"rewardToken",outputs:[{internalType:"contract IERC20",name:"",type:"address"}],stateMutability:"view",type:"function"}],Pt=[{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getUnlockTax",outputs:[{internalType:"uint256",name:"unlockTax",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"lockedBalance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"unlockTime",outputs:[{internalType:"uint256",name:"unlockTime",type:"uint256"}],stateMutability:"view",type:"function"}],wi=[{inputs:[],name:"EmptyPayload",type:"error"},{inputs:[],name:"FailedInnerCall",type:"error"},{inputs:[{internalType:"bytes",name:"returnData",type:"bytes"}],name:"FailedToApproveParaswap",type:"error"},{inputs:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"receivedAmount",type:"uint256"},{internalType:"uint256",name:"minAmount",type:"uint256"}],name:"InsufficientAmountReceived",type:"error"},{inputs:[{internalType:"bytes32",name:"routerKey",type:"bytes32"}],name:"InvalidAggregator",type:"error"},{inputs:[],name:"InvalidNativeTokenTransferEncoding",type:"error"},{inputs:[],name:"NativeTokenSentWithoutNativeSwap",type:"error"},{inputs:[{internalType:"uint256",name:"expectedAmount",type:"uint256"},{internalType:"uint256",name:"sentAmount",type:"uint256"}],name:"NotEnoughNativeTokenSent",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"SafeERC20FailedOperation",type:"error"},{inputs:[{internalType:"address",name:"router",type:"address"},{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct SrcTokenSwapDetails",name:"srcTokenSwapDetails",type:"tuple"},{internalType:"bytes",name:"returnData",type:"bytes"}],name:"SwapFailed",type:"error"},{inputs:[{internalType:"enum Permit2TransferType",name:"transferType",type:"uint8"}],name:"UnsupportedPermit2Method",type:"error"},{inputs:[],name:"UnsupportedTokenTransferMethod",type:"error"}],de=[...wi,{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"limitOrderVault",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"}],name:"LimitOrderVaultCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"withdrawalVault",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"}],name:"WithdrawalCompleted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"withdrawalVault",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"address",name:"dHedgeVault",type:"address"},{indexed:!1,internalType:"uint256",name:"amountWithdrawn",type:"uint256"}],name:"WithdrawalInitiated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"address",name:"dHedgeVault",type:"address"},{indexed:!1,internalType:"contract IERC20",name:"vaultDepositToken",type:"address"},{indexed:!1,internalType:"contract IERC20",name:"userDepositToken",type:"address"},{indexed:!1,internalType:"uint256",name:"amountReceived",type:"uint256"},{indexed:!1,internalType:"uint256",name:"lockupTime",type:"uint256"}],name:"ZapDepositCompleted",type:"event"},{inputs:[{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedDestTokenAmount",type:"uint256"}],name:"completeLimitOrderWithdrawal",outputs:[{internalType:"uint256",name:"destTokenAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"completeLimitOrderWithdrawal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedDestTokenAmount",type:"uint256"}],name:"completeLimitOrderWithdrawalFor",outputs:[{internalType:"uint256",name:"destTokenAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"}],name:"completeLimitOrderWithdrawalFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedDestTokenAmount",type:"uint256"}],name:"completeWithdrawal",outputs:[{internalType:"uint256",name:"destTokenAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"completeWithdrawal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"customCooldown",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"customCooldownDepositsWhitelist",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"dHedgePoolFactory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"contract IERC20",name:"_vaultDepositToken",type:"address"},{internalType:"uint256",name:"_depositAmount",type:"uint256"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"address",name:"_vaultDepositToken",type:"address"},{internalType:"uint256",name:"_depositAmount",type:"uint256"}],name:"depositQuote",outputs:[{internalType:"uint256",name:"expectedAmountReceived",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"contract IERC20",name:"_vaultDepositToken",type:"address"},{internalType:"uint256",name:"_depositAmount",type:"uint256"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"depositWithCustomCooldown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"",type:"uint8"}],name:"getLogic",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_depositor",type:"address"}],name:"getTrackedAssets",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"trackedAssets",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_depositor",type:"address"}],name:"getTrackedAssetsFromLimitOrders",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"trackedAssets",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"},{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_amountIn",type:"uint256"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"_complexAssetsData",type:"tuple[]"}],name:"initLimitOrderWithdrawalFor",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"trackedAssets",type:"tuple[]"},{internalType:"address",name:"vault",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_amountIn",type:"uint256"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"_complexAssetsData",type:"tuple[]"}],name:"initWithdrawal",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"trackedAssets",type:"tuple[]"},{internalType:"address",name:"vault",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isAuthorizedWithdrawer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"}],name:"isdHedgeVault",outputs:[{internalType:"bool",name:"isVault",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"limitOrderContracts",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"nativeDeposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"nativeDepositWithCustomCooldown",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_portion",type:"uint256"},{internalType:"address",name:"_to",type:"address"}],name:"partialWithdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"toWhitelist",type:"address"},{internalType:"bool",name:"whitelisted",type:"bool"}],internalType:"struct EasySwapperV2.WhitelistSetting[]",name:"_whitelistSettings",type:"tuple[]"}],name:"setAuthorizedWithdrawers",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_customCooldown",type:"uint256"}],name:"setCustomCooldown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"toWhitelist",type:"address"},{internalType:"bool",name:"whitelisted",type:"bool"}],internalType:"struct EasySwapperV2.WhitelistSetting[]",name:"_whitelistSettings",type:"tuple[]"}],name:"setCustomCooldownWhitelist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_vaultLogic",type:"address"}],name:"setLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISwapper",name:"_swapper",type:"address"}],name:"setSwapper",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgePoolFactory",type:"address"}],name:"setdHedgePoolFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"swapper",outputs:[{internalType:"contract ISwapper",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_amountIn",type:"uint256"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"_complexAssetsData",type:"tuple[]"}],name:"unrollAndClaim",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"withdrawalContracts",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"wrappedNativeToken",outputs:[{internalType:"contract IWETH",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails",name:"srcData",type:"tuple"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct EasySwapperV2.SingleInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"zapDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails",name:"srcData",type:"tuple"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct EasySwapperV2.SingleInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"zapDepositWithCustomCooldown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails",name:"srcData",type:"tuple"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct EasySwapperV2.SingleInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"zapNativeDeposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails",name:"srcData",type:"tuple"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct EasySwapperV2.SingleInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"zapNativeDepositWithCustomCooldown",outputs:[],stateMutability:"payable",type:"function"}],Vt=[{inputs:[],name:"ExternalCallerNotAllowed",type:"error"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"InvalidAsset",type:"error"},{inputs:[{internalType:"address",name:"pool",type:"address"}],name:"InvalidPool",type:"error"},{inputs:[{internalType:"uint256",name:"stopLossPriceD18",type:"uint256"},{internalType:"uint256",name:"takeProfitPriceD18",type:"uint256"},{internalType:"uint256",name:"currentPrice",type:"uint256"}],name:"InvalidPrices",type:"error"},{inputs:[{internalType:"string",name:"varName",type:"string"}],name:"InvalidValue",type:"error"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"pool",type:"address"}],name:"LimitOrderAlreadyExists",type:"error"},{inputs:[{internalType:"uint256",name:"currentPriceD18",type:"uint256"},{internalType:"uint256",name:"stopLossPriceD18",type:"uint256"},{internalType:"uint256",name:"takeProfitPriceD18",type:"uint256"}],name:"LimitOrderNotFillable",type:"error"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"}],name:"LimitOrderNotFound",type:"error"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"NotAuthorizedKeeper",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"OwnableUnauthorizedAccount",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"SafeERC20FailedOperation",type:"error"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"SettlementOrderNotFound",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"pool",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"LimitOrderCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"pool",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"LimitOrderDeleted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"pool",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"LimitOrderExecuted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"reason",type:"bytes"}],name:"LimitOrderExecutionFailed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"pool",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"LimitOrderModified",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"destTokenAmountReceived",type:"uint256"}],name:"SettlementOrderExecuted",type:"event"},{inputs:[],name:"SLIPPAGE_DENOMINATOR",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderId_",type:"bytes32"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"complexAssetsData_",type:"tuple[]"}],name:"_executeLimitOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user_",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"swapData_",type:"tuple"}],name:"_executeSettlementOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"stopLossPriceD18",type:"uint256"},{internalType:"uint256",name:"takeProfitPriceD18",type:"uint256"},{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"pool",type:"address"},{internalType:"address",name:"pricingAsset",type:"address"}],internalType:"struct PoolLimitOrderManager.LimitOrderInfo",name:"limitOrderInfo_",type:"tuple"}],name:"createLimitOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultSlippageTolerance",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pool_",type:"address"}],name:"deleteLimitOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"easySwapper",outputs:[{internalType:"contract IEasySwapperV2",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderId_",type:"bytes32"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"complexAssetsData_",type:"tuple[]"}],name:"executeLimitOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"orderId",type:"bytes32"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"complexAssetsData",type:"tuple[]"}],internalType:"struct PoolLimitOrderManager.LimitOrderExecution[]",name:"orders_",type:"tuple[]"}],name:"executeLimitOrders",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"orderId",type:"bytes32"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"complexAssetsData",type:"tuple[]"}],internalType:"struct PoolLimitOrderManager.LimitOrderExecution[]",name:"orders_",type:"tuple[]"}],name:"executeLimitOrdersSafe",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user_",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"swapData_",type:"tuple"}],name:"executeSettlementOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"user",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"swapData",type:"tuple"}],internalType:"struct PoolLimitOrderManager.SettlementOrderExecution[]",name:"orders_",type:"tuple[]"}],name:"executeSettlementOrders",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"user",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"swapData",type:"tuple"}],internalType:"struct PoolLimitOrderManager.SettlementOrderExecution[]",name:"orders_",type:"tuple[]"}],name:"executeSettlementOrdersSafe",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getAllLimitOrderIds",outputs:[{internalType:"bytes32[]",name:"limitOrderIds_",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAllUsersToSettle",outputs:[{internalType:"address[]",name:"usersToSettle_",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"limitOrderSettlementToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderId",type:"bytes32"}],name:"limitOrders",outputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"stopLossPriceD18",type:"uint256"},{internalType:"uint256",name:"takeProfitPriceD18",type:"uint256"},{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"pool",type:"address"},{internalType:"address",name:"pricingAsset",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"stopLossPriceD18",type:"uint256"},{internalType:"uint256",name:"takeProfitPriceD18",type:"uint256"},{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"pool",type:"address"},{internalType:"address",name:"pricingAsset",type:"address"}],internalType:"struct PoolLimitOrderManager.LimitOrderInfo",name:"modificationInfo_",type:"tuple"}],name:"modifyLimitOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"limitOrderSettlementToken_",type:"address"}],name:"setLimitOrderSettlementToken",outputs:[],stateMutability:"nonpayable",type:"function"}],Xa={[h.mainnet.id]:{factory:Xr,easySwapperV2:Ua,aaveLendingPoolV3:Zr},[h.polygon.id]:{factory:ci,aaveLendingPoolV2:di,aaveLendingPoolV3:pi,easySwapperV2:Ya,limitOrder:Ka},[h.optimism.id]:{factory:ii,rewardDistribution:ri,aaveLendingPoolV3:li,easySwapperV2:Ga,limitOrder:qa},[h.arbitrum.id]:{factory:Jr,aaveLendingPoolV3:ei,easySwapperV2:$a,limitOrder:za},[h.base.id]:{factory:ti,flatcoinPointsModule:ni,easySwapperV2:Va,aaveLendingPoolV3:oi,limitOrder:Ha}},Za={factory:je,aaveLendingPoolV2:Tn,aaveLendingPoolV3:Tn,rewardDistribution:Qa,poolManagerLogic:De,erc20:I.erc20Abi,poolLogic:Te,flatcoinPointsModule:Pt,easySwapperV2:de,limitOrder:Vt},bn="Gas estimate error occurred",Ja="See console logs to report error details.",fn="Missing simulation params",es="Simulation timeout",ts="swap_data_deposit_error",ns="swap_data_withdraw_error",at={title:"Low Slippage",hint:"Please increase slippage tolerance and try again."},as={"invalid liquidityMinted":at,"high withdraw slippage":at,"high deposit slippage":at,"high swap slippage":at,InsufficientAmountReceived:at,SwapFailed:{title:"Swap Failed",hint:"Please refresh the swap quote or choose another swap source in settings and try again."},"assetType not handled":{title:"Single Asset Withdrawal not available",hint:"Please use All Assets option."},[ts]:{title:"Swap Quote Fetching Error",hint:"Please select a different deposit option, refresh the swap quote, or choose another swap source in settings."},[ns]:{title:"Swap Quote Fetching Error",hint:"Please refresh the swap quote, choose another swap source in settings, or claim your assets without a swap."},dh1:{title:"Factory contract is paused",hint:"Try again later or contact the team on Discord if the issue persists."},dh2:{title:"Vault is paused",hint:"Try again later or contact the team on Discord if the issue persists."},dh3:{title:"Vault tokens are in cooldown period",hint:"Wait for the cooldown period to expire and try again."},dh4:{title:"Only vault manager allowed",hint:"Only the vault manager can perform this action."},dh5:{title:"Only allowed addresses can use custom cooldown",hint:"Only whitelisted addresses can perform this action."},dh6:{title:"Invalid cooldown duration",hint:"Cooldown must be between 5 minutes and the maximum exit cooldown."},dh7:{title:"Only whitelisted vault members allowed",hint:"Only the manager or whitelisted members can deposit to this private vault."},dh8:{title:"Asset not supported for deposits",hint:"Use a supported deposit asset."},dh9:{title:"ERC721 tokens not supported as deposit asset",hint:"Use an ERC20 token for deposits."},dh10:{title:"Amount below minimum threshold",hint:"Change amount to meet the minimum threshold."},dh11:{title:"Withdrawal too soon after deposit",hint:"Wait at least one block after deposit before withdrawing."},dh12:{title:"Insufficient balance for withdrawal",hint:"Check if you have enough vault tokens for withdrawal."},dh13:{title:"Liquidity allocation invariant breach",hint:"Contact the team on Discord."},dh14:{title:"Exit fee transfer failed",hint:"Contact the team on Discord."},dh15:{title:"Withdraw asset can not be zero",hint:"Contact the team on Discord."},dh16:{title:"Value calculation mismatch during withdrawal",hint:"Try again later or contact the team on Discord if the issue persists."},dh17:{title:"Supply calculation mismatch during withdrawal",hint:"Try again later or contact the team on Discord if the issue persists."},dh18:{title:"Address can not be zero",hint:"Contact the team on Discord."},dh19:{title:"Asset mismatch in complex asset data",hint:"Contact the team on Discord."},dh20:{title:"Trading is paused for this vault",hint:"Try again later or contact the team on Discord if the issue persists."},dh21:{title:"ERC721 transfer not verified",hint:"If you believe this is a bug, contact the team on Discord."},dh22:{title:"Asset not enabled in vault",hint:"Add the asset to the vault's supported assets."},dh23:{title:"Invalid transaction",hint:"dHEDGE protocol either does not support this action or this is a bug."},dh24:{title:"Unauthorized transaction executor",hint:"Only manager, trader, or public transactions are allowed."},dh25:{title:"Deposit value below minimum USD requirement",hint:"Increase deposit amount to meet the minimum USD value requirement."},dh26:{title:"Withdrawal slippage tolerance exceeded",hint:"Increase slippage tolerance or try again with better market conditions."},dh27:{title:"High withdrawal slippage protection triggered",hint:"Try again with better market conditions or contact the team on Discord if the issue persists."},dh28:{title:"Unauthorized sender",hint:"Only factory or owner can peform this action."},dh29:{title:"Invalid flash loan initiator",hint:"If you believe this is a bug, contact the team on Discord."},dh30:{title:"Invalid flash loan sender",hint:"If you believe this is a bug, contact the team on Discord."},dh31:{title:"Only PoolManagerLogic contract allowed",hint:"If you believe this is a bug, contact the team on Discord."},dh32:{title:"Maximum supply cap reached",hint:"Cannot mint such amount of vault tokens as it would exceed the maximum supply cap."}},ss="Invalid limit order prices",os={InvalidPrices:{title:ss}},hi=[...Object.keys(as),...Object.keys(os)],oe=18,rs={address:"0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",symbol:"USDCe",decimals:6,value:""},ie={address:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",symbol:"USDC",decimals:6,value:""},jt={address:"0x82af49447d8a07e3bd95bd0d56f35241523fbab1",symbol:"WETH",decimals:oe,value:""},$e={address:"0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f",symbol:"WBTC",decimals:8,value:""},gi={address:"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",symbol:"USDC",decimals:6,value:""},is={address:"0x4200000000000000000000000000000000000006",symbol:"WETH",decimals:oe,value:""},Ti={address:"0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf",symbol:"cbBTC",decimals:8,value:""},on={address:"0xb6fe221fe9eef5aba221c348ba20a1bf5e73624c",symbol:"rETH",decimals:oe},ls={address:"0x7F5c764cBc14f9669B88837ca1490cCa17c31607",symbol:"USDCe",decimals:6,value:""},bi={address:"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",symbol:"USDC",decimals:6,value:""},fi={address:"0x94b008aa00579c1307b0ef2c499ad98a8ce58e58",symbol:"USDT",decimals:6,value:""},cs={address:"0x4200000000000000000000000000000000000006",symbol:"WETH",decimals:oe,value:""},vi={address:"0xda10009cbd5d07dd0cecc66161fc93d7c9000da1",symbol:"DAI",decimals:oe,value:""},it={address:"0x68f180fcce6836688e9084f035309e29bf0a2095",symbol:"WBTC",decimals:8,value:""},ds={address:"0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",symbol:"WETH",decimals:oe,value:""},ps={address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",symbol:"USDCe",decimals:6,value:""},xi={address:"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",symbol:"USDC",decimals:6,value:""},us={address:"0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6",symbol:"WBTC",decimals:8,value:""},Ai={address:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",symbol:"WPOL",decimals:oe,value:""},Si={address:"0xc2132d05d31c914a87c6611c10748aeb04b58e8f",symbol:"USDT",decimals:6,value:""},Ei={address:"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063",symbol:"DAI",decimals:oe,value:""},ms={address:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",symbol:"WETH",decimals:oe,value:""},Ci={address:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",symbol:"USDC",decimals:6,value:""},ys={address:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",symbol:"WBTC",decimals:8,value:""},Di={address:"0xdac17f958d2ee523a2206206994597c13d831ec7",symbol:"USDT",decimals:6,value:""},Mt={address:Nn,symbol:"all",decimals:oe,value:""},kn={[rs.address.toLowerCase()]:"USDCe",[ls.address.toLowerCase()]:"USDCe",[ps.address.toLowerCase()]:"USDCe"},ws={[h.mainnet.id]:ms,[h.optimism.id]:cs,[h.base.id]:is,[h.polygon.id]:ds,[h.arbitrum.id]:jt},hs={[h.optimism.id]:it,[h.base.id]:Ti,[h.polygon.id]:us,[h.arbitrum.id]:$e,[h.mainnet.id]:ys},Ii={[h.optimism.id]:{WETH:cs,USDC:bi,WBTC:it,USDCe:ls,USDT:fi,DAI:vi},[h.polygon.id]:{WMATIC:Ai,WETH:ds,USDC:xi,WBTC:us,USDCe:ps,USDT:Si,DAI:Ei},[h.arbitrum.id]:{WETH:jt,USDC:ie,WBTC:$e,USDCe:rs},[h.base.id]:{WETH:is,USDC:gi},[h.mainnet.id]:{WETH:ms,USDC:Ci,WBTC:ys,USDT:Di}},Ni="https://hermes.pyth.network",_i="https://flat.money/flatcoin",ki="https://v1.flat.money/flatcoin",Ot={RETH_BASE:"0xdb0cd65dcc7fe07003ce1201f91e1f966fa95768",WBTC_OPTIMISM:"0x6d857e9d24a7566bb72a3fb0847a3e0e4e1c2879",WBTC_ARBITRUM:"0xb1353d51991e79fefd4bfdba2a03e9f0232814a6"},Pi=Object.values(Ot),Oi={[Ot.RETH_BASE]:{symbol:on.symbol,decimals:on.decimals,address:on.address},[Ot.WBTC_OPTIMISM]:{symbol:it.symbol,decimals:it.decimals,address:it.address},[Ot.WBTC_ARBITRUM]:{symbol:$e.symbol,decimals:$e.decimals,address:$e.address}},gs="0xb95fb324b8a2faf8ec4f76e3df46c718402736e2",Ts=[gs,"0x357cb23571ef7a3d6189b7facfc361ea71f7cab5"],Se={DEPOSIT:"deposit",DEPOSIT_CUSTOM:"depositWithCustomCooldown",NATIVE:"nativeDeposit",NATIVE_CUSTOM:"nativeDepositWithCustomCooldown",ZAP_NATIVE_DEPOSIT:"zapNativeDeposit",ZAP_NATIVE_DEPOSIT_CUSTOM:"zapNativeDepositWithCustomCooldown",ZAP_DEPOSIT:"zapDeposit",ZAP_DEPOSIT_CUSTOM:"zapDepositWithCustomCooldown"},te={SOL_ARBITRUM:"0x09400d9db990d5ed3f35d7be61dfaeb900af03c9",BTC_ARBITRUM:"0x47c031236e19d024b42f8ae6780e44a573170703",WETH_WETH_ARBITRUM:"0x70d95587d40a2caf56bd97485ab3eec10bee6336",WETH_USDC_ARBITRUM:"0x450bb6774dd8a756274e0ab4107953259d2ac541",SUI_ARBITRUM:"0x6ecf2133e2c9751caadcb6958b9654bae198a797",DOGE_ARBITRUM:"0x6853ea96ff216fab11d2d930ce3c508556a4bdc4",XRP_ARBITRUM:"0x0ccb4faa6f1f1b30911619f1184082ab4e25813c",CRV_ARBITRUM:"0x0e46941f9bff8d0784bffa3d0d7883cdb82d7ae7",HYPE_ARBITRUM:"0xbcb8fe13d02b023e8f94f6881cc0192fd918a5c0",BNB_ARBITRUM:"0x2d340912aa47e33c90efb078e69e70efe2b34b9b",BNB_WBTC_USDC_ARBITRUM:"0x065577D05c3D4C11505ed7bc97BBF85d462A6A6f",LINK_ARBITRUM:"0x7f1fa204bb700853d36994da19f830b6ad18455c",PUMP_ARBITRUM:"0x4c0bb704529fa49a26bd854802d70206982c6f1b"},bs=Object.values(te),Li={[te.SOL_ARBITRUM]:ie,[te.BTC_ARBITRUM]:$e,[te.WETH_WETH_ARBITRUM]:jt,[te.WETH_USDC_ARBITRUM]:jt,[te.SUI_ARBITRUM]:ie,[te.DOGE_ARBITRUM]:ie,[te.XRP_ARBITRUM]:ie,[te.CRV_ARBITRUM]:ie,[te.HYPE_ARBITRUM]:ie,[te.BNB_ARBITRUM]:ie,[te.LINK_ARBITRUM]:ie,[te.PUMP_ARBITRUM]:ie,[te.BNB_WBTC_USDC_ARBITRUM]:ie},Ri={"0x9a916e55f5b67226734cd7b465d51bce1d11a89a":ie},lt={IS_BATCH_TRANSACTIONS_ENABLED:"isBatchTransactionsEnabled",REFERRER:"referrer",REF_POOL:"ref_pool"},z=(t,e)=>t?.toLowerCase()===e?.toLowerCase(),Z=t=>z(t,Nn),W=(t,e)=>Xa[e]?.[t]??C,fs=t=>Za[t],vs=t=>t&&`${t.substring(0,6)}...${t.substring(t.length-4,t.length)}`,vn=({address:t,chainId:e})=>{const n=W("aaveLendingPoolV3",e);return z(t,n)},xs=({sourceAddress:t,amount:e})=>`${t}_${e}`,As=(t,e)=>{const n=t.slice(0,e),a=t.slice(e);return{firstPart:n,secondPart:a}},ut=(t,e)=>t/e*100,dt=t=>t<1?4:t<10?3:2,Bt=(t,e=k)=>new b(t.toString()).shiftedBy(e).toFixed(0),xn=(t,e,n,a)=>new b(e).dividedBy(n).multipliedBy(t).shiftedBy(-(a||k)).toNumber(),Pn=t=>{const e=new b(.01),n=new b(t),a=!n.isZero()&&n.lt(e)?e:n;return BigInt(a.multipliedBy(100).toFixed(0))},ji=({vaultAddress:t,swapData:e,sendTokenAddress:n,sendTokenAmount:a,vaultDepositTokenAddress:o,minVaultTokensReceivedAmount:r,routerKey:i="ONE_INCH",swapDestinationAmount:l,swapSlippage:c})=>{const d=new b(l).multipliedBy(1-c/100).toFixed(0),u=[I.stringToHex(i,{size:32}),e];return[t,[[n,a,u],[o,d]],r]},Mi=({receiveAssetAddress:t,assets:e,swapData:n})=>{const a={srcData:[],destAmount:new b("0")},{srcData:o}=e?.reduce((r,i)=>{const l=n?.[i.address];if(!l)return r;const c=[I.stringToHex(l.routerKey,{size:32}),l.rawTransaction.data],d=[i.address,i.rawBalance,c];return{srcData:[...r.srcData,d],destAmount:r.destAmount.plus(l.destinationAmount)}},a)??a;return[o,[t,"0"]]},Bi=({assetAddress:t,swapData:e,swapParams:n,slippageToleranceForContractTransaction:a})=>{if(!n)return{supportedAsset:t,withdrawData:"",slippageTolerance:BigInt(0)};const{srcData:o,dstData:r}=n,i=o.map(({asset:d,amount:u})=>{const m=e?.[xs({sourceAddress:d,amount:u.toString()})];return{asset:d,amount:u,swapData:{routerKey:I.stringToHex(m?.routerKey??"",{size:32}),txData:m?.rawTransaction.data??"0x"}}}),l=I.encodeAbiParameters(mi,[i]),c=I.encodeAbiParameters(yi,[{encodedSrcData:l,dstData:{dstAddress:r.asset,dstAmount:r.amount},slippage:a}]);return{supportedAsset:t,withdrawData:c,slippageTolerance:a}},Ht=(t,e)=>Ue[e]?.nativeTokenSymbol===t,Ss=({nativeTokenBalance:t,tokenDecimals:e,gasPrice:n})=>{const a=new b(n).multipliedBy(ja).shiftedBy(-e),o=new b(t).minus(a);return o.gt("0")?o:new b("0")},Es=t=>Yr.includes(t),Fi=t=>{const e=Object.values(t).reduce((n,{type:a})=>(n[a]=n[a]+1,n),{string:0,number:0});if(e.string>10)throw new Error("logger params must contain up to 10 string values");if(e.number>40)throw new Error("logger params must contain up to 40 numeric values");return!0},Wi=(t,e=150)=>t.length>e?t.substring(0,e):t,ca=(t,e=hi)=>{const n=t.toLowerCase();return e.sort((a,o)=>o.length-a.length).find(a=>n.includes(a.toLowerCase()))},da=t=>as[t]??os[t],Cs=({errorMessage:t,abiErrors:e})=>{if(!t||t.includes("User rejected"))return null;const n=e.find(r=>t.includes(r));if(n&&ca(n))return da(n);const a=ca(t);if(a)return da(a);const[o]=t.split(n?".":"Contract").map(r=>r.trim());return{title:"Transaction failed",hint:`${Wi(o??"")} ${n?`: ${n}`:""}`}},Ui=t=>typeof t=="bigint"&&t!==BigInt(0),Oe=(t,e=oe)=>new b(t).shiftedBy(-e).toNumber(),Ds=t=>!isNaN(parseFloat(t))&&!isNaN(t),J=({value:t,minimumFractionDigits:e=2,maximumFractionDigits:n=2,compact:a=!1,normalize:o=!1})=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",notation:a?"compact":void 0,minimumFractionDigits:e,maximumFractionDigits:n}).format(o?Oe(t):Number(t)),An=t=>Ds(t)?new b(t).toFixed():"",pa=["₀","₁","₂","₃","₄","₅","₆","₇","₈","₉"],ve=({value:t,decimals:e})=>{const n=new b(t);if(n.isGreaterThan(1)||n.isZero())return An(n.toFixed(e));const o=(/e/i.test(t.toString())?parseFloat(t.toString()).toFixed(oe):t.toString()).match(/^0\.(0+)(\d+)$/);if(o){const[,r,i]=o;if(r.length>=e&&r.length<pa.length)return`0.0${pa[r.length]}${i.slice(0,3)}`}return An(n.toFixed(e))},mt=(t,e=0)=>`${t.toLocaleString("en-US",{maximumFractionDigits:e})}%`,Is=t=>t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,","),rt=(t,e,n=0)=>{const a=ut(+t,e);return mt(a,n)},Lt=({currency:t,value:e})=>t==="USD"?J({value:e}):`${Wa[t]} ${ve({value:e,decimals:qr[t]})}`,$i=(t,e)=>new b(new b(t).toFixed(e,b.ROUND_DOWN)).toString(),zi=(t,e=3,n=2)=>{if(t.length<=5)return t;const a="...";return t.length<=e+n+a.length?t:`${t.slice(0,e)}${a}${t.slice(-n)}`},Ns=({balance:t,symbol:e,precision:n,truncateSymbol:a})=>`${$i(t,n)} ${zi(e)}`,Gt=typeof window<"u",On=t=>z(ai,t)||z(si,t),_s=t=>Pi.some(e=>z(e,t)),ks=t=>Oi[t.toLowerCase()]??{symbol:"",decimals:18,address:C},Vi=t=>z(t,gs)?ki:_i,Ln=t=>`eth_${t}`,Hi=({action:t,log:e,symbol:n,vaultAddress:a,chainId:o})=>{const r={[ge.SYMBOL.NAME]:n,[ge.CHAIN_ID.NAME]:o,[ge.ADDRESS.NAME]:Ln(a)};Kr[t].forEach(i=>{e?.(i,r)})},Gi=t=>bs.some(e=>z(e,t)),qi=t=>Li[t.toLowerCase()]??{symbol:"",decimals:18,address:C},Yi=t=>Ri[t.toLowerCase()];function Ki(){if(Gt)try{const t=localStorage.getItem(lt.IS_BATCH_TRANSACTIONS_ENABLED);return t?JSON.parse(t):void 0}catch{return}}function Qi(t){if(Gt)try{localStorage.setItem(lt.IS_BATCH_TRANSACTIONS_ENABLED,JSON.stringify(t))}catch(e){console.error("[core-kit]: Failed to persist batch transactions setting",e)}}function X(){}const ua={address:C,symbol:"",decimals:k,value:""},Ps=t=>{const e=t?.poolAddress??C,n={address:e,symbol:t?.poolConfigMap?.[e]?.symbol??"",decimals:k,value:""},a=t?.type??"deposit",o=a==="deposit"?ua:n,r=a==="deposit"?n:ua;return{poolAddress:e,poolConfigMap:{...t?.poolConfigMap},settings:{slippage:"auto",isInfiniteAllowance:!1,isMultiAssetWithdrawalEnabled:!0,isMaxSlippageLoading:!1,availableAggregators:[],...t?.settings,isBatchTransactionsEnabled:Ki()??t?.settings?.isBatchTransactionsEnabled??!1,selectedAggregators:t?.settings?.selectedAggregators??t?.settings?.availableAggregators??[]},type:a,input:{sendToken:{...o,...t?.input?.sendToken},receiveToken:{...r,...t?.input?.receiveToken}},modal:{isOpen:!1,status:"None",receiveTokens:null,sendTokens:null,...t?.modal},transactions:t?.transactions??[],poolFallbackData:{address:C,...t?.poolFallbackData},customDepositTokensPerChain:t?.customDepositTokensPerChain,defaultChainId:t?.defaultChainId}},Os=p.createContext({...Ps({poolAddress:C,poolConfigMap:{}})}),Ls=p.createContext({setPoolAddress:X,setTradingType:X,updateSendTokenInput:X,updateReceiveTokenInput:X,updateTradingSettings:X,updateTradingModal:X,updateTransactions:X,updatePoolFallbackData:X,updateCustomDepositTokensPerChain:X,onTradingSettleError:X,onTransactionError:X,onTransactionSuccess:X,onTransactionEstimationError:X,onTokenSelector:X,onLog:X,onSimulateTransaction:()=>Promise.resolve(null),getSwapData:()=>Promise.resolve(null),getSwapQuotes:()=>Promise.resolve(null),updatePoolConfig:X,addPoolConfig:X}),Xi=t=>(e,n)=>{switch(n.type){case"SET_POOL_ADDRESS":return{...e,poolAddress:n.payload};case"SET_TRADING_TYPE":return{...e,type:n.payload};case"UPDATE_SEND_TOKEN_INPUT":return{...e,input:{...e.input,sendToken:{...e.input.sendToken,...n.payload}}};case"UPDATE_RECEIVE_TOKEN_INPUT":return{...e,input:{...e.input,receiveToken:{...e.input.receiveToken,...n.payload}}};case"UPDATE_TRADING_SETTINGS":return{...e,settings:{...e.settings,...n.payload}};case"UPDATE_TRADING_MODAL":return{...e,modal:{...e.modal,...n.payload}};case"UPDATE_POOL_FALLBACK_DATA":return{...e,poolFallbackData:n.payload};case"UPDATE_POOL_CONFIG":return{...e,poolConfigMap:{...e.poolConfigMap,...Object.entries(n.payload).filter(([a])=>!!e.poolConfigMap?.[a]).reduce((a,[o,r])=>({...a,[o]:{...e.poolConfigMap?.[o],...r}}),e.poolConfigMap)}};case"UPDATE_CUSTOM_DEPOSIT_TOKENS_PER_CHAIN":return{...e,customDepositTokensPerChain:{...e.customDepositTokensPerChain??{},...n.payload}};case"ADD_POOL_CONFIG":return{...e,poolConfigMap:{...e.poolConfigMap,[n.payload.address]:n.payload}};case"UPDATE_TRADING_TRANSACTIONS":switch(n.payload.type){case"remove":const a=e.transactions.find(r=>r.txHash===n.payload.txHash);return n.payload.status==="success"&&a&&Hi({action:a.action,log:t,symbol:a.symbol,chainId:a.chainId,vaultAddress:e.poolAddress}),{...e,transactions:n.payload.txHash?e.transactions.filter(r=>r.txHash!==n.payload.txHash):e.transactions.slice(0,-1)};case"add":return{...e,transactions:[{action:n.payload.action,chainId:n.payload.chainId,txHash:n.payload.txHash,symbol:n.payload.symbol},...e.transactions]};case"update":const o=Math.max(e.transactions.findIndex(({txHash:r})=>r===n.payload.txHash),0);return{...e,transactions:e.transactions.map((r,i)=>i===o?{...r,...n.payload}:r)}}break;default:return e}},Zi=({children:t,initialState:e,actions:{onSetPoolAddress:n,onUpdateSendTokenInput:a,onUpdateReceiveTokenInput:o,onUpdateTradingSettings:r,onSetTradingType:i,onUpdateTradingModal:l,onUpdateTransactions:c,onTransactionError:d,onTransactionSuccess:u,onTransactionEstimationError:m,onTokenSelector:y,onLog:w,onSimulateTransaction:g,onTradingSettleError:T,getSwapData:x,getSwapQuotes:D}})=>{const[$,N]=p.useReducer(Xi(w),Ps(e)),Q=p.useCallback(j=>{N({type:"SET_POOL_ADDRESS",payload:j}),n?.(j)},[n]),he=p.useCallback(j=>{N({type:"UPDATE_SEND_TOKEN_INPUT",payload:j}),a?.(j)},[a]),fe=p.useCallback(j=>{N({type:"UPDATE_RECEIVE_TOKEN_INPUT",payload:j}),o?.(j)},[o]),Ct=p.useCallback(j=>{N({type:"UPDATE_TRADING_SETTINGS",payload:j}),r?.(j)},[r]),Dt=p.useCallback(j=>{N({type:"SET_TRADING_TYPE",payload:j}),i?.(j)},[i]),It=p.useCallback(j=>{N({type:"UPDATE_TRADING_MODAL",payload:j}),l?.(j)},[l]),tt=p.useCallback(j=>{N({type:"UPDATE_TRADING_TRANSACTIONS",payload:j}),c?.(j)},[c]),oa=p.useCallback(j=>{N({type:"UPDATE_POOL_FALLBACK_DATA",payload:j})},[]),ra=p.useCallback(j=>{N({type:"UPDATE_CUSTOM_DEPOSIT_TOKENS_PER_CHAIN",payload:j})},[]),ia=p.useCallback(j=>{N({type:"UPDATE_POOL_CONFIG",payload:j})},[]),la=p.useCallback(j=>{N({type:"ADD_POOL_CONFIG",payload:j})},[]),Dr=p.useMemo(()=>({setPoolAddress:Q,setTradingType:Dt,updateTradingSettings:Ct,updateSendTokenInput:he,updateReceiveTokenInput:fe,updateTradingModal:It,updateTransactions:tt,updatePoolFallbackData:oa,updateCustomDepositTokensPerChain:ra,onTransactionError:d,onTransactionSuccess:u,onTransactionEstimationError:m,onTokenSelector:y,onLog:w,onSimulateTransaction:g,onTradingSettleError:T,getSwapData:x,getSwapQuotes:D,updatePoolConfig:ia,addPoolConfig:la}),[Q,Dt,Ct,he,fe,It,tt,oa,ra,d,u,m,y,w,g,T,x,D,ia,la]);return s.jsx(Ls.Provider,{value:Dr,children:s.jsx(Os.Provider,{value:$,children:t})})},K=()=>p.useContext(Os),F=()=>p.useContext(Ls),Ji=()=>F().setPoolAddress,el=()=>F().updateSendTokenInput,tl=()=>F().updateReceiveTokenInput,nl=()=>F().updateTradingSettings,al=()=>F().setTradingType,sl=()=>F().updateTradingModal,Rs=()=>F().updatePoolFallbackData,js=()=>F().onTransactionError,Ms=()=>F().onTradingSettleError,Bs=()=>F().onTransactionSuccess,qt=()=>F().onTransactionEstimationError,Fs=()=>F().onTokenSelector,Me=()=>F().onLog,Ws=()=>F().onSimulateTransaction,Us=()=>{const t=F().getSwapData,{settings:{selectedAggregators:e}}=K();return p.useCallback(({signal:n,variables:a})=>t({signal:n,variables:{...a,...!!e.length&&{aggregators:e}}}),[t,e])},ol=()=>{const t=F().getSwapQuotes,{settings:{selectedAggregators:e}}=K();return p.useCallback(({signal:n,variables:a})=>t({signal:n,variables:{...a,...!!e.length&&{aggregators:e}}}),[t,e])},rl=()=>F().updatePoolConfig,il=()=>F().addPoolConfig,ll=()=>F().updateCustomDepositTokensPerChain,$s=()=>[K().poolAddress,F().setPoolAddress],v=()=>{const{poolAddress:t,poolConfigMap:e}=K();return e[t]??ka},qe=()=>{const{poolConfigMap:t}=K();return p.useMemo(()=>Object.values(t),[t])},cl=t=>{const e=qe();return p.useMemo(()=>e.some(n=>n.address===t),[e,t])},Be=()=>{const{poolFallbackData:t,poolAddress:e}=K(),n=Rs();return[t.address===e?t:{address:e},n]},zs=()=>K().input,_=()=>[zs().sendToken,F().updateSendTokenInput],O=()=>[zs().receiveToken,F().updateReceiveTokenInput],G=()=>[K().settings,F().updateTradingSettings],Vs=()=>[K().customDepositTokensPerChain,F().updateCustomDepositTokensPerChain],Y=()=>[K().modal,F().updateTradingModal],pe=()=>[K().type,F().setTradingType],Fe=()=>K().type==="deposit",ne=()=>[K().transactions,F().updateTransactions],dl=()=>K().defaultChainId,rn=(t,e)=>e.some(({id:n})=>n===t),xe=()=>{const{chain:t}=E.useAccount(),{chains:e}=E.useConfig(),{switchChain:n,switchChainAsync:a}=E.useSwitchChain(),o=dl(),r=t?.id,i=rn(r,e),l=o&&rn(o,e)?o:e[0].id;return{chain:t,isSupported:i,switchNetwork:n,switchNetworkAsync:a,chainId:i?r:void 0,supportedChainId:rn(r,e)?r:l,chains:e}},Yt=({tokenAddress:t,ownerAddress:e,spenderAddress:n,chainId:a,skip:o})=>E.useReadContract({address:t,abi:I.erc20Abi,functionName:"allowance",args:[e,n],chainId:a,query:{enabled:!o,refetchInterval:Ge}}),pl=()=>{const{account:t}=R(),[e,n]=p.useState(!1);return p.useEffect(()=>{n(!!t)},[t]),e},Rn=t=>E.useBalance({...t,query:{...t?.query,staleTime:Ge}}),st="Canceled by user",ul={"exceeds the configured cap":"Please try using a different RPC for your wallet.","denied transaction":st,"user rejected the transaction":st,"user rejected transaction":st,"user rejected the request":st,"user canceled":st,"not enough available balance":"Attempting to withdraw a balance that exceeds the liquidity currently accessible."};_r(ul);const Hs=t=>typeof t=="object"&&t!==null&&"message"in t&&typeof t.message=="string",Gs=t=>{if(Hs(t))return t;try{return new Error(JSON.stringify(t))}catch{return new Error(String(t))}},qs=t=>Gs(t).message;class Ye extends kr.CustomError{constructor({message:n=Ja,link:a,slippage:o,txArgs:r,account:i,onBypass:l,functionName:c}){super(n);_e(this,"txArgs");_e(this,"link");_e(this,"account");_e(this,"slippage");_e(this,"functionName");_e(this,"onBypass");this.link=a,this.txArgs=r,this.account=i,this.slippage=o,this.functionName=c,this.onBypass=l}}const ml=async()=>{},ln=t=>{const e=t[t.length-1],n=typeof e=="object"&&e!==null&&("value"in e||"gas"in e),a=n?e:{},o=n?t.slice(0,-1):t;return{transactionOverrides:a,argumentsWithoutOverrides:o}},be=({functionName:t,dynamicContractAddress:e,contractId:n,onSettled:a})=>{const{account:o}=R(),{chainId:r,supportedChainId:i}=xe(),l=E.useWalletClient({chainId:r}),c=E.usePublicClient({chainId:r}),d=fs(n),u=e??W(n,r??i),m=Ws(),{writeContract:y}=E.useWriteContract({mutation:{onSettled:a}}),w=p.useCallback(async(...x)=>{try{const{argumentsWithoutOverrides:D,transactionOverrides:$}=ln(x),N=await c?.estimateContractGas({address:u,abi:d,functionName:t,args:D,account:o??C,gas:$.gas,value:$.value});if(!N||!r||N===BigInt(0))return{error:bn,value:BigInt(0)};const Q=Math.round(Number(N)*Ma),he=kt[r]??Q,fe=BigInt(Math.min(he,Q));return console.debug(`[core-ui-kit]: estimated gas limit: ${Number(N)}`),{error:"",value:fe}}catch(D){return console.error(`Gas estimate error on ${t}`,D),{error:D?.message??D?.shortMessage??D.error?.data?.message??D.data?.message??bn,value:BigInt(0)}}},[o,r,c,t,u,d]),g=p.useCallback(async(...x)=>{try{if(!m)return{data:null,error:fn};if(!c)return{data:null,error:"Client is not defined"};const{argumentsWithoutOverrides:D,transactionOverrides:$}=ln(x),N=I.encodeFunctionData({abi:d,functionName:t,args:D});if(o&&N){const Q=await m({chainId:r??i,from:o,to:u,input:N,gas:kt[r??i]??0,value:$.value?.toString()});return{data:Q,error:Q?.simulation.error_message}}return{data:null,error:fn}}catch(D){return console.debug("Failed to simulate:",D),{data:null,error:qs(D)}}},[o,r,c,d,u,t,m,i]),T=p.useCallback(async(...x)=>{const{argumentsWithoutOverrides:D,transactionOverrides:$}=ln(x);if($.gas)return y({address:u,abi:d,functionName:t,chainId:r,args:D,...$});const{value:N,error:Q}=await w(...x);if(Q){const{data:he}=await Promise.race([g(...x),new Promise(fe=>setTimeout(fe,Ba,{data:null,error:es}))]);throw new Ye({message:Q,link:he?.link,txArgs:x,account:o,functionName:t,onBypass:()=>l?.data?.writeContract({address:u,abi:d,functionName:t,account:o,chainId:r,args:D,...$,gas:BigInt(kt[r??i]??0)})})}return console.debug(`[core-ui-kit]: gas limit to use: ${N}`),y({address:u,abi:d,functionName:t,chainId:r,args:D,...$,gas:N})},[w,y,g,o,t,l?.data,u,d,r,i]);return{send:r&&c?T:ml,estimate:w}},Ys=t=>E.useEstimateFeesPerGas({...t,query:{...t?.query,staleTime:3e4}}),Kt=t=>{p.useEffect(()=>{t&&t.forEach(({error:e,status:n})=>{n==="failure"&&console.warn(e?.message)})},[t])},jn=({error:t,status:e})=>{p.useEffect(()=>{t&&e==="failure"&&console.warn(t?.message)},[t,e])},Ks=async({functionName:t,address:e,abi:n,args:a,publicClient:o})=>(await o?.simulateContract({address:e,abi:n,functionName:t,args:a}))?.result,yl=({disabled:t,functionName:e,address:n,abi:a,args:o,chainId:r,refetchInterval:i})=>{const l=E.usePublicClient({chainId:r});return He.useQuery({queryKey:[{functionName:e,address:n,args:o,chainId:r}],queryFn:async({queryKey:[c]})=>{if(c)return await Ks({address:n,abi:a,functionName:c.functionName,args:c.args,publicClient:l})},enabled:!t&&!!r&&!Z(n)&&!!e,refetchInterval:i})},Ft=({queryKey:t,watch:e=!0})=>{const n=He.useQueryClient(),{data:a}=E.useBlockNumber({query:{refetchInterval:Re}});p.useEffect(()=>{e&&n.refetchQueries({queryKey:t,stale:!0})},[e,a])},Qt="limitOrders",Mn="getAllLimitOrderIds",Bn=0,Qs="100",wl=1,hl=5,gl=2,Tl=["balanceOf","getFundSummary","getFundComposition","withdrawalContracts","getTrackedAssets","getAssetPrice","allowance","getExitRemainingCooldown","tokenPrice","limitOrders","calculateAvailableManagerFee",Qt,Mn],bl=["allowance"],ma=(t,e)=>t[0]==="readContract"?e.includes(t?.[1]?.functionName??""):t[0]==="readContracts"?!!t[1]?.contracts?.some(({functionName:a})=>e.includes(a??"")):!1,Xt=()=>{const t=He.useQueryClient(),e=p.useCallback(()=>{t.invalidateQueries({predicate:({queryKey:a})=>ma(a,bl)})},[t]),n=p.useCallback(()=>{t.invalidateQueries({predicate:({queryKey:a})=>ma(a,Tl)})},[t]);return{invalidateAllowanceQueries:e,invalidateTradingQueries:n}},Zt=()=>{const{chainId:t}=xe(),{data:e}=E.useCapabilities();if(!t||!e)return!1;const n=e?.[t]?.atomic?.status;return!!n&&n!=="unsupported"},fl=({tooltipContent:t,children:e,placement:n="top",trigger:a="hover",interactive:o=!0,delayHide:r=50})=>{const{getTooltipProps:i,setTooltipRef:l,setTriggerRef:c,visible:d}=Pr.usePopperTooltip({interactive:o,delayHide:r,offset:[0,12],placement:n,trigger:a});return s.jsxs(s.Fragment,{children:[s.jsx("span",{ref:c,children:e}),d&&s.jsx("span",{ref:l,...i({className:"tooltip-container dtw-z-50 dtw-bg-[color:var(--panel-tooltip-bg)] dtw-text-[color:var(--panel-tooltip-color)] dtw-px-2 dtw-py-1.5 dtw-rounded-md dtw-text-xs dtw-text-center dtw-block dtw-whitespace-normal"}),children:t})]})},Fn=({text:t,...e})=>s.jsx(fl,{...e,tooltipContent:s.jsx("span",{className:"dtw-inline-block dtw-max-w-xs",children:t})}),Wt=({text:t,placement:e,iconClassName:n="dtw-text-[color:var(--panel-secondary-content-color)]",Icon:a=ee.QuestionMarkCircleIcon})=>s.jsx(Fn,{text:t,placement:e,children:s.jsx(a,{className:A("dtw-h-4 dtw-w-4 dtw-cursor-help hover:dtw-text-[color:var(--panel-icon-color-hover))]",n)})}),Pe=({label:t,tooltipText:e,children:n})=>s.jsxs("div",{children:[s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-gap-x-1 dtw-text-[length:var(--panel-popup-font-size)] dtw-text-[color:var(--panel-popup-content-color,var(--panel-secondary-content-color))]",children:[s.jsx("span",{children:t}),s.jsx(Wt,{text:e,placement:"top"})]}),s.jsx("div",{className:"dtw-mt-1.5",children:n})]}),ue=({symbol:t,address:e,watch:n=!1})=>{const{account:a}=R(),o=v(),r=Ht(t,o.chainId),{data:i}=Ys({chainId:o.chainId,query:{enabled:r}}),{data:l,queryKey:c}=Rn({chainId:o.chainId,address:a,query:{enabled:r&&!!a}}),{data:d,queryKey:u}=E.useReadContracts({contracts:[{address:e,abi:I.erc20Abi,functionName:"balanceOf",chainId:o.chainId,args:[a??C]},{address:e,abi:I.erc20Abi,chainId:o.chainId,functionName:"decimals"}],query:{enabled:!r&&!!a}});return Ft({watch:n&&r,queryKey:c}),Ft({watch:n&&!r,queryKey:u}),r?Ss({nativeTokenBalance:I.formatUnits(l?.value??BigInt(0),l?.decimals??k),gasPrice:Number(i?.maxFeePerGas??0),tokenDecimals:l?.decimals??k}).toString():I.formatUnits(d?.[0]?.result??BigInt(0),d?.[1]?.result??k)},yt=()=>{const[{value:t,symbol:e,address:n}]=_(),a=ue({symbol:e,address:n});return new b(t||0).gt(a??0)},vl=({address:t,chainId:e})=>[{address:W("factory",e),abi:je,functionName:"isPool",chainId:e,args:[t]},{address:W("easySwapperV2",e),abi:de,functionName:"withdrawalContracts",args:[t]}],xl=t=>({isUserDhedgePool:t[0].result,withdrawalContractAddress:t[1].result}),Al=({address:t,chainId:e})=>E.useReadContracts({contracts:vl({address:t,chainId:e}),query:{enabled:!Z(t),select:xl}}),wt=()=>{const{account:t=C}=R(),{chainId:e,supportedChainId:n}=xe(),{data:{isUserDhedgePool:a}={}}=Al({address:t,chainId:e??n});return!!a},Sl=({address:t,chainId:e})=>[{address:t??C,abi:Te,functionName:"poolManagerLogic",chainId:e},{address:W("easySwapperV2",e),abi:de,functionName:"customCooldownDepositsWhitelist",args:[t],chainId:e},{address:W("easySwapperV2",e),abi:de,functionName:"customCooldown",args:[],chainId:e},{address:W("factory",e),chainId:e,abi:je,functionName:"getAssetGuard",args:[W("aaveLendingPoolV3",e)]}],El=t=>({poolManagerLogic:t[0].result,isCustomCooldownDepositAllowed:t[1].result,customCooldown:t[2].result,aaveAssetGuardAddress:t[3].result}),ht=({address:t,chainId:e})=>E.useReadContracts({contracts:Sl({address:t,chainId:e}),query:{enabled:!!t&&!Z(t),staleTime:1/0,select:El}}),Wn=({address:t,chainId:e})=>{const[n]=Be(),{data:{poolManagerLogic:a}={}}=ht({address:t,chainId:e});return n.managerLogicAddress??a},Cl=({address:t,chainId:e,account:n})=>[{address:t,abi:De,functionName:"getFeeIncreaseInfo",chainId:e},{address:t,abi:De,functionName:"minDepositUSD",chainId:e},{address:t,abi:De,functionName:"isMemberAllowed",args:[n??C],chainId:e},{address:t,abi:De,functionName:"maxSupplyCap",args:[],chainId:e}],Dl=t=>({getFeeIncreaseInfo:t[0].result,minDepositUSD:t[1].result,isMemberAllowed:t[2].result,maxSupplyCapD18:t[3].result}),gt=({address:t,chainId:e})=>{const n=Wn({address:t,chainId:e}),{account:a=C}=R(),o=E.useReadContracts({contracts:Cl({address:n??C,chainId:e,account:a}),query:{enabled:!!n&&!Z(n),staleTime:1/0,select:Dl}});return jn({error:o.error,status:o.status}),o},Il=({chainId:t,address:e})=>[{address:e,abi:De,functionName:"getFundComposition",chainId:t},{address:e,abi:De,functionName:"getSupportedAssets",chainId:t}],Nl=t=>({getFundComposition:t[0].result,getSupportedAssets:t[1].result?.map(({asset:e})=>e)}),Tt=({address:t,chainId:e})=>{const n=Wn({address:t,chainId:e});return E.useReadContracts({contracts:Il({address:n??C,chainId:e}),query:{enabled:!!n&&!Z(n),select:Nl,refetchInterval:Ge}})},Xs=({account:t,chainId:e,address:n})=>[{address:n,abi:Te,functionName:"balanceOf",chainId:e,args:[t]},{address:n,abi:Te,functionName:"tokenPrice",chainId:e,args:[]}],_l=t=>t.flatMap(Xs),kl=Xs({account:C,chainId:h.optimism.id,address:C}).length,Zs=({account:t})=>{const{chainId:e}=xe(),n=qe();return E.useReadContracts({contracts:_l(n.map(a=>({...a,account:t}))),query:{select:a=>Ca(a,kl).reduce((o,[r,i],l)=>{const c=n?.[l]?.address??C;return{...o,[c]:{balance:r?.result?.toString(),tokenPrice:i?.result?.toString()}}},{}),placeholderData:(a,o)=>{if(o?.queryKey?.[1].chainId!==e)return a},refetchInterval:Ge,enabled:!Z(t)}})},Pl=({chainId:t,address:e})=>[{address:e,abi:Te,functionName:"tokenPrice",chainId:t,args:[]},{address:e,abi:Te,functionName:"getFundSummary",chainId:t}],Ol=([t,e])=>{const n=e?.result;return{tokenPrice:t?.result!==BigInt(0)?t?.result?.toString():jr,totalValueD18:n?.totalFundValue?.toString(),totalSupplyD18:n?.totalSupply?.toString(),isPrivateVault:n?.privatePool,performanceFee:n?.performanceFeeNumerator?.toString(),streamingFee:n?.managerFeeNumerator?.toString(),entryFee:n?.entryFeeNumerator?.toString(),exitFee:n?.exitFeeNumerator?.toString(),managerAddress:n?.manager?.toString()}},ae=({address:t,chainId:e,refetchInterval:n,enabled:a=!0})=>E.useReadContracts({contracts:Pl({address:t,chainId:e}),query:{enabled:a&&!!t&&!Z(t),refetchInterval:n,select:Ol}}),Js=({address:t,chainId:e})=>{const{account:n}=R(),{data:{managerAddress:a}={managerAddress:C}}=ae({address:t,chainId:e}),{data:{isMemberAllowed:o=!1}={}}=gt({address:t,chainId:e});return n?o||z(n,a):!1},eo=({address:t,chainId:e})=>{const[n]=Be(),a=p.useMemo(()=>n.poolCompositions?.reduce((u,{tokenAddress:m,tokenName:y,precision:w,asset:g})=>({...u,[m.toLowerCase()]:{tokenName:y,precision:w,asset:g}}),{}),[n.poolCompositions]),{data:{getFundComposition:[o,r,i]=[]}={},isFetched:l}=Tt({address:t,chainId:e}),c=p.useMemo(()=>o?.map(({asset:u})=>u)??[],[o]),{data:d}=E.useReadContracts({contracts:c.flatMap(u=>[{address:u,abi:I.erc20Abi,functionName:"symbol",chainId:e},{address:u,abi:I.erc20Abi,functionName:"decimals",chainId:e}]),query:{enabled:l&&c?.length>0&&!!e&&!c.every(u=>a?.[u.toLowerCase()]),staleTime:1/0}});return Kt(d),p.useMemo(()=>{if(!o?.length)return[];const u=Ca(d,2);return o.map(({asset:m,isDeposit:y},w)=>{const g=m.toLowerCase(),[T,x]=u[w]??[],D=kn[g.toLowerCase()]??T?.result?.toString()??a?.[g]?.tokenName??vs(g);return{tokenAddress:g,isDeposit:y,rate:i?.[w]?.toString()??"0",amount:r?.[w]?.toString()??"0",tokenName:D,precision:x?.result?Number(x.result):a?.[g]?.precision??k,asset:{iconSymbols:a?.[g]?.asset.iconSymbols??[D]}}})},[r,i,a,o,d])},Ke=({address:t,chainId:e})=>{const[n]=Be(),a=eo({address:t,chainId:e});return a.length?a:n.poolCompositions??[]},Ll=t=>{const e=t?.[0]?.toString()??"",n=t?.[1]?.toString()??"",a=t?.[2]?.toString()??"",o=t?.[3]?.toString()??"",r=t?.[4]?.toString()??"";return{announcedPerformanceFee:e,announcedStreamingFee:n,announcedEntryFee:a,announcedExitFee:o,announcedTimestamp:r}},Un=(t,e)=>{const{data:{getFeeIncreaseInfo:n,minDepositUSD:a}={}}=gt({address:t,chainId:e});return{...Ll(n),minDepositUSD:+I.formatUnits(a??BigInt(0),k)}},Rl=({composition:t,vaultTokensAmount:e,totalSupplyD18:n})=>t.reduce((a,o)=>{const r=a.find(({tokenName:i})=>i===o.tokenName);if(r){const i=new b(r.amount).shiftedBy(-r.precision),l=new b(o.amount).shiftedBy(-o.precision);return r.amount=i.plus(l).shiftedBy(r.precision).toFixed(0),a}return[...a,o]},[]).map(a=>{const o=xn(a.amount,e,n,a.precision),r=xn(new b(a.rate).multipliedBy(a.amount).shiftedBy(-a.precision).toFixed(),e,n);return{...a,fraction:o.toFixed(dt(o)),fractionUsd:J({value:r}),fractionUsdNumber:r}}).filter(({amount:a})=>a!=="0").sort((a,o)=>o.fractionUsdNumber-a.fractionUsdNumber),to=({address:t,vaultTokensAmount:e,chainId:n})=>{const a=Ke({address:t,chainId:n}),{data:{totalSupplyD18:o}={}}=ae({address:t,chainId:n});return p.useMemo(()=>o?Rl({composition:a,vaultTokensAmount:Bt(e||0),totalSupplyD18:o}):[],[e,a,o])},re=({address:t,chainId:e,formatter:n=I.formatEther})=>{const[a]=Be(),{data:o}=ae({address:t,chainId:e,refetchInterval:Ge});return n(BigInt(o?.tokenPrice??a?.tokenPrice??"0"))},Jt=({address:t,chainId:e})=>{const[n]=Be(),a=z(n.address,t)?n:null,{data:{performanceFee:o,streamingFee:r,entryFee:i,exitFee:l}={}}=ae({address:t,chainId:e}),c=i??a?.entryFeeNumerator??"0",d=l??a?.exitFeeNumerator??"0";return p.useMemo(()=>({performanceFee:rt(o??a?.performanceFeeNumerator??"0",Ce),streamingFee:rt(r??a?.streamingFeeNumerator??"0",Ce,2),entryFee:rt(c,Ce,2),exitFee:rt(d,Ce,2),exitFeeNumber:ut(+d,Ce)}),[o,a?.performanceFeeNumerator,a?.streamingFeeNumerator,r,c,d])},no=()=>{const{address:t,chainId:e}=v(),{queryKey:n}=Tt({address:t,chainId:e});Ft({queryKey:n})},Nt=h.base.id,jl=t=>{const e=W("flatcoinPointsModule",Nt);return[{address:e,chainId:Nt,abi:Pt,functionName:"lockedBalance",args:[t]},{address:e,chainId:Nt,abi:Pt,functionName:"getUnlockTax",args:[t]},{address:e,chainId:Nt,abi:Pt,functionName:"unlockTime",args:[t]}]},ao=({enabled:t,address:e})=>E.useReadContracts({contracts:jl(e),query:{enabled:t,select:n=>{const[a,o,r]=n;return{lockedVaultPointsBalance:a?.result,unlockTaxInPercents:o?.result,unlockTime:r?.result}}}}),Ml=[...Ts],$n=({address:t,chainId:e})=>{const n=Ke({address:t,chainId:e}),a=W("factory",e);return E.useReadContracts({contracts:n.map(({tokenAddress:o})=>({address:a,abi:je,functionName:"isPool",chainId:e,args:[o]})),query:{select:o=>n.some(({amount:r,tokenAddress:i},l)=>(!!o[l]?.result||Ml.some(u=>z(u,i)))&&r!=="0"),staleTime:1/0}})},Bl=[[30*1e3,5e3],[60*1e3,1e4],[5*60*1e3,2e4]],Fl=t=>{if(!t)return!1;for(const[e,n]of Bl)if(t<=e)return n;return Mr},cn=t=>Number(t?.toString()??"0")*1e3,Wl=({address:t,chainId:e})=>{const{account:n}=R();return E.useReadContract({address:t,abi:Te,functionName:"getExitRemainingCooldown",chainId:e,args:[n??C],query:{enabled:!!n,select:cn,refetchInterval:a=>Fl(cn(a.state?.data)),refetchOnWindowFocus:a=>cn(a.state?.data)>0}})};function Ul(t,e,n){if(!t||!e)return{balanceInUsd:"",balanceInUsdNumber:0};const a=+t*Oe(e);return{balanceInUsd:J({value:a,maximumFractionDigits:n}),balanceInUsdNumber:a}}const so=(t,e)=>Ui(t)?{rawBalance:t?.toString()??"",...Ul(I.formatUnits(t,oe),e?.toString())}:{rawBalance:"",balanceInUsd:"",balanceInUsdNumber:0},oo=({account:t}={})=>{const{account:e}=R(),n=t??e??C,{data:a}=Zs({account:n});return p.useMemo(()=>Z(n)?{}:Object.entries(a??{}).reduce((o,[r,i])=>{const l=so(BigInt(i.balance??"0"),BigInt(i.tokenPrice??"0"));return l.balanceInUsdNumber>0?{...o,[r]:l}:o},{}),[n,a])},ro=({account:t,chainId:e,address:n})=>{const{data:a,isFetched:o}=ae({address:n,chainId:e}),{poolFallbackData:r}=K(),i=z(r.address,n)?r.tokenPrice??"0":"0";return E.useReadContract({address:t?n:void 0,abi:Te,functionName:"balanceOf",chainId:e,args:[t],query:{enabled:!Z(t)&&o,select:l=>so(l,BigInt(a?.tokenPrice??i))}})},$l=t=>Math.ceil(Oe(t)),io=({address:t,chainId:e,select:n=$l})=>{const{data:{totalValueD18:a}={}}=ae({address:t,chainId:e}),{data:{maxSupplyCapD18:o}={}}=gt({address:t,chainId:e});return E.useReadContract({address:t,chainId:e,abi:Te,functionName:"calculateAvailableManagerFee",args:[BigInt(a??"0")],query:{enabled:!!a&&!!o&&o>0n,select:n}})},lo=({address:t,chainId:e})=>{const{data:{maxSupplyCapD18:n}={}}=gt({address:t,chainId:e}),{data:{totalSupplyD18:a}={}}=ae({address:t,chainId:e}),o=re({address:t,chainId:e}),{data:r=0}=io({address:t,chainId:e});if(!n||n===0n)return null;const i=Math.ceil(Oe(a??0)),l=Oe(n),c=Math.max(0,l-r),d=Math.max(0,c-i),u=d*Number(o);return{totalSupplyNumber:i,maxSupplyCapNumber:c,remainingSupplyCapNumber:d,remainingSupplyCapInUsd:u}},zl=({address:t,chainId:e})=>{const{data:{isPrivateVault:n}={isPrivateVault:!1}}=ae({address:t,chainId:e}),o=qe().find(i=>z(t,i.address)&&i.chainId===e),r=!!(o?.maintenance||o?.maintenanceDeposits);return n||r},Vl=t=>ae(t),co=()=>{const{address:t,symbol:e,chainId:n}=v(),{account:a=C}=R(),o=ue({symbol:e,address:t}),{data:{totalSupplyD18:r}={}}=ae({address:t,chainId:n}),l=On(t)&&!z(a,C),{data:{lockedVaultPointsBalance:c,unlockTaxInPercents:d,unlockTime:u}={},isLoading:m}=ao({enabled:l,address:t});return p.useMemo(()=>{const y=r?new b.BigNumber(o).shiftedBy(k).dividedBy(r):new b.BigNumber(0),w=c?new b.BigNumber(c.toString()).multipliedBy(y).shiftedBy(-18):new b.BigNumber(0),g=d?w.multipliedBy(d.toString()).shiftedBy(-18):new b.BigNumber(0),T=u?Number(u)*1e3:null;return{userPortionOfLockedPointsBalance:w.toFixed(),unlockTaxAmount:g.toFixed(),vestedPointsAmount:w.minus(g).toFixed(),unlockTimestamp:T,unlockDate:T?ct.format(T,"PPP"):null,isLoading:m}},[r,o,c,d,u,m])},Hl={"Lend/Borrow V2":"aave","Lend/Borrow V3":"aave","Lyra Options":"lyra",ULP:"uni"};function Gl(t){const e=Hl[t];if(e)return e;const n=t.toLowerCase();return n.includes("bear")?"torosbear":n.includes("bull")?"torosbull":n}const po=t=>t?`https://raw.githubusercontent.com/dhedge/crypto-icons/main/icons/${Gl(t)}.png`:"",uo={isGeoBlocked:!1,isSanctioned:!1,depositQuoteDiffWarningThreshold:1.5,depositQuoteDiffErrorThreshold:3,defaultWithdrawSlippage:Pa,defaultLockTime:_a,defaultNoSwapMinDepositAmountGap:Fr,defaultSwapTransactionSlippage:Wr,defaultNotificationDuration:Vr,stablePrecision:3,defaultPrecision:6,termsOfUseAccepted:!0,standalone:!0,isAllAssetsWithdrawOptionDefault:!1,chainConfig:{[h.mainnet.id]:{name:"Ethereum",iconPath:""},[h.arbitrum.id]:{name:"Arbitrum",iconPath:""},[h.optimism.id]:{name:"Optimism",iconPath:""},[h.polygon.id]:{name:"Polygon",iconPath:""},[h.base.id]:{name:"Base",iconPath:""}},aaveOffchainWithdrawMinValue:50,getFallbackIconPath:po,minLimitOrderValue:0,limitOrderThemeConfig:{}},ql=()=>{const{connect:t}=E.useConnect(),e=p.useCallback(()=>t({connector:Or.injected({shimDisconnect:!0})}),[t]),n=p.useCallback(async()=>(console.log("terms of use were accepted. Assume `termsOfUseAccepted` config value switch to true"),Promise.resolve(!0)),[]);return{onConnect:e,onAcceptTermsOfUse:n}},Yl={params:{...uo},actions:{onConnect:()=>{},onAcceptTermsOfUse:()=>Promise.resolve(!0)}},mo=p.createContext(Yl),yo=({children:t,config:e})=>{const n=ql(),a=p.useMemo(()=>({params:{...uo,...e?.params},actions:{...n,...e?.actions}}),[e,n]);return s.jsx(mo.Provider,{value:a,children:t})},wo=()=>{const t=p.useContext(mo);if(!t)throw new Error("ConfigContext is used out of Provider");return t},U=()=>wo().params,ho=()=>wo().actions,zn=()=>{const{depositQuoteDiffErrorThreshold:t}=U(),[e,n]=p.useState(!1),[{slippage:a,minSlippage:o}]=G(),r=a==="auto"?o??0:a,l=!yt()&&r>t&&!e,c=p.useCallback(()=>{n(!0)},[]);return{requiresHighSlippageConfirm:l,confirmHighSlippage:c,slippageToBeUsed:r}},B={ERROR:"error",WARNING:"warning",SUCCESS:"success",DEFAULT:"default",CUSTOM:"custom"},M={TERMS_OF_USE:"TERMS_OF_USE",HIGH_SLIPPAGE:"HIGH_SLIPPAGE",FMP_WITHDRAWAL:"FMP_WITHDRAWAL",TOKEN_SELECT:"TOKEN_SELECT",POOL_SELECT:"POOL_SELECT",TRADING:"TRADING",ERROR_NOTIFICATION:"ERROR_NOTIFICATION",LIMIT_SELLS:"LIMIT_SELLS",LIMIT_ORDER_WITHDRAW:"LIMIT_ORDER_WITHDRAW"},bt=t=>{const{depositQuoteDiffErrorThreshold:e,depositQuoteDiffWarningThreshold:n}=U(),a=Math.abs(t);return a>e?B.ERROR:a>n?B.WARNING:B.DEFAULT},go=({tradingType:t,slippage:e,minSlippage:n})=>{const{defaultWithdrawSlippage:a}=U();return e!=="auto"?e.toString():Lr(n)?n.toString():t==="deposit"?zt.toString():a.toString()},To={depositSlippageWarning:"Excludes entry fee.",withdrawSlippageWarning:"Slippage occurs in both single asset withdrawals and withdrawals from vaults with Aave debt positions. However, for vaults with Aave debt, slippage is only applied to the portion of the withdrawal that corresponds to the Aave position.",minSlippageWarning:"Flexible min slippage value that is likely enough to process the transaction.",highSlippageWarning:"We recommend using another asset to trade with lower slippage.",recommendedMinSlippage:"Recommended min slippage",projectedDailyEarningsTooltip:"Projected daily earnings are based on the current APY and may differ from actual earnings.",dailyEarnings:"Daily earnings",projectedYearlyEarningsTooltip:"Projected yearly earnings are based on the current APY and may differ from actual earnings.",yearlyEarnings:"Yearly earnings",fullReceiveDetails:"See full details influencing what you will receive.",tradeDetails:"Trade details",maxSlippage:"Max slippage",minReceiveAmount:"You will receive no less than this amount.",minReceived:"Minimum received",estimatedMultiAssetFractions:"Pro-rated share of vault assets",infinite:"Infinite approval",tokenAllowance:"Token allowance",entryFee:"Entry fee",exitFee:"Exit fee",entryFeeExplanation:"Entry fee is charged in vault's tokens.",exitFeeExplanation:"Exit fee is charged in vault's tokens.",minDepositUsd:"Minimum deposit in USD.",minDeposit:"Minimum deposit",tokensLockTime:"Purchased tokens will have a {lockTime} lock.",slippageTolerance:"Slippage tolerance",reduceLockupTime:"Reduce lockup time",toggleTokenApprovalAmount:"Toggle between exact and infinite token approval.",auto:"Auto",reduceLockup:"Reduce lockup to {customLockTime} by paying 0.1% fee",deposit:"Buy",withdraw:"Sell",max:"Max",allAssets:"All Assets",all:"All",sell:"Sell",receiveEstimated:"Receive (estimated)",confirmInWallet:"Please confirm in wallet",pending:"Pending...",approve:"Approve",connectWallet:"Connect Wallet",minimumPurchase:"Minimum purchase is {value}",poolIsInactive:"{poolSymbol} token is no longer active. Please withdraw from them.",poolDepositsAreMaintenance:"{poolSymbol} token is under maintenance. Deposits are temporarily blocked.",poolWithdrawalsAreMaintenance:"{poolSymbol} token is under maintenance. Withdrawals are temporarily blocked.",poolIsPrivate:"This vault is currently private",confirmMaxSlippage:"Confirm {slippagePercentage}% max slippage",withdrawalLiquidityDisabled:"Intended withdraw value is greater than available liquidity ({value})",withdrawCooldown:"You can sell your {tokenSymbol} tokens in {cooldownEndTime}",termsOfUse:"Terms Of Use",termOfUseDepositListTitle:"Please know the following before depositing",termOfUseDepositAssetSlippage:"When exiting, investors receive single asset or the underlying vault assets. Withdraw slippage can be customized in withdraw settings",termOfUseDepositBugs:"There may be interface bugs on the platform",termOfUseDepositDowntime:"There may be interface downtime (planned and unplanned)",termOfUseDepositAuditRisk:"Smart contracts are audited but a risk is still present",termOfUseDepositAccept:"Accept & Deposit",back:"Back",done:"Done",termOfUseWithdrawAcceptLabel:"I understand and accept the withdraw terms",termOfUseWithdrawPoint1:"Withdrawal requests are intended to settle in USDC. In rare cases where market conditions or high slippage prevent a USDC swap, the order may be settled in the underlying tokens of the respective vault.",termOfUseWithdrawPoint2:"Revoking token approval after placing an order will prevent the order from being executed.",highSlippage:"High Slippage Alert",responsibleHighSlippage:"By proceeding with this trade, you acknowledge and accept the possibility of experiencing high slippage, resulting in a potential difference between the expected and executed price.",highSlippageListTitle:"Please consider the following before confirming",highSlippageQuoteDiff:"Be aware that the final amount of assets you receive may be different from the initially quoted value.",highSlippageRisk:"Ensure that you understand the risks associated with high slippage and are comfortable proceeding with the trade.",confirm:"Confirm",selectToken:"Select token",sendingOrderToWallet:"Sending order to your wallet",settingUpTx:"Setting up transaction",miningTx:"Processing",approveSpending:"Approve spending",pay:"Pay",multiAssetFractions:"pro-rated share of vault underlying assets",swappableAssets:"swappable assets",explorer:"Explorer",as:"As",switchNetwork:"Switch Network",depositAction:"Buy",withdrawAction:"Sell",unrollAction:"Unroll",unrollAndClaimAction:"Claim",swapAction:"Swap",claimAction:"Claim Without Swap",claimLabel:"Claim Assets",createLimitSellOrder:"Stop order set",swapAndClaimTo:"Swap and claim assets to",orderingLabel:"Ordering",paidLabel:"Paid",priceLabel:"Price",transactionLabel:"Transaction",initWithdrawDescription:"Unroll",initWithdrawTooltip:"Unroll prepares assets for single asset withdrawal.",completeWithdrawDescription:"Claim",completeWithdrawTooltip:"This final step swaps all assets to a single asset and sends it to your wallet.",unrollAndClaimDescription:"Claim",limitOrderWithdrawDescription:"You are about to create a withdrawal request. Your vault tokens will be withdrawn within a few minutes.",total:"Total:",showAll:"Show all",hide:"Hide",refreshSwapQuoteTooltip:"Refresh swap quote",proceedWithNextStep:"Please proceed with the next step.",aggregatorsLabel:"Swap source",aggregatorsTooltip:"Choose which aggregators to use for your trades.",batchTransactionsLabel:"Batch transactions",batchTransactionsSwitchLabel:"Batch",batchTransactionsTooltip:"Group transaction calls into a single batch transaction. Disable if you prefer separate prompts.",openLimitOrderAfterBuySwitchLabel:"Add Stop Order",stopOrder:"Stop Order",send:"Send",rate:"Rate",exchangeRate:"Exchange rate",cooldown:"Cooldown",delete:"Delete",withdrawalRequest:"Withdrawal request",deleteWithdrawalRequest:"Delete withdrawal request",insufficientBalance:"Insufficient Balance",expectToReceiveUsdcSoon:"Expect to receive your USDC over the next few minutes"},bo=p.createContext(To),Kl=({children:t,config:e})=>{const n=p.useMemo(()=>({...To,...e}),[e]);return s.jsx(bo.Provider,{value:n,children:t})},S=()=>{const t=p.useContext(bo);if(!t)throw new Error("TranslationContext is used out of Provider");return t},Vn=t=>{const e=S(),{symbol:n}=v(),a=`${n}${t}`;return e?.[a]??e[t]},Ql=async(t,e=po)=>{try{return(await import(`@dhedge/crypto-assets/icons/${t.toLowerCase()}.png`))?.default?.src??e(t)}catch{return e(t)}},Xl=(t=[])=>{const{getFallbackIconPath:e}=U(),[n,a]=p.useState([]),[o,r]=p.useState([]);return p.useEffect(()=>{if(t.every(l=>o.includes(l)))return;(async()=>{const l=await Promise.all(t.map(c=>Ql(c,e)));a(l),r(t)})()},[t,o,e]),n},Zl=(t,e)=>{switch(e.type){case"MERGE_OVERLAY":return{...t,[e.payload.type]:{...t[e.payload.type],isOpen:e.payload.isOpen,isPending:e.payload.isPending??!1,onConfirm:e.payload.onConfirm??t[e.payload.type].onConfirm,meta:e.payload.meta??t[e.payload.type].meta}};default:return t}},fo=Object.values(M).reduce((t,e)=>({...t,[e]:{isOpen:!1,isPending:!1}}),{}),Jl=()=>p.useReducer(Zl,fo),vo=p.createContext(fo),xo=p.createContext(()=>{}),Ao=()=>{const t=p.useContext(vo);if(!t)throw new Error("OverlayStateContext is used out of Provider");return t},se=()=>{const t=p.useContext(xo);if(!t)throw new Error("OverlayDispatchContext is used out of Provider");return t},ce=({type:t})=>{const e=Ao(),n=se(),a=()=>{n({type:"MERGE_OVERLAY",payload:{type:t,isOpen:!1,isPending:!1}})},{onConfirm:o,isPending:r,meta:i}=e[t],l=d=>{n({type:"MERGE_OVERLAY",payload:{type:t,isOpen:!0,isPending:d}})};return{handleReject:a,handleConfirm:async()=>{await o?.(l),a()},isPending:r,meta:i}},ec=()=>{const t=se();return()=>{Object.values(M).forEach(e=>{t({type:"MERGE_OVERLAY",payload:{type:e,isOpen:!1,isPending:!1}})})}},tc=({children:t})=>{const[e,n]=Jl(),[{isOpen:a}]=Y();return p.useEffect(()=>{a&&!e.TRADING.isOpen&&n({type:"MERGE_OVERLAY",payload:{type:M.TRADING,isOpen:a}})},[a,e.TRADING.isOpen,n]),p.useEffect(()=>{!a&&e.TRADING.isOpen&&n({type:"MERGE_OVERLAY",payload:{type:M.TRADING,isOpen:a}})},[a,e.TRADING.isOpen,n]),s.jsx(xo.Provider,{value:n,children:s.jsx(vo.Provider,{value:e,children:t})})},nc=()=>{const t=Me(),{pricingAsset:e,symbol:n,chainId:a,address:o}=v(),{minLimitOrderValue:r}=U(),i=se(),l=ue({symbol:n,address:o}),c=re({address:o,chainId:a}),m=Number(l)*Number(c)>=r&&!!e,y=p.useCallback(()=>{m&&(i({type:"MERGE_OVERLAY",payload:{type:M.LIMIT_SELLS,isOpen:!0}}),t?.(q.OPEN_LIMIT_SELL_VIEW,{[ge.SOURCE.NAME]:"overlay"}))},[i,m,t]);return{displayLimitSellOverlay:m,openLimitSellOverlay:y}},ac=({tradingType:t})=>{const e=Vn(t);return s.jsx(P.Tab,{className:({selected:n})=>A("dtw-relative dtw-text-[length:var(--panel-tab-font-size,var(--panel-font-size-sm))] dtw-px-[var(--panel-tab-px)] dtw-py-[var(--panel-tab-py)] dtw-font-[var(--panel-tab-font-weight,var(--panel-font-weight-bold))] !dtw-leading-[var(--panel-tab-line-height,var(--panel-line-height))] dtw-outline-0",{"!dtw-text-[color:var(--panel-tab-select-content-color,var(--panel-content-color))]":n,"!dtw-text-[color:var(--panel-tab-content-color,var(--panel-neutral-content-color))] hover:dtw-text-[color:var(--panel-tab-hover-content-color,var(--panel-content-hover-color))]":!n}),children:({selected:n})=>s.jsxs(s.Fragment,{children:[s.jsx("span",{children:e}),n?s.jsx("div",{className:"dtw-flex dtw-items-center dtw-justify-center dtw-absolute dtw-bottom-0 dtw-left-0 dtw-right-0 dtw-h-full dtw-rounded-[var(--panel-radius-secondary)] dtw-bg-[var(--panel-tab-bg,var(--panel-neutral-color))] dtw-shadow-md dtw-pointer-events-none",children:s.jsx("span",{children:e})}):null]})})},sc={[B.DEFAULT]:ee.QuestionMarkCircleIcon,[B.ERROR]:ee.ExclamationCircleIcon,[B.SUCCESS]:ee.CheckCircleIcon,[B.WARNING]:ee.ExclamationCircleIcon,[B.CUSTOM]:ee.QuestionMarkCircleIcon},dn=({tooltipText:t,value:e,label:n,children:a,type:o=B.DEFAULT,className:r,emphasised:i=!1})=>s.jsxs("div",{className:A("dtw-flex dtw-grow dtw-items-center dtw-font-[var(--panel-meta-font-weight,var(--panel-font-weight-light))] dtw-gap-x-1",{"dtw-text-[length:var(--panel-meta-font-size)] dtw-leading-[var(--panel-meta-line-height)] dtw-text-[color:var(--panel-secondary-content-color)]":!i,"dtw-text-[length:var(--panel-meta-emphasised-font-size)] dtw-leading-[var(--panel-meta-emphasised-line-height)] dtw-text-[color:var(--panel-content-color)]":i},r),children:[s.jsxs("div",{className:"dtw-flex dtw-grow dtw-items-start dtw-justify-between",children:[s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-gap-x-1",children:[s.jsx(Wt,{text:t,placement:"right",Icon:sc[o],iconClassName:A({"dtw-text-[color:var(--panel-error-content-color)]":o===B.ERROR,"dtw-text-[color:var(--panel-warning-content-color)]":o===B.WARNING})}),s.jsx("p",{className:A({"dtw-text-[color:var(--panel-error-content-color)]":o===B.ERROR,"dtw-text-[color:var(--panel-warning-content-color)]":o===B.WARNING}),children:n})]}),s.jsx("div",{className:A({"dtw-text-[color:var(--panel-error-content-color)]":o===B.ERROR,"dtw-text-[color:var(--panel-warning-content-color)]":o===B.WARNING}),children:e})]}),a]}),Hn=({children:t,staticItems:e,collapseItems:n,themeType:a=B.DEFAULT,buttonItemChildren:o})=>{const r=S();return s.jsx("div",{className:"dtw-w-full dtw-flex dtw-flex-col dtw-gap-1",children:s.jsx(P.Disclosure,{children:({open:i})=>s.jsxs(s.Fragment,{children:[e?.map(l=>s.jsx(dn,{...l},l.label)),s.jsx(P.DisclosureButton,{className:"dtw-p-0 dtw-flex dtw-w-full dtw-justify-between dtw-rounded-[var(--panel-radius-secondary,var(--panel-radius))] hover:dtw-bg-[var(--panel-meta-hover-bg,var(--panel-neutral-color))] focus:dtw-outline-none",children:s.jsxs(dn,{tooltipText:r.fullReceiveDetails,label:r.tradeDetails,value:"",type:a,emphasised:!0,children:[o,s.jsx(Ie.ChevronDownIcon,{className:A("dtw-text-[color:var(--panel-icon-color,var(--panel-content-color))] !dtw-h-[var(--panel-input-token-icon-size,var(--panel-icon-size))] !dtw-w-[var(--panel-input-token-icon-size,var(--panel-icon-size))] sm:dtw-w-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))] sm:dtw-h-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))]",{"dtw-rotate-180 dtw-transform":i})})]})}),s.jsx(P.Transition,{show:i,children:s.jsxs(P.DisclosurePanel,{className:"dtw-transition dtw-transform dtw-duration-100 dtw-ease-out data-[closed]:opacity-0 data-[closed]:-dtw-translate-y-2.5 dtw-static dtw-text-[length:var(--panel-label-font-size,var(--panel-font-size-xs))] dtw-leading-[var(--panel-label-line-height,var(--panel-line-height-xs))] dtw-text-[color:var(--panel-secondary-content-color)] dtw-font-[var(--panel-meta-font-weight,var(--panel-font-weight-light))] dtw-rounded-[var(--panel-radius-secondary,var(--panel-radius))] dtw-flex dtw-flex-col dtw-gap-1",children:[n?.map(l=>s.jsx(dn,{...l},l.label)),t]})})]})})})},Ae=({className:t})=>s.jsx("svg",{className:A("dtw-animate-spin dtw-stroke-[color:var(--panel-accent-content-color)]",t),viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:s.jsx("path",{d:"M12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 9.27455 20.9097 6.80375 19.1414 5",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}),oc=({children:t})=>s.jsx("div",{className:"dtw-flex dtw-flex-col dtw-gap-[var(--panel-inputs-group-gap,var(--panel-gap))] dtw-px-[var(--panel-inputs-group-px)]",children:t}),rc=({children:t})=>s.jsx("div",{className:"dtw-flex dtw-flex-col dtw-gap-[var(--panel-meta-group-gap,var(--panel-gap))] dtw-px-[var(--panel-meta-group-px)] dtw-h-full dtw-relative",children:t}),Ut=({Icon:t,onClick:e,className:n="dtw-h-7 dtw-w-7",containerClassName:a,disabled:o})=>s.jsx("div",{className:A("dtw-group dtw-w-fit dtw-cursor-pointer dtw-self-end dtw-rounded-lg dtw-p-1 hover:dtw-opacity-80",a,{"dtw-pointer-events-none":o}),onClick:e,children:s.jsx(t,{className:A("dtw-text-[color:var(--panel-icon-color)] group-hover:dtw-text-[color:var(--panel-icon-color-hover))]",n)})}),ic=({children:t,onClose:e})=>{const{defaultNotificationDuration:n}=U();return p.useEffect(()=>{const a=o=>{o.key==="Escape"&&e?.()};return window.addEventListener("keydown",a),()=>{window.removeEventListener("keydown",a)}},[e]),p.useEffect(()=>{const a=setTimeout(()=>{e?.()},n);return()=>{clearTimeout(a)}},[n,e]),s.jsx("div",{className:"dtw-p-4 dtw-absolute dtw-top-0 dtw-inset-x-0 dtw-rounded-xl dtw-bg-[var(--panel-notification-bg,var(--panel-secondary-color))]",children:s.jsxs("div",{className:"dtw-flex dtw-justify-between dtw-items-center",children:[s.jsx("div",{children:t}),!!e&&s.jsx(Ut,{Icon:gn.XMarkIcon,onClick:e,className:"dtw-w-6 dtw-h-6",containerClassName:"dtw-self-center"})]})})},lc=({children:t,className:e,transparent:n=!1,centered:a=!0,onClose:o,noPadding:r,onBack:i})=>(p.useEffect(()=>{const l=c=>{c.key==="Escape"&&o?.()};return window.addEventListener("keydown",l),()=>{window.removeEventListener("keydown",l)}},[o]),s.jsx("div",{className:A("dtw-absolute dtw-top-0 dtw-inset-0 dtw-rounded-xl dtw-backdrop-blur-md dtw-backdrop-brightness-75 dtw-backdrop-filter",{"dtw-p-4":!r}),children:s.jsxs("div",{className:A("dtw-flex dtw-flex-col dtw-rounded-xl dtw-p-4 dtw-h-full",e,{"dtw-bg-[var(--panel-popup-bg,var(--panel-secondary-color))]":!n,"dtw-items-center dtw-justify-center":a}),children:[t,!!i&&s.jsx("div",{className:"dtw-absolute dtw-top-5 dtw-left-5",children:s.jsx(Ut,{Icon:gn.ChevronLeftIcon,onClick:i})}),!!o&&s.jsx("div",{className:"dtw-absolute dtw-top-5 dtw-right-5",children:s.jsx(Ut,{Icon:gn.XMarkIcon,onClick:o})})]})})),cc=({children:t})=>s.jsx(P.TabPanel,{className:"dtw-pt-[var(--panel-content-pt)] dtw-pb-[var(--panel-content-pb)] md:dtw-pb-[var(--panel-content-pb-md)] dtw-px-[var(--panel-content-px)] dtw-flex dtw-flex-col dtw-gap-[var(--panel-content-gap,var(--panel-gap))] dtw-h-full",children:t}),dc=({className:t,iconClassName:e,onClick:n,children:a})=>{const o=Me(),r=()=>{n?.(),o?.(q.TRADING_SETTINGS_OPENED)};return s.jsxs(P.Popover,{className:A("dtw-flex dtw-items-center dtw-justify-end",t),children:[s.jsx(P.PopoverButton,{onClick:r,children:s.jsx(ee.Cog6ToothIcon,{className:A("dtw-h-[var(--panel-input-token-icon-size,var(--panel-icon-size))] dtw-w-[var(--panel-input-token-icon-size,var(--panel-icon-size))] sm:dtw-w-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))] sm:dtw-h-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))] hover:dtw-opacity-80 dtw-text-[color:var(--panel-icon-color,var(--panel-content-color))]",e)})}),s.jsx(P.PopoverBackdrop,{className:"dtw-absolute dtw-inset-0 dtw-bg-[var(--panel-popup-bg,var(--panel-secondary-color))] dtw-opacity-50"}),s.jsx(P.PopoverPanel,{className:"dtw-absolute dtw-z-10 dtw-max-w-xs dtw-top-14 dtw-right-0 dtw-transition dtw-duration-100 dtw-ease-out data-[closed]:dtw-translate-x-1/2 data-[closed]:dtw-opacity-0",transition:!0,children:s.jsx("div",{className:"dtw-rounded-l-[var(--panel-radius)] dtw-bg-[var(--panel-popup-bg,var(--panel-secondary-color))] dtw-p-4 dtw-flex dtw-flex-col dtw-gap-y-2.5",children:a})})]})},pc=({children:t})=>s.jsx(P.TabPanel,{children:s.jsx(dc,{children:t})}),V={InputGroup:oc,Meta:rc,Settings:pc,Panel:cc,Overlay:lc,Notification:ic},uc=["dtw-bg-transparent","dtw-border-[var(--panel-action-outline-button-border-color,var(--panel-border-color))]","!dtw-text-[color:var(--panel-action-outline-button-color,var(--panel-content-color))]","active:dtw-border-opacity-100","hover:enabled:dtw-border-[var(--panel-action-outline-button-border-hover-color)]"],mc=["!dtw-text-[color:var(--panel-action-accent-button-color,var(--panel-accent-content-color))]","dtw-bg-gradient-to-r","dtw-from-[var(--panel-action-accent-button-bg-from,var(--panel-accent-from-color))]","dtw-to-[var(--panel-action-accent-button-bg-to,var(--panel-accent-to-color))]","dtw-border-[color:var(--panel-action-accent-button-border-color)]","dtw-border-[length:var(--panel-action-accent-button-border-width)]","hover:enabled:dtw-from-[var(--panel-action-accent-button-hover-bg-from,var(--panel-accent-hover-from-color))]","hover:enabled:dtw-to-[var(--panel-action-accent-button-hover-bg-to,var(--panel-accent-hover-to-color))]"],H=({children:t,onClick:e,highlighted:n=!0,disabled:a=!1,className:o,type:r,loading:i=!1})=>s.jsxs("button",{className:A("dtw-rounded-[var(--panel-input-button-radius,var(--panel-radius))]","dtw-font-medium","dtw-border","dtw-transition-border","dtw-duration-500","dtw-ease-in-out","disabled:dtw-opacity-50","dtw-py-2","dtw-px-5","dtw-w-full",{[mc.join(" ")]:n,[uc.join(" ")]:!n,"dtw-flex dtw-items-center dtw-justify-center dtw-gap-1":i},o),onClick:e,disabled:a||i,type:r,children:[i&&s.jsx(Ae,{className:"dtw-h-4 dtw-w-4"}),t]}),So={GeoBlockAlert:()=>s.jsx(ot,{type:"error",children:s.jsx("span",{className:"dtw-text-sm",children:"Depositing is geo-blocked."})}),SanctionedAlert:()=>s.jsx(ot,{type:"error",children:s.jsx("span",{className:"dtw-text-sm",children:"Your address has been found on a sanctions list. Deposits are disabled."})}),AvailableLiquidityAlert:({liquidityAmount:t})=>s.jsxs(ot,{type:"warning",children:[s.jsx("p",{className:"dtw-text-center",children:t?`${t} withdrawal liquidity`:"Liquidity is running low"}),s.jsx("p",{className:"dtw-text-sm dtw-text-center",children:"Sell a smaller amount"})]}),MaxSupplyReachedAlert:({supplyCapInUsd:t})=>s.jsxs(ot,{type:"warning",children:[s.jsx("p",{className:"dtw-text-center dtw-text-base",children:"Supply caps reached"}),s.jsxs("p",{className:"dtw-text-sm dtw-text-center",children:["Can only buy ",t," more"]})]}),OnDemandWithdrawAlert:()=>s.jsxs(ot,{type:"info",children:[s.jsx("p",{className:"dtw-text-center",children:"On demand sell"}),s.jsx("p",{className:"dtw-text-sm dtw-text-[color:var(--panel-secondary-content-color)] dtw-text-center",children:"Sell will happen automatically over time as liquidity is made available"})]})},Eo=p.createContext(So),yc=({children:t,config:e})=>{const n=p.useMemo(()=>({...So,...e}),[e]);return s.jsx(Eo.Provider,{value:n,children:t})},L=()=>{const t=p.useContext(Eo);if(!t)throw new Error("ComponentContext is used out of Provider");return t},Sn=({children:t,promptText:e})=>{const{ActionButton:n=H}=L();return s.jsxs("div",{children:[s.jsxs("div",{className:"md:dtw-hidden dtw-mb-4 dtw-flex dtw-items-center dtw-justify-center dtw-space-x-1 dtw-text-[var(--panel-warning-content-color)]",children:[s.jsx(ee.ExclamationCircleIcon,{className:"dtw-h-5 dtw-w-5"}),s.jsx("div",{className:"dtw-py-1 dtw-text-xs",children:e})]}),s.jsx(Fn,{text:e,children:s.jsx(n,{disabled:!0,children:s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-justify-center dtw-gap-2",children:[s.jsx(ee.LockClosedIcon,{className:"dtw-h-5"}),s.jsx("span",{children:t})]})})})]})},Qe=({link:t,className:e,children:n,iconClassName:a="dtw-h-5 dtw-w-5",showDefaultIcon:o=!0})=>s.jsxs("a",{className:A("dtw-inline-flex dtw-cursor-pointer dtw-items-center dtw-gap-x-1 dtw-drop-shadow-md hover:dtw-border-themeGray-600 !dtw-text-[color:var(--panel-meta-link-color,var(--panel-content-color))]",e),href:t,target:"_blank",rel:"noreferrer",children:[n,o&&s.jsx(ee.ArrowTopRightOnSquareIcon,{className:a})]}),en=({defaultEnabled:t=!1,onChange:e,disabled:n=!1,label:a,vertical:o=!1})=>{const[r,i]=p.useState(t);p.useEffect(()=>{i(t)},[t]);const l=c=>{n||(i(c),e?.(c))};return s.jsx(P.Field,{children:s.jsxs("div",{className:A("dtw-flex",{"dtw-flex-col dtw-gap-y-0.5":o,"dtw-items-center dtw-justify-between":!o}),children:[a&&s.jsx(P.Label,{className:"dtw-cursor-pointer dtw-text-xs",children:a}),s.jsx(P.Switch,{checked:r,onChange:l,className:A("dtw-p-0 dtw-relative dtw-inline-flex dtw-h-6 dtw-w-11 dtw-flex-shrink-0 dtw-items-center dtw-rounded-full dtw-transition-colors focus:dtw-outline-none",{"!dtw-bg-[color:var(--panel-switch-bg-checked)] !dtw-text-[color:var(--panel-switch-color-checked)]":r,"!dtw-bg-[color:var(--panel-switch-bg)] !dtw-text-[color:var(--panel-switch-color)]":!r,"dtw-pointer-events-none dtw-opacity-50":n}),children:s.jsx("span",{className:A("dtw-inline-block dtw-h-4 dtw-w-4 dtw-transform dtw-rounded-full dtw-transition-transform",{"dtw-translate-x-6 !dtw-bg-[color:var(--panel-switch-thumb-bg-checked)]":r,"dtw-translate-x-1 !dtw-bg-[color:var(--panel-switch-thumb-bg)]":!r})})})]})})},Co=({balance:t,symbol:e})=>s.jsx("span",{title:e,className:"dtw-text-[length:var(--panel-balance-font-size)] dtw-leading-[var(--panel-balance-line-height)] dtw-text-[color:var(--panel-balance-content-color)] dtw-whitespace-nowrap",children:t}),wc=({onClick:t})=>{const e=S();return s.jsx("button",{className:"dtw-cursor-pointer !dtw-text-[color:var(--panel-input-button-content-color,var(--panel-content-color))] dtw-rounded-[var(--panel-input-button-radius,var(--panel-radius))] !dtw-bg-[var(--panel-input-button-bg,var(--panel-secondary-color))] dtw-border dtw-border-[var(--panel-input-button-border-color,var(--panel-accent-to-color))] dtw-px-[var(--panel-input-button-px)] dtw-text-[length:var(--panel-input-button-font-size,var(--panel-font-size-xs))] dtw-leading-[var(--panel-input-button-line-height,var(--panel-line-height-xs))] hover:dtw-opacity-[var(--panel-action-hover-opacity)] dtw-opacity-[var(--panel-action-opacity)]",onClick:t,children:e.max})},Do=({style:t,className:e})=>s.jsx("div",{className:A("tw-animate-pulse tw-rounded tw-bg-themeGray-300 tw-bg-opacity-50 tw-h-6",e),style:t}),Io=t=>s.jsx("img",{...t}),hc=(t,e)=>t===0?`dtw-z-${(e-1)*10}`:`dtw--ml-2 dtw-z-${(e-t-1)*10}`,gc=t=>{switch(t){case"xs":return{height:"!dtw-h-3 sm:!dtw-h-4 ",width:"!dtw-w-3 sm:!dtw-w-4",diameter:16};case"sm":return{height:"!dtw-h-4 sm:!dtw-h-5 ",width:"!dtw-w-4 sm:!dtw-w-5",diameter:20};case"m":return{height:"!dtw-h-5 sm:!dtw-h-6 ",width:"!dtw-w-5 sm:!dtw-w-6",diameter:24};case"lg":return{height:"!dtw-h-7 sm:!dtw-h-8 ",width:"!dtw-w-7 sm:!dtw-w-8",diameter:32};case"xl":return{height:"!dtw-h-9 sm:!dtw-h-10 ",width:"!dtw-w-9 sm:!dtw-w-10",diameter:36}}},ze=({symbols:t,size:e="m",className:n=""})=>{const{Image:a=Io}=L(),o=t.join(""),[r,i]=p.useState({[o]:!1}),{height:l,width:c,diameter:d}=gc(e),u=Xl(t);if(!u?.length||!u[0]||r[o])return null;const m=()=>i(y=>({...y,[o]:!0}));return u.length===1?s.jsx(a,{src:u[0],alt:`${t[0]} icon`,className:A(l,c,n),width:d,height:d,onError:m}):s.jsx("span",{className:`dtw-flex-no-wrap dtw-z-0 dtw-flex ${l} ${n}`,children:u.map((y,w)=>s.jsx(a,{src:y,alt:`${t[w]} icon`,className:A("dtw-inline-block dtw-overflow-visible dtw-rounded-full",c,l,hc(w,t.length)),width:d,height:d,onError:m},w))})},ft=({symbol:t,iconSymbols:e,size:n,symbolClasses:a="dtw-text-sm dtw-font-medium",CustomIcon:o,customTitle:r,className:i})=>{const l=S(),c=r||(t==="all"?l.allAssets:t);return s.jsxs("div",{className:A("dtw-flex dtw-w-full dtw-items-center dtw-space-x-1.5",i),children:[o??s.jsx(ze,{size:n,symbols:e,className:"dtw-flex-shrink-0"}),s.jsx("div",{className:a,title:c,children:c||s.jsx(Do,{className:"dtw-w-[70px]"})})]})},Tc=({title:t,text:e})=>{const{LogoSpinner:n=Ae}=L();return s.jsx(V.Overlay,{transparent:!0,children:s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-items-center dtw-rounded-xl dtw-px-5 dtw-py-5",children:[t&&s.jsx("span",{className:"dtw-mb-8 dtw-font-medium dtw-text-[color:var(--panel-secondary-content-color)]",children:t}),s.jsx(n,{className:"dtw-h-[80px] dtw-w-[60px]"}),e&&s.jsx("p",{className:"dtw-mt-6 dtw-text-xl dtw-font-light",children:e})]})})},ot=({className:t,children:e,type:n="error"})=>s.jsx("div",{className:A("dtw-rounded-[var(--panel-radius)] dtw-p-3",{"dtw-bg-[var(--panel-alert-error-bg)] dtw-text-[var(--panel-alert-error-color)]":n==="error","dtw-bg-[var(--panel-alert-warning-bg)] dtw-text-[var(--panel-alert-warning-color)]":n==="warning","dtw-bg-[var(--panel-alert-info-bg)] dtw-text-[var(--panel-alert-info-color)]":n==="info"},t),children:e}),pn=(t,e=!1)=>{if(!t)return"";let n="";e&&t.startsWith("-")&&(n="-",t=t.slice(1));const[a,o]=t.split("."),r=a?.replace(/\D/g,"");if(!r)return o?`${n}0.${o}`:n;const i=new Intl.NumberFormat().format(Number(r));return o!==void 0?`${n}${i}.${o.replace(/[^\d]/g,"")}`:`${n}${i}`},un=t=>t.replace(/,/g,""),bc=p.forwardRef(({value:t,onChange:e,formatOnBlurOnly:n=!1,allowNegative:a=!1,...o},r)=>{const i=c=>{const u=c.target.value.replace(a?/[^0-9.-]/g:/[^0-9.]/g,"").replace(/^(-?\d*\.\d*).*$/,"$1").replace(/^(-?\.)(.*)/,"$1$2");if(n)e?.(u,un(u));else{const m=pn(u,a);e?.(m,un(m))}},l=()=>{if(!n)return;const c=pn(t,a);e?.(c,un(c))};return s.jsx("input",{...o,ref:r,type:"text",inputMode:"decimal",value:pn(t,a),onChange:i,onBlur:l})});bc.displayName="InputNumber";const _t=({className:t})=>s.jsx("div",{className:A("dtw-w-full dtw-h-[1px] dtw-bg-[var(--panel-divider-color)] dtw-shrink-0",t)}),fc=()=>{const[t]=pe(),[e,n]=G(),[a,o]=p.useState(!1),r=e.slippage!=="auto";return{settings:e,tradingType:t,isCustomSlippage:r,invalidSlippage:a,onDefaultSlippageSelect:()=>{n({slippage:"auto"})},onCustomSlippageSelect:c=>{const d=c.target.value,u=+d<0||+d>100;o(u);let m=e.slippage;u||d.trim().length===0&&r?m="auto":d.trim().length>0&&(m=+d),n({slippage:m})}}},ya=({selected:t=!1,children:e,className:n,onClick:a})=>s.jsx("div",{className:A("dtw-cursor-pointer dtw-rounded-[var(--panel-input-button-radius,var(--panel-radius))] dtw-py-1 dtw-text-center dtw-text-sm",n,{"dtw-bg-[color:var(--panel-switch-bg-checked)] !dtw-text-[color:var(--panel-switch-color-checked)]":t,"dtw-bg-[color:var(--panel-switch-bg)] dtw-text-white hover:dtw-opacity-80 !dtw-text-[color:var(--panel-switch-color)]":!t}),onClick:a,children:e}),vc=0,xc=100,No=()=>{const t=S(),{settings:e,tradingType:n,isCustomSlippage:a,invalidSlippage:o,onDefaultSlippageSelect:r,onCustomSlippageSelect:i}=fc(),l=go({tradingType:n,slippage:e.slippage,minSlippage:e.minSlippage});return s.jsxs("div",{className:"dtw-flex dtw-items-stretch dtw-gap-x-3",children:[s.jsx(ya,{selected:!a,className:"dtw-w-14",onClick:r,children:t.auto}),s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-gap-x-1 dtw-flex-1",children:[s.jsx(ya,{selected:a,className:"dtw-w-14",children:s.jsx("input",{className:A("dtw-w-full dtw-bg-transparent dtw-px-1.5 dtw-outline-none focus:dtw-outline-none dtw-text-center",{"dtw-text-red-600":o}),type:"number",min:vc,max:xc,onChange:i,placeholder:l,defaultValue:a?e.slippage.toString():""})}),s.jsx("span",{children:"%"})]})]})};function tn(t,e,n){const a=Qr[n??h.arbitrum.id]?.blockExplorers?.default?.url;if(a)switch(e){case"transaction":return`${a}/tx/${t}`;default:return`${a}/address/${t}`}}const Ac=({batchId:t,updatePendingTransactions:e})=>{const{data:n}=E.useWaitForCallsStatus({id:t,pollingInterval:Da,query:{enabled:!!t}}),a=n?.receipts?.[0]?.transactionHash;p.useEffect(()=>{a&&e({type:"update",txHash:a})},[a,e])},_o=()=>{const[t,e]=ne(),n=Y()[1],a=js(),o=Bs(),[r]=t,i=r?.batchId,l=r?.txHash,c=r?.action,d=c==="approve",u=r?.chainId,{invalidateTradingQueries:m,invalidateAllowanceQueries:y}=Xt();Ac({batchId:i,updatePendingTransactions:e});const{data:w,error:g}=E.useWaitForTransactionReceipt({hash:l,chainId:u,pollingInterval:Da,query:{enabled:!!l}});p.useEffect(()=>{if(w){const T=w.transactionHash;if(T){const x=tn(T,"transaction",u);n({link:x,status:"Success",action:c}),e({type:"remove",status:"success",txHash:T}),o?.(w,c,x)}d?y():m()}},[w,d,u,c,o,e,n,y,m]),p.useEffect(()=>{g&&(n({isOpen:!1,status:"None",link:"",action:c,sendTokens:null,receiveTokens:null}),e({type:"remove",status:"fail"}),a?.(g,c,u,l))},[g,d,c,u,l,n,e,a])},We=t=>{const[,e]=Y(),[,n]=ne(),[,a]=_(),o=Ms();return p.useCallback((r,i,l)=>{if(i){e({isOpen:!1,status:"None",link:"",sendTokens:null,receiveTokens:null}),n({type:"remove",status:"fail"}),console.debug(`${t} transaction failed`,i),o?.(i);return}if(r){console.debug(`${t} transaction started`,r),n({type:"update",txHash:r});const c=tn(r,"transaction",l.chainId);e({isOpen:!0,status:"Mining",link:c}),t!=="approve"&&a({value:""})}},[t,n,a,e,o])},Gn=({address:t,chainId:e,refetchInterval:n,disabled:a=!1})=>{const{supportedChainId:o}=xe(),{data:r}=E.useReadContracts({contracts:[{address:W("factory",e??o),abi:je,functionName:"getAssetPrice",args:[t],chainId:e}],query:{enabled:!Z(t)&&!a,refetchInterval:n}});return Kt(r),r?.[0]?.result},le=({address:t,chainId:e,refetchInterval:n=Re,disabled:a})=>{const o=Gn({address:t,chainId:e,refetchInterval:n,disabled:a});return I.formatUnits(o??BigInt(0),k)},qn=()=>{const[t]=_(),[e]=O(),n=ue({address:t.address,symbol:t.symbol}),a=new b(t.value),o=new b(e.value);return(a.gt(0)||o.gt(0))&&a.lte(n??0)};function Sc(t,e,n,a){try{if(e==="all")return"";const o=Number(n),r=Number(a);return o===0||r===0||!isFinite(o)||!isFinite(r)?"":`1 ${t} = ${(r/o).toFixed(6)} ${e}`}catch{return""}}const ko=()=>{const[t]=_(),[e]=O();return{value:Sc(t.symbol,e.symbol,t.value,e.value),isLoading:!!e.isLoading}},Ne=()=>{const t=!Fe(),[{symbol:e}]=O(),[{isMultiAssetWithdrawalEnabled:n}]=G();return t&&n&&e==="all"},Yn=()=>{const{account:t}=R(),{chainId:e}=v(),n=Ne(),[a]=_(),o=new b(a.value||"0").shiftedBy(a.decimals).toFixed(0,b.ROUND_UP),r=W("easySwapperV2",e),i=$o({tokenAddress:a.address,ownerAddress:t??C,spenderAddress:r,rawAmountToSpend:o,chainId:e,skip:n||o==="0"}),l=Uo({token:a,rawTokenAmount:o,spenderAddress:r});return{canSpend:i,approve:l}},Ec=({address:t,chainId:e})=>{const n=E.usePublicClient({chainId:e}),{data:{aaveAssetGuardAddress:a=C}={}}=ht({address:t,chainId:e});return p.useCallback(async({withdrawAmountD18:o,slippage:r})=>Ks({address:a,abi:ui,functionName:"calculateSwapDataParams",args:[t,o,Pn(r)],publicClient:n}),[a,t,n])},Cc=async({assets:t,getSwapData:e,signal:n,buildKey:a})=>{const o=await Promise.all(t.map(r=>e({signal:n,variables:{...r,fromAddress:_n}})));return t.reduce((r,i,l)=>{const c=a(i);return r[c]=o[l]??null,r},{})},Dc=async({assets:t,getSwapQuotes:e,signal:n,buildKey:a})=>{const o=await Promise.all(t.map(r=>e({signal:n,variables:{...r,fromAddress:_n}})));return t.reduce((r,i,l)=>{const c=a(i);return r[c]=o[l]??null,r},{})},Ic=async({assets:t,getSwapData:e,signal:n})=>Cc({assets:t,getSwapData:e,signal:n,buildKey:xs}),Nc=new AbortController,_c=Nc.signal,kc=({chainId:t})=>{const{account:e=C}=R(),n=Us();return p.useCallback(async({swapParams:a,slippage:o})=>{const r=(a?.srcData??[]).map(({asset:i,amount:l})=>({chainId:t,sourceAddress:i,destinationAddress:a?.dstData.asset??C,walletAddress:e,amount:l.toString(),slippage:o.toString()}));return Ic({assets:r,getSwapData:n,signal:_c})},[t,n,e])},Pc=({address:t,chainId:e})=>{const n=W("aaveLendingPoolV3",e),{aaveOffchainWithdrawMinValue:a}=U(),{data:{getSupportedAssets:o}={}}=Tt({address:t,chainId:e}),r=Ec({address:t,chainId:e}),i=kc({chainId:e});return p.useCallback(async({withdrawAmountD18:l,vaultTokenPrice:c,slippage:d})=>{const u=new b(l.toString()).shiftedBy(-18).times(c).gt(a);return await Promise.all((o??[]).map(async m=>{const y=z(m,n),w=Pn(d);if(u&&y)try{const g=await r({withdrawAmountD18:l,slippage:d});if(g?.srcData.length){const T=await i({swapParams:g,slippage:d});return Bi({assetAddress:m,swapData:T,swapParams:g,slippageToleranceForContractTransaction:w})}}catch(g){console.error(g)}return{supportedAsset:m,withdrawData:"",slippageTolerance:w}}))},[n,a,i,r,o])},Oc=()=>{const{defaultWithdrawSlippage:t,defaultSwapTransactionSlippage:e}=U(),n=!Fe(),{isCompleteWithdrawStep:a,isFetching:o}=Xe(),[r]=O(),[,i]=G(),l=Mo();p.useEffect(()=>{if(!(!n||r.isLoading||o)){if(a){const c=l<0?Math.abs(l):0,d=Number((c+e).toFixed(2));i({minSlippage:d});return}i({minSlippage:t})}},[i,r.isLoading,n,l,a,t,e,o])},Lc=()=>{const{account:t=C}=R(),{chainId:e}=v();return E.useReadContract({address:W("easySwapperV2",e),abi:de,functionName:"withdrawalContracts",chainId:e,args:[t],query:{enabled:!Z(t)}})},Kn=()=>{const{chainId:t}=v(),[e]=O(),n=Gn({address:e.address,chainId:t}),a=vt(),o=Oo(),r=new b(o).shiftedBy(k).div(n?.toString()??"1").shiftedBy(e.decimals).toFixed(0,b.ROUND_DOWN),i=new b(r).times(1-Oa/100).times(1-a/100).toFixed(0,b.ROUND_DOWN);return{expectedReceiveAmount:r,minExpectedReceiveAmount:i}},Po=({isClaim:t}={})=>{const e=v(),{data:n=[]}=me(),{data:a={}}=Ze(),[o]=O(),{minExpectedReceiveAmount:r}=Kn(),i=ne()[1],l=t?"claim":"swap",c=We(l),d=Qn(),{send:u,estimate:m}=be({contractId:"easySwapperV2",functionName:zr,onSettled:c}),y=p.useCallback(async()=>{if(t||!d)return[];const w=Object.values(a)[0]?.map(({routerKey:g})=>g);if(!w?.length)return console.warn("[Complete Withdraw] No available routers found for swap"),[];for(const g of w){const T=Object.entries(a).reduce(($,[N,Q])=>{const he=Q?.find(fe=>fe.routerKey===g);return{...$,[N]:he}},{}),x=Mi({assets:n,swapData:T,receiveAssetAddress:o.address}),{error:D}=await m(x,r);if(!D)return[x,r]}return console.error("[Complete Withdraw] All routers failed estimation"),[]},[t,d,a,r,n,o.address,m]);return p.useCallback(async()=>{i({type:"add",action:l,symbol:e.symbol,chainId:e.chainId});const w=await y();return console.log("Arguments",w),u(...w)},[l,e.chainId,e.symbol,u,y,i])},Oo=()=>{const{data:t=[]}=me();return t.reduce((e,{balance:n,price:a})=>e+n*a,0)},Lo=({account:t,chainId:e})=>E.useReadContract({address:W("easySwapperV2",e),abi:de,functionName:"getTrackedAssets",chainId:e,args:[t],query:{enabled:!Z(t)}}),Rc=({assets:t,chainId:e})=>t.flatMap(({token:n})=>[{address:n,abi:I.erc20Abi,functionName:"symbol",chainId:e,args:[]},{address:n,abi:I.erc20Abi,functionName:"decimals",chainId:e,args:[]},{address:W("factory",e),abi:je,functionName:"getAssetPrice",chainId:e,args:[n]}]),jc=3,Ro=({assets:t,chainId:e})=>{const n=p.useCallback(a=>t.map(({token:o,balance:r},i)=>{const l=i*jc,c=l+1,d=c+1,u=Number(a[c]?.result??k),m=kn[o.toLowerCase()]??a[l]?.result?.toString()??"";return{address:o,symbol:m,decimals:u,rawBalance:r,balance:new b(r.toString()).shiftedBy(-u).toNumber(),price:new b(a[d]?.result?.toString()??0).shiftedBy(-18).toNumber()}}),[t]);return E.useReadContracts({contracts:Rc({assets:t,chainId:e}),query:{enabled:t.length>0,select:n}})},me=()=>{const{account:t=C}=R(),{chainId:e}=v(),{data:n=[]}=Lo({account:t,chainId:e});return Ro({assets:n,chainId:e})},Xe=()=>{const{data:t=[],isFetching:e}=me();return{isCompleteWithdrawStep:t?.length>0,isFetching:e}},Mc=(t,e)=>{const n=ol(),{settings:{selectedAggregators:a}}=K();return He.useQuery({queryKey:["getSwapsQuotes",t,a],queryFn:async({signal:o,queryKey:[,r]})=>await Dc({assets:r,getSwapQuotes:n,signal:o,buildKey:({sourceAddress:i})=>i}),...e})},Ze=()=>{const{defaultSwapTransactionSlippage:t}=U(),{chainId:e}=v(),{account:n=C}=R(),[{slippage:a}]=G(),[o]=O(),{data:r=[]}=me(),i=Qn(),l=p.useMemo(()=>r.filter(({address:c})=>!z(c,o.address)).map(({address:c,rawBalance:d})=>({chainId:e,sourceAddress:c,destinationAddress:o.address,walletAddress:n,amount:d.toString(),slippage:(a==="auto"?t:a).toString()})),[r,e,t,o.address,a,n]);return Mc(l,{enabled:i,refetchInterval:In})},Bc=()=>{const[t,e]=O(),{data:n=[]}=me(),{data:a,isFetching:o,isError:r}=Ze();p.useEffect(()=>{e({isLoading:o})},[o,e]),p.useEffect(()=>{if(n.length===0||o||r)return;const i=n.reduce((l,c)=>{if(z(c.address,t.address))return l.plus(c.rawBalance.toString());const u=a?.[c.address]?.[0]?.destinationAmount??"0";return l.plus(u)},new b(0));e({value:I.formatUnits(BigInt(i.toFixed()),t.decimals)})},[n,r,o,t.address,t.decimals,a,e])},jo=({withdraw:t,isClaim:e})=>{const n=S(),a=se(),{account:o}=R(),r=v(),[i]=O(),l=Y()[1],c=ne()[1],d=qt(),{data:u=[]}=me(),{isFetching:m}=Ze(),y=async()=>{const w=r.chainId,g=u.map(({address:x,decimals:D,symbol:$,balance:N})=>({address:x,decimals:D,symbol:$,value:N.toString()})),T=e?null:g.filter(x=>!z(x.address,i.address));l({isOpen:!0,status:"Wallet",action:e?"claim":"swap",link:"",sendTokens:T,receiveTokens:e?g:[i]});try{await t()}catch(x){x instanceof Ye&&(a({type:"MERGE_OVERLAY",payload:{type:M.ERROR_NOTIFICATION,isOpen:!0,meta:{error:x.message}}}),d?.(x,r.address,w,o)),l({isOpen:!1,status:"None",link:"",sendTokens:null,receiveTokens:null}),c({type:"remove",status:"fail"})}};return{disabled:e?!1:m,label:e?n.claimAction:n.swapAction,handleTrade:y}},Mo=()=>{const{expectedReceiveAmount:t}=Kn(),[e]=O(),n=new b(e.value||"0").shiftedBy(e.decimals);return t==="0"||n.isZero()?0:n.dividedBy(t).minus(1).times(100).decimalPlaces(2,b.ROUND_DOWN).toNumber()},Qn=()=>{const[t]=O(),{data:e=[]}=me();return e.length>0&&e.some(({address:n})=>!z(n,t.address))},vt=()=>{const{defaultWithdrawSlippage:t}=U(),{isCompleteWithdrawStep:e}=Xe(),[{slippage:n,minSlippage:a}]=G();return n==="auto"?e?a??t:t:n};function En(t,e,n){const[a,o]=p.useState(n),r=Gt?t==="sessionStorage"?sessionStorage:localStorage:null,i=p.useCallback(l=>{try{o(l),r?.setItem(e,JSON.stringify(l))}catch(c){console.error(c)}},[e,r]);return p.useEffect(()=>{try{const l=r?.getItem(e);l&&o(JSON.parse(l))}catch(l){console.error(l)}},[e,r]),[a,i]}const Xn=(t,e)=>{const[n,a]=p.useState(t);return p.useEffect(()=>{const o=setTimeout(()=>{a(t)},e);return()=>{clearTimeout(o)}},[t,e]),n},Fc=t=>ve({value:I.formatEther(t),decimals:2}),Wc=()=>{const t=v(),[e]=_(),n=Ne(),a=vt(),o=Pc(t),r=re({address:t.address,formatter:Fc,chainId:t.chainId});return p.useCallback(async()=>{const i=BigInt(new b(e.value||"0").shiftedBy(k).toFixed(0,b.ROUND_DOWN)),l=await o({withdrawAmountD18:i,vaultTokenPrice:r,slippage:a});return n?[i,l]:[t.address,i,l]},[o,n,t.address,e.value,a,r])},Uc=({debounceTime:t}={})=>{const e=v(),n=Ne(),[a]=_(),o=vt(),{data:{getSupportedAssets:r}={}}=Tt(e),i=Xn(new b(a.value||"0").shiftedBy(k).toFixed(0,b.ROUND_DOWN),t??0);return p.useMemo(()=>{const l=Pn(o),c=BigInt(i),d=(r??[]).map(u=>({supportedAsset:u,withdrawData:"",slippageTolerance:l}));return n?[c,d]:[e.address,c,d]},[o,i,r,n,e.address])},$c=t=>typeof t[0]=="string"&&typeof t[1]=="bigint"&&Array.isArray(t[2]),zc=()=>{const t=v(),e=yt(),{canSpend:n}=Yn(),a=Uc({debounceTime:Na}),o=$c(a)&&a[1]!==BigInt(0)&&!e&&n,{data:r}=E.useSimulateContract({abi:de,address:W("easySwapperV2",t.chainId),functionName:Ra,args:a,query:{enabled:o}});return Ro({assets:r?.result[0]??[],chainId:t.chainId})},Zn=()=>{const[t]=O(),{data:e=[]}=zc(),n=wt();return e?.length===1&&z(e[0]?.address,t.address)&&!n},Vc=()=>{const t=v(),e=Ne(),n=Zn(),a=Wc(),o=ne()[1],r=e?"multi_withdraw":n?"single_withdraw_and_claim":"single_withdraw",i=We(r),l=e?La:n?$r:Ra,{send:c}=be({contractId:e?"poolLogic":"easySwapperV2",dynamicContractAddress:e?t.address:void 0,functionName:l,onSettled:i});return{withdraw:p.useCallback(async()=>{o({type:"add",action:r,symbol:t.symbol,chainId:t.chainId});const u=await a();return console.log("Arguments",u),c(...u)},[o,r,t.symbol,t.chainId,a,c]),action:r}},Bo=t=>{const e=S(),n=se(),{account:a}=R(),o=v(),[r]=_(),[i]=O(),[l]=pe(),c=Y()[1],d=ne()[1],u=qt(),m=Ne(),y=Zn(),w=ue({symbol:r.symbol,address:r.address}),g=l==="deposit",T=qn(),x=g?"deposit":m?"multi_withdraw":y?"single_withdraw_and_claim":"single_withdraw",D=async()=>{const $=o.chainId;c({isOpen:!0,status:"Wallet",action:x,link:"",sendTokens:[r],receiveTokens:g||y?[i]:null,meta:g?{}:{withdrawPercentage:r.value&&w?new b(r.value).div(w).toNumber():0}});try{await t()}catch(N){N instanceof Ye&&(n({type:"MERGE_OVERLAY",payload:{type:M.ERROR_NOTIFICATION,isOpen:!0,meta:{error:N.message}}}),u?.(N,o.address,$,a)),c({isOpen:!1,status:"None",link:"",sendTokens:null,receiveTokens:null,meta:{}}),d({type:"remove",status:"fail"})}};return{disabled:!T,label:g?e.depositAction:m?e.withdrawAction:y?e.unrollAndClaimAction:e.unrollAction,handleTrade:D}},Hc=1,Gc="USD",qc=({depositValueInUsd:t,apy:e,apyCurrencyPrice:n,currency:a})=>{if(t===0||!e||!a||n===0)return{yearlyEarnings:"-",dailyEarnings:"-",monthlyEarnings:"-"};const o=t*e/100/n;return{yearlyEarnings:Lt({value:o,currency:a}),dailyEarnings:Lt({value:o/365,currency:a}),monthlyEarnings:Lt({value:o/12,currency:a})}},Fo=({currency:t,depositValueInUsd:e,chainId:n,apy:a,disabled:o})=>{const r=t==="ETH"?ws[n]?.address:t==="BTC"?hs[n]?.address:void 0,i=le({address:r??C,chainId:n,disabled:o||!a||!r}),l=r?Number(i):Hc;return p.useMemo(()=>qc({depositValueInUsd:e,apy:a,apyCurrencyPrice:l,currency:r?t:Gc}),[e,a,l,t,r])},Wo=()=>{const t=pe()[0]==="deposit",{chainId:e}=v(),[n]=Be(),[a]=_(),o=le({address:a.address,chainId:e,disabled:!t||!n.apy}),r=Fo({chainId:e,apy:n.apy?.value,currency:n.apy?.currency,depositValueInUsd:+a.value*+o,disabled:!t});return t?{showEarnings:!!n.apy?.value,...r}:{dailyEarnings:null,yearlyEarnings:null,monthlyEarnings:null,showEarnings:!1}},Yc=(t,e)=>{const{settings:{selectedAggregators:n}}=K(),a=Us();return He.useQuery({queryKey:["getSwapData",{...t,fromAddress:_n},n],queryFn:async({signal:o,queryKey:[,r]})=>a({signal:o,variables:r}),...e})},nn=(t={})=>{const e=t?.extendedDebounceTime??!1,[n]=_(),a=Xn(n.value,e?Na:Ia);return{debouncedSendTokenValue:a,isDebouncing:n.value!==a}},Kc=()=>{const t=Zt(),[{isBatchTransactionsEnabled:e}]=G();return t&&e},Uo=({token:t,rawTokenAmount:e,spenderAddress:n})=>{const a=v(),[{isInfiniteAllowance:o}]=G(),r=ne()[1],i=Y()[1],l=We("approve"),{send:c}=be({contractId:"erc20",dynamicContractAddress:t.address,functionName:"approve",onSettled:l});return p.useCallback(async()=>(i({isOpen:!0,status:"Wallet",link:"",action:"approve",sendTokens:[{symbol:t.symbol,address:t.address,decimals:t.decimals,value:""}],receiveTokens:null,meta:{}}),r({type:"add",action:"approve",symbol:t.symbol,chainId:a.chainId}),c(n,o?Le:e)),[o,a.chainId,e,c,n,t.address,t.decimals,t.symbol,r,i])},$o=({rawAmountToSpend:t,tokenAddress:e,ownerAddress:n,spenderAddress:a,chainId:o,skip:r=!1})=>{const{data:i}=Yt({tokenAddress:e,ownerAddress:n,spenderAddress:a,chainId:o,skip:r});return p.useMemo(()=>r?!0:!i||i===BigInt(0)?!1:!t||t==="0"?!0:new b(i.toString()).gte(t),[t,i,r])},Qc=()=>{const[{isInfiniteAllowance:t},e]=G(),n=Me(),a=p.useCallback(o=>{e({isInfiniteAllowance:o}),n?.(q.INFINITE_ALLOWANCE_CHANGE,{[ge.IS_INFINITE.NAME]:o?1:0})},[e,n]);return p.useMemo(()=>[t,a],[t,a])},zo=()=>{const t=S(),[e,n]=Qc();return s.jsx(en,{defaultEnabled:e,onChange:n,label:t.infinite})},Xc=()=>{const[{isBatchTransactionsEnabled:t},e]=G(),n=Me(),a=p.useCallback(o=>{e({isBatchTransactionsEnabled:o}),Qi(o),n?.(q.BATCH_TRANSACTIONS_CHANGE,{[ge.IS_BATCH_TRANSACTIONS_ENABLED.NAME]:o?1:0})},[e,n]);return p.useMemo(()=>[t,a],[t,a])},Vo=()=>{const t=S(),[e,n]=Xc();return s.jsx(en,{defaultEnabled:e,onChange:n,label:t.batchTransactionsSwitchLabel})},Zc=()=>{const[{availableAggregators:t,selectedAggregators:e},n]=G(),a=p.useCallback(o=>{const r=e.includes(o)?e.filter(i=>i!==o):[...e,o];n({selectedAggregators:r})},[e,n]);return{availableAggregators:t,selectedAggregators:e,onAggregatorToggle:a}},Ho=()=>{const t=S(),{availableAggregators:e,selectedAggregators:n,onAggregatorToggle:a}=Zc();return e.length<=1?null:s.jsx(Pe,{label:t.aggregatorsLabel,tooltipText:t.aggregatorsTooltip,children:s.jsx("div",{className:"dtw-flex dtw-flex-col dtw-gap-2",children:e.map(o=>s.jsxs("label",{className:"dtw-flex dtw-items-center dtw-justify-between dtw-gap-2 dtw-text-xs dtw-text-[var(--panel-content-color)] dtw-cursor-pointer",children:[o,s.jsx(en,{defaultEnabled:n.includes(o),onChange:()=>a(o),size:"sm"})]},o))})})},Jc=()=>{const t=Zt(),e=S();return s.jsxs(s.Fragment,{children:[s.jsx(Pe,{label:e.slippageTolerance,tooltipText:e.depositSlippageWarning,children:s.jsx(No,{})}),s.jsx(Pe,{label:e.tokenAllowance,tooltipText:e.toggleTokenApprovalAmount,children:s.jsx(zo,{})}),t&&s.jsx(Pe,{label:e.batchTransactionsLabel,tooltipText:e.batchTransactionsTooltip,children:s.jsx(Vo,{})}),s.jsx(Ho,{})]})},ed=()=>{const{chainId:t}=v(),[e]=_(),n=W("easySwapperV2",t),a=new b(e.value||"0").shiftedBy(e.decimals).toFixed(0,b.ROUND_UP);return p.useMemo(()=>({address:e.address,abi:I.erc20Abi,functionName:"approve",chainId:t,args:[n,a]}),[t,a,e.address,n])},td=()=>{const{chainId:t,address:e}=v(),{data:{isCustomCooldownDepositAllowed:n}={}}=ht({address:e,chainId:t});return n!==!1},wa=(t,e)=>t.length?t.find(({tokenAddress:a})=>Object.values(Ii[e]??{}).some(o=>z(o.address,a)))?.tokenAddress??t[0]?.tokenAddress:null,Je=()=>{const[t]=_(),{chainId:e,address:n}=v(),a=Ke({address:n,chainId:e}),o=td();return p.useMemo(()=>{const r=a.filter(({isDeposit:c})=>c);if(Ht(t.symbol,e)){const c=r.find(({tokenName:d})=>Ue[e]?.wrappedNativeTokenName===d);return c?{depositMethod:o?Se.NATIVE_CUSTOM:Se.NATIVE,vaultDepositTokenAddress:c.tokenAddress}:{depositMethod:o?Se.ZAP_NATIVE_DEPOSIT_CUSTOM:Se.ZAP_NATIVE_DEPOSIT,vaultDepositTokenAddress:wa(r,e)??t.address}}const l=r.find(({tokenAddress:c})=>z(c,t.address));return l?{depositMethod:o?Se.DEPOSIT_CUSTOM:Se.DEPOSIT,vaultDepositTokenAddress:l.tokenAddress}:{depositMethod:o?Se.ZAP_DEPOSIT_CUSTOM:Se.ZAP_DEPOSIT,vaultDepositTokenAddress:wa(r,e)??t.address}},[e,o,a,t.address,t.symbol])},xt=()=>{const[t]=_(),{vaultDepositTokenAddress:e}=Je();return!z(t.address,e)},Jn=()=>{const{defaultSwapTransactionSlippage:t}=U(),[{slippage:e}]=G(),n=xt();return e==="auto"?n?t:zt:e},Go=()=>{const{defaultNoSwapMinDepositAmountGap:t}=U(),{address:e,chainId:n}=v(),[a]=_(),[o]=O(),{data:{entryFee:r}={}}=ae({address:e,chainId:n}),i=ut(Number(r??"0"),Ce),[{slippage:l}]=G(),c=l==="auto",d=Jn(),u=xt(),m=+le({address:a.address,chainId:n}),y=+re({address:e,chainId:n});if(u){const T=Number(a.value||0)*m*(1-i/100)/y;return new b(T).shiftedBy(o.decimals).times(1-d/100).toFixed(0)}const w=c?t:d;return new b(o.value||"0").shiftedBy(o.decimals).times(1-w/100).toFixed(0)},an=()=>{const{account:t=C}=R(),{chainId:e}=v(),[n]=_(),{debouncedSendTokenValue:a}=nn(),{vaultDepositTokenAddress:o}=Je(),r=xt();return Yc({sourceAddress:n.address,destinationAddress:o,amount:new b(a).shiftedBy(n.decimals).toFixed(0),chainId:e,slippage:"33",walletAddress:t},{enabled:r&&!!a,refetchInterval:In})},nd=({isDepositWithSwapTransaction:t,sendTokenAddress:e,sendTokenValue:n})=>{const{chainId:a}=v(),o=+le({address:e,chainId:a}),{vaultDepositTokenAddress:r}=Je(),{data:i}=E.useReadContract({address:r,abi:I.erc20Abi,functionName:"decimals",chainId:a}),l=+le({address:r,chainId:a,refetchInterval:Re,disabled:!t}),c=Number(n||"0")*o;return i&&l!==0?new b(c/l).shiftedBy(i).times(1-Oa/100).toFixed(0):"0"},qo=()=>{const[t]=_(),{debouncedSendTokenValue:e}=nn(),n=xt(),a=nd({isDepositWithSwapTransaction:n,sendTokenAddress:t.address,sendTokenValue:e});return n?a:new b(e||"0").shiftedBy(t.decimals).toFixed(0)},ad=({depositMethod:t,vaultDepositTokenAddress:e})=>{const{address:n}=v(),[a]=_(),o=new b(a.value).shiftedBy(a.decimals).toFixed(0),r=qo(),{data:i}=an(),l=Go(),c=Jn();return p.useMemo(()=>{const u=t==="zapNativeDeposit"||t==="zapNativeDepositWithCustomCooldown"||t==="zapDeposit"||t==="zapDepositWithCustomCooldown"?ji({vaultAddress:n,sendTokenAddress:a.address,sendTokenAmount:o,minVaultTokensReceivedAmount:l,vaultDepositTokenAddress:e,swapData:i?.rawTransaction.data??"0x",routerKey:i?.routerKey,swapDestinationAmount:r,swapSlippage:c}):[];switch(t){case"nativeDeposit":case"nativeDepositWithCustomCooldown":return[n,l,{value:r}];case"zapNativeDeposit":case"zapNativeDepositWithCustomCooldown":return[...u,{value:o}];case"zapDeposit":case"zapDepositWithCustomCooldown":return u;default:return[n,e,r,l]}},[t,n,a.address,o,l,e,i?.rawTransaction.data,i?.routerKey,c,r])},Yo=()=>{const{chainId:t}=v(),[e]=O(),n=ne()[1],{depositMethod:a,vaultDepositTokenAddress:o}=Je(),r=ad({depositMethod:a,vaultDepositTokenAddress:o}),i=p.useCallback(()=>{n({type:"add",action:"deposit",symbol:e.symbol,chainId:t})},[n,e.symbol,t]);return{chainId:t,depositMethod:a,txArgs:r,addPendingTransaction:i}},sd=t=>{const[,e]=Y(),[,n]=ne(),[,a]=_(),[,o]=G(),r=Ms();return p.useCallback((i,l)=>{if(l){o({isBatchTransactionsEnabled:!1}),e({isOpen:!1,status:"None",link:"",sendTokens:null,receiveTokens:null}),n({type:"remove",status:"fail"}),console.debug(`${t} transaction failed`,l),r?.(l);return}const c=i?.id;c&&(console.debug(`${t} transaction started, batch id:`,c),n({type:"update",batchId:c}),e({isOpen:!0,status:"Mining"}),a({value:""}))},[o,e,n,t,r,a])},od=({address:t,abi:e,functionName:n,args:a,value:o})=>({to:t,data:I.encodeFunctionData({abi:e,functionName:n,args:a}),value:o}),rd=({onSettled:t})=>{const{sendCalls:e}=E.useSendCalls({mutation:{onSettled:t}});return p.useCallback(async n=>e({calls:n.map(od),forceAtomic:!0}),[e])},id="deposit",ld=()=>{const{chainId:t,depositMethod:e,txArgs:n,addPendingTransaction:a}=Yo(),o=ed(),r=sd(id),i=rd({onSettled:r});return p.useCallback(async()=>{a();const l={address:W("easySwapperV2",t),abi:de,functionName:e,args:n};return i([o,l])},[a,t,e,n,i,o])},cd="deposit",dd=()=>{const{depositMethod:t,txArgs:e,addPendingTransaction:n}=Yo(),a=We(cd),{send:o}=be({contractId:"easySwapperV2",functionName:t,onSettled:a});return p.useCallback(async()=>(n(),o(...e)),[n,o,e])},pd=()=>{const{account:t=C}=R(),{chainId:e}=v(),[n]=_(),a=W("easySwapperV2",e),o=new b(n.value||"0").shiftedBy(n.decimals).toFixed(0,b.ROUND_UP),r=$o({tokenAddress:n.address,ownerAddress:t,spenderAddress:a,rawAmountToSpend:o,chainId:e,skip:Ht(n.symbol,e)||o==="0"});return{approve:Uo({token:n,rawTokenAmount:o,spenderAddress:a}),canSpend:r}},ud=({address:t,chainId:e})=>{const[n]=_(),a=Fe(),{vaultDepositTokenAddress:o}=Je(),r=qo(),i=!!(r&&+r>0),l=E.useReadContract({address:W("easySwapperV2",e),abi:de,functionName:"depositQuote",args:[t,o,BigInt(r??0)],chainId:e,query:{enabled:a&&i&&!!n.address&&!!r,refetchInterval:Re}});return jn(l),l},md=()=>{const{address:t,chainId:e}=v(),n=Fe(),[a]=_(),[o,r]=O(),[,i]=G(),{isDebouncing:l,debouncedSendTokenValue:c}=nn(),{isFetching:d}=an(),{data:u,isFetching:m}=ud({address:t,chainId:e}),y=d||m||l;p.useEffect(()=>{if(!n||y)return;const w=u?new b(u.toString()).shiftedBy(-o.decimals).toFixed(o.decimals):"";r({value:w})},[u,o.decimals,a.address,r,n,y,c]),p.useEffect(()=>{n&&r({isLoading:y})},[n,y,r]),p.useEffect(()=>{n&&(!a.value||a.value==="0")&&(r({value:"0"}),i({minSlippage:0}))},[r,i,a.value,n])},Ko=(t={})=>{const{address:e,chainId:n}=v(),{data:a}=ae({address:e,chainId:n}),[o]=_(),[r]=O(),i=le({address:o.address,chainId:n}),l=re({address:e,chainId:n}),c=t.includesEntryFee?ut(Number(a?.entryFee??"0"),Ce):0;return p.useMemo(()=>{const d=Number(o.value||"0"),u=new b(d).times(i??"0").times(1-c/100),m=Number(r.value||"0"),y=new b(m).times(l??"0");return u.isZero()||y.isZero()?0:u.decimalPlaces(dt(d)).comparedTo(y.decimalPlaces(dt(m)))&&u.isGreaterThan(0)?y.dividedBy(u).minus(1).times(100).decimalPlaces(2,b.ROUND_DOWN).toNumber():0},[c,r.value,o.value,i,l])},yd=()=>{const t=Fe(),[e]=O(),[,n]=G(),{isDebouncing:a}=nn({extendedDebounceTime:!0}),o=Jn(),r=Ko({includesEntryFee:!0});p.useEffect(()=>{if(!t||e.isLoading||a)return;const i=r-o,l=i<0?Math.abs(Number(i.toFixed(2))):0;n({minSlippage:l})},[n,t,e.isLoading,r,o,a])},sn=()=>{const{address:t,chainId:e,depositParams:n}=v(),{account:a}=R(),o=Ke({address:t,chainId:e}),r=wt(),[{isCustomDepositOptionsDisabled:i}]=G(),[l]=Vs(),c=p.useMemo(()=>Rr([...o.filter(({isDeposit:y})=>y).map(({tokenAddress:y,tokenName:w,precision:g})=>({address:y.toLowerCase(),symbol:w,decimals:g})),...i?[]:[...n.customTokens.map(y=>({...y,address:y.address.toLowerCase()})),...l?.[e]??[]]],"address"),[o,i,n.customTokens,l,e]),d=!!c.length,u=!!a&&d,{data:m}=E.useReadContracts({contracts:c.map(({address:y})=>({address:y,abi:I.erc20Abi,functionName:"balanceOf",args:[a??C],chainId:e})),query:{enabled:u}});return Kt(m),p.useMemo(()=>{if(!d)return[];const y=[];for(let T=0;T<c.length;T++)y[T]={value:"",address:c[T]?.address??C,symbol:c[T]?.symbol??c[T]?.address??C,balance:m?.[T]?.result?Oe((m?.[T]?.result).toString()??"0",c[T]?.decimals??k):0,decimals:c[T]?.decimals??k};const w=y.slice().sort((T,x)=>T.balance&&x.balance?x.balance-T.balance:0),g=w.find(({symbol:T})=>T===n.defaultDepositTokenSymbol);return[...g?[g]:[],...w.filter(({symbol:T})=>T!==n.defaultDepositTokenSymbol),...r||i?[]:[{value:"",address:Ue[e]?.address??C,symbol:Ue[e]?.nativeTokenSymbol??"",decimals:Ue[e]?.decimals??k}]]},[d,r,i,e,c,m,n.defaultDepositTokenSymbol])},wd=()=>{const t=v(),[e]=sn(),n=_()[1],[a]=pe();p.useEffect(()=>{a==="deposit"&&e?.symbol&&n({address:e?.address,symbol:e.symbol,decimals:e?.decimals,value:"",isLoading:!e.symbol})},[n,t.address,a,e?.symbol,e?.address,e?.decimals])},hd=()=>{const{chainId:t,address:e,deprecated:n}=v(),{data:{isPrivateVault:a}={isPrivateVault:!1}}=ae({address:e,chainId:t}),o=a||n,r=Js({address:e,chainId:t});return{isVaultDepositLocked:o,isAccountWhitelisted:r}},Qo=()=>{const{defaultLockTime:t}=U(),{chainId:e,address:n}=v(),{data:{customCooldown:a}={}}=ht({address:n,chainId:e}),{depositMethod:o}=Je(),r=a?ct.formatDuration({minutes:Number(a)/60}):t;switch(o){case"depositWithCustomCooldown":case"nativeDepositWithCustomCooldown":case"zapDepositWithCustomCooldown":case"zapNativeDepositWithCustomCooldown":return r;default:return t}},gd="1",Td=()=>{const{account:t=C}=R(),{address:e,chainId:n}=v(),[a]=O(),o=re({address:e,chainId:n}),{minDepositUSD:r}=Un(e,n),{data:i}=ro({address:e,chainId:n,account:t}),l=i?.balanceInUsdNumber??0,c=o==="0"?gd:o,d=Math.max(0,r-l),u=new b(a.value||"0").multipliedBy(c);return{requiresMinDeposit:u.isZero()?!1:u.lte(d),requiredMinDepositAmount:J({value:d})}},et=t=>{const[{action:e,status:n}]=Y();return e===t&&(n==="Wallet"||n==="Mining")},Xo=t=>{const e=se(),{onAcceptTermsOfUse:n}=ho(),{termsOfUseAccepted:a}=U(),{disabled:o,label:r,handleTrade:i}=Bo(t),{isError:l,isLoading:c}=an(),d=et("deposit");return{handleClick:()=>{if(l){e({type:"MERGE_OVERLAY",payload:{type:M.ERROR_NOTIFICATION,isOpen:!0,meta:{error:ts}}});return}a?i():e({type:"MERGE_OVERLAY",payload:{type:M.TERMS_OF_USE,isOpen:!0,onConfirm:async y=>{try{y(!0),await n()&&i()}catch{console.error("Failed to verify terms of use acceptance")}finally{y(!1)}}}})},disabled:o||c,label:r,isLoading:d}},bd=()=>{const{ActionButton:t=H}=L(),e=ld(),{handleClick:n,label:a,disabled:o,isLoading:r}=Xo(e);return s.jsx(t,{onClick:n,disabled:o,loading:r,children:a})},fd=()=>{const{ActionButton:t=H}=L(),e=dd(),{handleClick:n,label:a,disabled:o,isLoading:r}=Xo(e);return s.jsx(t,{onClick:n,disabled:o,loading:r,children:a})},vd=()=>{const t=Kc(),{deprecated:e,symbol:n,maintenance:a,maintenanceDeposits:o}=v(),[r]=_(),i=yt(),{isVaultDepositLocked:l,isAccountWhitelisted:c}=hd(),{approve:d,canSpend:u}=pd(),{requiresHighSlippageConfirm:m,confirmHighSlippage:y,slippageToBeUsed:w}=zn(),{requiresMinDeposit:g,requiredMinDepositAmount:T}=Td();return{requiresMinDeposit:g,requiresWhitelist:l&&!c,requiresApprove:!u,requiresHighSlippageConfirm:m,sendTokenSymbol:r.symbol,poolSymbol:n,requiredMinDepositAmount:T,deprecated:e,approve:d,confirmHighSlippage:y,slippageToBeUsed:w,maintenance:a||o,isBatchContractWritesTrading:t,insufficientBalance:i}},xd=()=>{const{ActionButton:t=H}=L(),e=S(),{status:n}=E.useConnect(),{onConnect:a}=ho();return s.jsx(t,{onClick:a,className:"dtw-whitespace-nowrap dtw-text-sm",loading:n==="pending",children:e.connectWallet})},Ad=()=>{const{ActionButton:t=H}=L(),{switchNetwork:e}=xe(),{chainId:n}=v(),a=S(),o=()=>{e?.({chainId:n})};return s.jsx(t,{onClick:o,children:a.switchNetwork})},Zo=()=>{const{account:t}=R(),{chainId:e}=xe(),n=v();return{isDisconnected:!t,isWrongNetwork:e!==n.chainId}},ea=({children:t})=>{const{isDisconnected:e,isWrongNetwork:n}=Zo();return e?s.jsx(xd,{}):n?s.jsx(Ad,{}):t},Sd=()=>{const t=qn(),e=et("approve");return{disabled:!t,isLoading:e}},Jo=({onApprove:t,symbol:e})=>{const{ActionButton:n=H}=L(),a=S(),{disabled:o,isLoading:r}=Sd();return s.jsx(n,{disabled:o,onClick:t,loading:r,children:s.jsxs("span",{children:[a.approve," ",e]})})},Ed=({onClick:t,tooltipText:e,disabled:n})=>{const[a,o]=p.useState(!1),r=()=>{t(),o(!0)};return p.useEffect(()=>{if(!a)return;const i=setTimeout(()=>{o(!1)},In);return()=>clearTimeout(i)},[a]),{disabled:n||a,tooltipText:e,handleClick:r}},er=t=>{const{disabled:e,tooltipText:n,handleClick:a}=Ed(t);return s.jsx(Fn,{text:n,children:s.jsx(Ut,{Icon:Ie.ArrowPathIcon,onClick:a,disabled:e,containerClassName:"!dtw-self-center",className:A("dtw-h-[var(--panel-input-token-icon-size,var(--panel-icon-size))] dtw-w-[var(--panel-input-token-icon-size,var(--panel-icon-size))] sm:dtw-w-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))] sm:dtw-h-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))]",{"dtw-opacity-50":e})})})},Cd=()=>{const{refetch:t,isFetched:e}=an(),{invalidateTradingQueries:n}=Xt();return{handleSwapQuoteReload:()=>{n(),t()},disabled:!e}},Dd=()=>{const t=S(),{handleSwapQuoteReload:e,disabled:n}=Cd();return s.jsx(er,{tooltipText:t.refreshSwapQuoteTooltip,onClick:e,disabled:n})},Id=()=>{const{refetch:t,isFetched:e}=Ze(),{invalidateTradingQueries:n}=Xt();return{handleSwapQuoteReload:()=>{n(),t()},disabled:!e}},Nd=()=>{const t=S(),{handleSwapQuoteReload:e,disabled:n}=Id();return s.jsx(er,{tooltipText:t.refreshSwapQuoteTooltip,onClick:e,disabled:n})},_d=()=>Fe()?s.jsx(Dd,{}):s.jsx(Nd,{}),tr=({children:t,...e})=>{const{ActionButton:n=H}=L(),{openLimitSellOverlay:a,displayLimitSellOverlay:o}=nc();return o?s.jsx(n,{...e,onClick:a,children:t}):null},kd=()=>{const{ActionButton:t=H}=L(),e=S(),n=Vn("deposit"),{requiresMinDeposit:a,requiredMinDepositAmount:o,requiresApprove:r,requiresWhitelist:i,requiresHighSlippageConfirm:l,deprecated:c=!1,poolSymbol:d,sendTokenSymbol:u,slippageToBeUsed:m,approve:y,confirmHighSlippage:w,maintenance:g,isBatchContractWritesTrading:T,insufficientBalance:x}=vd();return a?s.jsx(t,{disabled:!0,children:e.minimumPurchase.replace("{value}",o)}):i||g?s.jsx(Sn,{promptText:c?e.poolIsInactive.replace("{poolSymbol}",d):g?e.poolDepositsAreMaintenance.replace("{poolSymbol}",d):e.poolIsPrivate,children:n}):x?s.jsx(t,{disabled:!0,children:e.insufficientBalance}):l?s.jsx(t,{onClick:w,children:e.confirmMaxSlippage.replace("{slippagePercentage}",`${Math.abs(m)}`)}):r?T?s.jsx(bd,{}):s.jsx(Jo,{symbol:u,onApprove:y}):s.jsx(fd,{})},Pd=()=>{const[t,e]=_(),{chainId:n}=v(),a=le({address:t.address,chainId:n}),o=ue({symbol:t.symbol,address:t.address});return{...t,price:a,balance:o,updater:e}},Od=()=>{const{address:t,chainId:e}=v(),[n]=O(),a=re({address:t,chainId:e});return{...n,price:a}},Ld=()=>{const t=Pd(),e=Od(),n=Me(),a=Ko(),[{minSlippage:o}]=G();return{autoFocus:!1,sendToken:t,receiveToken:e,tradingPriceDiff:a,minSlippage:o,onInputFocus:()=>{n?.(q.INVEST_INPUT_FOCUS,{symbol:t.symbol,address:Ln(t.address)})},onInputChange:l=>{t.updater({value:l})}}},$t=({children:t})=>s.jsx("table",{className:"dtw-min-w-full dtw-border-separate",style:{borderSpacing:"0px 0.25rem"},children:s.jsx("tbody",{children:t})}),nr=({children:t})=>{const e=S();return s.jsx(P.Disclosure,{children:({open:n})=>s.jsxs(s.Fragment,{children:[s.jsxs(P.DisclosureButton,{className:"dtw-px-1.5 dtw-w-[100px] dtw-flex dtw-justify-between dtw-rounded-[var(--panel-radius-secondary,var(--panel-radius))] hover:dtw-bg-[var(--panel-meta-hover-bg,var(--panel-neutral-color))] focus:dtw-outline-none",children:[n?e.hide:e.showAll,s.jsx(Ie.ChevronDownIcon,{className:A("dtw-text-[color:var(--panel-icon-color,var(--panel-content-color))] !dtw-h-[var(--panel-input-token-icon-size,var(--panel-icon-size))] !dtw-w-[var(--panel-input-token-icon-size,var(--panel-icon-size))] sm:dtw-w-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))] sm:dtw-h-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))]",{"dtw-rotate-180 dtw-transform":n})})]}),s.jsx(P.Transition,{show:n,children:s.jsx(P.DisclosurePanel,{className:"dtw-mt-1 dtw-transition dtw-transform dtw-duration-100 dtw-ease-out data-[closed]:opacity-0 data-[closed]:-dtw-translate-y-2.5 dtw-static dtw-rounded-[var(--panel-radius-secondary,var(--panel-radius))] dtw-flex dtw-flex-col dtw-gap-1",children:t})})]})})},Rd=t=>{const{address:e,chainId:n}=v(),[{value:a}]=_(),o=to({vaultTokensAmount:a,address:e,chainId:n}),r=t?o.length:Fa,i=o.find(({tokenAddress:u})=>Ts.some(m=>z(u,m))),l=!!i&&i.amount!=="0",{firstPart:c,secondPart:d}=As(o,r);return{visibleAssets:c,hiddenAssets:d,showUnitWithdrawalTip:l,unitSymbol:i?.tokenName,unitAddress:i?.tokenAddress??C}},jd=({symbol:t})=>{const e=S();return s.jsxs("div",{className:"dtw-flex dtw-gap-1 dtw-items-center dtw-text-xs dtw-text-[color:var(--panel-secondary-content-color)]",children:[e.as," ",s.jsx(ze,{symbols:[t],size:"xs"})," ",t]})},ar=({className:t,showFraction:e=!0,iconSize:n,showAllAsset:a=!1})=>{const{visibleAssets:o,hiddenAssets:r,showUnitWithdrawalTip:i,unitSymbol:l,unitAddress:c}=Rd(a),d=p.useCallback(({fraction:u,fractionUsd:m,tokenName:y,asset:w,tokenAddress:g})=>{const T=_s(g);return s.jsxs("tr",{children:[s.jsxs("td",{style:{width:150,maxWidth:150},children:[s.jsx(ft,{symbol:y,iconSymbols:w.iconSymbols,symbolClasses:"dtw-text-xs dtw-font-bold",size:n}),T&&s.jsx(jd,{symbol:ks(g).symbol})]}),e&&s.jsxs("td",{style:{width:150,maxWidth:150},children:[s.jsx("p",{className:"dtw-truncate",children:u}),s.jsx("p",{className:"dtw-truncate dtw-text-xs dtw-text-[color:var(--panel-secondary-content-color)]",children:m})]})]},y)},[n,e]);return s.jsx("div",{className:A("dtw-text-sm dtw-font-light",t),children:o.length>0?s.jsxs(s.Fragment,{children:[s.jsx($t,{children:o.map(d)}),r.length>0&&s.jsx(nr,{children:s.jsx($t,{children:r.map(d)})}),i&&s.jsxs("p",{className:"dtw-text-warning dtw-text-[length:var(--panel-label-font-size)]",children:[l," can be redeemed using"," ",s.jsxs("a",{className:"dtw-text-warning dtw-inline-flex dtw-gap-0.5",href:Vi(c),target:"_blank",rel:"noreferrer",children:["Flat Money ",s.jsx(ee.ArrowTopRightOnSquareIcon,{className:"dtw-w-3"})]})]})]}):s.jsx(Do,{})})},Md=({symbol:t})=>{const e=qe(),n=se(),{standalone:a}=U(),o=e.some(u=>u.symbol===t),r=t==="all",i=Fs(),l=o&&e.length===1;return{isAllSymbol:r,onClick:()=>{i?.({isOpen:!0,entity:o?"pool":"token"}),a&&n({type:"MERGE_OVERLAY",payload:{type:o?M.POOL_SELECT:M.TOKEN_SELECT,isOpen:!0}})},disabled:l,hideTokenIcon:a&&o}},Bd=({symbol:t})=>{const{isAllSymbol:e,onClick:n,disabled:a,hideTokenIcon:o}=Md({symbol:t}),r=S();return s.jsxs("button",{className:A("dtw-flex dtw-items-center dtw-gap-1 dtw-rounded-[var(--panel-input-button-radius,var(--panel-radius))] dtw-border dtw-border-[var(--panel-input-button-border-color,var(--panel-accent-to-color))] !dtw-bg-[var(--panel-input-button-bg,var(--panel-secondary-color))] dtw-px-[var(--panel-input-button-px)] dtw-py-[var(--panel-input-button-py)] hover:dtw-opacity-[var(--panel-action-hover-opacity)] dtw-opacity-[var(--panel-action-opacity)]",{"dtw-pr-2 dtw-pointer-events-none":a}),onClick:n,disabled:a,children:[s.jsx(ft,{symbol:t,iconSymbols:o?[]:[t],symbolClasses:"dtw-font-[var(--panel-input-token-font-weight,var(--panel-font-weight-medium))] dtw-text-[length:var(--panel-input-token-font-size,var(--panel-font-size-xs))] dtw-line-height-[length:var(--panel-input-token-line-height,var(--panel-line-height-xs))] sm:dtw-text-[length:var(--panel-input-token-font-size-sm,var(--panel-font-size))] sm:dtw-leading-[var(--panel-input-token-line-height-sm,var(--panel-line-height))] dtw-text-[color:var(--panel-input-button-content-color)]",CustomIcon:e?s.jsx(Rt.CircleStackIcon,{className:"dtw-h-[var(--panel-input-token-icon-size,var(--panel-icon-size))] dtw-w-[var(--panel-input-token-icon-size,var(--panel-icon-size))] sm:dtw-w-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))] sm:dtw-h-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))] dtw-text-[color:var(--panel-icon-color,var(--panel-content-color))]"}):void 0,customTitle:e?r.all:void 0}),!a&&s.jsx(Rt.ChevronDownIcon,{className:"dtw-flex-shrink-0 dtw-text-[color:var(--panel-icon-color,var(--panel-content-color))] dtw-h-[var(--panel-input-token-icon-size,var(--panel-icon-size))] dtw-w-[var(--panel-input-token-icon-size,var(--panel-icon-size))] sm:dtw-w-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))] sm:dtw-h-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))]","aria-hidden":"true"})]})};function Fd(t,e){const n=new b(t);return e&&n.gt(0)?n.toFixed(6):t}const Wd=t=>{t.currentTarget.blur()},Ud=({displayCalculatedValue:t,assetInput:e="",assetPrice:n,tradingPriceDiff:a=0,type:o,onInputChange:r,maxBalance:i,autoFocus:l=!1,disabled:c=!1})=>{const d=p.useRef(null),u=p.useMemo(()=>{const g=Number(e||0)*Number(n||0);if(!t||isNaN(g))return"";const T=J({value:g,maximumFractionDigits:dt(g)});return a?`${T} (${a>0?"+":""}${a}% ${o===B.ERROR?"⚠":""})`:T},[e,n,a,t,o]),m=()=>{d.current?.focus()},y=g=>{r&&r(g.target.value)},w=()=>{r&&i&&r(i)};return{inputRef:d,usdAmount:u,value:Fd(e,c),autoFocus:l,onContainerClick:m,onMaxBalanceClick:w,onInputChange:y}},pt=t=>{const{inputRef:e,usdAmount:n,autoFocus:a,value:o,onContainerClick:r,onMaxBalanceClick:i,onInputChange:l}=Ud(t),{label:c,assetSymbol:d,onInputFocus:u,disabled:m=!1,displayMax:y=!1,displayCalculatedValue:w=!1,type:g=B.DEFAULT,isLoading:T=!1,children:x}=t,D=A({"dtw-text-[color:var(--panel-error-content-color)]":g===B.ERROR&&!T,"dtw-text-[color:var(--panel-warning-content-color)]":g===B.WARNING&&!T});return s.jsxs("div",{className:A("dtw-relative dtw-flex dtw-flex-col dtw-gap-[var(--panel-input-group-gap,var(--panel-gap))] dtw-rounded-[var(--panel-input-radius,var(--panel-radius))] dtw-border dtw-bg-[var(--panel-input-bg,var(--panel-neutral-color))] dtw-py-[var(--panel-input-py)] dtw-px-[var(--panel-input-px)] dtw-shadow-md",{"focus-within:dtw-border-[var(--panel-input-focus-border-color)] focus-within:dtw-bg-[var(--panel-input-focus-bg)]":!m,"dtw-border-[var(--panel-input-border-color)]":g===B.DEFAULT||T,"dtw-border-[color:var(--panel-error-content-color)]":g===B.ERROR&&!T,"dtw-border-[color:var(--panel-warning-content-color)]":g===B.WARNING&&!T}),onClick:r,children:[s.jsx("span",{className:A(D,{"dtw-text-[color:var(--panel-secondary-content-color)] dtw-text-[length:var(--panel-label-font-size)] dtw-leading-[var(--panel-label-line-height,var(--panel-line-height-xs))]":T||g===B.DEFAULT}),children:c}),s.jsxs("div",{className:A("dtw-flex dtw-justify-between dtw-items-center dtw-text-[length:var(--panel-input-label-font-size,var(--panel-font-size-sm))] dtw-leading-[var(--panel-input-label-line-height,var(--panel-line-height-sm))] dtw-font-[var(--panel-input-label-font-weight,var(--panel-font-weight-light))] dtw-gap-x-2"),children:[s.jsx("div",{className:"transparent-scrollbar dtw-flex-1 dtw-overflow-x-auto",children:d==="all"?s.jsx(ar,{iconSize:"sm"}):s.jsx("input",{className:A("dtw-appearance-none dtw-bg-transparent dtw-text-[color:var(--panel-input-content-color,var(--panel-content-color))] placeholder:dtw-text-[color:var(--panel-input-placeholder-color,var(--panel-secondary-content-color))] dtw-text-[length:var(--panel-input-font-size,var(--panel-font-size-sm))] !dtw-leading-[var(--panel-input-line-height,var(--panel-line-height-sm))] dtw-font-[var(--panel-input-font-weight,var(--panel-font-weight-light))] dtw-outline-none focus:dtw-outline-none lg:dtw-text-[length:var(--panel-input-font-size-lg,var(--panel-font-size-lg))] lg:dtw-leading-[var(--panel-input-line-height-lg,var(--panel-line-height-lg))] dtw-w-full",D),ref:e,autoFocus:a,type:"number",min:0,value:o,onChange:l,onFocus:u,placeholder:"0",disabled:m,onWheelCapture:Wd})}),s.jsx(Bd,{symbol:d})]}),s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-justify-between dtw-gap-x-2",children:[s.jsx("div",{className:"dtw-flex dtw-items-center dtw-gap-[var(--panel-input-price-gap,var(--panel-gap))] dtw-flex-1 dtw-overflow-x-auto transparent-scrollbar",children:w&&s.jsx(s.Fragment,{children:T?s.jsx("div",{className:"dtw-h-[18px]",children:s.jsx(Ae,{className:"dtw-stroke-[color:var(--panel-accent-from-color)] dtw-h-[var(--panel-icon-secondary-size)] sm:dtw-h-[var(--panel-icon-secondary-size-sm)] dtw-w-[var(--panel-icon-secondary-size)] sm:dtw-w-[var(--panel-icon-secondary-size-sm)]"})}):s.jsx("input",{className:A("dtw-appearance-none dtw-bg-transparent dtw-outline-none dtw-pointer-events-none dtw-flex-1 dtw-py-[1px]",{"dtw-text-[color:var(--panel-input-loading-content-color,var(--panel-loading-content-color))]":T,"!dtw-text-[color:var(--panel-secondary-content-color)] dtw-text-[length:var(--panel-label-font-size)] !dtw-leading-[var(--panel-label-line-height,var(--panel-line-height-xs))]":!T&&g===B.DEFAULT},D),value:n,disabled:!0})})}),x,y&&s.jsx(wc,{onClick:i})]})]})},$d=()=>{const{stablePrecision:t,defaultPrecision:e}=U(),[{symbol:n,address:a}]=_(),o=ue({symbol:n,address:a,watch:!0});return{formattedBalance:Ns({balance:o,symbol:n,precision:Es(n)?t:e,truncateSymbol:!0}),symbol:n}},sr=()=>{const{formattedBalance:t,symbol:e}=$d();return s.jsx(Co,{balance:t,symbol:e})},zd=()=>{const{stablePrecision:t,defaultPrecision:e}=U(),[{symbol:n,address:a}]=O(),o=ue({symbol:n,address:a,watch:!0});return{formattedBalance:Ns({balance:o,symbol:n,precision:Es(n)?t:e,truncateSymbol:!0}),symbol:n}},or=()=>{const{formattedBalance:t,symbol:e}=zd();return s.jsx(Co,{balance:t,symbol:e})},ta=()=>{const t=v(),[e]=sn(),{isAllAssetsWithdrawOptionDefault:n}=U(),{data:a=[]}=me(),o=a.length>0,{data:r}=$n(t),i=pe()[1],l=_()[1],c=O()[1],d=()=>{l({...e,value:"",isLoading:!e}),c({address:t.address,symbol:t.symbol,decimals:k,value:""})},u=()=>{const{customTokens:m,defaultWithdrawTokenSymbol:y}=t.withdrawParams,w=m.find(({symbol:T})=>T===y)??m[0]??Mt,g=o?w:r||n?Mt:w;l({address:t.address,symbol:t.symbol,decimals:k,value:""}),c({...g,value:"",isLoading:!1})};return m=>{switch(i(m),m){case"deposit":return d();case"withdraw":return u()}}},Vd=()=>{_o(),wd(),no(),me()},Ve=["deposit","withdraw"],Hd=()=>{const[t]=pe(),e=ta();return{handleClick:()=>{const a=Ve.find(o=>o!==t);a&&e(a)}}},rr=()=>{const{handleClick:t}=Hd();return s.jsx("div",{onClick:t,className:"dtw-cursor-pointer dtw-group dtw-absolute dtw-left-1/2 -dtw-top-[calc(var(--panel-inputs-group-gap)*0.5)] -dtw-translate-y-1/2 -dtw-translate-x-1/2 dtw-flex dtw-items-center dtw-justify-center dtw-rounded-[var(--panel-inputs-arrow-radius)] dtw-p-0.5 dtw-bg-[color:var(--panel-background-color)] dtw-backdrop-blur-3xl",children:s.jsx("button",{className:"!dtw-bg-[var(--panel-inputs-arrow-bg)] dtw-rounded-[var(--panel-inputs-arrow-radius)] dtw-px-[var(--panel-inputs-group-px-arrow)] dtw-py-[var(--panel-inputs-group-py-arrow)]",children:s.jsx(Ie.ArrowDownIcon,{className:"dtw-h-[var(--panel-inputs-group-arrow-size)] dtw-w-[var(--panel-inputs-group-arrow-size)] dtw-text-[color:var(--panel-inputs-arrow-color)] group-hover:dtw-opacity-[var(--panel-action-hover-opacity)] group-hover:dtw-rotate-180 dtw-transition-transform"})})})},Gd=()=>{const{sendToken:t,receiveToken:e,autoFocus:n,tradingPriceDiff:a,minSlippage:o,onInputFocus:r,onInputChange:i}=Ld(),l=bt(o??0),c=S();return s.jsxs(s.Fragment,{children:[s.jsx(pt,{label:c.send,assetInput:t.value,onInputChange:i,onInputFocus:r,autoFocus:n,assetSymbol:t.symbol,assetPrice:t.price??"",displayMax:!0,maxBalance:t.balance,displayCalculatedValue:!0,isLoading:t.isLoading,children:s.jsx(sr,{})}),s.jsxs(pt,{label:c.receiveEstimated,assetInput:e.value,assetSymbol:e.symbol,assetPrice:e.price??"",displayCalculatedValue:!0,disabled:!0,tradingPriceDiff:a,type:l,isLoading:e.isLoading,children:[s.jsx(or,{}),s.jsx(rr,{})]})]})},qd=()=>{const{address:t,chainId:e}=v(),n=lo({address:t,chainId:e}),[a]=O();if(!n)return{isMaxSupplyCapReached:!1,supplyCapInUsd:""};const{totalSupplyNumber:o,maxSupplyCapNumber:r,remainingSupplyCapInUsd:i}=n,l=Number(a.value||"0"),c=o+l>r,d=J({value:i,maximumFractionDigits:0,minimumFractionDigits:0});return{isMaxSupplyCapReached:c,supplyCapInUsd:d}},Yd=()=>{const t=S(),[{slippage:e,minSlippage:n,isMaxSlippageLoading:a}]=G(),o=e==="auto",r=Go(),[i]=O(),{address:l,chainId:c}=v(),{entryFee:d}=Jt({address:l,chainId:c}),{minDepositUSD:u}=Un(l,c),m=Wo(),y=Qo(),w=xt(),g=u?J({value:u,minimumFractionDigits:0}):"",T=bt(o?n??0:e),x=go({tradingType:"deposit",slippage:e,minSlippage:n}),D=T===B.DEFAULT?t.depositSlippageWarning:t.highSlippageWarning,$=ve({value:new b(r).shiftedBy(-18).toFixed(),decimals:4});return{projectedEarnings:m,themeType:T,slippageTooltipText:D,isMaxSlippageLoading:a,slippagePlaceholder:x,minReceive:`${$} ${i.symbol.toUpperCase()}`,entryFee:d,entryFeeTooltipText:t.entryFeeExplanation,minDeposit:g,lockTime:y,showMinimumReceivedAmount:w}},na=({className:t})=>{const{value:e,isLoading:n}=ko();return s.jsxs("div",{className:A("dtw-flex dtw-h-[var(--panel-icon-secondary-size)] dtw-justify-end dtw-gap-x-2",t),children:[n&&s.jsx(Ae,{className:"dtw-stroke-[color:var(--panel-accent-from-color)] dtw-h-[var(--panel-icon-secondary-size)] dtw-w-[var(--panel-icon-secondary-size)]"}),s.jsx("p",{className:A("dtw-text-right dtw-text-[length:var(--panel-meta-font-size)] dtw-leading-[var(--panel-meta-line-height)] dtw-text-[color:var(--panel-secondary-content-color)] dtw-font-[var(--panel-meta-font-weight,var(--panel-font-weight-light))]",{"dtw-text-[color:var(--panel-loading-content-color)]":n}),children:e})]})},Kd=()=>{const t=S(),{projectedEarnings:{yearlyEarnings:e,dailyEarnings:n,showEarnings:a},slippageTooltipText:o,slippagePlaceholder:r,isMaxSlippageLoading:i,minReceive:l,themeType:c,entryFee:d,entryFeeTooltipText:u,minDeposit:m,lockTime:y,showMinimumReceivedAmount:w}=Yd(),g=a?[{tooltipText:t.projectedYearlyEarningsTooltip,label:t.yearlyEarnings,value:e,emphasised:!0},{tooltipText:t.projectedDailyEarningsTooltip,label:t.dailyEarnings,value:n,emphasised:!0}]:[],T=p.useMemo(()=>{const x=[{tooltipText:t.exchangeRate,label:t.rate,value:s.jsx(na,{})},{tooltipText:o,label:t.maxSlippage,value:s.jsxs("div",{className:"dtw-flex dtw-gap-1",children:[i&&s.jsx(Ae,{className:"dtw-stroke-[color:var(--panel-accent-from-color)] dtw-h-[var(--panel-icon-secondary-size)] sm:dtw-h-[var(--panel-icon-secondary-size-sm)] dtw-w-[var(--panel-icon-secondary-size)] sm:dtw-w-[var(--panel-icon-secondary-size-sm)]"}),s.jsxs("span",{className:A({"dtw-text-[color:var(--panel-loading-content-color)]":i}),children:[r,"%"]})]})}];return w&&x.push({tooltipText:t.minReceiveAmount,label:t.minReceived,value:l}),x.push({tooltipText:u,label:t.entryFee,value:d}),m&&x.push({tooltipText:t.minDepositUsd,label:t.minDeposit,value:m}),x.push({tooltipText:t.tokensLockTime.replace("{lockTime}",y),label:t.cooldown,value:y}),x},[o,t.maxSlippage,t.entryFee,t.minReceiveAmount,t.minReceived,t.minDepositUsd,t.minDeposit,t.exchangeRate,t.rate,t.tokensLockTime,t.cooldown,i,r,w,u,d,m,l,y]);return s.jsx(Hn,{staticItems:g,collapseItems:T,themeType:c})},Qd=({children:t})=>{const{DepositMetaInfo:e,MaxSupplyReachedAlert:n}=L(),{isMaxSupplyCapReached:a,supplyCapInUsd:o}=qd();return s.jsxs(V.Meta,{children:[a&&!!n&&s.jsx(n,{supplyCapInUsd:o}),s.jsx(Kd,{}),e&&s.jsx(e,{}),s.jsx("div",{className:"dtw-sticky dtw-bottom-0 dtw-bg-[var(--panel-meta-action-panel-bg)]",children:t})]})},Xd=()=>{md(),yd()},Zd=()=>{Xd();const{isGeoBlocked:t,isSanctioned:e}=U(),{GeoBlockAlert:n,SanctionedAlert:a,CustomDepositMeta:o}=L(),r=t||e,i=[{Component:n,value:t,key:"geo-block"},{Component:a,value:e,key:"sanctioned"}].filter(({value:l})=>l);return s.jsxs(s.Fragment,{children:[s.jsx(V.InputGroup,{children:s.jsx(Gd,{})}),o&&s.jsx(o,{}),s.jsx(Qd,{children:r?i.map(({Component:l,key:c})=>l&&s.jsx(l,{},c)):s.jsx(s.Fragment,{children:s.jsx(ea,{children:s.jsx(kd,{})})})})]})},Jd=()=>s.jsx(V.Panel,{children:s.jsx(Zd,{})}),ep=t=>Object.keys(M).some(e=>e===t),tp=({children:t})=>{const e=Ao();let n=null;return p.Children.forEach(t,a=>{if(p.isValidElement(a)){const o=a.props.type;ep(o)&&e[o]&&e[o].isOpen&&(n=a)}}),n},np=({type:t})=>{const e=S(),{DepositTermsOfUse:n,ActionButton:a=H}=L(),{handleReject:o,handleConfirm:r,isPending:i}=ce({type:t});return s.jsxs(V.Overlay,{className:"dtw-justify-between dtw-gap-y-1 dtw-overflow-y-auto theme-scrollbar",children:[s.jsxs("div",{className:"dtw-flex dtw-gap-1 dtw-items-center dtw-text-warning",children:[s.jsx(ee.ExclamationCircleIcon,{className:"dtw-h-5 dtw-w-5"}),s.jsx("p",{children:e.termsOfUse})]}),s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-2",children:[s.jsxs("p",{className:"dtw-self-start dtw-text-sm",children:[e.termOfUseDepositListTitle,":"]}),s.jsxs("ul",{className:"dtw-list-inside dtw-list-disc dtw-flex dtw-flex-col dtw-gap-y-1 dtw-text-sm dtw-text-[color:var(--panel-secondary-content-color)]",children:[s.jsx("li",{children:e.termOfUseDepositAssetSlippage}),s.jsx("li",{children:e.termOfUseDepositBugs}),s.jsx("li",{children:e.termOfUseDepositDowntime}),s.jsx("li",{children:e.termOfUseDepositAuditRisk})]}),n&&s.jsx(n,{})]}),s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-2 dtw-w-full",children:[s.jsx(a,{highlighted:!1,onClick:o,children:e.back}),s.jsx(a,{onClick:r,disabled:i,loading:i,children:s.jsx("span",{children:i?e.confirmInWallet:e.termOfUseDepositAccept})})]})]})},ap=({type:t})=>{const e=S(),{ActionButton:n=H}=L(),{handleReject:a,handleConfirm:o}=ce({type:t});return s.jsxs(V.Overlay,{className:"dtw-justify-between dtw-gap-y-1",children:[s.jsxs("div",{className:"dtw-flex dtw-gap-1 dtw-items-center dtw-text-warning",children:[s.jsx(ee.ExclamationCircleIcon,{className:"dtw-h-5 dtw-w-5"}),s.jsx("p",{children:e.highSlippage})]}),s.jsx("p",{className:"dtw-text-sm",children:e.responsibleHighSlippage}),s.jsxs("p",{className:"dtw-text-sm dtw-self-start",children:[e.highSlippageListTitle,":"]}),s.jsxs("ul",{className:"dtw-list-inside dtw-list-disc dtw-flex dtw-flex-col dtw-gap-y-1 dtw-text-sm dtw-text-[color:var(--panel-secondary-content-color)] dtw-max-h-28 dtw-overflow-y-auto theme-scrollbar",children:[s.jsx("li",{children:e.termOfUseDepositAssetSlippage}),s.jsx("li",{children:e.termOfUseDepositBugs}),s.jsx("li",{children:e.termOfUseDepositDowntime}),s.jsx("li",{children:e.termOfUseDepositAuditRisk})]}),s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-2 dtw-w-full",children:[s.jsx(n,{highlighted:!1,onClick:a,children:e.back}),s.jsx(n,{onClick:o,children:e.confirm})]})]})},sp=({type:t})=>{const{handleReject:e,handleConfirm:n}=ce({type:t}),{unlockTaxAmount:a,unlockDate:o,unlockTimestamp:r,isLoading:i}=co(),l=!!r&&Date.now()<r;return{isLoading:i,showUnlockTaxTip:l,showUnlockTaxAmount:!!a&&a!=="0",unlockTaxAmount:Is(ve({value:a,decimals:0})),unlockDate:o,handleReject:e,handleConfirm:n}},op=t=>{const{ActionButton:e=H}=L(),{isLoading:n,showUnlockTaxTip:a,showUnlockTaxAmount:o,unlockDate:r,unlockTaxAmount:i,handleReject:l,handleConfirm:c}=sp(t);return n?s.jsx(Tc,{}):s.jsxs(V.Overlay,{className:"dtw-justify-between dtw-gap-y-1",children:[s.jsxs("div",{className:"dtw-flex dtw-gap-1 dtw-items-center dtw-text-warning",children:[s.jsx(ee.ExclamationCircleIcon,{className:"dtw-h-5 dtw-w-5"}),s.jsx("p",{children:"Withdraw Alert"})]}),a?s.jsx("p",{className:"dtw-text-sm",children:"By proceeding with this trade, you acknowledge and accept the possibility of losing a part of your rewards (FMP)."}):null,s.jsx("p",{className:"dtw-text-sm dtw-self-start",children:"Please consider the following before confirming:"}),s.jsxs("ul",{className:"dtw-self-start dtw-list-inside dtw-list-disc dtw-flex dtw-flex-col dtw-gap-y-1 dtw-text-sm dtw-text-[color:var(--panel-secondary-content-color)] dtw-max-h-28 dtw-overflow-y-auto theme-scrollbar",children:[o&&s.jsxs(s.Fragment,{children:[s.jsxs("li",{className:"dtw-text-warning",children:["If you withdraw now, you will incur a penalty of ",i," ","FMP"]}),s.jsxs("li",{className:"dtw-text-warning",children:["Wait until ",r," for locked points vesting to complete"]})]}),s.jsx("li",{children:"After withdrawal, you won’t be able to redeposit"})]}),s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-2 dtw-w-full",children:[s.jsx(e,{highlighted:!1,onClick:l,children:"Back"}),s.jsx(e,{onClick:c,children:"Confirm"})]})]})},rp=({token:t,onSelect:e})=>({onClick:()=>{e(t)}}),ip=({token:t,onSelect:e})=>{const{onClick:n}=rp({token:t,onSelect:e});return s.jsxs("div",{className:"dtw-space-y-3 dtw-rounded-xl dtw-py-3 dtw-pl-4 dtw-pr-3",onClick:n,children:[s.jsx(ft,{symbol:t.symbol,iconSymbols:[t.symbol],size:"xl",CustomIcon:s.jsx(Rt.CircleStackIcon,{className:"dtw-h-10 dtw-w-10 group-hover:dtw-opacity-100 dtw-opacity-100 sm:dtw-opacity-50"}),symbolClasses:"dtw-text-sm dtw-font-medium group-hover:dtw-opacity-100 dtw-opacity-100 sm:dtw-opacity-80"}),s.jsx(ar,{className:"dtw-pt-2",showFraction:!1,showAllAsset:!0})]})},lp=({token:t,onSelect:e,isActive:n,onClose:a})=>{const o=ue({symbol:t.symbol,address:t.address}),{defaultPrecision:r}=U();return{formattedBalance:new b.BigNumber(o).toFixed(r,b.BigNumber.ROUND_DOWN),onClick:()=>{if(n){a();return}e(t)}}},ir=({token:t,onSelect:e,onClose:n,isActive:a=!1})=>{const{onClick:o,formattedBalance:r}=lp({token:t,onSelect:e,onClose:n,isActive:a});return s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-rounded-xl dtw-gap-x-2 dtw-py-3 dtw-pl-4 dtw-pr-3",onClick:o,children:[s.jsx(ft,{symbol:t.symbol,iconSymbols:[t.symbol],size:"xl",symbolClasses:A("group-hover:dtw-opacity-100 dtw-text-sm dtw-font-medium",{"dtw-opacity-100 sm:dtw-opacity-80":!a,"dtw-opacity-100":a}),className:A("group-hover:dtw-opacity-100",{"dtw-opacity-100 sm:dtw-opacity-50":!a,"dtw-opacity-100":a})}),s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-self-end dtw-text-sm dtw-font-light dtw-text-[color:var(--panel-balance-content-color)]",children:[a&&s.jsx(Rt.CheckIcon,{className:"dtw-w-4 dtw-self-end dtw-text-themeGreen"}),s.jsxs("div",{children:[s.jsx("span",{className:"dtw-mr-1 dtw-text-xs",children:t.symbol}),r]})]})]})},cp=[],dp=()=>{const t=v(),[e]=pe(),[n,a]=_(),[o,r]=O(),{data:i}=$n(t),l=sn(),c=i?cp:t.withdrawParams.customTokens;return p.useMemo(()=>({tokens:e==="deposit"?l:c,updater:e==="deposit"?a:r,activeTokens:[n,o]}),[e,l,c,a,r,n,o])},pp=({searchQuery:t,type:e})=>{const[{isMultiAssetWithdrawalEnabled:n}]=G(),{isCompleteWithdrawStep:a}=Xe(),o=wt(),[r]=pe(),{handleReject:i}=ce({type:e}),{tokens:l,updater:c,activeTokens:d}=dp(),u=p.useMemo(()=>t?l.filter(({symbol:y})=>y.toLowerCase().includes(t)):l,[t,l]),m=p.useCallback(({address:y,value:w,decimals:g,symbol:T})=>{c({address:y,value:w,decimals:g,symbol:T}),i()},[c,i]);return{tokenList:u,activeTokens:d,onSelect:m,onClose:i,showMultiAssetWithdrawalOption:n&&r==="withdraw"&&!o&&!a}},up=({type:t,searchQuery:e})=>{const n=S(),{tokenList:a,activeTokens:o,onSelect:r,showMultiAssetWithdrawalOption:i,onClose:l}=pp({type:t,searchQuery:e});return s.jsxs(V.Overlay,{onClose:l,centered:!1,className:"dtw-gap-[var(--panel-gap)]",children:[s.jsx("span",{className:"dtw-text-center dtw-text-[length:var(--panel-font-size-sm)] dtw-font-[var(--panel-font-weight-medium)]",children:n.selectToken}),s.jsxs("ul",{className:"dtw-grid dtw-gap-[calc(var(--panel-gap) * 0.5)] dtw-overflow-y-auto theme-scrollbar",children:[a.map(c=>{const d=o.some(({address:u,symbol:m})=>u===c.address&&m===c.symbol);return s.jsx("li",{className:"dtw-cursor-pointer dtw-rounded-xl dtw-drop-shadow-md even:odd:dtw-bg-[color:var(--panel-popup-list-item-bg-even)] odd:dtw-bg-[color:var(--panel-popup-list-item-bg-odd)] dtw-group",children:s.jsx(ir,{token:c,onSelect:r,isActive:d,onClose:l})},`${c.address}_${c.symbol}`)}),i&&s.jsx("li",{className:"dtw-cursor-pointer dtw-rounded-xl dtw-p-0.5 even:dtw-bg-[color:var(--panel-popup-list-item-bg-even)] odd:dtw-bg-[color:var(--panel-popup-list-item-bg-odd)] dtw-group",children:s.jsx(ip,{token:Mt,onSelect:r})})]})]})},mp=({children:t,chainId:e})=>{const{chainConfig:n}=U(),{Image:a=Io}=L(),o=n[e]?.iconPath,r=n[e]?.name;return s.jsxs("div",{children:[s.jsxs("div",{className:"dtw-sticky dtw-top-0 dtw-z-10 dtw-flex dtw-items-center dtw-space-x-3 dtw-bg-[color:var(--panel-popup-list-header-bg)] dtw-drop-shadow-md dtw-p-3",children:[o&&s.jsx("div",{className:"dtw-h-6 dtw-w-6",children:s.jsx(a,{className:"dtw-h-full dtw-w-full dtw-rounded-full dtw-object-contain",src:o,alt:"chain icon",width:100,height:100})}),s.jsx("p",{className:"dtw-whitespace-nowrap dtw-text-sm",children:r??e})]}),t]})},Cn=(t,e)=>t.address in e?{balanceInUsd:e[t.address]?.balanceInUsd??J({value:0}),balanceInUsdNumber:e[t.address]?.balanceInUsdNumber??0}:{balanceInUsd:J({value:0}),balanceInUsdNumber:0},yp=t=>(e,n)=>Cn(n,t).balanceInUsdNumber-Cn(e,t).balanceInUsdNumber,wp=({searchQuery:t,type:e})=>{const n=oo(),a=qe(),o=v(),{handleReject:r}=ce({type:e}),[i]=pe(),l=_()[1],c=O()[1],d=$s()[1],u=p.useCallback(({address:y,value:w,decimals:g,symbol:T})=>{(i==="deposit"?c:l)({address:y,value:w,decimals:g,symbol:T}),d(y),r()},[i,l,c,r,d]);return{poolList:p.useMemo(()=>Array.from(new Set(a.map(({chainId:y})=>y))).map(y=>({chainId:y,configs:[...a.filter(w=>w.chainId===y&&!w.deprecated).map(w=>({...w,...Cn(w,n),isActive:o.address===w.address})).filter(({symbol:w})=>t?w.toLowerCase().includes(t):!0).slice().sort(yp(n))]})),[t,n,a,o]),onClose:r,onSelect:u}},hp=({type:t,searchQuery:e})=>{const n=S(),{poolList:a,onClose:o,onSelect:r}=wp({type:t,searchQuery:e});return s.jsxs(V.Overlay,{onClose:o,centered:!1,className:"dtw-gap-[var(--panel-gap)]",children:[s.jsx("span",{className:"dtw-text-center dtw-text-[length:var(--panel-font-size-sm)] dtw-font-[var(--panel-font-weight-medium)]",children:n.selectToken}),s.jsx("div",{className:"dtw-grid dtw-gap-[calc(var(--panel-gap) * 0.5)] dtw-overflow-y-auto theme-scrollbar",children:a.map(({chainId:i,configs:l})=>s.jsx(mp,{chainId:i,children:l.map(({isActive:c,symbol:d,address:u})=>s.jsx("div",{className:A("dtw-rounded-xl dtw-drop-shadow-md even:odd:dtw-bg-[color:var(--panel-popup-list-item-bg-even)] odd:dtw-bg-[color:var(--panel-popup-list-item-bg-odd)] dtw-group",{"dtw-cursor-pointer ":!c}),children:s.jsx(ir,{token:{symbol:d,address:u,value:"",decimals:k},onSelect:r,isActive:c,onClose:o})},`${u}_${d}`))},i))})]})},gp=t=>{if(!t)return;const e=t.match(/0x[a-fA-F0-9]{64}/);if(!e)return;const n=e[0];return`${n.slice(0,4)}...${n.slice(-3)}`},Tp=({type:t})=>{const{address:e,symbol:n,chainId:a}=v(),[{link:o,sendTokens:r},i]=Y(),{handleReject:l}=ce({type:t}),c=r?.[0],d=gp(o),u=re({address:e,chainId:a});return{onClose:p.useCallback(()=>{i({isOpen:!1}),l()},[i,l]),link:o,vaultSymbol:n,paidToken:c,txHash:d,vaultTokenPrice:J({value:u})}},bp=t=>{const e=S(),{link:n,onClose:a,vaultSymbol:o,paidToken:r,txHash:i,vaultTokenPrice:l}=Tp(t),{ActionButton:c=H}=L();return s.jsxs(V.Overlay,{className:"dtw-justify-between dtw-gap-y-4",noPadding:!0,children:[s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-items-center dtw-justify-center dtw-gap-2 dtw-pt-1 dtw-px-4 dtw-w-full",children:[s.jsxs("div",{className:"dtw-text-[color:var(--panel-success-content-color)] dtw-mb-2",children:[s.jsx(Ie.CheckIcon,{className:"dtw-h-16 dtw-w-16 lg:dtw-h-24 lg:dtw-w-24 dtw-shrink-0"}),"Success"]}),s.jsx(_t,{}),s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-justify-between dtw-gap-2 dtw-w-full",children:[s.jsx("p",{children:e.orderingLabel}),s.jsx("p",{className:"dtw-text-[color:var(--panel-secondary-content-color)]",children:o})]}),s.jsx(_t,{}),r&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-justify-between dtw-gap-2 dtw-w-full",children:[s.jsx("p",{children:e.paidLabel}),s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-items-end dtw-justify-center dtw-gap-1 dtw-text-[color:var(--panel-secondary-content-color)]",children:[r.value?ve({value:+r.value,decimals:4}):null," ",r.symbol]})]}),s.jsx(_t,{})]}),s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-justify-between dtw-gap-2 dtw-w-full",children:[s.jsx("p",{children:e.priceLabel}),s.jsx("p",{className:"dtw-text-[color:var(--panel-secondary-content-color)]",children:l})]}),n&&s.jsxs(s.Fragment,{children:[s.jsx(_t,{}),s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-justify-between dtw-gap-2 dtw-w-full",children:[s.jsx("p",{children:e.transactionLabel}),s.jsx(Qe,{link:n,children:i??e.explorer})]})]})]}),s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-2 dtw-w-full",children:[s.jsx(tr,{children:e.openLimitOrderAfterBuySwitchLabel}),s.jsx(c,{highlighted:!1,onClick:a,children:e.done})]})]})},fp=()=>{const t=S(),{LogoSpinner:e=Ae}=L(),[{link:n}]=Y();return s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-items-center dtw-justify-center dtw-gap-2 dtw-pt-1 dtw-px-4 dtw-w-full dtw-h-full md:dtw-w-1/2 md:dtw-h-1/2",children:[s.jsx(e,{className:"dtw-h-16 dtw-w-16 lg:dtw-h-24 lg:dtw-w-24 dtw-shrink-0"}),t.miningTx,n&&s.jsx(Qe,{link:n,className:"dtw-text-sm",iconClassName:"dtw-w-4 dtw-h-4",children:t.explorer})]})},vp=({onClose:t})=>{const e=S(),{ActionButton:n=H}=L(),[{link:a}]=Y();return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-items-center dtw-justify-center dtw-gap-2 dtw-pt-1 dtw-px-4 dtw-w-full dtw-h-full md:dtw-w-1/2 md:dtw-h-1/2",children:[s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-items-center dtw-gap-2 dtw-text-[color:var(--panel-success-content-color)]",children:[s.jsx(Ie.CheckIcon,{className:"dtw-h-16 dtw-w-16 lg:dtw-h-24 lg:dtw-w-24 dtw-shrink-0"}),e.createLimitSellOrder]}),a&&s.jsx(Qe,{link:a,className:"dtw-text-sm",iconClassName:"dtw-w-4 dtw-h-4",children:e.explorer})]}),s.jsx("div",{className:"dtw-flex dtw-flex-col dtw-gap-2 dtw-w-full",children:s.jsx(n,{highlighted:!1,onClick:t,children:e.done})})]})},xp=({type:t})=>{const[{status:e},n]=Y(),{handleReject:a}=ce({type:t}),o=e==="Mining";return{onClose:p.useCallback(()=>{n({isOpen:!1}),a()},[a,n]),isProcessing:o}},Ap=t=>{const{onClose:e,isProcessing:n}=xp(t);return s.jsx(V.Overlay,{className:"dtw-justify-between dtw-gap-y-4",onClose:e,noPadding:!0,children:n?s.jsx(fp,{}):s.jsx(vp,{onClose:e})})},Sp=({type:t})=>{const e=S(),[{status:n,link:a,action:o},r]=Y(),i=n=="Success",{handleReject:l}=ce({type:t}),c=o==="single_withdraw"&&i,d=i&&o==="deposit",u=o==="create_limit_sell_order",m=o==="limit_order_withdraw",y=p.useMemo(()=>({Wallet:e.sendingOrderToWallet,None:e.settingUpTx,Mining:e.miningTx}),[e]),w=()=>{r({isOpen:!1}),l()};return{title:y[n]??n,isSuccessTx:i,link:a,onClose:w,showNextStepTip:c,displaySuccessDepositOverlay:d,displayLimitOrderTransactionOverlay:u,displayWithdrawLimitOrderOverlay:m}},Ep=({sendTokens:t})=>{const e=S(),[n]=t??[];return n?s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-gap-1 dtw-flex-wrap dtw-overflow-hidden",children:[s.jsx("span",{children:e.approveSpending}),s.jsx(ze,{size:"sm",symbols:[n.symbol]}),s.jsx("span",{children:n.symbol})]}):null},Cp=({receiveTokens:t})=>{const e=S(),[n]=t??[];return n?s.jsxs("div",{className:"dtw-flex dtw-flex-wrap dtw-items-center dtw-gap-1",children:[e.swapAndClaimTo," ",s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-gap-1",children:[s.jsx(ze,{size:"sm",symbols:[n.symbol]})," ",n.symbol]})]}):null},Dp=({sendTokens:t,receiveTokens:e,action:n})=>{const a=S(),[o]=t??[],[r]=e??[];return o?s.jsxs("div",{className:"dtw-flex dtw-flex-wrap dtw-items-center dtw-gap-x-1",children:[n==="deposit"?a.pay:n==="multi_withdraw"?a.sell:a.unrollAction,s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-gap-1",children:[s.jsx(ze,{size:"sm",symbols:[o.symbol]})," ",o.symbol]})," ","to receive",s.jsx("div",{className:"dtw-flex dtw-items-center dtw-gap-1",children:r?s.jsxs(s.Fragment,{children:[s.jsx(ze,{size:"sm",symbols:[r.symbol]})," ",r.symbol]}):s.jsx(s.Fragment,{children:n==="multi_withdraw"?a.multiAssetFractions:a.swappableAssets})})]}):null},Ip=()=>{const t=S(),[{action:e,receiveTokens:n,sendTokens:a}]=Y();return e==="approve"?s.jsx(Ep,{sendTokens:a}):e==="swap"?s.jsx(Cp,{receiveTokens:n}):e==="claim"?s.jsx(s.Fragment,{children:t.claimLabel}):e==="create_limit_sell_order"?s.jsx(s.Fragment,{children:t.createLimitSellOrder}):e==="delete_limit_order_withdraw"?s.jsx(s.Fragment,{children:t.deleteWithdrawalRequest}):s.jsx(Dp,{action:e,sendTokens:a,receiveTokens:n})},Np=({type:t})=>{const[,e]=Y(),{handleReject:n}=ce({type:t}),[{link:a,status:o}]=Y(),r=o=="Success";return{onClose:p.useCallback(()=>{e({isOpen:!1}),n()},[n,e]),link:a,isSuccessTx:r}},_p=t=>{const e=S(),{ActionButton:n=H}=L(),{onClose:a,link:o,isSuccessTx:r}=Np(t);return r?s.jsxs(V.Overlay,{className:"dtw-justify-between dtw-gap-y-4",onClose:a,noPadding:!0,children:[s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-items-center dtw-justify-center dtw-gap-3 dtw-pt-1 dtw-px-4 dtw-w-full dtw-h-full",children:[s.jsx(Ie.CheckIcon,{className:"dtw-h-16 dtw-w-16 lg:dtw-h-24 lg:dtw-w-24 dtw-shrink-0 dtw-text-[color:var(--panel-success-content-color)]"}),s.jsx("div",{className:"dtw-text-center dtw-text-2xl dtw-font-semibold",children:e.withdrawalRequest}),s.jsx("div",{className:"dtw-text-center dtw-text-[color:var(--panel-secondary-content-color)]",children:e.expectToReceiveUsdcSoon}),o&&s.jsx(Qe,{link:o,className:"dtw-text-sm",iconClassName:"dtw-w-4 dtw-h-4",children:e.explorer})]}),s.jsx("div",{className:"dtw-flex dtw-flex-col dtw-gap-2 dtw-w-full",children:s.jsx(n,{highlighted:!1,onClick:a,children:e.done})})]}):null},kp=({type:t})=>{const{link:e,title:n,onClose:a,isSuccessTx:o,showNextStepTip:r,displaySuccessDepositOverlay:i,displayLimitOrderTransactionOverlay:l,displayWithdrawLimitOrderOverlay:c}=Sp({type:t}),{LogoSpinner:d=Ae}=L(),u=S();return l?s.jsx(Ap,{type:t}):i?s.jsx(bp,{type:t}):c?s.jsx(_p,{type:t}):s.jsxs(V.Notification,{onClose:a,children:[s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-gap-1.5",children:[s.jsx("span",{className:"dtw-font-semibold dtw-drop-shadow-md",children:n}),o?s.jsx(ee.CheckCircleIcon,{className:"dtw-h-6 dtw-w-6 dtw-text-[color:var(--panel-success-content-color)]"}):s.jsx(d,{className:"dtw-h-5 dtw-w-5 "})]}),s.jsx("div",{className:"dtw-font-light dtw-text-sm dtw-max-h-16 dtw-overflow-y-auto theme-scrollbar dtw-break-all",children:s.jsx(Ip,{})}),e&&s.jsx(Qe,{link:e,className:"dtw-text-sm",iconClassName:"dtw-w-4 dtw-h-4",children:u.explorer}),r&&s.jsx("p",{className:"dtw-text-xs",children:u.proceedWithNextStep})]})},Pp=de.filter(({type:t})=>t==="error").map(({name:t})=>t),Op=({type:t})=>{const{handleReject:e,meta:n}=ce({type:t});return{handleReject:e,error:Cs({errorMessage:n?.error,abiErrors:Pp})}},Lp=t=>{const{handleReject:e,error:n}=Op(t);return n?s.jsxs(V.Notification,{onClose:e,children:[s.jsx("p",{className:"dtw-text-sm",children:n.title}),n.hint&&s.jsx("p",{className:"dtw-text-xs",children:n.hint})]}):null},Rp=["dtw-bg-transparent","dtw-border-[var(--limit-order-action-outline-button-border-color,var(--limit-order-border-color))]","!dtw-text-[color:var(--limit-order-action-outline-button-color,var(--limit-order-content-color))]","active:dtw-border-opacity-100","hover:enabled:dtw-border-[var(--limit-order-action-outline-button-border-hover-color)]"],jp=["!dtw-text-[color:var(--limit-order-action-accent-button-color,var(--limit-order-accent-content-color))]","dtw-bg-gradient-to-r","dtw-from-[var(--limit-order-action-accent-button-bg-from,var(--limit-order-accent-from-color))]","dtw-to-[var(--limit-order-action-accent-button-bg-to,var(--limit-order-accent-to-color))]","dtw-border-[color:var(--limit-order-action-accent-button-border-color)]","dtw-border-[length:var(--limit-order-action-accent-button-border-width)]","hover:enabled:dtw-from-[var(--limit-order-action-accent-button-hover-bg-from,var(--limit-order-accent-hover-from-color))]","hover:enabled:dtw-to-[var(--limit-order-action-accent-button-hover-bg-to,var(--limit-order-accent-hover-to-color))]"],At=({children:t,onClick:e,highlighted:n=!0,disabled:a=!1,className:o,type:r,loading:i=!1})=>s.jsxs("button",{className:A("dtw-rounded-[var(--limit-order-input-button-radius,var(--limit-order-radius))]","dtw-font-medium","dtw-border","dtw-transition-border","dtw-duration-500","dtw-ease-in-out","disabled:dtw-opacity-50","dtw-py-2","dtw-px-5","dtw-w-full",{[jp.join(" ")]:n,[Rp.join(" ")]:!n,"dtw-flex dtw-items-center dtw-justify-center dtw-gap-1":i},o),onClick:e,disabled:a||i,type:r,children:[i&&s.jsx(Ae,{className:"dtw-h-4 dtw-w-4 dtw-stroke-[var(--limit-order-accent-content-color)]"}),t]}),lr={switchNetwork:"Switch Network",approve:"Approve",lowerLimitLabel:"Lower limit",lowerLimitSubtitle:"Sells when price drops",upperLimitLabel:"Upper limit",upperLimitSubtitle:"Sells when price rises",partialSellLabel:"Partial sell",partialSellSubtitle:"Sells a portion when price hits limits",price:"price",currentPrice:"Current {symbol} price",limitOrderTerms:"I understand and accept limit orders are not guaranteed",create:"Create",modify:"Modify",delete:"Delete",cancel:"Cancel",invalidLimitOrderPriceError:"The upper limit price must be higher than the current price, and the lower limit price must be lower than the current price.",minimumVaultBalanceRequired:"Minimum vault balance required: {amount}",limitOrdersTitle:"Set limit orders",termsPoint1:"A limit order requires an unchanged vault token balance — any transfers or withdrawals may block execution.",termsPoint2:"Revoking token approval after placing an order will prevent the order from being executed.",termsPoint3:"If the vault tokens are still subject to a lock-up period, the order cannot be executed.",termsPoint4:"Limit sells are intended to settle in USDC. In rare cases where market conditions or high slippage prevent a USDC swap, the order may be settled in the underlying tokens of the respective vault.",termsPoint5:"While limit sells are generally expected to execute, they are currently in beta and execution is not guaranteed."},cr=p.createContext(lr),dr=({children:t,config:e})=>{const n=p.useMemo(()=>({...lr,...e}),[e]);return s.jsx(cr.Provider,{value:n,children:t})},ye=()=>{const t=p.useContext(cr);if(!t)throw new Error("TranslationContext is used out of Provider");return t},Mp=({symbol:t,price:e})=>{const n=ye();return s.jsxs("div",{className:"dtw-px-3 dtw-py-2.5 dtw-flex dtw-justify-between dtw-bg-[color:var(--limit-order-secondary-color)] dtw-text-[length:var(--limit-order-font-size-xs)] dtw-rounded-[var(--limit-order-radius)]",children:[s.jsx("span",{className:"dtw-text-xs",children:n.currentPrice.replace("{symbol}",t)}),s.jsx("span",{className:"dtw-font-[var(--limit-order-font-weight-bold)]",children:e})]})},Bp=100,Fp=3,Wp=({inputValue:t="",onInputChange:e,autoFocus:n=!1})=>{const[a,o]=p.useState(t),r=p.useRef(null);return{inputRef:r,value:a,autoFocus:n,onContainerClick:()=>{r.current?.focus()},onInputChange:c=>{const d=c.target.value.replace(/[^0-9]/g,"");if(d.length>Fp)return;const u=Number(d);!isNaN(u)&&u<=Bp&&(o(d),e?.(d))}}},Up=t=>{const{disabled:e,placeholder:n,suffix:a="%",postfix:o}=t,{inputRef:r,autoFocus:i,value:l,onContainerClick:c,onInputChange:d}=Wp(t);return s.jsx("div",{className:"dtw-flex dtw-flex-col dtw-gap-[var(--limit-order-input-group-gap,var(--limit-order-gap))] dtw-border-[var(--limit-order-input-border-color)] dtw-rounded-[var(--limit-order-input-radius,var(--limit-order-radius))] dtw-border dtw-bg-[var(--limit-order-input-bg,var(--limit-order-neutral-color))] dtw-py-[var(--limit-order-input-py)] dtw-px-[var(--limit-order-input-px)] focus-within:dtw-border-[var(--limit-order-input-focus-border-color)] focus-within:dtw-bg-[var(--limit-order-input-focus-bg)] dtw-shadow-md",onClick:c,children:s.jsxs("div",{className:"transparent-scrollbar dtw-flex dtw-items-center dtw-gap-1 dtw-text-[color:var(--limit-order-input-content-color,var(--limit-order-secondary-content-color))]",children:[a?s.jsx("span",{className:"dtw-font-light dtw-whitespace-nowrap dtw-text-[color:var(--limit-order-secondary-content-color)]",children:a}):null,s.jsx("input",{className:"dtw-w-full dtw-appearance-none dtw-bg-transparent placeholder:dtw-text-[color:var(--limit-order-input-placeholder-color,var(--limit-order-secondary-content-color))] dtw-text-[length:var(--limit-order-input-font-size,var(--limit-order-font-size-sm))] dtw-leading-[var(--limit-order-input-line-height,var(--limit-order-line-height-sm))] dtw-font-[var(--limit-order-input-font-weight,var(--limit-order-font-weight-light))] dtw-outline-none focus:dtw-outline-none lg:dtw-text-[length:var(--limit-order-input-font-size-lg,var(--limit-order-font-size-lg))] lg:dtw-leading-[var(--limit-order-input-line-height-lg,var(--limit-order-line-height-lg))]",ref:r,autoFocus:i,type:"text",min:0,value:l,onChange:d,disabled:e,placeholder:n}),s.jsx("div",{className:"dtw-font-light dtw-text-[length:var(--limit-order-input-suffix-font-size,var(--limit-order-font-size-sm))] dtw-text-[color:var(--limit-order-secondary-content-color)]",children:o})]})})},$p=7,Dn=4,ha=t=>{if(!t)return"";const[e="",n]=t.replace(/,/g,"").split("."),a=n&&n.length>Dn?n.slice(0,Dn):n,o=e.replace(/\B(?=(\d{3})+(?!\d))/g,",");return a!==void 0?`${o}.${a}`:o},zp=({inputValue:t="",onInputChange:e,autoFocus:n=!1})=>{const[a,o]=p.useState(ha(t)),r=p.useRef(null);return{inputRef:r,value:a,autoFocus:n,onContainerClick:()=>{r.current?.focus()},onInputChange:c=>{const d=c.target.value.replace(/[^\d.]/g,"").replace(/(\..*)\./g,"$1"),[u="",m=""]=d.split(".");e&&u.length<=$p&&m.length<=Dn&&/^\d*(\.\d*)?$/.test(d)&&(o(ha(d)),e(d))}}},ga=t=>{const{disabled:e,placeholder:n,percentage:a,suffix:o}=t,{inputRef:r,autoFocus:i,value:l,onContainerClick:c,onInputChange:d}=zp(t);return s.jsx("div",{className:"dtw-flex dtw-flex-col dtw-gap-[var(--limit-order-input-group-gap,var(--limit-order-gap))] dtw-border-[var(--limit-order-input-border-color)] dtw-rounded-[var(--limit-order-input-radius,var(--limit-order-radius))] dtw-border dtw-bg-[var(--limit-order-input-bg,var(--limit-order-neutral-color))] dtw-py-[var(--limit-order-input-py)] dtw-px-[var(--limit-order-input-px)] focus-within:dtw-border-[var(--limit-order-input-focus-border-color)] focus-within:dtw-bg-[var(--limit-order-input-focus-bg)] dtw-shadow-md",onClick:c,children:s.jsxs("div",{className:"transparent-scrollbar dtw-flex dtw-items-center dtw-gap-1 dtw-text-[color:var(--limit-order-input-content-color,var(--limit-order-secondary-content-color))]",children:[s.jsx("span",{className:"dtw-text-[length:var(--limit-order-input-font-size,var(--limit-order-font-size-sm))] dtw-leading-[var(--limit-order-input-line-height,var(--limit-order-line-height-sm))] dtw-font-[var(--limit-order-input-font-weight,var(--limit-order-font-weight-light))] dtw-outline-none focus:dtw-outline-none lg:dtw-text-[length:var(--limit-order-input-font-size-lg,var(--limit-order-font-size-lg))] lg:dtw-leading-[var(--limit-order-input-line-height-lg,var(--limit-order-line-height-lg))]",children:"$"}),s.jsx("input",{className:"dtw-w-full dtw-appearance-none dtw-bg-transparent placeholder:dtw-text-[color:var(--limit-order-input-placeholder-color,var(--limit-order-secondary-content-color))] dtw-text-[length:var(--limit-order-input-font-size,var(--limit-order-font-size-sm))] dtw-leading-[var(--limit-order-input-line-height,var(--limit-order-line-height-sm))] dtw-font-[var(--limit-order-input-font-weight,var(--limit-order-font-weight-light))] dtw-outline-none focus:dtw-outline-none lg:dtw-text-[length:var(--limit-order-input-font-size-lg,var(--limit-order-font-size-lg))] lg:dtw-leading-[var(--limit-order-input-line-height-lg,var(--limit-order-line-height-lg))]",ref:r,autoFocus:i,type:"text",min:0,value:l,onChange:d,disabled:e,placeholder:n}),o?s.jsx("span",{className:"dtw-font-light dtw-whitespace-nowrap dtw-text-[length:var(--limit-order-input-suffix-font-size,var(--limit-order-font-size-sm))] dtw-text-[color:var(--limit-order-secondary-content-color)]",children:o}):null,a?s.jsx("span",{className:"dtw-font-light dtw-text-[length:var(--limit-order-input-suffix-font-size,var(--limit-order-font-size-sm))] dtw-text-[color:var(--limit-order-secondary-content-color)]",children:a}):null]})})},mn=({title:t,subtitle:e,defaultEnabled:n,onDisable:a,children:o})=>{const[r,i]=p.useState(n),l=c=>{i(c),c||a()};return s.jsxs("div",{className:"dtw-px-3 dtw-py-2 dtw-flex dtw-flex-col dtw-gap-2 dtw-border dtw-border-[var(--limit-order-switch-panel-border-color)] dtw-rounded-[var(--limit-order-switch-panel-radius,var(--limit-order-radius))]",children:[s.jsxs("div",{className:"dtw-flex dtw-justify-between dtw-text-[length:var(--limit-order-input-label-font-size,var(--limit-order-font-size))] dtw-leading-[var(--limit-order-input-label-line-height,var(--limit-order-line-height))] dtw-font-[var(--limit-order-input-label-font-weight,var(--limit-order-font-weight-light))] dtw-gap-x-2",children:[s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-0.5 dtw-text-[color:var(--limit-order-secondary-content-color)]",children:[s.jsx("span",{children:t}),s.jsx("span",{className:"dtw-text-[length:var(--limit-order-font-size-xs)]",children:e})]}),s.jsx(en,{onChange:l,defaultEnabled:r})]}),r&&o]})},pr={upperLimitPrice:"",lowerLimitPrice:"",sellPercentage:"",termsAccepted:!1},Vp=(t,e)=>{switch(e.type){case"SET_UPPER_LIMIT_PRICE":return{...t,form:{...t.form,upperLimitPrice:e.payload}};case"SET_LOWER_LIMIT_PRICE":return{...t,form:{...t.form,lowerLimitPrice:e.payload}};case"SET_SELL_PERCENTAGE":return{...t,form:{...t.form,sellPercentage:e.payload}};case"SET_IS_MODAL_OPEN":return{...t,isModalOpen:e.payload};case"SET_TERMS_ACCEPTED":return{...t,form:{...t.form,termsAccepted:e.payload}};case"RESET":return{...t,form:pr};case"SET_PENDING_TRANSACTION":return{...t,pendingTransaction:e.payload};default:return t}};function Ee(){}const ur=t=>({vaultAddress:t.vaultAddress,vaultChainId:t.vaultChainId,isModalOpen:t.isModalOpen??!1,form:{...pr,...t.form},pendingTransaction:null,pricingAsset:t.pricingAsset,minAmountInUsd:t.minAmountInUsd}),mr=p.createContext(ur({vaultAddress:C,vaultChainId:0,pricingAsset:{address:C,symbol:""},minAmountInUsd:Bn,form:{lowerLimitPrice:"",upperLimitPrice:""}})),yr=p.createContext({setIsModalOpen:Ee,setUpperLimitPrice:Ee,setLowerLimitPrice:Ee,setTermsAccepted:Ee,setSellPercentage:Ee,reset:Ee,setPendingTransaction:Ee,onLog:Ee}),wr=({children:t,initialState:e,actions:n})=>{const[a,o]=p.useReducer(Vp,ur(e)),r=p.useCallback(w=>{o({type:"SET_UPPER_LIMIT_PRICE",payload:w})},[]),i=p.useCallback(w=>{o({type:"SET_LOWER_LIMIT_PRICE",payload:w})},[]),l=p.useCallback(w=>{o({type:"SET_IS_MODAL_OPEN",payload:w})},[]),c=p.useCallback(w=>{o({type:"SET_TERMS_ACCEPTED",payload:w})},[]),d=p.useCallback(w=>{o({type:"SET_SELL_PERCENTAGE",payload:w})},[]),u=p.useCallback(()=>{o({type:"RESET"})},[]),m=p.useCallback(w=>{o({type:"SET_PENDING_TRANSACTION",payload:w})},[]),y=p.useMemo(()=>({setUpperLimitPrice:r,setIsModalOpen:l,setLowerLimitPrice:i,setTermsAccepted:c,setSellPercentage:d,reset:u,setPendingTransaction:m,onTransactionSuccess:n?.onTransactionSuccess,onTransactionError:n?.onTransactionError,onTransactionSettled:n?.onTransactionSettled,onLog:n?.onLog}),[r,l,i,c,d,u,m,n?.onTransactionSuccess,n?.onTransactionError,n?.onTransactionSettled,n?.onLog]);return s.jsx(yr.Provider,{value:y,children:s.jsx(mr.Provider,{value:a,children:t})})},we=()=>p.useContext(mr),St=()=>p.useContext(yr),aa=()=>{const{account:t}=R(),{vaultAddress:e,vaultChainId:n,form:{sellPercentage:a}}=we(),{data:o}=Rn({address:t,token:e,chainId:n});return p.useMemo(()=>{const r=a||Qs;if(!o)return{raw:"0",formatted:"0",symbol:""};const i=new b(o.value).times(r).dividedBy(100).toFixed(0,b.ROUND_DOWN),l=ve({value:new b(i).shiftedBy(-18).toFixed(),decimals:2});return{raw:i,formatted:l,symbol:o.symbol}},[o,a])},hr=({userAddress:t,vaultAddress:e})=>{const n=I.encodePacked(["address","address"],[t,e]);return I.keccak256(n)},Hp=({price:t,markPrice:e})=>new b(t).gt(e)?`+${mt((+t/+e-1)*100,2)}`:"",Gp=({price:t,markPrice:e})=>new b(t).lt(e)?`-${mt((1-+t/+e)*100,2)}`:"",qp=({error:t,translationMap:e})=>t?t.title===ss?{...t,hint:e.invalidLimitOrderPriceError}:t:null,Yp=()=>{const t=ye(),{form:{upperLimitPrice:e,lowerLimitPrice:n,sellPercentage:a,termsAccepted:o},pricingAsset:r,vaultChainId:i}=we(),{setUpperLimitPrice:l,setLowerLimitPrice:c,setSellPercentage:d,setTermsAccepted:u}=St(),m=le({address:r.address,chainId:i,refetchInterval:Re}),y=Number(m)<wl?hl:gl,{formatted:w,symbol:g}=aa(),T=Hp({price:e,markPrice:m}),x=Gp({price:n,markPrice:m}),D=p.useCallback(()=>{l("")},[l]),$=p.useCallback(()=>{c("")},[c]),N=p.useCallback(()=>{d("")},[d]),Q=`${r.symbol} ${t.price}`;return{upperLimitPrice:e,lowerLimitPrice:n,sellPercentage:a,setUpperLimitPrice:l,setLowerLimitPrice:c,setSellPercentage:d,onDisableUpperLimitPrice:D,onDisableLowerLimitPrice:$,onDisableSellPercentage:N,termsAccepted:o,setTermsAccepted:u,pricingAssetPrice:m==="0"?null:J({value:m,maximumFractionDigits:y}),upperLimitPriceDifference:T,lowerLimitPriceDifference:x,pricingAssetSymbol:r.symbol,inputSuffix:Q,coveredVaultAmount:w,vaultSymbol:g}},Kp=["termsPoint1","termsPoint2","termsPoint3","termsPoint4","termsPoint5"],Qp=({className:t})=>{const e=ye();return s.jsx("div",{className:A("dtw-w-full dtw-text-[length:var(--limit-order-font-size-xs)] dtw-max-h-[120px] dtw-overflow-y-auto theme-scrollbar dtw-text-[color:var(--limit-order-secondary-content-color)]",t),children:s.jsx("ol",{className:"dtw-list-decimal dtw-list-inside dtw-space-y-2",children:Kp.map((n,a)=>s.jsxs("li",{className:"dtw-text-pretty",children:[a+1,". ",e[n]]},n))})})},gr=({className:t,checked:e,label:n,labelClassName:a,...o})=>s.jsxs(P.Field,{className:"dtw-flex dtw-items-center dtw-gap-2",children:[s.jsx(P.Checkbox,{...o,checked:e,className:A("dtw-group dtw-flex dtw-items-center dtw-justify-center dtw-shrink-0 dtw-size-[var(--panel-checkbox-size)] dtw-rounded-[var(--panel-checkbox-radius)] dtw-p-0.5 dtw-right-0 dtw-outline-0 dtw-cursor-pointer dtw-border",{"dtw-bg-[color:var(--panel-checkbox-bg-checked)] dtw-border-[color:var(--panel-checkbox-border-color-checked)]":e,"dtw-bg-[color:var(--panel-checkbox-bg)] dtw-border-[color:var(--panel-checkbox-border-color)]":!e},t),children:s.jsx(Ie.CheckIcon,{className:"dtw-opacity-0 dtw-size-[var(--panel-checkbox-icon-size)] dtw-fill-[color:var(--panel-checkbox-color)] group-data-[checked]:dtw-opacity-100 dtw-shrink-0"})}),n&&s.jsx(P.Label,{className:A("dtw-select-none",a),children:n})]}),Xp=()=>{const t=ye(),{upperLimitPrice:e,lowerLimitPrice:n,setUpperLimitPrice:a,setLowerLimitPrice:o,onDisableUpperLimitPrice:r,onDisableLowerLimitPrice:i,setTermsAccepted:l,termsAccepted:c,pricingAssetPrice:d,upperLimitPriceDifference:u,lowerLimitPriceDifference:m,pricingAssetSymbol:y,inputSuffix:w,sellPercentage:g,setSellPercentage:T,onDisableSellPercentage:x,coveredVaultAmount:D,vaultSymbol:$}=Yp();return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-[var(--limit-order-input-group-gap,var(--limit-order-gap))] dtw-px-[var(--limit-order-group-px)]",children:[s.jsx(Mp,{symbol:y,price:d}),s.jsx(mn,{title:t.upperLimitLabel,subtitle:t.upperLimitSubtitle,defaultEnabled:!0,onDisable:r,children:s.jsx(ga,{inputValue:e,onInputChange:a,percentage:u,symbol:y,suffix:w})}),s.jsx(mn,{title:t.lowerLimitLabel,subtitle:t.lowerLimitSubtitle,defaultEnabled:!!n,onDisable:i,children:s.jsx(ga,{inputValue:n,onInputChange:o,percentage:m,symbol:y,suffix:w})}),s.jsx(mn,{title:t.partialSellLabel,subtitle:t.partialSellSubtitle,defaultEnabled:!!g,onDisable:x,children:s.jsx(Up,{inputValue:g,onInputChange:T,suffix:"%",placeholder:Qs,postfix:s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-items-end dtw-justify-center",children:[s.jsx("span",{className:"dtw-text-[color:var(--limit-order-primary-content-color)]",children:D}),s.jsx("span",{className:"dtw-text-[color:var(--limit-order-secondary-content-color)]",children:$})]})})})]}),s.jsx("div",{className:"dtw-mt-3 dtw-px-2 dtw-flex dtw-items-center dtw-gap-1.5",children:s.jsx(gr,{checked:c,onChange:N=>l(N),label:t.limitOrderTerms,labelClassName:"dtw-text-[length:var(--limit-order-font-size-xs)] dtw-cursor-pointer"})}),s.jsx(Qp,{className:"dtw-px-2"})]})},Zp=()=>{const{account:t=C}=R(),{vaultAddress:e,vaultChainId:n}=we(),a=W("limitOrder",n),o=aa(),{data:r}=Yt({tokenAddress:e,ownerAddress:t,spenderAddress:a,chainId:n});return r?new b(o.raw).lte(r.toString()):!1},Jp=()=>{const{vaultAddress:t,vaultChainId:e,pendingTransaction:n}=we(),{setPendingTransaction:a}=St(),[o,r]=p.useState(!1),i=W("limitOrder",e),{send:l}=be({contractId:"erc20",dynamicContractAddress:t,functionName:"approve",onSettled(d){a(d?{hash:d,action:"approve"}:null),r(!1)}});return{approveLimitOrder:async()=>{r(!0),l(i,Le)},isApprovePending:o||!!n}},eu=()=>{const t=Zp(),{approveLimitOrder:e,isApprovePending:n}=Jp(),{form:{termsAccepted:a}}=we();return{isApproved:t,approveLimitOrder:e,isApprovePending:n,disabled:!a}},tu=({children:t})=>{const e=ye(),{isApproved:n,approveLimitOrder:a,isApprovePending:o,disabled:r}=eu();return n?t:s.jsx(At,{onClick:a,loading:o,disabled:r,children:e.approve})},Tr=t=>{const{setIsModalOpen:e,reset:n,setPendingTransaction:a,onTransactionSettled:o}=St();return p.useCallback((...r)=>{const[i]=r;if(o?.(...r),!i)return a(null);a({hash:i,action:t}),e(!1),n()},[o,a,t,e,n])},nu=([t,e,n,a,o,r])=>Z(o)?null:{takeProfitPrice:I.formatUnits(n,k),stopLossPrice:I.formatUnits(e,k),takeProfitPriceD18:n,stopLossPriceD18:e,amountD18:t,user:a,vault:o,pricingAsset:r},Et=({chainId:t,userAddress:e,vaultAddress:n})=>E.useReadContract({address:W("limitOrder",t),abi:Vt,chainId:t,functionName:Qt,args:[hr({userAddress:e,vaultAddress:n})],query:{enabled:!Z(e)&&!Z(n),select:nu}}),au=Vt.filter(({type:t})=>t==="error").map(({name:t})=>t),su="create",ou=()=>{const t=ye(),{account:e=C}=R(),{vaultAddress:n,vaultChainId:a,form:{lowerLimitPrice:o,upperLimitPrice:r,termsAccepted:i},pricingAsset:l,pendingTransaction:c,minAmountInUsd:d}=we(),u=aa(),{data:m}=Et({userAddress:e,vaultAddress:n,chainId:a}),y=re({address:n,chainId:a}),[w,g]=p.useState(null),T=Tr(su),x=!!m,{send:D}=be({onSettled:T,contractId:"limitOrder",functionName:x?"modifyLimitOrder":"createLimitOrder"}),N=new b.BigNumber(u.formatted).multipliedBy(y??"0").gte(d),Q=!i||!N,he=!!c;return{modifyLimitOrder:async()=>{const Ct=BigInt(o?Bt(o,k):0),Dt=r?BigInt(Bt(r,k)):Le,It=[u.raw,Ct,Dt,e,n,l.address];try{await D(It),g(null)}catch(tt){tt instanceof Ye&&g(tt.message)}},disabled:Q,error:qp({error:Cs({errorMessage:w,abiErrors:au})??null,translationMap:t}),isPending:he,isAmountSufficient:N,minAmount:J({value:d.toString(),maximumFractionDigits:0,minimumFractionDigits:0}),isModifyTransaction:x}},ru=({disabled:t})=>{const e=ye(),{modifyLimitOrder:n,disabled:a,error:o,isPending:r,minAmount:i,isAmountSufficient:l,isModifyTransaction:c}=ou();return s.jsxs("div",{children:[o&&s.jsxs("div",{className:"dtw-mb-2 dtw-flex dtw-flex-col dtw-gap-1 dtw-text-error",children:[s.jsx("span",{className:"dtw-text-sm",children:o.title}),o.hint&&s.jsx("span",{className:"dtw-text-xs",children:o.hint})]}),!l&&s.jsx("div",{className:"dtw-mb-1 dtw-text-warning dtw-text-sm",children:e.minimumVaultBalanceRequired.replace("{amount}",i)}),s.jsx(At,{onClick:n,disabled:t||a,loading:r,children:c?e.modify:e.create})]})},iu="remove",lu=()=>{const{account:t=C}=R(),{vaultAddress:e,vaultChainId:n,pendingTransaction:a}=we(),{data:o}=Et({userAddress:t,vaultAddress:e,chainId:n}),r=Tr(iu),{send:i}=be({onSettled:r,contractId:"limitOrder",functionName:"deleteLimitOrder"}),l=async()=>i(e),c=!!a,d=!!o?.amountD18&&!new b(o.amountD18.toString()).isZero();return{deleteLimitOrder:l,isPending:c,displayButton:d}},cu=()=>{const t=ye(),{deleteLimitOrder:e,isPending:n,displayButton:a}=lu();return a?s.jsx(At,{highlighted:!1,className:"!dtw-py-1",onClick:e,loading:n,children:t.delete}):null},du=()=>{const{chainId:t,switchNetwork:e}=xe(),{vaultChainId:n}=we();return{isWrongNetwork:t!==n,handleNetworkSwitch:()=>{e?.({chainId:n})}}},pu=({children:t})=>{const e=ye(),{isWrongNetwork:n,handleNetworkSwitch:a}=du();return n?s.jsx(At,{onClick:a,children:e.switchNetwork}):t},Ta=t=>{const e=t?.trim();return e?!isNaN(Number(e)):!1},uu=()=>{const{form:{lowerLimitPrice:t,upperLimitPrice:e}}=we(),n=Ta(t)&&Number(t)!==0,a=Ta(e);return{limitOrderButtonDisabled:!n&&!a}},br=({onClose:t,hideDeleteButton:e})=>{const n=ye(),{limitOrderButtonDisabled:a}=uu();return s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-2",children:[s.jsx(Xp,{}),s.jsxs(pu,{children:[s.jsx(tu,{children:s.jsx(ru,{disabled:a})}),!e&&s.jsx(cu,{})]}),!!t&&s.jsx(At,{highlighted:!1,onClick:t,children:n.cancel})]})},fr=({vaultAddress:t,vaultChainId:e})=>{const{account:n=C}=R(),{isFetched:a,data:o}=Et({vaultAddress:t,chainId:e,userAddress:n}),r=o&&o.takeProfitPriceD18!==Le?o.takeProfitPrice:"",i=o&&o.stopLossPriceD18!==BigInt(0)?o.stopLossPrice:"";return{isFetched:a,upperLimitPrice:r,lowerLimitPrice:i}},mu=[Qt,Mn,"allowance"],vr=()=>{const t=He.useQueryClient();return p.useCallback(()=>{t.invalidateQueries({predicate:({queryKey:e})=>{const n=e[1]?.functionName;return e[0]==="readContract"&&mu.some(a=>a===n)}})},[t])},xr=()=>{const{pendingTransaction:t,vaultChainId:e,vaultAddress:n}=we(),{setPendingTransaction:a,onTransactionSuccess:o,onTransactionError:r,onLog:i}=St(),l=vr(),{data:c,error:d}=E.useWaitForTransactionReceipt({hash:t?.hash??void 0,chainId:e,pollingInterval:Re});p.useEffect(()=>{c&&(t?.action==="create"&&i?.(q.CREATE_LIMIT_SELL_ORDER,{[ge.ADDRESS.NAME]:n,[ge.CHAIN_ID.NAME]:e}),l(),a(null),o?.(c.transactionHash))},[c,l,o,i,e,a,t?.action,n]),p.useEffect(()=>{d&&t&&(r?.(t.hash),a(null))},[d,r,t,a])},f={ERROR:"#dd376a",WARNING:"#fbbf24",INFO:"#504c56",WHITE:{DEFAULT:"#ffffff"},DARK:{DEFAULT:"#181C25",400:"#2A3648",700:"#12171F",800:"#1B2432"},RED:{500:"#EF4444"},GRAY:{DEFAULT:"#B1B6C1",300:"#EBEBF0",600:"#9DA2AD",700:"#4C505B",800:"#2B313E"},GREEN:{DEFAULT:"#73D393",700:"#34855E"},BLUE:{DEFAULT:"#152E4D",dark:"#162435"},AMBER:{400:"#AFA58D"}},Ar=({children:t,config:e})=>s.jsx("div",{style:{"--limit-order-radius":`${e?.global?.style?.radiusPrimary??"1rem"}`,"--limit-order-radius-secondary":`${e?.global?.style?.radiusSecondary??"1rem"}`,"--limit-order-background-color":`${e?.global?.color?.colorBgPrimary??f.DARK[800]}`,"--limit-order-gap":`${e?.global?.size?.gap??"0.25rem"}`,"--limit-order-spacer":`${e?.global?.size?.spacer??"4px"}`,"--limit-order-content-color":`${e?.global?.color?.colorTextPrimary??f.WHITE.DEFAULT}`,"--limit-order-content-hover-color":`${e?.global?.color?.colorTextPrimaryHover??`${f.WHITE.DEFAULT}CC`}`,"--limit-order-secondary-color":`${e?.global?.color?.colorBgSecondary??f.GRAY[800]}`,"--limit-order-secondary-content-color":`${e?.global?.color?.colorTextSecondary??f.GRAY[600]}`,"--limit-order-accent-from-color":`${e?.global?.color?.colorBgAccentFrom??f.GREEN.DEFAULT}`,"--limit-order-accent-to-color":`${e?.global?.color?.colorBgAccentTo??f.GREEN[700]}`,"--limit-order-accent-hover-from-color":`${e?.global?.color?.colorBgAccentFromHover??`${f.GREEN.DEFAULT}CC`}`,"--limit-order-accent-hover-to-color":`${e?.global?.color?.colorBgAccentToHover??f.BLUE.dark}`,"--limit-order-accent-content-color":`${e?.global?.color?.colorTextAccent??f.WHITE.DEFAULT}`,"--limit-order-accent-content-hover-color":`${e?.global?.color?.colorTextAccentHover??`${f.WHITE.DEFAULT}CC`}`,"--limit-order-neutral-color":`${e?.global?.color?.colorBgNeutral??`${f.GRAY[600]}33`}`,"--limit-order-neutral-content-color":`${e?.global?.color?.colorTextNeutral??`${f.GRAY[600]}80`}`,"--limit-order-loading-content-color":`${e?.global?.color?.colorTextLoading??`${f.WHITE.DEFAULT}99`}`,"--limit-order-error-content-color":`${e?.global?.color?.colorTextError??f.RED[500]}`,"--limit-order-warning-content-color":`${e?.global?.color?.colorTextWarning??f.AMBER[400]}`,"--limit-order-border-color":`${e?.global?.color?.colorBorderPrimary??"var(--limit-order-content-color)"}`,"--limit-order-scrollbar-color":`${e?.global?.color?.colorScrollbar??`${f.GREEN.DEFAULT}80`}`,"--limit-order-font-size":`${e?.global?.size?.fontSizeBase??"16px"}`,"--limit-order-line-height":`${e?.global?.size?.lineHeightBase??"24px"}`,"--limit-order-font-size-lg":`${e?.global?.size?.fontSizeLg??"18px"}`,"--limit-order-line-height-lg":`${e?.global?.size?.lineHeightLg??"28px"}`,"--limit-order-font-size-sm":`${e?.global?.size?.fontSizeSm??"14px"}`,"--limit-order-line-height-sm":`${e?.global?.size?.lineHeightSm??"20px"}`,"--limit-order-font-size-xs":`${e?.global?.size?.fontSizeXs??"12px"}`,"--limit-order-line-height-xs":`${e?.global?.size?.lineHeightXs??"16px"}`,"--limit-order-font-weight-light":`${e?.global?.style?.fontWeightLight??300}`,"--limit-order-font-weight-medium":`${e?.global?.style?.fontWeightMedium??500}`,"--limit-order-font-weight-bold":`${e?.global?.style?.fontWeightBold??700}`,"--limit-order-action-opacity":`${e?.global?.style?.actionOpacity??1}`,"--limit-order-action-hover-opacity":`${e?.global?.style?.actionOpacityHover??.8}`,"--limit-order-label-font-size":`${e?.global?.size?.labelFontSize??"var(--limit-order-font-size-xs)"}`,"--limit-order-label-line-height":`${e?.global?.size?.labelLineHeight??"var(--limit-order-line-height-xs)"}`,"--limit-order-action-accent-button-border-width":`${e?.component?.actionButton?.size?.borderWidth??"1px"}`,"--limit-order-action-accent-button-bg-from":`${e?.component?.actionButton?.color?.colorBgFrom??"var(--limit-order-accent-from-color)"}`,"--limit-order-action-accent-button-bg-to":`${e?.component?.actionButton?.color?.colorBgTo??"var(--limit-order-accent-to-color)"}`,"--limit-order-action-accent-button-hover-bg-from":`${e?.component?.actionButton?.color?.colorBgFromHover??"var(--limit-order-accent-hover-from-color)"}`,"--limit-order-action-accent-button-hover-bg-to":`${e?.component?.actionButton?.color?.colorBgToHover??"var(--limit-order-accent-hover-to-color)"}`,"--limit-order-action-accent-button-border-color":`${e?.component?.actionButton?.color?.colorBorder??"var(--limit-order-accent-from-color)"}`,"--limit-order-action-accent-button-color":`${e?.component?.actionButton?.color?.colorText??"var(--limit-order-accent-content-color)"}`,"--limit-order-action-outline-button-border-color":`${e?.component?.actionButton?.color?.outlineColorBorder??`${f.WHITE.DEFAULT}33`}`,"--limit-order-action-outline-button-border-hover-color":`${e?.component?.actionButton?.color?.outlineColorBorderHover??`${f.WHITE.DEFAULT}CC`}`,"--limit-order-action-outline-button-color":`${e?.component?.actionButton?.color?.outlineColorText??"var(--limit-order-content-color)"}`,"--limit-order-icon-size":`${e?.global?.size?.iconSize??"20px"}`,"--limit-order-icon-size-sm":`${e?.global?.size?.iconSizeSm??"24px"}`,"--limit-order-icon-secondary-size":`${e?.global?.size?.iconSecondarySize??"16px"}`,"--limit-order-icon-secondary-size-sm":`${e?.global?.size?.iconSecondarySizeSm??"16px"}`,"--limit-order-icon-color":`${e?.global?.color?.colorIcon??"var(--limit-order-content-color)"}`,"--limit-order-inputs-group-gap":`${e?.component?.inputGroup?.size?.gap??"var(--limit-order-gap)"}`,"--limit-order-inputs-group-px":`${e?.component?.inputGroup?.size?.px??"calc(var(--limit-order-spacer) * 3)"}`,"--limit-order-input-radius":`${e?.component?.input?.style?.radius??"var(--limit-order-radius)"}`,"--limit-order-input-group-gap":`${e?.component?.input?.size?.gap??"calc(var(--limit-order-gap) * 2)"}`,"--limit-order-input-px":`${e?.component?.input?.size?.px??"calc(var(--limit-order-spacer) * 3)"}`,"--limit-order-input-py":`${e?.component?.input?.size?.py??"calc(var(--limit-order-spacer) * 2)"}`,"--limit-order-input-price-gap":`${e?.component?.input?.size?.priceGap??"calc(var(--limit-order-gap) * 2)"}`,"--limit-order-input-token-icon-size":`${e?.component?.input?.size?.iconSize??"var(--limit-order-icon-size)"}`,"--limit-order-input-token-icon-size-sm":`${e?.component?.input?.size?.iconSizeSm??"var(--limit-order-icon-size-sm)"}`,"--limit-order-input-content-color":`${e?.component?.input?.color?.textColor??"var(--limit-order-secondary-content-color)"}`,"--limit-order-input-loading-content-color":`${e?.component?.input?.color?.loadingTextColor??"var(--limit-order-loading-content-color)"}`,"--limit-order-input-bg":`${e?.component?.input?.color?.bgColor??"var(--limit-order-neutral-color)"}`,"--limit-order-input-focus-bg":`${e?.component?.input?.color?.bgColorFocus??"transparent"}`,"--limit-order-input-border-color":`${e?.component?.input?.color?.borderColor??f.GRAY[700]}`,"--limit-order-input-focus-border-color":`${e?.component?.input?.color?.borderColorFocus??"var(--limit-order-content-color)"}`,"--limit-order-input-placeholder-color":`${e?.component?.input?.color?.placeholderColor??"var(--limit-order-secondary-content-color)"}`,"--limit-order-input-label-font-size":`${e?.component?.input?.size?.labelFontSize??"var(--limit-order-font-size)"}`,"--limit-order-input-label-line-height":`${e?.component?.input?.size?.labelLineHeight??"var(--limit-order-line-height)"}`,"--limit-order-input-label-font-weight":`${e?.component?.input?.style?.labelFontWeight??"var(--limit-order-font-weight-light)"}`,"--limit-order-input-font-size":`${e?.component?.input?.size?.fontSize??"var(--limit-order-font-size-sm)"}`,"--limit-order-input-line-height":`${e?.component?.input?.size?.lineHeight??"var(--limit-order-line-height-sm)"}`,"--limit-order-input-font-size-lg":`${e?.component?.input?.size?.fontSizeLg??"var(--limit-order-font-size-lg)"}`,"--limit-order-input-line-height-lg":`${e?.component?.input?.size?.lineHeightLg??"var(--limit-order-line-height-lg)"}`,"--limit-order-input-suffix-font-size":`${e?.component?.input?.size?.suffixFontSize??"var(--limit-order-font-size-sm)"}`,"--limit-order-input-font-weight":`${e?.component?.input?.style?.fontWeight??"var(--limit-order-font-weight-light)"}`,"--limit-order-input-token-font-size":`${e?.component?.input?.size?.tokenFontSize??"var(--limit-order-font-size-xs)"}`,"--limit-order-input-token-line-height":`${e?.component?.input?.size?.tokenLineHeight??"var(--limit-order-line-height-xs)"}`,"--limit-order-input-token-font-size-sm":`${e?.component?.input?.size?.tokenFontSizeSm??"var(--limit-order-font-size)"}`,"--limit-order-input-token-line-height-sm":`${e?.component?.input?.size?.tokenLineHeightSm??"var(--limit-order-line-height)"}`,"--limit-order-input-token-font-weight":`${e?.component?.input?.style?.tokenFontWeight??"var(--limit-order-font-weight-medium)"}`,"--limit-order-input-button-radius":`${e?.component?.input?.style?.buttonRadius??"30px"}`,"--limit-order-input-button-px":`${e?.component?.input?.size?.buttonPx??"calc(var(--limit-order-spacer) * 2)"}`,"--limit-order-input-button-py":`${e?.component?.input?.size?.buttonPy??"var(--limit-order-spacer)"}`,"--limit-order-input-button-bg":`${e?.component?.input?.color?.buttonBgColor??"var(--limit-order-secondary-color)"}`,"--limit-order-input-button-border-color":`${e?.component?.input?.color?.buttonBorderColor??"var(--limit-order-accent-to-color)"}`,"--limit-order-input-button-content-color":`${e?.component?.input?.color?.buttonTextColor??"var(--limit-order-content-color)"}`,"--limit-order-input-button-font-size":`${e?.component?.input?.size?.buttonFontSize??"var(--limit-order-font-size-xs)"}`,"--limit-order-input-button-line-height":`${e?.component?.input?.size?.buttonLineHeight??"var(--limit-order-line-height-xs)"}`,"--limit-order-tooltip-bg":`${e?.component?.tooltip?.color?.colorBg??f.DARK[700]}`,"--limit-order-tooltip-color":`${e?.component?.tooltip?.color?.colorText??f.WHITE.DEFAULT}`,"--limit-order-switch-panel-border-color":`${e?.component?.switchPanel?.color?.colorBorder??"var(--limit-order-action-accent-button-border-color)"}`,"--limit-order-switch-panel-radius":`${e?.component?.switchPanel?.style?.radius??"var(--limit-order-input-radius)"}`,"--panel-switch-bg-checked":`${e?.component?.switch?.color?.colorBgChecked??f.BLUE.DEFAULT}`,"--panel-switch-bg":`${e?.component?.switch?.color?.colorBg??f.GRAY[700]}`,"--panel-switch-thumb-bg-checked":`${e?.component?.switch?.color?.colorThumbBgChecked??f.WHITE.DEFAULT}`,"--panel-switch-thumb-bg":`${e?.component?.switch?.color?.colorThumbBg??f.WHITE.DEFAULT}`,"--panel-switch-color-checked":e?.component?.switch?.color?.colorChecked,"--panel-switch-color":e?.component?.switch?.color?.color,"--panel-checkbox-bg-checked":`${e?.component?.checkbox?.color?.colorBgChecked??f.GRAY[700]}`,"--panel-checkbox-bg":`${e?.component?.checkbox?.color?.colorBg??"transparent"}`,"--panel-checkbox-border-color-checked":`${e?.component?.checkbox?.color?.colorBorder??"transparent"}`,"--panel-checkbox-border-color":`${e?.component?.checkbox?.color?.colorBorderChecked??f.GRAY.DEFAULT}`,"--panel-checkbox-color":`${e?.component?.checkbox?.color?.color??f.GRAY[300]}`,"--panel-checkbox-size":`${e?.component?.checkbox?.size?.size??"20px"}`,"--panel-checkbox-icon-size":`${e?.component?.checkbox?.size?.iconSize??"16px"}`,"--panel-checkbox-radius":`${e?.component?.checkbox?.style?.radius??"4px"}`},children:t}),yu=({themeConfig:t})=>(xr(),s.jsx(Ar,{config:t,children:s.jsx(br,{hideDeleteButton:!0})})),wu=({vaultChainId:t,vaultAddress:e,pricingAsset:n,translation:a,minAmountInUsd:o=Bn,actions:r,themeConfig:i})=>{const{isFetched:l,upperLimitPrice:c,lowerLimitPrice:d}=fr({vaultAddress:e,vaultChainId:t}),u=p.useMemo(()=>({vaultAddress:e,vaultChainId:t,pricingAsset:n,minAmountInUsd:o,form:{upperLimitPrice:c,lowerLimitPrice:d}}),[e,t,n,o,c,d]);return l?s.jsx(dr,{config:a,children:s.jsx(wr,{initialState:u,actions:r,children:s.jsx(yu,{themeConfig:i})})}):null},hu=({type:t})=>{const{minLimitOrderValue:e}=U(),{address:n,chainId:a,pricingAsset:o,symbol:r}=v(),{handleReject:i}=ce({type:t}),l=Y()[1],c=ne()[1],d=ec(),u=p.useMemo(()=>({onTransactionSettled:y=>{y&&(i(),c({type:"add",txHash:y,action:"create_limit_sell_order",chainId:a,symbol:r}),l({isOpen:!0,action:"create_limit_sell_order",status:"Mining",link:y?tn(y,"transaction",a):void 0,sendTokens:null,receiveTokens:null}))}}),[a,i,r,c,l]),m=p.useCallback(()=>{l({isOpen:!1}),d()},[d,l]);return{handleReject:i,address:n,chainId:a,pricingAsset:o,minLimitOrderValue:e,actions:u,closeAllOverlays:m}},gu=t=>{const{limitOrderThemeConfig:e}=U(),{handleReject:n,chainId:a,address:o,pricingAsset:r,minLimitOrderValue:i,actions:l,closeAllOverlays:c}=hu(t);return r?s.jsx(V.Overlay,{onClose:c,onBack:n,className:"!dtw-px-2",noPadding:!0,children:s.jsx("div",{className:"dtw-mt-8 dtw-px-2 dtw-overflow-y-auto theme-scrollbar",children:s.jsx(wu,{vaultAddress:o,vaultChainId:a,pricingAsset:r,minAmountInUsd:i,actions:l,themeConfig:e})})}):null},Sr=()=>{const[t]=_();return new b(t.value||"0").shiftedBy(t.decimals)},Tu=()=>{const{account:t=C}=R(),{address:e,chainId:n}=v(),a=W("limitOrder",n),o=Sr(),{data:r}=Yt({tokenAddress:e,ownerAddress:t,spenderAddress:a,chainId:n});return r?o.lte(r.toString()):!1},ba="approve",bu=()=>{const{address:t,chainId:e,symbol:n}=v(),[a,o]=p.useState(!1),r=W("limitOrder",e),i=ne()[1],l=We(ba),{send:c}=be({contractId:"erc20",dynamicContractAddress:t,functionName:"approve",onSettled(...u){o(!1),l(...u)}});return{approveLimitOrder:async()=>{i({type:"add",action:ba,symbol:n,chainId:e}),o(!0),c(r,Le)},isApprovePending:a}},fu=()=>{const t=Tu(),{approveLimitOrder:e,isApprovePending:n}=bu();return{isApproved:t,approveLimitOrder:e,isApprovePending:n}},vu=({children:t})=>{const e=S(),{ActionButton:n=H}=L(),{isApproved:a,approveLimitOrder:o,isApprovePending:r}=fu();return a?t:s.jsx(n,{onClick:o,loading:r,children:e.approve})},fa="limit_order_withdraw",xu=t=>{const{account:e=C}=R(),{address:n,chainId:a,pricingAsset:o,symbol:r}=v(),i=ne()[1],l=We(fa),c=p.useCallback((...w)=>{l(...w),t()},[l,t]),d=Sr(),{data:u}=Et({userAddress:e,vaultAddress:n,chainId:a}),m=!!u,{send:y}=be({onSettled:c,contractId:"limitOrder",functionName:m?"modifyLimitOrder":"createLimitOrder"});return p.useCallback(async()=>{i({type:"add",action:fa,symbol:r,chainId:a});const w=BigInt(0),g=Le,T=[BigInt(d.toFixed()),w,g,e,n,o?.address];return y(T)},[i,r,a,d,e,n,o?.address,y])},Au=({limitOrderHandler:t,action:e})=>{const n=S(),a=se(),{account:o}=R(),r=v(),[i]=_(),l=Y()[1],c=ne()[1],d=qt(),u=e==="delete_limit_order_withdraw",m=async()=>{const y=r.chainId;l({isOpen:!0,status:"Wallet",action:e,link:"",sendTokens:[i],receiveTokens:null,meta:{}});try{await t()}catch(w){w instanceof Ye&&(a({type:"MERGE_OVERLAY",payload:{type:M.ERROR_NOTIFICATION,isOpen:!0,meta:{error:w.message}}}),d?.(w,r.address,y,o)),l({isOpen:!1,status:"None",link:"",sendTokens:null,receiveTokens:null,meta:{}}),c({type:"remove",status:"fail"})}};return{label:u?n.delete:n.withdrawAction,handleLimitOrderWithdraw:m}},Su="limit_order_withdraw",Eu=()=>{const t=se(),e=et("limit_order_withdraw"),n=p.useCallback(()=>t({type:"MERGE_OVERLAY",payload:{type:M.LIMIT_ORDER_WITHDRAW,isOpen:!1}}),[t]),a=xu(n),{handleLimitOrderWithdraw:o,label:r}=Au({limitOrderHandler:a,action:Su});return{label:r,handleLimitOrderWithdraw:o,isLoading:e}},Cu=({disabled:t})=>{const{ActionButton:e=H}=L(),{label:n,handleLimitOrderWithdraw:a,isLoading:o}=Eu();return s.jsx(e,{onClick:a,disabled:t,loading:o,children:n})},Du=["termOfUseWithdrawPoint1","termOfUseWithdrawPoint2"],Iu=({className:t})=>{const e=S();return s.jsxs(s.Fragment,{children:[s.jsx("p",{children:e.limitOrderWithdrawDescription}),s.jsx("div",{className:A("dtw-w-full dtw-text-sm dtw-overflow-y-auto theme-scrollbar dtw-text-[color:var(--panel-secondary-content-color)]",t),children:s.jsx("ol",{className:"dtw-list-decimal dtw-list-inside dtw-space-y-2",children:Du.map((n,a)=>s.jsxs("li",{className:"dtw-text-pretty",children:[a+1,". ",e[n]]},n))})})]})},Nu=({type:t})=>{const e=S(),{ActionButton:n=H}=L(),{handleReject:a}=ce({type:t}),[o,r]=p.useState(!1);return s.jsx(V.Overlay,{onClose:a,children:s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-2 dtw-w-full",children:[s.jsxs("div",{className:"dtw-px-2 dtw-flex dtw-flex-col dtw-gap-2",children:[s.jsx(Iu,{}),s.jsx("div",{className:"dtw-mt-1 dtw-flex dtw-items-center dtw-gap-1.5",children:s.jsx(gr,{checked:o,onChange:i=>r(i),label:e.termOfUseWithdrawAcceptLabel,labelClassName:"dtw-text-sm dtw-cursor-pointer"})})]}),s.jsx(n,{highlighted:!1,onClick:a,children:e.back}),s.jsx(vu,{children:s.jsx(Cu,{disabled:!o})})]})})},_u=()=>{const t=Zt(),e=S();return s.jsxs(s.Fragment,{children:[s.jsx(Pe,{label:e.slippageTolerance,tooltipText:e.withdrawSlippageWarning,children:s.jsx(No,{})}),s.jsx(Pe,{label:e.tokenAllowance,tooltipText:e.toggleTokenApprovalAmount,children:s.jsx(zo,{})}),t&&s.jsx(Pe,{label:e.batchTransactionsLabel,tooltipText:e.batchTransactionsTooltip??"",children:s.jsx(Vo,{})}),s.jsx(Ho,{})]})},ku=({assets:t=[]})=>{const{stablePrecision:e}=U(),{firstPart:n,secondPart:a}=As(t,Fa),o=p.useCallback(({symbol:r,address:i,rawBalance:l,decimals:c,price:d,balance:u})=>s.jsxs("tr",{children:[s.jsxs("td",{children:[s.jsx(ft,{symbol:r,iconSymbols:[r],symbolClasses:"dtw-text-xs dtw-font-bold",size:"sm"}),s.jsx("p",{className:"dtw-truncate dtw-text-xs dtw-text-[color:var(--panel-secondary-content-color)]",children:J({value:u*d})})]}),s.jsx("td",{className:"dtw-text-right",children:s.jsx("p",{className:"dtw-truncate",children:ve({value:I.formatUnits(l,c),decimals:e})})})]},i),[e]);return s.jsxs("div",{className:"dtw-text-sm dtw-font-light ",children:[s.jsx($t,{children:n.map(o)}),a.length>0&&s.jsx(nr,{children:s.jsx($t,{children:a.map(o)})})]})},Pu=()=>{const{chainId:t}=v(),{stablePrecision:e}=U(),{data:n=[]}=me(),a=Oo(),{data:o=C}=Lc();return{assets:n,usdAmount:J({value:a,maximumFractionDigits:e}),withdrawalVaultLink:tn(o,"address",t)}},Ou=()=>{const t=S(),{assets:e,usdAmount:n,withdrawalVaultLink:a}=Pu();return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"dtw-text-sm dtw-flex dtw-items-center dtw-gap-1",children:[s.jsx("span",{className:"dtw-text-[color:var(--panel-secondary-content-color)]",children:t.total}),s.jsx(Qe,{link:a??"",iconClassName:"dtw-h-4 dtw-w-4 dtw-text-[color:var(--panel-content-color)]",children:s.jsx("span",{className:"dtw-text-[color:var(--panel-content-color)]",children:n})})]}),s.jsx("div",{className:"dtw-flex dtw-flex-col dtw-gap-[var(--panel-input-group-gap,var(--panel-gap))] dtw-rounded-[var(--panel-input-radius,var(--panel-radius))] dtw-border dtw-bg-[var(--panel-input-bg,var(--panel-neutral-color))] dtw-py-[var(--panel-input-py)] dtw-px-[var(--panel-input-px)] dtw-shadow-md dtw-border-[var(--panel-input-border-color)]",children:s.jsx(ku,{assets:e})})]})},va=!0,Lu=()=>{const{isWrongNetwork:t}=Zo(),e=Po({isClaim:va}),{disabled:n,label:a,handleTrade:o}=jo({withdraw:e,isClaim:va}),r=et("claim");return{disabled:n,label:a,handleTrade:o,isWrongNetwork:t,isLoading:r}},xa=({highlighted:t,className:e})=>{const{ActionButton:n=H}=L(),{handleTrade:a,disabled:o,label:r,isWrongNetwork:i,isLoading:l}=Lu();return i?null:s.jsx(n,{onClick:a,disabled:o,highlighted:t,className:e,loading:l,children:r})},Ru=()=>{const t=se(),e=Po(),{isError:n}=Ze(),{disabled:a,label:o,handleTrade:r}=jo({withdraw:e}),i=et("swap");return{disabled:a,label:o,handleClick:()=>{if(n){t({type:"MERGE_OVERLAY",payload:{type:M.ERROR_NOTIFICATION,isOpen:!0,meta:{error:ns}}});return}r()},isLoading:i}},ju=()=>{const{ActionButton:t=H}=L(),{handleClick:e,disabled:n,label:a,isLoading:o}=Ru();return s.jsx(t,{onClick:e,disabled:n,loading:o,children:a})},Mu=()=>{const t=se(),{requiresHighSlippageConfirm:e,confirmHighSlippage:n,slippageToBeUsed:a}=zn();return{requiresHighSlippageConfirm:e,slippageToBeUsed:a,handleHighSlippageClick:()=>{t({type:"MERGE_OVERLAY",payload:{type:M.HIGH_SLIPPAGE,isOpen:!0,onConfirm:async()=>n()}})}}},Bu=({children:t})=>{const{ActionButton:e=H}=L(),n=S(),{requiresHighSlippageConfirm:a,slippageToBeUsed:o,handleHighSlippageClick:r}=Mu();return a?s.jsx(e,{onClick:r,children:n.confirmMaxSlippage.replace("{slippagePercentage}",`${Math.abs(o)}`)}):t},Fu=()=>{Bc();const t=Qn(),e=Ne();return{showSwapButton:t&&!e}},Wu=()=>{const{chainId:t}=v(),[e]=O(),n=le({address:e.address,chainId:t}),a=Mo(),o=bt(Math.min(0,a));return{receiveToken:{...e,price:n},swapDiff:a,themeType:o}},Uu=()=>{const t=S(),{receiveToken:e,swapDiff:n,themeType:a}=Wu();return s.jsx(pt,{label:t.receiveEstimated,assetInput:e.value,autoFocus:!1,disabled:!0,assetSymbol:e.symbol,assetPrice:e.price,displayCalculatedValue:!0,isLoading:e.isLoading,tradingPriceDiff:n,type:a})},$u=()=>{const t=S(),{stablePrecision:e}=U(),[n]=O(),a=vt(),{minExpectedReceiveAmount:o}=Kn(),r=bt(a),i=r===B.DEFAULT?t.withdrawSlippageWarning:t.highSlippageWarning;return{themeType:r,slippageTooltipText:i,slippagePlaceholder:a.toString(),minReceive:`${ve({value:I.formatUnits(BigInt(o),n.decimals),decimals:e})} ${n.symbol}`}},zu=()=>{const t=S(),{slippageTooltipText:e,slippagePlaceholder:n,minReceive:a}=$u(),o=p.useMemo(()=>[{tooltipText:t.exchangeRate,label:t.rate,value:s.jsx(na,{})},{tooltipText:e,label:t.maxSlippage,value:s.jsxs("span",{children:[n,"%"]})},{tooltipText:t.minReceiveAmount,label:t.minReceived,value:a}],[a,n,e,t.maxSlippage,t.minReceiveAmount,t.minReceived,t.exchangeRate,t.rate]);return s.jsx(Hn,{collapseItems:o})},Vu=({children:t})=>s.jsxs(V.Meta,{children:[s.jsx(zu,{}),s.jsx("div",{className:"dtw-sticky dtw-bottom-0 dtw-bg-[var(--panel-meta-action-panel-bg)]",children:t})]}),yn=[{isLeveragedAsset:_s,getWithdrawAssetByLeverageAddress:ks,getWithdrawAssetByVaultAddress:()=>{},isLentAndBorrowedAsset:vn},{isLeveragedAsset:Gi,getWithdrawAssetByLeverageAddress:qi,getWithdrawAssetByVaultAddress:Yi,isLentAndBorrowedAsset:vn}],wn={requiresLeveragedCollateralLiquidity:!1,leveragedCollateralValueFormatted:"$0"},hn=t=>b(t.amount).shiftedBy(-t.precision).times(t.rate).shiftedBy(-18).toNumber(),Er=()=>{const t=v(),e=Ke(t),[n]=_(),a=re(t),o=e.find(({tokenAddress:m,amount:y})=>yn.some(w=>w.isLeveragedAsset(m)&&y!=="0"));if(!o)return wn;const r=yn.find(m=>m.isLeveragedAsset(o.tokenAddress));if(!r)return wn;const i=r.getWithdrawAssetByVaultAddress(t.address)?.address??r.getWithdrawAssetByLeverageAddress(o.tokenAddress).address,l=e.find(({tokenAddress:m})=>z(i,m));if(!l)return wn;const c=Number(n.value||"0")*Number(a),d=hn(l);if(e.find(({tokenAddress:m,amount:y})=>yn.some(w=>w.isLentAndBorrowedAsset({address:m,chainId:t.chainId})&&y!=="0"))){const m=hn(o),y=e.reduce((D,$)=>D+hn($),0),w=d/y,g=m/y,x=w/(w+g)*y;return{requiresLeveragedCollateralLiquidity:c>x,leveragedCollateralValueFormatted:J({value:x})}}return{requiresLeveragedCollateralLiquidity:c>d,leveragedCollateralValueFormatted:J({value:d})}},sa=()=>{const{pricingAsset:t,onDemandWithdrawalEnabled:e}=v(),{requiresLeveragedCollateralLiquidity:n}=Er(),a=wt();return n&&!!t&&!!e&&!a},Aa=0,Sa=1,Ea=2,Hu=()=>{const t=S(),{isCompleteWithdrawStep:e}=Xe(),{canSpend:n}=Yn(),a=Ne(),o=Zn(),r=sa(),i=p.useMemo(()=>{const c=[{index:Aa,description:s.jsx(s.Fragment,{children:t.approve})},{index:Sa,description:o?t.unrollAndClaimDescription:s.jsxs(s.Fragment,{children:[t.initWithdrawDescription," ",s.jsx(Wt,{text:t.initWithdrawTooltip,iconClassName:"!dtw-inline"})]})}],d={index:Ea,description:s.jsxs(s.Fragment,{children:[s.jsx("span",{children:t.completeWithdrawDescription}),s.jsx(Wt,{text:t.completeWithdrawTooltip,iconClassName:"!dtw-inline"})]})};return[...c,...o?[]:[d]]},[t.approve,t.unrollAndClaimDescription,t.initWithdrawDescription,t.initWithdrawTooltip,t.completeWithdrawDescription,t.completeWithdrawTooltip,o]);return{hideStepper:a||r,activeStepIndex:e?Ea:n?Sa:Aa,steps:i}},Cr=({children:t})=>{const{hideStepper:e,steps:n,activeStepIndex:a}=Hu();return e?t:s.jsx("div",{className:"dtw-mt-1 dtw-grid dtw-gap-1 dtw-grid-cols-[auto_1fr] dtw-auto-rows-min",children:n.map((o,r)=>{const i=o.index<a,l=o.index===a,c=r===n.length-1;return s.jsxs(p.Fragment,{children:[s.jsxs("div",{className:A("dtw-grid dtw-grid-cols-1 dtw-h-full dtw-gap-0.5",{"dtw-text-themeGreen":i,"dtw-text-[color:var(--panel-secondary-content-color)]":!i&&!l,"dtw-grid-rows-[auto_1fr]":!c}),children:[i?s.jsx(ee.CheckCircleIcon,{className:"dtw-w-[18px]"}):s.jsxs("span",{className:"dtw-text-center dtw-text-sm",children:[r+1,"."]}),!c&&s.jsx("div",{className:"dtw-h-full dtw-min-h-1",children:s.jsx("div",{className:A("dtw-w-[1px] dtw-h-full dtw-m-auto dtw-bg-[color:var(--panel-secondary-content-color)]")})})]}),s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-0.5 dtw-text-[length:var(--panel-input-label-font-size,var(--panel-font-size-sm))] dtw-text-[color:var(--panel-content-color)]",children:[s.jsx("div",{className:A("dtw-mt-0.5 dtw-flex dtw-gap-1 dtw-leading-none dtw-items-center",{"dtw-text-[color:var(--panel-secondary-content-color)]":!i&&!l}),children:o.description}),l&&s.jsx("div",{className:A({"dtw-my-1":!c,"dtw-mt-1":c}),children:t})]},o.index)]},o.index)})})},Gu=()=>{const{showSwapButton:t}=Fu();return s.jsxs(s.Fragment,{children:[s.jsxs(V.InputGroup,{children:[s.jsx(Ou,{}),s.jsx(Uu,{})]}),s.jsx(Vu,{children:s.jsx(Cr,{children:s.jsx(ea,{children:t?s.jsxs(s.Fragment,{children:[s.jsx(Bu,{children:s.jsx(ju,{})}),s.jsx(xa,{highlighted:!1,className:"dtw-mt-1.5 !dtw-py-1 dtw-text-[length:var(--panel-input-button-font-size,var(--panel-font-size-xs))]"})]}):s.jsx(xa,{})})})})]})},qu=()=>{const{chainId:t,address:e}=v(),{exitFeeNumber:n}=Jt({address:e,chainId:t}),[a]=_(),[o,r]=O(),i=re({address:e,chainId:t}),l=le({address:o.address,chainId:t});p.useEffect(()=>{if(!a.value||a.value==="0"){r({value:""});return}const d=new b(a.value).times(i).times(1-n/100).dividedBy(l).toFixed(o.decimals);r({value:Ds(d)?d:""})},[n,o.decimals,l,a.value,i,r])},Yu=()=>{const{withdraw:t,action:e}=Vc(),{disabled:n,label:a,handleTrade:o}=Bo(t),r=se(),{address:i}=v(),l=On(i);return{isLoading:et(e),disabled:n,label:a,handleTrade:()=>{l?r({type:"MERGE_OVERLAY",payload:{type:M.FMP_WITHDRAWAL,isOpen:!0,onConfirm:async()=>{o()}}}):o()}}},Ku=()=>{const{ActionButton:t=H}=L(),{handleTrade:e,disabled:n,label:a,isLoading:o}=Yu();return s.jsx(t,{onClick:e,disabled:n,loading:o,children:a})},Qu=()=>{const t=S(),e=se(),n=()=>e({type:"MERGE_OVERLAY",payload:{type:M.LIMIT_ORDER_WITHDRAW,isOpen:!0}});return{label:t.withdrawAction,openLimitOrderWithdrawOverlay:n}},Xu=()=>{const{ActionButton:t=H}=L(),{label:e,openLimitOrderWithdrawOverlay:n}=Qu();return s.jsx(t,{onClick:n,children:e})},Zu=()=>{const{address:t,chainId:e,maintenance:n,maintenanceWithdrawals:a,symbol:o}=v(),[r]=_(),i=se(),l=sa(),c=yt(),{data:d=0}=Wl({address:t,chainId:e}),u=d>0,m=ct.formatDuration(ct.intervalToDuration({start:0,end:d})),{approve:y,canSpend:w}=Yn(),{requiresHighSlippageConfirm:g,confirmHighSlippage:T,slippageToBeUsed:x}=zn(),D=()=>{i({type:"MERGE_OVERLAY",payload:{type:M.HIGH_SLIPPAGE,isOpen:!0,onConfirm:async()=>T()}})};return{requiresEndOfCooldown:u,requiresApprove:!w,requiresHighSlippageConfirm:g,sendTokenSymbol:r.symbol,slippageToBeUsed:x,dynamicCooldownEndsInTime:m,approve:y,handleHighSlippageClick:D,maintenance:n||a,poolSymbol:o,isLimitOrderWithdraw:l,insufficientBalance:c}},Ju=({children:t})=>{const{ActionButton:e=H}=L(),n=S(),a=Vn("withdraw"),{requiresEndOfCooldown:o,requiresApprove:r,requiresHighSlippageConfirm:i,sendTokenSymbol:l,slippageToBeUsed:c,dynamicCooldownEndsInTime:d,approve:u,handleHighSlippageClick:m,maintenance:y,poolSymbol:w,isLimitOrderWithdraw:g,insufficientBalance:T}=Zu();return y?s.jsx(Sn,{promptText:n.poolWithdrawalsAreMaintenance.replace("{poolSymbol}",w),children:a}):o?s.jsx(Sn,{promptText:n.withdrawCooldown.replace("{tokenSymbol}",l).replace("{cooldownEndTime}",d),children:a}):T?s.jsx(e,{disabled:!0,children:n.insufficientBalance}):g?s.jsx(Xu,{}):r?s.jsx(Jo,{onApprove:u,symbol:l}):i?s.jsx(e,{onClick:m,children:n.confirmMaxSlippage.replace("{slippagePercentage}",`${Math.abs(c)}`)}):t},em=()=>{const{address:t,chainId:e}=v(),[n,a]=_(),o=ue({symbol:n.symbol,address:n.address}),r=re({address:t,chainId:e});return{...n,updater:a,balance:o,price:r}},tm=()=>{const{chainId:t}=v(),[e,n]=O(),a=le({address:e.address,chainId:t});return{...e,updater:n,price:a}},nm=()=>{const t=em(),e=tm();return{sendToken:t,onInputChange:a=>{t.updater({value:a})},receiveToken:e}},am=()=>{const t=S(),{sendToken:e,onInputChange:n,receiveToken:a}=nm();return s.jsxs(s.Fragment,{children:[s.jsx(pt,{label:t.send,assetInput:e.value,onInputChange:n,assetSymbol:e.symbol,assetPrice:e.price??"",displayMax:!0,maxBalance:e.balance,displayCalculatedValue:!0,children:s.jsx(sr,{})}),s.jsxs(pt,{label:t.receiveEstimated,assetInput:a.value,autoFocus:!1,disabled:!0,assetSymbol:a.symbol,assetPrice:a.price,displayCalculatedValue:!0,isLoading:a.isLoading,children:[s.jsx(rr,{}),a.symbol==="all"?null:s.jsx(or,{})]})]})},sm=()=>{const t=S(),{address:e,chainId:n}=v(),[{isMaxSlippageLoading:a}]=G(),{exitFeeNumber:o}=Jt({address:e,chainId:n}),r=vt(),i=Ne();return{slippageTooltipText:bt(r)===B.DEFAULT?t.withdrawSlippageWarning:t.highSlippageWarning,isMaxSlippageLoading:a,slippagePlaceholder:`${r}%`,exitFee:mt(o,2),minReceivedText:t.estimatedMultiAssetFractions,showMinReceivedText:i}},om=()=>{const t=S(),{slippageTooltipText:e,slippagePlaceholder:n,isMaxSlippageLoading:a,exitFee:o,minReceivedText:r,showMinReceivedText:i}=sm(),l=p.useMemo(()=>{const c=[{tooltipText:t.exchangeRate,label:t.rate,value:s.jsx(na,{})},{tooltipText:e,label:t.maxSlippage,value:s.jsxs("div",{className:"dtw-flex dtw-gap-1",children:[a&&s.jsx(Ae,{className:"dtw-stroke-[color:var(--panel-accent-from-color)] dtw-h-[var(--panel-icon-secondary-size)] sm:dtw-h-[var(--panel-icon-secondary-size-sm)] dtw-w-[var(--panel-icon-secondary-size)] sm:dtw-w-[var(--panel-icon-secondary-size-sm)]"}),s.jsx("span",{className:A({"dtw-text-[color:var(--panel-loading-content-color)]":a}),children:n})]})},{label:t.exitFee,value:o,tooltipText:t.exitFeeExplanation}];return i&&c.push({tooltipText:t.minReceiveAmount,label:t.minReceived,value:r}),c},[e,t.maxSlippage,t.exitFee,t.exitFeeExplanation,t.minReceiveAmount,t.minReceived,t.exchangeRate,t.rate,a,n,o,i,r]);return s.jsx(Hn,{collapseItems:l})},rm=({children:t})=>{const{WithdrawMetaInfo:e,AvailableLiquidityAlert:n,OnDemandWithdrawAlert:a}=L(),{requiresLeveragedCollateralLiquidity:o,leveragedCollateralValueFormatted:r}=Er(),i=sa();return s.jsxs(V.Meta,{children:[s.jsx("div",{children:o?i?s.jsx(s.Fragment,{children:!!a&&s.jsx(a,{})}):s.jsx(s.Fragment,{children:!!n&&s.jsx(n,{liquidityAmount:r})}):null}),s.jsx(om,{}),e&&s.jsx(e,{}),s.jsx("div",{className:"dtw-sticky dtw-bottom-0 dtw-bg-[var(--panel-meta-action-panel-bg)]",children:t})]})},im=()=>{const t=S();return qu(),s.jsxs(s.Fragment,{children:[s.jsx(V.InputGroup,{children:s.jsx(am,{})}),s.jsx(rm,{children:s.jsx(Cr,{children:s.jsx(ea,{children:s.jsx(Ju,{children:s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-2 dtw-w-full",children:[s.jsx(Ku,{}),s.jsx(tr,{highlighted:!1,children:t.stopOrder})]})})})})})]})},lm=()=>{Oc();const{isCompleteWithdrawStep:t}=Xe();return{isCompleteWithdrawStep:t}},cm=()=>{const{isCompleteWithdrawStep:t}=lm();return t?s.jsx(Gu,{}):s.jsx(im,{})},dm=()=>s.jsx(V.Panel,{children:s.jsx(cm,{})}),pm=({tradingType:t})=>s.jsxs(P.TabGroup,{selectedIndex:Ve.indexOf(t),children:[s.jsx(P.TabList,{className:"dtw-flex",children:Ve.map(e=>s.jsx(P.Tab,{className:"dtw-hidden"},e))}),s.jsxs(P.TabPanels,{children:[s.jsx(V.Settings,{children:s.jsx(Jc,{})}),s.jsx(V.Settings,{children:s.jsx(_u,{})})]})]}),um=({children:t})=>s.jsxs(P.TabList,{className:"dtw-flex dtw-px-[var(--panel-tab-group-px)] dtw-justify-between dtw-items-center",children:[s.jsx("div",{className:"dtw-bg-[var(--panel-tab-list-bg)] dtw-rounded-[var(--panel-tab-list-radius)] dtw-px-[var(--panel-tab-list-px)] dtw-py-[var(--panel-tab-list-py)]",children:Ve.map(e=>s.jsx(ac,{tradingType:e},e))}),t]}),mm=Ve.reduce((t,e,n)=>(t[n]=e,t),{}),ym=()=>{const[t]=pe(),e=v(),{standalone:n}=U();Vd();const a=ta(),o=r=>{const i=mm[r];i&&a(i)};return p.useEffect(()=>{n||a("deposit")},[e.address,n]),p.useEffect(()=>{n&&a(t)},[e.address,n,t]),{type:t,onTabChange:o}},wm=()=>{const{type:t,onTabChange:e}=ym();return s.jsxs("div",{className:"trading-widget dtw-relative dtw-pt-3 dtw-bg-[var(--panel-background-color)] dtw-text-[color:var(--panel-content-color)] dtw-rounded-[var(--widget-radius)] md:dtw-rounded-[var(--widget-radius-md)] dtw-overflow-hidden dtw-h-full",children:[s.jsxs(P.TabGroup,{selectedIndex:Ve.indexOf(t),onChange:e,className:"dtw-flex dtw-flex-col dtw-h-full",children:[s.jsx(um,{children:s.jsxs("div",{className:"dtw-flex dtw-gap-2 dtw-items-center dtw-justify-end",children:[s.jsx(_d,{}),s.jsx(pm,{tradingType:t})]})}),s.jsxs(P.TabPanels,{className:"dtw-flex-1 dtw-overflow-y-auto",children:[s.jsx(Jd,{}),s.jsx(dm,{})]})]}),s.jsxs(tp,{children:[s.jsx(Lp,{type:M.ERROR_NOTIFICATION}),s.jsx(np,{type:M.TERMS_OF_USE}),s.jsx(ap,{type:M.HIGH_SLIPPAGE}),s.jsx(op,{type:M.FMP_WITHDRAWAL}),s.jsx(up,{type:M.TOKEN_SELECT,searchQuery:""}),s.jsx(hp,{type:M.POOL_SELECT,searchQuery:""}),s.jsx(kp,{type:M.TRADING}),s.jsx(gu,{type:M.LIMIT_SELLS}),s.jsx(Nu,{type:M.LIMIT_ORDER_WITHDRAW})]})]})},hm=({children:t,config:e,className:n})=>s.jsx("div",{className:n,style:{"--panel-radius":`${e?.global?.style?.radiusPrimary??"1rem"}`,"--panel-radius-secondary":`${e?.global?.style?.radiusSecondary??"1rem"}`,"--panel-background-color":`${e?.global?.color?.colorBgPrimary??f.DARK[800]}`,"--panel-gap":`${e?.global?.size?.gap??"0.25rem"}`,"--panel-spacer":`${e?.global?.size?.spacer??"4px"}`,"--panel-content-color":`${e?.global?.color?.colorTextPrimary??f.WHITE.DEFAULT}`,"--panel-content-hover-color":`${e?.global?.color?.colorTextPrimaryHover??`${f.WHITE.DEFAULT}CC`}`,"--panel-secondary-color":`${e?.global?.color?.colorBgSecondary??f.GRAY[800]}`,"--panel-secondary-content-color":`${e?.global?.color?.colorTextSecondary??f.GRAY[600]}`,"--panel-accent-from-color":`${e?.global?.color?.colorBgAccentFrom??f.GREEN.DEFAULT}`,"--panel-accent-to-color":`${e?.global?.color?.colorBgAccentTo??f.GREEN[700]}`,"--panel-accent-hover-from-color":`${e?.global?.color?.colorBgAccentFromHover??`${f.GREEN.DEFAULT}CC`}`,"--panel-accent-hover-to-color":`${e?.global?.color?.colorBgAccentToHover??f.BLUE.dark}`,"--panel-accent-content-color":`${e?.global?.color?.colorTextAccent??f.WHITE.DEFAULT}`,"--panel-accent-content-hover-color":`${e?.global?.color?.colorTextAccentHover??`${f.WHITE.DEFAULT}CC`}`,"--panel-neutral-color":`${e?.global?.color?.colorBgNeutral??`${f.GRAY[600]}33`}`,"--panel-neutral-content-color":`${e?.global?.color?.colorTextNeutral??`${f.GRAY[600]}80`}`,"--panel-loading-content-color":`${e?.global?.color?.colorTextLoading??`${f.WHITE.DEFAULT}99`}`,"--panel-error-content-color":`${e?.global?.color?.colorTextError??f.RED[500]}`,"--panel-warning-content-color":`${e?.global?.color?.colorTextWarning??f.WARNING}`,"--panel-success-content-color":`${e?.global?.color?.colorTextSuccess??f.GREEN.DEFAULT}`,"--panel-border-color":`${e?.global?.color?.colorBorderPrimary??"var(--panel-content-color)"}`,"--widget-radius":`${e?.component?.widget?.style?.radius??"var(--panel-radius)"}`,"--widget-radius-md":`${e?.component?.widget?.style?.radiusMd??"var(--panel-radius)"}`,"--panel-divider-color":`${e?.component?.divider?.color?.colorBg??"var(--panel-secondary-content-color)"}`,"--panel-scrollbar-color":`${e?.global?.color?.colorScrollbar??`${f.GREEN.DEFAULT}80`}`,"--panel-font-size":`${e?.global?.size?.fontSizeBase??"16px"}`,"--panel-line-height":`${e?.global?.size?.lineHeightBase??"24px"}`,"--panel-font-size-lg":`${e?.global?.size?.fontSizeLg??"18px"}`,"--panel-line-height-lg":`${e?.global?.size?.lineHeightLg??"28px"}`,"--panel-font-size-sm":`${e?.global?.size?.fontSizeSm??"14px"}`,"--panel-line-height-sm":`${e?.global?.size?.lineHeightSm??"20px"}`,"--panel-font-size-xs":`${e?.global?.size?.fontSizeXs??"12px"}`,"--panel-line-height-xs":`${e?.global?.size?.lineHeightXs??"16px"}`,"--panel-font-weight-light":`${e?.global?.style?.fontWeightLight??300}`,"--panel-font-weight-medium":`${e?.global?.style?.fontWeightMedium??500}`,"--panel-font-weight-bold":`${e?.global?.style?.fontWeightBold??700}`,"--panel-action-opacity":`${e?.global?.style?.actionOpacity??1}`,"--panel-action-hover-opacity":`${e?.global?.style?.actionOpacityHover??.8}`,"--panel-label-font-size":`${e?.global?.size?.labelFontSize??"var(--panel-font-size)"}`,"--panel-label-line-height":`${e?.global?.size?.labelLineHeight??"var(--panel-line-height-xs)"}`,"--panel-icon-size":`${e?.global?.size?.iconSize??"20px"}`,"--panel-icon-size-sm":`${e?.global?.size?.iconSizeSm??"24px"}`,"--panel-icon-secondary-size":`${e?.global?.size?.iconSecondarySize??"16px"}`,"--panel-icon-secondary-size-sm":`${e?.global?.size?.iconSecondarySizeSm??"16px"}`,"--panel-icon-color":`${e?.global?.color?.colorIcon??"var(--panel-content-color)"}`,"--panel-icon-color-hover":`${e?.global?.color?.colorIconHover??"var(--panel-content-hover-color)"}`,"--panel-notification-bg":`${e?.component?.notification?.color?.colorBg??"var(--panel-secondary-color)"}`,"--panel-popup-content-color":`${e?.component?.popup?.color?.colorText??"var(--panel-secondary-content-color)"}`,"--panel-popup-bg":`${e?.component?.popup?.color?.colorBg??"var(--panel-secondary-color)"}`,"--panel-popup-border-color":`${e?.component?.popup?.color?.colorBorder??"var(--panel-secondary-content-color)"}`,"--panel-popup-font-size":`${e?.component?.popup?.size?.fontSize??e?.global?.size?.fontSizeXs??"12px"}`,"--panel-popup-list-header-bg":`${e?.component?.popupList?.color?.headerBg??f.DARK[800]}`,"--panel-popup-list-item-bg-even":`${e?.component?.popupList?.color?.itemBgEven??"transparent"}`,"--panel-popup-list-item-bg-odd":`${e?.component?.popupList?.color?.itemBgOdd??f.DARK[400]}`,"--panel-tab-group-px":`${e?.component?.tabGroup?.size?.px??"calc(var(--panel-spacer) * 6)"}`,"--panel-tab-list-bg":`${e?.component?.tabList?.color?.colorBg??f.DARK.DEFAULT}`,"--panel-tab-list-px":`${e?.component?.tabList?.size?.px??"calc(var(--panel-spacer) * 3)"}`,"--panel-tab-list-py":`${e?.component?.tabList?.size?.py??"calc(var(--panel-spacer) * 2)"}`,"--panel-tab-list-radius":`${e?.component?.tabList?.style?.radius??"var(--panel-radius-secondary)"}`,"--panel-content-pt":`${e?.component?.tabContent?.size?.pt??"calc(var(--panel-spacer) * 2)"}`,"--panel-content-pb":`${e?.component?.tabContent?.size?.pb??"calc(var(--panel-spacer) * 9)"}`,"--panel-content-pb-md":`${e?.component?.tabContent?.size?.pbMd??"var(--panel-content-pb)"}`,"--panel-content-px":`${e?.component?.tabContent?.size?.px??"0px"}`,"--panel-content-gap":`${e?.component?.tabContent?.size?.gap??"calc(var(--panel-gap) * 2)"}`,"--panel-tab-px":`${e?.component?.tab?.size?.px??"calc(var(--panel-spacer) * 9)"}`,"--panel-tab-py":`${e?.component?.tab?.size?.py??"calc(var(--panel-spacer) * 2)"}`,"--panel-tab-bg":`${e?.component?.tab?.color?.colorBg??"var(--panel-neutral-color)"}`,"--panel-tab-content-color":`${e?.component?.tab?.color?.colorText??"var(--panel-neutral-content-color)"}`,"--panel-tab-select-content-color":`${e?.component?.tab?.color?.selectColorText??"var(--panel-content-color)"}`,"--panel-tab-hover-content-color":`${e?.component?.tab?.color?.colorTextHover??"var(--panel-content-hover-color)"}`,"--panel-tab-font-size":`${e?.component?.tab?.size?.fontSize??"var(--panel-font-size-sm)"}`,"--panel-tab-font-weight":`${e?.component?.tab?.style?.fontWeight??"var(--panel-font-weight-medium)"}`,"--panel-tab-line-height":`${e?.component?.tab?.style?.lineHeight??"var(--panel-line-height-sm)"}`,"--panel-balance-group-px":`${e?.component?.balance?.size?.px??"calc(var(--panel-spacer) * 6)"}`,"--panel-balance-group-gap":`${e?.component?.balance?.size?.gap??"var(--panel-gap)"}`,"--panel-balance-content-color":`${e?.component?.balance?.color?.colorText??"var(--panel-secondary-content-color)"}`,"--panel-balance-price-content-color":`${e?.component?.balance?.color?.priceColorText??"var(--panel-secondary-content-color)"}`,"--panel-balance-font-size":`${e?.component?.balance?.size?.fontSize??"var(--panel-font-size-xs)"}`,"--panel-balance-line-height":`${e?.component?.balance?.size?.lineHeight??"var(--panel-line-height-xs)"}`,"--panel-balance-price-font-size":`${e?.component?.balance?.size?.priceFontSize??"var(--panel-font-size)"}`,"--panel-balance-price-line-height":`${e?.component?.balance?.size?.priceLineHeight??"var(--panel-line-height)"}`,"--panel-inputs-group-gap":`${e?.component?.inputGroup?.size?.gap??"var(--panel-gap)"}`,"--panel-inputs-group-px":`${e?.component?.inputGroup?.size?.px??"calc(var(--panel-spacer) * 6)"}`,"--panel-inputs-group-px-arrow":`${e?.component?.inputGroup?.size?.pxArrow??"var(--panel-spacer)"}`,"--panel-inputs-group-py-arrow":`${e?.component?.inputGroup?.size?.pyArrow??"var(--panel-spacer)"}`,"--panel-inputs-group-arrow-size":`${e?.component?.inputGroup?.size?.arrowSize??"var(--panel-input-token-icon-size)"}`,"--panel-inputs-arrow-bg":`${e?.component?.inputGroup?.color?.colorBgArrow??"var(--panel-input-bg)"}`,"--panel-inputs-arrow-color":`${e?.component?.inputGroup?.color?.colorArrow??"var(--panel-input-content-color)"}`,"--panel-inputs-arrow-border-color":`${e?.component?.inputGroup?.color?.colorBorderArrow??"var(--panel-input-border-color)"}`,"--panel-inputs-arrow-radius":`${e?.component?.inputGroup?.style?.radiusArrow??"var(--panel-radius-secondary)"}`,"--panel-input-radius":`${e?.component?.input?.style?.radius??"var(--panel-radius)"}`,"--panel-input-group-gap":`${e?.component?.input?.size?.gap??"calc(var(--panel-gap) * 2)"}`,"--panel-input-px":`${e?.component?.input?.size?.px??"calc(var(--panel-spacer) * 3)"}`,"--panel-input-py":`${e?.component?.input?.size?.py??"calc(var(--panel-spacer) * 2)"}`,"--panel-input-price-gap":`${e?.component?.input?.size?.priceGap??"calc(var(--panel-gap) * 2)"}`,"--panel-input-token-icon-size":`${e?.component?.input?.size?.iconSize??"var(--panel-icon-size)"}`,"--panel-input-token-icon-size-sm":`${e?.component?.input?.size?.iconSizeSm??"var(--panel-icon-size-sm)"}`,"--panel-input-content-color":`${e?.component?.input?.color?.textColor??"var(--panel-content-color)"}`,"--panel-input-loading-content-color":`${e?.component?.input?.color?.loadingTextColor??"var(--panel-loading-content-color)"}`,"--panel-input-bg":`${e?.component?.input?.color?.bgColor??"var(--panel-neutral-color)"}`,"--panel-input-focus-bg":`${e?.component?.input?.color?.bgColorFocus??"transparent"}`,"--panel-input-border-color":`${e?.component?.input?.color?.borderColor??f.GRAY[700]}`,"--panel-input-focus-border-color":`${e?.component?.input?.color?.borderColorFocus??"var(--panel-content-color)"}`,"--panel-input-placeholder-color":`${e?.component?.input?.color?.placeholderColor??"var(--panel-secondary-content-color)"}`,"--panel-input-label-font-size":`${e?.component?.input?.size?.labelFontSize??"var(--panel-font-size-sm)"}`,"--panel-input-label-line-height":`${e?.component?.input?.size?.labelLineHeight??"var(--panel-line-height-sm)"}`,"--panel-input-label-font-weight":`${e?.component?.input?.style?.labelFontWeight??"var(--panel-font-weight-light)"}`,"--panel-input-font-size":`${e?.component?.input?.size?.fontSize??"var(--panel-font-size-sm)"}`,"--panel-input-line-height":`${e?.component?.input?.size?.lineHeight??"var(--panel-line-height-sm)"}`,"--panel-input-font-size-lg":`${e?.component?.input?.size?.fontSizeLg??"var(--panel-font-size-lg)"}`,"--panel-input-line-height-lg":`${e?.component?.input?.size?.lineHeightLg??"var(--panel-line-height-lg)"}`,"--panel-input-font-weight":`${e?.component?.input?.style?.fontWeight??"var(--panel-font-weight-light)"}`,"--panel-input-token-font-size":`${e?.component?.input?.size?.tokenFontSize??"var(--panel-font-size-xs)"}`,"--panel-input-token-line-height":`${e?.component?.input?.size?.tokenLineHeight??"var(--panel-line-height-xs)"}`,"--panel-input-token-font-size-sm":`${e?.component?.input?.size?.tokenFontSizeSm??"var(--panel-font-size)"}`,"--panel-input-token-line-height-sm":`${e?.component?.input?.size?.tokenLineHeightSm??"var(--panel-line-height)"}`,"--panel-input-token-font-weight":`${e?.component?.input?.style?.tokenFontWeight??"var(--panel-font-weight-medium)"}`,"--panel-input-button-radius":`${e?.component?.input?.style?.buttonRadius??"30px"}`,"--panel-input-button-px":`${e?.component?.input?.size?.buttonPx??"calc(var(--panel-spacer) * 2)"}`,"--panel-input-button-py":`${e?.component?.input?.size?.buttonPy??"var(--panel-spacer)"}`,"--panel-input-button-bg":`${e?.component?.input?.color?.buttonBgColor??"var(--panel-secondary-color)"}`,"--panel-input-button-border-color":`${e?.component?.input?.color?.buttonBorderColor??"var(--panel-accent-to-color)"}`,"--panel-input-button-content-color":`${e?.component?.input?.color?.buttonTextColor??"var(--panel-content-color)"}`,"--panel-input-button-font-size":`${e?.component?.input?.size?.buttonFontSize??"var(--panel-font-size-xs)"}`,"--panel-input-button-line-height":`${e?.component?.input?.size?.buttonLineHeight??"var(--panel-line-height-xs)"}`,"--panel-action-accent-button-border-width":`${e?.component?.actionButton?.size?.borderWidth??"1px"}`,"--panel-action-accent-button-bg-from":`${e?.component?.actionButton?.color?.colorBgFrom??"var(--panel-accent-from-color)"}`,"--panel-action-accent-button-bg-to":`${e?.component?.actionButton?.color?.colorBgTo??"var(--panel-accent-to-color)"}`,"--panel-action-accent-button-hover-bg-from":`${e?.component?.actionButton?.color?.colorBgFromHover??"var(--panel-accent-hover-from-color)"}`,"--panel-action-accent-button-hover-bg-to":`${e?.component?.actionButton?.color?.colorBgToHover??"var(--panel-accent-hover-to-color)"}`,"--panel-action-accent-button-border-color":`${e?.component?.actionButton?.color?.colorBorder??"var(--panel-accent-from-color)"}`,"--panel-action-accent-button-color":`${e?.component?.actionButton?.color?.colorText??"var(--panel-accent-content-color)"}`,"--panel-action-outline-button-border-color":`${e?.component?.actionButton?.color?.outlineColorBorder??`${f.WHITE.DEFAULT}33`}`,"--panel-action-outline-button-border-hover-color":`${e?.component?.actionButton?.color?.outlineColorBorderHover??`${f.WHITE.DEFAULT}CC`}`,"--panel-action-outline-button-color":`${e?.component?.actionButton?.color?.outlineColorText??"var(--panel-content-color)"}`,"--panel-meta-group-gap":`${e?.component?.meta?.size?.gap??"var(--panel-gap)"}`,"--panel-meta-group-px":`${e?.component?.meta?.size?.px??"calc(var(--panel-spacer) * 6)"}`,"--panel-meta-link-color":`${e?.component?.meta?.color?.linkTextColor??"var(--panel-accent-from-color)"}`,"--panel-meta-hover-bg":`${e?.component?.meta?.color?.panelBgHover??"var(--panel-neutral-color)"}`,"--panel-meta-action-panel-bg":`${e?.component?.meta?.color?.actionPanelBg??"var(--panel-background-color)"}`,"--panel-meta-font-size":`${e?.component?.meta?.size?.fontSize??"var(--panel-font-size-xs)"}`,"--panel-meta-line-height":`${e?.component?.meta?.size?.lineHeight??"var(--panel-line-height-xs)"}`,"--panel-meta-emphasised-font-size":`${e?.component?.meta?.size?.emphasisedFontSize??"var(--panel-font-size-sm)"}`,"--panel-meta-emphasised-line-height":`${e?.component?.meta?.size?.emphasisedLineHeight??"var(--panel-line-height-sm)"}`,"--panel-tooltip-bg":`${e?.component?.tooltip?.color?.colorBg??f.DARK[700]}`,"--panel-tooltip-color":`${e?.component?.tooltip?.color?.colorText??f.WHITE.DEFAULT}`,"--panel-alert-error-bg":`${e?.component?.alert?.color?.errorBg??`${f.ERROR}4D`}`,"--panel-alert-warning-bg":`${e?.component?.alert?.color?.warningBg??`${f.WARNING}4D`}`,"--panel-alert-info-bg":`${e?.component?.alert?.color?.infoBg??`${f.INFO}4D`}`,"--panel-alert-error-color":`${e?.component?.alert?.color?.errorTextColor??"var(--panel-error-content-color)"}`,"--panel-alert-warning-color":`${e?.component?.alert?.color?.warningTextColor??"var(--panel-warning-content-color)"}`,"--panel-alert-info-color":`${e?.component?.alert?.color?.infoTextColor??"var(--panel-content-color)"}`,"--panel-switch-bg-checked":`${e?.component?.switch?.color?.colorBgChecked??f.BLUE.DEFAULT}`,"--panel-switch-bg":`${e?.component?.switch?.color?.colorBg??f.GRAY[700]}`,"--panel-switch-thumb-bg-checked":`${e?.component?.switch?.color?.colorThumbBgChecked??f.WHITE.DEFAULT}`,"--panel-switch-thumb-bg":`${e?.component?.switch?.color?.colorThumbBg??f.WHITE.DEFAULT}`,"--panel-switch-color-checked":e?.component?.switch?.color?.colorChecked,"--panel-switch-color":e?.component?.switch?.color?.color,"--panel-checkbox-bg-checked":`${e?.component?.checkbox?.color?.colorBgChecked??f.GRAY[700]}`,"--panel-checkbox-bg":`${e?.component?.checkbox?.color?.colorBg??"transparent"}`,"--panel-checkbox-border-color-checked":`${e?.component?.checkbox?.color?.colorBorder??"transparent"}`,"--panel-checkbox-border-color":`${e?.component?.checkbox?.color?.colorBorderChecked??f.GRAY.DEFAULT}`,"--panel-checkbox-color":`${e?.component?.checkbox?.color?.color??f.GRAY[300]}`,"--panel-checkbox-size":`${e?.component?.checkbox?.size?.size??"20px"}`,"--panel-checkbox-icon-size":`${e?.component?.checkbox?.size?.iconSize??"16px"}`,"--panel-checkbox-radius":`${e?.component?.checkbox?.style?.radius??"4px"}`},children:t}),gm=({children:t,config:e,theme:n,components:a,translation:o,className:r})=>s.jsx(Kl,{config:o,children:s.jsx(hm,{config:n,className:r,children:s.jsx(yo,{config:e,children:s.jsx(yc,{config:a,children:s.jsx(tc,{children:t})})})})}),Tm=t=>s.jsx(gm,{...t,children:s.jsx(wm,{})}),bm="ref",fm=({vaultAddress:t,userAddress:e,query:n,logEvent:a,tagInvestorByReferrer:o})=>{const[r,i]=En("localStorage",lt.REFERRER,""),[l,c]=En("localStorage",lt.REF_POOL,""),d=n[bm];p.useEffect(()=>{!d||typeof d!="string"||Z(t)||localStorage.getItem(lt.REFERRER)||(i(d),c(t),a?.())},[t,d,c,i,a]),p.useEffect(()=>{if(!e||!r||l.toLowerCase()!==t.toLowerCase())return;(async()=>{try{await o({investorAddress:e,poolAddress:l,referrerAddress:r})}catch(m){console.error("[core-ui-kit]: Error on tagging investor by referrer",m)}})()},[l,r,o,e,t])},vm=({title:t,children:e,className:n,titleClassName:a})=>s.jsxs("div",{className:A("dtw-relative dtw-flex dtw-flex-col dtw-gap-4 dtw-rounded-xl dtw-p-3 dtw-w-full dtw-bg-[var(--limit-order-background-color)]",n),children:[t&&s.jsx("h1",{className:A("dtw-mb-6 !dtw-text-[length:var(--limit-order-font-size-lg)] dtw-drop-shadow-md dtw-text-[color:var(--limit-order-secondary-content-color)]",a),children:t}),s.jsx("div",{className:"dtw-w-full",children:e})]}),xm=({isOpen:t,onClose:e,children:n,className:a,ThemeProvider:o=p.Fragment})=>{const r=p.useRef(null);return s.jsx(P.Dialog,{open:t,initialFocus:r,as:"div",className:A("dtw-relative dtw-z-20 dtw-overflow-y-auto theme-scrollbar",a),onClose:e,children:s.jsx(o,{children:s.jsxs(s.Fragment,{children:[s.jsx(P.DialogBackdrop,{className:"dtw-fixed dtw-inset-0 dtw-backdrop-blur-md dtw-backdrop-brightness-75 dtw-backdrop-filter"}),s.jsx("div",{className:"dtw-fixed dtw-inset-0 dtw-flex dtw-w-screen dtw-items-center dtw-justify-center dtw-p-4",ref:r,children:s.jsx(P.DialogPanel,{transition:!0,className:"dtw-inline-block dtw-transform dtw-duration-100 dtw-ease-out dtw-overflow-hidden dtw-rounded-2xl dtw-text-left dtw-align-middle dtw-shadow-xl data-[closed]:dtw-opacity-0 data-[closed]:dtw-scale-75",children:n})})]})})})},Am=()=>{const t=Me(),{isModalOpen:e,pendingTransaction:n}=we(),{setIsModalOpen:a}=St(),o=p.useCallback(()=>{a(!0),t?.(q.OPEN_LIMIT_SELL_VIEW,{[ge.SOURCE.NAME]:"modal"})},[t,a]),r=p.useCallback(()=>a(!1),[a]);return{isModalOpen:e,onOpen:o,onClose:r,isTransactionPending:!!n}},Sm=({children:t,themeConfig:e})=>{const{onOpen:n,isModalOpen:a,onClose:o,isTransactionPending:r}=Am(),i=ye();xr();const l=p.useCallback(({children:c})=>s.jsx(Ar,{config:e,children:c}),[e]);return s.jsxs(s.Fragment,{children:[t({onClick:n,isTransactionPending:r}),s.jsx(xm,{isOpen:a,onClose:o,ThemeProvider:l,className:"limit-order",children:s.jsx(vm,{title:i.limitOrdersTitle,className:"dtw-text-[color:var(--limit-order-content-color)] dtw-text-[length:var(--limit-order-font-size)] dtw-max-w-[430px]",children:s.jsx(br,{onClose:o})})})]})},Em=({children:t,vaultChainId:e,vaultAddress:n,pricingAsset:a,translation:o,minAmountInUsd:r=Bn,actions:i,themeConfig:l,isModalOpen:c})=>{const{isFetched:d,upperLimitPrice:u,lowerLimitPrice:m}=fr({vaultAddress:n,vaultChainId:e}),y=p.useMemo(()=>({vaultAddress:n,vaultChainId:e,pricingAsset:a,minAmountInUsd:r,isModalOpen:c,form:{upperLimitPrice:u,lowerLimitPrice:m}}),[n,e,a,r,c,u,m]);return d?s.jsx(dr,{config:o,children:s.jsx(wr,{initialState:y,actions:i,children:s.jsx(Sm,{themeConfig:l,children:t})})}):null};Object.defineProperty(exports,"useBlockNumber",{enumerable:!0,get:()=>E.useBlockNumber});Object.defineProperty(exports,"useConnect",{enumerable:!0,get:()=>E.useConnect});Object.defineProperty(exports,"useDisconnect",{enumerable:!0,get:()=>E.useDisconnect});Object.defineProperty(exports,"usePublicClient",{enumerable:!0,get:()=>E.usePublicClient});Object.defineProperty(exports,"useReadContract",{enumerable:!0,get:()=>E.useReadContract});Object.defineProperty(exports,"useReadContracts",{enumerable:!0,get:()=>E.useReadContracts});Object.defineProperty(exports,"useSendTransaction",{enumerable:!0,get:()=>E.useSendTransaction});Object.defineProperty(exports,"useWaitForTransactionReceipt",{enumerable:!0,get:()=>E.useWaitForTransactionReceipt});Object.defineProperty(exports,"useWalletClient",{enumerable:!0,get:()=>E.useWalletClient});Object.defineProperty(exports,"useWriteContract",{enumerable:!0,get:()=>E.useWriteContract});Object.defineProperty(exports,"arbitrum",{enumerable:!0,get:()=>h.arbitrum});Object.defineProperty(exports,"base",{enumerable:!0,get:()=>h.base});Object.defineProperty(exports,"optimism",{enumerable:!0,get:()=>h.optimism});Object.defineProperty(exports,"polygon",{enumerable:!0,get:()=>h.polygon});Object.defineProperty(exports,"decodeErrorResult",{enumerable:!0,get:()=>I.decodeErrorResult});Object.defineProperty(exports,"encodeFunctionData",{enumerable:!0,get:()=>I.encodeFunctionData});Object.defineProperty(exports,"erc20Abi",{enumerable:!0,get:()=>I.erc20Abi});Object.defineProperty(exports,"formatEther",{enumerable:!0,get:()=>I.formatEther});Object.defineProperty(exports,"formatUnits",{enumerable:!0,get:()=>I.formatUnits});Object.defineProperty(exports,"hexToString",{enumerable:!0,get:()=>I.hexToString});Object.defineProperty(exports,"trim",{enumerable:!0,get:()=>I.trim});exports.ALCHEMY_RPC_URL_MAP=Gr;exports.AaveLendingPoolAbi=Tn;exports.AddressZero=C;exports.BRIDGED_TOKENS_SYMBOLS=kn;exports.CHAIN_MAP=Hr;exports.CHAIN_NATIVE_TOKENS=Ue;exports.CURRENCY_SYMBOL_MAP=Wa;exports.ConfigProvider=yo;exports.DEFAULT_DEPOSIT_METHOD=Br;exports.DEFAULT_DEPOSIT_SLIPPAGE=zt;exports.DEFAULT_DEPOSIT_SLIPPAGE_SCALE=Ur;exports.DEFAULT_ERROR_MESSAGE=Ja;exports.DEFAULT_LOCK_TIME=_a;exports.DEFAULT_MULTI_ASSET_WITHDRAW_METHOD=La;exports.DEFAULT_POLLING_INTERVAL=Ge;exports.DEFAULT_PRECISION=k;exports.DEFAULT_PROMISE_TIMEOUT_MS=Ba;exports.DEFAULT_SIMULATION_ERROR=fn;exports.DEFAULT_WITHDRAW_SLIPPAGE=Pa;exports.EMPTY_POOL_CONFIG=ka;exports.EasySwapperV2Abi=de;exports.EstimationError=Ye;exports.GAS_ESTIMATION_ERROR=bn;exports.GAS_LIMIT_BUFFER_COEFF=Ma;exports.GET_ALL_LIMIT_ORDER_IDS_FUNCTION_NAME=Mn;exports.GMX_MARKET_ASSETS=bs;exports.GMX_MARKET_ASSETS_MAP=te;exports.LIMIT_ORDER_READ_FUNCTION_NAME=Qt;exports.LimitOrderAbi=Vt;exports.LimitOrderModal=Em;exports.MANAGER_FEE_DENOMINATOR=Ce;exports.MAX_GAS_LIMIT_MAP=kt;exports.MULTI_ASSET_TOKEN=Mt;exports.MaxUint256=Le;exports.NATIVE_TOKEN_DEPOSIT_GAS_LIMIT=ja;exports.PYTH_API_LINK=Ni;exports.PoolFactoryAbi=je;exports.PoolLogicAbi=Te;exports.PoolManagerLogicAbi=De;exports.RewardDistributionAbi=Qa;exports.SHORTEN_POLLING_INTERVAL=Re;exports.SIMULATION_TIMEOUT_ERROR=es;exports.TRADING_LOG_EVENT_PARAM=ge;exports.TRADING_PANEL_LOG_EVENT=q;exports.TradingPanelProvider=Zi;exports.TradingWidget=Tm;exports.WBTC_BY_CHAIN_ID=hs;exports.WETH_BY_CHAIN_ID=ws;exports.clientSide=Gt;exports.commify=Is;exports.contractsAbisMap=Za;exports.contractsAddressesMap=Xa;exports.formatByCurrency=Lt;exports.formatNumberToLimitedDecimals=ve;exports.formatNumeratorToPercentage=rt;exports.formatPercentage=mt;exports.formatToUsd=J;exports.getContractAbiById=fs;exports.getContractAddressById=W;exports.getConventionalTokenPriceDecimals=dt;exports.getErrorMessage=qs;exports.getLimitOrderId=hr;exports.getNativeTokenInvestableBalance=Ss;exports.getPercent=ut;exports.getPoolFraction=xn;exports.isAaveLendAndBorrowAsset=vn;exports.isEqualAddress=z;exports.isErrorWithMessage=Hs;exports.isFmpAirdropVaultAddress=On;exports.isNativeToken=Ht;exports.isZeroAddress=Z;exports.normalizeNumber=Oe;exports.removeInsignificantTrailingZeros=An;exports.shiftBy=Bt;exports.shortenAddress=vs;exports.toErrorWithMessage=Gs;exports.transformAddressForAnalytics=Ln;exports.useAccount=R;exports.useAddPoolConfig=il;exports.useAssetPrice=le;exports.useAvailableManagerFee=io;exports.useBalance=Rn;exports.useBrowserStorage=En;exports.useCheckWhitelist=Js;exports.useCompleteWithdrawSwapQuotes=Ze;exports.useCompleteWithdrawTrackedAssets=me;exports.useContractFunction=be;exports.useContractPoolComposition=eo;exports.useContractReadErrorLogging=jn;exports.useContractReadsErrorLogging=Kt;exports.useCustomDepositTokensPerChain=Vs;exports.useDebounce=Xn;exports.useDepositLockTime=Qo;exports.useDepositProjectedEarnings=Wo;exports.useEasySwapperTrackedAssets=Lo;exports.useExchangeRate=ko;exports.useFlatmoneyPointsUserBalances=co;exports.useGasPrice=Ys;exports.useHasSingleAssetWithdrawBlockers=$n;exports.useInvalidateLimitOrderQuery=vr;exports.useInvalidateOnBlock=Ft;exports.useInvalidatePoolContractData=no;exports.useInvalidateTradingQueries=Xt;exports.useIsBatchContractWritesSupported=Zt;exports.useIsCompleteWithdrawStep=Xe;exports.useIsDepositBlocked=zl;exports.useIsDepositTradingPanelType=Fe;exports.useIsDhedgeVaultConnected=wt;exports.useIsInsufficientBalance=yt;exports.useIsPoolAddress=cl;exports.useIsTradingEnabled=qn;exports.useIsWalletConnected=pl;exports.useManagerLogicAddress=Wn;exports.useNetwork=xe;exports.useOnSimulateTransaction=Ws;exports.useOnTokenSelector=Fs;exports.useOnTradingTypeChange=ta;exports.useOnTransactionError=js;exports.useOnTransactionEstimationError=qt;exports.useOnTransactionSuccess=Bs;exports.usePoolComposition=Ke;exports.usePoolCompositionWithFraction=to;exports.usePoolDynamic=ae;exports.usePoolFees=Jt;exports.usePoolManagerDynamic=Tt;exports.usePoolManagerLogicData=Un;exports.usePoolManagerStatic=gt;exports.usePoolStatic=ht;exports.usePoolTokenPrice=re;exports.useProjectedEarningsCore=Fo;exports.useRawAssetPrice=Gn;exports.useReceiveTokenInput=O;exports.useReferralProgram=fm;exports.useSendTokenInput=_;exports.useSetPoolAddress=Ji;exports.useSetTradingType=al;exports.useStaticCallQuery=yl;exports.useTokenAllowance=Yt;exports.useTradingPanelActions=F;exports.useTradingPanelLogger=Me;exports.useTradingPanelModal=Y;exports.useTradingPanelPoolAddress=$s;exports.useTradingPanelPoolConfig=v;exports.useTradingPanelPoolConfigs=qe;exports.useTradingPanelPoolFallbackData=Be;exports.useTradingPanelSettings=G;exports.useTradingPanelState=K;exports.useTradingPanelTransactions=ne;exports.useTradingPanelType=pe;exports.useTradingResultHandling=_o;exports.useTradingSettleHandler=We;exports.useUpdateCustomDepositTokensPerChain=ll;exports.useUpdatePoolConfig=rl;exports.useUpdatePoolFallbackData=Rs;exports.useUpdateReceiveTokenInput=tl;exports.useUpdateSendTokenInput=el;exports.useUpdateTradingModal=sl;exports.useUpdateTradingSettings=nl;exports.useUserBalancesDynamic=Zs;exports.useUserLimitOrder=Et;exports.useUserTokenBalance=ue;exports.useUserVaultBalance=ro;exports.useUserVaultsBalances=oo;exports.useVaultContractData=Vl;exports.useVaultDepositTokens=sn;exports.useVaultSupplyCap=lo;exports.useVaultVestedPoints=ao;exports.validateLoggerEventParams=Fi;
1
+ "use strict";var Fr=Object.defineProperty;var Wr=(t,e,n)=>e in t?Fr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Ne=(t,e,n)=>Wr(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),P=require("@headlessui/react"),E=require("wagmi"),p=require("react"),h=require("wagmi/chains"),ct=require("date-fns"),I=require("viem"),b=require("bignumber.js"),Ur=require("lodash/invertBy"),$r=require("ts-custom-error"),Ge=require("@tanstack/react-query"),te=require("@heroicons/react/24/outline"),A=require("classnames"),zr=require("react-popper-tooltip"),La=require("lodash.chunk"),Hr=require("wagmi/connectors"),Vr=require("lodash.isnumber"),Ie=require("@heroicons/react/24/solid"),gn=require("@heroicons/react/16/solid"),Gr=require("lodash.uniqby"),jt=require("@heroicons/react/20/solid"),L=()=>{const{address:t,status:e,connector:n,isConnected:a}=E.useAccount();return{account:a?t:void 0,status:e,connector:n,providerName:n?.name,isConnected:a}},C="0x0000000000000000000000000000000000000000",Le=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),k=18,qr="1000000000000000000",Yr=59e3,qe=3e4,Me=15e3,Ma=5e3,ja=400,Ba=ja*1.2,Fa=ct.formatDuration({hours:24}),Wa={address:C,symbol:"",chainId:h.optimism.id,depositParams:{customTokens:[]},withdrawParams:{customTokens:[]},deprecated:!1},Kr="deposit",Ua=1,Ht=0,Qr=.5,$a=.02,Xr=.75,Zr=[Ht],za="withdrawSafe",Ha="initWithdrawal",Jr="unrollAndClaim",ei="completeWithdrawal",Va=3e7,Ga=1.25,Ce=1e4,qa=13e3,Ya=3,In=2e4,ti=15e3,ni={[h.mainnet.id]:h.mainnet,[h.polygon.id]:h.polygon,[h.optimism.id]:h.optimism,[h.arbitrum.id]:h.arbitrum,[h.base.id]:h.base},$e={[h.mainnet.id]:{nativeTokenSymbol:"ETH",wrappedNativeTokenName:"WETH",address:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",decimals:k},[h.polygon.id]:{nativeTokenSymbol:"POL",wrappedNativeTokenName:"WPOL",address:"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",decimals:k},[h.optimism.id]:{nativeTokenSymbol:"ETH",wrappedNativeTokenName:"WETH",address:"0x4200000000000000000000000000000000000006",decimals:k},[h.arbitrum.id]:{nativeTokenSymbol:"ETH",wrappedNativeTokenName:"WETH",address:"0x82af49447d8a07e3bd95bd0d56f35241523fbab1",decimals:k},[h.base.id]:{nativeTokenSymbol:"ETH",wrappedNativeTokenName:"WETH",address:"0x4200000000000000000000000000000000000006",decimals:k}},Pt={[h.mainnet.id]:299e5,[h.polygon.id]:299e5,[h.optimism.id]:299e5,[h.arbitrum.id]:299e5,[h.base.id]:299e5},ai={[h.mainnet.id]:"https://eth-mainnet.g.alchemy.com/v2",[h.optimism.id]:"https://opt-mainnet.g.alchemy.com/v2",[h.polygon.id]:"https://polygon-mainnet.g.alchemy.com/v2",[h.arbitrum.id]:"https://arb-mainnet.g.alchemy.com/v2",[h.base.id]:"https://base-mainnet.g.alchemy.com/v2"},Ka={USD:"$",ETH:"Ξ",BTC:"₿"},si={USD:2,ETH:4,BTC:6},oi=["USDC","USDT"],Y={INVEST_INPUT_FOCUS:"invest_input_focus",APPROVED_TOKEN:"approved_token",DEPOSIT:"deposit",MULTI_ASSET_WITHDRAW:"multi_asset_withdraw",SINGLE_ASSET_WITHDRAW:"single_asset_unroll",SINGLE_ASSET_WITHDRAW_AND_CLAIM:"single_asset_unroll_and_claim",CLAIM:"claim_unrolled_assets",SWAP:"swap_unrolled_assets",WITHDRAWAL:"withdrawal",TRADING_SETTINGS_OPENED:"trading_settings_opened",INFINITE_ALLOWANCE_CHANGE:"infinite_allowance_change",BATCH_TRANSACTIONS_CHANGE:"batch_transactions_change",CREATE_LIMIT_SELL_ORDER:"create_limit_sell_order",OPEN_LIMIT_SELL_VIEW:"open_limit_sell_view",LIMIT_ORDER_WITHDRAW:"limit_order_withdraw",LIMIT_ORDER_WITHDRAW_DELETE:"limit_order_withdraw_delete"},ri={approve:[Y.APPROVED_TOKEN],deposit:[Y.DEPOSIT],multi_withdraw:[Y.WITHDRAWAL,Y.MULTI_ASSET_WITHDRAW],single_withdraw:[Y.WITHDRAWAL,Y.SINGLE_ASSET_WITHDRAW],single_withdraw_and_claim:[Y.WITHDRAWAL,Y.SINGLE_ASSET_WITHDRAW_AND_CLAIM],claim:[Y.CLAIM],swap:[Y.SWAP],create_limit_sell_order:[Y.CREATE_LIMIT_SELL_ORDER],limit_order_withdraw:[Y.LIMIT_ORDER_WITHDRAW],delete_limit_order_withdraw:[Y.LIMIT_ORDER_WITHDRAW_DELETE]},ge={IS_INFINITE:{NAME:"is_infinite",TYPE:"number"},SYMBOL:{NAME:"symbol",TYPE:"string"},CHAIN_ID:{NAME:"chain_id",TYPE:"number"},ADDRESS:{NAME:"address",TYPE:"string"},IS_BATCH_TRANSACTIONS_ENABLED:{NAME:"is_batch_enabled",TYPE:"number"},SOURCE:{NAME:"source",TYPE:"string"}};var ke=(t=>(t.ETH="ETH",t.MAINNET="MAINNET",t.POLYGON="POLYGON",t.OE="OPTIMISM",t.ARBI="ARBITRUM",t.BASE="BASE",t))(ke||{});const at=process.env.NEXT_PUBLIC_INFURA_API_KEY;h.arbitrum.id+"",`${at}`,h.optimism.id+"",`${at}`,h.polygon.id+"",`${at}`,h.base.id+"",`${at}`,h.mainnet.id+"",`${at}`;const ii={[h.arbitrum.id]:{...h.arbitrum,name:"Arbitrum",iconPath:"/icons/arbitrum-network.svg",chainId:h.arbitrum.id,shortName:"ARB"},[h.optimism.id]:{...h.optimism,name:"Optimism",iconPath:"/icons/optimism-network.svg",chainId:h.optimism.id,shortName:"OP"},[h.polygon.id]:{...h.polygon,chainId:h.polygon.id,iconPath:"/icons/polygon-network.svg",shortName:"POLY"},[h.base.id]:{...h.base,chainId:h.base.id,iconPath:"/icons/base-network.svg",shortName:"BASE"},[h.mainnet.id]:{...h.mainnet,chainId:h.mainnet.id,iconPath:"/icons/ethereum-network.svg",shortName:"ETHEREUM"}};ke.ETH+"",h.mainnet.id,ke.MAINNET+"",h.mainnet.id,ke.POLYGON+"",h.polygon.id,ke.OE+"",h.optimism.id,ke.ARBI+"",h.arbitrum.id,ke.BASE+"",h.base.id;h.mainnet.id+"",h.optimism.id+"",h.polygon.id+"",h.arbitrum.id+"",h.base.id+"";const _n="0x0000000000000000000000000000000000000000";BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");h.mainnet.id+"",BigInt(100),h.optimism.id+"",BigInt(600),h.polygon.id+"",BigInt(600),h.base.id+"",BigInt(600),h.arbitrum.id+"",BigInt(5300);const li="0x96D33bCF84DdE326014248E2896F79bbb9c13D6d",Qa="0xbDd84294bC8299861A2121F749A25EFEb7168a32",ci="0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2",di="0xffFb5fB14606EB3a548C113026355020dDF27535",pi="0x794a61358D6845594F94dc1DB02A252b5b4814aD",Xa="0xA5679C4272A056Bb83f039961fae7D99C48529F5",Za="0x26a687e8244f1866E9Aa2D400c8b9957Aa8e6Ad4",ui="0x49Afe3abCf66CF09Fab86cb1139D8811C8afe56F",Ja="0xf067575Eb60c7587C11e867907AA7284833704d1",mi="0x59525b9b23adc475ef91d98dae06b568ba574ce5",yi="0xa907504d7a4c415b4e6e1d0866d96afe8202f0e5",wi="0x1849324228d852a67eb7443e42d967e480ffe95d",hi="0xa238dd80c259a72e81d7e4664a9801593f98d1c5",es="0xFcBEc28c43E356693971a24bf3F2Fd7D965E2ebA",gi="0x07e144e336fcc3fe928a8a2a5714da64354c1aab",Ti="0x5e61a079A178f0E5784107a4963baAe0c5a680c6",bi="0x794a61358D6845594F94dc1DB02A252b5b4814aD",ts="0x2Ed1bd7f66e47113672f3870308b5E867C5bb743",ns="0x3bFE2a472d2964Ea4070725b7Fb0A868b3f08b63",fi="0xfdc7b8bFe0DD3513Cc669bB8d601Cb83e2F69cB0",vi="0x8dFf5E27EA6b7AC08EbFdf9eB090F32ee9a30fcf",xi="0x794a61358D6845594F94dc1DB02A252b5b4814aD",as="0x45b90480D6F643dE2f128db091A357C3c90399f2",ss="0xB71410736d2C8F2DAf30dA9D332dA10534d2624d",Nn="0x4F754e0F0924afD74980886b0B479Fa1D7C58D0D";h.mainnet.id+"",h.arbitrum.id+"",h.base.id+"",h.optimism.id+"",h.polygon.id+"";h.mainnet.id+"",h.arbitrum.id+"",h.base.id+"",h.optimism.id+"",h.polygon.id+"";const Tn=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"onBehalfOf",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"borrowRateMode",type:"uint256"},{indexed:!1,internalType:"uint256",name:"borrowRate",type:"uint256"},{indexed:!0,internalType:"uint16",name:"referral",type:"uint16"}],name:"Borrow",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"onBehalfOf",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!0,internalType:"uint16",name:"referral",type:"uint16"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"target",type:"address"},{indexed:!0,internalType:"address",name:"initiator",type:"address"},{indexed:!0,internalType:"address",name:"asset",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"premium",type:"uint256"},{indexed:!1,internalType:"uint16",name:"referralCode",type:"uint16"}],name:"FlashLoan",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"collateralAsset",type:"address"},{indexed:!0,internalType:"address",name:"debtAsset",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"debtToCover",type:"uint256"},{indexed:!1,internalType:"uint256",name:"liquidatedCollateralAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"liquidator",type:"address"},{indexed:!1,internalType:"bool",name:"receiveAToken",type:"bool"}],name:"LiquidationCall",type:"event"},{anonymous:!1,inputs:[],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"}],name:"RebalanceStableBorrowRate",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"repayer",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Repay",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!1,internalType:"uint256",name:"liquidityRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"stableBorrowRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"variableBorrowRate",type:"uint256"},{indexed:!1,internalType:"uint256",name:"liquidityIndex",type:"uint256"},{indexed:!1,internalType:"uint256",name:"variableBorrowIndex",type:"uint256"}],name:"ReserveDataUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"}],name:"ReserveUsedAsCollateralDisabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"}],name:"ReserveUsedAsCollateralEnabled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"rateMode",type:"uint256"}],name:"Swap",type:"event"},{anonymous:!1,inputs:[],name:"Unpaused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"reserve",type:"address"},{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Withdraw",type:"event"},{inputs:[],name:"FLASHLOAN_PREMIUM_TOTAL",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"LENDINGPOOL_REVISION",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_NUMBER_RESERVES",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_STABLE_RATE_BORROW_SIZE_PERCENT",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"interestRateMode",type:"uint256"},{internalType:"uint16",name:"referralCode",type:"uint16"},{internalType:"address",name:"onBehalfOf",type:"address"}],name:"borrow",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"uint16",name:"referralCode",type:"uint16"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"balanceFromBefore",type:"uint256"},{internalType:"uint256",name:"balanceToBefore",type:"uint256"}],name:"finalizeTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"receiverAddress",type:"address"},{internalType:"address[]",name:"assets",type:"address[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"uint256[]",name:"modes",type:"uint256[]"},{internalType:"address",name:"onBehalfOf",type:"address"},{internalType:"bytes",name:"params",type:"bytes"},{internalType:"uint16",name:"referralCode",type:"uint16"}],name:"flashLoan",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getAddressesProvider",outputs:[{internalType:"contract ILendingPoolAddressesProvider",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getConfiguration",outputs:[{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.ReserveConfigurationMap",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getReserveData",outputs:[{components:[{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.ReserveConfigurationMap",name:"configuration",type:"tuple"},{internalType:"uint128",name:"liquidityIndex",type:"uint128"},{internalType:"uint128",name:"variableBorrowIndex",type:"uint128"},{internalType:"uint128",name:"currentLiquidityRate",type:"uint128"},{internalType:"uint128",name:"currentVariableBorrowRate",type:"uint128"},{internalType:"uint128",name:"currentStableBorrowRate",type:"uint128"},{internalType:"uint40",name:"lastUpdateTimestamp",type:"uint40"},{internalType:"address",name:"aTokenAddress",type:"address"},{internalType:"address",name:"stableDebtTokenAddress",type:"address"},{internalType:"address",name:"variableDebtTokenAddress",type:"address"},{internalType:"address",name:"interestRateStrategyAddress",type:"address"},{internalType:"uint8",name:"id",type:"uint8"}],internalType:"struct DataTypes.ReserveData",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getReserveNormalizedIncome",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getReserveNormalizedVariableDebt",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getReservesList",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getUserAccountData",outputs:[{internalType:"uint256",name:"totalCollateralETH",type:"uint256"},{internalType:"uint256",name:"totalDebtETH",type:"uint256"},{internalType:"uint256",name:"availableBorrowsETH",type:"uint256"},{internalType:"uint256",name:"currentLiquidationThreshold",type:"uint256"},{internalType:"uint256",name:"ltv",type:"uint256"},{internalType:"uint256",name:"healthFactor",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getUserConfiguration",outputs:[{components:[{internalType:"uint256",name:"data",type:"uint256"}],internalType:"struct DataTypes.UserConfigurationMap",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"aTokenAddress",type:"address"},{internalType:"address",name:"stableDebtAddress",type:"address"},{internalType:"address",name:"variableDebtAddress",type:"address"},{internalType:"address",name:"interestRateStrategyAddress",type:"address"}],name:"initReserve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ILendingPoolAddressesProvider",name:"provider",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"collateralAsset",type:"address"},{internalType:"address",name:"debtAsset",type:"address"},{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"debtToCover",type:"uint256"},{internalType:"bool",name:"receiveAToken",type:"bool"}],name:"liquidationCall",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"user",type:"address"}],name:"rebalanceStableBorrowRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"rateMode",type:"uint256"},{internalType:"address",name:"onBehalfOf",type:"address"}],name:"repay",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"configuration",type:"uint256"}],name:"setConfiguration",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"val",type:"bool"}],name:"setPause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"address",name:"rateStrategyAddress",type:"address"}],name:"setReserveInterestRateStrategyAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"useAsCollateral",type:"bool"}],name:"setUserUseReserveAsCollateral",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"rateMode",type:"uint256"}],name:"swapBorrowRateMode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"to",type:"address"}],name:"withdraw",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"}],Ai=[{inputs:[{internalType:"address",name:"_pool",type:"address"},{internalType:"uint256",name:"_poolTokenAmount",type:"uint256"},{internalType:"uint256",name:"_slippageTolerance",type:"uint256"}],name:"calculateSwapDataParams",outputs:[{components:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISwapDataConsumingGuard.AssetStructure[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct ISwapDataConsumingGuard.AssetStructure",name:"dstData",type:"tuple"}],internalType:"struct ISwapDataConsumingGuard.SwapDataParams",name:"swapDataParams",type:"tuple"}],stateMutability:"nonpayable",type:"function"}],je=[{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"getAssetPrice",outputs:[{internalType:"uint256",name:"price",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isPool",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"extContract",type:"address"}],name:"getAssetGuard",outputs:[{internalType:"address",name:"guard",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"extContract",type:"address"}],name:"getContractGuard",outputs:[{internalType:"address",name:"guard",type:"address"}],stateMutability:"view",type:"function"}],Te=[{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"fundValue",type:"uint256"}],name:"calculateAvailableManagerFee",outputs:[{internalType:"uint256",name:"fee",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_asset",type:"address"},{internalType:"uint256",name:"_amount",type:"uint256"}],name:"deposit",outputs:[{internalType:"uint256",name:"liquidityMinted",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"getExitRemainingCooldown",outputs:[{internalType:"uint256",name:"remaining",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFundSummary",outputs:[{components:[{internalType:"string",name:"name",type:"string"},{internalType:"uint256",name:"totalSupply",type:"uint256"},{internalType:"uint256",name:"totalFundValue",type:"uint256"},{internalType:"address",name:"manager",type:"address"},{internalType:"string",name:"managerName",type:"string"},{internalType:"uint256",name:"creationTime",type:"uint256"},{internalType:"bool",name:"privatePool",type:"bool"},{internalType:"uint256",name:"performanceFeeNumerator",type:"uint256"},{internalType:"uint256",name:"managerFeeNumerator",type:"uint256"},{internalType:"uint256",name:"managerFeeDenominator",type:"uint256"},{internalType:"uint256",name:"exitFeeNumerator",type:"uint256"},{internalType:"uint256",name:"exitFeeDenominator",type:"uint256"},{internalType:"uint256",name:"entryFeeNumerator",type:"uint256"}],internalType:"struct PoolLogic.FundSummary",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"mintManagerFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolManagerLogic",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenPrice",outputs:[{internalType:"uint256",name:"price",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fundTokenAmount",type:"uint256"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"_complexAssetsData",type:"tuple[]"}],name:"withdrawSafe",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_fundTokenAmount",type:"uint256"},{internalType:"uint256",name:"_slippageTolerance",type:"uint256"}],name:"withdrawSafe",outputs:[],stateMutability:"nonpayable",type:"function"}],Si=[{type:"tuple[]",components:[{type:"address",name:"asset"},{type:"uint256",name:"amount"},{type:"tuple",name:"swapData",components:[{type:"bytes32",name:"routerKey"},{type:"bytes",name:"txData"}]}]}],Ei=[{type:"tuple",components:[{type:"bytes",name:"encodedSrcData"},{type:"tuple",name:"dstData",components:[{type:"address",name:"dstAddress"},{type:"uint256",name:"dstAmount"}]},{type:"uint256",name:"slippage"}]}],De=[{inputs:[],name:"getFundComposition",outputs:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"isDeposit",type:"bool"}],internalType:"struct IHasSupportedAsset.Asset[]",name:"assets",type:"tuple[]"},{internalType:"uint256[]",name:"balances",type:"uint256[]"},{internalType:"uint256[]",name:"rates",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFeeIncreaseInfo",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"member",type:"address"}],name:"isMemberAllowed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"minDepositUSD",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalFundValueMutable",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getSupportedAssets",outputs:[{components:[{internalType:"address",name:"asset",type:"address"},{internalType:"bool",name:"isDeposit",type:"bool"}],internalType:"struct IHasSupportedAsset.Asset[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxSupplyCap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolFeeShareNumerator",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],os=[{anonymous:!1,inputs:[{components:[{internalType:"address",name:"pool",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],indexed:!1,internalType:"struct RewardDistribution.RewardSummary[]",name:"distributedRewards",type:"tuple[]"},{indexed:!1,internalType:"uint256",name:"totalDistributedRewards",type:"uint256"}],name:"RewardsDistribution",type:"event"},{inputs:[],name:"calculateEligiblePoolsRewards",outputs:[{components:[{internalType:"address",name:"pool",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],internalType:"struct RewardDistribution.RewardSummary[]",name:"rewards",type:"tuple[]"},{internalType:"uint256",name:"totalRewardsToDistribute",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getEligiblePoolsWithTvl",outputs:[{internalType:"uint256",name:"tvl",type:"uint256"},{components:[{internalType:"address",name:"pool",type:"address"},{internalType:"uint256",name:"tvl",type:"uint256"}],internalType:"struct RewardDistribution.EligiblePool[]",name:"eligiblePools",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getRewardsAPY",outputs:[{internalType:"uint256",name:"apy",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getWhitelistedPools",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"lastDistributionTime",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"rewardAmountPerSecond",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"rewardToken",outputs:[{internalType:"contract IERC20",name:"",type:"address"}],stateMutability:"view",type:"function"}],Ot=[{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getUnlockTax",outputs:[{internalType:"uint256",name:"unlockTax",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"lockedBalance",outputs:[{internalType:"uint256",name:"amount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"unlockTime",outputs:[{internalType:"uint256",name:"unlockTime",type:"uint256"}],stateMutability:"view",type:"function"}],Ci=[{inputs:[],name:"EmptyPayload",type:"error"},{inputs:[],name:"FailedInnerCall",type:"error"},{inputs:[{internalType:"bytes",name:"returnData",type:"bytes"}],name:"FailedToApproveParaswap",type:"error"},{inputs:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"receivedAmount",type:"uint256"},{internalType:"uint256",name:"minAmount",type:"uint256"}],name:"InsufficientAmountReceived",type:"error"},{inputs:[{internalType:"bytes32",name:"routerKey",type:"bytes32"}],name:"InvalidAggregator",type:"error"},{inputs:[],name:"InvalidNativeTokenTransferEncoding",type:"error"},{inputs:[],name:"NativeTokenSentWithoutNativeSwap",type:"error"},{inputs:[{internalType:"uint256",name:"expectedAmount",type:"uint256"},{internalType:"uint256",name:"sentAmount",type:"uint256"}],name:"NotEnoughNativeTokenSent",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"SafeERC20FailedOperation",type:"error"},{inputs:[{internalType:"address",name:"router",type:"address"},{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct SrcTokenSwapDetails",name:"srcTokenSwapDetails",type:"tuple"},{internalType:"bytes",name:"returnData",type:"bytes"}],name:"SwapFailed",type:"error"},{inputs:[{internalType:"enum Permit2TransferType",name:"transferType",type:"uint8"}],name:"UnsupportedPermit2Method",type:"error"},{inputs:[],name:"UnsupportedTokenTransferMethod",type:"error"}],de=[...Ci,{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"limitOrderVault",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"}],name:"LimitOrderVaultCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"withdrawalVault",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"}],name:"WithdrawalCompleted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"withdrawalVault",type:"address"},{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!1,internalType:"address",name:"dHedgeVault",type:"address"},{indexed:!1,internalType:"uint256",name:"amountWithdrawn",type:"uint256"}],name:"WithdrawalInitiated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"depositor",type:"address"},{indexed:!0,internalType:"address",name:"dHedgeVault",type:"address"},{indexed:!1,internalType:"contract IERC20",name:"vaultDepositToken",type:"address"},{indexed:!1,internalType:"contract IERC20",name:"userDepositToken",type:"address"},{indexed:!1,internalType:"uint256",name:"amountReceived",type:"uint256"},{indexed:!1,internalType:"uint256",name:"lockupTime",type:"uint256"}],name:"ZapDepositCompleted",type:"event"},{inputs:[{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedDestTokenAmount",type:"uint256"}],name:"completeLimitOrderWithdrawal",outputs:[{internalType:"uint256",name:"destTokenAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"completeLimitOrderWithdrawal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedDestTokenAmount",type:"uint256"}],name:"completeLimitOrderWithdrawalFor",outputs:[{internalType:"uint256",name:"destTokenAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"}],name:"completeLimitOrderWithdrawalFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedDestTokenAmount",type:"uint256"}],name:"completeWithdrawal",outputs:[{internalType:"uint256",name:"destTokenAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"completeWithdrawal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"customCooldown",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"customCooldownDepositsWhitelist",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"dHedgePoolFactory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"contract IERC20",name:"_vaultDepositToken",type:"address"},{internalType:"uint256",name:"_depositAmount",type:"uint256"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"address",name:"_vaultDepositToken",type:"address"},{internalType:"uint256",name:"_depositAmount",type:"uint256"}],name:"depositQuote",outputs:[{internalType:"uint256",name:"expectedAmountReceived",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"contract IERC20",name:"_vaultDepositToken",type:"address"},{internalType:"uint256",name:"_depositAmount",type:"uint256"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"depositWithCustomCooldown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"",type:"uint8"}],name:"getLogic",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_depositor",type:"address"}],name:"getTrackedAssets",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"trackedAssets",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_depositor",type:"address"}],name:"getTrackedAssetsFromLimitOrders",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"trackedAssets",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_user",type:"address"},{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_amountIn",type:"uint256"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"_complexAssetsData",type:"tuple[]"}],name:"initLimitOrderWithdrawalFor",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"trackedAssets",type:"tuple[]"},{internalType:"address",name:"vault",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_amountIn",type:"uint256"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"_complexAssetsData",type:"tuple[]"}],name:"initWithdrawal",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"trackedAssets",type:"tuple[]"},{internalType:"address",name:"vault",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isAuthorizedWithdrawer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"}],name:"isdHedgeVault",outputs:[{internalType:"bool",name:"isVault",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"limitOrderContracts",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"nativeDeposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"nativeDepositWithCustomCooldown",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_portion",type:"uint256"},{internalType:"address",name:"_to",type:"address"}],name:"partialWithdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"toWhitelist",type:"address"},{internalType:"bool",name:"whitelisted",type:"bool"}],internalType:"struct EasySwapperV2.WhitelistSetting[]",name:"_whitelistSettings",type:"tuple[]"}],name:"setAuthorizedWithdrawers",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_customCooldown",type:"uint256"}],name:"setCustomCooldown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"toWhitelist",type:"address"},{internalType:"bool",name:"whitelisted",type:"bool"}],internalType:"struct EasySwapperV2.WhitelistSetting[]",name:"_whitelistSettings",type:"tuple[]"}],name:"setCustomCooldownWhitelist",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_vaultLogic",type:"address"}],name:"setLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISwapper",name:"_swapper",type:"address"}],name:"setSwapper",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgePoolFactory",type:"address"}],name:"setdHedgePoolFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"swapper",outputs:[{internalType:"contract ISwapper",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{internalType:"uint256",name:"_amountIn",type:"uint256"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"_complexAssetsData",type:"tuple[]"}],name:"unrollAndClaim",outputs:[{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"}],internalType:"struct IWithdrawalVault.TrackedAsset[]",name:"",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"withdrawalContracts",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"wrappedNativeToken",outputs:[{internalType:"contract IWETH",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails",name:"srcData",type:"tuple"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct EasySwapperV2.SingleInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"zapDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails",name:"srcData",type:"tuple"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct EasySwapperV2.SingleInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"zapDepositWithCustomCooldown",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails",name:"srcData",type:"tuple"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct EasySwapperV2.SingleInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"zapNativeDeposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"_dHedgeVault",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails",name:"srcData",type:"tuple"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct EasySwapperV2.SingleInSingleOutData",name:"_swapData",type:"tuple"},{internalType:"uint256",name:"_expectedAmountReceived",type:"uint256"}],name:"zapNativeDepositWithCustomCooldown",outputs:[],stateMutability:"payable",type:"function"}],Vt=[{inputs:[],name:"ExternalCallerNotAllowed",type:"error"},{inputs:[{internalType:"address",name:"asset",type:"address"}],name:"InvalidAsset",type:"error"},{inputs:[{internalType:"address",name:"pool",type:"address"}],name:"InvalidPool",type:"error"},{inputs:[{internalType:"uint256",name:"stopLossPriceD18",type:"uint256"},{internalType:"uint256",name:"takeProfitPriceD18",type:"uint256"},{internalType:"uint256",name:"currentPrice",type:"uint256"}],name:"InvalidPrices",type:"error"},{inputs:[{internalType:"string",name:"varName",type:"string"}],name:"InvalidValue",type:"error"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"pool",type:"address"}],name:"LimitOrderAlreadyExists",type:"error"},{inputs:[{internalType:"uint256",name:"currentPriceD18",type:"uint256"},{internalType:"uint256",name:"stopLossPriceD18",type:"uint256"},{internalType:"uint256",name:"takeProfitPriceD18",type:"uint256"}],name:"LimitOrderNotFillable",type:"error"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"}],name:"LimitOrderNotFound",type:"error"},{inputs:[{internalType:"address",name:"caller",type:"address"}],name:"NotAuthorizedKeeper",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"OwnableUnauthorizedAccount",type:"error"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"SafeERC20FailedOperation",type:"error"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"SettlementOrderNotFound",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"pool",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"LimitOrderCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"pool",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"LimitOrderDeleted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"pool",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"LimitOrderExecuted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"reason",type:"bytes"}],name:"LimitOrderExecutionFailed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"address",name:"pool",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"LimitOrderModified",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!1,internalType:"uint256",name:"destTokenAmountReceived",type:"uint256"}],name:"SettlementOrderExecuted",type:"event"},{inputs:[],name:"SLIPPAGE_DENOMINATOR",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderId_",type:"bytes32"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"complexAssetsData_",type:"tuple[]"}],name:"_executeLimitOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user_",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"swapData_",type:"tuple"}],name:"_executeSettlementOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"stopLossPriceD18",type:"uint256"},{internalType:"uint256",name:"takeProfitPriceD18",type:"uint256"},{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"pool",type:"address"},{internalType:"address",name:"pricingAsset",type:"address"}],internalType:"struct PoolLimitOrderManager.LimitOrderInfo",name:"limitOrderInfo_",type:"tuple"}],name:"createLimitOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultSlippageTolerance",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"pool_",type:"address"}],name:"deleteLimitOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"easySwapper",outputs:[{internalType:"contract IEasySwapperV2",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderId_",type:"bytes32"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"complexAssetsData_",type:"tuple[]"}],name:"executeLimitOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"orderId",type:"bytes32"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"complexAssetsData",type:"tuple[]"}],internalType:"struct PoolLimitOrderManager.LimitOrderExecution[]",name:"orders_",type:"tuple[]"}],name:"executeLimitOrders",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bytes32",name:"orderId",type:"bytes32"},{components:[{internalType:"address",name:"supportedAsset",type:"address"},{internalType:"bytes",name:"withdrawData",type:"bytes"},{internalType:"uint256",name:"slippageTolerance",type:"uint256"}],internalType:"struct IPoolLogic.ComplexAsset[]",name:"complexAssetsData",type:"tuple[]"}],internalType:"struct PoolLimitOrderManager.LimitOrderExecution[]",name:"orders_",type:"tuple[]"}],name:"executeLimitOrdersSafe",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"user_",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"swapData_",type:"tuple"}],name:"executeSettlementOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"user",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"swapData",type:"tuple"}],internalType:"struct PoolLimitOrderManager.SettlementOrderExecution[]",name:"orders_",type:"tuple[]"}],name:"executeSettlementOrders",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"user",type:"address"},{components:[{components:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{components:[{internalType:"bytes32",name:"routerKey",type:"bytes32"},{internalType:"bytes",name:"swapData",type:"bytes"}],internalType:"struct ISwapper.AggregatorData",name:"aggregatorData",type:"tuple"}],internalType:"struct ISwapper.SrcTokenSwapDetails[]",name:"srcData",type:"tuple[]"},{components:[{internalType:"contract IERC20",name:"destToken",type:"address"},{internalType:"uint256",name:"minDestAmount",type:"uint256"}],internalType:"struct ISwapper.DestData",name:"destData",type:"tuple"}],internalType:"struct IWithdrawalVault.MultiInSingleOutData",name:"swapData",type:"tuple"}],internalType:"struct PoolLimitOrderManager.SettlementOrderExecution[]",name:"orders_",type:"tuple[]"}],name:"executeSettlementOrdersSafe",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getAllLimitOrderIds",outputs:[{internalType:"bytes32[]",name:"limitOrderIds_",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAllUsersToSettle",outputs:[{internalType:"address[]",name:"usersToSettle_",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"limitOrderSettlementToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderId",type:"bytes32"}],name:"limitOrders",outputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"stopLossPriceD18",type:"uint256"},{internalType:"uint256",name:"takeProfitPriceD18",type:"uint256"},{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"pool",type:"address"},{internalType:"address",name:"pricingAsset",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"stopLossPriceD18",type:"uint256"},{internalType:"uint256",name:"takeProfitPriceD18",type:"uint256"},{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"pool",type:"address"},{internalType:"address",name:"pricingAsset",type:"address"}],internalType:"struct PoolLimitOrderManager.LimitOrderInfo",name:"modificationInfo_",type:"tuple"}],name:"modifyLimitOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"limitOrderSettlementToken_",type:"address"}],name:"setLimitOrderSettlementToken",outputs:[],stateMutability:"nonpayable",type:"function"}],rs={[h.mainnet.id]:{factory:li,easySwapperV2:Qa,aaveLendingPoolV3:ci},[h.polygon.id]:{factory:fi,aaveLendingPoolV2:vi,aaveLendingPoolV3:xi,easySwapperV2:as,limitOrder:ss},[h.optimism.id]:{factory:Ti,rewardDistribution:gi,aaveLendingPoolV3:bi,easySwapperV2:ts,limitOrder:ns},[h.arbitrum.id]:{factory:di,aaveLendingPoolV3:pi,easySwapperV2:Xa,limitOrder:Za},[h.base.id]:{factory:ui,flatcoinPointsModule:mi,easySwapperV2:Ja,aaveLendingPoolV3:hi,limitOrder:es}},is={factory:je,aaveLendingPoolV2:Tn,aaveLendingPoolV3:Tn,rewardDistribution:os,poolManagerLogic:De,erc20:I.erc20Abi,poolLogic:Te,flatcoinPointsModule:Ot,easySwapperV2:de,limitOrder:Vt},bn="Gas estimate error occurred",ls="See console logs to report error details.",fn="Missing simulation params",cs="Simulation timeout",ds="swap_data_deposit_error",ps="swap_data_withdraw_error",st={title:"Low Slippage",hint:"Please increase slippage tolerance and try again."},us={"invalid liquidityMinted":st,"high withdraw slippage":st,"high deposit slippage":st,"high swap slippage":st,InsufficientAmountReceived:st,SwapFailed:{title:"Swap Failed",hint:"Please refresh the swap quote or choose another swap source in settings and try again."},"assetType not handled":{title:"Single Asset Withdrawal not available",hint:"Please use All Assets option."},[ds]:{title:"Swap Quote Fetching Error",hint:"Please select a different deposit option, refresh the swap quote, or choose another swap source in settings."},[ps]:{title:"Swap Quote Fetching Error",hint:"Please refresh the swap quote, choose another swap source in settings, or claim your assets without a swap."},dh1:{title:"Factory contract is paused",hint:"Try again later or contact the team on Discord if the issue persists."},dh2:{title:"Vault is paused",hint:"Try again later or contact the team on Discord if the issue persists."},dh3:{title:"Vault tokens are in cooldown period",hint:"Wait for the cooldown period to expire and try again."},dh4:{title:"Only vault manager allowed",hint:"Only the vault manager can perform this action."},dh5:{title:"Only allowed addresses can use custom cooldown",hint:"Only whitelisted addresses can perform this action."},dh6:{title:"Invalid cooldown duration",hint:"Cooldown must be between 5 minutes and the maximum exit cooldown."},dh7:{title:"Only whitelisted vault members allowed",hint:"Only the manager or whitelisted members can deposit to this private vault."},dh8:{title:"Asset not supported for deposits",hint:"Use a supported deposit asset."},dh9:{title:"ERC721 tokens not supported as deposit asset",hint:"Use an ERC20 token for deposits."},dh10:{title:"Amount below minimum threshold",hint:"Change amount to meet the minimum threshold."},dh11:{title:"Withdrawal too soon after deposit",hint:"Wait at least one block after deposit before withdrawing."},dh12:{title:"Insufficient balance for withdrawal",hint:"Check if you have enough vault tokens for withdrawal."},dh13:{title:"Liquidity allocation invariant breach",hint:"Contact the team on Discord."},dh14:{title:"Exit fee transfer failed",hint:"Contact the team on Discord."},dh15:{title:"Withdraw asset can not be zero",hint:"Contact the team on Discord."},dh16:{title:"Value calculation mismatch during withdrawal",hint:"Try again later or contact the team on Discord if the issue persists."},dh17:{title:"Supply calculation mismatch during withdrawal",hint:"Try again later or contact the team on Discord if the issue persists."},dh18:{title:"Address can not be zero",hint:"Contact the team on Discord."},dh19:{title:"Asset mismatch in complex asset data",hint:"Contact the team on Discord."},dh20:{title:"Trading is paused for this vault",hint:"Try again later or contact the team on Discord if the issue persists."},dh21:{title:"ERC721 transfer not verified",hint:"If you believe this is a bug, contact the team on Discord."},dh22:{title:"Asset not enabled in vault",hint:"Add the asset to the vault's supported assets."},dh23:{title:"Invalid transaction",hint:"dHEDGE protocol either does not support this action or this is a bug."},dh24:{title:"Unauthorized transaction executor",hint:"Only manager, trader, or public transactions are allowed."},dh25:{title:"Deposit value below minimum USD requirement",hint:"Increase deposit amount to meet the minimum USD value requirement."},dh26:{title:"Withdrawal slippage tolerance exceeded",hint:"Increase slippage tolerance or try again with better market conditions."},dh27:{title:"High withdrawal slippage protection triggered",hint:"Try again with better market conditions or contact the team on Discord if the issue persists."},dh28:{title:"Unauthorized sender",hint:"Only factory or owner can peform this action."},dh29:{title:"Invalid flash loan initiator",hint:"If you believe this is a bug, contact the team on Discord."},dh30:{title:"Invalid flash loan sender",hint:"If you believe this is a bug, contact the team on Discord."},dh31:{title:"Only PoolManagerLogic contract allowed",hint:"If you believe this is a bug, contact the team on Discord."},dh32:{title:"Maximum supply cap reached",hint:"Cannot mint such amount of vault tokens as it would exceed the maximum supply cap."}},ms="Invalid limit order prices",ys={InvalidPrices:{title:ms}},Di=[...Object.keys(us),...Object.keys(ys)],U=18,kn={address:"0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",symbol:"USDCe",decimals:6,value:""},re={address:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",symbol:"USDC",decimals:6,value:""},dt={address:"0x82af49447d8a07e3bd95bd0d56f35241523fbab1",symbol:"WETH",decimals:U,value:""},Pe={address:"0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f",symbol:"WBTC",decimals:8,value:""},Ii={address:"0x6c84a8f1c29108F47a79964b5Fe888D4f4D0dE40",symbol:"tBTC",decimals:U,value:""},_i={address:"0x5979D7b546E38E414F7E9822514be443A4800529",symbol:"wstETH",decimals:U,value:""},Ni={address:"0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9",symbol:"USDT",decimals:6,value:""},ki={address:"0x2bcC6D6CdBbDC0a4071e48bb3B969b06B3330c07",symbol:"SOL",decimals:9,value:""},Pi={address:"0xa9004a5421372e1d83fb1f85b0fc986c912f91f3",symbol:"WBNB",decimals:U,value:""},Oi={address:"0xf97f4df75117a78c1a5a0dbb814af92458539fb4",symbol:"LINK",decimals:U,value:""},ws={address:"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",symbol:"USDC",decimals:6,value:""},Ri={address:"0xd9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca",symbol:"USDbC",decimals:6,value:""},Pn={address:"0x4200000000000000000000000000000000000006",symbol:"WETH",decimals:U,value:""},Li={address:"0x2ae3f1ec7f1f5012cfeab0185bfc7aa3cf0dec22",symbol:"cbETH",decimals:U,value:""},hs={address:"0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf",symbol:"cbBTC",decimals:8,value:""},Rt={address:"0xb6fe221fe9eef5aba221c348ba20a1bf5e73624c",symbol:"rETH",decimals:U,value:""},Mi={address:"0x236aa50979D5f3De3Bd1Eeb40E81137F22ab794b",symbol:"tBTC",decimals:U,value:""},ji={address:"0xc1cba3fcea344f92d9239c08c0568f6f2f0ee452",symbol:"wstETH",decimals:U,value:""},On={address:"0x7F5c764cBc14f9669B88837ca1490cCa17c31607",symbol:"USDCe",decimals:6,value:""},gs={address:"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",symbol:"USDC",decimals:6,value:""},Ts={address:"0x94b008aa00579c1307b0ef2c499ad98a8ce58e58",symbol:"USDT",decimals:6,value:""},Rn={address:"0x4200000000000000000000000000000000000006",symbol:"WETH",decimals:U,value:""},Bi={address:"0x8c6f28f2F1A3C87F0f938b96d27520d9751ec8d9",symbol:"sUSD",decimals:U,value:""},bs={address:"0xda10009cbd5d07dd0cecc66161fc93d7c9000da1",symbol:"DAI",decimals:U,value:""},ze={address:"0x68f180fcce6836688e9084f035309e29bf0a2095",symbol:"WBTC",decimals:8,value:""},Fi={address:"0xe405de8f52ba7559f9df3c368500b6e6ae6cee49",symbol:"sETH",decimals:U,value:""},Wi={address:"0x350a791bfc2c21f9ed5d10980dad2e2638ffa7f6",symbol:"LINK",decimals:U,value:""},Ui={address:"0x6c84a8f1c29108F47a79964b5Fe888D4f4D0dE40",symbol:"tBTC",decimals:U,value:""},$i={address:"0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb",symbol:"wstETH",decimals:U,value:""},Ln={address:"0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",symbol:"WETH",decimals:U,value:""},Mn={address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",symbol:"USDCe",decimals:6,value:""},fs={address:"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",symbol:"USDC",decimals:6,value:""},zi={address:"0x553d3d295e0f695b9228246232edf400ed3560b5",symbol:"PAXG",decimals:U,value:""},jn={address:"0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6",symbol:"WBTC",decimals:8,value:""},vs={address:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",symbol:"WPOL",decimals:U,value:""},xs={address:"0xc2132d05d31c914a87c6611c10748aeb04b58e8f",symbol:"USDT",decimals:6,value:""},As={address:"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063",symbol:"DAI",decimals:U,value:""},Hi={address:"0x236aa50979d5f3de3bd1eeb40e81137f22ab794b",symbol:"tBTC",decimals:U,value:""},Bn={address:"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",symbol:"WETH",decimals:U,value:""},Ss={address:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",symbol:"USDC",decimals:6,value:""},Fn={address:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",symbol:"WBTC",decimals:8,value:""},Es={address:"0xdac17f958d2ee523a2206206994597c13d831ec7",symbol:"USDT",decimals:6,value:""},Bt={address:_n,symbol:"all",decimals:U,value:""},Wn={[kn.address.toLowerCase()]:"USDCe",[On.address.toLowerCase()]:"USDCe",[Mn.address.toLowerCase()]:"USDCe"},Cs={[h.mainnet.id]:Bn,[h.optimism.id]:Rn,[h.base.id]:Pn,[h.polygon.id]:Ln,[h.arbitrum.id]:dt},Ds={[h.optimism.id]:ze,[h.base.id]:hs,[h.polygon.id]:jn,[h.arbitrum.id]:Pe,[h.mainnet.id]:Fn},Vi={[h.optimism.id]:{WETH:Rn,USDC:gs,WBTC:ze,USDCe:On,USDT:Ts,DAI:bs},[h.polygon.id]:{WMATIC:vs,WETH:Ln,USDC:fs,WBTC:jn,USDCe:Mn,USDT:xs,DAI:As},[h.arbitrum.id]:{WETH:dt,USDC:re,WBTC:Pe,USDCe:kn},[h.base.id]:{WETH:Pn,USDC:ws},[h.mainnet.id]:{WETH:Bn,USDC:Ss,WBTC:Fn,USDT:Es}},Gi="https://hermes.pyth.network",qi="https://flat.money/flatcoin",Yi="https://v1.flat.money/flatcoin",Lt={RETH_BASE:"0xdb0cd65dcc7fe07003ce1201f91e1f966fa95768",WBTC_OPTIMISM:"0x6d857e9d24a7566bb72a3fb0847a3e0e4e1c2879",WBTC_ARBITRUM:"0xb1353d51991e79fefd4bfdba2a03e9f0232814a6"},Ki=Object.values(Lt),Qi={[Lt.RETH_BASE]:{symbol:Rt.symbol,decimals:Rt.decimals,address:Rt.address},[Lt.WBTC_OPTIMISM]:{symbol:ze.symbol,decimals:ze.decimals,address:ze.address},[Lt.WBTC_ARBITRUM]:{symbol:Pe.symbol,decimals:Pe.decimals,address:Pe.address}},Is="0xb95fb324b8a2faf8ec4f76e3df46c718402736e2",_s=[Is,"0x357cb23571ef7a3d6189b7facfc361ea71f7cab5"],Se={DEPOSIT:"deposit",DEPOSIT_CUSTOM:"depositWithCustomCooldown",NATIVE:"nativeDeposit",NATIVE_CUSTOM:"nativeDepositWithCustomCooldown",ZAP_NATIVE_DEPOSIT:"zapNativeDeposit",ZAP_NATIVE_DEPOSIT_CUSTOM:"zapNativeDepositWithCustomCooldown",ZAP_DEPOSIT:"zapDeposit",ZAP_DEPOSIT_CUSTOM:"zapDepositWithCustomCooldown"},ne={SOL_ARBITRUM:"0x09400d9db990d5ed3f35d7be61dfaeb900af03c9",BTC_ARBITRUM:"0x47c031236e19d024b42f8ae6780e44a573170703",WETH_WETH_ARBITRUM:"0x70d95587d40a2caf56bd97485ab3eec10bee6336",WETH_USDC_ARBITRUM:"0x450bb6774dd8a756274e0ab4107953259d2ac541",SUI_ARBITRUM:"0x6ecf2133e2c9751caadcb6958b9654bae198a797",DOGE_ARBITRUM:"0x6853ea96ff216fab11d2d930ce3c508556a4bdc4",XRP_ARBITRUM:"0x0ccb4faa6f1f1b30911619f1184082ab4e25813c",CRV_ARBITRUM:"0x0e46941f9bff8d0784bffa3d0d7883cdb82d7ae7",HYPE_ARBITRUM:"0xbcb8fe13d02b023e8f94f6881cc0192fd918a5c0",BNB_ARBITRUM:"0x2d340912aa47e33c90efb078e69e70efe2b34b9b",BNB_WBTC_USDC_ARBITRUM:"0x065577D05c3D4C11505ed7bc97BBF85d462A6A6f",LINK_ARBITRUM:"0x7f1fa204bb700853d36994da19f830b6ad18455c",PUMP_ARBITRUM:"0x4c0bb704529fa49a26bd854802d70206982c6f1b"},Ns=Object.values(ne),Xi={[ne.SOL_ARBITRUM]:re,[ne.BTC_ARBITRUM]:Pe,[ne.WETH_WETH_ARBITRUM]:dt,[ne.WETH_USDC_ARBITRUM]:dt,[ne.SUI_ARBITRUM]:re,[ne.DOGE_ARBITRUM]:re,[ne.XRP_ARBITRUM]:re,[ne.CRV_ARBITRUM]:re,[ne.HYPE_ARBITRUM]:re,[ne.BNB_ARBITRUM]:re,[ne.LINK_ARBITRUM]:re,[ne.PUMP_ARBITRUM]:re,[ne.BNB_WBTC_USDC_ARBITRUM]:re},Zi={"0x9a916e55f5b67226734cd7b465d51bce1d11a89a":re},lt={IS_BATCH_TRANSACTIONS_ENABLED:"isBatchTransactionsEnabled",REFERRER:"referrer",REF_POOL:"ref_pool"},H=(t,e)=>t?.toLowerCase()===e?.toLowerCase(),J=t=>H(t,_n),W=(t,e)=>rs[e]?.[t]??C,ks=t=>is[t],Ps=t=>t&&`${t.substring(0,6)}...${t.substring(t.length-4,t.length)}`,vn=({address:t,chainId:e})=>{const n=W("aaveLendingPoolV3",e);return H(t,n)},Os=({sourceAddress:t,amount:e})=>`${t}_${e}`,Rs=(t,e)=>{const n=t.slice(0,e),a=t.slice(e);return{firstPart:n,secondPart:a}},mt=(t,e)=>t/e*100,pt=t=>t<1?4:t<10?3:2,Ft=(t,e=k)=>new b(t.toString()).shiftedBy(e).toFixed(0),xn=(t,e,n,a)=>new b(e).dividedBy(n).multipliedBy(t).shiftedBy(-(a||k)).toNumber(),Un=t=>{const e=new b(.01),n=new b(t),a=!n.isZero()&&n.lt(e)?e:n;return BigInt(a.multipliedBy(100).toFixed(0))},Ji=({vaultAddress:t,swapData:e,sendTokenAddress:n,sendTokenAmount:a,vaultDepositTokenAddress:o,minVaultTokensReceivedAmount:r,routerKey:i="ONE_INCH",swapDestinationAmount:l,swapSlippage:c})=>{const d=new b(l).multipliedBy(1-c/100).toFixed(0),u=[I.stringToHex(i,{size:32}),e];return[t,[[n,a,u],[o,d]],r]},el=({receiveAssetAddress:t,assets:e,swapData:n})=>{const a={srcData:[],destAmount:new b("0")},{srcData:o}=e?.reduce((r,i)=>{const l=n?.[i.address];if(!l)return r;const c=[I.stringToHex(l.routerKey,{size:32}),l.rawTransaction.data],d=[i.address,i.rawBalance,c];return{srcData:[...r.srcData,d],destAmount:r.destAmount.plus(l.destinationAmount)}},a)??a;return[o,[t,"0"]]},tl=({assetAddress:t,swapData:e,swapParams:n,slippageToleranceForContractTransaction:a})=>{if(!n)return{supportedAsset:t,withdrawData:"",slippageTolerance:BigInt(0)};const{srcData:o,dstData:r}=n,i=o.map(({asset:d,amount:u})=>{const m=e?.[Os({sourceAddress:d,amount:u.toString()})];return{asset:d,amount:u,swapData:{routerKey:I.stringToHex(m?.routerKey??"",{size:32}),txData:m?.rawTransaction.data??"0x"}}}),l=I.encodeAbiParameters(Si,[i]),c=I.encodeAbiParameters(Ei,[{encodedSrcData:l,dstData:{dstAddress:r.asset,dstAmount:r.amount},slippage:a}]);return{supportedAsset:t,withdrawData:c,slippageTolerance:a}},Gt=(t,e)=>$e[e]?.nativeTokenSymbol===t,Ls=({nativeTokenBalance:t,tokenDecimals:e,gasPrice:n})=>{const a=new b(n).multipliedBy(Va).shiftedBy(-e),o=new b(t).minus(a);return o.gt("0")?o:new b("0")},Ms=t=>oi.includes(t),nl=t=>{const e=Object.values(t).reduce((n,{type:a})=>(n[a]=n[a]+1,n),{string:0,number:0});if(e.string>10)throw new Error("logger params must contain up to 10 string values");if(e.number>40)throw new Error("logger params must contain up to 40 numeric values");return!0},al=(t,e=150)=>t.length>e?t.substring(0,e):t,Ta=(t,e=Di)=>{const n=t.toLowerCase();return e.sort((a,o)=>o.length-a.length).find(a=>n.includes(a.toLowerCase()))},ba=t=>us[t]??ys[t],js=({errorMessage:t,abiErrors:e})=>{if(!t||t.includes("User rejected"))return null;const n=e.find(r=>t.includes(r));if(n&&Ta(n))return ba(n);const a=Ta(t);if(a)return ba(a);const[o]=t.split(n?".":"Contract").map(r=>r.trim());return{title:"Transaction failed",hint:`${al(o??"")} ${n?`: ${n}`:""}`}},sl=t=>typeof t=="bigint"&&t!==BigInt(0),Re=(t,e=U)=>new b(t).shiftedBy(-e).toNumber(),Bs=t=>!isNaN(parseFloat(t))&&!isNaN(t),ee=({value:t,minimumFractionDigits:e=2,maximumFractionDigits:n=2,compact:a=!1,normalize:o=!1})=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",notation:a?"compact":void 0,minimumFractionDigits:e,maximumFractionDigits:n}).format(o?Re(t):Number(t)),An=t=>Bs(t)?new b(t).toFixed():"",fa=["₀","₁","₂","₃","₄","₅","₆","₇","₈","₉"],ve=({value:t,decimals:e})=>{const n=new b(t);if(n.isGreaterThan(1)||n.isZero())return An(n.toFixed(e));const o=(/e/i.test(t.toString())?parseFloat(t.toString()).toFixed(U):t.toString()).match(/^0\.(0+)(\d+)$/);if(o){const[,r,i]=o;if(r.length>=e&&r.length<fa.length)return`0.0${fa[r.length]}${i.slice(0,3)}`}return An(n.toFixed(e))},yt=(t,e=0)=>`${t.toLocaleString("en-US",{maximumFractionDigits:e})}%`,Fs=t=>t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,","),it=(t,e,n=0)=>{const a=mt(+t,e);return yt(a,n)},Mt=({currency:t,value:e})=>t==="USD"?ee({value:e}):`${Ka[t]} ${ve({value:e,decimals:si[t]})}`,ol=(t,e)=>new b(new b(t).toFixed(e,b.ROUND_DOWN)).toString(),rl=(t,e=3,n=2)=>{if(t.length<=5)return t;const a="...";return t.length<=e+n+a.length?t:`${t.slice(0,e)}${a}${t.slice(-n)}`},Ws=({balance:t,symbol:e,precision:n,truncateSymbol:a})=>`${ol(t,n)} ${rl(e)}`,qt=typeof window<"u",$n=t=>H(yi,t)||H(wi,t),Us=t=>Ki.some(e=>H(e,t)),$s=t=>Qi[t.toLowerCase()]??{symbol:"",decimals:18,address:C},il=t=>H(t,Is)?Yi:qi,zn=t=>`eth_${t}`,ll=({action:t,log:e,symbol:n,vaultAddress:a,chainId:o})=>{const r={[ge.SYMBOL.NAME]:n,[ge.CHAIN_ID.NAME]:o,[ge.ADDRESS.NAME]:zn(a)};ri[t].forEach(i=>{e?.(i,r)})},cl=t=>Ns.some(e=>H(e,t)),dl=t=>Xi[t.toLowerCase()]??{symbol:"",decimals:18,address:C},pl=t=>Zi[t.toLowerCase()];function ul(){if(qt)try{const t=localStorage.getItem(lt.IS_BATCH_TRANSACTIONS_ENABLED);return t?JSON.parse(t):void 0}catch{return}}function ml(t){if(qt)try{localStorage.setItem(lt.IS_BATCH_TRANSACTIONS_ENABLED,JSON.stringify(t))}catch(e){console.error("[core-kit]: Failed to persist batch transactions setting",e)}}function Z(){}const va={address:C,symbol:"",decimals:k,value:""},zs=t=>{const e=t?.poolAddress??C,n={address:e,symbol:t?.poolConfigMap?.[e]?.symbol??"",decimals:k,value:""},a=t?.type??"deposit",o=a==="deposit"?va:n,r=a==="deposit"?n:va;return{poolAddress:e,poolConfigMap:{...t?.poolConfigMap},settings:{slippage:"auto",isInfiniteAllowance:!1,isMultiAssetWithdrawalEnabled:!0,isMaxSlippageLoading:!1,availableAggregators:[],...t?.settings,isBatchTransactionsEnabled:ul()??t?.settings?.isBatchTransactionsEnabled??!1,selectedAggregators:t?.settings?.selectedAggregators??t?.settings?.availableAggregators??[]},type:a,input:{sendToken:{...o,...t?.input?.sendToken},receiveToken:{...r,...t?.input?.receiveToken}},modal:{isOpen:!1,status:"None",receiveTokens:null,sendTokens:null,...t?.modal},transactions:t?.transactions??[],poolFallbackData:{address:C,...t?.poolFallbackData},customDepositTokensPerChain:t?.customDepositTokensPerChain,defaultChainId:t?.defaultChainId}},Hs=p.createContext({...zs({poolAddress:C,poolConfigMap:{}})}),Vs=p.createContext({setPoolAddress:Z,setTradingType:Z,updateSendTokenInput:Z,updateReceiveTokenInput:Z,updateTradingSettings:Z,updateTradingModal:Z,updateTransactions:Z,updatePoolFallbackData:Z,updateCustomDepositTokensPerChain:Z,onTradingSettleError:Z,onTransactionError:Z,onTransactionSuccess:Z,onTransactionEstimationError:Z,onTokenSelector:Z,onLog:Z,onSimulateTransaction:()=>Promise.resolve(null),getSwapData:()=>Promise.resolve(null),getSwapQuotes:()=>Promise.resolve(null),updatePoolConfig:Z,addPoolConfig:Z}),yl=t=>(e,n)=>{switch(n.type){case"SET_POOL_ADDRESS":return{...e,poolAddress:n.payload};case"SET_TRADING_TYPE":return{...e,type:n.payload};case"UPDATE_SEND_TOKEN_INPUT":return{...e,input:{...e.input,sendToken:{...e.input.sendToken,...n.payload}}};case"UPDATE_RECEIVE_TOKEN_INPUT":return{...e,input:{...e.input,receiveToken:{...e.input.receiveToken,...n.payload}}};case"UPDATE_TRADING_SETTINGS":return{...e,settings:{...e.settings,...n.payload}};case"UPDATE_TRADING_MODAL":return{...e,modal:{...e.modal,...n.payload}};case"UPDATE_POOL_FALLBACK_DATA":return{...e,poolFallbackData:n.payload};case"UPDATE_POOL_CONFIG":return{...e,poolConfigMap:{...e.poolConfigMap,...Object.entries(n.payload).filter(([a])=>!!e.poolConfigMap?.[a]).reduce((a,[o,r])=>({...a,[o]:{...e.poolConfigMap?.[o],...r}}),e.poolConfigMap)}};case"UPDATE_CUSTOM_DEPOSIT_TOKENS_PER_CHAIN":return{...e,customDepositTokensPerChain:{...e.customDepositTokensPerChain??{},...n.payload}};case"ADD_POOL_CONFIG":return{...e,poolConfigMap:{...e.poolConfigMap,[n.payload.address]:n.payload}};case"UPDATE_TRADING_TRANSACTIONS":switch(n.payload.type){case"remove":const a=e.transactions.find(r=>r.txHash===n.payload.txHash);return n.payload.status==="success"&&a&&ll({action:a.action,log:t,symbol:a.symbol,chainId:a.chainId,vaultAddress:e.poolAddress}),{...e,transactions:n.payload.txHash?e.transactions.filter(r=>r.txHash!==n.payload.txHash):e.transactions.slice(0,-1)};case"add":return{...e,transactions:[{action:n.payload.action,chainId:n.payload.chainId,txHash:n.payload.txHash,symbol:n.payload.symbol},...e.transactions]};case"update":const o=Math.max(e.transactions.findIndex(({txHash:r})=>r===n.payload.txHash),0);return{...e,transactions:e.transactions.map((r,i)=>i===o?{...r,...n.payload}:r)}}break;default:return e}},wl=({children:t,initialState:e,actions:{onSetPoolAddress:n,onUpdateSendTokenInput:a,onUpdateReceiveTokenInput:o,onUpdateTradingSettings:r,onSetTradingType:i,onUpdateTradingModal:l,onUpdateTransactions:c,onTransactionError:d,onTransactionSuccess:u,onTransactionEstimationError:m,onTokenSelector:y,onLog:w,onSimulateTransaction:g,onTradingSettleError:T,getSwapData:x,getSwapQuotes:D}})=>{const[z,_]=p.useReducer(yl(w),zs(e)),X=p.useCallback(M=>{_({type:"SET_POOL_ADDRESS",payload:M}),n?.(M)},[n]),he=p.useCallback(M=>{_({type:"UPDATE_SEND_TOKEN_INPUT",payload:M}),a?.(M)},[a]),fe=p.useCallback(M=>{_({type:"UPDATE_RECEIVE_TOKEN_INPUT",payload:M}),o?.(M)},[o]),Dt=p.useCallback(M=>{_({type:"UPDATE_TRADING_SETTINGS",payload:M}),r?.(M)},[r]),It=p.useCallback(M=>{_({type:"SET_TRADING_TYPE",payload:M}),i?.(M)},[i]),_t=p.useCallback(M=>{_({type:"UPDATE_TRADING_MODAL",payload:M}),l?.(M)},[l]),nt=p.useCallback(M=>{_({type:"UPDATE_TRADING_TRANSACTIONS",payload:M}),c?.(M)},[c]),ya=p.useCallback(M=>{_({type:"UPDATE_POOL_FALLBACK_DATA",payload:M})},[]),wa=p.useCallback(M=>{_({type:"UPDATE_CUSTOM_DEPOSIT_TOKENS_PER_CHAIN",payload:M})},[]),ha=p.useCallback(M=>{_({type:"UPDATE_POOL_CONFIG",payload:M})},[]),ga=p.useCallback(M=>{_({type:"ADD_POOL_CONFIG",payload:M})},[]),Br=p.useMemo(()=>({setPoolAddress:X,setTradingType:It,updateTradingSettings:Dt,updateSendTokenInput:he,updateReceiveTokenInput:fe,updateTradingModal:_t,updateTransactions:nt,updatePoolFallbackData:ya,updateCustomDepositTokensPerChain:wa,onTransactionError:d,onTransactionSuccess:u,onTransactionEstimationError:m,onTokenSelector:y,onLog:w,onSimulateTransaction:g,onTradingSettleError:T,getSwapData:x,getSwapQuotes:D,updatePoolConfig:ha,addPoolConfig:ga}),[X,It,Dt,he,fe,_t,nt,ya,wa,d,u,m,y,w,g,T,x,D,ha,ga]);return s.jsx(Vs.Provider,{value:Br,children:s.jsx(Hs.Provider,{value:z,children:t})})},Q=()=>p.useContext(Hs),F=()=>p.useContext(Vs),hl=()=>F().setPoolAddress,gl=()=>F().updateSendTokenInput,Tl=()=>F().updateReceiveTokenInput,bl=()=>F().updateTradingSettings,fl=()=>F().setTradingType,vl=()=>F().updateTradingModal,Gs=()=>F().updatePoolFallbackData,qs=()=>F().onTransactionError,Ys=()=>F().onTradingSettleError,Ks=()=>F().onTransactionSuccess,Yt=()=>F().onTransactionEstimationError,Qs=()=>F().onTokenSelector,Be=()=>F().onLog,Xs=()=>F().onSimulateTransaction,Zs=()=>{const t=F().getSwapData,{settings:{selectedAggregators:e}}=Q();return p.useCallback(({signal:n,variables:a})=>t({signal:n,variables:{...a,...!!e.length&&{aggregators:e}}}),[t,e])},xl=()=>{const t=F().getSwapQuotes,{settings:{selectedAggregators:e}}=Q();return p.useCallback(({signal:n,variables:a})=>t({signal:n,variables:{...a,...!!e.length&&{aggregators:e}}}),[t,e])},Al=()=>F().updatePoolConfig,Sl=()=>F().addPoolConfig,El=()=>F().updateCustomDepositTokensPerChain,Js=()=>[Q().poolAddress,F().setPoolAddress],v=()=>{const{poolAddress:t,poolConfigMap:e}=Q();return e[t]??Wa},Ye=()=>{const{poolConfigMap:t}=Q();return p.useMemo(()=>Object.values(t),[t])},Cl=t=>{const e=Ye();return p.useMemo(()=>e.some(n=>n.address===t),[e,t])},Fe=()=>{const{poolFallbackData:t,poolAddress:e}=Q(),n=Gs();return[t.address===e?t:{address:e},n]},eo=()=>Q().input,N=()=>[eo().sendToken,F().updateSendTokenInput],O=()=>[eo().receiveToken,F().updateReceiveTokenInput],q=()=>[Q().settings,F().updateTradingSettings],to=()=>[Q().customDepositTokensPerChain,F().updateCustomDepositTokensPerChain],K=()=>[Q().modal,F().updateTradingModal],pe=()=>[Q().type,F().setTradingType],We=()=>Q().type==="deposit",ae=()=>[Q().transactions,F().updateTransactions],Dl=()=>Q().defaultChainId,rn=(t,e)=>e.some(({id:n})=>n===t),xe=()=>{const{chain:t}=E.useAccount(),{chains:e}=E.useConfig(),{switchChain:n,switchChainAsync:a}=E.useSwitchChain(),o=Dl(),r=t?.id,i=rn(r,e),l=o&&rn(o,e)?o:e[0].id;return{chain:t,isSupported:i,switchNetwork:n,switchNetworkAsync:a,chainId:i?r:void 0,supportedChainId:rn(r,e)?r:l,chains:e}},Kt=({tokenAddress:t,ownerAddress:e,spenderAddress:n,chainId:a,skip:o})=>E.useReadContract({address:t,abi:I.erc20Abi,functionName:"allowance",args:[e,n],chainId:a,query:{enabled:!o,refetchInterval:qe}}),Il=()=>{const{account:t}=L(),[e,n]=p.useState(!1);return p.useEffect(()=>{n(!!t)},[t]),e},Hn=t=>E.useBalance({...t,query:{...t?.query,staleTime:qe}}),ot="Canceled by user",_l={"exceeds the configured cap":"Please try using a different RPC for your wallet.","denied transaction":ot,"user rejected the transaction":ot,"user rejected transaction":ot,"user rejected the request":ot,"user canceled":ot,"not enough available balance":"Attempting to withdraw a balance that exceeds the liquidity currently accessible."};Ur(_l);const no=t=>typeof t=="object"&&t!==null&&"message"in t&&typeof t.message=="string",ao=t=>{if(no(t))return t;try{return new Error(JSON.stringify(t))}catch{return new Error(String(t))}},so=t=>ao(t).message;class Ke extends $r.CustomError{constructor({message:n=ls,link:a,slippage:o,txArgs:r,account:i,onBypass:l,functionName:c}){super(n);Ne(this,"txArgs");Ne(this,"link");Ne(this,"account");Ne(this,"slippage");Ne(this,"functionName");Ne(this,"onBypass");this.link=a,this.txArgs=r,this.account=i,this.slippage=o,this.functionName=c,this.onBypass=l}}const Nl=async()=>{},ln=t=>{const e=t[t.length-1],n=typeof e=="object"&&e!==null&&("value"in e||"gas"in e),a=n?e:{},o=n?t.slice(0,-1):t;return{transactionOverrides:a,argumentsWithoutOverrides:o}},be=({functionName:t,dynamicContractAddress:e,contractId:n,onSettled:a})=>{const{account:o}=L(),{chainId:r,supportedChainId:i}=xe(),l=E.useWalletClient({chainId:r}),c=E.usePublicClient({chainId:r}),d=ks(n),u=e??W(n,r??i),m=Xs(),{writeContract:y}=E.useWriteContract({mutation:{onSettled:a}}),w=p.useCallback(async(...x)=>{try{const{argumentsWithoutOverrides:D,transactionOverrides:z}=ln(x),_=await c?.estimateContractGas({address:u,abi:d,functionName:t,args:D,account:o??C,gas:z.gas,value:z.value});if(!_||!r||_===BigInt(0))return{error:bn,value:BigInt(0)};const X=Math.round(Number(_)*Ga),he=Pt[r]??X,fe=BigInt(Math.min(he,X));return console.debug(`[core-ui-kit]: estimated gas limit: ${Number(_)}`),{error:"",value:fe}}catch(D){return console.error(`Gas estimate error on ${t}`,D),{error:D?.message??D?.shortMessage??D.error?.data?.message??D.data?.message??bn,value:BigInt(0)}}},[o,r,c,t,u,d]),g=p.useCallback(async(...x)=>{try{if(!m)return{data:null,error:fn};if(!c)return{data:null,error:"Client is not defined"};const{argumentsWithoutOverrides:D,transactionOverrides:z}=ln(x),_=I.encodeFunctionData({abi:d,functionName:t,args:D});if(o&&_){const X=await m({chainId:r??i,from:o,to:u,input:_,gas:Pt[r??i]??0,value:z.value?.toString()});return{data:X,error:X?.simulation.error_message}}return{data:null,error:fn}}catch(D){return console.debug("Failed to simulate:",D),{data:null,error:so(D)}}},[o,r,c,d,u,t,m,i]),T=p.useCallback(async(...x)=>{const{argumentsWithoutOverrides:D,transactionOverrides:z}=ln(x);if(z.gas)return y({address:u,abi:d,functionName:t,chainId:r,args:D,...z});const{value:_,error:X}=await w(...x);if(X){const{data:he}=await Promise.race([g(...x),new Promise(fe=>setTimeout(fe,qa,{data:null,error:cs}))]);throw new Ke({message:X,link:he?.link,txArgs:x,account:o,functionName:t,onBypass:()=>l?.data?.writeContract({address:u,abi:d,functionName:t,account:o,chainId:r,args:D,...z,gas:BigInt(Pt[r??i]??0)})})}return console.debug(`[core-ui-kit]: gas limit to use: ${_}`),y({address:u,abi:d,functionName:t,chainId:r,args:D,...z,gas:_})},[w,y,g,o,t,l?.data,u,d,r,i]);return{send:r&&c?T:Nl,estimate:w}},oo=t=>E.useEstimateFeesPerGas({...t,query:{...t?.query,staleTime:3e4}}),Qt=t=>{p.useEffect(()=>{t&&t.forEach(({error:e,status:n})=>{n==="failure"&&console.warn(e?.message)})},[t])},Vn=({error:t,status:e})=>{p.useEffect(()=>{t&&e==="failure"&&console.warn(t?.message)},[t,e])},ro=async({functionName:t,address:e,abi:n,args:a,publicClient:o})=>(await o?.simulateContract({address:e,abi:n,functionName:t,args:a}))?.result,kl=({disabled:t,functionName:e,address:n,abi:a,args:o,chainId:r,refetchInterval:i})=>{const l=E.usePublicClient({chainId:r});return Ge.useQuery({queryKey:[{functionName:e,address:n,args:o,chainId:r}],queryFn:async({queryKey:[c]})=>{if(c)return await ro({address:n,abi:a,functionName:c.functionName,args:c.args,publicClient:l})},enabled:!t&&!!r&&!J(n)&&!!e,refetchInterval:i})},Wt=({queryKey:t,watch:e=!0})=>{const n=Ge.useQueryClient(),{data:a}=E.useBlockNumber({query:{refetchInterval:Me}});p.useEffect(()=>{e&&n.refetchQueries({queryKey:t,stale:!0})},[e,a])},Xt="limitOrders",Gn="getAllLimitOrderIds",qn=0,io="100",Pl=1,Ol=5,Rl=2,Ll=["balanceOf","getFundSummary","getFundComposition","withdrawalContracts","getTrackedAssets","getAssetPrice","allowance","getExitRemainingCooldown","tokenPrice","limitOrders","calculateAvailableManagerFee",Xt,Gn],Ml=["allowance"],xa=(t,e)=>t[0]==="readContract"?e.includes(t?.[1]?.functionName??""):t[0]==="readContracts"?!!t[1]?.contracts?.some(({functionName:a})=>e.includes(a??"")):!1,Zt=()=>{const t=Ge.useQueryClient(),e=p.useCallback(()=>{t.invalidateQueries({predicate:({queryKey:a})=>xa(a,Ml)})},[t]),n=p.useCallback(()=>{t.invalidateQueries({predicate:({queryKey:a})=>xa(a,Ll)})},[t]);return{invalidateAllowanceQueries:e,invalidateTradingQueries:n}},Jt=()=>{const{chainId:t}=xe(),{data:e}=E.useCapabilities();if(!t||!e)return!1;const n=e?.[t]?.atomic?.status;return!!n&&n!=="unsupported"},jl=({tooltipContent:t,children:e,placement:n="top",trigger:a="hover",interactive:o=!0,delayHide:r=50})=>{const{getTooltipProps:i,setTooltipRef:l,setTriggerRef:c,visible:d}=zr.usePopperTooltip({interactive:o,delayHide:r,offset:[0,12],placement:n,trigger:a});return s.jsxs(s.Fragment,{children:[s.jsx("span",{ref:c,children:e}),d&&s.jsx("span",{ref:l,...i({className:"tooltip-container dtw-z-50 dtw-bg-[color:var(--panel-tooltip-bg)] dtw-text-[color:var(--panel-tooltip-color)] dtw-px-2 dtw-py-1.5 dtw-rounded-md dtw-text-xs dtw-text-center dtw-block dtw-whitespace-normal"}),children:t})]})},Yn=({text:t,...e})=>s.jsx(jl,{...e,tooltipContent:s.jsx("span",{className:"dtw-inline-block dtw-max-w-xs",children:t})}),Ut=({text:t,placement:e,iconClassName:n="dtw-text-[color:var(--panel-secondary-content-color)]",Icon:a=te.QuestionMarkCircleIcon})=>s.jsx(Yn,{text:t,placement:e,children:s.jsx(a,{className:A("dtw-h-4 dtw-w-4 dtw-cursor-help hover:dtw-text-[color:var(--panel-icon-color-hover))]",n)})}),Oe=({label:t,tooltipText:e,children:n})=>s.jsxs("div",{children:[s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-gap-x-1 dtw-text-[length:var(--panel-popup-font-size)] dtw-text-[color:var(--panel-popup-content-color,var(--panel-secondary-content-color))]",children:[s.jsx("span",{children:t}),s.jsx(Ut,{text:e,placement:"top"})]}),s.jsx("div",{className:"dtw-mt-1.5",children:n})]}),ue=({symbol:t,address:e,watch:n=!1})=>{const{account:a}=L(),o=v(),r=Gt(t,o.chainId),{data:i}=oo({chainId:o.chainId,query:{enabled:r}}),{data:l,queryKey:c}=Hn({chainId:o.chainId,address:a,query:{enabled:r&&!!a}}),{data:d,queryKey:u}=E.useReadContracts({contracts:[{address:e,abi:I.erc20Abi,functionName:"balanceOf",chainId:o.chainId,args:[a??C]},{address:e,abi:I.erc20Abi,chainId:o.chainId,functionName:"decimals"}],query:{enabled:!r&&!!a}});return Wt({watch:n&&r,queryKey:c}),Wt({watch:n&&!r,queryKey:u}),r?Ls({nativeTokenBalance:I.formatUnits(l?.value??BigInt(0),l?.decimals??k),gasPrice:Number(i?.maxFeePerGas??0),tokenDecimals:l?.decimals??k}).toString():I.formatUnits(d?.[0]?.result??BigInt(0),d?.[1]?.result??k)},wt=()=>{const[{value:t,symbol:e,address:n}]=N(),a=ue({symbol:e,address:n});return new b(t||0).gt(a??0)},Bl=({address:t,chainId:e})=>[{address:W("factory",e),abi:je,functionName:"isPool",chainId:e,args:[t]},{address:W("easySwapperV2",e),abi:de,functionName:"withdrawalContracts",args:[t]}],Fl=t=>({isUserDhedgePool:t[0].result,withdrawalContractAddress:t[1].result}),Wl=({address:t,chainId:e})=>E.useReadContracts({contracts:Bl({address:t,chainId:e}),query:{enabled:!J(t),select:Fl}}),ht=()=>{const{account:t=C}=L(),{chainId:e,supportedChainId:n}=xe(),{data:{isUserDhedgePool:a}={}}=Wl({address:t,chainId:e??n});return!!a},Ul=({address:t,chainId:e})=>[{address:t??C,abi:Te,functionName:"poolManagerLogic",chainId:e},{address:W("easySwapperV2",e),abi:de,functionName:"customCooldownDepositsWhitelist",args:[t],chainId:e},{address:W("easySwapperV2",e),abi:de,functionName:"customCooldown",args:[],chainId:e},{address:W("factory",e),chainId:e,abi:je,functionName:"getAssetGuard",args:[W("aaveLendingPoolV3",e)]}],$l=t=>({poolManagerLogic:t[0].result,isCustomCooldownDepositAllowed:t[1].result,customCooldown:t[2].result,aaveAssetGuardAddress:t[3].result}),gt=({address:t,chainId:e})=>E.useReadContracts({contracts:Ul({address:t,chainId:e}),query:{enabled:!!t&&!J(t),staleTime:1/0,select:$l}}),Kn=({address:t,chainId:e})=>{const[n]=Fe(),{data:{poolManagerLogic:a}={}}=gt({address:t,chainId:e});return n.managerLogicAddress??a},zl=({address:t,chainId:e,account:n})=>[{address:t,abi:De,functionName:"getFeeIncreaseInfo",chainId:e},{address:t,abi:De,functionName:"minDepositUSD",chainId:e},{address:t,abi:De,functionName:"isMemberAllowed",args:[n??C],chainId:e},{address:t,abi:De,functionName:"maxSupplyCap",args:[],chainId:e}],Hl=t=>({getFeeIncreaseInfo:t[0].result,minDepositUSD:t[1].result,isMemberAllowed:t[2].result,maxSupplyCapD18:t[3].result}),Tt=({address:t,chainId:e})=>{const n=Kn({address:t,chainId:e}),{account:a=C}=L(),o=E.useReadContracts({contracts:zl({address:n??C,chainId:e,account:a}),query:{enabled:!!n&&!J(n),staleTime:1/0,select:Hl}});return Vn({error:o.error,status:o.status}),o},Vl=({chainId:t,address:e})=>[{address:e,abi:De,functionName:"getFundComposition",chainId:t},{address:e,abi:De,functionName:"getSupportedAssets",chainId:t}],Gl=t=>({getFundComposition:t[0].result,getSupportedAssets:t[1].result?.map(({asset:e})=>e)}),bt=({address:t,chainId:e})=>{const n=Kn({address:t,chainId:e});return E.useReadContracts({contracts:Vl({address:n??C,chainId:e}),query:{enabled:!!n&&!J(n),select:Gl,refetchInterval:qe}})},lo=({account:t,chainId:e,address:n})=>[{address:n,abi:Te,functionName:"balanceOf",chainId:e,args:[t]},{address:n,abi:Te,functionName:"tokenPrice",chainId:e,args:[]}],ql=t=>t.flatMap(lo),Yl=lo({account:C,chainId:h.optimism.id,address:C}).length,co=({account:t})=>{const{chainId:e}=xe(),n=Ye();return E.useReadContracts({contracts:ql(n.map(a=>({...a,account:t}))),query:{select:a=>La(a,Yl).reduce((o,[r,i],l)=>{const c=n?.[l]?.address??C;return{...o,[c]:{balance:r?.result?.toString(),tokenPrice:i?.result?.toString()}}},{}),placeholderData:(a,o)=>{if(o?.queryKey?.[1].chainId!==e)return a},refetchInterval:qe,enabled:!J(t)}})},Kl=({chainId:t,address:e})=>[{address:e,abi:Te,functionName:"tokenPrice",chainId:t,args:[]},{address:e,abi:Te,functionName:"getFundSummary",chainId:t}],Ql=([t,e])=>{const n=e?.result;return{tokenPrice:t?.result!==BigInt(0)?t?.result?.toString():qr,totalValueD18:n?.totalFundValue?.toString(),totalSupplyD18:n?.totalSupply?.toString(),isPrivateVault:n?.privatePool,performanceFee:n?.performanceFeeNumerator?.toString(),streamingFee:n?.managerFeeNumerator?.toString(),entryFee:n?.entryFeeNumerator?.toString(),exitFee:n?.exitFeeNumerator?.toString(),managerAddress:n?.manager?.toString()}},se=({address:t,chainId:e,refetchInterval:n,enabled:a=!0})=>E.useReadContracts({contracts:Kl({address:t,chainId:e}),query:{enabled:a&&!!t&&!J(t),refetchInterval:n,select:Ql}}),po=({address:t,chainId:e})=>{const{account:n}=L(),{data:{managerAddress:a}={managerAddress:C}}=se({address:t,chainId:e}),{data:{isMemberAllowed:o=!1}={}}=Tt({address:t,chainId:e});return n?o||H(n,a):!1},uo=({address:t,chainId:e})=>{const[n]=Fe(),a=p.useMemo(()=>n.poolCompositions?.reduce((u,{tokenAddress:m,tokenName:y,precision:w,asset:g})=>({...u,[m.toLowerCase()]:{tokenName:y,precision:w,asset:g}}),{}),[n.poolCompositions]),{data:{getFundComposition:[o,r,i]=[]}={},isFetched:l}=bt({address:t,chainId:e}),c=p.useMemo(()=>o?.map(({asset:u})=>u)??[],[o]),{data:d}=E.useReadContracts({contracts:c.flatMap(u=>[{address:u,abi:I.erc20Abi,functionName:"symbol",chainId:e},{address:u,abi:I.erc20Abi,functionName:"decimals",chainId:e}]),query:{enabled:l&&c?.length>0&&!!e&&!c.every(u=>a?.[u.toLowerCase()]),staleTime:1/0}});return Qt(d),p.useMemo(()=>{if(!o?.length)return[];const u=La(d,2);return o.map(({asset:m,isDeposit:y},w)=>{const g=m.toLowerCase(),[T,x]=u[w]??[],D=Wn[g.toLowerCase()]??T?.result?.toString()??a?.[g]?.tokenName??Ps(g);return{tokenAddress:g,isDeposit:y,rate:i?.[w]?.toString()??"0",amount:r?.[w]?.toString()??"0",tokenName:D,precision:x?.result?Number(x.result):a?.[g]?.precision??k,asset:{iconSymbols:a?.[g]?.asset.iconSymbols??[D]}}})},[r,i,a,o,d])},Qe=({address:t,chainId:e})=>{const[n]=Fe(),a=uo({address:t,chainId:e});return a.length?a:n.poolCompositions??[]},Xl=t=>{const e=t?.[0]?.toString()??"",n=t?.[1]?.toString()??"",a=t?.[2]?.toString()??"",o=t?.[3]?.toString()??"",r=t?.[4]?.toString()??"";return{announcedPerformanceFee:e,announcedStreamingFee:n,announcedEntryFee:a,announcedExitFee:o,announcedTimestamp:r}},Qn=(t,e)=>{const{data:{getFeeIncreaseInfo:n,minDepositUSD:a}={}}=Tt({address:t,chainId:e});return{...Xl(n),minDepositUSD:+I.formatUnits(a??BigInt(0),k)}},Zl=({composition:t,vaultTokensAmount:e,totalSupplyD18:n})=>t.reduce((a,o)=>{const r=a.find(({tokenName:i})=>i===o.tokenName);if(r){const i=new b(r.amount).shiftedBy(-r.precision),l=new b(o.amount).shiftedBy(-o.precision);return r.amount=i.plus(l).shiftedBy(r.precision).toFixed(0),a}return[...a,o]},[]).map(a=>{const o=xn(a.amount,e,n,a.precision),r=xn(new b(a.rate).multipliedBy(a.amount).shiftedBy(-a.precision).toFixed(),e,n);return{...a,fraction:o.toFixed(pt(o)),fractionUsd:ee({value:r}),fractionUsdNumber:r}}).filter(({amount:a})=>a!=="0").sort((a,o)=>o.fractionUsdNumber-a.fractionUsdNumber),mo=({address:t,vaultTokensAmount:e,chainId:n})=>{const a=Qe({address:t,chainId:n}),{data:{totalSupplyD18:o}={}}=se({address:t,chainId:n});return p.useMemo(()=>o?Zl({composition:a,vaultTokensAmount:Ft(e||0),totalSupplyD18:o}):[],[e,a,o])},ie=({address:t,chainId:e,formatter:n=I.formatEther})=>{const[a]=Fe(),{data:o}=se({address:t,chainId:e,refetchInterval:qe});return n(BigInt(o?.tokenPrice??a?.tokenPrice??"0"))},en=({address:t,chainId:e})=>{const[n]=Fe(),a=H(n.address,t)?n:null,{data:{performanceFee:o,streamingFee:r,entryFee:i,exitFee:l}={}}=se({address:t,chainId:e}),c=i??a?.entryFeeNumerator??"0",d=l??a?.exitFeeNumerator??"0";return p.useMemo(()=>({performanceFee:it(o??a?.performanceFeeNumerator??"0",Ce),streamingFee:it(r??a?.streamingFeeNumerator??"0",Ce,2),entryFee:it(c,Ce,2),exitFee:it(d,Ce,2),exitFeeNumber:mt(+d,Ce)}),[o,a?.performanceFeeNumerator,a?.streamingFeeNumerator,r,c,d])},yo=()=>{const{address:t,chainId:e}=v(),{queryKey:n}=bt({address:t,chainId:e});Wt({queryKey:n})},Nt=h.base.id,Jl=t=>{const e=W("flatcoinPointsModule",Nt);return[{address:e,chainId:Nt,abi:Ot,functionName:"lockedBalance",args:[t]},{address:e,chainId:Nt,abi:Ot,functionName:"getUnlockTax",args:[t]},{address:e,chainId:Nt,abi:Ot,functionName:"unlockTime",args:[t]}]},wo=({enabled:t,address:e})=>E.useReadContracts({contracts:Jl(e),query:{enabled:t,select:n=>{const[a,o,r]=n;return{lockedVaultPointsBalance:a?.result,unlockTaxInPercents:o?.result,unlockTime:r?.result}}}}),ec=[..._s],Xn=({address:t,chainId:e})=>{const n=Qe({address:t,chainId:e}),a=W("factory",e);return E.useReadContracts({contracts:n.map(({tokenAddress:o})=>({address:a,abi:je,functionName:"isPool",chainId:e,args:[o]})),query:{select:o=>n.some(({amount:r,tokenAddress:i},l)=>(!!o[l]?.result||ec.some(u=>H(u,i)))&&r!=="0"),staleTime:1/0}})},tc=[[30*1e3,5e3],[60*1e3,1e4],[5*60*1e3,2e4]],nc=t=>{if(!t)return!1;for(const[e,n]of tc)if(t<=e)return n;return Yr},cn=t=>Number(t?.toString()??"0")*1e3,ac=({address:t,chainId:e})=>{const{account:n}=L();return E.useReadContract({address:t,abi:Te,functionName:"getExitRemainingCooldown",chainId:e,args:[n??C],query:{enabled:!!n,select:cn,refetchInterval:a=>nc(cn(a.state?.data)),refetchOnWindowFocus:a=>cn(a.state?.data)>0}})};function sc(t,e,n){if(!t||!e)return{balanceInUsd:"",balanceInUsdNumber:0};const a=+t*Re(e);return{balanceInUsd:ee({value:a,maximumFractionDigits:n}),balanceInUsdNumber:a}}const ho=(t,e)=>sl(t)?{rawBalance:t?.toString()??"",...sc(I.formatUnits(t,U),e?.toString())}:{rawBalance:"",balanceInUsd:"",balanceInUsdNumber:0},go=({account:t}={})=>{const{account:e}=L(),n=t??e??C,{data:a}=co({account:n});return p.useMemo(()=>J(n)?{}:Object.entries(a??{}).reduce((o,[r,i])=>{const l=ho(BigInt(i.balance??"0"),BigInt(i.tokenPrice??"0"));return l.balanceInUsdNumber>0?{...o,[r]:l}:o},{}),[n,a])},To=({account:t,chainId:e,address:n})=>{const{data:a,isFetched:o}=se({address:n,chainId:e}),{poolFallbackData:r}=Q(),i=H(r.address,n)?r.tokenPrice??"0":"0";return E.useReadContract({address:t?n:void 0,abi:Te,functionName:"balanceOf",chainId:e,args:[t],query:{enabled:!J(t)&&o,select:l=>ho(l,BigInt(a?.tokenPrice??i))}})},oc=t=>Math.ceil(Re(t)),bo=({address:t,chainId:e,select:n=oc})=>{const{data:{totalValueD18:a}={}}=se({address:t,chainId:e}),{data:{maxSupplyCapD18:o}={}}=Tt({address:t,chainId:e});return E.useReadContract({address:t,chainId:e,abi:Te,functionName:"calculateAvailableManagerFee",args:[BigInt(a??"0")],query:{enabled:!!a&&!!o&&o>0n,select:n}})},fo=({address:t,chainId:e})=>{const{data:{maxSupplyCapD18:n}={}}=Tt({address:t,chainId:e}),{data:{totalSupplyD18:a}={}}=se({address:t,chainId:e}),o=ie({address:t,chainId:e}),{data:r=0}=bo({address:t,chainId:e});if(!n||n===0n)return null;const i=Math.ceil(Re(a??0)),l=Re(n),c=Math.max(0,l-r),d=Math.max(0,c-i),u=d*Number(o);return{totalSupplyNumber:i,maxSupplyCapNumber:c,remainingSupplyCapNumber:d,remainingSupplyCapInUsd:u}},rc=({address:t,chainId:e})=>{const{data:{isPrivateVault:n}={isPrivateVault:!1}}=se({address:t,chainId:e}),o=Ye().find(i=>H(t,i.address)&&i.chainId===e),r=!!(o?.maintenance||o?.maintenanceDeposits);return n||r},ic=t=>se(t),vo=()=>{const{address:t,symbol:e,chainId:n}=v(),{account:a=C}=L(),o=ue({symbol:e,address:t}),{data:{totalSupplyD18:r}={}}=se({address:t,chainId:n}),l=$n(t)&&!H(a,C),{data:{lockedVaultPointsBalance:c,unlockTaxInPercents:d,unlockTime:u}={},isLoading:m}=wo({enabled:l,address:t});return p.useMemo(()=>{const y=r?new b.BigNumber(o).shiftedBy(k).dividedBy(r):new b.BigNumber(0),w=c?new b.BigNumber(c.toString()).multipliedBy(y).shiftedBy(-18):new b.BigNumber(0),g=d?w.multipliedBy(d.toString()).shiftedBy(-18):new b.BigNumber(0),T=u?Number(u)*1e3:null;return{userPortionOfLockedPointsBalance:w.toFixed(),unlockTaxAmount:g.toFixed(),vestedPointsAmount:w.minus(g).toFixed(),unlockTimestamp:T,unlockDate:T?ct.format(T,"PPP"):null,isLoading:m}},[r,o,c,d,u,m])},lc={"Lend/Borrow V2":"aave","Lend/Borrow V3":"aave","Lyra Options":"lyra",ULP:"uni"};function cc(t){const e=lc[t];if(e)return e;const n=t.toLowerCase();return n.includes("bear")?"torosbear":n.includes("bull")?"torosbull":n}const xo=t=>t?`https://raw.githubusercontent.com/dhedge/crypto-icons/main/icons/${cc(t)}.png`:"",Ao={isGeoBlocked:!1,isSanctioned:!1,depositQuoteDiffWarningThreshold:1.5,depositQuoteDiffErrorThreshold:3,defaultWithdrawSlippage:Ua,defaultLockTime:Fa,defaultNoSwapMinDepositAmountGap:Qr,defaultSwapTransactionSlippage:Xr,defaultNotificationDuration:ti,stablePrecision:3,defaultPrecision:6,termsOfUseAccepted:!0,standalone:!0,isAllAssetsWithdrawOptionDefault:!1,chainConfig:{[h.mainnet.id]:{name:"Ethereum",iconPath:""},[h.arbitrum.id]:{name:"Arbitrum",iconPath:""},[h.optimism.id]:{name:"Optimism",iconPath:""},[h.polygon.id]:{name:"Polygon",iconPath:""},[h.base.id]:{name:"Base",iconPath:""}},aaveOffchainWithdrawMinValue:50,getFallbackIconPath:xo,minLimitOrderValue:0,limitOrderThemeConfig:{}},dc=()=>{const{connect:t}=E.useConnect(),e=p.useCallback(()=>t({connector:Hr.injected({shimDisconnect:!0})}),[t]),n=p.useCallback(async()=>(console.log("terms of use were accepted. Assume `termsOfUseAccepted` config value switch to true"),Promise.resolve(!0)),[]);return{onConnect:e,onAcceptTermsOfUse:n}},pc={params:{...Ao},actions:{onConnect:()=>{},onAcceptTermsOfUse:()=>Promise.resolve(!0)}},So=p.createContext(pc),Eo=({children:t,config:e})=>{const n=dc(),a=p.useMemo(()=>({params:{...Ao,...e?.params},actions:{...n,...e?.actions}}),[e,n]);return s.jsx(So.Provider,{value:a,children:t})},Co=()=>{const t=p.useContext(So);if(!t)throw new Error("ConfigContext is used out of Provider");return t},$=()=>Co().params,Do=()=>Co().actions,Zn=()=>{const{depositQuoteDiffErrorThreshold:t}=$(),[e,n]=p.useState(!1),[{slippage:a,minSlippage:o}]=q(),r=a==="auto"?o??0:a,l=!wt()&&r>t&&!e,c=p.useCallback(()=>{n(!0)},[]);return{requiresHighSlippageConfirm:l,confirmHighSlippage:c,slippageToBeUsed:r}},B={ERROR:"error",WARNING:"warning",SUCCESS:"success",DEFAULT:"default",CUSTOM:"custom"},j={TERMS_OF_USE:"TERMS_OF_USE",HIGH_SLIPPAGE:"HIGH_SLIPPAGE",FMP_WITHDRAWAL:"FMP_WITHDRAWAL",TOKEN_SELECT:"TOKEN_SELECT",POOL_SELECT:"POOL_SELECT",TRADING:"TRADING",ERROR_NOTIFICATION:"ERROR_NOTIFICATION",LIMIT_SELLS:"LIMIT_SELLS",LIMIT_ORDER_WITHDRAW:"LIMIT_ORDER_WITHDRAW"},ft=t=>{const{depositQuoteDiffErrorThreshold:e,depositQuoteDiffWarningThreshold:n}=$(),a=Math.abs(t);return a>e?B.ERROR:a>n?B.WARNING:B.DEFAULT},Io=({tradingType:t,slippage:e,minSlippage:n})=>{const{defaultWithdrawSlippage:a}=$();return e!=="auto"?e.toString():Vr(n)?n.toString():t==="deposit"?Ht.toString():a.toString()},_o={depositSlippageWarning:"Excludes entry fee.",withdrawSlippageWarning:"Slippage occurs in both single asset withdrawals and withdrawals from vaults with Aave debt positions. However, for vaults with Aave debt, slippage is only applied to the portion of the withdrawal that corresponds to the Aave position.",minSlippageWarning:"Flexible min slippage value that is likely enough to process the transaction.",highSlippageWarning:"We recommend using another asset to trade with lower slippage.",recommendedMinSlippage:"Recommended min slippage",projectedDailyEarningsTooltip:"Projected daily earnings are based on the current APY and may differ from actual earnings.",dailyEarnings:"Daily earnings",projectedYearlyEarningsTooltip:"Projected yearly earnings are based on the current APY and may differ from actual earnings.",yearlyEarnings:"Yearly earnings",fullReceiveDetails:"See full details influencing what you will receive.",tradeDetails:"Trade details",maxSlippage:"Max slippage",minReceiveAmount:"You will receive no less than this amount.",minReceived:"Minimum received",estimatedMultiAssetFractions:"Pro-rated share of vault assets",infinite:"Infinite approval",tokenAllowance:"Token allowance",entryFee:"Entry fee",exitFee:"Exit fee",entryFeeExplanation:"Entry fee is charged in vault's tokens.",exitFeeExplanation:"Exit fee is charged in vault's tokens.",minDepositUsd:"Minimum deposit in USD.",minDeposit:"Minimum deposit",tokensLockTime:"Purchased tokens will have a {lockTime} lock.",slippageTolerance:"Slippage tolerance",reduceLockupTime:"Reduce lockup time",toggleTokenApprovalAmount:"Toggle between exact and infinite token approval.",auto:"Auto",reduceLockup:"Reduce lockup to {customLockTime} by paying 0.1% fee",deposit:"Buy",withdraw:"Sell",max:"Max",allAssets:"All Assets",all:"All",sell:"Sell",receiveEstimated:"Receive (estimated)",confirmInWallet:"Please confirm in wallet",pending:"Pending...",approve:"Approve",connectWallet:"Connect Wallet",minimumPurchase:"Minimum purchase is {value}",poolIsInactive:"{poolSymbol} token is no longer active. Please withdraw from them.",poolDepositsAreMaintenance:"{poolSymbol} token is under maintenance. Deposits are temporarily blocked.",poolWithdrawalsAreMaintenance:"{poolSymbol} token is under maintenance. Withdrawals are temporarily blocked.",poolIsPrivate:"This vault is currently private",confirmMaxSlippage:"Confirm {slippagePercentage}% max slippage",withdrawalLiquidityDisabled:"Intended withdraw value is greater than available liquidity ({value})",withdrawCooldown:"You can sell your {tokenSymbol} tokens in {cooldownEndTime}",termsOfUse:"Terms Of Use",termOfUseDepositListTitle:"Please know the following before depositing",termOfUseDepositAssetSlippage:"When exiting, investors receive single asset or the underlying vault assets. Withdraw slippage can be customized in withdraw settings",termOfUseDepositBugs:"There may be interface bugs on the platform",termOfUseDepositDowntime:"There may be interface downtime (planned and unplanned)",termOfUseDepositAuditRisk:"Smart contracts are audited but a risk is still present",termOfUseDepositAccept:"Accept & Deposit",back:"Back",done:"Done",termOfUseWithdrawAcceptLabel:"I understand and accept the withdraw terms",termOfUseWithdrawPoint1:"Withdrawal requests are intended to settle in USDC. In rare cases where market conditions or high slippage prevent a USDC swap, the order may be settled in the underlying tokens of the respective vault.",termOfUseWithdrawPoint2:"Revoking token approval after placing an order will prevent the order from being executed.",highSlippage:"High Slippage Alert",responsibleHighSlippage:"By proceeding with this trade, you acknowledge and accept the possibility of experiencing high slippage, resulting in a potential difference between the expected and executed price.",highSlippageListTitle:"Please consider the following before confirming",highSlippageQuoteDiff:"Be aware that the final amount of assets you receive may be different from the initially quoted value.",highSlippageRisk:"Ensure that you understand the risks associated with high slippage and are comfortable proceeding with the trade.",confirm:"Confirm",selectToken:"Select token",sendingOrderToWallet:"Sending order to your wallet",settingUpTx:"Setting up transaction",miningTx:"Processing",approveSpending:"Approve spending",pay:"Pay",multiAssetFractions:"pro-rated share of vault underlying assets",swappableAssets:"swappable assets",explorer:"Explorer",as:"As",switchNetwork:"Switch Network",depositAction:"Buy",withdrawAction:"Sell",unrollAction:"Unroll",unrollAndClaimAction:"Claim",swapAction:"Swap",claimAction:"Claim Without Swap",claimLabel:"Claim Assets",createLimitSellOrder:"Stop order set",swapAndClaimTo:"Swap and claim assets to",orderingLabel:"Ordering",paidLabel:"Paid",priceLabel:"Price",transactionLabel:"Transaction",initWithdrawDescription:"Unroll",initWithdrawTooltip:"Unroll prepares assets for single asset withdrawal.",completeWithdrawDescription:"Claim",completeWithdrawTooltip:"This final step swaps all assets to a single asset and sends it to your wallet.",unrollAndClaimDescription:"Claim",limitOrderWithdrawDescription:"You are about to create a withdrawal request. Your vault tokens will be withdrawn within a few minutes.",total:"Total:",showAll:"Show all",hide:"Hide",refreshSwapQuoteTooltip:"Refresh swap quote",proceedWithNextStep:"Please proceed with the next step.",aggregatorsLabel:"Swap source",aggregatorsTooltip:"Choose which aggregators to use for your trades.",batchTransactionsLabel:"Batch transactions",batchTransactionsSwitchLabel:"Batch",batchTransactionsTooltip:"Group transaction calls into a single batch transaction. Disable if you prefer separate prompts.",openLimitOrderAfterBuySwitchLabel:"Add Stop Order",stopOrder:"Stop Order",send:"Send",rate:"Rate",exchangeRate:"Exchange rate",cooldown:"Cooldown",delete:"Delete",withdrawalRequest:"Withdrawal request",deleteWithdrawalRequest:"Delete withdrawal request",insufficientBalance:"Insufficient Balance",expectToReceiveUsdcSoon:"Expect to receive your USDC over the next few minutes"},No=p.createContext(_o),uc=({children:t,config:e})=>{const n=p.useMemo(()=>({..._o,...e}),[e]);return s.jsx(No.Provider,{value:n,children:t})},S=()=>{const t=p.useContext(No);if(!t)throw new Error("TranslationContext is used out of Provider");return t},Jn=t=>{const e=S(),{symbol:n}=v(),a=`${n}${t}`;return e?.[a]??e[t]},mc=async(t,e=xo)=>{try{return(await import(`@dhedge/crypto-assets/icons/${t.toLowerCase()}.png`))?.default?.src??e(t)}catch{return e(t)}},yc=(t=[])=>{const{getFallbackIconPath:e}=$(),[n,a]=p.useState([]),[o,r]=p.useState([]);return p.useEffect(()=>{if(t.every(l=>o.includes(l)))return;(async()=>{const l=await Promise.all(t.map(c=>mc(c,e)));a(l),r(t)})()},[t,o,e]),n},wc=(t,e)=>{switch(e.type){case"MERGE_OVERLAY":return{...t,[e.payload.type]:{...t[e.payload.type],isOpen:e.payload.isOpen,isPending:e.payload.isPending??!1,onConfirm:e.payload.onConfirm??t[e.payload.type].onConfirm,meta:e.payload.meta??t[e.payload.type].meta}};default:return t}},ko=Object.values(j).reduce((t,e)=>({...t,[e]:{isOpen:!1,isPending:!1}}),{}),hc=()=>p.useReducer(wc,ko),Po=p.createContext(ko),Oo=p.createContext(()=>{}),Ro=()=>{const t=p.useContext(Po);if(!t)throw new Error("OverlayStateContext is used out of Provider");return t},oe=()=>{const t=p.useContext(Oo);if(!t)throw new Error("OverlayDispatchContext is used out of Provider");return t},ce=({type:t})=>{const e=Ro(),n=oe(),a=()=>{n({type:"MERGE_OVERLAY",payload:{type:t,isOpen:!1,isPending:!1}})},{onConfirm:o,isPending:r,meta:i}=e[t],l=d=>{n({type:"MERGE_OVERLAY",payload:{type:t,isOpen:!0,isPending:d}})};return{handleReject:a,handleConfirm:async()=>{await o?.(l),a()},isPending:r,meta:i}},gc=()=>{const t=oe();return()=>{Object.values(j).forEach(e=>{t({type:"MERGE_OVERLAY",payload:{type:e,isOpen:!1,isPending:!1}})})}},Tc=({children:t})=>{const[e,n]=hc(),[{isOpen:a}]=K();return p.useEffect(()=>{a&&!e.TRADING.isOpen&&n({type:"MERGE_OVERLAY",payload:{type:j.TRADING,isOpen:a}})},[a,e.TRADING.isOpen,n]),p.useEffect(()=>{!a&&e.TRADING.isOpen&&n({type:"MERGE_OVERLAY",payload:{type:j.TRADING,isOpen:a}})},[a,e.TRADING.isOpen,n]),s.jsx(Oo.Provider,{value:n,children:s.jsx(Po.Provider,{value:e,children:t})})},bc=()=>{const t=Be(),{pricingAsset:e,symbol:n,chainId:a,address:o}=v(),{minLimitOrderValue:r}=$(),i=oe(),l=ue({symbol:n,address:o}),c=ie({address:o,chainId:a}),m=Number(l)*Number(c)>=r&&!!e,y=p.useCallback(()=>{m&&(i({type:"MERGE_OVERLAY",payload:{type:j.LIMIT_SELLS,isOpen:!0}}),t?.(Y.OPEN_LIMIT_SELL_VIEW,{[ge.SOURCE.NAME]:"overlay"}))},[i,m,t]);return{displayLimitSellOverlay:m,openLimitSellOverlay:y}},fc=({tradingType:t})=>{const e=Jn(t);return s.jsx(P.Tab,{className:({selected:n})=>A("dtw-relative dtw-text-[length:var(--panel-tab-font-size,var(--panel-font-size-sm))] dtw-px-[var(--panel-tab-px)] dtw-py-[var(--panel-tab-py)] dtw-font-[var(--panel-tab-font-weight,var(--panel-font-weight-bold))] !dtw-leading-[var(--panel-tab-line-height,var(--panel-line-height))] dtw-outline-0",{"!dtw-text-[color:var(--panel-tab-select-content-color,var(--panel-content-color))]":n,"!dtw-text-[color:var(--panel-tab-content-color,var(--panel-neutral-content-color))] hover:dtw-text-[color:var(--panel-tab-hover-content-color,var(--panel-content-hover-color))]":!n}),children:({selected:n})=>s.jsxs(s.Fragment,{children:[s.jsx("span",{children:e}),n?s.jsx("div",{className:"dtw-flex dtw-items-center dtw-justify-center dtw-absolute dtw-bottom-0 dtw-left-0 dtw-right-0 dtw-h-full dtw-rounded-[var(--panel-radius-secondary)] dtw-bg-[var(--panel-tab-bg,var(--panel-neutral-color))] dtw-shadow-md dtw-pointer-events-none",children:s.jsx("span",{children:e})}):null]})})},vc={[B.DEFAULT]:te.QuestionMarkCircleIcon,[B.ERROR]:te.ExclamationCircleIcon,[B.SUCCESS]:te.CheckCircleIcon,[B.WARNING]:te.ExclamationCircleIcon,[B.CUSTOM]:te.QuestionMarkCircleIcon},dn=({tooltipText:t,value:e,label:n,children:a,type:o=B.DEFAULT,className:r,emphasised:i=!1})=>s.jsxs("div",{className:A("dtw-flex dtw-grow dtw-items-center dtw-font-[var(--panel-meta-font-weight,var(--panel-font-weight-light))] dtw-gap-x-1",{"dtw-text-[length:var(--panel-meta-font-size)] dtw-leading-[var(--panel-meta-line-height)] dtw-text-[color:var(--panel-secondary-content-color)]":!i,"dtw-text-[length:var(--panel-meta-emphasised-font-size)] dtw-leading-[var(--panel-meta-emphasised-line-height)] dtw-text-[color:var(--panel-content-color)]":i},r),children:[s.jsxs("div",{className:"dtw-flex dtw-grow dtw-items-start dtw-justify-between",children:[s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-gap-x-1",children:[s.jsx(Ut,{text:t,placement:"right",Icon:vc[o],iconClassName:A({"dtw-text-[color:var(--panel-error-content-color)]":o===B.ERROR,"dtw-text-[color:var(--panel-warning-content-color)]":o===B.WARNING})}),s.jsx("p",{className:A({"dtw-text-[color:var(--panel-error-content-color)]":o===B.ERROR,"dtw-text-[color:var(--panel-warning-content-color)]":o===B.WARNING}),children:n})]}),s.jsx("div",{className:A({"dtw-text-[color:var(--panel-error-content-color)]":o===B.ERROR,"dtw-text-[color:var(--panel-warning-content-color)]":o===B.WARNING}),children:e})]}),a]}),ea=({children:t,staticItems:e,collapseItems:n,themeType:a=B.DEFAULT,buttonItemChildren:o})=>{const r=S();return s.jsx("div",{className:"dtw-w-full dtw-flex dtw-flex-col dtw-gap-1",children:s.jsx(P.Disclosure,{children:({open:i})=>s.jsxs(s.Fragment,{children:[e?.map(l=>s.jsx(dn,{...l},l.label)),s.jsx(P.DisclosureButton,{className:"dtw-p-0 dtw-flex dtw-w-full dtw-justify-between dtw-rounded-[var(--panel-radius-secondary,var(--panel-radius))] hover:dtw-bg-[var(--panel-meta-hover-bg,var(--panel-neutral-color))] focus:dtw-outline-none",children:s.jsxs(dn,{tooltipText:r.fullReceiveDetails,label:r.tradeDetails,value:"",type:a,emphasised:!0,children:[o,s.jsx(Ie.ChevronDownIcon,{className:A("dtw-text-[color:var(--panel-icon-color,var(--panel-content-color))] !dtw-h-[var(--panel-input-token-icon-size,var(--panel-icon-size))] !dtw-w-[var(--panel-input-token-icon-size,var(--panel-icon-size))] sm:dtw-w-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))] sm:dtw-h-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))]",{"dtw-rotate-180 dtw-transform":i})})]})}),s.jsx(P.Transition,{show:i,children:s.jsxs(P.DisclosurePanel,{className:"dtw-transition dtw-transform dtw-duration-100 dtw-ease-out data-[closed]:opacity-0 data-[closed]:-dtw-translate-y-2.5 dtw-static dtw-text-[length:var(--panel-label-font-size,var(--panel-font-size-xs))] dtw-leading-[var(--panel-label-line-height,var(--panel-line-height-xs))] dtw-text-[color:var(--panel-secondary-content-color)] dtw-font-[var(--panel-meta-font-weight,var(--panel-font-weight-light))] dtw-rounded-[var(--panel-radius-secondary,var(--panel-radius))] dtw-flex dtw-flex-col dtw-gap-1",children:[n?.map(l=>s.jsx(dn,{...l},l.label)),t]})})]})})})},Ae=({className:t})=>s.jsx("svg",{className:A("dtw-animate-spin dtw-stroke-[color:var(--panel-accent-content-color)]",t),viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:s.jsx("path",{d:"M12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 9.27455 20.9097 6.80375 19.1414 5",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}),xc=({children:t})=>s.jsx("div",{className:"dtw-flex dtw-flex-col dtw-gap-[var(--panel-inputs-group-gap,var(--panel-gap))] dtw-px-[var(--panel-inputs-group-px)]",children:t}),Ac=({children:t})=>s.jsx("div",{className:"dtw-flex dtw-flex-col dtw-gap-[var(--panel-meta-group-gap,var(--panel-gap))] dtw-px-[var(--panel-meta-group-px)] dtw-h-full dtw-relative",children:t}),$t=({Icon:t,onClick:e,className:n="dtw-h-7 dtw-w-7",containerClassName:a,disabled:o})=>s.jsx("div",{className:A("dtw-group dtw-w-fit dtw-cursor-pointer dtw-self-end dtw-rounded-lg dtw-p-1 hover:dtw-opacity-80",a,{"dtw-pointer-events-none":o}),onClick:e,children:s.jsx(t,{className:A("dtw-text-[color:var(--panel-icon-color)] group-hover:dtw-text-[color:var(--panel-icon-color-hover))]",n)})}),Sc=({children:t,onClose:e})=>{const{defaultNotificationDuration:n}=$();return p.useEffect(()=>{const a=o=>{o.key==="Escape"&&e?.()};return window.addEventListener("keydown",a),()=>{window.removeEventListener("keydown",a)}},[e]),p.useEffect(()=>{const a=setTimeout(()=>{e?.()},n);return()=>{clearTimeout(a)}},[n,e]),s.jsx("div",{className:"dtw-p-4 dtw-absolute dtw-top-0 dtw-inset-x-0 dtw-rounded-xl dtw-bg-[var(--panel-notification-bg,var(--panel-secondary-color))]",children:s.jsxs("div",{className:"dtw-flex dtw-justify-between dtw-items-center",children:[s.jsx("div",{children:t}),!!e&&s.jsx($t,{Icon:gn.XMarkIcon,onClick:e,className:"dtw-w-6 dtw-h-6",containerClassName:"dtw-self-center"})]})})},Ec=({children:t,className:e,transparent:n=!1,centered:a=!0,onClose:o,noPadding:r,onBack:i})=>(p.useEffect(()=>{const l=c=>{c.key==="Escape"&&o?.()};return window.addEventListener("keydown",l),()=>{window.removeEventListener("keydown",l)}},[o]),s.jsx("div",{className:A("dtw-absolute dtw-top-0 dtw-inset-0 dtw-rounded-xl dtw-backdrop-blur-md dtw-backdrop-brightness-75 dtw-backdrop-filter",{"dtw-p-4":!r}),children:s.jsxs("div",{className:A("dtw-flex dtw-flex-col dtw-rounded-xl dtw-p-4 dtw-h-full",e,{"dtw-bg-[var(--panel-popup-bg,var(--panel-secondary-color))]":!n,"dtw-items-center dtw-justify-center":a}),children:[t,!!i&&s.jsx("div",{className:"dtw-absolute dtw-top-5 dtw-left-5",children:s.jsx($t,{Icon:gn.ChevronLeftIcon,onClick:i})}),!!o&&s.jsx("div",{className:"dtw-absolute dtw-top-5 dtw-right-5",children:s.jsx($t,{Icon:gn.XMarkIcon,onClick:o})})]})})),Cc=({children:t})=>s.jsx(P.TabPanel,{className:"dtw-pt-[var(--panel-content-pt)] dtw-pb-[var(--panel-content-pb)] md:dtw-pb-[var(--panel-content-pb-md)] dtw-px-[var(--panel-content-px)] dtw-flex dtw-flex-col dtw-gap-[var(--panel-content-gap,var(--panel-gap))] dtw-h-full",children:t}),Dc=({className:t,iconClassName:e,onClick:n,children:a})=>{const o=Be(),r=()=>{n?.(),o?.(Y.TRADING_SETTINGS_OPENED)};return s.jsxs(P.Popover,{className:A("dtw-flex dtw-items-center dtw-justify-end",t),children:[s.jsx(P.PopoverButton,{onClick:r,children:s.jsx(te.Cog6ToothIcon,{className:A("dtw-h-[var(--panel-input-token-icon-size,var(--panel-icon-size))] dtw-w-[var(--panel-input-token-icon-size,var(--panel-icon-size))] sm:dtw-w-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))] sm:dtw-h-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))] hover:dtw-opacity-80 dtw-text-[color:var(--panel-icon-color,var(--panel-content-color))]",e)})}),s.jsx(P.PopoverBackdrop,{className:"dtw-absolute dtw-inset-0 dtw-bg-[var(--panel-popup-bg,var(--panel-secondary-color))] dtw-opacity-50"}),s.jsx(P.PopoverPanel,{className:"dtw-absolute dtw-z-10 dtw-max-w-xs dtw-top-14 dtw-right-0 dtw-transition dtw-duration-100 dtw-ease-out data-[closed]:dtw-translate-x-1/2 data-[closed]:dtw-opacity-0",transition:!0,children:s.jsx("div",{className:"dtw-rounded-l-[var(--panel-radius)] dtw-bg-[var(--panel-popup-bg,var(--panel-secondary-color))] dtw-p-4 dtw-flex dtw-flex-col dtw-gap-y-2.5",children:a})})]})},Ic=({children:t})=>s.jsx(P.TabPanel,{children:s.jsx(Dc,{children:t})}),V={InputGroup:xc,Meta:Ac,Settings:Ic,Panel:Cc,Overlay:Ec,Notification:Sc},_c=["dtw-bg-transparent","dtw-border-[var(--panel-action-outline-button-border-color,var(--panel-border-color))]","!dtw-text-[color:var(--panel-action-outline-button-color,var(--panel-content-color))]","active:dtw-border-opacity-100","hover:enabled:dtw-border-[var(--panel-action-outline-button-border-hover-color)]"],Nc=["!dtw-text-[color:var(--panel-action-accent-button-color,var(--panel-accent-content-color))]","dtw-bg-gradient-to-r","dtw-from-[var(--panel-action-accent-button-bg-from,var(--panel-accent-from-color))]","dtw-to-[var(--panel-action-accent-button-bg-to,var(--panel-accent-to-color))]","dtw-border-[color:var(--panel-action-accent-button-border-color)]","dtw-border-[length:var(--panel-action-accent-button-border-width)]","hover:enabled:dtw-from-[var(--panel-action-accent-button-hover-bg-from,var(--panel-accent-hover-from-color))]","hover:enabled:dtw-to-[var(--panel-action-accent-button-hover-bg-to,var(--panel-accent-hover-to-color))]"],G=({children:t,onClick:e,highlighted:n=!0,disabled:a=!1,className:o,type:r,loading:i=!1})=>s.jsxs("button",{className:A("dtw-rounded-[var(--panel-input-button-radius,var(--panel-radius))]","dtw-font-medium","dtw-border","dtw-transition-border","dtw-duration-500","dtw-ease-in-out","disabled:dtw-opacity-50","dtw-py-2","dtw-px-5","dtw-w-full",{[Nc.join(" ")]:n,[_c.join(" ")]:!n,"dtw-flex dtw-items-center dtw-justify-center dtw-gap-1":i},o),onClick:e,disabled:a||i,type:r,children:[i&&s.jsx(Ae,{className:"dtw-h-4 dtw-w-4"}),t]}),Lo={GeoBlockAlert:()=>s.jsx(rt,{type:"error",children:s.jsx("span",{className:"dtw-text-sm",children:"Depositing is geo-blocked."})}),SanctionedAlert:()=>s.jsx(rt,{type:"error",children:s.jsx("span",{className:"dtw-text-sm",children:"Your address has been found on a sanctions list. Deposits are disabled."})}),AvailableLiquidityAlert:({liquidityAmount:t})=>s.jsxs(rt,{type:"warning",children:[s.jsx("p",{className:"dtw-text-center",children:t?`${t} withdrawal liquidity`:"Liquidity is running low"}),s.jsx("p",{className:"dtw-text-sm dtw-text-center",children:"Sell a smaller amount"})]}),MaxSupplyReachedAlert:({supplyCapInUsd:t})=>s.jsxs(rt,{type:"warning",children:[s.jsx("p",{className:"dtw-text-center dtw-text-base",children:"Supply caps reached"}),s.jsxs("p",{className:"dtw-text-sm dtw-text-center",children:["Can only buy ",t," more"]})]}),OnDemandWithdrawAlert:()=>s.jsxs(rt,{type:"info",children:[s.jsx("p",{className:"dtw-text-center",children:"On demand sell"}),s.jsx("p",{className:"dtw-text-sm dtw-text-[color:var(--panel-secondary-content-color)] dtw-text-center",children:"Sell will happen automatically over time as liquidity is made available"})]})},Mo=p.createContext(Lo),kc=({children:t,config:e})=>{const n=p.useMemo(()=>({...Lo,...e}),[e]);return s.jsx(Mo.Provider,{value:n,children:t})},R=()=>{const t=p.useContext(Mo);if(!t)throw new Error("ComponentContext is used out of Provider");return t},Sn=({children:t,promptText:e})=>{const{ActionButton:n=G}=R();return s.jsxs("div",{children:[s.jsxs("div",{className:"md:dtw-hidden dtw-mb-4 dtw-flex dtw-items-center dtw-justify-center dtw-space-x-1 dtw-text-[var(--panel-warning-content-color)]",children:[s.jsx(te.ExclamationCircleIcon,{className:"dtw-h-5 dtw-w-5"}),s.jsx("div",{className:"dtw-py-1 dtw-text-xs",children:e})]}),s.jsx(Yn,{text:e,children:s.jsx(n,{disabled:!0,children:s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-justify-center dtw-gap-2",children:[s.jsx(te.LockClosedIcon,{className:"dtw-h-5"}),s.jsx("span",{children:t})]})})})]})},Xe=({link:t,className:e,children:n,iconClassName:a="dtw-h-5 dtw-w-5",showDefaultIcon:o=!0})=>s.jsxs("a",{className:A("dtw-inline-flex dtw-cursor-pointer dtw-items-center dtw-gap-x-1 dtw-drop-shadow-md hover:dtw-border-themeGray-600 !dtw-text-[color:var(--panel-meta-link-color,var(--panel-content-color))]",e),href:t,target:"_blank",rel:"noreferrer",children:[n,o&&s.jsx(te.ArrowTopRightOnSquareIcon,{className:a})]}),tn=({defaultEnabled:t=!1,onChange:e,disabled:n=!1,label:a,vertical:o=!1})=>{const[r,i]=p.useState(t);p.useEffect(()=>{i(t)},[t]);const l=c=>{n||(i(c),e?.(c))};return s.jsx(P.Field,{children:s.jsxs("div",{className:A("dtw-flex",{"dtw-flex-col dtw-gap-y-0.5":o,"dtw-items-center dtw-justify-between":!o}),children:[a&&s.jsx(P.Label,{className:"dtw-cursor-pointer dtw-text-xs",children:a}),s.jsx(P.Switch,{checked:r,onChange:l,className:A("dtw-p-0 dtw-relative dtw-inline-flex dtw-h-6 dtw-w-11 dtw-flex-shrink-0 dtw-items-center dtw-rounded-full dtw-transition-colors focus:dtw-outline-none",{"!dtw-bg-[color:var(--panel-switch-bg-checked)] !dtw-text-[color:var(--panel-switch-color-checked)]":r,"!dtw-bg-[color:var(--panel-switch-bg)] !dtw-text-[color:var(--panel-switch-color)]":!r,"dtw-pointer-events-none dtw-opacity-50":n}),children:s.jsx("span",{className:A("dtw-inline-block dtw-h-4 dtw-w-4 dtw-transform dtw-rounded-full dtw-transition-transform",{"dtw-translate-x-6 !dtw-bg-[color:var(--panel-switch-thumb-bg-checked)]":r,"dtw-translate-x-1 !dtw-bg-[color:var(--panel-switch-thumb-bg)]":!r})})})]})})},jo=({balance:t,symbol:e})=>s.jsx("span",{title:e,className:"dtw-text-[length:var(--panel-balance-font-size)] dtw-leading-[var(--panel-balance-line-height)] dtw-text-[color:var(--panel-balance-content-color)] dtw-whitespace-nowrap",children:t}),Pc=({onClick:t})=>{const e=S();return s.jsx("button",{className:"dtw-cursor-pointer !dtw-text-[color:var(--panel-input-button-content-color,var(--panel-content-color))] dtw-rounded-[var(--panel-input-button-radius,var(--panel-radius))] !dtw-bg-[var(--panel-input-button-bg,var(--panel-secondary-color))] dtw-border dtw-border-[var(--panel-input-button-border-color,var(--panel-accent-to-color))] dtw-px-[var(--panel-input-button-px)] dtw-text-[length:var(--panel-input-button-font-size,var(--panel-font-size-xs))] dtw-leading-[var(--panel-input-button-line-height,var(--panel-line-height-xs))] hover:dtw-opacity-[var(--panel-action-hover-opacity)] dtw-opacity-[var(--panel-action-opacity)]",onClick:t,children:e.max})},Bo=({style:t,className:e})=>s.jsx("div",{className:A("tw-animate-pulse tw-rounded tw-bg-themeGray-300 tw-bg-opacity-50 tw-h-6",e),style:t}),Fo=t=>s.jsx("img",{...t}),Oc=(t,e)=>t===0?`dtw-z-${(e-1)*10}`:`dtw--ml-2 dtw-z-${(e-t-1)*10}`,Rc=t=>{switch(t){case"xs":return{height:"!dtw-h-3 sm:!dtw-h-4 ",width:"!dtw-w-3 sm:!dtw-w-4",diameter:16};case"sm":return{height:"!dtw-h-4 sm:!dtw-h-5 ",width:"!dtw-w-4 sm:!dtw-w-5",diameter:20};case"m":return{height:"!dtw-h-5 sm:!dtw-h-6 ",width:"!dtw-w-5 sm:!dtw-w-6",diameter:24};case"lg":return{height:"!dtw-h-7 sm:!dtw-h-8 ",width:"!dtw-w-7 sm:!dtw-w-8",diameter:32};case"xl":return{height:"!dtw-h-9 sm:!dtw-h-10 ",width:"!dtw-w-9 sm:!dtw-w-10",diameter:36}}},He=({symbols:t,size:e="m",className:n=""})=>{const{Image:a=Fo}=R(),o=t.join(""),[r,i]=p.useState({[o]:!1}),{height:l,width:c,diameter:d}=Rc(e),u=yc(t);if(!u?.length||!u[0]||r[o])return null;const m=()=>i(y=>({...y,[o]:!0}));return u.length===1?s.jsx(a,{src:u[0],alt:`${t[0]} icon`,className:A(l,c,n),width:d,height:d,onError:m}):s.jsx("span",{className:`dtw-flex-no-wrap dtw-z-0 dtw-flex ${l} ${n}`,children:u.map((y,w)=>s.jsx(a,{src:y,alt:`${t[w]} icon`,className:A("dtw-inline-block dtw-overflow-visible dtw-rounded-full",c,l,Oc(w,t.length)),width:d,height:d,onError:m},w))})},vt=({symbol:t,iconSymbols:e,size:n,symbolClasses:a="dtw-text-sm dtw-font-medium",CustomIcon:o,customTitle:r,className:i})=>{const l=S(),c=r||(t==="all"?l.allAssets:t);return s.jsxs("div",{className:A("dtw-flex dtw-w-full dtw-items-center dtw-space-x-1.5",i),children:[o??s.jsx(He,{size:n,symbols:e,className:"dtw-flex-shrink-0"}),s.jsx("div",{className:a,title:c,children:c||s.jsx(Bo,{className:"dtw-w-[70px]"})})]})},Lc=({title:t,text:e})=>{const{LogoSpinner:n=Ae}=R();return s.jsx(V.Overlay,{transparent:!0,children:s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-items-center dtw-rounded-xl dtw-px-5 dtw-py-5",children:[t&&s.jsx("span",{className:"dtw-mb-8 dtw-font-medium dtw-text-[color:var(--panel-secondary-content-color)]",children:t}),s.jsx(n,{className:"dtw-h-[80px] dtw-w-[60px]"}),e&&s.jsx("p",{className:"dtw-mt-6 dtw-text-xl dtw-font-light",children:e})]})})},rt=({className:t,children:e,type:n="error"})=>s.jsx("div",{className:A("dtw-rounded-[var(--panel-radius)] dtw-p-3",{"dtw-bg-[var(--panel-alert-error-bg)] dtw-text-[var(--panel-alert-error-color)]":n==="error","dtw-bg-[var(--panel-alert-warning-bg)] dtw-text-[var(--panel-alert-warning-color)]":n==="warning","dtw-bg-[var(--panel-alert-info-bg)] dtw-text-[var(--panel-alert-info-color)]":n==="info"},t),children:e}),pn=(t,e=!1)=>{if(!t)return"";let n="";e&&t.startsWith("-")&&(n="-",t=t.slice(1));const[a,o]=t.split("."),r=a?.replace(/\D/g,"");if(!r)return o?`${n}0.${o}`:n;const i=new Intl.NumberFormat().format(Number(r));return o!==void 0?`${n}${i}.${o.replace(/[^\d]/g,"")}`:`${n}${i}`},un=t=>t.replace(/,/g,""),Mc=p.forwardRef(({value:t,onChange:e,formatOnBlurOnly:n=!1,allowNegative:a=!1,...o},r)=>{const i=c=>{const u=c.target.value.replace(a?/[^0-9.-]/g:/[^0-9.]/g,"").replace(/^(-?\d*\.\d*).*$/,"$1").replace(/^(-?\.)(.*)/,"$1$2");if(n)e?.(u,un(u));else{const m=pn(u,a);e?.(m,un(m))}},l=()=>{if(!n)return;const c=pn(t,a);e?.(c,un(c))};return s.jsx("input",{...o,ref:r,type:"text",inputMode:"decimal",value:pn(t,a),onChange:i,onBlur:l})});Mc.displayName="InputNumber";const kt=({className:t})=>s.jsx("div",{className:A("dtw-w-full dtw-h-[1px] dtw-bg-[var(--panel-divider-color)] dtw-shrink-0",t)}),jc=()=>{const[t]=pe(),[e,n]=q(),[a,o]=p.useState(!1),r=e.slippage!=="auto";return{settings:e,tradingType:t,isCustomSlippage:r,invalidSlippage:a,onDefaultSlippageSelect:()=>{n({slippage:"auto"})},onCustomSlippageSelect:c=>{const d=c.target.value,u=+d<0||+d>100;o(u);let m=e.slippage;u||d.trim().length===0&&r?m="auto":d.trim().length>0&&(m=+d),n({slippage:m})}}},Aa=({selected:t=!1,children:e,className:n,onClick:a})=>s.jsx("div",{className:A("dtw-cursor-pointer dtw-rounded-[var(--panel-input-button-radius,var(--panel-radius))] dtw-py-1 dtw-text-center dtw-text-sm",n,{"dtw-bg-[color:var(--panel-switch-bg-checked)] !dtw-text-[color:var(--panel-switch-color-checked)]":t,"dtw-bg-[color:var(--panel-switch-bg)] dtw-text-white hover:dtw-opacity-80 !dtw-text-[color:var(--panel-switch-color)]":!t}),onClick:a,children:e}),Bc=0,Fc=100,Wo=()=>{const t=S(),{settings:e,tradingType:n,isCustomSlippage:a,invalidSlippage:o,onDefaultSlippageSelect:r,onCustomSlippageSelect:i}=jc(),l=Io({tradingType:n,slippage:e.slippage,minSlippage:e.minSlippage});return s.jsxs("div",{className:"dtw-flex dtw-items-stretch dtw-gap-x-3",children:[s.jsx(Aa,{selected:!a,className:"dtw-w-14",onClick:r,children:t.auto}),s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-gap-x-1 dtw-flex-1",children:[s.jsx(Aa,{selected:a,className:"dtw-w-14",children:s.jsx("input",{className:A("dtw-w-full dtw-bg-transparent dtw-px-1.5 dtw-outline-none focus:dtw-outline-none dtw-text-center",{"dtw-text-red-600":o}),type:"number",min:Bc,max:Fc,onChange:i,placeholder:l,defaultValue:a?e.slippage.toString():""})}),s.jsx("span",{children:"%"})]})]})};function nn(t,e,n){const a=ii[n??h.arbitrum.id]?.blockExplorers?.default?.url;if(a)switch(e){case"transaction":return`${a}/tx/${t}`;default:return`${a}/address/${t}`}}const Wc=({batchId:t,updatePendingTransactions:e})=>{const{data:n}=E.useWaitForCallsStatus({id:t,pollingInterval:Ma,query:{enabled:!!t}}),a=n?.receipts?.[0]?.transactionHash;p.useEffect(()=>{a&&e({type:"update",txHash:a})},[a,e])},Uo=()=>{const[t,e]=ae(),n=K()[1],a=qs(),o=Ks(),[r]=t,i=r?.batchId,l=r?.txHash,c=r?.action,d=c==="approve",u=r?.chainId,{invalidateTradingQueries:m,invalidateAllowanceQueries:y}=Zt();Wc({batchId:i,updatePendingTransactions:e});const{data:w,error:g}=E.useWaitForTransactionReceipt({hash:l,chainId:u,pollingInterval:Ma,query:{enabled:!!l}});p.useEffect(()=>{if(w){const T=w.transactionHash;if(T){const x=nn(T,"transaction",u);n({link:x,status:"Success",action:c}),e({type:"remove",status:"success",txHash:T}),o?.(w,c,x)}d?y():m()}},[w,d,u,c,o,e,n,y,m]),p.useEffect(()=>{g&&(n({isOpen:!1,status:"None",link:"",action:c,sendTokens:null,receiveTokens:null}),e({type:"remove",status:"fail"}),a?.(g,c,u,l))},[g,d,c,u,l,n,e,a])},Ue=t=>{const[,e]=K(),[,n]=ae(),[,a]=N(),o=Ys();return p.useCallback((r,i,l)=>{if(i){e({isOpen:!1,status:"None",link:"",sendTokens:null,receiveTokens:null}),n({type:"remove",status:"fail"}),console.debug(`${t} transaction failed`,i),o?.(i);return}if(r){console.debug(`${t} transaction started`,r),n({type:"update",txHash:r});const c=nn(r,"transaction",l.chainId);e({isOpen:!0,status:"Mining",link:c}),t!=="approve"&&a({value:""})}},[t,n,a,e,o])},ta=({address:t,chainId:e,refetchInterval:n,disabled:a=!1})=>{const{supportedChainId:o}=xe(),{data:r}=E.useReadContracts({contracts:[{address:W("factory",e??o),abi:je,functionName:"getAssetPrice",args:[t],chainId:e}],query:{enabled:!J(t)&&!a,refetchInterval:n}});return Qt(r),r?.[0]?.result},le=({address:t,chainId:e,refetchInterval:n=Me,disabled:a})=>{const o=ta({address:t,chainId:e,refetchInterval:n,disabled:a});return I.formatUnits(o??BigInt(0),k)},na=()=>{const[t]=N(),[e]=O(),n=ue({address:t.address,symbol:t.symbol}),a=new b(t.value),o=new b(e.value);return(a.gt(0)||o.gt(0))&&a.lte(n??0)};function Uc(t,e,n,a){try{if(e==="all")return"";const o=Number(n),r=Number(a);return o===0||r===0||!isFinite(o)||!isFinite(r)?"":`1 ${t} = ${(r/o).toFixed(6)} ${e}`}catch{return""}}const $o=()=>{const[t]=N(),[e]=O();return{value:Uc(t.symbol,e.symbol,t.value,e.value),isLoading:!!e.isLoading}},_e=()=>{const t=!We(),[{symbol:e}]=O(),[{isMultiAssetWithdrawalEnabled:n}]=q();return t&&n&&e==="all"},aa=()=>{const{account:t}=L(),{chainId:e}=v(),n=_e(),[a]=N(),o=new b(a.value||"0").shiftedBy(a.decimals).toFixed(0,b.ROUND_UP),r=W("easySwapperV2",e),i=Jo({tokenAddress:a.address,ownerAddress:t??C,spenderAddress:r,rawAmountToSpend:o,chainId:e,skip:n||o==="0"}),l=Zo({token:a,rawTokenAmount:o,spenderAddress:r});return{canSpend:i,approve:l}},$c=({address:t,chainId:e})=>{const n=E.usePublicClient({chainId:e}),{data:{aaveAssetGuardAddress:a=C}={}}=gt({address:t,chainId:e});return p.useCallback(async({withdrawAmountD18:o,slippage:r})=>ro({address:a,abi:Ai,functionName:"calculateSwapDataParams",args:[t,o,Un(r)],publicClient:n}),[a,t,n])},zc=async({assets:t,getSwapData:e,signal:n,buildKey:a})=>{const o=await Promise.all(t.map(r=>e({signal:n,variables:{...r,fromAddress:Nn}})));return t.reduce((r,i,l)=>{const c=a(i);return r[c]=o[l]??null,r},{})},Hc=async({assets:t,getSwapQuotes:e,signal:n,buildKey:a})=>{const o=await Promise.all(t.map(r=>e({signal:n,variables:{...r,fromAddress:Nn}})));return t.reduce((r,i,l)=>{const c=a(i);return r[c]=o[l]??null,r},{})},Vc=async({assets:t,getSwapData:e,signal:n})=>zc({assets:t,getSwapData:e,signal:n,buildKey:Os}),Gc=new AbortController,qc=Gc.signal,Yc=({chainId:t})=>{const{account:e=C}=L(),n=Zs();return p.useCallback(async({swapParams:a,slippage:o})=>{const r=(a?.srcData??[]).map(({asset:i,amount:l})=>({chainId:t,sourceAddress:i,destinationAddress:a?.dstData.asset??C,walletAddress:e,amount:l.toString(),slippage:o.toString()}));return Vc({assets:r,getSwapData:n,signal:qc})},[t,n,e])},Kc=({address:t,chainId:e})=>{const n=W("aaveLendingPoolV3",e),{aaveOffchainWithdrawMinValue:a}=$(),{data:{getSupportedAssets:o}={}}=bt({address:t,chainId:e}),r=$c({address:t,chainId:e}),i=Yc({chainId:e});return p.useCallback(async({withdrawAmountD18:l,vaultTokenPrice:c,slippage:d})=>{const u=new b(l.toString()).shiftedBy(-18).times(c).gt(a);return await Promise.all((o??[]).map(async m=>{const y=H(m,n),w=Un(d);if(u&&y)try{const g=await r({withdrawAmountD18:l,slippage:d});if(g?.srcData.length){const T=await i({swapParams:g,slippage:d});return tl({assetAddress:m,swapData:T,swapParams:g,slippageToleranceForContractTransaction:w})}}catch(g){console.error(g)}return{supportedAsset:m,withdrawData:"",slippageTolerance:w}}))},[n,a,i,r,o])},Qc=()=>{const{defaultWithdrawSlippage:t,defaultSwapTransactionSlippage:e}=$(),n=!We(),{isCompleteWithdrawStep:a,isFetching:o}=Ze(),[r]=O(),[,i]=q(),l=Yo();p.useEffect(()=>{if(!(!n||r.isLoading||o)){if(a){const c=l<0?Math.abs(l):0,d=Number((c+e).toFixed(2));i({minSlippage:d});return}i({minSlippage:t})}},[i,r.isLoading,n,l,a,t,e,o])},Xc=()=>{const{account:t=C}=L(),{chainId:e}=v();return E.useReadContract({address:W("easySwapperV2",e),abi:de,functionName:"withdrawalContracts",chainId:e,args:[t],query:{enabled:!J(t)}})},sa=()=>{const{chainId:t}=v(),[e]=O(),n=ta({address:e.address,chainId:t}),a=xt(),o=Ho(),r=new b(o).shiftedBy(k).div(n?.toString()??"1").shiftedBy(e.decimals).toFixed(0,b.ROUND_DOWN),i=new b(r).times(1-$a/100).times(1-a/100).toFixed(0,b.ROUND_DOWN);return{expectedReceiveAmount:r,minExpectedReceiveAmount:i}},zo=({isClaim:t}={})=>{const e=v(),{data:n=[]}=me(),{data:a={}}=Je(),[o]=O(),{minExpectedReceiveAmount:r}=sa(),i=ae()[1],l=t?"claim":"swap",c=Ue(l),d=oa(),{send:u,estimate:m}=be({contractId:"easySwapperV2",functionName:ei,onSettled:c}),y=p.useCallback(async()=>{if(t||!d)return[];const w=Object.values(a)[0]?.map(({routerKey:g})=>g);if(!w?.length)return console.warn("[Complete Withdraw] No available routers found for swap"),[];for(const g of w){const T=Object.entries(a).reduce((z,[_,X])=>{const he=X?.find(fe=>fe.routerKey===g);return{...z,[_]:he}},{}),x=el({assets:n,swapData:T,receiveAssetAddress:o.address}),{error:D}=await m(x,r);if(!D)return[x,r]}return console.error("[Complete Withdraw] All routers failed estimation"),[]},[t,d,a,r,n,o.address,m]);return p.useCallback(async()=>{i({type:"add",action:l,symbol:e.symbol,chainId:e.chainId});const w=await y();return console.log("Arguments",w),u(...w)},[l,e.chainId,e.symbol,u,y,i])},Ho=()=>{const{data:t=[]}=me();return t.reduce((e,{balance:n,price:a})=>e+n*a,0)},Vo=({account:t,chainId:e})=>E.useReadContract({address:W("easySwapperV2",e),abi:de,functionName:"getTrackedAssets",chainId:e,args:[t],query:{enabled:!J(t)}}),Zc=({assets:t,chainId:e})=>t.flatMap(({token:n})=>[{address:n,abi:I.erc20Abi,functionName:"symbol",chainId:e,args:[]},{address:n,abi:I.erc20Abi,functionName:"decimals",chainId:e,args:[]},{address:W("factory",e),abi:je,functionName:"getAssetPrice",chainId:e,args:[n]}]),Jc=3,Go=({assets:t,chainId:e})=>{const n=p.useCallback(a=>t.map(({token:o,balance:r},i)=>{const l=i*Jc,c=l+1,d=c+1,u=Number(a[c]?.result??k),m=Wn[o.toLowerCase()]??a[l]?.result?.toString()??"";return{address:o,symbol:m,decimals:u,rawBalance:r,balance:new b(r.toString()).shiftedBy(-u).toNumber(),price:new b(a[d]?.result?.toString()??0).shiftedBy(-18).toNumber()}}),[t]);return E.useReadContracts({contracts:Zc({assets:t,chainId:e}),query:{enabled:t.length>0,select:n}})},me=()=>{const{account:t=C}=L(),{chainId:e}=v(),{data:n=[]}=Vo({account:t,chainId:e});return Go({assets:n,chainId:e})},Ze=()=>{const{data:t=[],isFetching:e}=me();return{isCompleteWithdrawStep:t?.length>0,isFetching:e}},ed=(t,e)=>{const n=xl(),{settings:{selectedAggregators:a}}=Q();return Ge.useQuery({queryKey:["getSwapsQuotes",t,a],queryFn:async({signal:o,queryKey:[,r]})=>await Hc({assets:r,getSwapQuotes:n,signal:o,buildKey:({sourceAddress:i})=>i}),...e})},Je=()=>{const{defaultSwapTransactionSlippage:t}=$(),{chainId:e}=v(),{account:n=C}=L(),[{slippage:a}]=q(),[o]=O(),{data:r=[]}=me(),i=oa(),l=p.useMemo(()=>r.filter(({address:c})=>!H(c,o.address)).map(({address:c,rawBalance:d})=>({chainId:e,sourceAddress:c,destinationAddress:o.address,walletAddress:n,amount:d.toString(),slippage:(a==="auto"?t:a).toString()})),[r,e,t,o.address,a,n]);return ed(l,{enabled:i,refetchInterval:In})},td=()=>{const[t,e]=O(),{data:n=[]}=me(),{data:a,isFetching:o,isError:r}=Je();p.useEffect(()=>{e({isLoading:o})},[o,e]),p.useEffect(()=>{if(n.length===0||o||r)return;const i=n.reduce((l,c)=>{if(H(c.address,t.address))return l.plus(c.rawBalance.toString());const u=a?.[c.address]?.[0]?.destinationAmount??"0";return l.plus(u)},new b(0));e({value:I.formatUnits(BigInt(i.toFixed()),t.decimals)})},[n,r,o,t.address,t.decimals,a,e])},qo=({withdraw:t,isClaim:e})=>{const n=S(),a=oe(),{account:o}=L(),r=v(),[i]=O(),l=K()[1],c=ae()[1],d=Yt(),{data:u=[]}=me(),{isFetching:m}=Je(),y=async()=>{const w=r.chainId,g=u.map(({address:x,decimals:D,symbol:z,balance:_})=>({address:x,decimals:D,symbol:z,value:_.toString()})),T=e?null:g.filter(x=>!H(x.address,i.address));l({isOpen:!0,status:"Wallet",action:e?"claim":"swap",link:"",sendTokens:T,receiveTokens:e?g:[i]});try{await t()}catch(x){x instanceof Ke&&(a({type:"MERGE_OVERLAY",payload:{type:j.ERROR_NOTIFICATION,isOpen:!0,meta:{error:x.message}}}),d?.(x,r.address,w,o)),l({isOpen:!1,status:"None",link:"",sendTokens:null,receiveTokens:null}),c({type:"remove",status:"fail"})}};return{disabled:e?!1:m,label:e?n.claimAction:n.swapAction,handleTrade:y}},Yo=()=>{const{expectedReceiveAmount:t}=sa(),[e]=O(),n=new b(e.value||"0").shiftedBy(e.decimals);return t==="0"||n.isZero()?0:n.dividedBy(t).minus(1).times(100).decimalPlaces(2,b.ROUND_DOWN).toNumber()},oa=()=>{const[t]=O(),{data:e=[]}=me();return e.length>0&&e.some(({address:n})=>!H(n,t.address))},xt=()=>{const{defaultWithdrawSlippage:t}=$(),{isCompleteWithdrawStep:e}=Ze(),[{slippage:n,minSlippage:a}]=q();return n==="auto"?e?a??t:t:n};function En(t,e,n){const[a,o]=p.useState(n),r=qt?t==="sessionStorage"?sessionStorage:localStorage:null,i=p.useCallback(l=>{try{o(l),r?.setItem(e,JSON.stringify(l))}catch(c){console.error(c)}},[e,r]);return p.useEffect(()=>{try{const l=r?.getItem(e);l&&o(JSON.parse(l))}catch(l){console.error(l)}},[e,r]),[a,i]}const ra=(t,e)=>{const[n,a]=p.useState(t);return p.useEffect(()=>{const o=setTimeout(()=>{a(t)},e);return()=>{clearTimeout(o)}},[t,e]),n},nd=t=>ve({value:I.formatEther(t),decimals:2}),ad=()=>{const t=v(),[e]=N(),n=_e(),a=xt(),o=Kc(t),r=ie({address:t.address,formatter:nd,chainId:t.chainId});return p.useCallback(async()=>{const i=BigInt(new b(e.value||"0").shiftedBy(k).toFixed(0,b.ROUND_DOWN)),l=await o({withdrawAmountD18:i,vaultTokenPrice:r,slippage:a});return n?[i,l]:[t.address,i,l]},[o,n,t.address,e.value,a,r])},sd=({debounceTime:t}={})=>{const e=v(),n=_e(),[a]=N(),o=xt(),{data:{getSupportedAssets:r}={}}=bt(e),i=ra(new b(a.value||"0").shiftedBy(k).toFixed(0,b.ROUND_DOWN),t??0);return p.useMemo(()=>{const l=Un(o),c=BigInt(i),d=(r??[]).map(u=>({supportedAsset:u,withdrawData:"",slippageTolerance:l}));return n?[c,d]:[e.address,c,d]},[o,i,r,n,e.address])},od=t=>typeof t[0]=="string"&&typeof t[1]=="bigint"&&Array.isArray(t[2]),rd=()=>{const t=v(),e=wt(),{canSpend:n}=aa(),a=sd({debounceTime:Ba}),o=od(a)&&a[1]!==BigInt(0)&&!e&&n,{data:r}=E.useSimulateContract({abi:de,address:W("easySwapperV2",t.chainId),functionName:Ha,args:a,query:{enabled:o}});return Go({assets:r?.result[0]??[],chainId:t.chainId})},ia=()=>{const[t]=O(),{data:e=[]}=rd(),n=ht();return e?.length===1&&H(e[0]?.address,t.address)&&!n},id=()=>{const t=v(),e=_e(),n=ia(),a=ad(),o=ae()[1],r=e?"multi_withdraw":n?"single_withdraw_and_claim":"single_withdraw",i=Ue(r),l=e?za:n?Jr:Ha,{send:c}=be({contractId:e?"poolLogic":"easySwapperV2",dynamicContractAddress:e?t.address:void 0,functionName:l,onSettled:i});return{withdraw:p.useCallback(async()=>{o({type:"add",action:r,symbol:t.symbol,chainId:t.chainId});const u=await a();return console.log("Arguments",u),c(...u)},[o,r,t.symbol,t.chainId,a,c]),action:r}},Ko=t=>{const e=S(),n=oe(),{account:a}=L(),o=v(),[r]=N(),[i]=O(),[l]=pe(),c=K()[1],d=ae()[1],u=Yt(),m=_e(),y=ia(),w=ue({symbol:r.symbol,address:r.address}),g=l==="deposit",T=na(),x=g?"deposit":m?"multi_withdraw":y?"single_withdraw_and_claim":"single_withdraw",D=async()=>{const z=o.chainId;c({isOpen:!0,status:"Wallet",action:x,link:"",sendTokens:[r],receiveTokens:g||y?[i]:null,meta:g?{}:{withdrawPercentage:r.value&&w?new b(r.value).div(w).toNumber():0}});try{await t()}catch(_){_ instanceof Ke&&(n({type:"MERGE_OVERLAY",payload:{type:j.ERROR_NOTIFICATION,isOpen:!0,meta:{error:_.message}}}),u?.(_,o.address,z,a)),c({isOpen:!1,status:"None",link:"",sendTokens:null,receiveTokens:null,meta:{}}),d({type:"remove",status:"fail"})}};return{disabled:!T,label:g?e.depositAction:m?e.withdrawAction:y?e.unrollAndClaimAction:e.unrollAction,handleTrade:D}},ld=1,cd="USD",dd=({depositValueInUsd:t,apy:e,apyCurrencyPrice:n,currency:a})=>{if(t===0||!e||!a||n===0)return{yearlyEarnings:"-",dailyEarnings:"-",monthlyEarnings:"-"};const o=t*e/100/n;return{yearlyEarnings:Mt({value:o,currency:a}),dailyEarnings:Mt({value:o/365,currency:a}),monthlyEarnings:Mt({value:o/12,currency:a})}},Qo=({currency:t,depositValueInUsd:e,chainId:n,apy:a,disabled:o})=>{const r=t==="ETH"?Cs[n]?.address:t==="BTC"?Ds[n]?.address:void 0,i=le({address:r??C,chainId:n,disabled:o||!a||!r}),l=r?Number(i):ld;return p.useMemo(()=>dd({depositValueInUsd:e,apy:a,apyCurrencyPrice:l,currency:r?t:cd}),[e,a,l,t,r])},Xo=()=>{const t=pe()[0]==="deposit",{chainId:e}=v(),[n]=Fe(),[a]=N(),o=le({address:a.address,chainId:e,disabled:!t||!n.apy}),r=Qo({chainId:e,apy:n.apy?.value,currency:n.apy?.currency,depositValueInUsd:+a.value*+o,disabled:!t});return t?{showEarnings:!!n.apy?.value,...r}:{dailyEarnings:null,yearlyEarnings:null,monthlyEarnings:null,showEarnings:!1}},pd=(t,e)=>{const{settings:{selectedAggregators:n}}=Q(),a=Zs();return Ge.useQuery({queryKey:["getSwapData",{...t,fromAddress:Nn},n],queryFn:async({signal:o,queryKey:[,r]})=>a({signal:o,variables:r}),...e})},an=(t={})=>{const e=t?.extendedDebounceTime??!1,[n]=N(),a=ra(n.value,e?Ba:ja);return{debouncedSendTokenValue:a,isDebouncing:n.value!==a}},ud=()=>{const t=Jt(),[{isBatchTransactionsEnabled:e}]=q();return t&&e},Zo=({token:t,rawTokenAmount:e,spenderAddress:n})=>{const a=v(),[{isInfiniteAllowance:o}]=q(),r=ae()[1],i=K()[1],l=Ue("approve"),{send:c}=be({contractId:"erc20",dynamicContractAddress:t.address,functionName:"approve",onSettled:l});return p.useCallback(async()=>(i({isOpen:!0,status:"Wallet",link:"",action:"approve",sendTokens:[{symbol:t.symbol,address:t.address,decimals:t.decimals,value:""}],receiveTokens:null,meta:{}}),r({type:"add",action:"approve",symbol:t.symbol,chainId:a.chainId}),c(n,o?Le:e)),[o,a.chainId,e,c,n,t.address,t.decimals,t.symbol,r,i])},Jo=({rawAmountToSpend:t,tokenAddress:e,ownerAddress:n,spenderAddress:a,chainId:o,skip:r=!1})=>{const{data:i}=Kt({tokenAddress:e,ownerAddress:n,spenderAddress:a,chainId:o,skip:r});return p.useMemo(()=>r?!0:!i||i===BigInt(0)?!1:!t||t==="0"?!0:new b(i.toString()).gte(t),[t,i,r])},md=()=>{const[{isInfiniteAllowance:t},e]=q(),n=Be(),a=p.useCallback(o=>{e({isInfiniteAllowance:o}),n?.(Y.INFINITE_ALLOWANCE_CHANGE,{[ge.IS_INFINITE.NAME]:o?1:0})},[e,n]);return p.useMemo(()=>[t,a],[t,a])},er=()=>{const t=S(),[e,n]=md();return s.jsx(tn,{defaultEnabled:e,onChange:n,label:t.infinite})},yd=()=>{const[{isBatchTransactionsEnabled:t},e]=q(),n=Be(),a=p.useCallback(o=>{e({isBatchTransactionsEnabled:o}),ml(o),n?.(Y.BATCH_TRANSACTIONS_CHANGE,{[ge.IS_BATCH_TRANSACTIONS_ENABLED.NAME]:o?1:0})},[e,n]);return p.useMemo(()=>[t,a],[t,a])},tr=()=>{const t=S(),[e,n]=yd();return s.jsx(tn,{defaultEnabled:e,onChange:n,label:t.batchTransactionsSwitchLabel})},wd=()=>{const[{availableAggregators:t,selectedAggregators:e},n]=q(),a=p.useCallback(o=>{const r=e.includes(o)?e.filter(i=>i!==o):[...e,o];n({selectedAggregators:r})},[e,n]);return{availableAggregators:t,selectedAggregators:e,onAggregatorToggle:a}},nr=()=>{const t=S(),{availableAggregators:e,selectedAggregators:n,onAggregatorToggle:a}=wd();return e.length<=1?null:s.jsx(Oe,{label:t.aggregatorsLabel,tooltipText:t.aggregatorsTooltip,children:s.jsx("div",{className:"dtw-flex dtw-flex-col dtw-gap-2",children:e.map(o=>s.jsxs("label",{className:"dtw-flex dtw-items-center dtw-justify-between dtw-gap-2 dtw-text-xs dtw-text-[var(--panel-content-color)] dtw-cursor-pointer",children:[o,s.jsx(tn,{defaultEnabled:n.includes(o),onChange:()=>a(o),size:"sm"})]},o))})})},hd=()=>{const t=Jt(),e=S();return s.jsxs(s.Fragment,{children:[s.jsx(Oe,{label:e.slippageTolerance,tooltipText:e.depositSlippageWarning,children:s.jsx(Wo,{})}),s.jsx(Oe,{label:e.tokenAllowance,tooltipText:e.toggleTokenApprovalAmount,children:s.jsx(er,{})}),t&&s.jsx(Oe,{label:e.batchTransactionsLabel,tooltipText:e.batchTransactionsTooltip,children:s.jsx(tr,{})}),s.jsx(nr,{})]})},gd=()=>{const{chainId:t}=v(),[e]=N(),n=W("easySwapperV2",t),a=new b(e.value||"0").shiftedBy(e.decimals).toFixed(0,b.ROUND_UP);return p.useMemo(()=>({address:e.address,abi:I.erc20Abi,functionName:"approve",chainId:t,args:[n,a]}),[t,a,e.address,n])},Td=()=>{const{chainId:t,address:e}=v(),{data:{isCustomCooldownDepositAllowed:n}={}}=gt({address:e,chainId:t});return n!==!1},Sa=(t,e)=>t.length?t.find(({tokenAddress:a})=>Object.values(Vi[e]??{}).some(o=>H(o.address,a)))?.tokenAddress??t[0]?.tokenAddress:null,et=()=>{const[t]=N(),{chainId:e,address:n}=v(),a=Qe({address:n,chainId:e}),o=Td();return p.useMemo(()=>{const r=a.filter(({isDeposit:c})=>c);if(Gt(t.symbol,e)){const c=r.find(({tokenName:d})=>$e[e]?.wrappedNativeTokenName===d);return c?{depositMethod:o?Se.NATIVE_CUSTOM:Se.NATIVE,vaultDepositTokenAddress:c.tokenAddress}:{depositMethod:o?Se.ZAP_NATIVE_DEPOSIT_CUSTOM:Se.ZAP_NATIVE_DEPOSIT,vaultDepositTokenAddress:Sa(r,e)??t.address}}const l=r.find(({tokenAddress:c})=>H(c,t.address));return l?{depositMethod:o?Se.DEPOSIT_CUSTOM:Se.DEPOSIT,vaultDepositTokenAddress:l.tokenAddress}:{depositMethod:o?Se.ZAP_DEPOSIT_CUSTOM:Se.ZAP_DEPOSIT,vaultDepositTokenAddress:Sa(r,e)??t.address}},[e,o,a,t.address,t.symbol])},At=()=>{const[t]=N(),{vaultDepositTokenAddress:e}=et();return!H(t.address,e)},la=()=>{const{defaultSwapTransactionSlippage:t}=$(),[{slippage:e}]=q(),n=At();return e==="auto"?n?t:Ht:e},ar=()=>{const{defaultNoSwapMinDepositAmountGap:t}=$(),{address:e,chainId:n}=v(),[a]=N(),[o]=O(),{data:{entryFee:r}={}}=se({address:e,chainId:n}),i=mt(Number(r??"0"),Ce),[{slippage:l}]=q(),c=l==="auto",d=la(),u=At(),m=+le({address:a.address,chainId:n}),y=+ie({address:e,chainId:n});if(u){const T=Number(a.value||0)*m*(1-i/100)/y;return new b(T).shiftedBy(o.decimals).times(1-d/100).toFixed(0)}const w=c?t:d;return new b(o.value||"0").shiftedBy(o.decimals).times(1-w/100).toFixed(0)},sn=()=>{const{account:t=C}=L(),{chainId:e}=v(),[n]=N(),{debouncedSendTokenValue:a}=an(),{vaultDepositTokenAddress:o}=et(),r=At();return pd({sourceAddress:n.address,destinationAddress:o,amount:new b(a).shiftedBy(n.decimals).toFixed(0),chainId:e,slippage:"33",walletAddress:t},{enabled:r&&!!a,refetchInterval:In})},bd=({isDepositWithSwapTransaction:t,sendTokenAddress:e,sendTokenValue:n})=>{const{chainId:a}=v(),o=+le({address:e,chainId:a}),{vaultDepositTokenAddress:r}=et(),{data:i}=E.useReadContract({address:r,abi:I.erc20Abi,functionName:"decimals",chainId:a}),l=+le({address:r,chainId:a,refetchInterval:Me,disabled:!t}),c=Number(n||"0")*o;return i&&l!==0?new b(c/l).shiftedBy(i).times(1-$a/100).toFixed(0):"0"},sr=()=>{const[t]=N(),{debouncedSendTokenValue:e}=an(),n=At(),a=bd({isDepositWithSwapTransaction:n,sendTokenAddress:t.address,sendTokenValue:e});return n?a:new b(e||"0").shiftedBy(t.decimals).toFixed(0)},fd=({depositMethod:t,vaultDepositTokenAddress:e})=>{const{address:n}=v(),[a]=N(),o=new b(a.value).shiftedBy(a.decimals).toFixed(0),r=sr(),{data:i}=sn(),l=ar(),c=la();return p.useMemo(()=>{const u=t==="zapNativeDeposit"||t==="zapNativeDepositWithCustomCooldown"||t==="zapDeposit"||t==="zapDepositWithCustomCooldown"?Ji({vaultAddress:n,sendTokenAddress:a.address,sendTokenAmount:o,minVaultTokensReceivedAmount:l,vaultDepositTokenAddress:e,swapData:i?.rawTransaction.data??"0x",routerKey:i?.routerKey,swapDestinationAmount:r,swapSlippage:c}):[];switch(t){case"nativeDeposit":case"nativeDepositWithCustomCooldown":return[n,l,{value:r}];case"zapNativeDeposit":case"zapNativeDepositWithCustomCooldown":return[...u,{value:o}];case"zapDeposit":case"zapDepositWithCustomCooldown":return u;default:return[n,e,r,l]}},[t,n,a.address,o,l,e,i?.rawTransaction.data,i?.routerKey,c,r])},or=()=>{const{chainId:t}=v(),[e]=O(),n=ae()[1],{depositMethod:a,vaultDepositTokenAddress:o}=et(),r=fd({depositMethod:a,vaultDepositTokenAddress:o}),i=p.useCallback(()=>{n({type:"add",action:"deposit",symbol:e.symbol,chainId:t})},[n,e.symbol,t]);return{chainId:t,depositMethod:a,txArgs:r,addPendingTransaction:i}},vd=t=>{const[,e]=K(),[,n]=ae(),[,a]=N(),[,o]=q(),r=Ys();return p.useCallback((i,l)=>{if(l){o({isBatchTransactionsEnabled:!1}),e({isOpen:!1,status:"None",link:"",sendTokens:null,receiveTokens:null}),n({type:"remove",status:"fail"}),console.debug(`${t} transaction failed`,l),r?.(l);return}const c=i?.id;c&&(console.debug(`${t} transaction started, batch id:`,c),n({type:"update",batchId:c}),e({isOpen:!0,status:"Mining"}),a({value:""}))},[o,e,n,t,r,a])},xd=({address:t,abi:e,functionName:n,args:a,value:o})=>({to:t,data:I.encodeFunctionData({abi:e,functionName:n,args:a}),value:o}),Ad=({onSettled:t})=>{const{sendCalls:e}=E.useSendCalls({mutation:{onSettled:t}});return p.useCallback(async n=>e({calls:n.map(xd),forceAtomic:!0}),[e])},Sd="deposit",Ed=()=>{const{chainId:t,depositMethod:e,txArgs:n,addPendingTransaction:a}=or(),o=gd(),r=vd(Sd),i=Ad({onSettled:r});return p.useCallback(async()=>{a();const l={address:W("easySwapperV2",t),abi:de,functionName:e,args:n};return i([o,l])},[a,t,e,n,i,o])},Cd="deposit",Dd=()=>{const{depositMethod:t,txArgs:e,addPendingTransaction:n}=or(),a=Ue(Cd),{send:o}=be({contractId:"easySwapperV2",functionName:t,onSettled:a});return p.useCallback(async()=>(n(),o(...e)),[n,o,e])},Id=()=>{const{account:t=C}=L(),{chainId:e}=v(),[n]=N(),a=W("easySwapperV2",e),o=new b(n.value||"0").shiftedBy(n.decimals).toFixed(0,b.ROUND_UP),r=Jo({tokenAddress:n.address,ownerAddress:t,spenderAddress:a,rawAmountToSpend:o,chainId:e,skip:Gt(n.symbol,e)||o==="0"});return{approve:Zo({token:n,rawTokenAmount:o,spenderAddress:a}),canSpend:r}},_d=({address:t,chainId:e})=>{const[n]=N(),a=We(),{vaultDepositTokenAddress:o}=et(),r=sr(),i=!!(r&&+r>0),l=E.useReadContract({address:W("easySwapperV2",e),abi:de,functionName:"depositQuote",args:[t,o,BigInt(r??0)],chainId:e,query:{enabled:a&&i&&!!n.address&&!!r,refetchInterval:Me}});return Vn(l),l},Nd=()=>{const{address:t,chainId:e}=v(),n=We(),[a]=N(),[o,r]=O(),[,i]=q(),{isDebouncing:l,debouncedSendTokenValue:c}=an(),{isFetching:d}=sn(),{data:u,isFetching:m}=_d({address:t,chainId:e}),y=d||m||l;p.useEffect(()=>{if(!n||y)return;const w=u?new b(u.toString()).shiftedBy(-o.decimals).toFixed(o.decimals):"";r({value:w})},[u,o.decimals,a.address,r,n,y,c]),p.useEffect(()=>{n&&r({isLoading:y})},[n,y,r]),p.useEffect(()=>{n&&(!a.value||a.value==="0")&&(r({value:"0"}),i({minSlippage:0}))},[r,i,a.value,n])},rr=(t={})=>{const{address:e,chainId:n}=v(),{data:a}=se({address:e,chainId:n}),[o]=N(),[r]=O(),i=le({address:o.address,chainId:n}),l=ie({address:e,chainId:n}),c=t.includesEntryFee?mt(Number(a?.entryFee??"0"),Ce):0;return p.useMemo(()=>{const d=Number(o.value||"0"),u=new b(d).times(i??"0").times(1-c/100),m=Number(r.value||"0"),y=new b(m).times(l??"0");return u.isZero()||y.isZero()?0:u.decimalPlaces(pt(d)).comparedTo(y.decimalPlaces(pt(m)))&&u.isGreaterThan(0)?y.dividedBy(u).minus(1).times(100).decimalPlaces(2,b.ROUND_DOWN).toNumber():0},[c,r.value,o.value,i,l])},kd=()=>{const t=We(),[e]=O(),[,n]=q(),{isDebouncing:a}=an({extendedDebounceTime:!0}),o=la(),r=rr({includesEntryFee:!0});p.useEffect(()=>{if(!t||e.isLoading||a)return;const i=r-o,l=i<0?Math.abs(Number(i.toFixed(2))):0;n({minSlippage:l})},[n,t,e.isLoading,r,o,a])},on=()=>{const{address:t,chainId:e,depositParams:n}=v(),{account:a}=L(),o=Qe({address:t,chainId:e}),r=ht(),[{isCustomDepositOptionsDisabled:i}]=q(),[l]=to(),c=p.useMemo(()=>Gr([...o.filter(({isDeposit:y})=>y).map(({tokenAddress:y,tokenName:w,precision:g})=>({address:y.toLowerCase(),symbol:w,decimals:g})),...i?[]:[...n.customTokens.map(y=>({...y,address:y.address.toLowerCase()})),...l?.[e]??[]]],"address"),[o,i,n.customTokens,l,e]),d=!!c.length,u=!!a&&d,{data:m}=E.useReadContracts({contracts:c.map(({address:y})=>({address:y,abi:I.erc20Abi,functionName:"balanceOf",args:[a??C],chainId:e})),query:{enabled:u}});return Qt(m),p.useMemo(()=>{if(!d)return[];const y=[];for(let T=0;T<c.length;T++)y[T]={value:"",address:c[T]?.address??C,symbol:c[T]?.symbol??c[T]?.address??C,balance:m?.[T]?.result?Re((m?.[T]?.result).toString()??"0",c[T]?.decimals??k):0,decimals:c[T]?.decimals??k};const w=y.slice().sort((T,x)=>T.balance&&x.balance?x.balance-T.balance:0),g=w.find(({symbol:T})=>T===n.defaultDepositTokenSymbol);return[...g?[g]:[],...w.filter(({symbol:T})=>T!==n.defaultDepositTokenSymbol),...r||i?[]:[{value:"",address:$e[e]?.address??C,symbol:$e[e]?.nativeTokenSymbol??"",decimals:$e[e]?.decimals??k}]]},[d,r,i,e,c,m,n.defaultDepositTokenSymbol])},Pd=()=>{const t=v(),[e]=on(),n=N()[1],[a]=pe();p.useEffect(()=>{a==="deposit"&&e?.symbol&&n({address:e?.address,symbol:e.symbol,decimals:e?.decimals,value:"",isLoading:!e.symbol})},[n,t.address,a,e?.symbol,e?.address,e?.decimals])},Od=()=>{const{chainId:t,address:e,deprecated:n}=v(),{data:{isPrivateVault:a}={isPrivateVault:!1}}=se({address:e,chainId:t}),o=a||n,r=po({address:e,chainId:t});return{isVaultDepositLocked:o,isAccountWhitelisted:r}},ir=()=>{const{defaultLockTime:t}=$(),{chainId:e,address:n}=v(),{data:{customCooldown:a}={}}=gt({address:n,chainId:e}),{depositMethod:o}=et(),r=a?ct.formatDuration({minutes:Number(a)/60}):t;switch(o){case"depositWithCustomCooldown":case"nativeDepositWithCustomCooldown":case"zapDepositWithCustomCooldown":case"zapNativeDepositWithCustomCooldown":return r;default:return t}},Rd="1",Ld=()=>{const{account:t=C}=L(),{address:e,chainId:n}=v(),[a]=O(),o=ie({address:e,chainId:n}),{minDepositUSD:r}=Qn(e,n),{data:i}=To({address:e,chainId:n,account:t}),l=i?.balanceInUsdNumber??0,c=o==="0"?Rd:o,d=Math.max(0,r-l),u=new b(a.value||"0").multipliedBy(c);return{requiresMinDeposit:u.isZero()?!1:u.lte(d),requiredMinDepositAmount:ee({value:d})}},tt=t=>{const[{action:e,status:n}]=K();return e===t&&(n==="Wallet"||n==="Mining")},lr=t=>{const e=oe(),{onAcceptTermsOfUse:n}=Do(),{termsOfUseAccepted:a}=$(),{disabled:o,label:r,handleTrade:i}=Ko(t),{isError:l,isLoading:c}=sn(),d=tt("deposit");return{handleClick:()=>{if(l){e({type:"MERGE_OVERLAY",payload:{type:j.ERROR_NOTIFICATION,isOpen:!0,meta:{error:ds}}});return}a?i():e({type:"MERGE_OVERLAY",payload:{type:j.TERMS_OF_USE,isOpen:!0,onConfirm:async y=>{try{y(!0),await n()&&i()}catch{console.error("Failed to verify terms of use acceptance")}finally{y(!1)}}}})},disabled:o||c,label:r,isLoading:d}},Md=()=>{const{ActionButton:t=G}=R(),e=Ed(),{handleClick:n,label:a,disabled:o,isLoading:r}=lr(e);return s.jsx(t,{onClick:n,disabled:o,loading:r,children:a})},jd=()=>{const{ActionButton:t=G}=R(),e=Dd(),{handleClick:n,label:a,disabled:o,isLoading:r}=lr(e);return s.jsx(t,{onClick:n,disabled:o,loading:r,children:a})},Bd=()=>{const t=ud(),{deprecated:e,symbol:n,maintenance:a,maintenanceDeposits:o}=v(),[r]=N(),i=wt(),{isVaultDepositLocked:l,isAccountWhitelisted:c}=Od(),{approve:d,canSpend:u}=Id(),{requiresHighSlippageConfirm:m,confirmHighSlippage:y,slippageToBeUsed:w}=Zn(),{requiresMinDeposit:g,requiredMinDepositAmount:T}=Ld();return{requiresMinDeposit:g,requiresWhitelist:l&&!c,requiresApprove:!u,requiresHighSlippageConfirm:m,sendTokenSymbol:r.symbol,poolSymbol:n,requiredMinDepositAmount:T,deprecated:e,approve:d,confirmHighSlippage:y,slippageToBeUsed:w,maintenance:a||o,isBatchContractWritesTrading:t,insufficientBalance:i}},Fd=()=>{const{ActionButton:t=G}=R(),e=S(),{status:n}=E.useConnect(),{onConnect:a}=Do();return s.jsx(t,{onClick:a,className:"dtw-whitespace-nowrap dtw-text-sm",loading:n==="pending",children:e.connectWallet})},Wd=()=>{const{ActionButton:t=G}=R(),{switchNetwork:e}=xe(),{chainId:n}=v(),a=S(),o=()=>{e?.({chainId:n})};return s.jsx(t,{onClick:o,children:a.switchNetwork})},cr=()=>{const{account:t}=L(),{chainId:e}=xe(),n=v();return{isDisconnected:!t,isWrongNetwork:e!==n.chainId}},ca=({children:t})=>{const{isDisconnected:e,isWrongNetwork:n}=cr();return e?s.jsx(Fd,{}):n?s.jsx(Wd,{}):t},Ud=()=>{const t=na(),e=tt("approve");return{disabled:!t,isLoading:e}},dr=({onApprove:t,symbol:e})=>{const{ActionButton:n=G}=R(),a=S(),{disabled:o,isLoading:r}=Ud();return s.jsx(n,{disabled:o,onClick:t,loading:r,children:s.jsxs("span",{children:[a.approve," ",e]})})},$d=({onClick:t,tooltipText:e,disabled:n})=>{const[a,o]=p.useState(!1),r=()=>{t(),o(!0)};return p.useEffect(()=>{if(!a)return;const i=setTimeout(()=>{o(!1)},In);return()=>clearTimeout(i)},[a]),{disabled:n||a,tooltipText:e,handleClick:r}},pr=t=>{const{disabled:e,tooltipText:n,handleClick:a}=$d(t);return s.jsx(Yn,{text:n,children:s.jsx($t,{Icon:Ie.ArrowPathIcon,onClick:a,disabled:e,containerClassName:"!dtw-self-center",className:A("dtw-h-[var(--panel-input-token-icon-size,var(--panel-icon-size))] dtw-w-[var(--panel-input-token-icon-size,var(--panel-icon-size))] sm:dtw-w-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))] sm:dtw-h-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))]",{"dtw-opacity-50":e})})})},zd=()=>{const{refetch:t,isFetched:e}=sn(),{invalidateTradingQueries:n}=Zt();return{handleSwapQuoteReload:()=>{n(),t()},disabled:!e}},Hd=()=>{const t=S(),{handleSwapQuoteReload:e,disabled:n}=zd();return s.jsx(pr,{tooltipText:t.refreshSwapQuoteTooltip,onClick:e,disabled:n})},Vd=()=>{const{refetch:t,isFetched:e}=Je(),{invalidateTradingQueries:n}=Zt();return{handleSwapQuoteReload:()=>{n(),t()},disabled:!e}},Gd=()=>{const t=S(),{handleSwapQuoteReload:e,disabled:n}=Vd();return s.jsx(pr,{tooltipText:t.refreshSwapQuoteTooltip,onClick:e,disabled:n})},qd=()=>We()?s.jsx(Hd,{}):s.jsx(Gd,{}),ur=({children:t,...e})=>{const{ActionButton:n=G}=R(),{openLimitSellOverlay:a,displayLimitSellOverlay:o}=bc();return o?s.jsx(n,{...e,onClick:a,children:t}):null},Yd=()=>{const{ActionButton:t=G}=R(),e=S(),n=Jn("deposit"),{requiresMinDeposit:a,requiredMinDepositAmount:o,requiresApprove:r,requiresWhitelist:i,requiresHighSlippageConfirm:l,deprecated:c=!1,poolSymbol:d,sendTokenSymbol:u,slippageToBeUsed:m,approve:y,confirmHighSlippage:w,maintenance:g,isBatchContractWritesTrading:T,insufficientBalance:x}=Bd();return a?s.jsx(t,{disabled:!0,children:e.minimumPurchase.replace("{value}",o)}):i||g?s.jsx(Sn,{promptText:c?e.poolIsInactive.replace("{poolSymbol}",d):g?e.poolDepositsAreMaintenance.replace("{poolSymbol}",d):e.poolIsPrivate,children:n}):x?s.jsx(t,{disabled:!0,children:e.insufficientBalance}):l?s.jsx(t,{onClick:w,children:e.confirmMaxSlippage.replace("{slippagePercentage}",`${Math.abs(m)}`)}):r?T?s.jsx(Md,{}):s.jsx(dr,{symbol:u,onApprove:y}):s.jsx(jd,{})},Kd=()=>{const[t,e]=N(),{chainId:n}=v(),a=le({address:t.address,chainId:n}),o=ue({symbol:t.symbol,address:t.address});return{...t,price:a,balance:o,updater:e}},Qd=()=>{const{address:t,chainId:e}=v(),[n]=O(),a=ie({address:t,chainId:e});return{...n,price:a}},Xd=()=>{const t=Kd(),e=Qd(),n=Be(),a=rr(),[{minSlippage:o}]=q();return{autoFocus:!1,sendToken:t,receiveToken:e,tradingPriceDiff:a,minSlippage:o,onInputFocus:()=>{n?.(Y.INVEST_INPUT_FOCUS,{symbol:t.symbol,address:zn(t.address)})},onInputChange:l=>{t.updater({value:l})}}},zt=({children:t})=>s.jsx("table",{className:"dtw-min-w-full dtw-border-separate",style:{borderSpacing:"0px 0.25rem"},children:s.jsx("tbody",{children:t})}),mr=({children:t})=>{const e=S();return s.jsx(P.Disclosure,{children:({open:n})=>s.jsxs(s.Fragment,{children:[s.jsxs(P.DisclosureButton,{className:"dtw-px-1.5 dtw-w-[100px] dtw-flex dtw-justify-between dtw-rounded-[var(--panel-radius-secondary,var(--panel-radius))] hover:dtw-bg-[var(--panel-meta-hover-bg,var(--panel-neutral-color))] focus:dtw-outline-none",children:[n?e.hide:e.showAll,s.jsx(Ie.ChevronDownIcon,{className:A("dtw-text-[color:var(--panel-icon-color,var(--panel-content-color))] !dtw-h-[var(--panel-input-token-icon-size,var(--panel-icon-size))] !dtw-w-[var(--panel-input-token-icon-size,var(--panel-icon-size))] sm:dtw-w-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))] sm:dtw-h-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))]",{"dtw-rotate-180 dtw-transform":n})})]}),s.jsx(P.Transition,{show:n,children:s.jsx(P.DisclosurePanel,{className:"dtw-mt-1 dtw-transition dtw-transform dtw-duration-100 dtw-ease-out data-[closed]:opacity-0 data-[closed]:-dtw-translate-y-2.5 dtw-static dtw-rounded-[var(--panel-radius-secondary,var(--panel-radius))] dtw-flex dtw-flex-col dtw-gap-1",children:t})})]})})},Zd=t=>{const{address:e,chainId:n}=v(),[{value:a}]=N(),o=mo({vaultTokensAmount:a,address:e,chainId:n}),r=t?o.length:Ya,i=o.find(({tokenAddress:u})=>_s.some(m=>H(u,m))),l=!!i&&i.amount!=="0",{firstPart:c,secondPart:d}=Rs(o,r);return{visibleAssets:c,hiddenAssets:d,showUnitWithdrawalTip:l,unitSymbol:i?.tokenName,unitAddress:i?.tokenAddress??C}},Jd=({symbol:t})=>{const e=S();return s.jsxs("div",{className:"dtw-flex dtw-gap-1 dtw-items-center dtw-text-xs dtw-text-[color:var(--panel-secondary-content-color)]",children:[e.as," ",s.jsx(He,{symbols:[t],size:"xs"})," ",t]})},yr=({className:t,showFraction:e=!0,iconSize:n,showAllAsset:a=!1})=>{const{visibleAssets:o,hiddenAssets:r,showUnitWithdrawalTip:i,unitSymbol:l,unitAddress:c}=Zd(a),d=p.useCallback(({fraction:u,fractionUsd:m,tokenName:y,asset:w,tokenAddress:g})=>{const T=Us(g);return s.jsxs("tr",{children:[s.jsxs("td",{style:{width:150,maxWidth:150},children:[s.jsx(vt,{symbol:y,iconSymbols:w.iconSymbols,symbolClasses:"dtw-text-xs dtw-font-bold",size:n}),T&&s.jsx(Jd,{symbol:$s(g).symbol})]}),e&&s.jsxs("td",{style:{width:150,maxWidth:150},children:[s.jsx("p",{className:"dtw-truncate",children:u}),s.jsx("p",{className:"dtw-truncate dtw-text-xs dtw-text-[color:var(--panel-secondary-content-color)]",children:m})]})]},y)},[n,e]);return s.jsx("div",{className:A("dtw-text-sm dtw-font-light",t),children:o.length>0?s.jsxs(s.Fragment,{children:[s.jsx(zt,{children:o.map(d)}),r.length>0&&s.jsx(mr,{children:s.jsx(zt,{children:r.map(d)})}),i&&s.jsxs("p",{className:"dtw-text-warning dtw-text-[length:var(--panel-label-font-size)]",children:[l," can be redeemed using"," ",s.jsxs("a",{className:"dtw-text-warning dtw-inline-flex dtw-gap-0.5",href:il(c),target:"_blank",rel:"noreferrer",children:["Flat Money ",s.jsx(te.ArrowTopRightOnSquareIcon,{className:"dtw-w-3"})]})]})]}):s.jsx(Bo,{})})},ep=({symbol:t})=>{const e=Ye(),n=oe(),{standalone:a}=$(),o=e.some(u=>u.symbol===t),r=t==="all",i=Qs(),l=o&&e.length===1;return{isAllSymbol:r,onClick:()=>{i?.({isOpen:!0,entity:o?"pool":"token"}),a&&n({type:"MERGE_OVERLAY",payload:{type:o?j.POOL_SELECT:j.TOKEN_SELECT,isOpen:!0}})},disabled:l,hideTokenIcon:a&&o}},tp=({symbol:t})=>{const{isAllSymbol:e,onClick:n,disabled:a,hideTokenIcon:o}=ep({symbol:t}),r=S();return s.jsxs("button",{className:A("dtw-flex dtw-items-center dtw-gap-1 dtw-rounded-[var(--panel-input-button-radius,var(--panel-radius))] dtw-border dtw-border-[var(--panel-input-button-border-color,var(--panel-accent-to-color))] !dtw-bg-[var(--panel-input-button-bg,var(--panel-secondary-color))] dtw-px-[var(--panel-input-button-px)] dtw-py-[var(--panel-input-button-py)] hover:dtw-opacity-[var(--panel-action-hover-opacity)] dtw-opacity-[var(--panel-action-opacity)]",{"dtw-pr-2 dtw-pointer-events-none":a}),onClick:n,disabled:a,children:[s.jsx(vt,{symbol:t,iconSymbols:o?[]:[t],symbolClasses:"dtw-font-[var(--panel-input-token-font-weight,var(--panel-font-weight-medium))] dtw-text-[length:var(--panel-input-token-font-size,var(--panel-font-size-xs))] dtw-line-height-[length:var(--panel-input-token-line-height,var(--panel-line-height-xs))] sm:dtw-text-[length:var(--panel-input-token-font-size-sm,var(--panel-font-size))] sm:dtw-leading-[var(--panel-input-token-line-height-sm,var(--panel-line-height))] dtw-text-[color:var(--panel-input-button-content-color)]",CustomIcon:e?s.jsx(jt.CircleStackIcon,{className:"dtw-h-[var(--panel-input-token-icon-size,var(--panel-icon-size))] dtw-w-[var(--panel-input-token-icon-size,var(--panel-icon-size))] sm:dtw-w-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))] sm:dtw-h-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))] dtw-text-[color:var(--panel-icon-color,var(--panel-content-color))]"}):void 0,customTitle:e?r.all:void 0}),!a&&s.jsx(jt.ChevronDownIcon,{className:"dtw-flex-shrink-0 dtw-text-[color:var(--panel-icon-color,var(--panel-content-color))] dtw-h-[var(--panel-input-token-icon-size,var(--panel-icon-size))] dtw-w-[var(--panel-input-token-icon-size,var(--panel-icon-size))] sm:dtw-w-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))] sm:dtw-h-[var(--panel-input-token-icon-size-sm,var(--panel-icon-size-sm))]","aria-hidden":"true"})]})};function np(t,e){const n=new b(t);return e&&n.gt(0)?n.toFixed(6):t}const ap=t=>{t.currentTarget.blur()},sp=({displayCalculatedValue:t,assetInput:e="",assetPrice:n,tradingPriceDiff:a=0,type:o,onInputChange:r,maxBalance:i,autoFocus:l=!1,disabled:c=!1})=>{const d=p.useRef(null),u=p.useMemo(()=>{const g=Number(e||0)*Number(n||0);if(!t||isNaN(g))return"";const T=ee({value:g,maximumFractionDigits:pt(g)});return a?`${T} (${a>0?"+":""}${a}% ${o===B.ERROR?"⚠":""})`:T},[e,n,a,t,o]),m=()=>{d.current?.focus()},y=g=>{r&&r(g.target.value)},w=()=>{r&&i&&r(i)};return{inputRef:d,usdAmount:u,value:np(e,c),autoFocus:l,onContainerClick:m,onMaxBalanceClick:w,onInputChange:y}},ut=t=>{const{inputRef:e,usdAmount:n,autoFocus:a,value:o,onContainerClick:r,onMaxBalanceClick:i,onInputChange:l}=sp(t),{label:c,assetSymbol:d,onInputFocus:u,disabled:m=!1,displayMax:y=!1,displayCalculatedValue:w=!1,type:g=B.DEFAULT,isLoading:T=!1,children:x}=t,D=A({"dtw-text-[color:var(--panel-error-content-color)]":g===B.ERROR&&!T,"dtw-text-[color:var(--panel-warning-content-color)]":g===B.WARNING&&!T});return s.jsxs("div",{className:A("dtw-relative dtw-flex dtw-flex-col dtw-gap-[var(--panel-input-group-gap,var(--panel-gap))] dtw-rounded-[var(--panel-input-radius,var(--panel-radius))] dtw-border dtw-bg-[var(--panel-input-bg,var(--panel-neutral-color))] dtw-py-[var(--panel-input-py)] dtw-px-[var(--panel-input-px)] dtw-shadow-md",{"focus-within:dtw-border-[var(--panel-input-focus-border-color)] focus-within:dtw-bg-[var(--panel-input-focus-bg)]":!m,"dtw-border-[var(--panel-input-border-color)]":g===B.DEFAULT||T,"dtw-border-[color:var(--panel-error-content-color)]":g===B.ERROR&&!T,"dtw-border-[color:var(--panel-warning-content-color)]":g===B.WARNING&&!T}),onClick:r,children:[s.jsx("span",{className:A(D,{"dtw-text-[color:var(--panel-secondary-content-color)] dtw-text-[length:var(--panel-label-font-size)] dtw-leading-[var(--panel-label-line-height,var(--panel-line-height-xs))]":T||g===B.DEFAULT}),children:c}),s.jsxs("div",{className:A("dtw-flex dtw-justify-between dtw-items-center dtw-text-[length:var(--panel-input-label-font-size,var(--panel-font-size-sm))] dtw-leading-[var(--panel-input-label-line-height,var(--panel-line-height-sm))] dtw-font-[var(--panel-input-label-font-weight,var(--panel-font-weight-light))] dtw-gap-x-2"),children:[s.jsx("div",{className:"transparent-scrollbar dtw-flex-1 dtw-overflow-x-auto",children:d==="all"?s.jsx(yr,{iconSize:"sm"}):s.jsx("input",{className:A("dtw-appearance-none dtw-bg-transparent dtw-text-[color:var(--panel-input-content-color,var(--panel-content-color))] placeholder:dtw-text-[color:var(--panel-input-placeholder-color,var(--panel-secondary-content-color))] dtw-text-[length:var(--panel-input-font-size,var(--panel-font-size-sm))] !dtw-leading-[var(--panel-input-line-height,var(--panel-line-height-sm))] dtw-font-[var(--panel-input-font-weight,var(--panel-font-weight-light))] dtw-outline-none focus:dtw-outline-none lg:dtw-text-[length:var(--panel-input-font-size-lg,var(--panel-font-size-lg))] lg:dtw-leading-[var(--panel-input-line-height-lg,var(--panel-line-height-lg))] dtw-w-full",D),ref:e,autoFocus:a,type:"number",min:0,value:o,onChange:l,onFocus:u,placeholder:"0",disabled:m,onWheelCapture:ap})}),s.jsx(tp,{symbol:d})]}),s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-justify-between dtw-gap-x-2",children:[s.jsx("div",{className:"dtw-flex dtw-items-center dtw-gap-[var(--panel-input-price-gap,var(--panel-gap))] dtw-flex-1 dtw-overflow-x-auto transparent-scrollbar",children:w&&s.jsx(s.Fragment,{children:T?s.jsx("div",{className:"dtw-h-[18px]",children:s.jsx(Ae,{className:"dtw-stroke-[color:var(--panel-accent-from-color)] dtw-h-[var(--panel-icon-secondary-size)] sm:dtw-h-[var(--panel-icon-secondary-size-sm)] dtw-w-[var(--panel-icon-secondary-size)] sm:dtw-w-[var(--panel-icon-secondary-size-sm)]"})}):s.jsx("input",{className:A("dtw-appearance-none dtw-bg-transparent dtw-outline-none dtw-pointer-events-none dtw-flex-1 dtw-py-[1px]",{"dtw-text-[color:var(--panel-input-loading-content-color,var(--panel-loading-content-color))]":T,"!dtw-text-[color:var(--panel-secondary-content-color)] dtw-text-[length:var(--panel-label-font-size)] !dtw-leading-[var(--panel-label-line-height,var(--panel-line-height-xs))]":!T&&g===B.DEFAULT},D),value:n,disabled:!0})})}),x,y&&s.jsx(Pc,{onClick:i})]})]})},op=()=>{const{stablePrecision:t,defaultPrecision:e}=$(),[{symbol:n,address:a}]=N(),o=ue({symbol:n,address:a,watch:!0});return{formattedBalance:Ws({balance:o,symbol:n,precision:Ms(n)?t:e,truncateSymbol:!0}),symbol:n}},wr=()=>{const{formattedBalance:t,symbol:e}=op();return s.jsx(jo,{balance:t,symbol:e})},rp=()=>{const{stablePrecision:t,defaultPrecision:e}=$(),[{symbol:n,address:a}]=O(),o=ue({symbol:n,address:a,watch:!0});return{formattedBalance:Ws({balance:o,symbol:n,precision:Ms(n)?t:e,truncateSymbol:!0}),symbol:n}},hr=()=>{const{formattedBalance:t,symbol:e}=rp();return s.jsx(jo,{balance:t,symbol:e})},da=()=>{const t=v(),[e]=on(),{isAllAssetsWithdrawOptionDefault:n}=$(),{data:a=[]}=me(),o=a.length>0,{data:r}=Xn(t),i=pe()[1],l=N()[1],c=O()[1],d=()=>{l({...e,value:"",isLoading:!e}),c({address:t.address,symbol:t.symbol,decimals:k,value:""})},u=()=>{const{customTokens:m,defaultWithdrawTokenSymbol:y}=t.withdrawParams,w=m.find(({symbol:T})=>T===y)??m[0]??Bt,g=o?w:r||n?Bt:w;l({address:t.address,symbol:t.symbol,decimals:k,value:""}),c({...g,value:"",isLoading:!1})};return m=>{switch(i(m),m){case"deposit":return d();case"withdraw":return u()}}},ip=()=>{Uo(),Pd(),yo(),me()},Ve=["deposit","withdraw"],lp=()=>{const[t]=pe(),e=da();return{handleClick:()=>{const a=Ve.find(o=>o!==t);a&&e(a)}}},gr=()=>{const{handleClick:t}=lp();return s.jsx("div",{onClick:t,className:"dtw-cursor-pointer dtw-group dtw-absolute dtw-left-1/2 -dtw-top-[calc(var(--panel-inputs-group-gap)*0.5)] -dtw-translate-y-1/2 -dtw-translate-x-1/2 dtw-flex dtw-items-center dtw-justify-center dtw-rounded-[var(--panel-inputs-arrow-radius)] dtw-p-0.5 dtw-bg-[color:var(--panel-background-color)] dtw-backdrop-blur-3xl",children:s.jsx("button",{className:"!dtw-bg-[var(--panel-inputs-arrow-bg)] dtw-rounded-[var(--panel-inputs-arrow-radius)] dtw-px-[var(--panel-inputs-group-px-arrow)] dtw-py-[var(--panel-inputs-group-py-arrow)]",children:s.jsx(Ie.ArrowDownIcon,{className:"dtw-h-[var(--panel-inputs-group-arrow-size)] dtw-w-[var(--panel-inputs-group-arrow-size)] dtw-text-[color:var(--panel-inputs-arrow-color)] group-hover:dtw-opacity-[var(--panel-action-hover-opacity)] group-hover:dtw-rotate-180 dtw-transition-transform"})})})},cp=()=>{const{sendToken:t,receiveToken:e,autoFocus:n,tradingPriceDiff:a,minSlippage:o,onInputFocus:r,onInputChange:i}=Xd(),l=ft(o??0),c=S();return s.jsxs(s.Fragment,{children:[s.jsx(ut,{label:c.send,assetInput:t.value,onInputChange:i,onInputFocus:r,autoFocus:n,assetSymbol:t.symbol,assetPrice:t.price??"",displayMax:!0,maxBalance:t.balance,displayCalculatedValue:!0,isLoading:t.isLoading,children:s.jsx(wr,{})}),s.jsxs(ut,{label:c.receiveEstimated,assetInput:e.value,assetSymbol:e.symbol,assetPrice:e.price??"",displayCalculatedValue:!0,disabled:!0,tradingPriceDiff:a,type:l,isLoading:e.isLoading,children:[s.jsx(hr,{}),s.jsx(gr,{})]})]})},dp=()=>{const{address:t,chainId:e}=v(),n=fo({address:t,chainId:e}),[a]=O();if(!n)return{isMaxSupplyCapReached:!1,supplyCapInUsd:""};const{totalSupplyNumber:o,maxSupplyCapNumber:r,remainingSupplyCapInUsd:i}=n,l=Number(a.value||"0"),c=o+l>r,d=ee({value:i,maximumFractionDigits:0,minimumFractionDigits:0});return{isMaxSupplyCapReached:c,supplyCapInUsd:d}},pp=()=>{const t=S(),[{slippage:e,minSlippage:n,isMaxSlippageLoading:a}]=q(),o=e==="auto",r=ar(),[i]=O(),{address:l,chainId:c}=v(),{entryFee:d}=en({address:l,chainId:c}),{minDepositUSD:u}=Qn(l,c),m=Xo(),y=ir(),w=At(),g=u?ee({value:u,minimumFractionDigits:0}):"",T=ft(o?n??0:e),x=Io({tradingType:"deposit",slippage:e,minSlippage:n}),D=T===B.DEFAULT?t.depositSlippageWarning:t.highSlippageWarning,z=ve({value:new b(r).shiftedBy(-18).toFixed(),decimals:4});return{projectedEarnings:m,themeType:T,slippageTooltipText:D,isMaxSlippageLoading:a,slippagePlaceholder:x,minReceive:`${z} ${i.symbol.toUpperCase()}`,entryFee:d,entryFeeTooltipText:t.entryFeeExplanation,minDeposit:g,lockTime:y,showMinimumReceivedAmount:w}},pa=({className:t})=>{const{value:e,isLoading:n}=$o();return s.jsxs("div",{className:A("dtw-flex dtw-h-[var(--panel-icon-secondary-size)] dtw-justify-end dtw-gap-x-2",t),children:[n&&s.jsx(Ae,{className:"dtw-stroke-[color:var(--panel-accent-from-color)] dtw-h-[var(--panel-icon-secondary-size)] dtw-w-[var(--panel-icon-secondary-size)]"}),s.jsx("p",{className:A("dtw-text-right dtw-text-[length:var(--panel-meta-font-size)] dtw-leading-[var(--panel-meta-line-height)] dtw-text-[color:var(--panel-secondary-content-color)] dtw-font-[var(--panel-meta-font-weight,var(--panel-font-weight-light))]",{"dtw-text-[color:var(--panel-loading-content-color)]":n}),children:e})]})},up=()=>{const t=S(),{projectedEarnings:{yearlyEarnings:e,dailyEarnings:n,showEarnings:a},slippageTooltipText:o,slippagePlaceholder:r,isMaxSlippageLoading:i,minReceive:l,themeType:c,entryFee:d,entryFeeTooltipText:u,minDeposit:m,lockTime:y,showMinimumReceivedAmount:w}=pp(),g=a?[{tooltipText:t.projectedYearlyEarningsTooltip,label:t.yearlyEarnings,value:e,emphasised:!0},{tooltipText:t.projectedDailyEarningsTooltip,label:t.dailyEarnings,value:n,emphasised:!0}]:[],T=p.useMemo(()=>{const x=[{tooltipText:t.exchangeRate,label:t.rate,value:s.jsx(pa,{})},{tooltipText:o,label:t.maxSlippage,value:s.jsxs("div",{className:"dtw-flex dtw-gap-1",children:[i&&s.jsx(Ae,{className:"dtw-stroke-[color:var(--panel-accent-from-color)] dtw-h-[var(--panel-icon-secondary-size)] sm:dtw-h-[var(--panel-icon-secondary-size-sm)] dtw-w-[var(--panel-icon-secondary-size)] sm:dtw-w-[var(--panel-icon-secondary-size-sm)]"}),s.jsxs("span",{className:A({"dtw-text-[color:var(--panel-loading-content-color)]":i}),children:[r,"%"]})]})}];return w&&x.push({tooltipText:t.minReceiveAmount,label:t.minReceived,value:l}),x.push({tooltipText:u,label:t.entryFee,value:d}),m&&x.push({tooltipText:t.minDepositUsd,label:t.minDeposit,value:m}),x.push({tooltipText:t.tokensLockTime.replace("{lockTime}",y),label:t.cooldown,value:y}),x},[o,t.maxSlippage,t.entryFee,t.minReceiveAmount,t.minReceived,t.minDepositUsd,t.minDeposit,t.exchangeRate,t.rate,t.tokensLockTime,t.cooldown,i,r,w,u,d,m,l,y]);return s.jsx(ea,{staticItems:g,collapseItems:T,themeType:c})},mp=({children:t})=>{const{DepositMetaInfo:e,MaxSupplyReachedAlert:n}=R(),{isMaxSupplyCapReached:a,supplyCapInUsd:o}=dp();return s.jsxs(V.Meta,{children:[a&&!!n&&s.jsx(n,{supplyCapInUsd:o}),s.jsx(up,{}),e&&s.jsx(e,{}),s.jsx("div",{className:"dtw-sticky dtw-bottom-0 dtw-bg-[var(--panel-meta-action-panel-bg)]",children:t})]})},yp=()=>{Nd(),kd()},wp=()=>{yp();const{isGeoBlocked:t,isSanctioned:e}=$(),{GeoBlockAlert:n,SanctionedAlert:a,CustomDepositMeta:o}=R(),r=t||e,i=[{Component:n,value:t,key:"geo-block"},{Component:a,value:e,key:"sanctioned"}].filter(({value:l})=>l);return s.jsxs(s.Fragment,{children:[s.jsx(V.InputGroup,{children:s.jsx(cp,{})}),o&&s.jsx(o,{}),s.jsx(mp,{children:r?i.map(({Component:l,key:c})=>l&&s.jsx(l,{},c)):s.jsx(s.Fragment,{children:s.jsx(ca,{children:s.jsx(Yd,{})})})})]})},hp=()=>s.jsx(V.Panel,{children:s.jsx(wp,{})}),gp=t=>Object.keys(j).some(e=>e===t),Tp=({children:t})=>{const e=Ro();let n=null;return p.Children.forEach(t,a=>{if(p.isValidElement(a)){const o=a.props.type;gp(o)&&e[o]&&e[o].isOpen&&(n=a)}}),n},bp=({type:t})=>{const e=S(),{DepositTermsOfUse:n,ActionButton:a=G}=R(),{handleReject:o,handleConfirm:r,isPending:i}=ce({type:t});return s.jsxs(V.Overlay,{className:"dtw-justify-between dtw-gap-y-1 dtw-overflow-y-auto theme-scrollbar",children:[s.jsxs("div",{className:"dtw-flex dtw-gap-1 dtw-items-center dtw-text-warning",children:[s.jsx(te.ExclamationCircleIcon,{className:"dtw-h-5 dtw-w-5"}),s.jsx("p",{children:e.termsOfUse})]}),s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-2",children:[s.jsxs("p",{className:"dtw-self-start dtw-text-sm",children:[e.termOfUseDepositListTitle,":"]}),s.jsxs("ul",{className:"dtw-list-inside dtw-list-disc dtw-flex dtw-flex-col dtw-gap-y-1 dtw-text-sm dtw-text-[color:var(--panel-secondary-content-color)]",children:[s.jsx("li",{children:e.termOfUseDepositAssetSlippage}),s.jsx("li",{children:e.termOfUseDepositBugs}),s.jsx("li",{children:e.termOfUseDepositDowntime}),s.jsx("li",{children:e.termOfUseDepositAuditRisk})]}),n&&s.jsx(n,{})]}),s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-2 dtw-w-full",children:[s.jsx(a,{highlighted:!1,onClick:o,children:e.back}),s.jsx(a,{onClick:r,disabled:i,loading:i,children:s.jsx("span",{children:i?e.confirmInWallet:e.termOfUseDepositAccept})})]})]})},fp=({type:t})=>{const e=S(),{ActionButton:n=G}=R(),{handleReject:a,handleConfirm:o}=ce({type:t});return s.jsxs(V.Overlay,{className:"dtw-justify-between dtw-gap-y-1",children:[s.jsxs("div",{className:"dtw-flex dtw-gap-1 dtw-items-center dtw-text-warning",children:[s.jsx(te.ExclamationCircleIcon,{className:"dtw-h-5 dtw-w-5"}),s.jsx("p",{children:e.highSlippage})]}),s.jsx("p",{className:"dtw-text-sm",children:e.responsibleHighSlippage}),s.jsxs("p",{className:"dtw-text-sm dtw-self-start",children:[e.highSlippageListTitle,":"]}),s.jsxs("ul",{className:"dtw-list-inside dtw-list-disc dtw-flex dtw-flex-col dtw-gap-y-1 dtw-text-sm dtw-text-[color:var(--panel-secondary-content-color)] dtw-max-h-28 dtw-overflow-y-auto theme-scrollbar",children:[s.jsx("li",{children:e.termOfUseDepositAssetSlippage}),s.jsx("li",{children:e.termOfUseDepositBugs}),s.jsx("li",{children:e.termOfUseDepositDowntime}),s.jsx("li",{children:e.termOfUseDepositAuditRisk})]}),s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-2 dtw-w-full",children:[s.jsx(n,{highlighted:!1,onClick:a,children:e.back}),s.jsx(n,{onClick:o,children:e.confirm})]})]})},vp=({type:t})=>{const{handleReject:e,handleConfirm:n}=ce({type:t}),{unlockTaxAmount:a,unlockDate:o,unlockTimestamp:r,isLoading:i}=vo(),l=!!r&&Date.now()<r;return{isLoading:i,showUnlockTaxTip:l,showUnlockTaxAmount:!!a&&a!=="0",unlockTaxAmount:Fs(ve({value:a,decimals:0})),unlockDate:o,handleReject:e,handleConfirm:n}},xp=t=>{const{ActionButton:e=G}=R(),{isLoading:n,showUnlockTaxTip:a,showUnlockTaxAmount:o,unlockDate:r,unlockTaxAmount:i,handleReject:l,handleConfirm:c}=vp(t);return n?s.jsx(Lc,{}):s.jsxs(V.Overlay,{className:"dtw-justify-between dtw-gap-y-1",children:[s.jsxs("div",{className:"dtw-flex dtw-gap-1 dtw-items-center dtw-text-warning",children:[s.jsx(te.ExclamationCircleIcon,{className:"dtw-h-5 dtw-w-5"}),s.jsx("p",{children:"Withdraw Alert"})]}),a?s.jsx("p",{className:"dtw-text-sm",children:"By proceeding with this trade, you acknowledge and accept the possibility of losing a part of your rewards (FMP)."}):null,s.jsx("p",{className:"dtw-text-sm dtw-self-start",children:"Please consider the following before confirming:"}),s.jsxs("ul",{className:"dtw-self-start dtw-list-inside dtw-list-disc dtw-flex dtw-flex-col dtw-gap-y-1 dtw-text-sm dtw-text-[color:var(--panel-secondary-content-color)] dtw-max-h-28 dtw-overflow-y-auto theme-scrollbar",children:[o&&s.jsxs(s.Fragment,{children:[s.jsxs("li",{className:"dtw-text-warning",children:["If you withdraw now, you will incur a penalty of ",i," ","FMP"]}),s.jsxs("li",{className:"dtw-text-warning",children:["Wait until ",r," for locked points vesting to complete"]})]}),s.jsx("li",{children:"After withdrawal, you won’t be able to redeposit"})]}),s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-2 dtw-w-full",children:[s.jsx(e,{highlighted:!1,onClick:l,children:"Back"}),s.jsx(e,{onClick:c,children:"Confirm"})]})]})},Ap=({token:t,onSelect:e})=>({onClick:()=>{e(t)}}),Sp=({token:t,onSelect:e})=>{const{onClick:n}=Ap({token:t,onSelect:e});return s.jsxs("div",{className:"dtw-space-y-3 dtw-rounded-xl dtw-py-3 dtw-pl-4 dtw-pr-3",onClick:n,children:[s.jsx(vt,{symbol:t.symbol,iconSymbols:[t.symbol],size:"xl",CustomIcon:s.jsx(jt.CircleStackIcon,{className:"dtw-h-10 dtw-w-10 group-hover:dtw-opacity-100 dtw-opacity-100 sm:dtw-opacity-50"}),symbolClasses:"dtw-text-sm dtw-font-medium group-hover:dtw-opacity-100 dtw-opacity-100 sm:dtw-opacity-80"}),s.jsx(yr,{className:"dtw-pt-2",showFraction:!1,showAllAsset:!0})]})},Ep=({token:t,onSelect:e,isActive:n,onClose:a})=>{const o=ue({symbol:t.symbol,address:t.address}),{defaultPrecision:r}=$();return{formattedBalance:new b.BigNumber(o).toFixed(r,b.BigNumber.ROUND_DOWN),onClick:()=>{if(n){a();return}e(t)}}},Tr=({token:t,onSelect:e,onClose:n,isActive:a=!1})=>{const{onClick:o,formattedBalance:r}=Ep({token:t,onSelect:e,onClose:n,isActive:a});return s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-rounded-xl dtw-gap-x-2 dtw-py-3 dtw-pl-4 dtw-pr-3",onClick:o,children:[s.jsx(vt,{symbol:t.symbol,iconSymbols:[t.symbol],size:"xl",symbolClasses:A("group-hover:dtw-opacity-100 dtw-text-sm dtw-font-medium",{"dtw-opacity-100 sm:dtw-opacity-80":!a,"dtw-opacity-100":a}),className:A("group-hover:dtw-opacity-100",{"dtw-opacity-100 sm:dtw-opacity-50":!a,"dtw-opacity-100":a})}),s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-self-end dtw-text-sm dtw-font-light dtw-text-[color:var(--panel-balance-content-color)]",children:[a&&s.jsx(jt.CheckIcon,{className:"dtw-w-4 dtw-self-end dtw-text-themeGreen"}),s.jsxs("div",{children:[s.jsx("span",{className:"dtw-mr-1 dtw-text-xs",children:t.symbol}),r]})]})]})},Cp=[],Dp=()=>{const t=v(),[e]=pe(),[n,a]=N(),[o,r]=O(),{data:i}=Xn(t),l=on(),c=i?Cp:t.withdrawParams.customTokens;return p.useMemo(()=>({tokens:e==="deposit"?l:c,updater:e==="deposit"?a:r,activeTokens:[n,o]}),[e,l,c,a,r,n,o])},Ip=({searchQuery:t,type:e})=>{const[{isMultiAssetWithdrawalEnabled:n}]=q(),{isCompleteWithdrawStep:a}=Ze(),o=ht(),[r]=pe(),{handleReject:i}=ce({type:e}),{tokens:l,updater:c,activeTokens:d}=Dp(),u=p.useMemo(()=>t?l.filter(({symbol:y})=>y.toLowerCase().includes(t)):l,[t,l]),m=p.useCallback(({address:y,value:w,decimals:g,symbol:T})=>{c({address:y,value:w,decimals:g,symbol:T}),i()},[c,i]);return{tokenList:u,activeTokens:d,onSelect:m,onClose:i,showMultiAssetWithdrawalOption:n&&r==="withdraw"&&!o&&!a}},_p=({type:t,searchQuery:e})=>{const n=S(),{tokenList:a,activeTokens:o,onSelect:r,showMultiAssetWithdrawalOption:i,onClose:l}=Ip({type:t,searchQuery:e});return s.jsxs(V.Overlay,{onClose:l,centered:!1,className:"dtw-gap-[var(--panel-gap)]",children:[s.jsx("span",{className:"dtw-text-center dtw-text-[length:var(--panel-font-size-sm)] dtw-font-[var(--panel-font-weight-medium)]",children:n.selectToken}),s.jsxs("ul",{className:"dtw-grid dtw-gap-[calc(var(--panel-gap) * 0.5)] dtw-overflow-y-auto theme-scrollbar",children:[a.map(c=>{const d=o.some(({address:u,symbol:m})=>u===c.address&&m===c.symbol);return s.jsx("li",{className:"dtw-cursor-pointer dtw-rounded-xl dtw-drop-shadow-md even:odd:dtw-bg-[color:var(--panel-popup-list-item-bg-even)] odd:dtw-bg-[color:var(--panel-popup-list-item-bg-odd)] dtw-group",children:s.jsx(Tr,{token:c,onSelect:r,isActive:d,onClose:l})},`${c.address}_${c.symbol}`)}),i&&s.jsx("li",{className:"dtw-cursor-pointer dtw-rounded-xl dtw-p-0.5 even:dtw-bg-[color:var(--panel-popup-list-item-bg-even)] odd:dtw-bg-[color:var(--panel-popup-list-item-bg-odd)] dtw-group",children:s.jsx(Sp,{token:Bt,onSelect:r})})]})]})},Np=({children:t,chainId:e})=>{const{chainConfig:n}=$(),{Image:a=Fo}=R(),o=n[e]?.iconPath,r=n[e]?.name;return s.jsxs("div",{children:[s.jsxs("div",{className:"dtw-sticky dtw-top-0 dtw-z-10 dtw-flex dtw-items-center dtw-space-x-3 dtw-bg-[color:var(--panel-popup-list-header-bg)] dtw-drop-shadow-md dtw-p-3",children:[o&&s.jsx("div",{className:"dtw-h-6 dtw-w-6",children:s.jsx(a,{className:"dtw-h-full dtw-w-full dtw-rounded-full dtw-object-contain",src:o,alt:"chain icon",width:100,height:100})}),s.jsx("p",{className:"dtw-whitespace-nowrap dtw-text-sm",children:r??e})]}),t]})},Cn=(t,e)=>t.address in e?{balanceInUsd:e[t.address]?.balanceInUsd??ee({value:0}),balanceInUsdNumber:e[t.address]?.balanceInUsdNumber??0}:{balanceInUsd:ee({value:0}),balanceInUsdNumber:0},kp=t=>(e,n)=>Cn(n,t).balanceInUsdNumber-Cn(e,t).balanceInUsdNumber,Pp=({searchQuery:t,type:e})=>{const n=go(),a=Ye(),o=v(),{handleReject:r}=ce({type:e}),[i]=pe(),l=N()[1],c=O()[1],d=Js()[1],u=p.useCallback(({address:y,value:w,decimals:g,symbol:T})=>{(i==="deposit"?c:l)({address:y,value:w,decimals:g,symbol:T}),d(y),r()},[i,l,c,r,d]);return{poolList:p.useMemo(()=>Array.from(new Set(a.map(({chainId:y})=>y))).map(y=>({chainId:y,configs:[...a.filter(w=>w.chainId===y&&!w.deprecated).map(w=>({...w,...Cn(w,n),isActive:o.address===w.address})).filter(({symbol:w})=>t?w.toLowerCase().includes(t):!0).slice().sort(kp(n))]})),[t,n,a,o]),onClose:r,onSelect:u}},Op=({type:t,searchQuery:e})=>{const n=S(),{poolList:a,onClose:o,onSelect:r}=Pp({type:t,searchQuery:e});return s.jsxs(V.Overlay,{onClose:o,centered:!1,className:"dtw-gap-[var(--panel-gap)]",children:[s.jsx("span",{className:"dtw-text-center dtw-text-[length:var(--panel-font-size-sm)] dtw-font-[var(--panel-font-weight-medium)]",children:n.selectToken}),s.jsx("div",{className:"dtw-grid dtw-gap-[calc(var(--panel-gap) * 0.5)] dtw-overflow-y-auto theme-scrollbar",children:a.map(({chainId:i,configs:l})=>s.jsx(Np,{chainId:i,children:l.map(({isActive:c,symbol:d,address:u})=>s.jsx("div",{className:A("dtw-rounded-xl dtw-drop-shadow-md even:odd:dtw-bg-[color:var(--panel-popup-list-item-bg-even)] odd:dtw-bg-[color:var(--panel-popup-list-item-bg-odd)] dtw-group",{"dtw-cursor-pointer ":!c}),children:s.jsx(Tr,{token:{symbol:d,address:u,value:"",decimals:k},onSelect:r,isActive:c,onClose:o})},`${u}_${d}`))},i))})]})},Rp=t=>{if(!t)return;const e=t.match(/0x[a-fA-F0-9]{64}/);if(!e)return;const n=e[0];return`${n.slice(0,4)}...${n.slice(-3)}`},Lp=({type:t})=>{const{address:e,symbol:n,chainId:a}=v(),[{link:o,sendTokens:r},i]=K(),{handleReject:l}=ce({type:t}),c=r?.[0],d=Rp(o),u=ie({address:e,chainId:a});return{onClose:p.useCallback(()=>{i({isOpen:!1}),l()},[i,l]),link:o,vaultSymbol:n,paidToken:c,txHash:d,vaultTokenPrice:ee({value:u})}},Mp=t=>{const e=S(),{link:n,onClose:a,vaultSymbol:o,paidToken:r,txHash:i,vaultTokenPrice:l}=Lp(t),{ActionButton:c=G}=R();return s.jsxs(V.Overlay,{className:"dtw-justify-between dtw-gap-y-4",noPadding:!0,children:[s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-items-center dtw-justify-center dtw-gap-2 dtw-pt-1 dtw-px-4 dtw-w-full",children:[s.jsxs("div",{className:"dtw-text-[color:var(--panel-success-content-color)] dtw-mb-2",children:[s.jsx(Ie.CheckIcon,{className:"dtw-h-16 dtw-w-16 lg:dtw-h-24 lg:dtw-w-24 dtw-shrink-0"}),"Success"]}),s.jsx(kt,{}),s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-justify-between dtw-gap-2 dtw-w-full",children:[s.jsx("p",{children:e.orderingLabel}),s.jsx("p",{className:"dtw-text-[color:var(--panel-secondary-content-color)]",children:o})]}),s.jsx(kt,{}),r&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-justify-between dtw-gap-2 dtw-w-full",children:[s.jsx("p",{children:e.paidLabel}),s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-items-end dtw-justify-center dtw-gap-1 dtw-text-[color:var(--panel-secondary-content-color)]",children:[r.value?ve({value:+r.value,decimals:4}):null," ",r.symbol]})]}),s.jsx(kt,{})]}),s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-justify-between dtw-gap-2 dtw-w-full",children:[s.jsx("p",{children:e.priceLabel}),s.jsx("p",{className:"dtw-text-[color:var(--panel-secondary-content-color)]",children:l})]}),n&&s.jsxs(s.Fragment,{children:[s.jsx(kt,{}),s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-justify-between dtw-gap-2 dtw-w-full",children:[s.jsx("p",{children:e.transactionLabel}),s.jsx(Xe,{link:n,children:i??e.explorer})]})]})]}),s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-2 dtw-w-full",children:[s.jsx(ur,{children:e.openLimitOrderAfterBuySwitchLabel}),s.jsx(c,{highlighted:!1,onClick:a,children:e.done})]})]})},jp=()=>{const t=S(),{LogoSpinner:e=Ae}=R(),[{link:n}]=K();return s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-items-center dtw-justify-center dtw-gap-2 dtw-pt-1 dtw-px-4 dtw-w-full dtw-h-full md:dtw-w-1/2 md:dtw-h-1/2",children:[s.jsx(e,{className:"dtw-h-16 dtw-w-16 lg:dtw-h-24 lg:dtw-w-24 dtw-shrink-0"}),t.miningTx,n&&s.jsx(Xe,{link:n,className:"dtw-text-sm",iconClassName:"dtw-w-4 dtw-h-4",children:t.explorer})]})},Bp=({onClose:t})=>{const e=S(),{ActionButton:n=G}=R(),[{link:a}]=K();return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-items-center dtw-justify-center dtw-gap-2 dtw-pt-1 dtw-px-4 dtw-w-full dtw-h-full md:dtw-w-1/2 md:dtw-h-1/2",children:[s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-items-center dtw-gap-2 dtw-text-[color:var(--panel-success-content-color)]",children:[s.jsx(Ie.CheckIcon,{className:"dtw-h-16 dtw-w-16 lg:dtw-h-24 lg:dtw-w-24 dtw-shrink-0"}),e.createLimitSellOrder]}),a&&s.jsx(Xe,{link:a,className:"dtw-text-sm",iconClassName:"dtw-w-4 dtw-h-4",children:e.explorer})]}),s.jsx("div",{className:"dtw-flex dtw-flex-col dtw-gap-2 dtw-w-full",children:s.jsx(n,{highlighted:!1,onClick:t,children:e.done})})]})},Fp=({type:t})=>{const[{status:e},n]=K(),{handleReject:a}=ce({type:t}),o=e==="Mining";return{onClose:p.useCallback(()=>{n({isOpen:!1}),a()},[a,n]),isProcessing:o}},Wp=t=>{const{onClose:e,isProcessing:n}=Fp(t);return s.jsx(V.Overlay,{className:"dtw-justify-between dtw-gap-y-4",onClose:e,noPadding:!0,children:n?s.jsx(jp,{}):s.jsx(Bp,{onClose:e})})},Up=({type:t})=>{const e=S(),[{status:n,link:a,action:o},r]=K(),i=n=="Success",{handleReject:l}=ce({type:t}),c=o==="single_withdraw"&&i,d=i&&o==="deposit",u=o==="create_limit_sell_order",m=o==="limit_order_withdraw",y=p.useMemo(()=>({Wallet:e.sendingOrderToWallet,None:e.settingUpTx,Mining:e.miningTx}),[e]),w=()=>{r({isOpen:!1}),l()};return{title:y[n]??n,isSuccessTx:i,link:a,onClose:w,showNextStepTip:c,displaySuccessDepositOverlay:d,displayLimitOrderTransactionOverlay:u,displayWithdrawLimitOrderOverlay:m}},$p=({sendTokens:t})=>{const e=S(),[n]=t??[];return n?s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-gap-1 dtw-flex-wrap dtw-overflow-hidden",children:[s.jsx("span",{children:e.approveSpending}),s.jsx(He,{size:"sm",symbols:[n.symbol]}),s.jsx("span",{children:n.symbol})]}):null},zp=({receiveTokens:t})=>{const e=S(),[n]=t??[];return n?s.jsxs("div",{className:"dtw-flex dtw-flex-wrap dtw-items-center dtw-gap-1",children:[e.swapAndClaimTo," ",s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-gap-1",children:[s.jsx(He,{size:"sm",symbols:[n.symbol]})," ",n.symbol]})]}):null},Hp=({sendTokens:t,receiveTokens:e,action:n})=>{const a=S(),[o]=t??[],[r]=e??[];return o?s.jsxs("div",{className:"dtw-flex dtw-flex-wrap dtw-items-center dtw-gap-x-1",children:[n==="deposit"?a.pay:n==="multi_withdraw"?a.sell:a.unrollAction,s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-gap-1",children:[s.jsx(He,{size:"sm",symbols:[o.symbol]})," ",o.symbol]})," ","to receive",s.jsx("div",{className:"dtw-flex dtw-items-center dtw-gap-1",children:r?s.jsxs(s.Fragment,{children:[s.jsx(He,{size:"sm",symbols:[r.symbol]})," ",r.symbol]}):s.jsx(s.Fragment,{children:n==="multi_withdraw"?a.multiAssetFractions:a.swappableAssets})})]}):null},Vp=()=>{const t=S(),[{action:e,receiveTokens:n,sendTokens:a}]=K();return e==="approve"?s.jsx($p,{sendTokens:a}):e==="swap"?s.jsx(zp,{receiveTokens:n}):e==="claim"?s.jsx(s.Fragment,{children:t.claimLabel}):e==="create_limit_sell_order"?s.jsx(s.Fragment,{children:t.createLimitSellOrder}):e==="delete_limit_order_withdraw"?s.jsx(s.Fragment,{children:t.deleteWithdrawalRequest}):s.jsx(Hp,{action:e,sendTokens:a,receiveTokens:n})},Gp=({type:t})=>{const[,e]=K(),{handleReject:n}=ce({type:t}),[{link:a,status:o}]=K(),r=o=="Success";return{onClose:p.useCallback(()=>{e({isOpen:!1}),n()},[n,e]),link:a,isSuccessTx:r}},qp=t=>{const e=S(),{ActionButton:n=G}=R(),{onClose:a,link:o,isSuccessTx:r}=Gp(t);return r?s.jsxs(V.Overlay,{className:"dtw-justify-between dtw-gap-y-4",onClose:a,noPadding:!0,children:[s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-items-center dtw-justify-center dtw-gap-3 dtw-pt-1 dtw-px-4 dtw-w-full dtw-h-full",children:[s.jsx(Ie.CheckIcon,{className:"dtw-h-16 dtw-w-16 lg:dtw-h-24 lg:dtw-w-24 dtw-shrink-0 dtw-text-[color:var(--panel-success-content-color)]"}),s.jsx("div",{className:"dtw-text-center dtw-text-2xl dtw-font-semibold",children:e.withdrawalRequest}),s.jsx("div",{className:"dtw-text-center dtw-text-[color:var(--panel-secondary-content-color)]",children:e.expectToReceiveUsdcSoon}),o&&s.jsx(Xe,{link:o,className:"dtw-text-sm",iconClassName:"dtw-w-4 dtw-h-4",children:e.explorer})]}),s.jsx("div",{className:"dtw-flex dtw-flex-col dtw-gap-2 dtw-w-full",children:s.jsx(n,{highlighted:!1,onClick:a,children:e.done})})]}):null},Yp=({type:t})=>{const{link:e,title:n,onClose:a,isSuccessTx:o,showNextStepTip:r,displaySuccessDepositOverlay:i,displayLimitOrderTransactionOverlay:l,displayWithdrawLimitOrderOverlay:c}=Up({type:t}),{LogoSpinner:d=Ae}=R(),u=S();return l?s.jsx(Wp,{type:t}):i?s.jsx(Mp,{type:t}):c?s.jsx(qp,{type:t}):s.jsxs(V.Notification,{onClose:a,children:[s.jsxs("div",{className:"dtw-flex dtw-items-center dtw-gap-1.5",children:[s.jsx("span",{className:"dtw-font-semibold dtw-drop-shadow-md",children:n}),o?s.jsx(te.CheckCircleIcon,{className:"dtw-h-6 dtw-w-6 dtw-text-[color:var(--panel-success-content-color)]"}):s.jsx(d,{className:"dtw-h-5 dtw-w-5 "})]}),s.jsx("div",{className:"dtw-font-light dtw-text-sm dtw-max-h-16 dtw-overflow-y-auto theme-scrollbar dtw-break-all",children:s.jsx(Vp,{})}),e&&s.jsx(Xe,{link:e,className:"dtw-text-sm",iconClassName:"dtw-w-4 dtw-h-4",children:u.explorer}),r&&s.jsx("p",{className:"dtw-text-xs",children:u.proceedWithNextStep})]})},Kp=de.filter(({type:t})=>t==="error").map(({name:t})=>t),Qp=({type:t})=>{const{handleReject:e,meta:n}=ce({type:t});return{handleReject:e,error:js({errorMessage:n?.error,abiErrors:Kp})}},Xp=t=>{const{handleReject:e,error:n}=Qp(t);return n?s.jsxs(V.Notification,{onClose:e,children:[s.jsx("p",{className:"dtw-text-sm",children:n.title}),n.hint&&s.jsx("p",{className:"dtw-text-xs",children:n.hint})]}):null},Zp=["dtw-bg-transparent","dtw-border-[var(--limit-order-action-outline-button-border-color,var(--limit-order-border-color))]","!dtw-text-[color:var(--limit-order-action-outline-button-color,var(--limit-order-content-color))]","active:dtw-border-opacity-100","hover:enabled:dtw-border-[var(--limit-order-action-outline-button-border-hover-color)]"],Jp=["!dtw-text-[color:var(--limit-order-action-accent-button-color,var(--limit-order-accent-content-color))]","dtw-bg-gradient-to-r","dtw-from-[var(--limit-order-action-accent-button-bg-from,var(--limit-order-accent-from-color))]","dtw-to-[var(--limit-order-action-accent-button-bg-to,var(--limit-order-accent-to-color))]","dtw-border-[color:var(--limit-order-action-accent-button-border-color)]","dtw-border-[length:var(--limit-order-action-accent-button-border-width)]","hover:enabled:dtw-from-[var(--limit-order-action-accent-button-hover-bg-from,var(--limit-order-accent-hover-from-color))]","hover:enabled:dtw-to-[var(--limit-order-action-accent-button-hover-bg-to,var(--limit-order-accent-hover-to-color))]"],St=({children:t,onClick:e,highlighted:n=!0,disabled:a=!1,className:o,type:r,loading:i=!1})=>s.jsxs("button",{className:A("dtw-rounded-[var(--limit-order-input-button-radius,var(--limit-order-radius))]","dtw-font-medium","dtw-border","dtw-transition-border","dtw-duration-500","dtw-ease-in-out","disabled:dtw-opacity-50","dtw-py-2","dtw-px-5","dtw-w-full",{[Jp.join(" ")]:n,[Zp.join(" ")]:!n,"dtw-flex dtw-items-center dtw-justify-center dtw-gap-1":i},o),onClick:e,disabled:a||i,type:r,children:[i&&s.jsx(Ae,{className:"dtw-h-4 dtw-w-4 dtw-stroke-[var(--limit-order-accent-content-color)]"}),t]}),br={switchNetwork:"Switch Network",approve:"Approve",lowerLimitLabel:"Lower limit",lowerLimitSubtitle:"Sells when price drops",upperLimitLabel:"Upper limit",upperLimitSubtitle:"Sells when price rises",partialSellLabel:"Partial sell",partialSellSubtitle:"Sells a portion when price hits limits",price:"price",currentPrice:"Current {symbol} price",limitOrderTerms:"I understand and accept limit orders are not guaranteed",create:"Create",modify:"Modify",delete:"Delete",cancel:"Cancel",invalidLimitOrderPriceError:"The upper limit price must be higher than the current price, and the lower limit price must be lower than the current price.",minimumVaultBalanceRequired:"Minimum vault balance required: {amount}",limitOrdersTitle:"Set limit orders",termsPoint1:"A limit order requires an unchanged vault token balance — any transfers or withdrawals may block execution.",termsPoint2:"Revoking token approval after placing an order will prevent the order from being executed.",termsPoint3:"If the vault tokens are still subject to a lock-up period, the order cannot be executed.",termsPoint4:"Limit sells are intended to settle in USDC. In rare cases where market conditions or high slippage prevent a USDC swap, the order may be settled in the underlying tokens of the respective vault.",termsPoint5:"While limit sells are generally expected to execute, they are currently in beta and execution is not guaranteed."},fr=p.createContext(br),vr=({children:t,config:e})=>{const n=p.useMemo(()=>({...br,...e}),[e]);return s.jsx(fr.Provider,{value:n,children:t})},ye=()=>{const t=p.useContext(fr);if(!t)throw new Error("TranslationContext is used out of Provider");return t},eu=({symbol:t,price:e})=>{const n=ye();return s.jsxs("div",{className:"dtw-px-3 dtw-py-2.5 dtw-flex dtw-justify-between dtw-bg-[color:var(--limit-order-secondary-color)] dtw-text-[length:var(--limit-order-font-size-xs)] dtw-rounded-[var(--limit-order-radius)]",children:[s.jsx("span",{className:"dtw-text-xs",children:n.currentPrice.replace("{symbol}",t)}),s.jsx("span",{className:"dtw-font-[var(--limit-order-font-weight-bold)]",children:e})]})},tu=100,nu=3,au=({inputValue:t="",onInputChange:e,autoFocus:n=!1})=>{const[a,o]=p.useState(t),r=p.useRef(null);return{inputRef:r,value:a,autoFocus:n,onContainerClick:()=>{r.current?.focus()},onInputChange:c=>{const d=c.target.value.replace(/[^0-9]/g,"");if(d.length>nu)return;const u=Number(d);!isNaN(u)&&u<=tu&&(o(d),e?.(d))}}},su=t=>{const{disabled:e,placeholder:n,suffix:a="%",postfix:o}=t,{inputRef:r,autoFocus:i,value:l,onContainerClick:c,onInputChange:d}=au(t);return s.jsx("div",{className:"dtw-flex dtw-flex-col dtw-gap-[var(--limit-order-input-group-gap,var(--limit-order-gap))] dtw-border-[var(--limit-order-input-border-color)] dtw-rounded-[var(--limit-order-input-radius,var(--limit-order-radius))] dtw-border dtw-bg-[var(--limit-order-input-bg,var(--limit-order-neutral-color))] dtw-py-[var(--limit-order-input-py)] dtw-px-[var(--limit-order-input-px)] focus-within:dtw-border-[var(--limit-order-input-focus-border-color)] focus-within:dtw-bg-[var(--limit-order-input-focus-bg)] dtw-shadow-md",onClick:c,children:s.jsxs("div",{className:"transparent-scrollbar dtw-flex dtw-items-center dtw-gap-1 dtw-text-[color:var(--limit-order-input-content-color,var(--limit-order-secondary-content-color))]",children:[a?s.jsx("span",{className:"dtw-font-light dtw-whitespace-nowrap dtw-text-[color:var(--limit-order-secondary-content-color)]",children:a}):null,s.jsx("input",{className:"dtw-w-full dtw-appearance-none dtw-bg-transparent placeholder:dtw-text-[color:var(--limit-order-input-placeholder-color,var(--limit-order-secondary-content-color))] dtw-text-[length:var(--limit-order-input-font-size,var(--limit-order-font-size-sm))] dtw-leading-[var(--limit-order-input-line-height,var(--limit-order-line-height-sm))] dtw-font-[var(--limit-order-input-font-weight,var(--limit-order-font-weight-light))] dtw-outline-none focus:dtw-outline-none lg:dtw-text-[length:var(--limit-order-input-font-size-lg,var(--limit-order-font-size-lg))] lg:dtw-leading-[var(--limit-order-input-line-height-lg,var(--limit-order-line-height-lg))]",ref:r,autoFocus:i,type:"text",min:0,value:l,onChange:d,disabled:e,placeholder:n}),s.jsx("div",{className:"dtw-font-light dtw-text-[length:var(--limit-order-input-suffix-font-size,var(--limit-order-font-size-sm))] dtw-text-[color:var(--limit-order-secondary-content-color)]",children:o})]})})},ou=7,Dn=4,Ea=t=>{if(!t)return"";const[e="",n]=t.replace(/,/g,"").split("."),a=n&&n.length>Dn?n.slice(0,Dn):n,o=e.replace(/\B(?=(\d{3})+(?!\d))/g,",");return a!==void 0?`${o}.${a}`:o},ru=({inputValue:t="",onInputChange:e,autoFocus:n=!1})=>{const[a,o]=p.useState(Ea(t)),r=p.useRef(null);return{inputRef:r,value:a,autoFocus:n,onContainerClick:()=>{r.current?.focus()},onInputChange:c=>{const d=c.target.value.replace(/[^\d.]/g,"").replace(/(\..*)\./g,"$1"),[u="",m=""]=d.split(".");e&&u.length<=ou&&m.length<=Dn&&/^\d*(\.\d*)?$/.test(d)&&(o(Ea(d)),e(d))}}},Ca=t=>{const{disabled:e,placeholder:n,percentage:a,suffix:o}=t,{inputRef:r,autoFocus:i,value:l,onContainerClick:c,onInputChange:d}=ru(t);return s.jsx("div",{className:"dtw-flex dtw-flex-col dtw-gap-[var(--limit-order-input-group-gap,var(--limit-order-gap))] dtw-border-[var(--limit-order-input-border-color)] dtw-rounded-[var(--limit-order-input-radius,var(--limit-order-radius))] dtw-border dtw-bg-[var(--limit-order-input-bg,var(--limit-order-neutral-color))] dtw-py-[var(--limit-order-input-py)] dtw-px-[var(--limit-order-input-px)] focus-within:dtw-border-[var(--limit-order-input-focus-border-color)] focus-within:dtw-bg-[var(--limit-order-input-focus-bg)] dtw-shadow-md",onClick:c,children:s.jsxs("div",{className:"transparent-scrollbar dtw-flex dtw-items-center dtw-gap-1 dtw-text-[color:var(--limit-order-input-content-color,var(--limit-order-secondary-content-color))]",children:[s.jsx("span",{className:"dtw-text-[length:var(--limit-order-input-font-size,var(--limit-order-font-size-sm))] dtw-leading-[var(--limit-order-input-line-height,var(--limit-order-line-height-sm))] dtw-font-[var(--limit-order-input-font-weight,var(--limit-order-font-weight-light))] dtw-outline-none focus:dtw-outline-none lg:dtw-text-[length:var(--limit-order-input-font-size-lg,var(--limit-order-font-size-lg))] lg:dtw-leading-[var(--limit-order-input-line-height-lg,var(--limit-order-line-height-lg))]",children:"$"}),s.jsx("input",{className:"dtw-w-full dtw-appearance-none dtw-bg-transparent placeholder:dtw-text-[color:var(--limit-order-input-placeholder-color,var(--limit-order-secondary-content-color))] dtw-text-[length:var(--limit-order-input-font-size,var(--limit-order-font-size-sm))] dtw-leading-[var(--limit-order-input-line-height,var(--limit-order-line-height-sm))] dtw-font-[var(--limit-order-input-font-weight,var(--limit-order-font-weight-light))] dtw-outline-none focus:dtw-outline-none lg:dtw-text-[length:var(--limit-order-input-font-size-lg,var(--limit-order-font-size-lg))] lg:dtw-leading-[var(--limit-order-input-line-height-lg,var(--limit-order-line-height-lg))]",ref:r,autoFocus:i,type:"text",min:0,value:l,onChange:d,disabled:e,placeholder:n}),o?s.jsx("span",{className:"dtw-font-light dtw-whitespace-nowrap dtw-text-[length:var(--limit-order-input-suffix-font-size,var(--limit-order-font-size-sm))] dtw-text-[color:var(--limit-order-secondary-content-color)]",children:o}):null,a?s.jsx("span",{className:"dtw-font-light dtw-text-[length:var(--limit-order-input-suffix-font-size,var(--limit-order-font-size-sm))] dtw-text-[color:var(--limit-order-secondary-content-color)]",children:a}):null]})})},mn=({title:t,subtitle:e,defaultEnabled:n,onDisable:a,children:o})=>{const[r,i]=p.useState(n),l=c=>{i(c),c||a()};return s.jsxs("div",{className:"dtw-px-3 dtw-py-2 dtw-flex dtw-flex-col dtw-gap-2 dtw-border dtw-border-[var(--limit-order-switch-panel-border-color)] dtw-rounded-[var(--limit-order-switch-panel-radius,var(--limit-order-radius))]",children:[s.jsxs("div",{className:"dtw-flex dtw-justify-between dtw-text-[length:var(--limit-order-input-label-font-size,var(--limit-order-font-size))] dtw-leading-[var(--limit-order-input-label-line-height,var(--limit-order-line-height))] dtw-font-[var(--limit-order-input-label-font-weight,var(--limit-order-font-weight-light))] dtw-gap-x-2",children:[s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-0.5 dtw-text-[color:var(--limit-order-secondary-content-color)]",children:[s.jsx("span",{children:t}),s.jsx("span",{className:"dtw-text-[length:var(--limit-order-font-size-xs)]",children:e})]}),s.jsx(tn,{onChange:l,defaultEnabled:r})]}),r&&o]})},xr={upperLimitPrice:"",lowerLimitPrice:"",sellPercentage:"",termsAccepted:!1},iu=(t,e)=>{switch(e.type){case"SET_UPPER_LIMIT_PRICE":return{...t,form:{...t.form,upperLimitPrice:e.payload}};case"SET_LOWER_LIMIT_PRICE":return{...t,form:{...t.form,lowerLimitPrice:e.payload}};case"SET_SELL_PERCENTAGE":return{...t,form:{...t.form,sellPercentage:e.payload}};case"SET_IS_MODAL_OPEN":return{...t,isModalOpen:e.payload};case"SET_TERMS_ACCEPTED":return{...t,form:{...t.form,termsAccepted:e.payload}};case"RESET":return{...t,form:xr};case"SET_PENDING_TRANSACTION":return{...t,pendingTransaction:e.payload};default:return t}};function Ee(){}const Ar=t=>({vaultAddress:t.vaultAddress,vaultChainId:t.vaultChainId,isModalOpen:t.isModalOpen??!1,form:{...xr,...t.form},pendingTransaction:null,pricingAsset:t.pricingAsset,minAmountInUsd:t.minAmountInUsd}),Sr=p.createContext(Ar({vaultAddress:C,vaultChainId:0,pricingAsset:{address:C,symbol:""},minAmountInUsd:qn,form:{lowerLimitPrice:"",upperLimitPrice:""}})),Er=p.createContext({setIsModalOpen:Ee,setUpperLimitPrice:Ee,setLowerLimitPrice:Ee,setTermsAccepted:Ee,setSellPercentage:Ee,reset:Ee,setPendingTransaction:Ee,onLog:Ee}),Cr=({children:t,initialState:e,actions:n})=>{const[a,o]=p.useReducer(iu,Ar(e)),r=p.useCallback(w=>{o({type:"SET_UPPER_LIMIT_PRICE",payload:w})},[]),i=p.useCallback(w=>{o({type:"SET_LOWER_LIMIT_PRICE",payload:w})},[]),l=p.useCallback(w=>{o({type:"SET_IS_MODAL_OPEN",payload:w})},[]),c=p.useCallback(w=>{o({type:"SET_TERMS_ACCEPTED",payload:w})},[]),d=p.useCallback(w=>{o({type:"SET_SELL_PERCENTAGE",payload:w})},[]),u=p.useCallback(()=>{o({type:"RESET"})},[]),m=p.useCallback(w=>{o({type:"SET_PENDING_TRANSACTION",payload:w})},[]),y=p.useMemo(()=>({setUpperLimitPrice:r,setIsModalOpen:l,setLowerLimitPrice:i,setTermsAccepted:c,setSellPercentage:d,reset:u,setPendingTransaction:m,onTransactionSuccess:n?.onTransactionSuccess,onTransactionError:n?.onTransactionError,onTransactionSettled:n?.onTransactionSettled,onLog:n?.onLog}),[r,l,i,c,d,u,m,n?.onTransactionSuccess,n?.onTransactionError,n?.onTransactionSettled,n?.onLog]);return s.jsx(Er.Provider,{value:y,children:s.jsx(Sr.Provider,{value:a,children:t})})},we=()=>p.useContext(Sr),Et=()=>p.useContext(Er),ua=()=>{const{account:t}=L(),{vaultAddress:e,vaultChainId:n,form:{sellPercentage:a}}=we(),{data:o}=Hn({address:t,token:e,chainId:n});return p.useMemo(()=>{const r=a||io;if(!o)return{raw:"0",formatted:"0",symbol:""};const i=new b(o.value).times(r).dividedBy(100).toFixed(0,b.ROUND_DOWN),l=ve({value:new b(i).shiftedBy(-18).toFixed(),decimals:2});return{raw:i,formatted:l,symbol:o.symbol}},[o,a])},Dr=({userAddress:t,vaultAddress:e})=>{const n=I.encodePacked(["address","address"],[t,e]);return I.keccak256(n)},lu=({price:t,markPrice:e})=>new b(t).gt(e)?`+${yt((+t/+e-1)*100,2)}`:"",cu=({price:t,markPrice:e})=>new b(t).lt(e)?`-${yt((1-+t/+e)*100,2)}`:"",du=({error:t,translationMap:e})=>t?t.title===ms?{...t,hint:e.invalidLimitOrderPriceError}:t:null,pu=()=>{const t=ye(),{form:{upperLimitPrice:e,lowerLimitPrice:n,sellPercentage:a,termsAccepted:o},pricingAsset:r,vaultChainId:i}=we(),{setUpperLimitPrice:l,setLowerLimitPrice:c,setSellPercentage:d,setTermsAccepted:u}=Et(),m=le({address:r.address,chainId:i,refetchInterval:Me}),y=Number(m)<Pl?Ol:Rl,{formatted:w,symbol:g}=ua(),T=lu({price:e,markPrice:m}),x=cu({price:n,markPrice:m}),D=p.useCallback(()=>{l("")},[l]),z=p.useCallback(()=>{c("")},[c]),_=p.useCallback(()=>{d("")},[d]),X=`${r.symbol} ${t.price}`;return{upperLimitPrice:e,lowerLimitPrice:n,sellPercentage:a,setUpperLimitPrice:l,setLowerLimitPrice:c,setSellPercentage:d,onDisableUpperLimitPrice:D,onDisableLowerLimitPrice:z,onDisableSellPercentage:_,termsAccepted:o,setTermsAccepted:u,pricingAssetPrice:m==="0"?null:ee({value:m,maximumFractionDigits:y}),upperLimitPriceDifference:T,lowerLimitPriceDifference:x,pricingAssetSymbol:r.symbol,inputSuffix:X,coveredVaultAmount:w,vaultSymbol:g}},uu=["termsPoint1","termsPoint2","termsPoint3","termsPoint4","termsPoint5"],mu=({className:t})=>{const e=ye();return s.jsx("div",{className:A("dtw-w-full dtw-text-[length:var(--limit-order-font-size-xs)] dtw-max-h-[120px] dtw-overflow-y-auto theme-scrollbar dtw-text-[color:var(--limit-order-secondary-content-color)]",t),children:s.jsx("ol",{className:"dtw-list-decimal dtw-list-inside dtw-space-y-2",children:uu.map((n,a)=>s.jsxs("li",{className:"dtw-text-pretty",children:[a+1,". ",e[n]]},n))})})},Ir=({className:t,checked:e,label:n,labelClassName:a,...o})=>s.jsxs(P.Field,{className:"dtw-flex dtw-items-center dtw-gap-2",children:[s.jsx(P.Checkbox,{...o,checked:e,className:A("dtw-group dtw-flex dtw-items-center dtw-justify-center dtw-shrink-0 dtw-size-[var(--panel-checkbox-size)] dtw-rounded-[var(--panel-checkbox-radius)] dtw-p-0.5 dtw-right-0 dtw-outline-0 dtw-cursor-pointer dtw-border",{"dtw-bg-[color:var(--panel-checkbox-bg-checked)] dtw-border-[color:var(--panel-checkbox-border-color-checked)]":e,"dtw-bg-[color:var(--panel-checkbox-bg)] dtw-border-[color:var(--panel-checkbox-border-color)]":!e},t),children:s.jsx(Ie.CheckIcon,{className:"dtw-opacity-0 dtw-size-[var(--panel-checkbox-icon-size)] dtw-fill-[color:var(--panel-checkbox-color)] group-data-[checked]:dtw-opacity-100 dtw-shrink-0"})}),n&&s.jsx(P.Label,{className:A("dtw-select-none",a),children:n})]}),yu=()=>{const t=ye(),{upperLimitPrice:e,lowerLimitPrice:n,setUpperLimitPrice:a,setLowerLimitPrice:o,onDisableUpperLimitPrice:r,onDisableLowerLimitPrice:i,setTermsAccepted:l,termsAccepted:c,pricingAssetPrice:d,upperLimitPriceDifference:u,lowerLimitPriceDifference:m,pricingAssetSymbol:y,inputSuffix:w,sellPercentage:g,setSellPercentage:T,onDisableSellPercentage:x,coveredVaultAmount:D,vaultSymbol:z}=pu();return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-[var(--limit-order-input-group-gap,var(--limit-order-gap))] dtw-px-[var(--limit-order-group-px)]",children:[s.jsx(eu,{symbol:y,price:d}),s.jsx(mn,{title:t.upperLimitLabel,subtitle:t.upperLimitSubtitle,defaultEnabled:!0,onDisable:r,children:s.jsx(Ca,{inputValue:e,onInputChange:a,percentage:u,symbol:y,suffix:w})}),s.jsx(mn,{title:t.lowerLimitLabel,subtitle:t.lowerLimitSubtitle,defaultEnabled:!!n,onDisable:i,children:s.jsx(Ca,{inputValue:n,onInputChange:o,percentage:m,symbol:y,suffix:w})}),s.jsx(mn,{title:t.partialSellLabel,subtitle:t.partialSellSubtitle,defaultEnabled:!!g,onDisable:x,children:s.jsx(su,{inputValue:g,onInputChange:T,suffix:"%",placeholder:io,postfix:s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-items-end dtw-justify-center",children:[s.jsx("span",{className:"dtw-text-[color:var(--limit-order-primary-content-color)]",children:D}),s.jsx("span",{className:"dtw-text-[color:var(--limit-order-secondary-content-color)]",children:z})]})})})]}),s.jsx("div",{className:"dtw-mt-3 dtw-px-2 dtw-flex dtw-items-center dtw-gap-1.5",children:s.jsx(Ir,{checked:c,onChange:_=>l(_),label:t.limitOrderTerms,labelClassName:"dtw-text-[length:var(--limit-order-font-size-xs)] dtw-cursor-pointer"})}),s.jsx(mu,{className:"dtw-px-2"})]})},wu=()=>{const{account:t=C}=L(),{vaultAddress:e,vaultChainId:n}=we(),a=W("limitOrder",n),o=ua(),{data:r}=Kt({tokenAddress:e,ownerAddress:t,spenderAddress:a,chainId:n});return r?new b(o.raw).lte(r.toString()):!1},hu=()=>{const{vaultAddress:t,vaultChainId:e,pendingTransaction:n}=we(),{setPendingTransaction:a}=Et(),[o,r]=p.useState(!1),i=W("limitOrder",e),{send:l}=be({contractId:"erc20",dynamicContractAddress:t,functionName:"approve",onSettled(d){a(d?{hash:d,action:"approve"}:null),r(!1)}});return{approveLimitOrder:async()=>{r(!0),l(i,Le)},isApprovePending:o||!!n}},gu=()=>{const t=wu(),{approveLimitOrder:e,isApprovePending:n}=hu(),{form:{termsAccepted:a}}=we();return{isApproved:t,approveLimitOrder:e,isApprovePending:n,disabled:!a}},Tu=({children:t})=>{const e=ye(),{isApproved:n,approveLimitOrder:a,isApprovePending:o,disabled:r}=gu();return n?t:s.jsx(St,{onClick:a,loading:o,disabled:r,children:e.approve})},_r=t=>{const{setIsModalOpen:e,reset:n,setPendingTransaction:a,onTransactionSettled:o}=Et();return p.useCallback((...r)=>{const[i]=r;if(o?.(...r),!i)return a(null);a({hash:i,action:t}),e(!1),n()},[o,a,t,e,n])},bu=([t,e,n,a,o,r])=>J(o)?null:{takeProfitPrice:I.formatUnits(n,k),stopLossPrice:I.formatUnits(e,k),takeProfitPriceD18:n,stopLossPriceD18:e,amountD18:t,user:a,vault:o,pricingAsset:r},Ct=({chainId:t,userAddress:e,vaultAddress:n})=>E.useReadContract({address:W("limitOrder",t),abi:Vt,chainId:t,functionName:Xt,args:[Dr({userAddress:e,vaultAddress:n})],query:{enabled:!J(e)&&!J(n),select:bu}}),fu=Vt.filter(({type:t})=>t==="error").map(({name:t})=>t),vu="create",xu=()=>{const t=ye(),{account:e=C}=L(),{vaultAddress:n,vaultChainId:a,form:{lowerLimitPrice:o,upperLimitPrice:r,termsAccepted:i},pricingAsset:l,pendingTransaction:c,minAmountInUsd:d}=we(),u=ua(),{data:m}=Ct({userAddress:e,vaultAddress:n,chainId:a}),y=ie({address:n,chainId:a}),[w,g]=p.useState(null),T=_r(vu),x=!!m,{send:D}=be({onSettled:T,contractId:"limitOrder",functionName:x?"modifyLimitOrder":"createLimitOrder"}),_=new b.BigNumber(u.formatted).multipliedBy(y??"0").gte(d),X=!i||!_,he=!!c;return{modifyLimitOrder:async()=>{const Dt=BigInt(o?Ft(o,k):0),It=r?BigInt(Ft(r,k)):Le,_t=[u.raw,Dt,It,e,n,l.address];try{await D(_t),g(null)}catch(nt){nt instanceof Ke&&g(nt.message)}},disabled:X,error:du({error:js({errorMessage:w,abiErrors:fu})??null,translationMap:t}),isPending:he,isAmountSufficient:_,minAmount:ee({value:d.toString(),maximumFractionDigits:0,minimumFractionDigits:0}),isModifyTransaction:x}},Au=({disabled:t})=>{const e=ye(),{modifyLimitOrder:n,disabled:a,error:o,isPending:r,minAmount:i,isAmountSufficient:l,isModifyTransaction:c}=xu();return s.jsxs("div",{children:[o&&s.jsxs("div",{className:"dtw-mb-2 dtw-flex dtw-flex-col dtw-gap-1 dtw-text-error",children:[s.jsx("span",{className:"dtw-text-sm",children:o.title}),o.hint&&s.jsx("span",{className:"dtw-text-xs",children:o.hint})]}),!l&&s.jsx("div",{className:"dtw-mb-1 dtw-text-warning dtw-text-sm",children:e.minimumVaultBalanceRequired.replace("{amount}",i)}),s.jsx(St,{onClick:n,disabled:t||a,loading:r,children:c?e.modify:e.create})]})},Su="remove",Eu=()=>{const{account:t=C}=L(),{vaultAddress:e,vaultChainId:n,pendingTransaction:a}=we(),{data:o}=Ct({userAddress:t,vaultAddress:e,chainId:n}),r=_r(Su),{send:i}=be({onSettled:r,contractId:"limitOrder",functionName:"deleteLimitOrder"}),l=async()=>i(e),c=!!a,d=!!o?.amountD18&&!new b(o.amountD18.toString()).isZero();return{deleteLimitOrder:l,isPending:c,displayButton:d}},Cu=()=>{const t=ye(),{deleteLimitOrder:e,isPending:n,displayButton:a}=Eu();return a?s.jsx(St,{highlighted:!1,className:"!dtw-py-1",onClick:e,loading:n,children:t.delete}):null},Du=()=>{const{chainId:t,switchNetwork:e}=xe(),{vaultChainId:n}=we();return{isWrongNetwork:t!==n,handleNetworkSwitch:()=>{e?.({chainId:n})}}},Iu=({children:t})=>{const e=ye(),{isWrongNetwork:n,handleNetworkSwitch:a}=Du();return n?s.jsx(St,{onClick:a,children:e.switchNetwork}):t},Da=t=>{const e=t?.trim();return e?!isNaN(Number(e)):!1},_u=()=>{const{form:{lowerLimitPrice:t,upperLimitPrice:e}}=we(),n=Da(t)&&Number(t)!==0,a=Da(e);return{limitOrderButtonDisabled:!n&&!a}},Nr=({onClose:t,hideDeleteButton:e})=>{const n=ye(),{limitOrderButtonDisabled:a}=_u();return s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-2",children:[s.jsx(yu,{}),s.jsxs(Iu,{children:[s.jsx(Tu,{children:s.jsx(Au,{disabled:a})}),!e&&s.jsx(Cu,{})]}),!!t&&s.jsx(St,{highlighted:!1,onClick:t,children:n.cancel})]})},kr=({vaultAddress:t,vaultChainId:e})=>{const{account:n=C}=L(),{isFetched:a,data:o}=Ct({vaultAddress:t,chainId:e,userAddress:n}),r=o&&o.takeProfitPriceD18!==Le?o.takeProfitPrice:"",i=o&&o.stopLossPriceD18!==BigInt(0)?o.stopLossPrice:"";return{isFetched:a,upperLimitPrice:r,lowerLimitPrice:i}},Nu=[Xt,Gn,"allowance"],Pr=()=>{const t=Ge.useQueryClient();return p.useCallback(()=>{t.invalidateQueries({predicate:({queryKey:e})=>{const n=e[1]?.functionName;return e[0]==="readContract"&&Nu.some(a=>a===n)}})},[t])},Or=()=>{const{pendingTransaction:t,vaultChainId:e,vaultAddress:n}=we(),{setPendingTransaction:a,onTransactionSuccess:o,onTransactionError:r,onLog:i}=Et(),l=Pr(),{data:c,error:d}=E.useWaitForTransactionReceipt({hash:t?.hash??void 0,chainId:e,pollingInterval:Me});p.useEffect(()=>{c&&(t?.action==="create"&&i?.(Y.CREATE_LIMIT_SELL_ORDER,{[ge.ADDRESS.NAME]:n,[ge.CHAIN_ID.NAME]:e}),l(),a(null),o?.(c.transactionHash))},[c,l,o,i,e,a,t?.action,n]),p.useEffect(()=>{d&&t&&(r?.(t.hash),a(null))},[d,r,t,a])},f={ERROR:"#dd376a",WARNING:"#fbbf24",INFO:"#504c56",WHITE:{DEFAULT:"#ffffff"},DARK:{DEFAULT:"#181C25",400:"#2A3648",700:"#12171F",800:"#1B2432"},RED:{500:"#EF4444"},GRAY:{DEFAULT:"#B1B6C1",300:"#EBEBF0",600:"#9DA2AD",700:"#4C505B",800:"#2B313E"},GREEN:{DEFAULT:"#73D393",700:"#34855E"},BLUE:{DEFAULT:"#152E4D",dark:"#162435"},AMBER:{400:"#AFA58D"}},Rr=({children:t,config:e})=>s.jsx("div",{style:{"--limit-order-radius":`${e?.global?.style?.radiusPrimary??"1rem"}`,"--limit-order-radius-secondary":`${e?.global?.style?.radiusSecondary??"1rem"}`,"--limit-order-background-color":`${e?.global?.color?.colorBgPrimary??f.DARK[800]}`,"--limit-order-gap":`${e?.global?.size?.gap??"0.25rem"}`,"--limit-order-spacer":`${e?.global?.size?.spacer??"4px"}`,"--limit-order-content-color":`${e?.global?.color?.colorTextPrimary??f.WHITE.DEFAULT}`,"--limit-order-content-hover-color":`${e?.global?.color?.colorTextPrimaryHover??`${f.WHITE.DEFAULT}CC`}`,"--limit-order-secondary-color":`${e?.global?.color?.colorBgSecondary??f.GRAY[800]}`,"--limit-order-secondary-content-color":`${e?.global?.color?.colorTextSecondary??f.GRAY[600]}`,"--limit-order-accent-from-color":`${e?.global?.color?.colorBgAccentFrom??f.GREEN.DEFAULT}`,"--limit-order-accent-to-color":`${e?.global?.color?.colorBgAccentTo??f.GREEN[700]}`,"--limit-order-accent-hover-from-color":`${e?.global?.color?.colorBgAccentFromHover??`${f.GREEN.DEFAULT}CC`}`,"--limit-order-accent-hover-to-color":`${e?.global?.color?.colorBgAccentToHover??f.BLUE.dark}`,"--limit-order-accent-content-color":`${e?.global?.color?.colorTextAccent??f.WHITE.DEFAULT}`,"--limit-order-accent-content-hover-color":`${e?.global?.color?.colorTextAccentHover??`${f.WHITE.DEFAULT}CC`}`,"--limit-order-neutral-color":`${e?.global?.color?.colorBgNeutral??`${f.GRAY[600]}33`}`,"--limit-order-neutral-content-color":`${e?.global?.color?.colorTextNeutral??`${f.GRAY[600]}80`}`,"--limit-order-loading-content-color":`${e?.global?.color?.colorTextLoading??`${f.WHITE.DEFAULT}99`}`,"--limit-order-error-content-color":`${e?.global?.color?.colorTextError??f.RED[500]}`,"--limit-order-warning-content-color":`${e?.global?.color?.colorTextWarning??f.AMBER[400]}`,"--limit-order-border-color":`${e?.global?.color?.colorBorderPrimary??"var(--limit-order-content-color)"}`,"--limit-order-scrollbar-color":`${e?.global?.color?.colorScrollbar??`${f.GREEN.DEFAULT}80`}`,"--limit-order-font-size":`${e?.global?.size?.fontSizeBase??"16px"}`,"--limit-order-line-height":`${e?.global?.size?.lineHeightBase??"24px"}`,"--limit-order-font-size-lg":`${e?.global?.size?.fontSizeLg??"18px"}`,"--limit-order-line-height-lg":`${e?.global?.size?.lineHeightLg??"28px"}`,"--limit-order-font-size-sm":`${e?.global?.size?.fontSizeSm??"14px"}`,"--limit-order-line-height-sm":`${e?.global?.size?.lineHeightSm??"20px"}`,"--limit-order-font-size-xs":`${e?.global?.size?.fontSizeXs??"12px"}`,"--limit-order-line-height-xs":`${e?.global?.size?.lineHeightXs??"16px"}`,"--limit-order-font-weight-light":`${e?.global?.style?.fontWeightLight??300}`,"--limit-order-font-weight-medium":`${e?.global?.style?.fontWeightMedium??500}`,"--limit-order-font-weight-bold":`${e?.global?.style?.fontWeightBold??700}`,"--limit-order-action-opacity":`${e?.global?.style?.actionOpacity??1}`,"--limit-order-action-hover-opacity":`${e?.global?.style?.actionOpacityHover??.8}`,"--limit-order-label-font-size":`${e?.global?.size?.labelFontSize??"var(--limit-order-font-size-xs)"}`,"--limit-order-label-line-height":`${e?.global?.size?.labelLineHeight??"var(--limit-order-line-height-xs)"}`,"--limit-order-action-accent-button-border-width":`${e?.component?.actionButton?.size?.borderWidth??"1px"}`,"--limit-order-action-accent-button-bg-from":`${e?.component?.actionButton?.color?.colorBgFrom??"var(--limit-order-accent-from-color)"}`,"--limit-order-action-accent-button-bg-to":`${e?.component?.actionButton?.color?.colorBgTo??"var(--limit-order-accent-to-color)"}`,"--limit-order-action-accent-button-hover-bg-from":`${e?.component?.actionButton?.color?.colorBgFromHover??"var(--limit-order-accent-hover-from-color)"}`,"--limit-order-action-accent-button-hover-bg-to":`${e?.component?.actionButton?.color?.colorBgToHover??"var(--limit-order-accent-hover-to-color)"}`,"--limit-order-action-accent-button-border-color":`${e?.component?.actionButton?.color?.colorBorder??"var(--limit-order-accent-from-color)"}`,"--limit-order-action-accent-button-color":`${e?.component?.actionButton?.color?.colorText??"var(--limit-order-accent-content-color)"}`,"--limit-order-action-outline-button-border-color":`${e?.component?.actionButton?.color?.outlineColorBorder??`${f.WHITE.DEFAULT}33`}`,"--limit-order-action-outline-button-border-hover-color":`${e?.component?.actionButton?.color?.outlineColorBorderHover??`${f.WHITE.DEFAULT}CC`}`,"--limit-order-action-outline-button-color":`${e?.component?.actionButton?.color?.outlineColorText??"var(--limit-order-content-color)"}`,"--limit-order-icon-size":`${e?.global?.size?.iconSize??"20px"}`,"--limit-order-icon-size-sm":`${e?.global?.size?.iconSizeSm??"24px"}`,"--limit-order-icon-secondary-size":`${e?.global?.size?.iconSecondarySize??"16px"}`,"--limit-order-icon-secondary-size-sm":`${e?.global?.size?.iconSecondarySizeSm??"16px"}`,"--limit-order-icon-color":`${e?.global?.color?.colorIcon??"var(--limit-order-content-color)"}`,"--limit-order-inputs-group-gap":`${e?.component?.inputGroup?.size?.gap??"var(--limit-order-gap)"}`,"--limit-order-inputs-group-px":`${e?.component?.inputGroup?.size?.px??"calc(var(--limit-order-spacer) * 3)"}`,"--limit-order-input-radius":`${e?.component?.input?.style?.radius??"var(--limit-order-radius)"}`,"--limit-order-input-group-gap":`${e?.component?.input?.size?.gap??"calc(var(--limit-order-gap) * 2)"}`,"--limit-order-input-px":`${e?.component?.input?.size?.px??"calc(var(--limit-order-spacer) * 3)"}`,"--limit-order-input-py":`${e?.component?.input?.size?.py??"calc(var(--limit-order-spacer) * 2)"}`,"--limit-order-input-price-gap":`${e?.component?.input?.size?.priceGap??"calc(var(--limit-order-gap) * 2)"}`,"--limit-order-input-token-icon-size":`${e?.component?.input?.size?.iconSize??"var(--limit-order-icon-size)"}`,"--limit-order-input-token-icon-size-sm":`${e?.component?.input?.size?.iconSizeSm??"var(--limit-order-icon-size-sm)"}`,"--limit-order-input-content-color":`${e?.component?.input?.color?.textColor??"var(--limit-order-secondary-content-color)"}`,"--limit-order-input-loading-content-color":`${e?.component?.input?.color?.loadingTextColor??"var(--limit-order-loading-content-color)"}`,"--limit-order-input-bg":`${e?.component?.input?.color?.bgColor??"var(--limit-order-neutral-color)"}`,"--limit-order-input-focus-bg":`${e?.component?.input?.color?.bgColorFocus??"transparent"}`,"--limit-order-input-border-color":`${e?.component?.input?.color?.borderColor??f.GRAY[700]}`,"--limit-order-input-focus-border-color":`${e?.component?.input?.color?.borderColorFocus??"var(--limit-order-content-color)"}`,"--limit-order-input-placeholder-color":`${e?.component?.input?.color?.placeholderColor??"var(--limit-order-secondary-content-color)"}`,"--limit-order-input-label-font-size":`${e?.component?.input?.size?.labelFontSize??"var(--limit-order-font-size)"}`,"--limit-order-input-label-line-height":`${e?.component?.input?.size?.labelLineHeight??"var(--limit-order-line-height)"}`,"--limit-order-input-label-font-weight":`${e?.component?.input?.style?.labelFontWeight??"var(--limit-order-font-weight-light)"}`,"--limit-order-input-font-size":`${e?.component?.input?.size?.fontSize??"var(--limit-order-font-size-sm)"}`,"--limit-order-input-line-height":`${e?.component?.input?.size?.lineHeight??"var(--limit-order-line-height-sm)"}`,"--limit-order-input-font-size-lg":`${e?.component?.input?.size?.fontSizeLg??"var(--limit-order-font-size-lg)"}`,"--limit-order-input-line-height-lg":`${e?.component?.input?.size?.lineHeightLg??"var(--limit-order-line-height-lg)"}`,"--limit-order-input-suffix-font-size":`${e?.component?.input?.size?.suffixFontSize??"var(--limit-order-font-size-sm)"}`,"--limit-order-input-font-weight":`${e?.component?.input?.style?.fontWeight??"var(--limit-order-font-weight-light)"}`,"--limit-order-input-token-font-size":`${e?.component?.input?.size?.tokenFontSize??"var(--limit-order-font-size-xs)"}`,"--limit-order-input-token-line-height":`${e?.component?.input?.size?.tokenLineHeight??"var(--limit-order-line-height-xs)"}`,"--limit-order-input-token-font-size-sm":`${e?.component?.input?.size?.tokenFontSizeSm??"var(--limit-order-font-size)"}`,"--limit-order-input-token-line-height-sm":`${e?.component?.input?.size?.tokenLineHeightSm??"var(--limit-order-line-height)"}`,"--limit-order-input-token-font-weight":`${e?.component?.input?.style?.tokenFontWeight??"var(--limit-order-font-weight-medium)"}`,"--limit-order-input-button-radius":`${e?.component?.input?.style?.buttonRadius??"30px"}`,"--limit-order-input-button-px":`${e?.component?.input?.size?.buttonPx??"calc(var(--limit-order-spacer) * 2)"}`,"--limit-order-input-button-py":`${e?.component?.input?.size?.buttonPy??"var(--limit-order-spacer)"}`,"--limit-order-input-button-bg":`${e?.component?.input?.color?.buttonBgColor??"var(--limit-order-secondary-color)"}`,"--limit-order-input-button-border-color":`${e?.component?.input?.color?.buttonBorderColor??"var(--limit-order-accent-to-color)"}`,"--limit-order-input-button-content-color":`${e?.component?.input?.color?.buttonTextColor??"var(--limit-order-content-color)"}`,"--limit-order-input-button-font-size":`${e?.component?.input?.size?.buttonFontSize??"var(--limit-order-font-size-xs)"}`,"--limit-order-input-button-line-height":`${e?.component?.input?.size?.buttonLineHeight??"var(--limit-order-line-height-xs)"}`,"--limit-order-tooltip-bg":`${e?.component?.tooltip?.color?.colorBg??f.DARK[700]}`,"--limit-order-tooltip-color":`${e?.component?.tooltip?.color?.colorText??f.WHITE.DEFAULT}`,"--limit-order-switch-panel-border-color":`${e?.component?.switchPanel?.color?.colorBorder??"var(--limit-order-action-accent-button-border-color)"}`,"--limit-order-switch-panel-radius":`${e?.component?.switchPanel?.style?.radius??"var(--limit-order-input-radius)"}`,"--panel-switch-bg-checked":`${e?.component?.switch?.color?.colorBgChecked??f.BLUE.DEFAULT}`,"--panel-switch-bg":`${e?.component?.switch?.color?.colorBg??f.GRAY[700]}`,"--panel-switch-thumb-bg-checked":`${e?.component?.switch?.color?.colorThumbBgChecked??f.WHITE.DEFAULT}`,"--panel-switch-thumb-bg":`${e?.component?.switch?.color?.colorThumbBg??f.WHITE.DEFAULT}`,"--panel-switch-color-checked":e?.component?.switch?.color?.colorChecked,"--panel-switch-color":e?.component?.switch?.color?.color,"--panel-checkbox-bg-checked":`${e?.component?.checkbox?.color?.colorBgChecked??f.GRAY[700]}`,"--panel-checkbox-bg":`${e?.component?.checkbox?.color?.colorBg??"transparent"}`,"--panel-checkbox-border-color-checked":`${e?.component?.checkbox?.color?.colorBorder??"transparent"}`,"--panel-checkbox-border-color":`${e?.component?.checkbox?.color?.colorBorderChecked??f.GRAY.DEFAULT}`,"--panel-checkbox-color":`${e?.component?.checkbox?.color?.color??f.GRAY[300]}`,"--panel-checkbox-size":`${e?.component?.checkbox?.size?.size??"20px"}`,"--panel-checkbox-icon-size":`${e?.component?.checkbox?.size?.iconSize??"16px"}`,"--panel-checkbox-radius":`${e?.component?.checkbox?.style?.radius??"4px"}`},children:t}),ku=({themeConfig:t})=>(Or(),s.jsx(Rr,{config:t,children:s.jsx(Nr,{hideDeleteButton:!0})})),Pu=({vaultChainId:t,vaultAddress:e,pricingAsset:n,translation:a,minAmountInUsd:o=qn,actions:r,themeConfig:i})=>{const{isFetched:l,upperLimitPrice:c,lowerLimitPrice:d}=kr({vaultAddress:e,vaultChainId:t}),u=p.useMemo(()=>({vaultAddress:e,vaultChainId:t,pricingAsset:n,minAmountInUsd:o,form:{upperLimitPrice:c,lowerLimitPrice:d}}),[e,t,n,o,c,d]);return l?s.jsx(vr,{config:a,children:s.jsx(Cr,{initialState:u,actions:r,children:s.jsx(ku,{themeConfig:i})})}):null},Ou=({type:t})=>{const{minLimitOrderValue:e}=$(),{address:n,chainId:a,pricingAsset:o,symbol:r}=v(),{handleReject:i}=ce({type:t}),l=K()[1],c=ae()[1],d=gc(),u=p.useMemo(()=>({onTransactionSettled:y=>{y&&(i(),c({type:"add",txHash:y,action:"create_limit_sell_order",chainId:a,symbol:r}),l({isOpen:!0,action:"create_limit_sell_order",status:"Mining",link:y?nn(y,"transaction",a):void 0,sendTokens:null,receiveTokens:null}))}}),[a,i,r,c,l]),m=p.useCallback(()=>{l({isOpen:!1}),d()},[d,l]);return{handleReject:i,address:n,chainId:a,pricingAsset:o,minLimitOrderValue:e,actions:u,closeAllOverlays:m}},Ru=t=>{const{limitOrderThemeConfig:e}=$(),{handleReject:n,chainId:a,address:o,pricingAsset:r,minLimitOrderValue:i,actions:l,closeAllOverlays:c}=Ou(t);return r?s.jsx(V.Overlay,{onClose:c,onBack:n,className:"!dtw-px-2",noPadding:!0,children:s.jsx("div",{className:"dtw-mt-8 dtw-px-2 dtw-overflow-y-auto theme-scrollbar",children:s.jsx(Pu,{vaultAddress:o,vaultChainId:a,pricingAsset:r,minAmountInUsd:i,actions:l,themeConfig:e})})}):null},Lr=()=>{const[t]=N();return new b(t.value||"0").shiftedBy(t.decimals)},Lu=()=>{const{account:t=C}=L(),{address:e,chainId:n}=v(),a=W("limitOrder",n),o=Lr(),{data:r}=Kt({tokenAddress:e,ownerAddress:t,spenderAddress:a,chainId:n});return r?o.lte(r.toString()):!1},Ia="approve",Mu=()=>{const{address:t,chainId:e,symbol:n}=v(),[a,o]=p.useState(!1),r=W("limitOrder",e),i=ae()[1],l=Ue(Ia),{send:c}=be({contractId:"erc20",dynamicContractAddress:t,functionName:"approve",onSettled(...u){o(!1),l(...u)}});return{approveLimitOrder:async()=>{i({type:"add",action:Ia,symbol:n,chainId:e}),o(!0),c(r,Le)},isApprovePending:a}},ju=()=>{const t=Lu(),{approveLimitOrder:e,isApprovePending:n}=Mu();return{isApproved:t,approveLimitOrder:e,isApprovePending:n}},Bu=({children:t})=>{const e=S(),{ActionButton:n=G}=R(),{isApproved:a,approveLimitOrder:o,isApprovePending:r}=ju();return a?t:s.jsx(n,{onClick:o,loading:r,children:e.approve})},_a="limit_order_withdraw",Fu=t=>{const{account:e=C}=L(),{address:n,chainId:a,pricingAsset:o,symbol:r}=v(),i=ae()[1],l=Ue(_a),c=p.useCallback((...w)=>{l(...w),t()},[l,t]),d=Lr(),{data:u}=Ct({userAddress:e,vaultAddress:n,chainId:a}),m=!!u,{send:y}=be({onSettled:c,contractId:"limitOrder",functionName:m?"modifyLimitOrder":"createLimitOrder"});return p.useCallback(async()=>{i({type:"add",action:_a,symbol:r,chainId:a});const w=BigInt(0),g=Le,T=[BigInt(d.toFixed()),w,g,e,n,o?.address];return y(T)},[i,r,a,d,e,n,o?.address,y])},Wu=({limitOrderHandler:t,action:e})=>{const n=S(),a=oe(),{account:o}=L(),r=v(),[i]=N(),l=K()[1],c=ae()[1],d=Yt(),u=e==="delete_limit_order_withdraw",m=async()=>{const y=r.chainId;l({isOpen:!0,status:"Wallet",action:e,link:"",sendTokens:[i],receiveTokens:null,meta:{}});try{await t()}catch(w){w instanceof Ke&&(a({type:"MERGE_OVERLAY",payload:{type:j.ERROR_NOTIFICATION,isOpen:!0,meta:{error:w.message}}}),d?.(w,r.address,y,o)),l({isOpen:!1,status:"None",link:"",sendTokens:null,receiveTokens:null,meta:{}}),c({type:"remove",status:"fail"})}};return{label:u?n.delete:n.withdrawAction,handleLimitOrderWithdraw:m}},Uu="limit_order_withdraw",$u=()=>{const t=oe(),e=tt("limit_order_withdraw"),n=p.useCallback(()=>t({type:"MERGE_OVERLAY",payload:{type:j.LIMIT_ORDER_WITHDRAW,isOpen:!1}}),[t]),a=Fu(n),{handleLimitOrderWithdraw:o,label:r}=Wu({limitOrderHandler:a,action:Uu});return{label:r,handleLimitOrderWithdraw:o,isLoading:e}},zu=({disabled:t})=>{const{ActionButton:e=G}=R(),{label:n,handleLimitOrderWithdraw:a,isLoading:o}=$u();return s.jsx(e,{onClick:a,disabled:t,loading:o,children:n})},Hu=["termOfUseWithdrawPoint1","termOfUseWithdrawPoint2"],Vu=({className:t})=>{const e=S();return s.jsxs(s.Fragment,{children:[s.jsx("p",{children:e.limitOrderWithdrawDescription}),s.jsx("div",{className:A("dtw-w-full dtw-text-sm dtw-overflow-y-auto theme-scrollbar dtw-text-[color:var(--panel-secondary-content-color)]",t),children:s.jsx("ol",{className:"dtw-list-decimal dtw-list-inside dtw-space-y-2",children:Hu.map((n,a)=>s.jsxs("li",{className:"dtw-text-pretty",children:[a+1,". ",e[n]]},n))})})]})},Gu=({type:t})=>{const e=S(),{ActionButton:n=G}=R(),{handleReject:a}=ce({type:t}),[o,r]=p.useState(!1);return s.jsx(V.Overlay,{onClose:a,children:s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-2 dtw-w-full",children:[s.jsxs("div",{className:"dtw-px-2 dtw-flex dtw-flex-col dtw-gap-2",children:[s.jsx(Vu,{}),s.jsx("div",{className:"dtw-mt-1 dtw-flex dtw-items-center dtw-gap-1.5",children:s.jsx(Ir,{checked:o,onChange:i=>r(i),label:e.termOfUseWithdrawAcceptLabel,labelClassName:"dtw-text-sm dtw-cursor-pointer"})})]}),s.jsx(n,{highlighted:!1,onClick:a,children:e.back}),s.jsx(Bu,{children:s.jsx(zu,{disabled:!o})})]})})},qu=()=>{const t=Jt(),e=S();return s.jsxs(s.Fragment,{children:[s.jsx(Oe,{label:e.slippageTolerance,tooltipText:e.withdrawSlippageWarning,children:s.jsx(Wo,{})}),s.jsx(Oe,{label:e.tokenAllowance,tooltipText:e.toggleTokenApprovalAmount,children:s.jsx(er,{})}),t&&s.jsx(Oe,{label:e.batchTransactionsLabel,tooltipText:e.batchTransactionsTooltip??"",children:s.jsx(tr,{})}),s.jsx(nr,{})]})},Yu=({assets:t=[]})=>{const{stablePrecision:e}=$(),{firstPart:n,secondPart:a}=Rs(t,Ya),o=p.useCallback(({symbol:r,address:i,rawBalance:l,decimals:c,price:d,balance:u})=>s.jsxs("tr",{children:[s.jsxs("td",{children:[s.jsx(vt,{symbol:r,iconSymbols:[r],symbolClasses:"dtw-text-xs dtw-font-bold",size:"sm"}),s.jsx("p",{className:"dtw-truncate dtw-text-xs dtw-text-[color:var(--panel-secondary-content-color)]",children:ee({value:u*d})})]}),s.jsx("td",{className:"dtw-text-right",children:s.jsx("p",{className:"dtw-truncate",children:ve({value:I.formatUnits(l,c),decimals:e})})})]},i),[e]);return s.jsxs("div",{className:"dtw-text-sm dtw-font-light ",children:[s.jsx(zt,{children:n.map(o)}),a.length>0&&s.jsx(mr,{children:s.jsx(zt,{children:a.map(o)})})]})},Ku=()=>{const{chainId:t}=v(),{stablePrecision:e}=$(),{data:n=[]}=me(),a=Ho(),{data:o=C}=Xc();return{assets:n,usdAmount:ee({value:a,maximumFractionDigits:e}),withdrawalVaultLink:nn(o,"address",t)}},Qu=()=>{const t=S(),{assets:e,usdAmount:n,withdrawalVaultLink:a}=Ku();return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"dtw-text-sm dtw-flex dtw-items-center dtw-gap-1",children:[s.jsx("span",{className:"dtw-text-[color:var(--panel-secondary-content-color)]",children:t.total}),s.jsx(Xe,{link:a??"",iconClassName:"dtw-h-4 dtw-w-4 dtw-text-[color:var(--panel-content-color)]",children:s.jsx("span",{className:"dtw-text-[color:var(--panel-content-color)]",children:n})})]}),s.jsx("div",{className:"dtw-flex dtw-flex-col dtw-gap-[var(--panel-input-group-gap,var(--panel-gap))] dtw-rounded-[var(--panel-input-radius,var(--panel-radius))] dtw-border dtw-bg-[var(--panel-input-bg,var(--panel-neutral-color))] dtw-py-[var(--panel-input-py)] dtw-px-[var(--panel-input-px)] dtw-shadow-md dtw-border-[var(--panel-input-border-color)]",children:s.jsx(Yu,{assets:e})})]})},Na=!0,Xu=()=>{const{isWrongNetwork:t}=cr(),e=zo({isClaim:Na}),{disabled:n,label:a,handleTrade:o}=qo({withdraw:e,isClaim:Na}),r=tt("claim");return{disabled:n,label:a,handleTrade:o,isWrongNetwork:t,isLoading:r}},ka=({highlighted:t,className:e})=>{const{ActionButton:n=G}=R(),{handleTrade:a,disabled:o,label:r,isWrongNetwork:i,isLoading:l}=Xu();return i?null:s.jsx(n,{onClick:a,disabled:o,highlighted:t,className:e,loading:l,children:r})},Zu=()=>{const t=oe(),e=zo(),{isError:n}=Je(),{disabled:a,label:o,handleTrade:r}=qo({withdraw:e}),i=tt("swap");return{disabled:a,label:o,handleClick:()=>{if(n){t({type:"MERGE_OVERLAY",payload:{type:j.ERROR_NOTIFICATION,isOpen:!0,meta:{error:ps}}});return}r()},isLoading:i}},Ju=()=>{const{ActionButton:t=G}=R(),{handleClick:e,disabled:n,label:a,isLoading:o}=Zu();return s.jsx(t,{onClick:e,disabled:n,loading:o,children:a})},em=()=>{const t=oe(),{requiresHighSlippageConfirm:e,confirmHighSlippage:n,slippageToBeUsed:a}=Zn();return{requiresHighSlippageConfirm:e,slippageToBeUsed:a,handleHighSlippageClick:()=>{t({type:"MERGE_OVERLAY",payload:{type:j.HIGH_SLIPPAGE,isOpen:!0,onConfirm:async()=>n()}})}}},tm=({children:t})=>{const{ActionButton:e=G}=R(),n=S(),{requiresHighSlippageConfirm:a,slippageToBeUsed:o,handleHighSlippageClick:r}=em();return a?s.jsx(e,{onClick:r,children:n.confirmMaxSlippage.replace("{slippagePercentage}",`${Math.abs(o)}`)}):t},nm=()=>{td();const t=oa(),e=_e();return{showSwapButton:t&&!e}},am=()=>{const{chainId:t}=v(),[e]=O(),n=le({address:e.address,chainId:t}),a=Yo(),o=ft(Math.min(0,a));return{receiveToken:{...e,price:n},swapDiff:a,themeType:o}},sm=()=>{const t=S(),{receiveToken:e,swapDiff:n,themeType:a}=am();return s.jsx(ut,{label:t.receiveEstimated,assetInput:e.value,autoFocus:!1,disabled:!0,assetSymbol:e.symbol,assetPrice:e.price,displayCalculatedValue:!0,isLoading:e.isLoading,tradingPriceDiff:n,type:a})},om=()=>{const t=S(),{stablePrecision:e}=$(),[n]=O(),a=xt(),{minExpectedReceiveAmount:o}=sa(),r=ft(a),i=r===B.DEFAULT?t.withdrawSlippageWarning:t.highSlippageWarning;return{themeType:r,slippageTooltipText:i,slippagePlaceholder:a.toString(),minReceive:`${ve({value:I.formatUnits(BigInt(o),n.decimals),decimals:e})} ${n.symbol}`}},rm=()=>{const t=S(),{slippageTooltipText:e,slippagePlaceholder:n,minReceive:a}=om(),o=p.useMemo(()=>[{tooltipText:t.exchangeRate,label:t.rate,value:s.jsx(pa,{})},{tooltipText:e,label:t.maxSlippage,value:s.jsxs("span",{children:[n,"%"]})},{tooltipText:t.minReceiveAmount,label:t.minReceived,value:a}],[a,n,e,t.maxSlippage,t.minReceiveAmount,t.minReceived,t.exchangeRate,t.rate]);return s.jsx(ea,{collapseItems:o})},im=({children:t})=>s.jsxs(V.Meta,{children:[s.jsx(rm,{}),s.jsx("div",{className:"dtw-sticky dtw-bottom-0 dtw-bg-[var(--panel-meta-action-panel-bg)]",children:t})]}),yn=[{isLeveragedAsset:Us,getWithdrawAssetByLeverageAddress:$s,getWithdrawAssetByVaultAddress:()=>{},isLentAndBorrowedAsset:vn},{isLeveragedAsset:cl,getWithdrawAssetByLeverageAddress:dl,getWithdrawAssetByVaultAddress:pl,isLentAndBorrowedAsset:vn}],wn={requiresLeveragedCollateralLiquidity:!1,leveragedCollateralValueFormatted:"$0"},hn=t=>b(t.amount).shiftedBy(-t.precision).times(t.rate).shiftedBy(-18).toNumber(),Mr=()=>{const t=v(),e=Qe(t),[n]=N(),a=ie(t),o=e.find(({tokenAddress:m,amount:y})=>yn.some(w=>w.isLeveragedAsset(m)&&y!=="0"));if(!o)return wn;const r=yn.find(m=>m.isLeveragedAsset(o.tokenAddress));if(!r)return wn;const i=r.getWithdrawAssetByVaultAddress(t.address)?.address??r.getWithdrawAssetByLeverageAddress(o.tokenAddress).address,l=e.find(({tokenAddress:m})=>H(i,m));if(!l)return wn;const c=Number(n.value||"0")*Number(a),d=hn(l);if(e.find(({tokenAddress:m,amount:y})=>yn.some(w=>w.isLentAndBorrowedAsset({address:m,chainId:t.chainId})&&y!=="0"))){const m=hn(o),y=e.reduce((D,z)=>D+hn(z),0),w=d/y,g=m/y,x=w/(w+g)*y;return{requiresLeveragedCollateralLiquidity:c>x,leveragedCollateralValueFormatted:ee({value:x})}}return{requiresLeveragedCollateralLiquidity:c>d,leveragedCollateralValueFormatted:ee({value:d})}},ma=()=>{const{pricingAsset:t,onDemandWithdrawalEnabled:e}=v(),{requiresLeveragedCollateralLiquidity:n}=Mr(),a=ht();return n&&!!t&&!!e&&!a},Pa=0,Oa=1,Ra=2,lm=()=>{const t=S(),{isCompleteWithdrawStep:e}=Ze(),{canSpend:n}=aa(),a=_e(),o=ia(),r=ma(),i=p.useMemo(()=>{const c=[{index:Pa,description:s.jsx(s.Fragment,{children:t.approve})},{index:Oa,description:o?t.unrollAndClaimDescription:s.jsxs(s.Fragment,{children:[t.initWithdrawDescription," ",s.jsx(Ut,{text:t.initWithdrawTooltip,iconClassName:"!dtw-inline"})]})}],d={index:Ra,description:s.jsxs(s.Fragment,{children:[s.jsx("span",{children:t.completeWithdrawDescription}),s.jsx(Ut,{text:t.completeWithdrawTooltip,iconClassName:"!dtw-inline"})]})};return[...c,...o?[]:[d]]},[t.approve,t.unrollAndClaimDescription,t.initWithdrawDescription,t.initWithdrawTooltip,t.completeWithdrawDescription,t.completeWithdrawTooltip,o]);return{hideStepper:a||r,activeStepIndex:e?Ra:n?Oa:Pa,steps:i}},jr=({children:t})=>{const{hideStepper:e,steps:n,activeStepIndex:a}=lm();return e?t:s.jsx("div",{className:"dtw-mt-1 dtw-grid dtw-gap-1 dtw-grid-cols-[auto_1fr] dtw-auto-rows-min",children:n.map((o,r)=>{const i=o.index<a,l=o.index===a,c=r===n.length-1;return s.jsxs(p.Fragment,{children:[s.jsxs("div",{className:A("dtw-grid dtw-grid-cols-1 dtw-h-full dtw-gap-0.5",{"dtw-text-themeGreen":i,"dtw-text-[color:var(--panel-secondary-content-color)]":!i&&!l,"dtw-grid-rows-[auto_1fr]":!c}),children:[i?s.jsx(te.CheckCircleIcon,{className:"dtw-w-[18px]"}):s.jsxs("span",{className:"dtw-text-center dtw-text-sm",children:[r+1,"."]}),!c&&s.jsx("div",{className:"dtw-h-full dtw-min-h-1",children:s.jsx("div",{className:A("dtw-w-[1px] dtw-h-full dtw-m-auto dtw-bg-[color:var(--panel-secondary-content-color)]")})})]}),s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-0.5 dtw-text-[length:var(--panel-input-label-font-size,var(--panel-font-size-sm))] dtw-text-[color:var(--panel-content-color)]",children:[s.jsx("div",{className:A("dtw-mt-0.5 dtw-flex dtw-gap-1 dtw-leading-none dtw-items-center",{"dtw-text-[color:var(--panel-secondary-content-color)]":!i&&!l}),children:o.description}),l&&s.jsx("div",{className:A({"dtw-my-1":!c,"dtw-mt-1":c}),children:t})]},o.index)]},o.index)})})},cm=()=>{const{showSwapButton:t}=nm();return s.jsxs(s.Fragment,{children:[s.jsxs(V.InputGroup,{children:[s.jsx(Qu,{}),s.jsx(sm,{})]}),s.jsx(im,{children:s.jsx(jr,{children:s.jsx(ca,{children:t?s.jsxs(s.Fragment,{children:[s.jsx(tm,{children:s.jsx(Ju,{})}),s.jsx(ka,{highlighted:!1,className:"dtw-mt-1.5 !dtw-py-1 dtw-text-[length:var(--panel-input-button-font-size,var(--panel-font-size-xs))]"})]}):s.jsx(ka,{})})})})]})},dm=()=>{const{chainId:t,address:e}=v(),{exitFeeNumber:n}=en({address:e,chainId:t}),[a]=N(),[o,r]=O(),i=ie({address:e,chainId:t}),l=le({address:o.address,chainId:t});p.useEffect(()=>{if(!a.value||a.value==="0"){r({value:""});return}const d=new b(a.value).times(i).times(1-n/100).dividedBy(l).toFixed(o.decimals);r({value:Bs(d)?d:""})},[n,o.decimals,l,a.value,i,r])},pm=()=>{const{withdraw:t,action:e}=id(),{disabled:n,label:a,handleTrade:o}=Ko(t),r=oe(),{address:i}=v(),l=$n(i);return{isLoading:tt(e),disabled:n,label:a,handleTrade:()=>{l?r({type:"MERGE_OVERLAY",payload:{type:j.FMP_WITHDRAWAL,isOpen:!0,onConfirm:async()=>{o()}}}):o()}}},um=()=>{const{ActionButton:t=G}=R(),{handleTrade:e,disabled:n,label:a,isLoading:o}=pm();return s.jsx(t,{onClick:e,disabled:n,loading:o,children:a})},mm=()=>{const t=S(),e=oe(),n=()=>e({type:"MERGE_OVERLAY",payload:{type:j.LIMIT_ORDER_WITHDRAW,isOpen:!0}});return{label:t.withdrawAction,openLimitOrderWithdrawOverlay:n}},ym=()=>{const{ActionButton:t=G}=R(),{label:e,openLimitOrderWithdrawOverlay:n}=mm();return s.jsx(t,{onClick:n,children:e})},wm=()=>{const{address:t,chainId:e,maintenance:n,maintenanceWithdrawals:a,symbol:o}=v(),[r]=N(),i=oe(),l=ma(),c=wt(),{data:d=0}=ac({address:t,chainId:e}),u=d>0,m=ct.formatDuration(ct.intervalToDuration({start:0,end:d})),{approve:y,canSpend:w}=aa(),{requiresHighSlippageConfirm:g,confirmHighSlippage:T,slippageToBeUsed:x}=Zn(),D=()=>{i({type:"MERGE_OVERLAY",payload:{type:j.HIGH_SLIPPAGE,isOpen:!0,onConfirm:async()=>T()}})};return{requiresEndOfCooldown:u,requiresApprove:!w,requiresHighSlippageConfirm:g,sendTokenSymbol:r.symbol,slippageToBeUsed:x,dynamicCooldownEndsInTime:m,approve:y,handleHighSlippageClick:D,maintenance:n||a,poolSymbol:o,isLimitOrderWithdraw:l,insufficientBalance:c}},hm=({children:t})=>{const{ActionButton:e=G}=R(),n=S(),a=Jn("withdraw"),{requiresEndOfCooldown:o,requiresApprove:r,requiresHighSlippageConfirm:i,sendTokenSymbol:l,slippageToBeUsed:c,dynamicCooldownEndsInTime:d,approve:u,handleHighSlippageClick:m,maintenance:y,poolSymbol:w,isLimitOrderWithdraw:g,insufficientBalance:T}=wm();return y?s.jsx(Sn,{promptText:n.poolWithdrawalsAreMaintenance.replace("{poolSymbol}",w),children:a}):o?s.jsx(Sn,{promptText:n.withdrawCooldown.replace("{tokenSymbol}",l).replace("{cooldownEndTime}",d),children:a}):T?s.jsx(e,{disabled:!0,children:n.insufficientBalance}):g?s.jsx(ym,{}):r?s.jsx(dr,{onApprove:u,symbol:l}):i?s.jsx(e,{onClick:m,children:n.confirmMaxSlippage.replace("{slippagePercentage}",`${Math.abs(c)}`)}):t},gm=()=>{const{address:t,chainId:e}=v(),[n,a]=N(),o=ue({symbol:n.symbol,address:n.address}),r=ie({address:t,chainId:e});return{...n,updater:a,balance:o,price:r}},Tm=()=>{const{chainId:t}=v(),[e,n]=O(),a=le({address:e.address,chainId:t});return{...e,updater:n,price:a}},bm=()=>{const t=gm(),e=Tm();return{sendToken:t,onInputChange:a=>{t.updater({value:a})},receiveToken:e}},fm=()=>{const t=S(),{sendToken:e,onInputChange:n,receiveToken:a}=bm();return s.jsxs(s.Fragment,{children:[s.jsx(ut,{label:t.send,assetInput:e.value,onInputChange:n,assetSymbol:e.symbol,assetPrice:e.price??"",displayMax:!0,maxBalance:e.balance,displayCalculatedValue:!0,children:s.jsx(wr,{})}),s.jsxs(ut,{label:t.receiveEstimated,assetInput:a.value,autoFocus:!1,disabled:!0,assetSymbol:a.symbol,assetPrice:a.price,displayCalculatedValue:!0,isLoading:a.isLoading,children:[s.jsx(gr,{}),a.symbol==="all"?null:s.jsx(hr,{})]})]})},vm=()=>{const t=S(),{address:e,chainId:n}=v(),[{isMaxSlippageLoading:a}]=q(),{exitFeeNumber:o}=en({address:e,chainId:n}),r=xt(),i=_e();return{slippageTooltipText:ft(r)===B.DEFAULT?t.withdrawSlippageWarning:t.highSlippageWarning,isMaxSlippageLoading:a,slippagePlaceholder:`${r}%`,exitFee:yt(o,2),minReceivedText:t.estimatedMultiAssetFractions,showMinReceivedText:i}},xm=()=>{const t=S(),{slippageTooltipText:e,slippagePlaceholder:n,isMaxSlippageLoading:a,exitFee:o,minReceivedText:r,showMinReceivedText:i}=vm(),l=p.useMemo(()=>{const c=[{tooltipText:t.exchangeRate,label:t.rate,value:s.jsx(pa,{})},{tooltipText:e,label:t.maxSlippage,value:s.jsxs("div",{className:"dtw-flex dtw-gap-1",children:[a&&s.jsx(Ae,{className:"dtw-stroke-[color:var(--panel-accent-from-color)] dtw-h-[var(--panel-icon-secondary-size)] sm:dtw-h-[var(--panel-icon-secondary-size-sm)] dtw-w-[var(--panel-icon-secondary-size)] sm:dtw-w-[var(--panel-icon-secondary-size-sm)]"}),s.jsx("span",{className:A({"dtw-text-[color:var(--panel-loading-content-color)]":a}),children:n})]})},{label:t.exitFee,value:o,tooltipText:t.exitFeeExplanation}];return i&&c.push({tooltipText:t.minReceiveAmount,label:t.minReceived,value:r}),c},[e,t.maxSlippage,t.exitFee,t.exitFeeExplanation,t.minReceiveAmount,t.minReceived,t.exchangeRate,t.rate,a,n,o,i,r]);return s.jsx(ea,{collapseItems:l})},Am=({children:t})=>{const{WithdrawMetaInfo:e,AvailableLiquidityAlert:n,OnDemandWithdrawAlert:a}=R(),{requiresLeveragedCollateralLiquidity:o,leveragedCollateralValueFormatted:r}=Mr(),i=ma();return s.jsxs(V.Meta,{children:[s.jsx("div",{children:o?i?s.jsx(s.Fragment,{children:!!a&&s.jsx(a,{})}):s.jsx(s.Fragment,{children:!!n&&s.jsx(n,{liquidityAmount:r})}):null}),s.jsx(xm,{}),e&&s.jsx(e,{}),s.jsx("div",{className:"dtw-sticky dtw-bottom-0 dtw-bg-[var(--panel-meta-action-panel-bg)]",children:t})]})},Sm=()=>{const t=S();return dm(),s.jsxs(s.Fragment,{children:[s.jsx(V.InputGroup,{children:s.jsx(fm,{})}),s.jsx(Am,{children:s.jsx(jr,{children:s.jsx(ca,{children:s.jsx(hm,{children:s.jsxs("div",{className:"dtw-flex dtw-flex-col dtw-gap-2 dtw-w-full",children:[s.jsx(um,{}),s.jsx(ur,{highlighted:!1,children:t.stopOrder})]})})})})})]})},Em=()=>{Qc();const{isCompleteWithdrawStep:t}=Ze();return{isCompleteWithdrawStep:t}},Cm=()=>{const{isCompleteWithdrawStep:t}=Em();return t?s.jsx(cm,{}):s.jsx(Sm,{})},Dm=()=>s.jsx(V.Panel,{children:s.jsx(Cm,{})}),Im=({tradingType:t})=>s.jsxs(P.TabGroup,{selectedIndex:Ve.indexOf(t),children:[s.jsx(P.TabList,{className:"dtw-flex",children:Ve.map(e=>s.jsx(P.Tab,{className:"dtw-hidden"},e))}),s.jsxs(P.TabPanels,{children:[s.jsx(V.Settings,{children:s.jsx(hd,{})}),s.jsx(V.Settings,{children:s.jsx(qu,{})})]})]}),_m=({children:t})=>s.jsxs(P.TabList,{className:"dtw-flex dtw-px-[var(--panel-tab-group-px)] dtw-justify-between dtw-items-center",children:[s.jsx("div",{className:"dtw-bg-[var(--panel-tab-list-bg)] dtw-rounded-[var(--panel-tab-list-radius)] dtw-px-[var(--panel-tab-list-px)] dtw-py-[var(--panel-tab-list-py)]",children:Ve.map(e=>s.jsx(fc,{tradingType:e},e))}),t]}),Nm=Ve.reduce((t,e,n)=>(t[n]=e,t),{}),km=()=>{const[t]=pe(),e=v(),{standalone:n}=$();ip();const a=da(),o=r=>{const i=Nm[r];i&&a(i)};return p.useEffect(()=>{n||a("deposit")},[e.address,n]),p.useEffect(()=>{n&&a(t)},[e.address,n,t]),{type:t,onTabChange:o}},Pm=()=>{const{type:t,onTabChange:e}=km();return s.jsxs("div",{className:"trading-widget dtw-relative dtw-pt-3 dtw-bg-[var(--panel-background-color)] dtw-text-[color:var(--panel-content-color)] dtw-rounded-[var(--widget-radius)] md:dtw-rounded-[var(--widget-radius-md)] dtw-overflow-hidden dtw-h-full",children:[s.jsxs(P.TabGroup,{selectedIndex:Ve.indexOf(t),onChange:e,className:"dtw-flex dtw-flex-col dtw-h-full",children:[s.jsx(_m,{children:s.jsxs("div",{className:"dtw-flex dtw-gap-2 dtw-items-center dtw-justify-end",children:[s.jsx(qd,{}),s.jsx(Im,{tradingType:t})]})}),s.jsxs(P.TabPanels,{className:"dtw-flex-1 dtw-overflow-y-auto",children:[s.jsx(hp,{}),s.jsx(Dm,{})]})]}),s.jsxs(Tp,{children:[s.jsx(Xp,{type:j.ERROR_NOTIFICATION}),s.jsx(bp,{type:j.TERMS_OF_USE}),s.jsx(fp,{type:j.HIGH_SLIPPAGE}),s.jsx(xp,{type:j.FMP_WITHDRAWAL}),s.jsx(_p,{type:j.TOKEN_SELECT,searchQuery:""}),s.jsx(Op,{type:j.POOL_SELECT,searchQuery:""}),s.jsx(Yp,{type:j.TRADING}),s.jsx(Ru,{type:j.LIMIT_SELLS}),s.jsx(Gu,{type:j.LIMIT_ORDER_WITHDRAW})]})]})},Om=({children:t,config:e,className:n})=>s.jsx("div",{className:n,style:{"--panel-radius":`${e?.global?.style?.radiusPrimary??"1rem"}`,"--panel-radius-secondary":`${e?.global?.style?.radiusSecondary??"1rem"}`,"--panel-background-color":`${e?.global?.color?.colorBgPrimary??f.DARK[800]}`,"--panel-gap":`${e?.global?.size?.gap??"0.25rem"}`,"--panel-spacer":`${e?.global?.size?.spacer??"4px"}`,"--panel-content-color":`${e?.global?.color?.colorTextPrimary??f.WHITE.DEFAULT}`,"--panel-content-hover-color":`${e?.global?.color?.colorTextPrimaryHover??`${f.WHITE.DEFAULT}CC`}`,"--panel-secondary-color":`${e?.global?.color?.colorBgSecondary??f.GRAY[800]}`,"--panel-secondary-content-color":`${e?.global?.color?.colorTextSecondary??f.GRAY[600]}`,"--panel-accent-from-color":`${e?.global?.color?.colorBgAccentFrom??f.GREEN.DEFAULT}`,"--panel-accent-to-color":`${e?.global?.color?.colorBgAccentTo??f.GREEN[700]}`,"--panel-accent-hover-from-color":`${e?.global?.color?.colorBgAccentFromHover??`${f.GREEN.DEFAULT}CC`}`,"--panel-accent-hover-to-color":`${e?.global?.color?.colorBgAccentToHover??f.BLUE.dark}`,"--panel-accent-content-color":`${e?.global?.color?.colorTextAccent??f.WHITE.DEFAULT}`,"--panel-accent-content-hover-color":`${e?.global?.color?.colorTextAccentHover??`${f.WHITE.DEFAULT}CC`}`,"--panel-neutral-color":`${e?.global?.color?.colorBgNeutral??`${f.GRAY[600]}33`}`,"--panel-neutral-content-color":`${e?.global?.color?.colorTextNeutral??`${f.GRAY[600]}80`}`,"--panel-loading-content-color":`${e?.global?.color?.colorTextLoading??`${f.WHITE.DEFAULT}99`}`,"--panel-error-content-color":`${e?.global?.color?.colorTextError??f.RED[500]}`,"--panel-warning-content-color":`${e?.global?.color?.colorTextWarning??f.WARNING}`,"--panel-success-content-color":`${e?.global?.color?.colorTextSuccess??f.GREEN.DEFAULT}`,"--panel-border-color":`${e?.global?.color?.colorBorderPrimary??"var(--panel-content-color)"}`,"--widget-radius":`${e?.component?.widget?.style?.radius??"var(--panel-radius)"}`,"--widget-radius-md":`${e?.component?.widget?.style?.radiusMd??"var(--panel-radius)"}`,"--panel-divider-color":`${e?.component?.divider?.color?.colorBg??"var(--panel-secondary-content-color)"}`,"--panel-scrollbar-color":`${e?.global?.color?.colorScrollbar??`${f.GREEN.DEFAULT}80`}`,"--panel-font-size":`${e?.global?.size?.fontSizeBase??"16px"}`,"--panel-line-height":`${e?.global?.size?.lineHeightBase??"24px"}`,"--panel-font-size-lg":`${e?.global?.size?.fontSizeLg??"18px"}`,"--panel-line-height-lg":`${e?.global?.size?.lineHeightLg??"28px"}`,"--panel-font-size-sm":`${e?.global?.size?.fontSizeSm??"14px"}`,"--panel-line-height-sm":`${e?.global?.size?.lineHeightSm??"20px"}`,"--panel-font-size-xs":`${e?.global?.size?.fontSizeXs??"12px"}`,"--panel-line-height-xs":`${e?.global?.size?.lineHeightXs??"16px"}`,"--panel-font-weight-light":`${e?.global?.style?.fontWeightLight??300}`,"--panel-font-weight-medium":`${e?.global?.style?.fontWeightMedium??500}`,"--panel-font-weight-bold":`${e?.global?.style?.fontWeightBold??700}`,"--panel-action-opacity":`${e?.global?.style?.actionOpacity??1}`,"--panel-action-hover-opacity":`${e?.global?.style?.actionOpacityHover??.8}`,"--panel-label-font-size":`${e?.global?.size?.labelFontSize??"var(--panel-font-size)"}`,"--panel-label-line-height":`${e?.global?.size?.labelLineHeight??"var(--panel-line-height-xs)"}`,"--panel-icon-size":`${e?.global?.size?.iconSize??"20px"}`,"--panel-icon-size-sm":`${e?.global?.size?.iconSizeSm??"24px"}`,"--panel-icon-secondary-size":`${e?.global?.size?.iconSecondarySize??"16px"}`,"--panel-icon-secondary-size-sm":`${e?.global?.size?.iconSecondarySizeSm??"16px"}`,"--panel-icon-color":`${e?.global?.color?.colorIcon??"var(--panel-content-color)"}`,"--panel-icon-color-hover":`${e?.global?.color?.colorIconHover??"var(--panel-content-hover-color)"}`,"--panel-notification-bg":`${e?.component?.notification?.color?.colorBg??"var(--panel-secondary-color)"}`,"--panel-popup-content-color":`${e?.component?.popup?.color?.colorText??"var(--panel-secondary-content-color)"}`,"--panel-popup-bg":`${e?.component?.popup?.color?.colorBg??"var(--panel-secondary-color)"}`,"--panel-popup-border-color":`${e?.component?.popup?.color?.colorBorder??"var(--panel-secondary-content-color)"}`,"--panel-popup-font-size":`${e?.component?.popup?.size?.fontSize??e?.global?.size?.fontSizeXs??"12px"}`,"--panel-popup-list-header-bg":`${e?.component?.popupList?.color?.headerBg??f.DARK[800]}`,"--panel-popup-list-item-bg-even":`${e?.component?.popupList?.color?.itemBgEven??"transparent"}`,"--panel-popup-list-item-bg-odd":`${e?.component?.popupList?.color?.itemBgOdd??f.DARK[400]}`,"--panel-tab-group-px":`${e?.component?.tabGroup?.size?.px??"calc(var(--panel-spacer) * 6)"}`,"--panel-tab-list-bg":`${e?.component?.tabList?.color?.colorBg??f.DARK.DEFAULT}`,"--panel-tab-list-px":`${e?.component?.tabList?.size?.px??"calc(var(--panel-spacer) * 3)"}`,"--panel-tab-list-py":`${e?.component?.tabList?.size?.py??"calc(var(--panel-spacer) * 2)"}`,"--panel-tab-list-radius":`${e?.component?.tabList?.style?.radius??"var(--panel-radius-secondary)"}`,"--panel-content-pt":`${e?.component?.tabContent?.size?.pt??"calc(var(--panel-spacer) * 2)"}`,"--panel-content-pb":`${e?.component?.tabContent?.size?.pb??"calc(var(--panel-spacer) * 9)"}`,"--panel-content-pb-md":`${e?.component?.tabContent?.size?.pbMd??"var(--panel-content-pb)"}`,"--panel-content-px":`${e?.component?.tabContent?.size?.px??"0px"}`,"--panel-content-gap":`${e?.component?.tabContent?.size?.gap??"calc(var(--panel-gap) * 2)"}`,"--panel-tab-px":`${e?.component?.tab?.size?.px??"calc(var(--panel-spacer) * 9)"}`,"--panel-tab-py":`${e?.component?.tab?.size?.py??"calc(var(--panel-spacer) * 2)"}`,"--panel-tab-bg":`${e?.component?.tab?.color?.colorBg??"var(--panel-neutral-color)"}`,"--panel-tab-content-color":`${e?.component?.tab?.color?.colorText??"var(--panel-neutral-content-color)"}`,"--panel-tab-select-content-color":`${e?.component?.tab?.color?.selectColorText??"var(--panel-content-color)"}`,"--panel-tab-hover-content-color":`${e?.component?.tab?.color?.colorTextHover??"var(--panel-content-hover-color)"}`,"--panel-tab-font-size":`${e?.component?.tab?.size?.fontSize??"var(--panel-font-size-sm)"}`,"--panel-tab-font-weight":`${e?.component?.tab?.style?.fontWeight??"var(--panel-font-weight-medium)"}`,"--panel-tab-line-height":`${e?.component?.tab?.style?.lineHeight??"var(--panel-line-height-sm)"}`,"--panel-balance-group-px":`${e?.component?.balance?.size?.px??"calc(var(--panel-spacer) * 6)"}`,"--panel-balance-group-gap":`${e?.component?.balance?.size?.gap??"var(--panel-gap)"}`,"--panel-balance-content-color":`${e?.component?.balance?.color?.colorText??"var(--panel-secondary-content-color)"}`,"--panel-balance-price-content-color":`${e?.component?.balance?.color?.priceColorText??"var(--panel-secondary-content-color)"}`,"--panel-balance-font-size":`${e?.component?.balance?.size?.fontSize??"var(--panel-font-size-xs)"}`,"--panel-balance-line-height":`${e?.component?.balance?.size?.lineHeight??"var(--panel-line-height-xs)"}`,"--panel-balance-price-font-size":`${e?.component?.balance?.size?.priceFontSize??"var(--panel-font-size)"}`,"--panel-balance-price-line-height":`${e?.component?.balance?.size?.priceLineHeight??"var(--panel-line-height)"}`,"--panel-inputs-group-gap":`${e?.component?.inputGroup?.size?.gap??"var(--panel-gap)"}`,"--panel-inputs-group-px":`${e?.component?.inputGroup?.size?.px??"calc(var(--panel-spacer) * 6)"}`,"--panel-inputs-group-px-arrow":`${e?.component?.inputGroup?.size?.pxArrow??"var(--panel-spacer)"}`,"--panel-inputs-group-py-arrow":`${e?.component?.inputGroup?.size?.pyArrow??"var(--panel-spacer)"}`,"--panel-inputs-group-arrow-size":`${e?.component?.inputGroup?.size?.arrowSize??"var(--panel-input-token-icon-size)"}`,"--panel-inputs-arrow-bg":`${e?.component?.inputGroup?.color?.colorBgArrow??"var(--panel-input-bg)"}`,"--panel-inputs-arrow-color":`${e?.component?.inputGroup?.color?.colorArrow??"var(--panel-input-content-color)"}`,"--panel-inputs-arrow-border-color":`${e?.component?.inputGroup?.color?.colorBorderArrow??"var(--panel-input-border-color)"}`,"--panel-inputs-arrow-radius":`${e?.component?.inputGroup?.style?.radiusArrow??"var(--panel-radius-secondary)"}`,"--panel-input-radius":`${e?.component?.input?.style?.radius??"var(--panel-radius)"}`,"--panel-input-group-gap":`${e?.component?.input?.size?.gap??"calc(var(--panel-gap) * 2)"}`,"--panel-input-px":`${e?.component?.input?.size?.px??"calc(var(--panel-spacer) * 3)"}`,"--panel-input-py":`${e?.component?.input?.size?.py??"calc(var(--panel-spacer) * 2)"}`,"--panel-input-price-gap":`${e?.component?.input?.size?.priceGap??"calc(var(--panel-gap) * 2)"}`,"--panel-input-token-icon-size":`${e?.component?.input?.size?.iconSize??"var(--panel-icon-size)"}`,"--panel-input-token-icon-size-sm":`${e?.component?.input?.size?.iconSizeSm??"var(--panel-icon-size-sm)"}`,"--panel-input-content-color":`${e?.component?.input?.color?.textColor??"var(--panel-content-color)"}`,"--panel-input-loading-content-color":`${e?.component?.input?.color?.loadingTextColor??"var(--panel-loading-content-color)"}`,"--panel-input-bg":`${e?.component?.input?.color?.bgColor??"var(--panel-neutral-color)"}`,"--panel-input-focus-bg":`${e?.component?.input?.color?.bgColorFocus??"transparent"}`,"--panel-input-border-color":`${e?.component?.input?.color?.borderColor??f.GRAY[700]}`,"--panel-input-focus-border-color":`${e?.component?.input?.color?.borderColorFocus??"var(--panel-content-color)"}`,"--panel-input-placeholder-color":`${e?.component?.input?.color?.placeholderColor??"var(--panel-secondary-content-color)"}`,"--panel-input-label-font-size":`${e?.component?.input?.size?.labelFontSize??"var(--panel-font-size-sm)"}`,"--panel-input-label-line-height":`${e?.component?.input?.size?.labelLineHeight??"var(--panel-line-height-sm)"}`,"--panel-input-label-font-weight":`${e?.component?.input?.style?.labelFontWeight??"var(--panel-font-weight-light)"}`,"--panel-input-font-size":`${e?.component?.input?.size?.fontSize??"var(--panel-font-size-sm)"}`,"--panel-input-line-height":`${e?.component?.input?.size?.lineHeight??"var(--panel-line-height-sm)"}`,"--panel-input-font-size-lg":`${e?.component?.input?.size?.fontSizeLg??"var(--panel-font-size-lg)"}`,"--panel-input-line-height-lg":`${e?.component?.input?.size?.lineHeightLg??"var(--panel-line-height-lg)"}`,"--panel-input-font-weight":`${e?.component?.input?.style?.fontWeight??"var(--panel-font-weight-light)"}`,"--panel-input-token-font-size":`${e?.component?.input?.size?.tokenFontSize??"var(--panel-font-size-xs)"}`,"--panel-input-token-line-height":`${e?.component?.input?.size?.tokenLineHeight??"var(--panel-line-height-xs)"}`,"--panel-input-token-font-size-sm":`${e?.component?.input?.size?.tokenFontSizeSm??"var(--panel-font-size)"}`,"--panel-input-token-line-height-sm":`${e?.component?.input?.size?.tokenLineHeightSm??"var(--panel-line-height)"}`,"--panel-input-token-font-weight":`${e?.component?.input?.style?.tokenFontWeight??"var(--panel-font-weight-medium)"}`,"--panel-input-button-radius":`${e?.component?.input?.style?.buttonRadius??"30px"}`,"--panel-input-button-px":`${e?.component?.input?.size?.buttonPx??"calc(var(--panel-spacer) * 2)"}`,"--panel-input-button-py":`${e?.component?.input?.size?.buttonPy??"var(--panel-spacer)"}`,"--panel-input-button-bg":`${e?.component?.input?.color?.buttonBgColor??"var(--panel-secondary-color)"}`,"--panel-input-button-border-color":`${e?.component?.input?.color?.buttonBorderColor??"var(--panel-accent-to-color)"}`,"--panel-input-button-content-color":`${e?.component?.input?.color?.buttonTextColor??"var(--panel-content-color)"}`,"--panel-input-button-font-size":`${e?.component?.input?.size?.buttonFontSize??"var(--panel-font-size-xs)"}`,"--panel-input-button-line-height":`${e?.component?.input?.size?.buttonLineHeight??"var(--panel-line-height-xs)"}`,"--panel-action-accent-button-border-width":`${e?.component?.actionButton?.size?.borderWidth??"1px"}`,"--panel-action-accent-button-bg-from":`${e?.component?.actionButton?.color?.colorBgFrom??"var(--panel-accent-from-color)"}`,"--panel-action-accent-button-bg-to":`${e?.component?.actionButton?.color?.colorBgTo??"var(--panel-accent-to-color)"}`,"--panel-action-accent-button-hover-bg-from":`${e?.component?.actionButton?.color?.colorBgFromHover??"var(--panel-accent-hover-from-color)"}`,"--panel-action-accent-button-hover-bg-to":`${e?.component?.actionButton?.color?.colorBgToHover??"var(--panel-accent-hover-to-color)"}`,"--panel-action-accent-button-border-color":`${e?.component?.actionButton?.color?.colorBorder??"var(--panel-accent-from-color)"}`,"--panel-action-accent-button-color":`${e?.component?.actionButton?.color?.colorText??"var(--panel-accent-content-color)"}`,"--panel-action-outline-button-border-color":`${e?.component?.actionButton?.color?.outlineColorBorder??`${f.WHITE.DEFAULT}33`}`,"--panel-action-outline-button-border-hover-color":`${e?.component?.actionButton?.color?.outlineColorBorderHover??`${f.WHITE.DEFAULT}CC`}`,"--panel-action-outline-button-color":`${e?.component?.actionButton?.color?.outlineColorText??"var(--panel-content-color)"}`,"--panel-meta-group-gap":`${e?.component?.meta?.size?.gap??"var(--panel-gap)"}`,"--panel-meta-group-px":`${e?.component?.meta?.size?.px??"calc(var(--panel-spacer) * 6)"}`,"--panel-meta-link-color":`${e?.component?.meta?.color?.linkTextColor??"var(--panel-accent-from-color)"}`,"--panel-meta-hover-bg":`${e?.component?.meta?.color?.panelBgHover??"var(--panel-neutral-color)"}`,"--panel-meta-action-panel-bg":`${e?.component?.meta?.color?.actionPanelBg??"var(--panel-background-color)"}`,"--panel-meta-font-size":`${e?.component?.meta?.size?.fontSize??"var(--panel-font-size-xs)"}`,"--panel-meta-line-height":`${e?.component?.meta?.size?.lineHeight??"var(--panel-line-height-xs)"}`,"--panel-meta-emphasised-font-size":`${e?.component?.meta?.size?.emphasisedFontSize??"var(--panel-font-size-sm)"}`,"--panel-meta-emphasised-line-height":`${e?.component?.meta?.size?.emphasisedLineHeight??"var(--panel-line-height-sm)"}`,"--panel-tooltip-bg":`${e?.component?.tooltip?.color?.colorBg??f.DARK[700]}`,"--panel-tooltip-color":`${e?.component?.tooltip?.color?.colorText??f.WHITE.DEFAULT}`,"--panel-alert-error-bg":`${e?.component?.alert?.color?.errorBg??`${f.ERROR}4D`}`,"--panel-alert-warning-bg":`${e?.component?.alert?.color?.warningBg??`${f.WARNING}4D`}`,"--panel-alert-info-bg":`${e?.component?.alert?.color?.infoBg??`${f.INFO}4D`}`,"--panel-alert-error-color":`${e?.component?.alert?.color?.errorTextColor??"var(--panel-error-content-color)"}`,"--panel-alert-warning-color":`${e?.component?.alert?.color?.warningTextColor??"var(--panel-warning-content-color)"}`,"--panel-alert-info-color":`${e?.component?.alert?.color?.infoTextColor??"var(--panel-content-color)"}`,"--panel-switch-bg-checked":`${e?.component?.switch?.color?.colorBgChecked??f.BLUE.DEFAULT}`,"--panel-switch-bg":`${e?.component?.switch?.color?.colorBg??f.GRAY[700]}`,"--panel-switch-thumb-bg-checked":`${e?.component?.switch?.color?.colorThumbBgChecked??f.WHITE.DEFAULT}`,"--panel-switch-thumb-bg":`${e?.component?.switch?.color?.colorThumbBg??f.WHITE.DEFAULT}`,"--panel-switch-color-checked":e?.component?.switch?.color?.colorChecked,"--panel-switch-color":e?.component?.switch?.color?.color,"--panel-checkbox-bg-checked":`${e?.component?.checkbox?.color?.colorBgChecked??f.GRAY[700]}`,"--panel-checkbox-bg":`${e?.component?.checkbox?.color?.colorBg??"transparent"}`,"--panel-checkbox-border-color-checked":`${e?.component?.checkbox?.color?.colorBorder??"transparent"}`,"--panel-checkbox-border-color":`${e?.component?.checkbox?.color?.colorBorderChecked??f.GRAY.DEFAULT}`,"--panel-checkbox-color":`${e?.component?.checkbox?.color?.color??f.GRAY[300]}`,"--panel-checkbox-size":`${e?.component?.checkbox?.size?.size??"20px"}`,"--panel-checkbox-icon-size":`${e?.component?.checkbox?.size?.iconSize??"16px"}`,"--panel-checkbox-radius":`${e?.component?.checkbox?.style?.radius??"4px"}`},children:t}),Rm=({children:t,config:e,theme:n,components:a,translation:o,className:r})=>s.jsx(uc,{config:o,children:s.jsx(Om,{config:n,className:r,children:s.jsx(Eo,{config:e,children:s.jsx(kc,{config:a,children:s.jsx(Tc,{children:t})})})})}),Lm=t=>s.jsx(Rm,{...t,children:s.jsx(Pm,{})}),Mm="ref",jm=({vaultAddress:t,userAddress:e,query:n,logEvent:a,tagInvestorByReferrer:o})=>{const[r,i]=En("localStorage",lt.REFERRER,""),[l,c]=En("localStorage",lt.REF_POOL,""),d=n[Mm];p.useEffect(()=>{!d||typeof d!="string"||J(t)||localStorage.getItem(lt.REFERRER)||(i(d),c(t),a?.())},[t,d,c,i,a]),p.useEffect(()=>{if(!e||!r||l.toLowerCase()!==t.toLowerCase())return;(async()=>{try{await o({investorAddress:e,poolAddress:l,referrerAddress:r})}catch(m){console.error("[core-ui-kit]: Error on tagging investor by referrer",m)}})()},[l,r,o,e,t])},Bm=({title:t,children:e,className:n,titleClassName:a})=>s.jsxs("div",{className:A("dtw-relative dtw-flex dtw-flex-col dtw-gap-4 dtw-rounded-xl dtw-p-3 dtw-w-full dtw-bg-[var(--limit-order-background-color)]",n),children:[t&&s.jsx("h1",{className:A("dtw-mb-6 !dtw-text-[length:var(--limit-order-font-size-lg)] dtw-drop-shadow-md dtw-text-[color:var(--limit-order-secondary-content-color)]",a),children:t}),s.jsx("div",{className:"dtw-w-full",children:e})]}),Fm=({isOpen:t,onClose:e,children:n,className:a,ThemeProvider:o=p.Fragment})=>{const r=p.useRef(null);return s.jsx(P.Dialog,{open:t,initialFocus:r,as:"div",className:A("dtw-relative dtw-z-20 dtw-overflow-y-auto theme-scrollbar",a),onClose:e,children:s.jsx(o,{children:s.jsxs(s.Fragment,{children:[s.jsx(P.DialogBackdrop,{className:"dtw-fixed dtw-inset-0 dtw-backdrop-blur-md dtw-backdrop-brightness-75 dtw-backdrop-filter"}),s.jsx("div",{className:"dtw-fixed dtw-inset-0 dtw-flex dtw-w-screen dtw-items-center dtw-justify-center dtw-p-4",ref:r,children:s.jsx(P.DialogPanel,{transition:!0,className:"dtw-inline-block dtw-transform dtw-duration-100 dtw-ease-out dtw-overflow-hidden dtw-rounded-2xl dtw-text-left dtw-align-middle dtw-shadow-xl data-[closed]:dtw-opacity-0 data-[closed]:dtw-scale-75",children:n})})]})})})},Wm=()=>{const t=Be(),{isModalOpen:e,pendingTransaction:n}=we(),{setIsModalOpen:a}=Et(),o=p.useCallback(()=>{a(!0),t?.(Y.OPEN_LIMIT_SELL_VIEW,{[ge.SOURCE.NAME]:"modal"})},[t,a]),r=p.useCallback(()=>a(!1),[a]);return{isModalOpen:e,onOpen:o,onClose:r,isTransactionPending:!!n}},Um=({children:t,themeConfig:e})=>{const{onOpen:n,isModalOpen:a,onClose:o,isTransactionPending:r}=Wm(),i=ye();Or();const l=p.useCallback(({children:c})=>s.jsx(Rr,{config:e,children:c}),[e]);return s.jsxs(s.Fragment,{children:[t({onClick:n,isTransactionPending:r}),s.jsx(Fm,{isOpen:a,onClose:o,ThemeProvider:l,className:"limit-order",children:s.jsx(Bm,{title:i.limitOrdersTitle,className:"dtw-text-[color:var(--limit-order-content-color)] dtw-text-[length:var(--limit-order-font-size)] dtw-max-w-[430px]",children:s.jsx(Nr,{onClose:o})})})]})},$m=({children:t,vaultChainId:e,vaultAddress:n,pricingAsset:a,translation:o,minAmountInUsd:r=qn,actions:i,themeConfig:l,isModalOpen:c})=>{const{isFetched:d,upperLimitPrice:u,lowerLimitPrice:m}=kr({vaultAddress:n,vaultChainId:e}),y=p.useMemo(()=>({vaultAddress:n,vaultChainId:e,pricingAsset:a,minAmountInUsd:r,isModalOpen:c,form:{upperLimitPrice:u,lowerLimitPrice:m}}),[n,e,a,r,c,u,m]);return d?s.jsx(vr,{config:o,children:s.jsx(Cr,{initialState:y,actions:i,children:s.jsx(Um,{themeConfig:l,children:t})})}):null};Object.defineProperty(exports,"useBlockNumber",{enumerable:!0,get:()=>E.useBlockNumber});Object.defineProperty(exports,"useConnect",{enumerable:!0,get:()=>E.useConnect});Object.defineProperty(exports,"useDisconnect",{enumerable:!0,get:()=>E.useDisconnect});Object.defineProperty(exports,"usePublicClient",{enumerable:!0,get:()=>E.usePublicClient});Object.defineProperty(exports,"useReadContract",{enumerable:!0,get:()=>E.useReadContract});Object.defineProperty(exports,"useReadContracts",{enumerable:!0,get:()=>E.useReadContracts});Object.defineProperty(exports,"useSendTransaction",{enumerable:!0,get:()=>E.useSendTransaction});Object.defineProperty(exports,"useWaitForTransactionReceipt",{enumerable:!0,get:()=>E.useWaitForTransactionReceipt});Object.defineProperty(exports,"useWalletClient",{enumerable:!0,get:()=>E.useWalletClient});Object.defineProperty(exports,"useWriteContract",{enumerable:!0,get:()=>E.useWriteContract});Object.defineProperty(exports,"arbitrum",{enumerable:!0,get:()=>h.arbitrum});Object.defineProperty(exports,"base",{enumerable:!0,get:()=>h.base});Object.defineProperty(exports,"optimism",{enumerable:!0,get:()=>h.optimism});Object.defineProperty(exports,"polygon",{enumerable:!0,get:()=>h.polygon});Object.defineProperty(exports,"decodeErrorResult",{enumerable:!0,get:()=>I.decodeErrorResult});Object.defineProperty(exports,"encodeFunctionData",{enumerable:!0,get:()=>I.encodeFunctionData});Object.defineProperty(exports,"erc20Abi",{enumerable:!0,get:()=>I.erc20Abi});Object.defineProperty(exports,"formatEther",{enumerable:!0,get:()=>I.formatEther});Object.defineProperty(exports,"formatUnits",{enumerable:!0,get:()=>I.formatUnits});Object.defineProperty(exports,"hexToString",{enumerable:!0,get:()=>I.hexToString});Object.defineProperty(exports,"trim",{enumerable:!0,get:()=>I.trim});exports.ALCHEMY_RPC_URL_MAP=ai;exports.AaveLendingPoolAbi=Tn;exports.AddressZero=C;exports.BRIDGED_TOKENS_SYMBOLS=Wn;exports.BRIDGED_USDC_ARBITRUM=kn;exports.BRIDGED_USDC_OPTIMISM=On;exports.BRIDGED_USDC_POLYGON=Mn;exports.CBBTC_BASE=hs;exports.CBETH_BASE=Li;exports.CHAIN_MAP=ni;exports.CHAIN_NATIVE_TOKENS=$e;exports.CURRENCY_SYMBOL_MAP=Ka;exports.ConfigProvider=Eo;exports.DAI_OPTIMISM=bs;exports.DAI_POLYGON=As;exports.DEFAULT_DEPOSIT_METHOD=Kr;exports.DEFAULT_DEPOSIT_SLIPPAGE=Ht;exports.DEFAULT_DEPOSIT_SLIPPAGE_SCALE=Zr;exports.DEFAULT_ERROR_MESSAGE=ls;exports.DEFAULT_LOCK_TIME=Fa;exports.DEFAULT_MULTI_ASSET_WITHDRAW_METHOD=za;exports.DEFAULT_POLLING_INTERVAL=qe;exports.DEFAULT_PRECISION=k;exports.DEFAULT_PROMISE_TIMEOUT_MS=qa;exports.DEFAULT_SIMULATION_ERROR=fn;exports.DEFAULT_WITHDRAW_SLIPPAGE=Ua;exports.EMPTY_POOL_CONFIG=Wa;exports.EasySwapperV2Abi=de;exports.EstimationError=Ke;exports.GAS_ESTIMATION_ERROR=bn;exports.GAS_LIMIT_BUFFER_COEFF=Ga;exports.GET_ALL_LIMIT_ORDER_IDS_FUNCTION_NAME=Gn;exports.GMX_MARKET_ASSETS=Ns;exports.GMX_MARKET_ASSETS_MAP=ne;exports.LIMIT_ORDER_READ_FUNCTION_NAME=Xt;exports.LINK_ARBITRUM=Oi;exports.LINK_OPTIMISM=Wi;exports.LimitOrderAbi=Vt;exports.LimitOrderModal=$m;exports.MANAGER_FEE_DENOMINATOR=Ce;exports.MAX_GAS_LIMIT_MAP=Pt;exports.MULTI_ASSET_TOKEN=Bt;exports.MaxUint256=Le;exports.NATIVE_TOKEN_DEPOSIT_GAS_LIMIT=Va;exports.PAXG_POLYGON=zi;exports.PYTH_API_LINK=Gi;exports.PoolFactoryAbi=je;exports.PoolLogicAbi=Te;exports.PoolManagerLogicAbi=De;exports.RETH_BASE=Rt;exports.RewardDistributionAbi=os;exports.SETH_OPTIMISM=Fi;exports.SHORTEN_POLLING_INTERVAL=Me;exports.SIMULATION_TIMEOUT_ERROR=cs;exports.SUSD_OPTIMISM=Bi;exports.TBTC_ARBITRUM=Ii;exports.TBTC_BASE=Mi;exports.TBTC_OPTIMISM=Ui;exports.TBTC_POLYGON=Hi;exports.TRADING_LOG_EVENT_PARAM=ge;exports.TRADING_PANEL_LOG_EVENT=Y;exports.TradingPanelProvider=wl;exports.TradingWidget=Lm;exports.USDCBC_BASE=Ri;exports.USDC_ARBITRUM=re;exports.USDC_BASE=ws;exports.USDC_MAINNET=Ss;exports.USDC_OPTIMISM=gs;exports.USDC_POLYGON=fs;exports.USDT_ARBITRUM=Ni;exports.USDT_MAINNET=Es;exports.USDT_OPTIMISM=Ts;exports.USDT_POLYGON=xs;exports.WBNB_ARBITRUM=Pi;exports.WBTC_ARBITRUM=Pe;exports.WBTC_BY_CHAIN_ID=Ds;exports.WBTC_MAINNET=Fn;exports.WBTC_OPTIMISM=ze;exports.WBTC_POLYGON=jn;exports.WETH_ARBITRUM=dt;exports.WETH_BASE=Pn;exports.WETH_BY_CHAIN_ID=Cs;exports.WETH_MAINNET=Bn;exports.WETH_OPTIMISM=Rn;exports.WETH_POLYGON=Ln;exports.WPOL_POLYGON=vs;exports.WSOL_ARBITRUM=ki;exports.WSTETH_ARBITRUM=_i;exports.WSTETH_BASE=ji;exports.WSTETH_OPTIMISM=$i;exports.clientSide=qt;exports.commify=Fs;exports.contractsAbisMap=is;exports.contractsAddressesMap=rs;exports.formatByCurrency=Mt;exports.formatNumberToLimitedDecimals=ve;exports.formatNumeratorToPercentage=it;exports.formatPercentage=yt;exports.formatToUsd=ee;exports.getContractAbiById=ks;exports.getContractAddressById=W;exports.getConventionalTokenPriceDecimals=pt;exports.getErrorMessage=so;exports.getLimitOrderId=Dr;exports.getNativeTokenInvestableBalance=Ls;exports.getPercent=mt;exports.getPoolFraction=xn;exports.isAaveLendAndBorrowAsset=vn;exports.isEqualAddress=H;exports.isErrorWithMessage=no;exports.isFmpAirdropVaultAddress=$n;exports.isNativeToken=Gt;exports.isZeroAddress=J;exports.normalizeNumber=Re;exports.removeInsignificantTrailingZeros=An;exports.shiftBy=Ft;exports.shortenAddress=Ps;exports.toErrorWithMessage=ao;exports.transformAddressForAnalytics=zn;exports.useAccount=L;exports.useAddPoolConfig=Sl;exports.useAssetPrice=le;exports.useAvailableManagerFee=bo;exports.useBalance=Hn;exports.useBrowserStorage=En;exports.useCheckWhitelist=po;exports.useCompleteWithdrawSwapQuotes=Je;exports.useCompleteWithdrawTrackedAssets=me;exports.useContractFunction=be;exports.useContractPoolComposition=uo;exports.useContractReadErrorLogging=Vn;exports.useContractReadsErrorLogging=Qt;exports.useCustomDepositTokensPerChain=to;exports.useDebounce=ra;exports.useDepositLockTime=ir;exports.useDepositProjectedEarnings=Xo;exports.useEasySwapperTrackedAssets=Vo;exports.useExchangeRate=$o;exports.useFlatmoneyPointsUserBalances=vo;exports.useGasPrice=oo;exports.useHasSingleAssetWithdrawBlockers=Xn;exports.useInvalidateLimitOrderQuery=Pr;exports.useInvalidateOnBlock=Wt;exports.useInvalidatePoolContractData=yo;exports.useInvalidateTradingQueries=Zt;exports.useIsBatchContractWritesSupported=Jt;exports.useIsCompleteWithdrawStep=Ze;exports.useIsDepositBlocked=rc;exports.useIsDepositTradingPanelType=We;exports.useIsDhedgeVaultConnected=ht;exports.useIsInsufficientBalance=wt;exports.useIsPoolAddress=Cl;exports.useIsTradingEnabled=na;exports.useIsWalletConnected=Il;exports.useManagerLogicAddress=Kn;exports.useNetwork=xe;exports.useOnSimulateTransaction=Xs;exports.useOnTokenSelector=Qs;exports.useOnTradingTypeChange=da;exports.useOnTransactionError=qs;exports.useOnTransactionEstimationError=Yt;exports.useOnTransactionSuccess=Ks;exports.usePoolComposition=Qe;exports.usePoolCompositionWithFraction=mo;exports.usePoolDynamic=se;exports.usePoolFees=en;exports.usePoolManagerDynamic=bt;exports.usePoolManagerLogicData=Qn;exports.usePoolManagerStatic=Tt;exports.usePoolStatic=gt;exports.usePoolTokenPrice=ie;exports.useProjectedEarningsCore=Qo;exports.useRawAssetPrice=ta;exports.useReceiveTokenInput=O;exports.useReferralProgram=jm;exports.useSendTokenInput=N;exports.useSetPoolAddress=hl;exports.useSetTradingType=fl;exports.useStaticCallQuery=kl;exports.useTokenAllowance=Kt;exports.useTradingPanelActions=F;exports.useTradingPanelLogger=Be;exports.useTradingPanelModal=K;exports.useTradingPanelPoolAddress=Js;exports.useTradingPanelPoolConfig=v;exports.useTradingPanelPoolConfigs=Ye;exports.useTradingPanelPoolFallbackData=Fe;exports.useTradingPanelSettings=q;exports.useTradingPanelState=Q;exports.useTradingPanelTransactions=ae;exports.useTradingPanelType=pe;exports.useTradingResultHandling=Uo;exports.useTradingSettleHandler=Ue;exports.useUpdateCustomDepositTokensPerChain=El;exports.useUpdatePoolConfig=Al;exports.useUpdatePoolFallbackData=Gs;exports.useUpdateReceiveTokenInput=Tl;exports.useUpdateSendTokenInput=gl;exports.useUpdateTradingModal=vl;exports.useUpdateTradingSettings=bl;exports.useUserBalancesDynamic=co;exports.useUserLimitOrder=Ct;exports.useUserTokenBalance=ue;exports.useUserVaultBalance=To;exports.useUserVaultsBalances=go;exports.useVaultContractData=ic;exports.useVaultDepositTokens=on;exports.useVaultSupplyCap=fo;exports.useVaultVestedPoints=wo;exports.validateLoggerEventParams=nl;