@minswap/noodles-sdk 0.0.65-beta.1 → 0.0.65
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/832.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +73 -60
- package/dist/index.js +1 -1
- package/dist/pay.cjs +1 -1
- package/dist/pay.d.ts +3 -3
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const __rslib_import_meta_url__="u"<typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_modules__={"./src/constant/sui.ts"(e,t,o){o.d(t,{IC:()=>s,N3:()=>n,P9:()=>a,VV:()=>c,lM:()=>i,nD:()=>r,qb:()=>u,tC:()=>l});let r="0x2::sui::SUI",a="0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",n="0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN",i="0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",s="0x9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3",c="0x0000000000000000000000000000000000000000000000000000000000000006",u="0x0000000000000000000000000000000000000000000000000000000000000000";function l(e){return e===r||e===a}},"./src/libs/pyth.ts"(e,t,o){o.d(t,{L:()=>n,j:()=>i});var r,a,n,i,s=o("@mysten/sui/jsonRpc"),c=o("@mysten/sui/utils");let u=require("@pythnetwork/pyth-sui-js");(r=n||(n={})).LAST_PACKAGE_ID="0x8c36ea167c5e6da8c3d60b4fc897416105dcb986471bd81cfbfd38720a4487c0",r.newHolder=function(e){return e.moveCall({target:`${r.LAST_PACKAGE_ID}::oracle::new_holder`,typeArguments:[],arguments:[]})},r.getPrice=function(e){let{txb:t,coinOracleId:o,holder:a,coinPriceId:n}=e;t.moveCall({target:`${r.LAST_PACKAGE_ID}::pyth::get_price`,typeArguments:[],arguments:[t.object(o),a,t.object(n),t.object(c.SUI_CLOCK_OBJECT_ID)]})},(a=i||(i={})).PYTH_URLS=["https://hermes.pyth.network"],a.WORMHOLE_STATE_ID="0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c",a.PYTH_STATE_ID="0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8",a.newPythConnections=function(e){return e||(e=a.PYTH_URLS),e.map(e=>new u.SuiPriceServiceConnection(e,{timeout:3e3}))},a.newPythClient=function(e){return e||(e=new s.SuiJsonRpcClient({network:"mainnet",url:"https://fullnode.mainnet.sui.io:443"})),new u.SuiPythClient(e,a.PYTH_STATE_ID,a.WORMHOLE_STATE_ID)},a.updatePythPriceIDs=async function(e){let{priceFeedIds:t,txb:o,pythConnections:r,pythClient:a}=e;if(0===t.length)return new Map;let n=null,i=null;for(let e of r)try{n=await e.getPriceFeedsUpdateData(t);break}catch(e){i=e,console.log("Error: ",e)}if(null==n)throw Error(`All Pyth price nodes are unavailable. Cannot fetch price data. Please switch to or add new available Pyth nodes. Detailed error: ${i?.message}`);let s=[];try{s=await a.updatePriceFeeds(o,n,t)}catch(e){throw Error(`All Pyth price nodes are unavailable. Cannot fetch price data. Please switch to or add new available Pyth nodes in the pythUrls parameter when initializing AggregatorClient, for example: new AggregatorClient({ pythUrls: ["https://your-pyth-node-url"] }). Detailed error: ${e}`)}let c=new Map;for(let e=0;e<t.length;e++)c.set(t[e],s[e]);return c}},"./src/libs/token-type.ts"(e,t,o){o.d(t,{YY:()=>i,eP:()=>n,nr:()=>a});var r=o("./src/constant/sui.ts");function a(e){return e===r.nD?r.P9:e}function n(e){return e===r.P9?r.nD:e}function i(e){return e===r.P9||e===r.nD}},"./src/meta-aggregator/aggregator/aggregator.ts"(e,t,o){var r,a;o.d(t,{u:()=>r}),(a=r||(r={})).MAX_AMOUNT_IN="18446744073709551615",a.LAST_PACKAGE_ID="0x7e57926855b32baa3b3cabed89380b8d415606fdedadc18e58bd1ef1e60aee48",a.openSwap=function(e){let{tx:t,expectedAmountOut:o,minAmountOut:r,coinInType:n,coinOutType:i,inputCoin:s,aggregatorFeeBps:c,aggregatorFeeRecipient:u,partnerFeeRecipient:l,partnerFeeBps:_}=e,[p]=t.moveCall({target:`${a.LAST_PACKAGE_ID}::aggregator::open_swap`,typeArguments:[n,i],arguments:[t.pure.u64(o),t.pure.u64(r),s,t.pure.u32(c),t.pure.address(u),t.pure.u32(_??0),t.pure.option("address",l)]});return p},a.closeSwap=function(e){let{tx:t,coinOutType:o,swapSession:r}=e,[n]=t.moveCall({target:`${a.LAST_PACKAGE_ID}::aggregator::close_swap`,typeArguments:[o],arguments:[r]});return n}},"./src/meta-aggregator/client/bluefin7k-client.ts"(e,t,o){o.r(t),o.d(t,{Bluefin7kClient:()=>i});var r=o("@bluefin-exchange/bluefin7k-aggregator-sdk"),a=o("./src/meta-aggregator/converter-route/sevenk-aggregator-converter.ts"),n=o("./src/meta-aggregator/client/error.ts");class i{options;kind="SEVENK";constructor(e,t){this.options=e,e.apiKey&&r.Config.setApiKey(e.apiKey),r.Config.setSuiClient(t)}async quote(e){let t=[];if(this.options.sources)for(let e of this.options.sources)a.m.SUPPORTED_PROTOCOLS.includes(e)&&t.push(e);else t.push(...a.m.SUPPORTED_PROTOCOLS);let o=await (0,r.getQuote)({tokenIn:e.coinTypeIn,tokenOut:e.coinTypeOut,amountIn:e.amountIn,sources:t,excludedPools:this.options.excludedPools,targetPools:this.options.targetPools});return n.u.assert(!!o,"No quote found",n.j.QUOTE_NOT_FOUND,{provider:this.kind}),{sourceRoute:"SEVENK",rawRoute:o,amountIn:o.swapAmountWithDecimal,amountOut:o.returnAmountWithDecimal,coinTypeIn:e.coinTypeIn,coinTypeOut:e.coinTypeOut}}}},"./src/meta-aggregator/client/cetus-client.ts"(e,t,o){o.r(t),o.d(t,{CetusClient:()=>c});var r=o("@cetusprotocol/aggregator-sdk"),a=o("./src/libs/pyth.ts"),n=o("./src/meta-aggregator/converter-route/cetus-aggregator-converter.ts"),i=o("./src/meta-aggregator/client/error.ts");let s=a.j.PYTH_URLS;class c{options;kind="CETUS";cetusClient;constructor(e,t,o){this.options=e,this.cetusClient=new r.AggregatorClient({apiKey:e.apiKey,client:o,endpoint:e.api,env:r.Env.Mainnet,pythUrls:t.hermesApi?t.hermesApi:s})}async quote(e){let t=[];if(this.options.sources)for(let e of this.options.sources)n.M.SUPPORTED_PROTOCOLS.includes(e)&&t.push(e);else t.push(...n.M.SUPPORTED_PROTOCOLS);let o=await this.cetusClient.findRouters({amount:e.amountIn,byAmountIn:!0,from:e.coinTypeIn,target:e.coinTypeOut,providers:t,splitCount:this.options.splitCount,splitAlgorithm:this.options.splitAlgorithm,splitFactor:this.options.splitFactor,depth:this.options.depth,liquidityChanges:this.options.liquidityChanges});return i.u.assert(!!o,"No quote found",i.j.QUOTE_NOT_FOUND,{provider:this.kind}),{sourceRoute:"CETUS",rawRoute:o,amountIn:o.amountIn.toString()||"0",amountOut:o.amountOut.toString()||"0",coinTypeIn:e.coinTypeIn,coinTypeOut:e.coinTypeOut}}}},"./src/meta-aggregator/client/error.ts"(e,t,o){o.d(t,{j:()=>a,u:()=>n});var r,a=((r={})[r.UNKNOWN=1e3]="UNKNOWN",r[r.TIMEOUT=1001]="TIMEOUT",r[r.PROVIDER_NOT_FOUND=1002]="PROVIDER_NOT_FOUND",r[r.PROVIDER_NOT_SUPPORTED=1003]="PROVIDER_NOT_SUPPORTED",r[r.INVALID_QUOTE=1004]="INVALID_QUOTE",r[r.QUOTE_NOT_FOUND=1005]="QUOTE_NOT_FOUND",r[r.INVALID_SIGNER_ADDRESS=1006]="INVALID_SIGNER_ADDRESS",r[r.PROVIDER_NOT_SUPPORT_SWAP=1007]="PROVIDER_NOT_SUPPORT_SWAP",r[r.SIMULATION_FAILED=1008]="SIMULATION_FAILED",r);class n extends Error{code;details;constructor(e,t,o){super(e),this.name="MetaAgError",this.code=t??1e3,this.details=o}static assert(e,t,o,r){if(!e)throw new n(t??"Assertion failed",o,r)}}},"./src/meta-aggregator/client/flowx-client.ts"(e,t,o){o.r(t),o.d(t,{FlowxClient:()=>n});var r=o("@flowx-finance/sdk"),a=o("./src/meta-aggregator/converter-route/flowx-aggregator-converter.ts");class n{options;kind="FLOWX";quoter;constructor(e){this.options=e,this.quoter=new r.AggregatorQuoter("mainnet",e.apiKey)}async quote(e){let t=[];if(this.options.sources)for(let e of this.options.sources)a.m.SUPPORTED_PROTOCOLS.includes(e)&&t.push(e);else t.push(...a.m.SUPPORTED_PROTOCOLS);let o=await this.quoter.getRoutes({amountIn:e.amountIn,tokenIn:e.coinTypeIn,tokenOut:e.coinTypeOut,includeSources:t,excludePools:this.options.excludePools,excludeSources:this.options.excludeSources,maxHops:this.options.maxHops,splitDistributionPercent:this.options.splitDistributionPercent});return{sourceRoute:"FLOWX",rawRoute:o,amountIn:o.amountIn?.toString()??"0",amountOut:o.amountOut?.toString()??"0",coinTypeIn:e.coinTypeIn,coinTypeOut:e.coinTypeOut}}}},"./src/meta-aggregator/converter-route/cetus-aggregator-converter.ts"(e,t,o){o.d(t,{M:()=>r});var r,a=o("@cetusprotocol/aggregator-sdk"),n=o("@minswap/tiny-invariant"),i=o.n(n),s=o("./src/meta-aggregator/aggregator/aggregator.ts"),c=o("./src/meta-aggregator/external/metastable.ts"),u=o("./src/meta-aggregator/router/types.ts");!function(e){let t=[a.CETUS,a.KRIYA,a.FLOWXV2,a.FLOWXV3,a.KRIYAV3,a.TURBOS,a.AFTERMATH,a.HAEDAL,a.VOLO,a.AFSUI,a.BLUEMOVE,a.DEEPBOOKV3,a.SCALLOP,a.SUILEND,a.BLUEFIN,a.HAEDALPMM,a.ALPHAFI,a.SPRINGSUI,a.STEAMM,a.METASTABLE,a.OBRIC,a.HAWAL,a.STEAMM_OMM,a.MOMENTUM,a.STEAMM_OMM_V2,a.MAGMA,a.SEVENK,a.HAEDALHMMV2,a.FULLSAIL,a.CETUSDLMM,a.FERRADLMM,a.FERRACLMM];e.SUPPORTED_PROTOCOLS=[...t];let o=new Set(t),r=e=>({poolId:e.id,coinInType:e.from,coinOutType:e.target,aToB:e.direction,amountIn:e.amountIn});function n(t){if(!o.has(t.provider))throw Error(`Unsupported or unknown provider: ${t.provider} for pool ${t.id}`);return(0,e.TO_META_AGGREGATOR_PATH_FN_MAP[t.provider])(t)}function l(e){let t=new Map;for(let[o,r]of e.paths.entries())t.set(r.from,o);let o=[];for(let r=0;r<e.paths.length;r++){let a=e.paths[r],i=n(a);t.get(a.from)===r&&(i.amountIn=s.u.MAX_AMOUNT_IN),o.push(i)}return o}e.TO_META_AGGREGATOR_PATH_FN_MAP={[a.METASTABLE]:e=>{let t=r(e),o=e.extendedDetails,a=e.direction?e.target:e.from;i()(o&&void 0!==o.metastable_create_cap_pkg_id&&void 0!==o.metastable_create_cap_module&&void 0!==o.metastable_create_cap_all_type_params&&void 0!==o.metastable_whitelisted_app_id,`METASTABLE missing required extendedDetails for pool ${e.id}.`);let n={createCapPackageId:o.metastable_create_cap_pkg_id,createCapModule:o.metastable_create_cap_module,createCapAllTypeParams:o.metastable_create_cap_all_type_params,whitelistedAppId:o.metastable_whitelisted_app_id};switch(a){case c.b.MetaCoinType.SUPER_SUI:return i()(o.metastable_registry_id,`METASTABLE_SUPER_SUI protocol requires 'metastable_registry_id' in extendedDetails for pool ${e.id}.`),{...t,...n,protocol:u.S.METASTABLE,metaCoin:a,registryId:o.metastable_registry_id};case c.b.MetaCoinType.MUSD:return i()(o.metastable_price_seed,`METASTABLE_MUSD protocol requires 'metastable_price_seed' in extendedDetails for pool ${e.id}.`),{...t,...n,protocol:u.S.METASTABLE,metaCoin:a,pythPriceFeedIdMeta:o.metastable_price_seed};case c.b.MetaCoinType.METH:return i()(o.metastable_price_seed&&o.metastable_eth_price_seed,`METASTABLE_ETH protocol requires 'metastable_price_seed' and 'metastable_eth_price_seed' in extendedDetails for pool ${e.id}.`),{...t,...n,protocol:u.S.METASTABLE,metaCoin:a,pythPriceFeedIdMeta:o.metastable_price_seed,pythPriceFeedIdEth:o.metastable_eth_price_seed};default:throw Error(`METASTABLE protocol does not support ${a} as metaCoin.`)}},[a.DEEPBOOKV3]:e=>({...r(e),protocol:u.S.DEEPBOOK_V3}),[a.AFTERMATH]:e=>{let t=e.extendedDetails;return i()(t?.aftermath_lp_supply_type,`AFTERMATH_CPMM protocol requires 'aftermath_lp_type' in extendedDetails for pool ${e.id}.`),{...r(e),protocol:u.S.AFTERMATH_CPMM,coinLpType:t.aftermath_lp_supply_type}},[a.FLOWXV3]:e=>({...r(e),protocol:u.S.FLOWX_CLMM,poolFeeRate:String(1e6*e.feeRate)}),[a.HAEDALPMM]:e=>{let t=e.extendedDetails;return i()(t?.haedal_pmm_base_price_seed&&t?.haedal_pmm_quote_price_seed,`HAEDAL_CPMM protocol requires 'haedal_pyth_price_a_id' and 'haedal_pyth_price_b_id' in extendedDetails for pool ${e.id}.`),{...r(e),protocol:u.S.HAEDAL_CPMM,pythPriceFeedIdA:t.haedal_pmm_base_price_seed,pythPriceFeedIdB:t.haedal_pmm_quote_price_seed}},[a.HAEDALHMMV2]:e=>{let t=e.extendedDetails;return i()(t?.haedalhmmv2_base_price_seed,`HAEDAL_CPMM_V2 protocol requires 'haedal_pyth_price_base_id' in extendedDetails for pool ${e.id}.`),{...r(e),protocol:u.S.HAEDAL_CPMM_V2,pythPriceFeedIdBase:t.haedalhmmv2_base_price_seed}},[a.SCALLOP]:e=>(i()(e.extendedDetails?.scallop_scoin_treasury,`SCALLOP protocol requires 'scallop_scoin_treasury' in extendedDetails for pool ${e.id}.`),{...r(e),protocol:u.S.SCALLOP,scoinTreasury:e.extendedDetails.scallop_scoin_treasury}),[a.STEAMM]:e=>{let t=e.extendedDetails;return i()(t?.steamm_bank_a&&t?.steamm_bank_b&&t?.steamm_lending_market&&t?.steamm_lending_market_type&&t?.steamm_btoken_a_type&&t?.steamm_btoken_b_type&&t?.steamm_lp_token_type,`STEAMM_CPMM protocol requires steamm fields in extendedDetails for pool ${e.id}.`),{...r(e),protocol:u.S.STEAMM_CPMM,bankAId:t.steamm_bank_a,bankBId:t.steamm_bank_b,lendingMarketId:t.steamm_lending_market,lendingMarketType:t.steamm_lending_market_type,bCoinAType:t.steamm_btoken_a_type,bCoinBType:t.steamm_btoken_b_type,lpBCoinType:t.steamm_lp_token_type}},[a.STEAMM_OMM]:e=>{let t=e.extendedDetails;return i()(t?.steamm_bank_a&&t?.steamm_bank_b&&t?.steamm_lending_market&&t?.steamm_lending_market_type&&t?.steamm_btoken_a_type&&t?.steamm_btoken_b_type&&t?.steamm_lp_token_type&&t?.steamm_oracle_pyth_price_seed_a&&t?.steamm_oracle_pyth_price_seed_b&&t?.steamm_oracle_registry_id&&t?.steamm_oracle_index_a&&t?.steamm_oracle_index_b,`STEAMM_OMM protocol requires steamm fields in extendedDetails for pool ${e.id}.`),{...r(e),protocol:u.S.STEAMM_OMM,bankAId:t.steamm_bank_a,bankBId:t.steamm_bank_b,lendingMarketId:t.steamm_lending_market,lendingMarketType:t.steamm_lending_market_type,bCoinAType:t.steamm_btoken_a_type,bCoinBType:t.steamm_btoken_b_type,lpBCoinType:t.steamm_lp_token_type,pythPriceFeedIdA:t.steamm_oracle_pyth_price_seed_a,pythPriceFeedIdB:t.steamm_oracle_pyth_price_seed_b,oracleRegistryId:t.steamm_oracle_registry_id,oracleIndexA:String(t.steamm_oracle_index_a),oracleIndexB:String(t.steamm_oracle_index_b)}},[a.STEAMM_OMM_V2]:e=>{let t=e.extendedDetails;return i()(t?.steamm_bank_a&&t?.steamm_bank_b&&t?.steamm_lending_market&&t?.steamm_lending_market_type&&t?.steamm_btoken_a_type&&t?.steamm_btoken_b_type&&t?.steamm_lp_token_type&&t?.steamm_oracle_pyth_price_seed_a&&t?.steamm_oracle_pyth_price_seed_b&&t?.steamm_oracle_registry_id&&t?.steamm_oracle_index_a&&t?.steamm_oracle_index_b,`STEAMM_OMM_V2 protocol requires steamm fields in extendedDetails for pool ${e.id}.`),{...r(e),protocol:u.S.STEAMM_OMM_V2,bankAId:t.steamm_bank_a,bankBId:t.steamm_bank_b,lendingMarketId:t.steamm_lending_market,lendingMarketType:t.steamm_lending_market_type,bCoinAType:t.steamm_btoken_a_type,bCoinBType:t.steamm_btoken_b_type,lpBCoinType:t.steamm_lp_token_type,pythPriceFeedIdA:t.steamm_oracle_pyth_price_seed_a,pythPriceFeedIdB:t.steamm_oracle_pyth_price_seed_b,oracleRegistryId:t.steamm_oracle_registry_id,oracleIndexA:String(t.steamm_oracle_index_a),oracleIndexB:String(t.steamm_oracle_index_b)}},[a.OBRIC]:e=>{let t=r(e);if(e.extendedDetails?.obric_coin_a_price_id&&e.extendedDetails?.obric_coin_b_price_id)return{...t,protocol:u.S.OBRIC,priceInfoObjIdA:e.extendedDetails.obric_coin_a_price_id,priceInfoObjIdB:e.extendedDetails.obric_coin_b_price_id};if(e.extendedDetails?.obric_coin_a_price_seed&&e.extendedDetails?.obric_coin_b_price_seed)return{...t,protocol:u.S.OBRIC,pythPriceFeedIdA:e.extendedDetails.obric_coin_a_price_seed,pythPriceFeedIdB:e.extendedDetails.obric_coin_b_price_seed};throw Error(`OBRIC protocol requires 'obric_coin_a_price_id' and 'obric_coin_b_price_id' in extendedDetails for pool ${e.id}.`)},[a.SEVENK]:e=>{let t=e.extendedDetails;return i()(t?.sevenk_lp_cap_type&&t?.sevenk_coin_a_price_seed&&t?.sevenk_coin_b_price_seed&&t?.sevenk_oracle_config_a&&t?.sevenk_oracle_config_b,`SEVENK_CPMM protocol requires sevenk fields in extendedDetails for pool ${e.id}.`),{...r(e),protocol:u.S.SEVENK_CPMM,coinLpType:t.sevenk_lp_cap_type,pythPriceFeedIdA:t.sevenk_coin_a_price_seed,pythPriceFeedIdB:t.sevenk_coin_b_price_seed,oracleConfigA:t.sevenk_oracle_config_a,oracleConfigB:t.sevenk_oracle_config_b}},[a.TURBOS]:e=>(i()(e.extendedDetails?.turbos_fee_type,`TURBOS_CLMM protocol requires 'coinFeeType' parameter for pool ${e.id}. Provide it via the parametersMap argument.`),{...r(e),protocol:u.S.TURBOS_CLMM,coinFeeType:e.extendedDetails.turbos_fee_type}),[a.AFSUI]:e=>({...r(e),protocol:u.S.AFTERMATH_LSD}),[a.ALPHAFI]:e=>({...r(e),protocol:u.S.ALPHAFI_LSD}),[a.BLUEFIN]:e=>({...r(e),protocol:u.S.BLUEFIN_CLMM}),[a.BLUEMOVE]:e=>({...r(e),protocol:u.S.BLUEMOVE_CPMM}),[a.CETUS]:e=>({...r(e),protocol:u.S.CETUS_CLMM}),[a.CETUSDLMM]:e=>({...r(e),protocol:u.S.CETUS_DLMM}),[a.FERRACLMM]:e=>({...r(e),protocol:u.S.FERRA_CLMM}),[a.FERRADLMM]:e=>({...r(e),protocol:u.S.FERRA_DLMM}),[a.FLOWXV2]:e=>({...r(e),protocol:u.S.FLOWX_CPMM}),[a.FULLSAIL]:e=>({...r(e),protocol:u.S.FULLSAIL_CLMM}),[a.HAEDAL]:e=>({...r(e),protocol:u.S.HAEDAL_LSD}),[a.HAWAL]:e=>({...r(e),protocol:u.S.HAEDAL_LSD_WAL}),[a.KRIYA]:e=>({...r(e),protocol:u.S.KRIYA_CPMM}),[a.KRIYAV3]:e=>({...r(e),protocol:u.S.KRIYA_CLMM}),[a.MAGMA]:e=>({...r(e),protocol:u.S.MAGMA_CLMM}),[a.MOMENTUM]:e=>({...r(e),protocol:u.S.MOMENTUM_CLMM}),[a.SUILEND]:e=>({...r(e),protocol:u.S.SPRINGSUI}),[a.SPRINGSUI]:e=>({...r(e),protocol:u.S.SPRINGSUI}),[a.VOLO]:e=>({...r(e),protocol:u.S.VOLO})},e.toMetaAggregatorPath=n,e.toMetaAggregatorPaths=l,e.convert=function(e){return{coinInType:e.paths[0].from,coinOutType:e.paths[e.paths.length-1].target,amountOut:e.amountOut.toString(),tradePaths:l(e)}}}(r||(r={}))},"./src/meta-aggregator/converter-route/flowx-aggregator-converter.ts"(e,t,o){o.d(t,{m:()=>r});var r,a=o("@flowx-finance/sdk"),n=o("@minswap/tiny-invariant"),i=o.n(n),s=o("./src/meta-aggregator/aggregator/aggregator.ts"),c=o("./src/meta-aggregator/router/types.ts");!function(e){let t=[a.Protocol.HOP_FUN,a.Protocol.FLOWX_PMM,a.Protocol.DEEPBOOK,a.Protocol.IPX_TIDE,a.Protocol.METASTABLE];e.SUPPORTED_PROTOCOLS=Object.values(a.Protocol).filter(e=>!t.includes(e));let o={[a.Protocol.FLOWX_V2]:t=>({...e.toMetaAggregatorBasePath(t),aToB:!0,protocol:c.S.FLOWX_CPMM}),[a.Protocol.FLOWX_V3]:t=>(i()(void 0!==t.poolFee,`Pool fee is required for pool ${t.pool.id}`),i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.FLOWX_CLMM,poolFeeRate:t.poolFee.toString()}),[a.Protocol.CETUS]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.CETUS_CLMM}),[a.Protocol.CETUS_DLMM]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.CETUS_DLMM}),[a.Protocol.AFTERMATH]:t=>(i()(t.lpCoinType,`AFTERMATH protocol requires lpCoinType for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:!0,protocol:c.S.AFTERMATH_CPMM,coinLpType:t.lpCoinType}),[a.Protocol.AFTERMATH_LSD]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:!t.xForY,protocol:c.S.AFTERMATH_LSD}),[a.Protocol.ALPHA_FI]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:!t.xForY,protocol:c.S.ALPHAFI_LSD}),[a.Protocol.BLUEFIN]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.BLUEFIN_CLMM}),[a.Protocol.BLUEMOVE]:t=>({...e.toMetaAggregatorBasePath(t),aToB:!0,protocol:c.S.BLUEMOVE_CPMM}),[a.Protocol.DEEPBOOK_V3]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.DEEPBOOK_V3}),[a.Protocol.FERRA_CLMM]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.FERRA_CLMM}),[a.Protocol.FERRA_DLMM]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.FERRA_DLMM}),[a.Protocol.FULL_SAIL]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.FULLSAIL_CLMM}),[a.Protocol.HAEDAL]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:!t.xForY,protocol:c.S.HAEDAL_LSD}),[a.Protocol.HAEDAL_PMM]:t=>{let o=t.oracles;return i()(o&&o.length>=2,`HAEDAL_CPMM protocol requires oracle price feeds for pool ${t.pool.id}.`),i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.HAEDAL_CPMM,pythPriceFeedIdA:o[0].priceId,pythPriceFeedIdB:o[1].priceId}},[a.Protocol.KRIYA_DEX]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.KRIYA_CPMM}),[a.Protocol.KRIYA_V3]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.KRIYA_CLMM}),[a.Protocol.MAGMA_FINANCE]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.MAGMA_CLMM}),[a.Protocol.MAGMA_ALMM]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.MAGMA_ALMM}),[a.Protocol.MOMENTUM_FINANCE]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.MOMENTUM_CLMM}),[a.Protocol.OBRIC]:t=>(i()(t.xPriceId&&t.yPriceId,`OBRIC protocol requires price feeds for pool ${t.pool.id}`),i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.OBRIC,priceInfoObjIdA:t.xPriceId,priceInfoObjIdB:t.yPriceId}),[a.Protocol.SPRING_SUI]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:!t.xForY,protocol:c.S.SPRINGSUI}),[a.Protocol.STEAMM]:t=>{i()(void 0!==t.bankXInfo&&void 0!==t.bankYInfo,`STEAMM protocol requires bank info for pool ${t.pool.id}`),i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),i()(void 0!==t.quoterType,`quoterType is required for pool ${t.pool.id}`),i()(void 0!==t.poolInfo,`poolInfo is required for pool ${t.pool.id}`),i()(void 0!==t.protocolConfig&&void 0!==t.protocolConfig.oracleRegistryId,`protocolConfig is required for pool ${t.pool.id}`);let o=t.oracles,r=e.toMetaAggregatorBasePath(t),a=t.xForY;switch(t.quoterType){case"constant_product":return{...r,aToB:a,protocol:c.S.STEAMM_CPMM,bankAId:a?t.bankXInfo.bankId:t.bankYInfo.bankId,bankBId:a?t.bankYInfo.bankId:t.bankXInfo.bankId,lendingMarketId:t.bankXInfo.lendingMarketId,lendingMarketType:t.bankXInfo.lendingMarketType,bCoinAType:a?t.bankXInfo.bTokenType:t.bankYInfo.bTokenType,bCoinBType:a?t.bankYInfo.bTokenType:t.bankXInfo.bTokenType,lpBCoinType:t.poolInfo.lpTokenType};case"oracle":case"oracle_v2":{i()(void 0!==o&&o.length>=2,`STEAMM_OMM protocol requires oracle price feeds for pool ${t.pool.id}.`);let e=o[0],n=o[1];return i()(void 0!==e.oracleId&&void 0!==n.oracleId&&void 0!==e.oracleIndex&&void 0!==n.oracleIndex,`STEAMM_OMM protocol requires oracle ids for pool ${t.pool.id}.`),{...r,aToB:a,protocol:c.S.STEAMM_OMM,bankAId:t.bankXInfo.bankId,bankBId:t.bankYInfo.bankId,lendingMarketId:t.bankXInfo.lendingMarketId,lendingMarketType:t.bankXInfo.lendingMarketType,bCoinAType:t.bankXInfo.bTokenType,bCoinBType:t.bankYInfo.bTokenType,lpBCoinType:t.poolInfo.lpTokenType,pythPriceFeedIdA:e.priceId,pythPriceFeedIdB:n.priceId,oracleRegistryId:t.protocolConfig.oracleRegistryId,oracleIndexA:e.oracleIndex.toString(),oracleIndexB:n.oracleIndex.toString()}}default:throw Error(`Unsupported quoter type: ${t.quoterType} for pool ${t.pool.id}`)}},[a.Protocol.SEVENK_V1]:t=>{let o=t.oracles;return i()(o&&o.length>=2,`SEVENK_CPMM protocol requires oracle price feeds for pool ${t.pool.id}.`),i()(t.poolStructTag,`SEVENK_V1 protocol requires poolStructTag for pool ${t.pool.id}`),i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.SEVENK_CPMM,coinLpType:t.poolStructTag,pythPriceFeedIdA:o[0].priceId,pythPriceFeedIdB:o[1].priceId,oracleConfigA:o[0].oracleId??"",oracleConfigB:o[1].oracleId??""}},[a.Protocol.SUI_REWARDS]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.SRM_CPMM}),[a.Protocol.TURBOS_FIANCE]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.TURBOS_CLMM,coinFeeType:t.poolStructTag?t.poolStructTag.split("<")[1].split(",")[2].trim().replace(">",""):""}),[a.Protocol.VOLO_LSD]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:!t.xForY,protocol:c.S.VOLO}),[a.Protocol.TRADEPORT]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),i()(void 0!==t.poolFee,`Pool fee is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,poolFeeRate:t.poolFee.toString(),protocol:c.S.TRADEPORT_CLMM}),[a.Protocol.TURBOS_FUN]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.TURBOS_FUN}),[a.Protocol.BLUEMOVE_FUN]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,expectedAmountOut:t.amountOut.toString(),protocol:c.S.MOVEPUMP}),[a.Protocol.SEVEN_K_FUN]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.SEVENK_FUN}),[a.Protocol.DIPCOIN]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.DIP_CPMM}),[a.Protocol.BOLT]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.BOLT})};function r(t){let o=[];for(let e of t)o.push(...e.paths);let r=new Map;for(let[e,t]of o.entries())r.set(t.input.coinType,e);let a=o.map(e.toMetaAggregatorPath);for(let e of r.values())a[e].amountIn=s.u.MAX_AMOUNT_IN;return a}e.toMetaAggregatorBasePath=e=>({poolId:e.pool.id,coinInType:e.input.coinType,coinOutType:e.output.coinType,amountIn:e.amountIn.toString()}),e.toMetaAggregatorPath=e=>{let r=e.protocol();if(t.includes(r))throw Error(`Unsupported protocol: ${r}`);return(0,o[r])(e)},e.toMetaAggregatorPaths=r,e.convert=function(e){return{coinInType:e.coinIn.coinType,coinOutType:e.coinOut.coinType,amountOut:e.amountOut.toString(),tradePaths:r(e.routes)}}}(r||(r={}))},"./src/meta-aggregator/converter-route/sevenk-aggregator-converter.ts"(e,t,o){o.d(t,{m:()=>r});var r,a=o("@minswap/tiny-invariant"),n=o.n(a),i=o("@mysten/sui/utils"),s=o("./src/libs/token-type.ts"),c=o("./src/meta-aggregator/aggregator/aggregator.ts"),u=o("./src/meta-aggregator/router/types.ts");!function(e){let t=new Set(["bluefinx","RFQ"]);e.SUPPORTED_PROTOCOLS=["suiswap","turbos","cetus","bluemove","kriya","kriya_v3","aftermath","deepbook_v3","flowx","flowx_v3","bluefin","springsui","obric","stsui","steamm","steamm_oracle_quoter","steamm_oracle_quoter_v2","magma","haedal_pmm","momentum","sevenk_v1","fullsail","cetus_dlmm","ferra_dlmm","ferra_clmm"];let o={aftermath:e=>{n()(e.extra?.poolStructTag,"Aftermath protocol requires poolStructTag");let[t]=_(e.extra.poolStructTag);return{...l(e),protocol:u.S.AFTERMATH_CPMM,coinLpType:t}},flowx_v3:e=>{n()(e.extra?.swapFeeRate,"flowx_v3 protocol requires swapFeeRate");let t=e.extra.swapFeeRate;return{...l(e),protocol:u.S.FLOWX_CLMM,poolFeeRate:t}},turbos:e=>{n()(e.extra?.poolStructTag,"turbos protocol requires poolStructTag");let[t,o,r]=_(e.extra.poolStructTag);return{...l(e),protocol:u.S.TURBOS_CLMM,coinFeeType:r}},obric:e=>(n()(e.extra?.oracles,"obric protocol requires oracles"),{...l(e),protocol:u.S.OBRIC,pythPriceFeedIdA:p(e.extra.oracles[0]),pythPriceFeedIdB:p(e.extra.oracles[1])}),haedal_pmm:e=>(n()(e.extra.oracles,"haedal_pmm protocol requires oracles"),{...l(e),protocol:u.S.HAEDAL_CPMM,pythPriceFeedIdA:p(e.extra.oracles[0]),pythPriceFeedIdB:p(e.extra.oracles[1])}),sevenk_v1:e=>{n()(e.extra?.poolStructTag,"sevenk_v1 protocol requires poolStructTag"),n()(e.extra?.oracleConfigX,"sevenk_v1 protocol requires oracleConfigX"),n()(e.extra?.oracleConfigY,"sevenk_v1 protocol requires oracleConfigY");let t=e.extra.oracles?.[0]?.Pyth?.bytes,o=e.extra.oracles?.[1]?.Pyth?.bytes;n()(t,"sevenk_v1 protocol requires pythPriceFeedIdA"),n()(o,"sevenk_v1 protocol requires pythPriceFeedIdB");let[r,a,i]=_(e.extra.poolStructTag);return{...l(e),protocol:u.S.SEVENK_CPMM,coinLpType:i,pythPriceFeedIdA:t,pythPriceFeedIdB:o,oracleConfigA:e.extra.oracleConfigX,oracleConfigB:e.extra.oracleConfigY}},steamm:e=>{n()(e.extra?.poolStructTag,"steamm protocol requires poolStructTag"),n()(e.extra?.bankAStructTag,"steamm protocol requires bankAStructTag"),n()(e.extra?.lendingMarketA,"steamm protocol requires lendingMarketA"),n()(e.extra?.bankA,"steamm protocol requires bankA"),n()(e.extra?.bankB,"steamm protocol requires bankB");let[t,o,r,a]=_(e.extra.poolStructTag),[i,s,c]=_(e.extra.bankAStructTag);return{...l(e),protocol:u.S.STEAMM_CPMM,bankAId:e.extra.bankA,bankBId:e.extra.bankB,lendingMarketId:e.extra.lendingMarketA,lendingMarketType:i,bCoinAType:t,bCoinBType:o,lpBCoinType:a}},steamm_oracle_quoter:e=>{n()(e.extra?.poolStructTag,"steamm_oracle_quoter protocol requires poolStructTag"),n()(e.extra?.bankAStructTag,"steamm_oracle_quoter protocol requires bankAStructTag"),n()(e.extra?.lendingMarketA,"steamm_oracle_quoter protocol requires lendingMarketA"),n()(e.extra?.oracleRegistry,"steamm_oracle_quoter protocol requires oracleRegistry"),n()(e.extra?.bankA,"steamm_oracle_quoter protocol requires bankA"),n()(e.extra?.bankB,"steamm_oracle_quoter protocol requires bankB"),n()(e.extra?.oracleIndexes,"steamm_oracle_quoter protocol requires oracleIndexes"),n()(e.extra?.oracles,"steamm_oracle_quoter protocol requires oracles");let[t,o,r,a]=_(e.extra?.poolStructTag),[i,s,c]=_(e.extra.bankAStructTag),[d,g]=e.extra.oracleIndexes;return{...l(e),protocol:u.S.STEAMM_OMM,bankAId:e.extra.bankA,bankBId:e.extra.bankB,lendingMarketId:e.extra.lendingMarketA,lendingMarketType:i,bCoinAType:t,bCoinBType:o,lpBCoinType:a,pythPriceFeedIdA:p(e.extra.oracles[0]),pythPriceFeedIdB:p(e.extra.oracles[1]),oracleRegistryId:e.extra.oracleRegistry,oracleIndexA:d,oracleIndexB:g}},steamm_oracle_quoter_v2:e=>{n()(e.extra?.poolStructTag,"steamm_oracle_quoter_v2 protocol requires poolStructTag"),n()(e.extra?.bankAStructTag,"steamm_oracle_quoter_v2 protocol requires bankAStructTag"),n()(e.extra?.lendingMarketA,"steamm_oracle_quoter_v2 protocol requires lendingMarketA"),n()(e.extra?.oracleRegistry,"steamm_oracle_quoter_v2 protocol requires oracleRegistry"),n()(e.extra?.bankA,"steamm_oracle_quoter_v2 protocol requires bankA"),n()(e.extra?.bankB,"steamm_oracle_quoter_v2 protocol requires bankB"),n()(e.extra?.oracleIndexes,"steamm_oracle_quoter_v2 protocol requires oracleIndexes"),n()(e.extra?.oracles,"steamm_oracle_quoter_v2 protocol requires oracles");let[t,o,r,a]=_(e.extra?.poolStructTag),[i,s,c]=_(e.extra.bankAStructTag),[d,g]=e.extra.oracleIndexes;return{...l(e),protocol:u.S.STEAMM_OMM_V2,bankAId:e.extra.bankA,bankBId:e.extra.bankB,lendingMarketId:e.extra.lendingMarketA,lendingMarketType:i,bCoinAType:t,bCoinBType:o,lpBCoinType:a,pythPriceFeedIdA:p(e.extra.oracles[0]),pythPriceFeedIdB:p(e.extra.oracles[1]),oracleRegistryId:e.extra.oracleRegistry,oracleIndexA:d,oracleIndexB:g}},cetus:e=>({...l(e),protocol:u.S.CETUS_CLMM}),bluemove:e=>({...l(e),protocol:u.S.BLUEMOVE_CPMM}),kriya:e=>({...l(e),protocol:u.S.KRIYA_CPMM}),kriya_v3:e=>({...l(e),protocol:u.S.KRIYA_CLMM}),deepbook_v3:e=>({...l(e),protocol:u.S.DEEPBOOK_V3}),flowx:e=>({...l(e),protocol:u.S.FLOWX_CPMM}),bluefin:e=>({...l(e),protocol:u.S.BLUEFIN_CLMM}),springsui:e=>({...l(e),protocol:u.S.SPRINGSUI}),magma:e=>({...l(e),protocol:u.S.MAGMA_CLMM}),momentum:e=>({...l(e),protocol:u.S.MOMENTUM_CLMM}),fullsail:e=>({...l(e),protocol:u.S.FULLSAIL_CLMM}),stsui:e=>({...l(e),protocol:u.S.ALPHAFI_LSD}),suiswap:e=>({...l(e),protocol:u.S.SUISWAP_CPMM}),cetus_dlmm:e=>({...l(e),protocol:u.S.CETUS_DLMM}),ferra_dlmm:e=>({...l(e),protocol:u.S.FERRA_DLMM}),ferra_clmm:e=>({...l(e),protocol:u.S.FERRA_CLMM})};function r(e){let r=e.pool.type;if(t.has(r))throw Error(`Unsupported SourceDex: ${r}`);return(0,o[r])(e)}function a(e){let t=new Map;for(let[o,r]of e.entries())t.set(r.assetIn,o);let o=e.map(r);for(let e of t.values())o[e].amountIn=c.u.MAX_AMOUNT_IN;return o}function l(e){return{poolId:e.poolId,coinInType:e.assetIn,coinOutType:e.assetOut,amountIn:e.amount,aToB:e.swapXtoY}}function _(e){return(0,i.parseStructTag)(e||"").typeParams.map(i.normalizeStructTag)}function p(e){let t=e?.Pyth?.bytes||e?.Pyth?.price_identifier?.bytes;return n()(t,"Pyth price feed id is not found"),"0x"+(0,i.toHex)(Uint8Array.from(t))}e.toMetaAggregatorPath=r,e.toMetaAggregatorPaths=a,e.convert=function(e){var t,o,r;let i;n()(e.routes,"Invalid raw route: routes is missing");let c=(t=e.routes,i={},t.forEach(e=>{e.hops.forEach(e=>{i[e.poolId]=e.pool})}),i),u=a((o=e.swaps,r=c,o.map(e=>{let t=r[e.poolId],o=(0,s.eP)(e.assetIn),a=(0,s.eP)(e.assetOut),n={type:(0,s.eP)(t?.allTokens?.[0]?.address),decimals:t?.allTokens?.[0]?.decimal},i={type:(0,s.eP)(t?.allTokens?.[1]?.address),decimals:t?.allTokens?.[0]?.decimal},c=o===n.type;return{...e,pool:t,assetIn:o,assetOut:a,coinX:n,coinY:i,swapXtoY:c}})));return{coinInType:e.tokenIn,coinOutType:e.tokenOut,amountOut:e.returnAmountWithDecimal,tradePaths:u}}}(r||(r={}))},"./src/meta-aggregator/external/metastable.ts"(e,t,o){o.d(t,{b:()=>n});var r,a,n,i=o("@minswap/tiny-invariant"),s=o.n(i),c=o("@mysten/sui/utils");(r=n||(n={})).UNIVERSAL_META_VAULT_INTEGRATION_PACKAGE_ID="0xfd12517a9fc87c6a1f2357ad13b3421fb27a8bd7ca07d5fd5934ac35733baa47",(a=r.MetaCoinType||(r.MetaCoinType={})).SUPER_SUI="0x790f258062909e3a0ffc78b3c53ac2f62d7084c3bab95644bdeb05add7250001::super_sui::SUPER_SUI",a.MUSD="0xe44df51c0b21a27ab915fa1fe2ca610cd3eaa6d9666fe5e62b988bf7f0bd8722::musd::MUSD",a.METH="0xccd628c2334c5ed33e6c47d6c21bb664f8b6307b2ac32c2462a61f69a31ebcee::meth::METH",r.VERSION_OBJ_ID="0x4696559327b35ff2ab26904e7426a1646312e9c836d5c6cff6709a5ccc30915c",r.createCap=function(e){let t,{txb:o,coinType:r,metaCoin:a,createCapAllTypeParams:n,whitelistedAppId:i,poolId:u,pythInfoObjectIdMap:l,createCapPackageId:_,createCapModule:p,createCapFunc:d}=e,g=[a.toString()];switch(n&&g.push(r),e.metaCoin){case"0x790f258062909e3a0ffc78b3c53ac2f62d7084c3bab95644bdeb05add7250001::super_sui::SUPER_SUI":t=[o.object(i),o.object(u),o.object(e.registryId)];break;case"0xe44df51c0b21a27ab915fa1fe2ca610cd3eaa6d9666fe5e62b988bf7f0bd8722::musd::MUSD":{let r=l.get(e.pythPriceFeedIdMeta);s()(r,"Not found priceMetaId in pythObjectIdMap"),t=[o.object(i),o.object(u),o.object(r),o.object(c.SUI_CLOCK_OBJECT_ID)];break}case"0xccd628c2334c5ed33e6c47d6c21bb664f8b6307b2ac32c2462a61f69a31ebcee::meth::METH":{let r=l.get(e.pythPriceFeedIdMeta);s()(r,"Not found priceId in pythObjectIdMap");let a=l.get(e.pythPriceFeedIdEth);s()(a,"Not found priceEthFeedId in pythObjectIdMap"),t=[o.object(i),o.object(u),o.object(r),o.object(a),o.object(c.SUI_CLOCK_OBJECT_ID)];break}default:throw Error("Invalid MetaCoin: "+a.toString())}return o.moveCall({target:`${_}::${p}::${d}`,typeArguments:g,arguments:t})},r.getCreateCapModule=function(e){switch(e){case"0x790f258062909e3a0ffc78b3c53ac2f62d7084c3bab95644bdeb05add7250001::super_sui::SUPER_SUI":return"exchange_rate";case"0xe44df51c0b21a27ab915fa1fe2ca610cd3eaa6d9666fe5e62b988bf7f0bd8722::musd::MUSD":case"0xccd628c2334c5ed33e6c47d6c21bb664f8b6307b2ac32c2462a61f69a31ebcee::meth::METH":return"pyth";default:throw Error("Invalid MetaCoin: "+e)}},r.isMetaCoinType=function(e){return Object.values(r.MetaCoinType).map(e=>e.toString()).includes(e)},r.getCreateCapAllTypeParams=function(e,t){switch(e){case"0x790f258062909e3a0ffc78b3c53ac2f62d7084c3bab95644bdeb05add7250001::super_sui::SUPER_SUI":return t===r.UNIVERSAL_META_VAULT_INTEGRATION_PACKAGE_ID;case"0xe44df51c0b21a27ab915fa1fe2ca610cd3eaa6d9666fe5e62b988bf7f0bd8722::musd::MUSD":case"0xccd628c2334c5ed33e6c47d6c21bb664f8b6307b2ac32c2462a61f69a31ebcee::meth::METH":return!0;default:throw Error("Invalid MetaCoin: "+e)}}},"./src/meta-aggregator/router/types.ts"(e,t,o){o.d(t,{S:()=>a});var r,a=((r={}).AFTERMATH_CPMM="aftermath_cpmm",r.AFTERMATH_LSD="aftermath_lsd",r.ALPHAFI_LSD="alphafi_lsd",r.BLASTFUN="blastfun",r.BLUEFIN_CLMM="bluefin_clmm",r.BLUEMOVE_CPMM="bluemove_cpmm",r.BOLT="bolt",r.CETUS_CLMM="cetus_clmm",r.CETUS_DLMM="cetus_dlmm",r.DEEPBOOK_V3="deepbook_v3",r.DIP_CPMM="dip_cpmm",r.FLOWX_CPMM="flowx_cpmm",r.FLOWX_CLMM="flowx_clmm",r.FULLSAIL_CLMM="fullsail_clmm",r.FERRA_CLMM="ferra_clmm",r.FERRA_DLMM="ferra_dlmm",r.HAEDAL_CPMM="haedal_cpmm",r.HAEDAL_CPMM_V2="haedal_cpmm_v2",r.HAEDAL_LSD="haedal_lsd",r.HAEDAL_LSD_WAL="haedal_lsd_wal",r.KRIYA_CLMM="kriya_clmm",r.KRIYA_CPMM="kriya_cpmm",r.MAGMA_ALMM="magma_almm",r.MAGMA_CLMM="magma_clmm",r.METASTABLE="metastable",r.MOMENTUM_CLMM="momentum_clmm",r.MOVEPUMP="movepump",r.OBRIC="obric",r.SCALLOP="scallop",r.SEVENK_CPMM="sevenk_cpmm",r.SEVENK_FUN="sevenk_fun",r.SPRINGSUI="springsui",r.SRM_CPMM="srm_cpmm",r.STEAMM_CPMM="steamm_cpmm",r.SUISWAP_CPMM="suiswap_cpmm",r.STEAMM_OMM="steamm_omm",r.STEAMM_OMM_V2="steamm_omm_v2",r.TRADEPORT_CLMM="tradeport_clmm",r.TURBOS_CLMM="turbos_clmm",r.TURBOS_FUN="turbos_fun",r.VOLO="volo",r)},"@bluefin-exchange/bluefin7k-aggregator-sdk"(e){e.exports=require("@bluefin-exchange/bluefin7k-aggregator-sdk")},"@cetusprotocol/aggregator-sdk"(e){e.exports=require("@cetusprotocol/aggregator-sdk")},"@flowx-finance/sdk"(e){e.exports=require("@flowx-finance/sdk")},"@minswap/tiny-invariant"(e){e.exports=require("@minswap/tiny-invariant")},"@mysten/sui/jsonRpc"(e){e.exports=require("@mysten/sui/jsonRpc")},"@mysten/sui/utils"(e){e.exports=require("@mysten/sui/utils")}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var o=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](o,o.exports,__webpack_require__),o.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var o in t)__webpack_require__.o(t,o)&&!__webpack_require__.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};for(var __rspack_i in(()=>{let e;__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{ADMIN_CAP_ID:()=>oZ,AftermathAggregator:()=>tY,AftermathCpmm:()=>ex,AftermathLsd:()=>ey,AggregatorConverter:()=>tv,AggregatorModule:()=>oX,AggregatorProtocol:()=>ok.S,AstrosAggregator:()=>tJ,BASE_BPS:()=>1e4,BLUEFIN_PACKAGE_ID:()=>oi,BOOSTING_PACKAGE_ID:()=>oz,BlastFunConstants:()=>ed,BlastFunCustomCalculation:()=>eb,BlastFunCustomTransaction:()=>eI,BlastFunPackage:()=>ef,BlastFunSDKCalculation:()=>eC,BlastFunSDKTransaction:()=>eT,Blastfun:()=>eB,Bluefin7kClient:()=>oy.Bluefin7kClient,BluefinClmm:()=>ek,BluefinTx:()=>eA,BluemoveCpmm:()=>ev,Bolt:()=>eR,BoostingModule:()=>o0,Bps:()=>em,CLOCK_OBJECT_ID:()=>oo.VV,CONFIG_ID:()=>oQ,CetusAggregator:()=>tQ,CetusAggregatorConverter:()=>tz.M,CetusClient:()=>ow.CetusClient,CetusClmm:()=>eN,CetusDlmm:()=>eK,CurveModule:()=>o6,DEFAULT_TRADE_FEE:()=>o2,DeepbookV3:()=>eq,DipCpmm:()=>e$,DraftTransferTx:()=>o7,FerraClmm:()=>eJ,FerraDlmm:()=>eW,FlowXAggregator:()=>t1,FlowXAggregatorConverter:()=>t6.m,FlowxClient:()=>oB.FlowxClient,FlowxCpmm:()=>eZ,FullsailClmm:()=>e6,HaedalLsdWal:()=>e8,KriyaClmm:()=>e7,MagmaAlmm:()=>to,MagmaClmm:()=>ta,MathUtils:()=>eg,MetaAgError:()=>oP.u,MetaAgErrorCode:()=>oP.j,MetaAggregator:()=>tD,MetaClient:()=>oH,Metastable:()=>oD.b,MomentumClmm:()=>ts,MoonbagsCalculation:()=>eM,MoonbagsConstants:()=>eS,MoonbagsPackage:()=>eO,MoonbagsTransaction:()=>eE,Movepump:()=>tu,NATIVE_USDC_TOKEN_TYPE:()=>oo.lM,NoodlesPaySdk:()=>o3,NoodlesSdk:()=>o5,Obric:()=>t_,PythPrice:()=>oO.L,PythUtils:()=>oO.j,RouterUtils:()=>tk,SUBSCRIPTION_CONFIG:()=>o1,SUI_ADDRESS_ZERO:()=>oo.qb,SUI_FULL_TYPE:()=>oo.P9,SUI_METADATA_OBJECT_ID:()=>oo.IC,SUI_TYPE:()=>oo.nD,Scallop:()=>td,SevenKAggregator:()=>tG,SevenKAggregatorConverter:()=>tj.m,SevenkCpmm:()=>tm,SevenkFun:()=>tb,SrmCpmm:()=>tC,Steamm:()=>tS,SubscriptionModule:()=>o4,SupportedAggregator:()=>tZ,SupportedBondingCurve:()=>oI,TradeFeeOptions:()=>ep,TradeportClmm:()=>tE,TurbosClmm:()=>th,TurbosFun:()=>tw,USDC_TOKEN_TYPE:()=>oo.N3,Volo:()=>tB,Walrus:()=>e5,adaptSuiClient:()=>oM,adaptTransaction:()=>oE,addGasFee:()=>om,checkIsSui:()=>oh.YY,createCompatibleSuiClient:()=>ox,denormalizeTokenType:()=>oh.eP,getAmountAfterFee:()=>t9,getCoinObjectIdsByAmount:()=>oa,getExpectedReturn:()=>oY,getMemezPumpSDK:()=>og,getMoveObject:()=>t5,getMoveObjectContent:()=>t2,getNeededGasFee:()=>t7,getSplitCoinForTx:()=>on,getSplitCoinsAfterFee:()=>t8,isSuiCoinType:()=>oo.tC,normalizeTokenType:()=>oh.nr,splitSuiCoinAfterFeeFromBuyTx:()=>os,splitSuiCoinAfterFeeFromSellTx:()=>oc,timeout:()=>o$});var t,o,r,a,n,i,s,c,u,l,_,p,d,g,m,f,b,A,I,C,T,S,O,M,E,x,h,y,w,P,B,F,k,D,v,L,R,U,N,j,K,G,q,V,$,Y,J,H,W,X,z,Q,Z,ee,et,eo,er,ea,en,ei,es,ec,eu,el,e_,ep,ed,eg,em,ef,eb,eA,eI,eC,eT,eS,eO,eM,eE,ex,eh,ey,ew,eP,eB,eF,ek,eD,ev,eL,eR,eU,eN,ej,eK,eG,eq,eV,e$,eY,eJ,eH,eW,eX,ez,eQ,eZ,e0,e6,e1,e4,e3,e2,e5,e8,e9,e7,te,tt,to,tr,ta,tn,ti,ts,tc,tu,tl,t_,tp,td,tg,tm,tf,tb,tA,tI,tC,tT,tS,tO,tM,tE,tx,th,ty,tw,tP,tB,tF,tk,tD,tv,tL=__webpack_require__("@bluefin-exchange/bluefin7k-aggregator-sdk");let tR=require("@mysten/sui/transactions"),tU=require("bignumber.js");var tN=__webpack_require__.n(tU),tj=__webpack_require__("./src/meta-aggregator/converter-route/sevenk-aggregator-converter.ts");function tK(e,t){console.error(`NOODLES_SDK_AGGREGATOR_ROUTE_ERROR aggregator=${e} error=${function(e){if(e instanceof Error)return`${e.name}: ${e.message}`;if("string"==typeof e)return e;try{return JSON.stringify(e)}catch{return String(e)}}(t)}`)}class tG{_config;_suiClient;constructor(e,t){this._config=e,this._suiClient=t}async getTradeRoute({coinInAmount:e,coinInType:t,coinOutType:o,tradeFee:r,metaAggregator:a,supportedProtocols:n}){try{this._config.sevenKApiKey&&tL.Config.setApiKey(this._config.sevenKApiKey);let i=r?r.tradeFeePercent:this._config.defaultTradeFee.tradeFeePercent,s=n??(a?tj.m.SUPPORTED_PROTOCOLS:void 0);return await (0,tL.getQuote)({tokenIn:t,tokenOut:o,amountIn:e.toString(),commissionBps:1e4*i,sources:s})}catch(e){return tK("sevenk",e),null}}async getTransaction({walletAddress:e,completeRoute:t,slippage:o,tradeFee:r}){let a,n;r?(a=r.tradeFeePercent,n=r.tradeFeeRecipientAddress):(a=this._config.defaultTradeFee.tradeFeePercent,n=this._config.defaultTradeFee.tradeFeeRecipientAddress);let i=await (0,tL.buildTx)({quoteResponse:t,slippage:o,accountAddress:e,commission:{partner:n,commissionBps:1e4*a}});return i.tx instanceof tL.BluefinXTx?tR.Transaction.from(i.tx.txBytes).build({client:this._suiClient}):(i.tx.setSender(e),i.tx.build({client:this._suiClient}))}}(tG||(tG={})).toCommonTradeRoutes=function(e){let t=[];if(!e.routes||0===e.routes.length)return null;for(let o of e.routes){let e=[],r={};for(let t of o.hops){for(let e of t.pool.allTokens)r[e.address]=e.decimal;let o=r[t.tokenIn]??0,a=r[t.tokenOut]??0,n=BigInt(new(tN())(t.tokenInAmount).multipliedBy(10**o).toFixed(0,3)),i=BigInt(new(tN())(t.tokenOutAmount).multipliedBy(10**a).toFixed(0,3));e.push({poolAddress:t.poolId,coinIn:t.tokenIn,coinOut:t.tokenOut,amountIn:n,amountOut:i})}if(0===e.length)continue;let a=r[o.tokenIn]??0,n=r[o.tokenOut]??0,i=BigInt(new(tN())(o.tokenInAmount).multipliedBy(10**a).toFixed(0,3)),s=BigInt(new(tN())(o.tokenOutAmount).multipliedBy(10**n).toFixed(0,3));t.push({paths:e,coinIn:o.tokenIn,coinOut:o.tokenOut,amountIn:i,amountOut:s})}return 0===t.length?null:{coinIn:e.tokenIn,coinOut:e.tokenOut,amountIn:BigInt(e.swapAmountWithDecimal),amountOut:BigInt(e.returnAmountAfterCommissionWithDecimal),routes:t}};let tq=require("aftermath-ts-sdk");function tV(e){return"bigint"==typeof e?e:"string"==typeof e&&/^\d+$/.test(e)?BigInt(e):e}function t$(e){return{...e,coinIn:e.coinIn?{...e.coinIn,amount:tV(e.coinIn.amount),tradeFee:tV(e.coinIn.tradeFee)}:e.coinIn,coinOut:e.coinOut?{...e.coinOut,amount:tV(e.coinOut.amount),tradeFee:tV(e.coinOut.tradeFee)}:e.coinOut}}class tY{_config;_aftermathClient;_suiClient;constructor(e,t){this._config=e,this._suiClient=t}async aftermathClient(){if(this._aftermathClient)return this._aftermathClient;if(this._config.aftermathApiEndpoint?this._aftermathClient=new tq.Aftermath(this._config.aftermathApiEndpoint):this._aftermathClient=new tq.Aftermath("MAINNET"),await this._aftermathClient.init(),this._config.aftermathApiKey){let e=tq.Helpers.keypairFromPrivateKey(this._config.aftermathApiKey);await this._aftermathClient.Auth().init({async signMessageCallback({message:t}){let{signature:o}=await e.signPersonalMessage(t);return{signature:o}},walletAddress:e.toSuiAddress()})}return this._aftermathClient}async getTradeRoute({coinInAmount:e,coinInType:t,coinOutType:o,tradeFee:r}){try{let a;a=r?{recipient:r.tradeFeeRecipientAddress,feePercentage:r.tradeFeePercent}:{recipient:this._config.defaultTradeFee.tradeFeeRecipientAddress,feePercentage:this._config.defaultTradeFee.tradeFeePercent};let n=await this.aftermathClient();return await n.Router().getCompleteTradeRouteGivenAmountIn({coinInAmount:e,coinInType:t,coinOutType:o,externalFee:a})}catch(e){return tK("aftermath",e),null}}async getTransaction({completeRoute:e,walletAddress:t,slippage:o}){let r=await this.aftermathClient(),a=await r.Router().getTransactionForCompleteTradeRoute({completeRoute:function(e){if("object"!=typeof e||null===e)return e;let t=t$(e);return{...t,routes:Array.isArray(t.routes)?t.routes.map(e=>{let t=t$(e);return{...t,portion:tV(t.portion),paths:Array.isArray(t.paths)?t.paths.map(e=>t$(e)):t.paths}}):t.routes,feeBreakdown:Array.isArray(t.feeBreakdown)?t.feeBreakdown.map(e=>({...e,amount:tV(e.amount)})):t.feeBreakdown}}(e),walletAddress:t,slippage:o,isSponsoredTx:!1});return a.setSender(t),a.build({client:this._suiClient})}}(tY||(tY={})).toCommonTradeRoutes=function(e){if(0===e.routes.length)return null;let t=[];for(let o of e.routes){let e=[];for(let t of o.paths)e.push({poolAddress:t.poolId,coinIn:t.coinIn.type,coinOut:t.coinOut.type,amountIn:BigInt(t.coinIn.amount),amountOut:BigInt(t.coinOut.amount)});0!==e.length&&t.push({paths:e,coinIn:o.coinIn.type,coinOut:o.coinOut.type,amountIn:o.coinIn.amount,amountOut:o.coinOut.amount})}return 0===t.length?null:{coinIn:e.coinIn.type,coinOut:e.coinOut.type,amountIn:e.coinIn.amount,amountOut:e.coinOut.amount,routes:t}};class tJ{_config;_suiClient;constructor(e,t){this._config=e,this._suiClient=t}async getTradeRoute({coinInAmount:e,coinInType:t,coinOutType:o,tradeFee:r}){try{let a;a=r?{fee:1e4*r.tradeFeePercent,receiverAddress:r.tradeFeeRecipientAddress}:{fee:1e4*this._config.defaultTradeFee.tradeFeePercent,receiverAddress:this._config.defaultTradeFee.tradeFeeRecipientAddress};let{getQuote:n}=await import("@naviprotocol/astros-aggregator-sdk");return await n(t,o,e,this._config.astrosApiKey,{byAmountIn:!0,serviceFee:a})}catch(e){return tK("astros",e),null}}returnMergedCoins(e,t,o){if(t.length<2)return e.object(t[0].coinObjectId);let r=0,a=[];t.sort((e,t)=>Number(t.balance)-Number(e.balance)).slice(1).forEach(e=>{r>=o||(r+=Number(e.balance),a.push(e.coinObjectId))});let n=t[0].coinObjectId;return e.mergeCoins(n,a),e.object(n)}async getTransaction({completeRoute:e,walletAddress:t,slippage:o,tradeFee:r}){var a;let n,i;n=r?{fee:r.tradeFeePercent,receiverAddress:r.tradeFeeRecipientAddress}:{fee:this._config.defaultTradeFee.tradeFeePercent,receiverAddress:this._config.defaultTradeFee.tradeFeeRecipientAddress};let s=new(tN())(e.amount_out).multipliedBy(1-o-n.fee).toNumber(),c=new tR.Transaction,{buildSwapPTBFromQuote:u,getCoins:l}=await import("@naviprotocol/astros-aggregator-sdk");if("0x2::sui::SUI"===(a=e.from)||"0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"===a)i=c.splitCoins(c.gas,[c.pure.u64(e.amount_in)]);else{let o=await l(this._suiClient,t,e.from),r=this.returnMergedCoins(c,o.data,Number.parseFloat(e.amount_in));i=c.splitCoins(r,[c.pure.u64(e.amount_in)])}let _=await u(t,c,s,i,e,void 0,!1,this._config.astrosApiKey,{serviceFee:n});return c.transferObjects([_],t),c.setSender(t),c.build({client:this._suiClient})}}(tJ||(tJ={})).toCommonTradeRoutes=function(e,t,o){if(0===e.routes.length)return null;let r=[];for(let t of e.routes){let e=[];for(let o of t.path)e.push({poolAddress:o.id,coinIn:o.from,coinOut:o.target,amountIn:BigInt(o.amount_in),amountOut:BigInt(o.amount_out)});0!==e.length&&r.push({amountIn:BigInt(t.amount_in),amountOut:BigInt(t.amount_out),coinIn:e[0].coinIn,coinOut:e[e.length-1].coinOut,paths:e})}return 0===r.length?null:{coinIn:t,coinOut:o,amountIn:BigInt(e.amount_in),amountOut:BigInt(e.amount_out),routes:r}};var tH=__webpack_require__("@cetusprotocol/aggregator-sdk");let tW=require("bn.js");var tX=__webpack_require__.n(tW);(ep||(ep={})).equals=function(e,t){return e.tradeFeePercent===t.tradeFeePercent&&e.tradeFeeRecipientAddress===t.tradeFeeRecipientAddress};var tz=__webpack_require__("./src/meta-aggregator/converter-route/cetus-aggregator-converter.ts");class tQ{_config;_suiClient;_cetusClient;getCetusClientConfig({walletAddress:e,overlayFeeReceiver:t,overlayFeeRate:o}){return{client:this._suiClient,overlayFeeReceiver:t,overlayFeeRate:o,env:tH.Env.Mainnet,signer:e,...this._config.cetusApiKey&&this._config.cetusApiEndpoint?{apiKey:this._config.cetusApiKey,endpoint:this._config.cetusApiEndpoint}:{},partner:this._config.cetusPartnerId}}constructor(e,t){this._config=e,this._suiClient=t}cetusClient(e,t){return t&&!ep.equals(t,this._config.defaultTradeFee)?new tH.AggregatorClient(this.getCetusClientConfig({walletAddress:e,overlayFeeReceiver:t.tradeFeeRecipientAddress,overlayFeeRate:t.tradeFeePercent})):(this._cetusClient||(this._cetusClient=new tH.AggregatorClient(this.getCetusClientConfig({walletAddress:e,overlayFeeReceiver:this._config.defaultTradeFee.tradeFeeRecipientAddress,overlayFeeRate:this._config.defaultTradeFee.tradeFeePercent}))),this._cetusClient)}async getTradeRoute({coinInAmount:e,coinInType:t,coinOutType:o,tradeFee:r,metaAggregator:a,supportedProtocols:n}){try{let i=this.cetusClient(void 0,r),s=n??(a?tz.M.SUPPORTED_PROTOCOLS:void 0);return await i.findRouters({from:t,target:o,amount:new(tX())(e.toString()),byAmountIn:!0,providers:s})}catch(e){return tK("cetus",e),null}}async getTransaction({completeRoute:e,walletAddress:t,slippage:o,tradeFee:r}){let a=this.cetusClient(t,r),n=new tR.Transaction;return n.setSender(t),await a.fastRouterSwap({router:e,txb:n,slippage:o}),n.build({client:this._suiClient})}}(tQ||(tQ={})).toCommonTradeRoutes=function(e,t,o){if(0===e.paths.length)return null;let r=[],a=[],n=[];for(let t=0;t<e.paths.length;t++){let o=e.paths[t],r={poolAddress:o.id,amountIn:BigInt(o.amountIn),amountOut:BigInt(o.amountOut),coinIn:o.from,coinOut:o.target};if(n.push(r),t===e.paths.length-1)a.push([...n]);else{let r=e.paths[t+1];o.target!==r.from&&(a.push([...n]),n=[])}}for(let e of a)0!==e.length&&r.push({amountIn:e[0].amountIn,amountOut:e[e.length-1].amountOut,coinIn:e[0].coinIn,coinOut:e[e.length-1].coinOut,paths:e});return 0===r.length?null:{coinIn:t,coinOut:o,amountIn:BigInt(e.amountIn.toString(10)),amountOut:BigInt(e.amountOut.toString(10)),routes:r}};var tZ=((t={}).ASTROS="ASTROS",t.AFTERMATH="AFTERMATH",t.SEVENK="7K",t.CETUS="CETUS",t.FLOWX="FLOWX",t),t0=__webpack_require__("@flowx-finance/sdk"),t6=__webpack_require__("./src/meta-aggregator/converter-route/flowx-aggregator-converter.ts");class t1{_config;_suiClient;constructor(e,t){this._config=e,this._suiClient=t}getCommission(e,t){let o,r;return t?(o=t.tradeFeePercent,r=t.tradeFeeRecipientAddress):(o=this._config.defaultTradeFee.tradeFeePercent,r=this._config.defaultTradeFee.tradeFeeRecipientAddress),new t0.Commission(r,new t0.Coin(e),t0.CommissionType.PERCENTAGE,1e6*o,!0)}async getTradeRoute({coinInAmount:e,coinInType:t,coinOutType:o,tradeFee:r,metaAggregator:a,supportedProtocols:n}){let i=new t0.AggregatorQuoter("mainnet",this._config.flowxApiKey),s=n??(a?t6.m.SUPPORTED_PROTOCOLS:void 0);try{return await i.getRoutes({tokenIn:t,tokenOut:o,amountIn:e.toString(),commission:this.getCommission(t,r),includeSources:s})}catch(e){return tK("flowx",e),null}}async getTransaction({walletAddress:e,completeRoute:t,slippage:o,tradeFee:r}){return new t0.TradeBuilder("mainnet",t.routes).sender(e).slippage(1e6*o).commission(this.getCommission(t.coinIn.coinType,r)).build().buildTransaction({client:this._suiClient}).then(t=>(t.setSender(e),t.build({client:this._suiClient})))}}(t1||(t1={})).toCommonTradeRoutes=function(e){if(0===e.routes.length)return null;let t=[];for(let o of e.routes){let e=[];for(let t of o.paths)e.push({amountIn:BigInt(t.amountIn.toString()),amountOut:BigInt(t.amountOut.toString()),coinIn:t.input.coinType,coinOut:t.output.coinType,poolAddress:t.pool.id});0!==e.length&&t.push({amountIn:BigInt(o.amountIn.toString()),amountOut:BigInt(o.amountOut.toString()),coinIn:o.input.coinType,coinOut:o.output.coinType,paths:e})}return 0===t.length?null:{coinIn:e.coinIn.coinType,coinOut:e.coinOut.coinType,amountIn:BigInt(e.amountIn.toString()),amountOut:BigInt(e.amountOut.toString()),routes:t}},(o=ed||(ed={})).PACKAGE_ID_V4="0x7e6aa6e179466ab2814425a780b122575296d011119fa69d27f289f5a28814bd",o.MEMEZ_AV_OBJECT_ID="0x2319e3e76dfad73d8f4684bdbf42be4f32d8ce4521dd61becc8261dc918d82c0";var t4=__webpack_require__("@minswap/tiny-invariant"),t3=__webpack_require__.n(t4);async function t2(e,t){return(await t5(e,t)).fields}async function t5(e,t){let o=await e.getObject({id:t,options:{showContent:!0}}),r=o.data?.content;return t3()(r,"Pool object not found or has no content"),t3()("moveObject"===r.dataType,"Object is not a Move object"),r}function t8(e,t){let o=BigInt(e),r=BigInt(1e4*Number(t));if(r===BigInt(0))return[o.toString()];let a=o*r/BigInt(1e4);return[(o-a).toString(),a.toString()]}function t9(e,t){if(!t||0>=Number(t))return BigInt(e);let o=BigInt(e),r=BigInt(1e4*Number(t));if(r===BigInt(0))return o;let a=o*r/BigInt(1e4);return o-a}async function t7(e,t,o,r){let{effects:{gasUsed:a,status:n}}=await e.devInspectTransactionBlock({sender:o,transactionBlock:t});if("success"!==n.status)throw Error(`Transaction failed during dev inspect: ${n.error??""}`);let i=BigInt(a.computationCost)+BigInt(a.storageCost)-BigInt(a.storageRebate),s=BigInt(1e4*Number(r));return i*(BigInt(1e4)+s)/BigInt(1e4)}((r=eg||(eg={})).U64||(r.U64={})).mulDivUp=function(e,t,o){let r=BigInt(0);return e*t%o>BigInt(0)&&(r=BigInt(1)),e*t/o+r};var oe=em||(em={});function ot(e){return t3()(BigInt(e)<=BigInt(1e4),"Bps overflow"),BigInt(e)}oe.calcUp=function(e,t){let o,r=BigInt(e.pos0),a=BigInt(1e4);return o=r*t%a!==BigInt(0)?BigInt(1):BigInt(0),r*t/a+o},oe.sub=function(e,t){return t3()(BigInt(e.pos0)>=BigInt(t.pos0),"Bps underflow"),{pos0:(BigInt(e.pos0)-BigInt(t.pos0)).toString()}},oe.value=function(e){return BigInt(e.pos0)},oe.new_=function(e){return{pos0:ot(e).toString()}},oe.assertOverflow=ot,((a=ef||(ef={})).MemezFun||(a.MemezFun={})).isSniperProtectedMemezFun=async function(e,t){return(await t2(e,t)).public_key.length>0},(n=a.MemezFees||(a.MemezFees={})).takeWithDiscount=function(e,t,o){if("Value"===e.variant){let o=BigInt(e.fields.pos0);if(o===BigInt(0))return BigInt(0);if(t>=o)return o;throw Error(`Insufficient amount to cover fee. Required: ${o}, provided: ${t}`)}if("Percentage"===e.variant){let r=e.fields.pos0.fields;if(BigInt(r.pos0)===BigInt(0))return BigInt(0);let a=em.calcUp(em.sub(r,o),t);if(t>=a)return a;throw Error(`Insufficient amount to cover fee. Required: ${a}, provided: ${t}`)}throw Error("Unknown fee variant")},n.calculateWithDiscount=function(e,t,o){if("Value"===e.variant)return BigInt(e.fields.pos0);if("Percentage"===e.variant){let r=e.fields.pos0.fields;return em.calcUp(em.sub(r,t),o)}throw Error("Unknown fee variant")},(a.MemezBurner||(a.MemezBurner={})).calculate=function(e,t){if(em.value(e.fee.fields)===BigInt(0)||t===BigInt(0)||t>=BigInt(e.target_liquidity))return em.new_(0);let o=BigInt(1e4);return em.new_(eg.U64.mulDivUp(em.value(e.fee.fields),eg.U64.mulDivUp(t,o,BigInt(e.target_liquidity)),o))},(i=a.MemezPump||(a.MemezPump={})).getPumpState=async function(e,t){return await t2(e,t.inner_state)},i.pump=function(e,t){let o=e.constant_product.fields,r=a.MemezFees.takeWithDiscount(o.quote_swap_fee,t,o.quote_referrer_fee.fields),n=t-r,i=BigInt(o.meme_balance),s=BigInt(o.quote_balance),c=i*n/(BigInt(o.virtual_liquidity)+s+n),u=a.MemezFees.takeWithDiscount(o.meme_swap_fee,c,o.meme_referrer_fee.fields);return c-u},i.dump=function(e,t){let o=e.constant_product.fields,r=a.MemezFees.takeWithDiscount(o.meme_swap_fee,t,o.meme_referrer_fee.fields),n=t-r,i=BigInt(o.meme_balance),s=BigInt(o.quote_balance),c=BigInt(o.virtual_liquidity),u=a.MemezBurner.calculate(o.burner.fields,s),l=em.calcUp(u,n),_=n-(em.value(u)!==BigInt(0)?l:BigInt(0)),p=(c+s)*_/(i+_);p>s&&(p=s);let d=a.MemezFees.takeWithDiscount(o.quote_swap_fee,p,o.quote_referrer_fee.fields);return p-d},(s=eb||(eb={})).getCurveAmountAfterBuy=async function(e,t){let{suiAmount:o,poolId:r,frontendFee:a}=e,n=await t2(t,r),i=await ef.MemezPump.getPumpState(t,n);return o=t9(o,a),ef.MemezPump.pump(i,o)},s.getSuiAmountAfterSell=async function(e,t){let{curveAmount:o,poolId:r,frontendFee:a}=e,n=await t2(t,r),i=await ef.MemezPump.getPumpState(t,n);return t9(ef.MemezPump.dump(i,o),a)};var oo=__webpack_require__("./src/constant/sui.ts"),or=__webpack_require__("@mysten/sui/utils");let oa=async(e,t,o,r)=>{let a,n=[],i=!0;for(;i;)try{let o=await e.getCoins({owner:t,coinType:r,cursor:a});n=[...n,...o.data],i=o.hasNextPage,a=o.nextCursor}catch(e){console.error("Error fetching data:",e),i=!1}let s=((e,t,o)=>{let r;if(e?.length){do{r=!1;for(let a=0;a<e.length-1;a++){let n=BigInt(e[a][t]),i=BigInt(e[a+1][t]);if("desc"===o?n<i:n>i){let t=e[a];e[a]=e[a+1],e[a+1]=t,r=!0}}}while(r);return e}})(n.map(e=>({...e,balance:e.balance})),"balance","desc")??[],c="0",u=[],l=[];for(let e of s)if(c=(BigInt(e.balance)+BigInt(c)).toString(10),u.push(e.coinObjectId),l.push(e),BigInt(c)>=BigInt(o))break;return{objectIds:u,balance:c,objectCoins:l}};async function on(e,t){let{account:o,amount:r,splits:a,coinType:n,inheritTx:i,inspecTransaction:s,isSponsored:c=!1}=e,u=i??new tR.Transaction,{objectIds:l,balance:_}=await oa(t,o,r,n);if(BigInt(_)<BigInt(r))throw Error(`Insufficient balance for type ${n}. Required: ${r}, Available: ${_}`);if(0===l.length)throw Error(`No coins found for type ${n} with sufficient balance. Required: ${r}`);let p=l[0];if((0,or.normalizeStructTag)(n)===(0,or.normalizeStructTag)(oo.P9)&&!c){let e;return s?(l.length>1&&u.mergeCoins(u.object(p),l.slice(1).map(e=>u.object(e))),e=u.splitCoins(u.object(p),a)):e=u.splitCoins(u.gas,a),{tx:u,coinData:e}}l.length>1&&u.mergeCoins(u.object(p),l.slice(1).map(e=>u.object(e)));let d=u.splitCoins(u.object(p),a);return{tx:u,coinData:d}}let oi="0x62412b7268c35f3808336aee57a52836501f40b8ba5d936f8ad275e672befd04";async function os(e,t){let o,r,{inputAmount:a,accountAddress:n,frontendFee:i,frontendFeeRecipient:s,extendTx:c,isSponsored:u}=e;t3()(e.inCoinType===oo.P9||e.inCoinType===oo.nD,"Input must be SUI");let{tx:l,coinIn:_}=c||{},p=t8(a,i||"0"),d=l||new tR.Transaction;if(_)o=d.splitCoins(_,p),eA.transferOrDestroyZeroCoin(d,oo.P9,_,n);else{let{coinData:e}=await on({account:n,amount:a,splits:p,coinType:oo.P9,inheritTx:d,isSponsored:u||!1},t);o=e}if(i&&s){let[e,t]=o;r=e,d.transferObjects([t],d.pure.address(s||n))}else[r]=o;return{tx:d,coinOut:r}}async function oc(e,t,o){if(t3()(t.outCoinType===oo.P9||t.outCoinType===oo.nD,"Output must be SUI"),0>=Number(t.frontendFee||0))return{tx:e,coinOut:o};let r=e.moveCall({target:"0x2::coin::value",typeArguments:[t.outCoinType],arguments:[o]}),a=e.moveCall({target:`${oi}::math::mul_div_u64`,typeArguments:[],arguments:[r,e.pure.u64(BigInt(1e4*Number(t.frontendFee||"0"))),e.pure.u64(BigInt(1e4))]}),n=e.moveCall({target:"0x2::coin::split",typeArguments:[t.outCoinType],arguments:[o,a]});return e.transferObjects([n],e.pure.address(t.frontendFeeRecipient||t.accountAddress)),{tx:e,coinOut:o}}(eA||(eA={})).transferOrDestroyZeroCoin=function(e,t,o,r){e.moveCall({target:`${oi}::utils::transfer_or_destroy`,typeArguments:[t],arguments:[o,e.pure.address(r)]})};var ou=eI||(eI={});async function ol(e){let t=e||new tR.Transaction;return t.moveCall({target:`${ed.PACKAGE_ID_V4}::memez_allowed_versions::get_allowed_versions`,arguments:[t.object(ed.MEMEZ_AV_OBJECT_ID)],typeArguments:[]})}ou.getAllowedVersions=ol,ou.buildBuyTx=async function(e,t){t3()(!await ef.MemezFun.isSniperProtectedMemezFun(t,e.poolId),"This coin is a sniper protected coin, please use the Blast Fun website to trade it.");let{tx:o,coinOut:r}=await os(e,t);t3()(r,"Coin out is required");let a=o.moveCall({target:`${ed.PACKAGE_ID_V4}::memez_pump::pump`,typeArguments:[e.outCoinType,oo.P9],arguments:[o.object(e.poolId),r,o.pure.vector("address",[]),o.pure.vector("vector<u8>",[]),o.pure.u64(e.minAmountOut),await ol(o)]});return{tx:o,coinOut:a}},ou.buildSellTx=async function(e,t){t3()(e.outCoinType===oo.P9||e.outCoinType===oo.nD,"Output must be SUI");let o=await t2(t,e.poolId),{tx:r,coinData:a}=await on({amount:e.inputAmount,coinType:e.inCoinType,inheritTx:e.extendTx?.tx,account:e.accountAddress,splits:[e.inputAmount]},t),[n]=a,[i]=r.moveCall({target:`${ed.PACKAGE_ID_V4}::memez_pump::dump`,typeArguments:[e.inCoinType,e.outCoinType],arguments:[r.object(e.poolId),r.object(o.ipx_meme_coin_treasury),n,r.pure.vector("address",[]),r.pure.u64(e.minAmountOut),await ol(r)]});return await oc(r,e,i)};let o_=require("@interest-protocol/sui-core-sdk");var op=__webpack_require__("@mysten/sui/jsonRpc");let od={network:o_.Network.MAINNET,fullNodeUrl:(0,op.getJsonRpcFullnodeUrl)("mainnet")};async function og(){if(!e){let{MemezPumpSDK:t}=await import("@interest-protocol/memez-fun-sdk");e=new t(od)}return e}async function om(e,t){let{inheritTx:o,sender:r,feeAmount:a,suiInputAmount:n}=e,i=o||new tR.Transaction;a>BigInt(0)&&i.setGasBudget(a);let{objectCoins:s}=await oa(t,r,(BigInt(n||"0")+a).toString(),oo.P9);return i.setGasPayment(s.map(e=>({objectId:e.coinObjectId,version:e.version,digest:e.digest}))),i}(c=eC||(eC={})).getCurveAmountAfterBuy=async function(e){let{suiAmount:t,poolId:o,frontendFee:r}=e;t=t9(t,r);let{memeAmountOut:a}=await (await og()).quotePump({pool:o,amount:t});return a},c.getSuiAmountAfterSell=async function(e){let{curveAmount:t,poolId:o,frontendFee:r}=e,{quoteAmountOut:a}=await (await og()).quoteDump({pool:o,amount:t});return t9(a,r)};var of=eT||(eT={});async function ob(e,t){let{tx:o,coinOut:r}=await os(e,t);t3()(r,"Coin out is required");let{memeCoin:a,tx:n}=await (await og()).pump({pool:e.poolId,quoteCoin:r,minAmountOut:e.minAmountOut,tx:o});return{tx:n,coinOut:a}}async function oA(e,t){t3()((0,oo.tC)(e.outCoinType),"Output must be SUI");let{tx:o,coinData:r}=await on({amount:e.inputAmount,coinType:e.inCoinType,inheritTx:e.extendTx?.tx,account:e.accountAddress,splits:[e.inputAmount]},t),[a]=r,{quoteCoin:n,tx:i}=await (await og()).dump({pool:e.poolId,memeCoin:a,tx:o,minAmountOut:e.minAmountOut});return await oc(i,e,n)}of.buildBuyTx=ob,of.buildSellTx=oA,of.getBuyTransaction=async function({coinInAmount:e,coinInType:t,coinOutType:o,poolId:r,slippage:a,walletAddress:n,tradeFee:i},s){t3()((0,oo.tC)(t),"coinInType must be SUI for buy transaction"),t3()(o!==t,"coinOutType must be different from coinInType"),t3()(a>=0&&a<1,"slippage must be between 0 (inclusive) and 1 (exclusive)"),t3()(e>0,"coinInAmount must be greater than 0");let c=await eC.getCurveAmountAfterBuy({poolId:r,suiAmount:e,frontendFee:i?i.tradeFeePercent:void 0}),u=BigInt(new(tN())(c.toString()).multipliedBy(1-a).toFixed(0,3)),{tx:l,coinOut:_}=await ob({accountAddress:n,inCoinType:t,outCoinType:o,inputAmount:e.toString(),minAmountOut:u.toString(),poolId:r,frontendFee:i?i.tradeFeePercent:void 0,frontendFeeRecipient:i?i.tradeFeeRecipientAddress:void 0,extendTx:void 0,isSponsored:!1},s);t3()(_,"Coin out is required"),l.transferObjects([_],l.pure.address(n)),l.setSender(n);let p=await t7(s,l,n,0);return(l=await om({inheritTx:l,sender:n,feeAmount:p,suiInputAmount:e},s)).build({client:s})},of.getSellTransaction=async function({coinInAmount:e,coinInType:t,coinOutType:o,poolId:r,slippage:a,walletAddress:n,tradeFee:i},s){t3()((0,oo.tC)(o),"coinOutType must be SUI for sell transaction"),t3()(o!==t,"coinOutType must be different from coinInType"),t3()(a>=0&&a<1,"slippage must be between 0 (inclusive) and 1 (exclusive)"),t3()(e>0,"coinInAmount must be greater than 0");let c=await eC.getSuiAmountAfterSell({poolId:r,curveAmount:e,frontendFee:i?i.tradeFeePercent:void 0}),u=BigInt(new(tN())(c.toString()).multipliedBy(1-a).toFixed(0,3)),{tx:l,coinOut:_}=await oA({accountAddress:n,inCoinType:t,outCoinType:o,inputAmount:e.toString(),minAmountOut:u.toString(),poolId:r,frontendFee:i?i.tradeFeePercent:void 0,frontendFeeRecipient:i?i.tradeFeeRecipientAddress:void 0,extendTx:void 0,isSponsored:!1},s);t3()(_,"Coin out is required"),l.transferObjects([_],l.pure.address(n)),l.setSender(n);let p=await t7(s,l,n,0);return(l=await om({inheritTx:l,sender:n,feeAmount:p},s)).build({client:s})};var oI=((u={}).BLAST_FUN="BLAST_FUN",u.MOONBAGS="MOONBAGS",u);(l=eS||(eS={})).PACKAGE_ID="0xb8df325010942634a4afb3db3901ee215546af43a4ec4af781e7213b0bba7290",l.CONFIG_OBJECT_ID="0x74aecf86067c6913960ba4925333aefd2b1f929cafca7e21fd55a8f244b70499",l.LOCK_CONFIG_OBJECT_ID="0xfb09822d9808980abd04c51321adb850701f5f55535c6206658ef4d910c3e9be",l.BURN_MANAGER_OBJECT_ID="0x1d94aa32518d0cb00f9de6ed60d450c9a2090761f326752ffad06b2e9404f845",l.POOLS_OBJECT_ID="0xf699e7f2276f5c9a75944b37a0c5b5d9ddfd2471bf6242483b03ab2887d198d0",l.GLOBAL_CONFIG_OBJECT_ID="0xdaa46292632c3c4d8f31f23ea0f9b36a28ff3677e9684980e4438403a67a3d8f",l.FEE_DENOMINATOR=BigInt(1e4),(p=(_=eO||(eO={})).Curves||(_.Curves={})).calculateAddLiquidityCost=function(e,t,o){return e*t/(t-o)-e},p.calculateRemoveLiquidityReturn=function(e,t,o){return t-e*t/(e+o)},p.calculateTokenAmountReceived=function(e,t,o){return t-e*t/(e+o)},(d=_.Moonbags||(_.Moonbags={})).getDynamicVirtualTokenReserves=async function(e,t){let o=await e.getDynamicFieldObject({parentId:t,name:{type:"vector<u8>",value:"virtual_token_reserves"}});if(o.data)return BigInt(o.data.content.fields.value)},d.buyExactInReturnsWithLock=function(e){let{inputAmount:t,amountIn:o,pool:r,config:a,dynamicVirtualTokenReserves:n}=e,i=BigInt(r.virtual_sui_reserves),s=BigInt(r.virtual_token_reserves),c=BigInt(r.remain_token_reserves.fields.balance),u=_.Curves.calculateRemoveLiquidityReturn(i,s,o),l=s-(n||c),p=u,d=o;u>l&&(p=l,d=_.Curves.calculateAddLiquidityCost(i,s,l)+BigInt(1));let g=d*BigInt(a.platform_fee)/eS.FEE_DENOMINATOR;return t3()(t>=d+g,"Input amount is less than used SUI + fee"),{receivedCurve:p,receivedSui:t-d-g}},d.sellReturns=function(e){let{amountIn:t,pool:o,config:r}=e,a=BigInt(o.virtual_sui_reserves),n=BigInt(o.virtual_token_reserves),i=BigInt(o.real_sui_reserves.fields.balance),s=_.Curves.calculateRemoveLiquidityReturn(n,a,t);s>i&&(s=i);let c=s*BigInt(r.platform_fee)/eS.FEE_DENOMINATOR,u=s-c;return{receivedCurve:BigInt(0),receivedSui:u}},(g=eM||(eM={})).getCurveAmountAfterBuy=async function(e,t){let{suiAmount:o,poolId:r,frontendFee:a}=e,[n,i,s]=await Promise.all([t2(t,r),t2(t,eS.CONFIG_OBJECT_ID),eO.Moonbags.getDynamicVirtualTokenReserves(t,r)]);void 0!==a&&(o=t9(o,a));let c=o*eS.FEE_DENOMINATOR/(eS.FEE_DENOMINATOR+BigInt(i.platform_fee)),{receivedCurve:u}=eO.Moonbags.buyExactInReturnsWithLock({inputAmount:o,amountIn:c,pool:n,config:i,dynamicVirtualTokenReserves:s});return u},g.getSuiAmountAfterSell=async function(e,t){let{curveAmount:o,poolId:r,frontendFee:a}=e,[n,i]=await Promise.all([t2(t,r),t2(t,eS.CONFIG_OBJECT_ID)]),{receivedSui:s}=eO.Moonbags.sellReturns({amountIn:o,pool:n,config:i});return void 0!==a?t9(s,a):s},g.getUsedSuiForTx=async function(e,t){let{suiAmount:o,frontendFee:r}=e,a=await t2(t,eS.CONFIG_OBJECT_ID);return void 0!==r&&(o=t9(o,r)),o*eS.FEE_DENOMINATOR/(eS.FEE_DENOMINATOR+BigInt(a.platform_fee))};var oC=eE||(eE={});async function oT(e,t){let{tx:o,coinOut:r}=await os(e,t);t3()(r,"Coin out is required");let a=await eM.getUsedSuiForTx({suiAmount:BigInt(e.inputAmount),frontendFee:e.frontendFee},t),[n,i]=o.moveCall({target:`${eS.PACKAGE_ID}::moonbags::buy_exact_in_returns_with_lock`,typeArguments:[e.outCoinType],arguments:[o.object(eS.CONFIG_OBJECT_ID),o.object(eS.LOCK_CONFIG_OBJECT_ID),r,o.pure.u64(a),o.pure.u64(e.minAmountOut),o.object(eS.BURN_MANAGER_OBJECT_ID),o.object(eS.POOLS_OBJECT_ID),o.object(eS.GLOBAL_CONFIG_OBJECT_ID),o.object(oo.IC),o.object(oo.VV)]});return eA.transferOrDestroyZeroCoin(o,oo.P9,n,e.accountAddress),{tx:o,coinOut:i}}async function oS(e,t){t3()((0,oo.tC)(e.outCoinType),"Output must be SUI");let{tx:o,coinData:r}=await on({amount:e.inputAmount,coinType:e.inCoinType,inheritTx:e.extendTx?.tx,account:e.accountAddress,splits:[e.inputAmount]},t),[a]=r,[n,i]=o.moveCall({target:`${eS.PACKAGE_ID}::moonbags::sell_returns`,typeArguments:[e.inCoinType],arguments:[o.object(eS.CONFIG_OBJECT_ID),a,o.pure.u64(e.minAmountOut),o.object(oo.VV)]});return eA.transferOrDestroyZeroCoin(o,e.inCoinType,i,e.accountAddress),await oc(o,e,n)}oC.buildBuyTx=oT,oC.buildSellTx=oS,oC.getBuyTransaction=async function({coinInAmount:e,coinInType:t,coinOutType:o,poolId:r,slippage:a,walletAddress:n,tradeFee:i},s){t3()((0,oo.tC)(t),"coinInType must be SUI for buy transaction"),t3()(o!==t,"coinOutType must be different from coinInType"),t3()(a>=0&&a<1,"slippage must be between 0 (inclusive) and 1 (exclusive)"),t3()(e>0,"coinInAmount must be greater than 0");let c=await eM.getCurveAmountAfterBuy({poolId:r,suiAmount:e,frontendFee:i?i.tradeFeePercent:void 0},s),u=BigInt(new(tN())(c.toString()).multipliedBy(1-a).toFixed(0,3)),{tx:l,coinOut:_}=await oT({accountAddress:n,inCoinType:t,outCoinType:o,inputAmount:e.toString(),minAmountOut:u.toString(),poolId:r,frontendFee:i?i.tradeFeePercent:void 0,frontendFeeRecipient:i?i.tradeFeeRecipientAddress:void 0,extendTx:void 0,isSponsored:!1},s);t3()(_,"Coin out is required"),l.transferObjects([_],l.pure.address(n)),l.setSender(n);let p=await t7(s,l,n,0);return(l=await om({inheritTx:l,sender:n,feeAmount:p,suiInputAmount:e},s)).build({client:s})},oC.getSellTransaction=async function({coinInAmount:e,coinInType:t,coinOutType:o,poolId:r,slippage:a,walletAddress:n,tradeFee:i},s){t3()((0,oo.tC)(o),"coinOutType must be SUI for sell transaction"),t3()(o!==t,"coinOutType must be different from coinInType"),t3()(a>=0&&a<1,"slippage must be between 0 (inclusive) and 1 (exclusive)"),t3()(e>0,"coinInAmount must be greater than 0");let c=await eM.getSuiAmountAfterSell({poolId:r,curveAmount:e,frontendFee:i?i.tradeFeePercent:void 0},s),u=BigInt(new(tN())(c.toString()).multipliedBy(1-a).toFixed(0,3)),{tx:l,coinOut:_}=await oS({accountAddress:n,inCoinType:t,outCoinType:o,inputAmount:e.toString(),minAmountOut:u.toString(),poolId:r,frontendFee:i?i.tradeFeePercent:void 0,frontendFeeRecipient:i?i.tradeFeeRecipientAddress:void 0,extendTx:void 0,isSponsored:!1},s);t3()(_,"Coin out is required"),l.transferObjects([_],l.pure.address(n)),l.setSender(n);let p=await t7(s,l,n,0);return(l=await om({inheritTx:l,sender:n,feeAmount:p},s)).build({client:s})};var oO=__webpack_require__("./src/libs/pyth.ts");function oM(e){return e}function oE(e){return e}function ox(e){return new Proxy(e,{get(e,t){let o=e[t];return"function"==typeof o?o.bind(e):o}})}var oh=__webpack_require__("./src/libs/token-type.ts"),oy=__webpack_require__("./src/meta-aggregator/client/bluefin7k-client.ts"),ow=__webpack_require__("./src/meta-aggregator/client/cetus-client.ts"),oP=__webpack_require__("./src/meta-aggregator/client/error.ts"),oB=__webpack_require__("./src/meta-aggregator/client/flowx-client.ts"),oF=__webpack_require__("./src/meta-aggregator/aggregator/aggregator.ts");(m=ex||(ex={})).POOL_REGISTRY_OBJ_ID="0xfcc774493db2c45c79f688f88d28023a3e7d98e4ee9f48bbf5c7990f651577ae",m.PROTOCOL_FEE_VAULT_OBJ_ID="0xf194d9b1bcad972e45a7dd67dd49b3ee1e3357a00a50850c52cd51bb450e13b4",m.TREASURY_OBJ_ID="0x28e499dff5e864a2eafe476269a4f5035f1c16f338da7be18b103499abf271ce",m.INSURANCE_FUND_OBJ_ID="0xf0c40d67b078000e18032334c3325c47b9ec9f3d9ae4128be820d54663d14e3b",m.REFERRAL_VAULT_OBJ_ID="0x35d35b0e5b177593d8c3a801462485572fc30861e6ce96a55af6dc4730709278";var ok=__webpack_require__("./src/meta-aggregator/router/types.ts");(f=eh||(eh={})).LAST_PACKAGE_ID="0xf369250dc5a17e9d5a84a3b0cf5aea715c0682170e726dd601f03ade7ce4decb",f.swap=function(e){t3()(e.protocol===ok.S.AFTERMATH_CPMM);let{txb:t,swapContext:o,poolId:r,aToB:a,amountIn:n,coinAType:i,coinBType:s,coinLpType:c,packageId:u}=e;t.moveCall({target:`${u??f.LAST_PACKAGE_ID}::aftermath_cpmm_router::swap`,typeArguments:[i,s,c],arguments:[o,t.object(r),t.object(ex.POOL_REGISTRY_OBJ_ID),t.object(ex.PROTOCOL_FEE_VAULT_OBJ_ID),t.object(ex.TREASURY_OBJ_ID),t.object(ex.INSURANCE_FUND_OBJ_ID),t.object(ex.REFERRAL_VAULT_OBJ_ID),t.pure.bool(a),t.pure.u64(n)]})},(b=ey||(ey={})).STAKED_SUI_VAULT_OBJ_ID="0x2f8f6d5da7f13ea37daa397724280483ed062769813b6f31e9788e59cc88994d",b.SAFE_TREASURY_OBJECT_ID="0xeb685899830dd5837b47007809c76d91a098d52aabbf61e8ac467c59e5cc4610",b.REFERRAL_VAULT_OBJ_ID="0x4ce9a19b594599536c53edb25d22532f82f18038dc8ef618afd00fbbfb9845ef",b.VALIDATOR_ADDRESS="0xd30018ec3f5ff1a3c75656abf927a87d7f0529e6dc89c7ddd1bd27ecb05e3db2",(A=ew||(ew={})).LAST_PACKAGE_ID="0x148c4e7ff5b308b2d520e050e6a21d986dd3eb203e0aa3eaaba28000977aebf1",A.swap=function(e){let{txb:t,swapContext:o,aToB:r,amountIn:a,packageId:n}=e;if(!r)throw Error("AFSUI not support bToA swap");t.moveCall({target:`${n??A.LAST_PACKAGE_ID}::aftermath_lsd_router::swap`,arguments:[o,t.object(ey.STAKED_SUI_VAULT_OBJ_ID),t.object(ey.SAFE_TREASURY_OBJECT_ID),t.object(or.SUI_SYSTEM_STATE_OBJECT_ID),t.object(ey.REFERRAL_VAULT_OBJ_ID),t.pure.address(ey.VALIDATOR_ADDRESS),t.pure.bool(r),t.pure.u64(a)]})},(I=eP||(eP={})).LAST_PACKAGE_ID="0x108d5d07cf873dec0bc8034db862db55d38e495c1f3ee0e124cf4861af834f25",I.swap=function(e){let{txb:t,swapContext:o,poolId:r,amountIn:a,aToB:n,coinBType:i,packageId:s}=e;t.moveCall({target:`${s??I.LAST_PACKAGE_ID}::alphafi_lsd_router::swap`,typeArguments:[i],arguments:[o,t.object(r),t.object(or.SUI_SYSTEM_STATE_OBJECT_ID),t.pure.bool(n),t.pure.u64(a)]})},(C=eB||(eB={})).MEMEZ_AV_OBJ_ID="0x2319e3e76dfad73d8f4684bdbf42be4f32d8ce4521dd61becc8261dc918d82c0",C.MEMEZ_FUN_OBJ_ID="0x943948644f06942b8b660ca541b10a05f6a7be23ce4069944a3665e7e698930d",C.IPX_TREASURY_STANDARD_OBJ_ID="0x051e11b667659192917db94e5175fa066909d4dfc04d2663528f499c4afc6999",(T=eF||(eF={})).LAST_PACKAGE_ID="0x8b1e84ed9bc79d31160600254d65810f6bc6d2352f174a60ed041017d0a2a87a",T.swap=function(e){t3()(e.protocol===ok.S.BLASTFUN,"Invalid protocol");let{txb:t,swapContext:o,coinAType:r,coinBType:a,aToB:n,amountIn:i,packageId:s}=e;t.moveCall({target:`${s??T.LAST_PACKAGE_ID}::blastfun_router::swap`,typeArguments:[r,a],arguments:[o,t.object(eB.MEMEZ_FUN_OBJ_ID),t.object(eB.IPX_TREASURY_STANDARD_OBJ_ID),t.object(eB.MEMEZ_AV_OBJ_ID),t.pure.bool(n),t.pure.u64(i)]})},(ek||(ek={})).GLOBAL_CONFIG_OBJ_ID="0x03db251ba509a8d5d8777b6338836082335d93eecbdd09a11e190a1cff51c352",(S=eD||(eD={})).LAST_PACKAGE_ID="0x9f8397124b6bdb55aeb7b5e43761e0e4dc94b9e22e94b1b25d8211d99df422d5",S.swap=function(e){let{txb:t,swapContext:o,poolId:r,amountIn:a,aToB:n,coinAType:i,coinBType:s,packageId:c}=e;t.moveCall({target:`${c??S.LAST_PACKAGE_ID}::bluefin_clmm_router::swap`,typeArguments:[i,s],arguments:[o,t.object(ek.GLOBAL_CONFIG_OBJ_ID),t.object(r),t.pure.bool(n),t.pure.u64(a),t.object(or.SUI_CLOCK_OBJECT_ID)]})},(ev||(ev={})).DEX_INFO_OBJ_ID="0x3f2d9f724f4a1ce5e71676448dc452be9a6243dac9c5b975a588c8c867066e92",(O=eL||(eL={})).LAST_PACKAGE_ID="0xf52bdd65ee347e8994170f8c331cf0c23a55281b3282467f14ccbb3e2a7f928f",O.swap=function(e){let{txb:t,swapContext:o,aToB:r,amountIn:a,coinAType:n,coinBType:i,packageId:s}=e;t.moveCall({target:`${s??O.LAST_PACKAGE_ID}::bluemove_cpmm_router::swap`,typeArguments:[n,i],arguments:[o,t.object(ev.DEX_INFO_OBJ_ID),t.pure.bool(r),t.pure.u64(a)]})},(eR||(eR={})).ORACLE_OBJ_ID="0xfa3975b98f3d0e3df18ed88ae6e69db31836b3f4212df02fae144b1e5a89ca8e",(M=eU||(eU={})).LAST_PACKAGE_ID="0x2dd7b04509f332bdb93a8f228ab5c40b34baee4645b2ebe5e5fa2c3502b2c088",M.swap=function(e){let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??M.LAST_PACKAGE_ID}::bolt_router::swap`,typeArguments:[a,n],arguments:[o,t.object(r),t.object(eR.ORACLE_OBJ_ID),t.object(or.SUI_CLOCK_OBJECT_ID),t.pure.u64(s),t.pure.bool(i)]})},(eN||(eN={})).GLOBAL_CONFIG="0xdaa46292632c3c4d8f31f23ea0f9b36a28ff3677e9684980e4438403a67a3d8f",(E=ej||(ej={})).LAST_PACKAGE_ID="0xb3dbb229464cb14b9f8cfa087e5b162623c8f485395dc9b975e263a5ee7051e4",E.swap=function(e){let{txb:t,swapContext:o,coinAType:r,coinBType:a,poolId:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??E.LAST_PACKAGE_ID}::cetus_clmm_router::swap`,typeArguments:[r,a],arguments:[o,t.object(eN.GLOBAL_CONFIG),t.object(n),t.pure.bool(i),t.pure.u64(s),t.object(or.SUI_CLOCK_OBJECT_ID)]})},(x=eK||(eK={})).GLOBAL_CONFIG_OBJ_ID="0xf31b605d117f959b9730e8c07b08b856cb05143c5e81d5751c90d2979e82f599",x.VERSIONED_OBJ_ID="0x05370b2d656612dd5759cbe80463de301e3b94a921dfc72dd9daa2ecdeb2d0a8",(h=eG||(eG={})).LAST_PACKAGE_ID="0x9ab3ba62b4327a7d90e4aed1c025b62736f035911ad7bab830c065ec84ef1ffa",h.swap=function(e){let{txb:t,swapContext:o,poolId:r,amountIn:a,aToB:n,coinAType:i,coinBType:s,packageId:c}=e,u=[o,t.object(eK.GLOBAL_CONFIG_OBJ_ID),t.object(eK.VERSIONED_OBJ_ID),t.object(r),t.pure.bool(n),t.pure.u64(a),t.object(or.SUI_CLOCK_OBJECT_ID)];t.moveCall({target:`${c??h.LAST_PACKAGE_ID}::cetus_dlmm_router::swap`,typeArguments:[i,s],arguments:u})},(y=eq||(eq={})).GLOBAL_CONFIG="0x699d455ab8c5e02075b4345ea1f91be55bf46064ae6026cc2528e701ce3ac135",y.DEEP_TYPE="0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",(w=eV||(eV={})).LAST_PACKAGE_ID="0xff274b63c0f6e3a01f3dd0e923aefcb3146e05e2f6bef4ae339e2703b085f8ed",w.swap=function(e){t3()(e.protocol===ok.S.DEEPBOOK_V3,"Invalid protocol");let{txb:t,swapContext:o,coinAType:r,coinBType:a,poolId:n,aToB:i,amountIn:s,deepFeeCoin:c,packageId:u}=e,l=c||t.moveCall({target:"0x2::coin::zero",typeArguments:[eq.DEEP_TYPE]});t.moveCall({target:`${u??w.LAST_PACKAGE_ID}::deepbook_v3_router::swap`,typeArguments:[r,a],arguments:[o,t.object(eq.GLOBAL_CONFIG),t.object(n),t.pure.u64(s),t.pure.bool(i),l,t.object(or.SUI_CLOCK_OBJECT_ID)]})},(e$||(e$={})).GLOBAL_OBJ_ID="0x935229a3c32399e9fb207ec8461a54f56c6af5744c64442435ac217ab28f0d59",(P=eY||(eY={})).LAST_PACKAGE_ID="0xfd86c0308327eae31c04560460ee6190220e4ae1cdf5b999eef1110bf0b0f2b8",P.swap=function(e){let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??P.LAST_PACKAGE_ID}::dip_cpmm_router::swap`,typeArguments:[a,n],arguments:[o,t.object(e$.GLOBAL_OBJ_ID),t.object(r),t.pure.bool(i),t.pure.u64(s)]})},(eJ||(eJ={})).FERRA_GLOBAL_CONFIG_ID="0x2cd8382c19e6994f16df204e9b8cddd04bdc486c251de75ac66ac4e48e3e7081",(B=eH||(eH={})).LAST_PACKAGE_ID="0x70c4318f67d88ebe4e83bacad15f9e2f5c8becd77695f63dc4bd9393730851cd",B.swap=function(e){let{txb:t,swapContext:o,poolId:r,aToB:a,amountIn:n,coinAType:i,coinBType:s,packageId:c}=e;t.moveCall({target:`${c??B.LAST_PACKAGE_ID}::ferra_clmm_router::swap`,typeArguments:[i,s],arguments:[o,t.object(eJ.FERRA_GLOBAL_CONFIG_ID),t.object(r),t.pure.bool(a),t.pure.u64(n),t.object("0x6")]})},(eW||(eW={})).FERRA_GLOBAL_CONFIG_ID="0x5c9dacf5a678ea15b8569d65960330307e23d429289ca380e665b1aa175ebeca",(F=eX||(eX={})).LAST_PACKAGE_ID="0x686e9eb19b04d46374c3fb82cb4ebb7b24ef8a9ae13f403915f4ae347e0f6593",F.swap=function(e){let{txb:t,swapContext:o,poolId:r,aToB:a,amountIn:n,coinAType:i,coinBType:s,packageId:c}=e;t.moveCall({target:`${c??F.LAST_PACKAGE_ID}::ferra_dlmm_router::swap`,typeArguments:[i,s],arguments:[o,t.object(eW.FERRA_GLOBAL_CONFIG_ID),t.object(r),t.pure.bool(a),t.pure.u64(n),t.object(or.SUI_CLOCK_OBJECT_ID)]})},(k=ez||(ez={})).POOL_REGISTRY_OBJ_ID="0x27565d24a4cd51127ac90e4074a841bbe356cca7bf5759ddc14a975be1632abc",k.VERSIONED_OBJ_ID="0x67624a1533b5aff5d0dfcf5e598684350efd38134d2d245f475524c03a64e656",(D=eQ||(eQ={})).LAST_PACKAGE_ID="0x350a752d3388165e578cc33a39655a6da83613cf4e58c8d9d0723711c2603e17",D.swap=function(e){t3()(e.protocol===ok.S.FLOWX_CLMM);let{txb:t,swapContext:o,coinAType:r,coinBType:a,poolFeeRate:n,amountIn:i,aToB:s,packageId:c}=e;t.moveCall({target:`${c??D.LAST_PACKAGE_ID}::flowx_clmm_router::swap`,typeArguments:[r,a],arguments:[o,t.object(ez.POOL_REGISTRY_OBJ_ID),t.object(ez.VERSIONED_OBJ_ID),t.pure.u64(n),t.pure.u64(i),t.pure.bool(s),t.object(or.SUI_CLOCK_OBJECT_ID)]})},(eZ||(eZ={})).CONTAINER_OBJ_ID="0xb65dcbf63fd3ad5d0ebfbf334780dc9f785eff38a4459e37ab08fa79576ee511",(v=e0||(e0={})).LAST_PACKAGE_ID="0xd95b440ad340bb6cbf571897d312e43d4b6de37b60c69ef714c94b9835cb8866",v.swap=function(e){let{txb:t,swapContext:o,coinAType:r,coinBType:a,aToB:n,amountIn:i,packageId:s}=e;t.moveCall({target:`${s??v.LAST_PACKAGE_ID}::flowx_cpmm_router::swap`,typeArguments:[r,a],arguments:[o,t.object(eZ.CONTAINER_OBJ_ID),t.pure.bool(n),t.pure.u64(i)]})},(L=e6||(e6={})).GLOBAL_CONFIG_OBJ_ID="0xe93baa80cb570b3a494cbf0621b2ba96bc993926d34dc92508c9446f9a05d615",L.REWARDER_VAULT_OBJ_ID="0xfb971d3a2fb98bde74e1c30ba15a3d8bef60a02789e59ae0b91660aeed3e64e1",L.STATS_OBJ_ID="0x6822a33d1d971e040c32f7cc74507010d1fe786f7d06ab89135083ddb07d2dc2",L.PRICE_PROVIDER_OBJ_ID="0x854b2d2c0381bb656ec962f8b443eb082654384cf97885359d1956c7d76e33c9",(R=e1||(e1={})).LAST_PACKAGE_ID="0xf0bf13b5baaf3d368f165e846b919294bed79a3ab3ab0c9bd1e75f23533e44a5",R.swap=function(e){let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??R.LAST_PACKAGE_ID}::fullsail_clmm_router::swap`,typeArguments:[a,n],arguments:[o,t.object(e6.GLOBAL_CONFIG_OBJ_ID),t.object(e6.REWARDER_VAULT_OBJ_ID),t.object(e6.STATS_OBJ_ID),t.object(e6.PRICE_PROVIDER_OBJ_ID),t.object(r),t.pure.bool(i),t.pure.u64(s),t.object(or.SUI_CLOCK_OBJECT_ID)]})},(U=e4||(e4={})).LAST_PACKAGE_ID="0x8969ed3e56c1dbdaf9df52f812d69c6c45fe5a4bab7093c88f5a8697a409398e",U.swap=function(e){t3()(e.protocol===ok.S.HAEDAL_CPMM);let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,pythPriceFeedIdA:c,pythPriceFeedIdB:u,pythInfoObjectIdMap:l,packageId:_}=e,p=l.get(c),d=l.get(u);t3()(p,"Not found priceInfoAId in pythObjectIdMap"),t3()(d,"Not found priceInfoBId in pythObjectIdMap"),t.moveCall({target:`${_??U.LAST_PACKAGE_ID}::haedal_cpmm_router::swap`,typeArguments:[a,n],arguments:[o,t.object(r),t.object(p),t.object(d),t.pure.u64(s),t.pure.bool(i),t.object(or.SUI_CLOCK_OBJECT_ID)]})},(N=e3||(e3={})).LAST_PACKAGE_ID="0x5d01f22e5471a5912a88e15d62fdcb922beba65b8e8dfe1a715aebf743194f4a",N.swap=function(e){t3()(e.protocol===ok.S.HAEDAL_CPMM_V2);let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,pythPriceFeedIdBase:c,pythInfoObjectIdMap:u,packageId:l}=e,_=u.get(c);t3()(_,"Not found pythPriceBaseId in pythObjectIdMap"),t.moveCall({target:`${l??N.LAST_PACKAGE_ID}::haedal_cpmm_v2_router::swap`,typeArguments:[a,n],arguments:[o,t.object(r),t.object(_),t.pure.u64(s),t.pure.bool(i),t.object(or.SUI_CLOCK_OBJECT_ID)]})},(j=e2||(e2={})).LAST_PACKAGE_ID="0x1644956086caa5eb791eba152f3b69ba862b3a5382ef0e1d8a474ab158aafa1a",j.swap=function(e){let{txb:t,swapContext:o,aToB:r,amountIn:a,poolId:n,packageId:i}=e;t.moveCall({target:`${i??j.LAST_PACKAGE_ID}::haedal_lsd_router::swap`,arguments:[o,t.object(n),t.object(or.SUI_SYSTEM_STATE_OBJECT_ID),t.pure.bool(r),t.pure.u64(a)]})},(e5||(e5={})).STAKING_OBJ_ID="0x10b9d30c28448939ce6c4d6c6e0ffce4a7f8a4ada8248bdad09ef8b70e4a3904",(e8||(e8={})).VALIDATOR_ID="0x7b3ba6de2ae58283f60d5b8dc04bb9e90e4796b3b2e0dea75569f491275242e7",(K=e9||(e9={})).LAST_PACKAGE_ID="0x7be077dd73c85e788c2a49a51f0627066d81d3dc9982c268e3691265a81d544d",K.swap=function(e){t3()(e.protocol===ok.S.HAEDAL_LSD_WAL),t3()(e.aToB,"HAEDAL_LSD_WAL does not support bToA swap");let{txb:t,swapContext:o,poolId:r,aToB:a,amountIn:n,packageId:i}=e;t.moveCall({target:`${i??K.LAST_PACKAGE_ID}::haedal_wal_lsd_router::swap`,arguments:[o,t.object(e5.STAKING_OBJ_ID),t.object(r),t.pure.id(e8.VALIDATOR_ID),t.pure.bool(a),t.pure.u64(n)]})},(e7||(e7={})).VERSION_OBJ_ID="0xf5145a7ac345ca8736cf8c76047d00d6d378f30e81be6f6eb557184d9de93c78",(G=te||(te={})).LAST_PACKAGE_ID="0xcf141e1d18ff609b2ac56532b391f7648fc55e28696efe354186f5109c0eff06",G.swap=function(e){let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??G.LAST_PACKAGE_ID}::kriya_clmm_router::swap`,typeArguments:[a,n],arguments:[o,t.object(r),t.object(e7.VERSION_OBJ_ID),t.pure.bool(i),t.pure.u64(s),t.object(or.SUI_CLOCK_OBJECT_ID)]})},(q=tt||(tt={})).LAST_PACKAGE_ID="0x50d37f46df75ef125ce656d4ac91b31b2cf0c1195752a96558561d163e45c223",q.swap=function(e){let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??q.LAST_PACKAGE_ID}::kriya_cpmm_router::swap`,typeArguments:[a,n],arguments:[o,t.object(r),t.pure.bool(i),t.pure.u64(s)]})},(V=to||(to={})).FACTORY_OBJ_ID="0xedb456e93e423dd75a8ddebedd9974bb661195043027e32ce01649d6ccee74cf",V.GLOBAL_CONFIG_OBJ_ID="0x4c4e1402401f72c7d8533d0ed8d5f8949da363c7a3319ccef261ffe153d32f8a",($=tr||(tr={})).LAST_PACKAGE_ID="0x950f94d33060c0575389c9f84fabab1e140776c6c84389d4237a0c2687a7adc9",$.swap=function(e){let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??$.LAST_PACKAGE_ID}::magma_almm_router::swap`,typeArguments:[a,n],arguments:[o,t.object(r),t.object(to.FACTORY_OBJ_ID),t.object(to.GLOBAL_CONFIG_OBJ_ID),t.pure.u64(s),t.pure.bool(i),t.object(or.SUI_CLOCK_OBJECT_ID)]})},(ta||(ta={})).GLOBAL_CONFIG="0x4c4e1402401f72c7d8533d0ed8d5f8949da363c7a3319ccef261ffe153d32f8a",(Y=tn||(tn={})).LAST_PACKAGE_ID="0xbe5f590339c55ca8ebbf93cedfb68aafd479d71e1c57043246f7dcf352745242",Y.swap=function(e){let{txb:t,swapContext:o,coinAType:r,coinBType:a,poolId:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??Y.LAST_PACKAGE_ID}::magma_clmm_router::swap`,typeArguments:[r,a],arguments:[o,t.object(ta.GLOBAL_CONFIG),t.object(n),t.pure.bool(i),t.pure.u64(s),t.object(or.SUI_CLOCK_OBJECT_ID)]})};var oD=__webpack_require__("./src/meta-aggregator/external/metastable.ts");(J=ti||(ti={})).LATEST_PACKAGE_ID="0xfab91518218f10204b083dba1e62c8bfc23f14fb87742158043e5faec4670ec4",J.swap=function(e){let t,o,r;t3()(e.protocol===ok.S.METASTABLE,"Invalid protocol");let{txb:a,swapContext:n,aToB:i,amountIn:s,coinAType:c,coinBType:u,poolId:l,metaCoin:_,packageId:p}=e,[d,g]=i?[c,u]:[u,c];d===_?(r="swap_from_meta_coin",t=[_,g],o=[oD.b.createCap({coinType:g,createCapFunc:"create_withdraw_cap",...e})]):g===_?(r="swap_to_meta_coin",t=[_,d],o=[oD.b.createCap({coinType:d,createCapFunc:"create_deposit_cap",...e})]):(r="swap",t=[_,d,g],o=[oD.b.createCap({coinType:d,createCapFunc:"create_deposit_cap",...e}),oD.b.createCap({coinType:g,createCapFunc:"create_withdraw_cap",...e})]),a.moveCall({target:`${p??J.LATEST_PACKAGE_ID}::metastable_router::${r}`,typeArguments:t,arguments:[n,a.object(l),a.object(oD.b.VERSION_OBJ_ID),...o,a.pure.u64(s)]})},(ts||(ts={})).VERSION_OBJ_ID="0x2375a0b1ec12010aaea3b2545acfa2ad34cfbba03ce4b59f4c39e1e25eed1b2a",(H=tc||(tc={})).LAST_PACKAGE_ID="0xba7ab4c8c39024fa0052bb4f00548a2e7b60742bb4ed0b87bc1d945fd8209102",H.swap=function(e){let{txb:t,swapContext:o,coinAType:r,coinBType:a,poolId:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??H.LAST_PACKAGE_ID}::momentum_clmm_router::swap`,typeArguments:[r,a],arguments:[o,t.object(n),t.pure.bool(i),t.pure.u64(s),t.object(ts.VERSION_OBJ_ID),t.object(or.SUI_CLOCK_OBJECT_ID)]})},(tu||(tu={})).CONFIGURATION_OBJ_ID="0xd746495d04a6119987c2b9334c5fefd7d8cff52a8a02a3ea4e3995b9a041ace4",(W=tl||(tl={})).LAST_PACKAGE_ID="0x5a259db4b1d17fafc09185c9a71bac36f25f9ee462e72894c8610e5a58b79f8f",W.swap=function(e){t3()(e.protocol===ok.S.MOVEPUMP,"Invalid protocol");let{txb:t,swapContext:o,coinAType:r,coinBType:a,aToB:n,amountIn:i,expectedAmountOut:s,packageId:c}=e;t.moveCall({target:`${c??W.LAST_PACKAGE_ID}::movepump_router::swap`,typeArguments:[n?a:r],arguments:[o,t.object(tu.CONFIGURATION_OBJ_ID),t.object(ev.DEX_INFO_OBJ_ID),t.object(or.SUI_CLOCK_OBJECT_ID),t.pure.u64(s),t.pure.bool(n),t.pure.u64(i)]})},(t_||(t_={})).STATE_OBJ_ID="0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8",(X=tp||(tp={})).LAST_PACKAGE_ID="0xd615fed37d692280047068e80d3a6bb685aa9d574608054c9df881d6a7378fab",X.swap=function(e){let t,o;t3()(e.protocol===ok.S.OBRIC);let{txb:r,swapContext:a,poolId:n,coinAType:i,coinBType:s,aToB:c,amountIn:u,pythInfoObjectIdMap:l,packageId:_}=e;"priceInfoObjIdA"in e?(t=e.priceInfoObjIdA,o=e.priceInfoObjIdB):(t=l.get(e.pythPriceFeedIdA),o=l.get(e.pythPriceFeedIdB),t3()(t,"Not found priceInfoAId in pythObjectIdMap"),t3()(o,"Not found priceInfoBId in pythObjectIdMap")),r.moveCall({target:`${_??X.LAST_PACKAGE_ID}::obric_router::swap`,typeArguments:[i,s],arguments:[a,r.object(n),r.pure.u64(u),r.pure.bool(c),r.object(t_.STATE_OBJ_ID),r.object(t),r.object(o),r.object(or.SUI_CLOCK_OBJECT_ID)]})},(z=td||(td={})).VERSION_OBJ_ID="0x07871c4b3c847a0f674510d4978d5cf6f960452795e8ff6f189fd2088a3f6ac7",z.MARKET_OBJ_ID="0xa757975255146dc9686aa823b7838b507f315d704f428cbadad2f4ea061939d9",(Q=tg||(tg={})).LAST_PACKAGE_ID="0xea409bb08c8a09e4127f859d9c36b8b62ca609282aa1e443091db6b7a7409ee7",Q.swap=function(e){t3()(e.protocol===ok.S.SCALLOP);let{txb:t,swapContext:o,coinAType:r,coinBType:a,aToB:n,amountIn:i,scoinTreasury:s,packageId:c}=e;t.moveCall({target:`${c??Q.LAST_PACKAGE_ID}::scallop_router::swap`,typeArguments:[r,a],arguments:[o,t.object(td.VERSION_OBJ_ID),t.object(td.MARKET_OBJ_ID),t.object(s),t.pure.u64(i),t.pure.bool(n),t.object(or.SUI_CLOCK_OBJECT_ID)]})},(tm||(tm={})).ORACLE_HOLDER_OBJ_ID="0x8c36ea167c5e6da8c3d60b4fc897416105dcb986471bd81cfbfd38720a4487c0",(Z=tf||(tf={})).LAST_PACKAGE_ID="0x918a30e2a05d24ea9451e2d2900d055f74e6752f2e10251fa50c7175831b1958",Z.swap=function(e){t3()(e.protocol===ok.S.SEVENK_CPMM,"Invalid protocol for sevenk_cpmm_router swap");let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,coinLpType:c,oracleConfigA:u,oracleConfigB:l,pythPriceFeedIdA:_,pythPriceFeedIdB:p,pythInfoObjectIdMap:d,packageId:g}=e,m=d.get(_),f=d.get(p);t3()(m,"Not found priceInfoAId in pythObjectIdMap"),t3()(f,"Not found priceInfoBId in pythObjectIdMap");let b=oO.L.newHolder(t);oO.L.getPrice({txb:t,coinPriceId:_,holder:b,coinOracleId:u}),oO.L.getPrice({txb:t,coinPriceId:p,holder:b,coinOracleId:l}),t.moveCall({target:`${g??Z.LAST_PACKAGE_ID}::sevenk_cpmm_router::swap`,typeArguments:[a,n,c],arguments:[o,t.object(r),t.object(tm.ORACLE_HOLDER_OBJ_ID),t.pure.bool(i),t.pure.u64(s)]})},(tb||(tb={})).CONFIGURATION_OBJ_ID="0xe79fff6c77d81f9a8efb729e25bf0037deec42518d40b978f274a4915d7e1ec9",(ee=tA||(tA={})).LAST_PACKAGE_ID="0x0a5dc665dc3c1c846a6d1e00811c84cae3510c839ab4dc0873f85dc8908d0606",ee.swap=function(e){t3()(e.protocol===ok.S.SEVENK_FUN,"Invalid protocol");let{txb:t,swapContext:o,aToB:r,amountIn:a,coinBType:n,packageId:i}=e;t.moveCall({target:`${i??ee.LAST_PACKAGE_ID}::sevenk_fun_router::swap`,typeArguments:[n],arguments:[o,t.object(tb.CONFIGURATION_OBJ_ID),t.object(eZ.CONTAINER_OBJ_ID),t.object(or.SUI_CLOCK_OBJECT_ID),t.pure.bool(r),t.pure.u64(a)]})},(et=tI||(tI={})).LAST_PACKAGE_ID="0xa6d129c0b314e85d1bc5aecf305d64212bdd5d466457531f4f624fef5f2e7751",et.swap=function(e){let{txb:t,swapContext:o,poolId:r,amountIn:a,aToB:n,coinBType:i,packageId:s}=e;t.moveCall({target:`${s??et.LAST_PACKAGE_ID}::springsui_router::swap`,typeArguments:[i],arguments:[o,t.object(r),t.object(or.SUI_SYSTEM_STATE_OBJECT_ID),t.pure.u64(a),t.pure.bool(n)]})},(tC||(tC={})).CONFIG_OBJ_ID="0x881fd0a12ca4fa48991f5c27ba57d17f1ec147fa15f43b3cb760cc3bd7ba9402",(eo=tT||(tT={})).LAST_PACKAGE_ID="0xa314a64962ed4b91a6b4085de4dff2e631fd4c731dbca671a74489955df322ef",eo.swap=function(e){let{txb:t,swapContext:o,poolId:r,aToB:a,amountIn:n,coinAType:i,coinBType:s,packageId:c}=e,u=[o,t.object(r),t.object(tC.CONFIG_OBJ_ID),t.pure.bool(a),t.pure.u64(n),t.object("0x6")];t.moveCall({target:`${c??eo.LAST_PACKAGE_ID}::srm_cpmm_router::swap`,typeArguments:[i,s],arguments:u})},(ea=(er=tS||(tS={})).Oracle||(er.Oracle={})).PACKAGE_ID="0xe84b649199654d18c38e727212f5d8dacfc3cf78d60d0a7fc85fd589f280eb2b",ea.getPythPrice=function(e){let{txb:t,oracleRegistryId:o,priceInfoId:r,oracleIndex:a}=e;return t.moveCall({target:`${ea.PACKAGE_ID}::oracles::get_pyth_price`,typeArguments:[],arguments:[t.object(o),t.object(r),t.pure.u64(a),t.object(or.SUI_CLOCK_OBJECT_ID)]})};var ov=tO||(tO={});function oL(e,t){t3()(e.protocol===ok.S.STEAMM_OMM||e.protocol===ok.S.STEAMM_OMM_V2,"Invalid protocol for steamm _swapOmm swap");let{txb:o,swapContext:r,poolId:a,coinAType:n,coinBType:i,aToB:s,amountIn:c,bankAId:u,bankBId:l,lendingMarketId:_,lendingMarketType:p,bCoinAType:d,bCoinBType:g,lpBCoinType:m,pythPriceFeedIdA:f,pythPriceFeedIdB:b,pythInfoObjectIdMap:A,oracleRegistryId:I,oracleIndexA:C,oracleIndexB:T,packageId:S}=e,O=A.get(f),M=A.get(b);t3()(O,"Not found priceInfoAId in pythObjectIdMap"),t3()(M,"Not found priceInfoBId in pythObjectIdMap");let E=tS.Oracle.getPythPrice({txb:o,oracleRegistryId:I,priceInfoId:O,oracleIndex:C}),x=tS.Oracle.getPythPrice({txb:o,oracleRegistryId:I,priceInfoId:M,oracleIndex:T});o.moveCall({target:`${S??ov.LAST_PACKAGE_ID}::${oR(t)}::swap`,typeArguments:[p,n,i,d,g,m],arguments:[r,o.object(a),o.object(u),o.object(l),o.object(_),E,x,o.pure.bool(s),o.pure.u64(c),o.object(or.SUI_CLOCK_OBJECT_ID)]})}function oR(e){switch(e){case 0:return"steamm_omm_router";case 1:return"steamm_omm_v2_router"}}function oU(e){let{amountOut:t,aggregatorFeeBps:o,partnerFeeBps:r}=e,a=oN(t,o);return r&&(a=oN(a,r)),a}function oN(e,t){let o=BigInt(e)*BigInt(t)/BigInt(1e4);return(BigInt(e)-o).toString()}function oj(e){return Math.floor(100*e)}ov.LAST_PACKAGE_ID="0xd606880d67c399f349758111a91582d5515f31dd051632402653d872818f594e",ov.swapCpmm=function(e){t3()(e.protocol===ok.S.STEAMM_CPMM,"Invalid protocol for steamm_cpmm_router swap");let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,bankAId:c,bankBId:u,lendingMarketId:l,lendingMarketType:_,bCoinAType:p,bCoinBType:d,lpBCoinType:g}=e;t.moveCall({target:`${ov.LAST_PACKAGE_ID}::steamm_cpmm_router::swap`,typeArguments:[_,a,n,p,d,g],arguments:[o,t.object(r),t.object(c),t.object(u),t.object(l),t.pure.bool(i),t.pure.u64(s),t.object(or.SUI_CLOCK_OBJECT_ID)]})},ov.swapOmm=function(e){oL(e,0)},ov.swapOmmV2=function(e){oL(e,1)},ov.getOmmRouterModule=oR,(en=tM||(tM={})).LAST_PACKAGE_ID="0x7a1cf89025a60161e84809784d772263231fad08a7cb76a88ca1ba69e0a656da",en.swap=function(e){let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??en.LAST_PACKAGE_ID}::suiswap_router::swap`,typeArguments:[a,n],arguments:[o,t.object(r),t.pure.bool(i),t.pure.u64(s),t.object(or.SUI_CLOCK_OBJECT_ID)]})},(ei=tE||(tE={})).VERSIONED="0x0309b66202e9aaf470081fffee7ffc0fbd50e3b7400d4f56fd06502e4dbbd676",ei.POOL_REGISTRY="0xcd0a614c4cbbf173f59dee2602c43a1717f283215ed7a0bb1d55d786af16fbcd",(es=tx||(tx={})).LAST_PACKAGE_ID="0x79957062a7424ed9c2eb83932e4c4fcc3fee67ab3c8f6f874c54e417178bbb7a",es.swap=function(e){t3()(e.protocol===ok.S.TRADEPORT_CLMM,"Invalid protocol");let{txb:t,swapContext:o,coinAType:r,coinBType:a,aToB:n,amountIn:i,poolFeeRate:s,packageId:c}=e;t.moveCall({target:`${c??es.LAST_PACKAGE_ID}::tradeport_clmm_router::swap`,typeArguments:[r,a],arguments:[o,t.object(tE.POOL_REGISTRY),t.pure.u64(s),t.object(tE.VERSIONED),t.pure.bool(n),t.pure.u64(i),t.object(or.SUI_CLOCK_OBJECT_ID)]})},(th||(th={})).POOL_VERSIONED="0xf1cf0e81048df168ebeb1b8030fad24b3e0b53ae827c25053fff0779c1445b6f",(ec=ty||(ty={})).LAST_PACKAGE_ID="0x512d63711ff38353fb167238b0529001b6871c1727c67ce3bf6ec23556b0f1da",ec.swap=function(e){t3()(e.protocol===ok.S.TURBOS_CLMM,"Invalid protocol");let{txb:t,swapContext:o,coinAType:r,coinBType:a,coinFeeType:n,poolId:i,aToB:s,amountIn:c,packageId:u}=e;t.moveCall({target:`${u??ec.LAST_PACKAGE_ID}::turbos_clmm_router::swap`,typeArguments:[r,a,n],arguments:[o,t.object(i),t.object(th.POOL_VERSIONED),t.pure.bool(s),t.pure.u64(c),t.object(or.SUI_CLOCK_OBJECT_ID)]})},(tw||(tw={})).CONFIGURATION_OBJ_ID="0xd86685fc3c3d989385b9311ef55bfc01653105670209ac4276ebb6c83d7df928",(eu=tP||(tP={})).LAST_PACKAGE_ID="0x1fad13f09797aa87a4385d0b1efb2de963ba16742447b1ad5a3b0c5b1d1c588b",eu.swap=function(e){t3()(e.protocol===ok.S.TURBOS_FUN,"Invalid protocol");let{txb:t,swapContext:o,coinBType:r,aToB:a,amountIn:n,packageId:i}=e;t.moveCall({target:`${i??eu.LAST_PACKAGE_ID}::turbos_fun_router::swap`,typeArguments:[r],arguments:[o,t.object(tw.CONFIGURATION_OBJ_ID),t.object(or.SUI_CLOCK_OBJECT_ID),t.pure.bool(a),t.pure.u64(n)]})},(tB||(tB={})).VOLO_CERT_METADATA_ID="0x680cd26af32b2bde8d3361e804c53ec1d1cfe24c7f039eb7f549e8dfde389a60",(el=tF||(tF={})).LAST_PACKAGE_ID="0x7c8d95256342f904d5f251776903a17905d87c95f387b3a35cc2aecc23b3c042",el.swap=function(e){let{txb:t,swapContext:o,poolId:r,aToB:a,amountIn:n,packageId:i}=e;t.moveCall({target:`${i??el.LAST_PACKAGE_ID}::volo_router::swap`,arguments:[o,t.object(r),t.object(tB.VOLO_CERT_METADATA_ID),t.object(or.SUI_SYSTEM_STATE_OBJECT_ID),t.pure.bool(a),t.pure.u64(n)]})},(e_=tk||(tk={})).RouterSwapFunctionMap={[ok.S.AFTERMATH_CPMM]:eh.swap,[ok.S.AFTERMATH_LSD]:ew.swap,[ok.S.ALPHAFI_LSD]:eP.swap,[ok.S.BLASTFUN]:eF.swap,[ok.S.BLUEFIN_CLMM]:eD.swap,[ok.S.BLUEMOVE_CPMM]:eL.swap,[ok.S.BOLT]:eU.swap,[ok.S.CETUS_CLMM]:ej.swap,[ok.S.CETUS_DLMM]:eG.swap,[ok.S.DEEPBOOK_V3]:eV.swap,[ok.S.DIP_CPMM]:eY.swap,[ok.S.FERRA_CLMM]:eH.swap,[ok.S.FERRA_DLMM]:eX.swap,[ok.S.FLOWX_CPMM]:e0.swap,[ok.S.FLOWX_CLMM]:eQ.swap,[ok.S.FULLSAIL_CLMM]:e1.swap,[ok.S.HAEDAL_CPMM]:e4.swap,[ok.S.HAEDAL_CPMM_V2]:e3.swap,[ok.S.HAEDAL_LSD]:e2.swap,[ok.S.HAEDAL_LSD_WAL]:e9.swap,[ok.S.KRIYA_CLMM]:te.swap,[ok.S.KRIYA_CPMM]:tt.swap,[ok.S.MAGMA_ALMM]:tr.swap,[ok.S.MAGMA_CLMM]:tn.swap,[ok.S.METASTABLE]:ti.swap,[ok.S.MOMENTUM_CLMM]:tc.swap,[ok.S.MOVEPUMP]:tl.swap,[ok.S.OBRIC]:tp.swap,[ok.S.SCALLOP]:tg.swap,[ok.S.SEVENK_CPMM]:tf.swap,[ok.S.SEVENK_FUN]:tA.swap,[ok.S.SPRINGSUI]:tI.swap,[ok.S.SRM_CPMM]:tT.swap,[ok.S.STEAMM_CPMM]:tO.swapCpmm,[ok.S.STEAMM_OMM]:tO.swapOmm,[ok.S.STEAMM_OMM_V2]:tO.swapOmmV2,[ok.S.SUISWAP_CPMM]:tM.swap,[ok.S.TRADEPORT_CLMM]:tx.swap,[ok.S.TURBOS_CLMM]:ty.swap,[ok.S.TURBOS_FUN]:tP.swap,[ok.S.VOLO]:tF.swap},e_.swap=function(e){(0,e_.RouterSwapFunctionMap[e.protocol])(e)},(tD||(tD={})).buildAggregatorSwapTransaction=async function(e){let{tx:t,coinOutType:o,tradePaths:r,pythConnections:a,pythClient:n,packageIdMap:i}=e,s=oF.u.openSwap(e),c=await oO.j.updatePythPriceIDs({priceFeedIds:function(e){let t=new Set;for(let o of e)"pythPriceFeedIdA"in o&&t.add(o.pythPriceFeedIdA),"pythPriceFeedIdB"in o&&t.add(o.pythPriceFeedIdB),"pythPriceFeedIdBase"in o&&t.add(o.pythPriceFeedIdBase),"pythPriceFeedIdMeta"in o&&t.add(o.pythPriceFeedIdMeta),"pythPriceFeedIdEth"in o&&t.add(o.pythPriceFeedIdEth);return[...t]}(r),txb:t,pythClient:n,pythConnections:a});for(let e=0;e<r.length;e++){let o=r[e],[a,n]=o.aToB?[o.coinInType,o.coinOutType]:[o.coinOutType,o.coinInType];tk.swap({...o,txb:t,swapContext:s,amountIn:o.amountIn,coinAType:a,coinBType:n,packageId:i?.get(o.protocol),pythInfoObjectIdMap:c})}return oF.u.closeSwap({tx:t,coinOutType:o,swapSession:s})};let oK=oO.j.newPythConnections(),oG=oO.j.newPythClient();var oq=tv||(tv={});function oV(e){var t,o,r;let a,n,{buildTxParam:i,rawRouteParam:s}=e;switch(s.sourceRoute){case"CETUS":a=tz.M.convert(s.rawRoute);break;case"FLOWX":a=t6.m.convert(s.rawRoute);break;case"SEVENK":a=tj.m.convert(s.rawRoute);break;default:throw Error("Unsupported source route")}let c=oj(i.aggregatorFeeRatePercent),u=i.partnerFeeRatePercent?oj(i.partnerFeeRatePercent):void 0,l=i.expectedAmountOut??oU({amountOut:a.amountOut,aggregatorFeeBps:c,partnerFeeBps:u}),_=(o=l,r=(t=i.slippagePercent)?Math.floor(100*t):100,n=BigInt(o)*BigInt(r??100)/BigInt(1e4),(BigInt(o)-n).toString());return{...i,...a,expectedAmountOut:l,minAmountOut:_,aggregatorFeeBps:c,partnerFeeBps:u,pythConnections:i.pythConnections??oK,pythClient:i.pythClient??oG}}oq.toMetaAggregatorBuildTxParams=oV,oq.buildTx=function(e){let t=oV(e);return tD.buildAggregatorSwapTransaction(t)};let o$=async(e,t,o)=>t<=0?e():new Promise((r,a)=>{let n=setTimeout(()=>a(new oP.u(`Timeout ${o??"operation"}`,oP.j.TIMEOUT,{timeout:t})),t);e().then(r).catch(a).finally(()=>clearTimeout(n))}),oY=(e,t,o,r=0)=>{if(t>1e4)throw Error("Slippage must be less than 100%");if(o>1e4)throw Error("Commission must be less than 100%");if(r>1e4)throw Error("Tip must be less than 100%");let a=BigInt(e),n=a*BigInt(r||0)/10000n,i=(a-n)*BigInt(o)/10000n,s=a-n-i;return{tipAmount:n,minAmount:s*BigInt(1e4-t)/10000n,commissionAmount:i,expectedAmount:s.toString(10)}},oJ={SEVENK:{},FLOWX:{},CETUS:{}};class oH{client;providers={};options;constructor(e){this.options={providers:{...oJ,...e?.providers},slippageBps:e?.slippageBps??100,fullnodeUrl:e?.fullnodeUrl??(0,op.getJsonRpcFullnodeUrl)("mainnet"),hermesApi:e?.hermesApi??oO.j.PYTH_URLS,partner:e?.partner??oo.qb,partnerCommissionBps:e?.partnerCommissionBps??0,tipBps:e?.tipBps??0},this.client=new op.SuiJsonRpcClient({network:"mainnet",url:this.options.fullnodeUrl})}async getQuoteClient(e){let t=this.providers[e];if(t)return t;let o=this.options.providers[e];switch(oP.u.assert(!!o,`Provider not found: ${e}`,oP.j.PROVIDER_NOT_FOUND,{provider:e}),e){case"SEVENK":{let{Bluefin7kClient:e}=await Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./src/meta-aggregator/client/bluefin7k-client.ts")).catch(oW("SEVENK"));this.providers.SEVENK=new e(o,this.client);break}case"FLOWX":{let{FlowxClient:e}=await Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./src/meta-aggregator/client/flowx-client.ts")).catch(oW("FLOWX"));this.providers.FLOWX=new e(o);break}case"CETUS":{let{CetusClient:e}=await Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./src/meta-aggregator/client/cetus-client.ts")).catch(oW("CETUS"));this.providers.CETUS=new e(o,this.options,this.client);break}default:throw new oP.u(`Provider not supported: ${e}`,oP.j.PROVIDER_NOT_SUPPORTED,{provider:e})}return this.providers[e]}async getQuoteByClient(e,t){return await o$(async()=>{let o=await e.quote(t);return o?(o.amountOut=oU({amountOut:o.amountOut,partnerFeeBps:this.options.partnerCommissionBps,aggregatorFeeBps:this.options.tipBps}),o):null},t.timeout??2e3,`quote for ${e.kind} provider from ${t.coinTypeIn} to ${t.coinTypeOut}`)}async getQuote(e){let t={...e,coinTypeIn:(0,or.normalizeStructTag)(e.coinTypeIn),coinTypeOut:(0,or.normalizeStructTag)(e.coinTypeOut)};return(await Promise.allSettled(Object.entries(this.options.providers).filter(([e,t])=>!t.disabled).map(async([e])=>{let o=await this.getQuoteClient(e);return this.getQuoteByClient(o,t)}))).map(e=>"fulfilled"===e.status?e.value:(console.warn(e.reason),null)).filter(e=>null!==e)}async swap(e){let{quote:t,signer:o,tx:r,coinIn:a,slippageBps:n}=e,i=(0,or.normalizeSuiAddress)(o);oP.u.assert((0,or.isValidSuiAddress)(i),`Invalid signer address: ${o}`,oP.j.INVALID_SIGNER_ADDRESS,{signer:o}),r.setSender(i);let s=(n??this.options.slippageBps)/1e4,c=this.options.partner&&this.options.partner!==oo.qb?this.options.partner:void 0,u=c&&this.options.partnerCommissionBps>0?this.options.partnerCommissionBps/1e4:void 0;return tv.buildTx({buildTxParam:{tx:r,inputCoin:a,expectedAmountOut:t.amountOut,slippagePercent:s,aggregatorFeeRatePercent:this.options.tipBps/1e4,aggregatorFeeRecipient:"0xdaf1c8ed29d89cd8f217f609bad0a668fa6f158c12000bfa5f93e670c99e24ff",partnerFeeRatePercent:u,partnerFeeRecipient:c,pythConnections:oO.j.newPythConnections(this.options.hermesApi),pythClient:oO.j.newPythClient(this.client)},rawRouteParam:{...t}})}}let oW=e=>t=>{throw console.warn(`Please install ${{CETUS:"@cetusprotocol/aggregator-sdk",FLOWX:"@flowx-finance/sdk",SEVENK:"@bluefin-exchange/bluefin7k-aggregator-sdk"}[e]} to use ${e} provider`),t};class oX{sdk;_astrosAggregator;_aftermathAggregator;_sevenkAggregator;_cetusAggregator;_flowXAggregator;constructor(e){this.sdk=e,this._astrosAggregator=new tJ({defaultTradeFee:e.options.tradeFee,astrosApiKey:e.options.astrosApiKey},e.suiClient),this._aftermathAggregator=new tY({defaultTradeFee:e.options.tradeFee,aftermathApiKey:e.options.aftermathApiKey,aftermathApiEndpoint:e.options.aftermathApiEndpoint},e.suiClient),this._sevenkAggregator=new tG({defaultTradeFee:e.options.tradeFee,sevenKApiKey:e.options.sevenKApiKey},e.suiClient),this._cetusAggregator=new tQ({defaultTradeFee:e.options.tradeFee,cetusApiKey:e.options.cetusApiKey,cetusApiEndpoint:e.options.cetusApiEndpoint,cetusPartnerId:e.options.cetusPartnerId},e.suiClient),this._flowXAggregator=new t1({defaultTradeFee:e.options.tradeFee,flowxApiKey:e.options.flowxApiKey},e.suiClient)}get astrosAggregator(){return this._astrosAggregator}get aftermathAggregator(){return this._aftermathAggregator}get sevenkAggregator(){return this._sevenkAggregator}get cetusAggregator(){return this._cetusAggregator}get flowXAggregator(){return this._flowXAggregator}async getTradeRoute(e,t){let o;switch(e){case tZ.ASTROS:{let e,r=await this._astrosAggregator.getTradeRoute(t);if(!r)return null;let a=tJ.toCommonTradeRoutes(r,t.coinInType,t.coinOutType);if(!a)return null;e=t.tradeFee?t.tradeFee.tradeFeePercent:this.sdk.options.tradeFee.tradeFeePercent,a.amountOut=BigInt(new(tN())(r.amount_out).multipliedBy(1-e).toFixed(0,3)),o={route:a,aggregatorRoute:r};break}case tZ.AFTERMATH:{let e=await this._aftermathAggregator.getTradeRoute(t);if(!e)return null;let r=tY.toCommonTradeRoutes(e);if(!r)return null;o={route:r,aggregatorRoute:e};break}case tZ.SEVENK:{let e=await this._sevenkAggregator.getTradeRoute(t);if(!e)return null;let r=tG.toCommonTradeRoutes(e);if(!r)return null;o={route:r,aggregatorRoute:e};break}case tZ.CETUS:{let e=await this._cetusAggregator.getTradeRoute(t);if(!e)return null;let r=tQ.toCommonTradeRoutes(e,t.coinInType,t.coinOutType);if(!r)return null;o={route:r,aggregatorRoute:e};break}case tZ.FLOWX:{let e=await this._flowXAggregator.getTradeRoute(t);if(!e)return null;let r=t1.toCommonTradeRoutes(e);if(!r)return null;o={route:r,aggregatorRoute:e}}}return o}async getTransactionByRoute(e,t){switch(e){case tZ.ASTROS:return this._astrosAggregator.getTransaction({walletAddress:t.walletAddress,completeRoute:t.completeRoute,slippage:t.slippage,tradeFee:t.tradeFee});case tZ.AFTERMATH:return this._aftermathAggregator.getTransaction({walletAddress:t.walletAddress,completeRoute:t.completeRoute,slippage:t.slippage});case tZ.SEVENK:return this._sevenkAggregator.getTransaction({walletAddress:t.walletAddress,completeRoute:t.completeRoute,slippage:t.slippage,tradeFee:t.tradeFee});case tZ.CETUS:return this._cetusAggregator.getTransaction({walletAddress:t.walletAddress,completeRoute:t.completeRoute,slippage:t.slippage,tradeFee:t.tradeFee});case tZ.FLOWX:return this._flowXAggregator.getTransaction({walletAddress:t.walletAddress,completeRoute:t.completeRoute,slippage:t.slippage,tradeFee:t.tradeFee})}}async getTradeTransaction(e,t){let o=await this.getTradeRoute(e,{coinInAmount:t.coinInAmount,coinInType:t.coinInType,coinOutType:t.coinOutType,tradeFee:t.tradeFee,metaAggregator:t.metaAggregator});if(!o)return null;let r=await this.getTransactionByRoute(e,{walletAddress:t.walletAddress,completeRoute:o.aggregatorRoute,slippage:t.slippage,tradeFee:t.tradeFee});return{route:o.route,aggregatorRoute:o.aggregatorRoute,transaction:r}}async getTradeTransactionWithBestRate(e){let t=Object.keys(tZ),o=await Promise.all(t.map(async t=>{try{return await this.getTradeRoute(t,e)}catch{return null}})),r=null,a=null;for(let e=0;e<o.length;e++){let n=o[e],i=t[e];if(n&&(!r||n.route.amountOut>r.route.amountOut)){r=n,a=i;continue}}if(!r||!a)return null;let n=await this.getTransactionByRoute(a,{walletAddress:e.walletAddress,completeRoute:r.aggregatorRoute,slippage:e.slippage,tradeFee:e.tradeFee});return{route:r.route,aggregatorRoute:r.aggregatorRoute,transaction:n}}async getAmountOut(e,t){let o=await this.getTradeRoute(e,t);return o?o.route.amountOut:null}async getBestAmountOut(e){let t=Object.keys(tZ),o=null,r=null;for(let a of t){let t=await this.getAmountOut(a,e);null!==t&&(null===o||t>o)&&(o=t,r=a)}return null===o||null===r?null:{amountOut:o,aggregator:r}}}let oz="0x25fa0eb553dd69fa6a8028f73a38f1df7f289fa88a58ed3d7dc5a5360155bb19",oQ="0x8b1a8ac6e34688cd8f8f8e5fefa9d5fb9e1ff74d2f132f8e208ae5ac9cc530bb",oZ="0x13d101f44a0710a5475bec5f492a87b80e03d92d1cf540f26096f65850b23d26";class o0{sdk;constructor(e){this.sdk=e}async getConfig(){let e=await this.sdk.suiClient.getObject({id:oQ,options:{showContent:!0}});t3()(e.data?.content,"Config object not found or has no content"),t3()(e.data?.content.dataType==="moveObject","Config object is not a Move object");let t=e.data.content.fields,o=t.id.id,r=t.fee_receiver,a=t.tiers.fields.contents,n={};for(let e of a){let t=e.fields.key,o=e.fields.value.fields.duration,r=e.fields.value.fields.amount,a=e.fields.value.fields.point,i=e.fields.value.fields.original_amount;n[t]={duration:BigInt(o),amount:BigInt(r),point:BigInt(a),originalAmount:BigInt(i)}}return{id:o,receiverAddress:r,tiers:n}}async buildPayBoostingTx({walletAddress:e,tierId:t,boostingCoinType:o,currentTx:r}){let a=await this.getConfig();t3()(t in a.tiers,"Invalid tier ID");let n=a.tiers[t].amount,i=r||new tR.Transaction,s=i.splitCoins(i.gas,[i.pure.u64(n)]);i.moveCall({target:`${oz}::boosting::pay`,typeArguments:[(0,or.normalizeStructTag)(o)],arguments:[i.object(oQ),i.pure.u64(t),s]}),i.setSender(e);let c=await t7(this.sdk.suiClient,i,e,0);return om({inheritTx:i,sender:e,feeAmount:c},this.sdk.suiClient)}async buildAddTierTx({adminAddress:e,tierId:t,duration:o,point:r,originalAmount:a,amount:n,currentTx:i}){let s=i||new tR.Transaction;s.moveCall({target:`${oz}::config::add_tier`,typeArguments:[],arguments:[s.object(oQ),s.object(oZ),s.pure.u64(t),s.pure.u64(r),s.pure.u64(o),s.pure.u64(a),s.pure.u64(n)]}),s.setSender(e);let c=await t7(this.sdk.suiClient,s,e,0);return om({inheritTx:s,sender:e,feeAmount:c},this.sdk.suiClient)}async buildUpdateTierTx({adminAddress:e,tierId:t,duration:o,amount:r,originalAmount:a,point:n,currentTx:i}){let s=i||new tR.Transaction;s.moveCall({target:`${oz}::config::update_tier`,typeArguments:[],arguments:[s.object(oQ),s.object(oZ),s.pure.u64(t),s.pure.u64(o),s.pure.u64(r),s.pure.u64(n),s.pure.u64(a)]}),s.setSender(e);let c=await t7(this.sdk.suiClient,s,e,0);return om({inheritTx:s,sender:e,feeAmount:c},this.sdk.suiClient)}async buildRemoveTierTx({adminAddress:e,tierId:t,currentTx:o}){let r=o||new tR.Transaction;r.moveCall({target:`${oz}::config::remove_tier`,typeArguments:[],arguments:[r.object(oQ),r.object(oZ),r.pure.u64(t)]}),r.setSender(e);let a=await t7(this.sdk.suiClient,r,e,0);return om({inheritTx:r,sender:e,feeAmount:a},this.sdk.suiClient)}async buildUpdateFeeReceiver({adminAddress:e,newReceiverAddress:t,currentTx:o}){let r=o||new tR.Transaction;r.moveCall({target:`${oz}::config::update_fee_receiver`,typeArguments:[],arguments:[r.object(oQ),r.object(oZ),r.pure.address(t)]}),r.setSender(e);let a=await t7(this.sdk.suiClient,r,e,0);return om({inheritTx:r,sender:e,feeAmount:a},this.sdk.suiClient)}async buildPayBoostingWithAdminTx({walletAddress:e,tierId:t,customAmount:o,boostingCoinType:r,currentTx:a}){let n=a||new tR.Transaction,i=n.splitCoins(n.gas,[n.pure.u64(o)]);n.moveCall({target:`${oz}::boosting::pay_with_admin`,typeArguments:[(0,or.normalizeStructTag)(r)],arguments:[n.object(oZ),n.object(oQ),n.pure.u64(t),n.pure.u64(o),i]}),n.setSender(e);let s=await t7(this.sdk.suiClient,n,e,0);return om({inheritTx:n,sender:e,feeAmount:s},this.sdk.suiClient)}}class o6{sdk;constructor(e){this.sdk=e}async getEstimatedAmountOut(e,t){let{coinInType:o,coinOutType:r}=t;t3()(o!==r,"coinInType and coinOutType must be different"),t3()((0,oo.tC)(o)||(0,oo.tC)(r),"One of coinInType or coinOutType must be SUI");let a=(0,oo.tC)(o);switch(e){case oI.MOONBAGS:if(a)return await eM.getCurveAmountAfterBuy({poolId:t.poolId,suiAmount:t.coinInAmount,frontendFee:t.tradeFee?t.tradeFee.tradeFeePercent:void 0},this.sdk.suiClient);return await eM.getSuiAmountAfterSell({poolId:t.poolId,curveAmount:t.coinInAmount,frontendFee:t.tradeFee?t.tradeFee.tradeFeePercent:void 0},this.sdk.suiClient);case oI.BLAST_FUN:if(a)return await eC.getCurveAmountAfterBuy({poolId:t.poolId,suiAmount:t.coinInAmount,frontendFee:t.tradeFee?t.tradeFee.tradeFeePercent:void 0});return await eC.getSuiAmountAfterSell({poolId:t.poolId,curveAmount:t.coinInAmount,frontendFee:t.tradeFee?t.tradeFee.tradeFeePercent:void 0});default:throw Error(`Unsupported bonding curve platform: ${e}`)}}async getTradeTransaction(e,t){let o,{coinInType:r,coinOutType:a}=t;t3()(r!==a,"coinInType and coinOutType must be different"),t3()((0,oo.tC)(r)||(0,oo.tC)(a),"One of coinInType or coinOutType must be SUI");let n=(0,oo.tC)(r);switch(e){case oI.MOONBAGS:o=n?await eE.getBuyTransaction(t,this.sdk.suiClient):await eE.getSellTransaction(t,this.sdk.suiClient);break;case oI.BLAST_FUN:o=n?await eT.getBuyTransaction(t,this.sdk.suiClient):await eT.getSellTransaction(t,this.sdk.suiClient);break;default:throw Error(`Unsupported bonding curve platform: ${e}`)}return o}}let o1={prod:{packageId:"0x3dd678c250a667f1551bc4b9e35fd070896f4775dd2900d5cb2910d2aea0b068",configId:"0x3eb7bd15f61b7cc1a9fd36151e9c3d05aa37bfadb0a58c3a26a6c02c2e99f3ca",adminCapId:"0xf375fcb3d95934143766cab2028ab49441fa04ef2ce27c08c01004c455bcbad4",paymentCoinType:"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC"},staging:{packageId:"0xa83cd093ce5142649adae10d21fe87d55fa2df4e52a4292c77ba039bb12bfe67",configId:"0x19fb8f91946e58c068fa4238bdd7a531216a0c4dcfaa279a8a02c60cb02f6711",adminCapId:"0xd8139544d054702dfab6de4e9c55f162c8a6f30465935af56cffed99c5e1c2bd",paymentCoinType:"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC"}};class o4{sdk;constructor(e){this.sdk=e}async getConfig(){let e=await this.sdk.suiClient.getObject({id:o1[this.sdk.env].configId,options:{showContent:!0}});t3()(e.data,"Config object not found"),t3()(e.data.content,"Config object has no content"),t3()(e.data?.content.dataType==="moveObject","Config object is not a Move object");let t=e.data.content.fields,o=t.id.id,r=t.fee_receiver,a=t.paused,n=t.accepted_payment_type,i=t.plans.fields.contents,s={};for(let e of i){let t=e.fields.key,o=e.fields.value.fields.id,r=e.fields.value.fields.price,a=e.fields.value.fields.month_interval,n=e.fields.value.fields.ptype;s[t]={id:BigInt(o),price:BigInt(r),monthInterval:a,planType:n}}return{id:o,plans:s,feeReceiverWallet:r,paused:a,acceptedPaymentType:n}}async buildSubscribeCyclePlanTx({walletAddress:e,planId:t,reference:o,paymentCoinType:r=o1[this.sdk.env].paymentCoinType,currentTx:a}){let n=await this.getConfig();t3()(!n.paused,"Contract is paused"),t3()(t in n.plans,"Invalid plan ID");let i=n.plans[t],s=i.price*BigInt(i.monthInterval),{tx:c,coinData:u}=await on({account:e,amount:s.toString(),splits:[s.toString()],coinType:r,inheritTx:a},this.sdk.suiClient);c.moveCall({target:`${o1[this.sdk.env].packageId}::subscription::subscribe_cycle_plan`,typeArguments:[r],arguments:[c.object(o1[this.sdk.env].configId),c.pure.u64(t),c.pure.string(o),u]}),c.setSender(e);let l=await t7(this.sdk.suiClient,c,e,0);return om({inheritTx:c,sender:e,feeAmount:l},this.sdk.suiClient)}async buildBuyMoreCUPlanTx({walletAddress:e,planId:t,reference:o,paidAmount:r,paymentCoinType:a=o1[this.sdk.env].paymentCoinType,currentTx:n}){let i=await this.getConfig();t3()(!i.paused,"Contract is paused"),t3()(t in i.plans,"Invalid plan ID");let{tx:s,coinData:c}=await on({account:e,amount:r.toString(),splits:[r.toString()],coinType:a,inheritTx:n},this.sdk.suiClient);s.moveCall({target:`${o1[this.sdk.env].packageId}::subscription::buy_more_cu`,typeArguments:[a],arguments:[s.object(o1[this.sdk.env].configId),s.pure.u64(t),s.pure.string(o),s.pure.u64(r),c]}),s.setSender(e);let u=await t7(this.sdk.suiClient,s,e,0);return om({inheritTx:s,sender:e,feeAmount:u},this.sdk.suiClient)}async buildSubscribePlanWithAdminTx({walletAddress:e,planId:t,reference:o,customAmount:r,paymentCoinType:a=o1[this.sdk.env].paymentCoinType,currentTx:n}){let i=await this.getConfig();t3()(!i.paused,"Contract is paused");let{tx:s,coinData:c}=await on({account:e,amount:r.toString(),splits:[r.toString()],coinType:a,inheritTx:n},this.sdk.suiClient);s.moveCall({target:`${o1[this.sdk.env].packageId}::subscription::subscribe_plan_with_admin`,typeArguments:[a],arguments:[s.object(o1[this.sdk.env].adminCapId),s.object(o1[this.sdk.env].configId),s.pure.u64(t),s.pure.string(o),s.pure.u64(r),c]}),s.setSender(e);let u=await t7(this.sdk.suiClient,s,e,0);return om({inheritTx:s,sender:e,feeAmount:u},this.sdk.suiClient)}async buildAddPlanTx({adminAddress:e,planId:t,planType:o,monthInterval:r,price:a,currentTx:n}){let i=n||new tR.Transaction;i.moveCall({target:`${o1[this.sdk.env].packageId}::config::add_plan`,typeArguments:[],arguments:[i.object(o1[this.sdk.env].configId),i.object(o1[this.sdk.env].adminCapId),i.pure.u64(t),i.pure.u8(o),i.pure.u8(r),i.pure.u64(a)]}),i.setSender(e);let s=await t7(this.sdk.suiClient,i,e,0);return om({inheritTx:i,sender:e,feeAmount:s},this.sdk.suiClient)}async buildUpdatePlanTx({adminAddress:e,planId:t,planType:o,monthInterval:r,price:a,currentTx:n}){let i=n||new tR.Transaction;i.moveCall({target:`${o1[this.sdk.env].packageId}::config::update_plan`,typeArguments:[],arguments:[i.object(o1[this.sdk.env].configId),i.object(o1[this.sdk.env].adminCapId),i.pure.u64(BigInt(t)),i.pure.u8(o),i.pure.u8(r),i.pure.u64(a)]}),i.setSender(e);let s=await t7(this.sdk.suiClient,i,e,0);return om({inheritTx:i,sender:e,feeAmount:s},this.sdk.suiClient)}async buildRemovePlanTx({adminAddress:e,planId:t,currentTx:o}){let r=o||new tR.Transaction;r.moveCall({target:`${o1[this.sdk.env].packageId}::config::remove_plan`,typeArguments:[],arguments:[r.object(o1[this.sdk.env].configId),r.object(o1[this.sdk.env].adminCapId),r.pure.u64(BigInt(t))]}),r.setSender(e);let a=await t7(this.sdk.suiClient,r,e,0);return om({inheritTx:r,sender:e,feeAmount:a},this.sdk.suiClient)}async buildUpdateFeeReceiverWalletTx({adminAddress:e,newFeeReceiverWallet:t,currentTx:o}){let r=o||new tR.Transaction;r.moveCall({target:`${o1[this.sdk.env].packageId}::config::update_fee_receiver`,typeArguments:[],arguments:[r.object(o1[this.sdk.env].configId),r.object(o1[this.sdk.env].adminCapId),r.pure.address(t)]}),r.setSender(e);let a=await t7(this.sdk.suiClient,r,e,0);return om({inheritTx:r,sender:e,feeAmount:a},this.sdk.suiClient)}async buildSetPausedTx({adminAddress:e,paused:t,currentTx:o}){let r=o||new tR.Transaction;r.moveCall({target:`${o1[this.sdk.env].packageId}::config::set_paused`,typeArguments:[],arguments:[r.object(o1[this.sdk.env].configId),r.object(o1[this.sdk.env].adminCapId),r.pure.bool(t)]}),r.setSender(e);let a=await t7(this.sdk.suiClient,r,e,0);return om({inheritTx:r,sender:e,feeAmount:a},this.sdk.suiClient)}async buildSetAcceptedPaymentTypeTx({adminAddress:e,paymentCoinType:t,currentTx:o}){let r=o||new tR.Transaction;r.moveCall({target:`${o1[this.sdk.env].packageId}::config::set_accepted_payment_type`,typeArguments:[t],arguments:[r.object(o1[this.sdk.env].configId),r.object(o1[this.sdk.env].adminCapId)]}),r.setSender(e);let a=await t7(this.sdk.suiClient,r,e,0);return om({inheritTx:r,sender:e,feeAmount:a},this.sdk.suiClient)}}class o3{network;env;_suiClient;boostingModule;subscriptionModule;constructor(e="mainnet",t="prod"){this.network=e,this.env=t;const o=(0,op.getJsonRpcFullnodeUrl)(e);this._suiClient=new op.SuiJsonRpcClient({network:e,url:o}),this.subscriptionModule=new o4(this),this.boostingModule=new o0(this)}get suiClient(){return this._suiClient}}let o2={tradeFeePercent:.01,tradeFeeRecipientAddress:"0xdaf1c8ed29d89cd8f217f609bad0a668fa6f158c12000bfa5f93e670c99e24ff"};class o5{network;env;options;_suiClient;aggregatorModule;curveModule;constructor(e,t="mainnet",o="prod"){this.options=e,this.network=t,this.env=o;const r=(0,op.getJsonRpcFullnodeUrl)(t);this._suiClient=new op.SuiJsonRpcClient({network:t,url:r}),this.aggregatorModule=new oX(this),this.curveModule=new o6(this)}get suiClient(){return this._suiClient}}let o8=require("@mysten/sui/keypairs/ed25519"),o9=.1;class o7{suiClient;constructor(e){this.suiClient=e}validatePrivateKey(e,t){t3()(e?.trim(),"Private key is required");let o=o8.Ed25519Keypair.fromSecretKey(e),r=o.getPublicKey().toSuiAddress();if(r!==t)throw Error(`Private key mismatch. Expected: ${t}, Got: ${r}`);return o}async createDraft(e,t,o){t3()(e?.trim(),"Sender address is required"),t3()(t?.trim(),"Recipient address is required"),t3()(e!==t,"Sender and recipient cannot be the same"),t3()(o>0n,"Transfer amount must be at least 1 MIST");try{let r=new tR.Transaction,[a]=r.splitCoins(r.gas,[o]);r.transferObjects([a],t),r.setSender(e);let n=await this.suiClient.getReferenceGasPrice();r.setGasPrice(n);let i=await t7(this.suiClient,r,e,o9);r=await om({inheritTx:r,sender:e,feeAmount:i,suiInputAmount:o},this.suiClient);let s=await r.build({client:this.suiClient}),c=Buffer.from(s).toString("base64"),u=await r.getDigest();return{sender:e,recipient:t,amountMIST:o,txDraftBase64:c,txDigest:u}}catch(e){throw Error(`Failed to create draft transaction: ${e instanceof Error?e.message:"Unknown error"}`)}}async execute(e,t){try{t3()(e,"Draft transaction is required"),t3()(e.txDraftBase64?.trim(),"Transaction data is required");let o=this.validatePrivateKey(t,e.sender),r=(0,or.fromBase64)(e.txDraftBase64),{signature:a}=await o.signTransaction(r),n=await this.suiClient.executeTransactionBlock({transactionBlock:r,signature:a});return{success:!0,txDigest:n.digest,effects:n.effects}}catch(e){return{success:!1,error:e instanceof Error?e.message:"Unknown error occurred"}}}async getTransactionStatus(e){t3()(e?.trim(),"Transaction digest is required");try{let t=await this.suiClient.getTransactionBlock({digest:e,options:{showEffects:!0}});if(!t?.effects?.status)return"pending";return"success"===t.effects.status.status?"success":"failure"}catch(e){if(e instanceof Error&&(e.message.includes("not found")||e.message.includes("Could not find")))return"pending";return"failure"}}}})(),exports.ADMIN_CAP_ID=__webpack_exports__.ADMIN_CAP_ID,exports.AftermathAggregator=__webpack_exports__.AftermathAggregator,exports.AftermathCpmm=__webpack_exports__.AftermathCpmm,exports.AftermathLsd=__webpack_exports__.AftermathLsd,exports.AggregatorConverter=__webpack_exports__.AggregatorConverter,exports.AggregatorModule=__webpack_exports__.AggregatorModule,exports.AggregatorProtocol=__webpack_exports__.AggregatorProtocol,exports.AstrosAggregator=__webpack_exports__.AstrosAggregator,exports.BASE_BPS=__webpack_exports__.BASE_BPS,exports.BLUEFIN_PACKAGE_ID=__webpack_exports__.BLUEFIN_PACKAGE_ID,exports.BOOSTING_PACKAGE_ID=__webpack_exports__.BOOSTING_PACKAGE_ID,exports.BlastFunConstants=__webpack_exports__.BlastFunConstants,exports.BlastFunCustomCalculation=__webpack_exports__.BlastFunCustomCalculation,exports.BlastFunCustomTransaction=__webpack_exports__.BlastFunCustomTransaction,exports.BlastFunPackage=__webpack_exports__.BlastFunPackage,exports.BlastFunSDKCalculation=__webpack_exports__.BlastFunSDKCalculation,exports.BlastFunSDKTransaction=__webpack_exports__.BlastFunSDKTransaction,exports.Blastfun=__webpack_exports__.Blastfun,exports.Bluefin7kClient=__webpack_exports__.Bluefin7kClient,exports.BluefinClmm=__webpack_exports__.BluefinClmm,exports.BluefinTx=__webpack_exports__.BluefinTx,exports.BluemoveCpmm=__webpack_exports__.BluemoveCpmm,exports.Bolt=__webpack_exports__.Bolt,exports.BoostingModule=__webpack_exports__.BoostingModule,exports.Bps=__webpack_exports__.Bps,exports.CLOCK_OBJECT_ID=__webpack_exports__.CLOCK_OBJECT_ID,exports.CONFIG_ID=__webpack_exports__.CONFIG_ID,exports.CetusAggregator=__webpack_exports__.CetusAggregator,exports.CetusAggregatorConverter=__webpack_exports__.CetusAggregatorConverter,exports.CetusClient=__webpack_exports__.CetusClient,exports.CetusClmm=__webpack_exports__.CetusClmm,exports.CetusDlmm=__webpack_exports__.CetusDlmm,exports.CurveModule=__webpack_exports__.CurveModule,exports.DEFAULT_TRADE_FEE=__webpack_exports__.DEFAULT_TRADE_FEE,exports.DeepbookV3=__webpack_exports__.DeepbookV3,exports.DipCpmm=__webpack_exports__.DipCpmm,exports.DraftTransferTx=__webpack_exports__.DraftTransferTx,exports.FerraClmm=__webpack_exports__.FerraClmm,exports.FerraDlmm=__webpack_exports__.FerraDlmm,exports.FlowXAggregator=__webpack_exports__.FlowXAggregator,exports.FlowXAggregatorConverter=__webpack_exports__.FlowXAggregatorConverter,exports.FlowxClient=__webpack_exports__.FlowxClient,exports.FlowxCpmm=__webpack_exports__.FlowxCpmm,exports.FullsailClmm=__webpack_exports__.FullsailClmm,exports.HaedalLsdWal=__webpack_exports__.HaedalLsdWal,exports.KriyaClmm=__webpack_exports__.KriyaClmm,exports.MagmaAlmm=__webpack_exports__.MagmaAlmm,exports.MagmaClmm=__webpack_exports__.MagmaClmm,exports.MathUtils=__webpack_exports__.MathUtils,exports.MetaAgError=__webpack_exports__.MetaAgError,exports.MetaAgErrorCode=__webpack_exports__.MetaAgErrorCode,exports.MetaAggregator=__webpack_exports__.MetaAggregator,exports.MetaClient=__webpack_exports__.MetaClient,exports.Metastable=__webpack_exports__.Metastable,exports.MomentumClmm=__webpack_exports__.MomentumClmm,exports.MoonbagsCalculation=__webpack_exports__.MoonbagsCalculation,exports.MoonbagsConstants=__webpack_exports__.MoonbagsConstants,exports.MoonbagsPackage=__webpack_exports__.MoonbagsPackage,exports.MoonbagsTransaction=__webpack_exports__.MoonbagsTransaction,exports.Movepump=__webpack_exports__.Movepump,exports.NATIVE_USDC_TOKEN_TYPE=__webpack_exports__.NATIVE_USDC_TOKEN_TYPE,exports.NoodlesPaySdk=__webpack_exports__.NoodlesPaySdk,exports.NoodlesSdk=__webpack_exports__.NoodlesSdk,exports.Obric=__webpack_exports__.Obric,exports.PythPrice=__webpack_exports__.PythPrice,exports.PythUtils=__webpack_exports__.PythUtils,exports.RouterUtils=__webpack_exports__.RouterUtils,exports.SUBSCRIPTION_CONFIG=__webpack_exports__.SUBSCRIPTION_CONFIG,exports.SUI_ADDRESS_ZERO=__webpack_exports__.SUI_ADDRESS_ZERO,exports.SUI_FULL_TYPE=__webpack_exports__.SUI_FULL_TYPE,exports.SUI_METADATA_OBJECT_ID=__webpack_exports__.SUI_METADATA_OBJECT_ID,exports.SUI_TYPE=__webpack_exports__.SUI_TYPE,exports.Scallop=__webpack_exports__.Scallop,exports.SevenKAggregator=__webpack_exports__.SevenKAggregator,exports.SevenKAggregatorConverter=__webpack_exports__.SevenKAggregatorConverter,exports.SevenkCpmm=__webpack_exports__.SevenkCpmm,exports.SevenkFun=__webpack_exports__.SevenkFun,exports.SrmCpmm=__webpack_exports__.SrmCpmm,exports.Steamm=__webpack_exports__.Steamm,exports.SubscriptionModule=__webpack_exports__.SubscriptionModule,exports.SupportedAggregator=__webpack_exports__.SupportedAggregator,exports.SupportedBondingCurve=__webpack_exports__.SupportedBondingCurve,exports.TradeFeeOptions=__webpack_exports__.TradeFeeOptions,exports.TradeportClmm=__webpack_exports__.TradeportClmm,exports.TurbosClmm=__webpack_exports__.TurbosClmm,exports.TurbosFun=__webpack_exports__.TurbosFun,exports.USDC_TOKEN_TYPE=__webpack_exports__.USDC_TOKEN_TYPE,exports.Volo=__webpack_exports__.Volo,exports.Walrus=__webpack_exports__.Walrus,exports.adaptSuiClient=__webpack_exports__.adaptSuiClient,exports.adaptTransaction=__webpack_exports__.adaptTransaction,exports.addGasFee=__webpack_exports__.addGasFee,exports.checkIsSui=__webpack_exports__.checkIsSui,exports.createCompatibleSuiClient=__webpack_exports__.createCompatibleSuiClient,exports.denormalizeTokenType=__webpack_exports__.denormalizeTokenType,exports.getAmountAfterFee=__webpack_exports__.getAmountAfterFee,exports.getCoinObjectIdsByAmount=__webpack_exports__.getCoinObjectIdsByAmount,exports.getExpectedReturn=__webpack_exports__.getExpectedReturn,exports.getMemezPumpSDK=__webpack_exports__.getMemezPumpSDK,exports.getMoveObject=__webpack_exports__.getMoveObject,exports.getMoveObjectContent=__webpack_exports__.getMoveObjectContent,exports.getNeededGasFee=__webpack_exports__.getNeededGasFee,exports.getSplitCoinForTx=__webpack_exports__.getSplitCoinForTx,exports.getSplitCoinsAfterFee=__webpack_exports__.getSplitCoinsAfterFee,exports.isSuiCoinType=__webpack_exports__.isSuiCoinType,exports.normalizeTokenType=__webpack_exports__.normalizeTokenType,exports.splitSuiCoinAfterFeeFromBuyTx=__webpack_exports__.splitSuiCoinAfterFeeFromBuyTx,exports.splitSuiCoinAfterFeeFromSellTx=__webpack_exports__.splitSuiCoinAfterFeeFromSellTx,exports.timeout=__webpack_exports__.timeout,__webpack_exports__)-1===["ADMIN_CAP_ID","AftermathAggregator","AftermathCpmm","AftermathLsd","AggregatorConverter","AggregatorModule","AggregatorProtocol","AstrosAggregator","BASE_BPS","BLUEFIN_PACKAGE_ID","BOOSTING_PACKAGE_ID","BlastFunConstants","BlastFunCustomCalculation","BlastFunCustomTransaction","BlastFunPackage","BlastFunSDKCalculation","BlastFunSDKTransaction","Blastfun","Bluefin7kClient","BluefinClmm","BluefinTx","BluemoveCpmm","Bolt","BoostingModule","Bps","CLOCK_OBJECT_ID","CONFIG_ID","CetusAggregator","CetusAggregatorConverter","CetusClient","CetusClmm","CetusDlmm","CurveModule","DEFAULT_TRADE_FEE","DeepbookV3","DipCpmm","DraftTransferTx","FerraClmm","FerraDlmm","FlowXAggregator","FlowXAggregatorConverter","FlowxClient","FlowxCpmm","FullsailClmm","HaedalLsdWal","KriyaClmm","MagmaAlmm","MagmaClmm","MathUtils","MetaAgError","MetaAgErrorCode","MetaAggregator","MetaClient","Metastable","MomentumClmm","MoonbagsCalculation","MoonbagsConstants","MoonbagsPackage","MoonbagsTransaction","Movepump","NATIVE_USDC_TOKEN_TYPE","NoodlesPaySdk","NoodlesSdk","Obric","PythPrice","PythUtils","RouterUtils","SUBSCRIPTION_CONFIG","SUI_ADDRESS_ZERO","SUI_FULL_TYPE","SUI_METADATA_OBJECT_ID","SUI_TYPE","Scallop","SevenKAggregator","SevenKAggregatorConverter","SevenkCpmm","SevenkFun","SrmCpmm","Steamm","SubscriptionModule","SupportedAggregator","SupportedBondingCurve","TradeFeeOptions","TradeportClmm","TurbosClmm","TurbosFun","USDC_TOKEN_TYPE","Volo","Walrus","adaptSuiClient","adaptTransaction","addGasFee","checkIsSui","createCompatibleSuiClient","denormalizeTokenType","getAmountAfterFee","getCoinObjectIdsByAmount","getExpectedReturn","getMemezPumpSDK","getMoveObject","getMoveObjectContent","getNeededGasFee","getSplitCoinForTx","getSplitCoinsAfterFee","isSuiCoinType","normalizeTokenType","splitSuiCoinAfterFeeFromBuyTx","splitSuiCoinAfterFeeFromSellTx","timeout"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
1
|
+
"use strict";const __rslib_import_meta_url__="u"<typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_modules__={"./src/constant/sui.ts"(e,t,o){o.d(t,{IC:()=>s,N3:()=>n,P9:()=>a,VV:()=>c,lM:()=>i,nD:()=>r,qb:()=>u,tC:()=>l});let r="0x2::sui::SUI",a="0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI",n="0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN",i="0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",s="0x9258181f5ceac8dbffb7030890243caed69a9599d2886d957a9cb7656af3bdb3",c="0x0000000000000000000000000000000000000000000000000000000000000006",u="0x0000000000000000000000000000000000000000000000000000000000000000";function l(e){return e===r||e===a}},"./src/libs/pyth.ts"(e,t,o){o.d(t,{L:()=>n,j:()=>i});var r,a,n,i,s=o("@mysten/sui/jsonRpc"),c=o("@mysten/sui/utils");let u=require("@pythnetwork/pyth-sui-js");(r=n||(n={})).LAST_PACKAGE_ID="0x8c36ea167c5e6da8c3d60b4fc897416105dcb986471bd81cfbfd38720a4487c0",r.newHolder=function(e){return e.moveCall({target:`${r.LAST_PACKAGE_ID}::oracle::new_holder`,typeArguments:[],arguments:[]})},r.getPrice=function(e){let{txb:t,coinOracleId:o,holder:a,coinPriceId:n}=e;t.moveCall({target:`${r.LAST_PACKAGE_ID}::pyth::get_price`,typeArguments:[],arguments:[t.object(o),a,t.object(n),t.object(c.SUI_CLOCK_OBJECT_ID)]})},(a=i||(i={})).PYTH_URLS=["https://hermes.pyth.network"],a.WORMHOLE_STATE_ID="0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c",a.PYTH_STATE_ID="0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8",a.newPythConnections=function(e){return e||(e=a.PYTH_URLS),e.map(e=>new u.SuiPriceServiceConnection(e,{timeout:3e3}))},a.newPythClient=function(e){return e||(e=new s.SuiJsonRpcClient({network:"mainnet",url:(0,s.getJsonRpcFullnodeUrl)("mainnet")})),new u.SuiPythClient(e,a.PYTH_STATE_ID,a.WORMHOLE_STATE_ID)},a.updatePythPriceIDs=async function(e){let{priceFeedIds:t,txb:o,pythConnections:r,pythClient:a}=e;if(0===t.length)return new Map;let n=null,i=null;for(let e of r)try{n=await e.getPriceFeedsUpdateData(t);break}catch(e){i=e,console.log("Error: ",e)}if(null==n)throw Error(`All Pyth price nodes are unavailable. Cannot fetch price data. Please switch to or add new available Pyth nodes. Detailed error: ${i?.message}`);let s=[];try{s=await a.updatePriceFeeds(o,n,t)}catch(e){throw Error(`All Pyth price nodes are unavailable. Cannot fetch price data. Please switch to or add new available Pyth nodes in the pythUrls parameter when initializing AggregatorClient, for example: new AggregatorClient({ pythUrls: ["https://your-pyth-node-url"] }). Detailed error: ${e}`)}let c=new Map;for(let e=0;e<t.length;e++)c.set(t[e],s[e]);return c}},"./src/libs/token-type.ts"(e,t,o){o.d(t,{YY:()=>i,eP:()=>n,nr:()=>a});var r=o("./src/constant/sui.ts");function a(e){return e===r.nD?r.P9:e}function n(e){return e===r.P9?r.nD:e}function i(e){return e===r.P9||e===r.nD}},"./src/meta-aggregator/aggregator/aggregator.ts"(e,t,o){var r,a;o.d(t,{u:()=>r}),(a=r||(r={})).MAX_AMOUNT_IN="18446744073709551615",a.LAST_PACKAGE_ID="0x7e57926855b32baa3b3cabed89380b8d415606fdedadc18e58bd1ef1e60aee48",a.openSwap=function(e){let{tx:t,expectedAmountOut:o,minAmountOut:r,coinInType:n,coinOutType:i,inputCoin:s,aggregatorFeeBps:c,aggregatorFeeRecipient:u,partnerFeeRecipient:l,partnerFeeBps:_}=e,[p]=t.moveCall({target:`${a.LAST_PACKAGE_ID}::aggregator::open_swap`,typeArguments:[n,i],arguments:[t.pure.u64(o),t.pure.u64(r),s,t.pure.u32(c),t.pure.address(u),t.pure.u32(_??0),t.pure.option("address",l)]});return p},a.closeSwap=function(e){let{tx:t,coinOutType:o,swapSession:r}=e,[n]=t.moveCall({target:`${a.LAST_PACKAGE_ID}::aggregator::close_swap`,typeArguments:[o],arguments:[r]});return n}},"./src/meta-aggregator/client/bluefin7k-client.ts"(e,t,o){o.r(t),o.d(t,{Bluefin7kClient:()=>i});var r=o("@bluefin-exchange/bluefin7k-aggregator-sdk"),a=o("./src/meta-aggregator/converter-route/sevenk-aggregator-converter.ts"),n=o("./src/meta-aggregator/client/error.ts");class i{options;kind="SEVENK";constructor(e,t){this.options=e,e.apiKey&&r.Config.setApiKey(e.apiKey),r.Config.setSuiClient(t)}async quote(e){let t=[];if(this.options.sources)for(let e of this.options.sources)a.m.SUPPORTED_PROTOCOLS.includes(e)&&t.push(e);else t.push(...a.m.SUPPORTED_PROTOCOLS);let o=await (0,r.getQuote)({tokenIn:e.coinTypeIn,tokenOut:e.coinTypeOut,amountIn:e.amountIn,sources:t,excludedPools:this.options.excludedPools,targetPools:this.options.targetPools});return n.u.assert(!!o,"No quote found",n.j.QUOTE_NOT_FOUND,{provider:this.kind}),{sourceRoute:"SEVENK",rawRoute:o,amountIn:o.swapAmountWithDecimal,amountOut:o.returnAmountWithDecimal,coinTypeIn:e.coinTypeIn,coinTypeOut:e.coinTypeOut}}}},"./src/meta-aggregator/client/cetus-client.ts"(e,t,o){o.r(t),o.d(t,{CetusClient:()=>c});var r=o("@cetusprotocol/aggregator-sdk"),a=o("./src/libs/pyth.ts"),n=o("./src/meta-aggregator/converter-route/cetus-aggregator-converter.ts"),i=o("./src/meta-aggregator/client/error.ts");let s=a.j.PYTH_URLS;class c{options;kind="CETUS";cetusClient;constructor(e,t,o){this.options=e,this.cetusClient=new r.AggregatorClient({apiKey:e.apiKey,client:o,endpoint:e.api,env:r.Env.Mainnet,pythUrls:t.hermesApi?t.hermesApi:s})}async quote(e){let t=[];if(this.options.sources)for(let e of this.options.sources)n.M.SUPPORTED_PROTOCOLS.includes(e)&&t.push(e);else t.push(...n.M.SUPPORTED_PROTOCOLS);let o=await this.cetusClient.findRouters({amount:e.amountIn,byAmountIn:!0,from:e.coinTypeIn,target:e.coinTypeOut,providers:t,splitCount:this.options.splitCount,splitAlgorithm:this.options.splitAlgorithm,splitFactor:this.options.splitFactor,depth:this.options.depth,liquidityChanges:this.options.liquidityChanges});return i.u.assert(!!o,"No quote found",i.j.QUOTE_NOT_FOUND,{provider:this.kind}),{sourceRoute:"CETUS",rawRoute:o,amountIn:o.amountIn.toString()||"0",amountOut:o.amountOut.toString()||"0",coinTypeIn:e.coinTypeIn,coinTypeOut:e.coinTypeOut}}}},"./src/meta-aggregator/client/error.ts"(e,t,o){o.d(t,{j:()=>a,u:()=>n});var r,a=((r={})[r.UNKNOWN=1e3]="UNKNOWN",r[r.TIMEOUT=1001]="TIMEOUT",r[r.PROVIDER_NOT_FOUND=1002]="PROVIDER_NOT_FOUND",r[r.PROVIDER_NOT_SUPPORTED=1003]="PROVIDER_NOT_SUPPORTED",r[r.INVALID_QUOTE=1004]="INVALID_QUOTE",r[r.QUOTE_NOT_FOUND=1005]="QUOTE_NOT_FOUND",r[r.INVALID_SIGNER_ADDRESS=1006]="INVALID_SIGNER_ADDRESS",r[r.PROVIDER_NOT_SUPPORT_SWAP=1007]="PROVIDER_NOT_SUPPORT_SWAP",r[r.SIMULATION_FAILED=1008]="SIMULATION_FAILED",r);class n extends Error{code;details;constructor(e,t,o){super(e),this.name="MetaAgError",this.code=t??1e3,this.details=o}static assert(e,t,o,r){if(!e)throw new n(t??"Assertion failed",o,r)}}},"./src/meta-aggregator/client/flowx-client.ts"(e,t,o){o.r(t),o.d(t,{FlowxClient:()=>n});var r=o("@flowx-finance/sdk"),a=o("./src/meta-aggregator/converter-route/flowx-aggregator-converter.ts");class n{options;kind="FLOWX";quoter;constructor(e){this.options=e,this.quoter=new r.AggregatorQuoter("mainnet",e.apiKey)}async quote(e){let t=[];if(this.options.sources)for(let e of this.options.sources)a.m.SUPPORTED_PROTOCOLS.includes(e)&&t.push(e);else t.push(...a.m.SUPPORTED_PROTOCOLS);let o=await this.quoter.getRoutes({amountIn:e.amountIn,tokenIn:e.coinTypeIn,tokenOut:e.coinTypeOut,includeSources:t,excludePools:this.options.excludePools,excludeSources:this.options.excludeSources,maxHops:this.options.maxHops,splitDistributionPercent:this.options.splitDistributionPercent});return{sourceRoute:"FLOWX",rawRoute:o,amountIn:o.amountIn?.toString()??"0",amountOut:o.amountOut?.toString()??"0",coinTypeIn:e.coinTypeIn,coinTypeOut:e.coinTypeOut}}}},"./src/meta-aggregator/converter-route/cetus-aggregator-converter.ts"(e,t,o){o.d(t,{M:()=>r});var r,a=o("@cetusprotocol/aggregator-sdk"),n=o("@minswap/tiny-invariant"),i=o.n(n),s=o("./src/meta-aggregator/aggregator/aggregator.ts"),c=o("./src/meta-aggregator/external/metastable.ts"),u=o("./src/meta-aggregator/router/types.ts");!function(e){let t=[a.CETUS,a.KRIYA,a.FLOWXV2,a.FLOWXV3,a.KRIYAV3,a.TURBOS,a.AFTERMATH,a.HAEDAL,a.VOLO,a.AFSUI,a.BLUEMOVE,a.DEEPBOOKV3,a.SCALLOP,a.SUILEND,a.BLUEFIN,a.HAEDALPMM,a.ALPHAFI,a.SPRINGSUI,a.STEAMM,a.METASTABLE,a.OBRIC,a.HAWAL,a.STEAMM_OMM,a.MOMENTUM,a.STEAMM_OMM_V2,a.MAGMA,a.SEVENK,a.HAEDALHMMV2,a.FULLSAIL,a.CETUSDLMM,a.FERRADLMM,a.FERRACLMM];e.SUPPORTED_PROTOCOLS=[...t];let o=new Set(t),r=e=>({poolId:e.id,coinInType:e.from,coinOutType:e.target,aToB:e.direction,amountIn:e.amountIn});function n(t){if(!o.has(t.provider))throw Error(`Unsupported or unknown provider: ${t.provider} for pool ${t.id}`);return(0,e.TO_META_AGGREGATOR_PATH_FN_MAP[t.provider])(t)}function l(e){let t=new Map;for(let[o,r]of e.paths.entries())t.set(r.from,o);let o=[];for(let r=0;r<e.paths.length;r++){let a=e.paths[r],i=n(a);t.get(a.from)===r&&(i.amountIn=s.u.MAX_AMOUNT_IN),o.push(i)}return o}e.TO_META_AGGREGATOR_PATH_FN_MAP={[a.METASTABLE]:e=>{let t=r(e),o=e.extendedDetails,a=e.direction?e.target:e.from;i()(o&&void 0!==o.metastable_create_cap_pkg_id&&void 0!==o.metastable_create_cap_module&&void 0!==o.metastable_create_cap_all_type_params&&void 0!==o.metastable_whitelisted_app_id,`METASTABLE missing required extendedDetails for pool ${e.id}.`);let n={createCapPackageId:o.metastable_create_cap_pkg_id,createCapModule:o.metastable_create_cap_module,createCapAllTypeParams:o.metastable_create_cap_all_type_params,whitelistedAppId:o.metastable_whitelisted_app_id};switch(a){case c.b.MetaCoinType.SUPER_SUI:return i()(o.metastable_registry_id,`METASTABLE_SUPER_SUI protocol requires 'metastable_registry_id' in extendedDetails for pool ${e.id}.`),{...t,...n,protocol:u.S.METASTABLE,metaCoin:a,registryId:o.metastable_registry_id};case c.b.MetaCoinType.MUSD:return i()(o.metastable_price_seed,`METASTABLE_MUSD protocol requires 'metastable_price_seed' in extendedDetails for pool ${e.id}.`),{...t,...n,protocol:u.S.METASTABLE,metaCoin:a,pythPriceFeedIdMeta:o.metastable_price_seed};case c.b.MetaCoinType.METH:return i()(o.metastable_price_seed&&o.metastable_eth_price_seed,`METASTABLE_ETH protocol requires 'metastable_price_seed' and 'metastable_eth_price_seed' in extendedDetails for pool ${e.id}.`),{...t,...n,protocol:u.S.METASTABLE,metaCoin:a,pythPriceFeedIdMeta:o.metastable_price_seed,pythPriceFeedIdEth:o.metastable_eth_price_seed};default:throw Error(`METASTABLE protocol does not support ${a} as metaCoin.`)}},[a.DEEPBOOKV3]:e=>({...r(e),protocol:u.S.DEEPBOOK_V3}),[a.AFTERMATH]:e=>{let t=e.extendedDetails;return i()(t?.aftermath_lp_supply_type,`AFTERMATH_CPMM protocol requires 'aftermath_lp_type' in extendedDetails for pool ${e.id}.`),{...r(e),protocol:u.S.AFTERMATH_CPMM,coinLpType:t.aftermath_lp_supply_type}},[a.FLOWXV3]:e=>({...r(e),protocol:u.S.FLOWX_CLMM,poolFeeRate:String(1e6*e.feeRate)}),[a.HAEDALPMM]:e=>{let t=e.extendedDetails;return i()(t?.haedal_pmm_base_price_seed&&t?.haedal_pmm_quote_price_seed,`HAEDAL_CPMM protocol requires 'haedal_pyth_price_a_id' and 'haedal_pyth_price_b_id' in extendedDetails for pool ${e.id}.`),{...r(e),protocol:u.S.HAEDAL_CPMM,pythPriceFeedIdA:t.haedal_pmm_base_price_seed,pythPriceFeedIdB:t.haedal_pmm_quote_price_seed}},[a.HAEDALHMMV2]:e=>{let t=e.extendedDetails;return i()(t?.haedalhmmv2_base_price_seed,`HAEDAL_CPMM_V2 protocol requires 'haedal_pyth_price_base_id' in extendedDetails for pool ${e.id}.`),{...r(e),protocol:u.S.HAEDAL_CPMM_V2,pythPriceFeedIdBase:t.haedalhmmv2_base_price_seed}},[a.SCALLOP]:e=>(i()(e.extendedDetails?.scallop_scoin_treasury,`SCALLOP protocol requires 'scallop_scoin_treasury' in extendedDetails for pool ${e.id}.`),{...r(e),protocol:u.S.SCALLOP,scoinTreasury:e.extendedDetails.scallop_scoin_treasury}),[a.STEAMM]:e=>{let t=e.extendedDetails;return i()(t?.steamm_bank_a&&t?.steamm_bank_b&&t?.steamm_lending_market&&t?.steamm_lending_market_type&&t?.steamm_btoken_a_type&&t?.steamm_btoken_b_type&&t?.steamm_lp_token_type,`STEAMM_CPMM protocol requires steamm fields in extendedDetails for pool ${e.id}.`),{...r(e),protocol:u.S.STEAMM_CPMM,bankAId:t.steamm_bank_a,bankBId:t.steamm_bank_b,lendingMarketId:t.steamm_lending_market,lendingMarketType:t.steamm_lending_market_type,bCoinAType:t.steamm_btoken_a_type,bCoinBType:t.steamm_btoken_b_type,lpBCoinType:t.steamm_lp_token_type}},[a.STEAMM_OMM]:e=>{let t=e.extendedDetails;return i()(t?.steamm_bank_a&&t?.steamm_bank_b&&t?.steamm_lending_market&&t?.steamm_lending_market_type&&t?.steamm_btoken_a_type&&t?.steamm_btoken_b_type&&t?.steamm_lp_token_type&&t?.steamm_oracle_pyth_price_seed_a&&t?.steamm_oracle_pyth_price_seed_b&&t?.steamm_oracle_registry_id&&t?.steamm_oracle_index_a&&t?.steamm_oracle_index_b,`STEAMM_OMM protocol requires steamm fields in extendedDetails for pool ${e.id}.`),{...r(e),protocol:u.S.STEAMM_OMM,bankAId:t.steamm_bank_a,bankBId:t.steamm_bank_b,lendingMarketId:t.steamm_lending_market,lendingMarketType:t.steamm_lending_market_type,bCoinAType:t.steamm_btoken_a_type,bCoinBType:t.steamm_btoken_b_type,lpBCoinType:t.steamm_lp_token_type,pythPriceFeedIdA:t.steamm_oracle_pyth_price_seed_a,pythPriceFeedIdB:t.steamm_oracle_pyth_price_seed_b,oracleRegistryId:t.steamm_oracle_registry_id,oracleIndexA:String(t.steamm_oracle_index_a),oracleIndexB:String(t.steamm_oracle_index_b)}},[a.STEAMM_OMM_V2]:e=>{let t=e.extendedDetails;return i()(t?.steamm_bank_a&&t?.steamm_bank_b&&t?.steamm_lending_market&&t?.steamm_lending_market_type&&t?.steamm_btoken_a_type&&t?.steamm_btoken_b_type&&t?.steamm_lp_token_type&&t?.steamm_oracle_pyth_price_seed_a&&t?.steamm_oracle_pyth_price_seed_b&&t?.steamm_oracle_registry_id&&t?.steamm_oracle_index_a&&t?.steamm_oracle_index_b,`STEAMM_OMM_V2 protocol requires steamm fields in extendedDetails for pool ${e.id}.`),{...r(e),protocol:u.S.STEAMM_OMM_V2,bankAId:t.steamm_bank_a,bankBId:t.steamm_bank_b,lendingMarketId:t.steamm_lending_market,lendingMarketType:t.steamm_lending_market_type,bCoinAType:t.steamm_btoken_a_type,bCoinBType:t.steamm_btoken_b_type,lpBCoinType:t.steamm_lp_token_type,pythPriceFeedIdA:t.steamm_oracle_pyth_price_seed_a,pythPriceFeedIdB:t.steamm_oracle_pyth_price_seed_b,oracleRegistryId:t.steamm_oracle_registry_id,oracleIndexA:String(t.steamm_oracle_index_a),oracleIndexB:String(t.steamm_oracle_index_b)}},[a.OBRIC]:e=>{let t=r(e);if(e.extendedDetails?.obric_coin_a_price_id&&e.extendedDetails?.obric_coin_b_price_id)return{...t,protocol:u.S.OBRIC,priceInfoObjIdA:e.extendedDetails.obric_coin_a_price_id,priceInfoObjIdB:e.extendedDetails.obric_coin_b_price_id};if(e.extendedDetails?.obric_coin_a_price_seed&&e.extendedDetails?.obric_coin_b_price_seed)return{...t,protocol:u.S.OBRIC,pythPriceFeedIdA:e.extendedDetails.obric_coin_a_price_seed,pythPriceFeedIdB:e.extendedDetails.obric_coin_b_price_seed};throw Error(`OBRIC protocol requires 'obric_coin_a_price_id' and 'obric_coin_b_price_id' in extendedDetails for pool ${e.id}.`)},[a.SEVENK]:e=>{let t=e.extendedDetails;return i()(t?.sevenk_lp_cap_type&&t?.sevenk_coin_a_price_seed&&t?.sevenk_coin_b_price_seed&&t?.sevenk_oracle_config_a&&t?.sevenk_oracle_config_b,`SEVENK_CPMM protocol requires sevenk fields in extendedDetails for pool ${e.id}.`),{...r(e),protocol:u.S.SEVENK_CPMM,coinLpType:t.sevenk_lp_cap_type,pythPriceFeedIdA:t.sevenk_coin_a_price_seed,pythPriceFeedIdB:t.sevenk_coin_b_price_seed,oracleConfigA:t.sevenk_oracle_config_a,oracleConfigB:t.sevenk_oracle_config_b}},[a.TURBOS]:e=>(i()(e.extendedDetails?.turbos_fee_type,`TURBOS_CLMM protocol requires 'coinFeeType' parameter for pool ${e.id}. Provide it via the parametersMap argument.`),{...r(e),protocol:u.S.TURBOS_CLMM,coinFeeType:e.extendedDetails.turbos_fee_type}),[a.AFSUI]:e=>({...r(e),protocol:u.S.AFTERMATH_LSD}),[a.ALPHAFI]:e=>({...r(e),protocol:u.S.ALPHAFI_LSD}),[a.BLUEFIN]:e=>({...r(e),protocol:u.S.BLUEFIN_CLMM}),[a.BLUEMOVE]:e=>({...r(e),protocol:u.S.BLUEMOVE_CPMM}),[a.CETUS]:e=>({...r(e),protocol:u.S.CETUS_CLMM}),[a.CETUSDLMM]:e=>({...r(e),protocol:u.S.CETUS_DLMM}),[a.FERRACLMM]:e=>({...r(e),protocol:u.S.FERRA_CLMM}),[a.FERRADLMM]:e=>({...r(e),protocol:u.S.FERRA_DLMM}),[a.FLOWXV2]:e=>({...r(e),protocol:u.S.FLOWX_CPMM}),[a.FULLSAIL]:e=>({...r(e),protocol:u.S.FULLSAIL_CLMM}),[a.HAEDAL]:e=>({...r(e),protocol:u.S.HAEDAL_LSD}),[a.HAWAL]:e=>({...r(e),protocol:u.S.HAEDAL_LSD_WAL}),[a.KRIYA]:e=>({...r(e),protocol:u.S.KRIYA_CPMM}),[a.KRIYAV3]:e=>({...r(e),protocol:u.S.KRIYA_CLMM}),[a.MAGMA]:e=>({...r(e),protocol:u.S.MAGMA_CLMM}),[a.MOMENTUM]:e=>({...r(e),protocol:u.S.MOMENTUM_CLMM}),[a.SUILEND]:e=>({...r(e),protocol:u.S.SPRINGSUI}),[a.SPRINGSUI]:e=>({...r(e),protocol:u.S.SPRINGSUI}),[a.VOLO]:e=>({...r(e),protocol:u.S.VOLO})},e.toMetaAggregatorPath=n,e.toMetaAggregatorPaths=l,e.convert=function(e){return{coinInType:e.paths[0].from,coinOutType:e.paths[e.paths.length-1].target,amountOut:e.amountOut.toString(),tradePaths:l(e)}}}(r||(r={}))},"./src/meta-aggregator/converter-route/flowx-aggregator-converter.ts"(e,t,o){o.d(t,{m:()=>r});var r,a=o("@flowx-finance/sdk"),n=o("@minswap/tiny-invariant"),i=o.n(n),s=o("./src/meta-aggregator/aggregator/aggregator.ts"),c=o("./src/meta-aggregator/router/types.ts");!function(e){let t=[a.Protocol.HOP_FUN,a.Protocol.FLOWX_PMM,a.Protocol.DEEPBOOK,a.Protocol.IPX_TIDE,a.Protocol.METASTABLE];e.SUPPORTED_PROTOCOLS=Object.values(a.Protocol).filter(e=>!t.includes(e));let o={[a.Protocol.FLOWX_V2]:t=>({...e.toMetaAggregatorBasePath(t),aToB:!0,protocol:c.S.FLOWX_CPMM}),[a.Protocol.FLOWX_V3]:t=>(i()(void 0!==t.poolFee,`Pool fee is required for pool ${t.pool.id}`),i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.FLOWX_CLMM,poolFeeRate:t.poolFee.toString()}),[a.Protocol.CETUS]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.CETUS_CLMM}),[a.Protocol.CETUS_DLMM]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.CETUS_DLMM}),[a.Protocol.AFTERMATH]:t=>(i()(t.lpCoinType,`AFTERMATH protocol requires lpCoinType for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:!0,protocol:c.S.AFTERMATH_CPMM,coinLpType:t.lpCoinType}),[a.Protocol.AFTERMATH_LSD]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:!t.xForY,protocol:c.S.AFTERMATH_LSD}),[a.Protocol.ALPHA_FI]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:!t.xForY,protocol:c.S.ALPHAFI_LSD}),[a.Protocol.BLUEFIN]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.BLUEFIN_CLMM}),[a.Protocol.BLUEMOVE]:t=>({...e.toMetaAggregatorBasePath(t),aToB:!0,protocol:c.S.BLUEMOVE_CPMM}),[a.Protocol.DEEPBOOK_V3]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.DEEPBOOK_V3}),[a.Protocol.FERRA_CLMM]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.FERRA_CLMM}),[a.Protocol.FERRA_DLMM]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.FERRA_DLMM}),[a.Protocol.FULL_SAIL]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.FULLSAIL_CLMM}),[a.Protocol.HAEDAL]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:!t.xForY,protocol:c.S.HAEDAL_LSD}),[a.Protocol.HAEDAL_PMM]:t=>{let o=t.oracles;return i()(o&&o.length>=2,`HAEDAL_CPMM protocol requires oracle price feeds for pool ${t.pool.id}.`),i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.HAEDAL_CPMM,pythPriceFeedIdA:o[0].priceId,pythPriceFeedIdB:o[1].priceId}},[a.Protocol.KRIYA_DEX]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.KRIYA_CPMM}),[a.Protocol.KRIYA_V3]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.KRIYA_CLMM}),[a.Protocol.MAGMA_FINANCE]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.MAGMA_CLMM}),[a.Protocol.MAGMA_ALMM]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.MAGMA_ALMM}),[a.Protocol.MOMENTUM_FINANCE]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.MOMENTUM_CLMM}),[a.Protocol.OBRIC]:t=>(i()(t.xPriceId&&t.yPriceId,`OBRIC protocol requires price feeds for pool ${t.pool.id}`),i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.OBRIC,priceInfoObjIdA:t.xPriceId,priceInfoObjIdB:t.yPriceId}),[a.Protocol.SPRING_SUI]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:!t.xForY,protocol:c.S.SPRINGSUI}),[a.Protocol.STEAMM]:t=>{i()(void 0!==t.bankXInfo&&void 0!==t.bankYInfo,`STEAMM protocol requires bank info for pool ${t.pool.id}`),i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),i()(void 0!==t.quoterType,`quoterType is required for pool ${t.pool.id}`),i()(void 0!==t.poolInfo,`poolInfo is required for pool ${t.pool.id}`),i()(void 0!==t.protocolConfig&&void 0!==t.protocolConfig.oracleRegistryId,`protocolConfig is required for pool ${t.pool.id}`);let o=t.oracles,r=e.toMetaAggregatorBasePath(t),a=t.xForY;switch(t.quoterType){case"constant_product":return{...r,aToB:a,protocol:c.S.STEAMM_CPMM,bankAId:a?t.bankXInfo.bankId:t.bankYInfo.bankId,bankBId:a?t.bankYInfo.bankId:t.bankXInfo.bankId,lendingMarketId:t.bankXInfo.lendingMarketId,lendingMarketType:t.bankXInfo.lendingMarketType,bCoinAType:a?t.bankXInfo.bTokenType:t.bankYInfo.bTokenType,bCoinBType:a?t.bankYInfo.bTokenType:t.bankXInfo.bTokenType,lpBCoinType:t.poolInfo.lpTokenType};case"oracle":case"oracle_v2":{i()(void 0!==o&&o.length>=2,`STEAMM_OMM protocol requires oracle price feeds for pool ${t.pool.id}.`);let e=o[0],n=o[1];return i()(void 0!==e.oracleId&&void 0!==n.oracleId&&void 0!==e.oracleIndex&&void 0!==n.oracleIndex,`STEAMM_OMM protocol requires oracle ids for pool ${t.pool.id}.`),{...r,aToB:a,protocol:c.S.STEAMM_OMM,bankAId:t.bankXInfo.bankId,bankBId:t.bankYInfo.bankId,lendingMarketId:t.bankXInfo.lendingMarketId,lendingMarketType:t.bankXInfo.lendingMarketType,bCoinAType:t.bankXInfo.bTokenType,bCoinBType:t.bankYInfo.bTokenType,lpBCoinType:t.poolInfo.lpTokenType,pythPriceFeedIdA:e.priceId,pythPriceFeedIdB:n.priceId,oracleRegistryId:t.protocolConfig.oracleRegistryId,oracleIndexA:e.oracleIndex.toString(),oracleIndexB:n.oracleIndex.toString()}}default:throw Error(`Unsupported quoter type: ${t.quoterType} for pool ${t.pool.id}`)}},[a.Protocol.SEVENK_V1]:t=>{let o=t.oracles;return i()(o&&o.length>=2,`SEVENK_CPMM protocol requires oracle price feeds for pool ${t.pool.id}.`),i()(t.poolStructTag,`SEVENK_V1 protocol requires poolStructTag for pool ${t.pool.id}`),i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.SEVENK_CPMM,coinLpType:t.poolStructTag,pythPriceFeedIdA:o[0].priceId,pythPriceFeedIdB:o[1].priceId,oracleConfigA:o[0].oracleId??"",oracleConfigB:o[1].oracleId??""}},[a.Protocol.SUI_REWARDS]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.SRM_CPMM}),[a.Protocol.TURBOS_FIANCE]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.TURBOS_CLMM,coinFeeType:t.poolStructTag?t.poolStructTag.split("<")[1].split(",")[2].trim().replace(">",""):""}),[a.Protocol.VOLO_LSD]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:!t.xForY,protocol:c.S.VOLO}),[a.Protocol.TRADEPORT]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),i()(void 0!==t.poolFee,`Pool fee is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,poolFeeRate:t.poolFee.toString(),protocol:c.S.TRADEPORT_CLMM}),[a.Protocol.TURBOS_FUN]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.TURBOS_FUN}),[a.Protocol.BLUEMOVE_FUN]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,expectedAmountOut:t.amountOut.toString(),protocol:c.S.MOVEPUMP}),[a.Protocol.SEVEN_K_FUN]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.SEVENK_FUN}),[a.Protocol.DIPCOIN]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.DIP_CPMM}),[a.Protocol.BOLT]:t=>(i()(void 0!==t.xForY,`xForY is required for pool ${t.pool.id}`),{...e.toMetaAggregatorBasePath(t),aToB:t.xForY,protocol:c.S.BOLT})};function r(t){let o=[];for(let e of t)o.push(...e.paths);let r=new Map;for(let[e,t]of o.entries())r.set(t.input.coinType,e);let a=o.map(e.toMetaAggregatorPath);for(let e of r.values())a[e].amountIn=s.u.MAX_AMOUNT_IN;return a}e.toMetaAggregatorBasePath=e=>({poolId:e.pool.id,coinInType:e.input.coinType,coinOutType:e.output.coinType,amountIn:e.amountIn.toString()}),e.toMetaAggregatorPath=e=>{let r=e.protocol();if(t.includes(r))throw Error(`Unsupported protocol: ${r}`);return(0,o[r])(e)},e.toMetaAggregatorPaths=r,e.convert=function(e){return{coinInType:e.coinIn.coinType,coinOutType:e.coinOut.coinType,amountOut:e.amountOut.toString(),tradePaths:r(e.routes)}}}(r||(r={}))},"./src/meta-aggregator/converter-route/sevenk-aggregator-converter.ts"(e,t,o){o.d(t,{m:()=>r});var r,a=o("@minswap/tiny-invariant"),n=o.n(a),i=o("@mysten/sui/utils"),s=o("./src/libs/token-type.ts"),c=o("./src/meta-aggregator/aggregator/aggregator.ts"),u=o("./src/meta-aggregator/router/types.ts");!function(e){let t=new Set(["bluefinx","RFQ"]);e.SUPPORTED_PROTOCOLS=["suiswap","turbos","cetus","bluemove","kriya","kriya_v3","aftermath","deepbook_v3","flowx","flowx_v3","bluefin","springsui","obric","stsui","steamm","steamm_oracle_quoter","steamm_oracle_quoter_v2","magma","haedal_pmm","momentum","sevenk_v1","fullsail","cetus_dlmm","ferra_dlmm","ferra_clmm"];let o={aftermath:e=>{n()(e.extra?.poolStructTag,"Aftermath protocol requires poolStructTag");let[t]=_(e.extra.poolStructTag);return{...l(e),protocol:u.S.AFTERMATH_CPMM,coinLpType:t}},flowx_v3:e=>{n()(e.extra?.swapFeeRate,"flowx_v3 protocol requires swapFeeRate");let t=e.extra.swapFeeRate;return{...l(e),protocol:u.S.FLOWX_CLMM,poolFeeRate:t}},turbos:e=>{n()(e.extra?.poolStructTag,"turbos protocol requires poolStructTag");let[t,o,r]=_(e.extra.poolStructTag);return{...l(e),protocol:u.S.TURBOS_CLMM,coinFeeType:r}},obric:e=>(n()(e.extra?.oracles,"obric protocol requires oracles"),{...l(e),protocol:u.S.OBRIC,pythPriceFeedIdA:p(e.extra.oracles[0]),pythPriceFeedIdB:p(e.extra.oracles[1])}),haedal_pmm:e=>(n()(e.extra.oracles,"haedal_pmm protocol requires oracles"),{...l(e),protocol:u.S.HAEDAL_CPMM,pythPriceFeedIdA:p(e.extra.oracles[0]),pythPriceFeedIdB:p(e.extra.oracles[1])}),sevenk_v1:e=>{n()(e.extra?.poolStructTag,"sevenk_v1 protocol requires poolStructTag"),n()(e.extra?.oracleConfigX,"sevenk_v1 protocol requires oracleConfigX"),n()(e.extra?.oracleConfigY,"sevenk_v1 protocol requires oracleConfigY");let t=e.extra.oracles?.[0]?.Pyth?.bytes,o=e.extra.oracles?.[1]?.Pyth?.bytes;n()(t,"sevenk_v1 protocol requires pythPriceFeedIdA"),n()(o,"sevenk_v1 protocol requires pythPriceFeedIdB");let[r,a,i]=_(e.extra.poolStructTag);return{...l(e),protocol:u.S.SEVENK_CPMM,coinLpType:i,pythPriceFeedIdA:t,pythPriceFeedIdB:o,oracleConfigA:e.extra.oracleConfigX,oracleConfigB:e.extra.oracleConfigY}},steamm:e=>{n()(e.extra?.poolStructTag,"steamm protocol requires poolStructTag"),n()(e.extra?.bankAStructTag,"steamm protocol requires bankAStructTag"),n()(e.extra?.lendingMarketA,"steamm protocol requires lendingMarketA"),n()(e.extra?.bankA,"steamm protocol requires bankA"),n()(e.extra?.bankB,"steamm protocol requires bankB");let[t,o,r,a]=_(e.extra.poolStructTag),[i,s,c]=_(e.extra.bankAStructTag);return{...l(e),protocol:u.S.STEAMM_CPMM,bankAId:e.extra.bankA,bankBId:e.extra.bankB,lendingMarketId:e.extra.lendingMarketA,lendingMarketType:i,bCoinAType:t,bCoinBType:o,lpBCoinType:a}},steamm_oracle_quoter:e=>{n()(e.extra?.poolStructTag,"steamm_oracle_quoter protocol requires poolStructTag"),n()(e.extra?.bankAStructTag,"steamm_oracle_quoter protocol requires bankAStructTag"),n()(e.extra?.lendingMarketA,"steamm_oracle_quoter protocol requires lendingMarketA"),n()(e.extra?.oracleRegistry,"steamm_oracle_quoter protocol requires oracleRegistry"),n()(e.extra?.bankA,"steamm_oracle_quoter protocol requires bankA"),n()(e.extra?.bankB,"steamm_oracle_quoter protocol requires bankB"),n()(e.extra?.oracleIndexes,"steamm_oracle_quoter protocol requires oracleIndexes"),n()(e.extra?.oracles,"steamm_oracle_quoter protocol requires oracles");let[t,o,r,a]=_(e.extra?.poolStructTag),[i,s,c]=_(e.extra.bankAStructTag),[d,g]=e.extra.oracleIndexes;return{...l(e),protocol:u.S.STEAMM_OMM,bankAId:e.extra.bankA,bankBId:e.extra.bankB,lendingMarketId:e.extra.lendingMarketA,lendingMarketType:i,bCoinAType:t,bCoinBType:o,lpBCoinType:a,pythPriceFeedIdA:p(e.extra.oracles[0]),pythPriceFeedIdB:p(e.extra.oracles[1]),oracleRegistryId:e.extra.oracleRegistry,oracleIndexA:d,oracleIndexB:g}},steamm_oracle_quoter_v2:e=>{n()(e.extra?.poolStructTag,"steamm_oracle_quoter_v2 protocol requires poolStructTag"),n()(e.extra?.bankAStructTag,"steamm_oracle_quoter_v2 protocol requires bankAStructTag"),n()(e.extra?.lendingMarketA,"steamm_oracle_quoter_v2 protocol requires lendingMarketA"),n()(e.extra?.oracleRegistry,"steamm_oracle_quoter_v2 protocol requires oracleRegistry"),n()(e.extra?.bankA,"steamm_oracle_quoter_v2 protocol requires bankA"),n()(e.extra?.bankB,"steamm_oracle_quoter_v2 protocol requires bankB"),n()(e.extra?.oracleIndexes,"steamm_oracle_quoter_v2 protocol requires oracleIndexes"),n()(e.extra?.oracles,"steamm_oracle_quoter_v2 protocol requires oracles");let[t,o,r,a]=_(e.extra?.poolStructTag),[i,s,c]=_(e.extra.bankAStructTag),[d,g]=e.extra.oracleIndexes;return{...l(e),protocol:u.S.STEAMM_OMM_V2,bankAId:e.extra.bankA,bankBId:e.extra.bankB,lendingMarketId:e.extra.lendingMarketA,lendingMarketType:i,bCoinAType:t,bCoinBType:o,lpBCoinType:a,pythPriceFeedIdA:p(e.extra.oracles[0]),pythPriceFeedIdB:p(e.extra.oracles[1]),oracleRegistryId:e.extra.oracleRegistry,oracleIndexA:d,oracleIndexB:g}},cetus:e=>({...l(e),protocol:u.S.CETUS_CLMM}),bluemove:e=>({...l(e),protocol:u.S.BLUEMOVE_CPMM}),kriya:e=>({...l(e),protocol:u.S.KRIYA_CPMM}),kriya_v3:e=>({...l(e),protocol:u.S.KRIYA_CLMM}),deepbook_v3:e=>({...l(e),protocol:u.S.DEEPBOOK_V3}),flowx:e=>({...l(e),protocol:u.S.FLOWX_CPMM}),bluefin:e=>({...l(e),protocol:u.S.BLUEFIN_CLMM}),springsui:e=>({...l(e),protocol:u.S.SPRINGSUI}),magma:e=>({...l(e),protocol:u.S.MAGMA_CLMM}),momentum:e=>({...l(e),protocol:u.S.MOMENTUM_CLMM}),fullsail:e=>({...l(e),protocol:u.S.FULLSAIL_CLMM}),stsui:e=>({...l(e),protocol:u.S.ALPHAFI_LSD}),suiswap:e=>({...l(e),protocol:u.S.SUISWAP_CPMM}),cetus_dlmm:e=>({...l(e),protocol:u.S.CETUS_DLMM}),ferra_dlmm:e=>({...l(e),protocol:u.S.FERRA_DLMM}),ferra_clmm:e=>({...l(e),protocol:u.S.FERRA_CLMM})};function r(e){let r=e.pool.type;if(t.has(r))throw Error(`Unsupported SourceDex: ${r}`);return(0,o[r])(e)}function a(e){let t=new Map;for(let[o,r]of e.entries())t.set(r.assetIn,o);let o=e.map(r);for(let e of t.values())o[e].amountIn=c.u.MAX_AMOUNT_IN;return o}function l(e){return{poolId:e.poolId,coinInType:e.assetIn,coinOutType:e.assetOut,amountIn:e.amount,aToB:e.swapXtoY}}function _(e){return(0,i.parseStructTag)(e||"").typeParams.map(i.normalizeStructTag)}function p(e){let t=e?.Pyth?.bytes||e?.Pyth?.price_identifier?.bytes;return n()(t,"Pyth price feed id is not found"),"0x"+(0,i.toHex)(Uint8Array.from(t))}e.toMetaAggregatorPath=r,e.toMetaAggregatorPaths=a,e.convert=function(e){var t,o,r;let i;n()(e.routes,"Invalid raw route: routes is missing");let c=(t=e.routes,i={},t.forEach(e=>{e.hops.forEach(e=>{i[e.poolId]=e.pool})}),i),u=a((o=e.swaps,r=c,o.map(e=>{let t=r[e.poolId],o=(0,s.eP)(e.assetIn),a=(0,s.eP)(e.assetOut),n={type:(0,s.eP)(t?.allTokens?.[0]?.address),decimals:t?.allTokens?.[0]?.decimal},i={type:(0,s.eP)(t?.allTokens?.[1]?.address),decimals:t?.allTokens?.[0]?.decimal},c=o===n.type;return{...e,pool:t,assetIn:o,assetOut:a,coinX:n,coinY:i,swapXtoY:c}})));return{coinInType:e.tokenIn,coinOutType:e.tokenOut,amountOut:e.returnAmountWithDecimal,tradePaths:u}}}(r||(r={}))},"./src/meta-aggregator/external/metastable.ts"(e,t,o){o.d(t,{b:()=>n});var r,a,n,i=o("@minswap/tiny-invariant"),s=o.n(i),c=o("@mysten/sui/utils");(r=n||(n={})).UNIVERSAL_META_VAULT_INTEGRATION_PACKAGE_ID="0xfd12517a9fc87c6a1f2357ad13b3421fb27a8bd7ca07d5fd5934ac35733baa47",(a=r.MetaCoinType||(r.MetaCoinType={})).SUPER_SUI="0x790f258062909e3a0ffc78b3c53ac2f62d7084c3bab95644bdeb05add7250001::super_sui::SUPER_SUI",a.MUSD="0xe44df51c0b21a27ab915fa1fe2ca610cd3eaa6d9666fe5e62b988bf7f0bd8722::musd::MUSD",a.METH="0xccd628c2334c5ed33e6c47d6c21bb664f8b6307b2ac32c2462a61f69a31ebcee::meth::METH",r.VERSION_OBJ_ID="0x4696559327b35ff2ab26904e7426a1646312e9c836d5c6cff6709a5ccc30915c",r.createCap=function(e){let t,{txb:o,coinType:r,metaCoin:a,createCapAllTypeParams:n,whitelistedAppId:i,poolId:u,pythInfoObjectIdMap:l,createCapPackageId:_,createCapModule:p,createCapFunc:d}=e,g=[a.toString()];switch(n&&g.push(r),e.metaCoin){case"0x790f258062909e3a0ffc78b3c53ac2f62d7084c3bab95644bdeb05add7250001::super_sui::SUPER_SUI":t=[o.object(i),o.object(u),o.object(e.registryId)];break;case"0xe44df51c0b21a27ab915fa1fe2ca610cd3eaa6d9666fe5e62b988bf7f0bd8722::musd::MUSD":{let r=l.get(e.pythPriceFeedIdMeta);s()(r,"Not found priceMetaId in pythObjectIdMap"),t=[o.object(i),o.object(u),o.object(r),o.object(c.SUI_CLOCK_OBJECT_ID)];break}case"0xccd628c2334c5ed33e6c47d6c21bb664f8b6307b2ac32c2462a61f69a31ebcee::meth::METH":{let r=l.get(e.pythPriceFeedIdMeta);s()(r,"Not found priceId in pythObjectIdMap");let a=l.get(e.pythPriceFeedIdEth);s()(a,"Not found priceEthFeedId in pythObjectIdMap"),t=[o.object(i),o.object(u),o.object(r),o.object(a),o.object(c.SUI_CLOCK_OBJECT_ID)];break}default:throw Error("Invalid MetaCoin: "+a.toString())}return o.moveCall({target:`${_}::${p}::${d}`,typeArguments:g,arguments:t})},r.getCreateCapModule=function(e){switch(e){case"0x790f258062909e3a0ffc78b3c53ac2f62d7084c3bab95644bdeb05add7250001::super_sui::SUPER_SUI":return"exchange_rate";case"0xe44df51c0b21a27ab915fa1fe2ca610cd3eaa6d9666fe5e62b988bf7f0bd8722::musd::MUSD":case"0xccd628c2334c5ed33e6c47d6c21bb664f8b6307b2ac32c2462a61f69a31ebcee::meth::METH":return"pyth";default:throw Error("Invalid MetaCoin: "+e)}},r.isMetaCoinType=function(e){return Object.values(r.MetaCoinType).map(e=>e.toString()).includes(e)},r.getCreateCapAllTypeParams=function(e,t){switch(e){case"0x790f258062909e3a0ffc78b3c53ac2f62d7084c3bab95644bdeb05add7250001::super_sui::SUPER_SUI":return t===r.UNIVERSAL_META_VAULT_INTEGRATION_PACKAGE_ID;case"0xe44df51c0b21a27ab915fa1fe2ca610cd3eaa6d9666fe5e62b988bf7f0bd8722::musd::MUSD":case"0xccd628c2334c5ed33e6c47d6c21bb664f8b6307b2ac32c2462a61f69a31ebcee::meth::METH":return!0;default:throw Error("Invalid MetaCoin: "+e)}}},"./src/meta-aggregator/router/types.ts"(e,t,o){o.d(t,{S:()=>a});var r,a=((r={}).AFTERMATH_CPMM="aftermath_cpmm",r.AFTERMATH_LSD="aftermath_lsd",r.ALPHAFI_LSD="alphafi_lsd",r.BLASTFUN="blastfun",r.BLUEFIN_CLMM="bluefin_clmm",r.BLUEMOVE_CPMM="bluemove_cpmm",r.BOLT="bolt",r.CETUS_CLMM="cetus_clmm",r.CETUS_DLMM="cetus_dlmm",r.DEEPBOOK_V3="deepbook_v3",r.DIP_CPMM="dip_cpmm",r.FLOWX_CPMM="flowx_cpmm",r.FLOWX_CLMM="flowx_clmm",r.FULLSAIL_CLMM="fullsail_clmm",r.FERRA_CLMM="ferra_clmm",r.FERRA_DLMM="ferra_dlmm",r.HAEDAL_CPMM="haedal_cpmm",r.HAEDAL_CPMM_V2="haedal_cpmm_v2",r.HAEDAL_LSD="haedal_lsd",r.HAEDAL_LSD_WAL="haedal_lsd_wal",r.KRIYA_CLMM="kriya_clmm",r.KRIYA_CPMM="kriya_cpmm",r.MAGMA_ALMM="magma_almm",r.MAGMA_CLMM="magma_clmm",r.METASTABLE="metastable",r.MOMENTUM_CLMM="momentum_clmm",r.MOVEPUMP="movepump",r.OBRIC="obric",r.SCALLOP="scallop",r.SEVENK_CPMM="sevenk_cpmm",r.SEVENK_FUN="sevenk_fun",r.SPRINGSUI="springsui",r.SRM_CPMM="srm_cpmm",r.STEAMM_CPMM="steamm_cpmm",r.SUISWAP_CPMM="suiswap_cpmm",r.STEAMM_OMM="steamm_omm",r.STEAMM_OMM_V2="steamm_omm_v2",r.TRADEPORT_CLMM="tradeport_clmm",r.TURBOS_CLMM="turbos_clmm",r.TURBOS_FUN="turbos_fun",r.VOLO="volo",r)},"@bluefin-exchange/bluefin7k-aggregator-sdk"(e){e.exports=require("@bluefin-exchange/bluefin7k-aggregator-sdk")},"@cetusprotocol/aggregator-sdk"(e){e.exports=require("@cetusprotocol/aggregator-sdk")},"@flowx-finance/sdk"(e){e.exports=require("@flowx-finance/sdk")},"@minswap/tiny-invariant"(e){e.exports=require("@minswap/tiny-invariant")},"@mysten/sui/jsonRpc"(e){e.exports=require("@mysten/sui/jsonRpc")},"@mysten/sui/utils"(e){e.exports=require("@mysten/sui/utils")}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var o=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](o,o.exports,__webpack_require__),o.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var o in t)__webpack_require__.o(t,o)&&!__webpack_require__.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};for(var __rspack_i in(()=>{let e;__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{ADMIN_CAP_ID:()=>o6,AftermathAggregator:()=>tY,AftermathCpmm:()=>ex,AftermathLsd:()=>ey,AggregatorConverter:()=>tv,AggregatorModule:()=>oQ,AggregatorProtocol:()=>ov.S,AstrosAggregator:()=>tJ,BASE_BPS:()=>1e4,BLUEFIN_PACKAGE_ID:()=>os,BOOSTING_PACKAGE_ID:()=>oZ,BlastFunConstants:()=>ed,BlastFunCustomCalculation:()=>eb,BlastFunCustomTransaction:()=>eI,BlastFunPackage:()=>ef,BlastFunSDKCalculation:()=>eC,BlastFunSDKTransaction:()=>eT,Blastfun:()=>eB,Bluefin7kClient:()=>oP.Bluefin7kClient,BluefinClmm:()=>ek,BluefinTx:()=>eA,BluemoveCpmm:()=>ev,Bolt:()=>eL,BoostingModule:()=>o4,Bps:()=>em,CLOCK_OBJECT_ID:()=>or.VV,CONFIG_ID:()=>o0,CetusAggregator:()=>tQ,CetusAggregatorConverter:()=>tz.M,CetusClient:()=>oB.CetusClient,CetusClmm:()=>eN,CetusDlmm:()=>eK,CurveModule:()=>o1,DEFAULT_TRADE_FEE:()=>o8,DeepbookV3:()=>eq,DipCpmm:()=>eV,DraftTransferTx:()=>rt,FerraClmm:()=>eJ,FerraDlmm:()=>eW,FlowXAggregator:()=>t4,FlowXAggregatorConverter:()=>t6.m,FlowxClient:()=>ok.FlowxClient,FlowxCpmm:()=>eZ,FullsailClmm:()=>e6,HaedalLsdWal:()=>e8,KriyaClmm:()=>e7,MagmaAlmm:()=>to,MagmaClmm:()=>ta,MathUtils:()=>eg,MetaAgError:()=>oF.u,MetaAgErrorCode:()=>oF.j,MetaAggregator:()=>tD,MetaClient:()=>oX,Metastable:()=>oR.b,MomentumClmm:()=>ts,MoonbagsCalculation:()=>eM,MoonbagsConstants:()=>eS,MoonbagsPackage:()=>eO,MoonbagsTransaction:()=>eE,Movepump:()=>tu,NATIVE_USDC_TOKEN_TYPE:()=>or.lM,NoodlesPaySdk:()=>o5,NoodlesSdk:()=>o9,Obric:()=>t_,PythPrice:()=>oy.L,PythUtils:()=>oy.j,RouterUtils:()=>tk,SUBSCRIPTION_CONFIG:()=>o3,SUI_ADDRESS_ZERO:()=>or.qb,SUI_FULL_TYPE:()=>or.P9,SUI_METADATA_OBJECT_ID:()=>or.IC,SUI_TYPE:()=>or.nD,Scallop:()=>td,SevenKAggregator:()=>tG,SevenKAggregatorConverter:()=>tj.m,SevenkCpmm:()=>tm,SevenkFun:()=>tb,SrmCpmm:()=>tC,Steamm:()=>tS,SubscriptionModule:()=>o2,SuiGrpcClient:()=>od.SuiGrpcClient,SuiJsonRpcClient:()=>og.SuiJsonRpcClient,SupportedAggregator:()=>tZ,SupportedBondingCurve:()=>oM,TradeFeeOptions:()=>ep,TradeportClmm:()=>tE,TurbosClmm:()=>th,TurbosFun:()=>tw,USDC_TOKEN_TYPE:()=>or.N3,Volo:()=>tB,Walrus:()=>e5,addGasFee:()=>oC,checkIsSui:()=>ow.YY,denormalizeTokenType:()=>ow.eP,getAmountAfterFee:()=>t7,getCoinObjectIdsByAmount:()=>on,getExpectedReturn:()=>oH,getGrpcFullnodeUrl:()=>om,getJsonRpcFullnodeUrl:()=>of,getMemezPumpSDK:()=>oI,getMoveObject:()=>t8,getMoveObjectContent:()=>t5,getNeededGasFee:()=>oe,getSplitCoinForTx:()=>oi,getSplitCoinsAfterFee:()=>t9,getTransactionResultDigest:()=>ob,isSuiCoinType:()=>or.tC,normalizeTokenType:()=>ow.nr,splitSuiCoinAfterFeeFromBuyTx:()=>oc,splitSuiCoinAfterFeeFromSellTx:()=>ou,timeout:()=>oJ});var t,o,r,a,n,i,s,c,u,l,_,p,d,g,m,f,b,A,I,C,T,S,O,M,E,x,h,y,w,P,B,F,k,D,v,R,L,U,N,j,K,G,q,$,V,Y,J,H,W,X,z,Q,Z,ee,et,eo,er,ea,en,ei,es,ec,eu,el,e_,ep,ed,eg,em,ef,eb,eA,eI,eC,eT,eS,eO,eM,eE,ex,eh,ey,ew,eP,eB,eF,ek,eD,ev,eR,eL,eU,eN,ej,eK,eG,eq,e$,eV,eY,eJ,eH,eW,eX,ez,eQ,eZ,e0,e6,e4,e1,e3,e2,e5,e8,e9,e7,te,tt,to,tr,ta,tn,ti,ts,tc,tu,tl,t_,tp,td,tg,tm,tf,tb,tA,tI,tC,tT,tS,tO,tM,tE,tx,th,ty,tw,tP,tB,tF,tk,tD,tv,tR=__webpack_require__("@bluefin-exchange/bluefin7k-aggregator-sdk");let tL=require("@mysten/sui/transactions"),tU=require("bignumber.js");var tN=__webpack_require__.n(tU),tj=__webpack_require__("./src/meta-aggregator/converter-route/sevenk-aggregator-converter.ts");function tK(e,t){console.error(`NOODLES_SDK_AGGREGATOR_ROUTE_ERROR aggregator=${e} error=${function(e){if(e instanceof Error)return`${e.name}: ${e.message}`;if("string"==typeof e)return e;try{return JSON.stringify(e)}catch{return String(e)}}(t)}`)}class tG{_config;_suiClient;constructor(e,t){this._config=e,this._suiClient=t}async getTradeRoute({coinInAmount:e,coinInType:t,coinOutType:o,tradeFee:r,metaAggregator:a,supportedProtocols:n}){try{this._config.sevenKApiKey&&tR.Config.setApiKey(this._config.sevenKApiKey);let i=r?r.tradeFeePercent:this._config.defaultTradeFee.tradeFeePercent,s=n??(a?tj.m.SUPPORTED_PROTOCOLS:void 0);return await (0,tR.getQuote)({tokenIn:t,tokenOut:o,amountIn:e.toString(),commissionBps:1e4*i,sources:s})}catch(e){return tK("sevenk",e),null}}async getTransaction({walletAddress:e,completeRoute:t,slippage:o,tradeFee:r}){let a,n;r?(a=r.tradeFeePercent,n=r.tradeFeeRecipientAddress):(a=this._config.defaultTradeFee.tradeFeePercent,n=this._config.defaultTradeFee.tradeFeeRecipientAddress);let i=await (0,tR.buildTx)({quoteResponse:t,slippage:o,accountAddress:e,commission:{partner:n,commissionBps:1e4*a}});return i.tx instanceof tR.BluefinXTx?tL.Transaction.from(i.tx.txBytes).build({client:this._suiClient}):(i.tx.setSender(e),i.tx.build({client:this._suiClient}))}}(tG||(tG={})).toCommonTradeRoutes=function(e){let t=[];if(!e.routes||0===e.routes.length)return null;for(let o of e.routes){let e=[],r={};for(let t of o.hops){for(let e of t.pool.allTokens)r[e.address]=e.decimal;let o=r[t.tokenIn]??0,a=r[t.tokenOut]??0,n=BigInt(new(tN())(t.tokenInAmount).multipliedBy(10**o).toFixed(0,3)),i=BigInt(new(tN())(t.tokenOutAmount).multipliedBy(10**a).toFixed(0,3));e.push({poolAddress:t.poolId,coinIn:t.tokenIn,coinOut:t.tokenOut,amountIn:n,amountOut:i})}if(0===e.length)continue;let a=r[o.tokenIn]??0,n=r[o.tokenOut]??0,i=BigInt(new(tN())(o.tokenInAmount).multipliedBy(10**a).toFixed(0,3)),s=BigInt(new(tN())(o.tokenOutAmount).multipliedBy(10**n).toFixed(0,3));t.push({paths:e,coinIn:o.tokenIn,coinOut:o.tokenOut,amountIn:i,amountOut:s})}return 0===t.length?null:{coinIn:e.tokenIn,coinOut:e.tokenOut,amountIn:BigInt(e.swapAmountWithDecimal),amountOut:BigInt(e.returnAmountAfterCommissionWithDecimal),routes:t}};let tq=require("aftermath-ts-sdk");function t$(e){return"bigint"==typeof e?e:"string"==typeof e&&/^\d+$/.test(e)?BigInt(e):e}function tV(e){return{...e,coinIn:e.coinIn?{...e.coinIn,amount:t$(e.coinIn.amount),tradeFee:t$(e.coinIn.tradeFee)}:e.coinIn,coinOut:e.coinOut?{...e.coinOut,amount:t$(e.coinOut.amount),tradeFee:t$(e.coinOut.tradeFee)}:e.coinOut}}class tY{_config;_aftermathClient;_suiClient;constructor(e,t){this._config=e,this._suiClient=t}async aftermathClient(){if(this._aftermathClient)return this._aftermathClient;let e=new tq.Aftermath(this._config.aftermathApiEndpoint?this._config.aftermathApiEndpoint:"MAINNET"),t=await e.getAddresses();if(this._aftermathClient=new tq.Aftermath(this._config.aftermathApiEndpoint??"MAINNET",new tq.AftermathApi(this._suiClient,t)),this._config.aftermathApiKey){let e=tq.Helpers.keypairFromPrivateKey(this._config.aftermathApiKey);await this._aftermathClient.Auth().init({async signMessageCallback({message:t}){let{signature:o}=await e.signPersonalMessage(t);return{signature:o}},walletAddress:e.toSuiAddress()})}return this._aftermathClient}async getTradeRoute({coinInAmount:e,coinInType:t,coinOutType:o,tradeFee:r}){try{let a;a=r?{recipient:r.tradeFeeRecipientAddress,feePercentage:r.tradeFeePercent}:{recipient:this._config.defaultTradeFee.tradeFeeRecipientAddress,feePercentage:this._config.defaultTradeFee.tradeFeePercent};let n=await this.aftermathClient();return await n.Router().getCompleteTradeRouteGivenAmountIn({coinInAmount:e,coinInType:t,coinOutType:o,externalFee:a})}catch(e){return tK("aftermath",e),null}}async getTransaction({completeRoute:e,walletAddress:t,slippage:o}){let r=await this.aftermathClient(),a=await r.Router().getTransactionForCompleteTradeRoute({completeRoute:function(e){if("object"!=typeof e||null===e)return e;let t=tV(e);return{...t,routes:Array.isArray(t.routes)?t.routes.map(e=>{let t=tV(e);return{...t,portion:t$(t.portion),paths:Array.isArray(t.paths)?t.paths.map(e=>tV(e)):t.paths}}):t.routes,feeBreakdown:Array.isArray(t.feeBreakdown)?t.feeBreakdown.map(e=>({...e,amount:t$(e.amount)})):t.feeBreakdown}}(e),walletAddress:t,slippage:o,isSponsoredTx:!1});return a.setSender(t),a.build({client:this._suiClient})}}(tY||(tY={})).toCommonTradeRoutes=function(e){if(0===e.routes.length)return null;let t=[];for(let o of e.routes){let e=[];for(let t of o.paths)e.push({poolAddress:t.poolId,coinIn:t.coinIn.type,coinOut:t.coinOut.type,amountIn:BigInt(t.coinIn.amount),amountOut:BigInt(t.coinOut.amount)});0!==e.length&&t.push({paths:e,coinIn:o.coinIn.type,coinOut:o.coinOut.type,amountIn:o.coinIn.amount,amountOut:o.coinOut.amount})}return 0===t.length?null:{coinIn:e.coinIn.type,coinOut:e.coinOut.type,amountIn:e.coinIn.amount,amountOut:e.coinOut.amount,routes:t}};class tJ{_config;_suiClient;constructor(e,t){this._config=e,this._suiClient=t}async getTradeRoute({coinInAmount:e,coinInType:t,coinOutType:o,tradeFee:r}){try{let a;a=r?{fee:1e4*r.tradeFeePercent,receiverAddress:r.tradeFeeRecipientAddress}:{fee:1e4*this._config.defaultTradeFee.tradeFeePercent,receiverAddress:this._config.defaultTradeFee.tradeFeeRecipientAddress};let{getQuote:n}=await import("@naviprotocol/astros-aggregator-sdk");return await n(t,o,e,this._config.astrosApiKey,{byAmountIn:!0,serviceFee:a})}catch(e){return tK("astros",e),null}}returnMergedCoins(e,t,o){if(t.length<2)return e.object(t[0].coinObjectId);let r=0,a=[];t.sort((e,t)=>Number(t.balance)-Number(e.balance)).slice(1).forEach(e=>{r>=o||(r+=Number(e.balance),a.push(e.coinObjectId))});let n=t[0].coinObjectId;return e.mergeCoins(n,a),e.object(n)}async getTransaction({completeRoute:e,walletAddress:t,slippage:o,tradeFee:r}){var a;let n,i;n=r?{fee:r.tradeFeePercent,receiverAddress:r.tradeFeeRecipientAddress}:{fee:this._config.defaultTradeFee.tradeFeePercent,receiverAddress:this._config.defaultTradeFee.tradeFeeRecipientAddress};let s=new(tN())(e.amount_out).multipliedBy(1-o-n.fee).toNumber(),c=new tL.Transaction,{buildSwapPTBFromQuote:u,getCoins:l}=await import("@naviprotocol/astros-aggregator-sdk"),_=this._suiClient;if("0x2::sui::SUI"===(a=e.from)||"0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"===a)i=c.splitCoins(c.gas,[c.pure.u64(e.amount_in)]);else{let o=await l(_,t,e.from),r=this.returnMergedCoins(c,o.data,Number.parseFloat(e.amount_in));i=c.splitCoins(r,[c.pure.u64(e.amount_in)])}let p=await u(t,c,s,i,e,void 0,!1,this._config.astrosApiKey,{serviceFee:n});return c.transferObjects([p],t),c.setSender(t),c.build({client:this._suiClient})}}(tJ||(tJ={})).toCommonTradeRoutes=function(e,t,o){if(0===e.routes.length)return null;let r=[];for(let t of e.routes){let e=[];for(let o of t.path)e.push({poolAddress:o.id,coinIn:o.from,coinOut:o.target,amountIn:BigInt(o.amount_in),amountOut:BigInt(o.amount_out)});0!==e.length&&r.push({amountIn:BigInt(t.amount_in),amountOut:BigInt(t.amount_out),coinIn:e[0].coinIn,coinOut:e[e.length-1].coinOut,paths:e})}return 0===r.length?null:{coinIn:t,coinOut:o,amountIn:BigInt(e.amount_in),amountOut:BigInt(e.amount_out),routes:r}};var tH=__webpack_require__("@cetusprotocol/aggregator-sdk");let tW=require("bn.js");var tX=__webpack_require__.n(tW);(ep||(ep={})).equals=function(e,t){return e.tradeFeePercent===t.tradeFeePercent&&e.tradeFeeRecipientAddress===t.tradeFeeRecipientAddress};var tz=__webpack_require__("./src/meta-aggregator/converter-route/cetus-aggregator-converter.ts");class tQ{_config;_suiClient;_cetusClient;getCetusClientConfig({walletAddress:e,overlayFeeReceiver:t,overlayFeeRate:o}){return{client:this._suiClient,overlayFeeReceiver:t,overlayFeeRate:o,env:tH.Env.Mainnet,signer:e,...this._config.cetusApiKey&&this._config.cetusApiEndpoint?{apiKey:this._config.cetusApiKey,endpoint:this._config.cetusApiEndpoint}:{},partner:this._config.cetusPartnerId}}constructor(e,t){this._config=e,this._suiClient=t}cetusClient(e,t){return t&&!ep.equals(t,this._config.defaultTradeFee)?new tH.AggregatorClient(this.getCetusClientConfig({walletAddress:e,overlayFeeReceiver:t.tradeFeeRecipientAddress,overlayFeeRate:t.tradeFeePercent})):(this._cetusClient||(this._cetusClient=new tH.AggregatorClient(this.getCetusClientConfig({walletAddress:e,overlayFeeReceiver:this._config.defaultTradeFee.tradeFeeRecipientAddress,overlayFeeRate:this._config.defaultTradeFee.tradeFeePercent}))),this._cetusClient)}async getTradeRoute({coinInAmount:e,coinInType:t,coinOutType:o,tradeFee:r,metaAggregator:a,supportedProtocols:n}){try{let i=this.cetusClient(void 0,r),s=n??(a?tz.M.SUPPORTED_PROTOCOLS:void 0);return await i.findRouters({from:t,target:o,amount:new(tX())(e.toString()),byAmountIn:!0,providers:s})}catch(e){return tK("cetus",e),null}}async getTransaction({completeRoute:e,walletAddress:t,slippage:o,tradeFee:r}){let a=this.cetusClient(t,r),n=new tL.Transaction;return n.setSender(t),await a.fastRouterSwap({router:e,txb:n,slippage:o}),n.build({client:this._suiClient})}}(tQ||(tQ={})).toCommonTradeRoutes=function(e,t,o){if(0===e.paths.length)return null;let r=[],a=[],n=[];for(let t=0;t<e.paths.length;t++){let o=e.paths[t],r={poolAddress:o.id,amountIn:BigInt(o.amountIn),amountOut:BigInt(o.amountOut),coinIn:o.from,coinOut:o.target};if(n.push(r),t===e.paths.length-1)a.push([...n]);else{let r=e.paths[t+1];o.target!==r.from&&(a.push([...n]),n=[])}}for(let e of a)0!==e.length&&r.push({amountIn:e[0].amountIn,amountOut:e[e.length-1].amountOut,coinIn:e[0].coinIn,coinOut:e[e.length-1].coinOut,paths:e});return 0===r.length?null:{coinIn:t,coinOut:o,amountIn:BigInt(e.amountIn.toString(10)),amountOut:BigInt(e.amountOut.toString(10)),routes:r}};var tZ=((t={}).ASTROS="ASTROS",t.AFTERMATH="AFTERMATH",t.SEVENK="7K",t.CETUS="CETUS",t.FLOWX="FLOWX",t),t0=__webpack_require__("@flowx-finance/sdk"),t6=__webpack_require__("./src/meta-aggregator/converter-route/flowx-aggregator-converter.ts");class t4{_config;_suiClient;constructor(e,t){this._config=e,this._suiClient=t}getCommission(e,t){let o,r;return t?(o=t.tradeFeePercent,r=t.tradeFeeRecipientAddress):(o=this._config.defaultTradeFee.tradeFeePercent,r=this._config.defaultTradeFee.tradeFeeRecipientAddress),new t0.Commission(r,new t0.Coin(e),t0.CommissionType.PERCENTAGE,1e6*o,!0)}async getTradeRoute({coinInAmount:e,coinInType:t,coinOutType:o,tradeFee:r,metaAggregator:a,supportedProtocols:n}){let i=new t0.AggregatorQuoter("mainnet",this._config.flowxApiKey),s=n??(a?t6.m.SUPPORTED_PROTOCOLS:void 0);try{return await i.getRoutes({tokenIn:t,tokenOut:o,amountIn:e.toString(),commission:this.getCommission(t,r),includeSources:s})}catch(e){return tK("flowx",e),null}}async getTransaction({walletAddress:e,completeRoute:t,slippage:o,tradeFee:r}){return new t0.TradeBuilder("mainnet",t.routes).sender(e).slippage(1e6*o).commission(this.getCommission(t.coinIn.coinType,r)).build().buildTransaction({client:this._suiClient}).then(t=>(t.setSender(e),t.build({client:this._suiClient})))}}(t4||(t4={})).toCommonTradeRoutes=function(e){if(0===e.routes.length)return null;let t=[];for(let o of e.routes){let e=[];for(let t of o.paths)e.push({amountIn:BigInt(t.amountIn.toString()),amountOut:BigInt(t.amountOut.toString()),coinIn:t.input.coinType,coinOut:t.output.coinType,poolAddress:t.pool.id});0!==e.length&&t.push({amountIn:BigInt(o.amountIn.toString()),amountOut:BigInt(o.amountOut.toString()),coinIn:o.input.coinType,coinOut:o.output.coinType,paths:e})}return 0===t.length?null:{coinIn:e.coinIn.coinType,coinOut:e.coinOut.coinType,amountIn:BigInt(e.amountIn.toString()),amountOut:BigInt(e.amountOut.toString()),routes:t}},(o=ed||(ed={})).PACKAGE_ID_V4="0x7e6aa6e179466ab2814425a780b122575296d011119fa69d27f289f5a28814bd",o.MEMEZ_AV_OBJECT_ID="0x2319e3e76dfad73d8f4684bdbf42be4f32d8ce4521dd61becc8261dc918d82c0";var t1=__webpack_require__("@minswap/tiny-invariant"),t3=__webpack_require__.n(t1);let t2=require("@mysten/sui/bcs");async function t5(e,t){return(await t8(e,t)).fields}async function t8(e,t){let o=(await e.getObject({objectId:t,include:{json:!0,objectBcs:!0}})).object;t3()(o,"Pool object not found or has no content"),t3()(o.json,"Pool object not found or has no content"),t3()(o.objectBcs,"Pool object not found or has no content");let r=t2.bcs.Object.parse(o.objectBcs);return t3()("Move"===r.data.$kind,"Pool object is not a Move object"),{dataType:"moveObject",fields:o.json,hasPublicTransfer:r.data.Move.hasPublicTransfer,type:o.type}}function t9(e,t){let o=BigInt(e),r=BigInt(1e4*Number(t));if(r===BigInt(0))return[o.toString()];let a=o*r/BigInt(1e4);return[(o-a).toString(),a.toString()]}function t7(e,t){if(!t||0>=Number(t))return BigInt(e);let o=BigInt(e),r=BigInt(1e4*Number(t));if(r===BigInt(0))return o;let a=o*r/BigInt(1e4);return o-a}async function oe(e,t,o,r){t.setSenderIfNotSet(o);let a=await e.simulateTransaction({transaction:t,include:{effects:!0},checksEnabled:!1}),{gasUsed:n,status:i}=("Transaction"===a.$kind?a.Transaction:a.FailedTransaction).effects;if(!i.success)throw Error(`Transaction failed during simulation: ${i.error?.message??""}`);let s=BigInt(n.computationCost)+BigInt(n.storageCost)-BigInt(n.storageRebate),c=BigInt(1e4*Number(r));return s*(BigInt(1e4)+c)/BigInt(1e4)}((r=eg||(eg={})).U64||(r.U64={})).mulDivUp=function(e,t,o){let r=BigInt(0);return e*t%o>BigInt(0)&&(r=BigInt(1)),e*t/o+r};var ot=em||(em={});function oo(e){return t3()(BigInt(e)<=BigInt(1e4),"Bps overflow"),BigInt(e)}ot.calcUp=function(e,t){let o,r=BigInt(e.pos0),a=BigInt(1e4);return o=r*t%a!==BigInt(0)?BigInt(1):BigInt(0),r*t/a+o},ot.sub=function(e,t){return t3()(BigInt(e.pos0)>=BigInt(t.pos0),"Bps underflow"),{pos0:(BigInt(e.pos0)-BigInt(t.pos0)).toString()}},ot.value=function(e){return BigInt(e.pos0)},ot.new_=function(e){return{pos0:oo(e).toString()}},ot.assertOverflow=oo,((a=ef||(ef={})).MemezFun||(a.MemezFun={})).isSniperProtectedMemezFun=async function(e,t){return(await t5(e,t)).public_key.length>0},(n=a.MemezFees||(a.MemezFees={})).takeWithDiscount=function(e,t,o){if("Value"===e.variant){let o=BigInt(e.fields.pos0);if(o===BigInt(0))return BigInt(0);if(t>=o)return o;throw Error(`Insufficient amount to cover fee. Required: ${o}, provided: ${t}`)}if("Percentage"===e.variant){let r=e.fields.pos0.fields;if(BigInt(r.pos0)===BigInt(0))return BigInt(0);let a=em.calcUp(em.sub(r,o),t);if(t>=a)return a;throw Error(`Insufficient amount to cover fee. Required: ${a}, provided: ${t}`)}throw Error("Unknown fee variant")},n.calculateWithDiscount=function(e,t,o){if("Value"===e.variant)return BigInt(e.fields.pos0);if("Percentage"===e.variant){let r=e.fields.pos0.fields;return em.calcUp(em.sub(r,t),o)}throw Error("Unknown fee variant")},(a.MemezBurner||(a.MemezBurner={})).calculate=function(e,t){if(em.value(e.fee.fields)===BigInt(0)||t===BigInt(0)||t>=BigInt(e.target_liquidity))return em.new_(0);let o=BigInt(1e4);return em.new_(eg.U64.mulDivUp(em.value(e.fee.fields),eg.U64.mulDivUp(t,o,BigInt(e.target_liquidity)),o))},(i=a.MemezPump||(a.MemezPump={})).getPumpState=async function(e,t){return await t5(e,t.inner_state)},i.pump=function(e,t){let o=e.constant_product.fields,r=a.MemezFees.takeWithDiscount(o.quote_swap_fee,t,o.quote_referrer_fee.fields),n=t-r,i=BigInt(o.meme_balance),s=BigInt(o.quote_balance),c=i*n/(BigInt(o.virtual_liquidity)+s+n),u=a.MemezFees.takeWithDiscount(o.meme_swap_fee,c,o.meme_referrer_fee.fields);return c-u},i.dump=function(e,t){let o=e.constant_product.fields,r=a.MemezFees.takeWithDiscount(o.meme_swap_fee,t,o.meme_referrer_fee.fields),n=t-r,i=BigInt(o.meme_balance),s=BigInt(o.quote_balance),c=BigInt(o.virtual_liquidity),u=a.MemezBurner.calculate(o.burner.fields,s),l=em.calcUp(u,n),_=n-(em.value(u)!==BigInt(0)?l:BigInt(0)),p=(c+s)*_/(i+_);p>s&&(p=s);let d=a.MemezFees.takeWithDiscount(o.quote_swap_fee,p,o.quote_referrer_fee.fields);return p-d},(s=eb||(eb={})).getCurveAmountAfterBuy=async function(e,t){let{suiAmount:o,poolId:r,frontendFee:a}=e,n=await t5(t,r),i=await ef.MemezPump.getPumpState(t,n);return o=t7(o,a),ef.MemezPump.pump(i,o)},s.getSuiAmountAfterSell=async function(e,t){let{curveAmount:o,poolId:r,frontendFee:a}=e,n=await t5(t,r),i=await ef.MemezPump.getPumpState(t,n);return t7(ef.MemezPump.dump(i,o),a)};var or=__webpack_require__("./src/constant/sui.ts"),oa=__webpack_require__("@mysten/sui/utils");let on=async(e,t,o,r)=>{let a,n=[],i=!0;for(;i;)try{let o=await e.listCoins({owner:t,coinType:r,cursor:a});n=[...n,...o.objects.map(e=>({coinObjectId:e.objectId,version:e.version,digest:e.digest,balance:e.balance}))],i=o.hasNextPage,a=o.cursor}catch(e){console.error("Error fetching data:",e),i=!1}let s=((e,t,o)=>{let r;if(e?.length){do{r=!1;for(let a=0;a<e.length-1;a++){let n=BigInt(e[a][t]),i=BigInt(e[a+1][t]);if("desc"===o?n<i:n>i){let t=e[a];e[a]=e[a+1],e[a+1]=t,r=!0}}}while(r);return e}})(n.map(e=>({...e,balance:e.balance})),"balance","desc")??[],c="0",u=[],l=[];for(let e of s)if(c=(BigInt(e.balance)+BigInt(c)).toString(10),u.push(e.coinObjectId),l.push(e),BigInt(c)>=BigInt(o))break;return{objectIds:u,balance:c,objectCoins:l}};async function oi(e,t){let{account:o,amount:r,splits:a,coinType:n,inheritTx:i,inspecTransaction:s,isSponsored:c=!1}=e,u=i??new tL.Transaction,{objectIds:l,balance:_}=await on(t,o,r,n);if(BigInt(_)<BigInt(r))throw Error(`Insufficient balance for type ${n}. Required: ${r}, Available: ${_}`);if(0===l.length)throw Error(`No coins found for type ${n} with sufficient balance. Required: ${r}`);let p=l[0];if((0,oa.normalizeStructTag)(n)===(0,oa.normalizeStructTag)(or.P9)&&!c){let e;return s?(l.length>1&&u.mergeCoins(u.object(p),l.slice(1).map(e=>u.object(e))),e=u.splitCoins(u.object(p),a)):e=u.splitCoins(u.gas,a),{tx:u,coinData:e}}l.length>1&&u.mergeCoins(u.object(p),l.slice(1).map(e=>u.object(e)));let d=u.splitCoins(u.object(p),a);return{tx:u,coinData:d}}let os="0x62412b7268c35f3808336aee57a52836501f40b8ba5d936f8ad275e672befd04";async function oc(e,t){let o,r,{inputAmount:a,accountAddress:n,frontendFee:i,frontendFeeRecipient:s,extendTx:c,isSponsored:u}=e;t3()(e.inCoinType===or.P9||e.inCoinType===or.nD,"Input must be SUI");let{tx:l,coinIn:_}=c||{},p=t9(a,i||"0"),d=l||new tL.Transaction;if(_)o=d.splitCoins(_,p),eA.transferOrDestroyZeroCoin(d,or.P9,_,n);else{let{coinData:e}=await oi({account:n,amount:a,splits:p,coinType:or.P9,inheritTx:d,isSponsored:u||!1},t);o=e}if(i&&s){let[e,t]=o;r=e,d.transferObjects([t],d.pure.address(s||n))}else[r]=o;return{tx:d,coinOut:r}}async function ou(e,t,o){if(t3()(t.outCoinType===or.P9||t.outCoinType===or.nD,"Output must be SUI"),0>=Number(t.frontendFee||0))return{tx:e,coinOut:o};let r=e.moveCall({target:"0x2::coin::value",typeArguments:[t.outCoinType],arguments:[o]}),a=e.moveCall({target:`${os}::math::mul_div_u64`,typeArguments:[],arguments:[r,e.pure.u64(BigInt(1e4*Number(t.frontendFee||"0"))),e.pure.u64(BigInt(1e4))]}),n=e.moveCall({target:"0x2::coin::split",typeArguments:[t.outCoinType],arguments:[o,a]});return e.transferObjects([n],e.pure.address(t.frontendFeeRecipient||t.accountAddress)),{tx:e,coinOut:o}}(eA||(eA={})).transferOrDestroyZeroCoin=function(e,t,o,r){e.moveCall({target:`${os}::utils::transfer_or_destroy`,typeArguments:[t],arguments:[o,e.pure.address(r)]})};var ol=eI||(eI={});async function o_(e){let t=e||new tL.Transaction;return t.moveCall({target:`${ed.PACKAGE_ID_V4}::memez_allowed_versions::get_allowed_versions`,arguments:[t.object(ed.MEMEZ_AV_OBJECT_ID)],typeArguments:[]})}ol.getAllowedVersions=o_,ol.buildBuyTx=async function(e,t){t3()(!await ef.MemezFun.isSniperProtectedMemezFun(t,e.poolId),"This coin is a sniper protected coin, please use the Blast Fun website to trade it.");let{tx:o,coinOut:r}=await oc(e,t);t3()(r,"Coin out is required");let a=o.moveCall({target:`${ed.PACKAGE_ID_V4}::memez_pump::pump`,typeArguments:[e.outCoinType,or.P9],arguments:[o.object(e.poolId),r,o.pure.vector("address",[]),o.pure.vector("vector<u8>",[]),o.pure.u64(e.minAmountOut),await o_(o)]});return{tx:o,coinOut:a}},ol.buildSellTx=async function(e,t){t3()(e.outCoinType===or.P9||e.outCoinType===or.nD,"Output must be SUI");let o=await t5(t,e.poolId),{tx:r,coinData:a}=await oi({amount:e.inputAmount,coinType:e.inCoinType,inheritTx:e.extendTx?.tx,account:e.accountAddress,splits:[e.inputAmount]},t),[n]=a,[i]=r.moveCall({target:`${ed.PACKAGE_ID_V4}::memez_pump::dump`,typeArguments:[e.inCoinType,e.outCoinType],arguments:[r.object(e.poolId),r.object(o.ipx_meme_coin_treasury),n,r.pure.vector("address",[]),r.pure.u64(e.minAmountOut),await o_(r)]});return await ou(r,e,i)};let op=require("@interest-protocol/sui-core-sdk"),od=require("@mysten/sui/grpc");var og=__webpack_require__("@mysten/sui/jsonRpc");function om(e){switch(e){case"mainnet":return"https://fullnode.mainnet.sui.io:443";case"testnet":return"https://fullnode.testnet.sui.io:443";case"devnet":return"https://fullnode.devnet.sui.io:443";case"localnet":return"http://127.0.0.1:9000";default:throw Error(`Unknown network: ${e}`)}}function of(e){return om(e)}function ob(e){return"Transaction"===e.$kind?e.Transaction.digest:e.FailedTransaction.digest}let oA={network:op.Network.MAINNET,fullNodeUrl:om("mainnet")};async function oI(){if(!e){let{MemezPumpSDK:t}=await import("@interest-protocol/memez-fun-sdk");e=new t(oA)}return e}async function oC(e,t){let{inheritTx:o,sender:r,feeAmount:a,suiInputAmount:n}=e,i=o||new tL.Transaction;a>BigInt(0)&&i.setGasBudget(a);let{objectCoins:s}=await on(t,r,(BigInt(n||"0")+a).toString(),or.P9);return i.setGasPayment(s.map(e=>({objectId:e.coinObjectId,version:e.version,digest:e.digest}))),i}(c=eC||(eC={})).getCurveAmountAfterBuy=async function(e){let{suiAmount:t,poolId:o,frontendFee:r}=e;t=t7(t,r);let{memeAmountOut:a}=await (await oI()).quotePump({pool:o,amount:t});return a},c.getSuiAmountAfterSell=async function(e){let{curveAmount:t,poolId:o,frontendFee:r}=e,{quoteAmountOut:a}=await (await oI()).quoteDump({pool:o,amount:t});return t7(a,r)};var oT=eT||(eT={});async function oS(e,t){let{tx:o,coinOut:r}=await oc(e,t);t3()(r,"Coin out is required");let{memeCoin:a,tx:n}=await (await oI()).pump({pool:e.poolId,quoteCoin:r,minAmountOut:e.minAmountOut,tx:o});return{tx:n,coinOut:a}}async function oO(e,t){t3()((0,or.tC)(e.outCoinType),"Output must be SUI");let{tx:o,coinData:r}=await oi({amount:e.inputAmount,coinType:e.inCoinType,inheritTx:e.extendTx?.tx,account:e.accountAddress,splits:[e.inputAmount]},t),[a]=r,{quoteCoin:n,tx:i}=await (await oI()).dump({pool:e.poolId,memeCoin:a,tx:o,minAmountOut:e.minAmountOut});return await ou(i,e,n)}oT.buildBuyTx=oS,oT.buildSellTx=oO,oT.getBuyTransaction=async function({coinInAmount:e,coinInType:t,coinOutType:o,poolId:r,slippage:a,walletAddress:n,tradeFee:i},s){t3()((0,or.tC)(t),"coinInType must be SUI for buy transaction"),t3()(o!==t,"coinOutType must be different from coinInType"),t3()(a>=0&&a<1,"slippage must be between 0 (inclusive) and 1 (exclusive)"),t3()(e>0,"coinInAmount must be greater than 0");let c=await eC.getCurveAmountAfterBuy({poolId:r,suiAmount:e,frontendFee:i?i.tradeFeePercent:void 0}),u=BigInt(new(tN())(c.toString()).multipliedBy(1-a).toFixed(0,3)),{tx:l,coinOut:_}=await oS({accountAddress:n,inCoinType:t,outCoinType:o,inputAmount:e.toString(),minAmountOut:u.toString(),poolId:r,frontendFee:i?i.tradeFeePercent:void 0,frontendFeeRecipient:i?i.tradeFeeRecipientAddress:void 0,extendTx:void 0,isSponsored:!1},s);t3()(_,"Coin out is required"),l.transferObjects([_],l.pure.address(n)),l.setSender(n);let p=await oe(s,l,n,0);return(l=await oC({inheritTx:l,sender:n,feeAmount:p,suiInputAmount:e},s)).build({client:s})},oT.getSellTransaction=async function({coinInAmount:e,coinInType:t,coinOutType:o,poolId:r,slippage:a,walletAddress:n,tradeFee:i},s){t3()((0,or.tC)(o),"coinOutType must be SUI for sell transaction"),t3()(o!==t,"coinOutType must be different from coinInType"),t3()(a>=0&&a<1,"slippage must be between 0 (inclusive) and 1 (exclusive)"),t3()(e>0,"coinInAmount must be greater than 0");let c=await eC.getSuiAmountAfterSell({poolId:r,curveAmount:e,frontendFee:i?i.tradeFeePercent:void 0}),u=BigInt(new(tN())(c.toString()).multipliedBy(1-a).toFixed(0,3)),{tx:l,coinOut:_}=await oO({accountAddress:n,inCoinType:t,outCoinType:o,inputAmount:e.toString(),minAmountOut:u.toString(),poolId:r,frontendFee:i?i.tradeFeePercent:void 0,frontendFeeRecipient:i?i.tradeFeeRecipientAddress:void 0,extendTx:void 0,isSponsored:!1},s);t3()(_,"Coin out is required"),l.transferObjects([_],l.pure.address(n)),l.setSender(n);let p=await oe(s,l,n,0);return(l=await oC({inheritTx:l,sender:n,feeAmount:p},s)).build({client:s})};var oM=((u={}).BLAST_FUN="BLAST_FUN",u.MOONBAGS="MOONBAGS",u);(l=eS||(eS={})).PACKAGE_ID="0xb8df325010942634a4afb3db3901ee215546af43a4ec4af781e7213b0bba7290",l.CONFIG_OBJECT_ID="0x74aecf86067c6913960ba4925333aefd2b1f929cafca7e21fd55a8f244b70499",l.LOCK_CONFIG_OBJECT_ID="0xfb09822d9808980abd04c51321adb850701f5f55535c6206658ef4d910c3e9be",l.BURN_MANAGER_OBJECT_ID="0x1d94aa32518d0cb00f9de6ed60d450c9a2090761f326752ffad06b2e9404f845",l.POOLS_OBJECT_ID="0xf699e7f2276f5c9a75944b37a0c5b5d9ddfd2471bf6242483b03ab2887d198d0",l.GLOBAL_CONFIG_OBJECT_ID="0xdaa46292632c3c4d8f31f23ea0f9b36a28ff3677e9684980e4438403a67a3d8f",l.FEE_DENOMINATOR=BigInt(1e4),(p=(_=eO||(eO={})).Curves||(_.Curves={})).calculateAddLiquidityCost=function(e,t,o){return e*t/(t-o)-e},p.calculateRemoveLiquidityReturn=function(e,t,o){return t-e*t/(e+o)},p.calculateTokenAmountReceived=function(e,t,o){return t-e*t/(e+o)},(d=_.Moonbags||(_.Moonbags={})).getDynamicVirtualTokenReserves=async function(e,t){try{let o=await e.getDynamicField({parentId:t,name:{type:"vector<u8>",bcs:t2.bcs.byteVector().serialize(new TextEncoder().encode("virtual_token_reserves")).toBytes()}});if(!o.dynamicField?.value)return;return BigInt(t2.bcs.u64().parse(o.dynamicField.value.bcs))}catch(e){if("object"==typeof e&&null!==e&&"code"in e&&"dynamicFieldNotFound"===e.code)return;throw e}},d.buyExactInReturnsWithLock=function(e){let{inputAmount:t,amountIn:o,pool:r,config:a,dynamicVirtualTokenReserves:n}=e,i=BigInt(r.virtual_sui_reserves),s=BigInt(r.virtual_token_reserves),c=BigInt(r.remain_token_reserves.fields.balance),u=_.Curves.calculateRemoveLiquidityReturn(i,s,o),l=s-(n||c),p=u,d=o;u>l&&(p=l,d=_.Curves.calculateAddLiquidityCost(i,s,l)+BigInt(1));let g=d*BigInt(a.platform_fee)/eS.FEE_DENOMINATOR;return t3()(t>=d+g,"Input amount is less than used SUI + fee"),{receivedCurve:p,receivedSui:t-d-g}},d.sellReturns=function(e){let{amountIn:t,pool:o,config:r}=e,a=BigInt(o.virtual_sui_reserves),n=BigInt(o.virtual_token_reserves),i=BigInt(o.real_sui_reserves.fields.balance),s=_.Curves.calculateRemoveLiquidityReturn(n,a,t);s>i&&(s=i);let c=s*BigInt(r.platform_fee)/eS.FEE_DENOMINATOR,u=s-c;return{receivedCurve:BigInt(0),receivedSui:u}},(g=eM||(eM={})).getCurveAmountAfterBuy=async function(e,t){let{suiAmount:o,poolId:r,frontendFee:a}=e,[n,i,s]=await Promise.all([t5(t,r),t5(t,eS.CONFIG_OBJECT_ID),eO.Moonbags.getDynamicVirtualTokenReserves(t,r)]);void 0!==a&&(o=t7(o,a));let c=o*eS.FEE_DENOMINATOR/(eS.FEE_DENOMINATOR+BigInt(i.platform_fee)),{receivedCurve:u}=eO.Moonbags.buyExactInReturnsWithLock({inputAmount:o,amountIn:c,pool:n,config:i,dynamicVirtualTokenReserves:s});return u},g.getSuiAmountAfterSell=async function(e,t){let{curveAmount:o,poolId:r,frontendFee:a}=e,[n,i]=await Promise.all([t5(t,r),t5(t,eS.CONFIG_OBJECT_ID)]),{receivedSui:s}=eO.Moonbags.sellReturns({amountIn:o,pool:n,config:i});return void 0!==a?t7(s,a):s},g.getUsedSuiForTx=async function(e,t){let{suiAmount:o,frontendFee:r}=e,a=await t5(t,eS.CONFIG_OBJECT_ID);return void 0!==r&&(o=t7(o,r)),o*eS.FEE_DENOMINATOR/(eS.FEE_DENOMINATOR+BigInt(a.platform_fee))};var oE=eE||(eE={});async function ox(e,t){let{tx:o,coinOut:r}=await oc(e,t);t3()(r,"Coin out is required");let a=await eM.getUsedSuiForTx({suiAmount:BigInt(e.inputAmount),frontendFee:e.frontendFee},t),[n,i]=o.moveCall({target:`${eS.PACKAGE_ID}::moonbags::buy_exact_in_returns_with_lock`,typeArguments:[e.outCoinType],arguments:[o.object(eS.CONFIG_OBJECT_ID),o.object(eS.LOCK_CONFIG_OBJECT_ID),r,o.pure.u64(a),o.pure.u64(e.minAmountOut),o.object(eS.BURN_MANAGER_OBJECT_ID),o.object(eS.POOLS_OBJECT_ID),o.object(eS.GLOBAL_CONFIG_OBJECT_ID),o.object(or.IC),o.object(or.VV)]});return eA.transferOrDestroyZeroCoin(o,or.P9,n,e.accountAddress),{tx:o,coinOut:i}}async function oh(e,t){t3()((0,or.tC)(e.outCoinType),"Output must be SUI");let{tx:o,coinData:r}=await oi({amount:e.inputAmount,coinType:e.inCoinType,inheritTx:e.extendTx?.tx,account:e.accountAddress,splits:[e.inputAmount]},t),[a]=r,[n,i]=o.moveCall({target:`${eS.PACKAGE_ID}::moonbags::sell_returns`,typeArguments:[e.inCoinType],arguments:[o.object(eS.CONFIG_OBJECT_ID),a,o.pure.u64(e.minAmountOut),o.object(or.VV)]});return eA.transferOrDestroyZeroCoin(o,e.inCoinType,i,e.accountAddress),await ou(o,e,n)}oE.buildBuyTx=ox,oE.buildSellTx=oh,oE.getBuyTransaction=async function({coinInAmount:e,coinInType:t,coinOutType:o,poolId:r,slippage:a,walletAddress:n,tradeFee:i},s){t3()((0,or.tC)(t),"coinInType must be SUI for buy transaction"),t3()(o!==t,"coinOutType must be different from coinInType"),t3()(a>=0&&a<1,"slippage must be between 0 (inclusive) and 1 (exclusive)"),t3()(e>0,"coinInAmount must be greater than 0");let c=await eM.getCurveAmountAfterBuy({poolId:r,suiAmount:e,frontendFee:i?i.tradeFeePercent:void 0},s),u=BigInt(new(tN())(c.toString()).multipliedBy(1-a).toFixed(0,3)),{tx:l,coinOut:_}=await ox({accountAddress:n,inCoinType:t,outCoinType:o,inputAmount:e.toString(),minAmountOut:u.toString(),poolId:r,frontendFee:i?i.tradeFeePercent:void 0,frontendFeeRecipient:i?i.tradeFeeRecipientAddress:void 0,extendTx:void 0,isSponsored:!1},s);t3()(_,"Coin out is required"),l.transferObjects([_],l.pure.address(n)),l.setSender(n);let p=await oe(s,l,n,0);return(l=await oC({inheritTx:l,sender:n,feeAmount:p,suiInputAmount:e},s)).build({client:s})},oE.getSellTransaction=async function({coinInAmount:e,coinInType:t,coinOutType:o,poolId:r,slippage:a,walletAddress:n,tradeFee:i},s){t3()((0,or.tC)(o),"coinOutType must be SUI for sell transaction"),t3()(o!==t,"coinOutType must be different from coinInType"),t3()(a>=0&&a<1,"slippage must be between 0 (inclusive) and 1 (exclusive)"),t3()(e>0,"coinInAmount must be greater than 0");let c=await eM.getSuiAmountAfterSell({poolId:r,curveAmount:e,frontendFee:i?i.tradeFeePercent:void 0},s),u=BigInt(new(tN())(c.toString()).multipliedBy(1-a).toFixed(0,3)),{tx:l,coinOut:_}=await oh({accountAddress:n,inCoinType:t,outCoinType:o,inputAmount:e.toString(),minAmountOut:u.toString(),poolId:r,frontendFee:i?i.tradeFeePercent:void 0,frontendFeeRecipient:i?i.tradeFeeRecipientAddress:void 0,extendTx:void 0,isSponsored:!1},s);t3()(_,"Coin out is required"),l.transferObjects([_],l.pure.address(n)),l.setSender(n);let p=await oe(s,l,n,0);return(l=await oC({inheritTx:l,sender:n,feeAmount:p},s)).build({client:s})};var oy=__webpack_require__("./src/libs/pyth.ts"),ow=__webpack_require__("./src/libs/token-type.ts"),oP=__webpack_require__("./src/meta-aggregator/client/bluefin7k-client.ts"),oB=__webpack_require__("./src/meta-aggregator/client/cetus-client.ts"),oF=__webpack_require__("./src/meta-aggregator/client/error.ts"),ok=__webpack_require__("./src/meta-aggregator/client/flowx-client.ts"),oD=__webpack_require__("./src/meta-aggregator/aggregator/aggregator.ts");(m=ex||(ex={})).POOL_REGISTRY_OBJ_ID="0xfcc774493db2c45c79f688f88d28023a3e7d98e4ee9f48bbf5c7990f651577ae",m.PROTOCOL_FEE_VAULT_OBJ_ID="0xf194d9b1bcad972e45a7dd67dd49b3ee1e3357a00a50850c52cd51bb450e13b4",m.TREASURY_OBJ_ID="0x28e499dff5e864a2eafe476269a4f5035f1c16f338da7be18b103499abf271ce",m.INSURANCE_FUND_OBJ_ID="0xf0c40d67b078000e18032334c3325c47b9ec9f3d9ae4128be820d54663d14e3b",m.REFERRAL_VAULT_OBJ_ID="0x35d35b0e5b177593d8c3a801462485572fc30861e6ce96a55af6dc4730709278";var ov=__webpack_require__("./src/meta-aggregator/router/types.ts");(f=eh||(eh={})).LAST_PACKAGE_ID="0xf369250dc5a17e9d5a84a3b0cf5aea715c0682170e726dd601f03ade7ce4decb",f.swap=function(e){t3()(e.protocol===ov.S.AFTERMATH_CPMM);let{txb:t,swapContext:o,poolId:r,aToB:a,amountIn:n,coinAType:i,coinBType:s,coinLpType:c,packageId:u}=e;t.moveCall({target:`${u??f.LAST_PACKAGE_ID}::aftermath_cpmm_router::swap`,typeArguments:[i,s,c],arguments:[o,t.object(r),t.object(ex.POOL_REGISTRY_OBJ_ID),t.object(ex.PROTOCOL_FEE_VAULT_OBJ_ID),t.object(ex.TREASURY_OBJ_ID),t.object(ex.INSURANCE_FUND_OBJ_ID),t.object(ex.REFERRAL_VAULT_OBJ_ID),t.pure.bool(a),t.pure.u64(n)]})},(b=ey||(ey={})).STAKED_SUI_VAULT_OBJ_ID="0x2f8f6d5da7f13ea37daa397724280483ed062769813b6f31e9788e59cc88994d",b.SAFE_TREASURY_OBJECT_ID="0xeb685899830dd5837b47007809c76d91a098d52aabbf61e8ac467c59e5cc4610",b.REFERRAL_VAULT_OBJ_ID="0x4ce9a19b594599536c53edb25d22532f82f18038dc8ef618afd00fbbfb9845ef",b.VALIDATOR_ADDRESS="0xd30018ec3f5ff1a3c75656abf927a87d7f0529e6dc89c7ddd1bd27ecb05e3db2",(A=ew||(ew={})).LAST_PACKAGE_ID="0x148c4e7ff5b308b2d520e050e6a21d986dd3eb203e0aa3eaaba28000977aebf1",A.swap=function(e){let{txb:t,swapContext:o,aToB:r,amountIn:a,packageId:n}=e;if(!r)throw Error("AFSUI not support bToA swap");t.moveCall({target:`${n??A.LAST_PACKAGE_ID}::aftermath_lsd_router::swap`,arguments:[o,t.object(ey.STAKED_SUI_VAULT_OBJ_ID),t.object(ey.SAFE_TREASURY_OBJECT_ID),t.object(oa.SUI_SYSTEM_STATE_OBJECT_ID),t.object(ey.REFERRAL_VAULT_OBJ_ID),t.pure.address(ey.VALIDATOR_ADDRESS),t.pure.bool(r),t.pure.u64(a)]})},(I=eP||(eP={})).LAST_PACKAGE_ID="0x108d5d07cf873dec0bc8034db862db55d38e495c1f3ee0e124cf4861af834f25",I.swap=function(e){let{txb:t,swapContext:o,poolId:r,amountIn:a,aToB:n,coinBType:i,packageId:s}=e;t.moveCall({target:`${s??I.LAST_PACKAGE_ID}::alphafi_lsd_router::swap`,typeArguments:[i],arguments:[o,t.object(r),t.object(oa.SUI_SYSTEM_STATE_OBJECT_ID),t.pure.bool(n),t.pure.u64(a)]})},(C=eB||(eB={})).MEMEZ_AV_OBJ_ID="0x2319e3e76dfad73d8f4684bdbf42be4f32d8ce4521dd61becc8261dc918d82c0",C.MEMEZ_FUN_OBJ_ID="0x943948644f06942b8b660ca541b10a05f6a7be23ce4069944a3665e7e698930d",C.IPX_TREASURY_STANDARD_OBJ_ID="0x051e11b667659192917db94e5175fa066909d4dfc04d2663528f499c4afc6999",(T=eF||(eF={})).LAST_PACKAGE_ID="0x8b1e84ed9bc79d31160600254d65810f6bc6d2352f174a60ed041017d0a2a87a",T.swap=function(e){t3()(e.protocol===ov.S.BLASTFUN,"Invalid protocol");let{txb:t,swapContext:o,coinAType:r,coinBType:a,aToB:n,amountIn:i,packageId:s}=e;t.moveCall({target:`${s??T.LAST_PACKAGE_ID}::blastfun_router::swap`,typeArguments:[r,a],arguments:[o,t.object(eB.MEMEZ_FUN_OBJ_ID),t.object(eB.IPX_TREASURY_STANDARD_OBJ_ID),t.object(eB.MEMEZ_AV_OBJ_ID),t.pure.bool(n),t.pure.u64(i)]})},(ek||(ek={})).GLOBAL_CONFIG_OBJ_ID="0x03db251ba509a8d5d8777b6338836082335d93eecbdd09a11e190a1cff51c352",(S=eD||(eD={})).LAST_PACKAGE_ID="0x9f8397124b6bdb55aeb7b5e43761e0e4dc94b9e22e94b1b25d8211d99df422d5",S.swap=function(e){let{txb:t,swapContext:o,poolId:r,amountIn:a,aToB:n,coinAType:i,coinBType:s,packageId:c}=e;t.moveCall({target:`${c??S.LAST_PACKAGE_ID}::bluefin_clmm_router::swap`,typeArguments:[i,s],arguments:[o,t.object(ek.GLOBAL_CONFIG_OBJ_ID),t.object(r),t.pure.bool(n),t.pure.u64(a),t.object(oa.SUI_CLOCK_OBJECT_ID)]})},(ev||(ev={})).DEX_INFO_OBJ_ID="0x3f2d9f724f4a1ce5e71676448dc452be9a6243dac9c5b975a588c8c867066e92",(O=eR||(eR={})).LAST_PACKAGE_ID="0xf52bdd65ee347e8994170f8c331cf0c23a55281b3282467f14ccbb3e2a7f928f",O.swap=function(e){let{txb:t,swapContext:o,aToB:r,amountIn:a,coinAType:n,coinBType:i,packageId:s}=e;t.moveCall({target:`${s??O.LAST_PACKAGE_ID}::bluemove_cpmm_router::swap`,typeArguments:[n,i],arguments:[o,t.object(ev.DEX_INFO_OBJ_ID),t.pure.bool(r),t.pure.u64(a)]})},(eL||(eL={})).ORACLE_OBJ_ID="0xfa3975b98f3d0e3df18ed88ae6e69db31836b3f4212df02fae144b1e5a89ca8e",(M=eU||(eU={})).LAST_PACKAGE_ID="0x2dd7b04509f332bdb93a8f228ab5c40b34baee4645b2ebe5e5fa2c3502b2c088",M.swap=function(e){let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??M.LAST_PACKAGE_ID}::bolt_router::swap`,typeArguments:[a,n],arguments:[o,t.object(r),t.object(eL.ORACLE_OBJ_ID),t.object(oa.SUI_CLOCK_OBJECT_ID),t.pure.u64(s),t.pure.bool(i)]})},(eN||(eN={})).GLOBAL_CONFIG="0xdaa46292632c3c4d8f31f23ea0f9b36a28ff3677e9684980e4438403a67a3d8f",(E=ej||(ej={})).LAST_PACKAGE_ID="0xb3dbb229464cb14b9f8cfa087e5b162623c8f485395dc9b975e263a5ee7051e4",E.swap=function(e){let{txb:t,swapContext:o,coinAType:r,coinBType:a,poolId:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??E.LAST_PACKAGE_ID}::cetus_clmm_router::swap`,typeArguments:[r,a],arguments:[o,t.object(eN.GLOBAL_CONFIG),t.object(n),t.pure.bool(i),t.pure.u64(s),t.object(oa.SUI_CLOCK_OBJECT_ID)]})},(x=eK||(eK={})).GLOBAL_CONFIG_OBJ_ID="0xf31b605d117f959b9730e8c07b08b856cb05143c5e81d5751c90d2979e82f599",x.VERSIONED_OBJ_ID="0x05370b2d656612dd5759cbe80463de301e3b94a921dfc72dd9daa2ecdeb2d0a8",(h=eG||(eG={})).LAST_PACKAGE_ID="0x9ab3ba62b4327a7d90e4aed1c025b62736f035911ad7bab830c065ec84ef1ffa",h.swap=function(e){let{txb:t,swapContext:o,poolId:r,amountIn:a,aToB:n,coinAType:i,coinBType:s,packageId:c}=e,u=[o,t.object(eK.GLOBAL_CONFIG_OBJ_ID),t.object(eK.VERSIONED_OBJ_ID),t.object(r),t.pure.bool(n),t.pure.u64(a),t.object(oa.SUI_CLOCK_OBJECT_ID)];t.moveCall({target:`${c??h.LAST_PACKAGE_ID}::cetus_dlmm_router::swap`,typeArguments:[i,s],arguments:u})},(y=eq||(eq={})).GLOBAL_CONFIG="0x699d455ab8c5e02075b4345ea1f91be55bf46064ae6026cc2528e701ce3ac135",y.DEEP_TYPE="0xdeeb7a4662eec9f2f3def03fb937a663dddaa2e215b8078a284d026b7946c270::deep::DEEP",(w=e$||(e$={})).LAST_PACKAGE_ID="0xff274b63c0f6e3a01f3dd0e923aefcb3146e05e2f6bef4ae339e2703b085f8ed",w.swap=function(e){t3()(e.protocol===ov.S.DEEPBOOK_V3,"Invalid protocol");let{txb:t,swapContext:o,coinAType:r,coinBType:a,poolId:n,aToB:i,amountIn:s,deepFeeCoin:c,packageId:u}=e,l=c||t.moveCall({target:"0x2::coin::zero",typeArguments:[eq.DEEP_TYPE]});t.moveCall({target:`${u??w.LAST_PACKAGE_ID}::deepbook_v3_router::swap`,typeArguments:[r,a],arguments:[o,t.object(eq.GLOBAL_CONFIG),t.object(n),t.pure.u64(s),t.pure.bool(i),l,t.object(oa.SUI_CLOCK_OBJECT_ID)]})},(eV||(eV={})).GLOBAL_OBJ_ID="0x935229a3c32399e9fb207ec8461a54f56c6af5744c64442435ac217ab28f0d59",(P=eY||(eY={})).LAST_PACKAGE_ID="0xfd86c0308327eae31c04560460ee6190220e4ae1cdf5b999eef1110bf0b0f2b8",P.swap=function(e){let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??P.LAST_PACKAGE_ID}::dip_cpmm_router::swap`,typeArguments:[a,n],arguments:[o,t.object(eV.GLOBAL_OBJ_ID),t.object(r),t.pure.bool(i),t.pure.u64(s)]})},(eJ||(eJ={})).FERRA_GLOBAL_CONFIG_ID="0x2cd8382c19e6994f16df204e9b8cddd04bdc486c251de75ac66ac4e48e3e7081",(B=eH||(eH={})).LAST_PACKAGE_ID="0x70c4318f67d88ebe4e83bacad15f9e2f5c8becd77695f63dc4bd9393730851cd",B.swap=function(e){let{txb:t,swapContext:o,poolId:r,aToB:a,amountIn:n,coinAType:i,coinBType:s,packageId:c}=e;t.moveCall({target:`${c??B.LAST_PACKAGE_ID}::ferra_clmm_router::swap`,typeArguments:[i,s],arguments:[o,t.object(eJ.FERRA_GLOBAL_CONFIG_ID),t.object(r),t.pure.bool(a),t.pure.u64(n),t.object("0x6")]})},(eW||(eW={})).FERRA_GLOBAL_CONFIG_ID="0x5c9dacf5a678ea15b8569d65960330307e23d429289ca380e665b1aa175ebeca",(F=eX||(eX={})).LAST_PACKAGE_ID="0x686e9eb19b04d46374c3fb82cb4ebb7b24ef8a9ae13f403915f4ae347e0f6593",F.swap=function(e){let{txb:t,swapContext:o,poolId:r,aToB:a,amountIn:n,coinAType:i,coinBType:s,packageId:c}=e;t.moveCall({target:`${c??F.LAST_PACKAGE_ID}::ferra_dlmm_router::swap`,typeArguments:[i,s],arguments:[o,t.object(eW.FERRA_GLOBAL_CONFIG_ID),t.object(r),t.pure.bool(a),t.pure.u64(n),t.object(oa.SUI_CLOCK_OBJECT_ID)]})},(k=ez||(ez={})).POOL_REGISTRY_OBJ_ID="0x27565d24a4cd51127ac90e4074a841bbe356cca7bf5759ddc14a975be1632abc",k.VERSIONED_OBJ_ID="0x67624a1533b5aff5d0dfcf5e598684350efd38134d2d245f475524c03a64e656",(D=eQ||(eQ={})).LAST_PACKAGE_ID="0x350a752d3388165e578cc33a39655a6da83613cf4e58c8d9d0723711c2603e17",D.swap=function(e){t3()(e.protocol===ov.S.FLOWX_CLMM);let{txb:t,swapContext:o,coinAType:r,coinBType:a,poolFeeRate:n,amountIn:i,aToB:s,packageId:c}=e;t.moveCall({target:`${c??D.LAST_PACKAGE_ID}::flowx_clmm_router::swap`,typeArguments:[r,a],arguments:[o,t.object(ez.POOL_REGISTRY_OBJ_ID),t.object(ez.VERSIONED_OBJ_ID),t.pure.u64(n),t.pure.u64(i),t.pure.bool(s),t.object(oa.SUI_CLOCK_OBJECT_ID)]})},(eZ||(eZ={})).CONTAINER_OBJ_ID="0xb65dcbf63fd3ad5d0ebfbf334780dc9f785eff38a4459e37ab08fa79576ee511",(v=e0||(e0={})).LAST_PACKAGE_ID="0xd95b440ad340bb6cbf571897d312e43d4b6de37b60c69ef714c94b9835cb8866",v.swap=function(e){let{txb:t,swapContext:o,coinAType:r,coinBType:a,aToB:n,amountIn:i,packageId:s}=e;t.moveCall({target:`${s??v.LAST_PACKAGE_ID}::flowx_cpmm_router::swap`,typeArguments:[r,a],arguments:[o,t.object(eZ.CONTAINER_OBJ_ID),t.pure.bool(n),t.pure.u64(i)]})},(R=e6||(e6={})).GLOBAL_CONFIG_OBJ_ID="0xe93baa80cb570b3a494cbf0621b2ba96bc993926d34dc92508c9446f9a05d615",R.REWARDER_VAULT_OBJ_ID="0xfb971d3a2fb98bde74e1c30ba15a3d8bef60a02789e59ae0b91660aeed3e64e1",R.STATS_OBJ_ID="0x6822a33d1d971e040c32f7cc74507010d1fe786f7d06ab89135083ddb07d2dc2",R.PRICE_PROVIDER_OBJ_ID="0x854b2d2c0381bb656ec962f8b443eb082654384cf97885359d1956c7d76e33c9",(L=e4||(e4={})).LAST_PACKAGE_ID="0xf0bf13b5baaf3d368f165e846b919294bed79a3ab3ab0c9bd1e75f23533e44a5",L.swap=function(e){let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??L.LAST_PACKAGE_ID}::fullsail_clmm_router::swap`,typeArguments:[a,n],arguments:[o,t.object(e6.GLOBAL_CONFIG_OBJ_ID),t.object(e6.REWARDER_VAULT_OBJ_ID),t.object(e6.STATS_OBJ_ID),t.object(e6.PRICE_PROVIDER_OBJ_ID),t.object(r),t.pure.bool(i),t.pure.u64(s),t.object(oa.SUI_CLOCK_OBJECT_ID)]})},(U=e1||(e1={})).LAST_PACKAGE_ID="0x8969ed3e56c1dbdaf9df52f812d69c6c45fe5a4bab7093c88f5a8697a409398e",U.swap=function(e){t3()(e.protocol===ov.S.HAEDAL_CPMM);let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,pythPriceFeedIdA:c,pythPriceFeedIdB:u,pythInfoObjectIdMap:l,packageId:_}=e,p=l.get(c),d=l.get(u);t3()(p,"Not found priceInfoAId in pythObjectIdMap"),t3()(d,"Not found priceInfoBId in pythObjectIdMap"),t.moveCall({target:`${_??U.LAST_PACKAGE_ID}::haedal_cpmm_router::swap`,typeArguments:[a,n],arguments:[o,t.object(r),t.object(p),t.object(d),t.pure.u64(s),t.pure.bool(i),t.object(oa.SUI_CLOCK_OBJECT_ID)]})},(N=e3||(e3={})).LAST_PACKAGE_ID="0x5d01f22e5471a5912a88e15d62fdcb922beba65b8e8dfe1a715aebf743194f4a",N.swap=function(e){t3()(e.protocol===ov.S.HAEDAL_CPMM_V2);let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,pythPriceFeedIdBase:c,pythInfoObjectIdMap:u,packageId:l}=e,_=u.get(c);t3()(_,"Not found pythPriceBaseId in pythObjectIdMap"),t.moveCall({target:`${l??N.LAST_PACKAGE_ID}::haedal_cpmm_v2_router::swap`,typeArguments:[a,n],arguments:[o,t.object(r),t.object(_),t.pure.u64(s),t.pure.bool(i),t.object(oa.SUI_CLOCK_OBJECT_ID)]})},(j=e2||(e2={})).LAST_PACKAGE_ID="0x1644956086caa5eb791eba152f3b69ba862b3a5382ef0e1d8a474ab158aafa1a",j.swap=function(e){let{txb:t,swapContext:o,aToB:r,amountIn:a,poolId:n,packageId:i}=e;t.moveCall({target:`${i??j.LAST_PACKAGE_ID}::haedal_lsd_router::swap`,arguments:[o,t.object(n),t.object(oa.SUI_SYSTEM_STATE_OBJECT_ID),t.pure.bool(r),t.pure.u64(a)]})},(e5||(e5={})).STAKING_OBJ_ID="0x10b9d30c28448939ce6c4d6c6e0ffce4a7f8a4ada8248bdad09ef8b70e4a3904",(e8||(e8={})).VALIDATOR_ID="0x7b3ba6de2ae58283f60d5b8dc04bb9e90e4796b3b2e0dea75569f491275242e7",(K=e9||(e9={})).LAST_PACKAGE_ID="0x7be077dd73c85e788c2a49a51f0627066d81d3dc9982c268e3691265a81d544d",K.swap=function(e){t3()(e.protocol===ov.S.HAEDAL_LSD_WAL),t3()(e.aToB,"HAEDAL_LSD_WAL does not support bToA swap");let{txb:t,swapContext:o,poolId:r,aToB:a,amountIn:n,packageId:i}=e;t.moveCall({target:`${i??K.LAST_PACKAGE_ID}::haedal_wal_lsd_router::swap`,arguments:[o,t.object(e5.STAKING_OBJ_ID),t.object(r),t.pure.id(e8.VALIDATOR_ID),t.pure.bool(a),t.pure.u64(n)]})},(e7||(e7={})).VERSION_OBJ_ID="0xf5145a7ac345ca8736cf8c76047d00d6d378f30e81be6f6eb557184d9de93c78",(G=te||(te={})).LAST_PACKAGE_ID="0xcf141e1d18ff609b2ac56532b391f7648fc55e28696efe354186f5109c0eff06",G.swap=function(e){let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??G.LAST_PACKAGE_ID}::kriya_clmm_router::swap`,typeArguments:[a,n],arguments:[o,t.object(r),t.object(e7.VERSION_OBJ_ID),t.pure.bool(i),t.pure.u64(s),t.object(oa.SUI_CLOCK_OBJECT_ID)]})},(q=tt||(tt={})).LAST_PACKAGE_ID="0x50d37f46df75ef125ce656d4ac91b31b2cf0c1195752a96558561d163e45c223",q.swap=function(e){let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??q.LAST_PACKAGE_ID}::kriya_cpmm_router::swap`,typeArguments:[a,n],arguments:[o,t.object(r),t.pure.bool(i),t.pure.u64(s)]})},($=to||(to={})).FACTORY_OBJ_ID="0xedb456e93e423dd75a8ddebedd9974bb661195043027e32ce01649d6ccee74cf",$.GLOBAL_CONFIG_OBJ_ID="0x4c4e1402401f72c7d8533d0ed8d5f8949da363c7a3319ccef261ffe153d32f8a",(V=tr||(tr={})).LAST_PACKAGE_ID="0x950f94d33060c0575389c9f84fabab1e140776c6c84389d4237a0c2687a7adc9",V.swap=function(e){let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??V.LAST_PACKAGE_ID}::magma_almm_router::swap`,typeArguments:[a,n],arguments:[o,t.object(r),t.object(to.FACTORY_OBJ_ID),t.object(to.GLOBAL_CONFIG_OBJ_ID),t.pure.u64(s),t.pure.bool(i),t.object(oa.SUI_CLOCK_OBJECT_ID)]})},(ta||(ta={})).GLOBAL_CONFIG="0x4c4e1402401f72c7d8533d0ed8d5f8949da363c7a3319ccef261ffe153d32f8a",(Y=tn||(tn={})).LAST_PACKAGE_ID="0xbe5f590339c55ca8ebbf93cedfb68aafd479d71e1c57043246f7dcf352745242",Y.swap=function(e){let{txb:t,swapContext:o,coinAType:r,coinBType:a,poolId:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??Y.LAST_PACKAGE_ID}::magma_clmm_router::swap`,typeArguments:[r,a],arguments:[o,t.object(ta.GLOBAL_CONFIG),t.object(n),t.pure.bool(i),t.pure.u64(s),t.object(oa.SUI_CLOCK_OBJECT_ID)]})};var oR=__webpack_require__("./src/meta-aggregator/external/metastable.ts");(J=ti||(ti={})).LATEST_PACKAGE_ID="0xfab91518218f10204b083dba1e62c8bfc23f14fb87742158043e5faec4670ec4",J.swap=function(e){let t,o,r;t3()(e.protocol===ov.S.METASTABLE,"Invalid protocol");let{txb:a,swapContext:n,aToB:i,amountIn:s,coinAType:c,coinBType:u,poolId:l,metaCoin:_,packageId:p}=e,[d,g]=i?[c,u]:[u,c];d===_?(r="swap_from_meta_coin",t=[_,g],o=[oR.b.createCap({coinType:g,createCapFunc:"create_withdraw_cap",...e})]):g===_?(r="swap_to_meta_coin",t=[_,d],o=[oR.b.createCap({coinType:d,createCapFunc:"create_deposit_cap",...e})]):(r="swap",t=[_,d,g],o=[oR.b.createCap({coinType:d,createCapFunc:"create_deposit_cap",...e}),oR.b.createCap({coinType:g,createCapFunc:"create_withdraw_cap",...e})]),a.moveCall({target:`${p??J.LATEST_PACKAGE_ID}::metastable_router::${r}`,typeArguments:t,arguments:[n,a.object(l),a.object(oR.b.VERSION_OBJ_ID),...o,a.pure.u64(s)]})},(ts||(ts={})).VERSION_OBJ_ID="0x2375a0b1ec12010aaea3b2545acfa2ad34cfbba03ce4b59f4c39e1e25eed1b2a",(H=tc||(tc={})).LAST_PACKAGE_ID="0xba7ab4c8c39024fa0052bb4f00548a2e7b60742bb4ed0b87bc1d945fd8209102",H.swap=function(e){let{txb:t,swapContext:o,coinAType:r,coinBType:a,poolId:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??H.LAST_PACKAGE_ID}::momentum_clmm_router::swap`,typeArguments:[r,a],arguments:[o,t.object(n),t.pure.bool(i),t.pure.u64(s),t.object(ts.VERSION_OBJ_ID),t.object(oa.SUI_CLOCK_OBJECT_ID)]})},(tu||(tu={})).CONFIGURATION_OBJ_ID="0xd746495d04a6119987c2b9334c5fefd7d8cff52a8a02a3ea4e3995b9a041ace4",(W=tl||(tl={})).LAST_PACKAGE_ID="0x5a259db4b1d17fafc09185c9a71bac36f25f9ee462e72894c8610e5a58b79f8f",W.swap=function(e){t3()(e.protocol===ov.S.MOVEPUMP,"Invalid protocol");let{txb:t,swapContext:o,coinAType:r,coinBType:a,aToB:n,amountIn:i,expectedAmountOut:s,packageId:c}=e;t.moveCall({target:`${c??W.LAST_PACKAGE_ID}::movepump_router::swap`,typeArguments:[n?a:r],arguments:[o,t.object(tu.CONFIGURATION_OBJ_ID),t.object(ev.DEX_INFO_OBJ_ID),t.object(oa.SUI_CLOCK_OBJECT_ID),t.pure.u64(s),t.pure.bool(n),t.pure.u64(i)]})},(t_||(t_={})).STATE_OBJ_ID="0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8",(X=tp||(tp={})).LAST_PACKAGE_ID="0xd615fed37d692280047068e80d3a6bb685aa9d574608054c9df881d6a7378fab",X.swap=function(e){let t,o;t3()(e.protocol===ov.S.OBRIC);let{txb:r,swapContext:a,poolId:n,coinAType:i,coinBType:s,aToB:c,amountIn:u,pythInfoObjectIdMap:l,packageId:_}=e;"priceInfoObjIdA"in e?(t=e.priceInfoObjIdA,o=e.priceInfoObjIdB):(t=l.get(e.pythPriceFeedIdA),o=l.get(e.pythPriceFeedIdB),t3()(t,"Not found priceInfoAId in pythObjectIdMap"),t3()(o,"Not found priceInfoBId in pythObjectIdMap")),r.moveCall({target:`${_??X.LAST_PACKAGE_ID}::obric_router::swap`,typeArguments:[i,s],arguments:[a,r.object(n),r.pure.u64(u),r.pure.bool(c),r.object(t_.STATE_OBJ_ID),r.object(t),r.object(o),r.object(oa.SUI_CLOCK_OBJECT_ID)]})},(z=td||(td={})).VERSION_OBJ_ID="0x07871c4b3c847a0f674510d4978d5cf6f960452795e8ff6f189fd2088a3f6ac7",z.MARKET_OBJ_ID="0xa757975255146dc9686aa823b7838b507f315d704f428cbadad2f4ea061939d9",(Q=tg||(tg={})).LAST_PACKAGE_ID="0xea409bb08c8a09e4127f859d9c36b8b62ca609282aa1e443091db6b7a7409ee7",Q.swap=function(e){t3()(e.protocol===ov.S.SCALLOP);let{txb:t,swapContext:o,coinAType:r,coinBType:a,aToB:n,amountIn:i,scoinTreasury:s,packageId:c}=e;t.moveCall({target:`${c??Q.LAST_PACKAGE_ID}::scallop_router::swap`,typeArguments:[r,a],arguments:[o,t.object(td.VERSION_OBJ_ID),t.object(td.MARKET_OBJ_ID),t.object(s),t.pure.u64(i),t.pure.bool(n),t.object(oa.SUI_CLOCK_OBJECT_ID)]})},(tm||(tm={})).ORACLE_HOLDER_OBJ_ID="0x8c36ea167c5e6da8c3d60b4fc897416105dcb986471bd81cfbfd38720a4487c0",(Z=tf||(tf={})).LAST_PACKAGE_ID="0x918a30e2a05d24ea9451e2d2900d055f74e6752f2e10251fa50c7175831b1958",Z.swap=function(e){t3()(e.protocol===ov.S.SEVENK_CPMM,"Invalid protocol for sevenk_cpmm_router swap");let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,coinLpType:c,oracleConfigA:u,oracleConfigB:l,pythPriceFeedIdA:_,pythPriceFeedIdB:p,pythInfoObjectIdMap:d,packageId:g}=e,m=d.get(_),f=d.get(p);t3()(m,"Not found priceInfoAId in pythObjectIdMap"),t3()(f,"Not found priceInfoBId in pythObjectIdMap");let b=oy.L.newHolder(t);oy.L.getPrice({txb:t,coinPriceId:_,holder:b,coinOracleId:u}),oy.L.getPrice({txb:t,coinPriceId:p,holder:b,coinOracleId:l}),t.moveCall({target:`${g??Z.LAST_PACKAGE_ID}::sevenk_cpmm_router::swap`,typeArguments:[a,n,c],arguments:[o,t.object(r),t.object(tm.ORACLE_HOLDER_OBJ_ID),t.pure.bool(i),t.pure.u64(s)]})},(tb||(tb={})).CONFIGURATION_OBJ_ID="0xe79fff6c77d81f9a8efb729e25bf0037deec42518d40b978f274a4915d7e1ec9",(ee=tA||(tA={})).LAST_PACKAGE_ID="0x0a5dc665dc3c1c846a6d1e00811c84cae3510c839ab4dc0873f85dc8908d0606",ee.swap=function(e){t3()(e.protocol===ov.S.SEVENK_FUN,"Invalid protocol");let{txb:t,swapContext:o,aToB:r,amountIn:a,coinBType:n,packageId:i}=e;t.moveCall({target:`${i??ee.LAST_PACKAGE_ID}::sevenk_fun_router::swap`,typeArguments:[n],arguments:[o,t.object(tb.CONFIGURATION_OBJ_ID),t.object(eZ.CONTAINER_OBJ_ID),t.object(oa.SUI_CLOCK_OBJECT_ID),t.pure.bool(r),t.pure.u64(a)]})},(et=tI||(tI={})).LAST_PACKAGE_ID="0xa6d129c0b314e85d1bc5aecf305d64212bdd5d466457531f4f624fef5f2e7751",et.swap=function(e){let{txb:t,swapContext:o,poolId:r,amountIn:a,aToB:n,coinBType:i,packageId:s}=e;t.moveCall({target:`${s??et.LAST_PACKAGE_ID}::springsui_router::swap`,typeArguments:[i],arguments:[o,t.object(r),t.object(oa.SUI_SYSTEM_STATE_OBJECT_ID),t.pure.u64(a),t.pure.bool(n)]})},(tC||(tC={})).CONFIG_OBJ_ID="0x881fd0a12ca4fa48991f5c27ba57d17f1ec147fa15f43b3cb760cc3bd7ba9402",(eo=tT||(tT={})).LAST_PACKAGE_ID="0xa314a64962ed4b91a6b4085de4dff2e631fd4c731dbca671a74489955df322ef",eo.swap=function(e){let{txb:t,swapContext:o,poolId:r,aToB:a,amountIn:n,coinAType:i,coinBType:s,packageId:c}=e,u=[o,t.object(r),t.object(tC.CONFIG_OBJ_ID),t.pure.bool(a),t.pure.u64(n),t.object("0x6")];t.moveCall({target:`${c??eo.LAST_PACKAGE_ID}::srm_cpmm_router::swap`,typeArguments:[i,s],arguments:u})},(ea=(er=tS||(tS={})).Oracle||(er.Oracle={})).PACKAGE_ID="0xe84b649199654d18c38e727212f5d8dacfc3cf78d60d0a7fc85fd589f280eb2b",ea.getPythPrice=function(e){let{txb:t,oracleRegistryId:o,priceInfoId:r,oracleIndex:a}=e;return t.moveCall({target:`${ea.PACKAGE_ID}::oracles::get_pyth_price`,typeArguments:[],arguments:[t.object(o),t.object(r),t.pure.u64(a),t.object(oa.SUI_CLOCK_OBJECT_ID)]})};var oL=tO||(tO={});function oU(e,t){t3()(e.protocol===ov.S.STEAMM_OMM||e.protocol===ov.S.STEAMM_OMM_V2,"Invalid protocol for steamm _swapOmm swap");let{txb:o,swapContext:r,poolId:a,coinAType:n,coinBType:i,aToB:s,amountIn:c,bankAId:u,bankBId:l,lendingMarketId:_,lendingMarketType:p,bCoinAType:d,bCoinBType:g,lpBCoinType:m,pythPriceFeedIdA:f,pythPriceFeedIdB:b,pythInfoObjectIdMap:A,oracleRegistryId:I,oracleIndexA:C,oracleIndexB:T,packageId:S}=e,O=A.get(f),M=A.get(b);t3()(O,"Not found priceInfoAId in pythObjectIdMap"),t3()(M,"Not found priceInfoBId in pythObjectIdMap");let E=tS.Oracle.getPythPrice({txb:o,oracleRegistryId:I,priceInfoId:O,oracleIndex:C}),x=tS.Oracle.getPythPrice({txb:o,oracleRegistryId:I,priceInfoId:M,oracleIndex:T});o.moveCall({target:`${S??oL.LAST_PACKAGE_ID}::${oN(t)}::swap`,typeArguments:[p,n,i,d,g,m],arguments:[r,o.object(a),o.object(u),o.object(l),o.object(_),E,x,o.pure.bool(s),o.pure.u64(c),o.object(oa.SUI_CLOCK_OBJECT_ID)]})}function oN(e){switch(e){case 0:return"steamm_omm_router";case 1:return"steamm_omm_v2_router"}}function oj(e){let{amountOut:t,aggregatorFeeBps:o,partnerFeeBps:r}=e,a=oK(t,o);return r&&(a=oK(a,r)),a}function oK(e,t){let o=BigInt(e)*BigInt(t)/BigInt(1e4);return(BigInt(e)-o).toString()}function oG(e){return Math.floor(100*e)}oL.LAST_PACKAGE_ID="0xd606880d67c399f349758111a91582d5515f31dd051632402653d872818f594e",oL.swapCpmm=function(e){t3()(e.protocol===ov.S.STEAMM_CPMM,"Invalid protocol for steamm_cpmm_router swap");let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,bankAId:c,bankBId:u,lendingMarketId:l,lendingMarketType:_,bCoinAType:p,bCoinBType:d,lpBCoinType:g}=e;t.moveCall({target:`${oL.LAST_PACKAGE_ID}::steamm_cpmm_router::swap`,typeArguments:[_,a,n,p,d,g],arguments:[o,t.object(r),t.object(c),t.object(u),t.object(l),t.pure.bool(i),t.pure.u64(s),t.object(oa.SUI_CLOCK_OBJECT_ID)]})},oL.swapOmm=function(e){oU(e,0)},oL.swapOmmV2=function(e){oU(e,1)},oL.getOmmRouterModule=oN,(en=tM||(tM={})).LAST_PACKAGE_ID="0x7a1cf89025a60161e84809784d772263231fad08a7cb76a88ca1ba69e0a656da",en.swap=function(e){let{txb:t,swapContext:o,poolId:r,coinAType:a,coinBType:n,aToB:i,amountIn:s,packageId:c}=e;t.moveCall({target:`${c??en.LAST_PACKAGE_ID}::suiswap_router::swap`,typeArguments:[a,n],arguments:[o,t.object(r),t.pure.bool(i),t.pure.u64(s),t.object(oa.SUI_CLOCK_OBJECT_ID)]})},(ei=tE||(tE={})).VERSIONED="0x0309b66202e9aaf470081fffee7ffc0fbd50e3b7400d4f56fd06502e4dbbd676",ei.POOL_REGISTRY="0xcd0a614c4cbbf173f59dee2602c43a1717f283215ed7a0bb1d55d786af16fbcd",(es=tx||(tx={})).LAST_PACKAGE_ID="0x79957062a7424ed9c2eb83932e4c4fcc3fee67ab3c8f6f874c54e417178bbb7a",es.swap=function(e){t3()(e.protocol===ov.S.TRADEPORT_CLMM,"Invalid protocol");let{txb:t,swapContext:o,coinAType:r,coinBType:a,aToB:n,amountIn:i,poolFeeRate:s,packageId:c}=e;t.moveCall({target:`${c??es.LAST_PACKAGE_ID}::tradeport_clmm_router::swap`,typeArguments:[r,a],arguments:[o,t.object(tE.POOL_REGISTRY),t.pure.u64(s),t.object(tE.VERSIONED),t.pure.bool(n),t.pure.u64(i),t.object(oa.SUI_CLOCK_OBJECT_ID)]})},(th||(th={})).POOL_VERSIONED="0xf1cf0e81048df168ebeb1b8030fad24b3e0b53ae827c25053fff0779c1445b6f",(ec=ty||(ty={})).LAST_PACKAGE_ID="0x512d63711ff38353fb167238b0529001b6871c1727c67ce3bf6ec23556b0f1da",ec.swap=function(e){t3()(e.protocol===ov.S.TURBOS_CLMM,"Invalid protocol");let{txb:t,swapContext:o,coinAType:r,coinBType:a,coinFeeType:n,poolId:i,aToB:s,amountIn:c,packageId:u}=e;t.moveCall({target:`${u??ec.LAST_PACKAGE_ID}::turbos_clmm_router::swap`,typeArguments:[r,a,n],arguments:[o,t.object(i),t.object(th.POOL_VERSIONED),t.pure.bool(s),t.pure.u64(c),t.object(oa.SUI_CLOCK_OBJECT_ID)]})},(tw||(tw={})).CONFIGURATION_OBJ_ID="0xd86685fc3c3d989385b9311ef55bfc01653105670209ac4276ebb6c83d7df928",(eu=tP||(tP={})).LAST_PACKAGE_ID="0x1fad13f09797aa87a4385d0b1efb2de963ba16742447b1ad5a3b0c5b1d1c588b",eu.swap=function(e){t3()(e.protocol===ov.S.TURBOS_FUN,"Invalid protocol");let{txb:t,swapContext:o,coinBType:r,aToB:a,amountIn:n,packageId:i}=e;t.moveCall({target:`${i??eu.LAST_PACKAGE_ID}::turbos_fun_router::swap`,typeArguments:[r],arguments:[o,t.object(tw.CONFIGURATION_OBJ_ID),t.object(oa.SUI_CLOCK_OBJECT_ID),t.pure.bool(a),t.pure.u64(n)]})},(tB||(tB={})).VOLO_CERT_METADATA_ID="0x680cd26af32b2bde8d3361e804c53ec1d1cfe24c7f039eb7f549e8dfde389a60",(el=tF||(tF={})).LAST_PACKAGE_ID="0x7c8d95256342f904d5f251776903a17905d87c95f387b3a35cc2aecc23b3c042",el.swap=function(e){let{txb:t,swapContext:o,poolId:r,aToB:a,amountIn:n,packageId:i}=e;t.moveCall({target:`${i??el.LAST_PACKAGE_ID}::volo_router::swap`,arguments:[o,t.object(r),t.object(tB.VOLO_CERT_METADATA_ID),t.object(oa.SUI_SYSTEM_STATE_OBJECT_ID),t.pure.bool(a),t.pure.u64(n)]})},(e_=tk||(tk={})).RouterSwapFunctionMap={[ov.S.AFTERMATH_CPMM]:eh.swap,[ov.S.AFTERMATH_LSD]:ew.swap,[ov.S.ALPHAFI_LSD]:eP.swap,[ov.S.BLASTFUN]:eF.swap,[ov.S.BLUEFIN_CLMM]:eD.swap,[ov.S.BLUEMOVE_CPMM]:eR.swap,[ov.S.BOLT]:eU.swap,[ov.S.CETUS_CLMM]:ej.swap,[ov.S.CETUS_DLMM]:eG.swap,[ov.S.DEEPBOOK_V3]:e$.swap,[ov.S.DIP_CPMM]:eY.swap,[ov.S.FERRA_CLMM]:eH.swap,[ov.S.FERRA_DLMM]:eX.swap,[ov.S.FLOWX_CPMM]:e0.swap,[ov.S.FLOWX_CLMM]:eQ.swap,[ov.S.FULLSAIL_CLMM]:e4.swap,[ov.S.HAEDAL_CPMM]:e1.swap,[ov.S.HAEDAL_CPMM_V2]:e3.swap,[ov.S.HAEDAL_LSD]:e2.swap,[ov.S.HAEDAL_LSD_WAL]:e9.swap,[ov.S.KRIYA_CLMM]:te.swap,[ov.S.KRIYA_CPMM]:tt.swap,[ov.S.MAGMA_ALMM]:tr.swap,[ov.S.MAGMA_CLMM]:tn.swap,[ov.S.METASTABLE]:ti.swap,[ov.S.MOMENTUM_CLMM]:tc.swap,[ov.S.MOVEPUMP]:tl.swap,[ov.S.OBRIC]:tp.swap,[ov.S.SCALLOP]:tg.swap,[ov.S.SEVENK_CPMM]:tf.swap,[ov.S.SEVENK_FUN]:tA.swap,[ov.S.SPRINGSUI]:tI.swap,[ov.S.SRM_CPMM]:tT.swap,[ov.S.STEAMM_CPMM]:tO.swapCpmm,[ov.S.STEAMM_OMM]:tO.swapOmm,[ov.S.STEAMM_OMM_V2]:tO.swapOmmV2,[ov.S.SUISWAP_CPMM]:tM.swap,[ov.S.TRADEPORT_CLMM]:tx.swap,[ov.S.TURBOS_CLMM]:ty.swap,[ov.S.TURBOS_FUN]:tP.swap,[ov.S.VOLO]:tF.swap},e_.swap=function(e){(0,e_.RouterSwapFunctionMap[e.protocol])(e)},(tD||(tD={})).buildAggregatorSwapTransaction=async function(e){let{tx:t,coinOutType:o,tradePaths:r,pythConnections:a,pythClient:n,packageIdMap:i}=e,s=oD.u.openSwap(e),c=await oy.j.updatePythPriceIDs({priceFeedIds:function(e){let t=new Set;for(let o of e)"pythPriceFeedIdA"in o&&t.add(o.pythPriceFeedIdA),"pythPriceFeedIdB"in o&&t.add(o.pythPriceFeedIdB),"pythPriceFeedIdBase"in o&&t.add(o.pythPriceFeedIdBase),"pythPriceFeedIdMeta"in o&&t.add(o.pythPriceFeedIdMeta),"pythPriceFeedIdEth"in o&&t.add(o.pythPriceFeedIdEth);return[...t]}(r),txb:t,pythClient:n,pythConnections:a});for(let e=0;e<r.length;e++){let o=r[e],[a,n]=o.aToB?[o.coinInType,o.coinOutType]:[o.coinOutType,o.coinInType];tk.swap({...o,txb:t,swapContext:s,amountIn:o.amountIn,coinAType:a,coinBType:n,packageId:i?.get(o.protocol),pythInfoObjectIdMap:c})}return oD.u.closeSwap({tx:t,coinOutType:o,swapSession:s})};let oq=oy.j.newPythConnections(),o$=oy.j.newPythClient();var oV=tv||(tv={});function oY(e){var t,o,r;let a,n,{buildTxParam:i,rawRouteParam:s}=e;switch(s.sourceRoute){case"CETUS":a=tz.M.convert(s.rawRoute);break;case"FLOWX":a=t6.m.convert(s.rawRoute);break;case"SEVENK":a=tj.m.convert(s.rawRoute);break;default:throw Error("Unsupported source route")}let c=oG(i.aggregatorFeeRatePercent),u=i.partnerFeeRatePercent?oG(i.partnerFeeRatePercent):void 0,l=i.expectedAmountOut??oj({amountOut:a.amountOut,aggregatorFeeBps:c,partnerFeeBps:u}),_=(o=l,r=(t=i.slippagePercent)?Math.floor(100*t):100,n=BigInt(o)*BigInt(r??100)/BigInt(1e4),(BigInt(o)-n).toString());return{...i,...a,expectedAmountOut:l,minAmountOut:_,aggregatorFeeBps:c,partnerFeeBps:u,pythConnections:i.pythConnections??oq,pythClient:i.pythClient??o$}}oV.toMetaAggregatorBuildTxParams=oY,oV.buildTx=function(e){let t=oY(e);return tD.buildAggregatorSwapTransaction(t)};let oJ=async(e,t,o)=>t<=0?e():new Promise((r,a)=>{let n=setTimeout(()=>a(new oF.u(`Timeout ${o??"operation"}`,oF.j.TIMEOUT,{timeout:t})),t);e().then(r).catch(a).finally(()=>clearTimeout(n))}),oH=(e,t,o,r=0)=>{if(t>1e4)throw Error("Slippage must be less than 100%");if(o>1e4)throw Error("Commission must be less than 100%");if(r>1e4)throw Error("Tip must be less than 100%");let a=BigInt(e),n=a*BigInt(r||0)/10000n,i=(a-n)*BigInt(o)/10000n,s=a-n-i;return{tipAmount:n,minAmount:s*BigInt(1e4-t)/10000n,commissionAmount:i,expectedAmount:s.toString(10)}},oW={SEVENK:{},FLOWX:{},CETUS:{}};class oX{client;jsonRpcClient;providers={};options;constructor(e){this.options={providers:{...oW,...e?.providers},clients:e.clients,slippageBps:e?.slippageBps??100,hermesApi:e?.hermesApi??oy.j.PYTH_URLS,partner:e?.partner??or.qb,partnerCommissionBps:e?.partnerCommissionBps??0,tipBps:e?.tipBps??0},this.client=e.clients.grpc,this.jsonRpcClient=e.clients.jsonRpc}async getQuoteClient(e){let t=this.providers[e];if(t)return t;let o=this.options.providers[e];switch(oF.u.assert(!!o,`Provider not found: ${e}`,oF.j.PROVIDER_NOT_FOUND,{provider:e}),e){case"SEVENK":{let{Bluefin7kClient:e}=await Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./src/meta-aggregator/client/bluefin7k-client.ts")).catch(oz("SEVENK"));this.providers.SEVENK=new e(o,this.client);break}case"FLOWX":{let{FlowxClient:e}=await Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./src/meta-aggregator/client/flowx-client.ts")).catch(oz("FLOWX"));this.providers.FLOWX=new e(o);break}case"CETUS":{let{CetusClient:e}=await Promise.resolve().then(__webpack_require__.bind(__webpack_require__,"./src/meta-aggregator/client/cetus-client.ts")).catch(oz("CETUS"));this.providers.CETUS=new e(o,this.options,this.jsonRpcClient);break}default:throw new oF.u(`Provider not supported: ${e}`,oF.j.PROVIDER_NOT_SUPPORTED,{provider:e})}return this.providers[e]}async getQuoteByClient(e,t){return await oJ(async()=>{let o=await e.quote(t);return o?(o.amountOut=oj({amountOut:o.amountOut,partnerFeeBps:this.options.partnerCommissionBps,aggregatorFeeBps:this.options.tipBps}),o):null},t.timeout??2e3,`quote for ${e.kind} provider from ${t.coinTypeIn} to ${t.coinTypeOut}`)}async getQuote(e){let t={...e,coinTypeIn:(0,oa.normalizeStructTag)(e.coinTypeIn),coinTypeOut:(0,oa.normalizeStructTag)(e.coinTypeOut)};return(await Promise.allSettled(Object.entries(this.options.providers).filter(([e,t])=>!t.disabled).map(async([e])=>{let o=await this.getQuoteClient(e);return this.getQuoteByClient(o,t)}))).map(e=>"fulfilled"===e.status?e.value:(console.warn(e.reason),null)).filter(e=>null!==e)}async swap(e){let{quote:t,signer:o,tx:r,coinIn:a,slippageBps:n}=e,i=(0,oa.normalizeSuiAddress)(o);oF.u.assert((0,oa.isValidSuiAddress)(i),`Invalid signer address: ${o}`,oF.j.INVALID_SIGNER_ADDRESS,{signer:o}),r.setSender(i);let s=(n??this.options.slippageBps)/1e4,c=this.options.partner&&this.options.partner!==or.qb?this.options.partner:void 0,u=c&&this.options.partnerCommissionBps>0?this.options.partnerCommissionBps/1e4:void 0;return tv.buildTx({buildTxParam:{tx:r,inputCoin:a,expectedAmountOut:t.amountOut,slippagePercent:s,aggregatorFeeRatePercent:this.options.tipBps/1e4,aggregatorFeeRecipient:"0xdaf1c8ed29d89cd8f217f609bad0a668fa6f158c12000bfa5f93e670c99e24ff",partnerFeeRatePercent:u,partnerFeeRecipient:c,pythConnections:oy.j.newPythConnections(this.options.hermesApi),pythClient:oy.j.newPythClient(this.jsonRpcClient)},rawRouteParam:{...t}})}}let oz=e=>t=>{throw console.warn(`Please install ${{CETUS:"@cetusprotocol/aggregator-sdk",FLOWX:"@flowx-finance/sdk",SEVENK:"@bluefin-exchange/bluefin7k-aggregator-sdk"}[e]} to use ${e} provider`),t};class oQ{sdk;_astrosAggregator;_aftermathAggregator;_sevenkAggregator;_cetusAggregator;_flowXAggregator;constructor(e){this.sdk=e,this._astrosAggregator=new tJ({defaultTradeFee:e.options.tradeFee,astrosApiKey:e.options.astrosApiKey},e.suiJsonRpcClient),this._aftermathAggregator=new tY({defaultTradeFee:e.options.tradeFee,aftermathApiKey:e.options.aftermathApiKey,aftermathApiEndpoint:e.options.aftermathApiEndpoint},e.suiJsonRpcClient),this._sevenkAggregator=new tG({defaultTradeFee:e.options.tradeFee,sevenKApiKey:e.options.sevenKApiKey},e.suiClient),this._cetusAggregator=new tQ({defaultTradeFee:e.options.tradeFee,cetusApiKey:e.options.cetusApiKey,cetusApiEndpoint:e.options.cetusApiEndpoint,cetusPartnerId:e.options.cetusPartnerId},e.suiJsonRpcClient),this._flowXAggregator=new t4({defaultTradeFee:e.options.tradeFee,flowxApiKey:e.options.flowxApiKey},e.suiClient)}get astrosAggregator(){return this._astrosAggregator}get aftermathAggregator(){return this._aftermathAggregator}get sevenkAggregator(){return this._sevenkAggregator}get cetusAggregator(){return this._cetusAggregator}get flowXAggregator(){return this._flowXAggregator}async getTradeRoute(e,t){let o;switch(e){case tZ.ASTROS:{let e,r=await this._astrosAggregator.getTradeRoute(t);if(!r)return null;let a=tJ.toCommonTradeRoutes(r,t.coinInType,t.coinOutType);if(!a)return null;e=t.tradeFee?t.tradeFee.tradeFeePercent:this.sdk.options.tradeFee.tradeFeePercent,a.amountOut=BigInt(new(tN())(r.amount_out).multipliedBy(1-e).toFixed(0,3)),o={route:a,aggregatorRoute:r};break}case tZ.AFTERMATH:{let e=await this._aftermathAggregator.getTradeRoute(t);if(!e)return null;let r=tY.toCommonTradeRoutes(e);if(!r)return null;o={route:r,aggregatorRoute:e};break}case tZ.SEVENK:{let e=await this._sevenkAggregator.getTradeRoute(t);if(!e)return null;let r=tG.toCommonTradeRoutes(e);if(!r)return null;o={route:r,aggregatorRoute:e};break}case tZ.CETUS:{let e=await this._cetusAggregator.getTradeRoute(t);if(!e)return null;let r=tQ.toCommonTradeRoutes(e,t.coinInType,t.coinOutType);if(!r)return null;o={route:r,aggregatorRoute:e};break}case tZ.FLOWX:{let e=await this._flowXAggregator.getTradeRoute(t);if(!e)return null;let r=t4.toCommonTradeRoutes(e);if(!r)return null;o={route:r,aggregatorRoute:e}}}return o}async getTransactionByRoute(e,t){switch(e){case tZ.ASTROS:return this._astrosAggregator.getTransaction({walletAddress:t.walletAddress,completeRoute:t.completeRoute,slippage:t.slippage,tradeFee:t.tradeFee});case tZ.AFTERMATH:return this._aftermathAggregator.getTransaction({walletAddress:t.walletAddress,completeRoute:t.completeRoute,slippage:t.slippage});case tZ.SEVENK:return this._sevenkAggregator.getTransaction({walletAddress:t.walletAddress,completeRoute:t.completeRoute,slippage:t.slippage,tradeFee:t.tradeFee});case tZ.CETUS:return this._cetusAggregator.getTransaction({walletAddress:t.walletAddress,completeRoute:t.completeRoute,slippage:t.slippage,tradeFee:t.tradeFee});case tZ.FLOWX:return this._flowXAggregator.getTransaction({walletAddress:t.walletAddress,completeRoute:t.completeRoute,slippage:t.slippage,tradeFee:t.tradeFee})}}async getTradeTransaction(e,t){let o=await this.getTradeRoute(e,{coinInAmount:t.coinInAmount,coinInType:t.coinInType,coinOutType:t.coinOutType,tradeFee:t.tradeFee,metaAggregator:t.metaAggregator});if(!o)return null;let r=await this.getTransactionByRoute(e,{walletAddress:t.walletAddress,completeRoute:o.aggregatorRoute,slippage:t.slippage,tradeFee:t.tradeFee});return{route:o.route,aggregatorRoute:o.aggregatorRoute,transaction:r}}async getTradeTransactionWithBestRate(e){let t=Object.keys(tZ),o=await Promise.all(t.map(async t=>{try{return await this.getTradeRoute(t,e)}catch{return null}})),r=null,a=null;for(let e=0;e<o.length;e++){let n=o[e],i=t[e];if(n&&(!r||n.route.amountOut>r.route.amountOut)){r=n,a=i;continue}}if(!r||!a)return null;let n=await this.getTransactionByRoute(a,{walletAddress:e.walletAddress,completeRoute:r.aggregatorRoute,slippage:e.slippage,tradeFee:e.tradeFee});return{route:r.route,aggregatorRoute:r.aggregatorRoute,transaction:n}}async getAmountOut(e,t){let o=await this.getTradeRoute(e,t);return o?o.route.amountOut:null}async getBestAmountOut(e){let t=Object.keys(tZ),o=null,r=null;for(let a of t){let t=await this.getAmountOut(a,e);null!==t&&(null===o||t>o)&&(o=t,r=a)}return null===o||null===r?null:{amountOut:o,aggregator:r}}}let oZ="0x25fa0eb553dd69fa6a8028f73a38f1df7f289fa88a58ed3d7dc5a5360155bb19",o0="0x8b1a8ac6e34688cd8f8f8e5fefa9d5fb9e1ff74d2f132f8e208ae5ac9cc530bb",o6="0x13d101f44a0710a5475bec5f492a87b80e03d92d1cf540f26096f65850b23d26";class o4{sdk;constructor(e){this.sdk=e}async getConfig(){let e=await this.sdk.suiClient.getObject({objectId:o0,include:{json:!0}});t3()(e.object,"Config object not found"),t3()(e.object.json,"Config object has no content");let t=e.object.json,o=t.id.id,r=t.fee_receiver,a=t.tiers.fields.contents,n={};for(let e of a){let t=e.fields.key,o=e.fields.value.fields.duration,r=e.fields.value.fields.amount,a=e.fields.value.fields.point,i=e.fields.value.fields.original_amount;n[t]={duration:BigInt(o),amount:BigInt(r),point:BigInt(a),originalAmount:BigInt(i)}}return{id:o,receiverAddress:r,tiers:n}}async buildPayBoostingTx({walletAddress:e,tierId:t,boostingCoinType:o,currentTx:r}){let a=await this.getConfig();t3()(t in a.tiers,"Invalid tier ID");let n=a.tiers[t].amount,i=r||new tL.Transaction,s=i.splitCoins(i.gas,[i.pure.u64(n)]);i.moveCall({target:`${oZ}::boosting::pay`,typeArguments:[(0,oa.normalizeStructTag)(o)],arguments:[i.object(o0),i.pure.u64(t),s]}),i.setSender(e);let c=await oe(this.sdk.suiClient,i,e,0);return oC({inheritTx:i,sender:e,feeAmount:c},this.sdk.suiClient)}async buildAddTierTx({adminAddress:e,tierId:t,duration:o,point:r,originalAmount:a,amount:n,currentTx:i}){let s=i||new tL.Transaction;s.moveCall({target:`${oZ}::config::add_tier`,typeArguments:[],arguments:[s.object(o0),s.object(o6),s.pure.u64(t),s.pure.u64(r),s.pure.u64(o),s.pure.u64(a),s.pure.u64(n)]}),s.setSender(e);let c=await oe(this.sdk.suiClient,s,e,0);return oC({inheritTx:s,sender:e,feeAmount:c},this.sdk.suiClient)}async buildUpdateTierTx({adminAddress:e,tierId:t,duration:o,amount:r,originalAmount:a,point:n,currentTx:i}){let s=i||new tL.Transaction;s.moveCall({target:`${oZ}::config::update_tier`,typeArguments:[],arguments:[s.object(o0),s.object(o6),s.pure.u64(t),s.pure.u64(o),s.pure.u64(r),s.pure.u64(n),s.pure.u64(a)]}),s.setSender(e);let c=await oe(this.sdk.suiClient,s,e,0);return oC({inheritTx:s,sender:e,feeAmount:c},this.sdk.suiClient)}async buildRemoveTierTx({adminAddress:e,tierId:t,currentTx:o}){let r=o||new tL.Transaction;r.moveCall({target:`${oZ}::config::remove_tier`,typeArguments:[],arguments:[r.object(o0),r.object(o6),r.pure.u64(t)]}),r.setSender(e);let a=await oe(this.sdk.suiClient,r,e,0);return oC({inheritTx:r,sender:e,feeAmount:a},this.sdk.suiClient)}async buildUpdateFeeReceiver({adminAddress:e,newReceiverAddress:t,currentTx:o}){let r=o||new tL.Transaction;r.moveCall({target:`${oZ}::config::update_fee_receiver`,typeArguments:[],arguments:[r.object(o0),r.object(o6),r.pure.address(t)]}),r.setSender(e);let a=await oe(this.sdk.suiClient,r,e,0);return oC({inheritTx:r,sender:e,feeAmount:a},this.sdk.suiClient)}async buildPayBoostingWithAdminTx({walletAddress:e,tierId:t,customAmount:o,boostingCoinType:r,currentTx:a}){let n=a||new tL.Transaction,i=n.splitCoins(n.gas,[n.pure.u64(o)]);n.moveCall({target:`${oZ}::boosting::pay_with_admin`,typeArguments:[(0,oa.normalizeStructTag)(r)],arguments:[n.object(o6),n.object(o0),n.pure.u64(t),n.pure.u64(o),i]}),n.setSender(e);let s=await oe(this.sdk.suiClient,n,e,0);return oC({inheritTx:n,sender:e,feeAmount:s},this.sdk.suiClient)}}class o1{sdk;constructor(e){this.sdk=e}async getEstimatedAmountOut(e,t){let{coinInType:o,coinOutType:r}=t;t3()(o!==r,"coinInType and coinOutType must be different"),t3()((0,or.tC)(o)||(0,or.tC)(r),"One of coinInType or coinOutType must be SUI");let a=(0,or.tC)(o);switch(e){case oM.MOONBAGS:if(a)return await eM.getCurveAmountAfterBuy({poolId:t.poolId,suiAmount:t.coinInAmount,frontendFee:t.tradeFee?t.tradeFee.tradeFeePercent:void 0},this.sdk.suiClient);return await eM.getSuiAmountAfterSell({poolId:t.poolId,curveAmount:t.coinInAmount,frontendFee:t.tradeFee?t.tradeFee.tradeFeePercent:void 0},this.sdk.suiClient);case oM.BLAST_FUN:if(a)return await eC.getCurveAmountAfterBuy({poolId:t.poolId,suiAmount:t.coinInAmount,frontendFee:t.tradeFee?t.tradeFee.tradeFeePercent:void 0});return await eC.getSuiAmountAfterSell({poolId:t.poolId,curveAmount:t.coinInAmount,frontendFee:t.tradeFee?t.tradeFee.tradeFeePercent:void 0});default:throw Error(`Unsupported bonding curve platform: ${e}`)}}async getTradeTransaction(e,t){let o,{coinInType:r,coinOutType:a}=t;t3()(r!==a,"coinInType and coinOutType must be different"),t3()((0,or.tC)(r)||(0,or.tC)(a),"One of coinInType or coinOutType must be SUI");let n=(0,or.tC)(r);switch(e){case oM.MOONBAGS:o=n?await eE.getBuyTransaction(t,this.sdk.suiClient):await eE.getSellTransaction(t,this.sdk.suiClient);break;case oM.BLAST_FUN:o=n?await eT.getBuyTransaction(t,this.sdk.suiClient):await eT.getSellTransaction(t,this.sdk.suiClient);break;default:throw Error(`Unsupported bonding curve platform: ${e}`)}return o}}let o3={prod:{packageId:"0x3dd678c250a667f1551bc4b9e35fd070896f4775dd2900d5cb2910d2aea0b068",configId:"0x3eb7bd15f61b7cc1a9fd36151e9c3d05aa37bfadb0a58c3a26a6c02c2e99f3ca",adminCapId:"0xf375fcb3d95934143766cab2028ab49441fa04ef2ce27c08c01004c455bcbad4",paymentCoinType:"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC"},staging:{packageId:"0xa83cd093ce5142649adae10d21fe87d55fa2df4e52a4292c77ba039bb12bfe67",configId:"0x19fb8f91946e58c068fa4238bdd7a531216a0c4dcfaa279a8a02c60cb02f6711",adminCapId:"0xd8139544d054702dfab6de4e9c55f162c8a6f30465935af56cffed99c5e1c2bd",paymentCoinType:"0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC"}};class o2{sdk;constructor(e){this.sdk=e}async getConfig(){let e=await this.sdk.suiClient.getObject({objectId:o3[this.sdk.env].configId,include:{json:!0}});t3()(e.object,"Config object not found"),t3()(e.object.json,"Config object has no content");let t=e.object.json,o=t.id.id,r=t.fee_receiver,a=t.paused,n=t.accepted_payment_type,i=t.plans.fields.contents,s={};for(let e of i){let t=e.fields.key,o=e.fields.value.fields.id,r=e.fields.value.fields.price,a=e.fields.value.fields.month_interval,n=e.fields.value.fields.ptype;s[t]={id:BigInt(o),price:BigInt(r),monthInterval:a,planType:n}}return{id:o,plans:s,feeReceiverWallet:r,paused:a,acceptedPaymentType:n}}async buildSubscribeCyclePlanTx({walletAddress:e,planId:t,reference:o,paymentCoinType:r=o3[this.sdk.env].paymentCoinType,currentTx:a}){let n=await this.getConfig();t3()(!n.paused,"Contract is paused"),t3()(t in n.plans,"Invalid plan ID");let i=n.plans[t],s=i.price*BigInt(i.monthInterval),{tx:c,coinData:u}=await oi({account:e,amount:s.toString(),splits:[s.toString()],coinType:r,inheritTx:a},this.sdk.suiClient);c.moveCall({target:`${o3[this.sdk.env].packageId}::subscription::subscribe_cycle_plan`,typeArguments:[r],arguments:[c.object(o3[this.sdk.env].configId),c.pure.u64(t),c.pure.string(o),u]}),c.setSender(e);let l=await oe(this.sdk.suiClient,c,e,0);return oC({inheritTx:c,sender:e,feeAmount:l},this.sdk.suiClient)}async buildBuyMoreCUPlanTx({walletAddress:e,planId:t,reference:o,paidAmount:r,paymentCoinType:a=o3[this.sdk.env].paymentCoinType,currentTx:n}){let i=await this.getConfig();t3()(!i.paused,"Contract is paused"),t3()(t in i.plans,"Invalid plan ID");let{tx:s,coinData:c}=await oi({account:e,amount:r.toString(),splits:[r.toString()],coinType:a,inheritTx:n},this.sdk.suiClient);s.moveCall({target:`${o3[this.sdk.env].packageId}::subscription::buy_more_cu`,typeArguments:[a],arguments:[s.object(o3[this.sdk.env].configId),s.pure.u64(t),s.pure.string(o),s.pure.u64(r),c]}),s.setSender(e);let u=await oe(this.sdk.suiClient,s,e,0);return oC({inheritTx:s,sender:e,feeAmount:u},this.sdk.suiClient)}async buildSubscribePlanWithAdminTx({walletAddress:e,planId:t,reference:o,customAmount:r,paymentCoinType:a=o3[this.sdk.env].paymentCoinType,currentTx:n}){let i=await this.getConfig();t3()(!i.paused,"Contract is paused");let{tx:s,coinData:c}=await oi({account:e,amount:r.toString(),splits:[r.toString()],coinType:a,inheritTx:n},this.sdk.suiClient);s.moveCall({target:`${o3[this.sdk.env].packageId}::subscription::subscribe_plan_with_admin`,typeArguments:[a],arguments:[s.object(o3[this.sdk.env].adminCapId),s.object(o3[this.sdk.env].configId),s.pure.u64(t),s.pure.string(o),s.pure.u64(r),c]}),s.setSender(e);let u=await oe(this.sdk.suiClient,s,e,0);return oC({inheritTx:s,sender:e,feeAmount:u},this.sdk.suiClient)}async buildAddPlanTx({adminAddress:e,planId:t,planType:o,monthInterval:r,price:a,currentTx:n}){let i=n||new tL.Transaction;i.moveCall({target:`${o3[this.sdk.env].packageId}::config::add_plan`,typeArguments:[],arguments:[i.object(o3[this.sdk.env].configId),i.object(o3[this.sdk.env].adminCapId),i.pure.u64(t),i.pure.u8(o),i.pure.u8(r),i.pure.u64(a)]}),i.setSender(e);let s=await oe(this.sdk.suiClient,i,e,0);return oC({inheritTx:i,sender:e,feeAmount:s},this.sdk.suiClient)}async buildUpdatePlanTx({adminAddress:e,planId:t,planType:o,monthInterval:r,price:a,currentTx:n}){let i=n||new tL.Transaction;i.moveCall({target:`${o3[this.sdk.env].packageId}::config::update_plan`,typeArguments:[],arguments:[i.object(o3[this.sdk.env].configId),i.object(o3[this.sdk.env].adminCapId),i.pure.u64(BigInt(t)),i.pure.u8(o),i.pure.u8(r),i.pure.u64(a)]}),i.setSender(e);let s=await oe(this.sdk.suiClient,i,e,0);return oC({inheritTx:i,sender:e,feeAmount:s},this.sdk.suiClient)}async buildRemovePlanTx({adminAddress:e,planId:t,currentTx:o}){let r=o||new tL.Transaction;r.moveCall({target:`${o3[this.sdk.env].packageId}::config::remove_plan`,typeArguments:[],arguments:[r.object(o3[this.sdk.env].configId),r.object(o3[this.sdk.env].adminCapId),r.pure.u64(BigInt(t))]}),r.setSender(e);let a=await oe(this.sdk.suiClient,r,e,0);return oC({inheritTx:r,sender:e,feeAmount:a},this.sdk.suiClient)}async buildUpdateFeeReceiverWalletTx({adminAddress:e,newFeeReceiverWallet:t,currentTx:o}){let r=o||new tL.Transaction;r.moveCall({target:`${o3[this.sdk.env].packageId}::config::update_fee_receiver`,typeArguments:[],arguments:[r.object(o3[this.sdk.env].configId),r.object(o3[this.sdk.env].adminCapId),r.pure.address(t)]}),r.setSender(e);let a=await oe(this.sdk.suiClient,r,e,0);return oC({inheritTx:r,sender:e,feeAmount:a},this.sdk.suiClient)}async buildSetPausedTx({adminAddress:e,paused:t,currentTx:o}){let r=o||new tL.Transaction;r.moveCall({target:`${o3[this.sdk.env].packageId}::config::set_paused`,typeArguments:[],arguments:[r.object(o3[this.sdk.env].configId),r.object(o3[this.sdk.env].adminCapId),r.pure.bool(t)]}),r.setSender(e);let a=await oe(this.sdk.suiClient,r,e,0);return oC({inheritTx:r,sender:e,feeAmount:a},this.sdk.suiClient)}async buildSetAcceptedPaymentTypeTx({adminAddress:e,paymentCoinType:t,currentTx:o}){let r=o||new tL.Transaction;r.moveCall({target:`${o3[this.sdk.env].packageId}::config::set_accepted_payment_type`,typeArguments:[t],arguments:[r.object(o3[this.sdk.env].configId),r.object(o3[this.sdk.env].adminCapId)]}),r.setSender(e);let a=await oe(this.sdk.suiClient,r,e,0);return oC({inheritTx:r,sender:e,feeAmount:a},this.sdk.suiClient)}}class o5{network;env;_suiClient;boostingModule;subscriptionModule;constructor(e,t="mainnet",o="prod"){this.network=t,this.env=o,this._suiClient=e,this.subscriptionModule=new o2(this),this.boostingModule=new o4(this)}get suiClient(){return this._suiClient}}let o8={tradeFeePercent:.01,tradeFeeRecipientAddress:"0xdaf1c8ed29d89cd8f217f609bad0a668fa6f158c12000bfa5f93e670c99e24ff"};class o9{network;env;options;_suiGrpcClient;_suiJsonRpcClient;aggregatorModule;curveModule;constructor(e,t="mainnet",o="prod"){this.options=e,this.network=t,this.env=o,this._suiGrpcClient=e.clients.grpc,this._suiJsonRpcClient=e.clients.jsonRpc,this.aggregatorModule=new oQ(this),this.curveModule=new o1(this)}get suiClient(){return this._suiGrpcClient}get suiJsonRpcClient(){return this._suiJsonRpcClient}}let o7=require("@mysten/sui/keypairs/ed25519"),re=.1;class rt{suiClient;constructor(e){this.suiClient=e}validatePrivateKey(e,t){t3()(e?.trim(),"Private key is required");let o=o7.Ed25519Keypair.fromSecretKey(e),r=o.getPublicKey().toSuiAddress();if(r!==t)throw Error(`Private key mismatch. Expected: ${t}, Got: ${r}`);return o}async createDraft(e,t,o){t3()(e?.trim(),"Sender address is required"),t3()(t?.trim(),"Recipient address is required"),t3()(e!==t,"Sender and recipient cannot be the same"),t3()(o>0n,"Transfer amount must be at least 1 MIST");try{let r=new tL.Transaction,[a]=r.splitCoins(r.gas,[o]);r.transferObjects([a],t),r.setSender(e);let{referenceGasPrice:n}=await this.suiClient.getReferenceGasPrice();r.setGasPrice(n);let i=await oe(this.suiClient,r,e,re);r=await oC({inheritTx:r,sender:e,feeAmount:i,suiInputAmount:o},this.suiClient);let s=await r.build({client:this.suiClient}),c=Buffer.from(s).toString("base64"),u=await r.getDigest();return{sender:e,recipient:t,amountMIST:o,txDraftBase64:c,txDigest:u}}catch(e){throw Error(`Failed to create draft transaction: ${e instanceof Error?e.message:"Unknown error"}`)}}async execute(e,t){try{t3()(e,"Draft transaction is required"),t3()(e.txDraftBase64?.trim(),"Transaction data is required");let o=this.validatePrivateKey(t,e.sender),r=(0,oa.fromBase64)(e.txDraftBase64),{signature:a}=await o.signTransaction(r),n=await this.suiClient.executeTransaction({transaction:r,signatures:[a],include:{effects:!0}}),i="Transaction"===n.$kind?n.Transaction:n.FailedTransaction,{status:s}=i;return{success:s.success,txDigest:i.digest,effects:i.effects,error:s.success?void 0:s.error.message}}catch(e){return{success:!1,error:e instanceof Error?e.message:"Unknown error occurred"}}}async getTransactionStatus(e){t3()(e?.trim(),"Transaction digest is required");try{let t=await this.suiClient.getTransaction({digest:e,include:{effects:!0}}),o="Transaction"===t.$kind?t.Transaction:t.FailedTransaction;if(!o.effects?.status)return"pending";return o.effects.status.success?"success":"failure"}catch(e){if(e instanceof Error&&(e.message.includes("not found")||e.message.includes("Could not find")))return"pending";return"failure"}}}})(),exports.ADMIN_CAP_ID=__webpack_exports__.ADMIN_CAP_ID,exports.AftermathAggregator=__webpack_exports__.AftermathAggregator,exports.AftermathCpmm=__webpack_exports__.AftermathCpmm,exports.AftermathLsd=__webpack_exports__.AftermathLsd,exports.AggregatorConverter=__webpack_exports__.AggregatorConverter,exports.AggregatorModule=__webpack_exports__.AggregatorModule,exports.AggregatorProtocol=__webpack_exports__.AggregatorProtocol,exports.AstrosAggregator=__webpack_exports__.AstrosAggregator,exports.BASE_BPS=__webpack_exports__.BASE_BPS,exports.BLUEFIN_PACKAGE_ID=__webpack_exports__.BLUEFIN_PACKAGE_ID,exports.BOOSTING_PACKAGE_ID=__webpack_exports__.BOOSTING_PACKAGE_ID,exports.BlastFunConstants=__webpack_exports__.BlastFunConstants,exports.BlastFunCustomCalculation=__webpack_exports__.BlastFunCustomCalculation,exports.BlastFunCustomTransaction=__webpack_exports__.BlastFunCustomTransaction,exports.BlastFunPackage=__webpack_exports__.BlastFunPackage,exports.BlastFunSDKCalculation=__webpack_exports__.BlastFunSDKCalculation,exports.BlastFunSDKTransaction=__webpack_exports__.BlastFunSDKTransaction,exports.Blastfun=__webpack_exports__.Blastfun,exports.Bluefin7kClient=__webpack_exports__.Bluefin7kClient,exports.BluefinClmm=__webpack_exports__.BluefinClmm,exports.BluefinTx=__webpack_exports__.BluefinTx,exports.BluemoveCpmm=__webpack_exports__.BluemoveCpmm,exports.Bolt=__webpack_exports__.Bolt,exports.BoostingModule=__webpack_exports__.BoostingModule,exports.Bps=__webpack_exports__.Bps,exports.CLOCK_OBJECT_ID=__webpack_exports__.CLOCK_OBJECT_ID,exports.CONFIG_ID=__webpack_exports__.CONFIG_ID,exports.CetusAggregator=__webpack_exports__.CetusAggregator,exports.CetusAggregatorConverter=__webpack_exports__.CetusAggregatorConverter,exports.CetusClient=__webpack_exports__.CetusClient,exports.CetusClmm=__webpack_exports__.CetusClmm,exports.CetusDlmm=__webpack_exports__.CetusDlmm,exports.CurveModule=__webpack_exports__.CurveModule,exports.DEFAULT_TRADE_FEE=__webpack_exports__.DEFAULT_TRADE_FEE,exports.DeepbookV3=__webpack_exports__.DeepbookV3,exports.DipCpmm=__webpack_exports__.DipCpmm,exports.DraftTransferTx=__webpack_exports__.DraftTransferTx,exports.FerraClmm=__webpack_exports__.FerraClmm,exports.FerraDlmm=__webpack_exports__.FerraDlmm,exports.FlowXAggregator=__webpack_exports__.FlowXAggregator,exports.FlowXAggregatorConverter=__webpack_exports__.FlowXAggregatorConverter,exports.FlowxClient=__webpack_exports__.FlowxClient,exports.FlowxCpmm=__webpack_exports__.FlowxCpmm,exports.FullsailClmm=__webpack_exports__.FullsailClmm,exports.HaedalLsdWal=__webpack_exports__.HaedalLsdWal,exports.KriyaClmm=__webpack_exports__.KriyaClmm,exports.MagmaAlmm=__webpack_exports__.MagmaAlmm,exports.MagmaClmm=__webpack_exports__.MagmaClmm,exports.MathUtils=__webpack_exports__.MathUtils,exports.MetaAgError=__webpack_exports__.MetaAgError,exports.MetaAgErrorCode=__webpack_exports__.MetaAgErrorCode,exports.MetaAggregator=__webpack_exports__.MetaAggregator,exports.MetaClient=__webpack_exports__.MetaClient,exports.Metastable=__webpack_exports__.Metastable,exports.MomentumClmm=__webpack_exports__.MomentumClmm,exports.MoonbagsCalculation=__webpack_exports__.MoonbagsCalculation,exports.MoonbagsConstants=__webpack_exports__.MoonbagsConstants,exports.MoonbagsPackage=__webpack_exports__.MoonbagsPackage,exports.MoonbagsTransaction=__webpack_exports__.MoonbagsTransaction,exports.Movepump=__webpack_exports__.Movepump,exports.NATIVE_USDC_TOKEN_TYPE=__webpack_exports__.NATIVE_USDC_TOKEN_TYPE,exports.NoodlesPaySdk=__webpack_exports__.NoodlesPaySdk,exports.NoodlesSdk=__webpack_exports__.NoodlesSdk,exports.Obric=__webpack_exports__.Obric,exports.PythPrice=__webpack_exports__.PythPrice,exports.PythUtils=__webpack_exports__.PythUtils,exports.RouterUtils=__webpack_exports__.RouterUtils,exports.SUBSCRIPTION_CONFIG=__webpack_exports__.SUBSCRIPTION_CONFIG,exports.SUI_ADDRESS_ZERO=__webpack_exports__.SUI_ADDRESS_ZERO,exports.SUI_FULL_TYPE=__webpack_exports__.SUI_FULL_TYPE,exports.SUI_METADATA_OBJECT_ID=__webpack_exports__.SUI_METADATA_OBJECT_ID,exports.SUI_TYPE=__webpack_exports__.SUI_TYPE,exports.Scallop=__webpack_exports__.Scallop,exports.SevenKAggregator=__webpack_exports__.SevenKAggregator,exports.SevenKAggregatorConverter=__webpack_exports__.SevenKAggregatorConverter,exports.SevenkCpmm=__webpack_exports__.SevenkCpmm,exports.SevenkFun=__webpack_exports__.SevenkFun,exports.SrmCpmm=__webpack_exports__.SrmCpmm,exports.Steamm=__webpack_exports__.Steamm,exports.SubscriptionModule=__webpack_exports__.SubscriptionModule,exports.SuiGrpcClient=__webpack_exports__.SuiGrpcClient,exports.SuiJsonRpcClient=__webpack_exports__.SuiJsonRpcClient,exports.SupportedAggregator=__webpack_exports__.SupportedAggregator,exports.SupportedBondingCurve=__webpack_exports__.SupportedBondingCurve,exports.TradeFeeOptions=__webpack_exports__.TradeFeeOptions,exports.TradeportClmm=__webpack_exports__.TradeportClmm,exports.TurbosClmm=__webpack_exports__.TurbosClmm,exports.TurbosFun=__webpack_exports__.TurbosFun,exports.USDC_TOKEN_TYPE=__webpack_exports__.USDC_TOKEN_TYPE,exports.Volo=__webpack_exports__.Volo,exports.Walrus=__webpack_exports__.Walrus,exports.addGasFee=__webpack_exports__.addGasFee,exports.checkIsSui=__webpack_exports__.checkIsSui,exports.denormalizeTokenType=__webpack_exports__.denormalizeTokenType,exports.getAmountAfterFee=__webpack_exports__.getAmountAfterFee,exports.getCoinObjectIdsByAmount=__webpack_exports__.getCoinObjectIdsByAmount,exports.getExpectedReturn=__webpack_exports__.getExpectedReturn,exports.getGrpcFullnodeUrl=__webpack_exports__.getGrpcFullnodeUrl,exports.getJsonRpcFullnodeUrl=__webpack_exports__.getJsonRpcFullnodeUrl,exports.getMemezPumpSDK=__webpack_exports__.getMemezPumpSDK,exports.getMoveObject=__webpack_exports__.getMoveObject,exports.getMoveObjectContent=__webpack_exports__.getMoveObjectContent,exports.getNeededGasFee=__webpack_exports__.getNeededGasFee,exports.getSplitCoinForTx=__webpack_exports__.getSplitCoinForTx,exports.getSplitCoinsAfterFee=__webpack_exports__.getSplitCoinsAfterFee,exports.getTransactionResultDigest=__webpack_exports__.getTransactionResultDigest,exports.isSuiCoinType=__webpack_exports__.isSuiCoinType,exports.normalizeTokenType=__webpack_exports__.normalizeTokenType,exports.splitSuiCoinAfterFeeFromBuyTx=__webpack_exports__.splitSuiCoinAfterFeeFromBuyTx,exports.splitSuiCoinAfterFeeFromSellTx=__webpack_exports__.splitSuiCoinAfterFeeFromSellTx,exports.timeout=__webpack_exports__.timeout,__webpack_exports__)-1===["ADMIN_CAP_ID","AftermathAggregator","AftermathCpmm","AftermathLsd","AggregatorConverter","AggregatorModule","AggregatorProtocol","AstrosAggregator","BASE_BPS","BLUEFIN_PACKAGE_ID","BOOSTING_PACKAGE_ID","BlastFunConstants","BlastFunCustomCalculation","BlastFunCustomTransaction","BlastFunPackage","BlastFunSDKCalculation","BlastFunSDKTransaction","Blastfun","Bluefin7kClient","BluefinClmm","BluefinTx","BluemoveCpmm","Bolt","BoostingModule","Bps","CLOCK_OBJECT_ID","CONFIG_ID","CetusAggregator","CetusAggregatorConverter","CetusClient","CetusClmm","CetusDlmm","CurveModule","DEFAULT_TRADE_FEE","DeepbookV3","DipCpmm","DraftTransferTx","FerraClmm","FerraDlmm","FlowXAggregator","FlowXAggregatorConverter","FlowxClient","FlowxCpmm","FullsailClmm","HaedalLsdWal","KriyaClmm","MagmaAlmm","MagmaClmm","MathUtils","MetaAgError","MetaAgErrorCode","MetaAggregator","MetaClient","Metastable","MomentumClmm","MoonbagsCalculation","MoonbagsConstants","MoonbagsPackage","MoonbagsTransaction","Movepump","NATIVE_USDC_TOKEN_TYPE","NoodlesPaySdk","NoodlesSdk","Obric","PythPrice","PythUtils","RouterUtils","SUBSCRIPTION_CONFIG","SUI_ADDRESS_ZERO","SUI_FULL_TYPE","SUI_METADATA_OBJECT_ID","SUI_TYPE","Scallop","SevenKAggregator","SevenKAggregatorConverter","SevenkCpmm","SevenkFun","SrmCpmm","Steamm","SubscriptionModule","SuiGrpcClient","SuiJsonRpcClient","SupportedAggregator","SupportedBondingCurve","TradeFeeOptions","TradeportClmm","TurbosClmm","TurbosFun","USDC_TOKEN_TYPE","Volo","Walrus","addGasFee","checkIsSui","denormalizeTokenType","getAmountAfterFee","getCoinObjectIdsByAmount","getExpectedReturn","getGrpcFullnodeUrl","getJsonRpcFullnodeUrl","getMemezPumpSDK","getMoveObject","getMoveObjectContent","getNeededGasFee","getSplitCoinForTx","getSplitCoinsAfterFee","getTransactionResultDigest","isSuiCoinType","normalizeTokenType","splitSuiCoinAfterFeeFromBuyTx","splitSuiCoinAfterFeeFromSellTx","timeout"].indexOf(__rspack_i)&&(exports[__rspack_i]=__webpack_exports__[__rspack_i]);Object.defineProperty(exports,"__esModule",{value:!0});
|