@requestnetwork/request-client.js 0.49.1-next.2071 → 0.49.1-next.2072
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/http-config-defaults.d.ts.map +1 -1
- package/dist/http-config-defaults.js +5 -4
- package/dist/http-config-defaults.js.map +1 -1
- package/dist/http-data-access.d.ts +5 -0
- package/dist/http-data-access.d.ts.map +1 -1
- package/dist/http-data-access.js +20 -17
- package/dist/http-data-access.js.map +1 -1
- package/dist/report.html +2 -2
- package/dist/requestnetwork.min.js +2 -2
- package/dist/requestnetwork.min.js.map +1 -1
- package/package.json +14 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-config-defaults.d.ts","sourceRoot":"","sources":["../src/http-config-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,QAAA,MAAM,MAAM,EAAE,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"http-config-defaults.d.ts","sourceRoot":"","sources":["../src/http-config-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,QAAA,MAAM,MAAM,EAAE,WAAW,CAAC,qBAazB,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -6,10 +6,11 @@ const config = {
|
|
|
6
6
|
httpRequestRetryDelay: 100,
|
|
7
7
|
httpRequestExponentialBackoffDelay: 0,
|
|
8
8
|
httpRequestMaxExponentialBackoffDelay: 30000,
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
// Exponential backoff starting at 1s, doubling after each retry, up to a maximum of 64s and max 7 retries with an initial 3s defer delay, yielding a total of 8 calls and total timeout of 130s
|
|
10
|
+
getConfirmationMaxRetry: 7,
|
|
11
|
+
getConfirmationRetryDelay: 0,
|
|
12
|
+
getConfirmationExponentialBackoffDelay: 1000,
|
|
13
|
+
getConfirmationMaxExponentialBackoffDelay: 64000,
|
|
13
14
|
getConfirmationDeferDelay: 3000,
|
|
14
15
|
};
|
|
15
16
|
exports.default = config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-config-defaults.js","sourceRoot":"","sources":["../src/http-config-defaults.ts"],"names":[],"mappings":";;AAEA,MAAM,MAAM,GAAsC;IAChD,0BAA0B,EAAE,kCAAkC;IAC9D,mBAAmB,EAAE,CAAC;IACtB,qBAAqB,EAAE,GAAG;IAC1B,kCAAkC,EAAE,CAAC;IACrC,qCAAqC,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"http-config-defaults.js","sourceRoot":"","sources":["../src/http-config-defaults.ts"],"names":[],"mappings":";;AAEA,MAAM,MAAM,GAAsC;IAChD,0BAA0B,EAAE,kCAAkC;IAC9D,mBAAmB,EAAE,CAAC;IACtB,qBAAqB,EAAE,GAAG;IAC1B,kCAAkC,EAAE,CAAC;IACrC,qCAAqC,EAAE,KAAK;IAE5C,gMAAgM;IAChM,uBAAuB,EAAE,CAAC;IAC1B,yBAAyB,EAAE,CAAC;IAC5B,sCAAsC,EAAE,IAAI;IAC5C,yCAAyC,EAAE,KAAK;IAChD,yBAAyB,EAAE,IAAI;CAChC,CAAC;AAEF,kBAAe,MAAM,CAAC"}
|
|
@@ -44,6 +44,11 @@ export default class HttpDataAccess implements DataAccessTypes.IDataAccess {
|
|
|
44
44
|
* @param topics The topics used to index the transaction
|
|
45
45
|
*/
|
|
46
46
|
persistTransaction(transactionData: DataAccessTypes.ITransaction, channelId: string, topics?: string[]): Promise<DataAccessTypes.IReturnPersistTransaction>;
|
|
47
|
+
/**
|
|
48
|
+
* Gets a transaction from the node through HTTP.
|
|
49
|
+
* @param transactionData The transaction data
|
|
50
|
+
*/
|
|
51
|
+
getConfirmedTransaction(transactionData: DataAccessTypes.ITransaction): Promise<DataAccessTypes.IReturnPersistTransaction>;
|
|
47
52
|
/**
|
|
48
53
|
* Gets the transactions for a channel from the node through HTTP.
|
|
49
54
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-data-access.d.ts","sourceRoot":"","sources":["../src/http-data-access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAUrE,MAAM,MAAM,oBAAoB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAExF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,YAAW,eAAe,CAAC,WAAW;IACxE;;;OAGG;IACH,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,qBAAqB,CAAC;IAExD;;OAEG;IACH,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAErD;;;;OAIG;gBAED,EACE,UAAU,EACV,oBAAoB,GACrB,GAAE;QACD,UAAU,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;QACxD,oBAAoB,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;KAItD;IAiBH;;;;OAIG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxC;;;;OAIG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKnC;;;;;OAKG;IACU,kBAAkB,CAC7B,eAAe,EAAE,eAAe,CAAC,YAAY,EAC7C,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,eAAe,CAAC,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"http-data-access.d.ts","sourceRoot":"","sources":["../src/http-data-access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAUrE,MAAM,MAAM,oBAAoB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAExF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,YAAW,eAAe,CAAC,WAAW;IACxE;;;OAGG;IACH,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,qBAAqB,CAAC;IAExD;;OAEG;IACH,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAErD;;;;OAIG;gBAED,EACE,UAAU,EACV,oBAAoB,GACrB,GAAE;QACD,UAAU,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;QACxD,oBAAoB,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;KAItD;IAiBH;;;;OAIG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxC;;;;OAIG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKnC;;;;;OAKG;IACU,kBAAkB,CAC7B,eAAe,EAAE,eAAe,CAAC,YAAY,EAC7C,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,eAAe,CAAC,yBAAyB,CAAC;IAqCrD;;;OAGG;IACU,uBAAuB,CAClC,eAAe,EAAE,eAAe,CAAC,YAAY,GAC5C,OAAO,CAAC,eAAe,CAAC,yBAAyB,CAAC;IAiBrD;;;;;OAKG;IACU,0BAA0B,CACrC,SAAS,EAAE,MAAM,EACjB,mBAAmB,CAAC,EAAE,eAAe,CAAC,oBAAoB,GACzD,OAAO,CAAC,eAAe,CAAC,sBAAsB,CAAC;IAUlD;;;;;OAKG;IACU,kBAAkB,CAC7B,KAAK,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,eAAe,CAAC,oBAAoB,GACpD,OAAO,CAAC,eAAe,CAAC,yBAAyB,CAAC;IAOrD;;;;;OAKG;IACU,2BAA2B,CACtC,MAAM,EAAE,MAAM,EAAE,EAChB,cAAc,CAAC,EAAE,eAAe,CAAC,oBAAoB,GACpD,OAAO,CAAC,eAAe,CAAC,yBAAyB,CAAC;IAOrD;;;OAGG;IACU,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;IAIvC;;;;;;;OAOG;cACa,aAAa,CAAC,CAAC,GAAG,OAAO,EACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,WAAW,GAAE;QACX,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,0BAA0B,CAAC,EAAE,MAAM,CAAC;KAChC,GACL,OAAO,CAAC,CAAC,CAAC;cAWG,KAAK,CAAC,CAAC,GAAG,OAAO,EAC/B,MAAM,EAAE,KAAK,GAAG,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC3C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;CA8Bd"}
|
package/dist/http-data-access.js
CHANGED
|
@@ -61,39 +61,42 @@ class HttpDataAccess {
|
|
|
61
61
|
// For example, if the Ethereum network is slow and we retry the request three times
|
|
62
62
|
// three data will be persisted at the end
|
|
63
63
|
const data = yield this.fetch('POST', '/persistTransaction', undefined, { channelId, topics, transactionData });
|
|
64
|
-
const transactionHash = (0, utils_1.normalizeKeccak256Hash)(transactionData).value;
|
|
65
64
|
// Create the return result with EventEmitter
|
|
66
65
|
const result = Object.assign(new events_1.EventEmitter(), data);
|
|
67
66
|
// Try to get the confirmation
|
|
68
67
|
new Promise((r) => setTimeout(r, this.httpConfig.getConfirmationDeferDelay))
|
|
69
68
|
.then(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
70
|
-
const confirmedData = yield this.
|
|
71
|
-
transactionHash,
|
|
72
|
-
}, {
|
|
73
|
-
maxRetries: this.httpConfig.getConfirmationMaxRetry,
|
|
74
|
-
retryDelay: this.httpConfig.getConfirmationRetryDelay,
|
|
75
|
-
exponentialBackoffDelay: this.httpConfig.getConfirmationExponentialBackoffDelay,
|
|
76
|
-
maxExponentialBackoffDelay: this.httpConfig.getConfirmationMaxExponentialBackoffDelay,
|
|
77
|
-
});
|
|
69
|
+
const confirmedData = yield this.getConfirmedTransaction(transactionData);
|
|
78
70
|
// when found, emit the event 'confirmed'
|
|
79
71
|
result.emit('confirmed', confirmedData);
|
|
80
72
|
}))
|
|
81
73
|
.catch((e) => {
|
|
82
74
|
let error = e;
|
|
83
|
-
if (e.status === 404) {
|
|
84
|
-
error = new Error(`
|
|
85
|
-
getTransactionsByChannelId() until the transaction is confirmed.
|
|
86
|
-
deferDelay: ${this.httpConfig.getConfirmationDeferDelay}ms,
|
|
87
|
-
maxRetries: ${this.httpConfig.getConfirmationMaxRetry},
|
|
88
|
-
retryDelay: ${this.httpConfig.getConfirmationRetryDelay}ms,
|
|
89
|
-
exponentialBackoffDelay: ${this.httpConfig.getConfirmationExponentialBackoffDelay}ms,
|
|
90
|
-
maxExponentialBackoffDelay: ${this.httpConfig.getConfirmationMaxExponentialBackoffDelay}ms`);
|
|
75
|
+
if (e && 'status' in e && e.status === 404) {
|
|
76
|
+
error = new Error(`Timeout while confirming the Request was persisted. It is likely that the Request will be confirmed eventually. Catch this error and use getConfirmedTransaction() to continue polling for confirmation. Adjusting the httpConfig settings on the RequestNetwork object to avoid future timeouts. Avoid calling persistTransaction() again to prevent creating a duplicate Request.`);
|
|
91
77
|
}
|
|
92
78
|
result.emit('error', error);
|
|
93
79
|
});
|
|
94
80
|
return result;
|
|
95
81
|
});
|
|
96
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Gets a transaction from the node through HTTP.
|
|
85
|
+
* @param transactionData The transaction data
|
|
86
|
+
*/
|
|
87
|
+
getConfirmedTransaction(transactionData) {
|
|
88
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
const transactionHash = (0, utils_1.normalizeKeccak256Hash)(transactionData).value;
|
|
90
|
+
return yield this.fetchAndRetry('/getConfirmedTransaction', {
|
|
91
|
+
transactionHash,
|
|
92
|
+
}, {
|
|
93
|
+
maxRetries: this.httpConfig.getConfirmationMaxRetry,
|
|
94
|
+
retryDelay: this.httpConfig.getConfirmationRetryDelay,
|
|
95
|
+
exponentialBackoffDelay: this.httpConfig.getConfirmationExponentialBackoffDelay,
|
|
96
|
+
maxExponentialBackoffDelay: this.httpConfig.getConfirmationMaxExponentialBackoffDelay,
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
}
|
|
97
100
|
/**
|
|
98
101
|
* Gets the transactions for a channel from the node through HTTP.
|
|
99
102
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-data-access.js","sourceRoot":"","sources":["../src/http-data-access.ts"],"names":[],"mappings":";;;AAEA,mCAAsC;AACtC,iEAAwD;AACxD,iDAAsE;AACtE,2BAA+B;AAE/B,8DAA8D;AAC9D,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAI/C;;GAEG;AACH,MAAqB,cAAc;IAYjC;;;;OAIG;IACH,YACE,EACE,UAAU,EACV,oBAAoB,MAIlB;QACF,UAAU,EAAE,EAAE;QACd,oBAAoB,EAAE,EAAE;KACzB;QAED,qDAAqD;QACrD,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,CAAC;QACjD,IAAI,CAAC,UAAU,mCACV,8BAAkB,GAClB,UAAU,CACd,CAAC;QACF,IAAI,CAAC,oBAAoB,mBACvB,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE;gBACP,CAAC,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,oBAAoB;aACnE,IACE,oBAAoB,CACxB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACU,UAAU;;YACrB,uBAAuB;YACvB,OAAO;QACT,CAAC;KAAA;IAED;;;;OAIG;IACU,KAAK;;YAChB,uBAAuB;YACvB,OAAO;QACT,CAAC;KAAA;IAED;;;;;OAKG;IACU,kBAAkB,CAC7B,eAA6C,EAC7C,SAAiB,EACjB,MAAiB;;YAEjB,0EAA0E;YAC1E,oFAAoF;YACpF,0CAA0C;YAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAC3B,MAAM,EACN,qBAAqB,EACrB,SAAS,EACT,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,CACvC,CAAC;YAEF,
|
|
1
|
+
{"version":3,"file":"http-data-access.js","sourceRoot":"","sources":["../src/http-data-access.ts"],"names":[],"mappings":"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"}
|