@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
|
@@ -2,31 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var rangoTypes = require('rango-types');
|
|
5
6
|
var walletsShared = require('@rango-dev/wallets-shared');
|
|
6
7
|
var walletsCore = require('@rango-dev/wallets-core');
|
|
7
8
|
var rangoSdk = require('rango-sdk');
|
|
8
9
|
var queueManagerCore = require('@rango-dev/queue-manager-core');
|
|
9
|
-
var rangoTypes = require('rango-types');
|
|
10
10
|
var Sentry = require('@sentry/browser');
|
|
11
11
|
var queueManagerReact = require('@rango-dev/queue-manager-react');
|
|
12
12
|
var react = require('react');
|
|
13
13
|
var uuid = require('uuid');
|
|
14
14
|
|
|
15
|
-
var SwapActionTypes;
|
|
16
|
-
(function (SwapActionTypes) {
|
|
17
|
-
SwapActionTypes["START"] = "START";
|
|
18
|
-
SwapActionTypes["SCHEDULE_NEXT_STEP"] = "SCHEDULE_NEXT_STEP";
|
|
19
|
-
SwapActionTypes["CREATE_TRANSACTION"] = "CREATE_TRANSACTION";
|
|
20
|
-
SwapActionTypes["EXECUTE_TRANSACTION"] = "EXECUTE_TRANSACTION";
|
|
21
|
-
SwapActionTypes["CHECK_TRANSACTION_STATUS"] = "CHECK_TRANSACTION_STATUS";
|
|
22
|
-
})(SwapActionTypes || (SwapActionTypes = {}));
|
|
23
|
-
var BlockReason;
|
|
24
|
-
(function (BlockReason) {
|
|
25
|
-
BlockReason["WAIT_FOR_CONNECT_WALLET"] = "waiting_for_connecting_wallet";
|
|
26
|
-
BlockReason["WAIT_FOR_NETWORK_CHANGE"] = "waiting_for_network_change";
|
|
27
|
-
BlockReason["DEPENDS_ON_OTHER_QUEUES"] = "depends_on_other_queues";
|
|
28
|
-
})(BlockReason || (BlockReason = {}));
|
|
29
|
-
|
|
30
15
|
function _regeneratorRuntime() {
|
|
31
16
|
_regeneratorRuntime = function () {
|
|
32
17
|
return exports;
|
|
@@ -452,46 +437,6 @@ function _assertThisInitialized(self) {
|
|
|
452
437
|
return self;
|
|
453
438
|
}
|
|
454
439
|
|
|
455
|
-
var RANGO_DAPP_API_KEY = process.env.REACT_APP_API_KEY;
|
|
456
|
-
var RANGO_DAPP_API_BASE_URL = process.env.REACT_APP_API_BASE_URL;
|
|
457
|
-
var ERROR_MESSAGE_WAIT_FOR_WALLET = 'Waiting for connecting wallet';
|
|
458
|
-
var ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION_WRONG_WALLET = function ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION_WRONG_WALLET(type, address) {
|
|
459
|
-
return "Please change your " + (type || 'wallet') + " account to " + (address || 'proper address');
|
|
460
|
-
};
|
|
461
|
-
var ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION = function ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION(type) {
|
|
462
|
-
return "Please connect to " + (type || 'your wallet') + " by using bellow button or top right button on page.";
|
|
463
|
-
};
|
|
464
|
-
var ERROR_MESSAGE_WAIT_FOR_CHANGE_NETWORK = function ERROR_MESSAGE_WAIT_FOR_CHANGE_NETWORK(network) {
|
|
465
|
-
return "Please change your network to " + network + ".";
|
|
466
|
-
};
|
|
467
|
-
|
|
468
|
-
var APIErrorCode;
|
|
469
|
-
(function (APIErrorCode) {
|
|
470
|
-
APIErrorCode["TX_FAIL"] = "TX_FAIL";
|
|
471
|
-
APIErrorCode["FETCH_TX_FAILED"] = "FETCH_TX_FAILED";
|
|
472
|
-
APIErrorCode["USER_REJECT"] = "USER_REJECT";
|
|
473
|
-
APIErrorCode["CALL_WALLET_FAILED"] = "CALL_WALLET_FAILED";
|
|
474
|
-
APIErrorCode["SEND_TX_FAILED"] = "SEND_TX_FAILED";
|
|
475
|
-
APIErrorCode["CALL_OR_SEND_FAILED"] = "CALL_OR_SEND_FAILED";
|
|
476
|
-
APIErrorCode["USER_CANCEL"] = "USER_CANCEL";
|
|
477
|
-
APIErrorCode["CLIENT_UNEXPECTED_BEHAVIOUR"] = "CLIENT_UNEXPECTED_BEHAVIOUR";
|
|
478
|
-
})(APIErrorCode || (APIErrorCode = {}));
|
|
479
|
-
var ApiMethodName;
|
|
480
|
-
(function (ApiMethodName) {
|
|
481
|
-
ApiMethodName["RequestingSwapTransaction"] = "Requesting Swap Transaction";
|
|
482
|
-
ApiMethodName["CreatingSwap"] = "Creating Swap";
|
|
483
|
-
ApiMethodName["CheckingTransactionStatus"] = "Checking transaction status";
|
|
484
|
-
ApiMethodName["CreateTransaction"] = "Create Transaction";
|
|
485
|
-
ApiMethodName["CheckApproval"] = "Check TX Approval";
|
|
486
|
-
ApiMethodName["GettingSwapDetail"] = "Getting Swap Detail";
|
|
487
|
-
ApiMethodName["GettingUserLimits"] = "Getting user limits";
|
|
488
|
-
})(ApiMethodName || (ApiMethodName = {}));
|
|
489
|
-
var TransactionName;
|
|
490
|
-
(function (TransactionName) {
|
|
491
|
-
TransactionName["GenericTransaction"] = "transaction";
|
|
492
|
-
TransactionName["SendingOneInchTransaction"] = "1inch transaction";
|
|
493
|
-
TransactionName["Approval"] = "approve transaction";
|
|
494
|
-
})(TransactionName || (TransactionName = {}));
|
|
495
440
|
var ERROR_ASSERTION_FAILED = 'Assertion failed (Unexpected behaviour)';
|
|
496
441
|
var ERROR_CREATE_TRANSACTION = 'Create transaction failed in Rango Server';
|
|
497
442
|
var ERROR_INPUT_WALLET_NOT_FOUND = 'Input wallet not found';
|
|
@@ -500,12 +445,17 @@ var PrettyError = /*#__PURE__*/function (_Error) {
|
|
|
500
445
|
function PrettyError(code, m, root, detail) {
|
|
501
446
|
var _this;
|
|
502
447
|
_this = _Error.call(this, m) || this;
|
|
448
|
+
_this._isPrettyError = true;
|
|
503
449
|
Object.setPrototypeOf(_assertThisInitialized(_this), PrettyError.prototype);
|
|
450
|
+
PrettyError.prototype._isPrettyError = true;
|
|
504
451
|
_this.code = code;
|
|
505
452
|
_this.detail = detail;
|
|
506
453
|
_this.root = root;
|
|
507
454
|
return _this;
|
|
508
455
|
}
|
|
456
|
+
PrettyError.isPrettyError = function isPrettyError(obj) {
|
|
457
|
+
return obj instanceof PrettyError || Object.prototype.hasOwnProperty('_isPrettyError');
|
|
458
|
+
};
|
|
509
459
|
var _proto = PrettyError.prototype;
|
|
510
460
|
_proto.getErrorDetail = function getErrorDetail() {
|
|
511
461
|
var rawMessage = typeof this.root === 'object' && this.root && this.root.error ? this.root.error : JSON.stringify(this.root);
|
|
@@ -517,33 +467,30 @@ var PrettyError = /*#__PURE__*/function (_Error) {
|
|
|
517
467
|
};
|
|
518
468
|
};
|
|
519
469
|
PrettyError.AssertionFailed = function AssertionFailed(m) {
|
|
520
|
-
return new PrettyError(
|
|
470
|
+
return new PrettyError('CLIENT_UNEXPECTED_BEHAVIOUR', ERROR_ASSERTION_FAILED, m);
|
|
521
471
|
};
|
|
522
472
|
PrettyError.BadStatusCode = function BadStatusCode(message, statusCode) {
|
|
523
|
-
return new PrettyError(
|
|
473
|
+
return new PrettyError('TX_FAIL', message, null, "status code = " + statusCode);
|
|
524
474
|
};
|
|
525
475
|
PrettyError.CreateTransaction = function CreateTransaction(detail) {
|
|
526
|
-
return new PrettyError(
|
|
476
|
+
return new PrettyError('FETCH_TX_FAILED', ERROR_CREATE_TRANSACTION, null, detail);
|
|
527
477
|
};
|
|
528
478
|
PrettyError.WalletMissing = function WalletMissing() {
|
|
529
|
-
return new PrettyError(
|
|
479
|
+
return new PrettyError('CLIENT_UNEXPECTED_BEHAVIOUR', ERROR_INPUT_WALLET_NOT_FOUND, null, 'Server requested for a blockchain or address not selected by user');
|
|
530
480
|
};
|
|
531
481
|
PrettyError.BlockchainMissing = function BlockchainMissing() {
|
|
532
|
-
return new PrettyError(
|
|
482
|
+
return new PrettyError('CLIENT_UNEXPECTED_BEHAVIOUR', ERROR_INPUT_WALLET_NOT_FOUND, null, 'Server requested for a blockchain or address not selected by user');
|
|
533
483
|
};
|
|
534
484
|
return PrettyError;
|
|
535
485
|
}( /*#__PURE__*/_wrapNativeSuper(Error));
|
|
536
|
-
function isAPIErrorCode(value) {
|
|
537
|
-
return Object.values(APIErrorCode).includes(value);
|
|
538
|
-
}
|
|
539
486
|
function mapAppErrorCodesToAPIErrorCode(errorCode) {
|
|
540
|
-
var defaultErrorCode =
|
|
487
|
+
var defaultErrorCode = 'CLIENT_UNEXPECTED_BEHAVIOUR';
|
|
541
488
|
try {
|
|
542
489
|
if (!errorCode) return defaultErrorCode;
|
|
543
|
-
if (isAPIErrorCode(errorCode)) return errorCode;
|
|
490
|
+
if (rangoTypes.isAPIErrorCode(errorCode)) return errorCode;
|
|
544
491
|
if (rangoTypes.isSignerErrorCode(errorCode)) {
|
|
545
492
|
var _t;
|
|
546
|
-
var t = (_t = {}, _t[rangoTypes.SignerErrorCode.REJECTED_BY_USER] =
|
|
493
|
+
var t = (_t = {}, _t[rangoTypes.SignerErrorCode.REJECTED_BY_USER] = 'USER_REJECT', _t[rangoTypes.SignerErrorCode.SIGN_TX_ERROR] = 'CALL_WALLET_FAILED', _t[rangoTypes.SignerErrorCode.SEND_TX_ERROR] = 'SEND_TX_FAILED', _t[rangoTypes.SignerErrorCode.NOT_IMPLEMENTED] = defaultErrorCode, _t[rangoTypes.SignerErrorCode.OPERATION_UNSUPPORTED] = defaultErrorCode, _t[rangoTypes.SignerErrorCode.UNEXPECTED_BEHAVIOUR] = defaultErrorCode, _t);
|
|
547
494
|
return t[errorCode];
|
|
548
495
|
}
|
|
549
496
|
return defaultErrorCode;
|
|
@@ -551,21 +498,46 @@ function mapAppErrorCodesToAPIErrorCode(errorCode) {
|
|
|
551
498
|
return defaultErrorCode;
|
|
552
499
|
}
|
|
553
500
|
}
|
|
501
|
+
var prettifyErrorMessage = function prettifyErrorMessage(obj) {
|
|
502
|
+
if (!obj) return {
|
|
503
|
+
extraMessage: '',
|
|
504
|
+
extraMessageErrorCode: null
|
|
505
|
+
};
|
|
506
|
+
if (PrettyError.isPrettyError(obj)) return obj.getErrorDetail();
|
|
507
|
+
if (rangoTypes.SignerError.isSignerError(obj)) {
|
|
508
|
+
var t = obj.getErrorDetail();
|
|
509
|
+
return {
|
|
510
|
+
extraMessage: t.message,
|
|
511
|
+
extraMessageDetail: t.detail,
|
|
512
|
+
extraMessageErrorCode: t.code
|
|
513
|
+
};
|
|
514
|
+
}
|
|
515
|
+
if (obj instanceof Error) return {
|
|
516
|
+
extraMessage: obj.toString(),
|
|
517
|
+
extraMessageErrorCode: null
|
|
518
|
+
};
|
|
519
|
+
if (typeof obj !== 'string') return {
|
|
520
|
+
extraMessage: JSON.stringify(obj),
|
|
521
|
+
extraMessageErrorCode: null
|
|
522
|
+
};
|
|
523
|
+
return {
|
|
524
|
+
extraMessage: obj,
|
|
525
|
+
extraMessageErrorCode: null
|
|
526
|
+
};
|
|
527
|
+
};
|
|
554
528
|
|
|
555
|
-
var PendingSwapNetworkStatus;
|
|
556
529
|
(function (PendingSwapNetworkStatus) {
|
|
557
530
|
PendingSwapNetworkStatus["WaitingForConnectingWallet"] = "waitingForConnectingWallet";
|
|
558
531
|
PendingSwapNetworkStatus["WaitingForQueue"] = "waitingForQueue";
|
|
559
532
|
PendingSwapNetworkStatus["WaitingForNetworkChange"] = "waitingForNetworkChange";
|
|
560
533
|
PendingSwapNetworkStatus["NetworkChanged"] = "networkChanged";
|
|
561
|
-
})(PendingSwapNetworkStatus || (PendingSwapNetworkStatus = {}));
|
|
562
|
-
var MessageSeverity;
|
|
534
|
+
})(exports.PendingSwapNetworkStatus || (exports.PendingSwapNetworkStatus = {}));
|
|
563
535
|
(function (MessageSeverity) {
|
|
564
536
|
MessageSeverity["error"] = "error";
|
|
565
537
|
MessageSeverity["warning"] = "warning";
|
|
566
538
|
MessageSeverity["info"] = "info";
|
|
567
539
|
MessageSeverity["success"] = "success";
|
|
568
|
-
})(MessageSeverity || (MessageSeverity = {}));
|
|
540
|
+
})(exports.MessageSeverity || (exports.MessageSeverity = {}));
|
|
569
541
|
var getCurrentBlockchainOfOrNull = function getCurrentBlockchainOfOrNull(swap, step) {
|
|
570
542
|
try {
|
|
571
543
|
return getCurrentBlockchainOf(swap, step);
|
|
@@ -603,48 +575,22 @@ var getStarknetApproveUrl = function getStarknetApproveUrl(tx) {
|
|
|
603
575
|
var getTronApproveUrl = function getTronApproveUrl(tx) {
|
|
604
576
|
return 'https://tronscan.org/#/transaction/{txHash}'.replace('{txHash}', tx.toLowerCase());
|
|
605
577
|
};
|
|
606
|
-
var prettifyErrorMessage = function prettifyErrorMessage(obj) {
|
|
607
|
-
if (!obj) return {
|
|
608
|
-
extraMessage: '',
|
|
609
|
-
extraMessageErrorCode: null
|
|
610
|
-
};
|
|
611
|
-
if (obj instanceof PrettyError) return obj.getErrorDetail();
|
|
612
|
-
if (obj instanceof rangoTypes.SignerError) {
|
|
613
|
-
var t = obj.getErrorDetail();
|
|
614
|
-
return {
|
|
615
|
-
extraMessage: t.message,
|
|
616
|
-
extraMessageDetail: t.detail,
|
|
617
|
-
extraMessageErrorCode: t.code
|
|
618
|
-
};
|
|
619
|
-
}
|
|
620
|
-
if (obj instanceof Error) return {
|
|
621
|
-
extraMessage: obj.toString(),
|
|
622
|
-
extraMessageErrorCode: null
|
|
623
|
-
};
|
|
624
|
-
if (typeof obj !== 'string') return {
|
|
625
|
-
extraMessage: JSON.stringify(obj),
|
|
626
|
-
extraMessageErrorCode: null
|
|
627
|
-
};
|
|
628
|
-
return {
|
|
629
|
-
extraMessage: obj,
|
|
630
|
-
extraMessageErrorCode: null
|
|
631
|
-
};
|
|
632
|
-
};
|
|
633
578
|
function getNextStep(swap, currentStep) {
|
|
634
579
|
return swap.steps.find(function (step) {
|
|
635
580
|
return step.status !== 'failed' && step.status !== 'success' && step.id !== currentStep.id;
|
|
636
581
|
}) || null;
|
|
637
582
|
}
|
|
638
|
-
|
|
583
|
+
/**
|
|
584
|
+
* Returns the wallet address, based on the current step of `PendingSwap`.
|
|
585
|
+
*/
|
|
639
586
|
var getCurrentAddressOf = function getCurrentAddressOf(swap, step) {
|
|
640
|
-
var _step$evmTransaction2, _step$evmApprovalTran2, _step$cosmosTransacti2, _step$solanaTransacti2, _step$transferTransac2, _step$transferTransac3;
|
|
641
|
-
var result = swap.wallets[((_step$evmTransaction2 = step.evmTransaction) == null ? void 0 : _step$evmTransaction2.blockChain) || ''] || swap.wallets[((_step$evmApprovalTran2 = step.evmApprovalTransaction) == null ? void 0 : _step$evmApprovalTran2.blockChain) || ''] || swap.wallets[((_step$cosmosTransacti2 = step.cosmosTransaction) == null ? void 0 : _step$cosmosTransacti2.blockChain) || ''] || swap.wallets[((_step$solanaTransacti2 = step.solanaTransaction) == null ? void 0 : _step$solanaTransacti2.blockChain) || ''] || ((_step$transferTransac2 = step.transferTransaction) != null && _step$transferTransac2.fromWalletAddress ? {
|
|
587
|
+
var _step$evmTransaction2, _step$evmApprovalTran2, _step$tronTransaction2, _step$tronApprovalTra2, _step$starknetTransac2, _step$starknetApprova2, _step$cosmosTransacti2, _step$solanaTransacti2, _step$transferTransac2, _step$transferTransac3;
|
|
588
|
+
var result = swap.wallets[((_step$evmTransaction2 = step.evmTransaction) == null ? void 0 : _step$evmTransaction2.blockChain) || ''] || swap.wallets[((_step$evmApprovalTran2 = step.evmApprovalTransaction) == null ? void 0 : _step$evmApprovalTran2.blockChain) || ''] || swap.wallets[((_step$tronTransaction2 = step.tronTransaction) == null ? void 0 : _step$tronTransaction2.blockChain) || ''] || swap.wallets[((_step$tronApprovalTra2 = step.tronApprovalTransaction) == null ? void 0 : _step$tronApprovalTra2.blockChain) || ''] || swap.wallets[((_step$starknetTransac2 = step.starknetTransaction) == null ? void 0 : _step$starknetTransac2.blockChain) || ''] || swap.wallets[((_step$starknetApprova2 = step.starknetApprovalTransaction) == null ? void 0 : _step$starknetApprova2.blockChain) || ''] || swap.wallets[((_step$cosmosTransacti2 = step.cosmosTransaction) == null ? void 0 : _step$cosmosTransacti2.blockChain) || ''] || swap.wallets[((_step$solanaTransacti2 = step.solanaTransaction) == null ? void 0 : _step$solanaTransacti2.blockChain) || ''] || ((_step$transferTransac2 = step.transferTransaction) != null && _step$transferTransac2.fromWalletAddress ? {
|
|
642
589
|
address: (_step$transferTransac3 = step.transferTransaction) == null ? void 0 : _step$transferTransac3.fromWalletAddress
|
|
643
590
|
} : null) || null;
|
|
644
591
|
if (result == null) throw PrettyError.WalletMissing();
|
|
645
592
|
return result.address;
|
|
646
593
|
};
|
|
647
|
-
// TODO: we have samething in `helpers`, for fixing circular dependency, we copied and should be removed eventually.
|
|
648
594
|
function getRelatedWallet(swap, currentStep) {
|
|
649
595
|
var walletAddress = getCurrentAddressOf(swap, currentStep);
|
|
650
596
|
var walletKV = Object.keys(swap.wallets).map(function (k) {
|
|
@@ -670,6 +616,34 @@ function getRelatedWalletOrNull(swap, currentStep) {
|
|
|
670
616
|
}
|
|
671
617
|
}
|
|
672
618
|
|
|
619
|
+
var SwapActionTypes;
|
|
620
|
+
(function (SwapActionTypes) {
|
|
621
|
+
SwapActionTypes["START"] = "START";
|
|
622
|
+
SwapActionTypes["SCHEDULE_NEXT_STEP"] = "SCHEDULE_NEXT_STEP";
|
|
623
|
+
SwapActionTypes["CREATE_TRANSACTION"] = "CREATE_TRANSACTION";
|
|
624
|
+
SwapActionTypes["EXECUTE_TRANSACTION"] = "EXECUTE_TRANSACTION";
|
|
625
|
+
SwapActionTypes["CHECK_TRANSACTION_STATUS"] = "CHECK_TRANSACTION_STATUS";
|
|
626
|
+
})(SwapActionTypes || (SwapActionTypes = {}));
|
|
627
|
+
var BlockReason;
|
|
628
|
+
(function (BlockReason) {
|
|
629
|
+
BlockReason["WAIT_FOR_CONNECT_WALLET"] = "waiting_for_connecting_wallet";
|
|
630
|
+
BlockReason["WAIT_FOR_NETWORK_CHANGE"] = "waiting_for_network_change";
|
|
631
|
+
BlockReason["DEPENDS_ON_OTHER_QUEUES"] = "depends_on_other_queues";
|
|
632
|
+
})(BlockReason || (BlockReason = {}));
|
|
633
|
+
|
|
634
|
+
var RANGO_DAPP_API_KEY = process.env.REACT_APP_API_KEY;
|
|
635
|
+
var RANGO_DAPP_API_BASE_URL = process.env.REACT_APP_API_BASE_URL;
|
|
636
|
+
var ERROR_MESSAGE_WAIT_FOR_WALLET = 'Waiting for connecting wallet';
|
|
637
|
+
var ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION_WRONG_WALLET = function ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION_WRONG_WALLET(type, address) {
|
|
638
|
+
return "Please change your " + (type || 'wallet') + " account to " + (address || 'proper address');
|
|
639
|
+
};
|
|
640
|
+
var ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION = function ERROR_MESSAGE_WAIT_FOR_WALLET_DESCRIPTION(type) {
|
|
641
|
+
return "Please connect to " + (type || 'your wallet') + " by using bellow button or top right button on page.";
|
|
642
|
+
};
|
|
643
|
+
var ERROR_MESSAGE_WAIT_FOR_CHANGE_NETWORK = function ERROR_MESSAGE_WAIT_FOR_CHANGE_NETWORK(network) {
|
|
644
|
+
return "Please change your network to " + network + ".";
|
|
645
|
+
};
|
|
646
|
+
|
|
673
647
|
function logRPCError(error, swap, currentStep, walletType) {
|
|
674
648
|
try {
|
|
675
649
|
Sentry.captureException(error, {
|
|
@@ -713,12 +687,23 @@ function claimQueue() {
|
|
|
713
687
|
};
|
|
714
688
|
}
|
|
715
689
|
/**
|
|
716
|
-
*
|
|
690
|
+
* Sample inputs are:
|
|
691
|
+
* - "metamask-ETH"
|
|
692
|
+
* - "metamask-BSC-BSC:0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
|
693
|
+
* - "token-pocket-BSC-BSC:0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
|
717
694
|
* Returns "wallet and network" separately, even if the wallet is dashed inside.
|
|
718
695
|
*
|
|
719
696
|
*/
|
|
720
697
|
function splitWalletNetwork(input) {
|
|
721
|
-
|
|
698
|
+
var removedAddressInput = (input == null ? void 0 : input.split(':')[0]) || '';
|
|
699
|
+
var splittedInput = removedAddressInput.split('-');
|
|
700
|
+
var network = splittedInput[splittedInput.length - 1];
|
|
701
|
+
var walletNetwork = splittedInput.slice(0, -1);
|
|
702
|
+
if (walletNetwork[walletNetwork.length - 1] === network) {
|
|
703
|
+
walletNetwork.pop();
|
|
704
|
+
}
|
|
705
|
+
var wallet = walletNetwork.join('-');
|
|
706
|
+
return [wallet, network];
|
|
722
707
|
}
|
|
723
708
|
/**
|
|
724
709
|
*
|
|
@@ -751,24 +736,26 @@ function updateSwapStatus(_ref) {
|
|
|
751
736
|
if (!!nextStatus) swap.status = nextStatus;
|
|
752
737
|
swap.hasAlreadyProceededToSign = hasAlreadyProceededToSign;
|
|
753
738
|
if (!!nextStatus && ['failed', 'success'].includes(nextStatus)) swap.finishTime = new Date().getTime().toString();
|
|
754
|
-
if (!!message
|
|
755
|
-
|
|
739
|
+
if (!!message || !!details) {
|
|
740
|
+
swap.extraMessage = message || '';
|
|
741
|
+
swap.extraMessageDetail = details || '';
|
|
742
|
+
}
|
|
756
743
|
if (!!nextStepStatus && ['failed'].includes(nextStepStatus)) {
|
|
757
744
|
var _getRelatedWalletOrNu;
|
|
758
745
|
//if user cancel the swap, we should pass relevant reason to the server.
|
|
759
746
|
var errorReason = details && details.includes('Warning') ? 'Swap canceled by user.' : details;
|
|
760
747
|
var walletType = (_getRelatedWalletOrNu = getRelatedWalletOrNull(swap, currentStep)) == null ? void 0 : _getRelatedWalletOrNu.walletType;
|
|
761
|
-
swap.extraMessageSeverity = MessageSeverity.error;
|
|
748
|
+
swap.extraMessageSeverity = exports.MessageSeverity.error;
|
|
762
749
|
httpService.reportFailure({
|
|
763
750
|
requestId: swap.requestId,
|
|
764
751
|
step: (currentStep == null ? void 0 : currentStep.id) || 1,
|
|
765
|
-
eventType: mapAppErrorCodesToAPIErrorCode(
|
|
752
|
+
eventType: mapAppErrorCodesToAPIErrorCode(errorCode),
|
|
766
753
|
reason: errorReason || '',
|
|
767
754
|
data: walletType ? {
|
|
768
755
|
wallet: walletType
|
|
769
756
|
} : undefined
|
|
770
757
|
}).then()["catch"]();
|
|
771
|
-
} else if (!!nextStepStatus && ['running'].includes(nextStepStatus)) swap.extraMessageSeverity = MessageSeverity.info;else if (!!nextStepStatus && ['success', 'approved'].includes(nextStepStatus)) swap.extraMessageSeverity = MessageSeverity.success;else if (nextStepStatus && ['waitingForApproval'].includes(nextStepStatus)) swap.extraMessageSeverity = MessageSeverity.warning;
|
|
758
|
+
} else if (!!nextStepStatus && ['running'].includes(nextStepStatus)) swap.extraMessageSeverity = exports.MessageSeverity.info;else if (!!nextStepStatus && ['success', 'approved'].includes(nextStepStatus)) swap.extraMessageSeverity = exports.MessageSeverity.success;else if (nextStepStatus && ['waitingForApproval'].includes(nextStepStatus)) swap.extraMessageSeverity = exports.MessageSeverity.warning;
|
|
772
759
|
if (nextStepStatus === 'running' && currentStep) currentStep.startTransactionTime = new Date().getTime();
|
|
773
760
|
setStorage(_extends({}, getStorage(), {
|
|
774
761
|
swapDetails: swap
|
|
@@ -778,18 +765,32 @@ function updateSwapStatus(_ref) {
|
|
|
778
765
|
step: currentStep
|
|
779
766
|
};
|
|
780
767
|
}
|
|
781
|
-
function setStepTransactionIds(_ref2, txId, eventType,
|
|
768
|
+
function setStepTransactionIds(_ref2, txId, notifier, eventType, approveUrl) {
|
|
782
769
|
var getStorage = _ref2.getStorage,
|
|
783
770
|
setStorage = _ref2.setStorage;
|
|
784
771
|
var swap = getStorage().swapDetails;
|
|
785
772
|
swap.hasAlreadyProceededToSign = null;
|
|
786
773
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
787
774
|
var currentStep = getCurrentStep(swap);
|
|
788
|
-
currentStep.executedTransactionId = txId
|
|
775
|
+
currentStep.executedTransactionId = txId;
|
|
776
|
+
currentStep.executedTransactionTime = new Date().getTime().toString();
|
|
777
|
+
if (!!approveUrl) currentStep.explorerUrl = [].concat(currentStep.explorerUrl || [], [{
|
|
778
|
+
url: approveUrl,
|
|
779
|
+
description: "approve"
|
|
780
|
+
}]);
|
|
781
|
+
if (eventType === 'check_tx_status') {
|
|
782
|
+
swap.extraMessage = 'Checking transaction status ...';
|
|
783
|
+
swap.extraMessageDetail = '';
|
|
784
|
+
swap.extraMessageSeverity = exports.MessageSeverity.info;
|
|
785
|
+
} else if (eventType === 'check_approve_tx_status') {
|
|
786
|
+
swap.extraMessage = 'Checking approve transaction status ...';
|
|
787
|
+
swap.extraMessageDetail = '';
|
|
788
|
+
swap.extraMessageSeverity = exports.MessageSeverity.info;
|
|
789
|
+
}
|
|
789
790
|
setStorage(_extends({}, getStorage(), {
|
|
790
791
|
swapDetails: swap
|
|
791
792
|
}));
|
|
792
|
-
notifier({
|
|
793
|
+
if (!!eventType) notifier({
|
|
793
794
|
eventType: eventType,
|
|
794
795
|
swap: swap,
|
|
795
796
|
step: currentStep
|
|
@@ -816,11 +817,11 @@ function markRunningSwapAsWaitingForConnectingWallet(_ref3, reason, reasonDetail
|
|
|
816
817
|
if (!currentStep) return;
|
|
817
818
|
var currentTime = new Date();
|
|
818
819
|
swap.lastNotificationTime = currentTime.getTime().toString();
|
|
819
|
-
var isAlreadyMarked = currentStep.networkStatus === PendingSwapNetworkStatus.WaitingForConnectingWallet && swap.networkStatusExtraMessage === reason && swap.networkStatusExtraMessageDetail === reasonDetail;
|
|
820
|
+
var isAlreadyMarked = currentStep.networkStatus === exports.PendingSwapNetworkStatus.WaitingForConnectingWallet && swap.networkStatusExtraMessage === reason && swap.networkStatusExtraMessageDetail === reasonDetail;
|
|
820
821
|
if (isAlreadyMarked) {
|
|
821
822
|
return;
|
|
822
823
|
}
|
|
823
|
-
currentStep.networkStatus = PendingSwapNetworkStatus.WaitingForConnectingWallet;
|
|
824
|
+
currentStep.networkStatus = exports.PendingSwapNetworkStatus.WaitingForConnectingWallet;
|
|
824
825
|
swap.networkStatusExtraMessage = reason;
|
|
825
826
|
swap.networkStatusExtraMessageDetail = reasonDetail;
|
|
826
827
|
setStorage(_extends({}, getStorage(), {
|
|
@@ -847,7 +848,7 @@ function markRunningSwapAsSwitchingNetwork(_ref4) {
|
|
|
847
848
|
var reasonDetail = "Please change your " + type + " wallet network to " + fromBlockchain + ". " + metamaskMessage;
|
|
848
849
|
var currentTime = new Date();
|
|
849
850
|
swap.lastNotificationTime = currentTime.getTime().toString();
|
|
850
|
-
currentStep.networkStatus = PendingSwapNetworkStatus.WaitingForNetworkChange;
|
|
851
|
+
currentStep.networkStatus = exports.PendingSwapNetworkStatus.WaitingForNetworkChange;
|
|
851
852
|
swap.networkStatusExtraMessage = reason;
|
|
852
853
|
swap.networkStatusExtraMessageDetail = reasonDetail;
|
|
853
854
|
setStorage(_extends({}, getStorage(), {
|
|
@@ -864,13 +865,19 @@ function markRunningSwapAsSwitchingNetwork(_ref4) {
|
|
|
864
865
|
*/
|
|
865
866
|
function markRunningSwapAsDependsOnOtherQueues(_ref5) {
|
|
866
867
|
var getStorage = _ref5.getStorage,
|
|
867
|
-
setStorage = _ref5.setStorage
|
|
868
|
+
setStorage = _ref5.setStorage,
|
|
869
|
+
notifier = _ref5.notifier;
|
|
868
870
|
var swap = getStorage().swapDetails;
|
|
869
871
|
var currentStep = getCurrentStep(swap);
|
|
870
872
|
if (!currentStep) return;
|
|
871
873
|
swap.networkStatusExtraMessage = '';
|
|
872
874
|
swap.networkStatusExtraMessageDetail = '';
|
|
873
|
-
currentStep.networkStatus = PendingSwapNetworkStatus.WaitingForQueue;
|
|
875
|
+
currentStep.networkStatus = exports.PendingSwapNetworkStatus.WaitingForQueue;
|
|
876
|
+
notifier({
|
|
877
|
+
eventType: 'waiting_for_queue',
|
|
878
|
+
swap: swap,
|
|
879
|
+
step: currentStep
|
|
880
|
+
});
|
|
874
881
|
setStorage(_extends({}, getStorage(), {
|
|
875
882
|
swapDetails: swap
|
|
876
883
|
}));
|
|
@@ -1002,9 +1009,6 @@ function _getChainId() {
|
|
|
1002
1009
|
function isNetworkMatchedForTransaction(_x2, _x3, _x4, _x5, _x6) {
|
|
1003
1010
|
return _isNetworkMatchedForTransaction.apply(this, arguments);
|
|
1004
1011
|
}
|
|
1005
|
-
/**
|
|
1006
|
-
* Returns the wallet address, based on the current step of `PendingSwap`.
|
|
1007
|
-
*/
|
|
1008
1012
|
function _isNetworkMatchedForTransaction() {
|
|
1009
1013
|
_isNetworkMatchedForTransaction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(swap, step, wallet, meta, providers) {
|
|
1010
1014
|
var fromBlockChain, sourceWallet, provider, chainId, blockChain;
|
|
@@ -1012,112 +1016,85 @@ function _isNetworkMatchedForTransaction() {
|
|
|
1012
1016
|
while (1) switch (_context2.prev = _context2.next) {
|
|
1013
1017
|
case 0:
|
|
1014
1018
|
if (!isWalletNull(wallet)) {
|
|
1015
|
-
_context2.next =
|
|
1019
|
+
_context2.next = 2;
|
|
1016
1020
|
break;
|
|
1017
1021
|
}
|
|
1018
|
-
console.warn('wallet object is null');
|
|
1019
1022
|
return _context2.abrupt("return", false);
|
|
1020
|
-
case
|
|
1023
|
+
case 2:
|
|
1021
1024
|
fromBlockChain = getCurrentBlockchainOfOrNull(swap, step);
|
|
1022
1025
|
if (fromBlockChain) {
|
|
1023
|
-
_context2.next =
|
|
1026
|
+
_context2.next = 5;
|
|
1024
1027
|
break;
|
|
1025
1028
|
}
|
|
1026
1029
|
return _context2.abrupt("return", false);
|
|
1027
|
-
case
|
|
1030
|
+
case 5:
|
|
1028
1031
|
if (!meta.evmBasedChains.find(function (evmBlochain) {
|
|
1029
1032
|
return evmBlochain.name === fromBlockChain;
|
|
1030
1033
|
})) {
|
|
1031
|
-
_context2.next =
|
|
1034
|
+
_context2.next = 29;
|
|
1032
1035
|
break;
|
|
1033
1036
|
}
|
|
1034
|
-
_context2.prev =
|
|
1037
|
+
_context2.prev = 6;
|
|
1035
1038
|
sourceWallet = swap.wallets[fromBlockChain];
|
|
1036
1039
|
if (!sourceWallet) {
|
|
1037
|
-
_context2.next =
|
|
1040
|
+
_context2.next = 23;
|
|
1038
1041
|
break;
|
|
1039
1042
|
}
|
|
1040
1043
|
if (![walletsShared.WalletType.META_MASK, walletsShared.WalletType.BINANCE_CHAIN, walletsShared.WalletType.XDEFI, walletsShared.WalletType.WALLET_CONNECT, walletsShared.WalletType.TRUST_WALLET, walletsShared.WalletType.COIN98, walletsShared.WalletType.EXODUS, walletsShared.WalletType.OKX, walletsShared.WalletType.COINBASE, walletsShared.WalletType.TOKEN_POCKET, walletsShared.WalletType.MATH, walletsShared.WalletType.SAFEPAL, walletsShared.WalletType.COSMOSTATION, walletsShared.WalletType.CLOVER, walletsShared.WalletType.BRAVE, walletsShared.WalletType.FRONTIER, walletsShared.WalletType.KUCOIN].includes(sourceWallet.walletType)) {
|
|
1041
|
-
_context2.next =
|
|
1044
|
+
_context2.next = 22;
|
|
1042
1045
|
break;
|
|
1043
1046
|
}
|
|
1044
1047
|
provider = getEvmProvider(providers, sourceWallet.walletType);
|
|
1045
|
-
_context2.next =
|
|
1048
|
+
_context2.next = 13;
|
|
1046
1049
|
return getChainId(provider);
|
|
1047
|
-
case
|
|
1050
|
+
case 13:
|
|
1048
1051
|
chainId = _context2.sent;
|
|
1049
1052
|
if (!chainId) {
|
|
1050
|
-
_context2.next =
|
|
1053
|
+
_context2.next = 20;
|
|
1051
1054
|
break;
|
|
1052
1055
|
}
|
|
1053
|
-
blockChain = walletsShared.getBlockChainNameFromId(chainId, Object.entries(meta.blockchains).map(function (
|
|
1054
|
-
var blockchainMeta =
|
|
1056
|
+
blockChain = walletsShared.getBlockChainNameFromId(chainId, Object.entries(meta.blockchains).map(function (_ref6) {
|
|
1057
|
+
var blockchainMeta = _ref6[1];
|
|
1055
1058
|
return blockchainMeta;
|
|
1056
1059
|
}));
|
|
1057
1060
|
if (!(blockChain && blockChain.toLowerCase() === fromBlockChain.toLowerCase())) {
|
|
1058
|
-
_context2.next =
|
|
1061
|
+
_context2.next = 18;
|
|
1059
1062
|
break;
|
|
1060
1063
|
}
|
|
1061
1064
|
return _context2.abrupt("return", true);
|
|
1062
|
-
case
|
|
1065
|
+
case 18:
|
|
1063
1066
|
if (!(blockChain && blockChain.toLowerCase() !== fromBlockChain.toLowerCase())) {
|
|
1064
|
-
_context2.next =
|
|
1067
|
+
_context2.next = 20;
|
|
1065
1068
|
break;
|
|
1066
1069
|
}
|
|
1067
1070
|
return _context2.abrupt("return", false);
|
|
1068
|
-
case
|
|
1069
|
-
_context2.next =
|
|
1071
|
+
case 20:
|
|
1072
|
+
_context2.next = 23;
|
|
1070
1073
|
break;
|
|
1071
|
-
case
|
|
1074
|
+
case 22:
|
|
1072
1075
|
return _context2.abrupt("return", true);
|
|
1073
|
-
case
|
|
1074
|
-
_context2.next =
|
|
1076
|
+
case 23:
|
|
1077
|
+
_context2.next = 28;
|
|
1075
1078
|
break;
|
|
1076
|
-
case
|
|
1077
|
-
_context2.prev =
|
|
1078
|
-
_context2.t0 = _context2["catch"](
|
|
1079
|
+
case 25:
|
|
1080
|
+
_context2.prev = 25;
|
|
1081
|
+
_context2.t0 = _context2["catch"](6);
|
|
1079
1082
|
console.log(_context2.t0);
|
|
1080
|
-
case
|
|
1083
|
+
case 28:
|
|
1081
1084
|
return _context2.abrupt("return", false);
|
|
1082
|
-
case
|
|
1085
|
+
case 29:
|
|
1083
1086
|
return _context2.abrupt("return", true);
|
|
1084
|
-
case
|
|
1087
|
+
case 30:
|
|
1085
1088
|
case "end":
|
|
1086
1089
|
return _context2.stop();
|
|
1087
1090
|
}
|
|
1088
|
-
}, _callee2, null, [[
|
|
1091
|
+
}, _callee2, null, [[6, 25]]);
|
|
1089
1092
|
}));
|
|
1090
1093
|
return _isNetworkMatchedForTransaction.apply(this, arguments);
|
|
1091
1094
|
}
|
|
1092
|
-
var getCurrentAddressOf$1 = function getCurrentAddressOf(swap, step) {
|
|
1093
|
-
var _step$evmTransaction, _step$evmApprovalTran, _step$tronTransaction, _step$tronApprovalTra, _step$starknetTransac, _step$starknetApprova, _step$cosmosTransacti, _step$solanaTransacti, _step$transferTransac, _step$transferTransac2;
|
|
1094
|
-
var result = swap.wallets[((_step$evmTransaction = step.evmTransaction) == null ? void 0 : _step$evmTransaction.blockChain) || ''] || swap.wallets[((_step$evmApprovalTran = step.evmApprovalTransaction) == null ? void 0 : _step$evmApprovalTran.blockChain) || ''] || swap.wallets[((_step$tronTransaction = step.tronTransaction) == null ? void 0 : _step$tronTransaction.blockChain) || ''] || swap.wallets[((_step$tronApprovalTra = step.tronApprovalTransaction) == null ? void 0 : _step$tronApprovalTra.blockChain) || ''] || swap.wallets[((_step$starknetTransac = step.starknetTransaction) == null ? void 0 : _step$starknetTransac.blockChain) || ''] || swap.wallets[((_step$starknetApprova = step.starknetApprovalTransaction) == null ? void 0 : _step$starknetApprova.blockChain) || ''] || swap.wallets[((_step$cosmosTransacti = step.cosmosTransaction) == null ? void 0 : _step$cosmosTransacti.blockChain) || ''] || swap.wallets[((_step$solanaTransacti = step.solanaTransaction) == null ? void 0 : _step$solanaTransacti.blockChain) || ''] || ((_step$transferTransac = step.transferTransaction) != null && _step$transferTransac.fromWalletAddress ? {
|
|
1095
|
-
address: (_step$transferTransac2 = step.transferTransaction) == null ? void 0 : _step$transferTransac2.fromWalletAddress
|
|
1096
|
-
} : null) || null;
|
|
1097
|
-
if (result == null) throw PrettyError.WalletMissing();
|
|
1098
|
-
return result.address;
|
|
1099
|
-
};
|
|
1100
|
-
// Todo: Is it same with `getRequiredWallet`?
|
|
1101
|
-
function getRelatedWallet$1(swap, currentStep) {
|
|
1102
|
-
var walletAddress = getCurrentAddressOf$1(swap, currentStep);
|
|
1103
|
-
var walletKV = Object.keys(swap.wallets).map(function (k) {
|
|
1104
|
-
return {
|
|
1105
|
-
k: k,
|
|
1106
|
-
v: swap.wallets[k]
|
|
1107
|
-
};
|
|
1108
|
-
}).find(function (_ref6) {
|
|
1109
|
-
var v = _ref6.v;
|
|
1110
|
-
return v.address === walletAddress;
|
|
1111
|
-
}) || null;
|
|
1112
|
-
var blockchain = (walletKV == null ? void 0 : walletKV.k) || null;
|
|
1113
|
-
var wallet = (walletKV == null ? void 0 : walletKV.v) || null;
|
|
1114
|
-
var walletType = wallet == null ? void 0 : wallet.walletType;
|
|
1115
|
-
if (walletType === walletsShared.WalletType.UNKNOWN || wallet === null) throw PrettyError.AssertionFailed("Wallet for source " + blockchain + " not passed: walletType: " + walletType);
|
|
1116
|
-
return wallet;
|
|
1117
|
-
}
|
|
1118
1095
|
var isTxAlreadyCreated = function isTxAlreadyCreated(swap, step) {
|
|
1119
|
-
var _step$
|
|
1120
|
-
var result = swap.wallets[((_step$
|
|
1096
|
+
var _step$evmTransaction, _step$evmApprovalTran, _step$tronTransaction, _step$tronApprovalTra, _step$starknetTransac, _step$starknetApprova, _step$cosmosTransacti, _step$solanaTransacti, _step$transferTransac;
|
|
1097
|
+
var result = swap.wallets[((_step$evmTransaction = step.evmTransaction) == null ? void 0 : _step$evmTransaction.blockChain) || ''] || swap.wallets[((_step$evmApprovalTran = step.evmApprovalTransaction) == null ? void 0 : _step$evmApprovalTran.blockChain) || ''] || swap.wallets[((_step$tronTransaction = step.tronTransaction) == null ? void 0 : _step$tronTransaction.blockChain) || ''] || swap.wallets[((_step$tronApprovalTra = step.tronApprovalTransaction) == null ? void 0 : _step$tronApprovalTra.blockChain) || ''] || swap.wallets[((_step$starknetTransac = step.starknetTransaction) == null ? void 0 : _step$starknetTransac.blockChain) || ''] || swap.wallets[((_step$starknetApprova = step.starknetApprovalTransaction) == null ? void 0 : _step$starknetApprova.blockChain) || ''] || swap.wallets[((_step$cosmosTransacti = step.cosmosTransaction) == null ? void 0 : _step$cosmosTransacti.blockChain) || ''] || swap.wallets[((_step$solanaTransacti = step.solanaTransaction) == null ? void 0 : _step$solanaTransacti.blockChain) || ''] || ((_step$transferTransac = step.transferTransaction) == null ? void 0 : _step$transferTransac.fromWalletAddress) || null;
|
|
1121
1098
|
return result !== null;
|
|
1122
1099
|
};
|
|
1123
1100
|
function resetNetworkStatus(actions) {
|
|
@@ -1159,7 +1136,7 @@ function updateNetworkStatus(actions, data) {
|
|
|
1159
1136
|
}
|
|
1160
1137
|
/**
|
|
1161
1138
|
* Event handler for blocked tasks.
|
|
1162
|
-
* If a transcation execution is manually blocked (like for parallel or waiting for
|
|
1139
|
+
* If a transcation execution is manually blocked (like for parallel or waiting for wallet),
|
|
1163
1140
|
* This function will be called by queue manager using `queue definition`.
|
|
1164
1141
|
*
|
|
1165
1142
|
* It checks if the required wallet is connected, unblock the queue to be run.
|
|
@@ -1168,11 +1145,14 @@ function onBlockForConnectWallet(event, meta) {
|
|
|
1168
1145
|
var context = meta.context,
|
|
1169
1146
|
queue = meta.queue;
|
|
1170
1147
|
var swap = queue.getStorage().swapDetails;
|
|
1171
|
-
|
|
1148
|
+
var _isRequiredWalletConn = isRequiredWalletConnected(swap, context.state),
|
|
1149
|
+
ok = _isRequiredWalletConn.ok,
|
|
1150
|
+
reason = _isRequiredWalletConn.reason;
|
|
1151
|
+
if (!ok) {
|
|
1172
1152
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
1173
1153
|
var currentStep = getCurrentStep(swap);
|
|
1174
1154
|
context.notifier({
|
|
1175
|
-
eventType: 'waiting_for_connecting_wallet',
|
|
1155
|
+
eventType: reason === 'account_miss_match' ? 'waiting_for_change_wallet_account' : 'waiting_for_connecting_wallet',
|
|
1176
1156
|
swap: swap,
|
|
1177
1157
|
step: currentStep
|
|
1178
1158
|
});
|
|
@@ -1224,7 +1204,7 @@ function onBlockForChangeNetwork(_event, meta) {
|
|
|
1224
1204
|
}
|
|
1225
1205
|
/**
|
|
1226
1206
|
* Event handler for blocked tasks. (Parallel mode)
|
|
1227
|
-
* If a transcation execution is manually blocked (like for parallel or waiting for walle),
|
|
1207
|
+
* If a transcation execution flow is manually blocked (like for parallel or waiting for walle),
|
|
1228
1208
|
* This function will be called by queue manager using `queue definition`.
|
|
1229
1209
|
*
|
|
1230
1210
|
* It checks the blocked tasks, if there is no active `claimed` queue, try to give it to the best candidate.
|
|
@@ -1233,7 +1213,8 @@ function onDependsOnOtherQueues(_event, meta) {
|
|
|
1233
1213
|
var getBlockedTasks = meta.getBlockedTasks,
|
|
1234
1214
|
forceExecute = meta.forceExecute,
|
|
1235
1215
|
queue = meta.queue,
|
|
1236
|
-
manager = meta.manager
|
|
1216
|
+
manager = meta.manager,
|
|
1217
|
+
context = meta.context;
|
|
1237
1218
|
var _claimQueue = claimQueue(),
|
|
1238
1219
|
setClaimer = _claimQueue.setClaimer,
|
|
1239
1220
|
claimedBy = _claimQueue.claimedBy,
|
|
@@ -1247,12 +1228,14 @@ function onDependsOnOtherQueues(_event, meta) {
|
|
|
1247
1228
|
}
|
|
1248
1229
|
var claimerId = claimedBy();
|
|
1249
1230
|
var isClaimedByAnyQueue = !!claimerId;
|
|
1231
|
+
if (claimerId === queue.id) return;
|
|
1250
1232
|
// Check if any queue `claimed` before, if yes, we don't should do anything.
|
|
1251
1233
|
if (isClaimedByAnyQueue) {
|
|
1252
1234
|
// We need to keep the latest swap messages
|
|
1253
1235
|
markRunningSwapAsDependsOnOtherQueues({
|
|
1254
1236
|
getStorage: queue.getStorage.bind(queue),
|
|
1255
|
-
setStorage: queue.setStorage.bind(queue)
|
|
1237
|
+
setStorage: queue.setStorage.bind(queue),
|
|
1238
|
+
notifier: context.notifier
|
|
1256
1239
|
});
|
|
1257
1240
|
return;
|
|
1258
1241
|
}
|
|
@@ -1277,7 +1260,7 @@ function onDependsOnOtherQueues(_event, meta) {
|
|
|
1277
1260
|
resetClaimedBy: function resetClaimedBy() {
|
|
1278
1261
|
reset();
|
|
1279
1262
|
// TODO: Use key generator
|
|
1280
|
-
retryOn(type + "-" + network + "
|
|
1263
|
+
retryOn(type + "-" + network + ":" + address, context.notifier, manager);
|
|
1281
1264
|
}
|
|
1282
1265
|
});
|
|
1283
1266
|
}
|
|
@@ -1286,16 +1269,28 @@ function isRequiredWalletConnected(swap, getState) {
|
|
|
1286
1269
|
type = _getRequiredWallet4.type,
|
|
1287
1270
|
address = _getRequiredWallet4.address;
|
|
1288
1271
|
if (!type || !address) {
|
|
1289
|
-
return
|
|
1272
|
+
return {
|
|
1273
|
+
ok: false,
|
|
1274
|
+
reason: 'not_connected'
|
|
1275
|
+
};
|
|
1290
1276
|
}
|
|
1291
1277
|
var walletState = getState(type);
|
|
1292
|
-
var accounts = walletState.accounts
|
|
1278
|
+
var accounts = walletState.accounts,
|
|
1279
|
+
connected = walletState.connected;
|
|
1293
1280
|
var connectedAccounts = accounts || [];
|
|
1294
|
-
|
|
1281
|
+
if (!connected) return {
|
|
1282
|
+
ok: false,
|
|
1283
|
+
reason: 'not_connected'
|
|
1284
|
+
};
|
|
1285
|
+
var matched = connectedAccounts.some(function (account) {
|
|
1295
1286
|
var _readAccountAddress = walletsCore.readAccountAddress(account),
|
|
1296
1287
|
accountAddress = _readAccountAddress.address;
|
|
1297
1288
|
return address === accountAddress;
|
|
1298
1289
|
});
|
|
1290
|
+
return {
|
|
1291
|
+
ok: matched,
|
|
1292
|
+
reason: 'account_miss_match'
|
|
1293
|
+
};
|
|
1299
1294
|
}
|
|
1300
1295
|
function singTransaction(actions) {
|
|
1301
1296
|
var getStorage = actions.getStorage,
|
|
@@ -1319,10 +1314,11 @@ function singTransaction(actions) {
|
|
|
1319
1314
|
tronApprovalTransaction = currentStep.tronApprovalTransaction,
|
|
1320
1315
|
starknetTransaction = currentStep.starknetTransaction,
|
|
1321
1316
|
starknetApprovalTransaction = currentStep.starknetApprovalTransaction;
|
|
1322
|
-
var sourceWallet = getRelatedWallet
|
|
1323
|
-
var walletAddress = getCurrentAddressOf
|
|
1317
|
+
var sourceWallet = getRelatedWallet(swap, currentStep);
|
|
1318
|
+
var walletAddress = getCurrentAddressOf(swap, currentStep);
|
|
1324
1319
|
var walletSigners = getSigners(sourceWallet.walletType);
|
|
1325
1320
|
var onFinish = function onFinish() {
|
|
1321
|
+
// TODO resetClaimedBy is undefined here
|
|
1326
1322
|
if (actions.context.resetClaimedBy) {
|
|
1327
1323
|
actions.context.resetClaimedBy();
|
|
1328
1324
|
}
|
|
@@ -1340,27 +1336,18 @@ function singTransaction(actions) {
|
|
|
1340
1336
|
details: 'Waiting for approve transaction to be mined and confirmed successfully'
|
|
1341
1337
|
});
|
|
1342
1338
|
notifier(_extends({
|
|
1343
|
-
eventType: '
|
|
1339
|
+
eventType: 'confirm_approve_contract'
|
|
1344
1340
|
}, updateResult));
|
|
1345
1341
|
// Execute transaction
|
|
1346
1342
|
walletSigners.getSigner(rangoSdk.TransactionType.EVM).signAndSendTx(evmApprovalTransaction, walletAddress, null).then(function (hash) {
|
|
1347
|
-
console.debug('transaction of approval minted successfully', hash);
|
|
1348
1343
|
var approveUrl = getEvmApproveUrl(hash, getCurrentBlockchainOf(swap, currentStep), meta.evmBasedChains);
|
|
1349
|
-
|
|
1350
|
-
url: approveUrl,
|
|
1351
|
-
description: "approve"
|
|
1352
|
-
}]);
|
|
1353
|
-
// `currentStep` has been mutated, let's update storage.
|
|
1354
|
-
setStorage(_extends({}, getStorage(), {
|
|
1355
|
-
swapDetails: swap
|
|
1356
|
-
}));
|
|
1344
|
+
setStepTransactionIds(actions, hash, notifier, 'check_approve_tx_status', approveUrl);
|
|
1357
1345
|
schedule(SwapActionTypes.CHECK_TRANSACTION_STATUS);
|
|
1358
1346
|
next();
|
|
1359
1347
|
onFinish();
|
|
1360
1348
|
}, function (error) {
|
|
1361
1349
|
var _error$root, _error$root2, _error$root3;
|
|
1362
1350
|
if (swap.status === 'failed') return;
|
|
1363
|
-
console.debug('error in approving', error);
|
|
1364
1351
|
var _prettifyErrorMessage = prettifyErrorMessage(error),
|
|
1365
1352
|
extraMessage = _prettifyErrorMessage.extraMessage,
|
|
1366
1353
|
extraMessageDetail = _prettifyErrorMessage.extraMessageDetail,
|
|
@@ -1395,27 +1382,18 @@ function singTransaction(actions) {
|
|
|
1395
1382
|
details: 'Waiting for approve transaction to be mined and confirmed successfully'
|
|
1396
1383
|
});
|
|
1397
1384
|
notifier(_extends({
|
|
1398
|
-
eventType: '
|
|
1385
|
+
eventType: 'confirm_approve_contract'
|
|
1399
1386
|
}, _updateResult));
|
|
1400
1387
|
// Execute transaction
|
|
1401
1388
|
walletSigners.getSigner(rangoSdk.TransactionType.TRON).signAndSendTx(tronApprovalTransaction, walletAddress, null).then(function (hash) {
|
|
1402
|
-
console.debug('transaction of approval minted successfully', hash);
|
|
1403
1389
|
var approveUrl = getTronApproveUrl(hash);
|
|
1404
|
-
|
|
1405
|
-
url: approveUrl,
|
|
1406
|
-
description: "approve"
|
|
1407
|
-
}]);
|
|
1408
|
-
// `currentStep` has been mutated, let's update storage.
|
|
1409
|
-
setStorage(_extends({}, getStorage(), {
|
|
1410
|
-
swapDetails: swap
|
|
1411
|
-
}));
|
|
1390
|
+
setStepTransactionIds(actions, hash, notifier, 'check_approve_tx_status', approveUrl);
|
|
1412
1391
|
schedule(SwapActionTypes.CHECK_TRANSACTION_STATUS);
|
|
1413
1392
|
next();
|
|
1414
1393
|
onFinish();
|
|
1415
1394
|
}, function (error) {
|
|
1416
1395
|
var _error$root4, _error$root5, _error$root6;
|
|
1417
1396
|
if (swap.status === 'failed') return;
|
|
1418
|
-
console.debug('error in approving', error);
|
|
1419
1397
|
var _prettifyErrorMessage2 = prettifyErrorMessage(error),
|
|
1420
1398
|
extraMessage = _prettifyErrorMessage2.extraMessage,
|
|
1421
1399
|
extraMessageDetail = _prettifyErrorMessage2.extraMessageDetail,
|
|
@@ -1450,27 +1428,18 @@ function singTransaction(actions) {
|
|
|
1450
1428
|
details: 'Waiting for approve transaction to be mined and confirmed successfully'
|
|
1451
1429
|
});
|
|
1452
1430
|
notifier(_extends({
|
|
1453
|
-
eventType: '
|
|
1431
|
+
eventType: 'confirm_approve_contract'
|
|
1454
1432
|
}, _updateResult2));
|
|
1455
1433
|
// Execute transaction
|
|
1456
1434
|
walletSigners.getSigner(rangoSdk.TransactionType.STARKNET).signAndSendTx(starknetApprovalTransaction, walletAddress, null).then(function (hash) {
|
|
1457
|
-
console.debug('transaction of approval minted successfully', hash);
|
|
1458
1435
|
var approveUrl = getStarknetApproveUrl(hash);
|
|
1459
|
-
|
|
1460
|
-
url: approveUrl,
|
|
1461
|
-
description: "approve"
|
|
1462
|
-
}]);
|
|
1463
|
-
// `currentStep` has been mutated, let's update storage.
|
|
1464
|
-
setStorage(_extends({}, getStorage(), {
|
|
1465
|
-
swapDetails: swap
|
|
1466
|
-
}));
|
|
1436
|
+
setStepTransactionIds(actions, hash, notifier, 'check_approve_tx_status', approveUrl);
|
|
1467
1437
|
schedule(SwapActionTypes.CHECK_TRANSACTION_STATUS);
|
|
1468
1438
|
next();
|
|
1469
1439
|
onFinish();
|
|
1470
1440
|
}, function (error) {
|
|
1471
1441
|
var _error$root7, _error$root8, _error$root9;
|
|
1472
1442
|
if (swap.status === 'failed') return;
|
|
1473
|
-
console.debug('error in approving', error);
|
|
1474
1443
|
var _prettifyErrorMessage3 = prettifyErrorMessage(error),
|
|
1475
1444
|
extraMessage = _prettifyErrorMessage3.extraMessage,
|
|
1476
1445
|
extraMessageDetail = _prettifyErrorMessage3.extraMessageDetail,
|
|
@@ -1496,17 +1465,20 @@ function singTransaction(actions) {
|
|
|
1496
1465
|
return;
|
|
1497
1466
|
}
|
|
1498
1467
|
var hasAlreadyProceededToSign = typeof swap.hasAlreadyProceededToSign === 'boolean';
|
|
1468
|
+
var nextStepStatusBasedOnHasAlreadyProceededToSign = hasAlreadyProceededToSign ? 'failed' : 'running';
|
|
1469
|
+
var errorCodeBasedOnHasAlreadyProceededToSign = hasAlreadyProceededToSign ? 'TX_EXPIRED' : null;
|
|
1499
1470
|
var executeMessage = hasAlreadyProceededToSign ? 'Transaction is expired. Please try again' : 'executing transaction';
|
|
1500
1471
|
var executeDetails = "" + (sourceWallet.walletType === walletsShared.WalletType.WALLET_CONNECT ? 'Check your mobile phone' : '');
|
|
1501
1472
|
if (!!transferTransaction) {
|
|
1502
1473
|
var _updateResult3 = updateSwapStatus({
|
|
1503
1474
|
getStorage: getStorage,
|
|
1504
1475
|
setStorage: setStorage,
|
|
1505
|
-
nextStepStatus:
|
|
1506
|
-
nextStatus:
|
|
1476
|
+
nextStepStatus: nextStepStatusBasedOnHasAlreadyProceededToSign,
|
|
1477
|
+
nextStatus: nextStepStatusBasedOnHasAlreadyProceededToSign,
|
|
1507
1478
|
message: executeMessage,
|
|
1508
1479
|
details: executeDetails,
|
|
1509
|
-
hasAlreadyProceededToSign: hasAlreadyProceededToSign
|
|
1480
|
+
hasAlreadyProceededToSign: hasAlreadyProceededToSign,
|
|
1481
|
+
errorCode: errorCodeBasedOnHasAlreadyProceededToSign
|
|
1510
1482
|
});
|
|
1511
1483
|
var notification = getSwapNotitfication('confirm_transfer', _updateResult3);
|
|
1512
1484
|
notifier(notification);
|
|
@@ -1515,7 +1487,7 @@ function singTransaction(actions) {
|
|
|
1515
1487
|
onFinish();
|
|
1516
1488
|
} else {
|
|
1517
1489
|
walletSigners.getSigner(rangoSdk.TransactionType.TRANSFER).signAndSendTx(transferTransaction, walletAddress, null).then(function (txId) {
|
|
1518
|
-
setStepTransactionIds(actions, txId, '
|
|
1490
|
+
setStepTransactionIds(actions, txId, notifier, 'check_tx_status');
|
|
1519
1491
|
schedule(SwapActionTypes.CHECK_TRANSACTION_STATUS);
|
|
1520
1492
|
next();
|
|
1521
1493
|
onFinish();
|
|
@@ -1545,11 +1517,12 @@ function singTransaction(actions) {
|
|
|
1545
1517
|
var _updateResult4 = updateSwapStatus({
|
|
1546
1518
|
getStorage: getStorage,
|
|
1547
1519
|
setStorage: setStorage,
|
|
1548
|
-
nextStepStatus:
|
|
1549
|
-
nextStatus:
|
|
1520
|
+
nextStepStatus: nextStepStatusBasedOnHasAlreadyProceededToSign,
|
|
1521
|
+
nextStatus: nextStepStatusBasedOnHasAlreadyProceededToSign,
|
|
1550
1522
|
message: executeMessage,
|
|
1551
1523
|
details: executeDetails,
|
|
1552
|
-
hasAlreadyProceededToSign: hasAlreadyProceededToSign
|
|
1524
|
+
hasAlreadyProceededToSign: hasAlreadyProceededToSign,
|
|
1525
|
+
errorCode: errorCodeBasedOnHasAlreadyProceededToSign
|
|
1553
1526
|
});
|
|
1554
1527
|
var _notification = getSwapNotitfication('calling_smart_contract', _updateResult4);
|
|
1555
1528
|
notifier(_notification);
|
|
@@ -1558,7 +1531,7 @@ function singTransaction(actions) {
|
|
|
1558
1531
|
onFinish();
|
|
1559
1532
|
} else {
|
|
1560
1533
|
walletSigners.getSigner(rangoSdk.TransactionType.EVM).signAndSendTx(evmTransaction, walletAddress, null).then(function (id) {
|
|
1561
|
-
setStepTransactionIds(actions, id, '
|
|
1534
|
+
setStepTransactionIds(actions, id, notifier, 'check_tx_status');
|
|
1562
1535
|
schedule(SwapActionTypes.CHECK_TRANSACTION_STATUS);
|
|
1563
1536
|
next();
|
|
1564
1537
|
onFinish();
|
|
@@ -1592,11 +1565,12 @@ function singTransaction(actions) {
|
|
|
1592
1565
|
var _updateResult5 = updateSwapStatus({
|
|
1593
1566
|
getStorage: getStorage,
|
|
1594
1567
|
setStorage: setStorage,
|
|
1595
|
-
nextStepStatus:
|
|
1596
|
-
nextStatus:
|
|
1568
|
+
nextStepStatus: nextStepStatusBasedOnHasAlreadyProceededToSign,
|
|
1569
|
+
nextStatus: nextStepStatusBasedOnHasAlreadyProceededToSign,
|
|
1597
1570
|
message: executeMessage,
|
|
1598
1571
|
details: executeDetails,
|
|
1599
|
-
hasAlreadyProceededToSign: hasAlreadyProceededToSign
|
|
1572
|
+
hasAlreadyProceededToSign: hasAlreadyProceededToSign,
|
|
1573
|
+
errorCode: errorCodeBasedOnHasAlreadyProceededToSign
|
|
1600
1574
|
});
|
|
1601
1575
|
var _notification2 = getSwapNotitfication('calling_smart_contract', _updateResult5);
|
|
1602
1576
|
notifier(_notification2);
|
|
@@ -1631,7 +1605,7 @@ function singTransaction(actions) {
|
|
|
1631
1605
|
walletSigners.getSigner(rangoSdk.TransactionType.COSMOS).signAndSendTx(cosmosTransaction, walletAddress, null).then(
|
|
1632
1606
|
// todo
|
|
1633
1607
|
function (id) {
|
|
1634
|
-
setStepTransactionIds(actions, id, '
|
|
1608
|
+
setStepTransactionIds(actions, id, notifier, 'check_tx_status');
|
|
1635
1609
|
schedule(SwapActionTypes.CHECK_TRANSACTION_STATUS);
|
|
1636
1610
|
next();
|
|
1637
1611
|
onFinish();
|
|
@@ -1661,11 +1635,12 @@ function singTransaction(actions) {
|
|
|
1661
1635
|
var _updateResult7 = updateSwapStatus({
|
|
1662
1636
|
getStorage: getStorage,
|
|
1663
1637
|
setStorage: setStorage,
|
|
1664
|
-
nextStepStatus:
|
|
1665
|
-
nextStatus:
|
|
1638
|
+
nextStepStatus: nextStepStatusBasedOnHasAlreadyProceededToSign,
|
|
1639
|
+
nextStatus: nextStepStatusBasedOnHasAlreadyProceededToSign,
|
|
1666
1640
|
message: executeMessage,
|
|
1667
1641
|
details: executeDetails,
|
|
1668
|
-
hasAlreadyProceededToSign: hasAlreadyProceededToSign
|
|
1642
|
+
hasAlreadyProceededToSign: hasAlreadyProceededToSign,
|
|
1643
|
+
errorCode: errorCodeBasedOnHasAlreadyProceededToSign
|
|
1669
1644
|
});
|
|
1670
1645
|
var _notification3 = getSwapNotitfication('calling_smart_contract', _updateResult7);
|
|
1671
1646
|
notifier(_notification3);
|
|
@@ -1675,7 +1650,7 @@ function singTransaction(actions) {
|
|
|
1675
1650
|
} else {
|
|
1676
1651
|
var tx = solanaTransaction;
|
|
1677
1652
|
walletSigners.getSigner(rangoSdk.TransactionType.SOLANA).signAndSendTx(tx, walletAddress, null).then(function (txId) {
|
|
1678
|
-
setStepTransactionIds(actions, txId, '
|
|
1653
|
+
setStepTransactionIds(actions, txId, notifier, 'check_tx_status');
|
|
1679
1654
|
schedule(SwapActionTypes.CHECK_TRANSACTION_STATUS);
|
|
1680
1655
|
next();
|
|
1681
1656
|
onFinish();
|
|
@@ -1705,11 +1680,12 @@ function singTransaction(actions) {
|
|
|
1705
1680
|
var _updateResult8 = updateSwapStatus({
|
|
1706
1681
|
getStorage: getStorage,
|
|
1707
1682
|
setStorage: setStorage,
|
|
1708
|
-
nextStepStatus:
|
|
1709
|
-
nextStatus:
|
|
1683
|
+
nextStepStatus: nextStepStatusBasedOnHasAlreadyProceededToSign,
|
|
1684
|
+
nextStatus: nextStepStatusBasedOnHasAlreadyProceededToSign,
|
|
1710
1685
|
message: executeMessage,
|
|
1711
1686
|
details: executeDetails,
|
|
1712
|
-
hasAlreadyProceededToSign: hasAlreadyProceededToSign
|
|
1687
|
+
hasAlreadyProceededToSign: hasAlreadyProceededToSign,
|
|
1688
|
+
errorCode: errorCodeBasedOnHasAlreadyProceededToSign
|
|
1713
1689
|
});
|
|
1714
1690
|
var _notification4 = getSwapNotitfication('calling_smart_contract', _updateResult8);
|
|
1715
1691
|
notifier(_notification4);
|
|
@@ -1718,7 +1694,7 @@ function singTransaction(actions) {
|
|
|
1718
1694
|
onFinish();
|
|
1719
1695
|
} else {
|
|
1720
1696
|
walletSigners.getSigner(rangoSdk.TransactionType.TRON).signAndSendTx(tronTransaction, walletAddress, null).then(function (id) {
|
|
1721
|
-
setStepTransactionIds(actions, id, '
|
|
1697
|
+
setStepTransactionIds(actions, id, notifier, 'check_tx_status');
|
|
1722
1698
|
schedule(SwapActionTypes.CHECK_TRANSACTION_STATUS);
|
|
1723
1699
|
next();
|
|
1724
1700
|
onFinish();
|
|
@@ -1752,11 +1728,12 @@ function singTransaction(actions) {
|
|
|
1752
1728
|
var _updateResult9 = updateSwapStatus({
|
|
1753
1729
|
getStorage: getStorage,
|
|
1754
1730
|
setStorage: setStorage,
|
|
1755
|
-
nextStepStatus:
|
|
1756
|
-
nextStatus:
|
|
1731
|
+
nextStepStatus: nextStepStatusBasedOnHasAlreadyProceededToSign,
|
|
1732
|
+
nextStatus: nextStepStatusBasedOnHasAlreadyProceededToSign,
|
|
1757
1733
|
message: executeMessage,
|
|
1758
1734
|
details: executeDetails,
|
|
1759
|
-
hasAlreadyProceededToSign: hasAlreadyProceededToSign
|
|
1735
|
+
hasAlreadyProceededToSign: hasAlreadyProceededToSign,
|
|
1736
|
+
errorCode: errorCodeBasedOnHasAlreadyProceededToSign
|
|
1760
1737
|
});
|
|
1761
1738
|
var _notification5 = getSwapNotitfication('calling_smart_contract', _updateResult9);
|
|
1762
1739
|
notifier(_notification5);
|
|
@@ -1765,7 +1742,7 @@ function singTransaction(actions) {
|
|
|
1765
1742
|
onFinish();
|
|
1766
1743
|
} else {
|
|
1767
1744
|
walletSigners.getSigner(rangoSdk.TransactionType.STARKNET).signAndSendTx(starknetTransaction, walletAddress, null).then(function (id) {
|
|
1768
|
-
setStepTransactionIds(actions, id, '
|
|
1745
|
+
setStepTransactionIds(actions, id, notifier, 'check_tx_status');
|
|
1769
1746
|
schedule(SwapActionTypes.CHECK_TRANSACTION_STATUS);
|
|
1770
1747
|
next();
|
|
1771
1748
|
onFinish();
|
|
@@ -1819,7 +1796,9 @@ function checkWaitingForConnectWalletChange(params) {
|
|
|
1819
1796
|
var hasWaitingForConnect = Object.keys(q.list.state.tasks).some(function (taskId) {
|
|
1820
1797
|
var _task$blockedFor;
|
|
1821
1798
|
var task = q.list.state.tasks[taskId];
|
|
1822
|
-
return task.status === queueManagerCore.Status.BLOCKED &&
|
|
1799
|
+
return task.status === queueManagerCore.Status.BLOCKED &&
|
|
1800
|
+
// TODO double check later
|
|
1801
|
+
[BlockReason.WAIT_FOR_CONNECT_WALLET].includes((_task$blockedFor = task.blockedFor) == null ? void 0 : _task$blockedFor.reason);
|
|
1823
1802
|
});
|
|
1824
1803
|
if (currentStepRequiredWallet === wallet && hasWaitingForConnect && getCurrentBlockchainOfOrNull(swap, currentStep) != network) {
|
|
1825
1804
|
var queueInstance = q.list;
|
|
@@ -1833,10 +1812,17 @@ function checkWaitingForConnectWalletChange(params) {
|
|
|
1833
1812
|
},
|
|
1834
1813
|
silent: true
|
|
1835
1814
|
});
|
|
1836
|
-
markRunningSwapAsSwitchingNetwork({
|
|
1815
|
+
var result = markRunningSwapAsSwitchingNetwork({
|
|
1837
1816
|
getStorage: queueInstance.getStorage.bind(queueInstance),
|
|
1838
1817
|
setStorage: queueInstance.setStorage.bind(queueInstance)
|
|
1839
1818
|
});
|
|
1819
|
+
if (result) {
|
|
1820
|
+
params == null ? void 0 : params.notifier({
|
|
1821
|
+
eventType: 'waiting_for_network_change',
|
|
1822
|
+
swap: result.swap,
|
|
1823
|
+
step: result.step
|
|
1824
|
+
});
|
|
1825
|
+
}
|
|
1840
1826
|
}
|
|
1841
1827
|
}
|
|
1842
1828
|
}
|
|
@@ -1867,6 +1853,49 @@ function checkWaitingForNetworkChange(manager) {
|
|
|
1867
1853
|
}
|
|
1868
1854
|
});
|
|
1869
1855
|
}
|
|
1856
|
+
/**
|
|
1857
|
+
* Get list of all running swaps
|
|
1858
|
+
*
|
|
1859
|
+
* @param manager
|
|
1860
|
+
* @returns list of pending swaps
|
|
1861
|
+
*/
|
|
1862
|
+
function getRunningSwaps(manager) {
|
|
1863
|
+
var queues = (manager == null ? void 0 : manager.getAll()) || new Map();
|
|
1864
|
+
var result = [];
|
|
1865
|
+
queues.forEach(function (q) {
|
|
1866
|
+
// retry only on affected queues
|
|
1867
|
+
var queueStorage = q.list.getStorage();
|
|
1868
|
+
var swap = queueStorage == null ? void 0 : queueStorage.swapDetails;
|
|
1869
|
+
if (!swap || swap.status !== 'running') return;
|
|
1870
|
+
result.push(swap);
|
|
1871
|
+
});
|
|
1872
|
+
return result;
|
|
1873
|
+
}
|
|
1874
|
+
/**
|
|
1875
|
+
*
|
|
1876
|
+
* Trying to reset notifications for pending swaps to correct message on page load.
|
|
1877
|
+
* We could remove this after supporting auto connect for wallets.
|
|
1878
|
+
*
|
|
1879
|
+
* @param swaps
|
|
1880
|
+
* @param notifier
|
|
1881
|
+
* @returns
|
|
1882
|
+
*/
|
|
1883
|
+
function resetRunningSwapNotifsOnPageLoad(runningSwaps, notifier) {
|
|
1884
|
+
runningSwaps.forEach(function (swap) {
|
|
1885
|
+
var currentStep = getCurrentStep(swap);
|
|
1886
|
+
var eventType;
|
|
1887
|
+
if ((currentStep == null ? void 0 : currentStep.networkStatus) === exports.PendingSwapNetworkStatus.WaitingForQueue) eventType = 'waiting_for_queue';else if ((swap == null ? void 0 : swap.status) === 'running') {
|
|
1888
|
+
eventType = 'waiting_for_connecting_wallet';
|
|
1889
|
+
}
|
|
1890
|
+
if (!!eventType && !!notifier) {
|
|
1891
|
+
notifier({
|
|
1892
|
+
eventType: eventType,
|
|
1893
|
+
swap: swap,
|
|
1894
|
+
step: currentStep
|
|
1895
|
+
});
|
|
1896
|
+
}
|
|
1897
|
+
});
|
|
1898
|
+
}
|
|
1870
1899
|
/**
|
|
1871
1900
|
*
|
|
1872
1901
|
* Try to run blocked tasks by wallet and network name.
|
|
@@ -1878,7 +1907,7 @@ function checkWaitingForNetworkChange(manager) {
|
|
|
1878
1907
|
* @param manager
|
|
1879
1908
|
* @returns
|
|
1880
1909
|
*/
|
|
1881
|
-
function retryOn(wallet_network, manager, options) {
|
|
1910
|
+
function retryOn(wallet_network, notifier, manager, options) {
|
|
1882
1911
|
var _finalQueueToBeRun;
|
|
1883
1912
|
if (options === void 0) {
|
|
1884
1913
|
options = {
|
|
@@ -1911,7 +1940,6 @@ function retryOn(wallet_network, manager, options) {
|
|
|
1911
1940
|
}
|
|
1912
1941
|
}
|
|
1913
1942
|
});
|
|
1914
|
-
// const isWaitingForConnectWallet = (status: Status) =>
|
|
1915
1943
|
var finalQueueToBeRun = undefined;
|
|
1916
1944
|
if (walletAndNetworkMatched.length > 0) {
|
|
1917
1945
|
finalQueueToBeRun = walletAndNetworkMatched[0];
|
|
@@ -1920,7 +1948,8 @@ function retryOn(wallet_network, manager, options) {
|
|
|
1920
1948
|
var currentQueue = walletAndNetworkMatched[i];
|
|
1921
1949
|
markRunningSwapAsDependsOnOtherQueues({
|
|
1922
1950
|
getStorage: currentQueue.getStorage.bind(currentQueue),
|
|
1923
|
-
setStorage: currentQueue.setStorage.bind(currentQueue)
|
|
1951
|
+
setStorage: currentQueue.setStorage.bind(currentQueue),
|
|
1952
|
+
notifier: notifier
|
|
1924
1953
|
});
|
|
1925
1954
|
}
|
|
1926
1955
|
}
|
|
@@ -1986,7 +2015,7 @@ function cancelSwap(swap) {
|
|
|
1986
2015
|
});
|
|
1987
2016
|
}
|
|
1988
2017
|
|
|
1989
|
-
var INTERVAL_FOR_CHECK =
|
|
2018
|
+
var INTERVAL_FOR_CHECK = 3000;
|
|
1990
2019
|
/**
|
|
1991
2020
|
* Subscribe to status of swap transaction by checking from server periodically.
|
|
1992
2021
|
* After getting the status, notify the user and schedule `SCHEDULE_NEXT_STEP`.
|
|
@@ -2033,7 +2062,7 @@ function _checkTransactionStatus() {
|
|
|
2033
2062
|
outputAmount = ((_status = status) == null ? void 0 : _status.outputAmount) || (!!currentStep.outputAmount ? currentStep.outputAmount : null);
|
|
2034
2063
|
prevOutputAmount = currentStep.outputAmount;
|
|
2035
2064
|
swap.extraMessage = ((_status2 = status) == null ? void 0 : _status2.extraMessage) || swap.extraMessage;
|
|
2036
|
-
swap.extraMessageSeverity = MessageSeverity.info;
|
|
2065
|
+
swap.extraMessageSeverity = exports.MessageSeverity.info;
|
|
2037
2066
|
swap.extraMessageDetail = '';
|
|
2038
2067
|
currentStep.status = ((_status3 = status) == null ? void 0 : _status3.status) || currentStep.status;
|
|
2039
2068
|
currentStep.diagnosisUrl = ((_status4 = status) == null ? void 0 : _status4.diagnosisUrl) || currentStep.diagnosisUrl || null;
|
|
@@ -2044,6 +2073,7 @@ function _checkTransactionStatus() {
|
|
|
2044
2073
|
if (!!newTransaction) {
|
|
2045
2074
|
currentStep.status = 'created';
|
|
2046
2075
|
currentStep.executedTransactionId = null;
|
|
2076
|
+
currentStep.executedTransactionTime = null;
|
|
2047
2077
|
currentStep.transferTransaction = null;
|
|
2048
2078
|
currentStep.cosmosTransaction = null;
|
|
2049
2079
|
currentStep.evmTransaction = null;
|
|
@@ -2071,11 +2101,22 @@ function _checkTransactionStatus() {
|
|
|
2071
2101
|
eventType: 'step_completed_with_output',
|
|
2072
2102
|
swap: swap,
|
|
2073
2103
|
step: currentStep
|
|
2074
|
-
});
|
|
2104
|
+
});else if (prevOutputAmount === null && outputAmount === null) {
|
|
2105
|
+
// it is needed to set notification after reloading the page
|
|
2106
|
+
context.notifier({
|
|
2107
|
+
eventType: 'check_tx_status',
|
|
2108
|
+
swap: swap,
|
|
2109
|
+
step: currentStep
|
|
2110
|
+
});
|
|
2111
|
+
}
|
|
2075
2112
|
if (currentStep.status === 'success') {
|
|
2076
2113
|
nextStep = getNextStep(swap, currentStep);
|
|
2077
2114
|
swap.extraMessageDetail = '';
|
|
2078
2115
|
swap.extraMessage = !!nextStep ? "starting next step: " + nextStep.swapperId + ": " + nextStep.fromBlockchain + " -> " + nextStep.toBlockchain : '';
|
|
2116
|
+
} else if (currentStep.status === 'failed') {
|
|
2117
|
+
swap.extraMessage = 'Transaction failed in blockchain';
|
|
2118
|
+
swap.extraMessageSeverity = exports.MessageSeverity.error;
|
|
2119
|
+
swap.extraMessageDetail = '';
|
|
2079
2120
|
}
|
|
2080
2121
|
// Sync data with storage
|
|
2081
2122
|
setStorage(_extends({}, getStorage(), {
|
|
@@ -2115,38 +2156,70 @@ function checkApprovalStatus(_x2) {
|
|
|
2115
2156
|
*/
|
|
2116
2157
|
function _checkApprovalStatus() {
|
|
2117
2158
|
_checkApprovalStatus = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref2) {
|
|
2118
|
-
var getStorage, setStorage, next, schedule, retry, context, swap, currentStep, isApproved, response;
|
|
2159
|
+
var getStorage, setStorage, next, schedule, retry, failed, context, swap, currentStep, isApproved, response, updateResult;
|
|
2119
2160
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
2120
2161
|
while (1) switch (_context2.prev = _context2.next) {
|
|
2121
2162
|
case 0:
|
|
2122
|
-
getStorage = _ref2.getStorage, setStorage = _ref2.setStorage, next = _ref2.next, schedule = _ref2.schedule, retry = _ref2.retry, context = _ref2.context;
|
|
2123
|
-
swap = getStorage().swapDetails; //
|
|
2163
|
+
getStorage = _ref2.getStorage, setStorage = _ref2.setStorage, next = _ref2.next, schedule = _ref2.schedule, retry = _ref2.retry, failed = _ref2.failed, context = _ref2.context;
|
|
2164
|
+
swap = getStorage().swapDetails; // double check it after fixing parallel
|
|
2165
|
+
// const onFinish = () => {
|
|
2166
|
+
// // TODO resetClaimedBy is undefined here
|
|
2167
|
+
// if (context.resetClaimedBy) {
|
|
2168
|
+
// context.resetClaimedBy();
|
|
2169
|
+
// }
|
|
2170
|
+
// };
|
|
2171
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
2124
2172
|
currentStep = getCurrentStep(swap);
|
|
2125
2173
|
isApproved = false;
|
|
2126
2174
|
_context2.prev = 4;
|
|
2127
2175
|
_context2.next = 7;
|
|
2128
|
-
return httpService.checkApproval(swap.requestId);
|
|
2176
|
+
return httpService.checkApproval(swap.requestId, currentStep.executedTransactionId || '');
|
|
2129
2177
|
case 7:
|
|
2130
2178
|
response = _context2.sent;
|
|
2131
2179
|
isApproved = response.isApproved;
|
|
2180
|
+
if (!isApproved && response.txStatus === 'failed') {
|
|
2181
|
+
// approve transaction failed on
|
|
2182
|
+
// we should fail the whole swap
|
|
2183
|
+
updateResult = updateSwapStatus({
|
|
2184
|
+
getStorage: getStorage,
|
|
2185
|
+
setStorage: setStorage,
|
|
2186
|
+
nextStatus: 'failed',
|
|
2187
|
+
nextStepStatus: 'failed',
|
|
2188
|
+
errorCode: 'SEND_TX_FAILED',
|
|
2189
|
+
message: 'Approve transaction failed',
|
|
2190
|
+
details: 'Smart contract approval failed in blockchain.'
|
|
2191
|
+
});
|
|
2192
|
+
context.notifier(_extends({
|
|
2193
|
+
eventType: 'smart_contract_call_failed'
|
|
2194
|
+
}, updateResult));
|
|
2195
|
+
failed();
|
|
2196
|
+
// onFinish();
|
|
2197
|
+
} else if (!isApproved) {
|
|
2198
|
+
// it is needed to set notification after reloading the page
|
|
2199
|
+
context.notifier({
|
|
2200
|
+
eventType: 'check_approve_tx_status',
|
|
2201
|
+
swap: swap,
|
|
2202
|
+
step: currentStep
|
|
2203
|
+
});
|
|
2204
|
+
}
|
|
2132
2205
|
_context2.next = 15;
|
|
2133
2206
|
break;
|
|
2134
|
-
case
|
|
2135
|
-
_context2.prev =
|
|
2207
|
+
case 12:
|
|
2208
|
+
_context2.prev = 12;
|
|
2136
2209
|
_context2.t0 = _context2["catch"](4);
|
|
2137
|
-
console.error('Failed to check getApprovedAmount', _context2.t0);
|
|
2138
2210
|
isApproved = false;
|
|
2139
2211
|
case 15:
|
|
2140
2212
|
if (!isApproved) {
|
|
2141
|
-
_context2.next =
|
|
2213
|
+
_context2.next = 31;
|
|
2142
2214
|
break;
|
|
2143
2215
|
}
|
|
2144
2216
|
currentStep.status = 'approved';
|
|
2145
2217
|
swap.extraMessage = "Spending " + currentStep.fromSymbol + " approved successfully.";
|
|
2146
2218
|
swap.extraMessageDetail = null;
|
|
2147
|
-
swap.extraMessageSeverity = MessageSeverity.success;
|
|
2219
|
+
swap.extraMessageSeverity = exports.MessageSeverity.success;
|
|
2148
2220
|
currentStep.evmApprovalTransaction = null;
|
|
2149
2221
|
currentStep.executedTransactionId = null;
|
|
2222
|
+
currentStep.executedTransactionTime = null;
|
|
2150
2223
|
currentStep.starknetApprovalTransaction = null;
|
|
2151
2224
|
currentStep.tronApprovalTransaction = null;
|
|
2152
2225
|
setStorage(_extends({}, getStorage(), {
|
|
@@ -2159,18 +2232,18 @@ function _checkApprovalStatus() {
|
|
|
2159
2232
|
});
|
|
2160
2233
|
schedule(SwapActionTypes.SCHEDULE_NEXT_STEP);
|
|
2161
2234
|
next();
|
|
2162
|
-
_context2.next =
|
|
2235
|
+
_context2.next = 34;
|
|
2163
2236
|
break;
|
|
2164
|
-
case
|
|
2165
|
-
_context2.next =
|
|
2237
|
+
case 31:
|
|
2238
|
+
_context2.next = 33;
|
|
2166
2239
|
return delay(2000);
|
|
2167
|
-
case 32:
|
|
2168
|
-
retry();
|
|
2169
2240
|
case 33:
|
|
2241
|
+
retry();
|
|
2242
|
+
case 34:
|
|
2170
2243
|
case "end":
|
|
2171
2244
|
return _context2.stop();
|
|
2172
2245
|
}
|
|
2173
|
-
}, _callee2, null, [[4,
|
|
2246
|
+
}, _callee2, null, [[4, 12]]);
|
|
2174
2247
|
}));
|
|
2175
2248
|
return _checkApprovalStatus.apply(this, arguments);
|
|
2176
2249
|
}
|
|
@@ -2289,7 +2362,7 @@ function _createTransaction() {
|
|
|
2289
2362
|
nextStepStatus: 'failed',
|
|
2290
2363
|
message: extraMessage,
|
|
2291
2364
|
details: extraMessageDetail,
|
|
2292
|
-
errorCode:
|
|
2365
|
+
errorCode: 'FETCH_TX_FAILED'
|
|
2293
2366
|
});
|
|
2294
2367
|
context.notifier(_extends({
|
|
2295
2368
|
eventType: 'task_failed'
|
|
@@ -2336,7 +2409,7 @@ function _executeTransaction() {
|
|
|
2336
2409
|
currentStep = getCurrentStep(swap); // Resetting network status, so we will set it again during the running of this task.
|
|
2337
2410
|
resetNetworkStatus(actions);
|
|
2338
2411
|
/* Make sure wallet is connected and also the connected wallet is matched with tx by checking address. */
|
|
2339
|
-
isWrongAddress = !isRequiredWalletConnected(swap, context.state);
|
|
2412
|
+
isWrongAddress = !isRequiredWalletConnected(swap, context.state).ok;
|
|
2340
2413
|
if (!isWrongAddress) {
|
|
2341
2414
|
_context.next = 15;
|
|
2342
2415
|
break;
|
|
@@ -2361,13 +2434,13 @@ function _executeTransaction() {
|
|
|
2361
2434
|
We only run one request at a time (In parallel mode).
|
|
2362
2435
|
*/
|
|
2363
2436
|
needsToBlockQueue = isNeedBlockQueueForParallel(currentStep);
|
|
2364
|
-
if (!(needsToBlockQueue && !isClaimed
|
|
2437
|
+
if (!(needsToBlockQueue && !isClaimed)) {
|
|
2365
2438
|
_context.next = 20;
|
|
2366
2439
|
break;
|
|
2367
2440
|
}
|
|
2368
2441
|
_blockedFor = {
|
|
2369
2442
|
reason: BlockReason.DEPENDS_ON_OTHER_QUEUES,
|
|
2370
|
-
description: 'Waiting for other
|
|
2443
|
+
description: 'Waiting for other swaps to complete',
|
|
2371
2444
|
details: {}
|
|
2372
2445
|
};
|
|
2373
2446
|
requestBlock(_blockedFor);
|
|
@@ -2394,7 +2467,7 @@ function _executeTransaction() {
|
|
|
2394
2467
|
updateNetworkStatus(actions, {
|
|
2395
2468
|
message: '',
|
|
2396
2469
|
details: 'Wallet network changed successfully',
|
|
2397
|
-
status: PendingSwapNetworkStatus.NetworkChanged
|
|
2470
|
+
status: exports.PendingSwapNetworkStatus.NetworkChanged
|
|
2398
2471
|
});
|
|
2399
2472
|
case 32:
|
|
2400
2473
|
// All the conditions are met. We can safely send the tx to wallet for sign.
|
|
@@ -2431,6 +2504,7 @@ function scheduleNextStep(_ref) {
|
|
|
2431
2504
|
schedule(SwapActionTypes.EXECUTE_TRANSACTION);
|
|
2432
2505
|
return next();
|
|
2433
2506
|
}
|
|
2507
|
+
// TODO double check it after approval changes
|
|
2434
2508
|
if (currentStep != null && currentStep.executedTransactionId) {
|
|
2435
2509
|
schedule(SwapActionTypes.CHECK_TRANSACTION_STATUS);
|
|
2436
2510
|
return next();
|
|
@@ -2466,6 +2540,29 @@ function start(_ref) {
|
|
|
2466
2540
|
next();
|
|
2467
2541
|
}
|
|
2468
2542
|
|
|
2543
|
+
var _actions;
|
|
2544
|
+
/**
|
|
2545
|
+
*
|
|
2546
|
+
* The idea behind this queue is to be able dynamically add some steps.
|
|
2547
|
+
* After running a swap, it can be blocked (like on waiting for switch netwrok)
|
|
2548
|
+
* or waits for something happend (like checking status of a transaction from server)
|
|
2549
|
+
*
|
|
2550
|
+
*/
|
|
2551
|
+
var swapQueueDef = {
|
|
2552
|
+
name: 'swap',
|
|
2553
|
+
actions: (_actions = {}, _actions[SwapActionTypes.START] = start, _actions[SwapActionTypes.SCHEDULE_NEXT_STEP] = scheduleNextStep, _actions[SwapActionTypes.CREATE_TRANSACTION] = createTransaction, _actions[SwapActionTypes.EXECUTE_TRANSACTION] = executeTransaction, _actions[SwapActionTypes.CHECK_TRANSACTION_STATUS] = checkStatus, _actions),
|
|
2554
|
+
run: [SwapActionTypes.START],
|
|
2555
|
+
whenTaskBlocked: function whenTaskBlocked(event, meta) {
|
|
2556
|
+
if (event.reason.reason === BlockReason.WAIT_FOR_CONNECT_WALLET) {
|
|
2557
|
+
onBlockForConnectWallet(event, meta);
|
|
2558
|
+
} else if (event.reason.reason === BlockReason.WAIT_FOR_NETWORK_CHANGE) {
|
|
2559
|
+
onBlockForChangeNetwork(event, meta);
|
|
2560
|
+
} else if (event.reason.reason === BlockReason.DEPENDS_ON_OTHER_QUEUES) {
|
|
2561
|
+
onDependsOnOtherQueues(event, meta);
|
|
2562
|
+
}
|
|
2563
|
+
}
|
|
2564
|
+
};
|
|
2565
|
+
|
|
2469
2566
|
var MIGRATED_KEY = 'migratedToQueueManager';
|
|
2470
2567
|
/**
|
|
2471
2568
|
*
|
|
@@ -2657,9 +2754,10 @@ function useQueueManager(params) {
|
|
|
2657
2754
|
checkWaitingForConnectWalletChange({
|
|
2658
2755
|
evmChains: params.evmChains,
|
|
2659
2756
|
wallet_network: params.lastConnectedWallet,
|
|
2660
|
-
manager: manager
|
|
2757
|
+
manager: manager,
|
|
2758
|
+
notifier: params.notifier
|
|
2661
2759
|
});
|
|
2662
|
-
retryOn(params.lastConnectedWallet, manager);
|
|
2760
|
+
retryOn(params.lastConnectedWallet, params.notifier, manager);
|
|
2663
2761
|
}
|
|
2664
2762
|
}, [params.lastConnectedWallet]);
|
|
2665
2763
|
react.useEffect(function () {
|
|
@@ -2674,34 +2772,19 @@ function useQueueManager(params) {
|
|
|
2674
2772
|
}, [params.disconnectedWallet]);
|
|
2675
2773
|
}
|
|
2676
2774
|
|
|
2677
|
-
|
|
2678
|
-
/**
|
|
2679
|
-
*
|
|
2680
|
-
* The idea behind this queue is to be able dynamically add some steps.
|
|
2681
|
-
* After running a swap, it can be blocked (like on waiting for switch netwrok)
|
|
2682
|
-
* or waits for something happend (like checking status of a transaction from server)
|
|
2683
|
-
*
|
|
2684
|
-
*/
|
|
2685
|
-
var swapQueueDef = {
|
|
2686
|
-
name: 'swap',
|
|
2687
|
-
actions: (_actions = {}, _actions[SwapActionTypes.START] = start, _actions[SwapActionTypes.SCHEDULE_NEXT_STEP] = scheduleNextStep, _actions[SwapActionTypes.CREATE_TRANSACTION] = createTransaction, _actions[SwapActionTypes.EXECUTE_TRANSACTION] = executeTransaction, _actions[SwapActionTypes.CHECK_TRANSACTION_STATUS] = checkStatus, _actions),
|
|
2688
|
-
run: [SwapActionTypes.START],
|
|
2689
|
-
whenTaskBlocked: function whenTaskBlocked(event, meta) {
|
|
2690
|
-
if (event.reason.reason === BlockReason.WAIT_FOR_CONNECT_WALLET) {
|
|
2691
|
-
onBlockForConnectWallet(event, meta);
|
|
2692
|
-
} else if (event.reason.reason === BlockReason.WAIT_FOR_NETWORK_CHANGE) {
|
|
2693
|
-
onBlockForChangeNetwork(event, meta);
|
|
2694
|
-
} else if (event.reason.reason === BlockReason.DEPENDS_ON_OTHER_QUEUES) {
|
|
2695
|
-
onDependsOnOtherQueues(event, meta);
|
|
2696
|
-
}
|
|
2697
|
-
}
|
|
2698
|
-
};
|
|
2699
|
-
|
|
2775
|
+
exports.PrettyError = PrettyError;
|
|
2700
2776
|
exports.cancelSwap = cancelSwap;
|
|
2701
2777
|
exports.checkWaitingForNetworkChange = checkWaitingForNetworkChange;
|
|
2778
|
+
exports.getCurrentBlockchainOfOrNull = getCurrentBlockchainOfOrNull;
|
|
2702
2779
|
exports.getCurrentStep = getCurrentStep;
|
|
2703
2780
|
exports.getEvmProvider = getEvmProvider;
|
|
2704
|
-
exports.getRelatedWallet = getRelatedWallet
|
|
2781
|
+
exports.getRelatedWallet = getRelatedWallet;
|
|
2782
|
+
exports.getRelatedWalletOrNull = getRelatedWalletOrNull;
|
|
2783
|
+
exports.getRequiredWallet = getRequiredWallet;
|
|
2784
|
+
exports.getRunningSwaps = getRunningSwaps;
|
|
2785
|
+
exports.prettifyErrorMessage = prettifyErrorMessage;
|
|
2786
|
+
exports.resetRunningSwapNotifsOnPageLoad = resetRunningSwapNotifsOnPageLoad;
|
|
2787
|
+
exports.splitWalletNetwork = splitWalletNetwork;
|
|
2705
2788
|
exports.swapQueueDef = swapQueueDef;
|
|
2706
2789
|
exports.updateSwapStatus = updateSwapStatus;
|
|
2707
2790
|
exports.useMigration = useMigration;
|