@rango-dev/queue-manager-rango-preset 0.41.0 → 0.41.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # [0.41.0](https://github.com/rango-exchange/rango-client/compare/queue-manager-rango-preset@0.40.0...queue-manager-rango-preset@0.41.0) (2024-12-30)
2
+
3
+
4
+
1
5
  # [0.40.0](https://github.com/rango-exchange/rango-client/compare/queue-manager-rango-preset@0.39.0...queue-manager-rango-preset@0.40.0) (2024-11-27)
2
6
 
3
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"executeTransaction.d.ts","sourceRoot":"","sources":["../../src/actions/executeTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAyBrE;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,GACvE,OAAO,CAAC,IAAI,CAAC,CA+Ff"}
1
+ {"version":3,"file":"executeTransaction.d.ts","sourceRoot":"","sources":["../../src/actions/executeTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAyBrE;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,GACvE,OAAO,CAAC,IAAI,CAAC,CAiGf"}
package/dist/helpers.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { SwapStatus, Wallet } from './shared';
1
+ import type { SwapStatus, TargetNamespace, Wallet } from './shared';
2
2
  import type { ArrayElement, Step, SwapQueueContext, SwapQueueDef, SwapStorage } from './types';
3
3
  import type { ExecuterActions, Manager, QueueInfo } from '@rango-dev/queue-manager-core';
4
4
  import type { Meta, Network, Providers, WalletState, WalletType } from '@rango-dev/wallets-shared';
@@ -135,7 +135,7 @@ export declare function isWalletNull(wallet: Wallet | null): boolean;
135
135
  */
136
136
  export declare function getRequiredWallet(swap: PendingSwap): {
137
137
  type: WalletType | null;
138
- network: Network | null;
138
+ namespace: TargetNamespace | null;
139
139
  address: string | null;
140
140
  };
141
141
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,KAAK,EACV,YAAY,EACZ,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACZ,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACV,eAAe,EACf,OAAO,EACP,SAAS,EAGV,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,IAAI,EACJ,OAAO,EACP,SAAS,EACT,WAAW,EACX,UAAU,EACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,yBAAyB,EACzB,iBAAiB,EACjB,WAAW,EACZ,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,eAAe,EACf,UAAU,EACX,MAAM,aAAa,CAAC;AAUrB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAe,MAAM,aAAa,CAAC;AAwBpE,OAAO,EAKL,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB,KAAK,eAAe,GAAG,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAChF,KAAK,oBAAoB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;AAC/C,KAAK,mBAAmB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;AAI9C;;;;GAIG;AACH,wBAAgB,UAAU;;2BAGC,MAAM;;EAShC;AAED;;;;;GAKG;AACH,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,wBAAgB,wBAAwB;qCAEH,MAAM;qCAEN,MAAM,QAAQ,eAAe;EAajE;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,SAAU,WAAW,KAAG,eAAe,GAAG,IAMpE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,gBACd,eAAe,KAC3B,WAAW,GAAG,IAyBhB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,gBACd,eAAe,eACf,WAAW,KACvB,eAqDF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,gBAClB,eAAe,KAC3B,eAAe,GAAG,SAEpB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,gBACrB,eAAe,KAC3B,OAWF,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,OAAO,EACP,OAAO,EACP,SAAgB,EAChB,yBAAyB,EACzB,KAAY,GACb,EAAE;IACD,UAAU,EAAE,eAAe,CACzB,WAAW,EACX,eAAe,EACf,gBAAgB,CACjB,CAAC,YAAY,CAAC,CAAC;IAChB,UAAU,EAAE,eAAe,CACzB,WAAW,EACX,eAAe,EACf,gBAAgB,CACjB,CAAC,YAAY,CAAC,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC,SAAS,CAAC,EAAE,YAAY,GAAG,eAAe,GAAG,IAAI,CAAC;IAClD,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;CAClC,GAAG;IACF,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B,CAsFA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,EACzE,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,WAAW,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD,IAAI,CA+CN;AAED;;;GAGG;AACH,wBAAgB,2CAA2C,CACzD,EACE,UAAU,EACV,UAAU,GACX,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,GAAG,YAAY,CAAC,EACrD,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GACnB,IAAI,CA4BN;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,EAChD,UAAU,EACV,UAAU,GACX,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,GAAG,YAAY,CAAC,GACjD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,eAAe,CAAC;CACvB,GACD,SAAS,CA8BZ;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CAAC,EACpD,UAAU,EACV,UAAU,GACX,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,GAAG,YAAY,CAAC,GACjD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,eAAe,CAAC;CACvB,GACD,SAAS,CA6BZ;AAED,wBAAsB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAExD;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,SACtB,WAAW,WACR,OAAO,KACf,UAEF,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAM3D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG;IACpD,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAoBA;AAiBD;;;GAGG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,OAAO,CAAC,CA8ClB;AAED,eAAO,MAAM,kBAAkB,SACvB,WAAW,QACX,eAAe,KACpB,OAeF,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,GACvE,IAAI,CASN;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,EACxE,IAAI,GAAE;IACJ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,wBAAwB,GAAG,IAAI,CAAC;CAKzC,GACA,IAAI,CAYN;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,oBAAoB,EAC3B,IAAI,EAAE,mBAAmB,GACxB,IAAI,CA2CN;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,mBAAmB,GACxB,IAAI,CAoDN;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,mBAAmB,GACxB,IAAI,CA6DN;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,WAAW,GAC1C;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,eAAe,GAAG,oBAAoB,CAAA;CAAE,CAiBjE;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,GACvE,OAAO,CAAC,IAAI,CAAC,CA0Lf;AAED,wBAAgB,kCAAkC,CAAC,MAAM,EAAE;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAChC,GAAG,IAAI,CAuEP;AAED,wBAAgB,4BAA4B,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAgCpE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAa/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAAC,YAAY,EAAE,WAAW,EAAE,QA2B3E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,OAAO,EACjB,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,EACpE,OAAO;;CAAiC,GACvC,IAAI,CAyDN;AAMD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAE1E;AAMD,wBAAsB,SAAS,CAC7B,WAAW,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAC9C,OAAO,CAAC,yBAAyB,CAAC,CAQpC;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,SAAS,EACf,OAAO,CAAC,EAAE,OAAO,GAChB;IACD,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;CAC9B,CAgCA;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,EAAE,EACtE,KAAK,EAAE,CAAC,GACP,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAK7B;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,EAAE,EAC9D,KAAK,EAAE,CAAC,GACP,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAK7B;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAShD"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,8 +3,8 @@ import type { SwapQueueDef } from './types';
3
3
  export { PrettyError, prettifyErrorMessage } from './shared-errors';
4
4
  export type { SwapQueueContext, SwapStorage, RouteExecutionEvents, Route, Step, RouteEvent, StepEvent, RouteEventData, StepEventData, RouteStartedEvent, RouteSucceededEvent, RouteFailedEvent, StepStartedEvent, StepSucceededEvent, StepFailedEvent, StepTxExecutionUpdatedEvent, StepTxExecutionBlockedEvent, StepCheckStatusEvent, StepApprovalTxSucceededEvent, StepOutputRevealedEvent, } from './types';
5
5
  export { WidgetEvents, StepEventType, RouteEventType, StepExecutionEventStatus, StepExecutionBlockedEventStatus, EventSeverity, } from './types';
6
- export type { PendingSwapWithQueueID, EventType } from './shared';
7
- export { getCurrentBlockchainOfOrNull, getRelatedWalletOrNull, getRelatedWallet, MessageSeverity, calculatePendingSwap, getUsdPrice, } from './shared';
6
+ export type { PendingSwapWithQueueID, EventType, TargetNamespace, } from './shared';
7
+ export { getCurrentNamespaceOfOrNull, getRelatedWalletOrNull, getRelatedWallet, MessageSeverity, calculatePendingSwap, getUsdPrice, } from './shared';
8
8
  export { updateSwapStatus, checkWaitingForNetworkChange, getCurrentStep, cancelSwap, getRequiredWallet, getRunningSwaps, resetRunningSwapNotifsOnPageLoad, isApprovalTX, getLastSuccessfulStep, } from './helpers';
9
9
  export { useMigration, useQueueManager } from './hooks';
10
10
  export declare function makeQueueDefinition(configs: Configs): SwapQueueDef;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAK5C,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACpE,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,KAAK,EACL,IAAI,EACJ,UAAU,EACV,SAAS,EACT,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,+BAA+B,EAC/B,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,gCAAgC,EAChC,YAAY,EACZ,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAExD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAGlE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAK5C,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACpE,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,KAAK,EACL,IAAI,EACJ,UAAU,EACV,SAAS,EACT,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,+BAA+B,EAC/B,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,sBAAsB,EACtB,SAAS,EACT,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,gCAAgC,EAChC,YAAY,EACZ,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAExD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAGlE"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var Et=Object.defineProperty;var l=(e,t)=>Et(e,"name",{value:t,configurable:!0});var gt="c6381a79-2817-4602-83bf-6a641a409e32",Se={API_KEY:gt,BASE_URL:""};function $(e){return Se[e]}l($,"getConfig");function Ie(e){return Se=e,Se}l(Ie,"initConfig");var Ee=(n=>(n.RouteEvent="routeEvent",n.StepEvent="stepEvent",n))(Ee||{}),ge=(r=>(r.STARTED="started",r.FAILED="failed",r.SUCCEEDED="succeeded",r))(ge||{}),Y=(r=>(r.CREATE_TX="create_tx",r.SEND_TX="send_tx",r.TX_SENT="tx_sent",r))(Y||{}),ne=(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))(ne||{}),L=(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))(L||{}),Te=(a=>(a.ERROR="error",a.SUCCESS="success",a.WARNING="warning",a.INFO="info",a))(Te||{});var fe="Waiting for other swaps to complete",Oe="Waiting for connecting wallet",Pe=l((e,t)=>`Please change your ${e||"wallet"} account to ${t||"proper address"}`,"ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION_WRONG_WALLET"),re=l(e=>`Please connect your ${e??""} wallet.`,"ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION"),ae=l(e=>`Please change your network to ${e}.`,"ERROR_MESSAGE_WAIT_FOR_CHANGE_NETWORK"),k="CLIENT_UNEXPECTED_BEHAVIOUR";import{warn as vt}from"@rango-dev/logging-core";import{Status as ye}from"@rango-dev/queue-manager-core";import{legacyReadAccountAddress as ht}from"@rango-dev/wallets-core/legacy";import{getBlockChainNameFromId as Nt,getEvmProvider as It,splitWalletNetwork as He}from"@rango-dev/wallets-shared";import{TransactionType as W}from"rango-sdk";import{PendingSwapNetworkStatus as Z,SignerError as Ot}from"rango-types";import{RangoClient as Tt}from"rango-sdk";var oe,B=l(()=>oe||(oe=new Tt($("API_KEY"),$("BASE_URL")),oe),"httpService");import Me from"bignumber.js";import De from"bignumber.js";var We=l((e,t=null,n=null)=>{if(e===null||e==="")return"";let r=new De(e),a=1,o=1e3;for(let i=0;i<60;i++)if(new De(r.toFixed(i,a)).eq(r)){o=i;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 i=t||4;i<17;i++)if(r.gte(Math.pow(10,-i)))return r.toFormat(Math.min(o,Math.min(n||100,Math.max(t||0,i))),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 ft,isSignerErrorCode as mt,isAPIErrorCode as wt}from"rango-types";var At="Assertion failed (Unexpected behaviour)",yt="Create transaction failed in Rango Server",be="Input wallet not found",I=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",At,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",yt,null,n)}static WalletMissing(){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",be,null,"Server requested for a blockchain or address not selected by user")}static BlockchainMissing(){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",be,null,"Server requested for a blockchain or address not selected by user")}};function Ue(e){try{return e?wt(e)?e:mt(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]:k,[H.OPERATION_UNSUPPORTED]:k,[H.UNEXPECTED_BEHAVIOUR]:k}[e]:k:k}catch{return k}}l(Ue,"mapAppErrorCodesToAPIErrorCode");var Q=l(e=>{if(!e)return{extraMessage:"",extraMessageErrorCode:null};if(I.isPrettyError(e))return e.getErrorDetail();if(ft.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 se=(a=>(a.error="error",a.warning="warning",a.info="info",a.success="success",a))(se||{}),b=l((e,t)=>{try{return U(e,t)}catch{return null}},"getCurrentBlockchainOfOrNull"),U=l((e,t)=>{let n=t.evmTransaction?.blockChain||t.evmApprovalTransaction?.blockChain||t.starknetTransaction?.blockChain||t.starknetApprovalTransaction?.blockChain||t.tronTransaction?.blockChain||t.tronApprovalTransaction?.blockChain||t.cosmosTransaction?.blockChain||t.solanaTransaction?.blockChain||t.tonTransaction?.blockChain;if(n)return n;let r=t.transferTransaction?.fromWalletAddress;if(!r)throw I.BlockchainMissing();let a=Object.keys(e.wallets).find(o=>e.wallets[o]?.address===r)||null;if(a==null)throw I.BlockchainMissing();return a},"getCurrentBlockchainOf"),J=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 Le(e,t){return e.steps.find(n=>n.status!=="failed"&&n.status!=="success"&&n.id!==t.id)||null}l(Le,"getNextStep");var me=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||""]||(t.transferTransaction?.fromWalletAddress?{address:t.transferTransaction?.fromWalletAddress}:null)||null;if(n==null)throw I.WalletMissing();return n.address},"getCurrentAddressOf");function q(e,t){let n=me(e,t),r=Object.keys(e.wallets).map(c=>({k:c,v:e.wallets[c]})).find(({v:c})=>c.address===n)||null,a=r?.k||null,o=r?.v||null,i=o?.walletType;if(o===null)throw I.AssertionFailed(`Wallet for source ${a} not passed: walletType: ${i}`);return o}l(q,"getRelatedWallet");function we(e,t){if(!t)return null;try{return q(e,t)}catch{return null}}l(we,"getRelatedWalletOrNull");var Be=l((e,t,n,r)=>r?.find(o=>o.blockchain===e&&o.symbol?.toUpperCase()===t?.toUpperCase()&&o.address===n)?.usdPrice||null,"getUsdPrice");function Ct(e,t){let n=new Me(0);for(let r=0;r<e.fee.length;r++){let a=e.fee[r];if(a.expenseType==="DECREASE_FROM_OUTPUT")continue;let o=Be(a.asset.blockchain,a.asset.symbol,a.asset.address,t);n=n.plus(new Me(a.amount).multipliedBy(o||0))}return n}l(Ct,"getUsdFeeOfStep");function Fe(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?We(Ct(e,t?.tokens),null,8):null,estimatedTimeInSeconds:e.estimatedTimeInSeconds||null,internalSteps:null}}l(Fe,"mapSwapStepToPendingSwapStep");function _t(e,t,n,r,a,o){let i=t.result;if(!i)throw Error("Simulation result should not be null");return{creationTime:new Date().getTime().toString(),finishTime:null,requestId:t.requestId||"",inputAmount:e,wallets:n,status:"running",isPaused:!1,extraMessage:null,extraMessageSeverity:null,extraMessageDetail:null,extraMessageErrorCode:null,networkStatusExtraMessage:null,networkStatusExtraMessageDetail:null,lastNotificationTime:null,settings:r,simulationResult:i,validateBalanceOrFee:a,steps:t.result?.swaps?.map((c,u)=>{let s=Fe(c,o);return{id:u+1,...s,internalSwaps:c?.internalSwaps?.map(p=>Fe(p,o))||null,outputAmount:"",status:"created",networkStatus:null,startTransactionTime:new Date().getTime(),externalTransactionId:null,executedTransactionId:null,executedTransactionTime:null,explorerUrl:null,diagnosisUrl:null,trackingCode:null,internalSteps:null,evmTransaction:null,evmApprovalTransaction:null,starknetTransaction:null,starknetApprovalTransaction:null,tronTransaction:null,tronApprovalTransaction:null,cosmosTransaction:null,solanaTransaction:null,transferTransaction:null,tonTransaction:null,hasAlreadyProceededToSign:!1}})||[]}}l(_t,"calculatePendingSwap");function Qe(e){return e.map(t=>{let{diagnosisUrl:n,estimatedTimeInSeconds:r,explorerUrl:a,feeInUsd:o,executedTransactionId:i,executedTransactionTime:c,expectedOutputAmountHumanReadable:u,fromBlockchain:s,toBlockchain:p,fromSymbol:d,toSymbol:g,fromSymbolAddress:S,toSymbolAddress:m,swapperType:_,swapperId:E,outputAmount:T,fromAmountMaxValue:w,fromAmountMinValue:C,fromAmountPrecision:A,fromAmountRestrictionType:R,fromDecimals:x,status:v}=t;return{diagnosisUrl:n,estimatedTimeInSeconds:r,explorerUrl:a,feeInUsd:o,executedTransactionId:i,executedTransactionTime:c,expectedOutputAmountHumanReadable:u,fromBlockchain:s,toBlockchain:p,fromSymbol:d,toSymbol:g,fromSymbolAddress:S,toSymbolAddress:m,swapperName:E,swapperType:_,outputAmount:T,fromAmountMaxValue:w,fromAmountMinValue:C,fromAmountPrecision:A,fromAmountRestrictionType:R,fromDecimals:x,status:v,transaction:M(t)}})}l(Qe,"createSteps");function xt(e,t,n){let{creationTime:r,finishTime:a,requestId:o,inputAmount:i,status:c,wallets:u,steps:s,settings:p}=e,d=Qe(s),S={route:{creationTime:r,finishTime:a,requestId:o,inputAmount:i,status:c,wallets:u,steps:d,slippage:p.slippage,infiniteApproval:p.infiniteApprove},step:d[d.length-1]};if(n)S.step=Qe([n])[0];else if(t==="failed"){let m=Xe(d);m&&(S.step=m)}else{let m=z(d);m&&(S.step=m)}return S}l(xt,"getEventPayload");function kt(e,t){let n,{type:r}=e;switch(r){case"started":n={...e,type:"started"};break;case"failed":n={...e,type:"failed"};break;case"succeeded":n={...e,type:"succeeded"};break;default:break}n&&$("emitter")?.emit("routeEvent",{event:n,route:t})}l(kt,"emitRouteEvent");function Rt(e,t,n){$("emitter")?.emit("stepEvent",{event:e,route:t,step:n})}l(Rt,"emitStepEvent");function f(e){let{event:t}=e,{type:n}=t,{route:r,step:a}=xt(e.swap,n,e.step??void 0),o=`${a.fromBlockchain}.${a.fromSymbol}`,i=`${a.toBlockchain}.${a.toSymbol}`,c=a.outputAmount??"",u=e.step?b(e.swap,e.step):null,s="",p="info";switch(n){case"started":s="Swap process started",p="success";break;case"succeeded":s=`You received ${c} ${i}, hooray!`,p="success";break;case"failed":s=`Swap failed: ${e.swap?.extraMessage??"Reason is unknown"}`,p="error";break;case"tx_execution":t.status==="create_tx"?(s="Please wait while the transaction is created ...",p="info"):t.status==="send_tx"?(e.step&&j(e.step)?s=`Please confirm '${a.swapperName}' smart contract access to ${o}`:s="Please confirm transaction request in your wallet",p="warning"):t.status==="tx_sent"&&(s="Transaction sent successfully",p="info");break;case"check_status":e.step&&j(e.step)?s="Checking approve transaction status ...":s="Checking transaction status ...",p="info";break;case"approval_tx_succeeded":s="Smart contract called successfully",p="success";break;case"output_revealed":s="Transaction output amount revealed",p="success";break;case"tx_execution_blocked":t.status==="waiting_for_wallet_connect"?(s="Please connect your wallet.",p="warning"):t.status==="waiting_for_queue"?(s="Waiting for other swaps to complete",p="warning"):t.status==="waiting_for_change_wallet_account"?(s="Please change your wallet account.",p="warning"):t.status==="waiting_for_network_change"&&(s=`Please change your wallet network to ${u}.`,p="warning");break;default:break}e.step&&Rt({...t,message:s,messageSeverity:p},r,a),(e.event.type==="failed"||!e.step)&&kt({...t,message:s,messageSeverity:p},r)}l(f,"notifier");var Ae=null;function ie(){return{claimedBy:()=>Ae?.id,setClaimer:e=>{Ae={id:e}},reset:()=>{Ae=null}}}l(ie,"claimQueue");var K={};function le(){return{getTransactionDataByHash:e=>K[e]||{},setTransactionDataByHash:(e,t)=>{K[e]||(K[e]={}),K[e].response=t.response||K[e].response,K[e].receiptReceived=t.receiptReceived||K[e].receiptReceived||!1}}}l(le,"inMemoryTransactionsData");var y=l(e=>e.steps.find(t=>t.status!=="failed"&&t.status!=="success")||null,"getCurrentStep"),M=l(e=>{let{evmTransaction:t,evmApprovalTransaction:n,cosmosTransaction:r,solanaTransaction:a,transferTransaction:o,starknetApprovalTransaction:i,starknetTransaction:c,tronApprovalTransaction:u,tronTransaction:s,tonTransaction:p}=e;return t||n||r||a||o||i||c||u||s||p},"getCurrentStepTx"),ce=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;let n=t.type;switch(n){case W.EVM:t.isApprovalTx?e.evmApprovalTransaction=t:e.evmTransaction=t;break;case W.TRON:t.isApprovalTx?e.tronApprovalTransaction=t:e.tronTransaction=t;break;case W.STARKNET:t.isApprovalTx?e.starknetApprovalTransaction=t:e.starknetTransaction=t;break;case W.COSMOS:e.cosmosTransaction=t;break;case W.SOLANA:e.solanaTransaction=t;break;case W.TRANSFER:e.transferTransaction=t;break;case W.TON:e.tonTransaction=t;break;default:(r=>{throw new Error(`${r} was unhandled!`)})(n)}return e},"setCurrentStepTx"),Ce=l(e=>M(e)?.type,"getCurrentStepTxType"),j=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:i=null,hasAlreadyProceededToSign:c,trace:u=null}){let s=e().swapDetails,p=y(s),d={swap:s,step:p};if(r&&p&&(p.status=r),n&&(s.status=n),s.hasAlreadyProceededToSign=c,n&&["failed","success"].includes(n)&&(s.finishTime=new Date().getTime().toString()),(a||o)&&(s.extraMessage=a||"",s.extraMessageDetail=o||""),r&&["failed"].includes(r)){let g=o&&o.includes("Warning")?"Swap canceled by user.":o,S=we(s,p)?.walletType;s.extraMessageSeverity="error";let m=Ue(i);d.failureType=m;let _=i!=="REJECTED_BY_USER"&&u?.message&&typeof u.message=="string"?u.message:g||"";B().reportFailure({requestId:s.requestId,step:p?.id||1,eventType:m,reason:_,tags:S?{wallet:S}:void 0}).then().catch()}else r&&["running"].includes(r)?s.extraMessageSeverity="info":r&&["success","approved"].includes(r)?s.extraMessageSeverity="success":r&&["waitingForApproval"].includes(r)&&(s.extraMessageSeverity="warning");return r==="running"&&p&&(p.startTransactionTime=new Date().getTime()),t({...e(),swapDetails:s}),d}l(O,"updateSwapStatus");function Pt({getStorage:e,setStorage:t},n,r){let a=e().swapDetails;a.hasAlreadyProceededToSign=null;let o=y(a);o.executedTransactionId=n,o.executedTransactionTime=new Date().getTime().toString(),r?.url&&(o.explorerUrl=[...o.explorerUrl||[],{url:r.url,description:r.description||null}]),j(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(Pt,"setStepTransactionIds");function Dt({getStorage:e,setStorage:t},n,r){let a=e().swapDetails,o=y(a);if(!o)return;let i=new Date;a.lastNotificationTime=i.getTime().toString(),!(o.networkStatus===Z.WaitingForConnectingWallet&&a.networkStatusExtraMessage===n&&a.networkStatusExtraMessageDetail===r)&&(o.networkStatus=Z.WaitingForConnectingWallet,a.networkStatusExtraMessage=n,a.networkStatusExtraMessageDetail=r,t({...e(),swapDetails:a}))}l(Dt,"markRunningSwapAsWaitingForConnectingWallet");function qe({getStorage:e,setStorage:t}){let n=e().swapDetails,r=y(n);if(!r)return;let{type:a}=P(n),o=U(n,r),i=`Change ${a} wallet network to ${o}`,c=`Please change your ${a} wallet network to ${o}.`,u=new Date;return n.lastNotificationTime=u.getTime().toString(),r.networkStatus=Z.WaitingForNetworkChange,n.networkStatusExtraMessage=i,n.networkStatusExtraMessageDetail=c,t({...e(),swapDetails:n}),{swap:n,step:r}}l(qe,"markRunningSwapAsSwitchingNetwork");function Ke({getStorage:e,setStorage:t}){let n=e().swapDetails,r=y(n);if(r)return n.networkStatusExtraMessage="",n.networkStatusExtraMessageDetail="",r.networkStatus=Z.WaitingForQueue,f({event:{type:"tx_execution_blocked",status:"waiting_for_queue"},swap:n,step:r}),t({...e(),swapDetails:n}),{swap:n,step:r}}l(Ke,"markRunningSwapAsDependsOnOtherQueues");async function ue(e){return new Promise(t=>setTimeout(t,e))}l(ue,"delay");var Wt=l((e,t)=>e.wallets[t]?.walletType,"getSwapWalletType");function _e(e){return e===null||e?.blockchains===null||e?.blockchains.length===0}l(_e,"isWalletNull");function P(e){let t=y(e),n=b(e,t);if(!n)return{type:null,network:null,address:null};let r=Wt(e,n),a=e.wallets[n];return{type:r||null,network:n,address:a?a.address:null}}l(P,"getRequiredWallet");async function bt(e){try{return await e.request({method:"eth_chainId"})||e?.chainId}catch{return e?.chainId}}l(bt,"getChainId");async function $e(e,t,n,r,a){if(_e(n))return!1;let o=b(e,t);if(!o)return!1;if(r.evmBasedChains.find(i=>i.name===o)){try{let i=e.wallets[o];if(i){let c=It(a,i.walletType),u=await bt(c);if(u){let s=Nt(u,Object.entries(r.blockchains).map(([,p])=>p));if(s&&s.toLowerCase()===o.toLowerCase())return!0;if(s&&s.toLowerCase()!==o.toLowerCase())return!1}}}catch(i){console.log(i)}return!1}return!0}l($e,"isNetworkMatchedForTransaction");var Ve=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||""]||t.transferTransaction?.fromWalletAddress||null)!==null,"isTxAlreadyCreated");function pe(e){let{getStorage:t,setStorage:n}=e,r=t().swapDetails,a=y(r);a?.networkStatus&&(a.networkStatus=null,n({...t(),swapDetails:r}))}l(pe,"resetNetworkStatus");function Ye(e,t={message:"",details:"",status:null}){let{message:n,details:r,status:a}=t,{getStorage:o,setStorage:i}=e,c=o().swapDetails,u=y(c);u?.networkStatus&&(c.networkStatusExtraMessage=n,c.networkStatusExtraMessageDetail=r,u.networkStatus=a,i({...o(),swapDetails:c}))}l(Ye,"updateNetworkStatus");function Je(e,t){let{context:n,queue:r}=t,a=r.getStorage().swapDetails,{ok:o,reason:i}=xe(a,n.state);if(!o){let c=y(a),{type:u,address:s}=P(a);f({event:{type:"tx_execution_blocked",...i==="account_miss_match"?{status:"waiting_for_change_wallet_account",requiredAccount:s??void 0}:{status:"waiting_for_wallet_connect",requiredWallet:u??void 0,requiredAccount:s??void 0}},swap:a,step:c}),Dt({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)},Oe,e.reason.description);return}r.unblock()}l(Je,"onBlockForConnectWallet");function je(e,t){let{context:n,queue:r}=t,a=r.getStorage().swapDetails,o=y(a);if(!o||a.status!=="running")return;let i=qe({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)}),c=b(a,o),u=P(a).type,s=u?n.state(u).network:void 0;i&&f({event:{type:"tx_execution_blocked",status:"waiting_for_network_change",requiredNetwork:c??void 0,currentNetwork:s??void 0},swap:i.swap,step:i.step});let{type:p,network:d}=P(a);if(p&&d&&n.canSwitchNetworkTo(p,d)){let g=n.switchNetwork(p,d);g&&g.then(()=>{r.unblock()}).catch(S=>{console.log({error:S})})}}l(je,"onBlockForChangeNetwork");function ze(e,t){let{getBlockedTasks:n,forceExecute:r,queue:a,manager:o,context:i}=t,{setClaimer:c,claimedBy:u,reset:s}=ie(),p=n().filter(w=>w.reason.reason==="depends_on_other_queues");if(p.length===0)return;let d=u(),g=!!d;if(d===a.id)return;if(g){Ke({getStorage:a.getStorage.bind(a),setStorage:a.setStorage.bind(a)});return}let S=p.find(w=>w.queue_id===t.queue_id);S||(S=p[0]),c(S.queue_id);let m=S.storage.get(),{type:_,network:E,address:T}=P(m.swapDetails);r(S.queue_id,{claimedBy:u(),resetClaimedBy:()=>{s(),Re(`${_}-${E}:${T}`,o,i.canSwitchNetworkTo)}})}l(ze,"onDependsOnOtherQueues");function xe(e,t){let{type:n,address:r}=P(e);if(!n||!r)return{ok:!1,reason:"not_connected"};let a=t(n),{accounts:o,connected:i}=a,c=o||[];return i?{ok:c.some(s=>{let{address:p}=ht(s);return r.toLocaleLowerCase()===p.toLocaleLowerCase()}),reason:"account_miss_match"}:{ok:!1,reason:"not_connected"}}l(xe,"isRequiredWalletConnected");async function Ze(e){let{setTransactionDataByHash:t}=le(),{getStorage:n,setStorage:r,failed:a,next:o,schedule:i,context:c}=e,{meta:u,getSigners:s,isMobileWallet:p}=c,d=n().swapDetails,g=y(d),S=q(d,g),m=p(S?.walletType),_=me(d,g),E=U(d,g),T=l(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),w=M(g),C=w?.type,A=j(g);if(!w||!C){let h="Unexpected Error: tx is null!",D=O({getStorage:n,setStorage:r,nextStatus:"failed",nextStepStatus:"failed",message:h,details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"});return f({event:{type:"failed",reason:h,reasonCode:"CLIENT_UNEXPECTED_BEHAVIOUR"},...D}),a(),T()}let R=u.blockchains?.[w.blockChain]?.chainId,x=typeof d.hasAlreadyProceededToSign=="boolean",v,N,X,F,G;A?(X=`Waiting for approval of ${g?.fromSymbol} coin ${m?"on your mobile phone!":""}`,F="Waiting for approve transaction to be mined and confirmed successfully",N="waitingForApproval",v=void 0,G="tx_execution"):x?(X="Transaction is expired. Please try again.",N="failed",v="failed",F="",G="failed"):(X="Executing transaction ...",N="running",v="running",F=`${m?"Check your mobile phone!":""}`,G="tx_execution");let de=O({getStorage:n,setStorage:r,nextStepStatus:N,nextStatus:v,message:X,details:F,hasAlreadyProceededToSign:A?void 0:x,errorCode:x?"TX_EXPIRED":void 0});if(G==="failed"?f({event:{type:G,reason:X,reasonCode:de.failureType??k},...de}):f({event:{type:G,status:"send_tx"},...de}),x){a(),T();return}(await s(S.walletType)).getSigner(C).signAndSendTx(w,_,R).then(({hash:h,response:D})=>{let te=J(h,E,u.blockchains);Pt(e,h,te&&(!D||D&&!D.hashRequiringUpdate)?{url:te,description:A?"Approve":"Swap"}:void 0),D&&t(h,{response:D}),i("CHECK_TRANSACTION_STATUS"),o(),T()},h=>{if(d.status==="failed")return;let{extraMessage:D,extraMessageDetail:te,extraMessageErrorCode:St}=Q(h);vt(h,{tags:{requestId:d.requestId,rpc:!0,swapper:g?.swapperId||"",walletType:S?.walletType||""},context:Ot.isSignerError(h)?h.getErrorContext():{}});let Ne=O({getStorage:n,setStorage:r,nextStatus:"failed",nextStepStatus:"failed",message:D,details:te,errorCode:St,trace:h?.cause});f({event:{type:"failed",reason:D,reasonCode:Ne.failureType??k},...Ne}),a(),T()})}l(Ze,"signTransaction");function et(e){let{wallet_network:t,evmChains:n,manager:r}=e,[a,o]=He(t);n.some(i=>i.name==o)&&r?.getAll().forEach(i=>{let c=i.list.getStorage(),u=c?.swapDetails;if(u&&u.status==="running"){let s=y(u);if(s){let p=c?.swapDetails.wallets[s.fromBlockchain]?.walletType,d=Object.keys(i.list.state.tasks).some(S=>{let m=i.list.state.tasks[S];return m.status===ye.BLOCKED&&["waiting_for_connecting_wallet"].includes(m.blockedFor?.reason)}),g=b(u,s);if(p===a&&d&&g!=o){let S=i.list,{type:m}=P(u),_=ae(m);i.list.block({reason:{reason:"waiting_for_network_change",description:_},silent:!0});let E=qe({getStorage:S.getStorage.bind(S),setStorage:S.setStorage.bind(S)});E&&f({event:{type:"tx_execution_blocked",status:"waiting_for_network_change",currentNetwork:o,requiredNetwork:g??void 0},swap:E.swap,step:E.step})}}}})}l(et,"checkWaitingForConnectWalletChange");function ke(e){e?.getAll().forEach(t=>{if(Object.keys(t.list.state.tasks).some(r=>{let a=t.list.state.tasks[r];return a.status===ye.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}=P(r),o=re(a);t.list.block({reason:{reason:"waiting_for_connecting_wallet",description:o}})}}})}l(ke,"checkWaitingForNetworkChange");function Ut(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(Ut,"getRunningSwaps");function Mt(e){e.forEach(t=>{let n=y(t),r="tx_execution_blocked",a;n?.networkStatus===Z.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(Mt,"resetRunningSwapNotifsOnPageLoad");function Re(e,t,n,r={fallbackToOnlyWallet:!0}){let[a,o]=He(e);if(!a||!o)return;let i=[],c=[];t?.getAll().forEach(s=>{if(s.status===ye.BLOCKED){let p=s.list.getStorage(),d=p?.swapDetails;if(d&&d.status==="running"){let g=y(d);g&&(b(d,g)==o&&p?.swapDetails.wallets[o]?.walletType===a?i.push(s.list):p?.swapDetails.wallets[g.fromBlockchain]?.walletType===a&&c.push(s.list))}}});let u;if(i.length>0){if(u=i[0],i.length>1)for(let s=1;s<i.length;s++){let p=i[s];Ke({getStorage:p.getStorage.bind(p),setStorage:p.setStorage.bind(p)})}}else c.length>0&&r.fallbackToOnlyWallet&&(u=c[0]);n?.(a,o)?u?.checkBlock():u?.unblock()}l(Re,"retryOn");function tt(e){return!!e.evmTransaction||!!e.evmApprovalTransaction}l(tt,"isNeedBlockQueueForParallel");async function nt(e){let t=await e;if(!t.ok||!t.transaction)throw I.CreateTransaction(t.error||"bad response from create tx endpoint");return t}l(nt,"throwOnOK");function Ft(e,t){let{reset:n}=ie();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},swap:r.swap,step:r.step}),n(),t&&t?.retry(),r}l(Ft,"cancelSwap");function z(e){return e.slice().reverse().find(t=>t.status==="success")}l(z,"getLastSuccessfulStep");function Xe(e){return e.slice().reverse().find(t=>t.status==="failed")}l(Xe,"getFailedStep");function Lt(e){let{transaction:t}=e;return t?.type===W.EVM&&t.isApprovalTx||t?.type===W.STARKNET&&t.isApprovalTx||t?.type===W.TRON&&t.isApprovalTx}l(Lt,"isApprovalTX");var rt=5e3,Bt=5e3;async function Qt({getStorage:e,setStorage:t,next:n,schedule:r,retry:a,failed:o,context:i}){let c=e().swapDetails,{meta:u}=i,s=y(c);if(!s?.executedTransactionId)return;let p=M(s),d=s.executedTransactionId,g=!1,S=null,m=null,{getTransactionDataByHash:_,setTransactionDataByHash:E}=le();try{let A=Ce(s),R=q(c,s);A&&R&&(m=(await i.getSigners(R.walletType)).getSigner(A))}catch{}try{let{response:A,receiptReceived:R}=_(d);if(m?.wait&&!R){let x=p?.blockChain&&u.blockchains?.[p?.blockChain]?.chainId||void 0,{hash:v,response:N}=await m.wait(d,x,A);if(v!==d){s.executedTransactionId=v||s.executedTransactionId;let X=U(c,s),F;!!Object.keys(u.blockchains).length&&(F=J(s.executedTransactionId,X,u.blockchains)),F&&s.explorerUrl&&s.explorerUrl?.length>=1&&(s.explorerUrl[s.explorerUrl.length-1]={url:F,description:"Replaced Swap"}),d=s.executedTransactionId,v&&N&&E(v,{response:N})}else E(v,{receiptReceived:!0})}}catch(A){let{extraMessage:R,extraMessageDetail:x,extraMessageErrorCode:v}=Q(A),N=O({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:R,details:x,errorCode:v});f({event:{type:"failed",reason:R,reasonCode:N.failureType??k},...N}),g=!0}try{S=await B().checkStatus({requestId:c.requestId,txId:d,step:s.id})}catch{await ue(rt),a();return}if(g)return o();if(s?.status==="failed")return;let T=S?.outputAmount||(s.outputAmount?s.outputAmount:null),w=s.outputAmount||null;c.extraMessage=S?.extraMessage||c.extraMessage,c.extraMessageSeverity="info",c.extraMessageDetail="",s.status=S?.status||s.status,s.diagnosisUrl=S?.diagnosisUrl||s.diagnosisUrl||null,s.outputAmount=T||s.outputAmount,s.explorerUrl=S?.explorerUrl||s.explorerUrl,s.internalSteps=S?.steps||null;let C=S?.newTx;if(C&&(s.status="created",s.executedTransactionId=null,s.executedTransactionTime=null,ce(s,C)),w===null&&T!==null?f({event:{type:"output_revealed",outputAmount:T},swap:c,step:s}):w===null&&T===null&&f({event:{type:"check_status"},swap:c,step:s}),s.status==="success"){let A=Le(c,s);c.extraMessageDetail="",c.extraMessage=A?`starting next step: ${A.swapperId}: ${A.fromBlockchain} -> ${A.toBlockchain}`:"",f({event:{type:"succeeded",outputAmount:s.outputAmount??""},swap:c,step:s})}else s.status==="failed"&&(c.extraMessage="Transaction failed in blockchain",c.extraMessageSeverity="error",c.extraMessageDetail=S?.extraMessage||"",c.status="failed",c.finishTime=new Date().getTime().toString());t({...e(),swapDetails:c}),S?.status==="failed"?o():S?.status==="success"||S?.status==="running"&&S.newTx?(r("SCHEDULE_NEXT_STEP"),n()):(await ue(rt),a())}l(Qt,"checkTransactionStatus");async function Xt({getStorage:e,setStorage:t,next:n,schedule:r,retry:a,failed:o,context:i}){let c=e().swapDetails,{meta:u}=i,{getTransactionDataByHash:s,setTransactionDataByHash:p}=le(),d=y(c);if(!d){console.log("ignore check status, current step is null");return}let g=M(d);if(!d?.executedTransactionId)return;let S=d.executedTransactionId,m=null;try{let E=Ce(d),T=q(c,d);E&&T&&(m=(await i.getSigners(T.walletType)).getSigner(E))}catch{}try{let{response:E,receiptReceived:T}=s(S);if(m?.wait&&!T){let w=g?.blockChain&&u.blockchains?.[g?.blockChain]?.chainId||void 0,{hash:C,response:A}=await m.wait(S,w,E);if(C!==S){d.executedTransactionId=C||d.executedTransactionId;let R=U(c,d),x;!!Object.keys(u.blockchains).length&&(x=J(d.executedTransactionId,R,u.blockchains)),x&&d.explorerUrl&&d.explorerUrl?.length>=1&&(d.explorerUrl[d.explorerUrl.length-1]={url:x,description:"Replaced Approve"}),S=d.executedTransactionId,C&&A&&p(C,{response:A})}else p(C,{receiptReceived:!0})}}catch(E){let{extraMessage:T,extraMessageDetail:w,extraMessageErrorCode:C}=Q(E),A=O({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:T,details:w,errorCode:C});return f({event:{type:"failed",reason:T,reasonCode:A.failureType??k},...A}),o()}let _=!1;try{let E=await B().checkApproval(c.requestId,d.executedTransactionId);if(d?.status==="failed")return;if(_=E.isApproved,!_&&(E.txStatus==="failed"||E.txStatus==="success")){let T,w;E.txStatus==="failed"?(T="Approve transaction failed",w="Smart contract approval tx failed in blockchain."):(T="Not enough approval",E.requiredApprovedAmount&&E.currentApprovedAmount?w=`Required approval: ${E.requiredApprovedAmount}, current approval: ${E.currentApprovedAmount}`:w="You still don't have enough approval for this swap.");let C=O({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",errorCode:"INSUFFICIENT_APPROVE",message:T,details:w});f({event:{type:"failed",reason:T,reasonCode:C.failureType??k},...C}),o()}else _||f({event:{type:"check_status"},swap:c,step:d})}catch{_=!1}_?(d.status="approved",c.extraMessage=`Spending ${d.fromSymbol} approved successfully.`,c.extraMessageDetail=null,c.extraMessageSeverity="success",d.evmApprovalTransaction=null,d.executedTransactionId=null,d.executedTransactionTime=null,d.starknetApprovalTransaction=null,d.tronApprovalTransaction=null,t({...e(),swapDetails:c}),f({event:{type:"approval_tx_succeeded"},swap:c,step:d}),r("SCHEDULE_NEXT_STEP"),n()):(await ue(Bt),a())}l(Xt,"checkApprovalStatus");async function at(e){let t=e.getStorage().swapDetails,n=y(t);if(!n){console.log("ignore check status, current step is null",t.requestId);return}pe(e),n.status==="running"?await Qt(e):n.status==="waitingForApproval"&&await Xt(e)}l(at,"checkStatus");async function ot(e){let{setStorage:t,getStorage:n,next:r,schedule:a}=e,o=n().swapDetails,i=y(o);if(!M(i)){f({event:{type:"tx_execution",status:"create_tx"},swap:o,step:i});let u={requestId:o.requestId,step:i.id,userSettings:{slippage:o.settings.slippage,infiniteApprove:o.settings.infiniteApprove},validations:{balance:o.validateBalanceOrFee,fee:o.validateBalanceOrFee,approve:!0}};try{let{transaction:s}=await nt(B().createTransaction(u));s&&ce(i,s),t({...n(),swapDetails:o}),a("EXECUTE_TRANSACTION"),r()}catch(s){o.status="failed",o.finishTime=new Date().getTime().toString();let{extraMessage:p,extraMessageDetail:d}=Q(s),g=O({getStorage:n,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:p,details:d,errorCode:"FETCH_TX_FAILED"});f({event:{type:"failed",reason:p,reasonCode:g.failureType??k},...g}),e.failed()}}}l(ot,"createTransaction");import{PendingSwapNetworkStatus as Gt}from"rango-types";async function st(e){let{getStorage:t,context:n}=e,{meta:r,wallets:a,providers:o}=n,{claimedBy:i}=ie(),c=n.claimedBy===n._queue?.id,u=l(E=>{e.block(E),c&&e.context.resetClaimedBy&&e.context.resetClaimedBy()},"requestBlock"),s=t().swapDetails,p=y(s);if(pe(e),!xe(s,n.state).ok){let{type:E,address:T}=P(s),w=a?.blockchains?.find(R=>!R.accounts?.find(x=>x.walletType===E)),C=_e(a)||w?re(E):Pe(E,T),A={reason:"waiting_for_connecting_wallet",description:C};u(A);return}let g=await $e(s,p,a,r,o);if(!!i()&&!c&&!g){let E=fe,T={reason:"depends_on_other_queues",details:E};u(T);return}else if(!g){let E=U(s,p),T=ae(E),w={reason:"waiting_for_network_change",details:T};u(w);return}if(Ye(e,{message:"",details:"Wallet network changed successfully",status:Gt.NetworkChanged}),tt(p)&&!c){let E={reason:"depends_on_other_queues",description:fe,details:{}};u(E);return}await Ze(e)}l(st,"executeTransaction");function it({schedule:e,next:t,failed:n,setStorage:r,getStorage:a}){let o=a().swapDetails,i=y(o),c=o.steps.find(u=>u.status==="failed");if(i&&!c){if(Ve(o,i))return e("EXECUTE_TRANSACTION"),t();if(i?.executedTransactionId)return e("CHECK_TRANSACTION_STATUS"),t();o.status="running",r({...a(),swapDetails:o}),f({event:{type:"started"},swap:o,step:i}),e("CREATE_TRANSACTION"),t()}else o.status=c?"failed":"success",o.finishTime=new Date().getTime().toString(),r({...a(),swapDetails:o}),f({...c?{event:{type:"failed",reason:o.extraMessage??void 0,reasonCode:"CALL_OR_SEND_FAILED"}}:{event:{type:"succeeded",outputAmount:z(o.steps)?.outputAmount??""}},swap:o,step:null}),c?n():t()}l(it,"scheduleNextStep");function lt({schedule:e,next:t,getStorage:n}){let r=n().swapDetails;f({event:{type:"started"},swap:r,step:null}),e("SCHEDULE_NEXT_STEP"),t()}l(lt,"start");var ct={name:"swap",actions:{START:lt,SCHEDULE_NEXT_STEP:it,CREATE_TRANSACTION:ot,EXECUTE_TRANSACTION:st,CHECK_TRANSACTION_STATUS:at},run:["START"],whenTaskBlocked:(e,t)=>{e.reason.reason==="waiting_for_connecting_wallet"?Je(e,t):e.reason.reason==="waiting_for_network_change"?je(e,t):e.reason.reason==="depends_on_other_queues"&&ze(e,t)}};import{useManager as Vt}from"@rango-dev/queue-manager-react";import{useEffect as he,useState as Yt}from"react";import{DB_NAME as Ht,Persistor as qt,Status as ee}from"@rango-dev/queue-manager-core";import{v4 as Kt}from"uuid";var ut="migratedToQueueManager";function ve(){return!!window.localStorage.getItem(ut)}l(ve,"migrated");async function $t(){try{return(await window.indexedDB.databases()).map(e=>e.name).includes(Ht)}catch{return!1}}l($t,"hasQueueManagerOnIDB");async function pt(){let e=window.localStorage.getItem("pendingSwaps"),t=await $t();if(!e||ve()||t)return!0;let n=JSON.parse(e),r=[];n.forEach(i=>{if(i.status==="running"){let c=Kt(),u={id:i.requestId,createdAt:Number(i.creationTime),name:"swap",status:ee.RUNNING,storage:{swapDetails:i},state:{status:ee.RUNNING,activeTaskIndex:0,tasks:{[c]:{blockedFor:null,status:ee.RUNNING}}},tasks:[{id:c,action:"SCHEDULE_NEXT_STEP"}]};r.push(u)}else{let c=i.status==="success"?ee.SUCCESS:ee.FAILED,u={id:i.requestId,createdAt:Number(i.creationTime),name:"swap",status:c,storage:{swapDetails:i},state:{status:c,activeTaskIndex:0,tasks:{}},tasks:[]};r.push(u)}});let a=new qt,o=r.map(async i=>a.insertQueue(i));return await Promise.all(o),window.localStorage.setItem(ut,"1"),!0}l(pt,"migration");var dt=0;function Jt(){let e=ve(),[t,n]=Yt(e);return he(()=>{(async()=>dt||(dt=1,pt().finally(()=>{n(!0)})))()},[]),{status:t}}l(Jt,"useMigration");function jt(e){let{manager:t}=Vt();he(()=>{e.lastConnectedWallet&&(et({evmChains:e.evmChains,wallet_network:e.lastConnectedWallet,manager:t}),Re(e.lastConnectedWallet,t,e.canSwitchNetworkTo))},[e.lastConnectedWallet]),he(()=>{e.disconnectedWallet&&(ke(t),e.clearDisconnectedWallet())},[e.disconnectedWallet])}l(jt,"useQueueManager");function $r(e){return Ie(e),ct}l($r,"makeQueueDefinition");export{Te as EventSeverity,se as MessageSeverity,I as PrettyError,ge as RouteEventType,L as StepEventType,ne as StepExecutionBlockedEventStatus,Y as StepExecutionEventStatus,Ee as WidgetEvents,_t as calculatePendingSwap,Ft as cancelSwap,ke as checkWaitingForNetworkChange,b as getCurrentBlockchainOfOrNull,y as getCurrentStep,z as getLastSuccessfulStep,q as getRelatedWallet,we as getRelatedWalletOrNull,P as getRequiredWallet,Ut as getRunningSwaps,Be as getUsdPrice,Lt as isApprovalTX,$r as makeQueueDefinition,Q as prettifyErrorMessage,Mt as resetRunningSwapNotifsOnPageLoad,O as updateSwapStatus,Jt as useMigration,jt as useQueueManager};
1
+ var Et=Object.defineProperty;var c=(e,t)=>Et(e,"name",{value:t,configurable:!0});var gt="c6381a79-2817-4602-83bf-6a641a409e32",Se={API_KEY:gt,BASE_URL:""};function $(e){return Se[e]}c($,"getConfig");function Ie(e){return Se=e,Se}c(Ie,"initConfig");var Ee=(n=>(n.RouteEvent="routeEvent",n.StepEvent="stepEvent",n))(Ee||{}),ge=(r=>(r.STARTED="started",r.FAILED="failed",r.SUCCEEDED="succeeded",r))(ge||{}),Y=(r=>(r.CREATE_TX="create_tx",r.SEND_TX="send_tx",r.TX_SENT="tx_sent",r))(Y||{}),ne=(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))(ne||{}),L=(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))(L||{}),Te=(a=>(a.ERROR="error",a.SUCCESS="success",a.WARNING="warning",a.INFO="info",a))(Te||{});var fe="Waiting for other swaps to complete",Oe="Waiting for connecting wallet",De=c((e,t)=>`Please change your ${e||"wallet"} account to ${t||"proper address"}`,"ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION_WRONG_WALLET"),re=c(e=>`Please connect your ${e??""} wallet.`,"ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION"),ae=c(e=>`Please change your network to ${e}.`,"ERROR_MESSAGE_WAIT_FOR_CHANGE_NETWORK"),k="CLIENT_UNEXPECTED_BEHAVIOUR";import{warn as vt}from"@rango-dev/logging-core";import{Status as Ae}from"@rango-dev/queue-manager-core";import{legacyReadAccountAddress as Nt}from"@rango-dev/wallets-core/legacy";import{getBlockChainNameFromId as ht,getEvmProvider as It,splitWalletNetwork as He}from"@rango-dev/wallets-shared";import{TransactionType as W}from"rango-sdk";import{PendingSwapNetworkStatus as Z,SignerError as Ot}from"rango-types";import{RangoClient as Tt}from"rango-sdk";var oe,B=c(()=>oe||(oe=new Tt($("API_KEY"),$("BASE_URL")),oe),"httpService");import Me from"bignumber.js";import Pe from"bignumber.js";var We=c((e,t=null,n=null)=>{if(e===null||e==="")return"";let r=new Pe(e),a=1,s=1e3;for(let i=0;i<60;i++)if(new Pe(r.toFixed(i,a)).eq(r)){s=i;break}if(r.gte(1e4))return r.toFormat(0,a);if(r.gte(1e3)||r.gte(100))return r.toFormat(Math.min(s,Math.min(n||100,Math.max(t||0,1))),a);if(r.gte(1))return r.toFormat(Math.min(s,Math.min(n||100,Math.max(t||0,2))),a);if(r.gte(.01))return r.toFormat(Math.min(s,Math.min(n||100,Math.max(t||0,4))),a);for(let i=t||4;i<17;i++)if(r.gte(Math.pow(10,-i)))return r.toFormat(Math.min(s,Math.min(n||100,Math.max(t||0,i))),a);return r.isEqualTo(0)?"0":r.toFormat(Math.min(s,Math.min(n||100,Math.max(t||0,8))),a)},"numberToString");import{SignerErrorCode as H,SignerError as ft,isSignerErrorCode as mt,isAPIErrorCode as wt}from"rango-types";var yt="Assertion failed (Unexpected behaviour)",At="Create transaction failed in Rango Server",be="Input wallet not found",I=class e extends Error{constructor(n,r,a,s){super(r);this._isPrettyError=!0;Object.setPrototypeOf(this,e.prototype),e.prototype._isPrettyError=!0,this.code=n,this.detail=s,this.root=a}static{c(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",yt,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",At,null,n)}static WalletMissing(){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",be,null,"Server requested for a blockchain or address not selected by user")}static BlockchainMissing(){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",be,null,"Server requested for a blockchain or address not selected by user")}};function Ue(e){try{return e?wt(e)?e:mt(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]:k,[H.OPERATION_UNSUPPORTED]:k,[H.UNEXPECTED_BEHAVIOUR]:k}[e]:k:k}catch{return k}}c(Ue,"mapAppErrorCodesToAPIErrorCode");var Q=c(e=>{if(!e)return{extraMessage:"",extraMessageErrorCode:null};if(I.isPrettyError(e))return e.getErrorDetail();if(ft.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 se=(a=>(a.error="error",a.warning="warning",a.info="info",a.success="success",a))(se||{}),b=c((e,t)=>{try{return U(e,t)}catch{return null}},"getCurrentNamespaceOfOrNull"),U=c((e,t)=>{let n=t.evmTransaction?.blockChain||t.evmApprovalTransaction?.blockChain,r=t.starknetTransaction?.blockChain||t.starknetApprovalTransaction?.blockChain,a=t.tronTransaction?.blockChain||t.tronApprovalTransaction?.blockChain,s=t.cosmosTransaction?.blockChain,i=t.solanaTransaction?.blockChain,l=t.tonTransaction?.blockChain;if(n)return{namespace:"EVM",network:n};if(r)return{namespace:"Starknet",network:r};if(a)return{namespace:"Tron",network:a};if(s)return{namespace:"Cosmos",network:s};if(i)return{namespace:"Solana",network:i};if(l)return{namespace:"Ton",network:l};if(t.transferTransaction){let u=t.transferTransaction.fromWalletAddress;if(!u)throw I.BlockchainMissing();let o=Object.keys(e.wallets).find(p=>e.wallets[p]?.address===u);if(!o)throw I.BlockchainMissing();return{namespace:"UTXO",network:o}}throw new Error("Unsupported transaction type has been included in your swap.",{cause:t})},"getCurrentNamespaceOf"),J=c((e,t,n)=>{let a=n[t].info?.transactionUrl;if(a)return a.indexOf("/{txHash}")!==-1?a.replace("{txHash}",e):`${a}/${e}`},"getScannerUrl");function Le(e,t){return e.steps.find(n=>n.status!=="failed"&&n.status!=="success"&&n.id!==t.id)||null}c(Le,"getNextStep");var me=c((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||""]||(t.transferTransaction?.fromWalletAddress?{address:t.transferTransaction?.fromWalletAddress}:null)||null;if(n==null)throw I.WalletMissing();return n.address},"getCurrentAddressOf");function q(e,t){let n=me(e,t),r=Object.keys(e.wallets).map(l=>({k:l,v:e.wallets[l]})).find(({v:l})=>l.address===n)||null,a=r?.k||null,s=r?.v||null,i=s?.walletType;if(s===null)throw I.AssertionFailed(`Wallet for source ${a} not passed: walletType: ${i}`);return s}c(q,"getRelatedWallet");function we(e,t){if(!t)return null;try{return q(e,t)}catch{return null}}c(we,"getRelatedWalletOrNull");var Be=c((e,t,n,r)=>r?.find(s=>s.blockchain===e&&s.symbol?.toUpperCase()===t?.toUpperCase()&&s.address===n)?.usdPrice||null,"getUsdPrice");function Ct(e,t){let n=new Me(0);for(let r=0;r<e.fee.length;r++){let a=e.fee[r];if(a.expenseType==="DECREASE_FROM_OUTPUT")continue;let s=Be(a.asset.blockchain,a.asset.symbol,a.asset.address,t);n=n.plus(new Me(a.amount).multipliedBy(s||0))}return n}c(Ct,"getUsdFeeOfStep");function Fe(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?We(Ct(e,t?.tokens),null,8):null,estimatedTimeInSeconds:e.estimatedTimeInSeconds||null,internalSteps:null}}c(Fe,"mapSwapStepToPendingSwapStep");function _t(e,t,n,r,a,s){let i=t.result;if(!i)throw Error("Simulation result should not be null");return{creationTime:new Date().getTime().toString(),finishTime:null,requestId:t.requestId||"",inputAmount:e,wallets:n,status:"running",isPaused:!1,extraMessage:null,extraMessageSeverity:null,extraMessageDetail:null,extraMessageErrorCode:null,networkStatusExtraMessage:null,networkStatusExtraMessageDetail:null,lastNotificationTime:null,settings:r,simulationResult:i,validateBalanceOrFee:a,steps:t.result?.swaps?.map((l,u)=>{let o=Fe(l,s);return{id:u+1,...o,internalSwaps:l?.internalSwaps?.map(p=>Fe(p,s))||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,hasAlreadyProceededToSign:!1}})||[]}}c(_t,"calculatePendingSwap");function Qe(e){return e.map(t=>{let{diagnosisUrl:n,estimatedTimeInSeconds:r,explorerUrl:a,feeInUsd:s,executedTransactionId:i,executedTransactionTime:l,expectedOutputAmountHumanReadable:u,fromBlockchain:o,toBlockchain:p,fromSymbol:d,toSymbol:g,fromSymbolAddress:S,toSymbolAddress:m,swapperType:_,swapperId:E,outputAmount:T,fromAmountMaxValue:w,fromAmountMinValue:C,fromAmountPrecision:y,fromAmountRestrictionType:R,fromDecimals:x,status:v}=t;return{diagnosisUrl:n,estimatedTimeInSeconds:r,explorerUrl:a,feeInUsd:s,executedTransactionId:i,executedTransactionTime:l,expectedOutputAmountHumanReadable:u,fromBlockchain:o,toBlockchain:p,fromSymbol:d,toSymbol:g,fromSymbolAddress:S,toSymbolAddress:m,swapperName:E,swapperType:_,outputAmount:T,fromAmountMaxValue:w,fromAmountMinValue:C,fromAmountPrecision:y,fromAmountRestrictionType:R,fromDecimals:x,status:v,transaction:M(t)}})}c(Qe,"createSteps");function xt(e,t,n){let{creationTime:r,finishTime:a,requestId:s,inputAmount:i,status:l,wallets:u,steps:o,settings:p}=e,d=Qe(o),S={route:{creationTime:r,finishTime:a,requestId:s,inputAmount:i,status:l,wallets:u,steps:d,slippage:p.slippage,infiniteApproval:p.infiniteApprove},step:d[d.length-1]};if(n)S.step=Qe([n])[0];else if(t==="failed"){let m=Xe(d);m&&(S.step=m)}else{let m=z(d);m&&(S.step=m)}return S}c(xt,"getEventPayload");function kt(e,t){let n,{type:r}=e;switch(r){case"started":n={...e,type:"started"};break;case"failed":n={...e,type:"failed"};break;case"succeeded":n={...e,type:"succeeded"};break;default:break}n&&$("emitter")?.emit("routeEvent",{event:n,route:t})}c(kt,"emitRouteEvent");function Rt(e,t,n){$("emitter")?.emit("stepEvent",{event:e,route:t,step:n})}c(Rt,"emitStepEvent");function f(e){let{event:t}=e,{type:n}=t,{route:r,step:a}=xt(e.swap,n,e.step??void 0),s=`${a.fromBlockchain}.${a.fromSymbol}`,i=`${a.toBlockchain}.${a.toSymbol}`,l=a.outputAmount??"",u=e.step?b(e.swap,e.step):null,o="",p="info";switch(n){case"started":o="Swap process started",p="success";break;case"succeeded":o=`You received ${l} ${i}, hooray!`,p="success";break;case"failed":o=`Swap failed: ${e.swap?.extraMessage??"Reason is unknown"}`,p="error";break;case"tx_execution":t.status==="create_tx"?(o="Please wait while the transaction is created ...",p="info"):t.status==="send_tx"?(e.step&&j(e.step)?o=`Please confirm '${a.swapperName}' smart contract access to ${s}`:o="Please confirm transaction request in your wallet",p="warning"):t.status==="tx_sent"&&(o="Transaction sent successfully",p="info");break;case"check_status":e.step&&j(e.step)?o="Checking approve transaction status ...":o="Checking transaction status ...",p="info";break;case"approval_tx_succeeded":o="Smart contract called successfully",p="success";break;case"output_revealed":o="Transaction output amount revealed",p="success";break;case"tx_execution_blocked":t.status==="waiting_for_wallet_connect"?(o="Please connect your wallet.",p="warning"):t.status==="waiting_for_queue"?(o="Waiting for other swaps to complete",p="warning"):t.status==="waiting_for_change_wallet_account"?(o="Please change your wallet account.",p="warning"):t.status==="waiting_for_network_change"&&(o=`Please change your wallet network to ${u?.network}.`,p="warning");break;default:break}e.step&&Rt({...t,message:o,messageSeverity:p},r,a),(e.event.type==="failed"||!e.step)&&kt({...t,message:o,messageSeverity:p},r)}c(f,"notifier");var ye=null;function ie(){return{claimedBy:()=>ye?.id,setClaimer:e=>{ye={id:e}},reset:()=>{ye=null}}}c(ie,"claimQueue");var K={};function le(){return{getTransactionDataByHash:e=>K[e]||{},setTransactionDataByHash:(e,t)=>{K[e]||(K[e]={}),K[e].response=t.response||K[e].response,K[e].receiptReceived=t.receiptReceived||K[e].receiptReceived||!1}}}c(le,"inMemoryTransactionsData");var A=c(e=>e.steps.find(t=>t.status!=="failed"&&t.status!=="success")||null,"getCurrentStep"),M=c(e=>{let{evmTransaction:t,evmApprovalTransaction:n,cosmosTransaction:r,solanaTransaction:a,transferTransaction:s,starknetApprovalTransaction:i,starknetTransaction:l,tronApprovalTransaction:u,tronTransaction:o,tonTransaction:p}=e;return t||n||r||a||s||i||l||u||o||p},"getCurrentStepTx"),ce=c((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;let n=t.type;switch(n){case W.EVM:t.isApprovalTx?e.evmApprovalTransaction=t:e.evmTransaction=t;break;case W.TRON:t.isApprovalTx?e.tronApprovalTransaction=t:e.tronTransaction=t;break;case W.STARKNET:t.isApprovalTx?e.starknetApprovalTransaction=t:e.starknetTransaction=t;break;case W.COSMOS:e.cosmosTransaction=t;break;case W.SOLANA:e.solanaTransaction=t;break;case W.TRANSFER:e.transferTransaction=t;break;case W.TON:e.tonTransaction=t;break;default:(r=>{throw new Error(`${r} was unhandled!`)})(n)}return e},"setCurrentStepTx"),Ce=c(e=>M(e)?.type,"getCurrentStepTxType"),j=c(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:s,errorCode:i=null,hasAlreadyProceededToSign:l,trace:u=null}){let o=e().swapDetails,p=A(o),d={swap:o,step:p};if(r&&p&&(p.status=r),n&&(o.status=n),o.hasAlreadyProceededToSign=l,n&&["failed","success"].includes(n)&&(o.finishTime=new Date().getTime().toString()),(a||s)&&(o.extraMessage=a||"",o.extraMessageDetail=s||""),r&&["failed"].includes(r)){let g=s&&s.includes("Warning")?"Swap canceled by user.":s,S=we(o,p)?.walletType;o.extraMessageSeverity="error";let m=Ue(i);d.failureType=m;let _=i!=="REJECTED_BY_USER"&&u?.message&&typeof u.message=="string"?u.message:g||"";B().reportFailure({requestId:o.requestId,step:p?.id||1,eventType:m,reason:_,tags:S?{wallet:S}:void 0}).then().catch()}else r&&["running"].includes(r)?o.extraMessageSeverity="info":r&&["success","approved"].includes(r)?o.extraMessageSeverity="success":r&&["waitingForApproval"].includes(r)&&(o.extraMessageSeverity="warning");return r==="running"&&p&&(p.startTransactionTime=new Date().getTime()),t({...e(),swapDetails:o}),d}c(O,"updateSwapStatus");function Dt({getStorage:e,setStorage:t},n,r){let a=e().swapDetails;a.hasAlreadyProceededToSign=null;let s=A(a);s.executedTransactionId=n,s.executedTransactionTime=new Date().getTime().toString(),r?.url&&(s.explorerUrl=[...s.explorerUrl||[],{url:r.url,description:r.description||null}]),j(s)?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:s}),f({event:{type:"check_status"},swap:a,step:s})}c(Dt,"setStepTransactionIds");function Pt({getStorage:e,setStorage:t},n,r){let a=e().swapDetails,s=A(a);if(!s)return;let i=new Date;a.lastNotificationTime=i.getTime().toString(),!(s.networkStatus===Z.WaitingForConnectingWallet&&a.networkStatusExtraMessage===n&&a.networkStatusExtraMessageDetail===r)&&(s.networkStatus=Z.WaitingForConnectingWallet,a.networkStatusExtraMessage=n,a.networkStatusExtraMessageDetail=r,t({...e(),swapDetails:a}))}c(Pt,"markRunningSwapAsWaitingForConnectingWallet");function qe({getStorage:e,setStorage:t}){let n=e().swapDetails,r=A(n);if(!r)return;let{type:a}=D(n),s=U(n,r),i=`Change ${a} wallet network to ${s.network}`,l=`Please change your ${a} wallet network to ${s.namespace}.`,u=new Date;return n.lastNotificationTime=u.getTime().toString(),r.networkStatus=Z.WaitingForNetworkChange,n.networkStatusExtraMessage=i,n.networkStatusExtraMessageDetail=l,t({...e(),swapDetails:n}),{swap:n,step:r}}c(qe,"markRunningSwapAsSwitchingNetwork");function Ke({getStorage:e,setStorage:t}){let n=e().swapDetails,r=A(n);if(r)return n.networkStatusExtraMessage="",n.networkStatusExtraMessageDetail="",r.networkStatus=Z.WaitingForQueue,f({event:{type:"tx_execution_blocked",status:"waiting_for_queue"},swap:n,step:r}),t({...e(),swapDetails:n}),{swap:n,step:r}}c(Ke,"markRunningSwapAsDependsOnOtherQueues");async function ue(e){return new Promise(t=>setTimeout(t,e))}c(ue,"delay");var Wt=c((e,t)=>e.wallets[t]?.walletType,"getSwapWalletType");function _e(e){return e===null||e?.blockchains===null||e?.blockchains.length===0}c(_e,"isWalletNull");function D(e){let t=A(e),n=b(e,t);if(!n)return{type:null,namespace:null,address:null};let r=Wt(e,n.network),a=e.wallets[n.network];return{type:r||null,namespace:n,address:a?a.address:null}}c(D,"getRequiredWallet");async function bt(e){try{return await e.request({method:"eth_chainId"})||e?.chainId}catch{return e?.chainId}}c(bt,"getChainId");async function $e(e,t,n,r,a){if(_e(n))return!1;let s=b(e,t);if(!s)return!1;if(r.evmBasedChains.find(i=>i.name===s.network)){try{let i=e.wallets[s.network];if(i){let l=It(a,i.walletType),u=await bt(l);if(u){let o=ht(u,Object.entries(r.blockchains).map(([,p])=>p));if(o&&o.toLowerCase()===s.network.toLowerCase())return!0;if(o&&o.toLowerCase()!==s.network.toLowerCase())return!1}}}catch(i){console.log(i)}return!1}return!0}c($e,"isNetworkMatchedForTransaction");var Ve=c((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||""]||t.transferTransaction?.fromWalletAddress||null)!==null,"isTxAlreadyCreated");function pe(e){let{getStorage:t,setStorage:n}=e,r=t().swapDetails,a=A(r);a?.networkStatus&&(a.networkStatus=null,n({...t(),swapDetails:r}))}c(pe,"resetNetworkStatus");function Ye(e,t={message:"",details:"",status:null}){let{message:n,details:r,status:a}=t,{getStorage:s,setStorage:i}=e,l=s().swapDetails,u=A(l);u?.networkStatus&&(l.networkStatusExtraMessage=n,l.networkStatusExtraMessageDetail=r,u.networkStatus=a,i({...s(),swapDetails:l}))}c(Ye,"updateNetworkStatus");function Je(e,t){let{context:n,queue:r}=t,a=r.getStorage().swapDetails,{ok:s,reason:i}=xe(a,n.state);if(!s){let l=A(a),{type:u,address:o}=D(a);f({event:{type:"tx_execution_blocked",...i==="account_miss_match"?{status:"waiting_for_change_wallet_account",requiredAccount:o??void 0}:{status:"waiting_for_wallet_connect",requiredWallet:u??void 0,requiredAccount:o??void 0}},swap:a,step:l}),Pt({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)},Oe,e.reason.description);return}r.unblock()}c(Je,"onBlockForConnectWallet");function je(e,t){let{context:n,queue:r}=t,a=r.getStorage().swapDetails,s=A(a);if(!s||a.status!=="running")return;let i=qe({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)}),l=b(a,s)?.network,u=D(a).type,o=u?n.state(u).network:void 0;i&&f({event:{type:"tx_execution_blocked",status:"waiting_for_network_change",requiredNetwork:l??void 0,currentNetwork:o??void 0},swap:i.swap,step:i.step});let{type:p,namespace:d}=D(a);if(p&&d?.network&&n.canSwitchNetworkTo(p,d.network)){let g=n.switchNetwork(p,d);g&&g.then(()=>{r.unblock()}).catch(S=>{console.log({error:S})})}}c(je,"onBlockForChangeNetwork");function ze(e,t){let{getBlockedTasks:n,forceExecute:r,queue:a,manager:s,context:i}=t,{setClaimer:l,claimedBy:u,reset:o}=ie(),p=n().filter(w=>w.reason.reason==="depends_on_other_queues");if(p.length===0)return;let d=u(),g=!!d;if(d===a.id)return;if(g){Ke({getStorage:a.getStorage.bind(a),setStorage:a.setStorage.bind(a)});return}let S=p.find(w=>w.queue_id===t.queue_id);S||(S=p[0]),l(S.queue_id);let m=S.storage.get(),{type:_,namespace:E,address:T}=D(m.swapDetails);r(S.queue_id,{claimedBy:u(),resetClaimedBy:()=>{o(),Re(`${_}-${E?.network}:${T}`,s,i.canSwitchNetworkTo)}})}c(ze,"onDependsOnOtherQueues");function xe(e,t){let{type:n,address:r}=D(e);if(!n||!r)return{ok:!1,reason:"not_connected"};let a=t(n),{accounts:s,connected:i}=a,l=s||[];return i?{ok:l.some(o=>{let{address:p}=Nt(o);return r.toLocaleLowerCase()===p.toLocaleLowerCase()}),reason:"account_miss_match"}:{ok:!1,reason:"not_connected"}}c(xe,"isRequiredWalletConnected");async function Ze(e){let{setTransactionDataByHash:t}=le(),{getStorage:n,setStorage:r,failed:a,next:s,schedule:i,context:l}=e,{meta:u,getSigners:o,isMobileWallet:p}=l,d=n().swapDetails,g=A(d),S=q(d,g),m=p(S?.walletType),_=me(d,g),E=U(d,g),T=c(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),w=M(g),C=w?.type,y=j(g);if(!w||!C){let N="Unexpected Error: tx is null!",P=O({getStorage:n,setStorage:r,nextStatus:"failed",nextStepStatus:"failed",message:N,details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"});return f({event:{type:"failed",reason:N,reasonCode:"CLIENT_UNEXPECTED_BEHAVIOUR"},...P}),a(),T()}let R=u.blockchains?.[w.blockChain]?.chainId,x=typeof d.hasAlreadyProceededToSign=="boolean",v,h,X,F,G;y?(X=`Waiting for approval of ${g?.fromSymbol} coin ${m?"on your mobile phone!":""}`,F="Waiting for approve transaction to be mined and confirmed successfully",h="waitingForApproval",v=void 0,G="tx_execution"):x?(X="Transaction is expired. Please try again.",h="failed",v="failed",F="",G="failed"):(X="Executing transaction ...",h="running",v="running",F=`${m?"Check your mobile phone!":""}`,G="tx_execution");let de=O({getStorage:n,setStorage:r,nextStepStatus:h,nextStatus:v,message:X,details:F,hasAlreadyProceededToSign:y?void 0:x,errorCode:x?"TX_EXPIRED":void 0});if(G==="failed"?f({event:{type:G,reason:X,reasonCode:de.failureType??k},...de}):f({event:{type:G,status:"send_tx"},...de}),x){a(),T();return}(await o(S.walletType)).getSigner(C).signAndSendTx(w,_,R).then(({hash:N,response:P})=>{let te=J(N,E.network,u.blockchains);Dt(e,N,te&&(!P||P&&!P.hashRequiringUpdate)?{url:te,description:y?"Approve":"Swap"}:void 0),P&&t(N,{response:P}),i("CHECK_TRANSACTION_STATUS"),s(),T()},N=>{if(d.status==="failed")return;let{extraMessage:P,extraMessageDetail:te,extraMessageErrorCode:St}=Q(N);vt(N,{tags:{requestId:d.requestId,rpc:!0,swapper:g?.swapperId||"",walletType:S?.walletType||""},context:Ot.isSignerError(N)?N.getErrorContext():{}});let he=O({getStorage:n,setStorage:r,nextStatus:"failed",nextStepStatus:"failed",message:P,details:te,errorCode:St,trace:N?.cause});f({event:{type:"failed",reason:P,reasonCode:he.failureType??k},...he}),a(),T()})}c(Ze,"signTransaction");function et(e){let{wallet_network:t,evmChains:n,manager:r}=e,[a,s]=He(t);n.some(i=>i.name==s)&&r?.getAll().forEach(i=>{let l=i.list.getStorage(),u=l?.swapDetails;if(u&&u.status==="running"){let o=A(u);if(o){let p=l?.swapDetails.wallets[o.fromBlockchain]?.walletType,d=Object.keys(i.list.state.tasks).some(S=>{let m=i.list.state.tasks[S];return m.status===Ae.BLOCKED&&["waiting_for_connecting_wallet"].includes(m.blockedFor?.reason)}),g=b(u,o)?.network;if(p===a&&d&&g!=s){let S=i.list,{type:m}=D(u),_=ae(m);i.list.block({reason:{reason:"waiting_for_network_change",description:_},silent:!0});let E=qe({getStorage:S.getStorage.bind(S),setStorage:S.setStorage.bind(S)});E&&f({event:{type:"tx_execution_blocked",status:"waiting_for_network_change",currentNetwork:s,requiredNetwork:g??void 0},swap:E.swap,step:E.step})}}}})}c(et,"checkWaitingForConnectWalletChange");function ke(e){e?.getAll().forEach(t=>{if(Object.keys(t.list.state.tasks).some(r=>{let a=t.list.state.tasks[r];return a.status===Ae.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),s=re(a);t.list.block({reason:{reason:"waiting_for_connecting_wallet",description:s}})}}})}c(ke,"checkWaitingForNetworkChange");function Ut(e){let t=e?.getAll()||new Map,n=[];return t.forEach(r=>{let s=r.list.getStorage()?.swapDetails;!s||s.status!=="running"||n.push(s)}),n}c(Ut,"getRunningSwaps");function Mt(e){e.forEach(t=>{let n=A(t),r="tx_execution_blocked",a;n?.networkStatus===Z.WaitingForQueue?a="waiting_for_queue":t?.status==="running"&&(a="waiting_for_wallet_connect"),r&&f&&f({event:{type:r,status:a??"waiting_for_queue"},swap:t,step:n})})}c(Mt,"resetRunningSwapNotifsOnPageLoad");function Re(e,t,n,r={fallbackToOnlyWallet:!0}){let[a,s]=He(e);if(!a||!s)return;let i=[],l=[];t?.getAll().forEach(o=>{if(o.status===Ae.BLOCKED){let p=o.list.getStorage(),d=p?.swapDetails;if(d&&d.status==="running"){let g=A(d);g&&(b(d,g)?.network==s&&p?.swapDetails.wallets[s]?.walletType===a?i.push(o.list):p?.swapDetails.wallets[g.fromBlockchain]?.walletType===a&&l.push(o.list))}}});let u;if(i.length>0){if(u=i[0],i.length>1)for(let o=1;o<i.length;o++){let p=i[o];Ke({getStorage:p.getStorage.bind(p),setStorage:p.setStorage.bind(p)})}}else l.length>0&&r.fallbackToOnlyWallet&&(u=l[0]);n?.(a,s)?u?.checkBlock():u?.unblock()}c(Re,"retryOn");function tt(e){return!!e.evmTransaction||!!e.evmApprovalTransaction}c(tt,"isNeedBlockQueueForParallel");async function nt(e){let t=await e;if(!t.ok||!t.transaction)throw I.CreateTransaction(t.error||"bad response from create tx endpoint");return t}c(nt,"throwOnOK");function Ft(e,t){let{reset:n}=ie();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},swap:r.swap,step:r.step}),n(),t&&t?.retry(),r}c(Ft,"cancelSwap");function z(e){return e.slice().reverse().find(t=>t.status==="success")}c(z,"getLastSuccessfulStep");function Xe(e){return e.slice().reverse().find(t=>t.status==="failed")}c(Xe,"getFailedStep");function Lt(e){let{transaction:t}=e;return t?.type===W.EVM&&t.isApprovalTx||t?.type===W.STARKNET&&t.isApprovalTx||t?.type===W.TRON&&t.isApprovalTx}c(Lt,"isApprovalTX");var rt=5e3,Bt=5e3;async function Qt({getStorage:e,setStorage:t,next:n,schedule:r,retry:a,failed:s,context:i}){let l=e().swapDetails,{meta:u}=i,o=A(l);if(!o?.executedTransactionId)return;let p=M(o),d=o.executedTransactionId,g=!1,S=null,m=null,{getTransactionDataByHash:_,setTransactionDataByHash:E}=le();try{let y=Ce(o),R=q(l,o);y&&R&&(m=(await i.getSigners(R.walletType)).getSigner(y))}catch{}try{let{response:y,receiptReceived:R}=_(d);if(m?.wait&&!R){let x=p?.blockChain&&u.blockchains?.[p?.blockChain]?.chainId||void 0,{hash:v,response:h}=await m.wait(d,x,y);if(v!==d){o.executedTransactionId=v||o.executedTransactionId;let X=U(l,o),F;!!Object.keys(u.blockchains).length&&(F=J(o.executedTransactionId,X.network,u.blockchains)),F&&o.explorerUrl&&o.explorerUrl?.length>=1&&(o.explorerUrl[o.explorerUrl.length-1]={url:F,description:"Replaced Swap"}),d=o.executedTransactionId,v&&h&&E(v,{response:h})}else E(v,{receiptReceived:!0})}}catch(y){let{extraMessage:R,extraMessageDetail:x,extraMessageErrorCode:v}=Q(y),h=O({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:R,details:x,errorCode:v});f({event:{type:"failed",reason:R,reasonCode:h.failureType??k},...h}),g=!0}try{S=await B().checkStatus({requestId:l.requestId,txId:d,step:o.id})}catch{await ue(rt),a();return}if(g)return s();if(o?.status==="failed")return;let T=S?.outputAmount||(o.outputAmount?o.outputAmount:null),w=o.outputAmount||null;l.extraMessage=S?.extraMessage||l.extraMessage,l.extraMessageSeverity="info",l.extraMessageDetail="",o.status=S?.status||o.status,o.diagnosisUrl=S?.diagnosisUrl||o.diagnosisUrl||null,o.outputAmount=T||o.outputAmount,o.explorerUrl=S?.explorerUrl||o.explorerUrl,o.internalSteps=S?.steps||null;let C=S?.newTx;if(C&&(o.status="created",o.executedTransactionId=null,o.executedTransactionTime=null,ce(o,C)),w===null&&T!==null?f({event:{type:"output_revealed",outputAmount:T},swap:l,step:o}):w===null&&T===null&&f({event:{type:"check_status"},swap:l,step:o}),o.status==="success"){let y=Le(l,o);l.extraMessageDetail="",l.extraMessage=y?`starting next step: ${y.swapperId}: ${y.fromBlockchain} -> ${y.toBlockchain}`:"",f({event:{type:"succeeded",outputAmount:o.outputAmount??""},swap:l,step:o})}else o.status==="failed"&&(l.extraMessage="Transaction failed in blockchain",l.extraMessageSeverity="error",l.extraMessageDetail=S?.extraMessage||"",l.status="failed",l.finishTime=new Date().getTime().toString());t({...e(),swapDetails:l}),S?.status==="failed"?s():S?.status==="success"||S?.status==="running"&&S.newTx?(r("SCHEDULE_NEXT_STEP"),n()):(await ue(rt),a())}c(Qt,"checkTransactionStatus");async function Xt({getStorage:e,setStorage:t,next:n,schedule:r,retry:a,failed:s,context:i}){let l=e().swapDetails,{meta:u}=i,{getTransactionDataByHash:o,setTransactionDataByHash:p}=le(),d=A(l);if(!d){console.log("ignore check status, current step is null");return}let g=M(d);if(!d?.executedTransactionId)return;let S=d.executedTransactionId,m=null;try{let E=Ce(d),T=q(l,d);E&&T&&(m=(await i.getSigners(T.walletType)).getSigner(E))}catch{}try{let{response:E,receiptReceived:T}=o(S);if(m?.wait&&!T){let w=g?.blockChain&&u.blockchains?.[g?.blockChain]?.chainId||void 0,{hash:C,response:y}=await m.wait(S,w,E);if(C!==S){d.executedTransactionId=C||d.executedTransactionId;let R=U(l,d),x;!!Object.keys(u.blockchains).length&&(x=J(d.executedTransactionId,R.network,u.blockchains)),x&&d.explorerUrl&&d.explorerUrl?.length>=1&&(d.explorerUrl[d.explorerUrl.length-1]={url:x,description:"Replaced Approve"}),S=d.executedTransactionId,C&&y&&p(C,{response:y})}else p(C,{receiptReceived:!0})}}catch(E){let{extraMessage:T,extraMessageDetail:w,extraMessageErrorCode:C}=Q(E),y=O({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:T,details:w,errorCode:C});return f({event:{type:"failed",reason:T,reasonCode:y.failureType??k},...y}),s()}let _=!1;try{let E=await B().checkApproval(l.requestId,d.executedTransactionId);if(d?.status==="failed")return;if(_=E.isApproved,!_&&(E.txStatus==="failed"||E.txStatus==="success")){let T,w;E.txStatus==="failed"?(T="Approve transaction failed",w="Smart contract approval tx failed in blockchain."):(T="Not enough approval",E.requiredApprovedAmount&&E.currentApprovedAmount?w=`Required approval: ${E.requiredApprovedAmount}, current approval: ${E.currentApprovedAmount}`:w="You still don't have enough approval for this swap.");let C=O({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",errorCode:"INSUFFICIENT_APPROVE",message:T,details:w});f({event:{type:"failed",reason:T,reasonCode:C.failureType??k},...C}),s()}else _||f({event:{type:"check_status"},swap:l,step:d})}catch{_=!1}_?(d.status="approved",l.extraMessage=`Spending ${d.fromSymbol} approved successfully.`,l.extraMessageDetail=null,l.extraMessageSeverity="success",d.evmApprovalTransaction=null,d.executedTransactionId=null,d.executedTransactionTime=null,d.starknetApprovalTransaction=null,d.tronApprovalTransaction=null,t({...e(),swapDetails:l}),f({event:{type:"approval_tx_succeeded"},swap:l,step:d}),r("SCHEDULE_NEXT_STEP"),n()):(await ue(Bt),a())}c(Xt,"checkApprovalStatus");async function at(e){let t=e.getStorage().swapDetails,n=A(t);if(!n){console.log("ignore check status, current step is null",t.requestId);return}pe(e),n.status==="running"?await Qt(e):n.status==="waitingForApproval"&&await Xt(e)}c(at,"checkStatus");async function ot(e){let{setStorage:t,getStorage:n,next:r,schedule:a}=e,s=n().swapDetails,i=A(s);if(!M(i)){f({event:{type:"tx_execution",status:"create_tx"},swap:s,step:i});let u={requestId:s.requestId,step:i.id,userSettings:{slippage:s.settings.slippage,infiniteApprove:s.settings.infiniteApprove},validations:{balance:s.validateBalanceOrFee,fee:s.validateBalanceOrFee,approve:!0}};try{let{transaction:o}=await nt(B().createTransaction(u));o&&ce(i,o),t({...n(),swapDetails:s}),a("EXECUTE_TRANSACTION"),r()}catch(o){s.status="failed",s.finishTime=new Date().getTime().toString();let{extraMessage:p,extraMessageDetail:d}=Q(o),g=O({getStorage:n,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:p,details:d,errorCode:"FETCH_TX_FAILED"});f({event:{type:"failed",reason:p,reasonCode:g.failureType??k},...g}),e.failed()}}}c(ot,"createTransaction");import{PendingSwapNetworkStatus as Gt}from"rango-types";async function st(e){let{getStorage:t,context:n}=e,{meta:r,wallets:a,providers:s}=n,{claimedBy:i}=ie(),l=n.claimedBy===n._queue?.id,u=c(E=>{e.block(E),l&&e.context.resetClaimedBy&&e.context.resetClaimedBy()},"requestBlock"),o=t().swapDetails,p=A(o);if(pe(e),!xe(o,n.state).ok){let{type:E,address:T}=D(o),w=a?.blockchains?.find(R=>!R.accounts?.find(x=>x.walletType===E)),C=_e(a)||w?re(E):De(E,T),y={reason:"waiting_for_connecting_wallet",description:C};u(y);return}let g=await $e(o,p,a,r,s);if(!!i()&&!l&&!g){let E=fe,T={reason:"depends_on_other_queues",details:E};u(T);return}else if(!g){let E=U(o,p),T=ae(E.network),w={reason:"waiting_for_network_change",details:T};u(w);return}if(Ye(e,{message:"",details:"Wallet network changed successfully",status:Gt.NetworkChanged}),tt(p)&&!l){let E={reason:"depends_on_other_queues",description:fe,details:{}};u(E);return}await Ze(e)}c(st,"executeTransaction");function it({schedule:e,next:t,failed:n,setStorage:r,getStorage:a}){let s=a().swapDetails,i=A(s),l=s.steps.find(u=>u.status==="failed");if(i&&!l){if(Ve(s,i))return e("EXECUTE_TRANSACTION"),t();if(i?.executedTransactionId)return e("CHECK_TRANSACTION_STATUS"),t();s.status="running",r({...a(),swapDetails:s}),f({event:{type:"started"},swap:s,step:i}),e("CREATE_TRANSACTION"),t()}else s.status=l?"failed":"success",s.finishTime=new Date().getTime().toString(),r({...a(),swapDetails:s}),f({...l?{event:{type:"failed",reason:s.extraMessage??void 0,reasonCode:"CALL_OR_SEND_FAILED"}}:{event:{type:"succeeded",outputAmount:z(s.steps)?.outputAmount??""}},swap:s,step:null}),l?n():t()}c(it,"scheduleNextStep");function lt({schedule:e,next:t,getStorage:n}){let r=n().swapDetails;f({event:{type:"started"},swap:r,step:null}),e("SCHEDULE_NEXT_STEP"),t()}c(lt,"start");var ct={name:"swap",actions:{START:lt,SCHEDULE_NEXT_STEP:it,CREATE_TRANSACTION:ot,EXECUTE_TRANSACTION:st,CHECK_TRANSACTION_STATUS:at},run:["START"],whenTaskBlocked:(e,t)=>{e.reason.reason==="waiting_for_connecting_wallet"?Je(e,t):e.reason.reason==="waiting_for_network_change"?je(e,t):e.reason.reason==="depends_on_other_queues"&&ze(e,t)}};import{useManager as Vt}from"@rango-dev/queue-manager-react";import{useEffect as Ne,useState as Yt}from"react";import{DB_NAME as Ht,Persistor as qt,Status as ee}from"@rango-dev/queue-manager-core";import{v4 as Kt}from"uuid";var ut="migratedToQueueManager";function ve(){return!!window.localStorage.getItem(ut)}c(ve,"migrated");async function $t(){try{return(await window.indexedDB.databases()).map(e=>e.name).includes(Ht)}catch{return!1}}c($t,"hasQueueManagerOnIDB");async function pt(){let e=window.localStorage.getItem("pendingSwaps"),t=await $t();if(!e||ve()||t)return!0;let n=JSON.parse(e),r=[];n.forEach(i=>{if(i.status==="running"){let l=Kt(),u={id:i.requestId,createdAt:Number(i.creationTime),name:"swap",status:ee.RUNNING,storage:{swapDetails:i},state:{status:ee.RUNNING,activeTaskIndex:0,tasks:{[l]:{blockedFor:null,status:ee.RUNNING}}},tasks:[{id:l,action:"SCHEDULE_NEXT_STEP"}]};r.push(u)}else{let l=i.status==="success"?ee.SUCCESS:ee.FAILED,u={id:i.requestId,createdAt:Number(i.creationTime),name:"swap",status:l,storage:{swapDetails:i},state:{status:l,activeTaskIndex:0,tasks:{}},tasks:[]};r.push(u)}});let a=new qt,s=r.map(async i=>a.insertQueue(i));return await Promise.all(s),window.localStorage.setItem(ut,"1"),!0}c(pt,"migration");var dt=0;function Jt(){let e=ve(),[t,n]=Yt(e);return Ne(()=>{(async()=>dt||(dt=1,pt().finally(()=>{n(!0)})))()},[]),{status:t}}c(Jt,"useMigration");function jt(e){let{manager:t}=Vt();Ne(()=>{e.lastConnectedWallet&&(et({evmChains:e.evmChains,wallet_network:e.lastConnectedWallet,manager:t}),Re(e.lastConnectedWallet,t,e.canSwitchNetworkTo))},[e.lastConnectedWallet]),Ne(()=>{e.disconnectedWallet&&(ke(t),e.clearDisconnectedWallet())},[e.disconnectedWallet])}c(jt,"useQueueManager");function $r(e){return Ie(e),ct}c($r,"makeQueueDefinition");export{Te as EventSeverity,se as MessageSeverity,I as PrettyError,ge as RouteEventType,L as StepEventType,ne as StepExecutionBlockedEventStatus,Y as StepExecutionEventStatus,Ee as WidgetEvents,_t as calculatePendingSwap,Ft as cancelSwap,ke as checkWaitingForNetworkChange,b as getCurrentNamespaceOfOrNull,A as getCurrentStep,z as getLastSuccessfulStep,q as getRelatedWallet,we as getRelatedWalletOrNull,D as getRequiredWallet,Ut as getRunningSwaps,Be as getUsdPrice,Lt as isApprovalTX,$r as makeQueueDefinition,Q as prettifyErrorMessage,Mt as resetRunningSwapNotifsOnPageLoad,O as updateSwapStatus,Jt as useMigration,jt as useQueueManager};
2
2
  //# sourceMappingURL=index.js.map