UNPKG

@sky-mavis/katana-swap

Version:
2 lines (1 loc) 45 kB
var It=Object.create;var F=Object.defineProperty;var At=Object.getOwnPropertyDescriptor;var wt=Object.getOwnPropertyNames;var Ct=Object.getPrototypeOf,vt=Object.prototype.hasOwnProperty;var Rt=(e,t)=>{for(var n in t)F(e,n,{get:t[n],enumerable:!0})},de=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of wt(t))!vt.call(e,r)&&r!==n&&F(e,r,{get:()=>t[r],enumerable:!(a=At(t,r))||a.enumerable});return e};var fe=(e,t,n)=>(n=e!=null?It(Ct(e)):{},de(t||!e||!e.__esModule?F(n,"default",{value:e,enumerable:!0}):n,e)),St=e=>de(F({},"__esModule",{value:!0}),e);var yn={};Rt(yn,{DEFAULT_ERC20:()=>gt.DEFAULT_ERC20,KatanaTrade:()=>_,QuoteIntent:()=>X,SwapRouterNativeAssets:()=>C,TradeType:()=>Pt.TradeType,approveToken:()=>Dt,checkIsInsufficientBalance:()=>cn,checkIsInsufficientRonBalance:()=>ln,checkIsTokenApproved:()=>nn,checkIsValidPermitAllowance:()=>on,checkIsValidPermitAllowanceSignature:()=>rn,createPermitObj:()=>pn,getAllTokens:()=>Kt,getBestTrade:()=>Yt,getIntervalTimeCheckPermit:()=>an,getPermitAllowance:()=>Lt,getQuoteQueryParams:()=>$,getRonBalance:()=>ie,getRonPricePyth:()=>jt,getTokenAllowance:()=>re,getTokenBalances:()=>oe,getTokenPrice:()=>tn,quoteTokenPrice:()=>mn,signPermitAllowance:()=>Ot,swap:()=>Ut,transformQuoteToTrade:()=>H,unwrapRon:()=>Wt,wrapRon:()=>Gt});module.exports=St(yn);var gt=require("@sky-mavis/katana-core"),Pt=require("@uniswap/sdk-core");var X=(n=>(n.Pricing="pricing",n.Quote="quote",n))(X||{}),C=(t=>(t.RON="RON",t))(C||{});var we=require("@sky-mavis/katana-core"),Ce=require("@uniswap/sdk-core");var O=require("ethers"),z=[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Transfer",type:"event"}],y=class{static abi=z;static createInterface(){return new O.utils.Interface(z)}static connect(t,n){return new O.Contract(t,z,n)}};var U=require("ethers"),Y=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getRonBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}],d=class{static abi=Y;static createInterface(){return new U.utils.Interface(Y)}static connect(t,n){return new U.Contract(t,Y,n)}};var B=require("ethers"),Z=[{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"allowance",outputs:[{internalType:"uint160",name:"amount",type:"uint160"},{internalType:"uint48",name:"expiration",type:"uint48"},{internalType:"uint48",name:"nonce",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"wordPos",type:"uint256"},{internalType:"uint256",name:"mask",type:"uint256"}],name:"invalidateUnorderedNonces",outputs:[],stateMutability:"nonpayable",type:"function"}],E=class{static abi=Z;static createInterface(){return new B.utils.Interface(Z)}static connect(t,n){return new B.Contract(t,Z,n)}};var W=require("ethers"),ee=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"InsufficientFee",type:"error"},{inputs:[],name:"InvalidArgument",type:"error"},{inputs:[],name:"InvalidGovernanceDataSource",type:"error"},{inputs:[],name:"InvalidGovernanceMessage",type:"error"},{inputs:[],name:"InvalidGovernanceTarget",type:"error"},{inputs:[],name:"InvalidUpdateData",type:"error"},{inputs:[],name:"InvalidUpdateDataSource",type:"error"},{inputs:[],name:"InvalidWormholeAddressToSet",type:"error"},{inputs:[],name:"InvalidWormholeVaa",type:"error"},{inputs:[],name:"NoFreshUpdate",type:"error"},{inputs:[],name:"OldGovernanceMessage",type:"error"},{inputs:[],name:"PriceFeedNotFound",type:"error"},{inputs:[],name:"PriceFeedNotFoundWithinRange",type:"error"},{inputs:[],name:"StalePrice",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"previousAdmin",type:"address"},{indexed:!1,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint16",name:"chainId",type:"uint16"},{indexed:!1,internalType:"uint64",name:"sequenceNumber",type:"uint64"}],name:"BatchPriceFeedUpdate",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"beacon",type:"address"}],name:"BeaconUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldImplementation",type:"address"},{indexed:!1,internalType:"address",name:"newImplementation",type:"address"}],name:"ContractUpgraded",type:"event"},{anonymous:!1,inputs:[{components:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"bytes32",name:"emitterAddress",type:"bytes32"}],indexed:!1,internalType:"struct PythInternalStructs.DataSource[]",name:"oldDataSources",type:"tuple[]"},{components:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"bytes32",name:"emitterAddress",type:"bytes32"}],indexed:!1,internalType:"struct PythInternalStructs.DataSource[]",name:"newDataSources",type:"tuple[]"}],name:"DataSourcesSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"oldFee",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newFee",type:"uint256"}],name:"FeeSet",type:"event"},{anonymous:!1,inputs:[{components:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"bytes32",name:"emitterAddress",type:"bytes32"}],indexed:!1,internalType:"struct PythInternalStructs.DataSource",name:"oldDataSource",type:"tuple"},{components:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"bytes32",name:"emitterAddress",type:"bytes32"}],indexed:!1,internalType:"struct PythInternalStructs.DataSource",name:"newDataSource",type:"tuple"},{indexed:!1,internalType:"uint64",name:"initialSequence",type:"uint64"}],name:"GovernanceDataSourceSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",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:!0,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"uint64",name:"publishTime",type:"uint64"},{indexed:!1,internalType:"int64",name:"price",type:"int64"},{indexed:!1,internalType:"uint64",name:"conf",type:"uint64"}],name:"PriceFeedUpdate",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"oldValidPeriod",type:"uint256"},{indexed:!1,internalType:"uint256",name:"newValidPeriod",type:"uint256"}],name:"ValidPeriodSet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"oldWormholeAddress",type:"address"},{indexed:!1,internalType:"address",name:"newWormholeAddress",type:"address"}],name:"WormholeAddressSet",type:"event"},{inputs:[],name:"chainId",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encodedVM",type:"bytes"}],name:"executeGovernanceInstruction",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"}],name:"getEmaPrice",outputs:[{components:[{internalType:"int64",name:"price",type:"int64"},{internalType:"uint64",name:"conf",type:"uint64"},{internalType:"int32",name:"expo",type:"int32"},{internalType:"uint256",name:"publishTime",type:"uint256"}],internalType:"struct PythStructs.Price",name:"price",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"age",type:"uint256"}],name:"getEmaPriceNoOlderThan",outputs:[{components:[{internalType:"int64",name:"price",type:"int64"},{internalType:"uint64",name:"conf",type:"uint64"},{internalType:"int32",name:"expo",type:"int32"},{internalType:"uint256",name:"publishTime",type:"uint256"}],internalType:"struct PythStructs.Price",name:"price",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"}],name:"getEmaPriceUnsafe",outputs:[{components:[{internalType:"int64",name:"price",type:"int64"},{internalType:"uint64",name:"conf",type:"uint64"},{internalType:"int32",name:"expo",type:"int32"},{internalType:"uint256",name:"publishTime",type:"uint256"}],internalType:"struct PythStructs.Price",name:"price",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"}],name:"getPrice",outputs:[{components:[{internalType:"int64",name:"price",type:"int64"},{internalType:"uint64",name:"conf",type:"uint64"},{internalType:"int32",name:"expo",type:"int32"},{internalType:"uint256",name:"publishTime",type:"uint256"}],internalType:"struct PythStructs.Price",name:"price",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"age",type:"uint256"}],name:"getPriceNoOlderThan",outputs:[{components:[{internalType:"int64",name:"price",type:"int64"},{internalType:"uint64",name:"conf",type:"uint64"},{internalType:"int32",name:"expo",type:"int32"},{internalType:"uint256",name:"publishTime",type:"uint256"}],internalType:"struct PythStructs.Price",name:"price",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"}],name:"getPriceUnsafe",outputs:[{components:[{internalType:"int64",name:"price",type:"int64"},{internalType:"uint64",name:"conf",type:"uint64"},{internalType:"int32",name:"expo",type:"int32"},{internalType:"uint256",name:"publishTime",type:"uint256"}],internalType:"struct PythStructs.Price",name:"price",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes[]",name:"updateData",type:"bytes[]"}],name:"getUpdateFee",outputs:[{internalType:"uint256",name:"feeAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"updateDataSize",type:"uint256"}],name:"getUpdateFee",outputs:[{internalType:"uint256",name:"feeAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getValidTimePeriod",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"governanceDataSource",outputs:[{components:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"bytes32",name:"emitterAddress",type:"bytes32"}],internalType:"struct PythInternalStructs.DataSource",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"governanceDataSourceIndex",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"bytes32",name:"emitterAddress",type:"bytes32"}],internalType:"struct PythInternalStructs.DataSource",name:"ds",type:"tuple"}],name:"hashDataSource",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"wormhole",type:"address"},{internalType:"uint16[]",name:"dataSourceEmitterChainIds",type:"uint16[]"},{internalType:"bytes32[]",name:"dataSourceEmitterAddresses",type:"bytes32[]"},{internalType:"uint16",name:"governanceEmitterChainId",type:"uint16"},{internalType:"bytes32",name:"governanceEmitterAddress",type:"bytes32"},{internalType:"uint64",name:"governanceInitialSequence",type:"uint64"},{internalType:"uint256",name:"validTimePeriodSeconds",type:"uint256"},{internalType:"uint256",name:"singleUpdateFeeInWei",type:"uint256"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"dataSourceChainId",type:"uint16"},{internalType:"bytes32",name:"dataSourceEmitterAddress",type:"bytes32"}],name:"isValidDataSource",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint16",name:"governanceChainId",type:"uint16"},{internalType:"bytes32",name:"governanceEmitterAddress",type:"bytes32"}],name:"isValidGovernanceDataSource",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"lastExecutedGovernanceSequence",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"priceId",type:"bytes32"}],name:"latestPriceInfoPublishTime",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"encodedPayload",type:"bytes"}],name:"parseAuthorizeGovernanceDataSourceTransferPayload",outputs:[{components:[{internalType:"bytes",name:"claimVaa",type:"bytes"}],internalType:"struct PythGovernanceInstructions.AuthorizeGovernanceDataSourceTransferPayload",name:"sgds",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedInstruction",type:"bytes"}],name:"parseGovernanceInstruction",outputs:[{components:[{internalType:"enum PythGovernanceInstructions.GovernanceModule",name:"module",type:"uint8"},{internalType:"enum PythGovernanceInstructions.GovernanceAction",name:"action",type:"uint8"},{internalType:"uint16",name:"targetChainId",type:"uint16"},{internalType:"bytes",name:"payload",type:"bytes"}],internalType:"struct PythGovernanceInstructions.GovernanceInstruction",name:"gi",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes[]",name:"updateData",type:"bytes[]"},{internalType:"bytes32[]",name:"priceIds",type:"bytes32[]"},{internalType:"uint64",name:"minPublishTime",type:"uint64"},{internalType:"uint64",name:"maxPublishTime",type:"uint64"}],name:"parsePriceFeedUpdates",outputs:[{components:[{internalType:"bytes32",name:"id",type:"bytes32"},{components:[{internalType:"int64",name:"price",type:"int64"},{internalType:"uint64",name:"conf",type:"uint64"},{internalType:"int32",name:"expo",type:"int32"},{internalType:"uint256",name:"publishTime",type:"uint256"}],internalType:"struct PythStructs.Price",name:"price",type:"tuple"},{components:[{internalType:"int64",name:"price",type:"int64"},{internalType:"uint64",name:"conf",type:"uint64"},{internalType:"int32",name:"expo",type:"int32"},{internalType:"uint256",name:"publishTime",type:"uint256"}],internalType:"struct PythStructs.Price",name:"emaPrice",type:"tuple"}],internalType:"struct PythStructs.PriceFeed[]",name:"priceFeeds",type:"tuple[]"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"encodedPayload",type:"bytes"}],name:"parseRequestGovernanceDataSourceTransferPayload",outputs:[{components:[{internalType:"uint32",name:"governanceDataSourceIndex",type:"uint32"}],internalType:"struct PythGovernanceInstructions.RequestGovernanceDataSourceTransferPayload",name:"sgdsClaim",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedPayload",type:"bytes"}],name:"parseSetDataSourcesPayload",outputs:[{components:[{components:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"bytes32",name:"emitterAddress",type:"bytes32"}],internalType:"struct PythInternalStructs.DataSource[]",name:"dataSources",type:"tuple[]"}],internalType:"struct PythGovernanceInstructions.SetDataSourcesPayload",name:"sds",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedPayload",type:"bytes"}],name:"parseSetFeePayload",outputs:[{components:[{internalType:"uint256",name:"newFee",type:"uint256"}],internalType:"struct PythGovernanceInstructions.SetFeePayload",name:"sf",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedPayload",type:"bytes"}],name:"parseSetValidPeriodPayload",outputs:[{components:[{internalType:"uint256",name:"newValidPeriod",type:"uint256"}],internalType:"struct PythGovernanceInstructions.SetValidPeriodPayload",name:"svp",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedPayload",type:"bytes"}],name:"parseSetWormholeAddressPayload",outputs:[{components:[{internalType:"address",name:"newWormholeAddress",type:"address"}],internalType:"struct PythGovernanceInstructions.SetWormholeAddressPayload",name:"sw",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"encodedPayload",type:"bytes"}],name:"parseUpgradeContractPayload",outputs:[{components:[{internalType:"address",name:"newImplementation",type:"address"}],internalType:"struct PythGovernanceInstructions.UpgradeContractPayload",name:"uc",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"}],name:"priceFeedExists",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"pythUpgradableMagic",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"}],name:"queryPriceFeed",outputs:[{components:[{internalType:"bytes32",name:"id",type:"bytes32"},{components:[{internalType:"int64",name:"price",type:"int64"},{internalType:"uint64",name:"conf",type:"uint64"},{internalType:"int32",name:"expo",type:"int32"},{internalType:"uint256",name:"publishTime",type:"uint256"}],internalType:"struct PythStructs.Price",name:"price",type:"tuple"},{components:[{internalType:"int64",name:"price",type:"int64"},{internalType:"uint64",name:"conf",type:"uint64"},{internalType:"int32",name:"expo",type:"int32"},{internalType:"uint256",name:"publishTime",type:"uint256"}],internalType:"struct PythStructs.Price",name:"emaPrice",type:"tuple"}],internalType:"struct PythStructs.PriceFeed",name:"priceFeed",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"singleUpdateFeeInWei",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes[]",name:"updateData",type:"bytes[]"}],name:"updatePriceFeeds",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes[]",name:"updateData",type:"bytes[]"},{internalType:"bytes32[]",name:"priceIds",type:"bytes32[]"},{internalType:"uint64[]",name:"publishTimes",type:"uint64[]"}],name:"updatePriceFeedsIfNecessary",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"validDataSources",outputs:[{components:[{internalType:"uint16",name:"chainId",type:"uint16"},{internalType:"bytes32",name:"emitterAddress",type:"bytes32"}],internalType:"struct PythInternalStructs.DataSource[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"validTimePeriodSeconds",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[],name:"wormhole",outputs:[{internalType:"contract IWormhole",name:"",type:"address"}],stateMutability:"view",type:"function"}],D=class{static abi=ee;static createInterface(){return new W.utils.Interface(ee)}static connect(t,n){return new W.Contract(t,ee,n)}};var G=require("ethers"),te=[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"guy",type:"address"},{name:"wad",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"src",type:"address"},{name:"dst",type:"address"},{name:"wad",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"wad",type:"uint256"}],name:"withdraw",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"dst",type:"address"},{name:"wad",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"deposit",outputs:[],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"",type:"address"},{name:"",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!0,name:"guy",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!0,name:"dst",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"dst",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Deposit",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"src",type:"address"},{indexed:!1,name:"wad",type:"uint256"}],name:"Withdrawal",type:"event"}],P=class{static abi=te;static createInterface(){return new G.utils.Interface(te)}static connect(t,n){return new G.Contract(t,te,n)}};var Ae=require("ethers");var Te=require("@uniswap/sdk-core"),be=3e3,ge="0x0000000000000000000000000000000000000000",L=new Te.Percent(50,1e4),Pe=60*30,he=1e4;var Ie=require("ethers/lib/utils");function l(e){if(!e)return!1;try{return(0,Ie.getAddress)(e.toLowerCase())}catch{return!1}}var Et=(e,t)=>t?e.getSigner(t):e,c=({address:e,ABI:t,provider:n,account:a})=>{if(!l(e)||e===ge)return null;let r=Et(n,a);return new Ae.Contract(e,t,r)};var V=class extends Error{constructor(){super("Wrong network")}};function b(e,t){if(typeof t=="object"&&t!==null){let n=t;return new Error(`${e} \u{1F47A} ${n.message??n.reason??"unknown"}`)}return new Error(`${e} \u{1F47A} ${t}`)}var Dt=async({chainId:e,tokenAddress:t,wallet:n,amount:a=Ce.MaxUint256.toString(),spender:r})=>{let o=r||we.PERMIT2_ADDRESS[e],i=c({address:t,ABI:y.createInterface(),...n});if(!i)throw new Error("Cannot get contract");try{return await i.approve(o,a)}catch(s){throw console.error(b("Approve token failed:",s)),s}};var Se=require("@sky-mavis/katana-core"),Ee=require("@uniswap/permit2-sdk");var Q=require("@ethersproject/hash");function xt(e){return"provider"in e}function Mt(e){return e.isWalletConnect}function _t(e){let t=e.session?.peer.metadata;return{type:"WalletConnect",agent:t?`${t.name} (WalletConnect)`:"(WalletConnect)",...t}}function kt(e){let t=Object.getOwnPropertyNames(e),n=t.filter(a=>a.match(/^is.*$/)&&e[a]===!0).map(a=>a.slice(2))??[];return n.sort((a,r)=>a==="MetaMask"?1:r==="MetaMask"?-1:0),t.includes("qrUrl")&&e.qrUrl&&n.push("qrUrl"),{type:"Injected",agent:[...n,"(Injected)"].join(" "),name:n[0]}}function ve(e){if(xt(e))return Mt(e.provider)?_t(e.provider):kt(e.provider)}var Nt=["SafePal Wallet","Ledger Wallet Connect"];function Ft(e){let t=ve(e);if(t){let{type:n,name:a}=t;if(a&&n==="WalletConnect"&&a&&Nt.includes(a))return!1}return!0}async function Re(e,t,n,a){let r=await Q._TypedDataEncoder.resolveNames(t,n,a,u=>e.provider.resolveName(u)),o=Ft(e.provider)?"eth_signTypedData_v4":"eth_signTypedData",i=(await e.getAddress()).toLowerCase(),s=JSON.stringify(Q._TypedDataEncoder.getPayload(r.domain,n,r.value));try{return await e.provider.send(o,[i,s])}catch(u){if(typeof u.message=="string"&&(u.message.match(/not (found|implemented)/i)||u.message.match(/TrustWalletConnect.WCError error 1/)||u.message.match(/Missing or invalid/))){console.warn("signTypedData: wallet does not implement EIP-712, falling back to eth_sign",u.message);let f=Q._TypedDataEncoder.hash(r.domain,n,r.value);return await e.provider.send("eth_sign",[i,f])}throw u}}var Ot=async({chainId:e,wallet:t,permit:n})=>{try{let a=t.provider.getSigner(t.account),r=await a.getChainId();if(e!==r)throw V;let{domain:o,types:i,values:s}=Ee.AllowanceTransfer.getPermitData(n,Se.PERMIT2_ADDRESS[e],e),u=await Re(a,o,i,s);return{...n,signature:u}}catch(a){throw console.error(b("Token permit allowance failed:",a)),a}};var Ue=require("@sky-mavis/katana-core"),Be=require("@uniswap/universal-router-sdk"),We=require("@uniswap/v3-sdk");var x=require("@sky-mavis/katana-core"),v={[x.ChainId.testnet]:"0x31c9ef8a631e2489e69833df3b2cb4bf0dc413bc",[x.ChainId.mainnet]:"0xc76d0d0d3aa608190f78db02bf2f5aef374fc0b9"},De={[x.ChainId.testnet]:"0xa2aa501b19aff244d90cc15a4cf739d2725b5729",[x.ChainId.mainnet]:"0x2880ab155794e7179c9ee2e38200202908c17b43"};var Me=require("ethers");var ne=require("@sky-mavis/katana-core"),xe={[ne.ChainId.mainnet]:"https://api.roninchain.com/rpc",[ne.ChainId.testnet]:"https://saigon-testnet.roninchain.com/rpc"};var m=e=>new Me.ethers.providers.StaticJsonRpcProvider(xe[e]);var _e=async(e,t)=>{if(!e)throw new Error("userDeadline is required");let a=await c({address:v[t],ABI:d.createInterface(),provider:m(t)})?.getCurrentBlockTimestamp();if(!a)throw new Error("Cannot get block timestamp");return a.add(e)};function ae(e){return/^0x0*$/.test(e)}var ke=require("@uniswap/sdk-core"),Ne=require("ethers"),Fe=e=>{if(e.swapFee)return e.tradeType===ke.TradeType.EXACT_INPUT?{fee:{fee:e.swapFee.percent,recipient:e.swapFee.recipient}}:{flatFee:{amount:Ne.BigNumber.from(e.swapFee.amount),recipient:e.swapFee.recipient}}},Oe=e=>e.mul(2);var Ut=async({chainId:e,wallet:{account:t,provider:n},trade:a,permitSignature:r,slippageTolerance:o=L,txDeadlineInSeconds:i=Pe})=>{try{let s={slippageTolerance:o,inputTokenPermit:r,...Fe(a)},u=await _e(i,e),{calldata:f,value:g}=Be.SwapRouter.swapERC20CallParameters(a,{deadlineOrPreviousBlockhash:u?.toString(),...s}),S={from:t,to:Ue.UNIVERSAL_ROUTER_ADDRESS[e],data:f,...g&&!ae(g)?{value:(0,We.toHex)(g)}:{}},ye=await n.estimateGas(S);return S.gasLimit=Oe(ye),n.getSigner(t).sendTransaction({...S})}catch(s){throw console.error(b("Swap failed:",s)),s}};var q=require("@sky-mavis/katana-core");var Ge=require("@uniswap/sdk-core"),Le=require("ethers/lib/utils");function Bt(e,t){let n=e.split(/[.,]/),a=e.includes(".")?".":",";return n.length>1&&n[1].length>t?n[0]+a+n[1].slice(0,t):e}function h(e,t){if(!(!e||!t||isNaN(parseFloat(e))))try{let n=(0,Le.parseUnits)(Bt(e,t.decimals),t.decimals).toString();if(n!=="0")return Ge.CurrencyAmount.fromRawAmount(t,n)}catch(n){console.debug(`Failed to parse input amount: "${e}"`,n)}}var Wt=async({amount:e,chainId:t,wallet:n})=>{let a=h(e,q.RON.onChain(t));if(!a)throw new Error("Could not parse amount");let r=c({address:q.DEFAULT_ERC20[t].WRON.address,ABI:P.createInterface(),...n});if(!r)throw new Error("Could not get wron contract");return r.withdraw(`0x${a.quotient.toString(16)}`)};var K=require("@sky-mavis/katana-core");var Gt=async({amount:e,chainId:t,wallet:n})=>{let a=h(e,K.RON.onChain(t));if(!a)throw new Error("Could not parse amount");let r=c({address:K.DEFAULT_ERC20[t].WRON.address,ABI:P.createInterface(),...n});if(!r)throw new Error("Could not get wron contract");return r.deposit({value:`0x${a.quotient.toString(16)}`})};var j=require("@sky-mavis/katana-core");var Lt=async({chainId:e,tokenAddress:t,owner:n,spender:a})=>{if(!l(n)||a&&!l(a)||!l(t))throw new Error("Invalid arguments");let r=a||j.UNIVERSAL_ROUTER_ADDRESS[e],o=c({address:j.PERMIT2_ADDRESS[e],ABI:E.createInterface(),provider:m(e)});if(!o)throw new Error("Cannot get contract");return o.allowance(n,t,r)};var Ve=require("@sky-mavis/katana-core");var re=async({tokenAddress:e,owner:t,spender:n,chainId:a})=>{if(!l(t)||n&&!l(n)||!l(e))throw new Error("Invalid address");let r=n||Ve.PERMIT2_ADDRESS[a],o=c({address:e,ABI:y.createInterface(),provider:m(a)});if(!o)throw new Error("Cannot get contract");return o.allowance(t,r)};var Ke=require("ethers");var J=require("ethers");var Vt={valid:!1,result:void 0,error:!1},Qt=(e,t,n)=>{let{valid:a,data:r}=e;if(!a)return Vt;let o=r&&r.length>2,i;if(o&&r)try{i=t.decodeFunctionResult(n,r)}catch{return console.debug("Result data parsing failed",n,r),{valid:!0,result:i,error:!0}}return{valid:!0,result:i,error:!o}},Qe=e=>J.BigNumber.isBigNumber(e)||["string","number"].indexOf(typeof e)!==-1,qt=e=>e===void 0||Array.isArray(e)&&e.every(t=>Qe(t)||Array.isArray(t)&&t.every(Qe));var qe=async e=>{let{addresses:t,contractInterface:n,methodName:a,chainId:r,callInputs:o,signerOrProvider:i}=e,s=new J.ethers.Contract(v[r],d.createInterface(),i),u=n.getFunction(a),f=u&&qt(o)?n.encodeFunctionData(u,o):void 0,g=u&&t&&t.length>0&&f?t.map(T=>({address:T,callData:f})):[],{returnData:S}=await s.callStatic.tryBlockAndAggregate(!1,g.map(T=>({target:T.address,callData:T.callData})));return S.map(({success:T,returnData:ht})=>({valid:T,data:ht})).map(T=>Qt(T,n,u))};var oe=async({chainId:e,account:t,tokens:n})=>{if(!n||!n.length)throw new Error("Tokens are required");let a=n.filter(o=>l(o)!==!1);if(!a.length)throw new Error("No valid token addresses provided");if(a.length!==n.length)throw new Error("Some token addresses are invalid");let r=await qe({addresses:a,chainId:e,contractInterface:y.createInterface(),methodName:"balanceOf",signerOrProvider:m(e),callInputs:[t]});return a.reduce((o,i,s)=>{let u=r?.[s]?.result?.[0];return o[i]=u?Ke.BigNumber.from(u):null,o},{})},ie=async({chainId:e,account:t})=>{let n=c({address:v[e],ABI:d.createInterface(),provider:m(e),account:t});if(!n)throw new Error("Cannot get contract");return n.getRonBalance(t)};var He=require("@uniswap/sdk-core"),$e=fe(require("axios"));var se=require("@sky-mavis/katana-core"),je="https://api.roninchain.com/routing-api/prod",Je={[se.ChainId.testnet]:"https://saigon-dapp-offchain.roninchain.com/v1/public/tokens",[se.ChainId.mainnet]:"https://dapp-offchain.roninchain.com/v1/public/tokens"};var Kt=async e=>{try{let t=await $e.default.get(Je[e]),n={},a=[];return t.data.results.data?.map(r=>{!r?.is_active||!r?.token_address||!r?.token_decimals||!r?.tag||(n[r.token_address.toLowerCase()]=new He.Token(e,r.token_address,parseInt(r.token_decimals),r.token_symbol,r.token_name),a.push(r.token_address))}),{mapTokens:n,arrTokens:Object.values(n),arrTokenAddresses:a}}catch(t){throw console.error(b("Fetch all public tokens failed:",t)),t}};var p=require("@sky-mavis/katana-core"),M=require("@uniswap/sdk-core"),Xe={[p.ChainId.mainnet]:M.CurrencyAmount.fromRawAmount(p.DEFAULT_ERC20[p.ChainId.mainnet].USDC,1e10),[p.ChainId.testnet]:M.CurrencyAmount.fromRawAmount(p.DEFAULT_ERC20[p.ChainId.testnet].USDC,1e10)},ze={[p.ChainId.mainnet]:M.CurrencyAmount.fromRawAmount(p.RON.onChain(p.ChainId.mainnet),3e21),[p.ChainId.testnet]:M.CurrencyAmount.fromRawAmount(p.RON.onChain(p.ChainId.testnet),6e20)},Ye={[p.ChainId.mainnet]:"0x97cfe19da9153ef7d647b011c5e355142280ddb16004378573e6494e499879f3",[p.ChainId.testnet]:"0x4cb9d530b042004b042e165ee0904b12fe534d40dac5fe1c71dfcdb522e6e3c2"};var jt=async e=>{let t=c({address:De[e],ABI:D.createInterface(),provider:m(e)});if(!t)throw new Error("Cannot get Pyth contract");let n=await t.getPrice(Ye[e]);return parseFloat(n.price.toString())*Math.pow(10,n.expo)};var mt=fe(require("axios"));var lt=require("@uniswap/sdk-core");var Ze=require("@uniswap/router-sdk"),I=require("@uniswap/sdk-core"),_=class extends Ze.Trade{blockNumber;requestId;swapFee;gasUseEstimate;gasUseEstimateUSD;constructor({blockNumber:t,requestId:n,swapFee:a,gasUseEstimate:r,gasUseEstimateUSD:o,...i}){super(i),this.blockNumber=t,this.requestId=n,this.swapFee=a,this.gasUseEstimate=r,this.gasUseEstimate=o}get executionPrice(){return this.tradeType===I.TradeType.EXACT_INPUT||!this.swapFee?super.executionPrice:new I.Price({baseAmount:this.inputAmount,quoteAmount:this.postSwapFeeOutputAmount})}get postSwapFeeOutputAmount(){if(this.tradeType===I.TradeType.EXACT_INPUT)return this.outputAmount;let t=I.CurrencyAmount.fromRawAmount(this.outputAmount.currency,this.swapFee?.amount??0);return this.outputAmount.subtract(t)}};var R=require("@sky-mavis/katana-core"),ot=require("@uniswap/router-sdk"),le=require("@uniswap/sdk-core"),me=require("@uniswap/universal-router-sdk"),it=require("@uniswap/v2-sdk"),st=require("@uniswap/v3-sdk");var et=require("@sky-mavis/katana-core"),k=require("@uniswap/sdk-core"),tt=require("@uniswap/universal-router-sdk"),nt=require("@uniswap/v3-sdk"),ue=require("ethers"),A=({address:e,chainId:t,decimals:n,symbol:a,buyFeeBps:r,sellFeeBps:o})=>{let i=r?ue.BigNumber.from(r):void 0,s=o?ue.BigNumber.from(o):void 0;return new k.Token(t,e,parseInt(n.toString()),a,void 0,!1,i,s)},pe=({fee:e,sqrtRatioX96:t,liquidity:n,tickCurrent:a,tokenIn:r,tokenOut:o})=>new nt.Pool(A(r),A(o),parseInt(e),t,n,parseInt(a)),ce=({reserve0:e,reserve1:t})=>new et.CustomPair(k.CurrencyAmount.fromRawAmount(A(e.token),e.quotient),k.CurrencyAmount.fromRawAmount(A(t.token),t.quotient)),at=e=>e.type===tt.PoolType.V3Pool?pe(e):ce(e);var rt=(e,t)=>t.every(n=>n.type===e),Jt=(e,t)=>{let{tokenInAddress:n,tokenOutAddress:a,chainId:r}=e,o=Object.values(C).includes(n),i=Object.values(C).includes(a),s=t?.[0]?.[0]?.tokenIn,u=t?.[0]?.[t[0]?.length-1]?.tokenOut,f=o?R.RON.onChain(r):A({address:n,chainId:r,decimals:s?.decimals||R.DEFAULT_ERC20_DECIMALS,symbol:s?.symbol,buyFeeBps:s?.buyFeeBps,sellFeeBps:s?.sellFeeBps}),g=i?R.RON.onChain(r):A({address:a,chainId:r,decimals:u?.decimals||R.DEFAULT_ERC20_DECIMALS,symbol:u?.symbol,buyFeeBps:u?.buyFeeBps,sellFeeBps:u?.sellFeeBps});return[f,g]},Ht=(e,t)=>{if(t.length===0)return[];let[n,a]=Jt(e,t);try{return t.map(r=>{if(r.length===0)throw new Error("Expected route to have at least one pair or pool");let o=r[0].amountIn,i=r[r.length-1].amountOut;if(!o||!i)throw new Error("Expected both amountIn and amountOut to be present");let s=rt(me.PoolType.V2Pool,r),u=rt(me.PoolType.V3Pool,r);return{routev3:u?new st.Route(r.map(pe),n,a):null,routev2:s?new it.Route(r.map(ce),n,a):null,mixedRoute:!u&&!s?new ot.MixedRouteSDK(r.map(at),n,a):null,inputAmount:le.CurrencyAmount.fromRawAmount(n,o),outputAmount:le.CurrencyAmount.fromRawAmount(a,i)}})}catch(r){console.error("Error computing routes",r);return}},$t=e=>{let t={v2Routes:[],v3Routes:[],mixedRoutes:[]};return e?.map(({inputAmount:n,outputAmount:a,mixedRoute:r,routev2:o,routev3:i})=>{o&&t.v2Routes.push({inputAmount:n,outputAmount:a,routev2:o}),i&&t.v3Routes.push({inputAmount:n,outputAmount:a,routev3:i}),r&&t.mixedRoutes.push({inputAmount:n,outputAmount:a,mixedRoute:r})}),t},ut=(e,t)=>{let n=Ht(e,t);return $t(n)};var pt=require("@uniswap/sdk-core");var ct=e=>{let{portionAmount:t,portionBips:n,portionRecipient:a}=e;if(!(!t||!n||!a))return{recipient:a,percent:new pt.Percent(n,he),amount:t}};var Xt=(e,t)=>({gasUseEstimate:t.gasUseEstimate?parseFloat(t.gasUseEstimate):void 0,gasUseEstimateUSD:t.gasUseEstimateUSD?parseFloat(t.gasUseEstimateUSD):void 0,blockNumber:t.blockNumber,routes:ut(e,t.route),swapFee:ct(t)}),H=(e,t)=>{let{tradeType:n}=e,{gasUseEstimateUSD:a,blockNumber:r,routes:o,gasUseEstimate:i,swapFee:s}=Xt(e,t);return new _({v2Routes:o.v2Routes,v3Routes:o.v3Routes,mixedRoutes:o.mixedRoutes,tradeType:n,gasUseEstimateUSD:a,gasUseEstimate:i,blockNumber:r,requestId:"",swapFee:s})},zt=e=>e===lt.TradeType.EXACT_INPUT,$=({chainId:e,tradeType:t,intent:n="quote",...a})=>({tokenInChainId:e,tokenOutChainId:e,type:zt(t)?"exactIn":"exactOut",intent:n,enableUniversalRouter:!0,enableFeeOnTransferFeeFetching:!0,protocols:["v2","v3","mixed"],slippageTolerance:L.toSignificant(),...a});var N=async e=>{try{let t=$(e),a=(await mt.default.get(`${je}/quote?${new URLSearchParams(Object.entries(t)).toString()}`)).data;return H(e,a)}catch(t){if(t.response){let n=t.response.data;if(typeof n=="object"&&(n?.errorCode==="NO_ROUTE"||n?.detail==="No quotes available"))return null}throw console.error(`GetQuote failed on Routing API: ${t?.message??t?.detail??t}`),t}};var Yt=e=>N(e);var yt=require("@sky-mavis/katana-core"),w=require("@uniswap/sdk-core");var Zt=async({chainId:e,tokenAddress:t})=>{let n=Xe[e],a=n.currency;if(t.toLowerCase()===a.address.toLowerCase())return new w.Price(a,a,"1","1");let r=await N({chainId:e,tokenInAddress:t,tokenOutAddress:a.address,tradeType:w.TradeType.EXACT_OUTPUT,amount:n.quotient.toString(),intent:"pricing"});if(!r)return null;let{numerator:o,denominator:i}=r.routes[0].midPrice;return new w.Price(r.inputAmount.currency,a,i,o)},en=async({chainId:e,tokenAddress:t})=>{let n=ze[e],a=await N({chainId:e,tokenInAddress:t,tokenOutAddress:"RON",tradeType:w.TradeType.EXACT_OUTPUT,amount:n.quotient.toString(),intent:"pricing"});if(!a)return null;let{numerator:r,denominator:o}=a.routes[0].midPrice;return new w.Price(a.inputAmount.currency,yt.RON.onChain(e),o,r)},tn=async({chainId:e,tokenAddress:t})=>{let n=await en({chainId:e,tokenAddress:t});return n||await Zt({chainId:e,tokenAddress:t})};var nn=async({amount:e,...t})=>{let n=await re({...t});return n?{allowance:n,isApproved:n.gte(e)}:{allowance:n,isApproved:!1}};var dt=require("@sky-mavis/katana-core");var an=(e=be)=>{let t=(Date.now()+e)/1e3;return setInterval(()=>{t=(Date.now()+e)/1e3},e),t},rn=({chainId:e,token:t,signature:n,now:a,spender:r=dt.UNIVERSAL_ROUTER_ADDRESS[e]})=>n?n.details.token===t&&n.spender===r&&n.sigDeadline>=a:!1,on=({permitAllowance:e,permitExpiration:t,amount:n,now:a})=>!e||!t?!1:e.gte(n)&&t>=a;var Tt=require("@sky-mavis/katana-core"),bt=require("@uniswap/permit2-sdk"),sn=2592e6,un=18e5,ft=e=>Math.floor((Date.now()+e)/1e3),pn=({chainId:e,token:t,nonce:n,spender:a,amount:r,expiration:o=sn,sigDeadline:i=un})=>({details:{token:t,amount:r??bt.MaxAllowanceTransferAmount,expiration:ft(o),nonce:n},spender:a??Tt.UNIVERSAL_ROUTER_ADDRESS[e],sigDeadline:ft(i)});var cn=async({chainId:e,account:t,tokenAddress:n,amount:a})=>{let r=await oe({account:t,chainId:e,tokens:[n]});return!r||!r[n]?{isInsufficient:!0}:{tokenBalance:r?.[n]??void 0,isInsufficient:r?.[n]?.lt(a)??!0}},ln=async({chainId:e,account:t,amount:n})=>{let a=await ie({account:t,chainId:e});return a?{ronBalance:a,isInsufficient:a?.lt(n)??!0}:{isInsufficient:!0}};var mn=({tokenPrice:e,ronPriceUSDFromPyth:t,amount:n})=>{if(!e)return null;let a=h(n,e.baseCurrency);if(!a)return null;let r=null;return e.quoteCurrency.isNative&&(r=parseFloat(e.quote(a).toExact())*t),r=parseFloat(e.quote(a).toExact()),r};0&&(module.exports={DEFAULT_ERC20,KatanaTrade,QuoteIntent,SwapRouterNativeAssets,TradeType,approveToken,checkIsInsufficientBalance,checkIsInsufficientRonBalance,checkIsTokenApproved,checkIsValidPermitAllowance,checkIsValidPermitAllowanceSignature,createPermitObj,getAllTokens,getBestTrade,getIntervalTimeCheckPermit,getPermitAllowance,getQuoteQueryParams,getRonBalance,getRonPricePyth,getTokenAllowance,getTokenBalances,getTokenPrice,quoteTokenPrice,signPermitAllowance,swap,transformQuoteToTrade,unwrapRon,wrapRon});