@rango-dev/queue-manager-rango-preset 0.0.0-experimental-936229e8-20251208
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +353 -0
- package/dist/actions/checkStatus.d.ts +13 -0
- package/dist/actions/checkStatus.d.ts.map +1 -0
- package/dist/actions/common/checkEnvironmentBeforeExecuteTransaction.d.ts +8 -0
- package/dist/actions/common/checkEnvironmentBeforeExecuteTransaction.d.ts.map +1 -0
- package/dist/actions/common/produceNextStateForTransaction.d.ts +17 -0
- package/dist/actions/common/produceNextStateForTransaction.d.ts.map +1 -0
- package/dist/actions/common/utils.d.ts +5 -0
- package/dist/actions/common/utils.d.ts.map +1 -0
- package/dist/actions/createTransaction.d.ts +12 -0
- package/dist/actions/createTransaction.d.ts.map +1 -0
- package/dist/actions/executeTransaction/executeTransaction.d.ts +14 -0
- package/dist/actions/executeTransaction/executeTransaction.d.ts.map +1 -0
- package/dist/actions/executeTransaction/index.d.ts +2 -0
- package/dist/actions/executeTransaction/index.d.ts.map +1 -0
- package/dist/actions/scheduleNextStep.d.ts +14 -0
- package/dist/actions/scheduleNextStep.d.ts.map +1 -0
- package/dist/actions/start.d.ts +4 -0
- package/dist/actions/start.d.ts.map +1 -0
- package/dist/configs.d.ts +14 -0
- package/dist/configs.d.ts.map +1 -0
- package/dist/constants.d.ts +7 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/helpers.d.ts +255 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/hooks.d.ts +19 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +7 -0
- package/dist/migration.d.ts +15 -0
- package/dist/migration.d.ts.map +1 -0
- package/dist/numbers.d.ts +3 -0
- package/dist/numbers.d.ts.map +1 -0
- package/dist/queue-manager-rango-preset.build.json +1 -0
- package/dist/queueDef.d.ts +10 -0
- package/dist/queueDef.d.ts.map +1 -0
- package/dist/services/eventEmitter.d.ts +10 -0
- package/dist/services/eventEmitter.d.ts.map +1 -0
- package/dist/services/httpService.d.ts +3 -0
- package/dist/services/httpService.d.ts.map +1 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/shared-errors.d.ts +25 -0
- package/dist/shared-errors.d.ts.map +1 -0
- package/dist/shared.d.ts +81 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/types.d.ts +172 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +45 -0
- package/readme.md +2 -0
- package/src/actions/checkStatus.ts +564 -0
- package/src/actions/common/checkEnvironmentBeforeExecuteTransaction.ts +157 -0
- package/src/actions/common/produceNextStateForTransaction.ts +167 -0
- package/src/actions/common/utils.ts +25 -0
- package/src/actions/createTransaction.ts +117 -0
- package/src/actions/executeTransaction/executeTransaction.ts +107 -0
- package/src/actions/executeTransaction/index.ts +1 -0
- package/src/actions/scheduleNextStep.ts +104 -0
- package/src/actions/start.ts +16 -0
- package/src/configs.ts +38 -0
- package/src/constants.ts +18 -0
- package/src/helpers.ts +1598 -0
- package/src/hooks.ts +94 -0
- package/src/index.ts +68 -0
- package/src/migration.ts +124 -0
- package/src/numbers.ts +68 -0
- package/src/queueDef.ts +39 -0
- package/src/services/eventEmitter.ts +290 -0
- package/src/services/httpService.ts +10 -0
- package/src/services/index.ts +1 -0
- package/src/shared-errors.ts +165 -0
- package/src/shared.ts +473 -0
- package/src/types.ts +305 -0
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import type { NotifierParams } from './services/eventEmitter';
|
|
2
|
+
import type { SwapStatus, TargetNamespace, Wallet } from './shared';
|
|
3
|
+
import type { ArrayElement, LastConnectedWallet, Step, SwapQueueContext, SwapQueueDef, SwapStorage, UseQueueManagerParams } from './types';
|
|
4
|
+
import type { ExecuterActions, Manager, QueueInfo } from '@rango-dev/queue-manager-core';
|
|
5
|
+
import type { Provider } from '@rango-dev/wallets-core';
|
|
6
|
+
import type { Meta, Network, Providers, WalletState, WalletType } from '@rango-dev/wallets-shared';
|
|
7
|
+
import type { CreateTransactionResponse, EvmBlockchainMeta, Transaction } from 'rango-sdk';
|
|
8
|
+
import type { APIErrorCode, PendingSwap, PendingSwapStep, SignerErrorCode, StepStatus } from 'rango-types';
|
|
9
|
+
import { PendingSwapNetworkStatus, TransactionType } from 'rango-types';
|
|
10
|
+
import { StepEventType, SwapActionTypes } from './types';
|
|
11
|
+
type WhenTaskBlocked = Parameters<NonNullable<SwapQueueDef['whenTaskBlocked']>>;
|
|
12
|
+
type WhenTaskBlockedEvent = WhenTaskBlocked[0];
|
|
13
|
+
type WhenTaskBlockedMeta = WhenTaskBlocked[1];
|
|
14
|
+
/**
|
|
15
|
+
*
|
|
16
|
+
* We simply use module-level variable to keep track of which queue has claimed the execution of parallel runnings.
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
export declare function claimQueue(): {
|
|
20
|
+
claimedBy: () => string | undefined;
|
|
21
|
+
setClaimer: (queue_id: string) => void;
|
|
22
|
+
reset: () => void;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* We use module-level variable to keep track of
|
|
27
|
+
* map of transactions hash to the TransactionResponse and ...
|
|
28
|
+
*
|
|
29
|
+
*/
|
|
30
|
+
type TransactionData = {
|
|
31
|
+
response?: any;
|
|
32
|
+
receiptReceived?: boolean;
|
|
33
|
+
};
|
|
34
|
+
export declare function inMemoryTransactionsData(): {
|
|
35
|
+
getTransactionDataByHash: (hash: string) => TransactionData;
|
|
36
|
+
setTransactionDataByHash: (hash: string, data: TransactionData) => void;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
*
|
|
40
|
+
* Returns `steps`, if it's a `running` swap.
|
|
41
|
+
* Each `PendingSwap` has a `steps` inside it, `steps` shows how many tasks should be created and run to finish the swap.
|
|
42
|
+
*
|
|
43
|
+
*/
|
|
44
|
+
export declare const getCurrentStep: (swap: PendingSwap) => PendingSwapStep | null;
|
|
45
|
+
/**
|
|
46
|
+
*
|
|
47
|
+
* Returns current step transaction
|
|
48
|
+
*
|
|
49
|
+
*/
|
|
50
|
+
export declare const getCurrentStepTx: (currentStep: PendingSwapStep) => Transaction | null;
|
|
51
|
+
/**
|
|
52
|
+
*
|
|
53
|
+
* Set current step transaction
|
|
54
|
+
*
|
|
55
|
+
*/
|
|
56
|
+
export declare const setCurrentStepTx: (currentStep: PendingSwapStep, transaction: Transaction) => PendingSwapStep;
|
|
57
|
+
/**
|
|
58
|
+
*
|
|
59
|
+
* Returns current step transaction type
|
|
60
|
+
*
|
|
61
|
+
*/
|
|
62
|
+
export declare const getCurrentStepTxType: (currentStep: PendingSwapStep) => TransactionType | undefined;
|
|
63
|
+
/**
|
|
64
|
+
*
|
|
65
|
+
* Returns a boolean indicating that current step is an approval tx or not.
|
|
66
|
+
*
|
|
67
|
+
*/
|
|
68
|
+
export declare const isApprovalCurrentStepTx: (currentStep: PendingSwapStep) => boolean;
|
|
69
|
+
/**
|
|
70
|
+
* When we are doing a swap, there are some common fields that will be updated together.
|
|
71
|
+
* This function helps us to update a swap status and also it will update some more fields like `extraMessageSeverity` based on the input.
|
|
72
|
+
*/
|
|
73
|
+
export declare function updateSwapStatus({ getStorage, setStorage, nextStatus, nextStepStatus, message, details, errorCode, hasAlreadyProceededToSign, trace, }: {
|
|
74
|
+
getStorage: ExecuterActions<SwapStorage, SwapActionTypes, SwapQueueContext>['getStorage'];
|
|
75
|
+
setStorage: ExecuterActions<SwapStorage, SwapActionTypes, SwapQueueContext>['setStorage'];
|
|
76
|
+
nextStatus?: SwapStatus;
|
|
77
|
+
nextStepStatus?: StepStatus;
|
|
78
|
+
message?: string;
|
|
79
|
+
details?: string | null | undefined;
|
|
80
|
+
errorCode?: APIErrorCode | SignerErrorCode | null;
|
|
81
|
+
hasAlreadyProceededToSign?: boolean;
|
|
82
|
+
trace?: Error | null | undefined;
|
|
83
|
+
}): {
|
|
84
|
+
swap: PendingSwap;
|
|
85
|
+
step: PendingSwapStep | null;
|
|
86
|
+
failureType?: APIErrorCode;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
*
|
|
90
|
+
* Set current step transaction hash, update pending swap status, and notify user if needed
|
|
91
|
+
*
|
|
92
|
+
*/
|
|
93
|
+
export declare function setStepTransactionIds({ getStorage, setStorage }: ExecuterActions<SwapStorage, SwapActionTypes>, txId: string | null, explorerUrl?: {
|
|
94
|
+
url?: string;
|
|
95
|
+
description?: string;
|
|
96
|
+
}): void;
|
|
97
|
+
/**
|
|
98
|
+
* If a swap needs a wallet to be connected,
|
|
99
|
+
* By calling this function some related fields will be updated to show a correct message and state for notfiying the user.
|
|
100
|
+
*/
|
|
101
|
+
export declare function markRunningSwapAsWaitingForConnectingWallet({ getStorage, setStorage, }: Pick<ExecuterActions, 'getStorage' | 'setStorage'>, reason: string, reasonDetail: string): void;
|
|
102
|
+
/**
|
|
103
|
+
* If a swap needs a certain network to proceed,
|
|
104
|
+
* By calling this function some related fields will be updated to show a correct message and state for notfiying the user.
|
|
105
|
+
*/
|
|
106
|
+
export declare function markRunningSwapAsSwitchingNetwork({ getStorage, setStorage, }: Pick<ExecuterActions, 'getStorage' | 'setStorage'>): {
|
|
107
|
+
swap: PendingSwap;
|
|
108
|
+
step: PendingSwapStep;
|
|
109
|
+
} | undefined;
|
|
110
|
+
/**
|
|
111
|
+
* We are marking the queue as it depends on other queues to be run (on Parallel mode)
|
|
112
|
+
* By calling this function some related fields will be updated to show a correct message and state for notfiying the user.
|
|
113
|
+
*/
|
|
114
|
+
export declare function markRunningSwapAsDependsOnOtherQueues({ getStorage, setStorage, }: Pick<ExecuterActions, 'getStorage' | 'setStorage'>): {
|
|
115
|
+
swap: PendingSwap;
|
|
116
|
+
step: PendingSwapStep;
|
|
117
|
+
} | undefined;
|
|
118
|
+
export declare function delay(ms: number): Promise<unknown>;
|
|
119
|
+
/**
|
|
120
|
+
*
|
|
121
|
+
* To execute a swap, we are keeping the user prefrences on what wallet they are going to use for a sepecific blockchain
|
|
122
|
+
* By passing the swap and the network we are looking for, it returns the wallet name that user selected.
|
|
123
|
+
*
|
|
124
|
+
*/
|
|
125
|
+
export declare const getSwapWalletType: (swap: PendingSwap, network: Network) => WalletType;
|
|
126
|
+
/**
|
|
127
|
+
*
|
|
128
|
+
* We are keeping the connected wallet in a specific structure (`Wallet`),
|
|
129
|
+
* By using this function we normally want to check a specific wallet is connected and exists or not.
|
|
130
|
+
*
|
|
131
|
+
*/
|
|
132
|
+
export declare function isWalletNull(wallet: Wallet | null): boolean;
|
|
133
|
+
/**
|
|
134
|
+
* In a `PendingSwap`, each step needs a wallet to proceed,
|
|
135
|
+
* By using this function we can access what wallet exactly we need to run current step.
|
|
136
|
+
*/
|
|
137
|
+
export declare function getRequiredWallet(swap: PendingSwap): {
|
|
138
|
+
type: WalletType | null;
|
|
139
|
+
namespace: TargetNamespace | null;
|
|
140
|
+
address: string | null;
|
|
141
|
+
};
|
|
142
|
+
export declare function getProviderChainId(providers: Providers, hubProvider: (type: WalletType) => Provider, walletType: string): Promise<string | number | null>;
|
|
143
|
+
/**
|
|
144
|
+
* For running a swap safely, we need to make sure about the state of wallet
|
|
145
|
+
* which means the netowrk/chain of wallet should be exactly on what a transaction needs.
|
|
146
|
+
*/
|
|
147
|
+
export declare function isNetworkMatchedForTransaction(swap: PendingSwap, step: PendingSwapStep, wallet: Wallet | null, meta: Meta, providers: Providers, hubProvider: (type: WalletType) => Provider): Promise<boolean>;
|
|
148
|
+
export declare const isTxAlreadyCreated: (swap: PendingSwap, step: PendingSwapStep) => boolean;
|
|
149
|
+
export declare function resetNetworkStatus(actions: ExecuterActions<SwapStorage, SwapActionTypes, SwapQueueContext>): void;
|
|
150
|
+
export declare function updateNetworkStatus(actions: Pick<ExecuterActions<SwapStorage, SwapActionTypes, SwapQueueContext>, 'getStorage' | 'setStorage'>, data?: {
|
|
151
|
+
message: string;
|
|
152
|
+
details: string;
|
|
153
|
+
status: PendingSwapNetworkStatus | null;
|
|
154
|
+
}): void;
|
|
155
|
+
/**
|
|
156
|
+
* Event handler for blocked tasks.
|
|
157
|
+
* If a transcation execution is manually blocked (like for parallel or waiting for wallet),
|
|
158
|
+
* This function will be called by queue manager using `queue definition`.
|
|
159
|
+
*
|
|
160
|
+
* It checks if the required wallet is connected, unblock the queue to be run.
|
|
161
|
+
*/
|
|
162
|
+
export declare function onBlockForConnectWallet(event: WhenTaskBlockedEvent, meta: WhenTaskBlockedMeta): void;
|
|
163
|
+
/**
|
|
164
|
+
* Event handler for blocked tasks.
|
|
165
|
+
* If a transcation execution is manually blocked (like for parallel or waiting for walle),
|
|
166
|
+
* This function will be called by queue manager using `queue definition`.
|
|
167
|
+
*
|
|
168
|
+
* It checks if the required network is connected, unblock the queue to be run.
|
|
169
|
+
* Note: it automatically try to switch the network if its `provider` supports.
|
|
170
|
+
*/
|
|
171
|
+
export declare function onBlockForChangeNetwork(_event: WhenTaskBlockedEvent, meta: WhenTaskBlockedMeta): void;
|
|
172
|
+
/**
|
|
173
|
+
* Event handler for blocked tasks. (Parallel mode)
|
|
174
|
+
* If a transcation execution flow is manually blocked (like for parallel or waiting for walle),
|
|
175
|
+
* This function will be called by queue manager using `queue definition`.
|
|
176
|
+
*
|
|
177
|
+
* It checks the blocked tasks, if there is no active `claimed` queue, try to give it to the best candidate.
|
|
178
|
+
*/
|
|
179
|
+
export declare function onDependsOnOtherQueues(_event: WhenTaskBlockedEvent, meta: WhenTaskBlockedMeta): void;
|
|
180
|
+
export declare function isRequiredWalletConnected(swap: PendingSwap, getState: (type: WalletType) => WalletState): {
|
|
181
|
+
ok: boolean;
|
|
182
|
+
reason: 'not_connected' | 'account_miss_match';
|
|
183
|
+
};
|
|
184
|
+
export declare function handleSuccessfulSign(actions: ExecuterActions<SwapStorage, SwapActionTypes, SwapQueueContext>, data: {
|
|
185
|
+
isApproval: boolean;
|
|
186
|
+
}): ({ hash, response }: {
|
|
187
|
+
hash: string;
|
|
188
|
+
response?: any;
|
|
189
|
+
}) => void;
|
|
190
|
+
export declare function handleRejectedSign(actions: ExecuterActions<SwapStorage, SwapActionTypes, SwapQueueContext>): (error: any) => void;
|
|
191
|
+
export declare function checkWaitingForConnectWalletChange(params: {
|
|
192
|
+
lastConnectedWallet: LastConnectedWallet;
|
|
193
|
+
manager?: Manager;
|
|
194
|
+
evmChains: EvmBlockchainMeta[];
|
|
195
|
+
}): void;
|
|
196
|
+
export declare function checkWaitingForNetworkChange(manager?: Manager): void;
|
|
197
|
+
/**
|
|
198
|
+
* Get list of all running swaps
|
|
199
|
+
*
|
|
200
|
+
* @param manager
|
|
201
|
+
* @returns list of pending swaps
|
|
202
|
+
*/
|
|
203
|
+
export declare function getRunningSwaps(manager: Manager): PendingSwap[];
|
|
204
|
+
/**
|
|
205
|
+
*
|
|
206
|
+
* Trying to reset notifications for pending swaps to correct message on page load.
|
|
207
|
+
* We could remove this after supporting auto connect for wallets.
|
|
208
|
+
*
|
|
209
|
+
* @param swaps
|
|
210
|
+
* @param notifier
|
|
211
|
+
* @returns
|
|
212
|
+
*/
|
|
213
|
+
export declare function resetRunningSwapNotifsOnPageLoad(runningSwaps: PendingSwap[]): void;
|
|
214
|
+
/**
|
|
215
|
+
*
|
|
216
|
+
* Try to run blocked tasks by wallet and network name.
|
|
217
|
+
* Goes through queues and extract blocked queues with matched wallet.
|
|
218
|
+
* If found any blocked tasks with same wallet and network, runs them.
|
|
219
|
+
* If not, runs only blocked tasks with matched wallet.
|
|
220
|
+
*
|
|
221
|
+
* @param wallet_network a string includes `wallet` type and `network` type.
|
|
222
|
+
* @param manager
|
|
223
|
+
* @returns
|
|
224
|
+
*/
|
|
225
|
+
export declare function retryOn(lastConnectedWallet: LastConnectedWallet, manager?: Manager, canSwitchNetworkTo?: UseQueueManagerParams['canSwitchNetworkTo'], options?: {
|
|
226
|
+
fallbackToOnlyWallet: boolean;
|
|
227
|
+
}): void;
|
|
228
|
+
export declare function isNeedBlockQueueForParallel(step: PendingSwapStep): boolean;
|
|
229
|
+
export declare function throwOnOK(rawResponse: Promise<CreateTransactionResponse>): Promise<CreateTransactionResponse>;
|
|
230
|
+
export declare function cancelSwap(swap: QueueInfo, manager?: Manager): {
|
|
231
|
+
swap: PendingSwap;
|
|
232
|
+
step: PendingSwapStep | null;
|
|
233
|
+
};
|
|
234
|
+
export declare function getLastSuccessfulStep<T extends {
|
|
235
|
+
status: StepStatus;
|
|
236
|
+
}[]>(steps: T): ArrayElement<T> | undefined;
|
|
237
|
+
export declare function getFailedStep<T extends {
|
|
238
|
+
status: StepStatus;
|
|
239
|
+
}[]>(steps: T): ArrayElement<T> | undefined;
|
|
240
|
+
export declare function isApprovalTX(step: Step): boolean;
|
|
241
|
+
export declare function getTokenAmountInUsd(amount: string | number, usdPrice: string | number): string;
|
|
242
|
+
export declare function getSwapInputUsd(swap: PendingSwap): string;
|
|
243
|
+
export declare function getSwapOutputUsd(swap: PendingSwap): string;
|
|
244
|
+
export declare function getLastFinishedStep(swap: PendingSwap): {
|
|
245
|
+
step: PendingSwapStep;
|
|
246
|
+
index: number;
|
|
247
|
+
} | undefined;
|
|
248
|
+
export declare function getLastFinishedStepInput(swap: PendingSwap): string;
|
|
249
|
+
export declare function getLastFinishedStepInputUsd(swap: PendingSwap): string;
|
|
250
|
+
export declare function getLastSuccessfulStepOutputUsd(swap: PendingSwap): string;
|
|
251
|
+
export declare function createStepFailedEvent(swap: PendingSwap, message: string, reasonCode?: APIErrorCode): NotifierParams['event'] & {
|
|
252
|
+
type: StepEventType.FAILED;
|
|
253
|
+
};
|
|
254
|
+
export {};
|
|
255
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { UseQueueManagerParams } from './types';
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* Runs a migration (old swaps from localstorage to queue manager's IndexedDB)
|
|
5
|
+
* It will be run only once on page load.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
declare function useMigration(): {
|
|
9
|
+
status: boolean;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* On initial load and also connect/disconnect we may need to update swap's notified message.
|
|
14
|
+
* And also if a new wallet is connected we will retry the queue to see we can resume it or not.
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
declare function useQueueManager(params: UseQueueManagerParams): void;
|
|
18
|
+
export { useQueueManager, useMigration };
|
|
19
|
+
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAsB1E;;;;;GAKG;AACH,iBAAS,YAAY,IAAI;IACvB,MAAM,EAAE,OAAO,CAAC;CACjB,CAqBA;AAED;;;;;GAKG;AACH,iBAAS,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAgC5D;AAED,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Configs } from './configs';
|
|
2
|
+
import type { SwapQueueDef } from './types';
|
|
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';
|
|
5
|
+
export { WidgetEvents, StepEventType, RouteEventType, StepExecutionEventStatus, StepExecutionBlockedEventStatus, EventSeverity, } from './types';
|
|
6
|
+
export type { PendingSwapWithQueueID, EventType, TargetNamespace, } from './shared';
|
|
7
|
+
export { getCurrentNamespaceOfOrNull, getRelatedWalletOrNull, getRelatedWallet, MessageSeverity, calculatePendingSwap, getUsdPrice, } from './shared';
|
|
8
|
+
export { updateSwapStatus, checkWaitingForNetworkChange, getCurrentStep, cancelSwap, getRequiredWallet, getRunningSwaps, resetRunningSwapNotifsOnPageLoad, isApprovalTX, getLastSuccessfulStep, } from './helpers';
|
|
9
|
+
export { useMigration, useQueueManager } from './hooks';
|
|
10
|
+
export declare function makeQueueDefinition(configs: Configs): SwapQueueDef;
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var Pt=Object.defineProperty;var u=(e,t)=>Pt(e,"name",{value:t,configurable:!0});var Ot="c6381a79-2817-4602-83bf-6a641a409e32",Te={API_KEY:Ot,BASE_URL:""};function K(e){return Te[e]}u(K,"getConfig");function Fe(e){return Te=e,Te}u(Fe,"initConfig");var we=(n=>(n.RouteEvent="routeEvent",n.StepEvent="stepEvent",n))(we||{}),Ae=(r=>(r.STARTED="started",r.FAILED="failed",r.SUCCEEDED="succeeded",r))(Ae||{}),$=(r=>(r.CREATE_TX="create_tx",r.SEND_TX="send_tx",r.TX_SENT="tx_sent",r))($||{}),re=(a=>(a.WAITING_FOR_QUEUE="waiting_for_queue",a.WAITING_FOR_WALLET_CONNECT="waiting_for_wallet_connect",a.WAITING_FOR_NETWORK_CHANGE="waiting_for_network_change",a.WAITING_FOR_CHANGE_WALLET_ACCOUNT="waiting_for_change_wallet_account",a))(re||{}),F=(l=>(l.STARTED="started",l.FAILED="failed",l.SUCCEEDED="succeeded",l.TX_EXECUTION="tx_execution",l.TX_EXECUTION_BLOCKED="tx_execution_blocked",l.APPROVAL_TX_SUCCEEDED="approval_tx_succeeded",l.CHECK_STATUS="check_status",l.OUTPUT_REVEALED="output_revealed",l))(F||{}),ye=(a=>(a.ERROR="error",a.SUCCESS="success",a.WARNING="warning",a.INFO="info",a))(ye||{});import{warn as z}from"@rango-dev/logging-core";import{SignerError as gt}from"rango-types";import{warn as Ht}from"@rango-dev/logging-core";import{Status as ve}from"@rango-dev/queue-manager-core";import{legacyReadAccountAddress as Gt}from"@rango-dev/wallets-core/legacy";import{getBlockChainNameFromId as Kt,getEvmProvider as $t}from"@rango-dev/wallets-shared";import Vt from"bignumber.js";import{PendingSwapNetworkStatus as Y,SignerError as Yt,TransactionType as N}from"rango-types";var xe="Waiting for other swaps to complete",Le="Waiting for connecting wallet",Be=u((e,t)=>`Please change your ${e||"wallet"} account to ${t||"proper address"}`,"ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION_WRONG_WALLET"),ae=u(e=>`Please connect your ${e??""} wallet.`,"ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION"),oe=u(e=>`Please change your network to ${e}.`,"ERROR_MESSAGE_WAIT_FOR_CHANGE_NETWORK"),R="CLIENT_UNEXPECTED_BEHAVIOUR";import{RangoClient as Dt}from"rango-sdk";var se,q=u(()=>se||(se=new Dt(K("API_KEY"),K("BASE_URL")),se),"httpService");import Ge from"bignumber.js";import Qe from"bignumber.js";var qe=u((e,t=null,n=null)=>{if(e===null||e==="")return"";let r=new Qe(e),a=1,o=1e3;for(let c=0;c<60;c++)if(new Qe(r.toFixed(c,a)).eq(r)){o=c;break}if(r.gte(1e4))return r.toFormat(0,a);if(r.gte(1e3)||r.gte(100))return r.toFormat(Math.min(o,Math.min(n||100,Math.max(t||0,1))),a);if(r.gte(1))return r.toFormat(Math.min(o,Math.min(n||100,Math.max(t||0,2))),a);if(r.gte(.01))return r.toFormat(Math.min(o,Math.min(n||100,Math.max(t||0,4))),a);for(let c=t||4;c<17;c++)if(r.gte(Math.pow(10,-c)))return r.toFormat(Math.min(o,Math.min(n||100,Math.max(t||0,c))),a);return r.isEqualTo(0)?"0":r.toFormat(Math.min(o,Math.min(n||100,Math.max(t||0,8))),a)},"numberToString");import{SignerErrorCode as H,SignerError as Wt,isSignerErrorCode as bt,isAPIErrorCode as Ut}from"rango-types";var Mt="Assertion failed (Unexpected behaviour)",Ft="Create transaction failed in Rango Server",Xe="Input wallet not found",P=class e extends Error{constructor(n,r,a,o){super(r);this._isPrettyError=!0;Object.setPrototypeOf(this,e.prototype),e.prototype._isPrettyError=!0,this.code=n,this.detail=o,this.root=a}static{u(this,"PrettyError")}static isPrettyError(n){return n instanceof e||Object.prototype.hasOwnProperty.call(n,"_isPrettyError")}getErrorDetail(){let n=typeof this.root=="object"&&this.root&&this.root.error?this.root.error:JSON.stringify(this.root),r=typeof this.root=="string"?this.root:this.root instanceof Error?this.root.message:n;return{extraMessage:this.message,extraMessageDetail:this.detail||r,extraMessageErrorCode:this.code||null}}static AssertionFailed(n){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",Mt,null,n)}static BadStatusCode(n,r){return new e("TX_FAIL",n,null,`status code = ${r}`)}static CreateTransaction(n){return new e("FETCH_TX_FAILED",Ft,null,n)}static WalletMissing(){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",Xe,null,"Server requested for a blockchain or address not selected by user")}static BlockchainMissing(){return new e("CLIENT_UNEXPECTED_BEHAVIOUR",Xe,null,"Server requested for a blockchain or address not selected by user")}};function He(e){try{return e?Ut(e)?e:bt(e)?{[H.REJECTED_BY_USER]:"USER_REJECT",[H.SIGN_TX_ERROR]:"CALL_WALLET_FAILED",[H.SEND_TX_ERROR]:"SEND_TX_FAILED",[H.TX_FAILED_IN_BLOCKCHAIN]:"TX_FAILED_IN_BLOCKCHAIN",[H.NOT_IMPLEMENTED]:R,[H.OPERATION_UNSUPPORTED]:R,[H.UNEXPECTED_BEHAVIOUR]:R}[e]:R:R}catch{return R}}u(He,"mapAppErrorCodesToAPIErrorCode");var X=u(e=>{if(!e)return{extraMessage:"",extraMessageErrorCode:null};if(P.isPrettyError(e))return e.getErrorDetail();if(Wt.isSignerError(e)){let t=e.getErrorDetail();return{extraMessage:t.message,extraMessageDetail:t.detail,extraMessageErrorCode:t.code}}return e instanceof Error?{extraMessage:e.toString(),extraMessageErrorCode:null}:typeof e!="string"?{extraMessage:JSON.stringify(e),extraMessageErrorCode:null}:{extraMessage:e,extraMessageErrorCode:null}},"prettifyErrorMessage");var ie=(a=>(a.error="error",a.warning="warning",a.info="info",a.success="success",a))(ie||{}),W=u((e,t)=>{try{return L(e,t)}catch{return null}},"getCurrentNamespaceOfOrNull"),L=u((e,t)=>{let n=t.evmTransaction?.blockChain||t.evmApprovalTransaction?.blockChain,r=t.starknetTransaction?.blockChain||t.starknetApprovalTransaction?.blockChain,a=t.tronTransaction?.blockChain||t.tronApprovalTransaction?.blockChain,o=t.cosmosTransaction?.blockChain,c=t.solanaTransaction?.blockChain,s=t.tonTransaction?.blockChain,l=t.suiTransaction?.blockChain;if(n)return{namespace:"EVM",network:n};if(r)return{namespace:"Starknet",network:r};if(a)return{namespace:"Tron",network:a};if(o)return{namespace:"Cosmos",network:o};if(c)return{namespace:"Solana",network:c};if(s)return{namespace:"Ton",network:s};if(l)return{namespace:"Sui",network:l};if(t.transferTransaction){let p=t.transferTransaction.fromWalletAddress;if(!p)throw P.BlockchainMissing();let i=Object.keys(e.wallets).find(S=>e.wallets[S]?.address===p);if(!i)throw P.BlockchainMissing();return{namespace:"UTXO",network:i}}throw new Error("Unsupported transaction type has been included in your swap.",{cause:t})},"getCurrentNamespaceOf"),Z=u((e,t,n)=>{let a=n[t].info?.transactionUrl;if(a)return a.indexOf("/{txHash}")!==-1?a.replace("{txHash}",e):`${a}/${e}`},"getScannerUrl");function $e(e,t){return e.steps.find(n=>n.status!=="failed"&&n.status!=="success"&&n.id!==t.id)||null}u($e,"getNextStep");var Ve=u((e,t)=>{let n=e.wallets[t.evmTransaction?.blockChain||""]||e.wallets[t.evmApprovalTransaction?.blockChain||""]||e.wallets[t.tronTransaction?.blockChain||""]||e.wallets[t.tronApprovalTransaction?.blockChain||""]||e.wallets[t.starknetTransaction?.blockChain||""]||e.wallets[t.starknetApprovalTransaction?.blockChain||""]||e.wallets[t.cosmosTransaction?.blockChain||""]||e.wallets[t.solanaTransaction?.blockChain||""]||e.wallets[t.tonTransaction?.blockChain||""]||e.wallets[t.suiTransaction?.blockChain||""]||(t.transferTransaction?.fromWalletAddress?{address:t.transferTransaction.fromWalletAddress,walletType:Object.values(e.wallets).find(r=>r.address===t.transferTransaction?.fromWalletAddress)?.walletType}:null)||null;if(n==null)throw P.WalletMissing();return n},"getCurrentWalletTypeAndAddress"),Ye=u((e,t)=>Ve(e,t).address,"getCurrentAddressOf");function O(e,t){let{address:n,walletType:r}=Ve(e,t),a=Object.keys(e.wallets).map(l=>({k:l,v:e.wallets[l]})).find(({v:l})=>l.address===n&&l.walletType===r)||null,o=a?.k||null,c=a?.v||null,s=c?.walletType;if(c===null)throw P.AssertionFailed(`Wallet for source ${o} not passed: walletType: ${s}`);return c}u(O,"getRelatedWallet");function Ce(e,t){if(!t)return null;try{return O(e,t)}catch{return null}}u(Ce,"getRelatedWalletOrNull");var je=u((e,t,n,r)=>r?.find(o=>o.blockchain===e&&o.symbol?.toUpperCase()===t?.toUpperCase()&&o.address===n)?.usdPrice||null,"getUsdPrice");function Lt(e,t){let n=new Ge(0);for(let r=0;r<e.fee.length;r++){let a=e.fee[r];if(a.expenseType==="DECREASE_FROM_OUTPUT")continue;let o=je(a.asset.blockchain,a.asset.symbol,a.asset.address,t);n=n.plus(new Ge(a.amount).multipliedBy(o||0))}return n}u(Lt,"getUsdFeeOfStep");function Ke(e,t){return{fromBlockchain:e.from.blockchain,fromBlockchainLogo:e.from.blockchainLogo,fromLogo:e.from.logo,fromSymbol:e.from.symbol,fromSymbolAddress:e.from.address,fromDecimals:e.from.decimals,fromAmountPrecision:e.fromAmountPrecision,fromAmountMinValue:e.fromAmountMinValue,fromAmountMaxValue:e.fromAmountMaxValue,fromAmountRestrictionType:e.fromAmountRestrictionType,fromUsdPrice:e.from.usdPrice,toBlockchain:e.to.blockchain,toBlockchainLogo:e.to.blockchainLogo,toSymbol:e.to.symbol,toSymbolAddress:e.to.address,toDecimals:e.to.decimals,toLogo:e.to.logo,toUsdPrice:e.to.usdPrice,swapperId:e.swapperId,swapperLogo:e.swapperLogo,swapperType:e.swapperType,expectedOutputAmountHumanReadable:e.toAmount,feeInUsd:t?qe(Lt(e,t?.tokens),null,8):null,estimatedTimeInSeconds:e.estimatedTimeInSeconds||null,internalSteps:null}}u(Ke,"mapSwapStepToPendingSwapStep");function Bt(e){let{inputAmount:t,bestRoute:n,wallets:r,settings:a,validateBalanceOrFee:o,meta:c,swapMode:s="swap"}=e,l=n.result;if(!l)throw Error("Simulation result should not be null");return{creationTime:new Date().getTime().toString(),finishTime:null,requestId:n.requestId||"",inputAmount:t,wallets:r,status:"running",mode:s,isPaused:!1,extraMessage:null,extraMessageSeverity:null,extraMessageDetail:null,extraMessageErrorCode:null,networkStatusExtraMessage:null,networkStatusExtraMessageDetail:null,lastNotificationTime:null,settings:a,simulationResult:l,validateBalanceOrFee:o,steps:n.result?.swaps?.map((p,i)=>{let S=Ke(p,c);return{id:i+1,...S,internalSwaps:p?.internalSwaps?.map(d=>Ke(d,c))||null,outputAmount:"",status:"created",networkStatus:null,startTransactionTime:new Date().getTime(),externalTransactionId:null,executedTransactionId:null,executedTransactionTime:null,explorerUrl:null,diagnosisUrl:null,trackingCode:null,internalSteps:null,evmTransaction:null,evmApprovalTransaction:null,starknetTransaction:null,starknetApprovalTransaction:null,tronTransaction:null,tronApprovalTransaction:null,cosmosTransaction:null,solanaTransaction:null,transferTransaction:null,tonTransaction:null,suiTransaction:null,xrplTransaction:null,hasAlreadyProceededToSign:!1}})||[]}}u(Bt,"calculatePendingSwap");function Je(e){return e.map(t=>{let{diagnosisUrl:n,estimatedTimeInSeconds:r,explorerUrl:a,feeInUsd:o,executedTransactionId:c,executedTransactionTime:s,expectedOutputAmountHumanReadable:l,fromBlockchain:p,toBlockchain:i,fromSymbol:S,toSymbol:d,fromSymbolAddress:g,toSymbolAddress:m,swapperType:A,swapperId:x,outputAmount:v,fromAmountMaxValue:f,fromAmountMinValue:y,fromAmountPrecision:k,fromAmountRestrictionType:_,fromDecimals:w,status:C}=t;return{diagnosisUrl:n,estimatedTimeInSeconds:r,explorerUrl:a,feeInUsd:o,executedTransactionId:c,executedTransactionTime:s,expectedOutputAmountHumanReadable:l,fromBlockchain:p,toBlockchain:i,fromSymbol:S,toSymbol:d,fromSymbolAddress:g,toSymbolAddress:m,swapperName:x,swapperType:A,outputAmount:v,fromAmountMaxValue:f,fromAmountMinValue:y,fromAmountPrecision:k,fromAmountRestrictionType:_,fromDecimals:w,status:C,transaction:h(t)}})}u(Je,"createSteps");function Qt(e,t,n){let{creationTime:r,finishTime:a,requestId:o,inputAmount:c,status:s,wallets:l,steps:p,settings:i}=e,S=Je(p),g={route:{creationTime:r,finishTime:a,requestId:o,inputAmount:c,status:s,wallets:l,steps:S,slippage:i.slippage,infiniteApproval:i.infiniteApprove},step:S[S.length-1]};if(n)g.step=Je([n])[0];else if(t==="failed"){let m=ze(S);m&&(g.step=m)}else{let m=V(S);m&&(g.step=m)}return g}u(Qt,"getEventPayload");function qt(e,t,n){let r,{type:a}=e;switch(a){case"started":r={...e,type:"started"};break;case"failed":r={...e,type:"failed",inputAmount:n.inputAmount,inputAmountUsd:ke(n),swapMode:n.mode||"swap"};break;case"succeeded":{r={...e,type:"succeeded",inputAmount:n.inputAmount,inputAmountUsd:ke(n),outputAmount:n.steps[n.steps.length-1].outputAmount??"",outputAmountUsd:Ze(n),swapMode:n.mode||"swap"};break}default:break}r&&K("emitter")?.emit("routeEvent",{event:r,route:t})}u(qt,"emitRouteEvent");function Xt(e,t,n){K("emitter")?.emit("stepEvent",{event:e,route:t,step:n})}u(Xt,"emitStepEvent");function T(e){let{event:t}=e,{type:n}=t,{route:r,step:a}=Qt(e.swap,n,e.step??void 0),o=`${a.fromBlockchain}.${a.fromSymbol}`,c=`${a.toBlockchain}.${a.toSymbol}`,s=a.outputAmount??"",l=e.step?W(e.swap,e.step):null,p="",i="info";switch(n){case"started":p="Swap process started",i="success";break;case"succeeded":p=`You received ${s} ${c}, hooray!`,i="success";break;case"failed":p=`Swap failed: ${e.swap?.extraMessage??"Reason is unknown"}`,i="error";break;case"tx_execution":t.status==="create_tx"?(p="Please wait while the transaction is created ...",i="info"):t.status==="send_tx"?(e.step&&b(e.step)?p=`Please confirm '${a.swapperName}' smart contract access to ${o}`:p="Please confirm transaction request in your wallet",i="warning"):t.status==="tx_sent"&&(p="Transaction sent successfully",i="info");break;case"check_status":e.step&&b(e.step)?p="Checking approve transaction status ...":p="Checking transaction status ...",i="info";break;case"approval_tx_succeeded":p="Smart contract called successfully",i="success";break;case"output_revealed":p="Transaction output amount revealed",i="success";break;case"tx_execution_blocked":t.status==="waiting_for_wallet_connect"?(p="Please connect your wallet.",i="warning"):t.status==="waiting_for_queue"?(p="Waiting for other swaps to complete",i="warning"):t.status==="waiting_for_change_wallet_account"?(p="Please change your wallet account.",i="warning"):t.status==="waiting_for_network_change"&&(p=`Please change your wallet network to ${l?.network}.`,i="warning");break;default:break}e.step&&Xt({...t,message:p,messageSeverity:i},r,a),(e.event.type==="failed"||!e.step)&&qt({...t,message:p,messageSeverity:i},r,e.swap)}u(T,"notifier");var _e=null;function ce(){return{claimedBy:()=>_e?.id,setClaimer:e=>{_e={id:e}},reset:()=>{_e=null}}}u(ce,"claimQueue");var G={};function ue(){return{getTransactionDataByHash:e=>G[e]||{},setTransactionDataByHash:(e,t)=>{G[e]||(G[e]={}),G[e].response=t.response||G[e].response,G[e].receiptReceived=t.receiptReceived||G[e].receiptReceived||!1}}}u(ue,"inMemoryTransactionsData");var E=u(e=>e.steps.find(t=>t.status!=="failed"&&t.status!=="success")||null,"getCurrentStep"),h=u(e=>{let{evmTransaction:t,evmApprovalTransaction:n,cosmosTransaction:r,solanaTransaction:a,transferTransaction:o,starknetApprovalTransaction:c,starknetTransaction:s,tronApprovalTransaction:l,tronTransaction:p,tonTransaction:i,suiTransaction:S}=e;return t||n||r||a||o||c||s||l||p||i||S},"getCurrentStepTx"),le=u((e,t)=>{e.transferTransaction=null,e.cosmosTransaction=null,e.evmTransaction=null,e.solanaTransaction=null,e.evmApprovalTransaction=null,e.starknetApprovalTransaction=null,e.starknetTransaction=null,e.tronApprovalTransaction=null,e.tronTransaction=null,e.tonTransaction=null,e.suiTransaction=null;let n=t.type;switch(n){case N.EVM:t.isApprovalTx?e.evmApprovalTransaction=t:e.evmTransaction=t;break;case N.TRON:t.isApprovalTx?e.tronApprovalTransaction=t:e.tronTransaction=t;break;case N.STARKNET:t.isApprovalTx?e.starknetApprovalTransaction=t:e.starknetTransaction=t;break;case N.COSMOS:e.cosmosTransaction=t;break;case N.SOLANA:e.solanaTransaction=t;break;case N.TRANSFER:e.transferTransaction=t;break;case N.TON:e.tonTransaction=t;break;case N.SUI:e.suiTransaction=t;break;case N.XRPL:e.xrplTransaction=t;break;default:(r=>{throw new Error(`${r} was unhandled!`)})(n)}return e},"setCurrentStepTx"),Re=u(e=>h(e)?.type,"getCurrentStepTxType"),b=u(e=>{let{evmApprovalTransaction:t,starknetApprovalTransaction:n,tronApprovalTransaction:r}=e;return!!(t||n||r)},"isApprovalCurrentStepTx");function I({getStorage:e,setStorage:t,nextStatus:n,nextStepStatus:r,message:a,details:o,errorCode:c=null,hasAlreadyProceededToSign:s,trace:l=null}){let p=e().swapDetails,i=E(p),S={swap:p,step:i};if(r&&i&&(i.status=r),n&&(p.status=n),p.hasAlreadyProceededToSign=s,n&&["failed","success"].includes(n)&&(p.finishTime=new Date().getTime().toString()),(a||o)&&(p.extraMessage=a||"",p.extraMessageDetail=o||""),r&&["failed"].includes(r)){let d=o&&o.includes("Warning")?"Swap canceled by user.":o,g=Ce(p,i)?.walletType;p.extraMessageSeverity="error";let m=He(c);S.failureType=m;let A=c!=="REJECTED_BY_USER"&&l?.message&&typeof l.message=="string"?l.message:d||"";q().reportFailure({requestId:p.requestId,step:i?.id||1,eventType:m,reason:A,tags:g?{wallet:g}:void 0}).then().catch()}else r&&["running"].includes(r)?p.extraMessageSeverity="info":r&&["success","approved"].includes(r)?p.extraMessageSeverity="success":r&&["waitingForApproval"].includes(r)&&(p.extraMessageSeverity="warning");return r==="running"&&i&&(i.startTransactionTime=new Date().getTime()),t({...e(),swapDetails:p}),S}u(I,"updateSwapStatus");function jt({getStorage:e,setStorage:t},n,r){let a=e().swapDetails;a.hasAlreadyProceededToSign=null;let o=E(a);o.executedTransactionId=n,o.executedTransactionTime=new Date().getTime().toString(),r?.url&&(o.explorerUrl=[...o.explorerUrl||[],{url:r.url,description:r.description||null}]),b(o)?a.extraMessage="Checking approve transaction status ...":a.extraMessage="Checking transaction status ...",a.extraMessageDetail="",a.extraMessageSeverity="info",t({...e(),swapDetails:a}),T({event:{type:"tx_execution",status:"tx_sent"},swap:a,step:o}),T({event:{type:"check_status"},swap:a,step:o})}u(jt,"setStepTransactionIds");function Jt({getStorage:e,setStorage:t},n,r){let a=e().swapDetails,o=E(a);if(!o)return;let c=new Date;a.lastNotificationTime=c.getTime().toString(),!(o.networkStatus===Y.WaitingForConnectingWallet&&a.networkStatusExtraMessage===n&&a.networkStatusExtraMessageDetail===r)&&(o.networkStatus=Y.WaitingForConnectingWallet,a.networkStatusExtraMessage=n,a.networkStatusExtraMessageDetail=r,t({...e(),swapDetails:a}))}u(Jt,"markRunningSwapAsWaitingForConnectingWallet");function tt({getStorage:e,setStorage:t}){let n=e().swapDetails,r=E(n);if(!r)return;let{type:a}=D(n),o=L(n,r),c=`Change ${a} wallet network to ${o.network}`,s=`We\u2019re switching the connected network to ${o.network}. Please check your wallet.`,l=new Date;return n.lastNotificationTime=l.getTime().toString(),r.networkStatus=Y.WaitingForNetworkChange,n.networkStatusExtraMessage=c,n.networkStatusExtraMessageDetail=s,t({...e(),swapDetails:n}),{swap:n,step:r}}u(tt,"markRunningSwapAsSwitchingNetwork");function nt({getStorage:e,setStorage:t}){let n=e().swapDetails,r=E(n);if(r)return n.networkStatusExtraMessage="",n.networkStatusExtraMessageDetail="",r.networkStatus=Y.WaitingForQueue,T({event:{type:"tx_execution_blocked",status:"waiting_for_queue"},swap:n,step:r}),t({...e(),swapDetails:n}),{swap:n,step:r}}u(nt,"markRunningSwapAsDependsOnOtherQueues");async function pe(e){return new Promise(t=>setTimeout(t,e))}u(pe,"delay");var zt=u((e,t)=>e.wallets[t]?.walletType,"getSwapWalletType");function he(e){return e===null||e?.blockchains===null||e?.blockchains.length===0}u(he,"isWalletNull");function D(e){let t=E(e),n=W(e,t);if(!n)return{type:null,namespace:null,address:null};let r=zt(e,n.network),a=e.wallets[n.network];return{type:r||null,namespace:n,address:a?a.address:null}}u(D,"getRequiredWallet");async function Zt(e){try{return await e.request({method:"eth_chainId"})||e?.chainId}catch{return e?.chainId}}u(Zt,"getChainId");async function en(e,t,n){let r=$t(e,n);if(r)return await Zt(r);let o=t(n).get("evm");if(!o)throw new Error("EVM namespace not found for wallet type: "+n);return o.getChainId()}u(en,"getProviderChainId");async function rt(e,t,n,r,a,o){if(he(n))return!1;let c=W(e,t);if(!c)return!1;if(r.evmBasedChains.find(s=>s.name===c.network)){try{let s=e.wallets[c.network];if(s){let l=await en(a,o,s.walletType);if(l){let p=Kt(l,Object.entries(r.blockchains).map(([,i])=>i));if(p&&p.toLowerCase()===c.network.toLowerCase())return!0;if(p&&p.toLowerCase()!==c.network.toLowerCase())return!1}}}catch(s){console.log(s)}return!1}return!0}u(rt,"isNetworkMatchedForTransaction");var at=u((e,t)=>(e.wallets[t.evmTransaction?.blockChain||""]||e.wallets[t.evmApprovalTransaction?.blockChain||""]||e.wallets[t.tronTransaction?.blockChain||""]||e.wallets[t.tronApprovalTransaction?.blockChain||""]||e.wallets[t.starknetTransaction?.blockChain||""]||e.wallets[t.starknetApprovalTransaction?.blockChain||""]||e.wallets[t.cosmosTransaction?.blockChain||""]||e.wallets[t.solanaTransaction?.blockChain||""]||e.wallets[t.tonTransaction?.blockChain||""]||e.wallets[t.suiTransaction?.blockChain||""]||t.transferTransaction?.fromWalletAddress||null)!==null,"isTxAlreadyCreated");function de(e){let{getStorage:t,setStorage:n}=e,r=t().swapDetails,a=E(r);a?.networkStatus&&(a.networkStatus=null,n({...t(),swapDetails:r}))}u(de,"resetNetworkStatus");function Ne(e,t={message:"",details:"",status:null}){let{message:n,details:r,status:a}=t,{getStorage:o,setStorage:c}=e,s=o().swapDetails,l=E(s);l?.networkStatus&&(s.networkStatusExtraMessage=n,s.networkStatusExtraMessageDetail=r,l.networkStatus=a,c({...o(),swapDetails:s}))}u(Ne,"updateNetworkStatus");function ot(e,t){let{context:n,queue:r}=t,a=r.getStorage().swapDetails,{ok:o,reason:c}=Ie(a,n.state);if(!o){let s=E(a),{type:l,address:p}=D(a);T({event:{type:"tx_execution_blocked",...c==="account_miss_match"?{status:"waiting_for_change_wallet_account",requiredAccount:p??void 0}:{status:"waiting_for_wallet_connect",requiredWallet:l??void 0,requiredAccount:p??void 0}},swap:a,step:s}),Jt({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)},Le,e.reason.description);return}r.unblock()}u(ot,"onBlockForConnectWallet");function st(e,t){let{context:n,queue:r}=t,a=r.getStorage().swapDetails,o=E(a);if(!o||a.status!=="running")return;let c=tt({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)}),s=W(a,o)?.network,l=D(a).type,p=l?n.state(l).network:void 0;c&&T({event:{type:"tx_execution_blocked",status:"waiting_for_network_change",requiredNetwork:s??void 0,currentNetwork:p??void 0},swap:c.swap,step:c.step});let{type:i,namespace:S}=D(a);if(i&&S?.network&&n.canSwitchNetworkTo(i,S.network,S)){let d=n.switchNetwork(i,S);d&&d.then(()=>{r.unblock()}).catch(g=>{Ne({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)},{message:g.message,details:g.message,status:Y.NetworkChangeFailed})})}}u(st,"onBlockForChangeNetwork");function it(e,t){let{getBlockedTasks:n,forceExecute:r,queue:a,manager:o,context:c}=t,{setClaimer:s,claimedBy:l,reset:p}=ce(),i=n().filter(f=>f.reason.reason==="depends_on_other_queues");if(i.length===0)return;let S=l(),d=!!S;if(S===a.id)return;if(d){nt({getStorage:a.getStorage.bind(a),setStorage:a.setStorage.bind(a)});return}let g=i.find(f=>f.queue_id===t.queue_id);g||(g=i[0]),s(g.queue_id);let m=g.storage.get(),{type:A,namespace:x,address:v}=D(m.swapDetails);r(g.queue_id,{claimedBy:l(),resetClaimedBy:()=>{p(),A&&De({walletType:A,network:x?.network,accounts:v?[v]:[]},o,c.canSwitchNetworkTo)}})}u(it,"onDependsOnOtherQueues");function Ie(e,t){let{type:n,address:r}=D(e);if(!n||!r)return{ok:!1,reason:"not_connected"};let a=t(n),{accounts:o,connected:c}=a,s=o||[];return c?{ok:s.some(p=>{let{address:i}=Gt(p);return r.toLocaleLowerCase()===i.toLocaleLowerCase()}),reason:"account_miss_match"}:{ok:!1,reason:"not_connected"}}u(Ie,"isRequiredWalletConnected");function ct(e,t){return({hash:n,response:r})=>{let{setTransactionDataByHash:a}=ue(),{getStorage:o,next:c,schedule:s,context:l}=e,{meta:p}=l,i=o().swapDetails,S=E(i),d=L(i,S),g=Z(n,d.network,p.blockchains);jt(e,n,g&&(!r||r&&!r.hashRequiringUpdate)?{url:g,description:t.isApproval?"Approve":"Swap"}:void 0),r&&a(n,{response:r}),s("CHECK_TRANSACTION_STATUS"),c()}}u(ct,"handleSuccessfulSign");function Pe(e){return t=>{let{getStorage:n,setStorage:r,failed:a}=e,o=n().swapDetails,c=E(o),s=O(o,c);if(o.status==="failed")return;let{extraMessage:l,extraMessageDetail:p,extraMessageErrorCode:i}=X(t);Ht(t,{tags:{requestId:o.requestId,rpc:!0,swapper:c?.swapperId||"",walletType:s?.walletType||""},context:Yt.isSignerError(t)?t.getErrorContext():{}});let S=I({getStorage:n,setStorage:r,nextStatus:"failed",nextStepStatus:"failed",message:l,details:p,errorCode:i,trace:t?.cause});T({event:{type:"failed",reason:l,reasonCode:S.failureType??R,inputAmount:U(o),inputAmountUsd:B(o)},...S}),a()}}u(Pe,"handleRejectedSign");function ut(e){let{lastConnectedWallet:t,evmChains:n,manager:r}=e,{walletType:a,network:o}=t;n.some(c=>c.name==o)&&r?.getAll().forEach(c=>{let s=c.list.getStorage(),l=s?.swapDetails;if(l&&l.status==="running"){let p=E(l);if(p){let i=s?.swapDetails.wallets[p.fromBlockchain]?.walletType,S=Object.keys(c.list.state.tasks).some(g=>{let m=c.list.state.tasks[g];return m.status===ve.BLOCKED&&["waiting_for_connecting_wallet"].includes(m.blockedFor?.reason)}),d=W(l,p)?.network;if(!n.some(g=>g.name==d))return;if(i===a&&S&&d!=o){let g=c.list,{type:m}=D(l),A=oe(m);c.list.block({reason:{reason:"waiting_for_network_change",description:A},silent:!0});let x=tt({getStorage:g.getStorage.bind(g),setStorage:g.setStorage.bind(g)});x&&T({event:{type:"tx_execution_blocked",status:"waiting_for_network_change",currentNetwork:o,requiredNetwork:d??void 0},swap:x.swap,step:x.step})}}}})}u(ut,"checkWaitingForConnectWalletChange");function Oe(e){e?.getAll().forEach(t=>{if(Object.keys(t.list.state.tasks).some(r=>{let a=t.list.state.tasks[r];return a.status===ve.BLOCKED&&["waiting_for_network_change","depends_on_other_queues"].includes(a.blockedFor?.reason)})){let r=t.list.getStorage()?.swapDetails;if(r.status==="running"){let{type:a}=D(r),o=ae(a);t.list.block({reason:{reason:"waiting_for_connecting_wallet",description:o}})}}})}u(Oe,"checkWaitingForNetworkChange");function tn(e){let t=e?.getAll()||new Map,n=[];return t.forEach(r=>{let o=r.list.getStorage()?.swapDetails;!o||o.status!=="running"||n.push(o)}),n}u(tn,"getRunningSwaps");function nn(e){e.forEach(t=>{let n=E(t),r="tx_execution_blocked",a;n?.networkStatus===Y.WaitingForQueue?a="waiting_for_queue":t?.status==="running"&&(a="waiting_for_wallet_connect"),r&&T&&T({event:{type:r,status:a??"waiting_for_queue"},swap:t,step:n})})}u(nn,"resetRunningSwapNotifsOnPageLoad");function De(e,t,n,r={fallbackToOnlyWallet:!0}){let{walletType:a,network:o}=e;if(!a)return;let c=[],s=[];t?.getAll().forEach(p=>{if(p.status===ve.BLOCKED){let i=p.list.getStorage(),S=i?.swapDetails;if(S&&S.status==="running"){let d=E(S);d&&(o&&W(S,d)?.network==o&&i?.swapDetails.wallets[o]?.walletType===a?c.push(p.list):i?.swapDetails.wallets[d.fromBlockchain]?.walletType===a&&s.push(p.list))}}});let l;if(c.length>0){if(l=c[0],c.length>1)for(let p=1;p<c.length;p++){let i=c[p];nt({getStorage:i.getStorage.bind(i),setStorage:i.setStorage.bind(i)})}}else s.length>0&&r.fallbackToOnlyWallet&&(l=s[0]);if(l){let p=l.getStorage(),i=E(p?.swapDetails),S=i?W(p.swapDetails,i):null;!o||!S||!n?.(a,o,S)?l.unblock():l.checkBlock()}}u(De,"retryOn");function lt(e){return!!e.evmTransaction||!!e.evmApprovalTransaction}u(lt,"isNeedBlockQueueForParallel");async function pt(e){let t=await e;if(!t.ok||!t.transaction)throw P.CreateTransaction(t.error||"bad response from create tx endpoint");return t}u(pt,"throwOnOK");function rn(e,t){let{reset:n}=ce();e.actions.cancel();let r=I({getStorage:e.actions.getStorage,setStorage:e.actions.setStorage,message:"Swap canceled by user.",details:"Warning: If you've already signed and sent a transaction, it won't be affected, but next swap steps will not be executed.",nextStatus:"failed",nextStepStatus:"failed",errorCode:"USER_CANCEL"});return T({event:{type:"failed",reasonCode:"USER_CANCEL",reason:r.swap.extraMessage??void 0,inputAmount:U(r.swap),inputAmountUsd:B(r.swap)},swap:r.swap,step:r.step}),n(),t&&t?.retry(),r}u(rn,"cancelSwap");function V(e){return e.slice().reverse().find(t=>t.status==="success")}u(V,"getLastSuccessfulStep");function ze(e){return e.slice().reverse().find(t=>t.status==="failed")}u(ze,"getFailedStep");function an(e){let{transaction:t}=e;return t?.type===N.EVM&&t.isApprovalTx||t?.type===N.STARKNET&&t.isApprovalTx||t?.type===N.TRON&&t.isApprovalTx}u(an,"isApprovalTX");function Se(e,t){let n=new Vt(e).multipliedBy(t);return isNaN(n.toNumber())?"":n.toString()}u(Se,"getTokenAmountInUsd");function ke(e){return Se(e.inputAmount,e.steps[0].fromUsdPrice??"")}u(ke,"getSwapInputUsd");function Ze(e){let t=e.steps[e.steps.length-1];return Se(t.outputAmount??"",t.toUsdPrice??"")}u(Ze,"getSwapOutputUsd");function dt(e){let t=["success","failed"],n=e.steps.findLastIndex(r=>t.includes(r.status));return n<0?void 0:{step:e.steps[n],index:n}}u(dt,"getLastFinishedStep");function U(e){let t=dt(e);return t?t.index===0?e.inputAmount:e.steps[t.index-1].outputAmount??"":""}u(U,"getLastFinishedStepInput");function B(e){let t=dt(e);return Se(U(e),t?.step?.fromUsdPrice??"")}u(B,"getLastFinishedStepInputUsd");function ge(e){let t=V(e.steps);return Se(t?.outputAmount??"",t?.toUsdPrice??"")}u(ge,"getLastSuccessfulStepOutputUsd");function J(e,t,n){return{type:"failed",reason:t,reasonCode:n??R,inputAmount:U(e),inputAmountUsd:B(e)}}u(J,"createStepFailedEvent");var St=5e3,on=5e3;async function sn({getStorage:e,setStorage:t,next:n,schedule:r,retry:a,failed:o,context:c}){let s=e().swapDetails,{meta:l}=c,p=new Error("check status Error"),i=E(s);if(!i?.executedTransactionId)return;let S=h(i),d=i.executedTransactionId,g=!1,m=null,A=null,{getTransactionDataByHash:x,setTransactionDataByHash:v}=ue();try{let w=Re(i),C=O(s,i);w&&C&&(A=(await c.getSigners(C.walletType)).getSigner(w))}catch{}try{let{response:w,receiptReceived:C}=x(d);if(A?.wait&&!C){let M=S?.blockChain&&l.blockchains?.[S?.blockChain]?.chainId||void 0,{hash:Q,response:te}=await A.wait(d,M,w);if(Q!==d){i.executedTransactionId=Q||i.executedTransactionId;let ne=L(s,i),fe;!!Object.keys(l.blockchains).length&&(fe=Z(i.executedTransactionId,ne.network,l.blockchains)),fe&&i.explorerUrl&&i.explorerUrl?.length>=1&&(i.explorerUrl[i.explorerUrl.length-1]={url:fe,description:"Replaced Swap"}),d=i.executedTransactionId,Q&&te&&v(Q,{response:te})}else v(Q,{receiptReceived:!0})}}catch(w){let{extraMessage:C,extraMessageDetail:M,extraMessageErrorCode:Q}=X(w),te=I({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:C,details:M,errorCode:Q}),ne=J(s,C,te.failureType);z(p,{tags:{type:"singer-error",reason:ne.reason,reasonCode:ne.reasonCode,message:C,messageDetail:M,pendingSwap:s},context:gt.isSignerError(w)?w.getErrorContext():{}}),g=!0}let f={requestId:s.requestId,txId:d,step:i.id};try{m=await q().checkStatus(f)}catch{await pe(St),a(),z(p,{tags:{type:"request-error",requestBody:f,pendingSwap:s}});return}if(g)return o();if(i?.status==="failed")return;let y=m?.outputAmount||(i.outputAmount?i.outputAmount:null),k=i.outputAmount||null;s.extraMessage=m?.extraMessage||s.extraMessage,s.extraMessageSeverity="info",s.extraMessageDetail="",i.status=m?.status||i.status,i.diagnosisUrl=m?.diagnosisUrl||i.diagnosisUrl||null,i.outputAmount=y||i.outputAmount,i.explorerUrl=m?.explorerUrl||i.explorerUrl,i.internalSteps=m?.steps||null;let _=m?.newTx;if(_&&(i.status="created",i.executedTransactionId=null,i.executedTransactionTime=null,le(i,_)),k===null&&y!==null?T({event:{type:"output_revealed",outputAmount:y},swap:s,step:i}):k===null&&y===null&&T({event:{type:"check_status"},swap:s,step:i}),i.status==="success"){let w=$e(s,i);s.extraMessageDetail="",s.extraMessage=w?`starting next step: ${w.swapperId}: ${w.fromBlockchain} -> ${w.toBlockchain}`:"",T({event:{type:"succeeded",inputAmount:U(s),inputAmountUsd:B(s),outputAmount:i.outputAmount??"",outputAmountUsd:ge(s)},swap:s,step:i})}else i.status==="failed"&&(s.extraMessage="Transaction failed in blockchain",s.extraMessageSeverity="error",s.extraMessageDetail=m?.extraMessage||"",s.status="failed",s.finishTime=new Date().getTime().toString(),z(p,{tags:{type:"transaction-failed",message:s.extraMessage,messageDetails:s.extraMessageDetail,pendingSwap:s}}));t({...e(),swapDetails:s}),m?.status==="failed"?o():m?.status==="success"||m?.status==="running"&&m.newTx?(r("SCHEDULE_NEXT_STEP"),n()):(await pe(St),a())}u(sn,"checkTransactionStatus");async function cn({getStorage:e,setStorage:t,next:n,schedule:r,retry:a,failed:o,context:c}){let s=e().swapDetails,{meta:l}=c,{getTransactionDataByHash:p,setTransactionDataByHash:i}=ue(),S=new Error("check approval status error"),d=E(s);if(!d){console.log("ignore check status, current step is null");return}let g=h(d);if(!d?.executedTransactionId)return;let m=d.executedTransactionId,A=null;try{let f=Re(d),y=O(s,d);f&&y&&(A=(await c.getSigners(y.walletType)).getSigner(f))}catch{}try{let{response:f,receiptReceived:y}=p(m);if(A?.wait&&!y){let k=g?.blockChain&&l.blockchains?.[g?.blockChain]?.chainId||void 0,{hash:_,response:w}=await A.wait(m,k,f);if(_!==m){d.executedTransactionId=_||d.executedTransactionId;let C=L(s,d),M;!!Object.keys(l.blockchains).length&&(M=Z(d.executedTransactionId,C.network,l.blockchains)),M&&d.explorerUrl&&d.explorerUrl?.length>=1&&(d.explorerUrl[d.explorerUrl.length-1]={url:M,description:"Replaced Approve"}),m=d.executedTransactionId,_&&w&&i(_,{response:w})}else i(_,{receiptReceived:!0})}}catch(f){let{extraMessage:y,extraMessageDetail:k,extraMessageErrorCode:_}=X(f),w=I({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:y,details:k,errorCode:_}),C=J(s,y,w.failureType);return T({event:C,...w}),z(S,{tags:{type:"singer-error",reason:C.reason,reasonCode:C.reasonCode,message:y,messageDetail:k,pendingSwap:s},context:gt.isSignerError(f)?f.getErrorContext():{}}),o()}let x=!1,v={requestId:s.requestId,txId:d.executedTransactionId};try{let f=await q().checkApproval(v.requestId,v.txId);if(d?.status==="failed")return;if(x=f.isApproved,!x&&(f.txStatus==="failed"||f.txStatus==="success")){let y,k;f.txStatus==="failed"?(y="Approve transaction failed",k="Smart contract approval tx failed in blockchain."):(y="Not enough approval",f.requiredApprovedAmount&&f.currentApprovedAmount?k=`Required approval: ${f.requiredApprovedAmount}, current approval: ${f.currentApprovedAmount}`:k="You still don't have enough approval for this swap.");let _=I({getStorage:e,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",errorCode:"INSUFFICIENT_APPROVE",message:y,details:k}),w=J(s,y,_.failureType);T({event:w,..._}),z(S,{tags:{type:"approval-failed",message:s.extraMessage,messageDetails:s.extraMessageDetail,pendingSwap:s}}),o()}else x||T({event:{type:"check_status"},swap:s,step:d})}catch{x=!1,z(S,{tags:{type:"request-error",requestBody:v,pendingSwap:s}})}x?(d.status="approved",s.extraMessage=`Spending ${d.fromSymbol} approved successfully.`,s.extraMessageDetail=null,s.extraMessageSeverity="success",d.evmApprovalTransaction=null,d.executedTransactionId=null,d.executedTransactionTime=null,d.starknetApprovalTransaction=null,d.tronApprovalTransaction=null,t({...e(),swapDetails:s}),T({event:{type:"approval_tx_succeeded"},swap:s,step:d}),r("SCHEDULE_NEXT_STEP"),n()):(await pe(on),a())}u(cn,"checkApprovalStatus");async function mt(e){let t=e.getStorage().swapDetails,n=E(t);if(!n){console.log("ignore check status, current step is null",t.requestId);return}de(e),n.status==="running"?await sn(e):n.status==="waitingForApproval"&&await cn(e)}u(mt,"checkStatus");import{warn as un}from"@rango-dev/logging-core";async function Et(e){let{setStorage:t,getStorage:n,next:r,schedule:a}=e,o=n().swapDetails,c=E(o);if(!h(c)){T({event:{type:"tx_execution",status:"create_tx"},swap:o,step:c});let l={requestId:o.requestId,step:c.id,userSettings:{slippage:o.settings.slippage,infiniteApprove:o.settings.infiniteApprove},validations:{balance:o.validateBalanceOrFee,fee:o.validateBalanceOrFee,approve:!0}};try{let{transaction:p}=await pt(q().createTransaction(l));p&&le(c,p),t({...n(),swapDetails:o}),a("EXECUTE_TRANSACTION"),r()}catch(p){o.status="failed",o.finishTime=new Date().getTime().toString();let{extraMessage:i,extraMessageDetail:S}=X(p),d=I({getStorage:n,setStorage:t,nextStatus:"failed",nextStepStatus:"failed",message:i,details:S,errorCode:"FETCH_TX_FAILED"}),g=J(o,i,d.failureType);T({event:g,...d}),p instanceof Error&&un(new Error("create transaction error"),{tags:{message:p.message,requestBody:l,reason:g.reason,reasonCode:g.reasonCode,pendingSwap:o}}),e.failed()}}}u(Et,"createTransaction");import{PendingSwapNetworkStatus as Tt}from"rango-types";import{Err as Ee,Ok as We}from"ts-results";function me(e){return e.claimedBy===e._queue?.id}u(me,"isClaimedByCurrentQueue");function ft(e,t){e.block(t),me(e.context)&&e.context.resetClaimedBy&&e.context.resetClaimedBy()}u(ft,"requestBlockQueue");async function wt(e){let{getStorage:t,context:n}=e,r=t().swapDetails,a=E(r),o=ln(e);if(o.err)return o;let c=await pn(e);if(c.err)return c;a.networkStatus===Tt.NetworkChanged&&Ne(e,{message:"",details:"The network has been successfully changed.",status:Tt.NetworkChanged});let s=lt(a),l=me(n);if(s&&!l){let p={reason:"depends_on_other_queues",description:xe,details:{}};return new Ee(p)}return new We(!0)}u(wt,"checkEnvironmentBeforeExecuteTransaction");function ln(e){let{getStorage:t,context:n}=e,{wallets:r}=n,a=t().swapDetails;if(!Ie(a,n.state).ok){let{type:c,address:s}=D(a),l=r?.blockchains?.find(S=>!S.accounts?.find(d=>d.walletType===c)),p=he(r)||l?ae(c):Be(c,s),i={reason:"waiting_for_connecting_wallet",description:p};return new Ee(i)}return new We(!0)}u(ln,"ensureRequiredWalletIsConnected");async function pn(e){let{getStorage:t,context:n}=e,{meta:r,wallets:a,providers:o,hubProvider:c}=n,s=t().swapDetails,l=E(s),p=await rt(s,l,a,r,o,c),{claimedBy:i}=ce();if(!!i()&&!me(n)&&!p){let g=xe,m={reason:"depends_on_other_queues",details:g};return new Ee(m)}else if(!p){let g=L(s,l),m=oe(g.network),A={reason:"waiting_for_network_change",details:m};return new Ee(A)}return new We(!0)}u(pn,"ensureWalletIsOnCorrectNetwork");import{Err as At,Ok as yt}from"ts-results";function xt(e){let{getStorage:t,context:n}=e,{isMobileWallet:r}=n,a=t().swapDetails,o=E(a),c=O(a,o),s=r(c?.walletType),l=h(o),p=b(o);if(!l||!l.type)return new At({nextStatus:"failed",nextStepStatus:"failed",message:"Unexpected Error: tx is null!",details:void 0,errorCode:"CLIENT_UNEXPECTED_BEHAVIOUR"});let i=typeof a.hasAlreadyProceededToSign=="boolean";return p?new yt({nextStatus:void 0,nextStepStatus:"waitingForApproval",details:"Waiting for approve transaction to be mined and confirmed successfully",message:`Waiting for approval of ${o?.fromSymbol} coin ${s?"on your mobile phone!":""}`}):i?new At({message:"Transaction is expired. Please try again.",nextStepStatus:"failed",nextStatus:"failed",details:"",errorCode:"TX_EXPIRED"}):new yt({message:"Executing transaction ...",nextStepStatus:"running",nextStatus:"running",details:`${s?"Check your mobile phone!":""}`})}u(xt,"produceNextStateForTransaction");function Ct(e,t){let{getStorage:n,setStorage:r}=e,a=n().swapDetails,o=E(a),c=b(o),s=typeof a.hasAlreadyProceededToSign=="boolean",l=I({getStorage:n,setStorage:r,nextStepStatus:t.nextStepStatus,nextStatus:t.nextStatus,message:t.message,details:t.details,errorCode:t.errorCode,hasAlreadyProceededToSign:c?void 0:s});T({event:{type:"failed",reason:t.message,reasonCode:l.failureType??R,inputAmount:U(a),inputAmountUsd:B(a)},...l})}u(Ct,"onNextStateError");function kt(e,t){let{getStorage:n,setStorage:r}=e,a=n().swapDetails,o=E(a),c=b(o),s=typeof a.hasAlreadyProceededToSign=="boolean",l=I({getStorage:n,setStorage:r,nextStepStatus:t.nextStepStatus,nextStatus:t.nextStatus,message:t.message,details:t.details,hasAlreadyProceededToSign:c?void 0:s});T({event:{type:"tx_execution",status:"send_tx"},...l})}u(kt,"onNextStateOk");async function be(e){let t=await wt(e);if(t.err){ft(e,t.val);return}de(e);let{failed:n,getStorage:r,context:a}=e,{meta:o,getSigners:c}=a,s=r().swapDetails,l=E(s),p=b(l),i=u(()=>{e.context.resetClaimedBy&&e.context.resetClaimedBy()},"onFinish"),S=xt(e);if(S.err){Ct(e,S.val),n(),i();return}kt(e,S.val);let d=h(l),g=O(s,l),m=Ye(s,l),A=o.blockchains?.[d.blockChain]?.chainId,x;try{x=await c(g.walletType)}catch(f){Pe(e)(f),i();return}await x.getSigner(d.type).signAndSendTx(d,m,A).then(ct(e,{isApproval:p}),Pe(e)).finally(()=>{i()})}u(be,"executeTransaction");function _t({schedule:e,next:t,failed:n,setStorage:r,getStorage:a}){let o=a().swapDetails,c=E(o),s=o.steps.find(l=>l.status==="failed");if(c&&!s){if(at(o,c))return e("EXECUTE_TRANSACTION"),t();if(c?.executedTransactionId)return e("CHECK_TRANSACTION_STATUS"),t();o.status="running",r({...a(),swapDetails:o}),T({event:{type:"started"},swap:o,step:c}),e("CREATE_TRANSACTION"),t()}else{o.status=s?"failed":"success",o.finishTime=new Date().getTime().toString(),r({...a(),swapDetails:o});let l=U(o),p=B(o);T({...s?{event:{type:"failed",reason:o.extraMessage??void 0,reasonCode:"CALL_OR_SEND_FAILED",inputAmount:l,inputAmountUsd:p}}:{event:{type:"succeeded",inputAmount:l,inputAmountUsd:p,outputAmount:V(o.steps)?.outputAmount??"",outputAmountUsd:ge(o)}},swap:o,step:null}),s?n():t()}}u(_t,"scheduleNextStep");function vt({schedule:e,next:t,getStorage:n}){let r=n().swapDetails;T({event:{type:"started"},swap:r,step:null}),e("SCHEDULE_NEXT_STEP"),t()}u(vt,"start");var Rt={name:"swap",actions:{START:vt,SCHEDULE_NEXT_STEP:_t,CREATE_TRANSACTION:Et,EXECUTE_TRANSACTION:be,CHECK_TRANSACTION_STATUS:mt},run:["START"],whenTaskBlocked:(e,t)=>{e.reason.reason==="waiting_for_connecting_wallet"?ot(e,t):e.reason.reason==="waiting_for_network_change"?st(e,t):e.reason.reason==="depends_on_other_queues"&&it(e,t)}};import{useManager as En}from"@rango-dev/queue-manager-react";import{useEffect as Me,useState as fn}from"react";import{DB_NAME as dn,Persistor as Sn,Status as ee}from"@rango-dev/queue-manager-core";import{v4 as gn}from"uuid";var ht="migratedToQueueManager";function Ue(){return!!window.localStorage.getItem(ht)}u(Ue,"migrated");async function mn(){try{return(await window.indexedDB.databases()).map(e=>e.name).includes(dn)}catch{return!1}}u(mn,"hasQueueManagerOnIDB");async function Nt(){let e=window.localStorage.getItem("pendingSwaps"),t=await mn();if(!e||Ue()||t)return!0;let n=JSON.parse(e),r=[];n.forEach(c=>{if(c.status==="running"){let s=gn(),l={id:c.requestId,createdAt:Number(c.creationTime),name:"swap",status:ee.RUNNING,storage:{swapDetails:c},state:{status:ee.RUNNING,activeTaskIndex:0,tasks:{[s]:{blockedFor:null,status:ee.RUNNING}}},tasks:[{id:s,action:"SCHEDULE_NEXT_STEP"}]};r.push(l)}else{let s=c.status==="success"?ee.SUCCESS:ee.FAILED,l={id:c.requestId,createdAt:Number(c.creationTime),name:"swap",status:s,storage:{swapDetails:c},state:{status:s,activeTaskIndex:0,tasks:{}},tasks:[]};r.push(l)}});let a=new Sn,o=r.map(async c=>a.insertQueue(c));return await Promise.all(o),window.localStorage.setItem(ht,"1"),!0}u(Nt,"migration");var It=0;function Tn(e){return`${e?.walletType}-${e?.network}-${e?.accounts?.toString()}`}u(Tn,"getLastConnectedWalletHash");function wn(){let e=Ue(),[t,n]=fn(e);return Me(()=>{(async()=>It||(It=1,Nt().finally(()=>{n(!0)})))()},[]),{status:t}}u(wn,"useMigration");function An(e){let{manager:t}=En(),{lastConnectedWallet:n,disconnectedWallet:r,evmChains:a,canSwitchNetworkTo:o,clearDisconnectedWallet:c}=e;Me(()=>{n&&(ut({evmChains:a,lastConnectedWallet:n,manager:t}),De(n,t,o))},[Tn(n)]),Me(()=>{r&&(Oe(t),c())},[r])}u(An,"useQueueManager");function Ua(e){return Fe(e),Rt}u(Ua,"makeQueueDefinition");export{ye as EventSeverity,ie as MessageSeverity,P as PrettyError,Ae as RouteEventType,F as StepEventType,re as StepExecutionBlockedEventStatus,$ as StepExecutionEventStatus,we as WidgetEvents,Bt as calculatePendingSwap,rn as cancelSwap,Oe as checkWaitingForNetworkChange,W as getCurrentNamespaceOfOrNull,E as getCurrentStep,V as getLastSuccessfulStep,O as getRelatedWallet,Ce as getRelatedWalletOrNull,D as getRequiredWallet,tn as getRunningSwaps,je as getUsdPrice,an as isApprovalTX,Ua as makeQueueDefinition,X as prettifyErrorMessage,nn as resetRunningSwapNotifsOnPageLoad,I as updateSwapStatus,wn as useMigration,An as useQueueManager};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|