@sky-mavis/katana-swap
Version:
Katana Swap SDK
2 lines (1 loc) • 43.7 kB
JavaScript
import{DEFAULT_ERC20 as pi}from"@sky-mavis/katana-core";import{TradeType as li}from"@uniswap/sdk-core";var j=(n=>(n.Pricing="pricing",n.Quote="quote",n))(j||{}),C=(t=>(t.RON="RON",t))(C||{});import{PERMIT2_ADDRESS as je}from"@sky-mavis/katana-core";import{MaxUint256 as Je}from"@uniswap/sdk-core";import{Contract as _e,utils as ke}from"ethers";var k=[{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=k;static createInterface(){return new ke.Interface(k)}static connect(t,n){return new _e(t,k,n)}};import{Contract as Ne,utils as Fe}from"ethers";var N=[{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=N;static createInterface(){return new Fe.Interface(N)}static connect(t,n){return new Ne(t,N,n)}};import{Contract as Oe,utils as Ue}from"ethers";var F=[{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"}],v=class{static abi=F;static createInterface(){return new Ue.Interface(F)}static connect(t,n){return new Oe(t,F,n)}};import{Contract as Be,utils as We}from"ethers";var O=[{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"}],R=class{static abi=O;static createInterface(){return new We.Interface(O)}static connect(t,n){return new Be(t,O,n)}};import{Contract as Ge,utils as Le}from"ethers";var U=[{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=U;static createInterface(){return new Le.Interface(U)}static connect(t,n){return new Ge(t,U,n)}};import{Contract as qe}from"ethers";import{Percent as Ve}from"@uniswap/sdk-core";var J=3e3,H="0x0000000000000000000000000000000000000000",E=new Ve(50,1e4),$=60*30,X=1e4;import{getAddress as Qe}from"ethers/lib/utils";function c(e){if(!e)return!1;try{return Qe(e.toLowerCase())}catch{return!1}}var Ke=(e,t)=>t?e.getSigner(t):e,p=({address:e,ABI:t,provider:n,account:a})=>{if(!c(e)||e===H)return null;let r=Ke(n,a);return new qe(e,t,r)};var D=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 Wn=async({chainId:e,tokenAddress:t,wallet:n,amount:a=Je.toString(),spender:r})=>{let o=r||je[e],i=p({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}};import{PERMIT2_ADDRESS as et}from"@sky-mavis/katana-core";import{AllowanceTransfer as tt}from"@uniswap/permit2-sdk";import{_TypedDataEncoder as B}from"@ethersproject/hash";function He(e){return"provider"in e}function $e(e){return e.isWalletConnect}function Xe(e){let t=e.session?.peer.metadata;return{type:"WalletConnect",agent:t?`${t.name} (WalletConnect)`:"(WalletConnect)",...t}}function ze(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 z(e){if(He(e))return $e(e.provider)?Xe(e.provider):ze(e.provider)}var Ye=["SafePal Wallet","Ledger Wallet Connect"];function Ze(e){let t=z(e);if(t){let{type:n,name:a}=t;if(a&&n==="WalletConnect"&&a&&Ye.includes(a))return!1}return!0}async function Y(e,t,n,a){let r=await B.resolveNames(t,n,a,u=>e.provider.resolveName(u)),o=Ze(e.provider)?"eth_signTypedData_v4":"eth_signTypedData",i=(await e.getAddress()).toLowerCase(),s=JSON.stringify(B.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=B.hash(r.domain,n,r.value);return await e.provider.send("eth_sign",[i,f])}throw u}}var Xn=async({chainId:e,wallet:t,permit:n})=>{try{let a=t.provider.getSigner(t.account),r=await a.getChainId();if(e!==r)throw D;let{domain:o,types:i,values:s}=tt.getPermitData(n,et[e],e),u=await Y(a,o,i,s);return{...n,signature:u}}catch(a){throw console.error(b("Token permit allowance failed:",a)),a}};import{UNIVERSAL_ROUTER_ADDRESS as ot}from"@sky-mavis/katana-core";import{SwapRouter as it}from"@uniswap/universal-router-sdk";import{toHex as st}from"@uniswap/v3-sdk";import{ChainId as x}from"@sky-mavis/katana-core";var A={[x.testnet]:"0x31c9ef8a631e2489e69833df3b2cb4bf0dc413bc",[x.mainnet]:"0xc76d0d0d3aa608190f78db02bf2f5aef374fc0b9"},Z={[x.testnet]:"0xa2aa501b19aff244d90cc15a4cf739d2725b5729",[x.mainnet]:"0x2880ab155794e7179c9ee2e38200202908c17b43"};import{ethers as nt}from"ethers";import{ChainId as ee}from"@sky-mavis/katana-core";var te={[ee.mainnet]:"https://api.roninchain.com/rpc",[ee.testnet]:"https://saigon-testnet.roninchain.com/rpc"};var l=e=>new nt.providers.StaticJsonRpcProvider(te[e]);var ne=async(e,t)=>{if(!e)throw new Error("userDeadline is required");let a=await p({address:A[t],ABI:d.createInterface(),provider:l(t)})?.getCurrentBlockTimestamp();if(!a)throw new Error("Cannot get block timestamp");return a.add(e)};function W(e){return/^0x0*$/.test(e)}import{TradeType as at}from"@uniswap/sdk-core";import{BigNumber as rt}from"ethers";var ae=e=>{if(e.swapFee)return e.tradeType===at.EXACT_INPUT?{fee:{fee:e.swapFee.percent,recipient:e.swapFee.recipient}}:{flatFee:{amount:rt.from(e.swapFee.amount),recipient:e.swapFee.recipient}}},re=e=>e.mul(2);var Ca=async({chainId:e,wallet:{account:t,provider:n},trade:a,permitSignature:r,slippageTolerance:o=E,txDeadlineInSeconds:i=$})=>{try{let s={slippageTolerance:o,inputTokenPermit:r,...ae(a)},u=await ne(i,e),{calldata:f,value:g}=it.swapERC20CallParameters(a,{deadlineOrPreviousBlockhash:u?.toString(),...s}),w={from:t,to:ot[e],data:f,...g&&!W(g)?{value:st(g)}:{}},K=await n.estimateGas(w);return w.gasLimit=re(K),n.getSigner(t).sendTransaction({...w})}catch(s){throw console.error(b("Swap failed:",s)),s}};import{DEFAULT_ERC20 as lt,RON as mt}from"@sky-mavis/katana-core";import{CurrencyAmount as ut}from"@uniswap/sdk-core";import{parseUnits as pt}from"ethers/lib/utils";function ct(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=pt(ct(e,t.decimals),t.decimals).toString();if(n!=="0")return ut.fromRawAmount(t,n)}catch(n){console.debug(`Failed to parse input amount: "${e}"`,n)}}var Oa=async({amount:e,chainId:t,wallet:n})=>{let a=h(e,mt.onChain(t));if(!a)throw new Error("Could not parse amount");let r=p({address:lt[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)}`)};import{DEFAULT_ERC20 as yt,RON as dt}from"@sky-mavis/katana-core";var qa=async({amount:e,chainId:t,wallet:n})=>{let a=h(e,dt.onChain(t));if(!a)throw new Error("Could not parse amount");let r=p({address:yt[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)}`})};import{PERMIT2_ADDRESS as ft,UNIVERSAL_ROUTER_ADDRESS as Tt}from"@sky-mavis/katana-core";var Ya=async({chainId:e,tokenAddress:t,owner:n,spender:a})=>{if(!c(n)||a&&!c(a)||!c(t))throw new Error("Invalid arguments");let r=a||Tt[e],o=p({address:ft[e],ABI:v.createInterface(),provider:l(e)});if(!o)throw new Error("Cannot get contract");return o.allowance(n,t,r)};import{PERMIT2_ADDRESS as bt}from"@sky-mavis/katana-core";var oe=async({tokenAddress:e,owner:t,spender:n,chainId:a})=>{if(!c(t)||n&&!c(n)||!c(e))throw new Error("Invalid address");let r=n||bt[a],o=p({address:e,ABI:y.createInterface(),provider:l(a)});if(!o)throw new Error("Cannot get contract");return o.allowance(t,r)};import{BigNumber as wt}from"ethers";import{BigNumber as gt,ethers as Pt}from"ethers";var ht={valid:!1,result:void 0,error:!1},It=(e,t,n)=>{let{valid:a,data:r}=e;if(!a)return ht;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}},ie=e=>gt.isBigNumber(e)||["string","number"].indexOf(typeof e)!==-1,At=e=>e===void 0||Array.isArray(e)&&e.every(t=>ie(t)||Array.isArray(t)&&t.every(ie));var se=async e=>{let{addresses:t,contractInterface:n,methodName:a,chainId:r,callInputs:o,signerOrProvider:i}=e,s=new Pt.Contract(A[r],d.createInterface(),i),u=n.getFunction(a),f=u&&At(o)?n.encodeFunctionData(u,o):void 0,g=u&&t&&t.length>0&&f?t.map(T=>({address:T,callData:f})):[],{returnData:w}=await s.callStatic.tryBlockAndAggregate(!1,g.map(T=>({target:T.address,callData:T.callData})));return w.map(({success:T,returnData:Me})=>({valid:T,data:Me})).map(T=>It(T,n,u))};var ue=async({chainId:e,account:t,tokens:n})=>{if(!n||!n.length)throw new Error("Tokens are required");let a=n.filter(o=>c(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 se({addresses:a,chainId:e,contractInterface:y.createInterface(),methodName:"balanceOf",signerOrProvider:l(e),callInputs:[t]});return a.reduce((o,i,s)=>{let u=r?.[s]?.result?.[0];return o[i]=u?wt.from(u):null,o},{})},pe=async({chainId:e,account:t})=>{let n=p({address:A[e],ABI:d.createInterface(),provider:l(e),account:t});if(!n)throw new Error("Cannot get contract");return n.getRonBalance(t)};import{Token as Ct}from"@uniswap/sdk-core";import vt from"axios";import{ChainId as ce}from"@sky-mavis/katana-core";var le="https://api.roninchain.com/routing-api/prod",me={[ce.testnet]:"https://saigon-dapp-offchain.roninchain.com/v1/public/tokens",[ce.mainnet]:"https://dapp-offchain.roninchain.com/v1/public/tokens"};var Dr=async e=>{try{let t=await vt.get(me[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 Ct(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}};import{ChainId as m,DEFAULT_ERC20 as ye,RON as de}from"@sky-mavis/katana-core";import{CurrencyAmount as M}from"@uniswap/sdk-core";var fe={[m.mainnet]:M.fromRawAmount(ye[m.mainnet].USDC,1e10),[m.testnet]:M.fromRawAmount(ye[m.testnet].USDC,1e10)},Te={[m.mainnet]:M.fromRawAmount(de.onChain(m.mainnet),3e21),[m.testnet]:M.fromRawAmount(de.onChain(m.testnet),6e20)},be={[m.mainnet]:"0x97cfe19da9153ef7d647b011c5e355142280ddb16004378573e6494e499879f3",[m.testnet]:"0x4cb9d530b042004b042e165ee0904b12fe534d40dac5fe1c71dfcdb522e6e3c2"};var Lr=async e=>{let t=p({address:Z[e],ABI:R.createInterface(),provider:l(e)});if(!t)throw new Error("Cannot get Pyth contract");let n=await t.getPrice(be[e]);return parseFloat(n.price.toString())*Math.pow(10,n.expo)};import Qt from"axios";import{TradeType as Gt}from"@uniswap/sdk-core";import{Trade as Rt}from"@uniswap/router-sdk";import{CurrencyAmount as St,Price as Et,TradeType as ge}from"@uniswap/sdk-core";var _=class extends Rt{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===ge.EXACT_INPUT||!this.swapFee?super.executionPrice:new Et({baseAmount:this.inputAmount,quoteAmount:this.postSwapFeeOutputAmount})}get postSwapFeeOutputAmount(){if(this.tradeType===ge.EXACT_INPUT)return this.outputAmount;let t=St.fromRawAmount(this.outputAmount.currency,this.swapFee?.amount??0);return this.outputAmount.subtract(t)}};import{DEFAULT_ERC20_DECIMALS as Ae,RON as we}from"@sky-mavis/katana-core";import{MixedRouteSDK as kt}from"@uniswap/router-sdk";import{CurrencyAmount as Ce}from"@uniswap/sdk-core";import{PoolType as ve}from"@uniswap/universal-router-sdk";import{Route as Nt}from"@uniswap/v2-sdk";import{Route as Ft}from"@uniswap/v3-sdk";import{CustomPair as Dt}from"@sky-mavis/katana-core";import{CurrencyAmount as Pe,Token as xt}from"@uniswap/sdk-core";import{PoolType as Mt}from"@uniswap/universal-router-sdk";import{Pool as _t}from"@uniswap/v3-sdk";import{BigNumber as he}from"ethers";var I=({address:e,chainId:t,decimals:n,symbol:a,buyFeeBps:r,sellFeeBps:o})=>{let i=r?he.from(r):void 0,s=o?he.from(o):void 0;return new xt(t,e,parseInt(n.toString()),a,void 0,!1,i,s)},G=({fee:e,sqrtRatioX96:t,liquidity:n,tickCurrent:a,tokenIn:r,tokenOut:o})=>new _t(I(r),I(o),parseInt(e),t,n,parseInt(a)),L=({reserve0:e,reserve1:t})=>new Dt(Pe.fromRawAmount(I(e.token),e.quotient),Pe.fromRawAmount(I(t.token),t.quotient)),Ie=e=>e.type===Mt.V3Pool?G(e):L(e);var Re=(e,t)=>t.every(n=>n.type===e),Ot=(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?we.onChain(r):I({address:n,chainId:r,decimals:s?.decimals||Ae,symbol:s?.symbol,buyFeeBps:s?.buyFeeBps,sellFeeBps:s?.sellFeeBps}),g=i?we.onChain(r):I({address:a,chainId:r,decimals:u?.decimals||Ae,symbol:u?.symbol,buyFeeBps:u?.buyFeeBps,sellFeeBps:u?.sellFeeBps});return[f,g]},Ut=(e,t)=>{if(t.length===0)return[];let[n,a]=Ot(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=Re(ve.V2Pool,r),u=Re(ve.V3Pool,r);return{routev3:u?new Ft(r.map(G),n,a):null,routev2:s?new Nt(r.map(L),n,a):null,mixedRoute:!u&&!s?new kt(r.map(Ie),n,a):null,inputAmount:Ce.fromRawAmount(n,o),outputAmount:Ce.fromRawAmount(a,i)}})}catch(r){console.error("Error computing routes",r);return}},Bt=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},Se=(e,t)=>{let n=Ut(e,t);return Bt(n)};import{Percent as Wt}from"@uniswap/sdk-core";var Ee=e=>{let{portionAmount:t,portionBips:n,portionRecipient:a}=e;if(!(!t||!n||!a))return{recipient:a,percent:new Wt(n,X),amount:t}};var Lt=(e,t)=>({gasUseEstimate:t.gasUseEstimate?parseFloat(t.gasUseEstimate):void 0,gasUseEstimateUSD:t.gasUseEstimateUSD?parseFloat(t.gasUseEstimateUSD):void 0,blockNumber:t.blockNumber,routes:Se(e,t.route),swapFee:Ee(t)}),V=(e,t)=>{let{tradeType:n}=e,{gasUseEstimateUSD:a,blockNumber:r,routes:o,gasUseEstimate:i,swapFee:s}=Lt(e,t);return new _({v2Routes:o.v2Routes,v3Routes:o.v3Routes,mixedRoutes:o.mixedRoutes,tradeType:n,gasUseEstimateUSD:a,gasUseEstimate:i,blockNumber:r,requestId:"",swapFee:s})},Vt=e=>e===Gt.EXACT_INPUT,Q=({chainId:e,tradeType:t,intent:n="quote",...a})=>({tokenInChainId:e,tokenOutChainId:e,type:Vt(t)?"exactIn":"exactOut",intent:n,enableUniversalRouter:!0,enableFeeOnTransferFeeFetching:!0,protocols:["v2","v3","mixed"],slippageTolerance:E.toSignificant(),...a});var S=async e=>{try{let t=Q(e),a=(await Qt.get(`${le}/quote?${new URLSearchParams(Object.entries(t)).toString()}`)).data;return V(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 Mo=e=>S(e);import{RON as qt}from"@sky-mavis/katana-core";import{Price as q,TradeType as De}from"@uniswap/sdk-core";var Kt=async({chainId:e,tokenAddress:t})=>{let n=fe[e],a=n.currency;if(t.toLowerCase()===a.address.toLowerCase())return new q(a,a,"1","1");let r=await S({chainId:e,tokenInAddress:t,tokenOutAddress:a.address,tradeType:De.EXACT_OUTPUT,amount:n.quotient.toString(),intent:"pricing"});if(!r)return null;let{numerator:o,denominator:i}=r.routes[0].midPrice;return new q(r.inputAmount.currency,a,i,o)},jt=async({chainId:e,tokenAddress:t})=>{let n=Te[e],a=await S({chainId:e,tokenInAddress:t,tokenOutAddress:"RON",tradeType:De.EXACT_OUTPUT,amount:n.quotient.toString(),intent:"pricing"});if(!a)return null;let{numerator:r,denominator:o}=a.routes[0].midPrice;return new q(a.inputAmount.currency,qt.onChain(e),o,r)},Go=async({chainId:e,tokenAddress:t})=>{let n=await jt({chainId:e,tokenAddress:t});return n||await Kt({chainId:e,tokenAddress:t})};var Qo=async({amount:e,...t})=>{let n=await oe({...t});return n?{allowance:n,isApproved:n.gte(e)}:{allowance:n,isApproved:!1}};import{UNIVERSAL_ROUTER_ADDRESS as Jt}from"@sky-mavis/katana-core";var Jo=(e=J)=>{let t=(Date.now()+e)/1e3;return setInterval(()=>{t=(Date.now()+e)/1e3},e),t},Ho=({chainId:e,token:t,signature:n,now:a,spender:r=Jt[e]})=>n?n.details.token===t&&n.spender===r&&n.sigDeadline>=a:!1,$o=({permitAllowance:e,permitExpiration:t,amount:n,now:a})=>!e||!t?!1:e.gte(n)&&t>=a;import{UNIVERSAL_ROUTER_ADDRESS as Ht}from"@sky-mavis/katana-core";import{MaxAllowanceTransferAmount as $t}from"@uniswap/permit2-sdk";var Xt=2592e6,zt=18e5,xe=e=>Math.floor((Date.now()+e)/1e3),Zo=({chainId:e,token:t,nonce:n,spender:a,amount:r,expiration:o=Xt,sigDeadline:i=zt})=>({details:{token:t,amount:r??$t,expiration:xe(o),nonce:n},spender:a??Ht[e],sigDeadline:xe(i)});var ni=async({chainId:e,account:t,tokenAddress:n,amount:a})=>{let r=await ue({account:t,chainId:e,tokens:[n]});return!r||!r[n]?{isInsufficient:!0}:{tokenBalance:r?.[n]??void 0,isInsufficient:r?.[n]?.lt(a)??!0}},ai=async({chainId:e,account:t,amount:n})=>{let a=await pe({account:t,chainId:e});return a?{ronBalance:a,isInsufficient:a?.lt(n)??!0}:{isInsufficient:!0}};var ii=({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};export{pi as DEFAULT_ERC20,_ as KatanaTrade,j as QuoteIntent,C as SwapRouterNativeAssets,li as TradeType,Wn as approveToken,ni as checkIsInsufficientBalance,ai as checkIsInsufficientRonBalance,Qo as checkIsTokenApproved,$o as checkIsValidPermitAllowance,Ho as checkIsValidPermitAllowanceSignature,Zo as createPermitObj,Dr as getAllTokens,Mo as getBestTrade,Jo as getIntervalTimeCheckPermit,Ya as getPermitAllowance,Q as getQuoteQueryParams,pe as getRonBalance,Lr as getRonPricePyth,oe as getTokenAllowance,ue as getTokenBalances,Go as getTokenPrice,ii as quoteTokenPrice,Xn as signPermitAllowance,Ca as swap,V as transformQuoteToTrade,Oa as unwrapRon,qa as wrapRon};