@rango-dev/queue-manager-rango-preset 0.59.0 → 0.59.1-next.1

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.
Files changed (31) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/actions/createTransaction.d.ts.map +1 -1
  3. package/dist/actions/executeXrplTransaction/constants.d.ts +2 -0
  4. package/dist/actions/executeXrplTransaction/constants.d.ts.map +1 -0
  5. package/dist/actions/executeXrplTransaction/executeXrplTransaction.d.ts +4 -0
  6. package/dist/actions/executeXrplTransaction/executeXrplTransaction.d.ts.map +1 -0
  7. package/dist/actions/executeXrplTransaction/helpers.d.ts +2 -0
  8. package/dist/actions/executeXrplTransaction/helpers.d.ts.map +1 -0
  9. package/dist/actions/executeXrplTransaction/index.d.ts +2 -0
  10. package/dist/actions/executeXrplTransaction/index.d.ts.map +1 -0
  11. package/dist/actions/scheduleNextStep.d.ts.map +1 -1
  12. package/dist/helpers.d.ts.map +1 -1
  13. package/dist/index.js +1 -1
  14. package/dist/index.js.map +4 -4
  15. package/dist/queue-manager-rango-preset.build.json +1 -1
  16. package/dist/queueDef.d.ts +1 -1
  17. package/dist/queueDef.d.ts.map +1 -1
  18. package/dist/shared.d.ts.map +1 -1
  19. package/dist/types.d.ts +1 -0
  20. package/dist/types.d.ts.map +1 -1
  21. package/package.json +1 -1
  22. package/src/actions/createTransaction.ts +7 -2
  23. package/src/actions/executeXrplTransaction/constants.ts +1 -0
  24. package/src/actions/executeXrplTransaction/executeXrplTransaction.ts +216 -0
  25. package/src/actions/executeXrplTransaction/helpers.ts +8 -0
  26. package/src/actions/executeXrplTransaction/index.ts +1 -0
  27. package/src/actions/scheduleNextStep.ts +7 -2
  28. package/src/helpers.ts +6 -2
  29. package/src/queueDef.ts +5 -1
  30. package/src/shared.ts +9 -1
  31. package/src/types.ts +1 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # [0.59.0](https://github.com/rango-exchange/rango-client/compare/queue-manager-rango-preset@0.58.0...queue-manager-rango-preset@0.59.0) (2025-12-15)
2
+
3
+
4
+
1
5
  # [0.58.0](https://github.com/rango-exchange/rango-client/compare/queue-manager-rango-preset@0.57.0...queue-manager-rango-preset@0.58.0) (2025-12-09)
2
6
 
3
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"createTransaction.d.ts","sourceRoot":"","sources":["../../src/actions/createTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAgBrE,OAAO,EAGL,eAAe,EAChB,MAAM,UAAU,CAAC;AAElB;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,GACvE,OAAO,CAAC,IAAI,CAAC,CAoFf"}
1
+ {"version":3,"file":"createTransaction.d.ts","sourceRoot":"","sources":["../../src/actions/createTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAgBrE,OAAO,EAGL,eAAe,EAChB,MAAM,UAAU,CAAC;AAElB;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,GACvE,OAAO,CAAC,IAAI,CAAC,CAyFf"}
@@ -0,0 +1,2 @@
1
+ export declare const TRUST_LINE_AMOUNT = "10000000000000";
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/actions/executeXrplTransaction/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,mBAAmB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SwapActionTypes, SwapQueueContext, SwapStorage } from '../../types';
2
+ import type { ExecuterActions } from '@rango-dev/queue-manager-core';
3
+ export declare function executeXrplTransaction(actions: ExecuterActions<SwapStorage, SwapActionTypes, SwapQueueContext>): Promise<void>;
4
+ //# sourceMappingURL=executeXrplTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeXrplTransaction.d.ts","sourceRoot":"","sources":["../../../src/actions/executeXrplTransaction/executeXrplTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,EACZ,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AA4BrE,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,GACvE,OAAO,CAAC,IAAI,CAAC,CAmLf"}
@@ -0,0 +1,2 @@
1
+ export declare function extractFromSymbolAddress(symbolAddress: string): [string, string | undefined];
2
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/actions/executeXrplTransaction/helpers.ts"],"names":[],"mappings":"AACA,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,GACpB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAI9B"}
@@ -0,0 +1,2 @@
1
+ export { executeXrplTransaction } from './executeXrplTransaction.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/actions/executeXrplTransaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduleNextStep.d.ts","sourceRoot":"","sources":["../../src/actions/scheduleNextStep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAYrE,OAAO,EAAiB,eAAe,EAAE,MAAM,UAAU,CAAC;AAE1D;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,UAAU,EACV,UAAU,GACX,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAyExE"}
1
+ {"version":3,"file":"scheduleNextStep.d.ts","sourceRoot":"","sources":["../../src/actions/scheduleNextStep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAarE,OAAO,EAAiB,eAAe,EAAE,MAAM,UAAU,CAAC;AAE1D;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,UAAU,EACV,UAAU,GACX,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,GAAG,IAAI,CA6ExE"}
@@ -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 Pt=Object.defineProperty;var u=(e,t)=>Pt(e,"name",{value:t,configurable:!0});var Ot="c6381a79-2817-4602-83bf-6a641a409e32",Te={API_KEY:Ot,BASE_URL:""};function K(e){return Te[e]}u(K,"getConfig");function Fe(e){return Te=e,Te}u(Fe,"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||{}),$=(r=>(r.CREATE_TX="create_tx",r.SEND_TX="send_tx",r.TX_SENT="tx_sent",r))($||{}),re=(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))(re||{}),F=(l=>(l.STARTED="started",l.FAILED="failed",l.SUCCEEDED="succeeded",l.TX_EXECUTION="tx_execution",l.TX_EXECUTION_BLOCKED="tx_execution_blocked",l.APPROVAL_TX_SUCCEEDED="approval_tx_succeeded",l.CHECK_STATUS="check_status",l.OUTPUT_REVEALED="output_revealed",l))(F||{}),ye=(a=>(a.ERROR="error",a.SUCCESS="success",a.WARNING="warning",a.INFO="info",a))(ye||{});import{warn as z}from"@rango-dev/logging-core";import{SignerError as gt}from"rango-types";import{warn as Ht}from"@rango-dev/logging-core";import{Status as ve}from"@rango-dev/queue-manager-core";import{legacyReadAccountAddress as Gt}from"@rango-dev/wallets-core/legacy";import{getBlockChainNameFromId as Kt,getEvmProvider as $t}from"@rango-dev/wallets-shared";import Vt from"bignumber.js";import{PendingSwapNetworkStatus as Y,SignerError as Yt,TransactionType as N}from"rango-types";var xe="Waiting for other swaps to complete",Le="Waiting for connecting wallet",Be=u((e,t)=>`Please change your ${e||"wallet"} account to ${t||"proper address"}`,"ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION_WRONG_WALLET"),ae=u(e=>`Please connect your ${e??""} wallet.`,"ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION"),oe=u(e=>`Please change your network to ${e}.`,"ERROR_MESSAGE_WAIT_FOR_CHANGE_NETWORK"),R="CLIENT_UNEXPECTED_BEHAVIOUR";import{RangoClient as Dt}from"rango-sdk";var se,q=u(()=>se||(se=new Dt(K("API_KEY"),K("BASE_URL")),se),"httpService");import Ge from"bignumber.js";import Qe from"bignumber.js";var qe=u((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 H,SignerError as Wt,isSignerErrorCode as bt,isAPIErrorCode as Ut}from"rango-types";var Mt="Assertion failed (Unexpected behaviour)",Ft="Create transaction failed in Rango Server",Xe="Input wallet not found",P=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{u(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",Mt,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",Ft,null,n)}static WalletMissing(){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",Xe,null,"Server requested for a blockchain or address not selected by user")}static BlockchainMissing(){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",Xe,null,"Server requested for a blockchain or address not selected by user")}};function He(e){try{return e?Ut(e)?e:bt(e)?{[H.REJECTED_BY_USER]:"USER_REJECT",[H.SIGN_TX_ERROR]:"CALL_WALLET_FAILED",[H.SEND_TX_ERROR]:"SEND_TX_FAILED",[H.TX_FAILED_IN_BLOCKCHAIN]:"TX_FAILED_IN_BLOCKCHAIN",[H.NOT_IMPLEMENTED]:R,[H.OPERATION_UNSUPPORTED]:R,[H.UNEXPECTED_BEHAVIOUR]:R}[e]:R:R}catch{return R}}u(He,"mapAppErrorCodesToAPIErrorCode");var X=u(e=>{if(!e)return{extraMessage:"",extraMessageErrorCode:null};if(P.isPrettyError(e))return e.getErrorDetail();if(Wt.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 ie=(a=>(a.error="error",a.warning="warning",a.info="info",a.success="success",a))(ie||{}),W=u((e,t)=>{try{return L(e,t)}catch{return null}},"getCurrentNamespaceOfOrNull"),L=u((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,s=t.tonTransaction?.blockChain,l=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(s)return{namespace:"Ton",network:s};if(l)return{namespace:"Sui",network:l};if(t.transferTransaction){let p=t.transferTransaction.fromWalletAddress;if(!p)throw P.BlockchainMissing();let i=Object.keys(e.wallets).find(S=>e.wallets[S]?.address===p);if(!i)throw P.BlockchainMissing();return{namespace:"UTXO",network:i}}throw new Error("Unsupported transaction type has been included in your swap.",{cause:t})},"getCurrentNamespaceOf"),Z=u((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}u($e,"getNextStep");var Ve=u((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 P.WalletMissing();return n},"getCurrentWalletTypeAndAddress"),Ye=u((e,t)=>Ve(e,t).address,"getCurrentAddressOf");function O(e,t){let{address:n,walletType:r}=Ve(e,t),a=Object.keys(e.wallets).map(l=>({k:l,v:e.wallets[l]})).find(({v:l})=>l.address===n&&l.walletType===r)||null,o=a?.k||null,c=a?.v||null,s=c?.walletType;if(c===null)throw P.AssertionFailed(`Wallet for source ${o} not passed: walletType: ${s}`);return c}u(O,"getRelatedWallet");function Ce(e,t){if(!t)return null;try{return O(e,t)}catch{return null}}u(Ce,"getRelatedWalletOrNull");var je=u((e,t,n,r)=>r?.find(o=>o.blockchain===e&&o.symbol?.toUpperCase()===t?.toUpperCase()&&o.address===n)?.usdPrice||null,"getUsdPrice");function Lt(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}u(Lt,"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?qe(Lt(e,t?.tokens),null,8):null,estimatedTimeInSeconds:e.estimatedTimeInSeconds||null,internalSteps:null}}u(Ke,"mapSwapStepToPendingSwapStep");function Bt(e){let{inputAmount:t,bestRoute:n,wallets:r,settings:a,validateBalanceOrFee:o,meta:c,swapMode:s="swap"}=e,l=n.result;if(!l)throw Error("Simulation result should not be null");return{creationTime:new Date().getTime().toString(),finishTime:null,requestId:n.requestId||"",inputAmount:t,wallets:r,status:"running",mode:s,isPaused:!1,extraMessage:null,extraMessageSeverity:null,extraMessageDetail:null,extraMessageErrorCode:null,networkStatusExtraMessage:null,networkStatusExtraMessageDetail:null,lastNotificationTime:null,settings:a,simulationResult:l,validateBalanceOrFee:o,steps:n.result?.swaps?.map((p,i)=>{let S=Ke(p,c);return{id:i+1,...S,internalSwaps:p?.internalSwaps?.map(d=>Ke(d,c))||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}})||[]}}u(Bt,"calculatePendingSwap");function Je(e){return e.map(t=>{let{diagnosisUrl:n,estimatedTimeInSeconds:r,explorerUrl:a,feeInUsd:o,executedTransactionId:c,executedTransactionTime:s,expectedOutputAmountHumanReadable:l,fromBlockchain:p,toBlockchain:i,fromSymbol:S,toSymbol:d,fromSymbolAddress:g,toSymbolAddress:m,swapperType:A,swapperId:x,outputAmount:v,fromAmountMaxValue:f,fromAmountMinValue:y,fromAmountPrecision:k,fromAmountRestrictionType:_,fromDecimals:w,status:C}=t;return{diagnosisUrl:n,estimatedTimeInSeconds:r,explorerUrl:a,feeInUsd:o,executedTransactionId:c,executedTransactionTime:s,expectedOutputAmountHumanReadable:l,fromBlockchain:p,toBlockchain:i,fromSymbol:S,toSymbol:d,fromSymbolAddress:g,toSymbolAddress:m,swapperName:x,swapperType:A,outputAmount:v,fromAmountMaxValue:f,fromAmountMinValue:y,fromAmountPrecision:k,fromAmountRestrictionType:_,fromDecimals:w,status:C,transaction:h(t)}})}u(Je,"createSteps");function Qt(e,t,n){let{creationTime:r,finishTime:a,requestId:o,inputAmount:c,status:s,wallets:l,steps:p,settings:i}=e,S=Je(p),g={route:{creationTime:r,finishTime:a,requestId:o,inputAmount:c,status:s,wallets:l,steps:S,slippage:i.slippage,infiniteApproval:i.infiniteApprove},step:S[S.length-1]};if(n)g.step=Je([n])[0];else if(t==="failed"){let m=ze(S);m&&(g.step=m)}else{let m=V(S);m&&(g.step=m)}return g}u(Qt,"getEventPayload");function qt(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),swapMode:n.mode||"swap"};break;case"succeeded":{r={...e,type:"succeeded",inputAmount:n.inputAmount,inputAmountUsd:ke(n),outputAmount:n.steps[n.steps.length-1].outputAmount??"",outputAmountUsd:Ze(n),swapMode:n.mode||"swap"};break}default:break}r&&K("emitter")?.emit("routeEvent",{event:r,route:t})}u(qt,"emitRouteEvent");function Xt(e,t,n){K("emitter")?.emit("stepEvent",{event:e,route:t,step:n})}u(Xt,"emitStepEvent");function T(e){let{event:t}=e,{type:n}=t,{route:r,step:a}=Qt(e.swap,n,e.step??void 0),o=`${a.fromBlockchain}.${a.fromSymbol}`,c=`${a.toBlockchain}.${a.toSymbol}`,s=a.outputAmount??"",l=e.step?W(e.swap,e.step):null,p="",i="info";switch(n){case"started":p="Swap process started",i="success";break;case"succeeded":p=`You received ${s} ${c}, hooray!`,i="success";break;case"failed":p=`Swap failed: ${e.swap?.extraMessage??"Reason is unknown"}`,i="error";break;case"tx_execution":t.status==="create_tx"?(p="Please wait while the transaction is created ...",i="info"):t.status==="send_tx"?(e.step&&b(e.step)?p=`Please confirm '${a.swapperName}' smart contract access to ${o}`:p="Please confirm transaction request in your wallet",i="warning"):t.status==="tx_sent"&&(p="Transaction sent successfully",i="info");break;case"check_status":e.step&&b(e.step)?p="Checking approve transaction status ...":p="Checking transaction status ...",i="info";break;case"approval_tx_succeeded":p="Smart contract called successfully",i="success";break;case"output_revealed":p="Transaction output amount revealed",i="success";break;case"tx_execution_blocked":t.status==="waiting_for_wallet_connect"?(p="Please connect your wallet.",i="warning"):t.status==="waiting_for_queue"?(p="Waiting for other swaps to complete",i="warning"):t.status==="waiting_for_change_wallet_account"?(p="Please change your wallet account.",i="warning"):t.status==="waiting_for_network_change"&&(p=`Please change your wallet network to ${l?.network}.`,i="warning");break;default:break}e.step&&Xt({...t,message:p,messageSeverity:i},r,a),(e.event.type==="failed"||!e.step)&&qt({...t,message:p,messageSeverity:i},r,e.swap)}u(T,"notifier");var _e=null;function ce(){return{claimedBy:()=>_e?.id,setClaimer:e=>{_e={id:e}},reset:()=>{_e=null}}}u(ce,"claimQueue");var G={};function ue(){return{getTransactionDataByHash:e=>G[e]||{},setTransactionDataByHash:(e,t)=>{G[e]||(G[e]={}),G[e].response=t.response||G[e].response,G[e].receiptReceived=t.receiptReceived||G[e].receiptReceived||!1}}}u(ue,"inMemoryTransactionsData");var E=u(e=>e.steps.find(t=>t.status!=="failed"&&t.status!=="success")||null,"getCurrentStep"),h=u(e=>{let{evmTransaction:t,evmApprovalTransaction:n,cosmosTransaction:r,solanaTransaction:a,transferTransaction:o,starknetApprovalTransaction:c,starknetTransaction:s,tronApprovalTransaction:l,tronTransaction:p,tonTransaction:i,suiTransaction:S}=e;return t||n||r||a||o||c||s||l||p||i||S},"getCurrentStepTx"),le=u((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 N.EVM:t.isApprovalTx?e.evmApprovalTransaction=t:e.evmTransaction=t;break;case N.TRON:t.isApprovalTx?e.tronApprovalTransaction=t:e.tronTransaction=t;break;case N.STARKNET:t.isApprovalTx?e.starknetApprovalTransaction=t:e.starknetTransaction=t;break;case N.COSMOS:e.cosmosTransaction=t;break;case N.SOLANA:e.solanaTransaction=t;break;case N.TRANSFER:e.transferTransaction=t;break;case N.TON:e.tonTransaction=t;break;case N.SUI:e.suiTransaction=t;break;case N.XRPL:e.xrplTransaction=t;break;default:(r=>{throw new Error(`${r} was unhandled!`)})(n)}return e},"setCurrentStepTx"),Re=u(e=>h(e)?.type,"getCurrentStepTxType"),b=u(e=>{let{evmApprovalTransaction:t,starknetApprovalTransaction:n,tronApprovalTransaction:r}=e;return!!(t||n||r)},"isApprovalCurrentStepTx");function I({getStorage:e,setStorage:t,nextStatus:n,nextStepStatus:r,message:a,details:o,errorCode:c=null,hasAlreadyProceededToSign:s,trace:l=null}){let p=e().swapDetails,i=E(p),S={swap:p,step:i};if(r&&i&&(i.status=r),n&&(p.status=n),p.hasAlreadyProceededToSign=s,n&&["failed","success"].includes(n)&&(p.finishTime=new Date().getTime().toString()),(a||o)&&(p.extraMessage=a||"",p.extraMessageDetail=o||""),r&&["failed"].includes(r)){let d=o&&o.includes("Warning")?"Swap canceled by user.":o,g=Ce(p,i)?.walletType;p.extraMessageSeverity="error";let m=He(c);S.failureType=m;let A=c!=="REJECTED_BY_USER"&&l?.message&&typeof l.message=="string"?l.message:d||"";q().reportFailure({requestId:p.requestId,step:i?.id||1,eventType:m,reason:A,tags:g?{wallet:g}:void 0}).then().catch()}else r&&["running"].includes(r)?p.extraMessageSeverity="info":r&&["success","approved"].includes(r)?p.extraMessageSeverity="success":r&&["waitingForApproval"].includes(r)&&(p.extraMessageSeverity="warning");return r==="running"&&i&&(i.startTransactionTime=new Date().getTime()),t({...e(),swapDetails:p}),S}u(I,"updateSwapStatus");function jt({getStorage:e,setStorage:t},n,r){let a=e().swapDetails;a.hasAlreadyProceededToSign=null;let o=E(a);o.executedTransactionId=n,o.executedTransactionTime=new Date().getTime().toString(),r?.url&&(o.explorerUrl=[...o.explorerUrl||[],{url:r.url,description:r.description||null}]),b(o)?a.extraMessage="Checking approve transaction status ...":a.extraMessage="Checking transaction status ...",a.extraMessageDetail="",a.extraMessageSeverity="info",t({...e(),swapDetails:a}),T({event:{type:"tx_execution",status:"tx_sent"},swap:a,step:o}),T({event:{type:"check_status"},swap:a,step:o})}u(jt,"setStepTransactionIds");function Jt({getStorage:e,setStorage:t},n,r){let a=e().swapDetails,o=E(a);if(!o)return;let c=new Date;a.lastNotificationTime=c.getTime().toString(),!(o.networkStatus===Y.WaitingForConnectingWallet&&a.networkStatusExtraMessage===n&&a.networkStatusExtraMessageDetail===r)&&(o.networkStatus=Y.WaitingForConnectingWallet,a.networkStatusExtraMessage=n,a.networkStatusExtraMessageDetail=r,t({...e(),swapDetails:a}))}u(Jt,"markRunningSwapAsWaitingForConnectingWallet");function tt({getStorage:e,setStorage:t}){let n=e().swapDetails,r=E(n);if(!r)return;let{type:a}=D(n),o=L(n,r),c=`Change ${a} wallet network to ${o.network}`,s=`We\u2019re switching the connected network to ${o.network}. Please check your wallet.`,l=new Date;return n.lastNotificationTime=l.getTime().toString(),r.networkStatus=Y.WaitingForNetworkChange,n.networkStatusExtraMessage=c,n.networkStatusExtraMessageDetail=s,t({...e(),swapDetails:n}),{swap:n,step:r}}u(tt,"markRunningSwapAsSwitchingNetwork");function nt({getStorage:e,setStorage:t}){let n=e().swapDetails,r=E(n);if(r)return n.networkStatusExtraMessage="",n.networkStatusExtraMessageDetail="",r.networkStatus=Y.WaitingForQueue,T({event:{type:"tx_execution_blocked",status:"waiting_for_queue"},swap:n,step:r}),t({...e(),swapDetails:n}),{swap:n,step:r}}u(nt,"markRunningSwapAsDependsOnOtherQueues");async function pe(e){return new Promise(t=>setTimeout(t,e))}u(pe,"delay");var zt=u((e,t)=>e.wallets[t]?.walletType,"getSwapWalletType");function he(e){return e===null||e?.blockchains===null||e?.blockchains.length===0}u(he,"isWalletNull");function D(e){let t=E(e),n=W(e,t);if(!n)return{type:null,namespace:null,address:null};let r=zt(e,n.network),a=e.wallets[n.network];return{type:r||null,namespace:n,address:a?a.address:null}}u(D,"getRequiredWallet");async function Zt(e){try{return await e.request({method:"eth_chainId"})||e?.chainId}catch{return e?.chainId}}u(Zt,"getChainId");async function en(e,t,n){let r=$t(e,n);if(r)return await Zt(r);let o=t(n).get("evm");if(!o)throw new Error("EVM namespace not found for wallet type: "+n);return o.getChainId()}u(en,"getProviderChainId");async function rt(e,t,n,r,a,o){if(he(n))return!1;let c=W(e,t);if(!c)return!1;if(r.evmBasedChains.find(s=>s.name===c.network)){try{let s=e.wallets[c.network];if(s){let l=await en(a,o,s.walletType);if(l){let p=Kt(l,Object.entries(r.blockchains).map(([,i])=>i));if(p&&p.toLowerCase()===c.network.toLowerCase())return!0;if(p&&p.toLowerCase()!==c.network.toLowerCase())return!1}}}catch(s){console.log(s)}return!1}return!0}u(rt,"isNetworkMatchedForTransaction");var at=u((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 de(e){let{getStorage:t,setStorage:n}=e,r=t().swapDetails,a=E(r);a?.networkStatus&&(a.networkStatus=null,n({...t(),swapDetails:r}))}u(de,"resetNetworkStatus");function Ne(e,t={message:"",details:"",status:null}){let{message:n,details:r,status:a}=t,{getStorage:o,setStorage:c}=e,s=o().swapDetails,l=E(s);l?.networkStatus&&(s.networkStatusExtraMessage=n,s.networkStatusExtraMessageDetail=r,l.networkStatus=a,c({...o(),swapDetails:s}))}u(Ne,"updateNetworkStatus");function ot(e,t){let{context:n,queue:r}=t,a=r.getStorage().swapDetails,{ok:o,reason:c}=Ie(a,n.state);if(!o){let s=E(a),{type:l,address:p}=D(a);T({event:{type:"tx_execution_blocked",...c==="account_miss_match"?{status:"waiting_for_change_wallet_account",requiredAccount:p??void 0}:{status:"waiting_for_wallet_connect",requiredWallet:l??void 0,requiredAccount:p??void 0}},swap:a,step:s}),Jt({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)},Le,e.reason.description);return}r.unblock()}u(ot,"onBlockForConnectWallet");function st(e,t){let{context:n,queue:r}=t,a=r.getStorage().swapDetails,o=E(a);if(!o||a.status!=="running")return;let c=tt({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)}),s=W(a,o)?.network,l=D(a).type,p=l?n.state(l).network:void 0;c&&T({event:{type:"tx_execution_blocked",status:"waiting_for_network_change",requiredNetwork:s??void 0,currentNetwork:p??void 0},swap:c.swap,step:c.step});let{type:i,namespace:S}=D(a);if(i&&S?.network&&n.canSwitchNetworkTo(i,S.network,S)){let d=n.switchNetwork(i,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:Y.NetworkChangeFailed})})}}u(st,"onBlockForChangeNetwork");function it(e,t){let{getBlockedTasks:n,forceExecute:r,queue:a,manager:o,context:c}=t,{setClaimer:s,claimedBy:l,reset:p}=ce(),i=n().filter(f=>f.reason.reason==="depends_on_other_queues");if(i.length===0)return;let S=l(),d=!!S;if(S===a.id)return;if(d){nt({getStorage:a.getStorage.bind(a),setStorage:a.setStorage.bind(a)});return}let g=i.find(f=>f.queue_id===t.queue_id);g||(g=i[0]),s(g.queue_id);let m=g.storage.get(),{type:A,namespace:x,address:v}=D(m.swapDetails);r(g.queue_id,{claimedBy:l(),resetClaimedBy:()=>{p(),A&&De({walletType:A,network:x?.network,accounts:v?[v]:[]},o,c.canSwitchNetworkTo)}})}u(it,"onDependsOnOtherQueues");function Ie(e,t){let{type:n,address:r}=D(e);if(!n||!r)return{ok:!1,reason:"not_connected"};let a=t(n),{accounts:o,connected:c}=a,s=o||[];return c?{ok:s.some(p=>{let{address:i}=Gt(p);return r.toLocaleLowerCase()===i.toLocaleLowerCase()}),reason:"account_miss_match"}:{ok:!1,reason:"not_connected"}}u(Ie,"isRequiredWalletConnected");function ct(e,t){return({hash:n,response:r})=>{let{setTransactionDataByHash:a}=ue(),{getStorage:o,next:c,schedule:s,context:l}=e,{meta:p}=l,i=o().swapDetails,S=E(i),d=L(i,S),g=Z(n,d.network,p.blockchains);jt(e,n,g&&(!r||r&&!r.hashRequiringUpdate)?{url:g,description:t.isApproval?"Approve":"Swap"}:void 0),r&&a(n,{response:r}),s("CHECK_TRANSACTION_STATUS"),c()}}u(ct,"handleSuccessfulSign");function Pe(e){return t=>{let{getStorage:n,setStorage:r,failed:a}=e,o=n().swapDetails,c=E(o),s=O(o,c);if(o.status==="failed")return;let{extraMessage:l,extraMessageDetail:p,extraMessageErrorCode:i}=X(t);Ht(t,{tags:{requestId:o.requestId,rpc:!0,swapper:c?.swapperId||"",walletType:s?.walletType||""},context:Yt.isSignerError(t)?t.getErrorContext():{}});let S=I({getStorage:n,setStorage:r,nextStatus:"failed",nextStepStatus:"failed",message:l,details:p,errorCode:i,trace:t?.cause});T({event:{type:"failed",reason:l,reasonCode:S.failureType??R,inputAmount:U(o),inputAmountUsd:B(o)},...S}),a()}}u(Pe,"handleRejectedSign");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 s=c.list.getStorage(),l=s?.swapDetails;if(l&&l.status==="running"){let p=E(l);if(p){let i=s?.swapDetails.wallets[p.fromBlockchain]?.walletType,S=Object.keys(c.list.state.tasks).some(g=>{let m=c.list.state.tasks[g];return m.status===ve.BLOCKED&&["waiting_for_connecting_wallet"].includes(m.blockedFor?.reason)}),d=W(l,p)?.network;if(!n.some(g=>g.name==d))return;if(i===a&&S&&d!=o){let g=c.list,{type:m}=D(l),A=oe(m);c.list.block({reason:{reason:"waiting_for_network_change",description:A},silent:!0});let x=tt({getStorage:g.getStorage.bind(g),setStorage:g.setStorage.bind(g)});x&&T({event:{type:"tx_execution_blocked",status:"waiting_for_network_change",currentNetwork:o,requiredNetwork:d??void 0},swap:x.swap,step:x.step})}}}})}u(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===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}=D(r),o=ae(a);t.list.block({reason:{reason:"waiting_for_connecting_wallet",description:o}})}}})}u(Oe,"checkWaitingForNetworkChange");function tn(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}u(tn,"getRunningSwaps");function nn(e){e.forEach(t=>{let n=E(t),r="tx_execution_blocked",a;n?.networkStatus===Y.WaitingForQueue?a="waiting_for_queue":t?.status==="running"&&(a="waiting_for_wallet_connect"),r&&T&&T({event:{type:r,status:a??"waiting_for_queue"},swap:t,step:n})})}u(nn,"resetRunningSwapNotifsOnPageLoad");function De(e,t,n,r={fallbackToOnlyWallet:!0}){let{walletType:a,network:o}=e;if(!a)return;let c=[],s=[];t?.getAll().forEach(p=>{if(p.status===ve.BLOCKED){let i=p.list.getStorage(),S=i?.swapDetails;if(S&&S.status==="running"){let d=E(S);d&&(o&&W(S,d)?.network==o&&i?.swapDetails.wallets[o]?.walletType===a?c.push(p.list):i?.swapDetails.wallets[d.fromBlockchain]?.walletType===a&&s.push(p.list))}}});let l;if(c.length>0){if(l=c[0],c.length>1)for(let p=1;p<c.length;p++){let i=c[p];nt({getStorage:i.getStorage.bind(i),setStorage:i.setStorage.bind(i)})}}else s.length>0&&r.fallbackToOnlyWallet&&(l=s[0]);if(l){let p=l.getStorage(),i=E(p?.swapDetails),S=i?W(p.swapDetails,i):null;!o||!S||!n?.(a,o,S)?l.unblock():l.checkBlock()}}u(De,"retryOn");function lt(e){return!!e.evmTransaction||!!e.evmApprovalTransaction}u(lt,"isNeedBlockQueueForParallel");async function pt(e){let t=await e;if(!t.ok||!t.transaction)throw P.CreateTransaction(t.error||"bad response from create tx endpoint");return t}u(pt,"throwOnOK");function rn(e,t){let{reset:n}=ce();e.actions.cancel();let r=I({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 T({event:{type:"failed",reasonCode:"USER_CANCEL",reason:r.swap.extraMessage??void 0,inputAmount:U(r.swap),inputAmountUsd:B(r.swap)},swap:r.swap,step:r.step}),n(),t&&t?.retry(),r}u(rn,"cancelSwap");function V(e){return e.slice().reverse().find(t=>t.status==="success")}u(V,"getLastSuccessfulStep");function ze(e){return e.slice().reverse().find(t=>t.status==="failed")}u(ze,"getFailedStep");function an(e){let{transaction:t}=e;return t?.type===N.EVM&&t.isApprovalTx||t?.type===N.STARKNET&&t.isApprovalTx||t?.type===N.TRON&&t.isApprovalTx}u(an,"isApprovalTX");function Se(e,t){let n=new Vt(e).multipliedBy(t);return isNaN(n.toNumber())?"":n.toString()}u(Se,"getTokenAmountInUsd");function ke(e){return Se(e.inputAmount,e.steps[0].fromUsdPrice??"")}u(ke,"getSwapInputUsd");function Ze(e){let t=e.steps[e.steps.length-1];return Se(t.outputAmount??"",t.toUsdPrice??"")}u(Ze,"getSwapOutputUsd");function dt(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}}u(dt,"getLastFinishedStep");function U(e){let t=dt(e);return t?t.index===0?e.inputAmount:e.steps[t.index-1].outputAmount??"":""}u(U,"getLastFinishedStepInput");function B(e){let t=dt(e);return Se(U(e),t?.step?.fromUsdPrice??"")}u(B,"getLastFinishedStepInputUsd");function ge(e){let t=V(e.steps);return Se(t?.outputAmount??"",t?.toUsdPrice??"")}u(ge,"getLastSuccessfulStepOutputUsd");function J(e,t,n){return{type:"failed",reason:t,reasonCode:n??R,inputAmount:U(e),inputAmountUsd:B(e)}}u(J,"createStepFailedEvent");var St=5e3,on=5e3;async function sn({getStorage:e,setStorage:t,next:n,schedule:r,retry:a,failed:o,context:c}){let s=e().swapDetails,{meta:l}=c,p=new Error("check status Error"),i=E(s);if(!i?.executedTransactionId)return;let S=h(i),d=i.executedTransactionId,g=!1,m=null,A=null,{getTransactionDataByHash:x,setTransactionDataByHash:v}=ue();try{let w=Re(i),C=O(s,i);w&&C&&(A=(await c.getSigners(C.walletType)).getSigner(w))}catch{}try{let{response:w,receiptReceived:C}=x(d);if(A?.wait&&!C){let M=S?.blockChain&&l.blockchains?.[S?.blockChain]?.chainId||void 0,{hash:Q,response:te}=await A.wait(d,M,w);if(Q!==d){i.executedTransactionId=Q||i.executedTransactionId;let ne=L(s,i),fe;!!Object.keys(l.blockchains).length&&(fe=Z(i.executedTransactionId,ne.network,l.blockchains)),fe&&i.explorerUrl&&i.explorerUrl?.length>=1&&(i.explorerUrl[i.explorerUrl.length-1]={url:fe,description:"Replaced Swap"}),d=i.executedTransactionId,Q&&te&&v(Q,{response:te})}else v(Q,{receiptReceived:!0})}}catch(w){let{extraMessage:C,extraMessageDetail:M,extraMessageErrorCode:Q}=X(w),te=I({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:C,details:M,errorCode:Q}),ne=J(s,C,te.failureType);z(p,{tags:{type:"singer-error",reason:ne.reason,reasonCode:ne.reasonCode,message:C,messageDetail:M,pendingSwap:s},context:gt.isSignerError(w)?w.getErrorContext():{}}),g=!0}let f={requestId:s.requestId,txId:d,step:i.id};try{m=await q().checkStatus(f)}catch{await pe(St),a(),z(p,{tags:{type:"request-error",requestBody:f,pendingSwap:s}});return}if(g)return o();if(i?.status==="failed")return;let y=m?.outputAmount||(i.outputAmount?i.outputAmount:null),k=i.outputAmount||null;s.extraMessage=m?.extraMessage||s.extraMessage,s.extraMessageSeverity="info",s.extraMessageDetail="",i.status=m?.status||i.status,i.diagnosisUrl=m?.diagnosisUrl||i.diagnosisUrl||null,i.outputAmount=y||i.outputAmount,i.explorerUrl=m?.explorerUrl||i.explorerUrl,i.internalSteps=m?.steps||null;let _=m?.newTx;if(_&&(i.status="created",i.executedTransactionId=null,i.executedTransactionTime=null,le(i,_)),k===null&&y!==null?T({event:{type:"output_revealed",outputAmount:y},swap:s,step:i}):k===null&&y===null&&T({event:{type:"check_status"},swap:s,step:i}),i.status==="success"){let w=$e(s,i);s.extraMessageDetail="",s.extraMessage=w?`starting next step: ${w.swapperId}: ${w.fromBlockchain} -> ${w.toBlockchain}`:"",T({event:{type:"succeeded",inputAmount:U(s),inputAmountUsd:B(s),outputAmount:i.outputAmount??"",outputAmountUsd:ge(s)},swap:s,step:i})}else i.status==="failed"&&(s.extraMessage="Transaction failed in blockchain",s.extraMessageSeverity="error",s.extraMessageDetail=m?.extraMessage||"",s.status="failed",s.finishTime=new Date().getTime().toString(),z(p,{tags:{type:"transaction-failed",message:s.extraMessage,messageDetails:s.extraMessageDetail,pendingSwap:s}}));t({...e(),swapDetails:s}),m?.status==="failed"?o():m?.status==="success"||m?.status==="running"&&m.newTx?(r("SCHEDULE_NEXT_STEP"),n()):(await pe(St),a())}u(sn,"checkTransactionStatus");async function cn({getStorage:e,setStorage:t,next:n,schedule:r,retry:a,failed:o,context:c}){let s=e().swapDetails,{meta:l}=c,{getTransactionDataByHash:p,setTransactionDataByHash:i}=ue(),S=new Error("check approval status error"),d=E(s);if(!d){console.log("ignore check status, current step is null");return}let g=h(d);if(!d?.executedTransactionId)return;let m=d.executedTransactionId,A=null;try{let f=Re(d),y=O(s,d);f&&y&&(A=(await c.getSigners(y.walletType)).getSigner(f))}catch{}try{let{response:f,receiptReceived:y}=p(m);if(A?.wait&&!y){let k=g?.blockChain&&l.blockchains?.[g?.blockChain]?.chainId||void 0,{hash:_,response:w}=await A.wait(m,k,f);if(_!==m){d.executedTransactionId=_||d.executedTransactionId;let C=L(s,d),M;!!Object.keys(l.blockchains).length&&(M=Z(d.executedTransactionId,C.network,l.blockchains)),M&&d.explorerUrl&&d.explorerUrl?.length>=1&&(d.explorerUrl[d.explorerUrl.length-1]={url:M,description:"Replaced Approve"}),m=d.executedTransactionId,_&&w&&i(_,{response:w})}else i(_,{receiptReceived:!0})}}catch(f){let{extraMessage:y,extraMessageDetail:k,extraMessageErrorCode:_}=X(f),w=I({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:y,details:k,errorCode:_}),C=J(s,y,w.failureType);return T({event:C,...w}),z(S,{tags:{type:"singer-error",reason:C.reason,reasonCode:C.reasonCode,message:y,messageDetail:k,pendingSwap:s},context:gt.isSignerError(f)?f.getErrorContext():{}}),o()}let x=!1,v={requestId:s.requestId,txId:d.executedTransactionId};try{let f=await q().checkApproval(v.requestId,v.txId);if(d?.status==="failed")return;if(x=f.isApproved,!x&&(f.txStatus==="failed"||f.txStatus==="success")){let y,k;f.txStatus==="failed"?(y="Approve transaction failed",k="Smart contract approval tx failed in blockchain."):(y="Not enough approval",f.requiredApprovedAmount&&f.currentApprovedAmount?k=`Required approval: ${f.requiredApprovedAmount}, current approval: ${f.currentApprovedAmount}`:k="You still don't have enough approval for this swap.");let _=I({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",errorCode:"INSUFFICIENT_APPROVE",message:y,details:k}),w=J(s,y,_.failureType);T({event:w,..._}),z(S,{tags:{type:"approval-failed",message:s.extraMessage,messageDetails:s.extraMessageDetail,pendingSwap:s}}),o()}else x||T({event:{type:"check_status"},swap:s,step:d})}catch{x=!1,z(S,{tags:{type:"request-error",requestBody:v,pendingSwap:s}})}x?(d.status="approved",s.extraMessage=`Spending ${d.fromSymbol} approved successfully.`,s.extraMessageDetail=null,s.extraMessageSeverity="success",d.evmApprovalTransaction=null,d.executedTransactionId=null,d.executedTransactionTime=null,d.starknetApprovalTransaction=null,d.tronApprovalTransaction=null,t({...e(),swapDetails:s}),T({event:{type:"approval_tx_succeeded"},swap:s,step:d}),r("SCHEDULE_NEXT_STEP"),n()):(await pe(on),a())}u(cn,"checkApprovalStatus");async function mt(e){let t=e.getStorage().swapDetails,n=E(t);if(!n){console.log("ignore check status, current step is null",t.requestId);return}de(e),n.status==="running"?await sn(e):n.status==="waitingForApproval"&&await cn(e)}u(mt,"checkStatus");import{warn as un}from"@rango-dev/logging-core";async function Et(e){let{setStorage:t,getStorage:n,next:r,schedule:a}=e,o=n().swapDetails,c=E(o);if(!h(c)){T({event:{type:"tx_execution",status:"create_tx"},swap:o,step:c});let l={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:p}=await pt(q().createTransaction(l));p&&le(c,p),t({...n(),swapDetails:o}),a("EXECUTE_TRANSACTION"),r()}catch(p){o.status="failed",o.finishTime=new Date().getTime().toString();let{extraMessage:i,extraMessageDetail:S}=X(p),d=I({getStorage:n,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:i,details:S,errorCode:"FETCH_TX_FAILED"}),g=J(o,i,d.failureType);T({event:g,...d}),p instanceof Error&&un(new Error("create transaction error"),{tags:{message:p.message,requestBody:l,reason:g.reason,reasonCode:g.reasonCode,pendingSwap:o}}),e.failed()}}}u(Et,"createTransaction");import{PendingSwapNetworkStatus as Tt}from"rango-types";import{Err as Ee,Ok as We}from"ts-results";function me(e){return e.claimedBy===e._queue?.id}u(me,"isClaimedByCurrentQueue");function ft(e,t){e.block(t),me(e.context)&&e.context.resetClaimedBy&&e.context.resetClaimedBy()}u(ft,"requestBlockQueue");async function wt(e){let{getStorage:t,context:n}=e,r=t().swapDetails,a=E(r),o=ln(e);if(o.err)return o;let c=await pn(e);if(c.err)return c;a.networkStatus===Tt.NetworkChanged&&Ne(e,{message:"",details:"The network has been successfully changed.",status:Tt.NetworkChanged});let s=lt(a),l=me(n);if(s&&!l){let p={reason:"depends_on_other_queues",description:xe,details:{}};return new Ee(p)}return new We(!0)}u(wt,"checkEnvironmentBeforeExecuteTransaction");function ln(e){let{getStorage:t,context:n}=e,{wallets:r}=n,a=t().swapDetails;if(!Ie(a,n.state).ok){let{type:c,address:s}=D(a),l=r?.blockchains?.find(S=>!S.accounts?.find(d=>d.walletType===c)),p=he(r)||l?ae(c):Be(c,s),i={reason:"waiting_for_connecting_wallet",description:p};return new Ee(i)}return new We(!0)}u(ln,"ensureRequiredWalletIsConnected");async function pn(e){let{getStorage:t,context:n}=e,{meta:r,wallets:a,providers:o,hubProvider:c}=n,s=t().swapDetails,l=E(s),p=await rt(s,l,a,r,o,c),{claimedBy:i}=ce();if(!!i()&&!me(n)&&!p){let g=xe,m={reason:"depends_on_other_queues",details:g};return new Ee(m)}else if(!p){let g=L(s,l),m=oe(g.network),A={reason:"waiting_for_network_change",details:m};return new Ee(A)}return new We(!0)}u(pn,"ensureWalletIsOnCorrectNetwork");import{Err as At,Ok as yt}from"ts-results";function xt(e){let{getStorage:t,context:n}=e,{isMobileWallet:r}=n,a=t().swapDetails,o=E(a),c=O(a,o),s=r(c?.walletType),l=h(o),p=b(o);if(!l||!l.type)return new At({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: tx is null!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"});let i=typeof a.hasAlreadyProceededToSign=="boolean";return p?new yt({nextStatus:void 0,nextStepStatus:"waitingForApproval",details:"Waiting for approve transaction to be mined and confirmed successfully",message:`Waiting for approval of ${o?.fromSymbol} coin ${s?"on your mobile phone!":""}`}):i?new At({message:"Transaction is expired. Please try again.",nextStepStatus:"failed",nextStatus:"failed",details:"",errorCode:"TX_EXPIRED"}):new yt({message:"Executing transaction ...",nextStepStatus:"running",nextStatus:"running",details:`${s?"Check your mobile phone!":""}`})}u(xt,"produceNextStateForTransaction");function Ct(e,t){let{getStorage:n,setStorage:r}=e,a=n().swapDetails,o=E(a),c=b(o),s=typeof a.hasAlreadyProceededToSign=="boolean",l=I({getStorage:n,setStorage:r,nextStepStatus:t.nextStepStatus,nextStatus:t.nextStatus,message:t.message,details:t.details,errorCode:t.errorCode,hasAlreadyProceededToSign:c?void 0:s});T({event:{type:"failed",reason:t.message,reasonCode:l.failureType??R,inputAmount:U(a),inputAmountUsd:B(a)},...l})}u(Ct,"onNextStateError");function kt(e,t){let{getStorage:n,setStorage:r}=e,a=n().swapDetails,o=E(a),c=b(o),s=typeof a.hasAlreadyProceededToSign=="boolean",l=I({getStorage:n,setStorage:r,nextStepStatus:t.nextStepStatus,nextStatus:t.nextStatus,message:t.message,details:t.details,hasAlreadyProceededToSign:c?void 0:s});T({event:{type:"tx_execution",status:"send_tx"},...l})}u(kt,"onNextStateOk");async function be(e){let t=await wt(e);if(t.err){ft(e,t.val);return}de(e);let{failed:n,getStorage:r,context:a}=e,{meta:o,getSigners:c}=a,s=r().swapDetails,l=E(s),p=b(l),i=u(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),S=xt(e);if(S.err){Ct(e,S.val),n(),i();return}kt(e,S.val);let d=h(l),g=O(s,l),m=Ye(s,l),A=o.blockchains?.[d.blockChain]?.chainId,x;try{x=await c(g.walletType)}catch(f){Pe(e)(f),i();return}await x.getSigner(d.type).signAndSendTx(d,m,A).then(ct(e,{isApproval:p}),Pe(e)).finally(()=>{i()})}u(be,"executeTransaction");function _t({schedule:e,next:t,failed:n,setStorage:r,getStorage:a}){let o=a().swapDetails,c=E(o),s=o.steps.find(l=>l.status==="failed");if(c&&!s){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}),T({event:{type:"started"},swap:o,step:c}),e("CREATE_TRANSACTION"),t()}else{o.status=s?"failed":"success",o.finishTime=new Date().getTime().toString(),r({...a(),swapDetails:o});let l=U(o),p=B(o);T({...s?{event:{type:"failed",reason:o.extraMessage??void 0,reasonCode:"CALL_OR_SEND_FAILED",inputAmount:l,inputAmountUsd:p}}:{event:{type:"succeeded",inputAmount:l,inputAmountUsd:p,outputAmount:V(o.steps)?.outputAmount??"",outputAmountUsd:ge(o)}},swap:o,step:null}),s?n():t()}}u(_t,"scheduleNextStep");function vt({schedule:e,next:t,getStorage:n}){let r=n().swapDetails;T({event:{type:"started"},swap:r,step:null}),e("SCHEDULE_NEXT_STEP"),t()}u(vt,"start");var Rt={name:"swap",actions:{START:vt,SCHEDULE_NEXT_STEP:_t,CREATE_TRANSACTION:Et,EXECUTE_TRANSACTION:be,CHECK_TRANSACTION_STATUS:mt},run:["START"],whenTaskBlocked:(e,t)=>{e.reason.reason==="waiting_for_connecting_wallet"?ot(e,t):e.reason.reason==="waiting_for_network_change"?st(e,t):e.reason.reason==="depends_on_other_queues"&&it(e,t)}};import{useManager as En}from"@rango-dev/queue-manager-react";import{useEffect as Me,useState as fn}from"react";import{DB_NAME as dn,Persistor as Sn,Status as ee}from"@rango-dev/queue-manager-core";import{v4 as gn}from"uuid";var ht="migratedToQueueManager";function Ue(){return!!window.localStorage.getItem(ht)}u(Ue,"migrated");async function mn(){try{return(await window.indexedDB.databases()).map(e=>e.name).includes(dn)}catch{return!1}}u(mn,"hasQueueManagerOnIDB");async function Nt(){let e=window.localStorage.getItem("pendingSwaps"),t=await mn();if(!e||Ue()||t)return!0;let n=JSON.parse(e),r=[];n.forEach(c=>{if(c.status==="running"){let s=gn(),l={id:c.requestId,createdAt:Number(c.creationTime),name:"swap",status:ee.RUNNING,storage:{swapDetails:c},state:{status:ee.RUNNING,activeTaskIndex:0,tasks:{[s]:{blockedFor:null,status:ee.RUNNING}}},tasks:[{id:s,action:"SCHEDULE_NEXT_STEP"}]};r.push(l)}else{let s=c.status==="success"?ee.SUCCESS:ee.FAILED,l={id:c.requestId,createdAt:Number(c.creationTime),name:"swap",status:s,storage:{swapDetails:c},state:{status:s,activeTaskIndex:0,tasks:{}},tasks:[]};r.push(l)}});let a=new Sn,o=r.map(async c=>a.insertQueue(c));return await Promise.all(o),window.localStorage.setItem(ht,"1"),!0}u(Nt,"migration");var It=0;function Tn(e){return`${e?.walletType}-${e?.network}-${e?.accounts?.toString()}`}u(Tn,"getLastConnectedWalletHash");function wn(){let e=Ue(),[t,n]=fn(e);return Me(()=>{(async()=>It||(It=1,Nt().finally(()=>{n(!0)})))()},[]),{status:t}}u(wn,"useMigration");function An(e){let{manager:t}=En(),{lastConnectedWallet:n,disconnectedWallet:r,evmChains:a,canSwitchNetworkTo:o,clearDisconnectedWallet:c}=e;Me(()=>{n&&(ut({evmChains:a,lastConnectedWallet:n,manager:t}),De(n,t,o))},[Tn(n)]),Me(()=>{r&&(Oe(t),c())},[r])}u(An,"useQueueManager");function Ua(e){return Fe(e),Rt}u(Ua,"makeQueueDefinition");export{ye as EventSeverity,ie as MessageSeverity,P as PrettyError,Ae as RouteEventType,F as StepEventType,re as StepExecutionBlockedEventStatus,$ as StepExecutionEventStatus,we as WidgetEvents,Bt as calculatePendingSwap,rn as cancelSwap,Oe as checkWaitingForNetworkChange,W as getCurrentNamespaceOfOrNull,E as getCurrentStep,V as getLastSuccessfulStep,O as getRelatedWallet,Ce as getRelatedWalletOrNull,D as getRequiredWallet,tn as getRunningSwaps,je as getUsdPrice,an as isApprovalTX,Ua as makeQueueDefinition,X as prettifyErrorMessage,nn as resetRunningSwapNotifsOnPageLoad,I as updateSwapStatus,wn as useMigration,An as useQueueManager};
1
+ var bt=Object.defineProperty;var l=(e,t)=>bt(e,"name",{value:t,configurable:!0});var Wt="c6381a79-2817-4602-83bf-6a641a409e32",ve={API_KEY:Wt,BASE_URL:""};function K(e){return ve[e]}l(K,"getConfig");function Ve(e){return ve=e,ve}l(Ve,"initConfig");import{warn as z}from"@rango-dev/logging-core";import{SignerError as yt}from"rango-types";import{warn as $t}from"@rango-dev/logging-core";import{Status as be}from"@rango-dev/queue-manager-core";import{legacyReadAccountAddress as Yt}from"@rango-dev/wallets-core/legacy";import{getBlockChainNameFromId as jt,getEvmProvider as Jt}from"@rango-dev/wallets-shared";import zt from"bignumber.js";import{PendingSwapNetworkStatus as Y,SignerError as Zt,TransactionType as P}from"rango-types";var he="Waiting for other swaps to complete",$e="Waiting for connecting wallet",Ye=l((e,t)=>`Please change your ${e||"wallet"} account to ${t||"proper address"}`,"ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION_WRONG_WALLET"),oe=l(e=>`Please connect your ${e??""} wallet.`,"ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION"),se=l(e=>`Please change your network to ${e}.`,"ERROR_MESSAGE_WAIT_FOR_CHANGE_NETWORK"),I="CLIENT_UNEXPECTED_BEHAVIOUR";import{RangoClient as Mt}from"rango-sdk";var ie,X=l(()=>ie||(ie=new Mt(K("API_KEY"),K("BASE_URL")),ie),"httpService");import et from"bignumber.js";import je from"bignumber.js";var Je=l((e,t=null,n=null)=>{if(e===null||e==="")return"";let r=new je(e),a=1,o=1e3;for(let c=0;c<60;c++)if(new je(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 H,SignerError as Lt,isSignerErrorCode as Ft,isAPIErrorCode as Bt}from"rango-types";var Qt="Assertion failed (Unexpected behaviour)",Xt="Create transaction failed in Rango Server",ze="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",Qt,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",Xt,null,n)}static WalletMissing(){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",ze,null,"Server requested for a blockchain or address not selected by user")}static BlockchainMissing(){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",ze,null,"Server requested for a blockchain or address not selected by user")}};function Ze(e){try{return e?Bt(e)?e:Ft(e)?{[H.REJECTED_BY_USER]:"USER_REJECT",[H.SIGN_TX_ERROR]:"CALL_WALLET_FAILED",[H.SEND_TX_ERROR]:"SEND_TX_FAILED",[H.TX_FAILED_IN_BLOCKCHAIN]:"TX_FAILED_IN_BLOCKCHAIN",[H.NOT_IMPLEMENTED]:I,[H.OPERATION_UNSUPPORTED]:I,[H.UNEXPECTED_BEHAVIOUR]:I}[e]:I:I}catch{return I}}l(Ze,"mapAppErrorCodesToAPIErrorCode");var q=l(e=>{if(!e)return{extraMessage:"",extraMessageErrorCode:null};if(D.isPrettyError(e))return e.getErrorDetail();if(Lt.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 ce=(a=>(a.error="error",a.warning="warning",a.info="info",a.success="success",a))(ce||{}),W=l((e,t)=>{try{return F(e,t)}catch{return null}},"getCurrentNamespaceOfOrNull"),F=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,s=t.tonTransaction?.blockChain,u=t.suiTransaction?.blockChain,p=t.xrplTransaction?.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(s)return{namespace:"Ton",network:s};if(u)return{namespace:"Sui",network:u};if(p)return{namespace:"XRPL",network:p};if(t.transferTransaction){let i=t.transferTransaction.fromWalletAddress;if(!i)throw D.BlockchainMissing();let S=Object.keys(e.wallets).find(d=>e.wallets[d]?.address===i);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"),Z=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 nt(e,t){return e.steps.find(n=>n.status!=="failed"&&n.status!=="success"&&n.id!==t.id)||null}l(nt,"getNextStep");var rt=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||""]||e.wallets[t.xrplTransaction?.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"),le=l((e,t)=>rt(e,t).address,"getCurrentAddressOf");function N(e,t){let{address:n,walletType:r}=rt(e,t),a=Object.keys(e.wallets).map(u=>({k:u,v:e.wallets[u]})).find(({v:u})=>u.address===n&&u.walletType===r)||null,o=a?.k||null,c=a?.v||null,s=c?.walletType;if(c===null)throw D.AssertionFailed(`Wallet for source ${o} not passed: walletType: ${s}`);return c}l(N,"getRelatedWallet");function Ne(e,t){if(!t)return null;try{return N(e,t)}catch(n){return console.log({e:n}),null}}l(Ne,"getRelatedWalletOrNull");var at=l((e,t,n,r)=>r?.find(o=>o.blockchain===e&&o.symbol?.toUpperCase()===t?.toUpperCase()&&o.address===n)?.usdPrice||null,"getUsdPrice");function qt(e,t){let n=new et(0);for(let r=0;r<e.fee.length;r++){let a=e.fee[r];if(a.expenseType==="DECREASE_FROM_OUTPUT")continue;let o=at(a.asset.blockchain,a.asset.symbol,a.asset.address,t);n=n.plus(new et(a.amount).multipliedBy(o||0))}return n}l(qt,"getUsdFeeOfStep");function tt(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?Je(qt(e,t?.tokens),null,8):null,estimatedTimeInSeconds:e.estimatedTimeInSeconds||null,internalSteps:null}}l(tt,"mapSwapStepToPendingSwapStep");function Ht(e){let{inputAmount:t,bestRoute:n,wallets:r,settings:a,validateBalanceOrFee:o,meta:c,swapMode:s="swap"}=e,u=n.result;if(!u)throw Error("Simulation result should not be null");return{creationTime:new Date().getTime().toString(),finishTime:null,requestId:n.requestId||"",inputAmount:t,wallets:r,status:"running",mode:s,isPaused:!1,extraMessage:null,extraMessageSeverity:null,extraMessageDetail:null,extraMessageErrorCode:null,networkStatusExtraMessage:null,networkStatusExtraMessageDetail:null,lastNotificationTime:null,settings:a,simulationResult:u,validateBalanceOrFee:o,steps:n.result?.swaps?.map((p,i)=>{let S=tt(p,c);return{id:i+1,...S,internalSwaps:p?.internalSwaps?.map(d=>tt(d,c))||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(Ht,"calculatePendingSwap");var Ie=(n=>(n.RouteEvent="routeEvent",n.StepEvent="stepEvent",n))(Ie||{}),Pe=(r=>(r.STARTED="started",r.FAILED="failed",r.SUCCEEDED="succeeded",r))(Pe||{}),V=(r=>(r.CREATE_TX="create_tx",r.SEND_TX="send_tx",r.TX_SENT="tx_sent",r))(V||{}),ue=(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))(ue||{}),B=(u=>(u.STARTED="started",u.FAILED="failed",u.SUCCEEDED="succeeded",u.TX_EXECUTION="tx_execution",u.TX_EXECUTION_BLOCKED="tx_execution_blocked",u.APPROVAL_TX_SUCCEEDED="approval_tx_succeeded",u.CHECK_STATUS="check_status",u.OUTPUT_REVEALED="output_revealed",u))(B||{}),Oe=(a=>(a.ERROR="error",a.SUCCESS="success",a.WARNING="warning",a.INFO="info",a))(Oe||{});function ot(e){return e.map(t=>{let{diagnosisUrl:n,estimatedTimeInSeconds:r,explorerUrl:a,feeInUsd:o,executedTransactionId:c,executedTransactionTime:s,expectedOutputAmountHumanReadable:u,fromBlockchain:p,toBlockchain:i,fromSymbol:S,toSymbol:d,fromSymbolAddress:g,toSymbolAddress:m,swapperType:x,swapperId:C,outputAmount:R,fromAmountMaxValue:E,fromAmountMinValue:w,fromAmountPrecision:y,fromAmountRestrictionType:_,fromDecimals:A,status:k}=t;return{diagnosisUrl:n,estimatedTimeInSeconds:r,explorerUrl:a,feeInUsd:o,executedTransactionId:c,executedTransactionTime:s,expectedOutputAmountHumanReadable:u,fromBlockchain:p,toBlockchain:i,fromSymbol:S,toSymbol:d,fromSymbolAddress:g,toSymbolAddress:m,swapperName:C,swapperType:x,outputAmount:R,fromAmountMaxValue:E,fromAmountMinValue:w,fromAmountPrecision:y,fromAmountRestrictionType:_,fromDecimals:A,status:k,transaction:h(t)}})}l(ot,"createSteps");function Gt(e,t,n){let{creationTime:r,finishTime:a,requestId:o,inputAmount:c,status:s,wallets:u,steps:p,settings:i}=e,S=ot(p),g={route:{creationTime:r,finishTime:a,requestId:o,inputAmount:c,status:s,wallets:u,steps:S,slippage:i.slippage,infiniteApproval:i.infiniteApprove},step:S[S.length-1]};if(n)g.step=ot([n])[0];else if(t==="failed"){let m=st(S);m&&(g.step=m)}else{let m=$(S);m&&(g.step=m)}return g}l(Gt,"getEventPayload");function Kt(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:De(n),swapMode:n.mode||"swap"};break;case"succeeded":{r={...e,type:"succeeded",inputAmount:n.inputAmount,inputAmountUsd:De(n),outputAmount:n.steps[n.steps.length-1].outputAmount??"",outputAmountUsd:it(n),swapMode:n.mode||"swap"};break}default:break}r&&K("emitter")?.emit("routeEvent",{event:r,route:t})}l(Kt,"emitRouteEvent");function Vt(e,t,n){K("emitter")?.emit("stepEvent",{event:e,route:t,step:n})}l(Vt,"emitStepEvent");function f(e){let{event:t}=e,{type:n}=t,{route:r,step:a}=Gt(e.swap,n,e.step??void 0),o=`${a.fromBlockchain}.${a.fromSymbol}`,c=`${a.toBlockchain}.${a.toSymbol}`,s=a.outputAmount??"",u=e.step?W(e.swap,e.step):null,p="",i="info";switch(n){case"started":p="Swap process started",i="success";break;case"succeeded":p=`You received ${s} ${c}, hooray!`,i="success";break;case"failed":p=`Swap failed: ${e.swap?.extraMessage??"Reason is unknown"}`,i="error";break;case"tx_execution":t.status==="create_tx"?(p="Please wait while the transaction is created ...",i="info"):t.status==="send_tx"?(e.step&&M(e.step)?p=`Please confirm '${a.swapperName}' smart contract access to ${o}`:p="Please confirm transaction request in your wallet",i="warning"):t.status==="tx_sent"&&(p="Transaction sent successfully",i="info");break;case"check_status":e.step&&M(e.step)?p="Checking approve transaction status ...":p="Checking transaction status ...",i="info";break;case"approval_tx_succeeded":p="Smart contract called successfully",i="success";break;case"output_revealed":p="Transaction output amount revealed",i="success";break;case"tx_execution_blocked":t.status==="waiting_for_wallet_connect"?(p="Please connect your wallet.",i="warning"):t.status==="waiting_for_queue"?(p="Waiting for other swaps to complete",i="warning"):t.status==="waiting_for_change_wallet_account"?(p="Please change your wallet account.",i="warning"):t.status==="waiting_for_network_change"&&(p=`Please change your wallet network to ${u?.network}.`,i="warning");break;default:break}e.step&&Vt({...t,message:p,messageSeverity:i},r,a),(e.event.type==="failed"||!e.step)&&Kt({...t,message:p,messageSeverity:i},r,e.swap)}l(f,"notifier");var Ue=null;function pe(){return{claimedBy:()=>Ue?.id,setClaimer:e=>{Ue={id:e}},reset:()=>{Ue=null}}}l(pe,"claimQueue");var G={};function de(){return{getTransactionDataByHash:e=>G[e]||{},setTransactionDataByHash:(e,t)=>{G[e]||(G[e]={}),G[e].response=t.response||G[e].response,G[e].receiptReceived=t.receiptReceived||G[e].receiptReceived||!1}}}l(de,"inMemoryTransactionsData");var T=l(e=>e.steps.find(t=>t.status!=="failed"&&t.status!=="success")||null,"getCurrentStep"),h=l(e=>{let{evmTransaction:t,evmApprovalTransaction:n,cosmosTransaction:r,solanaTransaction:a,transferTransaction:o,starknetApprovalTransaction:c,starknetTransaction:s,tronApprovalTransaction:u,tronTransaction:p,tonTransaction:i,suiTransaction:S,xrplTransaction:d}=e;return t||n||r||a||o||c||s||u||p||i||S||d},"getCurrentStepTx"),Se=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,e.xrplTransaction=null;let n=t.type;switch(n){case P.EVM:t.isApprovalTx?e.evmApprovalTransaction=t:e.evmTransaction=t;break;case P.TRON:t.isApprovalTx?e.tronApprovalTransaction=t:e.tronTransaction=t;break;case P.STARKNET:t.isApprovalTx?e.starknetApprovalTransaction=t:e.starknetTransaction=t;break;case P.COSMOS:e.cosmosTransaction=t;break;case P.SOLANA:e.solanaTransaction=t;break;case P.TRANSFER:e.transferTransaction=t;break;case P.TON:e.tonTransaction=t;break;case P.SUI:e.suiTransaction=t;break;case P.XRPL:e.xrplTransaction=t;break;default:(r=>{throw new Error(`${r} was unhandled!`)})(n)}return e},"setCurrentStepTx"),We=l(e=>h(e)?.type,"getCurrentStepTxType"),M=l(e=>{let{evmApprovalTransaction:t,starknetApprovalTransaction:n,tronApprovalTransaction:r}=e;return!!(t||n||r)},"isApprovalCurrentStepTx");function O({getStorage:e,setStorage:t,nextStatus:n,nextStepStatus:r,message:a,details:o,errorCode:c=null,hasAlreadyProceededToSign:s,trace:u=null}){let p=e().swapDetails,i=T(p),S={swap:p,step:i};if(r&&i&&(i.status=r),n&&(p.status=n),p.hasAlreadyProceededToSign=s,n&&["failed","success"].includes(n)&&(p.finishTime=new Date().getTime().toString()),(a||o)&&(p.extraMessage=a||"",p.extraMessageDetail=o||""),r&&["failed"].includes(r)){let d=o&&o.includes("Warning")?"Swap canceled by user.":o,g=Ne(p,i)?.walletType;p.extraMessageSeverity="error";let m=Ze(c);S.failureType=m;let x=c!=="REJECTED_BY_USER"&&u?.message&&typeof u.message=="string"?u.message:d||"";X().reportFailure({requestId:p.requestId,step:i?.id||1,eventType:m,reason:x,tags:g?{wallet:g}:void 0}).then().catch()}else r&&["running"].includes(r)?p.extraMessageSeverity="info":r&&["success","approved"].includes(r)?p.extraMessageSeverity="success":r&&["waitingForApproval"].includes(r)&&(p.extraMessageSeverity="warning");return r==="running"&&i&&(i.startTransactionTime=new Date().getTime()),t({...e(),swapDetails:p}),S}l(O,"updateSwapStatus");function en({getStorage:e,setStorage:t},n,r){let a=e().swapDetails;a.hasAlreadyProceededToSign=null;let o=T(a);o.executedTransactionId=n,o.executedTransactionTime=new Date().getTime().toString(),r?.url&&(o.explorerUrl=[...o.explorerUrl||[],{url:r.url,description:r.description||null}]),M(o)?a.extraMessage="Checking approve transaction status ...":a.extraMessage="Checking transaction status ...",a.extraMessageDetail="",a.extraMessageSeverity="info",t({...e(),swapDetails:a}),f({event:{type:"tx_execution",status:"tx_sent"},swap:a,step:o}),f({event:{type:"check_status"},swap:a,step:o})}l(en,"setStepTransactionIds");function tn({getStorage:e,setStorage:t},n,r){let a=e().swapDetails,o=T(a);if(!o)return;let c=new Date;a.lastNotificationTime=c.getTime().toString(),!(o.networkStatus===Y.WaitingForConnectingWallet&&a.networkStatusExtraMessage===n&&a.networkStatusExtraMessageDetail===r)&&(o.networkStatus=Y.WaitingForConnectingWallet,a.networkStatusExtraMessage=n,a.networkStatusExtraMessageDetail=r,t({...e(),swapDetails:a}))}l(tn,"markRunningSwapAsWaitingForConnectingWallet");function lt({getStorage:e,setStorage:t}){let n=e().swapDetails,r=T(n);if(!r)return;let{type:a}=U(n),o=F(n,r),c=`Change ${a} wallet network to ${o.network}`,s=`We\u2019re switching the connected network to ${o.network}. Please check your wallet.`,u=new Date;return n.lastNotificationTime=u.getTime().toString(),r.networkStatus=Y.WaitingForNetworkChange,n.networkStatusExtraMessage=c,n.networkStatusExtraMessageDetail=s,t({...e(),swapDetails:n}),{swap:n,step:r}}l(lt,"markRunningSwapAsSwitchingNetwork");function ut({getStorage:e,setStorage:t}){let n=e().swapDetails,r=T(n);if(r)return n.networkStatusExtraMessage="",n.networkStatusExtraMessageDetail="",r.networkStatus=Y.WaitingForQueue,f({event:{type:"tx_execution_blocked",status:"waiting_for_queue"},swap:n,step:r}),t({...e(),swapDetails:n}),{swap:n,step:r}}l(ut,"markRunningSwapAsDependsOnOtherQueues");async function ge(e){return new Promise(t=>setTimeout(t,e))}l(ge,"delay");var nn=l((e,t)=>e.wallets[t]?.walletType,"getSwapWalletType");function Me(e){return e===null||e?.blockchains===null||e?.blockchains.length===0}l(Me,"isWalletNull");function U(e){let t=T(e),n=W(e,t);if(!n)return{type:null,namespace:null,address:null};let r=nn(e,n.network),a=e.wallets[n.network];return{type:r||null,namespace:n,address:a?a.address:null}}l(U,"getRequiredWallet");async function rn(e){try{return await e.request({method:"eth_chainId"})||e?.chainId}catch{return e?.chainId}}l(rn,"getChainId");async function an(e,t,n){let r=Jt(e,n);if(r)return await rn(r);let o=t(n).get("evm");if(!o)throw new Error("EVM namespace not found for wallet type: "+n);return o.getChainId()}l(an,"getProviderChainId");async function pt(e,t,n,r,a,o){if(Me(n))return!1;let c=W(e,t);if(!c)return!1;if(r.evmBasedChains.find(s=>s.name===c.network)){try{let s=e.wallets[c.network];if(s){let u=await an(a,o,s.walletType);if(u){let p=jt(u,Object.entries(r.blockchains).map(([,i])=>i));if(p&&p.toLowerCase()===c.network.toLowerCase())return!0;if(p&&p.toLowerCase()!==c.network.toLowerCase())return!1}}}catch(s){console.log(s)}return!1}return!0}l(pt,"isNetworkMatchedForTransaction");var dt=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||""]||e.wallets[t.xrplTransaction?.blockChain||""]||t.transferTransaction?.fromWalletAddress||null)!==null,"isTxAlreadyCreated");function me(e){let{getStorage:t,setStorage:n}=e,r=t().swapDetails,a=T(r);a?.networkStatus&&(a.networkStatus=null,n({...t(),swapDetails:r}))}l(me,"resetNetworkStatus");function Le(e,t={message:"",details:"",status:null}){let{message:n,details:r,status:a}=t,{getStorage:o,setStorage:c}=e,s=o().swapDetails,u=T(s);u?.networkStatus&&(s.networkStatusExtraMessage=n,s.networkStatusExtraMessageDetail=r,u.networkStatus=a,c({...o(),swapDetails:s}))}l(Le,"updateNetworkStatus");function St(e,t){let{context:n,queue:r}=t,a=r.getStorage().swapDetails,{ok:o,reason:c}=Fe(a,n.state);if(!o){let s=T(a),{type:u,address:p}=U(a);f({event:{type:"tx_execution_blocked",...c==="account_miss_match"?{status:"waiting_for_change_wallet_account",requiredAccount:p??void 0}:{status:"waiting_for_wallet_connect",requiredWallet:u??void 0,requiredAccount:p??void 0}},swap:a,step:s}),tn({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)},$e,e.reason.description);return}r.unblock()}l(St,"onBlockForConnectWallet");function gt(e,t){let{context:n,queue:r}=t,a=r.getStorage().swapDetails,o=T(a);if(!o||a.status!=="running")return;let c=lt({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)}),s=W(a,o)?.network,u=U(a).type,p=u?n.state(u).network:void 0;c&&f({event:{type:"tx_execution_blocked",status:"waiting_for_network_change",requiredNetwork:s??void 0,currentNetwork:p??void 0},swap:c.swap,step:c.step});let{type:i,namespace:S}=U(a);if(i&&S?.network&&n.canSwitchNetworkTo(i,S.network,S)){let d=n.switchNetwork(i,S);d&&d.then(()=>{r.unblock()}).catch(g=>{Le({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)},{message:g.message,details:g.message,status:Y.NetworkChangeFailed})})}}l(gt,"onBlockForChangeNetwork");function mt(e,t){let{getBlockedTasks:n,forceExecute:r,queue:a,manager:o,context:c}=t,{setClaimer:s,claimedBy:u,reset:p}=pe(),i=n().filter(E=>E.reason.reason==="depends_on_other_queues");if(i.length===0)return;let S=u(),d=!!S;if(S===a.id)return;if(d){ut({getStorage:a.getStorage.bind(a),setStorage:a.setStorage.bind(a)});return}let g=i.find(E=>E.queue_id===t.queue_id);g||(g=i[0]),s(g.queue_id);let m=g.storage.get(),{type:x,namespace:C,address:R}=U(m.swapDetails);r(g.queue_id,{claimedBy:u(),resetClaimedBy:()=>{p(),x&&Qe({walletType:x,network:C?.network,accounts:R?[R]:[]},o,c.canSwitchNetworkTo)}})}l(mt,"onDependsOnOtherQueues");function Fe(e,t){let{type:n,address:r}=U(e);if(!n||!r)return{ok:!1,reason:"not_connected"};let a=t(n),{accounts:o,connected:c}=a,s=o||[];return c?{ok:s.some(p=>{let{address:i}=Yt(p);return r.toLocaleLowerCase()===i.toLocaleLowerCase()}),reason:"account_miss_match"}:{ok:!1,reason:"not_connected"}}l(Fe,"isRequiredWalletConnected");function Te(e,t){return({hash:n,response:r})=>{let{setTransactionDataByHash:a}=de(),{getStorage:o,next:c,schedule:s,context:u}=e,{meta:p}=u,i=o().swapDetails,S=T(i),d=F(i,S),g=Z(n,d.network,p.blockchains);en(e,n,g&&(!r||r&&!r.hashRequiringUpdate)?{url:g,description:t.isApproval?"Approve":"Swap"}:void 0),r&&a(n,{response:r}),s("CHECK_TRANSACTION_STATUS"),c()}}l(Te,"handleSuccessfulSign");function ee(e){return t=>{let{getStorage:n,setStorage:r,failed:a}=e,o=n().swapDetails,c=T(o);if(o.status==="failed")return;let s=N(o,c),{extraMessage:u,extraMessageDetail:p,extraMessageErrorCode:i}=q(t);$t(t,{tags:{requestId:o.requestId,rpc:!0,swapper:c?.swapperId||"",walletType:s?.walletType||""},context:Zt.isSignerError(t)?t.getErrorContext():{}});let S=O({getStorage:n,setStorage:r,nextStatus:"failed",nextStepStatus:"failed",message:u,details:p,errorCode:i,trace:t?.cause});f({event:{type:"failed",reason:u,reasonCode:S.failureType??I,inputAmount:L(o),inputAmountUsd:Q(o)},...S}),a()}}l(ee,"handleRejectedSign");function Tt(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 s=c.list.getStorage(),u=s?.swapDetails;if(u&&u.status==="running"){let p=T(u);if(p){let i=s?.swapDetails.wallets[p.fromBlockchain]?.walletType,S=Object.keys(c.list.state.tasks).some(g=>{let m=c.list.state.tasks[g];return m.status===be.BLOCKED&&["waiting_for_connecting_wallet"].includes(m.blockedFor?.reason)}),d=W(u,p)?.network;if(!n.some(g=>g.name==d))return;if(i===a&&S&&d!=o){let g=c.list,{type:m}=U(u),x=se(m);c.list.block({reason:{reason:"waiting_for_network_change",description:x},silent:!0});let C=lt({getStorage:g.getStorage.bind(g),setStorage:g.setStorage.bind(g)});C&&f({event:{type:"tx_execution_blocked",status:"waiting_for_network_change",currentNetwork:o,requiredNetwork:d??void 0},swap:C.swap,step:C.step})}}}})}l(Tt,"checkWaitingForConnectWalletChange");function Be(e){e?.getAll().forEach(t=>{if(Object.keys(t.list.state.tasks).some(r=>{let a=t.list.state.tasks[r];return a.status===be.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}=U(r),o=oe(a);t.list.block({reason:{reason:"waiting_for_connecting_wallet",description:o}})}}})}l(Be,"checkWaitingForNetworkChange");function on(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(on,"getRunningSwaps");function sn(e){e.forEach(t=>{let n=T(t),r="tx_execution_blocked",a;n?.networkStatus===Y.WaitingForQueue?a="waiting_for_queue":t?.status==="running"&&(a="waiting_for_wallet_connect"),r&&f&&f({event:{type:r,status:a??"waiting_for_queue"},swap:t,step:n})})}l(sn,"resetRunningSwapNotifsOnPageLoad");function Qe(e,t,n,r={fallbackToOnlyWallet:!0}){let{walletType:a,network:o}=e;if(!a)return;let c=[],s=[];t?.getAll().forEach(p=>{if(p.status===be.BLOCKED){let i=p.list.getStorage(),S=i?.swapDetails;if(S&&S.status==="running"){let d=T(S);d&&(o&&W(S,d)?.network==o&&i?.swapDetails.wallets[o]?.walletType===a?c.push(p.list):i?.swapDetails.wallets[d.fromBlockchain]?.walletType===a&&s.push(p.list))}}});let u;if(c.length>0){if(u=c[0],c.length>1)for(let p=1;p<c.length;p++){let i=c[p];ut({getStorage:i.getStorage.bind(i),setStorage:i.setStorage.bind(i)})}}else s.length>0&&r.fallbackToOnlyWallet&&(u=s[0]);if(u){let p=u.getStorage(),i=T(p?.swapDetails),S=i?W(p.swapDetails,i):null;!o||!S||!n?.(a,o,S)?u.unblock():u.checkBlock()}}l(Qe,"retryOn");function Et(e){return!!e.evmTransaction||!!e.evmApprovalTransaction}l(Et,"isNeedBlockQueueForParallel");async function ft(e){let t=await e;if(!t.ok||!t.transaction)throw D.CreateTransaction(t.error||"bad response from create tx endpoint");return t}l(ft,"throwOnOK");function cn(e,t){let{reset:n}=pe();e.actions.cancel();let r=O({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 f({event:{type:"failed",reasonCode:"USER_CANCEL",reason:r.swap.extraMessage??void 0,inputAmount:L(r.swap),inputAmountUsd:Q(r.swap)},swap:r.swap,step:r.step}),n(),t&&t?.retry(),r}l(cn,"cancelSwap");function $(e){return e.slice().reverse().find(t=>t.status==="success")}l($,"getLastSuccessfulStep");function st(e){return e.slice().reverse().find(t=>t.status==="failed")}l(st,"getFailedStep");function ln(e){let{transaction:t}=e;return t?.type===P.EVM&&t.isApprovalTx||t?.type===P.STARKNET&&t.isApprovalTx||t?.type===P.TRON&&t.isApprovalTx}l(ln,"isApprovalTX");function Ee(e,t){let n=new zt(e).multipliedBy(t);return isNaN(n.toNumber())?"":n.toString()}l(Ee,"getTokenAmountInUsd");function De(e){return Ee(e.inputAmount,e.steps[0].fromUsdPrice??"")}l(De,"getSwapInputUsd");function it(e){let t=e.steps[e.steps.length-1];return Ee(t.outputAmount??"",t.toUsdPrice??"")}l(it,"getSwapOutputUsd");function wt(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(wt,"getLastFinishedStep");function L(e){let t=wt(e);return t?t.index===0?e.inputAmount:e.steps[t.index-1].outputAmount??"":""}l(L,"getLastFinishedStepInput");function Q(e){let t=wt(e);return Ee(L(e),t?.step?.fromUsdPrice??"")}l(Q,"getLastFinishedStepInputUsd");function fe(e){let t=$(e.steps);return Ee(t?.outputAmount??"",t?.toUsdPrice??"")}l(fe,"getLastSuccessfulStepOutputUsd");function J(e,t,n){return{type:"failed",reason:t,reasonCode:n??I,inputAmount:L(e),inputAmountUsd:Q(e)}}l(J,"createStepFailedEvent");var At=5e3,un=5e3;async function pn({getStorage:e,setStorage:t,next:n,schedule:r,retry:a,failed:o,context:c}){let s=e().swapDetails,{meta:u}=c,p=new Error("check status Error"),i=T(s);if(!i?.executedTransactionId)return;let S=h(i),d=i.executedTransactionId,g=!1,m=null,x=null,{getTransactionDataByHash:C,setTransactionDataByHash:R}=de();try{let A=We(i),k=N(s,i);A&&k&&(x=(await c.getSigners(k.walletType)).getSigner(A))}catch{}try{let{response:A,receiptReceived:k}=C(d);if(x?.wait&&!k){let b=S?.blockChain&&u.blockchains?.[S?.blockChain]?.chainId||void 0,{hash:v,response:re}=await x.wait(d,b,A);if(v!==d){i.executedTransactionId=v||i.executedTransactionId;let ae=F(s,i),Re;!!Object.keys(u.blockchains).length&&(Re=Z(i.executedTransactionId,ae.network,u.blockchains)),Re&&i.explorerUrl&&i.explorerUrl?.length>=1&&(i.explorerUrl[i.explorerUrl.length-1]={url:Re,description:"Replaced Swap"}),d=i.executedTransactionId,v&&re&&R(v,{response:re})}else R(v,{receiptReceived:!0})}}catch(A){let{extraMessage:k,extraMessageDetail:b,extraMessageErrorCode:v}=q(A),re=O({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:k,details:b,errorCode:v}),ae=J(s,k,re.failureType);z(p,{tags:{type:"singer-error",reason:ae.reason,reasonCode:ae.reasonCode,message:k,messageDetail:b,pendingSwap:s},context:yt.isSignerError(A)?A.getErrorContext():{}}),g=!0}let E={requestId:s.requestId,txId:d,step:i.id};try{m=await X().checkStatus(E)}catch{await ge(At),a(),z(p,{tags:{type:"request-error",requestBody:E,pendingSwap:s}});return}if(g)return o();if(i?.status==="failed")return;let w=m?.outputAmount||(i.outputAmount?i.outputAmount:null),y=i.outputAmount||null;s.extraMessage=m?.extraMessage||s.extraMessage,s.extraMessageSeverity="info",s.extraMessageDetail="",i.status=m?.status||i.status,i.diagnosisUrl=m?.diagnosisUrl||i.diagnosisUrl||null,i.outputAmount=w||i.outputAmount,i.explorerUrl=m?.explorerUrl||i.explorerUrl,i.internalSteps=m?.steps||null;let _=m?.newTx;if(_&&(i.status="created",i.executedTransactionId=null,i.executedTransactionTime=null,Se(i,_)),y===null&&w!==null?f({event:{type:"output_revealed",outputAmount:w},swap:s,step:i}):y===null&&w===null&&f({event:{type:"check_status"},swap:s,step:i}),i.status==="success"){let A=nt(s,i);s.extraMessageDetail="",s.extraMessage=A?`starting next step: ${A.swapperId}: ${A.fromBlockchain} -> ${A.toBlockchain}`:"",f({event:{type:"succeeded",inputAmount:L(s),inputAmountUsd:Q(s),outputAmount:i.outputAmount??"",outputAmountUsd:fe(s)},swap:s,step:i})}else i.status==="failed"&&(s.extraMessage="Transaction failed in blockchain",s.extraMessageSeverity="error",s.extraMessageDetail=m?.extraMessage||"",s.status="failed",s.finishTime=new Date().getTime().toString(),z(p,{tags:{type:"transaction-failed",message:s.extraMessage,messageDetails:s.extraMessageDetail,pendingSwap:s}}));t({...e(),swapDetails:s}),m?.status==="failed"?o():m?.status==="success"||m?.status==="running"&&m.newTx?(r("SCHEDULE_NEXT_STEP"),n()):(await ge(At),a())}l(pn,"checkTransactionStatus");async function dn({getStorage:e,setStorage:t,next:n,schedule:r,retry:a,failed:o,context:c}){let s=e().swapDetails,{meta:u}=c,{getTransactionDataByHash:p,setTransactionDataByHash:i}=de(),S=new Error("check approval status error"),d=T(s);if(!d){console.log("ignore check status, current step is null");return}let g=h(d);if(!d?.executedTransactionId)return;let m=d.executedTransactionId,x=null;try{let E=We(d),w=N(s,d);E&&w&&(x=(await c.getSigners(w.walletType)).getSigner(E))}catch{}try{let{response:E,receiptReceived:w}=p(m);if(x?.wait&&!w){let y=g?.blockChain&&u.blockchains?.[g?.blockChain]?.chainId||void 0,{hash:_,response:A}=await x.wait(m,y,E);if(_!==m){d.executedTransactionId=_||d.executedTransactionId;let k=F(s,d),b;!!Object.keys(u.blockchains).length&&(b=Z(d.executedTransactionId,k.network,u.blockchains)),b&&d.explorerUrl&&d.explorerUrl?.length>=1&&(d.explorerUrl[d.explorerUrl.length-1]={url:b,description:"Replaced Approve"}),m=d.executedTransactionId,_&&A&&i(_,{response:A})}else i(_,{receiptReceived:!0})}}catch(E){let{extraMessage:w,extraMessageDetail:y,extraMessageErrorCode:_}=q(E),A=O({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:w,details:y,errorCode:_}),k=J(s,w,A.failureType);return f({event:k,...A}),z(S,{tags:{type:"singer-error",reason:k.reason,reasonCode:k.reasonCode,message:w,messageDetail:y,pendingSwap:s},context:yt.isSignerError(E)?E.getErrorContext():{}}),o()}let C=!1,R={requestId:s.requestId,txId:d.executedTransactionId};try{let E=await X().checkApproval(R.requestId,R.txId);if(d?.status==="failed")return;if(C=E.isApproved,!C&&(E.txStatus==="failed"||E.txStatus==="success")){let w,y;E.txStatus==="failed"?(w="Approve transaction failed",y="Smart contract approval tx failed in blockchain."):(w="Not enough approval",E.requiredApprovedAmount&&E.currentApprovedAmount?y=`Required approval: ${E.requiredApprovedAmount}, current approval: ${E.currentApprovedAmount}`:y="You still don't have enough approval for this swap.");let _=O({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",errorCode:"INSUFFICIENT_APPROVE",message:w,details:y}),A=J(s,w,_.failureType);f({event:A,..._}),z(S,{tags:{type:"approval-failed",message:s.extraMessage,messageDetails:s.extraMessageDetail,pendingSwap:s}}),o()}else C||f({event:{type:"check_status"},swap:s,step:d})}catch{C=!1,z(S,{tags:{type:"request-error",requestBody:R,pendingSwap:s}})}C?(d.status="approved",s.extraMessage=`Spending ${d.fromSymbol} approved successfully.`,s.extraMessageDetail=null,s.extraMessageSeverity="success",d.evmApprovalTransaction=null,d.executedTransactionId=null,d.executedTransactionTime=null,d.starknetApprovalTransaction=null,d.tronApprovalTransaction=null,t({...e(),swapDetails:s}),f({event:{type:"approval_tx_succeeded"},swap:s,step:d}),r("SCHEDULE_NEXT_STEP"),n()):(await ge(un),a())}l(dn,"checkApprovalStatus");async function xt(e){let t=e.getStorage().swapDetails,n=T(t);if(!n){console.log("ignore check status, current step is null",t.requestId);return}me(e),n.status==="running"?await pn(e):n.status==="waitingForApproval"&&await dn(e)}l(xt,"checkStatus");import{warn as Sn}from"@rango-dev/logging-core";import{TransactionType as gn}from"rango-sdk";async function Ct(e){let{setStorage:t,getStorage:n,next:r,schedule:a}=e,o=n().swapDetails,c=T(o);if(!h(c)){f({event:{type:"tx_execution",status:"create_tx"},swap:o,step:c});let u={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:p}=await ft(X().createTransaction(u));p&&Se(c,p),t({...n(),swapDetails:o}),p?.blockChain===gn.XRPL?a("EXECUTE_XRPL_TRANSACTION"):a("EXECUTE_TRANSACTION"),r()}catch(p){o.status="failed",o.finishTime=new Date().getTime().toString();let{extraMessage:i,extraMessageDetail:S}=q(p),d=O({getStorage:n,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:i,details:S,errorCode:"FETCH_TX_FAILED"}),g=J(o,i,d.failureType);f({event:g,...d}),p instanceof Error&&Sn(new Error("create transaction error"),{tags:{message:p.message,requestBody:u,reason:g.reason,reasonCode:g.reasonCode,pendingSwap:o}}),e.failed()}}}l(Ct,"createTransaction");import{PendingSwapNetworkStatus as kt}from"rango-types";import{Err as ye,Ok as Xe}from"ts-results";function we(e){return e.claimedBy===e._queue?.id}l(we,"isClaimedByCurrentQueue");function Ae(e,t){e.block(t),we(e.context)&&e.context.resetClaimedBy&&e.context.resetClaimedBy()}l(Ae,"requestBlockQueue");async function xe(e){let{getStorage:t,context:n}=e,r=t().swapDetails,a=T(r),o=mn(e);if(o.err)return o;let c=await Tn(e);if(c.err)return c;a.networkStatus===kt.NetworkChanged&&Le(e,{message:"",details:"The network has been successfully changed.",status:kt.NetworkChanged});let s=Et(a),u=we(n);if(s&&!u){let p={reason:"depends_on_other_queues",description:he,details:{}};return new ye(p)}return new Xe(!0)}l(xe,"checkEnvironmentBeforeExecuteTransaction");function mn(e){let{getStorage:t,context:n}=e,{wallets:r}=n,a=t().swapDetails;if(!Fe(a,n.state).ok){let{type:c,address:s}=U(a),u=r?.blockchains?.find(S=>!S.accounts?.find(d=>d.walletType===c)),p=Me(r)||u?oe(c):Ye(c,s),i={reason:"waiting_for_connecting_wallet",description:p};return new ye(i)}return new Xe(!0)}l(mn,"ensureRequiredWalletIsConnected");async function Tn(e){let{getStorage:t,context:n}=e,{meta:r,wallets:a,providers:o,hubProvider:c}=n,s=t().swapDetails,u=T(s),p=await pt(s,u,a,r,o,c),{claimedBy:i}=pe();if(!!i()&&!we(n)&&!p){let g=he,m={reason:"depends_on_other_queues",details:g};return new ye(m)}else if(!p){let g=F(s,u),m=se(g.network),x={reason:"waiting_for_network_change",details:m};return new ye(x)}return new Xe(!0)}l(Tn,"ensureWalletIsOnCorrectNetwork");import{Err as _t,Ok as Rt}from"ts-results";function Ce(e){let{getStorage:t,context:n}=e,{isMobileWallet:r}=n,a=t().swapDetails,o=T(a),c=N(a,o),s=r(c?.walletType),u=h(o),p=M(o);if(!u||!u.type)return new _t({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: tx is null!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"});let i=typeof a.hasAlreadyProceededToSign=="boolean";return p?new Rt({nextStatus:void 0,nextStepStatus:"waitingForApproval",details:"Waiting for approve transaction to be mined and confirmed successfully",message:`Waiting for approval of ${o?.fromSymbol} coin ${s?"on your mobile phone!":""}`}):i?new _t({message:"Transaction is expired. Please try again.",nextStepStatus:"failed",nextStatus:"failed",details:"",errorCode:"TX_EXPIRED"}):new Rt({message:"Executing transaction ...",nextStepStatus:"running",nextStatus:"running",details:`${s?"Check your mobile phone!":""}`})}l(Ce,"produceNextStateForTransaction");function ke(e,t){let{getStorage:n,setStorage:r}=e,a=n().swapDetails,o=T(a),c=M(o),s=typeof a.hasAlreadyProceededToSign=="boolean",u=O({getStorage:n,setStorage:r,nextStepStatus:t.nextStepStatus,nextStatus:t.nextStatus,message:t.message,details:t.details,errorCode:t.errorCode,hasAlreadyProceededToSign:c?void 0:s});f({event:{type:"failed",reason:t.message,reasonCode:u.failureType??I,inputAmount:L(a),inputAmountUsd:Q(a)},...u})}l(ke,"onNextStateError");function _e(e,t){let{getStorage:n,setStorage:r}=e,a=n().swapDetails,o=T(a),c=M(o),s=typeof a.hasAlreadyProceededToSign=="boolean",u=O({getStorage:n,setStorage:r,nextStepStatus:t.nextStepStatus,nextStatus:t.nextStatus,message:t.message,details:t.details,hasAlreadyProceededToSign:c?void 0:s});f({event:{type:"tx_execution",status:"send_tx"},...u})}l(_e,"onNextStateOk");async function qe(e){let t=await xe(e);if(t.err){Ae(e,t.val);return}me(e);let{failed:n,getStorage:r,context:a}=e,{meta:o,getSigners:c}=a,s=r().swapDetails,u=T(s),p=M(u),i=l(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),S=Ce(e);if(S.err){ke(e,S.val),n(),i();return}_e(e,S.val);let d=h(u),g=N(s,u),m=le(s,u),x=o.blockchains?.[d.blockChain]?.chainId,C;try{C=await c(g.walletType)}catch(E){ee(e)(E),i();return}await C.getSigner(d.type).signAndSendTx(d,m,x).then(Te(e,{isApproval:p}),ee(e)).finally(()=>{i()})}l(qe,"executeTransaction");import{isXrplTransaction as En}from"rango-types";import{Err as te}from"ts-results";var vt="10000000000000";function ht(e){let[t,n]=e.split("-");return[t,n]}l(ht,"extractFromSymbolAddress");async function He(e){let t=await xe(e);if(t.err){Ae(e,t.val);return}let{failed:n,getStorage:r,context:a}=e,{meta:o,getSigners:c}=a,s=r().swapDetails,u=T(s),p=l(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),i=l(w=>{ke(e,w.val),n(),p()},"handleErr"),S=Ce(e),d=h(u);if(S.err){i(S);return}if(!d){i(new te({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: tx is null!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}if(!En(d)){i(new te({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Expected XRPL transaction but it doesn't match with the structure.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}if(d.data.TransactionType!=="Payment"){i(new te({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: We only support XRPL transactions with payment type",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}_e(e,S.val);let g=N(s,u),m=le(s,u),x=o.blockchains?.[d.blockChain]?.chainId,C=await c(g.walletType),R=[d];if(u.toSymbolAddress){let[w,y]=ht(u.toSymbolAddress);if(!w||!y){i(new te({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected token format for XRPL transaction.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}let A=a.hubProvider(g.walletType).get("xrpl");if(!A){i(new te({nextStatus:"failed",nextStepStatus:"failed",message:"XRPL is not available on your wallet.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}if(!(await A.accountLines(g.address,{peer:y})).some(v=>v.currency===w&&v.account===y&&v.limit!=="0")){let v={TransactionType:"TrustSet",Account:d.data.Account,LimitAmount:{currency:w,issuer:y,value:vt}};R.unshift({...d,data:v})}}let E=C.getSigner(d.type);for(let w of R)try{let y=await E.signAndSendTx(w,m,x);Te(e,{isApproval:w.data.TransactionType==="TrustSet"})(y)}catch(y){ee(e)(y);break}p()}l(He,"executeXrplTransaction");import{TransactionType as fn}from"rango-types";function Nt({schedule:e,next:t,failed:n,setStorage:r,getStorage:a}){let o=a().swapDetails,c=T(o),s=o.steps.find(u=>u.status==="failed");if(c&&!s){if(dt(o,c))return c.fromBlockchain===fn.XRPL?e("EXECUTE_XRPL_TRANSACTION"):e("EXECUTE_TRANSACTION"),t();if(c?.executedTransactionId)return e("CHECK_TRANSACTION_STATUS"),t();o.status="running",r({...a(),swapDetails:o}),f({event:{type:"started"},swap:o,step:c}),e("CREATE_TRANSACTION"),t()}else{o.status=s?"failed":"success",o.finishTime=new Date().getTime().toString(),r({...a(),swapDetails:o});let u=L(o),p=Q(o);f({...s?{event:{type:"failed",reason:o.extraMessage??void 0,reasonCode:"CALL_OR_SEND_FAILED",inputAmount:u,inputAmountUsd:p}}:{event:{type:"succeeded",inputAmount:u,inputAmountUsd:p,outputAmount:$(o.steps)?.outputAmount??"",outputAmountUsd:fe(o)}},swap:o,step:null}),s?n():t()}}l(Nt,"scheduleNextStep");function It({schedule:e,next:t,getStorage:n}){let r=n().swapDetails;f({event:{type:"started"},swap:r,step:null}),e("SCHEDULE_NEXT_STEP"),t()}l(It,"start");var Pt={name:"swap",actions:{START:It,SCHEDULE_NEXT_STEP:Nt,CREATE_TRANSACTION:Ct,EXECUTE_TRANSACTION:qe,EXECUTE_XRPL_TRANSACTION:He,CHECK_TRANSACTION_STATUS:xt},run:["START"],whenTaskBlocked:(e,t)=>{e.reason.reason==="waiting_for_connecting_wallet"?St(e,t):e.reason.reason==="waiting_for_network_change"?gt(e,t):e.reason.reason==="depends_on_other_queues"&&mt(e,t)}};import{useManager as Cn}from"@rango-dev/queue-manager-react";import{useEffect as Ke,useState as kn}from"react";import{DB_NAME as wn,Persistor as An,Status as ne}from"@rango-dev/queue-manager-core";import{v4 as yn}from"uuid";var Ot="migratedToQueueManager";function Ge(){return!!window.localStorage.getItem(Ot)}l(Ge,"migrated");async function xn(){try{return(await window.indexedDB.databases()).map(e=>e.name).includes(wn)}catch{return!1}}l(xn,"hasQueueManagerOnIDB");async function Dt(){let e=window.localStorage.getItem("pendingSwaps"),t=await xn();if(!e||Ge()||t)return!0;let n=JSON.parse(e),r=[];n.forEach(c=>{if(c.status==="running"){let s=yn(),u={id:c.requestId,createdAt:Number(c.creationTime),name:"swap",status:ne.RUNNING,storage:{swapDetails:c},state:{status:ne.RUNNING,activeTaskIndex:0,tasks:{[s]:{blockedFor:null,status:ne.RUNNING}}},tasks:[{id:s,action:"SCHEDULE_NEXT_STEP"}]};r.push(u)}else{let s=c.status==="success"?ne.SUCCESS:ne.FAILED,u={id:c.requestId,createdAt:Number(c.creationTime),name:"swap",status:s,storage:{swapDetails:c},state:{status:s,activeTaskIndex:0,tasks:{}},tasks:[]};r.push(u)}});let a=new An,o=r.map(async c=>a.insertQueue(c));return await Promise.all(o),window.localStorage.setItem(Ot,"1"),!0}l(Dt,"migration");var Ut=0;function _n(e){return`${e?.walletType}-${e?.network}-${e?.accounts?.toString()}`}l(_n,"getLastConnectedWalletHash");function Rn(){let e=Ge(),[t,n]=kn(e);return Ke(()=>{(async()=>Ut||(Ut=1,Dt().finally(()=>{n(!0)})))()},[]),{status:t}}l(Rn,"useMigration");function vn(e){let{manager:t}=Cn(),{lastConnectedWallet:n,disconnectedWallet:r,evmChains:a,canSwitchNetworkTo:o,clearDisconnectedWallet:c}=e;Ke(()=>{n&&(Tt({evmChains:a,lastConnectedWallet:n,manager:t}),Qe(n,t,o))},[_n(n)]),Ke(()=>{r&&(Be(t),c())},[r])}l(vn,"useQueueManager");function io(e){return Ve(e),Pt}l(io,"makeQueueDefinition");export{Oe as EventSeverity,ce as MessageSeverity,D as PrettyError,Pe as RouteEventType,B as StepEventType,ue as StepExecutionBlockedEventStatus,V as StepExecutionEventStatus,Ie as WidgetEvents,Ht as calculatePendingSwap,cn as cancelSwap,Be as checkWaitingForNetworkChange,W as getCurrentNamespaceOfOrNull,T as getCurrentStep,$ as getLastSuccessfulStep,N as getRelatedWallet,Ne as getRelatedWalletOrNull,U as getRequiredWallet,on as getRunningSwaps,at as getUsdPrice,ln as isApprovalTX,io as makeQueueDefinition,q as prettifyErrorMessage,sn as resetRunningSwapNotifsOnPageLoad,O as updateSwapStatus,Rn as useMigration,vn as useQueueManager};
2
2
  //# sourceMappingURL=index.js.map