decentraland-dapps 23.22.0 → 23.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/modules/features/selectors.d.ts +2 -1
- package/dist/modules/features/selectors.js +29 -0
- package/dist/modules/features/selectors.js.map +1 -1
- package/dist/modules/transaction/sagas.d.ts +82 -1
- package/dist/modules/transaction/sagas.js +57 -20
- package/dist/modules/transaction/sagas.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { LoadingState } from '../loading/reducer';
|
|
2
2
|
import { FeaturesState } from './reducer';
|
|
3
|
-
import { ApplicationName, ApplicationFeatures, StateWithFeatures } from './types';
|
|
3
|
+
import { ApplicationName, ApplicationFeatures, StateWithFeatures, Variant } from './types';
|
|
4
4
|
export declare const getState: (state: StateWithFeatures) => FeaturesState;
|
|
5
5
|
export declare const getData: (state: StateWithFeatures) => Record<ApplicationName, ApplicationFeatures>;
|
|
6
6
|
export declare const getLoading: (state: StateWithFeatures) => LoadingState;
|
|
@@ -22,4 +22,5 @@ export declare const getError: (state: StateWithFeatures) => string | null;
|
|
|
22
22
|
*/
|
|
23
23
|
export declare const getIsFeatureEnabled: (state: StateWithFeatures, app: ApplicationName, feature: string) => boolean;
|
|
24
24
|
export declare const isLoadingFeatureFlags: (state: StateWithFeatures) => boolean;
|
|
25
|
+
export declare const getFeatureVariant: (state: StateWithFeatures, app: ApplicationName, feature: string) => Variant | null;
|
|
25
26
|
export declare const hasLoadedInitialFlags: (state: StateWithFeatures) => boolean;
|
|
@@ -45,6 +45,29 @@ export const getIsFeatureEnabled = (state, app, feature) => {
|
|
|
45
45
|
export const isLoadingFeatureFlags = (state) => {
|
|
46
46
|
return isLoadingType(getLoading(state), FETCH_APPLICATION_FEATURES_REQUEST);
|
|
47
47
|
};
|
|
48
|
+
export const getFeatureVariant = (state, app, feature) => {
|
|
49
|
+
const variant = getVariantFromEnv(app, feature);
|
|
50
|
+
// Return the flag variant if it has been defined in the env.
|
|
51
|
+
// If flag variants are only defined in the env, there is no need to implement the features reducer.
|
|
52
|
+
if (variant !== null) {
|
|
53
|
+
// Build the variant object
|
|
54
|
+
return {
|
|
55
|
+
name: 'Local variant',
|
|
56
|
+
enabled: true,
|
|
57
|
+
payload: {
|
|
58
|
+
type: 'string',
|
|
59
|
+
value: variant
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
const appFeatures = getData(state)[app];
|
|
64
|
+
// The app might not be defined in the store because the flag variants might not have been fetched yet.
|
|
65
|
+
// We suggest using isLoadingFeatureFlags and hasLoadedInitialFlags to handle this first.
|
|
66
|
+
if (!appFeatures) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
return appFeatures.variants[`${app}-${feature}`] || null;
|
|
70
|
+
};
|
|
48
71
|
export const hasLoadedInitialFlags = (state) => {
|
|
49
72
|
return getState(state).hasLoadedInitialFlags;
|
|
50
73
|
};
|
|
@@ -54,4 +77,10 @@ const getFromEnv = (application, flag) => {
|
|
|
54
77
|
const value = process.env[key];
|
|
55
78
|
return !value || value === '' ? null : value === '1' ? true : false;
|
|
56
79
|
};
|
|
80
|
+
const getVariantFromEnv = (application, flag) => {
|
|
81
|
+
const envify = (word) => word.toUpperCase().replace(/-/g, '_');
|
|
82
|
+
const key = `REACT_APP_FF_VARIANT_${envify(application)}_${envify(flag)}`;
|
|
83
|
+
const value = process.env[key];
|
|
84
|
+
return !value || value === '' ? null : value;
|
|
85
|
+
};
|
|
57
86
|
//# sourceMappingURL=selectors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../src/modules/features/selectors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,kCAAkC,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../src/modules/features/selectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,89 @@
|
|
|
1
1
|
import { ForkEffect } from 'redux-saga/effects';
|
|
2
|
-
import {
|
|
2
|
+
import { ethers } from 'ethers';
|
|
3
|
+
import { BlockWithTransactions } from '@ethersproject/abstract-provider';
|
|
4
|
+
import { Transaction, TransactionStatus, AnyTransaction, TransactionsConfig } from './types';
|
|
5
|
+
import { FetchTransactionRequestAction, ReplaceTransactionRequestAction, WatchRevertedTransactionAction } from './actions';
|
|
6
|
+
import { ConnectWalletSuccessAction } from '../wallet/actions';
|
|
3
7
|
export declare function transactionSaga(config?: TransactionsConfig): IterableIterator<ForkEffect>;
|
|
8
|
+
export declare const BLOCKS_DEPTH = 100;
|
|
9
|
+
export declare const TRANSACTION_FETCH_RETIES = 120;
|
|
10
|
+
export declare const PENDING_TRANSACTION_THRESHOLD: number;
|
|
11
|
+
export declare const REVERTED_TRANSACTION_THRESHOLD: number;
|
|
12
|
+
export declare const DROPPED_TRANSACTION_THRESHOLD: number;
|
|
13
|
+
export declare const BACKOFF_DELAY_MULTIPLIER = 1;
|
|
4
14
|
export declare class FailedTransactionError extends Error {
|
|
5
15
|
hash: string;
|
|
6
16
|
status: TransactionStatus;
|
|
7
17
|
constructor(hash: string, status: TransactionStatus);
|
|
8
18
|
}
|
|
19
|
+
export declare function handleCrossChainTransactionRequest(action: FetchTransactionRequestAction, config?: TransactionsConfig): Generator<Promise<new (...args: any[]) => import("decentraland-transactions/esm/crossChain/types").CrossChainProvider> | import("redux-saga/effects").SelectEffect | import("redux-saga/effects").CallEffect<true> | import("redux-saga/effects").CallEffect<import("@0xsquid/sdk/dist/types").StatusResponse> | import("redux-saga/effects").PutEffect<import("typesafe-actions/dist/types").PayloadAction<"Update Transaction Status", {
|
|
20
|
+
hash: string;
|
|
21
|
+
status: TransactionStatus | null;
|
|
22
|
+
}>> | import("redux-saga/effects").CallEffect<number> | import("redux-saga/effects").PutEffect<import("typesafe-actions/dist/types").PayloadAction<"[Success] Fetch Transaction", {
|
|
23
|
+
transaction: Transaction;
|
|
24
|
+
}>> | import("redux-saga/effects").PutEffect<import("typesafe-actions/dist/types").PayloadAction<"[Failure] Fetch Transaction", {
|
|
25
|
+
hash: string;
|
|
26
|
+
status: TransactionStatus;
|
|
27
|
+
message: string;
|
|
28
|
+
transaction: Transaction;
|
|
29
|
+
}>>, void, (new (...args: any[]) => import("decentraland-transactions/esm/crossChain/types").CrossChainProvider) & import("@0xsquid/sdk/dist/types").ApiBasicResponse & {
|
|
30
|
+
id?: string | undefined;
|
|
31
|
+
status?: string | undefined;
|
|
32
|
+
gasStatus?: string | undefined;
|
|
33
|
+
isGMPTransaction?: boolean | undefined;
|
|
34
|
+
axelarTransactionUrl?: string | undefined;
|
|
35
|
+
fromChain?: import("@0xsquid/sdk/dist/types").TransactionStatus | undefined;
|
|
36
|
+
toChain?: import("@0xsquid/sdk/dist/types").TransactionStatus | undefined;
|
|
37
|
+
timeSpent?: Record<string, number> | undefined;
|
|
38
|
+
requestId?: string | undefined;
|
|
39
|
+
integratorId?: string | undefined;
|
|
40
|
+
routeStatus?: any;
|
|
41
|
+
squidTransactionStatus?: string | undefined;
|
|
42
|
+
} & Transaction & number>;
|
|
43
|
+
export declare function handleRegularTransactionRequest(action: FetchTransactionRequestAction): Generator<import("redux-saga/effects").SelectEffect | import("redux-saga/effects").CallEffect<true> | import("redux-saga/effects").PutEffect<import("typesafe-actions/dist/types").PayloadAction<"Update Transaction Status", {
|
|
44
|
+
hash: string;
|
|
45
|
+
status: TransactionStatus | null;
|
|
46
|
+
}>> | import("redux-saga/effects").CallEffect<number> | import("redux-saga/effects").PutEffect<import("typesafe-actions/dist/types").PayloadAction<"[Success] Fetch Transaction", {
|
|
47
|
+
transaction: Transaction;
|
|
48
|
+
}>> | import("redux-saga/effects").PutEffect<import("typesafe-actions/dist/types").PayloadAction<"[Failure] Fetch Transaction", {
|
|
49
|
+
hash: string;
|
|
50
|
+
status: TransactionStatus;
|
|
51
|
+
message: string;
|
|
52
|
+
transaction: Transaction;
|
|
53
|
+
}>> | import("redux-saga/effects").CallEffect<AnyTransaction | null> | import("redux-saga/effects").PutEffect<import("typesafe-actions/dist/types").PayloadAction<"Update Transaction Nonce", {
|
|
54
|
+
hash: string;
|
|
55
|
+
nonce: number;
|
|
56
|
+
}>> | import("redux-saga/effects").PutEffect<import("typesafe-actions/dist/types").PayloadAction<"[Request] Replace Transaction", {
|
|
57
|
+
hash: string;
|
|
58
|
+
nonce: number;
|
|
59
|
+
address: string;
|
|
60
|
+
}>> | import("redux-saga/effects").PutEffect<import("typesafe-actions/dist/types").PayloadAction<"Watch Reverted Transaction", {
|
|
61
|
+
hash: string;
|
|
62
|
+
}>>, void, Transaction & AnyTransaction & number>;
|
|
63
|
+
export declare function getFibonacciDelay(attempt: number): Generator<never, number, unknown>;
|
|
64
|
+
export declare function handleReplaceTransactionRequest(action: ReplaceTransactionRequestAction): Generator<import("redux-saga/effects").SelectEffect | import("redux-saga/effects").CallEffect<true> | import("redux-saga/effects").PutEffect<import("typesafe-actions/dist/types").PayloadAction<"Update Transaction Status", {
|
|
65
|
+
hash: string;
|
|
66
|
+
status: TransactionStatus | null;
|
|
67
|
+
}>> | import("redux-saga/effects").CallEffect<number> | import("redux-saga/effects").CallEffect<AnyTransaction | null> | import("redux-saga/effects").CallEffect<ethers.providers.Web3Provider> | import("redux-saga/effects").PutEffect<import("typesafe-actions/dist/types").PayloadAction<"[Request] Fetch Transaction", {
|
|
68
|
+
address: string;
|
|
69
|
+
hash: string;
|
|
70
|
+
action: import("./types").ActionWithTransactionPayload;
|
|
71
|
+
}>> | import("redux-saga/effects").CallEffect<BlockWithTransactions> | import("redux-saga/effects").PutEffect<import("typesafe-actions/dist/types").PayloadAction<"[Success] Replace Transaction", {
|
|
72
|
+
hash: string;
|
|
73
|
+
replaceBy: string;
|
|
74
|
+
}>>, void, Transaction & ethers.providers.Web3Provider & AnyTransaction & number & BlockWithTransactions>;
|
|
75
|
+
export declare function handleWatchPendingTransactions(): Generator<import("redux-saga/effects").SelectEffect | ForkEffect<void> | import("redux-saga/effects").PutEffect<import("typesafe-actions/dist/types").PayloadAction<"Update Transaction Status", {
|
|
76
|
+
hash: string;
|
|
77
|
+
status: TransactionStatus | null;
|
|
78
|
+
}>>, void, Transaction[]>;
|
|
79
|
+
export declare function handleWatchDroppedTransactions(): Generator<import("redux-saga/effects").SelectEffect | ForkEffect<void>, void, Transaction[]>;
|
|
80
|
+
export declare function handleWatchRevertedTransaction(action: WatchRevertedTransactionAction): Generator<import("redux-saga/effects").SelectEffect | import("redux-saga/effects").CallEffect<true> | import("redux-saga/effects").CallEffect<number> | import("redux-saga/effects").CallEffect<AnyTransaction | null> | import("redux-saga/effects").PutEffect<import("typesafe-actions/dist/types").PayloadAction<"[Request] Replace Transaction", {
|
|
81
|
+
hash: string;
|
|
82
|
+
nonce: number;
|
|
83
|
+
address: string;
|
|
84
|
+
}>> | import("redux-saga/effects").PutEffect<import("typesafe-actions/dist/types").PayloadAction<"Fix Reverted Transaction", {
|
|
85
|
+
hash: string;
|
|
86
|
+
}>>, void, never>;
|
|
87
|
+
export declare function handleConnectWalletSuccess(_: ConnectWalletSuccessAction): Generator<import("redux-saga/effects").SelectEffect | import("redux-saga/effects").PutEffect<import("typesafe-actions/dist/types").PayloadAction<"Watch Reverted Transaction", {
|
|
88
|
+
hash: string;
|
|
89
|
+
}>> | import("redux-saga/effects").PutEffect<import("typesafe-actions/dist/types").PayloadAction<"Watch Pending Transactions", {}>> | import("redux-saga/effects").PutEffect<import("typesafe-actions/dist/types").PayloadAction<"Watch Dropped Transactions", {}>>, void, string & Transaction[]>;
|
|
@@ -24,11 +24,12 @@ export function* transactionSaga(config) {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
const BLOCKS_DEPTH = 100;
|
|
28
|
-
const TRANSACTION_FETCH_RETIES = 120;
|
|
29
|
-
const PENDING_TRANSACTION_THRESHOLD = 72 * 60 * 60 * 1000; // 72 hours
|
|
30
|
-
const REVERTED_TRANSACTION_THRESHOLD = 24 * 60 * 60 * 1000; // 24 hours
|
|
31
|
-
const
|
|
27
|
+
export const BLOCKS_DEPTH = 100;
|
|
28
|
+
export const TRANSACTION_FETCH_RETIES = 120;
|
|
29
|
+
export const PENDING_TRANSACTION_THRESHOLD = 72 * 60 * 60 * 1000; // 72 hours
|
|
30
|
+
export const REVERTED_TRANSACTION_THRESHOLD = 24 * 60 * 60 * 1000; // 24 hours
|
|
31
|
+
export const DROPPED_TRANSACTION_THRESHOLD = 24 * 60 * 60 * 1000; // 24 hours
|
|
32
|
+
export const BACKOFF_DELAY_MULTIPLIER = 1;
|
|
32
33
|
const isExpired = (transaction, threshold) => Date.now() - transaction.timestamp > threshold;
|
|
33
34
|
const watchPendingIndex = {
|
|
34
35
|
// hash: true
|
|
@@ -46,7 +47,7 @@ export class FailedTransactionError extends Error {
|
|
|
46
47
|
Object.setPrototypeOf(this, new.target.prototype); // restore prototype chain
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
|
-
function* handleCrossChainTransactionRequest(action, config) {
|
|
50
|
+
export function* handleCrossChainTransactionRequest(action, config) {
|
|
50
51
|
const transactionPayload = getTransactionPayloadFromAction(action.payload.action);
|
|
51
52
|
if (!config?.crossChainProviderUrl || !transactionPayload.requestId) {
|
|
52
53
|
throw new Error('Squid URL not set');
|
|
@@ -55,6 +56,7 @@ function* handleCrossChainTransactionRequest(action, config) {
|
|
|
55
56
|
const crossChainProvider = new CrossChainProvider(config.crossChainProviderUrl);
|
|
56
57
|
let statusResponse;
|
|
57
58
|
let txInState;
|
|
59
|
+
let attempt = 0;
|
|
58
60
|
let squidNotFoundRetries = config.crossChainProviderNotFoundRetries ?? TRANSACTION_FETCH_RETIES;
|
|
59
61
|
while (!statusResponse ||
|
|
60
62
|
statusResponse.squidTransactionStatus === 'ongoing' ||
|
|
@@ -81,7 +83,9 @@ function* handleCrossChainTransactionRequest(action, config) {
|
|
|
81
83
|
yield put(updateTransactionStatus(action.payload.hash, TransactionStatus.DROPPED));
|
|
82
84
|
return;
|
|
83
85
|
}
|
|
84
|
-
yield
|
|
86
|
+
const fibonacciDelay = yield call(getFibonacciDelay, attempt);
|
|
87
|
+
yield delay(config.crossChainProviderRetryDelay ?? fibonacciDelay);
|
|
88
|
+
attempt++;
|
|
85
89
|
}
|
|
86
90
|
txInState = yield select(state => getTransactionInState(state, action.payload.hash));
|
|
87
91
|
switch (statusResponse.squidTransactionStatus) {
|
|
@@ -99,7 +103,7 @@ function* handleCrossChainTransactionRequest(action, config) {
|
|
|
99
103
|
break;
|
|
100
104
|
}
|
|
101
105
|
}
|
|
102
|
-
function* handleRegularTransactionRequest(action) {
|
|
106
|
+
export function* handleRegularTransactionRequest(action) {
|
|
103
107
|
const { hash, address } = action.payload;
|
|
104
108
|
const transaction = yield select(state => getTransactionInState(state, hash));
|
|
105
109
|
if (!transaction) {
|
|
@@ -108,6 +112,7 @@ function* handleRegularTransactionRequest(action) {
|
|
|
108
112
|
}
|
|
109
113
|
try {
|
|
110
114
|
watchPendingIndex[hash] = true;
|
|
115
|
+
let attempt = 0;
|
|
111
116
|
let tx = yield call(getTransactionFromChain, address, transaction.chainId, hash);
|
|
112
117
|
let isUnknown = tx == null;
|
|
113
118
|
// loop while tx is pending
|
|
@@ -137,8 +142,10 @@ function* handleRegularTransactionRequest(action) {
|
|
|
137
142
|
}
|
|
138
143
|
yield put(updateTransactionStatus(hash, statusInNetwork));
|
|
139
144
|
}
|
|
140
|
-
//
|
|
141
|
-
yield
|
|
145
|
+
// Apply fibonacci backoff delay before next iteration
|
|
146
|
+
const fibonacciDelay = yield call(getFibonacciDelay, attempt);
|
|
147
|
+
yield delay(fibonacciDelay);
|
|
148
|
+
attempt++;
|
|
142
149
|
// update tx status from network
|
|
143
150
|
tx = yield call(getTransactionFromChain, address, transaction.chainId, hash);
|
|
144
151
|
isUnknown = tx == null;
|
|
@@ -164,16 +171,40 @@ function* handleRegularTransactionRequest(action) {
|
|
|
164
171
|
yield put(fetchTransactionFailure(error.hash, error.status, error.message, transaction));
|
|
165
172
|
}
|
|
166
173
|
}
|
|
167
|
-
function*
|
|
174
|
+
export function* getFibonacciDelay(attempt) {
|
|
175
|
+
if (attempt <= 1)
|
|
176
|
+
return 1000 * BACKOFF_DELAY_MULTIPLIER;
|
|
177
|
+
let prev = 1;
|
|
178
|
+
let current = 1;
|
|
179
|
+
for (let i = 2; i <= attempt; i++) {
|
|
180
|
+
const next = prev + current;
|
|
181
|
+
prev = current;
|
|
182
|
+
current = next;
|
|
183
|
+
}
|
|
184
|
+
return current * 1000 * BACKOFF_DELAY_MULTIPLIER;
|
|
185
|
+
}
|
|
186
|
+
export function* handleReplaceTransactionRequest(action) {
|
|
168
187
|
const { hash, nonce, address: account } = action.payload;
|
|
169
188
|
const transaction = yield select(state => getTransactionInState(state, hash));
|
|
170
189
|
if (!transaction) {
|
|
171
190
|
console.warn(`Could not find a valid transaction for hash ${hash}`);
|
|
172
191
|
return;
|
|
173
192
|
}
|
|
193
|
+
// Check if transaction is already expired before starting to poll
|
|
194
|
+
if (isExpired(transaction, DROPPED_TRANSACTION_THRESHOLD)) {
|
|
195
|
+
yield put(updateTransactionStatus(hash, TransactionStatus.DROPPED));
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
174
198
|
let checkpoint = null;
|
|
199
|
+
let attempt = 0;
|
|
175
200
|
watchDroppedIndex[hash] = true;
|
|
201
|
+
const startTime = Date.now();
|
|
176
202
|
while (true) {
|
|
203
|
+
// Check if we've exceeded the time threshold during polling
|
|
204
|
+
if (Date.now() - startTime > DROPPED_TRANSACTION_THRESHOLD) {
|
|
205
|
+
yield put(updateTransactionStatus(hash, TransactionStatus.DROPPED));
|
|
206
|
+
break;
|
|
207
|
+
}
|
|
177
208
|
const eth = yield call(getNetworkWeb3Provider, transaction.chainId);
|
|
178
209
|
// check if tx has status, this is to recover from a tx that is dropped momentarily
|
|
179
210
|
const tx = yield call(getTransactionFromChain, account, transaction.chainId, hash);
|
|
@@ -217,17 +248,19 @@ function* handleReplaceTransactionRequest(action) {
|
|
|
217
248
|
}
|
|
218
249
|
break;
|
|
219
250
|
}
|
|
220
|
-
// if there was nonce higher to than the one in the tx, we can mark it as replaced (
|
|
251
|
+
// if there was nonce higher to than the one in the tx, we can mark it as replaced (although we don't know which tx replaced it)
|
|
221
252
|
if (highestNonce >= nonce) {
|
|
222
253
|
yield put(updateTransactionStatus(action.payload.hash, TransactionStatus.REPLACED));
|
|
223
254
|
break;
|
|
224
255
|
}
|
|
225
|
-
//
|
|
226
|
-
yield
|
|
256
|
+
// Apply fibonacci backoff delay before next iteration
|
|
257
|
+
const fibonacciDelay = yield call(getFibonacciDelay, attempt);
|
|
258
|
+
yield delay(fibonacciDelay);
|
|
259
|
+
attempt++;
|
|
227
260
|
}
|
|
228
261
|
delete watchDroppedIndex[action.payload.hash];
|
|
229
262
|
}
|
|
230
|
-
function* handleWatchPendingTransactions() {
|
|
263
|
+
export function* handleWatchPendingTransactions() {
|
|
231
264
|
const transactions = yield select(getData);
|
|
232
265
|
const pendingTransactions = transactions.filter(transaction => isPending(transaction.status));
|
|
233
266
|
for (const tx of pendingTransactions) {
|
|
@@ -243,17 +276,18 @@ function* handleWatchPendingTransactions() {
|
|
|
243
276
|
}
|
|
244
277
|
}
|
|
245
278
|
}
|
|
246
|
-
function* handleWatchDroppedTransactions() {
|
|
279
|
+
export function* handleWatchDroppedTransactions() {
|
|
247
280
|
const transactions = yield select(getData);
|
|
248
281
|
const droppedTransactions = transactions.filter(transaction => transaction.status === TransactionStatus.DROPPED &&
|
|
249
|
-
transaction.nonce != null
|
|
282
|
+
transaction.nonce != null &&
|
|
283
|
+
!isExpired(transaction, DROPPED_TRANSACTION_THRESHOLD));
|
|
250
284
|
for (const tx of droppedTransactions) {
|
|
251
285
|
if (!watchDroppedIndex[tx.hash] && !tx.isCrossChain) {
|
|
252
286
|
yield fork(handleReplaceTransactionRequest, replaceTransactionRequest(tx.hash, tx.nonce, tx.from));
|
|
253
287
|
}
|
|
254
288
|
}
|
|
255
289
|
}
|
|
256
|
-
function* handleWatchRevertedTransaction(action) {
|
|
290
|
+
export function* handleWatchRevertedTransaction(action) {
|
|
257
291
|
const { hash } = action.payload;
|
|
258
292
|
const txInState = yield select(state => getTransactionInState(state, hash));
|
|
259
293
|
// Don't watch for reverted cross chain transactions
|
|
@@ -261,8 +295,11 @@ function* handleWatchRevertedTransaction(action) {
|
|
|
261
295
|
return;
|
|
262
296
|
}
|
|
263
297
|
const address = yield select(state => getAddress(state));
|
|
298
|
+
let attempt = 0;
|
|
264
299
|
do {
|
|
265
|
-
yield
|
|
300
|
+
const fibonacciDelay = yield call(getFibonacciDelay, attempt);
|
|
301
|
+
yield delay(fibonacciDelay);
|
|
302
|
+
attempt++;
|
|
266
303
|
const txInNetwork = yield call(() => getTransactionFromChain(address, txInState.chainId, hash));
|
|
267
304
|
if (txInNetwork != null &&
|
|
268
305
|
txInNetwork.status === TransactionStatus.CONFIRMED) {
|
|
@@ -275,7 +312,7 @@ function* handleWatchRevertedTransaction(action) {
|
|
|
275
312
|
}
|
|
276
313
|
} while (!isExpired(txInState, REVERTED_TRANSACTION_THRESHOLD));
|
|
277
314
|
}
|
|
278
|
-
function* handleConnectWalletSuccess(_) {
|
|
315
|
+
export function* handleConnectWalletSuccess(_) {
|
|
279
316
|
yield put(watchPendingTransactions());
|
|
280
317
|
yield put(watchDroppedTransactions());
|
|
281
318
|
// find reverted transactions and watch the latest ones
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sagas.js","sourceRoot":"","sources":["../../../src/modules/transaction/sagas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sagas.js","sourceRoot":"","sources":["../../../src/modules/transaction/sagas.ts"],"names":[],"mappings":"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"}
|