@swapkit/core 1.0.0-rc.119 → 1.0.0-rc.120
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{index.es.js → index.js} +1072 -963
- package/dist/index.js.map +41 -0
- package/package.json +27 -36
- package/src/__tests__/helpers.test.ts +2 -26
- package/src/client/index.ts +21 -26
- package/src/client/old.ts +64 -76
- package/src/helpers/explorerUrls.ts +6 -31
- package/src/types.ts +2 -2
- package/LICENSE +0 -201
- package/dist/index.cjs +0 -2
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts +0 -353
- package/dist/index.es.js.map +0 -1
- package/src/helpers/mayanode.ts +0 -31
- package/src/helpers/thornode.ts +0 -31
package/dist/index.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var ne=Object.create;var V=Object.defineProperty;var ae=Object.getOwnPropertyDescriptor;var ie=Object.getOwnPropertyNames;var pe=Object.getPrototypeOf,se=Object.prototype.hasOwnProperty;var re=(p,e,t)=>e in p?V(p,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):p[e]=t;var ye=(p,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ie(e))!se.call(p,s)&&s!==t&&V(p,s,{get:()=>e[s],enumerable:!(a=ae(e,s))||a.enumerable});return p};var q=(p,e,t)=>(t=p!=null?ne(pe(p)):{},ye(e||!p||!p.__esModule?V(t,"default",{value:p,enumerable:!0}):t,p));var y=(p,e,t)=>(re(p,typeof e!="symbol"?e+"":e,t),t),ue=(p,e,t)=>{if(!e.has(p))throw TypeError("Cannot "+t)};var M=(p,e,t)=>(ue(p,e,"read from private field"),t?t.call(p):e.get(p)),C=(p,e,t)=>{if(e.has(p))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(p):e.set(p,t)};Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("@swapkit/helpers"),n=require("@swapkit/types"),$=({chain:p,txHash:e})=>{const t=n.ChainToExplorerUrl[p];switch(p){case n.Chain.Binance:case n.Chain.Maya:case n.Chain.Kujira:case n.Chain.THORChain:return`${t}/tx/${e.startsWith("0x")?e.slice(2):e}`;case n.Chain.Arbitrum:case n.Chain.Avalanche:case n.Chain.BinanceSmartChain:case n.Chain.Ethereum:case n.Chain.Optimism:case n.Chain.Polkadot:case n.Chain.Polygon:return`${t}/tx/${e.startsWith("0x")?e:`0x${e}`}`;case n.Chain.Cosmos:return`${t}/transactions/${e}`;case n.Chain.Litecoin:case n.Chain.Bitcoin:case n.Chain.BitcoinCash:case n.Chain.Dogecoin:return`${t}/transaction/${e.toLowerCase()}`;default:throw new Error(`Unsupported chain: ${p}`)}},j=({chain:p,address:e})=>{const t=n.ChainToExplorerUrl[p];switch(p){case n.Chain.Arbitrum:case n.Chain.Avalanche:case n.Chain.Binance:case n.Chain.BinanceSmartChain:case n.Chain.Bitcoin:case n.Chain.BitcoinCash:case n.Chain.Dogecoin:case n.Chain.Ethereum:case n.Chain.Kujira:case n.Chain.Litecoin:case n.Chain.Maya:case n.Chain.Optimism:case n.Chain.Polkadot:case n.Chain.Polygon:case n.Chain.THORChain:return`${t}/address/${e}`;case n.Chain.Cosmos:return`${t}/account/${e}`;default:throw new Error(`Unsupported chain: ${p}`)}};var Z=(p=>(p.Approve="approve",p.CheckOnly="checkOnly",p))(Z||{});function oe({stagenet:p,wallets:e,plugins:t,config:a={},apis:s,rpcUrls:r}){const o={},c={};for(const u of t){const{name:m,methods:x}=u({wallets:o,stagenet:p});c[m]=x}const f=e.reduce((u,m)=>(u[m.connectMethodName]=m.connect({addChain:w,config:a,apis:s,rpcUrls:r}),u),{});function b(u){const m=c[u]||Object.values(c)[0];if(!m)throw new i.SwapKitError("core_plugin_not_found","Could not find the requested plugin");return m}function w(u){o[u.chain]=u}function T({assetValue:u,type:m="checkOnly",contractAddress:x}){const{address:g,chain:E,isGasAsset:Y,isSynthetic:ee}=u,D=[n.Chain.Ethereum,n.Chain.Avalanche,n.Chain.BinanceSmartChain].includes(E);if(D&&Y||!D||ee)return Promise.resolve(m==="checkOnly"?!0:"approved");const R=o[E],K=m==="checkOnly"?R==null?void 0:R.isApproved:R==null?void 0:R.approve;if(!K)throw new i.SwapKitError("core_wallet_connection_not_found");const X=l(E);if(!(g&&X))throw new i.SwapKitError("core_approve_asset_address_or_from_not_found");const te=x;return K({amount:u.getBaseValue("bigint"),assetAddress:g,from:X,spenderAddress:te})}function d(u){return o[u]}function l(u){var m;return((m=d(u))==null?void 0:m.address)||""}function h(u){var m;return((m=d(u))==null?void 0:m.balance)||[]}function A(u,m){return $({chain:u,txHash:m})}function v(u,m){return j({chain:u,address:m})}function k({address:u,chain:m}){var x,g;return(g=(x=d(m))==null?void 0:x.validateAddress)==null?void 0:g.call(x,u)}async function O(u,m){const x=[i.AssetValue.fromChainOrSignature(u)],g=d(u);try{if(!g)throw new i.SwapKitError("core_wallet_connection_not_found");const E=await(g==null?void 0:g.getBalance(g.address,m));return g.balance=E!=null&&E.length?E:x,g}catch(E){throw new i.SwapKitError("core_wallet_connection_not_found",E)}}function L(u,m){return T({assetValue:u,contractAddress:m,type:"approve"})}function W(u,m){return T({assetValue:u,contractAddress:m,type:"checkOnly"})}function J({provider:u,...m}){return b(u==null?void 0:u.name).swap({provider:u,...m})}return{...c,...f,approveAssetValue:L,getAddress:l,getBalance:h,getExplorerAddressUrl:v,getExplorerTxUrl:A,getWallet:d,getWalletWithBalance:O,isAssetValueApproved:W,swap:J,validateAddress:k}}const de=[{inputs:[{internalType:"address",name:"_ttp",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"router",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],le=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"out",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"SwapIn",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"}],name:"SwapOut",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"vault",type:"address"},{internalType:"string",name:"memo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IWoofi",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],me=[{inputs:[{internalType:"address",name:"_ttp",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"out",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"SwapIn",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"vault",type:"address"},{internalType:"string",name:"memo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"swapRouter",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Te=[{inputs:[{internalType:"address",name:"_ttp",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"address",name:"router",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],ce=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_wbnb",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"out",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"vault",type:"address"},{indexed:!1,internalType:"string",name:"memo",type:"string"}],name:"SwapIn",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"}],name:"SwapOut",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"router",type:"address"},{internalType:"address",name:"vault",type:"address"},{internalType:"string",name:"memo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IPancakeRouterV2",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"wbnb",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],be=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV2AVAX",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],U=[{inputs:[{internalType:"address",name:"_WETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes",name:"clientData",type:"bytes"}],name:"ClientData",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"reason",type:"string"}],name:"Error",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"pair",type:"address"},{indexed:!1,internalType:"uint256",name:"amountOut",type:"uint256"},{indexed:!1,internalType:"address",name:"output",type:"address"}],name:"Exchange",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"totalAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"totalFee",type:"uint256"},{indexed:!1,internalType:"address[]",name:"recipients",type:"address[]"},{indexed:!1,internalType:"uint256[]",name:"amounts",type:"uint256[]"},{indexed:!1,internalType:"bool",name:"isBps",type:"bool"}],name:"Fee",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"contract IERC20",name:"srcToken",type:"address"},{indexed:!1,internalType:"contract IERC20",name:"dstToken",type:"address"},{indexed:!1,internalType:"address",name:"dstReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"spentAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"returnAmount",type:"uint256"}],name:"Swapped",type:"event"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isWhitelist",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"rescueFunds",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"callTarget",type:"address"},{internalType:"address",name:"approveTarget",type:"address"},{internalType:"bytes",name:"targetData",type:"bytes"},{components:[{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"address[]",name:"srcReceivers",type:"address[]"},{internalType:"uint256[]",name:"srcAmounts",type:"uint256[]"},{internalType:"address[]",name:"feeReceivers",type:"address[]"},{internalType:"uint256[]",name:"feeAmounts",type:"uint256[]"},{internalType:"address",name:"dstReceiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturnAmount",type:"uint256"},{internalType:"uint256",name:"flags",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct MetaAggregationRouterV2.SwapDescriptionV2",name:"desc",type:"tuple"},{internalType:"bytes",name:"clientData",type:"bytes"}],internalType:"struct MetaAggregationRouterV2.SwapExecutionParams",name:"execution",type:"tuple"}],name:"swap",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"},{internalType:"uint256",name:"gasUsed",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"callTarget",type:"address"},{internalType:"address",name:"approveTarget",type:"address"},{internalType:"bytes",name:"targetData",type:"bytes"},{components:[{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"address[]",name:"srcReceivers",type:"address[]"},{internalType:"uint256[]",name:"srcAmounts",type:"uint256[]"},{internalType:"address[]",name:"feeReceivers",type:"address[]"},{internalType:"uint256[]",name:"feeAmounts",type:"uint256[]"},{internalType:"address",name:"dstReceiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturnAmount",type:"uint256"},{internalType:"uint256",name:"flags",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct MetaAggregationRouterV2.SwapDescriptionV2",name:"desc",type:"tuple"},{internalType:"bytes",name:"clientData",type:"bytes"}],internalType:"struct MetaAggregationRouterV2.SwapExecutionParams",name:"execution",type:"tuple"}],name:"swapGeneric",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"},{internalType:"uint256",name:"gasUsed",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract IAggregationExecutor",name:"caller",type:"address"},{components:[{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"address[]",name:"srcReceivers",type:"address[]"},{internalType:"uint256[]",name:"srcAmounts",type:"uint256[]"},{internalType:"address[]",name:"feeReceivers",type:"address[]"},{internalType:"uint256[]",name:"feeAmounts",type:"uint256[]"},{internalType:"address",name:"dstReceiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturnAmount",type:"uint256"},{internalType:"uint256",name:"flags",type:"uint256"},{internalType:"bytes",name:"permit",type:"bytes"}],internalType:"struct MetaAggregationRouterV2.SwapDescriptionV2",name:"desc",type:"tuple"},{internalType:"bytes",name:"executorData",type:"bytes"},{internalType:"bytes",name:"clientData",type:"bytes"}],name:"swapSimpleMode",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"},{internalType:"uint256",name:"gasUsed",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"addr",type:"address[]"},{internalType:"bool[]",name:"value",type:"bool[]"}],name:"updateWhitelist",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],N=[{inputs:[{internalType:"contract IWETH",name:"weth",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AccessDenied",type:"error"},{inputs:[],name:"AdvanceNonceFailed",type:"error"},{inputs:[],name:"AlreadyFilled",type:"error"},{inputs:[],name:"ArbitraryStaticCallFailed",type:"error"},{inputs:[],name:"BadPool",type:"error"},{inputs:[],name:"BadSignature",type:"error"},{inputs:[],name:"ETHTransferFailed",type:"error"},{inputs:[],name:"ETHTransferFailed",type:"error"},{inputs:[],name:"EmptyPools",type:"error"},{inputs:[],name:"EthDepositRejected",type:"error"},{inputs:[],name:"GetAmountCallFailed",type:"error"},{inputs:[],name:"IncorrectDataLength",type:"error"},{inputs:[],name:"InsufficientBalance",type:"error"},{inputs:[],name:"InvalidMsgValue",type:"error"},{inputs:[],name:"InvalidMsgValue",type:"error"},{inputs:[],name:"InvalidatedOrder",type:"error"},{inputs:[],name:"MakingAmountExceeded",type:"error"},{inputs:[],name:"MakingAmountTooLow",type:"error"},{inputs:[],name:"OnlyOneAmountShouldBeZero",type:"error"},{inputs:[],name:"OrderExpired",type:"error"},{inputs:[],name:"PermitLengthTooLow",type:"error"},{inputs:[],name:"PredicateIsNotTrue",type:"error"},{inputs:[],name:"PrivateOrder",type:"error"},{inputs:[],name:"RFQBadSignature",type:"error"},{inputs:[],name:"RFQPrivateOrder",type:"error"},{inputs:[],name:"RFQSwapWithZeroAmount",type:"error"},{inputs:[],name:"RFQZeroTargetIsForbidden",type:"error"},{inputs:[],name:"ReentrancyDetected",type:"error"},{inputs:[],name:"RemainingAmountIsZero",type:"error"},{inputs:[],name:"ReservesCallFailed",type:"error"},{inputs:[],name:"ReturnAmountIsNotEnough",type:"error"},{inputs:[],name:"SafePermitBadLength",type:"error"},{inputs:[],name:"SafeTransferFailed",type:"error"},{inputs:[],name:"SafeTransferFromFailed",type:"error"},{inputs:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"res",type:"bytes"}],name:"SimulationResults",type:"error"},{inputs:[],name:"SwapAmountTooLarge",type:"error"},{inputs:[],name:"SwapWithZeroAmount",type:"error"},{inputs:[],name:"TakingAmountExceeded",type:"error"},{inputs:[],name:"TakingAmountIncreased",type:"error"},{inputs:[],name:"TakingAmountTooHigh",type:"error"},{inputs:[],name:"TransferFromMakerToTakerFailed",type:"error"},{inputs:[],name:"TransferFromTakerToMakerFailed",type:"error"},{inputs:[],name:"UnknownOrder",type:"error"},{inputs:[],name:"WrongAmount",type:"error"},{inputs:[],name:"WrongGetter",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"ZeroMinReturn",type:"error"},{inputs:[],name:"ZeroReturnAmount",type:"error"},{inputs:[],name:"ZeroTargetIsForbidden",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"maker",type:"address"},{indexed:!1,internalType:"uint256",name:"newNonce",type:"uint256"}],name:"NonceIncreased",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"maker",type:"address"},{indexed:!1,internalType:"bytes32",name:"orderHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"remainingRaw",type:"uint256"}],name:"OrderCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"maker",type:"address"},{indexed:!1,internalType:"bytes32",name:"orderHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"remaining",type:"uint256"}],name:"OrderFilled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"orderHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"makingAmount",type:"uint256"}],name:"OrderFilledRFQ",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[{internalType:"uint8",name:"amount",type:"uint8"}],name:"advanceNonce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"and",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"arbitraryStaticCall",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"interactions",type:"bytes"}],internalType:"struct OrderLib.Order",name:"order",type:"tuple"}],name:"cancelOrder",outputs:[{internalType:"uint256",name:"orderRemaining",type:"uint256"},{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"orderInfo",type:"uint256"}],name:"cancelOrderRFQ",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"orderInfo",type:"uint256"},{internalType:"uint256",name:"additionalMask",type:"uint256"}],name:"cancelOrderRFQ",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"interactions",type:"bytes"}],internalType:"struct OrderLib.Order",name:"order",type:"tuple"}],name:"checkPredicate",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IClipperExchangeInterface",name:"clipperExchange",type:"address"},{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"goodUntil",type:"uint256"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"vs",type:"bytes32"}],name:"clipperSwap",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract IClipperExchangeInterface",name:"clipperExchange",type:"address"},{internalType:"address payable",name:"recipient",type:"address"},{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"goodUntil",type:"uint256"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"vs",type:"bytes32"}],name:"clipperSwapTo",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract IClipperExchangeInterface",name:"clipperExchange",type:"address"},{internalType:"address payable",name:"recipient",type:"address"},{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"uint256",name:"inputAmount",type:"uint256"},{internalType:"uint256",name:"outputAmount",type:"uint256"},{internalType:"uint256",name:"goodUntil",type:"uint256"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"vs",type:"bytes32"},{internalType:"bytes",name:"permit",type:"bytes"}],name:"clipperSwapToWithPermit",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"destroy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"eq",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"interactions",type:"bytes"}],internalType:"struct OrderLib.Order",name:"order",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bytes",name:"interaction",type:"bytes"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"skipPermitAndThresholdAmount",type:"uint256"}],name:"fillOrder",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"info",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"}],internalType:"struct OrderRFQLib.OrderRFQ",name:"order",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"uint256",name:"flagsAndAmount",type:"uint256"}],name:"fillOrderRFQ",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"info",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"}],internalType:"struct OrderRFQLib.OrderRFQ",name:"order",type:"tuple"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"vs",type:"bytes32"},{internalType:"uint256",name:"flagsAndAmount",type:"uint256"}],name:"fillOrderRFQCompact",outputs:[{internalType:"uint256",name:"filledMakingAmount",type:"uint256"},{internalType:"uint256",name:"filledTakingAmount",type:"uint256"},{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"info",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"}],internalType:"struct OrderRFQLib.OrderRFQ",name:"order",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"uint256",name:"flagsAndAmount",type:"uint256"},{internalType:"address",name:"target",type:"address"}],name:"fillOrderRFQTo",outputs:[{internalType:"uint256",name:"filledMakingAmount",type:"uint256"},{internalType:"uint256",name:"filledTakingAmount",type:"uint256"},{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"info",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"}],internalType:"struct OrderRFQLib.OrderRFQ",name:"order",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"uint256",name:"flagsAndAmount",type:"uint256"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"permit",type:"bytes"}],name:"fillOrderRFQToWithPermit",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"interactions",type:"bytes"}],internalType:"struct OrderLib.Order",name:"order_",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bytes",name:"interaction",type:"bytes"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"skipPermitAndThresholdAmount",type:"uint256"},{internalType:"address",name:"target",type:"address"}],name:"fillOrderTo",outputs:[{internalType:"uint256",name:"actualMakingAmount",type:"uint256"},{internalType:"uint256",name:"actualTakingAmount",type:"uint256"},{internalType:"bytes32",name:"orderHash",type:"bytes32"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"interactions",type:"bytes"}],internalType:"struct OrderLib.Order",name:"order",type:"tuple"},{internalType:"bytes",name:"signature",type:"bytes"},{internalType:"bytes",name:"interaction",type:"bytes"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"skipPermitAndThresholdAmount",type:"uint256"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"permit",type:"bytes"}],name:"fillOrderToWithPermit",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"gt",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"salt",type:"uint256"},{internalType:"address",name:"makerAsset",type:"address"},{internalType:"address",name:"takerAsset",type:"address"},{internalType:"address",name:"maker",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"allowedSender",type:"address"},{internalType:"uint256",name:"makingAmount",type:"uint256"},{internalType:"uint256",name:"takingAmount",type:"uint256"},{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"interactions",type:"bytes"}],internalType:"struct OrderLib.Order",name:"order",type:"tuple"}],name:"hashOrder",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"increaseNonce",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"maker",type:"address"},{internalType:"uint256",name:"slot",type:"uint256"}],name:"invalidatorForOrderRFQ",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"lt",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"nonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"makerAddress",type:"address"},{internalType:"uint256",name:"makerNonce",type:"uint256"}],name:"nonceEquals",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"offsets",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"or",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],name:"remaining",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"orderHash",type:"bytes32"}],name:"remainingRaw",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32[]",name:"orderHashes",type:"bytes32[]"}],name:"remainingsRaw",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"rescueFunds",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"simulate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IAggregationExecutor",name:"executor",type:"address"},{components:[{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"contract IERC20",name:"dstToken",type:"address"},{internalType:"address payable",name:"srcReceiver",type:"address"},{internalType:"address payable",name:"dstReceiver",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturnAmount",type:"uint256"},{internalType:"uint256",name:"flags",type:"uint256"}],internalType:"struct GenericRouter.SwapDescription",name:"desc",type:"tuple"},{internalType:"bytes",name:"permit",type:"bytes"},{internalType:"bytes",name:"data",type:"bytes"}],name:"swap",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"},{internalType:"uint256",name:"spentAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"time",type:"uint256"}],name:"timestampBelow",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"timeNonceAccount",type:"uint256"}],name:"timestampBelowAndNonceEquals",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturn",type:"uint256"},{internalType:"uint256[]",name:"pools",type:"uint256[]"}],name:"uniswapV3Swap",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"",type:"bytes"}],name:"uniswapV3SwapCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address payable",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturn",type:"uint256"},{internalType:"uint256[]",name:"pools",type:"uint256[]"}],name:"uniswapV3SwapTo",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"recipient",type:"address"},{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturn",type:"uint256"},{internalType:"uint256[]",name:"pools",type:"uint256[]"},{internalType:"bytes",name:"permit",type:"bytes"}],name:"uniswapV3SwapToWithPermit",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturn",type:"uint256"},{internalType:"uint256[]",name:"pools",type:"uint256[]"}],name:"unoswap",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"recipient",type:"address"},{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturn",type:"uint256"},{internalType:"uint256[]",name:"pools",type:"uint256[]"}],name:"unoswapTo",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address payable",name:"recipient",type:"address"},{internalType:"contract IERC20",name:"srcToken",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"minReturn",type:"uint256"},{internalType:"uint256[]",name:"pools",type:"uint256[]"},{internalType:"bytes",name:"permit",type:"bytes"}],name:"unoswapToWithPermit",outputs:[{internalType:"uint256",name:"returnAmount",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],G=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETHSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapETHForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETHSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],fe=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WAVAX",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WAVAX",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityAVAX",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountAVAX",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityAVAX",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityAVAXSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityAVAXWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapAVAXForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactAVAXForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactAVAXForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForAVAX",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForAVAXSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactAVAX",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],we=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETHSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapETHForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETHSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Me=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WAVAX",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WAVAX",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityAVAX",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountAVAX",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityAVAX",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityAVAXSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityAVAXWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountAVAXMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountAVAX",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapAVAXForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactAVAXForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactAVAXForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForAVAX",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForAVAXSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactAVAX",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],he=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"amountADesired",type:"uint256"},{internalType:"uint256",name:"amountBDesired",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountTokenDesired",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"addLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"},{internalType:"uint256",name:"liquidity",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountIn",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"reserveIn",type:"uint256"},{internalType:"uint256",name:"reserveOut",type:"uint256"}],name:"getAmountOut",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsIn",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"}],name:"getAmountsOut",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"reserveA",type:"uint256"},{internalType:"uint256",name:"reserveB",type:"uint256"}],name:"quote",outputs:[{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidity",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETH",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"removeLiquidityETHSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermit",outputs:[{internalType:"uint256",name:"amountToken",type:"uint256"},{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountTokenMin",type:"uint256"},{internalType:"uint256",name:"amountETHMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens",outputs:[{internalType:"uint256",name:"amountETH",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenA",type:"address"},{internalType:"address",name:"tokenB",type:"address"},{internalType:"uint256",name:"liquidity",type:"uint256"},{internalType:"uint256",name:"amountAMin",type:"uint256"},{internalType:"uint256",name:"amountBMin",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bool",name:"approveMax",type:"bool"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"removeLiquidityWithPermit",outputs:[{internalType:"uint256",name:"amountA",type:"uint256"},{internalType:"uint256",name:"amountB",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapETHForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactETHForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForETHSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapExactTokensForTokensSupportingFeeOnTransferTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactETH",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMax",type:"uint256"},{internalType:"address[]",name:"path",type:"address[]"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapTokensForExactTokens",outputs:[{internalType:"uint256[]",name:"amounts",type:"uint256[]"}],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Ae=[{inputs:[{internalType:"address",name:"_factory",type:"address"},{internalType:"address",name:"_WETH9",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"WETH9",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"}],internalType:"struct ISwapRouter.ExactInputParams",name:"params",type:"tuple"}],name:"exactInput",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOutMinimum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct ISwapRouter.ExactInputSingleParams",name:"params",type:"tuple"}],name:"exactInputSingle",outputs:[{internalType:"uint256",name:"amountOut",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"bytes",name:"path",type:"bytes"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"}],internalType:"struct ISwapRouter.ExactOutputParams",name:"params",type:"tuple"}],name:"exactOutput",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"tokenIn",type:"address"},{internalType:"address",name:"tokenOut",type:"address"},{internalType:"uint24",name:"fee",type:"uint24"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"uint256",name:"amountInMaximum",type:"uint256"},{internalType:"uint160",name:"sqrtPriceLimitX96",type:"uint160"}],internalType:"struct ISwapRouter.ExactOutputSingleParams",name:"params",type:"tuple"}],name:"exactOutputSingle",outputs:[{internalType:"uint256",name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[],name:"factory",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes[]",name:"data",type:"bytes[]"}],name:"multicall",outputs:[{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[],name:"refundETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowed",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"expiry",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitAllowedIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"selfPermitIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"sweepToken",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"sweepTokenWithFee",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"int256",name:"amount0Delta",type:"int256"},{internalType:"int256",name:"amount1Delta",type:"int256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"uniswapV3SwapCallback",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"}],name:"unwrapWETH9",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"amountMinimum",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"feeBips",type:"uint256"},{internalType:"address",name:"feeRecipient",type:"address"}],name:"unwrapWETH9WithFee",outputs:[],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],ve=[{inputs:[{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_pool",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newPool",type:"address"}],name:"WooPoolChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"enum IWooRouterV2.SwapType",name:"swapType",type:"uint8"},{indexed:!0,internalType:"address",name:"fromToken",type:"address"},{indexed:!0,internalType:"address",name:"toToken",type:"address"},{indexed:!1,internalType:"uint256",name:"fromAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"toAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"address",name:"rebateTo",type:"address"}],name:"WooRouterSwap",type:"event"},{inputs:[],name:"WETH",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"approveTarget",type:"address"},{internalType:"address",name:"swapTarget",type:"address"},{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"address payable",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"externalSwap",outputs:[{internalType:"uint256",name:"realToAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"stuckToken",type:"address"}],name:"inCaseTokenGotStuck",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"isWhitelisted",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"}],name:"querySwap",outputs:[{internalType:"uint256",name:"toAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"quoteToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newPool",type:"address"}],name:"setPool",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"target",type:"address"},{internalType:"bool",name:"whitelisted",type:"bool"}],name:"setWhitelisted",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"},{internalType:"uint256",name:"minToAmount",type:"uint256"},{internalType:"address payable",name:"to",type:"address"},{internalType:"address",name:"rebateTo",type:"address"}],name:"swap",outputs:[{internalType:"uint256",name:"realToAmount",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"fromToken",type:"address"},{internalType:"address",name:"toToken",type:"address"},{internalType:"uint256",name:"fromAmount",type:"uint256"}],name:"tryQuerySwap",outputs:[{internalType:"uint256",name:"toAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"wooPool",outputs:[{internalType:"contract IWooPPV2",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],ke={["0xE54Ca86531e17Ef3616d22Ca28b0D458b6C89106".toLowerCase()]:fe,["0xC22FBb3133dF781E6C25ea6acebe2D2Bb8CeA2f9".toLowerCase()]:ve,["0x60aE616a2155Ee3d9A68541Ba4544862310933d4".toLowerCase()]:Me,["0x1111111254fb6c44bAC0beD2854e76F90643097d".toLowerCase()]:N,["0x6131B5fae19EA4f9D964eAc0408E4408b66337b5".toLowerCase()]:U,["0x10ED43C718714eb63d5aA57B78B54704E256024E".toLowerCase()]:G,["0x6131B5fae19EA4f9D964eAc0408E4408b66337b5".toLowerCase()]:U,["0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f".toLowerCase()]:we,["0xEfF92A263d31888d860bD50809A8D171709b7b1c".toLowerCase()]:G,["0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D".toLowerCase()]:he,["0xE592427A0AEce92De3Edee1F18E0157C05861564".toLowerCase()]:Ae,["0x1111111254fb6c44bac0bed2854e76f90643097d".toLowerCase()]:N},ge=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV2",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],xe=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV2AVAX",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],_e=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV2",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Ee=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"},{internalType:"address",name:"_legToken",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"legToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV2",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Oe=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"},{internalType:"uint24",name:"_poolFee",type:"uint24"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolFee",outputs:[{internalType:"uint24",name:"",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV3",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"contract IWETH9",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Ce=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"},{internalType:"uint24",name:"_poolFee",type:"uint24"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolFee",outputs:[{internalType:"uint24",name:"",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV3",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"contract IWETH9",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Se=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"},{internalType:"uint24",name:"_poolFee",type:"uint24"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolFee",outputs:[{internalType:"uint24",name:"",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV3",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"contract IWETH9",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],Re=[{inputs:[{internalType:"address",name:"_ttp",type:"address"},{internalType:"address",name:"_weth",type:"address"},{internalType:"address",name:"_swapRouter",type:"address"},{internalType:"uint24",name:"_poolFee",type:"uint24"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"address",name:"feeRecipient",type:"address"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!1,internalType:"bool",name:"active",type:"bool"}],name:"OwnerSet",type:"event"},{inputs:[],name:"fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeRecipient",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"owners",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"poolFee",outputs:[{internalType:"uint24",name:"",type:"uint24"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_fee",type:"uint256"},{internalType:"address",name:"_feeRecipient",type:"address"}],name:"setFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"bool",name:"active",type:"bool"}],name:"setOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tcRouter",type:"address"},{internalType:"address",name:"tcVault",type:"address"},{internalType:"string",name:"tcMemo",type:"string"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"amountOutMin",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"}],name:"swapIn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amountOutMin",type:"uint256"}],name:"swapOut",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"swapRouter",outputs:[{internalType:"contract IUniswapRouterV3",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"tokenTransferProxy",outputs:[{internalType:"contract TSAggregatorTokenTransferProxy",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"weth",outputs:[{internalType:"contract IWETH9",name:"",type:"address"}],stateMutability:"view",type:"function"},{stateMutability:"payable",type:"receive"}],z={["0x7C38b8B2efF28511ECc14a621e263857Fb5771d3".toLowerCase()]:de,["0xB6fA6f1DcD686F4A573Fd243a6FABb4ba36Ba98c".toLowerCase()]:me,["0xd31f7e39afECEc4855fecc51b693F9A0Cec49fd2".toLowerCase()]:Te},Ie={...ke,...z,["0x942c6dA485FD6cEf255853ef83a149d43A73F18a".toLowerCase()]:be,["0x5505BE604dFA8A1ad402A71f8A357fba47F9bf5a".toLowerCase()]:le,["0x3b7DbdD635B99cEa39D3d95Dbd0217F05e55B212".toLowerCase()]:xe,["0x30912B38618D3D37De3191A4FFE982C65a9aEC2E".toLowerCase()]:ce,["0xbf365e79aA44A2164DA135100C57FDB6635ae870".toLowerCase()]:ge,["0x86904Eb2b3c743400D03f929F2246EfA80B91215".toLowerCase()]:_e,["0x3660dE6C56cFD31998397652941ECe42118375DA".toLowerCase()]:Ee,["0xBd68cBe6c247e2c3a0e36B8F0e24964914f26Ee8".toLowerCase()]:Oe,["0xe4ddca21881bac219af7f217703db0475d2a9f02".toLowerCase()]:Ce,["0x11733abf0cdb43298f7e949c930188451a9a9ef2".toLowerCase()]:Se,["0xb33874810e5395eb49d8bd7e912631db115d5a03".toLowerCase()]:Re},Fe=({streamSwap:p,contractAddress:e,recipient:t,toChecksumAddress:a,calldata:{amount:s,amountOutMin:r="",data:o="",deadline:c,memo:f,router:b,memoStreamingSwap:w,tcMemo:T,tcRouter:d,tcVault:l,vault:h,token:A}})=>{const v=!!z[e.toLowerCase()];if(v&&!b)throw new Error("Router is required on calldata for swapIn with GenericContract");const k=T||f,O=p&&w||k;if(!(l||h))throw new Error("TC Vault is required on calldata");if(!(d||b))throw new Error("TC Router is required on calldata");if(!O)throw new Error("TC Memo is required on calldata");if(!A)throw new Error("Token is required on calldata");const L=[a(d||b),a(l||h),O.replace("{recipientAddress}",t),a(A),s],W=v?[a(b),o,c]:[r,c];return[...L,...W]},Be=p=>{const e=p?n.ApiUrl.MayanodeStagenet:n.ApiUrl.MayanodeMainnet;return i.RequestClient.get(`${e}/mayachain/mimir`)},qe=p=>{const e=p?n.ApiUrl.ThornodeStagenet:n.ApiUrl.ThornodeMainnet;return i.RequestClient.get(`${e}/thorchain/inbound_addresses`)},Pe=p=>{const e=p?n.ApiUrl.ThornodeStagenet:n.ApiUrl.ThornodeMainnet;return i.RequestClient.get(`${e}/thorchain/mimir`)},Q=()=>Object.values(n.Chain).reduce((p,e)=>(p[e]=null,p),{}),He=({chain:p,address:e})=>{if(!e)return!1;switch(p){case n.Chain.Bitcoin:return!e.startsWith("bc1p");default:return!0}};var S,P,I,_,F,H,B;class Le{constructor({stagenet:e}={}){y(this,"connectedChains",Q());y(this,"connectedWallets",Q());y(this,"stagenet",!1);y(this,"getAddress",e=>{var t;return((t=this.connectedChains[e])==null?void 0:t.address)||""});y(this,"getExplorerTxUrl",(e,t)=>$({chain:e,txHash:t}));y(this,"getWallet",e=>this.connectedWallets[e]);y(this,"getExplorerAddressUrl",(e,t)=>j({chain:e,address:t}));y(this,"getBalance",async(e,t)=>{const a=await this.getWalletByChain(e,t);return(a==null?void 0:a.balance)||[]});y(this,"swap",async({streamSwap:e,recipient:t,route:a,feeOptionKey:s=n.FeeOption.Average})=>{var c,f;const{meta:{quoteMode:r}}=a,o=r.startsWith("ERC20-")?n.Chain.Ethereum:r.startsWith("ARC20-")?n.Chain.Avalanche:r.startsWith("BEP20-")?n.Chain.BinanceSmartChain:void 0;if(!a.complete)throw new i.SwapKitError("core_swap_route_not_complete");if(n.AGG_SWAP.includes(r)&&o){const b=this.connectedWallets[o];if(!(b!=null&&b.sendTransaction))throw new i.SwapKitError("core_wallet_connection_not_found");if(!(e?(c=a==null?void 0:a.streamingSwap)==null?void 0:c.transaction:a==null?void 0:a.transaction))throw new i.SwapKitError("core_swap_route_transaction_not_found");const{data:T,from:d,to:l,value:h}=a.transaction,A={data:T,from:d,to:l.toLowerCase(),chainId:BigInt(n.ChainToChainId[o]),value:h?BigInt(h):0n};return b.sendTransaction(A,s)}if(n.SWAP_OUT.includes(r)){if(!a.calldata.fromAsset)throw new i.SwapKitError("core_swap_asset_not_recognized");const b=await i.AssetValue.fromString(a.calldata.fromAsset);if(!b)throw new i.SwapKitError("core_swap_asset_not_recognized");const{address:w}=await M(this,S).call(this,b.chain),{contract:T,calldata:{expiration:d,amountIn:l,memo:h,memoStreamingSwap:A}}=a,v=b.add(i.SwapKitNumber.fromBigInt(BigInt(l),b.decimal)),k=e&&A||h;return this.deposit({expiration:d,assetValue:v,memo:k,feeOptionKey:s,router:T,recipient:w})}if(n.SWAP_IN.includes(r)&&o){const{calldata:b,contract:w}=a;if(!w)throw new i.SwapKitError("core_swap_contract_not_found");const T=this.connectedWallets[o],d=this.getAddress(o);if(!(T!=null&&T.sendTransaction&&d))throw new i.SwapKitError("core_wallet_connection_not_found");const{getProvider:l,toChecksumAddress:h}=await import("@swapkit/toolbox-evm"),A=l(o),v=Ie[w.toLowerCase()];if(!v)throw new i.SwapKitError("core_swap_contract_not_supported",{contractAddress:w});const O=await(await((f=T.createContract)==null?void 0:f.call(T,w,v,A))).getFunction("swapIn").populateTransaction(...Fe({streamSwap:e,toChecksumAddress:h,contractAddress:w,recipient:t,calldata:b}),{from:d});return T.sendTransaction(O,s)}throw new i.SwapKitError("core_swap_quote_mode_not_supported",{quoteMode:r})});y(this,"getWalletByChain",async(e,t)=>{var o,c;const a=this.getAddress(e);if(!a)return null;const s=[i.AssetValue.fromChainOrSignature(e)],r=(o=this.connectedChains[e])==null?void 0:o.walletType;try{const f=await((c=this.getWallet(e))==null?void 0:c.getBalance(a,t));return this.connectedChains[e]={address:a,balance:f!=null&&f.length?f:s,walletType:r},{...this.connectedChains[e]}}catch(f){return console.error(f),{address:a,balance:s,walletType:r}}});y(this,"approveAssetValue",(e,t)=>M(this,I).call(this,{assetValue:e,type:"approve",contractAddress:t}));y(this,"isAssetValueApproved",(e,t)=>M(this,I).call(this,{assetValue:e,contractAddress:t,type:"checkOnly"}));y(this,"validateAddress",({address:e,chain:t})=>{var a,s;return(s=(a=this.getWallet(t))==null?void 0:a.validateAddress)==null?void 0:s.call(a,e)});y(this,"transfer",async e=>{const t=this.connectedWallets[e.assetValue.chain];if(!t)throw new i.SwapKitError("core_wallet_connection_not_found");try{return await t.transfer(M(this,B).call(this,e))}catch(a){throw new i.SwapKitError("core_swap_transaction_error",a)}});y(this,"deposit",async({assetValue:e,recipient:t,router:a,...s})=>{const{chain:r,symbol:o,ticker:c}=e,f=this.connectedWallets[r],b=this.connectedChains[r];if(!await He({address:b==null?void 0:b.address,chain:r}))throw new i.SwapKitError("core_transaction_invalid_sender_address");if(!f)throw new i.SwapKitError("core_wallet_connection_not_found");const T=M(this,B).call(this,{assetValue:e,recipient:t,router:a,...s});try{switch(r){case n.Chain.THORChain:case n.Chain.Maya:{const d=f;return await(t===""?d.deposit(T):d.transfer(T))}case n.Chain.Ethereum:case n.Chain.BinanceSmartChain:case n.Chain.Avalanche:{const{getChecksumAddressFromAsset:d}=await import("@swapkit/toolbox-evm"),l=r===n.Chain.Avalanche?n.TCAvalancheDepositABI:r===n.Chain.BinanceSmartChain?n.TCBscDepositABI:n.TCEthereumVaultAbi;return await f.call({abi:l,contractAddress:a||(await M(this,S).call(this,r)).router,funcName:"depositWithExpiry",funcParams:[t,d({chain:r,symbol:o,ticker:c},r),e.getBaseValue("string"),T.memo,s.expiration||Number.parseInt(`${(new Date().getTime()+15*60*1e3)/1e3}`)],txOverrides:{from:T.from,value:e.isGasAsset?e.getBaseValue("bigint"):void 0}})}default:return await f.transfer(T)}}catch(d){const l=typeof d=="string"?d.toLowerCase():d==null?void 0:d.message.toLowerCase(),h=l==null?void 0:l.includes("insufficient funds"),A=l==null?void 0:l.includes("gas"),v=l==null?void 0:l.includes("server"),k=l==null?void 0:l.includes("user rejected"),O=h?"core_transaction_deposit_insufficient_funds_error":A?"core_transaction_deposit_gas_error":v?"core_transaction_deposit_server_error":k?"core_transaction_user_rejected":"core_transaction_deposit_error";throw new i.SwapKitError(O,d)}});y(this,"createLiquidity",async({runeAssetValue:e,assetValue:t})=>{if(e.lte(0)||t.lte(0))throw new i.SwapKitError("core_transaction_create_liquidity_invalid_params");let a="",s="";try{a=await M(this,_).call(this,{assetValue:e,memo:i.getMemoFor(n.MemoType.DEPOSIT,{...t,address:this.getAddress(t.chain)})})}catch(r){throw new i.SwapKitError("core_transaction_create_liquidity_rune_error",r)}try{s=await M(this,_).call(this,{assetValue:t,memo:i.getMemoFor(n.MemoType.DEPOSIT,{...t,address:this.getAddress(n.Chain.THORChain)})})}catch(r){throw new i.SwapKitError("core_transaction_create_liquidity_asset_error",r)}return{runeTx:a,assetTx:s}});y(this,"addLiquidity",async({runeAssetValue:e,assetValue:t,runeAddr:a,assetAddr:s,isPendingSymmAsset:r,mode:o="sym"})=>{const{chain:c,symbol:f}=t,b=o==="sym",w=(e==null?void 0:e.gt(0))&&(b||o==="rune"),T=(t==null?void 0:t.gt(0))&&(b||o==="asset"),d=r||w,l=d?a||this.getAddress(n.Chain.THORChain):"",h=b||o==="asset"?s||this.getAddress(c):"";if(!(w||T))throw new i.SwapKitError("core_transaction_add_liquidity_invalid_params");if(d&&!l)throw new i.SwapKitError("core_transaction_add_liquidity_no_rune_address");let A,v;if(w&&e)try{A=await M(this,_).call(this,{assetValue:e,memo:i.getMemoFor(n.MemoType.DEPOSIT,{chain:c,symbol:f,address:h})})}catch(k){throw new i.SwapKitError("core_transaction_add_liquidity_rune_error",k)}if(T&&t)try{v=await M(this,_).call(this,{assetValue:t,memo:i.getMemoFor(n.MemoType.DEPOSIT,{chain:c,symbol:f,address:l})})}catch(k){throw new i.SwapKitError("core_transaction_add_liquidity_asset_error",k)}return{runeTx:A,assetTx:v}});y(this,"addLiquidityPart",({assetValue:e,poolAddress:t,address:a,symmetric:s})=>{if(s&&!a)throw new i.SwapKitError("core_transaction_add_liquidity_invalid_params");const r=i.getMemoFor(n.MemoType.DEPOSIT,{chain:t.split(".")[0],symbol:t.split(".")[1],address:s?a:""});return M(this,_).call(this,{assetValue:e,memo:r})});y(this,"withdraw",({memo:e,assetValue:t,percent:a,from:s,to:r})=>{const o=r==="rune"&&s!=="rune"?i.AssetValue.fromChainOrSignature(n.Chain.THORChain):s==="sym"&&r==="sym"||s==="rune"||s==="asset"?void 0:t,c=i.getMinAmountByChain(s==="asset"?t.chain:n.Chain.THORChain),f=e||i.getMemoFor(n.MemoType.WITHDRAW,{symbol:t.symbol,chain:t.chain,ticker:t.ticker,basisPoints:Math.min(1e4,Math.round(a*100)),targetAssetString:o==null?void 0:o.toString(),singleSide:!1});return M(this,_).call(this,{assetValue:c,memo:f})});y(this,"savings",({assetValue:e,memo:t,percent:a,type:s})=>{const r=s==="add"?n.MemoType.DEPOSIT:n.MemoType.WITHDRAW,o=t||i.getMemoFor(r,{ticker:e.ticker,symbol:e.symbol,chain:e.chain,singleSide:!0,basisPoints:a?Math.min(1e4,Math.round(a*100)):void 0}),c=r===n.MemoType.DEPOSIT?e:i.getMinAmountByChain(e.chain);return M(this,_).call(this,{memo:o,assetValue:c})});y(this,"loan",({assetValue:e,memo:t,minAmount:a,type:s})=>M(this,_).call(this,{assetValue:e,memo:t||i.getMemoFor(s==="open"?n.MemoType.OPEN_LOAN:n.MemoType.CLOSE_LOAN,{asset:e.toString(),minAmount:a.toString(),address:this.getAddress(e.chain)})}));y(this,"nodeAction",({type:e,assetValue:t,address:a})=>{const s=e==="bond"?n.MemoType.BOND:e==="unbond"?n.MemoType.UNBOND:n.MemoType.LEAVE,r=i.getMemoFor(s,{address:a,unbondAmount:e==="unbond"?t.getBaseValue("number"):void 0});return M(this,F).call(this,{memo:r,assetValue:e==="bond"?t:i.getMinAmountByChain(n.Chain.THORChain)})});y(this,"registerThorname",({assetValue:e,...t})=>M(this,F).call(this,{assetValue:e,memo:i.getMemoFor(n.MemoType.THORNAME_REGISTER,t)}));y(this,"registerMayaname",({assetValue:e,...t})=>M(this,H).call(this,{assetValue:e,memo:i.getMemoFor(n.MemoType.THORNAME_REGISTER,t)}));y(this,"extend",({wallets:e,config:t,apis:a={},rpcUrls:s={}})=>{try{for(const r of e)this[r.connectMethodName]=r.connect({addChain:M(this,P),config:t||{},apis:a,rpcUrls:s})}catch(r){throw new i.SwapKitError("core_extend_error",r)}});y(this,"estimateMaxSendableAmount",async({chain:e,params:t})=>{const a=this.getWallet(e);switch(e){case n.Chain.Arbitrum:case n.Chain.Avalanche:case n.Chain.BinanceSmartChain:case n.Chain.Ethereum:case n.Chain.Optimism:case n.Chain.Polygon:{const{estimateMaxSendableAmount:s}=await import("@swapkit/toolbox-evm");return s({...t,toolbox:a})}case n.Chain.Bitcoin:case n.Chain.BitcoinCash:case n.Chain.Dogecoin:case n.Chain.Litecoin:return a.estimateMaxSendableAmount(t);case n.Chain.Binance:case n.Chain.THORChain:case n.Chain.Cosmos:{const{estimateMaxSendableAmount:s}=await import("@swapkit/toolbox-cosmos");return s({...t,toolbox:a})}default:throw new i.SwapKitError("core_estimated_max_spendable_chain_not_supported")}});y(this,"connectXDEFI",async e=>{throw new i.SwapKitError("core_wallet_xdefi_not_installed")});y(this,"connectEVMWallet",async(e,t)=>{throw new i.SwapKitError("core_wallet_evmwallet_not_installed")});y(this,"connectWalletconnect",async(e,t)=>{throw new i.SwapKitError("core_wallet_walletconnect_not_installed")});y(this,"connectKeepkey",async(e,t)=>{throw new i.SwapKitError("core_wallet_keepkey_not_installed")});y(this,"connectKeystore",async(e,t)=>{throw new i.SwapKitError("core_wallet_keystore_not_installed")});y(this,"connectLedger",async(e,t)=>{throw new i.SwapKitError("core_wallet_ledger_not_installed")});y(this,"connectTrezor",async(e,t)=>{throw new i.SwapKitError("core_wallet_trezor_not_installed")});y(this,"connectKeplr",async e=>{throw new i.SwapKitError("core_wallet_keplr_not_installed")});y(this,"connectOkx",async e=>{throw new i.SwapKitError("core_wallet_okx_not_installed")});y(this,"disconnectChain",e=>{this.connectedChains[e]=null,this.connectedWallets[e]=null});C(this,S,async e=>{switch(e){case n.Chain.Maya:case n.Chain.THORChain:return{gas_rate:"0",router:"",address:"",halted:!1,chain:e};default:{const a=(await qe(this.stagenet)).find(s=>s.chain===e);if(!a)throw new i.SwapKitError("core_inbound_data_not_found");if(a!=null&&a.halted)throw new i.SwapKitError("core_chain_halted");return a}}});C(this,P,({chain:e,address:t,balance:a,walletType:s,...r})=>{this.connectedChains[e]={address:t||"",balance:a||[],walletType:s||"unknown"},this.connectedWallets[e]={...r}});C(this,I,async({assetValue:e,type:t="checkOnly",contractAddress:a})=>{const{address:s,chain:r,isGasAsset:o,isSynthetic:c}=e,f=[n.Chain.Ethereum,n.Chain.Avalanche,n.Chain.BinanceSmartChain].includes(r);if(f&&o||!f||c)return!0;const w=this.connectedWallets[r],T=t==="checkOnly"?w==null?void 0:w.isApproved:w==null?void 0:w.approve;if(!T)throw new i.SwapKitError("core_wallet_connection_not_found");const d=this.getAddress(r);if(!(s&&d))throw new i.SwapKitError("core_approve_asset_address_or_from_not_found");const l=a||(await M(this,S).call(this,r)).router;return T({amount:e.getBaseValue("bigint"),assetAddress:s,from:d,spenderAddress:l})});C(this,_,async({assetValue:e,memo:t,feeOptionKey:a=n.FeeOption.Fast})=>{const{gas_rate:s,router:r,address:o}=await M(this,S).call(this,e.chain),c=(Number.parseInt(s)||0)*i.gasFeeMultiplier[a];return this.deposit({assetValue:e,recipient:o,memo:t,router:r,feeRate:c})});C(this,F,async({memo:e,assetValue:t})=>{const a=await Pe(this.stagenet);if(a.HALTCHAINGLOBAL>=1||a.HALTTHORCHAIN>=1)throw new i.SwapKitError("core_chain_halted");return this.deposit({assetValue:t,recipient:"",memo:e})});C(this,H,async({memo:e,assetValue:t})=>{const a=await Be(this.stagenet);if(a.HALTCHAINGLOBAL>=1||a.HALTTHORCHAIN>=1)throw new i.SwapKitError("core_chain_halted");return this.deposit({assetValue:t,recipient:"",memo:e})});C(this,B,({assetValue:e,...t})=>({...t,memo:t.memo||"",from:this.getAddress(e.chain),assetValue:e}));this.stagenet=!!e}}S=new WeakMap,P=new WeakMap,I=new WeakMap,_=new WeakMap,F=new WeakMap,H=new WeakMap,B=new WeakMap;exports.ApproveMode=Z;exports.SwapKit=oe;exports.SwapKitCore=Le;Object.keys(i).forEach(p=>{p!=="default"&&!Object.prototype.hasOwnProperty.call(exports,p)&&Object.defineProperty(exports,p,{enumerable:!0,get:()=>i[p]})});Object.keys(n).forEach(p=>{p!=="default"&&!Object.prototype.hasOwnProperty.call(exports,p)&&Object.defineProperty(exports,p,{enumerable:!0,get:()=>n[p]})});
|
|
2
|
-
//# sourceMappingURL=index.cjs.map
|