@rango-dev/queue-manager-rango-preset 0.49.1-next.0 → 0.49.1-next.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var _t=Object.defineProperty;var l=(e,t)=>_t(e,"name",{value:t,configurable:!0});var vt="c6381a79-2817-4602-83bf-6a641a409e32",me={API_KEY:vt,BASE_URL:""};function J(e){return me[e]}l(J,"getConfig");function be(e){return me=e,me}l(be,"initConfig");var we=(n=>(n.RouteEvent="routeEvent",n.StepEvent="stepEvent",n))(we||{}),Ae=(r=>(r.STARTED="started",r.FAILED="failed",r.SUCCEEDED="succeeded",r))(Ae||{}),ne=(r=>(r.CREATE_TX="create_tx",r.SEND_TX="send_tx",r.TX_SENT="tx_sent",r))(ne||{}),ie=(a=>(a.WAITING_FOR_QUEUE="waiting_for_queue",a.WAITING_FOR_WALLET_CONNECT="waiting_for_wallet_connect",a.WAITING_FOR_NETWORK_CHANGE="waiting_for_network_change",a.WAITING_FOR_CHANGE_WALLET_ACCOUNT="waiting_for_change_wallet_account",a))(ie||{}),q=(p=>(p.STARTED="started",p.FAILED="failed",p.SUCCEEDED="succeeded",p.TX_EXECUTION="tx_execution",p.TX_EXECUTION_BLOCKED="tx_execution_blocked",p.APPROVAL_TX_SUCCEEDED="approval_tx_succeeded",p.CHECK_STATUS="check_status",p.OUTPUT_REVEALED="output_revealed",p))(q||{}),ye=(a=>(a.ERROR="error",a.SUCCESS="success",a.WARNING="warning",a.INFO="info",a))(ye||{});import{warn as te}from"@rango-dev/logging-core";import{SignerError as St}from"rango-types";import{warn as Lt}from"@rango-dev/logging-core";import{Status as ve}from"@rango-dev/queue-manager-core";import{legacyReadAccountAddress as Ft}from"@rango-dev/wallets-core/legacy";import{getBlockChainNameFromId as Bt,getEvmProvider as Qt}from"@rango-dev/wallets-shared";import Xt from"bignumber.js";import{PendingSwapNetworkStatus as z,SignerError as qt,TransactionType as I}from"rango-types";var xe="Waiting for other swaps to complete",Me="Waiting for connecting wallet",Le=l((e,t)=>`Please change your ${e||"wallet"} account to ${t||"proper address"}`,"ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION_WRONG_WALLET"),le=l(e=>`Please connect your ${e??""} wallet.`,"ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION"),ce=l(e=>`Please change your network to ${e}.`,"ERROR_MESSAGE_WAIT_FOR_CHANGE_NETWORK"),O="CLIENT_UNEXPECTED_BEHAVIOUR";import{RangoClient as Rt}from"rango-sdk";var ue,H=l(()=>ue||(ue=new Rt(J("API_KEY"),J("BASE_URL")),ue),"httpService");import qe from"bignumber.js";import Fe from"bignumber.js";var Be=l((e,t=null,n=null)=>{if(e===null||e==="")return"";let r=new Fe(e),a=1,o=1e3;for(let c=0;c<60;c++)if(new Fe(r.toFixed(c,a)).eq(r)){o=c;break}if(r.gte(1e4))return r.toFormat(0,a);if(r.gte(1e3)||r.gte(100))return r.toFormat(Math.min(o,Math.min(n||100,Math.max(t||0,1))),a);if(r.gte(1))return r.toFormat(Math.min(o,Math.min(n||100,Math.max(t||0,2))),a);if(r.gte(.01))return r.toFormat(Math.min(o,Math.min(n||100,Math.max(t||0,4))),a);for(let c=t||4;c<17;c++)if(r.gte(Math.pow(10,-c)))return r.toFormat(Math.min(o,Math.min(n||100,Math.max(t||0,c))),a);return r.isEqualTo(0)?"0":r.toFormat(Math.min(o,Math.min(n||100,Math.max(t||0,8))),a)},"numberToString");import{SignerErrorCode as $,SignerError as ht,isSignerErrorCode as Nt,isAPIErrorCode as It}from"rango-types";var Pt="Assertion failed (Unexpected behaviour)",Ot="Create transaction failed in Rango Server",Qe="Input wallet not found",D=class e extends Error{constructor(n,r,a,o){super(r);this._isPrettyError=!0;Object.setPrototypeOf(this,e.prototype),e.prototype._isPrettyError=!0,this.code=n,this.detail=o,this.root=a}static{l(this,"PrettyError")}static isPrettyError(n){return n instanceof e||Object.prototype.hasOwnProperty.call(n,"_isPrettyError")}getErrorDetail(){let n=typeof this.root=="object"&&this.root&&this.root.error?this.root.error:JSON.stringify(this.root),r=typeof this.root=="string"?this.root:this.root instanceof Error?this.root.message:n;return{extraMessage:this.message,extraMessageDetail:this.detail||r,extraMessageErrorCode:this.code||null}}static AssertionFailed(n){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",Pt,null,n)}static BadStatusCode(n,r){return new e("TX_FAIL",n,null,`status code = ${r}`)}static CreateTransaction(n){return new e("FETCH_TX_FAILED",Ot,null,n)}static WalletMissing(){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",Qe,null,"Server requested for a blockchain or address not selected by user")}static BlockchainMissing(){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",Qe,null,"Server requested for a blockchain or address not selected by user")}};function Xe(e){try{return e?It(e)?e:Nt(e)?{[$.REJECTED_BY_USER]:"USER_REJECT",[$.SIGN_TX_ERROR]:"CALL_WALLET_FAILED",[$.SEND_TX_ERROR]:"SEND_TX_FAILED",[$.TX_FAILED_IN_BLOCKCHAIN]:"TX_FAILED_IN_BLOCKCHAIN",[$.NOT_IMPLEMENTED]:O,[$.OPERATION_UNSUPPORTED]:O,[$.UNEXPECTED_BEHAVIOUR]:O}[e]:O:O}catch{return O}}l(Xe,"mapAppErrorCodesToAPIErrorCode");var G=l(e=>{if(!e)return{extraMessage:"",extraMessageErrorCode:null};if(D.isPrettyError(e))return e.getErrorDetail();if(ht.isSignerError(e)){let t=e.getErrorDetail();return{extraMessage:t.message,extraMessageDetail:t.detail,extraMessageErrorCode:t.code}}return e instanceof Error?{extraMessage:e.toString(),extraMessageErrorCode:null}:typeof e!="string"?{extraMessage:JSON.stringify(e),extraMessageErrorCode:null}:{extraMessage:e,extraMessageErrorCode:null}},"prettifyErrorMessage");var pe=(a=>(a.error="error",a.warning="warning",a.info="info",a.success="success",a))(pe||{}),M=l((e,t)=>{try{return B(e,t)}catch{return null}},"getCurrentNamespaceOfOrNull"),B=l((e,t)=>{let n=t.evmTransaction?.blockChain||t.evmApprovalTransaction?.blockChain,r=t.starknetTransaction?.blockChain||t.starknetApprovalTransaction?.blockChain,a=t.tronTransaction?.blockChain||t.tronApprovalTransaction?.blockChain,o=t.cosmosTransaction?.blockChain,c=t.solanaTransaction?.blockChain,i=t.tonTransaction?.blockChain,p=t.suiTransaction?.blockChain;if(n)return{namespace:"EVM",network:n};if(r)return{namespace:"Starknet",network:r};if(a)return{namespace:"Tron",network:a};if(o)return{namespace:"Cosmos",network:o};if(c)return{namespace:"Solana",network:c};if(i)return{namespace:"Ton",network:i};if(p)return{namespace:"Sui",network:p};if(t.transferTransaction){let u=t.transferTransaction.fromWalletAddress;if(!u)throw D.BlockchainMissing();let s=Object.keys(e.wallets).find(S=>e.wallets[S]?.address===u);if(!s)throw D.BlockchainMissing();return{namespace:"UTXO",network:s}}throw new Error("Unsupported transaction type has been included in your swap.",{cause:t})},"getCurrentNamespaceOf"),re=l((e,t,n)=>{let a=n[t].info?.transactionUrl;if(a)return a.indexOf("/{txHash}")!==-1?a.replace("{txHash}",e):`${a}/${e}`},"getScannerUrl");function Ge(e,t){return e.steps.find(n=>n.status!=="failed"&&n.status!=="success"&&n.id!==t.id)||null}l(Ge,"getNextStep");var Ke=l((e,t)=>{let n=e.wallets[t.evmTransaction?.blockChain||""]||e.wallets[t.evmApprovalTransaction?.blockChain||""]||e.wallets[t.tronTransaction?.blockChain||""]||e.wallets[t.tronApprovalTransaction?.blockChain||""]||e.wallets[t.starknetTransaction?.blockChain||""]||e.wallets[t.starknetApprovalTransaction?.blockChain||""]||e.wallets[t.cosmosTransaction?.blockChain||""]||e.wallets[t.solanaTransaction?.blockChain||""]||e.wallets[t.tonTransaction?.blockChain||""]||e.wallets[t.suiTransaction?.blockChain||""]||(t.transferTransaction?.fromWalletAddress?{address:t.transferTransaction.fromWalletAddress,walletType:Object.values(e.wallets).find(r=>r.address===t.transferTransaction?.fromWalletAddress)?.walletType}:null)||null;if(n==null)throw D.WalletMissing();return n},"getCurrentWalletTypeAndAddress"),$e=l((e,t)=>Ke(e,t).address,"getCurrentAddressOf");function V(e,t){let{address:n,walletType:r}=Ke(e,t),a=Object.keys(e.wallets).map(p=>({k:p,v:e.wallets[p]})).find(({v:p})=>p.address===n&&p.walletType===r)||null,o=a?.k||null,c=a?.v||null,i=c?.walletType;if(c===null)throw D.AssertionFailed(`Wallet for source ${o} not passed: walletType: ${i}`);return c}l(V,"getRelatedWallet");function Ce(e,t){if(!t)return null;try{return V(e,t)}catch{return null}}l(Ce,"getRelatedWalletOrNull");var Ve=l((e,t,n,r)=>r?.find(o=>o.blockchain===e&&o.symbol?.toUpperCase()===t?.toUpperCase()&&o.address===n)?.usdPrice||null,"getUsdPrice");function Dt(e,t){let n=new qe(0);for(let r=0;r<e.fee.length;r++){let a=e.fee[r];if(a.expenseType==="DECREASE_FROM_OUTPUT")continue;let o=Ve(a.asset.blockchain,a.asset.symbol,a.asset.address,t);n=n.plus(new qe(a.amount).multipliedBy(o||0))}return n}l(Dt,"getUsdFeeOfStep");function He(e,t){return{fromBlockchain:e.from.blockchain,fromBlockchainLogo:e.from.blockchainLogo,fromLogo:e.from.logo,fromSymbol:e.from.symbol,fromSymbolAddress:e.from.address,fromDecimals:e.from.decimals,fromAmountPrecision:e.fromAmountPrecision,fromAmountMinValue:e.fromAmountMinValue,fromAmountMaxValue:e.fromAmountMaxValue,fromAmountRestrictionType:e.fromAmountRestrictionType,fromUsdPrice:e.from.usdPrice,toBlockchain:e.to.blockchain,toBlockchainLogo:e.to.blockchainLogo,toSymbol:e.to.symbol,toSymbolAddress:e.to.address,toDecimals:e.to.decimals,toLogo:e.to.logo,toUsdPrice:e.to.usdPrice,swapperId:e.swapperId,swapperLogo:e.swapperLogo,swapperType:e.swapperType,expectedOutputAmountHumanReadable:e.toAmount,feeInUsd:t?Be(Dt(e,t?.tokens),null,8):null,estimatedTimeInSeconds:e.estimatedTimeInSeconds||null,internalSteps:null}}l(He,"mapSwapStepToPendingSwapStep");function Ut(e,t,n,r,a,o){let c=t.result;if(!c)throw Error("Simulation result should not be null");return{creationTime:new Date().getTime().toString(),finishTime:null,requestId:t.requestId||"",inputAmount:e,wallets:n,status:"running",isPaused:!1,extraMessage:null,extraMessageSeverity:null,extraMessageDetail:null,extraMessageErrorCode:null,networkStatusExtraMessage:null,networkStatusExtraMessageDetail:null,lastNotificationTime:null,settings:r,simulationResult:c,validateBalanceOrFee:a,steps:t.result?.swaps?.map((i,p)=>{let u=He(i,o);return{id:p+1,...u,internalSwaps:i?.internalSwaps?.map(s=>He(s,o))||null,outputAmount:"",status:"created",networkStatus:null,startTransactionTime:new Date().getTime(),externalTransactionId:null,executedTransactionId:null,executedTransactionTime:null,explorerUrl:null,diagnosisUrl:null,trackingCode:null,internalSteps:null,evmTransaction:null,evmApprovalTransaction:null,starknetTransaction:null,starknetApprovalTransaction:null,tronTransaction:null,tronApprovalTransaction:null,cosmosTransaction:null,solanaTransaction:null,transferTransaction:null,tonTransaction:null,suiTransaction:null,xrplTransaction:null,hasAlreadyProceededToSign:!1}})||[]}}l(Ut,"calculatePendingSwap");function Ye(e){return e.map(t=>{let{diagnosisUrl:n,estimatedTimeInSeconds:r,explorerUrl:a,feeInUsd:o,executedTransactionId:c,executedTransactionTime:i,expectedOutputAmountHumanReadable:p,fromBlockchain:u,toBlockchain:s,fromSymbol:S,toSymbol:d,fromSymbolAddress:g,toSymbolAddress:E,swapperType:_,swapperId:w,outputAmount:x,fromAmountMaxValue:T,fromAmountMinValue:y,fromAmountPrecision:C,fromAmountRestrictionType:v,fromDecimals:f,status:k}=t;return{diagnosisUrl:n,estimatedTimeInSeconds:r,explorerUrl:a,feeInUsd:o,executedTransactionId:c,executedTransactionTime:i,expectedOutputAmountHumanReadable:p,fromBlockchain:u,toBlockchain:s,fromSymbol:S,toSymbol:d,fromSymbolAddress:g,toSymbolAddress:E,swapperName:w,swapperType:_,outputAmount:x,fromAmountMaxValue:T,fromAmountMinValue:y,fromAmountPrecision:C,fromAmountRestrictionType:v,fromDecimals:f,status:k,transaction:Q(t)}})}l(Ye,"createSteps");function Wt(e,t,n){let{creationTime:r,finishTime:a,requestId:o,inputAmount:c,status:i,wallets:p,steps:u,settings:s}=e,S=Ye(u),g={route:{creationTime:r,finishTime:a,requestId:o,inputAmount:c,status:i,wallets:p,steps:S,slippage:s.slippage,infiniteApproval:s.infiniteApprove},step:S[S.length-1]};if(n)g.step=Ye([n])[0];else if(t==="failed"){let E=Je(S);E&&(g.step=E)}else{let E=j(S);E&&(g.step=E)}return g}l(Wt,"getEventPayload");function bt(e,t,n){let r,{type:a}=e;switch(a){case"started":r={...e,type:"started"};break;case"failed":r={...e,type:"failed",inputAmount:n.inputAmount,inputAmountUsd:ke(n)};break;case"succeeded":{r={...e,type:"succeeded",inputAmount:n.inputAmount,inputAmountUsd:ke(n),outputAmount:n.steps[n.steps.length-1].outputAmount??"",outputAmountUsd:je(n)};break}default:break}r&&J("emitter")?.emit("routeEvent",{event:r,route:t})}l(bt,"emitRouteEvent");function Mt(e,t,n){J("emitter")?.emit("stepEvent",{event:e,route:t,step:n})}l(Mt,"emitStepEvent");function m(e){let{event:t}=e,{type:n}=t,{route:r,step:a}=Wt(e.swap,n,e.step??void 0),o=`${a.fromBlockchain}.${a.fromSymbol}`,c=`${a.toBlockchain}.${a.toSymbol}`,i=a.outputAmount??"",p=e.step?M(e.swap,e.step):null,u="",s="info";switch(n){case"started":u="Swap process started",s="success";break;case"succeeded":u=`You received ${i} ${c}, hooray!`,s="success";break;case"failed":u=`Swap failed: ${e.swap?.extraMessage??"Reason is unknown"}`,s="error";break;case"tx_execution":t.status==="create_tx"?(u="Please wait while the transaction is created ...",s="info"):t.status==="send_tx"?(e.step&&ae(e.step)?u=`Please confirm '${a.swapperName}' smart contract access to ${o}`:u="Please confirm transaction request in your wallet",s="warning"):t.status==="tx_sent"&&(u="Transaction sent successfully",s="info");break;case"check_status":e.step&&ae(e.step)?u="Checking approve transaction status ...":u="Checking transaction status ...",s="info";break;case"approval_tx_succeeded":u="Smart contract called successfully",s="success";break;case"output_revealed":u="Transaction output amount revealed",s="success";break;case"tx_execution_blocked":t.status==="waiting_for_wallet_connect"?(u="Please connect your wallet.",s="warning"):t.status==="waiting_for_queue"?(u="Waiting for other swaps to complete",s="warning"):t.status==="waiting_for_change_wallet_account"?(u="Please change your wallet account.",s="warning"):t.status==="waiting_for_network_change"&&(u=`Please change your wallet network to ${p?.network}.`,s="warning");break;default:break}e.step&&Mt({...t,message:u,messageSeverity:s},r,a),(e.event.type==="failed"||!e.step)&&bt({...t,message:u,messageSeverity:s},r,e.swap)}l(m,"notifier");var _e=null;function de(){return{claimedBy:()=>_e?.id,setClaimer:e=>{_e={id:e}},reset:()=>{_e=null}}}l(de,"claimQueue");var Y={};function Se(){return{getTransactionDataByHash:e=>Y[e]||{},setTransactionDataByHash:(e,t)=>{Y[e]||(Y[e]={}),Y[e].response=t.response||Y[e].response,Y[e].receiptReceived=t.receiptReceived||Y[e].receiptReceived||!1}}}l(Se,"inMemoryTransactionsData");var A=l(e=>e.steps.find(t=>t.status!=="failed"&&t.status!=="success")||null,"getCurrentStep"),Q=l(e=>{let{evmTransaction:t,evmApprovalTransaction:n,cosmosTransaction:r,solanaTransaction:a,transferTransaction:o,starknetApprovalTransaction:c,starknetTransaction:i,tronApprovalTransaction:p,tronTransaction:u,tonTransaction:s,suiTransaction:S}=e;return t||n||r||a||o||c||i||p||u||s||S},"getCurrentStepTx"),ge=l((e,t)=>{e.transferTransaction=null,e.cosmosTransaction=null,e.evmTransaction=null,e.solanaTransaction=null,e.evmApprovalTransaction=null,e.starknetApprovalTransaction=null,e.starknetTransaction=null,e.tronApprovalTransaction=null,e.tronTransaction=null,e.tonTransaction=null,e.suiTransaction=null;let n=t.type;switch(n){case I.EVM:t.isApprovalTx?e.evmApprovalTransaction=t:e.evmTransaction=t;break;case I.TRON:t.isApprovalTx?e.tronApprovalTransaction=t:e.tronTransaction=t;break;case I.STARKNET:t.isApprovalTx?e.starknetApprovalTransaction=t:e.starknetTransaction=t;break;case I.COSMOS:e.cosmosTransaction=t;break;case I.SOLANA:e.solanaTransaction=t;break;case I.TRANSFER:e.transferTransaction=t;break;case I.TON:e.tonTransaction=t;break;case I.SUI:e.suiTransaction=t;break;case I.XRPL:e.xrplTransaction=t;break;default:(r=>{throw new Error(`${r} was unhandled!`)})(n)}return e},"setCurrentStepTx"),Re=l(e=>Q(e)?.type,"getCurrentStepTxType"),ae=l(e=>{let{evmApprovalTransaction:t,starknetApprovalTransaction:n,tronApprovalTransaction:r}=e;return!!(t||n||r)},"isApprovalCurrentStepTx");function U({getStorage:e,setStorage:t,nextStatus:n,nextStepStatus:r,message:a,details:o,errorCode:c=null,hasAlreadyProceededToSign:i,trace:p=null}){let u=e().swapDetails,s=A(u),S={swap:u,step:s};if(r&&s&&(s.status=r),n&&(u.status=n),u.hasAlreadyProceededToSign=i,n&&["failed","success"].includes(n)&&(u.finishTime=new Date().getTime().toString()),(a||o)&&(u.extraMessage=a||"",u.extraMessageDetail=o||""),r&&["failed"].includes(r)){let d=o&&o.includes("Warning")?"Swap canceled by user.":o,g=Ce(u,s)?.walletType;u.extraMessageSeverity="error";let E=Xe(c);S.failureType=E;let _=c!=="REJECTED_BY_USER"&&p?.message&&typeof p.message=="string"?p.message:d||"";H().reportFailure({requestId:u.requestId,step:s?.id||1,eventType:E,reason:_,tags:g?{wallet:g}:void 0}).then().catch()}else r&&["running"].includes(r)?u.extraMessageSeverity="info":r&&["success","approved"].includes(r)?u.extraMessageSeverity="success":r&&["waitingForApproval"].includes(r)&&(u.extraMessageSeverity="warning");return r==="running"&&s&&(s.startTransactionTime=new Date().getTime()),t({...e(),swapDetails:u}),S}l(U,"updateSwapStatus");function Ht({getStorage:e,setStorage:t},n,r){let a=e().swapDetails;a.hasAlreadyProceededToSign=null;let o=A(a);o.executedTransactionId=n,o.executedTransactionTime=new Date().getTime().toString(),r?.url&&(o.explorerUrl=[...o.explorerUrl||[],{url:r.url,description:r.description||null}]),ae(o)?a.extraMessage="Checking approve transaction status ...":a.extraMessage="Checking transaction status ...",a.extraMessageDetail="",a.extraMessageSeverity="info",t({...e(),swapDetails:a}),m({event:{type:"tx_execution",status:"tx_sent"},swap:a,step:o}),m({event:{type:"check_status"},swap:a,step:o})}l(Ht,"setStepTransactionIds");function Gt({getStorage:e,setStorage:t},n,r){let a=e().swapDetails,o=A(a);if(!o)return;let c=new Date;a.lastNotificationTime=c.getTime().toString(),!(o.networkStatus===z.WaitingForConnectingWallet&&a.networkStatusExtraMessage===n&&a.networkStatusExtraMessageDetail===r)&&(o.networkStatus=z.WaitingForConnectingWallet,a.networkStatusExtraMessage=n,a.networkStatusExtraMessageDetail=r,t({...e(),swapDetails:a}))}l(Gt,"markRunningSwapAsWaitingForConnectingWallet");function Ze({getStorage:e,setStorage:t}){let n=e().swapDetails,r=A(n);if(!r)return;let{type:a}=W(n),o=B(n,r),c=`Change ${a} wallet network to ${o.network}`,i=`We\u2019re switching the connected network to ${o.network}. Please check your wallet.`,p=new Date;return n.lastNotificationTime=p.getTime().toString(),r.networkStatus=z.WaitingForNetworkChange,n.networkStatusExtraMessage=c,n.networkStatusExtraMessageDetail=i,t({...e(),swapDetails:n}),{swap:n,step:r}}l(Ze,"markRunningSwapAsSwitchingNetwork");function et({getStorage:e,setStorage:t}){let n=e().swapDetails,r=A(n);if(r)return n.networkStatusExtraMessage="",n.networkStatusExtraMessageDetail="",r.networkStatus=z.WaitingForQueue,m({event:{type:"tx_execution_blocked",status:"waiting_for_queue"},swap:n,step:r}),t({...e(),swapDetails:n}),{swap:n,step:r}}l(et,"markRunningSwapAsDependsOnOtherQueues");async function Ee(e){return new Promise(t=>setTimeout(t,e))}l(Ee,"delay");var Kt=l((e,t)=>e.wallets[t]?.walletType,"getSwapWalletType");function he(e){return e===null||e?.blockchains===null||e?.blockchains.length===0}l(he,"isWalletNull");function W(e){let t=A(e),n=M(e,t);if(!n)return{type:null,namespace:null,address:null};let r=Kt(e,n.network),a=e.wallets[n.network];return{type:r||null,namespace:n,address:a?a.address:null}}l(W,"getRequiredWallet");async function $t(e){try{return await e.request({method:"eth_chainId"})||e?.chainId}catch{return e?.chainId}}l($t,"getChainId");async function tt(e,t,n,r,a){if(he(n))return!1;let o=M(e,t);if(!o)return!1;if(r.evmBasedChains.find(c=>c.name===o.network)){try{let c=e.wallets[o.network];if(c){let i=Qt(a,c.walletType),p=await $t(i);if(p){let u=Bt(p,Object.entries(r.blockchains).map(([,s])=>s));if(u&&u.toLowerCase()===o.network.toLowerCase())return!0;if(u&&u.toLowerCase()!==o.network.toLowerCase())return!1}}}catch(c){console.log(c)}return!1}return!0}l(tt,"isNetworkMatchedForTransaction");var nt=l((e,t)=>(e.wallets[t.evmTransaction?.blockChain||""]||e.wallets[t.evmApprovalTransaction?.blockChain||""]||e.wallets[t.tronTransaction?.blockChain||""]||e.wallets[t.tronApprovalTransaction?.blockChain||""]||e.wallets[t.starknetTransaction?.blockChain||""]||e.wallets[t.starknetApprovalTransaction?.blockChain||""]||e.wallets[t.cosmosTransaction?.blockChain||""]||e.wallets[t.solanaTransaction?.blockChain||""]||e.wallets[t.tonTransaction?.blockChain||""]||e.wallets[t.suiTransaction?.blockChain||""]||t.transferTransaction?.fromWalletAddress||null)!==null,"isTxAlreadyCreated");function rt(e){let{getStorage:t,setStorage:n}=e,r=t().swapDetails,a=A(r);a?.networkStatus&&(a.networkStatus=null,n({...t(),swapDetails:r}))}l(rt,"resetNetworkStatus");function Ne(e,t={message:"",details:"",status:null}){let{message:n,details:r,status:a}=t,{getStorage:o,setStorage:c}=e,i=o().swapDetails,p=A(i);p?.networkStatus&&(i.networkStatusExtraMessage=n,i.networkStatusExtraMessageDetail=r,p.networkStatus=a,c({...o(),swapDetails:i}))}l(Ne,"updateNetworkStatus");function at(e,t){let{context:n,queue:r}=t,a=r.getStorage().swapDetails,{ok:o,reason:c}=Ie(a,n.state);if(!o){let i=A(a),{type:p,address:u}=W(a);m({event:{type:"tx_execution_blocked",...c==="account_miss_match"?{status:"waiting_for_change_wallet_account",requiredAccount:u??void 0}:{status:"waiting_for_wallet_connect",requiredWallet:p??void 0,requiredAccount:u??void 0}},swap:a,step:i}),Gt({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)},Me,e.reason.description);return}r.unblock()}l(at,"onBlockForConnectWallet");function ot(e,t){let{context:n,queue:r}=t,a=r.getStorage().swapDetails,o=A(a);if(!o||a.status!=="running")return;let c=Ze({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)}),i=M(a,o)?.network,p=W(a).type,u=p?n.state(p).network:void 0;c&&m({event:{type:"tx_execution_blocked",status:"waiting_for_network_change",requiredNetwork:i??void 0,currentNetwork:u??void 0},swap:c.swap,step:c.step});let{type:s,namespace:S}=W(a);if(s&&S?.network&&n.canSwitchNetworkTo(s,S.network,S)){let d=n.switchNetwork(s,S);d&&d.then(()=>{r.unblock()}).catch(g=>{Ne({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)},{message:g.message,details:g.message,status:z.NetworkChangeFailed})})}}l(ot,"onBlockForChangeNetwork");function st(e,t){let{getBlockedTasks:n,forceExecute:r,queue:a,manager:o,context:c}=t,{setClaimer:i,claimedBy:p,reset:u}=de(),s=n().filter(T=>T.reason.reason==="depends_on_other_queues");if(s.length===0)return;let S=p(),d=!!S;if(S===a.id)return;if(d){et({getStorage:a.getStorage.bind(a),setStorage:a.setStorage.bind(a)});return}let g=s.find(T=>T.queue_id===t.queue_id);g||(g=s[0]),i(g.queue_id);let E=g.storage.get(),{type:_,namespace:w,address:x}=W(E.swapDetails);r(g.queue_id,{claimedBy:p(),resetClaimedBy:()=>{u(),_&&Oe({walletType:_,network:w?.network,accounts:x?[x]:[]},o,c.canSwitchNetworkTo)}})}l(st,"onDependsOnOtherQueues");function Ie(e,t){let{type:n,address:r}=W(e);if(!n||!r)return{ok:!1,reason:"not_connected"};let a=t(n),{accounts:o,connected:c}=a,i=o||[];return c?{ok:i.some(u=>{let{address:s}=Ft(u);return r.toLocaleLowerCase()===s.toLocaleLowerCase()}),reason:"account_miss_match"}:{ok:!1,reason:"not_connected"}}l(Ie,"isRequiredWalletConnected");async function it(e){let{setTransactionDataByHash:t}=Se(),{getStorage:n,setStorage:r,failed:a,next:o,schedule:c,context:i}=e,{meta:p,getSigners:u,isMobileWallet:s}=i,S=n().swapDetails,d=A(S),g=V(S,d),E=s(g?.walletType),_=$e(S,d),w=B(S,d),x=l(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),T=Q(d),y=T?.type,C=ae(d);if(!T||!y){let N="Unexpected Error: tx is null!",b=U({getStorage:n,setStorage:r,nextStatus:"failed",nextStepStatus:"failed",message:N,details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"});return m({event:{type:"failed",reason:N,reasonCode:"CLIENT_UNEXPECTED_BEHAVIOUR",inputAmount:L(S),inputAmountUsd:X(S)},...b}),a(),x()}let v=p.blockchains?.[T.blockChain]?.chainId,f=typeof S.hasAlreadyProceededToSign=="boolean",k,R,h,F,P;C?(h=`Waiting for approval of ${d?.fromSymbol} coin ${E?"on your mobile phone!":""}`,F="Waiting for approve transaction to be mined and confirmed successfully",R="waitingForApproval",k=void 0,P="tx_execution"):f?(h="Transaction is expired. Please try again.",R="failed",k="failed",F="",P="failed"):(h="Executing transaction ...",R="running",k="running",F=`${E?"Check your mobile phone!":""}`,P="tx_execution");let K=U({getStorage:n,setStorage:r,nextStepStatus:R,nextStatus:k,message:h,details:F,hasAlreadyProceededToSign:C?void 0:f,errorCode:f?"TX_EXPIRED":void 0});if(P==="failed"?m({event:{type:P,reason:h,reasonCode:K.failureType??O,inputAmount:L(S),inputAmountUsd:X(S)},...K}):m({event:{type:P,status:"send_tx"},...K}),f){a(),x();return}(await u(g.walletType)).getSigner(y).signAndSendTx(T,_,v).then(({hash:N,response:b})=>{let se=re(N,w.network,p.blockchains);Ht(e,N,se&&(!b||b&&!b.hashRequiringUpdate)?{url:se,description:C?"Approve":"Swap"}:void 0),b&&t(N,{response:b}),c("CHECK_TRANSACTION_STATUS"),o(),x()},N=>{if(S.status==="failed")return;let{extraMessage:b,extraMessageDetail:se,extraMessageErrorCode:kt}=G(N);Lt(N,{tags:{requestId:S.requestId,rpc:!0,swapper:d?.swapperId||"",walletType:g?.walletType||""},context:qt.isSignerError(N)?N.getErrorContext():{}});let We=U({getStorage:n,setStorage:r,nextStatus:"failed",nextStepStatus:"failed",message:b,details:se,errorCode:kt,trace:N?.cause});m({event:{type:"failed",reason:b,reasonCode:We.failureType??O,inputAmount:L(S),inputAmountUsd:X(S)},...We}),a(),x()})}l(it,"signTransaction");function lt(e){let{lastConnectedWallet:t,evmChains:n,manager:r}=e,{walletType:a,network:o}=t;n.some(c=>c.name==o)&&r?.getAll().forEach(c=>{let i=c.list.getStorage(),p=i?.swapDetails;if(p&&p.status==="running"){let u=A(p);if(u){let s=i?.swapDetails.wallets[u.fromBlockchain]?.walletType,S=Object.keys(c.list.state.tasks).some(g=>{let E=c.list.state.tasks[g];return E.status===ve.BLOCKED&&["waiting_for_connecting_wallet"].includes(E.blockedFor?.reason)}),d=M(p,u)?.network;if(!n.some(g=>g.name==d))return;if(s===a&&S&&d!=o){let g=c.list,{type:E}=W(p),_=ce(E);c.list.block({reason:{reason:"waiting_for_network_change",description:_},silent:!0});let w=Ze({getStorage:g.getStorage.bind(g),setStorage:g.setStorage.bind(g)});w&&m({event:{type:"tx_execution_blocked",status:"waiting_for_network_change",currentNetwork:o,requiredNetwork:d??void 0},swap:w.swap,step:w.step})}}}})}l(lt,"checkWaitingForConnectWalletChange");function Pe(e){e?.getAll().forEach(t=>{if(Object.keys(t.list.state.tasks).some(r=>{let a=t.list.state.tasks[r];return a.status===ve.BLOCKED&&["waiting_for_network_change","depends_on_other_queues"].includes(a.blockedFor?.reason)})){let r=t.list.getStorage()?.swapDetails;if(r.status==="running"){let{type:a}=W(r),o=le(a);t.list.block({reason:{reason:"waiting_for_connecting_wallet",description:o}})}}})}l(Pe,"checkWaitingForNetworkChange");function Vt(e){let t=e?.getAll()||new Map,n=[];return t.forEach(r=>{let o=r.list.getStorage()?.swapDetails;!o||o.status!=="running"||n.push(o)}),n}l(Vt,"getRunningSwaps");function Yt(e){e.forEach(t=>{let n=A(t),r="tx_execution_blocked",a;n?.networkStatus===z.WaitingForQueue?a="waiting_for_queue":t?.status==="running"&&(a="waiting_for_wallet_connect"),r&&m&&m({event:{type:r,status:a??"waiting_for_queue"},swap:t,step:n})})}l(Yt,"resetRunningSwapNotifsOnPageLoad");function Oe(e,t,n,r={fallbackToOnlyWallet:!0}){let{walletType:a,network:o}=e;if(!a)return;let c=[],i=[];t?.getAll().forEach(u=>{if(u.status===ve.BLOCKED){let s=u.list.getStorage(),S=s?.swapDetails;if(S&&S.status==="running"){let d=A(S);d&&(o&&M(S,d)?.network==o&&s?.swapDetails.wallets[o]?.walletType===a?c.push(u.list):s?.swapDetails.wallets[d.fromBlockchain]?.walletType===a&&i.push(u.list))}}});let p;if(c.length>0){if(p=c[0],c.length>1)for(let u=1;u<c.length;u++){let s=c[u];et({getStorage:s.getStorage.bind(s),setStorage:s.setStorage.bind(s)})}}else i.length>0&&r.fallbackToOnlyWallet&&(p=i[0]);if(p){let u=p.getStorage(),s=A(u?.swapDetails),S=s?M(u.swapDetails,s):null;!o||!S||!n?.(a,o,S)?p.unblock():p.checkBlock()}}l(Oe,"retryOn");function ct(e){return!!e.evmTransaction||!!e.evmApprovalTransaction}l(ct,"isNeedBlockQueueForParallel");async function ut(e){let t=await e;if(!t.ok||!t.transaction)throw D.CreateTransaction(t.error||"bad response from create tx endpoint");return t}l(ut,"throwOnOK");function Jt(e,t){let{reset:n}=de();e.actions.cancel();let r=U({getStorage:e.actions.getStorage,setStorage:e.actions.setStorage,message:"Swap canceled by user.",details:"Warning: If you've already signed and sent a transaction, it won't be affected, but next swap steps will not be executed.",nextStatus:"failed",nextStepStatus:"failed",errorCode:"USER_CANCEL"});return m({event:{type:"failed",reasonCode:"USER_CANCEL",reason:r.swap.extraMessage??void 0,inputAmount:L(r.swap),inputAmountUsd:X(r.swap)},swap:r.swap,step:r.step}),n(),t&&t?.retry(),r}l(Jt,"cancelSwap");function j(e){return e.slice().reverse().find(t=>t.status==="success")}l(j,"getLastSuccessfulStep");function Je(e){return e.slice().reverse().find(t=>t.status==="failed")}l(Je,"getFailedStep");function jt(e){let{transaction:t}=e;return t?.type===I.EVM&&t.isApprovalTx||t?.type===I.STARKNET&&t.isApprovalTx||t?.type===I.TRON&&t.isApprovalTx}l(jt,"isApprovalTX");function Te(e,t){let n=new Xt(e).multipliedBy(t);return isNaN(n.toNumber())?"":n.toString()}l(Te,"getTokenAmountInUsd");function ke(e){return Te(e.inputAmount,e.steps[0].fromUsdPrice??"")}l(ke,"getSwapInputUsd");function je(e){let t=e.steps[e.steps.length-1];return Te(t.outputAmount??"",t.toUsdPrice??"")}l(je,"getSwapOutputUsd");function pt(e){let t=["success","failed"],n=e.steps.findLastIndex(r=>t.includes(r.status));return n<0?void 0:{step:e.steps[n],index:n}}l(pt,"getLastFinishedStep");function L(e){let t=pt(e);return t?t.index===0?e.inputAmount:e.steps[t.index-1].outputAmount??"":""}l(L,"getLastFinishedStepInput");function X(e){let t=pt(e);return Te(L(e),t?.step?.fromUsdPrice??"")}l(X,"getLastFinishedStepInputUsd");function fe(e){let t=j(e.steps);return Te(t?.outputAmount??"",t?.toUsdPrice??"")}l(fe,"getLastSuccessfulStepOutputUsd");function ee(e,t,n){return{type:"failed",reason:t,reasonCode:n??O,inputAmount:L(e),inputAmountUsd:X(e)}}l(ee,"createStepFailedEvent");var dt=5e3,zt=5e3;async function Zt({getStorage:e,setStorage:t,next:n,schedule:r,retry:a,failed:o,context:c}){let i=e().swapDetails,{meta:p}=c,u=new Error("check status Error"),s=A(i);if(!s?.executedTransactionId)return;let S=Q(s),d=s.executedTransactionId,g=!1,E=null,_=null,{getTransactionDataByHash:w,setTransactionDataByHash:x}=Se();try{let f=Re(s),k=V(i,s);f&&k&&(_=(await c.getSigners(k.walletType)).getSigner(f))}catch{}try{let{response:f,receiptReceived:k}=w(d);if(_?.wait&&!k){let R=S?.blockChain&&p.blockchains?.[S?.blockChain]?.chainId||void 0,{hash:h,response:F}=await _.wait(d,R,f);if(h!==d){s.executedTransactionId=h||s.executedTransactionId;let P=B(i,s),K;!!Object.keys(p.blockchains).length&&(K=re(s.executedTransactionId,P.network,p.blockchains)),K&&s.explorerUrl&&s.explorerUrl?.length>=1&&(s.explorerUrl[s.explorerUrl.length-1]={url:K,description:"Replaced Swap"}),d=s.executedTransactionId,h&&F&&x(h,{response:F})}else x(h,{receiptReceived:!0})}}catch(f){let{extraMessage:k,extraMessageDetail:R,extraMessageErrorCode:h}=G(f),F=U({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:k,details:R,errorCode:h}),P=ee(i,k,F.failureType);te(u,{tags:{type:"singer-error",reason:P.reason,reasonCode:P.reasonCode,message:k,messageDetail:R,pendingSwap:i},context:St.isSignerError(f)?f.getErrorContext():{}}),g=!0}let T={requestId:i.requestId,txId:d,step:s.id};try{E=await H().checkStatus(T)}catch{await Ee(dt),a(),te(u,{tags:{type:"request-error",requestBody:T,pendingSwap:i}});return}if(g)return o();if(s?.status==="failed")return;let y=E?.outputAmount||(s.outputAmount?s.outputAmount:null),C=s.outputAmount||null;i.extraMessage=E?.extraMessage||i.extraMessage,i.extraMessageSeverity="info",i.extraMessageDetail="",s.status=E?.status||s.status,s.diagnosisUrl=E?.diagnosisUrl||s.diagnosisUrl||null,s.outputAmount=y||s.outputAmount,s.explorerUrl=E?.explorerUrl||s.explorerUrl,s.internalSteps=E?.steps||null;let v=E?.newTx;if(v&&(s.status="created",s.executedTransactionId=null,s.executedTransactionTime=null,ge(s,v)),C===null&&y!==null?m({event:{type:"output_revealed",outputAmount:y},swap:i,step:s}):C===null&&y===null&&m({event:{type:"check_status"},swap:i,step:s}),s.status==="success"){let f=Ge(i,s);i.extraMessageDetail="",i.extraMessage=f?`starting next step: ${f.swapperId}: ${f.fromBlockchain} -> ${f.toBlockchain}`:"",m({event:{type:"succeeded",inputAmount:L(i),inputAmountUsd:X(i),outputAmount:s.outputAmount??"",outputAmountUsd:fe(i)},swap:i,step:s})}else s.status==="failed"&&(i.extraMessage="Transaction failed in blockchain",i.extraMessageSeverity="error",i.extraMessageDetail=E?.extraMessage||"",i.status="failed",i.finishTime=new Date().getTime().toString(),te(u,{tags:{type:"transaction-failed",message:i.extraMessage,messageDetails:i.extraMessageDetail,pendingSwap:i}}));t({...e(),swapDetails:i}),E?.status==="failed"?o():E?.status==="success"||E?.status==="running"&&E.newTx?(r("SCHEDULE_NEXT_STEP"),n()):(await Ee(dt),a())}l(Zt,"checkTransactionStatus");async function en({getStorage:e,setStorage:t,next:n,schedule:r,retry:a,failed:o,context:c}){let i=e().swapDetails,{meta:p}=c,{getTransactionDataByHash:u,setTransactionDataByHash:s}=Se(),S=new Error("check approval status error"),d=A(i);if(!d){console.log("ignore check status, current step is null");return}let g=Q(d);if(!d?.executedTransactionId)return;let E=d.executedTransactionId,_=null;try{let T=Re(d),y=V(i,d);T&&y&&(_=(await c.getSigners(y.walletType)).getSigner(T))}catch{}try{let{response:T,receiptReceived:y}=u(E);if(_?.wait&&!y){let C=g?.blockChain&&p.blockchains?.[g?.blockChain]?.chainId||void 0,{hash:v,response:f}=await _.wait(E,C,T);if(v!==E){d.executedTransactionId=v||d.executedTransactionId;let k=B(i,d),R;!!Object.keys(p.blockchains).length&&(R=re(d.executedTransactionId,k.network,p.blockchains)),R&&d.explorerUrl&&d.explorerUrl?.length>=1&&(d.explorerUrl[d.explorerUrl.length-1]={url:R,description:"Replaced Approve"}),E=d.executedTransactionId,v&&f&&s(v,{response:f})}else s(v,{receiptReceived:!0})}}catch(T){let{extraMessage:y,extraMessageDetail:C,extraMessageErrorCode:v}=G(T),f=U({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:y,details:C,errorCode:v}),k=ee(i,y,f.failureType);return m({event:k,...f}),te(S,{tags:{type:"singer-error",reason:k.reason,reasonCode:k.reasonCode,message:y,messageDetail:C,pendingSwap:i},context:St.isSignerError(T)?T.getErrorContext():{}}),o()}let w=!1,x={requestId:i.requestId,txId:d.executedTransactionId};try{let T=await H().checkApproval(x.requestId,x.txId);if(d?.status==="failed")return;if(w=T.isApproved,!w&&(T.txStatus==="failed"||T.txStatus==="success")){let y,C;T.txStatus==="failed"?(y="Approve transaction failed",C="Smart contract approval tx failed in blockchain."):(y="Not enough approval",T.requiredApprovedAmount&&T.currentApprovedAmount?C=`Required approval: ${T.requiredApprovedAmount}, current approval: ${T.currentApprovedAmount}`:C="You still don't have enough approval for this swap.");let v=U({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",errorCode:"INSUFFICIENT_APPROVE",message:y,details:C}),f=ee(i,y,v.failureType);m({event:f,...v}),te(S,{tags:{type:"approval-failed",message:i.extraMessage,messageDetails:i.extraMessageDetail,pendingSwap:i}}),o()}else w||m({event:{type:"check_status"},swap:i,step:d})}catch{w=!1,te(S,{tags:{type:"request-error",requestBody:x,pendingSwap:i}})}w?(d.status="approved",i.extraMessage=`Spending ${d.fromSymbol} approved successfully.`,i.extraMessageDetail=null,i.extraMessageSeverity="success",d.evmApprovalTransaction=null,d.executedTransactionId=null,d.executedTransactionTime=null,d.starknetApprovalTransaction=null,d.tronApprovalTransaction=null,t({...e(),swapDetails:i}),m({event:{type:"approval_tx_succeeded"},swap:i,step:d}),r("SCHEDULE_NEXT_STEP"),n()):(await Ee(zt),a())}l(en,"checkApprovalStatus");async function gt(e){let t=e.getStorage().swapDetails,n=A(t);if(!n){console.log("ignore check status, current step is null",t.requestId);return}rt(e),n.status==="running"?await Zt(e):n.status==="waitingForApproval"&&await en(e)}l(gt,"checkStatus");import{warn as tn}from"@rango-dev/logging-core";async function Et(e){let{setStorage:t,getStorage:n,next:r,schedule:a}=e,o=n().swapDetails,c=A(o);if(!Q(c)){m({event:{type:"tx_execution",status:"create_tx"},swap:o,step:c});let p={requestId:o.requestId,step:c.id,userSettings:{slippage:o.settings.slippage,infiniteApprove:o.settings.infiniteApprove},validations:{balance:o.validateBalanceOrFee,fee:o.validateBalanceOrFee,approve:!0}};try{let{transaction:u}=await ut(H().createTransaction(p));u&&ge(c,u),t({...n(),swapDetails:o}),a("EXECUTE_TRANSACTION"),r()}catch(u){o.status="failed",o.finishTime=new Date().getTime().toString();let{extraMessage:s,extraMessageDetail:S}=G(u),d=U({getStorage:n,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:s,details:S,errorCode:"FETCH_TX_FAILED"}),g=ee(o,s,d.failureType);m({event:g,...d}),u instanceof Error&&tn(new Error("create transaction error"),{tags:{message:u.message,requestBody:p,reason:g.reason,reasonCode:g.reasonCode,pendingSwap:o}}),e.failed()}}}l(Et,"createTransaction");import{PendingSwapNetworkStatus as nn}from"rango-types";async function Tt(e){let{getStorage:t,context:n}=e,{meta:r,wallets:a,providers:o}=n,{claimedBy:c}=de(),i=n.claimedBy===n._queue?.id,p=l(w=>{e.block(w),i&&e.context.resetClaimedBy&&e.context.resetClaimedBy()},"requestBlock"),u=t().swapDetails,s=A(u);if(!Ie(u,n.state).ok){let{type:w,address:x}=W(u),T=a?.blockchains?.find(v=>!v.accounts?.find(f=>f.walletType===w)),y=he(a)||T?le(w):Le(w,x),C={reason:"waiting_for_connecting_wallet",description:y};p(C);return}let d=await tt(u,s,a,r,o);if(!!c()&&!i&&!d){let w=xe,x={reason:"depends_on_other_queues",details:w};p(x);return}else if(!d){let w=B(u,s),x=ce(w.network),T={reason:"waiting_for_network_change",details:x};p(T);return}if(Ne(e,{message:"",details:"The network has been successfully changed.",status:nn.NetworkChanged}),ct(s)&&!i){let w={reason:"depends_on_other_queues",description:xe,details:{}};p(w);return}await it(e)}l(Tt,"executeTransaction");function ft({schedule:e,next:t,failed:n,setStorage:r,getStorage:a}){let o=a().swapDetails,c=A(o),i=o.steps.find(p=>p.status==="failed");if(c&&!i){if(nt(o,c))return e("EXECUTE_TRANSACTION"),t();if(c?.executedTransactionId)return e("CHECK_TRANSACTION_STATUS"),t();o.status="running",r({...a(),swapDetails:o}),m({event:{type:"started"},swap:o,step:c}),e("CREATE_TRANSACTION"),t()}else{o.status=i?"failed":"success",o.finishTime=new Date().getTime().toString(),r({...a(),swapDetails:o});let p=L(o),u=X(o);m({...i?{event:{type:"failed",reason:o.extraMessage??void 0,reasonCode:"CALL_OR_SEND_FAILED",inputAmount:p,inputAmountUsd:u}}:{event:{type:"succeeded",inputAmount:p,inputAmountUsd:u,outputAmount:j(o.steps)?.outputAmount??"",outputAmountUsd:fe(o)}},swap:o,step:null}),i?n():t()}}l(ft,"scheduleNextStep");function mt({schedule:e,next:t,getStorage:n}){let r=n().swapDetails;m({event:{type:"started"},swap:r,step:null}),e("SCHEDULE_NEXT_STEP"),t()}l(mt,"start");var wt={name:"swap",actions:{START:mt,SCHEDULE_NEXT_STEP:ft,CREATE_TRANSACTION:Et,EXECUTE_TRANSACTION:Tt,CHECK_TRANSACTION_STATUS:gt},run:["START"],whenTaskBlocked:(e,t)=>{e.reason.reason==="waiting_for_connecting_wallet"?at(e,t):e.reason.reason==="waiting_for_network_change"?ot(e,t):e.reason.reason==="depends_on_other_queues"&&st(e,t)}};import{useManager as ln}from"@rango-dev/queue-manager-react";import{useEffect as Ue,useState as cn}from"react";import{DB_NAME as rn,Persistor as an,Status as oe}from"@rango-dev/queue-manager-core";import{v4 as on}from"uuid";var At="migratedToQueueManager";function De(){return!!window.localStorage.getItem(At)}l(De,"migrated");async function sn(){try{return(await window.indexedDB.databases()).map(e=>e.name).includes(rn)}catch{return!1}}l(sn,"hasQueueManagerOnIDB");async function yt(){let e=window.localStorage.getItem("pendingSwaps"),t=await sn();if(!e||De()||t)return!0;let n=JSON.parse(e),r=[];n.forEach(c=>{if(c.status==="running"){let i=on(),p={id:c.requestId,createdAt:Number(c.creationTime),name:"swap",status:oe.RUNNING,storage:{swapDetails:c},state:{status:oe.RUNNING,activeTaskIndex:0,tasks:{[i]:{blockedFor:null,status:oe.RUNNING}}},tasks:[{id:i,action:"SCHEDULE_NEXT_STEP"}]};r.push(p)}else{let i=c.status==="success"?oe.SUCCESS:oe.FAILED,p={id:c.requestId,createdAt:Number(c.creationTime),name:"swap",status:i,storage:{swapDetails:c},state:{status:i,activeTaskIndex:0,tasks:{}},tasks:[]};r.push(p)}});let a=new an,o=r.map(async c=>a.insertQueue(c));return await Promise.all(o),window.localStorage.setItem(At,"1"),!0}l(yt,"migration");var xt=0;function un(e){return`${e?.walletType}-${e?.network}-${e?.accounts?.toString()}`}l(un,"getLastConnectedWalletHash");function pn(){let e=De(),[t,n]=cn(e);return Ue(()=>{(async()=>xt||(xt=1,yt().finally(()=>{n(!0)})))()},[]),{status:t}}l(pn,"useMigration");function dn(e){let{manager:t}=ln(),{lastConnectedWallet:n,disconnectedWallet:r,evmChains:a,canSwitchNetworkTo:o,clearDisconnectedWallet:c}=e;Ue(()=>{n&&(lt({evmChains:a,lastConnectedWallet:n,manager:t}),Oe(n,t,o))},[un(n)]),Ue(()=>{r&&(Pe(t),c())},[r])}l(dn,"useQueueManager");function ia(e){return be(e),wt}l(ia,"makeQueueDefinition");export{ye as EventSeverity,pe as MessageSeverity,D as PrettyError,Ae as RouteEventType,q as StepEventType,ie as StepExecutionBlockedEventStatus,ne as StepExecutionEventStatus,we as WidgetEvents,Ut as calculatePendingSwap,Jt as cancelSwap,Pe as checkWaitingForNetworkChange,M as getCurrentNamespaceOfOrNull,A as getCurrentStep,j as getLastSuccessfulStep,V as getRelatedWallet,Ce as getRelatedWalletOrNull,W as getRequiredWallet,Vt as getRunningSwaps,Ve as getUsdPrice,jt as isApprovalTX,ia as makeQueueDefinition,G as prettifyErrorMessage,Yt as resetRunningSwapNotifsOnPageLoad,U as updateSwapStatus,pn as useMigration,dn as useQueueManager};
1
+ var vt=Object.defineProperty;var l=(e,t)=>vt(e,"name",{value:t,configurable:!0});var Rt="c6381a79-2817-4602-83bf-6a641a409e32",we={API_KEY:Rt,BASE_URL:""};function J(e){return we[e]}l(J,"getConfig");function Fe(e){return we=e,we}l(Fe,"initConfig");var Ae=(n=>(n.RouteEvent="routeEvent",n.StepEvent="stepEvent",n))(Ae||{}),ye=(r=>(r.STARTED="started",r.FAILED="failed",r.SUCCEEDED="succeeded",r))(ye||{}),ne=(r=>(r.CREATE_TX="create_tx",r.SEND_TX="send_tx",r.TX_SENT="tx_sent",r))(ne||{}),ie=(a=>(a.WAITING_FOR_QUEUE="waiting_for_queue",a.WAITING_FOR_WALLET_CONNECT="waiting_for_wallet_connect",a.WAITING_FOR_NETWORK_CHANGE="waiting_for_network_change",a.WAITING_FOR_CHANGE_WALLET_ACCOUNT="waiting_for_change_wallet_account",a))(ie||{}),q=(p=>(p.STARTED="started",p.FAILED="failed",p.SUCCEEDED="succeeded",p.TX_EXECUTION="tx_execution",p.TX_EXECUTION_BLOCKED="tx_execution_blocked",p.APPROVAL_TX_SUCCEEDED="approval_tx_succeeded",p.CHECK_STATUS="check_status",p.OUTPUT_REVEALED="output_revealed",p))(q||{}),xe=(a=>(a.ERROR="error",a.SUCCESS="success",a.WARNING="warning",a.INFO="info",a))(xe||{});import{warn as te}from"@rango-dev/logging-core";import{SignerError as Et}from"rango-types";import{warn as Lt}from"@rango-dev/logging-core";import{Status as Re}from"@rango-dev/queue-manager-core";import{legacyReadAccountAddress as Bt}from"@rango-dev/wallets-core/legacy";import{getBlockChainNameFromId as Qt,getEvmProvider as Xt}from"@rango-dev/wallets-shared";import qt from"bignumber.js";import{PendingSwapNetworkStatus as z,SignerError as Ht,TransactionType as I}from"rango-types";var Ce="Waiting for other swaps to complete",Le="Waiting for connecting wallet",Be=l((e,t)=>`Please change your ${e||"wallet"} account to ${t||"proper address"}`,"ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION_WRONG_WALLET"),le=l(e=>`Please connect your ${e??""} wallet.`,"ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION"),ce=l(e=>`Please change your network to ${e}.`,"ERROR_MESSAGE_WAIT_FOR_CHANGE_NETWORK"),O="CLIENT_UNEXPECTED_BEHAVIOUR";import{RangoClient as ht}from"rango-sdk";var ue,H=l(()=>ue||(ue=new ht(J("API_KEY"),J("BASE_URL")),ue),"httpService");import Ge from"bignumber.js";import Qe from"bignumber.js";var Xe=l((e,t=null,n=null)=>{if(e===null||e==="")return"";let r=new Qe(e),a=1,o=1e3;for(let c=0;c<60;c++)if(new Qe(r.toFixed(c,a)).eq(r)){o=c;break}if(r.gte(1e4))return r.toFormat(0,a);if(r.gte(1e3)||r.gte(100))return r.toFormat(Math.min(o,Math.min(n||100,Math.max(t||0,1))),a);if(r.gte(1))return r.toFormat(Math.min(o,Math.min(n||100,Math.max(t||0,2))),a);if(r.gte(.01))return r.toFormat(Math.min(o,Math.min(n||100,Math.max(t||0,4))),a);for(let c=t||4;c<17;c++)if(r.gte(Math.pow(10,-c)))return r.toFormat(Math.min(o,Math.min(n||100,Math.max(t||0,c))),a);return r.isEqualTo(0)?"0":r.toFormat(Math.min(o,Math.min(n||100,Math.max(t||0,8))),a)},"numberToString");import{SignerErrorCode as $,SignerError as Nt,isSignerErrorCode as It,isAPIErrorCode as Pt}from"rango-types";var Ot="Assertion failed (Unexpected behaviour)",Dt="Create transaction failed in Rango Server",qe="Input wallet not found",D=class e extends Error{constructor(n,r,a,o){super(r);this._isPrettyError=!0;Object.setPrototypeOf(this,e.prototype),e.prototype._isPrettyError=!0,this.code=n,this.detail=o,this.root=a}static{l(this,"PrettyError")}static isPrettyError(n){return n instanceof e||Object.prototype.hasOwnProperty.call(n,"_isPrettyError")}getErrorDetail(){let n=typeof this.root=="object"&&this.root&&this.root.error?this.root.error:JSON.stringify(this.root),r=typeof this.root=="string"?this.root:this.root instanceof Error?this.root.message:n;return{extraMessage:this.message,extraMessageDetail:this.detail||r,extraMessageErrorCode:this.code||null}}static AssertionFailed(n){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",Ot,null,n)}static BadStatusCode(n,r){return new e("TX_FAIL",n,null,`status code = ${r}`)}static CreateTransaction(n){return new e("FETCH_TX_FAILED",Dt,null,n)}static WalletMissing(){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",qe,null,"Server requested for a blockchain or address not selected by user")}static BlockchainMissing(){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",qe,null,"Server requested for a blockchain or address not selected by user")}};function He(e){try{return e?Pt(e)?e:It(e)?{[$.REJECTED_BY_USER]:"USER_REJECT",[$.SIGN_TX_ERROR]:"CALL_WALLET_FAILED",[$.SEND_TX_ERROR]:"SEND_TX_FAILED",[$.TX_FAILED_IN_BLOCKCHAIN]:"TX_FAILED_IN_BLOCKCHAIN",[$.NOT_IMPLEMENTED]:O,[$.OPERATION_UNSUPPORTED]:O,[$.UNEXPECTED_BEHAVIOUR]:O}[e]:O:O}catch{return O}}l(He,"mapAppErrorCodesToAPIErrorCode");var G=l(e=>{if(!e)return{extraMessage:"",extraMessageErrorCode:null};if(D.isPrettyError(e))return e.getErrorDetail();if(Nt.isSignerError(e)){let t=e.getErrorDetail();return{extraMessage:t.message,extraMessageDetail:t.detail,extraMessageErrorCode:t.code}}return e instanceof Error?{extraMessage:e.toString(),extraMessageErrorCode:null}:typeof e!="string"?{extraMessage:JSON.stringify(e),extraMessageErrorCode:null}:{extraMessage:e,extraMessageErrorCode:null}},"prettifyErrorMessage");var pe=(a=>(a.error="error",a.warning="warning",a.info="info",a.success="success",a))(pe||{}),M=l((e,t)=>{try{return B(e,t)}catch{return null}},"getCurrentNamespaceOfOrNull"),B=l((e,t)=>{let n=t.evmTransaction?.blockChain||t.evmApprovalTransaction?.blockChain,r=t.starknetTransaction?.blockChain||t.starknetApprovalTransaction?.blockChain,a=t.tronTransaction?.blockChain||t.tronApprovalTransaction?.blockChain,o=t.cosmosTransaction?.blockChain,c=t.solanaTransaction?.blockChain,i=t.tonTransaction?.blockChain,p=t.suiTransaction?.blockChain;if(n)return{namespace:"EVM",network:n};if(r)return{namespace:"Starknet",network:r};if(a)return{namespace:"Tron",network:a};if(o)return{namespace:"Cosmos",network:o};if(c)return{namespace:"Solana",network:c};if(i)return{namespace:"Ton",network:i};if(p)return{namespace:"Sui",network:p};if(t.transferTransaction){let u=t.transferTransaction.fromWalletAddress;if(!u)throw D.BlockchainMissing();let s=Object.keys(e.wallets).find(S=>e.wallets[S]?.address===u);if(!s)throw D.BlockchainMissing();return{namespace:"UTXO",network:s}}throw new Error("Unsupported transaction type has been included in your swap.",{cause:t})},"getCurrentNamespaceOf"),re=l((e,t,n)=>{let a=n[t].info?.transactionUrl;if(a)return a.indexOf("/{txHash}")!==-1?a.replace("{txHash}",e):`${a}/${e}`},"getScannerUrl");function $e(e,t){return e.steps.find(n=>n.status!=="failed"&&n.status!=="success"&&n.id!==t.id)||null}l($e,"getNextStep");var Ve=l((e,t)=>{let n=e.wallets[t.evmTransaction?.blockChain||""]||e.wallets[t.evmApprovalTransaction?.blockChain||""]||e.wallets[t.tronTransaction?.blockChain||""]||e.wallets[t.tronApprovalTransaction?.blockChain||""]||e.wallets[t.starknetTransaction?.blockChain||""]||e.wallets[t.starknetApprovalTransaction?.blockChain||""]||e.wallets[t.cosmosTransaction?.blockChain||""]||e.wallets[t.solanaTransaction?.blockChain||""]||e.wallets[t.tonTransaction?.blockChain||""]||e.wallets[t.suiTransaction?.blockChain||""]||(t.transferTransaction?.fromWalletAddress?{address:t.transferTransaction.fromWalletAddress,walletType:Object.values(e.wallets).find(r=>r.address===t.transferTransaction?.fromWalletAddress)?.walletType}:null)||null;if(n==null)throw D.WalletMissing();return n},"getCurrentWalletTypeAndAddress"),Ye=l((e,t)=>Ve(e,t).address,"getCurrentAddressOf");function V(e,t){let{address:n,walletType:r}=Ve(e,t),a=Object.keys(e.wallets).map(p=>({k:p,v:e.wallets[p]})).find(({v:p})=>p.address===n&&p.walletType===r)||null,o=a?.k||null,c=a?.v||null,i=c?.walletType;if(c===null)throw D.AssertionFailed(`Wallet for source ${o} not passed: walletType: ${i}`);return c}l(V,"getRelatedWallet");function ke(e,t){if(!t)return null;try{return V(e,t)}catch{return null}}l(ke,"getRelatedWalletOrNull");var Je=l((e,t,n,r)=>r?.find(o=>o.blockchain===e&&o.symbol?.toUpperCase()===t?.toUpperCase()&&o.address===n)?.usdPrice||null,"getUsdPrice");function Ut(e,t){let n=new Ge(0);for(let r=0;r<e.fee.length;r++){let a=e.fee[r];if(a.expenseType==="DECREASE_FROM_OUTPUT")continue;let o=Je(a.asset.blockchain,a.asset.symbol,a.asset.address,t);n=n.plus(new Ge(a.amount).multipliedBy(o||0))}return n}l(Ut,"getUsdFeeOfStep");function Ke(e,t){return{fromBlockchain:e.from.blockchain,fromBlockchainLogo:e.from.blockchainLogo,fromLogo:e.from.logo,fromSymbol:e.from.symbol,fromSymbolAddress:e.from.address,fromDecimals:e.from.decimals,fromAmountPrecision:e.fromAmountPrecision,fromAmountMinValue:e.fromAmountMinValue,fromAmountMaxValue:e.fromAmountMaxValue,fromAmountRestrictionType:e.fromAmountRestrictionType,fromUsdPrice:e.from.usdPrice,toBlockchain:e.to.blockchain,toBlockchainLogo:e.to.blockchainLogo,toSymbol:e.to.symbol,toSymbolAddress:e.to.address,toDecimals:e.to.decimals,toLogo:e.to.logo,toUsdPrice:e.to.usdPrice,swapperId:e.swapperId,swapperLogo:e.swapperLogo,swapperType:e.swapperType,expectedOutputAmountHumanReadable:e.toAmount,feeInUsd:t?Xe(Ut(e,t?.tokens),null,8):null,estimatedTimeInSeconds:e.estimatedTimeInSeconds||null,internalSteps:null}}l(Ke,"mapSwapStepToPendingSwapStep");function Wt(e,t,n,r,a,o){let c=t.result;if(!c)throw Error("Simulation result should not be null");return{creationTime:new Date().getTime().toString(),finishTime:null,requestId:t.requestId||"",inputAmount:e,wallets:n,status:"running",isPaused:!1,extraMessage:null,extraMessageSeverity:null,extraMessageDetail:null,extraMessageErrorCode:null,networkStatusExtraMessage:null,networkStatusExtraMessageDetail:null,lastNotificationTime:null,settings:r,simulationResult:c,validateBalanceOrFee:a,steps:t.result?.swaps?.map((i,p)=>{let u=Ke(i,o);return{id:p+1,...u,internalSwaps:i?.internalSwaps?.map(s=>Ke(s,o))||null,outputAmount:"",status:"created",networkStatus:null,startTransactionTime:new Date().getTime(),externalTransactionId:null,executedTransactionId:null,executedTransactionTime:null,explorerUrl:null,diagnosisUrl:null,trackingCode:null,internalSteps:null,evmTransaction:null,evmApprovalTransaction:null,starknetTransaction:null,starknetApprovalTransaction:null,tronTransaction:null,tronApprovalTransaction:null,cosmosTransaction:null,solanaTransaction:null,transferTransaction:null,tonTransaction:null,suiTransaction:null,xrplTransaction:null,hasAlreadyProceededToSign:!1}})||[]}}l(Wt,"calculatePendingSwap");function je(e){return e.map(t=>{let{diagnosisUrl:n,estimatedTimeInSeconds:r,explorerUrl:a,feeInUsd:o,executedTransactionId:c,executedTransactionTime:i,expectedOutputAmountHumanReadable:p,fromBlockchain:u,toBlockchain:s,fromSymbol:S,toSymbol:d,fromSymbolAddress:g,toSymbolAddress:E,swapperType:_,swapperId:w,outputAmount:x,fromAmountMaxValue:T,fromAmountMinValue:y,fromAmountPrecision:C,fromAmountRestrictionType:v,fromDecimals:f,status:k}=t;return{diagnosisUrl:n,estimatedTimeInSeconds:r,explorerUrl:a,feeInUsd:o,executedTransactionId:c,executedTransactionTime:i,expectedOutputAmountHumanReadable:p,fromBlockchain:u,toBlockchain:s,fromSymbol:S,toSymbol:d,fromSymbolAddress:g,toSymbolAddress:E,swapperName:w,swapperType:_,outputAmount:x,fromAmountMaxValue:T,fromAmountMinValue:y,fromAmountPrecision:C,fromAmountRestrictionType:v,fromDecimals:f,status:k,transaction:Q(t)}})}l(je,"createSteps");function bt(e,t,n){let{creationTime:r,finishTime:a,requestId:o,inputAmount:c,status:i,wallets:p,steps:u,settings:s}=e,S=je(u),g={route:{creationTime:r,finishTime:a,requestId:o,inputAmount:c,status:i,wallets:p,steps:S,slippage:s.slippage,infiniteApproval:s.infiniteApprove},step:S[S.length-1]};if(n)g.step=je([n])[0];else if(t==="failed"){let E=ze(S);E&&(g.step=E)}else{let E=j(S);E&&(g.step=E)}return g}l(bt,"getEventPayload");function Mt(e,t,n){let r,{type:a}=e;switch(a){case"started":r={...e,type:"started"};break;case"failed":r={...e,type:"failed",inputAmount:n.inputAmount,inputAmountUsd:_e(n)};break;case"succeeded":{r={...e,type:"succeeded",inputAmount:n.inputAmount,inputAmountUsd:_e(n),outputAmount:n.steps[n.steps.length-1].outputAmount??"",outputAmountUsd:Ze(n)};break}default:break}r&&J("emitter")?.emit("routeEvent",{event:r,route:t})}l(Mt,"emitRouteEvent");function Ft(e,t,n){J("emitter")?.emit("stepEvent",{event:e,route:t,step:n})}l(Ft,"emitStepEvent");function m(e){let{event:t}=e,{type:n}=t,{route:r,step:a}=bt(e.swap,n,e.step??void 0),o=`${a.fromBlockchain}.${a.fromSymbol}`,c=`${a.toBlockchain}.${a.toSymbol}`,i=a.outputAmount??"",p=e.step?M(e.swap,e.step):null,u="",s="info";switch(n){case"started":u="Swap process started",s="success";break;case"succeeded":u=`You received ${i} ${c}, hooray!`,s="success";break;case"failed":u=`Swap failed: ${e.swap?.extraMessage??"Reason is unknown"}`,s="error";break;case"tx_execution":t.status==="create_tx"?(u="Please wait while the transaction is created ...",s="info"):t.status==="send_tx"?(e.step&&ae(e.step)?u=`Please confirm '${a.swapperName}' smart contract access to ${o}`:u="Please confirm transaction request in your wallet",s="warning"):t.status==="tx_sent"&&(u="Transaction sent successfully",s="info");break;case"check_status":e.step&&ae(e.step)?u="Checking approve transaction status ...":u="Checking transaction status ...",s="info";break;case"approval_tx_succeeded":u="Smart contract called successfully",s="success";break;case"output_revealed":u="Transaction output amount revealed",s="success";break;case"tx_execution_blocked":t.status==="waiting_for_wallet_connect"?(u="Please connect your wallet.",s="warning"):t.status==="waiting_for_queue"?(u="Waiting for other swaps to complete",s="warning"):t.status==="waiting_for_change_wallet_account"?(u="Please change your wallet account.",s="warning"):t.status==="waiting_for_network_change"&&(u=`Please change your wallet network to ${p?.network}.`,s="warning");break;default:break}e.step&&Ft({...t,message:u,messageSeverity:s},r,a),(e.event.type==="failed"||!e.step)&&Mt({...t,message:u,messageSeverity:s},r,e.swap)}l(m,"notifier");var ve=null;function de(){return{claimedBy:()=>ve?.id,setClaimer:e=>{ve={id:e}},reset:()=>{ve=null}}}l(de,"claimQueue");var Y={};function Se(){return{getTransactionDataByHash:e=>Y[e]||{},setTransactionDataByHash:(e,t)=>{Y[e]||(Y[e]={}),Y[e].response=t.response||Y[e].response,Y[e].receiptReceived=t.receiptReceived||Y[e].receiptReceived||!1}}}l(Se,"inMemoryTransactionsData");var A=l(e=>e.steps.find(t=>t.status!=="failed"&&t.status!=="success")||null,"getCurrentStep"),Q=l(e=>{let{evmTransaction:t,evmApprovalTransaction:n,cosmosTransaction:r,solanaTransaction:a,transferTransaction:o,starknetApprovalTransaction:c,starknetTransaction:i,tronApprovalTransaction:p,tronTransaction:u,tonTransaction:s,suiTransaction:S}=e;return t||n||r||a||o||c||i||p||u||s||S},"getCurrentStepTx"),ge=l((e,t)=>{e.transferTransaction=null,e.cosmosTransaction=null,e.evmTransaction=null,e.solanaTransaction=null,e.evmApprovalTransaction=null,e.starknetApprovalTransaction=null,e.starknetTransaction=null,e.tronApprovalTransaction=null,e.tronTransaction=null,e.tonTransaction=null,e.suiTransaction=null;let n=t.type;switch(n){case I.EVM:t.isApprovalTx?e.evmApprovalTransaction=t:e.evmTransaction=t;break;case I.TRON:t.isApprovalTx?e.tronApprovalTransaction=t:e.tronTransaction=t;break;case I.STARKNET:t.isApprovalTx?e.starknetApprovalTransaction=t:e.starknetTransaction=t;break;case I.COSMOS:e.cosmosTransaction=t;break;case I.SOLANA:e.solanaTransaction=t;break;case I.TRANSFER:e.transferTransaction=t;break;case I.TON:e.tonTransaction=t;break;case I.SUI:e.suiTransaction=t;break;case I.XRPL:e.xrplTransaction=t;break;default:(r=>{throw new Error(`${r} was unhandled!`)})(n)}return e},"setCurrentStepTx"),he=l(e=>Q(e)?.type,"getCurrentStepTxType"),ae=l(e=>{let{evmApprovalTransaction:t,starknetApprovalTransaction:n,tronApprovalTransaction:r}=e;return!!(t||n||r)},"isApprovalCurrentStepTx");function U({getStorage:e,setStorage:t,nextStatus:n,nextStepStatus:r,message:a,details:o,errorCode:c=null,hasAlreadyProceededToSign:i,trace:p=null}){let u=e().swapDetails,s=A(u),S={swap:u,step:s};if(r&&s&&(s.status=r),n&&(u.status=n),u.hasAlreadyProceededToSign=i,n&&["failed","success"].includes(n)&&(u.finishTime=new Date().getTime().toString()),(a||o)&&(u.extraMessage=a||"",u.extraMessageDetail=o||""),r&&["failed"].includes(r)){let d=o&&o.includes("Warning")?"Swap canceled by user.":o,g=ke(u,s)?.walletType;u.extraMessageSeverity="error";let E=He(c);S.failureType=E;let _=c!=="REJECTED_BY_USER"&&p?.message&&typeof p.message=="string"?p.message:d||"";H().reportFailure({requestId:u.requestId,step:s?.id||1,eventType:E,reason:_,tags:g?{wallet:g}:void 0}).then().catch()}else r&&["running"].includes(r)?u.extraMessageSeverity="info":r&&["success","approved"].includes(r)?u.extraMessageSeverity="success":r&&["waitingForApproval"].includes(r)&&(u.extraMessageSeverity="warning");return r==="running"&&s&&(s.startTransactionTime=new Date().getTime()),t({...e(),swapDetails:u}),S}l(U,"updateSwapStatus");function Gt({getStorage:e,setStorage:t},n,r){let a=e().swapDetails;a.hasAlreadyProceededToSign=null;let o=A(a);o.executedTransactionId=n,o.executedTransactionTime=new Date().getTime().toString(),r?.url&&(o.explorerUrl=[...o.explorerUrl||[],{url:r.url,description:r.description||null}]),ae(o)?a.extraMessage="Checking approve transaction status ...":a.extraMessage="Checking transaction status ...",a.extraMessageDetail="",a.extraMessageSeverity="info",t({...e(),swapDetails:a}),m({event:{type:"tx_execution",status:"tx_sent"},swap:a,step:o}),m({event:{type:"check_status"},swap:a,step:o})}l(Gt,"setStepTransactionIds");function Kt({getStorage:e,setStorage:t},n,r){let a=e().swapDetails,o=A(a);if(!o)return;let c=new Date;a.lastNotificationTime=c.getTime().toString(),!(o.networkStatus===z.WaitingForConnectingWallet&&a.networkStatusExtraMessage===n&&a.networkStatusExtraMessageDetail===r)&&(o.networkStatus=z.WaitingForConnectingWallet,a.networkStatusExtraMessage=n,a.networkStatusExtraMessageDetail=r,t({...e(),swapDetails:a}))}l(Kt,"markRunningSwapAsWaitingForConnectingWallet");function tt({getStorage:e,setStorage:t}){let n=e().swapDetails,r=A(n);if(!r)return;let{type:a}=W(n),o=B(n,r),c=`Change ${a} wallet network to ${o.network}`,i=`We\u2019re switching the connected network to ${o.network}. Please check your wallet.`,p=new Date;return n.lastNotificationTime=p.getTime().toString(),r.networkStatus=z.WaitingForNetworkChange,n.networkStatusExtraMessage=c,n.networkStatusExtraMessageDetail=i,t({...e(),swapDetails:n}),{swap:n,step:r}}l(tt,"markRunningSwapAsSwitchingNetwork");function nt({getStorage:e,setStorage:t}){let n=e().swapDetails,r=A(n);if(r)return n.networkStatusExtraMessage="",n.networkStatusExtraMessageDetail="",r.networkStatus=z.WaitingForQueue,m({event:{type:"tx_execution_blocked",status:"waiting_for_queue"},swap:n,step:r}),t({...e(),swapDetails:n}),{swap:n,step:r}}l(nt,"markRunningSwapAsDependsOnOtherQueues");async function Ee(e){return new Promise(t=>setTimeout(t,e))}l(Ee,"delay");var $t=l((e,t)=>e.wallets[t]?.walletType,"getSwapWalletType");function Ne(e){return e===null||e?.blockchains===null||e?.blockchains.length===0}l(Ne,"isWalletNull");function W(e){let t=A(e),n=M(e,t);if(!n)return{type:null,namespace:null,address:null};let r=$t(e,n.network),a=e.wallets[n.network];return{type:r||null,namespace:n,address:a?a.address:null}}l(W,"getRequiredWallet");async function Vt(e){try{return await e.request({method:"eth_chainId"})||e?.chainId}catch{return e?.chainId}}l(Vt,"getChainId");async function rt(e,t,n,r,a){if(Ne(n))return!1;let o=M(e,t);if(!o)return!1;if(r.evmBasedChains.find(c=>c.name===o.network)){try{let c=e.wallets[o.network];if(c){let i=Xt(a,c.walletType),p=await Vt(i);if(p){let u=Qt(p,Object.entries(r.blockchains).map(([,s])=>s));if(u&&u.toLowerCase()===o.network.toLowerCase())return!0;if(u&&u.toLowerCase()!==o.network.toLowerCase())return!1}}}catch(c){console.log(c)}return!1}return!0}l(rt,"isNetworkMatchedForTransaction");var at=l((e,t)=>(e.wallets[t.evmTransaction?.blockChain||""]||e.wallets[t.evmApprovalTransaction?.blockChain||""]||e.wallets[t.tronTransaction?.blockChain||""]||e.wallets[t.tronApprovalTransaction?.blockChain||""]||e.wallets[t.starknetTransaction?.blockChain||""]||e.wallets[t.starknetApprovalTransaction?.blockChain||""]||e.wallets[t.cosmosTransaction?.blockChain||""]||e.wallets[t.solanaTransaction?.blockChain||""]||e.wallets[t.tonTransaction?.blockChain||""]||e.wallets[t.suiTransaction?.blockChain||""]||t.transferTransaction?.fromWalletAddress||null)!==null,"isTxAlreadyCreated");function ot(e){let{getStorage:t,setStorage:n}=e,r=t().swapDetails,a=A(r);a?.networkStatus&&(a.networkStatus=null,n({...t(),swapDetails:r}))}l(ot,"resetNetworkStatus");function Ie(e,t={message:"",details:"",status:null}){let{message:n,details:r,status:a}=t,{getStorage:o,setStorage:c}=e,i=o().swapDetails,p=A(i);p?.networkStatus&&(i.networkStatusExtraMessage=n,i.networkStatusExtraMessageDetail=r,p.networkStatus=a,c({...o(),swapDetails:i}))}l(Ie,"updateNetworkStatus");function st(e,t){let{context:n,queue:r}=t,a=r.getStorage().swapDetails,{ok:o,reason:c}=Pe(a,n.state);if(!o){let i=A(a),{type:p,address:u}=W(a);m({event:{type:"tx_execution_blocked",...c==="account_miss_match"?{status:"waiting_for_change_wallet_account",requiredAccount:u??void 0}:{status:"waiting_for_wallet_connect",requiredWallet:p??void 0,requiredAccount:u??void 0}},swap:a,step:i}),Kt({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)},Le,e.reason.description);return}r.unblock()}l(st,"onBlockForConnectWallet");function it(e,t){let{context:n,queue:r}=t,a=r.getStorage().swapDetails,o=A(a);if(!o||a.status!=="running")return;let c=tt({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)}),i=M(a,o)?.network,p=W(a).type,u=p?n.state(p).network:void 0;c&&m({event:{type:"tx_execution_blocked",status:"waiting_for_network_change",requiredNetwork:i??void 0,currentNetwork:u??void 0},swap:c.swap,step:c.step});let{type:s,namespace:S}=W(a);if(s&&S?.network&&n.canSwitchNetworkTo(s,S.network,S)){let d=n.switchNetwork(s,S);d&&d.then(()=>{r.unblock()}).catch(g=>{Ie({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)},{message:g.message,details:g.message,status:z.NetworkChangeFailed})})}}l(it,"onBlockForChangeNetwork");function lt(e,t){let{getBlockedTasks:n,forceExecute:r,queue:a,manager:o,context:c}=t,{setClaimer:i,claimedBy:p,reset:u}=de(),s=n().filter(T=>T.reason.reason==="depends_on_other_queues");if(s.length===0)return;let S=p(),d=!!S;if(S===a.id)return;if(d){nt({getStorage:a.getStorage.bind(a),setStorage:a.setStorage.bind(a)});return}let g=s.find(T=>T.queue_id===t.queue_id);g||(g=s[0]),i(g.queue_id);let E=g.storage.get(),{type:_,namespace:w,address:x}=W(E.swapDetails);r(g.queue_id,{claimedBy:p(),resetClaimedBy:()=>{u(),_&&De({walletType:_,network:w?.network,accounts:x?[x]:[]},o,c.canSwitchNetworkTo)}})}l(lt,"onDependsOnOtherQueues");function Pe(e,t){let{type:n,address:r}=W(e);if(!n||!r)return{ok:!1,reason:"not_connected"};let a=t(n),{accounts:o,connected:c}=a,i=o||[];return c?{ok:i.some(u=>{let{address:s}=Bt(u);return r.toLocaleLowerCase()===s.toLocaleLowerCase()}),reason:"account_miss_match"}:{ok:!1,reason:"not_connected"}}l(Pe,"isRequiredWalletConnected");async function ct(e){let{setTransactionDataByHash:t}=Se(),{getStorage:n,setStorage:r,failed:a,next:o,schedule:c,context:i}=e,{meta:p,getSigners:u,isMobileWallet:s}=i,S=n().swapDetails,d=A(S),g=V(S,d),E=s(g?.walletType),_=Ye(S,d),w=B(S,d),x=l(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),T=Q(d),y=T?.type,C=ae(d);if(!T||!y){let N="Unexpected Error: tx is null!",b=U({getStorage:n,setStorage:r,nextStatus:"failed",nextStepStatus:"failed",message:N,details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"});return m({event:{type:"failed",reason:N,reasonCode:"CLIENT_UNEXPECTED_BEHAVIOUR",inputAmount:F(S),inputAmountUsd:X(S)},...b}),a(),x()}let v=p.blockchains?.[T.blockChain]?.chainId,f=typeof S.hasAlreadyProceededToSign=="boolean",k,R,h,L,P;C?(h=`Waiting for approval of ${d?.fromSymbol} coin ${E?"on your mobile phone!":""}`,L="Waiting for approve transaction to be mined and confirmed successfully",R="waitingForApproval",k=void 0,P="tx_execution"):f?(h="Transaction is expired. Please try again.",R="failed",k="failed",L="",P="failed"):(h="Executing transaction ...",R="running",k="running",L=`${E?"Check your mobile phone!":""}`,P="tx_execution");let K=U({getStorage:n,setStorage:r,nextStepStatus:R,nextStatus:k,message:h,details:L,hasAlreadyProceededToSign:C?void 0:f,errorCode:f?"TX_EXPIRED":void 0});if(P==="failed"?m({event:{type:P,reason:h,reasonCode:K.failureType??O,inputAmount:F(S),inputAmountUsd:X(S)},...K}):m({event:{type:P,status:"send_tx"},...K}),f){a(),x();return}let me=l(N=>{if(S.status==="failed")return;let{extraMessage:b,extraMessageDetail:se,extraMessageErrorCode:_t}=G(N);Lt(N,{tags:{requestId:S.requestId,rpc:!0,swapper:d?.swapperId||"",walletType:g?.walletType||""},context:Ht.isSignerError(N)?N.getErrorContext():{}});let Me=U({getStorage:n,setStorage:r,nextStatus:"failed",nextStepStatus:"failed",message:b,details:se,errorCode:_t,trace:N?.cause});m({event:{type:"failed",reason:b,reasonCode:Me.failureType??O,inputAmount:F(S),inputAmountUsd:X(S)},...Me}),a(),x()},"handleSignError"),be;try{be=await u(g.walletType)}catch(N){me(N);return}be.getSigner(y).signAndSendTx(T,_,v).then(({hash:N,response:b})=>{let se=re(N,w.network,p.blockchains);Gt(e,N,se&&(!b||b&&!b.hashRequiringUpdate)?{url:se,description:C?"Approve":"Swap"}:void 0),b&&t(N,{response:b}),c("CHECK_TRANSACTION_STATUS"),o(),x()},me)}l(ct,"signTransaction");function ut(e){let{lastConnectedWallet:t,evmChains:n,manager:r}=e,{walletType:a,network:o}=t;n.some(c=>c.name==o)&&r?.getAll().forEach(c=>{let i=c.list.getStorage(),p=i?.swapDetails;if(p&&p.status==="running"){let u=A(p);if(u){let s=i?.swapDetails.wallets[u.fromBlockchain]?.walletType,S=Object.keys(c.list.state.tasks).some(g=>{let E=c.list.state.tasks[g];return E.status===Re.BLOCKED&&["waiting_for_connecting_wallet"].includes(E.blockedFor?.reason)}),d=M(p,u)?.network;if(!n.some(g=>g.name==d))return;if(s===a&&S&&d!=o){let g=c.list,{type:E}=W(p),_=ce(E);c.list.block({reason:{reason:"waiting_for_network_change",description:_},silent:!0});let w=tt({getStorage:g.getStorage.bind(g),setStorage:g.setStorage.bind(g)});w&&m({event:{type:"tx_execution_blocked",status:"waiting_for_network_change",currentNetwork:o,requiredNetwork:d??void 0},swap:w.swap,step:w.step})}}}})}l(ut,"checkWaitingForConnectWalletChange");function Oe(e){e?.getAll().forEach(t=>{if(Object.keys(t.list.state.tasks).some(r=>{let a=t.list.state.tasks[r];return a.status===Re.BLOCKED&&["waiting_for_network_change","depends_on_other_queues"].includes(a.blockedFor?.reason)})){let r=t.list.getStorage()?.swapDetails;if(r.status==="running"){let{type:a}=W(r),o=le(a);t.list.block({reason:{reason:"waiting_for_connecting_wallet",description:o}})}}})}l(Oe,"checkWaitingForNetworkChange");function Yt(e){let t=e?.getAll()||new Map,n=[];return t.forEach(r=>{let o=r.list.getStorage()?.swapDetails;!o||o.status!=="running"||n.push(o)}),n}l(Yt,"getRunningSwaps");function Jt(e){e.forEach(t=>{let n=A(t),r="tx_execution_blocked",a;n?.networkStatus===z.WaitingForQueue?a="waiting_for_queue":t?.status==="running"&&(a="waiting_for_wallet_connect"),r&&m&&m({event:{type:r,status:a??"waiting_for_queue"},swap:t,step:n})})}l(Jt,"resetRunningSwapNotifsOnPageLoad");function De(e,t,n,r={fallbackToOnlyWallet:!0}){let{walletType:a,network:o}=e;if(!a)return;let c=[],i=[];t?.getAll().forEach(u=>{if(u.status===Re.BLOCKED){let s=u.list.getStorage(),S=s?.swapDetails;if(S&&S.status==="running"){let d=A(S);d&&(o&&M(S,d)?.network==o&&s?.swapDetails.wallets[o]?.walletType===a?c.push(u.list):s?.swapDetails.wallets[d.fromBlockchain]?.walletType===a&&i.push(u.list))}}});let p;if(c.length>0){if(p=c[0],c.length>1)for(let u=1;u<c.length;u++){let s=c[u];nt({getStorage:s.getStorage.bind(s),setStorage:s.setStorage.bind(s)})}}else i.length>0&&r.fallbackToOnlyWallet&&(p=i[0]);if(p){let u=p.getStorage(),s=A(u?.swapDetails),S=s?M(u.swapDetails,s):null;!o||!S||!n?.(a,o,S)?p.unblock():p.checkBlock()}}l(De,"retryOn");function pt(e){return!!e.evmTransaction||!!e.evmApprovalTransaction}l(pt,"isNeedBlockQueueForParallel");async function dt(e){let t=await e;if(!t.ok||!t.transaction)throw D.CreateTransaction(t.error||"bad response from create tx endpoint");return t}l(dt,"throwOnOK");function jt(e,t){let{reset:n}=de();e.actions.cancel();let r=U({getStorage:e.actions.getStorage,setStorage:e.actions.setStorage,message:"Swap canceled by user.",details:"Warning: If you've already signed and sent a transaction, it won't be affected, but next swap steps will not be executed.",nextStatus:"failed",nextStepStatus:"failed",errorCode:"USER_CANCEL"});return m({event:{type:"failed",reasonCode:"USER_CANCEL",reason:r.swap.extraMessage??void 0,inputAmount:F(r.swap),inputAmountUsd:X(r.swap)},swap:r.swap,step:r.step}),n(),t&&t?.retry(),r}l(jt,"cancelSwap");function j(e){return e.slice().reverse().find(t=>t.status==="success")}l(j,"getLastSuccessfulStep");function ze(e){return e.slice().reverse().find(t=>t.status==="failed")}l(ze,"getFailedStep");function zt(e){let{transaction:t}=e;return t?.type===I.EVM&&t.isApprovalTx||t?.type===I.STARKNET&&t.isApprovalTx||t?.type===I.TRON&&t.isApprovalTx}l(zt,"isApprovalTX");function Te(e,t){let n=new qt(e).multipliedBy(t);return isNaN(n.toNumber())?"":n.toString()}l(Te,"getTokenAmountInUsd");function _e(e){return Te(e.inputAmount,e.steps[0].fromUsdPrice??"")}l(_e,"getSwapInputUsd");function Ze(e){let t=e.steps[e.steps.length-1];return Te(t.outputAmount??"",t.toUsdPrice??"")}l(Ze,"getSwapOutputUsd");function St(e){let t=["success","failed"],n=e.steps.findLastIndex(r=>t.includes(r.status));return n<0?void 0:{step:e.steps[n],index:n}}l(St,"getLastFinishedStep");function F(e){let t=St(e);return t?t.index===0?e.inputAmount:e.steps[t.index-1].outputAmount??"":""}l(F,"getLastFinishedStepInput");function X(e){let t=St(e);return Te(F(e),t?.step?.fromUsdPrice??"")}l(X,"getLastFinishedStepInputUsd");function fe(e){let t=j(e.steps);return Te(t?.outputAmount??"",t?.toUsdPrice??"")}l(fe,"getLastSuccessfulStepOutputUsd");function ee(e,t,n){return{type:"failed",reason:t,reasonCode:n??O,inputAmount:F(e),inputAmountUsd:X(e)}}l(ee,"createStepFailedEvent");var gt=5e3,Zt=5e3;async function en({getStorage:e,setStorage:t,next:n,schedule:r,retry:a,failed:o,context:c}){let i=e().swapDetails,{meta:p}=c,u=new Error("check status Error"),s=A(i);if(!s?.executedTransactionId)return;let S=Q(s),d=s.executedTransactionId,g=!1,E=null,_=null,{getTransactionDataByHash:w,setTransactionDataByHash:x}=Se();try{let f=he(s),k=V(i,s);f&&k&&(_=(await c.getSigners(k.walletType)).getSigner(f))}catch{}try{let{response:f,receiptReceived:k}=w(d);if(_?.wait&&!k){let R=S?.blockChain&&p.blockchains?.[S?.blockChain]?.chainId||void 0,{hash:h,response:L}=await _.wait(d,R,f);if(h!==d){s.executedTransactionId=h||s.executedTransactionId;let P=B(i,s),K;!!Object.keys(p.blockchains).length&&(K=re(s.executedTransactionId,P.network,p.blockchains)),K&&s.explorerUrl&&s.explorerUrl?.length>=1&&(s.explorerUrl[s.explorerUrl.length-1]={url:K,description:"Replaced Swap"}),d=s.executedTransactionId,h&&L&&x(h,{response:L})}else x(h,{receiptReceived:!0})}}catch(f){let{extraMessage:k,extraMessageDetail:R,extraMessageErrorCode:h}=G(f),L=U({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:k,details:R,errorCode:h}),P=ee(i,k,L.failureType);te(u,{tags:{type:"singer-error",reason:P.reason,reasonCode:P.reasonCode,message:k,messageDetail:R,pendingSwap:i},context:Et.isSignerError(f)?f.getErrorContext():{}}),g=!0}let T={requestId:i.requestId,txId:d,step:s.id};try{E=await H().checkStatus(T)}catch{await Ee(gt),a(),te(u,{tags:{type:"request-error",requestBody:T,pendingSwap:i}});return}if(g)return o();if(s?.status==="failed")return;let y=E?.outputAmount||(s.outputAmount?s.outputAmount:null),C=s.outputAmount||null;i.extraMessage=E?.extraMessage||i.extraMessage,i.extraMessageSeverity="info",i.extraMessageDetail="",s.status=E?.status||s.status,s.diagnosisUrl=E?.diagnosisUrl||s.diagnosisUrl||null,s.outputAmount=y||s.outputAmount,s.explorerUrl=E?.explorerUrl||s.explorerUrl,s.internalSteps=E?.steps||null;let v=E?.newTx;if(v&&(s.status="created",s.executedTransactionId=null,s.executedTransactionTime=null,ge(s,v)),C===null&&y!==null?m({event:{type:"output_revealed",outputAmount:y},swap:i,step:s}):C===null&&y===null&&m({event:{type:"check_status"},swap:i,step:s}),s.status==="success"){let f=$e(i,s);i.extraMessageDetail="",i.extraMessage=f?`starting next step: ${f.swapperId}: ${f.fromBlockchain} -> ${f.toBlockchain}`:"",m({event:{type:"succeeded",inputAmount:F(i),inputAmountUsd:X(i),outputAmount:s.outputAmount??"",outputAmountUsd:fe(i)},swap:i,step:s})}else s.status==="failed"&&(i.extraMessage="Transaction failed in blockchain",i.extraMessageSeverity="error",i.extraMessageDetail=E?.extraMessage||"",i.status="failed",i.finishTime=new Date().getTime().toString(),te(u,{tags:{type:"transaction-failed",message:i.extraMessage,messageDetails:i.extraMessageDetail,pendingSwap:i}}));t({...e(),swapDetails:i}),E?.status==="failed"?o():E?.status==="success"||E?.status==="running"&&E.newTx?(r("SCHEDULE_NEXT_STEP"),n()):(await Ee(gt),a())}l(en,"checkTransactionStatus");async function tn({getStorage:e,setStorage:t,next:n,schedule:r,retry:a,failed:o,context:c}){let i=e().swapDetails,{meta:p}=c,{getTransactionDataByHash:u,setTransactionDataByHash:s}=Se(),S=new Error("check approval status error"),d=A(i);if(!d){console.log("ignore check status, current step is null");return}let g=Q(d);if(!d?.executedTransactionId)return;let E=d.executedTransactionId,_=null;try{let T=he(d),y=V(i,d);T&&y&&(_=(await c.getSigners(y.walletType)).getSigner(T))}catch{}try{let{response:T,receiptReceived:y}=u(E);if(_?.wait&&!y){let C=g?.blockChain&&p.blockchains?.[g?.blockChain]?.chainId||void 0,{hash:v,response:f}=await _.wait(E,C,T);if(v!==E){d.executedTransactionId=v||d.executedTransactionId;let k=B(i,d),R;!!Object.keys(p.blockchains).length&&(R=re(d.executedTransactionId,k.network,p.blockchains)),R&&d.explorerUrl&&d.explorerUrl?.length>=1&&(d.explorerUrl[d.explorerUrl.length-1]={url:R,description:"Replaced Approve"}),E=d.executedTransactionId,v&&f&&s(v,{response:f})}else s(v,{receiptReceived:!0})}}catch(T){let{extraMessage:y,extraMessageDetail:C,extraMessageErrorCode:v}=G(T),f=U({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:y,details:C,errorCode:v}),k=ee(i,y,f.failureType);return m({event:k,...f}),te(S,{tags:{type:"singer-error",reason:k.reason,reasonCode:k.reasonCode,message:y,messageDetail:C,pendingSwap:i},context:Et.isSignerError(T)?T.getErrorContext():{}}),o()}let w=!1,x={requestId:i.requestId,txId:d.executedTransactionId};try{let T=await H().checkApproval(x.requestId,x.txId);if(d?.status==="failed")return;if(w=T.isApproved,!w&&(T.txStatus==="failed"||T.txStatus==="success")){let y,C;T.txStatus==="failed"?(y="Approve transaction failed",C="Smart contract approval tx failed in blockchain."):(y="Not enough approval",T.requiredApprovedAmount&&T.currentApprovedAmount?C=`Required approval: ${T.requiredApprovedAmount}, current approval: ${T.currentApprovedAmount}`:C="You still don't have enough approval for this swap.");let v=U({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",errorCode:"INSUFFICIENT_APPROVE",message:y,details:C}),f=ee(i,y,v.failureType);m({event:f,...v}),te(S,{tags:{type:"approval-failed",message:i.extraMessage,messageDetails:i.extraMessageDetail,pendingSwap:i}}),o()}else w||m({event:{type:"check_status"},swap:i,step:d})}catch{w=!1,te(S,{tags:{type:"request-error",requestBody:x,pendingSwap:i}})}w?(d.status="approved",i.extraMessage=`Spending ${d.fromSymbol} approved successfully.`,i.extraMessageDetail=null,i.extraMessageSeverity="success",d.evmApprovalTransaction=null,d.executedTransactionId=null,d.executedTransactionTime=null,d.starknetApprovalTransaction=null,d.tronApprovalTransaction=null,t({...e(),swapDetails:i}),m({event:{type:"approval_tx_succeeded"},swap:i,step:d}),r("SCHEDULE_NEXT_STEP"),n()):(await Ee(Zt),a())}l(tn,"checkApprovalStatus");async function Tt(e){let t=e.getStorage().swapDetails,n=A(t);if(!n){console.log("ignore check status, current step is null",t.requestId);return}ot(e),n.status==="running"?await en(e):n.status==="waitingForApproval"&&await tn(e)}l(Tt,"checkStatus");import{warn as nn}from"@rango-dev/logging-core";async function ft(e){let{setStorage:t,getStorage:n,next:r,schedule:a}=e,o=n().swapDetails,c=A(o);if(!Q(c)){m({event:{type:"tx_execution",status:"create_tx"},swap:o,step:c});let p={requestId:o.requestId,step:c.id,userSettings:{slippage:o.settings.slippage,infiniteApprove:o.settings.infiniteApprove},validations:{balance:o.validateBalanceOrFee,fee:o.validateBalanceOrFee,approve:!0}};try{let{transaction:u}=await dt(H().createTransaction(p));u&&ge(c,u),t({...n(),swapDetails:o}),a("EXECUTE_TRANSACTION"),r()}catch(u){o.status="failed",o.finishTime=new Date().getTime().toString();let{extraMessage:s,extraMessageDetail:S}=G(u),d=U({getStorage:n,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:s,details:S,errorCode:"FETCH_TX_FAILED"}),g=ee(o,s,d.failureType);m({event:g,...d}),u instanceof Error&&nn(new Error("create transaction error"),{tags:{message:u.message,requestBody:p,reason:g.reason,reasonCode:g.reasonCode,pendingSwap:o}}),e.failed()}}}l(ft,"createTransaction");import{PendingSwapNetworkStatus as rn}from"rango-types";async function mt(e){let{getStorage:t,context:n}=e,{meta:r,wallets:a,providers:o}=n,{claimedBy:c}=de(),i=n.claimedBy===n._queue?.id,p=l(w=>{e.block(w),i&&e.context.resetClaimedBy&&e.context.resetClaimedBy()},"requestBlock"),u=t().swapDetails,s=A(u);if(!Pe(u,n.state).ok){let{type:w,address:x}=W(u),T=a?.blockchains?.find(v=>!v.accounts?.find(f=>f.walletType===w)),y=Ne(a)||T?le(w):Be(w,x),C={reason:"waiting_for_connecting_wallet",description:y};p(C);return}let d=await rt(u,s,a,r,o);if(!!c()&&!i&&!d){let w=Ce,x={reason:"depends_on_other_queues",details:w};p(x);return}else if(!d){let w=B(u,s),x=ce(w.network),T={reason:"waiting_for_network_change",details:x};p(T);return}if(Ie(e,{message:"",details:"The network has been successfully changed.",status:rn.NetworkChanged}),pt(s)&&!i){let w={reason:"depends_on_other_queues",description:Ce,details:{}};p(w);return}await ct(e)}l(mt,"executeTransaction");function wt({schedule:e,next:t,failed:n,setStorage:r,getStorage:a}){let o=a().swapDetails,c=A(o),i=o.steps.find(p=>p.status==="failed");if(c&&!i){if(at(o,c))return e("EXECUTE_TRANSACTION"),t();if(c?.executedTransactionId)return e("CHECK_TRANSACTION_STATUS"),t();o.status="running",r({...a(),swapDetails:o}),m({event:{type:"started"},swap:o,step:c}),e("CREATE_TRANSACTION"),t()}else{o.status=i?"failed":"success",o.finishTime=new Date().getTime().toString(),r({...a(),swapDetails:o});let p=F(o),u=X(o);m({...i?{event:{type:"failed",reason:o.extraMessage??void 0,reasonCode:"CALL_OR_SEND_FAILED",inputAmount:p,inputAmountUsd:u}}:{event:{type:"succeeded",inputAmount:p,inputAmountUsd:u,outputAmount:j(o.steps)?.outputAmount??"",outputAmountUsd:fe(o)}},swap:o,step:null}),i?n():t()}}l(wt,"scheduleNextStep");function At({schedule:e,next:t,getStorage:n}){let r=n().swapDetails;m({event:{type:"started"},swap:r,step:null}),e("SCHEDULE_NEXT_STEP"),t()}l(At,"start");var yt={name:"swap",actions:{START:At,SCHEDULE_NEXT_STEP:wt,CREATE_TRANSACTION:ft,EXECUTE_TRANSACTION:mt,CHECK_TRANSACTION_STATUS:Tt},run:["START"],whenTaskBlocked:(e,t)=>{e.reason.reason==="waiting_for_connecting_wallet"?st(e,t):e.reason.reason==="waiting_for_network_change"?it(e,t):e.reason.reason==="depends_on_other_queues"&&lt(e,t)}};import{useManager as cn}from"@rango-dev/queue-manager-react";import{useEffect as We,useState as un}from"react";import{DB_NAME as an,Persistor as on,Status as oe}from"@rango-dev/queue-manager-core";import{v4 as sn}from"uuid";var xt="migratedToQueueManager";function Ue(){return!!window.localStorage.getItem(xt)}l(Ue,"migrated");async function ln(){try{return(await window.indexedDB.databases()).map(e=>e.name).includes(an)}catch{return!1}}l(ln,"hasQueueManagerOnIDB");async function Ct(){let e=window.localStorage.getItem("pendingSwaps"),t=await ln();if(!e||Ue()||t)return!0;let n=JSON.parse(e),r=[];n.forEach(c=>{if(c.status==="running"){let i=sn(),p={id:c.requestId,createdAt:Number(c.creationTime),name:"swap",status:oe.RUNNING,storage:{swapDetails:c},state:{status:oe.RUNNING,activeTaskIndex:0,tasks:{[i]:{blockedFor:null,status:oe.RUNNING}}},tasks:[{id:i,action:"SCHEDULE_NEXT_STEP"}]};r.push(p)}else{let i=c.status==="success"?oe.SUCCESS:oe.FAILED,p={id:c.requestId,createdAt:Number(c.creationTime),name:"swap",status:i,storage:{swapDetails:c},state:{status:i,activeTaskIndex:0,tasks:{}},tasks:[]};r.push(p)}});let a=new on,o=r.map(async c=>a.insertQueue(c));return await Promise.all(o),window.localStorage.setItem(xt,"1"),!0}l(Ct,"migration");var kt=0;function pn(e){return`${e?.walletType}-${e?.network}-${e?.accounts?.toString()}`}l(pn,"getLastConnectedWalletHash");function dn(){let e=Ue(),[t,n]=un(e);return We(()=>{(async()=>kt||(kt=1,Ct().finally(()=>{n(!0)})))()},[]),{status:t}}l(dn,"useMigration");function Sn(e){let{manager:t}=cn(),{lastConnectedWallet:n,disconnectedWallet:r,evmChains:a,canSwitchNetworkTo:o,clearDisconnectedWallet:c}=e;We(()=>{n&&(ut({evmChains:a,lastConnectedWallet:n,manager:t}),De(n,t,o))},[pn(n)]),We(()=>{r&&(Oe(t),c())},[r])}l(Sn,"useQueueManager");function la(e){return Fe(e),yt}l(la,"makeQueueDefinition");export{xe as EventSeverity,pe as MessageSeverity,D as PrettyError,ye as RouteEventType,q as StepEventType,ie as StepExecutionBlockedEventStatus,ne as StepExecutionEventStatus,Ae as WidgetEvents,Wt as calculatePendingSwap,jt as cancelSwap,Oe as checkWaitingForNetworkChange,M as getCurrentNamespaceOfOrNull,A as getCurrentStep,j as getLastSuccessfulStep,V as getRelatedWallet,ke as getRelatedWalletOrNull,W as getRequiredWallet,Yt as getRunningSwaps,Je as getUsdPrice,zt as isApprovalTX,la as makeQueueDefinition,G as prettifyErrorMessage,Jt as resetRunningSwapNotifsOnPageLoad,U as updateSwapStatus,dn as useMigration,Sn as useQueueManager};
2
2
  //# sourceMappingURL=index.js.map