@rango-dev/queue-manager-rango-preset 0.1.10-next.98 → 0.1.10
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/dist/actions/checkStatus.d.ts.map +1 -1
- package/dist/actions/createTransaction.d.ts.map +1 -1
- package/dist/actions/scheduleNextStep.d.ts.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/helpers.d.ts +41 -13
- package/dist/helpers.d.ts.map +1 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/index.d.ts +4 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/queue-manager-rango-preset.cjs.development.js +383 -300
- package/dist/queue-manager-rango-preset.cjs.development.js.map +1 -1
- package/dist/queue-manager-rango-preset.cjs.production.min.js +1 -1
- package/dist/queue-manager-rango-preset.cjs.production.min.js.map +1 -1
- package/dist/queue-manager-rango-preset.esm.js +363 -286
- package/dist/queue-manager-rango-preset.esm.js.map +1 -1
- package/dist/shared-errors.d.ts +5 -37
- package/dist/shared-errors.d.ts.map +1 -1
- package/dist/shared.d.ts +20 -17
- package/dist/shared.d.ts.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/readme.md +1 -9
- package/src/actions/checkStatus.ts +54 -3
- package/src/actions/createTransaction.ts +2 -3
- package/src/actions/executeTransaction.ts +3 -3
- package/src/actions/scheduleNextStep.ts +1 -0
- package/src/constants.ts +1 -1
- package/src/helpers.ts +202 -172
- package/src/hooks.ts +2 -1
- package/src/index.ts +18 -44
- package/src/shared-errors.ts +53 -76
- package/src/shared.ts +34 -54
- package/src/types.ts +1 -0
package/dist/shared-errors.d.ts
CHANGED
|
@@ -1,47 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { APIErrorCode, SignerErrorCode } from 'rango-types';
|
|
2
2
|
export declare type ErrorDetail = {
|
|
3
3
|
extraMessage: string;
|
|
4
4
|
extraMessageDetail?: string | null | undefined;
|
|
5
|
-
extraMessageErrorCode:
|
|
5
|
+
extraMessageErrorCode: SignerErrorCode | APIErrorCode | null;
|
|
6
6
|
};
|
|
7
|
-
export declare enum APIErrorCode {
|
|
8
|
-
TX_FAIL = "TX_FAIL",
|
|
9
|
-
FETCH_TX_FAILED = "FETCH_TX_FAILED",
|
|
10
|
-
USER_REJECT = "USER_REJECT",
|
|
11
|
-
CALL_WALLET_FAILED = "CALL_WALLET_FAILED",
|
|
12
|
-
SEND_TX_FAILED = "SEND_TX_FAILED",
|
|
13
|
-
CALL_OR_SEND_FAILED = "CALL_OR_SEND_FAILED",
|
|
14
|
-
USER_CANCEL = "USER_CANCEL",
|
|
15
|
-
CLIENT_UNEXPECTED_BEHAVIOUR = "CLIENT_UNEXPECTED_BEHAVIOUR"
|
|
16
|
-
}
|
|
17
|
-
export declare enum ApiMethodName {
|
|
18
|
-
RequestingSwapTransaction = "Requesting Swap Transaction",
|
|
19
|
-
CreatingSwap = "Creating Swap",
|
|
20
|
-
CheckingTransactionStatus = "Checking transaction status",
|
|
21
|
-
CreateTransaction = "Create Transaction",
|
|
22
|
-
CheckApproval = "Check TX Approval",
|
|
23
|
-
GettingSwapDetail = "Getting Swap Detail",
|
|
24
|
-
GettingUserLimits = "Getting user limits"
|
|
25
|
-
}
|
|
26
|
-
export declare enum TransactionName {
|
|
27
|
-
GenericTransaction = "transaction",
|
|
28
|
-
SendingOneInchTransaction = "1inch transaction",
|
|
29
|
-
Approval = "approve transaction"
|
|
30
|
-
}
|
|
31
|
-
export declare const ERROR_ASSERTION_FAILED = "Assertion failed (Unexpected behaviour)";
|
|
32
|
-
export declare const ERROR_COMMUNICATING_WITH_API: (apiMethodName: ApiMethodName) => string;
|
|
33
|
-
export declare const ERROR_DESCRIPTION_UNSUPPORTED_TRANSACTION: (method: string, walletType: WalletType) => string;
|
|
34
|
-
export declare const ERROR_SIGNING_TRANSACTION: (transactionName: TransactionName) => string;
|
|
35
|
-
export declare const ERROR_REJECTING_TRANSACTION = "User rejected the message signing";
|
|
36
|
-
export declare const ERROR_CREATE_TRANSACTION = "Create transaction failed in Rango Server";
|
|
37
|
-
export declare const ERROR_INPUT_WALLET_NOT_FOUND = "Input wallet not found";
|
|
38
|
-
export declare const DEFAULT_WALLET_INJECTION_ERROR = "Failed to connect to wallet, if you have turned injection off (disable default wallet for xDefi), turn it on and refresh the page";
|
|
39
7
|
declare type ErrorRoot = string | Record<string, string> | null;
|
|
40
8
|
export declare class PrettyError extends Error {
|
|
41
9
|
private readonly detail?;
|
|
42
10
|
private readonly root?;
|
|
43
11
|
private readonly code?;
|
|
12
|
+
_isPrettyError: boolean;
|
|
44
13
|
constructor(code: APIErrorCode, m: string, root?: ErrorRoot, detail?: string);
|
|
14
|
+
static isPrettyError(obj: unknown): obj is PrettyError;
|
|
45
15
|
getErrorDetail(): ErrorDetail;
|
|
46
16
|
static AssertionFailed(m: string): PrettyError;
|
|
47
17
|
static BadStatusCode(message: string, statusCode: number | string): PrettyError;
|
|
@@ -49,9 +19,7 @@ export declare class PrettyError extends Error {
|
|
|
49
19
|
static WalletMissing(): PrettyError;
|
|
50
20
|
static BlockchainMissing(): PrettyError;
|
|
51
21
|
}
|
|
52
|
-
export declare const ERROR_GETTING_BEST_ROUTE: (status: number | string) => string;
|
|
53
|
-
export declare const ERROR_CONFIRM_SWAP: (status?: string | number | undefined) => string;
|
|
54
|
-
export declare const WARNING_STARKNET_FOUND = "StarknNet blockchain is still an ALPHA version. As such, delays may occur, and catastrophic bugs may lurk.";
|
|
55
22
|
export declare function mapAppErrorCodesToAPIErrorCode(errorCode: string | null): APIErrorCode;
|
|
23
|
+
export declare const prettifyErrorMessage: (obj: unknown) => ErrorDetail;
|
|
56
24
|
export {};
|
|
57
25
|
//# sourceMappingURL=shared-errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-errors.d.ts","sourceRoot":"","sources":["src/shared-errors.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"shared-errors.d.ts","sourceRoot":"","sources":["src/shared-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,eAAe,EAGhB,MAAM,aAAa,CAAC;AAErB,oBAAY,WAAW,GAAG;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/C,qBAAqB,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAAC;CAC9D,CAAC;AAMF,aAAK,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;AAExD,qBAAa,WAAY,SAAQ,KAAK;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAe;IAC9B,cAAc,UAAQ;gBAG3B,IAAI,EAAE,YAAY,EAClB,CAAC,EAAE,MAAM,EACT,IAAI,CAAC,EAAE,SAAS,EAChB,MAAM,CAAC,EAAE,MAAM;IAUjB,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,WAAW;IAOtD,cAAc,IAAI,WAAW;IAkB7B,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW;IAQ9C,MAAM,CAAC,aAAa,CAClB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,MAAM,GAC1B,WAAW;IASd,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW;IASrD,MAAM,CAAC,aAAa,IAAI,WAAW;IASnC,MAAM,CAAC,iBAAiB,IAAI,WAAW;CAQxC;AAED,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,YAAY,CAoBd;AAED,eAAO,MAAM,oBAAoB,QAAS,OAAO,KAAG,WAsBnD,CAAC"}
|
package/dist/shared.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Network, WalletType } from '@rango-dev/wallets-shared';
|
|
2
|
-
import { CosmosTransaction, EvmBlockchainMeta, EvmTransaction, SimulationResult, SolanaTransaction, StarknetTransaction, TronTransaction, Transfer as TransferTransaction } from 'rango-sdk';
|
|
3
|
-
import { ErrorDetail } from './shared-errors';
|
|
2
|
+
import { CosmosTransaction, EvmBlockchainMeta, EvmTransaction, SimulationResult, SolanaTransaction, StarknetTransaction, TronTransaction, Transfer as TransferTransaction, AmountRestrictionType } from 'rango-sdk';
|
|
4
3
|
export interface PendingSwapWithQueueID {
|
|
5
4
|
id: string;
|
|
6
5
|
swap: PendingSwap;
|
|
@@ -37,7 +36,7 @@ export declare type Blockchain = {
|
|
|
37
36
|
export declare type Wallet = {
|
|
38
37
|
blockchains: Blockchain[];
|
|
39
38
|
};
|
|
40
|
-
export declare type EventType = 'swap_started' | 'confirm_contract' | 'confirm_transfer' | 'task_failed' | 'task_completed' | 'task_canceled' | 'task_paused' | 'contract_confirmed' | 'contract_rejected' | '
|
|
39
|
+
export declare type EventType = 'swap_started' | 'confirm_contract' | 'confirm_transfer' | 'task_failed' | 'task_completed' | 'task_canceled' | 'task_paused' | 'contract_confirmed' | 'confirm_approve_contract' | 'contract_rejected' | 'check_tx_status' | 'check_approve_tx_status' | 'transfer_rejected' | 'calling_smart_contract' | 'smart_contract_called' | 'smart_contract_call_failed' | 'step_completed_with_output' | 'waiting_for_network_change' | 'waiting_for_connecting_wallet' | 'waiting_for_change_wallet_account' | 'network_changed' | 'not_enough_balance' | 'waiting_for_queue' | 'check_fee_failed' | 'route_failed_to_find' | 'transaction_expired';
|
|
41
40
|
export declare type SwapSavedSettings = {
|
|
42
41
|
slippage: string;
|
|
43
42
|
disabledSwappersIds: string[];
|
|
@@ -60,7 +59,6 @@ export declare type SwapExplorerUrl = {
|
|
|
60
59
|
url: string;
|
|
61
60
|
description: string | null;
|
|
62
61
|
};
|
|
63
|
-
export declare type SwapperId = 'ThorChain' | 'OneInchEth' | 'Binance Bridge' | 'OneInchBsc' | 'OneInchPolygon' | 'Terra Bridge' | 'TerraSwap' | 'Osmosis' | 'Lido' | 'PoS Bridge' | 'Wormhole';
|
|
64
62
|
export declare type StepStatus = 'created' | 'running' | 'failed' | 'success' | 'waitingForApproval' | 'approved';
|
|
65
63
|
export declare type PendingSwapStep = {
|
|
66
64
|
id: number;
|
|
@@ -68,34 +66,37 @@ export declare type PendingSwapStep = {
|
|
|
68
66
|
fromSymbol: string;
|
|
69
67
|
fromSymbolAddress: string | null;
|
|
70
68
|
fromDecimals: number;
|
|
71
|
-
fromAmountPrecision:
|
|
72
|
-
fromAmountMinValue:
|
|
73
|
-
fromAmountMaxValue:
|
|
69
|
+
fromAmountPrecision: string | null;
|
|
70
|
+
fromAmountMinValue: string | null;
|
|
71
|
+
fromAmountMaxValue: string | null;
|
|
72
|
+
fromAmountRestrictionType: AmountRestrictionType | null;
|
|
74
73
|
fromLogo: string;
|
|
75
74
|
toBlockchain: string;
|
|
76
75
|
toSymbol: string;
|
|
77
76
|
toSymbolAddress: string | null;
|
|
78
77
|
toDecimals: number;
|
|
79
78
|
toLogo: string;
|
|
80
|
-
swapperId:
|
|
79
|
+
swapperId: string;
|
|
81
80
|
expectedOutputAmountHumanReadable: string | null;
|
|
82
81
|
startTransactionTime: number;
|
|
83
|
-
|
|
82
|
+
internalSteps: SwapperStatusStep[] | null;
|
|
83
|
+
estimatedTimeInSeconds: number | null;
|
|
84
84
|
status: StepStatus;
|
|
85
85
|
networkStatus: PendingSwapNetworkStatus | null;
|
|
86
86
|
executedTransactionId: string | null;
|
|
87
|
+
executedTransactionTime: string | null;
|
|
87
88
|
explorerUrl: SwapExplorerUrl[] | null;
|
|
88
|
-
|
|
89
|
-
|
|
89
|
+
diagnosisUrl: string | null;
|
|
90
|
+
outputAmount: string | null;
|
|
90
91
|
cosmosTransaction: CosmosTransaction | null;
|
|
91
92
|
transferTransaction: TransferTransaction | null;
|
|
92
93
|
solanaTransaction: SolanaTransaction | null;
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
tronTransaction: TronTransaction | null;
|
|
94
|
+
evmApprovalTransaction: EvmTransaction | null;
|
|
95
|
+
evmTransaction: EvmTransaction | null;
|
|
96
96
|
tronApprovalTransaction: TronTransaction | null;
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
tronTransaction: TronTransaction | null;
|
|
98
|
+
starknetApprovalTransaction: StarknetTransaction | null;
|
|
99
|
+
starknetTransaction: StarknetTransaction | null;
|
|
99
100
|
};
|
|
100
101
|
export declare type WalletTypeAndAddress = {
|
|
101
102
|
walletType: WalletType;
|
|
@@ -136,8 +137,10 @@ export declare const getCurrentBlockchainOf: (swap: PendingSwap, step: PendingSw
|
|
|
136
137
|
export declare const getEvmApproveUrl: (tx: string, network: Network, evmBasedBlockchains: EvmBlockchainMeta[]) => string;
|
|
137
138
|
export declare const getStarknetApproveUrl: (tx: string) => string;
|
|
138
139
|
export declare const getTronApproveUrl: (tx: string) => string;
|
|
139
|
-
export declare const prettifyErrorMessage: (obj: unknown) => ErrorDetail;
|
|
140
140
|
export declare function getNextStep(swap: PendingSwap, currentStep: PendingSwapStep): PendingSwapStep | null;
|
|
141
|
+
/**
|
|
142
|
+
* Returns the wallet address, based on the current step of `PendingSwap`.
|
|
143
|
+
*/
|
|
141
144
|
export declare const getCurrentAddressOf: (swap: PendingSwap, step: PendingSwapStep) => string;
|
|
142
145
|
export declare function getRelatedWallet(swap: PendingSwap, currentStep: PendingSwapStep): WalletTypeAndAddress;
|
|
143
146
|
export declare function getRelatedWalletOrNull(swap: PendingSwap, currentStep: PendingSwapStep): WalletTypeAndAddress | null;
|
package/dist/shared.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["src/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,QAAQ,IAAI,mBAAmB,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["src/shared.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EACL,IAAI,EACJ,OAAO,EACP,WAAW,EACX,UAAU,EACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/D,oBAAY,YAAY,GAAG,QAAQ,CACjC,WAAW,EACX,eAAe,EACf,gBAAgB,CACjB,CAAC;AAEF,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,oBAAY,eAAe;IACzB,KAAK,UAAU;IACf,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,wBAAwB,6BAA6B;CACtD;AAED,oBAAY,iBAAiB,GAAG,CAC9B,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,OAAO,KACb,MAAM,GAAG,SAAS,CAAC;AAExB,oBAAY,WAAW;IACrB,uBAAuB,kCAAkC;IACzD,uBAAuB,+BAA+B;IACtD,uBAAuB,4BAA4B;CACpD;AAGD,MAAM,WAAW,KAAK,CAAC,CAAC,GAAG,GAAG;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,CAAC;CACb;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,aAAa,CAAC;IAChD,aAAa,EAAE,CACb,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;IACxC,OAAO,EAAE,CACP,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;IACxC,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,WAAW,CAAC;IACzC,QAAQ,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAGnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,UAAU,GAAG,SAAS,CAAC;IAC3C,uBAAuB,EAAE,MAAM,IAAI,CAAC;IACpC,SAAS,EAAE,iBAAiB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EACL,IAAI,EACJ,OAAO,EACP,WAAW,EACX,UAAU,EACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/D,oBAAY,YAAY,GAAG,QAAQ,CACjC,WAAW,EACX,eAAe,EACf,gBAAgB,CACjB,CAAC;AAEF,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,oBAAY,eAAe;IACzB,KAAK,UAAU;IACf,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,wBAAwB,6BAA6B;CACtD;AAED,oBAAY,iBAAiB,GAAG,CAC9B,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,OAAO,KACb,MAAM,GAAG,SAAS,CAAC;AAExB,oBAAY,WAAW;IACrB,uBAAuB,kCAAkC;IACzD,uBAAuB,+BAA+B;IACtD,uBAAuB,4BAA4B;CACpD;AAGD,MAAM,WAAW,KAAK,CAAC,CAAC,GAAG,GAAG;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,CAAC;CACb;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,aAAa,CAAC;IAChD,aAAa,EAAE,CACb,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;IACxC,OAAO,EAAE,CACP,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;IACxC,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,WAAW,CAAC;IACzC,QAAQ,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAGnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,UAAU,GAAG,SAAS,CAAC;IAC3C,uBAAuB,EAAE,MAAM,IAAI,CAAC;IACpC,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;CACxC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rango-dev/queue-manager-rango-preset",
|
|
3
|
-
"version": "0.1.10
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"module": "dist/queue-manager-rango-preset.esm.js",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"@rango-dev/wallets-shared": "*",
|
|
25
25
|
"@sentry/browser": "*",
|
|
26
26
|
"bignumber.js": "*",
|
|
27
|
+
"rango-sdk": "*",
|
|
27
28
|
"rango-types": "*",
|
|
28
29
|
"uuid": "*"
|
|
29
30
|
},
|
|
@@ -53,7 +54,6 @@
|
|
|
53
54
|
},
|
|
54
55
|
"dependencies": {
|
|
55
56
|
"@sentry/browser": "^6.12.0",
|
|
56
|
-
"rango-sdk": "^0.1.19",
|
|
57
57
|
"uuid": "^9.0.0"
|
|
58
58
|
},
|
|
59
59
|
"publishConfig": {
|
package/readme.md
CHANGED
|
@@ -9,13 +9,14 @@ import {
|
|
|
9
9
|
isTrasnferTransaction,
|
|
10
10
|
isTronTransaction,
|
|
11
11
|
resetNetworkStatus,
|
|
12
|
+
updateSwapStatus,
|
|
12
13
|
} from '../helpers';
|
|
13
14
|
import { SwapActionTypes, SwapQueueContext, SwapStorage } from '../types';
|
|
14
15
|
import { getNextStep, MessageSeverity } from '../shared';
|
|
15
16
|
import { TransactionStatusResponse } from 'rango-sdk';
|
|
16
17
|
import { httpService } from '../services';
|
|
17
18
|
|
|
18
|
-
const INTERVAL_FOR_CHECK =
|
|
19
|
+
const INTERVAL_FOR_CHECK = 3_000;
|
|
19
20
|
|
|
20
21
|
/**
|
|
21
22
|
* Subscribe to status of swap transaction by checking from server periodically.
|
|
@@ -72,6 +73,7 @@ async function checkTransactionStatus({
|
|
|
72
73
|
if (!!newTransaction) {
|
|
73
74
|
currentStep.status = 'created';
|
|
74
75
|
currentStep.executedTransactionId = null;
|
|
76
|
+
currentStep.executedTransactionTime = null;
|
|
75
77
|
currentStep.transferTransaction = null;
|
|
76
78
|
currentStep.cosmosTransaction = null;
|
|
77
79
|
currentStep.evmTransaction = null;
|
|
@@ -109,6 +111,14 @@ async function checkTransactionStatus({
|
|
|
109
111
|
swap: swap,
|
|
110
112
|
step: currentStep,
|
|
111
113
|
});
|
|
114
|
+
else if (prevOutputAmount === null && outputAmount === null) {
|
|
115
|
+
// it is needed to set notification after reloading the page
|
|
116
|
+
context.notifier({
|
|
117
|
+
eventType: 'check_tx_status',
|
|
118
|
+
swap: swap,
|
|
119
|
+
step: currentStep,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
112
122
|
|
|
113
123
|
if (currentStep.status === 'success') {
|
|
114
124
|
const nextStep = getNextStep(swap, currentStep);
|
|
@@ -116,6 +126,10 @@ async function checkTransactionStatus({
|
|
|
116
126
|
swap.extraMessage = !!nextStep
|
|
117
127
|
? `starting next step: ${nextStep.swapperId}: ${nextStep.fromBlockchain} -> ${nextStep.toBlockchain}`
|
|
118
128
|
: '';
|
|
129
|
+
} else if (currentStep.status === 'failed') {
|
|
130
|
+
swap.extraMessage = 'Transaction failed in blockchain';
|
|
131
|
+
swap.extraMessageSeverity = MessageSeverity.error;
|
|
132
|
+
swap.extraMessageDetail = '';
|
|
119
133
|
}
|
|
120
134
|
|
|
121
135
|
// Sync data with storage
|
|
@@ -144,6 +158,7 @@ async function checkApprovalStatus({
|
|
|
144
158
|
next,
|
|
145
159
|
schedule,
|
|
146
160
|
retry,
|
|
161
|
+
failed,
|
|
147
162
|
context,
|
|
148
163
|
}: ExecuterActions<
|
|
149
164
|
SwapStorage,
|
|
@@ -151,14 +166,49 @@ async function checkApprovalStatus({
|
|
|
151
166
|
SwapQueueContext
|
|
152
167
|
>): Promise<void> {
|
|
153
168
|
const swap = getStorage().swapDetails as SwapStorage['swapDetails'];
|
|
169
|
+
// double check it after fixing parallel
|
|
170
|
+
// const onFinish = () => {
|
|
171
|
+
// // TODO resetClaimedBy is undefined here
|
|
172
|
+
// if (context.resetClaimedBy) {
|
|
173
|
+
// context.resetClaimedBy();
|
|
174
|
+
// }
|
|
175
|
+
// };
|
|
154
176
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
155
177
|
const currentStep = getCurrentStep(swap)!;
|
|
156
178
|
let isApproved = false;
|
|
157
179
|
try {
|
|
158
|
-
const response = await httpService.checkApproval(
|
|
180
|
+
const response = await httpService.checkApproval(
|
|
181
|
+
swap.requestId,
|
|
182
|
+
currentStep.executedTransactionId || ''
|
|
183
|
+
);
|
|
159
184
|
isApproved = response.isApproved;
|
|
185
|
+
if (!isApproved && response.txStatus === 'failed') {
|
|
186
|
+
// approve transaction failed on
|
|
187
|
+
// we should fail the whole swap
|
|
188
|
+
const updateResult = updateSwapStatus({
|
|
189
|
+
getStorage,
|
|
190
|
+
setStorage,
|
|
191
|
+
nextStatus: 'failed',
|
|
192
|
+
nextStepStatus: 'failed',
|
|
193
|
+
errorCode: 'SEND_TX_FAILED',
|
|
194
|
+
message: 'Approve transaction failed',
|
|
195
|
+
details: 'Smart contract approval failed in blockchain.',
|
|
196
|
+
});
|
|
197
|
+
context.notifier({
|
|
198
|
+
eventType: 'smart_contract_call_failed',
|
|
199
|
+
...updateResult,
|
|
200
|
+
});
|
|
201
|
+
failed();
|
|
202
|
+
// onFinish();
|
|
203
|
+
} else if (!isApproved) {
|
|
204
|
+
// it is needed to set notification after reloading the page
|
|
205
|
+
context.notifier({
|
|
206
|
+
eventType: 'check_approve_tx_status',
|
|
207
|
+
swap: swap,
|
|
208
|
+
step: currentStep,
|
|
209
|
+
});
|
|
210
|
+
}
|
|
160
211
|
} catch (e) {
|
|
161
|
-
console.error('Failed to check getApprovedAmount', e);
|
|
162
212
|
isApproved = false;
|
|
163
213
|
}
|
|
164
214
|
if (isApproved) {
|
|
@@ -168,6 +218,7 @@ async function checkApprovalStatus({
|
|
|
168
218
|
swap.extraMessageSeverity = MessageSeverity.success;
|
|
169
219
|
currentStep.evmApprovalTransaction = null;
|
|
170
220
|
currentStep.executedTransactionId = null;
|
|
221
|
+
currentStep.executedTransactionTime = null;
|
|
171
222
|
currentStep.starknetApprovalTransaction = null;
|
|
172
223
|
currentStep.tronApprovalTransaction = null;
|
|
173
224
|
|
|
@@ -11,8 +11,7 @@ import {
|
|
|
11
11
|
updateSwapStatus,
|
|
12
12
|
throwOnOK,
|
|
13
13
|
} from '../helpers';
|
|
14
|
-
import {
|
|
15
|
-
import { prettifyErrorMessage } from '../shared';
|
|
14
|
+
import { prettifyErrorMessage } from '../shared-errors';
|
|
16
15
|
import { CreateTransactionRequest } from 'rango-sdk';
|
|
17
16
|
import { httpService } from '../services';
|
|
18
17
|
|
|
@@ -110,7 +109,7 @@ export async function createTransaction(
|
|
|
110
109
|
nextStepStatus: 'failed',
|
|
111
110
|
message: extraMessage,
|
|
112
111
|
details: extraMessageDetail,
|
|
113
|
-
errorCode:
|
|
112
|
+
errorCode: 'FETCH_TX_FAILED',
|
|
114
113
|
});
|
|
115
114
|
context.notifier({
|
|
116
115
|
eventType: 'task_failed',
|
|
@@ -54,7 +54,7 @@ export async function executeTransaction(
|
|
|
54
54
|
resetNetworkStatus(actions);
|
|
55
55
|
|
|
56
56
|
/* Make sure wallet is connected and also the connected wallet is matched with tx by checking address. */
|
|
57
|
-
const isWrongAddress = !isRequiredWalletConnected(swap, context.state);
|
|
57
|
+
const isWrongAddress = !isRequiredWalletConnected(swap, context.state).ok;
|
|
58
58
|
if (isWrongAddress) {
|
|
59
59
|
const { type, address } = getRequiredWallet(swap);
|
|
60
60
|
const isWalletInCompatible = wallets?.blockchains?.find(
|
|
@@ -79,10 +79,10 @@ export async function executeTransaction(
|
|
|
79
79
|
*/
|
|
80
80
|
const needsToBlockQueue = isNeedBlockQueueForParallel(currentStep);
|
|
81
81
|
|
|
82
|
-
if (needsToBlockQueue && !isClaimed
|
|
82
|
+
if (needsToBlockQueue && !isClaimed) {
|
|
83
83
|
const blockedFor = {
|
|
84
84
|
reason: BlockReason.DEPENDS_ON_OTHER_QUEUES,
|
|
85
|
-
description: 'Waiting for other
|
|
85
|
+
description: 'Waiting for other swaps to complete',
|
|
86
86
|
details: {},
|
|
87
87
|
};
|
|
88
88
|
requestBlock(blockedFor);
|
package/src/constants.ts
CHANGED
|
@@ -2,7 +2,7 @@ export const RANGO_DAPP_API_KEY = process.env.REACT_APP_API_KEY;
|
|
|
2
2
|
export const RANGO_DAPP_API_BASE_URL = process.env.REACT_APP_API_BASE_URL;
|
|
3
3
|
|
|
4
4
|
export const ERROR_MESSAGE_DEPENDS_ON_OTHER_QUEUES =
|
|
5
|
-
'Waiting for other
|
|
5
|
+
'Waiting for other swaps to complete';
|
|
6
6
|
export const ERROR_MESSAGE_WAIT_FOR_WALLET = 'Waiting for connecting wallet';
|
|
7
7
|
export const ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION_WRONG_WALLET = (
|
|
8
8
|
type: string | null,
|