@rango-dev/queue-manager-rango-preset 0.64.1-next.1 → 0.64.1-next.3

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.
@@ -2,7 +2,7 @@ import type { StellarNamespace, TargetToken } from './types';
2
2
  import type { TargetNamespace } from '../../shared';
3
3
  import type { NextTransactionStateError } from '../common/produceNextStateForTransaction';
4
4
  import type { BlockedReason, ExecuterActions } from '@rango-dev/queue-manager-core';
5
- import type { WalletType } from '@rango-dev/wallets-shared';
5
+ import type { LegacyWalletType as WalletType } from '@rango-dev/wallets-core/legacy';
6
6
  import type { PendingSwap, StellarTransaction } from 'rango-types';
7
7
  import type { Result } from 'ts-results';
8
8
  import { type SwapActionTypes, type SwapQueueContext, type SwapStorage } from '../../types';
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/actions/checkStellarTrustline/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAYzC,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAIrB,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAC,CAc9D;AAED,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE;IAAE,SAAS,EAAE,gBAAgB,CAAA;CAAE,GACvC,OAAO,CACR,MAAM,CAAC;IAAE,wBAAwB,EAAE,OAAO,CAAA;CAAE,EAAE,yBAAyB,CAAC,CACzE,CA6CA;AAED,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,WAAW,GACjB,kBAAkB,CAiCpB;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,GAAG;IAC3D,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAeP;AAED,wBAAsB,sCAAsC,CAC1D,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,EACxE,cAAc,EAAE;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CA+BtC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/actions/checkStellarTrustline/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,IAAI,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAYzC,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAIrB,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAC,CAc9D;AAED,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE;IAAE,SAAS,EAAE,gBAAgB,CAAA;CAAE,GACvC,OAAO,CACR,MAAM,CAAC;IAAE,wBAAwB,EAAE,OAAO,CAAA;CAAE,EAAE,yBAAyB,CAAC,CACzE,CA6CA;AAED,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,WAAW,GACjB,kBAAkB,CAiCpB;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,GAAG;IAC3D,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAeP;AAED,wBAAsB,sCAAsC,CAC1D,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,EACxE,cAAc,EAAE;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CA+BtC"}
@@ -2,7 +2,7 @@ import type { TargetToken, XrplNamespace } from './types';
2
2
  import type { TargetNamespace } from '../../shared';
3
3
  import type { NextTransactionStateError } from '../common/produceNextStateForTransaction';
4
4
  import type { BlockedReason, ExecuterActions } from '@rango-dev/queue-manager-core';
5
- import type { WalletType } from '@rango-dev/wallets-shared';
5
+ import type { LegacyWalletType as WalletType } from '@rango-dev/wallets-core/legacy';
6
6
  import type { PendingSwap, XrplTransaction } from 'rango-types';
7
7
  import type { Result } from 'ts-results';
8
8
  import { type SwapActionTypes, type SwapQueueContext, type SwapStorage } from '../../types';
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/actions/checkXrplTrustline/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAWzC,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAIrB,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,yBAAyB,CAAC,CAAC,CAc3D;AAED,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE;IAAE,SAAS,EAAE,aAAa,CAAA;CAAE,GACpC,OAAO,CACR,MAAM,CAAC;IAAE,wBAAwB,EAAE,OAAO,CAAA;CAAE,EAAE,yBAAyB,CAAC,CACzE,CAqCA;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,GACjB,eAAe,CAejB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG;IACxD,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAeP;AAED,wBAAsB,mCAAmC,CACvD,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,EACxE,cAAc,EAAE;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CA+BtC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/actions/checkXrplTrustline/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,IAAI,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAWzC,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAIrB,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,yBAAyB,CAAC,CAAC,CAc3D;AAED,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE;IAAE,SAAS,EAAE,aAAa,CAAA;CAAE,GACpC,OAAO,CACR,MAAM,CAAC;IAAE,wBAAwB,EAAE,OAAO,CAAA;CAAE,EAAE,yBAAyB,CAAC,CACzE,CAqCA;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,GACjB,eAAe,CAejB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG;IACxD,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAeP;AAED,wBAAsB,mCAAmC,CACvD,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,EACxE,cAAc,EAAE;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CA+BtC"}
package/dist/helpers.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import type { NotifierParams } from './services/eventEmitter';
2
2
  import type { SwapStatus, TargetNamespace, Wallet } from './shared';
3
- import type { ArrayElement, LastConnectedWallet, Step, SwapQueueContext, SwapQueueDef, SwapStorage, UseQueueManagerParams } from './types';
3
+ import type { ArrayElement, LastConnectedWallet, Meta, Step, SwapQueueContext, SwapQueueDef, SwapStorage, UseQueueManagerParams } from './types';
4
4
  import type { Provider } from '@hub3js/core';
5
5
  import type { DefaultNamespaces } from '@hub3js/namespaces';
6
6
  import type { ExecuterActions, Manager, QueueInfo } from '@rango-dev/queue-manager-core';
7
- import type { Meta, Network, Providers, WalletState, WalletType } from '@rango-dev/wallets-shared';
7
+ import type { LegacyNetwork as Network, LegacyState as WalletState, LegacyWalletType as WalletType } from '@rango-dev/wallets-core/legacy';
8
8
  import type { CreateTransactionResponse, EvmBlockchainMeta, Transaction } from 'rango-sdk';
9
9
  import type { APIErrorCode, PendingSwap, PendingSwapStep, SignerErrorCode, StepStatus, SwapStepStatus } from 'rango-types';
10
10
  import { PendingSwapNetworkStatus, TransactionType } from 'rango-types';
@@ -140,7 +140,7 @@ export declare function getRequiredWallet(swap: PendingSwap): {
140
140
  namespace: TargetNamespace | null;
141
141
  address: string | null;
142
142
  };
143
- export declare function getProviderChainId(providers: Providers, hubProvider: (type: WalletType) => Provider<DefaultNamespaces>, walletType: string): Promise<string | number | null>;
143
+ export declare function getProviderChainId(hubProvider: (type: WalletType) => Provider<DefaultNamespaces>, walletType: string): Promise<`0x${string}`>;
144
144
  /**
145
145
  * For running a swap safely, we need to make sure about the state of wallet
146
146
  * which means the netowrk/chain of wallet should be exactly on what a transaction needs.
@@ -155,7 +155,7 @@ export declare function getProviderChainId(providers: Providers, hubProvider: (t
155
155
  * the step's network/storage key is "HYPERLIQUID".
156
156
  */
157
157
  export declare function getRequiredSignNetwork(step: PendingSwapStep, fallbackNetwork: string): string;
158
- export declare function isNetworkMatchedForTransaction(swap: PendingSwap, step: PendingSwapStep, wallet: Wallet | null, meta: Meta, providers: Providers, hubProvider: (type: WalletType) => Provider<DefaultNamespaces>): Promise<boolean>;
158
+ export declare function isNetworkMatchedForTransaction(swap: PendingSwap, step: PendingSwapStep, wallet: Wallet | null, meta: Meta, hubProvider: (type: WalletType) => Provider<DefaultNamespaces>): Promise<boolean>;
159
159
  export declare const isTxAlreadyCreated: (swap: PendingSwap, step: PendingSwapStep) => boolean;
160
160
  export declare function resetNetworkStatus(actions: ExecuterActions<SwapStorage, SwapActionTypes, SwapQueueContext>): void;
161
161
  export declare function updateNetworkStatus(actions: Pick<ExecuterActions<SwapStorage, SwapActionTypes, SwapQueueContext>, 'getStorage' | 'setStorage'>, data?: {
@@ -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":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,IAAI,EACJ,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,qBAAqB,EACtB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EACV,eAAe,EACf,OAAO,EACP,SAAS,EAIV,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,aAAa,IAAI,OAAO,EACxB,WAAW,IAAI,WAAW,EAC1B,gBAAgB,IAAI,UAAU,EAC/B,MAAM,gCAAgC,CAAC;AACxC,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,EACV,cAAc,EACf,MAAM,aAAa,CAAC;AAUrB,OAAO,EACL,wBAAwB,EAExB,eAAe,EAChB,MAAM,aAAa,CAAC;AAwBrB,OAAO,EAEL,aAAa,EAGb,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;IAErB,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,IA+BhB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,gBACd,eAAe,eACf,WAAW,KACvB,eAoEF,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,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAmBA;AAED,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,QAAQ,CAAC,iBAAiB,CAAC,EAC9D,UAAU,EAAE,MAAM,0BASnB;AAED;;;GAGG;AACH;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,eAAe,EACrB,eAAe,EAAE,MAAM,GACtB,MAAM,CAIR;AAED,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,QAAQ,CAAC,iBAAiB,CAAC,GAC7D,OAAO,CAAC,OAAO,CAAC,CAoDlB;AAED,eAAO,MAAM,kBAAkB,SACvB,WAAW,QACX,eAAe,KACpB,OAkBF,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,GACvE,IAAI,CASN;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,IAAI,CACX,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAC/D,YAAY,GAAG,YAAY,CAC5B,EACD,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,CA0CN;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,mBAAmB,GACxB,IAAI,CAkFN;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,mBAAmB,GACxB,IAAI,CAmEN;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,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,EACxE,kBAAkB,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,QAoBlE;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAExE,UAAU,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,EAC5C,IAAI,EAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,QAiC9B;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,EACxE,IAAI,EAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,wBAGD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,UAM7D;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,CAAC,WAGzD,GAAG,UA+CnB;AAED,wBAAgB,kCAAkC,CAAC,MAAM,EAAE;IACzD,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAChC,GAAG,IAAI,CA+EP;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,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,CAAC,EAAE,OAAO,EACjB,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,oBAAoB,CAAC,EAChE,OAAO;;CAAiC,GACvC,IAAI,CAuEN;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,CAkCA;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;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,MAAM,CAMR;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAKzD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAO1D;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,GAChB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAatD;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAUlE;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAOrE;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAOxE;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,YAAY,GACxB,cAAc,CAAC,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAA;CAAE,CAQ1D"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { Configs } from './configs';
2
2
  import type { SwapQueueDef } from './types';
3
3
  export { PrettyError, prettifyErrorMessage } from './shared-errors';
4
- export type { SwapQueueContext, SwapStorage, RouteExecutionEvents, Route, Step, RouteEvent, StepEvent, RouteEventData, StepEventData, RouteStartedEvent, RouteSucceededEvent, RouteFailedEvent, StepStartedEvent, StepSucceededEvent, StepFailedEvent, StepTxExecutionUpdatedEvent, StepTxExecutionBlockedEvent, StepCheckStatusEvent, StepApprovalTxSucceededEvent, StepOutputRevealedEvent, LastConnectedWallet, } from './types';
4
+ export type { SwapQueueContext, SwapStorage, RouteExecutionEvents, Route, Step, RouteEvent, StepEvent, RouteEventData, StepEventData, RouteStartedEvent, RouteSucceededEvent, RouteFailedEvent, StepStartedEvent, StepSucceededEvent, StepFailedEvent, StepTxExecutionUpdatedEvent, StepTxExecutionBlockedEvent, StepCheckStatusEvent, StepApprovalTxSucceededEvent, StepOutputRevealedEvent, LastConnectedWallet, Meta, AllBlockchains, } from './types';
5
5
  export { WidgetEvents, StepEventType, RouteEventType, StepExecutionEventStatus, StepExecutionBlockedEventStatus, EventSeverity, } from './types';
6
6
  export type { PendingSwapWithQueueID, EventType, TargetNamespace, } from './shared';
7
7
  export { getCurrentNamespaceOfOrNull, getRelatedWalletOrNull, getRelatedWallet, MessageSeverity, calculatePendingSwap, getUsdPrice, } from './shared';
@@ -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,EACvB,mBAAmB,GACpB,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"}
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,EACvB,mBAAmB,EACnB,IAAI,EACJ,cAAc,GACf,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 Br=Object.defineProperty;var o=(e,t)=>Br(e,"name",{value:t,configurable:!0});function Xr(){return process.env.REACT_APP_RANGO_API_KEY}o(Xr,"getApiKeyFromEnv");function vt(){return Xr()||"NOT_SET"}o(vt,"getApiKeyFromEnvOrNotSet");var $e={API_KEY:vt(),BASE_URL:""};function se(e){return $e[e]}o(se,"getConfig");function Pt(e){return $e=e,$e}o(Pt,"initConfig");import{warn as hn}from"@rango-dev/logging-core";import{warn as nn}from"@rango-dev/logging-core";import{Status as st}from"@rango-dev/queue-manager-core";import{legacyReadAccountAddress as an}from"@rango-dev/wallets-core/legacy";import{getBlockChainNameFromId as sn,getEvmProvider as on,HYPERLIQUID_SIGN_NETWORK as at}from"@rango-dev/wallets-shared";import un from"bignumber.js";import{PendingSwapNetworkStatus as pe,SignerError as pn,TransactionType as P}from"rango-types";import{STELLAR_CHANGE_TRUSTLINE_TYPE as Hr,XRPL_CHANGE_TRUSTLINE_TYPE as Qr}from"rango-types";import{Err as G,Ok as ze}from"ts-results";var Ye=(r=>(r.RouteEvent="routeEvent",r.StepEvent="stepEvent",r))(Ye||{}),je=(n=>(n.STARTED="started",n.FAILED="failed",n.SUCCEEDED="succeeded",n))(je||{}),oe=(n=>(n.CREATE_TX="create_tx",n.SEND_TX="send_tx",n.TX_SENT="tx_sent",n))(oe||{}),Ce=(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))(Ce||{}),Q=(c=>(c.STARTED="started",c.FAILED="failed",c.SUCCEEDED="succeeded",c.TX_EXECUTION="tx_execution",c.TX_EXECUTION_BLOCKED="tx_execution_blocked",c.APPROVAL_TX_SUCCEEDED="approval_tx_succeeded",c.CHECK_STATUS="check_status",c.OUTPUT_REVEALED="output_revealed",c))(Q||{}),Je=(a=>(a.ERROR="error",a.SUCCESS="success",a.WARNING="warning",a.INFO="info",a))(Je||{});var Ot=o((e,t)=>{let r=Ze(t,e);return r?.status==="success"||r?.status==="skipped"},"checkIsPrerequisiteAlreadyMet");function Ze(e,t){return e.prerequisiteResults?.find(r=>et(r,t))}o(Ze,"getPrerequisiteResult");var et=o((e,t)=>e.prerequisiteIndex===t.prerequisiteIndex&&e.prerequisiteType===t.prerequisiteType,"matchesPrerequisiteKey");function Ut(e,t){let r=Ze(t,{prerequisiteType:Qr,prerequisiteIndex:e});if(!r)return new ze("CHECK_XRPL_TRUSTLINE");switch(r.status){case"pending":return new ze("CHECK_XRPL_TRUSTLINE_TRANSACTION_STATUS");case"success":return new G("Unexpected Error: xrpl change trustline prerequisite is already met!");case"skipped":return new G("Unexpected Error: xrpl change trustline prerequisite is already met!");case"failed":return new G("Unexpected Error: xrpl change trustline prerequisite failed!");default:return new G("Unexpected Error: xrpl change trustline prerequisite has an invalid status!")}}o(Ut,"handleUnmetXrplChangeTrustLinePrerequisite");function Lt(e,t){let r=Ze(t,{prerequisiteType:Hr,prerequisiteIndex:e});if(!r)return new ze("CHECK_STELLAR_TRUSTLINE");switch(r.status){case"pending":return new G('Unexpected Error: stellar change trustline prerequisite has invalid "pending" status!');case"success":return new G("Unexpected Error: stellar change trustline prerequisite is already met!");case"skipped":return new G("Unexpected Error: stellar change trustline prerequisite is already met!");case"failed":return new G("Unexpected Error: stellar change trustline prerequisite failed!");default:return new G("Unexpected Error: stellar change trustline prerequisite has an invalid status!")}}o(Lt,"handleUnmetStellarChangeTrustLinePrerequisite");var tt="Waiting for other swaps to complete",Dt="Waiting for connecting wallet",ie=o((e,t)=>`Please change your ${e||"wallet"} account to ${t||"proper address"}`,"ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION_WRONG_WALLET"),Y=o(e=>`Please connect your ${e??""} wallet.`,"ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION"),Re=o(e=>`Please change your network to ${e}.`,"ERROR_MESSAGE_WAIT_FOR_CHANGE_NETWORK"),D="CLIENT_UNEXPECTED_BEHAVIOUR";import{RangoClient as Gr}from"rango-sdk";var _e,j=o(()=>_e||(_e=new Gr(se("API_KEY"),se("BASE_URL")),_e),"httpService");import Mt from"bignumber.js";import Wt from"bignumber.js";var qt=o((e,t=null,r=null)=>{if(e===null||e==="")return"";let n=new Wt(e),a=1,s=1e3;for(let p=0;p<60;p++)if(new Wt(n.toFixed(p,a)).eq(n)){s=p;break}if(n.gte(1e4))return n.toFormat(0,a);if(n.gte(1e3)||n.gte(100))return n.toFormat(Math.min(s,Math.min(r||100,Math.max(t||0,1))),a);if(n.gte(1))return n.toFormat(Math.min(s,Math.min(r||100,Math.max(t||0,2))),a);if(n.gte(.01))return n.toFormat(Math.min(s,Math.min(r||100,Math.max(t||0,4))),a);for(let p=t||4;p<17;p++)if(n.gte(Math.pow(10,-p)))return n.toFormat(Math.min(s,Math.min(r||100,Math.max(t||0,p))),a);return n.isEqualTo(0)?"0":n.toFormat(Math.min(s,Math.min(r||100,Math.max(t||0,8))),a)},"numberToString");import{isAPIErrorCode as Kr,isSignerErrorCode as Vr,SignerError as $r,SignerErrorCode as ne}from"rango-types";var Yr="Assertion failed (Unexpected behaviour)",jr="Create transaction failed in Rango Server",bt="Input wallet not found",b=class e extends Error{constructor(r,n,a,s){super(n);this._isPrettyError=!0;Object.setPrototypeOf(this,e.prototype),e.prototype._isPrettyError=!0,this.code=r,this.detail=s,this.root=a}static{o(this,"PrettyError")}static isPrettyError(r){return r instanceof e||Object.prototype.hasOwnProperty.call(r,"_isPrettyError")}static AssertionFailed(r){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",Yr,null,r)}static BadStatusCode(r,n){return new e("TX_FAIL",r,null,`status code = ${n}`)}static CreateTransaction(r){return new e("FETCH_TX_FAILED",jr,null,r)}static WalletMissing(){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",bt,null,"Server requested for a blockchain or address not selected by user")}static BlockchainMissing(){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",bt,null,"Server requested for a blockchain or address not selected by user")}getErrorDetail(){let r=typeof this.root=="object"&&this.root&&this.root.error?this.root.error:JSON.stringify(this.root),n=typeof this.root=="string"?this.root:this.root instanceof Error?this.root.message:r;return{extraMessage:this.message,extraMessageDetail:this.detail||n,extraMessageErrorCode:this.code||null}}};function Ft(e){try{return e?Kr(e)?e:Vr(e)?{[ne.REJECTED_BY_USER]:"USER_REJECT",[ne.SIGN_TX_ERROR]:"CALL_WALLET_FAILED",[ne.SEND_TX_ERROR]:"SEND_TX_FAILED",[ne.TX_FAILED_IN_BLOCKCHAIN]:"TX_FAILED_IN_BLOCKCHAIN",[ne.NOT_IMPLEMENTED]:D,[ne.OPERATION_UNSUPPORTED]:D,[ne.UNEXPECTED_BEHAVIOUR]:D}[e]:D:D}catch{return D}}o(Ft,"mapAppErrorCodesToAPIErrorCode");function Jr(e){return!!e&&typeof e=="object"&&"isAxiosError"in e&&e.isAxiosError===!0}o(Jr,"isAxiosError");var J=o(e=>{if(!e)return{extraMessage:"",extraMessageErrorCode:null};if(Jr(e))return{extraMessage:e.response?.data?.error||"Unknown error",extraMessageErrorCode:null};if(b.isPrettyError(e))return e.getErrorDetail();if($r.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 Ne=(a=>(a.error="error",a.warning="warning",a.info="info",a.success="success",a))(Ne||{}),M=o((e,t)=>{try{return K(e,t)}catch{return null}},"getCurrentNamespaceOfOrNull"),K=o((e,t)=>{let r=t.evmTransaction?.blockChain||t.evmApprovalTransaction?.blockChain,n=t.starknetTransaction?.blockChain||t.starknetApprovalTransaction?.blockChain,a=t.tronTransaction?.blockChain||t.tronApprovalTransaction?.blockChain,s=t.solanaTransaction?.blockChain,p=t.tonTransaction?.blockChain,i=t.suiTransaction?.blockChain,c=t.xrplTransaction?.blockChain,l=t.stellarTransaction?.blockChain,u=t.hyperliquidTransaction?.blockChain;if(r)return{namespace:"EVM",network:r};if(n)return{namespace:"Starknet",network:n};if(a)return{namespace:"Tron",network:a};if(s)return{namespace:"Solana",network:s};if(p)return{namespace:"Ton",network:p};if(i)return{namespace:"Sui",network:i};if(c)return{namespace:"XRPL",network:c};if(l)return{namespace:"Stellar",network:l};if(u)return{namespace:"EVM",network:u};if(t.transferTransaction){let T=t.transferTransaction.fromWalletAddress;if(!T)throw b.BlockchainMissing();let d=Object.keys(e.wallets).find(S=>e.wallets[S]?.address===T);if(!d)throw b.BlockchainMissing();return{namespace:"UTXO",network:d}}throw new Error("Unsupported transaction type has been included in your swap.",{cause:t})},"getCurrentNamespaceOf"),de=o((e,t,r)=>{let a=r[t].info?.transactionUrl;if(a)return a.indexOf("/{txHash}")!==-1?a.replace("{txHash}",e):`${a}/${e}`},"getScannerUrl");function Xt(e,t){return e.steps.find(r=>r.status!=="failed"&&r.status!=="success"&&r.id!==t.id)||null}o(Xt,"getNextStep");var Ht=o((e,t)=>{let r=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.solanaTransaction?.blockChain||""]||e.wallets[t.tonTransaction?.blockChain||""]||e.wallets[t.suiTransaction?.blockChain||""]||e.wallets[t.xrplTransaction?.blockChain||""]||e.wallets[t.stellarTransaction?.blockChain||""]||e.wallets[t.hyperliquidTransaction?.type||""]||(t.transferTransaction?.fromWalletAddress?{address:t.transferTransaction.fromWalletAddress,walletType:Object.values(e.wallets).find(n=>n.address===t.transferTransaction?.fromWalletAddress)?.walletType}:null)||null;if(r==null)throw b.WalletMissing();return r},"getCurrentWalletTypeAndAddress"),B=o((e,t)=>Ht(e,t).address,"getCurrentAddressOf");function U(e,t){let{address:r,walletType:n}=Ht(e,t),a=Object.keys(e.wallets).map(c=>({k:c,v:e.wallets[c]})).find(({v:c})=>c.address===r&&c.walletType===n)||null,s=a?.k||null,p=a?.v||null,i=p?.walletType;if(p===null)throw b.AssertionFailed(`Wallet for source ${s} not passed: walletType: ${i}`);return p}o(U,"getRelatedWallet");function he(e,t){if(!t)return null;try{return U(e,t)}catch(r){return console.log({e:r}),null}}o(he,"getRelatedWalletOrNull");var Qt=o((e,t,r,n)=>n?.find(s=>s.blockchain===e&&s.symbol?.toUpperCase()===t?.toUpperCase()&&s.address===r)?.usdPrice||null,"getUsdPrice");function zr(e,t){let r=new Mt(0);for(let n=0;n<e.fee.length;n++){let a=e.fee[n];if(a.expenseType==="DECREASE_FROM_OUTPUT")continue;let s=Qt(a.asset.blockchain,a.asset.symbol,a.asset.address,t);r=r.plus(new Mt(a.amount).multipliedBy(s||0))}return r}o(zr,"getUsdFeeOfStep");function Bt(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?qt(zr(e,t?.tokens),null,8):null,estimatedTimeInSeconds:e.estimatedTimeInSeconds||null,internalSteps:null}}o(Bt,"mapSwapStepToPendingSwapStep");function Zr(e){let{inputAmount:t,bestRoute:r,wallets:n,settings:a,validateBalanceOrFee:s,meta:p,swapMode:i="swap"}=e,c=r.result;if(!c)throw Error("Simulation result should not be null");return{creationTime:new Date().getTime().toString(),finishTime:null,requestId:r.requestId||"",inputAmount:t,wallets:n,status:"running",mode:i,isPaused:!1,extraMessage:null,extraMessageSeverity:null,extraMessageDetail:null,extraMessageErrorCode:null,networkStatusExtraMessage:null,networkStatusExtraMessageDetail:null,lastNotificationTime:null,settings:a,simulationResult:c,validateBalanceOrFee:s,steps:r.result?.swaps?.map((l,u)=>{let T=Bt(l,p);return{id:u+1,...T,internalSwaps:l?.internalSwaps?.map(d=>Bt(d,p))||null,outputAmount:"",prerequisiteResults:[],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,stellarTransaction:null,hyperliquidTransaction:null,hasAlreadyProceededToSign:!1}})||[]}}o(Zr,"calculatePendingSwap");function Gt(e){return e.map(t=>{let{diagnosisUrl:r,estimatedTimeInSeconds:n,explorerUrl:a,feeInUsd:s,executedTransactionId:p,executedTransactionTime:i,expectedOutputAmountHumanReadable:c,fromBlockchain:l,toBlockchain:u,fromSymbol:T,toSymbol:d,fromSymbolAddress:S,toSymbolAddress:m,swapperType:g,swapperId:y,outputAmount:h,fromAmountMaxValue:x,fromAmountMinValue:w,fromAmountPrecision:f,fromAmountRestrictionType:R,fromDecimals:A,status:_}=t;return{diagnosisUrl:r,estimatedTimeInSeconds:n,explorerUrl:a,feeInUsd:s,executedTransactionId:p,executedTransactionTime:i,expectedOutputAmountHumanReadable:c,fromBlockchain:l,toBlockchain:u,fromSymbol:T,toSymbol:d,fromSymbolAddress:S,toSymbolAddress:m,swapperName:y,swapperType:g,outputAmount:h,fromAmountMaxValue:x,fromAmountMinValue:w,fromAmountPrecision:f,fromAmountRestrictionType:R,fromDecimals:A,status:_,transaction:N(t)}})}o(Gt,"createSteps");function en(e,t,r){let{creationTime:n,finishTime:a,requestId:s,inputAmount:p,status:i,wallets:c,steps:l,settings:u}=e,T=Gt(l),S={route:{creationTime:n,finishTime:a,requestId:s,inputAmount:p,status:i,wallets:c,steps:T,slippage:u.slippage,infiniteApproval:u.infiniteApprove},step:T[T.length-1]};if(r)S.step=Gt([r])[0];else if(t==="failed"){let m=Kt(T);m&&(S.step=m)}else{let m=ue(T);m&&(S.step=m)}return S}o(en,"getEventPayload");function tn(e,t,r){let n,{type:a}=e;switch(a){case"started":n={...e,type:"started"};break;case"failed":n={...e,type:"failed",inputAmount:r.inputAmount,inputAmountUsd:rt(r),swapMode:r.mode||"swap"};break;case"succeeded":{n={...e,type:"succeeded",inputAmount:r.inputAmount,inputAmountUsd:rt(r),outputAmount:r.steps[r.steps.length-1].outputAmount??"",outputAmountUsd:Vt(r),swapMode:r.mode||"swap"};break}default:break}n&&se("emitter")?.emit("routeEvent",{event:n,route:t})}o(tn,"emitRouteEvent");function rn(e,t,r){se("emitter")?.emit("stepEvent",{event:e,route:t,step:r})}o(rn,"emitStepEvent");function C(e){let{event:t}=e,{type:r}=t,{route:n,step:a}=en(e.swap,r,e.step??void 0),s=`${a.fromBlockchain}.${a.fromSymbol}`,p=`${a.toBlockchain}.${a.toSymbol}`,i=a.outputAmount??"",c=e.step?M(e.swap,e.step):null,l="",u="info";switch(r){case"started":l="Swap process started",u="success";break;case"succeeded":l=`You received ${i} ${p}, hooray!`,u="success";break;case"failed":l=`Swap failed: ${e.swap?.extraMessage??"Reason is unknown"}`,u="error";break;case"tx_execution":t.status==="create_tx"?(l="Please wait while the transaction is created ...",u="info"):t.status==="send_tx"?(e.step&&X(e.step)?l=`Please confirm '${a.swapperName}' smart contract access to ${s}`:l="Please confirm transaction request in your wallet",u="warning"):t.status==="tx_sent"&&(l="Transaction sent successfully",u="info");break;case"check_status":e.step&&X(e.step)?l="Checking approve transaction status ...":l="Checking transaction status ...",u="info";break;case"approval_tx_succeeded":l="Smart contract called successfully",u="success";break;case"output_revealed":l="Transaction output amount revealed",u="success";break;case"tx_execution_blocked":t.status==="waiting_for_wallet_connect"?(l="Please connect your wallet.",u="warning"):t.status==="waiting_for_queue"?(l="Waiting for other swaps to complete",u="warning"):t.status==="waiting_for_change_wallet_account"?(l="Please change your wallet account.",u="warning"):t.status==="waiting_for_network_change"&&(l=`Please change your wallet network to ${c?.network}.`,u="warning");break;default:break}e.step&&rn({...t,message:l,messageSeverity:u},n,a),(e.event.type==="failed"||!e.step)&&tn({...t,message:l,messageSeverity:u},n,e.swap)}o(C,"notifier");var nt=null;function ke(){return{claimedBy:()=>nt?.id,setClaimer:e=>{nt={id:e}},reset:()=>{nt=null}}}o(ke,"claimQueue");var ae={};function ve(){return{getTransactionDataByHash:e=>ae[e]||{},setTransactionDataByHash:(e,t)=>{ae[e]||(ae[e]={}),ae[e].response=t.response||ae[e].response,ae[e].receiptReceived=t.receiptReceived||ae[e].receiptReceived||!1}}}o(ve,"inMemoryTransactionsData");var E=o(e=>e.steps.find(t=>t.status!=="failed"&&t.status!=="success")||null,"getCurrentStep"),N=o(e=>{let{evmTransaction:t,evmApprovalTransaction:r,solanaTransaction:n,transferTransaction:a,starknetApprovalTransaction:s,starknetTransaction:p,stellarTransaction:i,tronApprovalTransaction:c,tronTransaction:l,tonTransaction:u,suiTransaction:T,xrplTransaction:d,hyperliquidTransaction:S}=e;return t||r||n||a||s||p||i||c||l||u||T||d||S},"getCurrentStepTx"),Pe=o((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,e.stellarTransaction=null,e.hyperliquidTransaction=null;let r=t.type;switch(r){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:throw new Error("Cosmos transactions are no longer supported.");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;case P.STELLAR:e.stellarTransaction=t;break;case P.HYPERLIQUID:e.hyperliquidTransaction=t;break;default:(n=>{throw new Error(`${n} was unhandled!`)})(r)}return e},"setCurrentStepTx"),ot=o(e=>N(e)?.type,"getCurrentStepTxType"),X=o(e=>{let{evmApprovalTransaction:t,starknetApprovalTransaction:r,tronApprovalTransaction:n}=e;return!!(t||r||n)},"isApprovalCurrentStepTx");function W({getStorage:e,setStorage:t,nextStatus:r,nextStepStatus:n,message:a,details:s,errorCode:p=null,hasAlreadyProceededToSign:i,trace:c=null}){let l=e().swapDetails,u=E(l),T={swap:l,step:u};if(n&&u&&(u.status=n),r&&(l.status=r),l.hasAlreadyProceededToSign=i,r&&["failed","success"].includes(r)&&(l.finishTime=new Date().getTime().toString()),(a||s)&&(l.extraMessage=a||"",l.extraMessageDetail=s||""),n&&["failed"].includes(n)){let d=s&&s.includes("Warning")?"Swap canceled by user.":s,S=he(l,u)?.walletType;l.extraMessageSeverity="error";let m=Ft(p);T.failureType=m;let g=p!=="REJECTED_BY_USER"&&c?.message&&typeof c.message=="string"?c.message:d||"";j().reportFailure({requestId:l.requestId,step:u?.id||1,eventType:m,reason:g,tags:S?{wallet:S}:void 0}).then().catch()}else n&&["running"].includes(n)?l.extraMessageSeverity="info":n&&["success","approved"].includes(n)?l.extraMessageSeverity="success":n&&["waitingForApproval"].includes(n)&&(l.extraMessageSeverity="warning");return n==="running"&&u&&(u.startTransactionTime=new Date().getTime()),t({...e(),swapDetails:l}),T}o(W,"updateSwapStatus");function cn({getStorage:e,setStorage:t},r,n){let a=e().swapDetails;a.hasAlreadyProceededToSign=null;let s=E(a);s.executedTransactionId=r,s.executedTransactionTime=new Date().getTime().toString(),n?.url&&(s.explorerUrl=[...s.explorerUrl||[],{url:n.url,description:n.description||null}]),X(s)?a.extraMessage="Checking approve transaction status ...":a.extraMessage="Checking transaction status ...",a.extraMessageDetail="",a.extraMessageSeverity="info",t({...e(),swapDetails:a}),C({event:{type:"tx_execution",status:"tx_sent"},swap:a,step:s}),C({event:{type:"check_status"},swap:a,step:s})}o(cn,"setStepTransactionIds");function ln({getStorage:e,setStorage:t},r,n){let a=e().swapDetails,s=E(a);if(!s)return;let p=new Date;a.lastNotificationTime=p.getTime().toString(),!(s.networkStatus===pe.WaitingForConnectingWallet&&a.networkStatusExtraMessage===r&&a.networkStatusExtraMessageDetail===n)&&(s.networkStatus=pe.WaitingForConnectingWallet,a.networkStatusExtraMessage=r,a.networkStatusExtraMessageDetail=n,t({...e(),swapDetails:a}))}o(ln,"markRunningSwapAsWaitingForConnectingWallet");function $t({getStorage:e,setStorage:t}){let r=e().swapDetails,n=E(r);if(!n)return;let{type:a}=F(r),s=K(r,n),p=`Change ${a} wallet network to ${s.network}`,i=`We\u2019re switching the connected network to ${s.network}. Please check your wallet.`,c=new Date;return r.lastNotificationTime=c.getTime().toString(),n.networkStatus=pe.WaitingForNetworkChange,r.networkStatusExtraMessage=p,r.networkStatusExtraMessageDetail=i,t({...e(),swapDetails:r}),{swap:r,step:n}}o($t,"markRunningSwapAsSwitchingNetwork");function Yt({getStorage:e,setStorage:t}){let r=e().swapDetails,n=E(r);if(n)return r.networkStatusExtraMessage="",r.networkStatusExtraMessageDetail="",n.networkStatus=pe.WaitingForQueue,C({event:{type:"tx_execution_blocked",status:"waiting_for_queue"},swap:r,step:n}),t({...e(),swapDetails:r}),{swap:r,step:n}}o(Yt,"markRunningSwapAsDependsOnOtherQueues");async function z(e){return new Promise(t=>setTimeout(t,e))}o(z,"delay");var dn=o((e,t)=>e.wallets[t]?.walletType,"getSwapWalletType");function it(e){return e===null||e?.blockchains===null||e?.blockchains.length===0}o(it,"isWalletNull");function F(e){let t=E(e),r=M(e,t);if(!r)return{type:null,namespace:null,address:null};let n=dn(e,r.network),a=e.wallets[r.network];return{type:n||null,namespace:r,address:a?a.address:null}}o(F,"getRequiredWallet");async function Sn(e){try{return await e.request({method:"eth_chainId"})||e?.chainId}catch{return e?.chainId}}o(Sn,"getChainId");async function mn(e,t,r){let n=on(e,r);if(n)return await Sn(n);let s=t(r).get("evm");if(!s)throw new Error("EVM namespace not found for wallet type: "+r);return s.getChainId()}o(mn,"getProviderChainId");function ut(e,t){return e.hyperliquidTransaction?at:t}o(ut,"getRequiredSignNetwork");async function jt(e,t,r,n,a,s){if(it(r))return!1;let p=M(e,t);if(!p)return!1;let i=ut(t,p.network);if(n.evmBasedChains.find(c=>c.name===i)){try{let c=he(e,t);if(c){let l=await mn(a,s,c.walletType);if(l){let u=sn(l,Object.entries(n.blockchains).map(([,T])=>T));if(u&&u.toLowerCase()===i.toLowerCase())return!0;if(u&&u.toLowerCase()!==i.toLowerCase())return!1}}}catch(c){console.log(c)}return!1}return!0}o(jt,"isNetworkMatchedForTransaction");var Jt=o((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.solanaTransaction?.blockChain||""]||e.wallets[t.tonTransaction?.blockChain||""]||e.wallets[t.suiTransaction?.blockChain||""]||e.wallets[t.stellarTransaction?.blockChain||""]||e.wallets[t.xrplTransaction?.blockChain||""]||e.wallets[t.hyperliquidTransaction?.type||""]||t.transferTransaction?.fromWalletAddress||null)!==null,"isTxAlreadyCreated");function Oe(e){let{getStorage:t,setStorage:r}=e,n=t().swapDetails,a=E(n);a?.networkStatus&&(a.networkStatus=null,r({...t(),swapDetails:n}))}o(Oe,"resetNetworkStatus");function pt(e,t={message:"",details:"",status:null}){let{message:r,details:n,status:a}=t,{getStorage:s,setStorage:p}=e,i=s().swapDetails,c=E(i);c?.networkStatus&&(i.networkStatusExtraMessage=r,i.networkStatusExtraMessageDetail=n,c.networkStatus=a,p({...s(),swapDetails:i}))}o(pt,"updateNetworkStatus");function zt(e,t){let{context:r,queue:n}=t,a=n.getStorage().swapDetails,{ok:s,reason:p}=ct(a,r.state);if(!s){let i=E(a),{type:c,address:l}=F(a);C({event:{type:"tx_execution_blocked",...p==="account_miss_match"?{status:"waiting_for_change_wallet_account",requiredAccount:l??void 0}:{status:"waiting_for_wallet_connect",requiredWallet:c??void 0,requiredAccount:l??void 0}},swap:a,step:i}),ln({getStorage:n.getStorage.bind(n),setStorage:n.setStorage.bind(n)},Dt,e.reason.description);return}n.unblock()}o(zt,"onBlockForConnectWallet");function Zt(e,t){let{context:r,queue:n}=t,a=n.getStorage().swapDetails,s=E(a);if(!s||a.status!=="running")return;let p=$t({getStorage:n.getStorage.bind(n),setStorage:n.setStorage.bind(n)}),i=M(a,s)?.network,c=s.hyperliquidTransaction?at:i,l=F(a).type,u=l?r.state(l).network:void 0;p&&C({event:{type:"tx_execution_blocked",status:"waiting_for_network_change",requiredNetwork:c??void 0,currentNetwork:u??void 0},swap:p.swap,step:p.step});let{type:T,namespace:d}=F(a),S=s.hyperliquidTransaction&&d?{...d,network:at}:d;if(T&&S?.network&&r.canSwitchNetworkTo(T,S.network,S)){let m=r.switchNetwork(T,S);m&&m.then(()=>{n.unblock()}).catch(g=>{pt({getStorage:n.getStorage.bind(n),setStorage:n.setStorage.bind(n)},{message:g.message,details:g.message,status:pe.NetworkChangeFailed})})}}o(Zt,"onBlockForChangeNetwork");function er(e,t){let{getBlockedTasks:r,forceExecute:n,queue:a,manager:s,context:p}=t,{setClaimer:i,claimedBy:c,reset:l}=ke(),u=r().filter(x=>x.reason.reason==="depends_on_other_queues");if(u.length===0)return;let T=c(),d=!!T;if(T===a.id)return;if(d){Yt({getStorage:a.getStorage.bind(a),setStorage:a.setStorage.bind(a)});return}let S=u.find(x=>x.queue_id===t.queue_id);S||(S=u[0]),i(S.queue_id);let m=S.storage.get(),{type:g,namespace:y,address:h}=F(m.swapDetails);n(S.queue_id,{claimedBy:c(),resetClaimedBy:()=>{l(),g&&dt({walletType:g,network:y?.network,accounts:h?[h]:[]},s,p.canSwitchNetworkTo)}})}o(er,"onDependsOnOtherQueues");function ct(e,t){let{type:r,address:n}=F(e);if(!r||!n)return{ok:!1,reason:"not_connected"};let a=t(r),{accounts:s,connected:p}=a,i=s||[];return p?{ok:i.some(l=>{let{address:u}=an(l);return n.toLocaleLowerCase()===u.toLocaleLowerCase()}),reason:"account_miss_match"}:{ok:!1,reason:"not_connected"}}o(ct,"isRequiredWalletConnected");function V(e,t){let{getStorage:r,setStorage:n}=e,a=r().swapDetails,s=E(a),p=s.prerequisiteResults.findIndex(i=>et(i,t));p>=0?s.prerequisiteResults[p]=t:s.prerequisiteResults.push(t),n({...r(),swapDetails:a})}o(V,"updateStorageWithPrerequisiteResult");function Tn(e,t,r){let{setTransactionDataByHash:n}=ve(),{getStorage:a,context:s}=e,{meta:p}=s,i=a().swapDetails,c=E(i),l=K(i,c),u=de(t.hash,l.network,p.blockchains);cn(e,t.hash,u&&(!t.response||t.response&&!t.response.hashRequiringUpdate)?{url:u,description:r.isApproval?"Approve":"Swap"}:void 0),t.response&&n(t.hash,{response:t.response})}o(Tn,"updateStorageOnSuccessfulSign");function Z(e,t){return({hash:r,response:n})=>{let{schedule:a,next:s}=e;Tn(e,{hash:r,response:n},t),a("CHECK_TRANSACTION_STATUS"),s()}}o(Z,"handleSuccessfulSign");function O(e){return t=>{let{getStorage:r,setStorage:n,failed:a}=e,s=r().swapDetails,p=E(s);if(s.status==="failed")return;let i=U(s,p),{extraMessage:c,extraMessageDetail:l,extraMessageErrorCode:u}=J(t);nn(t,{tags:{requestId:s.requestId,rpc:!0,swapper:p?.swapperId||"",walletType:i?.walletType||""},context:pn.isSignerError(t)?t.getErrorContext():{}});let T=W({getStorage:r,setStorage:n,nextStatus:"failed",nextStepStatus:"failed",message:c,details:l,errorCode:u,trace:t?.cause});C({event:{type:"failed",reason:c,reasonCode:T.failureType??D,inputAmount:H(s),inputAmountUsd:$(s)},...T}),a()}}o(O,"handleRejectedSign");function tr(e){let{lastConnectedWallet:t,evmChains:r,manager:n}=e,{walletType:a,network:s}=t;r.some(p=>p.name==s)&&n?.getAll().forEach(p=>{let i=p.list.getStorage(),c=i?.swapDetails;if(c&&c.status==="running"){let l=E(c);if(l){let u=i?.swapDetails.wallets[l.fromBlockchain]?.walletType,T=Object.keys(p.list.state.tasks).some(S=>{let m=p.list.state.tasks[S];return m.status===st.BLOCKED&&["waiting_for_connecting_wallet"].includes(m.blockedFor?.reason)}),d=M(c,l)?.network;if(!r.some(S=>S.name==d))return;if(u===a&&T&&d!=s){let S=p.list,{type:m}=F(c),g=Re(m);p.list.block({reason:{reason:"waiting_for_network_change",description:g},silent:!0});let y=$t({getStorage:S.getStorage.bind(S),setStorage:S.setStorage.bind(S)});y&&C({event:{type:"tx_execution_blocked",status:"waiting_for_network_change",currentNetwork:s,requiredNetwork:d??void 0},swap:y.swap,step:y.step})}}}})}o(tr,"checkWaitingForConnectWalletChange");function lt(e){e?.getAll().forEach(t=>{if(Object.keys(t.list.state.tasks).some(n=>{let a=t.list.state.tasks[n];return a.status===st.BLOCKED&&["waiting_for_network_change","depends_on_other_queues"].includes(a.blockedFor?.reason)})){let n=t.list.getStorage()?.swapDetails;if(n.status==="running"){let{type:a}=F(n),s=Y(a);t.list.block({reason:{reason:"waiting_for_connecting_wallet",description:s}})}}})}o(lt,"checkWaitingForNetworkChange");function En(e){let t=e?.getAll()||new Map,r=[];return t.forEach(n=>{let s=n.list.getStorage()?.swapDetails;!s||s.status!=="running"||r.push(s)}),r}o(En,"getRunningSwaps");function gn(e){e.forEach(t=>{let r=E(t),n="tx_execution_blocked",a;r?.networkStatus===pe.WaitingForQueue?a="waiting_for_queue":t?.status==="running"&&(a="waiting_for_wallet_connect"),n&&C&&C({event:{type:n,status:a??"waiting_for_queue"},swap:t,step:r})})}o(gn,"resetRunningSwapNotifsOnPageLoad");function dt(e,t,r,n={fallbackToOnlyWallet:!0}){let{walletType:a,network:s}=e;if(!a)return;let p=[],i=[];t?.getAll().forEach(l=>{if(l.status===st.BLOCKED){let u=l.list.getStorage(),T=u?.swapDetails;if(T&&T.status==="running"){let d=E(T);d&&(s&&M(T,d)?.network==s&&u?.swapDetails.wallets[s]?.walletType===a?p.push(l.list):u?.swapDetails.wallets[d.fromBlockchain]?.walletType===a&&i.push(l.list))}}});let c;if(p.length>0){if(c=p[0],p.length>1)for(let l=1;l<p.length;l++){let u=p[l];Yt({getStorage:u.getStorage.bind(u),setStorage:u.setStorage.bind(u)})}}else i.length>0&&n.fallbackToOnlyWallet&&(c=i[0]);if(c){let l=c.getStorage(),u=E(l?.swapDetails),T=u?M(l.swapDetails,u):null;!s||!T||!r?.(a,s,T)?c.unblock():c.checkBlock()}}o(dt,"retryOn");function rr(e){return!!e.evmTransaction||!!e.evmApprovalTransaction}o(rr,"isNeedBlockQueueForParallel");async function nr(e){let t=await e;if(!t.ok||!t.transaction)throw b.CreateTransaction(t.error||"bad response from create tx endpoint");return t}o(nr,"throwOnOK");function fn(e,t){let{reset:r}=ke();e.actions.cancel();let n=W({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 C({event:{type:"failed",reasonCode:"USER_CANCEL",reason:n.swap.extraMessage??void 0,inputAmount:H(n.swap),inputAmountUsd:$(n.swap)},swap:n.swap,step:n.step}),r(),t&&t?.retry(),n}o(fn,"cancelSwap");function ue(e){return e.slice().reverse().find(t=>t.status==="success")}o(ue,"getLastSuccessfulStep");function Kt(e){return e.slice().reverse().find(t=>t.status==="failed")}o(Kt,"getFailedStep");function wn(e){let{transaction:t}=e;return t?.type===P.EVM&&t.isApprovalTx||t?.type===P.STARKNET&&t.isApprovalTx||t?.type===P.TRON&&t.isApprovalTx}o(wn,"isApprovalTX");function Ue(e,t){let r=new un(e).multipliedBy(t);return isNaN(r.toNumber())?"":r.toString()}o(Ue,"getTokenAmountInUsd");function rt(e){return Ue(e.inputAmount,e.steps[0].fromUsdPrice??"")}o(rt,"getSwapInputUsd");function Vt(e){let t=e.steps[e.steps.length-1];return Ue(t.outputAmount??"",t.toUsdPrice??"")}o(Vt,"getSwapOutputUsd");function ar(e){let t=["success","failed"],r=e.steps.findLastIndex(n=>t.includes(n.status));return r<0?void 0:{step:e.steps[r],index:r}}o(ar,"getLastFinishedStep");function H(e){let t=ar(e);return t?t.index===0?e.inputAmount:e.steps[t.index-1].outputAmount??"":""}o(H,"getLastFinishedStepInput");function $(e){let t=ar(e);return Ue(H(e),t?.step?.fromUsdPrice??"")}o($,"getLastFinishedStepInputUsd");function Le(e){let t=ue(e.steps);return Ue(t?.outputAmount??"",t?.toUsdPrice??"")}o(Le,"getLastSuccessfulStepOutputUsd");function ce(e,t,r){return{type:"failed",reason:t,reasonCode:r??D,inputAmount:H(e),inputAmountUsd:$(e)}}o(ce,"createStepFailedEvent");import{Err as sr,Ok as or}from"ts-results";function ee(e){let{getStorage:t,context:r}=e,{isMobileWallet:n}=r,a=t().swapDetails,s=E(a),p=U(a,s),i=n(p?.walletType),c=N(s),l=X(s);if(!c||!c.type)return new sr({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: tx is null!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"});let u=!!a.hasAlreadyProceededToSign;return l?new or({nextStatus:void 0,nextStepStatus:"waitingForApproval",details:"Waiting for approve transaction to be mined and confirmed successfully",message:`Waiting for approval of ${s?.fromSymbol} coin ${i?"on your mobile phone!":""}`}):u?new sr({message:"Transaction is expired. Please try again.",nextStepStatus:"failed",nextStatus:"failed",details:"",errorCode:"TX_EXPIRED"}):new or({message:"Executing transaction ...",nextStepStatus:"running",nextStatus:"running",details:`${i?"Check your mobile phone!":""}`})}o(ee,"produceNextStateForTransaction");function k(e,t){let{getStorage:r,setStorage:n}=e,a=r().swapDetails,s=E(a),p=X(s),i=typeof a.hasAlreadyProceededToSign=="boolean",c=W({getStorage:r,setStorage:n,nextStepStatus:t.nextStepStatus,nextStatus:t.nextStatus,message:t.message,details:t.details,errorCode:t.errorCode,hasAlreadyProceededToSign:p?void 0:i});C({event:{type:"failed",reason:t.message,reasonCode:c.failureType??D,inputAmount:H(a),inputAmountUsd:$(a)},...c})}o(k,"onNextStateError");function te(e,t){let{getStorage:r,setStorage:n}=e,a=r().swapDetails,s=E(a),p=X(s),i=typeof a.hasAlreadyProceededToSign=="boolean",c=W({getStorage:r,setStorage:n,nextStepStatus:t.nextStepStatus,nextStatus:t.nextStatus,message:t.message,details:t.details,hasAlreadyProceededToSign:p?void 0:i});C({event:{type:"tx_execution",status:"send_tx"},...c})}o(te,"onNextStateOk");import{TransactionType as Cn}from"rango-types";import{Err as dr}from"ts-results";import{PendingSwapNetworkStatus as ir}from"rango-types";import{Err as We,Ok as St}from"ts-results";function De(e){return e.claimedBy===e._queue?.id}o(De,"isClaimedByCurrentQueue");function q(e,t){e.block(t),De(e.context)&&e.context.resetClaimedBy&&e.context.resetClaimedBy()}o(q,"requestBlockQueue");async function qe(e){let{getStorage:t,context:r}=e,n=t().swapDetails,a=E(n),s=xn(e);if(s.err)return s;let p=await yn(e);if(p.err)return p;a.networkStatus===ir.NetworkChanged&&pt(e,{message:"",details:"The network has been successfully changed.",status:ir.NetworkChanged});let i=rr(a),c=De(r);if(i&&!c){let l={reason:"depends_on_other_queues",description:tt,details:{}};return new We(l)}return new St(!0)}o(qe,"checkEnvironmentBeforeExecuteTransaction");function xn(e){let{getStorage:t,context:r}=e,{wallets:n}=r,a=t().swapDetails;if(!ct(a,r.state).ok){let{type:p,address:i}=F(a),c=n?.blockchains?.find(T=>!T.accounts?.find(d=>d.walletType===p)),l=it(n)||c?Y(p):ie(p,i),u={reason:"waiting_for_connecting_wallet",description:l};return new We(u)}return new St(!0)}o(xn,"ensureRequiredWalletIsConnected");async function yn(e){let{getStorage:t,context:r}=e,{meta:n,wallets:a,providers:s,hubProvider:p}=r,i=t().swapDetails,c=E(i),l=await jt(i,c,a,n,s,p),{claimedBy:u}=ke();if(!!u()&&!De(r)&&!l){let S=tt,m={reason:"depends_on_other_queues",details:S};return new We(m)}else if(!l){let S=K(i,c),m=Re(ut(c,S.network)),g={reason:"waiting_for_network_change",details:m};return new We(g)}return new St(!0)}o(yn,"ensureWalletIsOnCorrectNetwork");import{mainAPI as An}from"rango-types";import{Err as re,Ok as be}from"ts-results";var ur="https://api.hyperliquid.xyz/exchange";function Se(e){return e?An.isHyperliquidTransaction(e)?e.action.type!=="withdraw3"&&e.action.type!=="usdSend"?new re({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Transaction action is not supported.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}):e.message?be(e):new re({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Transaction message does not exist.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}):new re({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Expected Hyperliquid transaction but it doesn't match with the structure.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}):new re({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: tx is null!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})}o(Se,"ensureHyperliquidTransactionIsValid");function pr(e){try{let t=JSON.parse(e),r={domain:t.domain,types:{[t.primaryType]:t.types[t.primaryType]},value:t.message};return be(r)}catch{return new re({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Could not infer typed data from message.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})}}o(pr,"getEthersV6CompatibleTypedDataFromMessage");async function cr(e,t,r){try{let a=await(await fetch(ur,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e,signature:t,nonce:r})})).json();return be(a)}catch{return new re({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Failed to initiate withdrawal.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})}}o(cr,"initiateWithdrawalRequest");function lr(e){if(e.length!==132)return new re({nextStatus:"failed",nextStepStatus:"failed",message:`Expected 65-byte signature (132 hex chars), got ${e.length}`,details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"});let t=`0x${e.slice(2,66)}`,r=`0x${e.slice(66,130)}`,n=parseInt(e.slice(130,132),16);return(n===0||n===1)&&(n+=27),n!==27&&n!==28?new re({nextStatus:"failed",nextStepStatus:"failed",message:`Invalid signature recovery value: ${n}, expected 27 or 28`,details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}):be({r:t,s:r,v:n})}o(lr,"splitSignature");async function mt(e){let t=await qe(e);if(t.err){q(e,t.val);return}let{failed:r,getStorage:n,context:a,schedule:s,next:p}=e,{getSigners:i}=a,c=n().swapDetails,l=E(c),u=o(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),T=o(()=>{s("CHECK_HYPERLIQUID_TRANSACTION_STATUS"),p(),u()},"onSuccessfulFinish"),d=o(I=>{k(e,I.val),r(),u()},"handleErr"),S=ee(e);if(S.err){d(S);return}te(e,S.val);let m=N(l),g=Se(m);if(g.err){d(g);return}let y=g.val,h=U(c,l),x=B(c,l),w;try{w=(await i(h.walletType)).getSigner(Cn.EVM)}catch(I){O(e)(I),u();return}if(!w?.signTypedData){d(new dr({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Signer does not support signTypedData.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}let f=pr(y.message);if(f.err){d(f);return}let R;try{R=await w.signTypedData(f.val,x,y.action.signatureChainId)}catch(I){O(e)(I),u();return}let A=lr(R);if(A.err){d(A);return}let _=A.val,v=await cr(y.action,_,y.nonce);if(v.err){d(v);return}if(v.val.status!=="ok"){d(new dr({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Failed to initiate withdrawal.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}T()}o(mt,"executeHyperliquidTransaction");var Sr="https://rpc.hyperliquid.xyz/explorer";import{Err as Fe,Ok as _n}from"ts-results";async function mr(e,t){let r;try{r=await fetch(Sr,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"userDetails",user:e})})}catch{return new Fe("FETCH_ERROR")}let n;try{if(n=await r.json(),!Array.isArray(n.txs))return new Fe("RESPONSE_PARSING_ERROR")}catch{return new Fe("RESPONSE_PARSING_ERROR")}let a=n.txs.find(s=>(s.action.type==="withdraw3"||s.action.type==="usdSend")&&s.action.time===t);return a?_n(a.hash):new Fe("TRANSACTION_NOT_FOUND")}o(mr,"getHyperliquidTransactionHash");async function Tt(e){let{failed:t,getStorage:r,retry:n}=e,a=r().swapDetails,s=E(a),p=o(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),i=o(m=>{k(e,m.val),t(),p()},"handleErr"),c=N(s),l=B(a,s),u=Se(c);if(u.err){i(u);return}let d=u.val.nonce,S=await mr(l,d);if(S.err){(S.val==="FETCH_ERROR"||S.val==="RESPONSE_PARSING_ERROR")&&hn(new Error("check Hyperliquid transaction status Error"),{tags:{type:"request-error",requestBody:{type:"userDetails",user:l,nonce:d},pendingSwap:a}}),await z(5e3),n();return}Z(e,{isApproval:!1})({hash:S.val}),p()}o(Tt,"checkHyperliquidTransactionStatus");import{Networks as Tr}from"@rango-dev/wallets-shared";import{STELLAR_CHANGE_TRUSTLINE_TYPE as In,XRPL_CHANGE_TRUSTLINE_TYPE as kn}from"rango-types";import{Err as Et,Ok as gt}from"ts-results";async function ft(e){let{failed:t,schedule:r,getStorage:n,next:a}=e,s=o(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),p=o(m=>{k(e,m.val),t(),s()},"handleErr"),i=o(m=>{r(m),a(),s()},"scheduleAction"),c=n().swapDetails,l=E(c),u=N(l);if(!u){p(new Et({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: tx is null!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}let T=u.prerequisites,d=T.findIndex((m,g)=>!Ot({prerequisiteType:m.type,prerequisiteIndex:g},l)),S=null;if(d!==-1)switch(T[d].type){case kn:S=Ut(d,l);break;case In:S=Lt(d,l);break;default:S=new Et("Unexpected Error: unknown prerequisite type!");break}else l.fromBlockchain===Tr.XRPL?S=new gt("EXECUTE_XRPL_TRANSACTION"):l.fromBlockchain===Tr.HYPERLIQUID?S=new gt("EXECUTE_HYPERLIQUID_TRANSACTION"):S=new gt("EXECUTE_TRANSACTION");S?.err?p(new Et({nextStatus:"failed",nextStepStatus:"failed",message:S.val,details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})):i(S.val)}o(ft,"checkPrerequisites");import{warn as le}from"@rango-dev/logging-core";import{SignerError as gr}from"rango-types";var Er=5e3,vn=5e3;async function Pn({getStorage:e,setStorage:t,next:r,schedule:n,retry:a,failed:s,context:p}){let i=e().swapDetails,{meta:c}=p,l=new Error("check status Error"),u=E(i);if(!u?.executedTransactionId)return;let T=N(u),d=u.executedTransactionId,S=!1,m=null,g=null,{getTransactionDataByHash:y,setTransactionDataByHash:h}=ve();try{let A=ot(u),_=U(i,u);A&&_&&(g=(await p.getSigners(_.walletType)).getSigner(A))}catch{}try{let{response:A,receiptReceived:_}=y(d);if(g?.wait&&!_){let v=T?.blockChain&&c.blockchains?.[T?.blockChain]?.chainId||void 0,{hash:I,response:ye}=await g.wait(d,v,A);if(I!==d){u.executedTransactionId=I||u.executedTransactionId;let Ae=K(i,u),Ve;!!Object.keys(c.blockchains).length&&(Ve=de(u.executedTransactionId,Ae.network,c.blockchains)),Ve&&u.explorerUrl&&u.explorerUrl?.length>=1&&(u.explorerUrl[u.explorerUrl.length-1]={url:Ve,description:"Replaced Swap"}),d=u.executedTransactionId,I&&ye&&h(I,{response:ye})}else h(I,{receiptReceived:!0})}}catch(A){let{extraMessage:_,extraMessageDetail:v,extraMessageErrorCode:I}=J(A),ye=W({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:_,details:v,errorCode:I}),Ae=ce(i,_,ye.failureType);le(l,{tags:{type:"singer-error",reason:Ae.reason,reasonCode:Ae.reasonCode,message:_,messageDetail:v,pendingSwap:i},context:gr.isSignerError(A)?A.getErrorContext():{}}),S=!0}let x={requestId:i.requestId,txId:d,step:u.id};try{m=await j().checkStatus(x)}catch{await z(Er),a(),le(l,{tags:{type:"request-error",requestBody:x,pendingSwap:i}});return}if(S)return s();if(u?.status==="failed")return;let w=m?.outputAmount||(u.outputAmount?u.outputAmount:null),f=u.outputAmount||null;i.extraMessage=m?.extraMessage||i.extraMessage,i.extraMessageSeverity="info",i.extraMessageDetail="",u.status=m?.status||u.status,u.diagnosisUrl=m?.diagnosisUrl||u.diagnosisUrl||null,u.outputAmount=w||u.outputAmount,u.explorerUrl=m?.explorerUrl||u.explorerUrl,u.internalSteps=m?.steps||null;let R=m?.newTx;if(R&&(u.status="created",u.executedTransactionId=null,u.executedTransactionTime=null,Pe(u,R)),f===null&&w!==null?C({event:{type:"output_revealed",outputAmount:w},swap:i,step:u}):f===null&&w===null&&C({event:{type:"check_status"},swap:i,step:u}),u.status==="success"){let A=Xt(i,u);i.extraMessageDetail="",i.extraMessage=A?`starting next step: ${A.swapperId}: ${A.fromBlockchain} -> ${A.toBlockchain}`:"",C({event:{type:"succeeded",inputAmount:H(i),inputAmountUsd:$(i),outputAmount:u.outputAmount??"",outputAmountUsd:Le(i)},swap:i,step:u})}else u.status==="failed"&&(i.extraMessage="Transaction failed in blockchain",i.extraMessageSeverity="error",i.extraMessageDetail=m?.extraMessage||"",i.status="failed",i.finishTime=new Date().getTime().toString(),le(l,{tags:{type:"transaction-failed",message:i.extraMessage,messageDetails:i.extraMessageDetail,pendingSwap:i}}));t({...e(),swapDetails:i}),m?.status==="failed"?s():m?.status==="success"||m?.status==="running"&&m.newTx?(n("SCHEDULE_NEXT_STEP"),r()):(await z(Er),a())}o(Pn,"checkTransactionStatus");async function On({getStorage:e,setStorage:t,next:r,schedule:n,retry:a,failed:s,context:p}){let i=e().swapDetails,{meta:c}=p,{getTransactionDataByHash:l,setTransactionDataByHash:u}=ve(),T=new Error("check approval status error"),d=E(i);if(!d){console.log("ignore check status, current step is null");return}let S=N(d);if(!d?.executedTransactionId)return;let m=d.executedTransactionId,g=null;try{let x=ot(d),w=U(i,d);x&&w&&(g=(await p.getSigners(w.walletType)).getSigner(x))}catch{}try{let{response:x,receiptReceived:w}=l(m);if(g?.wait&&!w){let f=S?.blockChain&&c.blockchains?.[S?.blockChain]?.chainId||void 0,{hash:R,response:A}=await g.wait(m,f,x);if(R!==m){d.executedTransactionId=R||d.executedTransactionId;let _=K(i,d),v;!!Object.keys(c.blockchains).length&&(v=de(d.executedTransactionId,_.network,c.blockchains)),v&&d.explorerUrl&&d.explorerUrl?.length>=1&&(d.explorerUrl[d.explorerUrl.length-1]={url:v,description:"Replaced Approve"}),m=d.executedTransactionId,R&&A&&u(R,{response:A})}else u(R,{receiptReceived:!0})}}catch(x){let{extraMessage:w,extraMessageDetail:f,extraMessageErrorCode:R}=J(x),A=W({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:w,details:f,errorCode:R}),_=ce(i,w,A.failureType);return C({event:_,...A}),le(T,{tags:{type:"singer-error",reason:_.reason,reasonCode:_.reasonCode,message:w,messageDetail:f,pendingSwap:i},context:gr.isSignerError(x)?x.getErrorContext():{}}),s()}let y=!1,h={requestId:i.requestId,txId:d.executedTransactionId};try{let x=await j().checkApproval(h.requestId,h.txId);if(d?.status==="failed")return;if(y=x.isApproved,!y&&(x.txStatus==="failed"||x.txStatus==="success")){let w,f;x.txStatus==="failed"?(w="Approve transaction failed",f="Smart contract approval tx failed in blockchain."):(w="Not enough approval",x.requiredApprovedAmount&&x.currentApprovedAmount?f=`Required approval: ${x.requiredApprovedAmount}, current approval: ${x.currentApprovedAmount}`:f="You still don't have enough approval for this swap.");let R=W({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",errorCode:"INSUFFICIENT_APPROVE",message:w,details:f}),A=ce(i,w,R.failureType);C({event:A,...R}),le(T,{tags:{type:"approval-failed",message:i.extraMessage,messageDetails:i.extraMessageDetail,pendingSwap:i}}),s()}else y||C({event:{type:"check_status"},swap:i,step:d})}catch{y=!1,le(T,{tags:{type:"request-error",requestBody:h,pendingSwap:i}})}y?(d.status="approved",i.extraMessage=`Spending ${d.fromSymbol} approved successfully.`,i.extraMessageDetail=null,i.extraMessageSeverity="success",d.evmApprovalTransaction=null,d.executedTransactionId=null,d.executedTransactionTime=null,d.starknetApprovalTransaction=null,d.tronApprovalTransaction=null,t({...e(),swapDetails:i}),C({event:{type:"approval_tx_succeeded"},swap:i,step:d}),n("SCHEDULE_NEXT_STEP"),r()):(await z(vn),a())}o(On,"checkApprovalStatus");async function fr(e){let t=e.getStorage().swapDetails,r=E(t);if(!r){console.log("ignore check status, current step is null",t.requestId);return}Oe(e),r.status==="running"?await Pn(e):r.status==="waitingForApproval"&&await On(e)}o(fr,"checkStatus");import{STELLAR_CHANGE_TRUSTLINE_TYPE as He,TransactionType as Dn}from"rango-types";import{Err as Ar}from"ts-results";import{legacyReadAccountAddress as Un}from"@rango-dev/wallets-core/legacy";import*as Xe from"@stellar/stellar-sdk";import wr from"bignumber.js";import{TransactionType as Ln}from"rango-types";import{Err as Me,Ok as Be}from"ts-results";var wt="922337203685.4775807";async function me(e,t){let n=e.hubProvider(t).get("stellar");return n?Be(n):new Me({nextStatus:"failed",nextStepStatus:"failed",message:"Stellar is not available on your wallet.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})}o(me,"ensureStellarNamespaceExists");async function xr(e,t,r){try{let a=(await r.namespace.balanceLines(e)).filter(i=>i.asset_type!=="native"&&i.asset_type!=="liquidity_pool_shares").find(i=>i.asset_code===t.code&&i.asset_issuer===t.issuer);if(!a)return new Be({trustLineIsAlreadyOpened:!1});let s=new wr(a.limit),p=new wr(wt);return new Be({trustLineIsAlreadyOpened:s.gte(p)})}catch{return new Me({nextStatus:"failed",nextStepStatus:"failed",message:"Could not get account lines from Stellar.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})}}o(xr,"checkIfTrustLineIsAlreadyOpened");function yr(e,t){let r=new Xe.Asset(t.code,t.issuer),n="100",a=30,s=Math.floor(Date.now()/1e3),p=Xe.Operation.changeTrust({asset:r,limit:wt});return{type:Ln.STELLAR,blockChain:"Stellar",prerequisites:[],data:{baseFee:n,memoXdrBase64:null,preconditions:{timeBounds:{minTime:0,maxTime:s+a},ledgerBounds:{minLedger:0,maxLedger:0},minSeqNumber:null,minSeqAge:null,minSeqLedgerGap:null,extraSigners:null},operationsXdrBase64:[p.toXDR("base64")]}}}o(yr,"createTrustLineTransaction");function Te(e){let t=e.wallets.STELLAR;return t?{type:t.walletType,namespace:{namespace:"Stellar",network:"Stellar"},address:t.address}:null}o(Te,"getStellarWalletFromSwap");async function Ee(e,t){let{context:r}=e,n=r.state(t.type),{accounts:a,connected:s}=n;return s?a?.find(p=>Un(p).address===t.address)?new Be(!0):new Me({reason:"waiting_for_connecting_wallet",description:ie(t.type,t.address)}):new Me({reason:"waiting_for_connecting_wallet",description:Y(t.type)})}o(Ee,"ensureRequiredStellarWalletIsConnected");async function xt(e){let{failed:t,context:r,schedule:n,getStorage:a,next:s}=e,{meta:p,getSigners:i}=r,c=o(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),l=o(()=>{n("CHECK_PREREQUISITES"),s(),c()},"scheduleCheckPrerequisites"),u=o(f=>{k(e,f.val),t(),c()},"handleErr"),T=a().swapDetails,d=E(T),S=N(d);if(!S){u(new Ar({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: tx is null!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}let m=null;for(let f=0;f<S.prerequisites.length;f++){let R=S.prerequisites[f];if(R.type===He&&!d.prerequisiteResults.find(_=>_.prerequisiteIndex===f&&_.prerequisiteType===He)){m={prerequisite:R,prerequisiteIndex:f};break}}if(!m){l();return}let g=Te(T);if(!g){u(new Ar({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Stellar wallet was not found in the swap!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}let y=await me(r,g.type);if(y.err){u(y);return}let h=await Ee(e,g);if(h.err){q(e,h.val);return}let x={code:m.prerequisite.code,issuer:m.prerequisite.issuer,value:m.prerequisite.value},w=await xr(m.prerequisite.wallet,x,{namespace:y.val});if(w.err){u(w);return}if(w.val.trustLineIsAlreadyOpened){let f={prerequisiteIndex:m.prerequisiteIndex,prerequisiteType:He,status:"skipped",data:null};V(e,f),l();return}try{let f=await yr(m.prerequisite.wallet,x),R=p.blockchains.Stellar?.chainId,v=await(await i(g.type)).getSigner(Dn.STELLAR).signAndSendTx(f,g.address,R),I={prerequisiteIndex:m.prerequisiteIndex,prerequisiteType:He,status:"success",data:{executedTransactionHash:v.hash}};V(e,I),l()}catch(f){O(e)(f),c()}}o(xt,"checkStellarTrustline");import{TransactionType as bn,XRPL_CHANGE_TRUSTLINE_TYPE as Ke}from"rango-types";import{Err as Nr}from"ts-results";import{legacyReadAccountAddress as Wn}from"@rango-dev/wallets-core/legacy";import Cr from"bignumber.js";import{TransactionType as qn}from"rango-types";import{Err as Qe,Ok as Ge}from"ts-results";var yt="10000000000000";async function ge(e,t){let n=e.hubProvider(t).get("xrpl");return n?Ge(n):new Qe({nextStatus:"failed",nextStepStatus:"failed",message:"XRPL is not available on your wallet.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})}o(ge,"ensureXrplNamespaceExists");async function Rr(e,t,r){try{let a=(await r.namespace.accountLines(e,{peer:t.account})).find(i=>i.currency===t.currency&&i.account===t.account);if(!a)return new Ge({trustLineIsAlreadyOpened:!1});let s=new Cr(a.limit),p=new Cr(yt);return new Ge({trustLineIsAlreadyOpened:s.gte(p)})}catch{return new Qe({nextStatus:"failed",nextStepStatus:"failed",message:"Could not get account lines from XRPL.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})}}o(Rr,"checkIfTrustLineIsAlreadyOpened");function _r(e,t){return{type:qn.XRPL,blockChain:"XRPL",prerequisites:[],data:{TransactionType:"TrustSet",Account:e,LimitAmount:{currency:t.currency,issuer:t.account,value:yt}}}}o(_r,"createTrustLineTransaction");function fe(e){let t=e.wallets.XRPL;return t?{type:t.walletType,namespace:{namespace:"XRPL",network:"XRPL"},address:t.address}:null}o(fe,"getXrplWalletFromSwap");async function we(e,t){let{context:r}=e,n=r.state(t.type),{accounts:a,connected:s}=n;return s?a?.find(p=>Wn(p).address===t.address)?new Ge(!0):new Qe({reason:"waiting_for_connecting_wallet",description:ie(t.type,t.address)}):new Qe({reason:"waiting_for_connecting_wallet",description:Y(t.type)})}o(we,"ensureRequiredXrplWalletIsConnected");async function At(e){let{failed:t,context:r,schedule:n,getStorage:a,next:s}=e,{meta:p,getSigners:i}=r,c=o(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),l=o(()=>{n("CHECK_PREREQUISITES"),s(),c()},"scheduleCheckPrerequisites"),u=o(f=>{k(e,f.val),t(),c()},"handleErr"),T=a().swapDetails,d=E(T),S=N(d);if(!S){u(new Nr({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: tx is null!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}let m=null;for(let f=0;f<S.prerequisites.length;f++){let R=S.prerequisites[f];R.type===Ke&&(d.prerequisiteResults?.find(_=>_.prerequisiteIndex===f&&_.prerequisiteType===Ke)||(m={prerequisite:R,prerequisiteIndex:f}))}if(!m){l();return}let g=fe(T);if(!g){u(new Nr({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: XRPL wallet was not found in the swap!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}let y=await ge(r,g.type);if(y.err){u(y);return}let h=await we(e,g);if(h.err){q(e,h.val);return}let x={currency:m.prerequisite.currency,account:m.prerequisite.issuer,amount:m.prerequisite.value},w=await Rr(m.prerequisite.wallet,x,{namespace:y.val});if(w.err){u(w);return}if(w.val.trustLineIsAlreadyOpened){let f={prerequisiteIndex:m.prerequisiteIndex,prerequisiteType:Ke,status:"skipped",data:null};V(e,f),l();return}try{let f=_r(m.prerequisite.wallet,x),R=p.blockchains.XRPL?.chainId,v=await(await i(g.type)).getSigner(bn.XRPL).signAndSendTx(f,g.address,R),I={prerequisiteIndex:m.prerequisiteIndex,prerequisiteType:Ke,status:"pending",data:{executedTransactionHash:v.hash}};V(e,I),l()}catch(f){O(e)(f),c()}}o(At,"checkXrplTrustline");import{isXrplChangeTrustLinePrerequisiteResult as Mn,XRPL_CHANGE_TRUSTLINE_TYPE as Ir}from"rango-types";import{Err as Bn}from"ts-results";import{Client as Xn}from"xrpl";var hr="wss://xrplcluster.com/";async function Ct(e){let{failed:t,getStorage:r,retry:n,next:a,schedule:s}=e,p=r().swapDetails,i=E(p),c=o(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),l=o(()=>{s("CHECK_PREREQUISITES"),a(),c()},"onSuccessfulFinish"),u=o(S=>{k(e,S.val),t(),c()},"handleErr"),T=o(async()=>{await z(5e3),n()},"retryAfterDelay"),d=null;for(let S of i.prerequisiteResults)if(Mn(S)&&S.status==="pending"){d=S;break}if(!d){l();return}try{let S=new Xn(hr);await S.connect();let m=await S.request({command:"tx",transaction:d.data.executedTransactionHash});if(!m.result.validated){await T();return}if(typeof m.result.meta!="string"&&m.result.meta?.TransactionResult==="tesSUCCESS"){let g={prerequisiteIndex:d.prerequisiteIndex,prerequisiteType:Ir,status:"success",data:{executedTransactionHash:d.data.executedTransactionHash}};V(e,g),l()}else{let g={prerequisiteIndex:d.prerequisiteIndex,prerequisiteType:Ir,status:"failed",data:{executedTransactionHash:d.data.executedTransactionHash}};V(e,g),u(new Bn({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: xrpl change trustline transaction failed!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}))}}catch{await T()}}o(Ct,"checkXrplTrustLineTransactionStatus");import{warn as Hn}from"@rango-dev/logging-core";async function kr(e){let{setStorage:t,getStorage:r,next:n,schedule:a}=e,s=r().swapDetails,p=E(s);if(!N(p)){C({event:{type:"tx_execution",status:"create_tx"},swap:s,step:p});let c={requestId:s.requestId,step:p.id,userSettings:{slippage:s.settings.slippage,infiniteApprove:s.settings.infiniteApprove},validations:{balance:s.validateBalanceOrFee,fee:s.validateBalanceOrFee,approve:!0}};try{let{transaction:l}=await nr(j().createTransaction(c));l&&Pe(p,l),t({...r(),swapDetails:s}),a("SCHEDULE_NEXT_STEP"),n()}catch(l){s.status="failed",s.finishTime=new Date().getTime().toString();let{extraMessage:u,extraMessageDetail:T}=J(l),d=W({getStorage:r,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:u,details:T,errorCode:"FETCH_TX_FAILED"}),S=ce(s,u,d.failureType);C({event:S,...d}),l instanceof Error&&Hn(new Error("create transaction error"),{tags:{message:l.message,requestBody:c,reason:S.reason,reasonCode:S.reasonCode,pendingSwap:s}}),e.failed()}}}o(kr,"createTransaction");import{TransactionType as Kn}from"rango-types";import{Err as Or}from"ts-results";import{isStellarTransaction as Qn}from"rango-types";import{Err as vr,Ok as Gn}from"ts-results";async function Pr(e){return e?Qn(e)?Gn(e):new vr({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Expected Stellar transaction but it doesn't match with the structure.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}):new vr({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: tx is null!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})}o(Pr,"ensureStellarTransactionIsValid");async function Rt(e){let{failed:t,getStorage:r,context:n}=e,{meta:a,getSigners:s}=n,p=o(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),i=o(w=>{k(e,w.val),t(),p()},"handleErr"),c=r().swapDetails,l=E(c),u=N(l),T=await Pr(u);if(T.err){i(T);return}let d=Te(c);if(!d){i(new Or({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Stellar wallet was not found in the swap!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}let S=await me(n,d.type);if(S.err){i(S);return}let m=await Ee(e,d);if(m.err){q(e,m.val);return}let g=B(c,l),y=ee(e);if(y.err){i(y);return}te(e,y.val);let h=a.blockchains.Stellar?.chainId,x;try{x=(await s(d.type)).getSigner(Kn.STELLAR)}catch{i(new Or({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Failed to load the signer. Please refresh the page and try again.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}try{let w=await x.signAndSendTx(T.val,g,h);Z(e,{isApproval:!1})(w)}catch(w){O(e)(w)}p()}o(Rt,"executeStellarTransaction");async function _t(e){let t=await qe(e);if(t.err){q(e,t.val);return}Oe(e);let{failed:r,getStorage:n,context:a}=e,{meta:s,getSigners:p}=a,i=n().swapDetails,c=E(i),l=X(c),u=o(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),T=ee(e);if(T.err){k(e,T.val),r(),u();return}te(e,T.val);let d=N(c),S=U(i,c),m=B(i,c),g=s.blockchains?.[d.blockChain]?.chainId,y;try{y=await p(S.walletType)}catch(x){O(e)(x),u();return}await y.getSigner(d.type).signAndSendTx(d,m,g).then(Z(e,{isApproval:l}),O(e)).finally(()=>{u()})}o(_t,"executeTransaction");import{TransactionType as Yn}from"rango-types";import{Err as Lr}from"ts-results";import{isXrplTransaction as Vn}from"rango-types";import{Err as Nt,Ok as $n}from"ts-results";async function Ur(e){return e?Vn(e)?e.data.TransactionType!=="Payment"?new Nt({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Only XRPL transactions with payment type are supported",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}):$n(e):new Nt({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"}):new Nt({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: tx is null!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})}o(Ur,"ensureXrplTransactionIsValid");async function ht(e){let{failed:t,getStorage:r,context:n}=e,{meta:a,getSigners:s}=n,p=o(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),i=o(w=>{k(e,w.val),t(),p()},"handleErr"),c=r().swapDetails,l=E(c),u=N(l),T=await Ur(u);if(T.err){i(T);return}let d=fe(c);if(!d){i(new Lr({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Stellar wallet was not found in the swap!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}let S=await ge(n,d.type);if(S.err){i(S);return}let m=await we(e,d);if(m.err){q(e,m.val);return}let g=B(c,l),y=ee(e);if(y.err){i(y);return}te(e,y.val);let h=a.blockchains.XRPL?.chainId,x;try{x=(await s(d.type)).getSigner(Yn.XRPL)}catch{i(new Lr({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Failed to load the signer. Please refresh the page and try again.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}try{let w=await x.signAndSendTx(T.val,g,h);Z(e,{isApproval:T.val.data.TransactionType==="TrustSet"})(w)}catch(w){O(e)(w)}p()}o(ht,"executeXrplTransaction");function Dr({schedule:e,next:t,failed:r,setStorage:n,getStorage:a}){let s=a().swapDetails,p=E(s),i=s.steps.find(c=>c.status==="failed");if(p&&!i){if(Jt(s,p))return e("CHECK_PREREQUISITES"),t();if(p?.executedTransactionId)return e("CHECK_TRANSACTION_STATUS"),t();s.status="running",n({...a(),swapDetails:s}),C({event:{type:"started"},swap:s,step:p}),e("CREATE_TRANSACTION"),t()}else{s.status=i?"failed":"success",s.finishTime=new Date().getTime().toString(),n({...a(),swapDetails:s});let c=H(s),l=$(s);C({...i?{event:{type:"failed",reason:s.extraMessage??void 0,reasonCode:"CALL_OR_SEND_FAILED",inputAmount:c,inputAmountUsd:l}}:{event:{type:"succeeded",inputAmount:c,inputAmountUsd:l,outputAmount:ue(s.steps)?.outputAmount??"",outputAmountUsd:Le(s)}},swap:s,step:null}),i?r():t()}}o(Dr,"scheduleNextStep");function Wr({schedule:e,next:t,getStorage:r}){let n=r().swapDetails;C({event:{type:"started"},swap:n,step:null}),e("SCHEDULE_NEXT_STEP"),t()}o(Wr,"start");var qr={name:"swap",actions:{START:Wr,SCHEDULE_NEXT_STEP:Dr,CREATE_TRANSACTION:kr,CHECK_PREREQUISITES:ft,CHECK_XRPL_TRUSTLINE:At,CHECK_XRPL_TRUSTLINE_TRANSACTION_STATUS:Ct,CHECK_STELLAR_TRUSTLINE:xt,EXECUTE_TRANSACTION:_t,EXECUTE_XRPL_TRANSACTION:ht,EXECUTE_STELLAR_TRANSACTION:Rt,EXECUTE_HYPERLIQUID_TRANSACTION:mt,CHECK_HYPERLIQUID_TRANSACTION_STATUS:Tt,CHECK_TRANSACTION_STATUS:fr},run:["START"],whenTaskBlocked:(e,t)=>{e.reason.reason==="waiting_for_connecting_wallet"?zt(e,t):e.reason.reason==="waiting_for_network_change"?Zt(e,t):e.reason.reason==="depends_on_other_queues"&&er(e,t)}};import{useManager as ea}from"@rango-dev/queue-manager-react";import{useEffect as kt,useState as ta}from"react";import{DB_NAME as jn,Persistor as Jn,Status as xe}from"@rango-dev/queue-manager-core";import{v4 as zn}from"uuid";var br="migratedToQueueManager";function It(){return!!window.localStorage.getItem(br)}o(It,"migrated");async function Zn(){try{return(await window.indexedDB.databases()).map(e=>e.name).includes(jn)}catch{return!1}}o(Zn,"hasQueueManagerOnIDB");async function Fr(){let e=window.localStorage.getItem("pendingSwaps"),t=await Zn();if(!e||It()||t)return!0;let r=JSON.parse(e),n=[];r.forEach(p=>{if(p.status==="running"){let i=zn(),c={id:p.requestId,createdAt:Number(p.creationTime),name:"swap",status:xe.RUNNING,storage:{swapDetails:p},state:{status:xe.RUNNING,activeTaskIndex:0,tasks:{[i]:{blockedFor:null,status:xe.RUNNING}}},tasks:[{id:i,action:"SCHEDULE_NEXT_STEP"}]};n.push(c)}else{let i=p.status==="success"?xe.SUCCESS:xe.FAILED,c={id:p.requestId,createdAt:Number(p.creationTime),name:"swap",status:i,storage:{swapDetails:p},state:{status:i,activeTaskIndex:0,tasks:{}},tasks:[]};n.push(c)}});let a=new Jn,s=n.map(async p=>a.insertQueue(p));return await Promise.all(s),window.localStorage.setItem(br,"1"),!0}o(Fr,"migration");var Mr=0;function ra(e){return`${e?.walletType}-${e?.network}-${e?.accounts?.toString()}`}o(ra,"getLastConnectedWalletHash");function na(){let e=It(),[t,r]=ta(e);return kt(()=>{(async()=>Mr||(Mr=1,Fr().finally(()=>{r(!0)})))()},[]),{status:t}}o(na,"useMigration");function aa(e){let{manager:t}=ea(),{lastConnectedWallet:r,disconnectedWallet:n,evmChains:a,canSwitchNetworkTo:s,clearDisconnectedWallet:p}=e;kt(()=>{r&&(tr({evmChains:a,lastConnectedWallet:r,manager:t}),dt(r,t,s))},[ra(r)]),kt(()=>{n&&(lt(t),p())},[n])}o(aa,"useQueueManager");function cp(e){return Pt(e),qr}o(cp,"makeQueueDefinition");export{Je as EventSeverity,Ne as MessageSeverity,b as PrettyError,je as RouteEventType,Q as StepEventType,Ce as StepExecutionBlockedEventStatus,oe as StepExecutionEventStatus,Ye as WidgetEvents,Zr as calculatePendingSwap,fn as cancelSwap,lt as checkWaitingForNetworkChange,M as getCurrentNamespaceOfOrNull,E as getCurrentStep,ue as getLastSuccessfulStep,U as getRelatedWallet,he as getRelatedWalletOrNull,F as getRequiredWallet,En as getRunningSwaps,Qt as getUsdPrice,wn as isApprovalTX,cp as makeQueueDefinition,J as prettifyErrorMessage,gn as resetRunningSwapNotifsOnPageLoad,W as updateSwapStatus,na as useMigration,aa as useQueueManager};
1
+ var Mr=Object.defineProperty;var s=(e,t)=>Mr(e,"name",{value:t,configurable:!0});function Xr(){return process.env.REACT_APP_RANGO_API_KEY}s(Xr,"getApiKeyFromEnv");function vt(){return Xr()||"NOT_SET"}s(vt,"getApiKeyFromEnvOrNotSet");var $e={API_KEY:vt(),BASE_URL:""};function se(e){return $e[e]}s(se,"getConfig");function Pt(e){return $e=e,$e}s(Pt,"initConfig");import{warn as _n}from"@rango-dev/logging-core";import{HYPERLIQUID_SIGN_NETWORK as at}from"@rango-dev/internal-blockchains";import{warn as nn}from"@rango-dev/logging-core";import{Status as st}from"@rango-dev/queue-manager-core";import{legacyGetBlockChainNameFromId as an,legacyReadAccountAddress as sn}from"@rango-dev/wallets-core/legacy";import on from"bignumber.js";import{PendingSwapNetworkStatus as pe,SignerError as un,TransactionType as P}from"rango-types";import{STELLAR_CHANGE_TRUSTLINE_TYPE as Hr,XRPL_CHANGE_TRUSTLINE_TYPE as Qr}from"rango-types";import{Err as G,Ok as ze}from"ts-results";var Ye=(r=>(r.RouteEvent="routeEvent",r.StepEvent="stepEvent",r))(Ye||{}),je=(n=>(n.STARTED="started",n.FAILED="failed",n.SUCCEEDED="succeeded",n))(je||{}),oe=(n=>(n.CREATE_TX="create_tx",n.SEND_TX="send_tx",n.TX_SENT="tx_sent",n))(oe||{}),Ce=(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))(Ce||{}),Q=(c=>(c.STARTED="started",c.FAILED="failed",c.SUCCEEDED="succeeded",c.TX_EXECUTION="tx_execution",c.TX_EXECUTION_BLOCKED="tx_execution_blocked",c.APPROVAL_TX_SUCCEEDED="approval_tx_succeeded",c.CHECK_STATUS="check_status",c.OUTPUT_REVEALED="output_revealed",c))(Q||{}),Je=(a=>(a.ERROR="error",a.SUCCESS="success",a.WARNING="warning",a.INFO="info",a))(Je||{});var Ot=s((e,t)=>{let r=Ze(t,e);return r?.status==="success"||r?.status==="skipped"},"checkIsPrerequisiteAlreadyMet");function Ze(e,t){return e.prerequisiteResults?.find(r=>et(r,t))}s(Ze,"getPrerequisiteResult");var et=s((e,t)=>e.prerequisiteIndex===t.prerequisiteIndex&&e.prerequisiteType===t.prerequisiteType,"matchesPrerequisiteKey");function Lt(e,t){let r=Ze(t,{prerequisiteType:Qr,prerequisiteIndex:e});if(!r)return new ze("CHECK_XRPL_TRUSTLINE");switch(r.status){case"pending":return new ze("CHECK_XRPL_TRUSTLINE_TRANSACTION_STATUS");case"success":return new G("Unexpected Error: xrpl change trustline prerequisite is already met!");case"skipped":return new G("Unexpected Error: xrpl change trustline prerequisite is already met!");case"failed":return new G("Unexpected Error: xrpl change trustline prerequisite failed!");default:return new G("Unexpected Error: xrpl change trustline prerequisite has an invalid status!")}}s(Lt,"handleUnmetXrplChangeTrustLinePrerequisite");function Ut(e,t){let r=Ze(t,{prerequisiteType:Hr,prerequisiteIndex:e});if(!r)return new ze("CHECK_STELLAR_TRUSTLINE");switch(r.status){case"pending":return new G('Unexpected Error: stellar change trustline prerequisite has invalid "pending" status!');case"success":return new G("Unexpected Error: stellar change trustline prerequisite is already met!");case"skipped":return new G("Unexpected Error: stellar change trustline prerequisite is already met!");case"failed":return new G("Unexpected Error: stellar change trustline prerequisite failed!");default:return new G("Unexpected Error: stellar change trustline prerequisite has an invalid status!")}}s(Ut,"handleUnmetStellarChangeTrustLinePrerequisite");var tt="Waiting for other swaps to complete",Dt="Waiting for connecting wallet",ie=s((e,t)=>`Please change your ${e||"wallet"} account to ${t||"proper address"}`,"ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION_WRONG_WALLET"),Y=s(e=>`Please connect your ${e??""} wallet.`,"ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION"),Re=s(e=>`Please change your network to ${e}.`,"ERROR_MESSAGE_WAIT_FOR_CHANGE_NETWORK"),D="CLIENT_UNEXPECTED_BEHAVIOUR";import{RangoClient as Gr}from"rango-sdk";var _e,j=s(()=>_e||(_e=new Gr(se("API_KEY"),se("BASE_URL")),_e),"httpService");import Bt from"bignumber.js";import Wt from"bignumber.js";var qt=s((e,t=null,r=null)=>{if(e===null||e==="")return"";let n=new Wt(e),a=1,o=1e3;for(let u=0;u<60;u++)if(new Wt(n.toFixed(u,a)).eq(n)){o=u;break}if(n.gte(1e4))return n.toFormat(0,a);if(n.gte(1e3)||n.gte(100))return n.toFormat(Math.min(o,Math.min(r||100,Math.max(t||0,1))),a);if(n.gte(1))return n.toFormat(Math.min(o,Math.min(r||100,Math.max(t||0,2))),a);if(n.gte(.01))return n.toFormat(Math.min(o,Math.min(r||100,Math.max(t||0,4))),a);for(let u=t||4;u<17;u++)if(n.gte(Math.pow(10,-u)))return n.toFormat(Math.min(o,Math.min(r||100,Math.max(t||0,u))),a);return n.isEqualTo(0)?"0":n.toFormat(Math.min(o,Math.min(r||100,Math.max(t||0,8))),a)},"numberToString");import{isAPIErrorCode as Kr,isSignerErrorCode as Vr,SignerError as $r,SignerErrorCode as ne}from"rango-types";var Yr="Assertion failed (Unexpected behaviour)",jr="Create transaction failed in Rango Server",bt="Input wallet not found",b=class e extends Error{constructor(r,n,a,o){super(n);this._isPrettyError=!0;Object.setPrototypeOf(this,e.prototype),e.prototype._isPrettyError=!0,this.code=r,this.detail=o,this.root=a}static{s(this,"PrettyError")}static isPrettyError(r){return r instanceof e||Object.prototype.hasOwnProperty.call(r,"_isPrettyError")}static AssertionFailed(r){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",Yr,null,r)}static BadStatusCode(r,n){return new e("TX_FAIL",r,null,`status code = ${n}`)}static CreateTransaction(r){return new e("FETCH_TX_FAILED",jr,null,r)}static WalletMissing(){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",bt,null,"Server requested for a blockchain or address not selected by user")}static BlockchainMissing(){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",bt,null,"Server requested for a blockchain or address not selected by user")}getErrorDetail(){let r=typeof this.root=="object"&&this.root&&this.root.error?this.root.error:JSON.stringify(this.root),n=typeof this.root=="string"?this.root:this.root instanceof Error?this.root.message:r;return{extraMessage:this.message,extraMessageDetail:this.detail||n,extraMessageErrorCode:this.code||null}}};function Ft(e){try{return e?Kr(e)?e:Vr(e)?{[ne.REJECTED_BY_USER]:"USER_REJECT",[ne.SIGN_TX_ERROR]:"CALL_WALLET_FAILED",[ne.SEND_TX_ERROR]:"SEND_TX_FAILED",[ne.TX_FAILED_IN_BLOCKCHAIN]:"TX_FAILED_IN_BLOCKCHAIN",[ne.NOT_IMPLEMENTED]:D,[ne.OPERATION_UNSUPPORTED]:D,[ne.UNEXPECTED_BEHAVIOUR]:D}[e]:D:D}catch{return D}}s(Ft,"mapAppErrorCodesToAPIErrorCode");function Jr(e){return!!e&&typeof e=="object"&&"isAxiosError"in e&&e.isAxiosError===!0}s(Jr,"isAxiosError");var J=s(e=>{if(!e)return{extraMessage:"",extraMessageErrorCode:null};if(Jr(e))return{extraMessage:e.response?.data?.error||"Unknown error",extraMessageErrorCode:null};if(b.isPrettyError(e))return e.getErrorDetail();if($r.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 Ne=(a=>(a.error="error",a.warning="warning",a.info="info",a.success="success",a))(Ne||{}),B=s((e,t)=>{try{return K(e,t)}catch{return null}},"getCurrentNamespaceOfOrNull"),K=s((e,t)=>{let r=t.evmTransaction?.blockChain||t.evmApprovalTransaction?.blockChain,n=t.starknetTransaction?.blockChain||t.starknetApprovalTransaction?.blockChain,a=t.tronTransaction?.blockChain||t.tronApprovalTransaction?.blockChain,o=t.solanaTransaction?.blockChain,u=t.tonTransaction?.blockChain,i=t.suiTransaction?.blockChain,c=t.xrplTransaction?.blockChain,l=t.stellarTransaction?.blockChain,p=t.hyperliquidTransaction?.blockChain;if(r)return{namespace:"EVM",network:r};if(n)return{namespace:"Starknet",network:n};if(a)return{namespace:"Tron",network:a};if(o)return{namespace:"Solana",network:o};if(u)return{namespace:"Ton",network:u};if(i)return{namespace:"Sui",network:i};if(c)return{namespace:"XRPL",network:c};if(l)return{namespace:"Stellar",network:l};if(p)return{namespace:"EVM",network:p};if(t.transferTransaction){let T=t.transferTransaction.fromWalletAddress;if(!T)throw b.BlockchainMissing();let d=Object.keys(e.wallets).find(S=>e.wallets[S]?.address===T);if(!d)throw b.BlockchainMissing();return{namespace:"UTXO",network:d}}throw new Error("Unsupported transaction type has been included in your swap.",{cause:t})},"getCurrentNamespaceOf"),de=s((e,t,r)=>{let a=r[t].info?.transactionUrl;if(a)return a.indexOf("/{txHash}")!==-1?a.replace("{txHash}",e):`${a}/${e}`},"getScannerUrl");function Xt(e,t){return e.steps.find(r=>r.status!=="failed"&&r.status!=="success"&&r.id!==t.id)||null}s(Xt,"getNextStep");var Ht=s((e,t)=>{let r=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.solanaTransaction?.blockChain||""]||e.wallets[t.tonTransaction?.blockChain||""]||e.wallets[t.suiTransaction?.blockChain||""]||e.wallets[t.xrplTransaction?.blockChain||""]||e.wallets[t.stellarTransaction?.blockChain||""]||e.wallets[t.hyperliquidTransaction?.type||""]||(t.transferTransaction?.fromWalletAddress?{address:t.transferTransaction.fromWalletAddress,walletType:Object.values(e.wallets).find(n=>n.address===t.transferTransaction?.fromWalletAddress)?.walletType}:null)||null;if(r==null)throw b.WalletMissing();return r},"getCurrentWalletTypeAndAddress"),M=s((e,t)=>Ht(e,t).address,"getCurrentAddressOf");function L(e,t){let{address:r,walletType:n}=Ht(e,t),a=Object.keys(e.wallets).map(c=>({k:c,v:e.wallets[c]})).find(({v:c})=>c.address===r&&c.walletType===n)||null,o=a?.k||null,u=a?.v||null,i=u?.walletType;if(u===null)throw b.AssertionFailed(`Wallet for source ${o} not passed: walletType: ${i}`);return u}s(L,"getRelatedWallet");function he(e,t){if(!t)return null;try{return L(e,t)}catch(r){return console.log({e:r}),null}}s(he,"getRelatedWalletOrNull");var Qt=s((e,t,r,n)=>n?.find(o=>o.blockchain===e&&o.symbol?.toUpperCase()===t?.toUpperCase()&&o.address===r)?.usdPrice||null,"getUsdPrice");function zr(e,t){let r=new Bt(0);for(let n=0;n<e.fee.length;n++){let a=e.fee[n];if(a.expenseType==="DECREASE_FROM_OUTPUT")continue;let o=Qt(a.asset.blockchain,a.asset.symbol,a.asset.address,t);r=r.plus(new Bt(a.amount).multipliedBy(o||0))}return r}s(zr,"getUsdFeeOfStep");function Mt(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?qt(zr(e,t?.tokens),null,8):null,estimatedTimeInSeconds:e.estimatedTimeInSeconds||null,internalSteps:null}}s(Mt,"mapSwapStepToPendingSwapStep");function Zr(e){let{inputAmount:t,bestRoute:r,wallets:n,settings:a,validateBalanceOrFee:o,meta:u,swapMode:i="swap"}=e,c=r.result;if(!c)throw Error("Simulation result should not be null");return{creationTime:new Date().getTime().toString(),finishTime:null,requestId:r.requestId||"",inputAmount:t,wallets:n,status:"running",mode:i,isPaused:!1,extraMessage:null,extraMessageSeverity:null,extraMessageDetail:null,extraMessageErrorCode:null,networkStatusExtraMessage:null,networkStatusExtraMessageDetail:null,lastNotificationTime:null,settings:a,simulationResult:c,validateBalanceOrFee:o,steps:r.result?.swaps?.map((l,p)=>{let T=Mt(l,u);return{id:p+1,...T,internalSwaps:l?.internalSwaps?.map(d=>Mt(d,u))||null,outputAmount:"",prerequisiteResults:[],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,stellarTransaction:null,hyperliquidTransaction:null,hasAlreadyProceededToSign:!1}})||[]}}s(Zr,"calculatePendingSwap");function Gt(e){return e.map(t=>{let{diagnosisUrl:r,estimatedTimeInSeconds:n,explorerUrl:a,feeInUsd:o,executedTransactionId:u,executedTransactionTime:i,expectedOutputAmountHumanReadable:c,fromBlockchain:l,toBlockchain:p,fromSymbol:T,toSymbol:d,fromSymbolAddress:S,toSymbolAddress:m,swapperType:g,swapperId:x,outputAmount:h,fromAmountMaxValue:y,fromAmountMinValue:w,fromAmountPrecision:f,fromAmountRestrictionType:R,fromDecimals:A,status:_}=t;return{diagnosisUrl:r,estimatedTimeInSeconds:n,explorerUrl:a,feeInUsd:o,executedTransactionId:u,executedTransactionTime:i,expectedOutputAmountHumanReadable:c,fromBlockchain:l,toBlockchain:p,fromSymbol:T,toSymbol:d,fromSymbolAddress:S,toSymbolAddress:m,swapperName:x,swapperType:g,outputAmount:h,fromAmountMaxValue:y,fromAmountMinValue:w,fromAmountPrecision:f,fromAmountRestrictionType:R,fromDecimals:A,status:_,transaction:N(t)}})}s(Gt,"createSteps");function en(e,t,r){let{creationTime:n,finishTime:a,requestId:o,inputAmount:u,status:i,wallets:c,steps:l,settings:p}=e,T=Gt(l),S={route:{creationTime:n,finishTime:a,requestId:o,inputAmount:u,status:i,wallets:c,steps:T,slippage:p.slippage,infiniteApproval:p.infiniteApprove},step:T[T.length-1]};if(r)S.step=Gt([r])[0];else if(t==="failed"){let m=Kt(T);m&&(S.step=m)}else{let m=ue(T);m&&(S.step=m)}return S}s(en,"getEventPayload");function tn(e,t,r){let n,{type:a}=e;switch(a){case"started":n={...e,type:"started"};break;case"failed":n={...e,type:"failed",inputAmount:r.inputAmount,inputAmountUsd:rt(r),swapMode:r.mode||"swap"};break;case"succeeded":{n={...e,type:"succeeded",inputAmount:r.inputAmount,inputAmountUsd:rt(r),outputAmount:r.steps[r.steps.length-1].outputAmount??"",outputAmountUsd:Vt(r),swapMode:r.mode||"swap"};break}default:break}n&&se("emitter")?.emit("routeEvent",{event:n,route:t})}s(tn,"emitRouteEvent");function rn(e,t,r){se("emitter")?.emit("stepEvent",{event:e,route:t,step:r})}s(rn,"emitStepEvent");function C(e){let{event:t}=e,{type:r}=t,{route:n,step:a}=en(e.swap,r,e.step??void 0),o=`${a.fromBlockchain}.${a.fromSymbol}`,u=`${a.toBlockchain}.${a.toSymbol}`,i=a.outputAmount??"",c=e.step?B(e.swap,e.step):null,l="",p="info";switch(r){case"started":l="Swap process started",p="success";break;case"succeeded":l=`You received ${i} ${u}, hooray!`,p="success";break;case"failed":l=`Swap failed: ${e.swap?.extraMessage??"Reason is unknown"}`,p="error";break;case"tx_execution":t.status==="create_tx"?(l="Please wait while the transaction is created ...",p="info"):t.status==="send_tx"?(e.step&&X(e.step)?l=`Please confirm '${a.swapperName}' smart contract access to ${o}`:l="Please confirm transaction request in your wallet",p="warning"):t.status==="tx_sent"&&(l="Transaction sent successfully",p="info");break;case"check_status":e.step&&X(e.step)?l="Checking approve transaction status ...":l="Checking transaction status ...",p="info";break;case"approval_tx_succeeded":l="Smart contract called successfully",p="success";break;case"output_revealed":l="Transaction output amount revealed",p="success";break;case"tx_execution_blocked":t.status==="waiting_for_wallet_connect"?(l="Please connect your wallet.",p="warning"):t.status==="waiting_for_queue"?(l="Waiting for other swaps to complete",p="warning"):t.status==="waiting_for_change_wallet_account"?(l="Please change your wallet account.",p="warning"):t.status==="waiting_for_network_change"&&(l=`Please change your wallet network to ${c?.network}.`,p="warning");break;default:break}e.step&&rn({...t,message:l,messageSeverity:p},n,a),(e.event.type==="failed"||!e.step)&&tn({...t,message:l,messageSeverity:p},n,e.swap)}s(C,"notifier");var nt=null;function ke(){return{claimedBy:()=>nt?.id,setClaimer:e=>{nt={id:e}},reset:()=>{nt=null}}}s(ke,"claimQueue");var ae={};function ve(){return{getTransactionDataByHash:e=>ae[e]||{},setTransactionDataByHash:(e,t)=>{ae[e]||(ae[e]={}),ae[e].response=t.response||ae[e].response,ae[e].receiptReceived=t.receiptReceived||ae[e].receiptReceived||!1}}}s(ve,"inMemoryTransactionsData");var E=s(e=>e.steps.find(t=>t.status!=="failed"&&t.status!=="success")||null,"getCurrentStep"),N=s(e=>{let{evmTransaction:t,evmApprovalTransaction:r,solanaTransaction:n,transferTransaction:a,starknetApprovalTransaction:o,starknetTransaction:u,stellarTransaction:i,tronApprovalTransaction:c,tronTransaction:l,tonTransaction:p,suiTransaction:T,xrplTransaction:d,hyperliquidTransaction:S}=e;return t||r||n||a||o||u||i||c||l||p||T||d||S},"getCurrentStepTx"),Pe=s((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,e.stellarTransaction=null,e.hyperliquidTransaction=null;let r=t.type;switch(r){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:throw new Error("Cosmos transactions are no longer supported.");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;case P.STELLAR:e.stellarTransaction=t;break;case P.HYPERLIQUID:e.hyperliquidTransaction=t;break;default:(n=>{throw new Error(`${n} was unhandled!`)})(r)}return e},"setCurrentStepTx"),ot=s(e=>N(e)?.type,"getCurrentStepTxType"),X=s(e=>{let{evmApprovalTransaction:t,starknetApprovalTransaction:r,tronApprovalTransaction:n}=e;return!!(t||r||n)},"isApprovalCurrentStepTx");function W({getStorage:e,setStorage:t,nextStatus:r,nextStepStatus:n,message:a,details:o,errorCode:u=null,hasAlreadyProceededToSign:i,trace:c=null}){let l=e().swapDetails,p=E(l),T={swap:l,step:p};if(n&&p&&(p.status=n),r&&(l.status=r),l.hasAlreadyProceededToSign=i,r&&["failed","success"].includes(r)&&(l.finishTime=new Date().getTime().toString()),(a||o)&&(l.extraMessage=a||"",l.extraMessageDetail=o||""),n&&["failed"].includes(n)){let d=o&&o.includes("Warning")?"Swap canceled by user.":o,S=he(l,p)?.walletType;l.extraMessageSeverity="error";let m=Ft(u);T.failureType=m;let g=u!=="REJECTED_BY_USER"&&c?.message&&typeof c.message=="string"?c.message:d||"";j().reportFailure({requestId:l.requestId,step:p?.id||1,eventType:m,reason:g,tags:S?{wallet:S}:void 0}).then().catch()}else n&&["running"].includes(n)?l.extraMessageSeverity="info":n&&["success","approved"].includes(n)?l.extraMessageSeverity="success":n&&["waitingForApproval"].includes(n)&&(l.extraMessageSeverity="warning");return n==="running"&&p&&(p.startTransactionTime=new Date().getTime()),t({...e(),swapDetails:l}),T}s(W,"updateSwapStatus");function pn({getStorage:e,setStorage:t},r,n){let a=e().swapDetails;a.hasAlreadyProceededToSign=null;let o=E(a);o.executedTransactionId=r,o.executedTransactionTime=new Date().getTime().toString(),n?.url&&(o.explorerUrl=[...o.explorerUrl||[],{url:n.url,description:n.description||null}]),X(o)?a.extraMessage="Checking approve transaction status ...":a.extraMessage="Checking transaction status ...",a.extraMessageDetail="",a.extraMessageSeverity="info",t({...e(),swapDetails:a}),C({event:{type:"tx_execution",status:"tx_sent"},swap:a,step:o}),C({event:{type:"check_status"},swap:a,step:o})}s(pn,"setStepTransactionIds");function ln({getStorage:e,setStorage:t},r,n){let a=e().swapDetails,o=E(a);if(!o)return;let u=new Date;a.lastNotificationTime=u.getTime().toString(),!(o.networkStatus===pe.WaitingForConnectingWallet&&a.networkStatusExtraMessage===r&&a.networkStatusExtraMessageDetail===n)&&(o.networkStatus=pe.WaitingForConnectingWallet,a.networkStatusExtraMessage=r,a.networkStatusExtraMessageDetail=n,t({...e(),swapDetails:a}))}s(ln,"markRunningSwapAsWaitingForConnectingWallet");function $t({getStorage:e,setStorage:t}){let r=e().swapDetails,n=E(r);if(!n)return;let{type:a}=F(r),o=K(r,n),u=`Change ${a} wallet network to ${o.network}`,i=`We\u2019re switching the connected network to ${o.network}. Please check your wallet.`,c=new Date;return r.lastNotificationTime=c.getTime().toString(),n.networkStatus=pe.WaitingForNetworkChange,r.networkStatusExtraMessage=u,r.networkStatusExtraMessageDetail=i,t({...e(),swapDetails:r}),{swap:r,step:n}}s($t,"markRunningSwapAsSwitchingNetwork");function Yt({getStorage:e,setStorage:t}){let r=e().swapDetails,n=E(r);if(n)return r.networkStatusExtraMessage="",r.networkStatusExtraMessageDetail="",n.networkStatus=pe.WaitingForQueue,C({event:{type:"tx_execution_blocked",status:"waiting_for_queue"},swap:r,step:n}),t({...e(),swapDetails:r}),{swap:r,step:n}}s(Yt,"markRunningSwapAsDependsOnOtherQueues");async function z(e){return new Promise(t=>setTimeout(t,e))}s(z,"delay");var cn=s((e,t)=>e.wallets[t]?.walletType,"getSwapWalletType");function it(e){return e===null||e?.blockchains===null||e?.blockchains.length===0}s(it,"isWalletNull");function F(e){let t=E(e),r=B(e,t);if(!r)return{type:null,namespace:null,address:null};let n=cn(e,r.network),a=e.wallets[r.network];return{type:n||null,namespace:r,address:a?a.address:null}}s(F,"getRequiredWallet");async function dn(e,t){let n=e(t).get("evm");if(!n)throw new Error("EVM namespace not found for wallet type: "+t);return n.getChainId()}s(dn,"getProviderChainId");function ut(e,t){return e.hyperliquidTransaction?at:t}s(ut,"getRequiredSignNetwork");async function jt(e,t,r,n,a){if(it(r))return!1;let o=B(e,t);if(!o)return!1;let u=ut(t,o.network);if(n.evmBasedChains.find(i=>i.name===u)){try{let i=he(e,t);if(i){let c=await dn(a,i.walletType);if(c){let l=an(c,Object.entries(n.blockchains).map(([,p])=>p));if(l&&l.toLowerCase()===u.toLowerCase())return!0;if(l&&l.toLowerCase()!==u.toLowerCase())return!1}}}catch(i){console.log(i)}return!1}return!0}s(jt,"isNetworkMatchedForTransaction");var Jt=s((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.solanaTransaction?.blockChain||""]||e.wallets[t.tonTransaction?.blockChain||""]||e.wallets[t.suiTransaction?.blockChain||""]||e.wallets[t.stellarTransaction?.blockChain||""]||e.wallets[t.xrplTransaction?.blockChain||""]||e.wallets[t.hyperliquidTransaction?.type||""]||t.transferTransaction?.fromWalletAddress||null)!==null,"isTxAlreadyCreated");function Oe(e){let{getStorage:t,setStorage:r}=e,n=t().swapDetails,a=E(n);a?.networkStatus&&(a.networkStatus=null,r({...t(),swapDetails:n}))}s(Oe,"resetNetworkStatus");function pt(e,t={message:"",details:"",status:null}){let{message:r,details:n,status:a}=t,{getStorage:o,setStorage:u}=e,i=o().swapDetails,c=E(i);c?.networkStatus&&(i.networkStatusExtraMessage=r,i.networkStatusExtraMessageDetail=n,c.networkStatus=a,u({...o(),swapDetails:i}))}s(pt,"updateNetworkStatus");function zt(e,t){let{context:r,queue:n}=t,a=n.getStorage().swapDetails,{ok:o,reason:u}=lt(a,r.state);if(!o){let i=E(a),{type:c,address:l}=F(a);C({event:{type:"tx_execution_blocked",...u==="account_miss_match"?{status:"waiting_for_change_wallet_account",requiredAccount:l??void 0}:{status:"waiting_for_wallet_connect",requiredWallet:c??void 0,requiredAccount:l??void 0}},swap:a,step:i}),ln({getStorage:n.getStorage.bind(n),setStorage:n.setStorage.bind(n)},Dt,e.reason.description);return}n.unblock()}s(zt,"onBlockForConnectWallet");function Zt(e,t){let{context:r,queue:n}=t,a=n.getStorage().swapDetails,o=E(a);if(!o||a.status!=="running")return;let u=$t({getStorage:n.getStorage.bind(n),setStorage:n.setStorage.bind(n)}),i=B(a,o)?.network,c=o.hyperliquidTransaction?at:i,l=F(a).type,p=l?r.state(l).network:void 0;u&&C({event:{type:"tx_execution_blocked",status:"waiting_for_network_change",requiredNetwork:c??void 0,currentNetwork:p??void 0},swap:u.swap,step:u.step});let{type:T,namespace:d}=F(a),S=o.hyperliquidTransaction&&d?{...d,network:at}:d;if(T&&S?.network&&r.canSwitchNetworkTo(T,S.network,S)){let m=r.switchNetwork(T,S);m&&m.then(()=>{n.unblock()}).catch(g=>{pt({getStorage:n.getStorage.bind(n),setStorage:n.setStorage.bind(n)},{message:g.message,details:g.message,status:pe.NetworkChangeFailed})})}}s(Zt,"onBlockForChangeNetwork");function er(e,t){let{getBlockedTasks:r,forceExecute:n,queue:a,manager:o,context:u}=t,{setClaimer:i,claimedBy:c,reset:l}=ke(),p=r().filter(y=>y.reason.reason==="depends_on_other_queues");if(p.length===0)return;let T=c(),d=!!T;if(T===a.id)return;if(d){Yt({getStorage:a.getStorage.bind(a),setStorage:a.setStorage.bind(a)});return}let S=p.find(y=>y.queue_id===t.queue_id);S||(S=p[0]),i(S.queue_id);let m=S.storage.get(),{type:g,namespace:x,address:h}=F(m.swapDetails);n(S.queue_id,{claimedBy:c(),resetClaimedBy:()=>{l(),g&&dt({walletType:g,network:x?.network,accounts:h?[h]:[]},o,u.canSwitchNetworkTo)}})}s(er,"onDependsOnOtherQueues");function lt(e,t){let{type:r,address:n}=F(e);if(!r||!n)return{ok:!1,reason:"not_connected"};let a=t(r),{accounts:o,connected:u}=a,i=o||[];return u?{ok:i.some(l=>{let{address:p}=sn(l);return n.toLocaleLowerCase()===p.toLocaleLowerCase()}),reason:"account_miss_match"}:{ok:!1,reason:"not_connected"}}s(lt,"isRequiredWalletConnected");function V(e,t){let{getStorage:r,setStorage:n}=e,a=r().swapDetails,o=E(a),u=o.prerequisiteResults.findIndex(i=>et(i,t));u>=0?o.prerequisiteResults[u]=t:o.prerequisiteResults.push(t),n({...r(),swapDetails:a})}s(V,"updateStorageWithPrerequisiteResult");function Sn(e,t,r){let{setTransactionDataByHash:n}=ve(),{getStorage:a,context:o}=e,{meta:u}=o,i=a().swapDetails,c=E(i),l=K(i,c),p=de(t.hash,l.network,u.blockchains);pn(e,t.hash,p&&(!t.response||t.response&&!t.response.hashRequiringUpdate)?{url:p,description:r.isApproval?"Approve":"Swap"}:void 0),t.response&&n(t.hash,{response:t.response})}s(Sn,"updateStorageOnSuccessfulSign");function Z(e,t){return({hash:r,response:n})=>{let{schedule:a,next:o}=e;Sn(e,{hash:r,response:n},t),a("CHECK_TRANSACTION_STATUS"),o()}}s(Z,"handleSuccessfulSign");function O(e){return t=>{let{getStorage:r,setStorage:n,failed:a}=e,o=r().swapDetails,u=E(o);if(o.status==="failed")return;let i=L(o,u),{extraMessage:c,extraMessageDetail:l,extraMessageErrorCode:p}=J(t);nn(t,{tags:{requestId:o.requestId,rpc:!0,swapper:u?.swapperId||"",walletType:i?.walletType||""},context:un.isSignerError(t)?t.getErrorContext():{}});let T=W({getStorage:r,setStorage:n,nextStatus:"failed",nextStepStatus:"failed",message:c,details:l,errorCode:p,trace:t?.cause});C({event:{type:"failed",reason:c,reasonCode:T.failureType??D,inputAmount:H(o),inputAmountUsd:$(o)},...T}),a()}}s(O,"handleRejectedSign");function tr(e){let{lastConnectedWallet:t,evmChains:r,manager:n}=e,{walletType:a,network:o}=t;r.some(u=>u.name==o)&&n?.getAll().forEach(u=>{let i=u.list.getStorage(),c=i?.swapDetails;if(c&&c.status==="running"){let l=E(c);if(l){let p=i?.swapDetails.wallets[l.fromBlockchain]?.walletType,T=Object.keys(u.list.state.tasks).some(S=>{let m=u.list.state.tasks[S];return m.status===st.BLOCKED&&["waiting_for_connecting_wallet"].includes(m.blockedFor?.reason)}),d=B(c,l)?.network;if(!r.some(S=>S.name==d))return;if(p===a&&T&&d!=o){let S=u.list,{type:m}=F(c),g=Re(m);u.list.block({reason:{reason:"waiting_for_network_change",description:g},silent:!0});let x=$t({getStorage:S.getStorage.bind(S),setStorage:S.setStorage.bind(S)});x&&C({event:{type:"tx_execution_blocked",status:"waiting_for_network_change",currentNetwork:o,requiredNetwork:d??void 0},swap:x.swap,step:x.step})}}}})}s(tr,"checkWaitingForConnectWalletChange");function ct(e){e?.getAll().forEach(t=>{if(Object.keys(t.list.state.tasks).some(n=>{let a=t.list.state.tasks[n];return a.status===st.BLOCKED&&["waiting_for_network_change","depends_on_other_queues"].includes(a.blockedFor?.reason)})){let n=t.list.getStorage()?.swapDetails;if(n.status==="running"){let{type:a}=F(n),o=Y(a);t.list.block({reason:{reason:"waiting_for_connecting_wallet",description:o}})}}})}s(ct,"checkWaitingForNetworkChange");function mn(e){let t=e?.getAll()||new Map,r=[];return t.forEach(n=>{let o=n.list.getStorage()?.swapDetails;!o||o.status!=="running"||r.push(o)}),r}s(mn,"getRunningSwaps");function Tn(e){e.forEach(t=>{let r=E(t),n="tx_execution_blocked",a;r?.networkStatus===pe.WaitingForQueue?a="waiting_for_queue":t?.status==="running"&&(a="waiting_for_wallet_connect"),n&&C&&C({event:{type:n,status:a??"waiting_for_queue"},swap:t,step:r})})}s(Tn,"resetRunningSwapNotifsOnPageLoad");function dt(e,t,r,n={fallbackToOnlyWallet:!0}){let{walletType:a,network:o}=e;if(!a)return;let u=[],i=[];t?.getAll().forEach(l=>{if(l.status===st.BLOCKED){let p=l.list.getStorage(),T=p?.swapDetails;if(T&&T.status==="running"){let d=E(T);d&&(o&&B(T,d)?.network==o&&p?.swapDetails.wallets[o]?.walletType===a?u.push(l.list):p?.swapDetails.wallets[d.fromBlockchain]?.walletType===a&&i.push(l.list))}}});let c;if(u.length>0){if(c=u[0],u.length>1)for(let l=1;l<u.length;l++){let p=u[l];Yt({getStorage:p.getStorage.bind(p),setStorage:p.setStorage.bind(p)})}}else i.length>0&&n.fallbackToOnlyWallet&&(c=i[0]);if(c){let l=c.getStorage(),p=E(l?.swapDetails),T=p?B(l.swapDetails,p):null;!o||!T||!r?.(a,o,T)?c.unblock():c.checkBlock()}}s(dt,"retryOn");function rr(e){return!!e.evmTransaction||!!e.evmApprovalTransaction}s(rr,"isNeedBlockQueueForParallel");async function nr(e){let t=await e;if(!t.ok||!t.transaction)throw b.CreateTransaction(t.error||"bad response from create tx endpoint");return t}s(nr,"throwOnOK");function En(e,t){let{reset:r}=ke();e.actions.cancel();let n=W({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 C({event:{type:"failed",reasonCode:"USER_CANCEL",reason:n.swap.extraMessage??void 0,inputAmount:H(n.swap),inputAmountUsd:$(n.swap)},swap:n.swap,step:n.step}),r(),t&&t?.retry(),n}s(En,"cancelSwap");function ue(e){return e.slice().reverse().find(t=>t.status==="success")}s(ue,"getLastSuccessfulStep");function Kt(e){return e.slice().reverse().find(t=>t.status==="failed")}s(Kt,"getFailedStep");function gn(e){let{transaction:t}=e;return t?.type===P.EVM&&t.isApprovalTx||t?.type===P.STARKNET&&t.isApprovalTx||t?.type===P.TRON&&t.isApprovalTx}s(gn,"isApprovalTX");function Le(e,t){let r=new on(e).multipliedBy(t);return isNaN(r.toNumber())?"":r.toString()}s(Le,"getTokenAmountInUsd");function rt(e){return Le(e.inputAmount,e.steps[0].fromUsdPrice??"")}s(rt,"getSwapInputUsd");function Vt(e){let t=e.steps[e.steps.length-1];return Le(t.outputAmount??"",t.toUsdPrice??"")}s(Vt,"getSwapOutputUsd");function ar(e){let t=["success","failed"],r=e.steps.findLastIndex(n=>t.includes(n.status));return r<0?void 0:{step:e.steps[r],index:r}}s(ar,"getLastFinishedStep");function H(e){let t=ar(e);return t?t.index===0?e.inputAmount:e.steps[t.index-1].outputAmount??"":""}s(H,"getLastFinishedStepInput");function $(e){let t=ar(e);return Le(H(e),t?.step?.fromUsdPrice??"")}s($,"getLastFinishedStepInputUsd");function Ue(e){let t=ue(e.steps);return Le(t?.outputAmount??"",t?.toUsdPrice??"")}s(Ue,"getLastSuccessfulStepOutputUsd");function le(e,t,r){return{type:"failed",reason:t,reasonCode:r??D,inputAmount:H(e),inputAmountUsd:$(e)}}s(le,"createStepFailedEvent");import{Err as sr,Ok as or}from"ts-results";function ee(e){let{getStorage:t,context:r}=e,{isMobileWallet:n}=r,a=t().swapDetails,o=E(a),u=L(a,o),i=n(u?.walletType),c=N(o),l=X(o);if(!c||!c.type)return new sr({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: tx is null!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"});let p=!!a.hasAlreadyProceededToSign;return l?new or({nextStatus:void 0,nextStepStatus:"waitingForApproval",details:"Waiting for approve transaction to be mined and confirmed successfully",message:`Waiting for approval of ${o?.fromSymbol} coin ${i?"on your mobile phone!":""}`}):p?new sr({message:"Transaction is expired. Please try again.",nextStepStatus:"failed",nextStatus:"failed",details:"",errorCode:"TX_EXPIRED"}):new or({message:"Executing transaction ...",nextStepStatus:"running",nextStatus:"running",details:`${i?"Check your mobile phone!":""}`})}s(ee,"produceNextStateForTransaction");function k(e,t){let{getStorage:r,setStorage:n}=e,a=r().swapDetails,o=E(a),u=X(o),i=typeof a.hasAlreadyProceededToSign=="boolean",c=W({getStorage:r,setStorage:n,nextStepStatus:t.nextStepStatus,nextStatus:t.nextStatus,message:t.message,details:t.details,errorCode:t.errorCode,hasAlreadyProceededToSign:u?void 0:i});C({event:{type:"failed",reason:t.message,reasonCode:c.failureType??D,inputAmount:H(a),inputAmountUsd:$(a)},...c})}s(k,"onNextStateError");function te(e,t){let{getStorage:r,setStorage:n}=e,a=r().swapDetails,o=E(a),u=X(o),i=typeof a.hasAlreadyProceededToSign=="boolean",c=W({getStorage:r,setStorage:n,nextStepStatus:t.nextStepStatus,nextStatus:t.nextStatus,message:t.message,details:t.details,hasAlreadyProceededToSign:u?void 0:i});C({event:{type:"tx_execution",status:"send_tx"},...c})}s(te,"onNextStateOk");import{TransactionType as xn}from"rango-types";import{Err as dr}from"ts-results";import{PendingSwapNetworkStatus as ir}from"rango-types";import{Err as We,Ok as St}from"ts-results";function De(e){return e.claimedBy===e._queue?.id}s(De,"isClaimedByCurrentQueue");function q(e,t){e.block(t),De(e.context)&&e.context.resetClaimedBy&&e.context.resetClaimedBy()}s(q,"requestBlockQueue");async function qe(e){let{getStorage:t,context:r}=e,n=t().swapDetails,a=E(n),o=fn(e);if(o.err)return o;let u=await wn(e);if(u.err)return u;a.networkStatus===ir.NetworkChanged&&pt(e,{message:"",details:"The network has been successfully changed.",status:ir.NetworkChanged});let i=rr(a),c=De(r);if(i&&!c){let l={reason:"depends_on_other_queues",description:tt,details:{}};return new We(l)}return new St(!0)}s(qe,"checkEnvironmentBeforeExecuteTransaction");function fn(e){let{getStorage:t,context:r}=e,{wallets:n}=r,a=t().swapDetails;if(!lt(a,r.state).ok){let{type:u,address:i}=F(a),c=n?.blockchains?.find(T=>!T.accounts?.find(d=>d.walletType===u)),l=it(n)||c?Y(u):ie(u,i),p={reason:"waiting_for_connecting_wallet",description:l};return new We(p)}return new St(!0)}s(fn,"ensureRequiredWalletIsConnected");async function wn(e){let{getStorage:t,context:r}=e,{meta:n,wallets:a,hubProvider:o}=r,u=t().swapDetails,i=E(u),c=await jt(u,i,a,n,o),{claimedBy:l}=ke();if(!!l()&&!De(r)&&!c){let d=tt,S={reason:"depends_on_other_queues",details:d};return new We(S)}else if(!c){let d=K(u,i),S=Re(ut(i,d.network)),m={reason:"waiting_for_network_change",details:S};return new We(m)}return new St(!0)}s(wn,"ensureWalletIsOnCorrectNetwork");import{mainAPI as yn}from"rango-types";import{Err as re,Ok as be}from"ts-results";var ur="https://api.hyperliquid.xyz/exchange";function Se(e){return e?yn.isHyperliquidTransaction(e)?e.action.type!=="withdraw3"&&e.action.type!=="usdSend"?new re({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Transaction action is not supported.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}):e.message?be(e):new re({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Transaction message does not exist.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}):new re({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Expected Hyperliquid transaction but it doesn't match with the structure.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}):new re({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: tx is null!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})}s(Se,"ensureHyperliquidTransactionIsValid");function pr(e){try{let t=JSON.parse(e),r={domain:t.domain,types:{[t.primaryType]:t.types[t.primaryType]},value:t.message};return be(r)}catch{return new re({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Could not infer typed data from message.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})}}s(pr,"getEthersV6CompatibleTypedDataFromMessage");async function lr(e,t,r){try{let a=await(await fetch(ur,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e,signature:t,nonce:r})})).json();return be(a)}catch{return new re({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Failed to initiate withdrawal.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})}}s(lr,"initiateWithdrawalRequest");function cr(e){if(e.length!==132)return new re({nextStatus:"failed",nextStepStatus:"failed",message:`Expected 65-byte signature (132 hex chars), got ${e.length}`,details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"});let t=`0x${e.slice(2,66)}`,r=`0x${e.slice(66,130)}`,n=parseInt(e.slice(130,132),16);return(n===0||n===1)&&(n+=27),n!==27&&n!==28?new re({nextStatus:"failed",nextStepStatus:"failed",message:`Invalid signature recovery value: ${n}, expected 27 or 28`,details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}):be({r:t,s:r,v:n})}s(cr,"splitSignature");async function mt(e){let t=await qe(e);if(t.err){q(e,t.val);return}let{failed:r,getStorage:n,context:a,schedule:o,next:u}=e,{getSigners:i}=a,c=n().swapDetails,l=E(c),p=s(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),T=s(()=>{o("CHECK_HYPERLIQUID_TRANSACTION_STATUS"),u(),p()},"onSuccessfulFinish"),d=s(I=>{k(e,I.val),r(),p()},"handleErr"),S=ee(e);if(S.err){d(S);return}te(e,S.val);let m=N(l),g=Se(m);if(g.err){d(g);return}let x=g.val,h=L(c,l),y=M(c,l),w;try{w=(await i(h.walletType)).getSigner(xn.EVM)}catch(I){O(e)(I),p();return}if(!w?.signTypedData){d(new dr({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Signer does not support signTypedData.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}let f=pr(x.message);if(f.err){d(f);return}let R;try{R=await w.signTypedData(f.val,y,x.action.signatureChainId)}catch(I){O(e)(I),p();return}let A=cr(R);if(A.err){d(A);return}let _=A.val,v=await lr(x.action,_,x.nonce);if(v.err){d(v);return}if(v.val.status!=="ok"){d(new dr({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Failed to initiate withdrawal.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}T()}s(mt,"executeHyperliquidTransaction");var Sr="https://rpc.hyperliquid.xyz/explorer";import{Err as Fe,Ok as Cn}from"ts-results";async function mr(e,t){let r;try{r=await fetch(Sr,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:"userDetails",user:e})})}catch{return new Fe("FETCH_ERROR")}let n;try{if(n=await r.json(),!Array.isArray(n.txs))return new Fe("RESPONSE_PARSING_ERROR")}catch{return new Fe("RESPONSE_PARSING_ERROR")}let a=n.txs.find(o=>(o.action.type==="withdraw3"||o.action.type==="usdSend")&&o.action.time===t);return a?Cn(a.hash):new Fe("TRANSACTION_NOT_FOUND")}s(mr,"getHyperliquidTransactionHash");async function Tt(e){let{failed:t,getStorage:r,retry:n}=e,a=r().swapDetails,o=E(a),u=s(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),i=s(m=>{k(e,m.val),t(),u()},"handleErr"),c=N(o),l=M(a,o),p=Se(c);if(p.err){i(p);return}let d=p.val.nonce,S=await mr(l,d);if(S.err){(S.val==="FETCH_ERROR"||S.val==="RESPONSE_PARSING_ERROR")&&_n(new Error("check Hyperliquid transaction status Error"),{tags:{type:"request-error",requestBody:{type:"userDetails",user:l,nonce:d},pendingSwap:a}}),await z(5e3),n();return}Z(e,{isApproval:!1})({hash:S.val}),u()}s(Tt,"checkHyperliquidTransactionStatus");import{Networks as Tr}from"@rango-dev/internal-blockchains";import{STELLAR_CHANGE_TRUSTLINE_TYPE as Nn,XRPL_CHANGE_TRUSTLINE_TYPE as hn}from"rango-types";import{Err as Et,Ok as gt}from"ts-results";async function ft(e){let{failed:t,schedule:r,getStorage:n,next:a}=e,o=s(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),u=s(m=>{k(e,m.val),t(),o()},"handleErr"),i=s(m=>{r(m),a(),o()},"scheduleAction"),c=n().swapDetails,l=E(c),p=N(l);if(!p){u(new Et({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: tx is null!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}let T=p.prerequisites,d=T.findIndex((m,g)=>!Ot({prerequisiteType:m.type,prerequisiteIndex:g},l)),S=null;if(d!==-1)switch(T[d].type){case hn:S=Lt(d,l);break;case Nn:S=Ut(d,l);break;default:S=new Et("Unexpected Error: unknown prerequisite type!");break}else l.fromBlockchain===Tr.XRPL?S=new gt("EXECUTE_XRPL_TRANSACTION"):l.fromBlockchain===Tr.HYPERLIQUID?S=new gt("EXECUTE_HYPERLIQUID_TRANSACTION"):S=new gt("EXECUTE_TRANSACTION");S?.err?u(new Et({nextStatus:"failed",nextStepStatus:"failed",message:S.val,details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})):i(S.val)}s(ft,"checkPrerequisites");import{warn as ce}from"@rango-dev/logging-core";import{SignerError as gr}from"rango-types";var Er=5e3,In=5e3;async function kn({getStorage:e,setStorage:t,next:r,schedule:n,retry:a,failed:o,context:u}){let i=e().swapDetails,{meta:c}=u,l=new Error("check status Error"),p=E(i);if(!p?.executedTransactionId)return;let T=N(p),d=p.executedTransactionId,S=!1,m=null,g=null,{getTransactionDataByHash:x,setTransactionDataByHash:h}=ve();try{let A=ot(p),_=L(i,p);A&&_&&(g=(await u.getSigners(_.walletType)).getSigner(A))}catch{}try{let{response:A,receiptReceived:_}=x(d);if(g?.wait&&!_){let v=T?.blockChain&&c.blockchains?.[T?.blockChain]?.chainId||void 0,{hash:I,response:xe}=await g.wait(d,v,A);if(I!==d){p.executedTransactionId=I||p.executedTransactionId;let Ae=K(i,p),Ve;!!Object.keys(c.blockchains).length&&(Ve=de(p.executedTransactionId,Ae.network,c.blockchains)),Ve&&p.explorerUrl&&p.explorerUrl?.length>=1&&(p.explorerUrl[p.explorerUrl.length-1]={url:Ve,description:"Replaced Swap"}),d=p.executedTransactionId,I&&xe&&h(I,{response:xe})}else h(I,{receiptReceived:!0})}}catch(A){let{extraMessage:_,extraMessageDetail:v,extraMessageErrorCode:I}=J(A),xe=W({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:_,details:v,errorCode:I}),Ae=le(i,_,xe.failureType);ce(l,{tags:{type:"singer-error",reason:Ae.reason,reasonCode:Ae.reasonCode,message:_,messageDetail:v,pendingSwap:i},context:gr.isSignerError(A)?A.getErrorContext():{}}),S=!0}let y={requestId:i.requestId,txId:d,step:p.id};try{m=await j().checkStatus(y)}catch{await z(Er),a(),ce(l,{tags:{type:"request-error",requestBody:y,pendingSwap:i}});return}if(S)return o();if(p?.status==="failed")return;let w=m?.outputAmount||(p.outputAmount?p.outputAmount:null),f=p.outputAmount||null;i.extraMessage=m?.extraMessage||i.extraMessage,i.extraMessageSeverity="info",i.extraMessageDetail="",p.status=m?.status||p.status,p.diagnosisUrl=m?.diagnosisUrl||p.diagnosisUrl||null,p.outputAmount=w||p.outputAmount,p.explorerUrl=m?.explorerUrl||p.explorerUrl,p.internalSteps=m?.steps||null;let R=m?.newTx;if(R&&(p.status="created",p.executedTransactionId=null,p.executedTransactionTime=null,Pe(p,R)),f===null&&w!==null?C({event:{type:"output_revealed",outputAmount:w},swap:i,step:p}):f===null&&w===null&&C({event:{type:"check_status"},swap:i,step:p}),p.status==="success"){let A=Xt(i,p);i.extraMessageDetail="",i.extraMessage=A?`starting next step: ${A.swapperId}: ${A.fromBlockchain} -> ${A.toBlockchain}`:"",C({event:{type:"succeeded",inputAmount:H(i),inputAmountUsd:$(i),outputAmount:p.outputAmount??"",outputAmountUsd:Ue(i)},swap:i,step:p})}else p.status==="failed"&&(i.extraMessage="Transaction failed in blockchain",i.extraMessageSeverity="error",i.extraMessageDetail=m?.extraMessage||"",i.status="failed",i.finishTime=new Date().getTime().toString(),ce(l,{tags:{type:"transaction-failed",message:i.extraMessage,messageDetails:i.extraMessageDetail,pendingSwap:i}}));t({...e(),swapDetails:i}),m?.status==="failed"?o():m?.status==="success"||m?.status==="running"&&m.newTx?(n("SCHEDULE_NEXT_STEP"),r()):(await z(Er),a())}s(kn,"checkTransactionStatus");async function vn({getStorage:e,setStorage:t,next:r,schedule:n,retry:a,failed:o,context:u}){let i=e().swapDetails,{meta:c}=u,{getTransactionDataByHash:l,setTransactionDataByHash:p}=ve(),T=new Error("check approval status error"),d=E(i);if(!d){console.log("ignore check status, current step is null");return}let S=N(d);if(!d?.executedTransactionId)return;let m=d.executedTransactionId,g=null;try{let y=ot(d),w=L(i,d);y&&w&&(g=(await u.getSigners(w.walletType)).getSigner(y))}catch{}try{let{response:y,receiptReceived:w}=l(m);if(g?.wait&&!w){let f=S?.blockChain&&c.blockchains?.[S?.blockChain]?.chainId||void 0,{hash:R,response:A}=await g.wait(m,f,y);if(R!==m){d.executedTransactionId=R||d.executedTransactionId;let _=K(i,d),v;!!Object.keys(c.blockchains).length&&(v=de(d.executedTransactionId,_.network,c.blockchains)),v&&d.explorerUrl&&d.explorerUrl?.length>=1&&(d.explorerUrl[d.explorerUrl.length-1]={url:v,description:"Replaced Approve"}),m=d.executedTransactionId,R&&A&&p(R,{response:A})}else p(R,{receiptReceived:!0})}}catch(y){let{extraMessage:w,extraMessageDetail:f,extraMessageErrorCode:R}=J(y),A=W({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:w,details:f,errorCode:R}),_=le(i,w,A.failureType);return C({event:_,...A}),ce(T,{tags:{type:"singer-error",reason:_.reason,reasonCode:_.reasonCode,message:w,messageDetail:f,pendingSwap:i},context:gr.isSignerError(y)?y.getErrorContext():{}}),o()}let x=!1,h={requestId:i.requestId,txId:d.executedTransactionId};try{let y=await j().checkApproval(h.requestId,h.txId);if(d?.status==="failed")return;if(x=y.isApproved,!x&&(y.txStatus==="failed"||y.txStatus==="success")){let w,f;y.txStatus==="failed"?(w="Approve transaction failed",f="Smart contract approval tx failed in blockchain."):(w="Not enough approval",y.requiredApprovedAmount&&y.currentApprovedAmount?f=`Required approval: ${y.requiredApprovedAmount}, current approval: ${y.currentApprovedAmount}`:f="You still don't have enough approval for this swap.");let R=W({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",errorCode:"INSUFFICIENT_APPROVE",message:w,details:f}),A=le(i,w,R.failureType);C({event:A,...R}),ce(T,{tags:{type:"approval-failed",message:i.extraMessage,messageDetails:i.extraMessageDetail,pendingSwap:i}}),o()}else x||C({event:{type:"check_status"},swap:i,step:d})}catch{x=!1,ce(T,{tags:{type:"request-error",requestBody:h,pendingSwap:i}})}x?(d.status="approved",i.extraMessage=`Spending ${d.fromSymbol} approved successfully.`,i.extraMessageDetail=null,i.extraMessageSeverity="success",d.evmApprovalTransaction=null,d.executedTransactionId=null,d.executedTransactionTime=null,d.starknetApprovalTransaction=null,d.tronApprovalTransaction=null,t({...e(),swapDetails:i}),C({event:{type:"approval_tx_succeeded"},swap:i,step:d}),n("SCHEDULE_NEXT_STEP"),r()):(await z(In),a())}s(vn,"checkApprovalStatus");async function fr(e){let t=e.getStorage().swapDetails,r=E(t);if(!r){console.log("ignore check status, current step is null",t.requestId);return}Oe(e),r.status==="running"?await kn(e):r.status==="waitingForApproval"&&await vn(e)}s(fr,"checkStatus");import{STELLAR_CHANGE_TRUSTLINE_TYPE as He,TransactionType as Ln}from"rango-types";import{Err as Ar}from"ts-results";import{legacyReadAccountAddress as Pn}from"@rango-dev/wallets-core/legacy";import*as Xe from"@stellar/stellar-sdk";import wr from"bignumber.js";import{TransactionType as On}from"rango-types";import{Err as Be,Ok as Me}from"ts-results";var wt="922337203685.4775807";async function me(e,t){let n=e.hubProvider(t).get("stellar");return n?Me(n):new Be({nextStatus:"failed",nextStepStatus:"failed",message:"Stellar is not available on your wallet.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})}s(me,"ensureStellarNamespaceExists");async function yr(e,t,r){try{let a=(await r.namespace.balanceLines(e)).filter(i=>i.asset_type!=="native"&&i.asset_type!=="liquidity_pool_shares").find(i=>i.asset_code===t.code&&i.asset_issuer===t.issuer);if(!a)return new Me({trustLineIsAlreadyOpened:!1});let o=new wr(a.limit),u=new wr(wt);return new Me({trustLineIsAlreadyOpened:o.gte(u)})}catch{return new Be({nextStatus:"failed",nextStepStatus:"failed",message:"Could not get account lines from Stellar.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})}}s(yr,"checkIfTrustLineIsAlreadyOpened");function xr(e,t){let r=new Xe.Asset(t.code,t.issuer),n="100",a=30,o=Math.floor(Date.now()/1e3),u=Xe.Operation.changeTrust({asset:r,limit:wt});return{type:On.STELLAR,blockChain:"Stellar",prerequisites:[],data:{baseFee:n,memoXdrBase64:null,preconditions:{timeBounds:{minTime:0,maxTime:o+a},ledgerBounds:{minLedger:0,maxLedger:0},minSeqNumber:null,minSeqAge:null,minSeqLedgerGap:null,extraSigners:null},operationsXdrBase64:[u.toXDR("base64")]}}}s(xr,"createTrustLineTransaction");function Te(e){let t=e.wallets.STELLAR;return t?{type:t.walletType,namespace:{namespace:"Stellar",network:"Stellar"},address:t.address}:null}s(Te,"getStellarWalletFromSwap");async function Ee(e,t){let{context:r}=e,n=r.state(t.type),{accounts:a,connected:o}=n;return o?a?.find(u=>Pn(u).address===t.address)?new Me(!0):new Be({reason:"waiting_for_connecting_wallet",description:ie(t.type,t.address)}):new Be({reason:"waiting_for_connecting_wallet",description:Y(t.type)})}s(Ee,"ensureRequiredStellarWalletIsConnected");async function yt(e){let{failed:t,context:r,schedule:n,getStorage:a,next:o}=e,{meta:u,getSigners:i}=r,c=s(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),l=s(()=>{n("CHECK_PREREQUISITES"),o(),c()},"scheduleCheckPrerequisites"),p=s(f=>{k(e,f.val),t(),c()},"handleErr"),T=a().swapDetails,d=E(T),S=N(d);if(!S){p(new Ar({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: tx is null!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}let m=null;for(let f=0;f<S.prerequisites.length;f++){let R=S.prerequisites[f];if(R.type===He&&!d.prerequisiteResults.find(_=>_.prerequisiteIndex===f&&_.prerequisiteType===He)){m={prerequisite:R,prerequisiteIndex:f};break}}if(!m){l();return}let g=Te(T);if(!g){p(new Ar({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Stellar wallet was not found in the swap!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}let x=await me(r,g.type);if(x.err){p(x);return}let h=await Ee(e,g);if(h.err){q(e,h.val);return}let y={code:m.prerequisite.code,issuer:m.prerequisite.issuer,value:m.prerequisite.value},w=await yr(m.prerequisite.wallet,y,{namespace:x.val});if(w.err){p(w);return}if(w.val.trustLineIsAlreadyOpened){let f={prerequisiteIndex:m.prerequisiteIndex,prerequisiteType:He,status:"skipped",data:null};V(e,f),l();return}try{let f=await xr(m.prerequisite.wallet,y),R=u.blockchains.Stellar?.chainId,v=await(await i(g.type)).getSigner(Ln.STELLAR).signAndSendTx(f,g.address,R),I={prerequisiteIndex:m.prerequisiteIndex,prerequisiteType:He,status:"success",data:{executedTransactionHash:v.hash}};V(e,I),l()}catch(f){O(e)(f),c()}}s(yt,"checkStellarTrustline");import{TransactionType as Wn,XRPL_CHANGE_TRUSTLINE_TYPE as Ke}from"rango-types";import{Err as Nr}from"ts-results";import{legacyReadAccountAddress as Un}from"@rango-dev/wallets-core/legacy";import Cr from"bignumber.js";import{TransactionType as Dn}from"rango-types";import{Err as Qe,Ok as Ge}from"ts-results";var xt="10000000000000";async function ge(e,t){let n=e.hubProvider(t).get("xrpl");return n?Ge(n):new Qe({nextStatus:"failed",nextStepStatus:"failed",message:"XRPL is not available on your wallet.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})}s(ge,"ensureXrplNamespaceExists");async function Rr(e,t,r){try{let a=(await r.namespace.accountLines(e,{peer:t.account})).find(i=>i.currency===t.currency&&i.account===t.account);if(!a)return new Ge({trustLineIsAlreadyOpened:!1});let o=new Cr(a.limit),u=new Cr(xt);return new Ge({trustLineIsAlreadyOpened:o.gte(u)})}catch{return new Qe({nextStatus:"failed",nextStepStatus:"failed",message:"Could not get account lines from XRPL.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})}}s(Rr,"checkIfTrustLineIsAlreadyOpened");function _r(e,t){return{type:Dn.XRPL,blockChain:"XRPL",prerequisites:[],data:{TransactionType:"TrustSet",Account:e,LimitAmount:{currency:t.currency,issuer:t.account,value:xt}}}}s(_r,"createTrustLineTransaction");function fe(e){let t=e.wallets.XRPL;return t?{type:t.walletType,namespace:{namespace:"XRPL",network:"XRPL"},address:t.address}:null}s(fe,"getXrplWalletFromSwap");async function we(e,t){let{context:r}=e,n=r.state(t.type),{accounts:a,connected:o}=n;return o?a?.find(u=>Un(u).address===t.address)?new Ge(!0):new Qe({reason:"waiting_for_connecting_wallet",description:ie(t.type,t.address)}):new Qe({reason:"waiting_for_connecting_wallet",description:Y(t.type)})}s(we,"ensureRequiredXrplWalletIsConnected");async function At(e){let{failed:t,context:r,schedule:n,getStorage:a,next:o}=e,{meta:u,getSigners:i}=r,c=s(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),l=s(()=>{n("CHECK_PREREQUISITES"),o(),c()},"scheduleCheckPrerequisites"),p=s(f=>{k(e,f.val),t(),c()},"handleErr"),T=a().swapDetails,d=E(T),S=N(d);if(!S){p(new Nr({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: tx is null!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}let m=null;for(let f=0;f<S.prerequisites.length;f++){let R=S.prerequisites[f];R.type===Ke&&(d.prerequisiteResults?.find(_=>_.prerequisiteIndex===f&&_.prerequisiteType===Ke)||(m={prerequisite:R,prerequisiteIndex:f}))}if(!m){l();return}let g=fe(T);if(!g){p(new Nr({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: XRPL wallet was not found in the swap!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}let x=await ge(r,g.type);if(x.err){p(x);return}let h=await we(e,g);if(h.err){q(e,h.val);return}let y={currency:m.prerequisite.currency,account:m.prerequisite.issuer,amount:m.prerequisite.value},w=await Rr(m.prerequisite.wallet,y,{namespace:x.val});if(w.err){p(w);return}if(w.val.trustLineIsAlreadyOpened){let f={prerequisiteIndex:m.prerequisiteIndex,prerequisiteType:Ke,status:"skipped",data:null};V(e,f),l();return}try{let f=_r(m.prerequisite.wallet,y),R=u.blockchains.XRPL?.chainId,v=await(await i(g.type)).getSigner(Wn.XRPL).signAndSendTx(f,g.address,R),I={prerequisiteIndex:m.prerequisiteIndex,prerequisiteType:Ke,status:"pending",data:{executedTransactionHash:v.hash}};V(e,I),l()}catch(f){O(e)(f),c()}}s(At,"checkXrplTrustline");import{isXrplChangeTrustLinePrerequisiteResult as bn,XRPL_CHANGE_TRUSTLINE_TYPE as Ir}from"rango-types";import{Err as Fn}from"ts-results";import{Client as Bn}from"xrpl";var hr="wss://xrplcluster.com/";async function Ct(e){let{failed:t,getStorage:r,retry:n,next:a,schedule:o}=e,u=r().swapDetails,i=E(u),c=s(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),l=s(()=>{o("CHECK_PREREQUISITES"),a(),c()},"onSuccessfulFinish"),p=s(S=>{k(e,S.val),t(),c()},"handleErr"),T=s(async()=>{await z(5e3),n()},"retryAfterDelay"),d=null;for(let S of i.prerequisiteResults)if(bn(S)&&S.status==="pending"){d=S;break}if(!d){l();return}try{let S=new Bn(hr);await S.connect();let m=await S.request({command:"tx",transaction:d.data.executedTransactionHash});if(!m.result.validated){await T();return}if(typeof m.result.meta!="string"&&m.result.meta?.TransactionResult==="tesSUCCESS"){let g={prerequisiteIndex:d.prerequisiteIndex,prerequisiteType:Ir,status:"success",data:{executedTransactionHash:d.data.executedTransactionHash}};V(e,g),l()}else{let g={prerequisiteIndex:d.prerequisiteIndex,prerequisiteType:Ir,status:"failed",data:{executedTransactionHash:d.data.executedTransactionHash}};V(e,g),p(new Fn({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: xrpl change trustline transaction failed!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}))}}catch{await T()}}s(Ct,"checkXrplTrustLineTransactionStatus");import{warn as Mn}from"@rango-dev/logging-core";async function kr(e){let{setStorage:t,getStorage:r,next:n,schedule:a}=e,o=r().swapDetails,u=E(o);if(!N(u)){C({event:{type:"tx_execution",status:"create_tx"},swap:o,step:u});let c={requestId:o.requestId,step:u.id,userSettings:{slippage:o.settings.slippage,infiniteApprove:o.settings.infiniteApprove},validations:{balance:o.validateBalanceOrFee,fee:o.validateBalanceOrFee,approve:!0}};try{let{transaction:l}=await nr(j().createTransaction(c));l&&Pe(u,l),t({...r(),swapDetails:o}),a("SCHEDULE_NEXT_STEP"),n()}catch(l){o.status="failed",o.finishTime=new Date().getTime().toString();let{extraMessage:p,extraMessageDetail:T}=J(l),d=W({getStorage:r,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:p,details:T,errorCode:"FETCH_TX_FAILED"}),S=le(o,p,d.failureType);C({event:S,...d}),l instanceof Error&&Mn(new Error("create transaction error"),{tags:{message:l.message,requestBody:c,reason:S.reason,reasonCode:S.reasonCode,pendingSwap:o}}),e.failed()}}}s(kr,"createTransaction");import{TransactionType as Qn}from"rango-types";import{Err as Or}from"ts-results";import{isStellarTransaction as Xn}from"rango-types";import{Err as vr,Ok as Hn}from"ts-results";async function Pr(e){return e?Xn(e)?Hn(e):new vr({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Expected Stellar transaction but it doesn't match with the structure.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}):new vr({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: tx is null!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})}s(Pr,"ensureStellarTransactionIsValid");async function Rt(e){let{failed:t,getStorage:r,context:n}=e,{meta:a,getSigners:o}=n,u=s(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),i=s(w=>{k(e,w.val),t(),u()},"handleErr"),c=r().swapDetails,l=E(c),p=N(l),T=await Pr(p);if(T.err){i(T);return}let d=Te(c);if(!d){i(new Or({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Stellar wallet was not found in the swap!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}let S=await me(n,d.type);if(S.err){i(S);return}let m=await Ee(e,d);if(m.err){q(e,m.val);return}let g=M(c,l),x=ee(e);if(x.err){i(x);return}te(e,x.val);let h=a.blockchains.Stellar?.chainId,y;try{y=(await o(d.type)).getSigner(Qn.STELLAR)}catch{i(new Or({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Failed to load the signer. Please refresh the page and try again.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}try{let w=await y.signAndSendTx(T.val,g,h);Z(e,{isApproval:!1})(w)}catch(w){O(e)(w)}u()}s(Rt,"executeStellarTransaction");async function _t(e){let t=await qe(e);if(t.err){q(e,t.val);return}Oe(e);let{failed:r,getStorage:n,context:a}=e,{meta:o,getSigners:u}=a,i=n().swapDetails,c=E(i),l=X(c),p=s(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),T=ee(e);if(T.err){k(e,T.val),r(),p();return}te(e,T.val);let d=N(c),S=L(i,c),m=M(i,c),g=o.blockchains?.[d.blockChain]?.chainId,x;try{x=await u(S.walletType)}catch(y){O(e)(y),p();return}await x.getSigner(d.type).signAndSendTx(d,m,g).then(Z(e,{isApproval:l}),O(e)).finally(()=>{p()})}s(_t,"executeTransaction");import{TransactionType as Vn}from"rango-types";import{Err as Ur}from"ts-results";import{isXrplTransaction as Gn}from"rango-types";import{Err as Nt,Ok as Kn}from"ts-results";async function Lr(e){return e?Gn(e)?e.data.TransactionType!=="Payment"?new Nt({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Only XRPL transactions with payment type are supported",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}):Kn(e):new Nt({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"}):new Nt({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: tx is null!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"})}s(Lr,"ensureXrplTransactionIsValid");async function ht(e){let{failed:t,getStorage:r,context:n}=e,{meta:a,getSigners:o}=n,u=s(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),i=s(w=>{k(e,w.val),t(),u()},"handleErr"),c=r().swapDetails,l=E(c),p=N(l),T=await Lr(p);if(T.err){i(T);return}let d=fe(c);if(!d){i(new Ur({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Stellar wallet was not found in the swap!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}let S=await ge(n,d.type);if(S.err){i(S);return}let m=await we(e,d);if(m.err){q(e,m.val);return}let g=M(c,l),x=ee(e);if(x.err){i(x);return}te(e,x.val);let h=a.blockchains.XRPL?.chainId,y;try{y=(await o(d.type)).getSigner(Vn.XRPL)}catch{i(new Ur({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: Failed to load the signer. Please refresh the page and try again.",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"}));return}try{let w=await y.signAndSendTx(T.val,g,h);Z(e,{isApproval:T.val.data.TransactionType==="TrustSet"})(w)}catch(w){O(e)(w)}u()}s(ht,"executeXrplTransaction");function Dr({schedule:e,next:t,failed:r,setStorage:n,getStorage:a}){let o=a().swapDetails,u=E(o),i=o.steps.find(c=>c.status==="failed");if(u&&!i){if(Jt(o,u))return e("CHECK_PREREQUISITES"),t();if(u?.executedTransactionId)return e("CHECK_TRANSACTION_STATUS"),t();o.status="running",n({...a(),swapDetails:o}),C({event:{type:"started"},swap:o,step:u}),e("CREATE_TRANSACTION"),t()}else{o.status=i?"failed":"success",o.finishTime=new Date().getTime().toString(),n({...a(),swapDetails:o});let c=H(o),l=$(o);C({...i?{event:{type:"failed",reason:o.extraMessage??void 0,reasonCode:"CALL_OR_SEND_FAILED",inputAmount:c,inputAmountUsd:l}}:{event:{type:"succeeded",inputAmount:c,inputAmountUsd:l,outputAmount:ue(o.steps)?.outputAmount??"",outputAmountUsd:Ue(o)}},swap:o,step:null}),i?r():t()}}s(Dr,"scheduleNextStep");function Wr({schedule:e,next:t,getStorage:r}){let n=r().swapDetails;C({event:{type:"started"},swap:n,step:null}),e("SCHEDULE_NEXT_STEP"),t()}s(Wr,"start");var qr={name:"swap",actions:{START:Wr,SCHEDULE_NEXT_STEP:Dr,CREATE_TRANSACTION:kr,CHECK_PREREQUISITES:ft,CHECK_XRPL_TRUSTLINE:At,CHECK_XRPL_TRUSTLINE_TRANSACTION_STATUS:Ct,CHECK_STELLAR_TRUSTLINE:yt,EXECUTE_TRANSACTION:_t,EXECUTE_XRPL_TRANSACTION:ht,EXECUTE_STELLAR_TRANSACTION:Rt,EXECUTE_HYPERLIQUID_TRANSACTION:mt,CHECK_HYPERLIQUID_TRANSACTION_STATUS:Tt,CHECK_TRANSACTION_STATUS:fr},run:["START"],whenTaskBlocked:(e,t)=>{e.reason.reason==="waiting_for_connecting_wallet"?zt(e,t):e.reason.reason==="waiting_for_network_change"?Zt(e,t):e.reason.reason==="depends_on_other_queues"&&er(e,t)}};import{useManager as zn}from"@rango-dev/queue-manager-react";import{useEffect as kt,useState as Zn}from"react";import{DB_NAME as $n,Persistor as Yn,Status as ye}from"@rango-dev/queue-manager-core";import{v4 as jn}from"uuid";var br="migratedToQueueManager";function It(){return!!window.localStorage.getItem(br)}s(It,"migrated");async function Jn(){try{return(await window.indexedDB.databases()).map(e=>e.name).includes($n)}catch{return!1}}s(Jn,"hasQueueManagerOnIDB");async function Fr(){let e=window.localStorage.getItem("pendingSwaps"),t=await Jn();if(!e||It()||t)return!0;let r=JSON.parse(e),n=[];r.forEach(u=>{if(u.status==="running"){let i=jn(),c={id:u.requestId,createdAt:Number(u.creationTime),name:"swap",status:ye.RUNNING,storage:{swapDetails:u},state:{status:ye.RUNNING,activeTaskIndex:0,tasks:{[i]:{blockedFor:null,status:ye.RUNNING}}},tasks:[{id:i,action:"SCHEDULE_NEXT_STEP"}]};n.push(c)}else{let i=u.status==="success"?ye.SUCCESS:ye.FAILED,c={id:u.requestId,createdAt:Number(u.creationTime),name:"swap",status:i,storage:{swapDetails:u},state:{status:i,activeTaskIndex:0,tasks:{}},tasks:[]};n.push(c)}});let a=new Yn,o=n.map(async u=>a.insertQueue(u));return await Promise.all(o),window.localStorage.setItem(br,"1"),!0}s(Fr,"migration");var Br=0;function ea(e){return`${e?.walletType}-${e?.network}-${e?.accounts?.toString()}`}s(ea,"getLastConnectedWalletHash");function ta(){let e=It(),[t,r]=Zn(e);return kt(()=>{(async()=>Br||(Br=1,Fr().finally(()=>{r(!0)})))()},[]),{status:t}}s(ta,"useMigration");function ra(e){let{manager:t}=zn(),{lastConnectedWallet:r,disconnectedWallet:n,evmChains:a,canSwitchNetworkTo:o,clearDisconnectedWallet:u}=e;kt(()=>{r&&(tr({evmChains:a,lastConnectedWallet:r,manager:t}),dt(r,t,o))},[ea(r)]),kt(()=>{n&&(ct(t),u())},[n])}s(ra,"useQueueManager");function up(e){return Pt(e),qr}s(up,"makeQueueDefinition");export{Je as EventSeverity,Ne as MessageSeverity,b as PrettyError,je as RouteEventType,Q as StepEventType,Ce as StepExecutionBlockedEventStatus,oe as StepExecutionEventStatus,Ye as WidgetEvents,Zr as calculatePendingSwap,En as cancelSwap,ct as checkWaitingForNetworkChange,B as getCurrentNamespaceOfOrNull,E as getCurrentStep,ue as getLastSuccessfulStep,L as getRelatedWallet,he as getRelatedWalletOrNull,F as getRequiredWallet,mn as getRunningSwaps,Qt as getUsdPrice,gn as isApprovalTX,up as makeQueueDefinition,J as prettifyErrorMessage,Tn as resetRunningSwapNotifsOnPageLoad,W as updateSwapStatus,ta as useMigration,ra as useQueueManager};
2
2
  //# sourceMappingURL=index.js.map