@airgap/icp 0.13.15-beta.1 → 0.13.15-beta.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/package.json +8 -6
- package/v1/block-explorer/ICPBlockExplorer.d.ts +1 -1
- package/v1/block-explorer/ICPBlockExplorer.js +16 -49
- package/v1/block-explorer/ICPBlockExplorer.js.map +1 -1
- package/v1/index.d.ts +3 -2
- package/v1/index.js +9 -5
- package/v1/index.js.map +1 -1
- package/v1/module/ICPModule.d.ts +2 -4
- package/v1/module/ICPModule.js +53 -94
- package/v1/module/ICPModule.js.map +1 -1
- package/v1/module.js +1 -1
- package/v1/module.js.map +1 -1
- package/v1/protocol/ICPGovernance.d.ts +39 -0
- package/v1/protocol/ICPGovernance.js +1177 -0
- package/v1/protocol/ICPGovernance.js.map +1 -0
- package/v1/protocol/ICPImplementation.d.ts +30 -5
- package/v1/protocol/ICPImplementation.js +317 -252
- package/v1/protocol/ICPImplementation.js.map +1 -1
- package/v1/protocol/ICPProtocol.d.ts +60 -8
- package/v1/protocol/ICPProtocol.js +765 -320
- package/v1/protocol/ICPProtocol.js.map +1 -1
- package/v1/protocol/icrc/CkBTCProtocol.js +138 -225
- package/v1/protocol/icrc/CkBTCProtocol.js.map +1 -1
- package/v1/protocol/icrc/ICRC1Protocol.d.ts +4 -4
- package/v1/protocol/icrc/ICRC1Protocol.js +338 -553
- package/v1/protocol/icrc/ICRC1Protocol.js.map +1 -1
- package/v1/serializer/v3/schemas/converter/transaction-converter.js +48 -5
- package/v1/serializer/v3/schemas/converter/transaction-converter.js.map +1 -1
- package/v1/serializer/v3/schemas/definitions/transaction-sign-request-icp.d.ts +8 -2
- package/v1/serializer/v3/schemas/generated/transaction-sign-request-icp.json +31 -1
- package/v1/serializer/v3/serializer-companion.js +85 -144
- package/v1/serializer/v3/serializer-companion.js.map +1 -1
- package/v1/serializer/v3/validators/transaction-validator.js +22 -60
- package/v1/serializer/v3/validators/transaction-validator.js.map +1 -1
- package/v1/serializer/v3/validators/validators.js +19 -58
- package/v1/serializer/v3/validators/validators.js.map +1 -1
- package/v1/types/governance.d.ts +29 -0
- package/v1/types/governance.js +279 -210
- package/v1/types/governance.js.map +1 -1
- package/v1/types/icrc/ledger.js +22 -23
- package/v1/types/icrc/ledger.js.map +1 -1
- package/v1/types/ledger.d.ts +1 -0
- package/v1/types/ledger.js +37 -38
- package/v1/types/ledger.js.map +1 -1
- package/v1/types/management_idl.js +6 -7
- package/v1/types/management_idl.js.map +1 -1
- package/v1/types/protocol.d.ts +2 -1
- package/v1/types/transaction.d.ts +22 -3
- package/v1/types/transaction.js +38 -0
- package/v1/types/transaction.js.map +1 -1
- package/v1/utils/account.js +42 -70
- package/v1/utils/account.js.map +1 -1
- package/v1/utils/actor.js +139 -322
- package/v1/utils/actor.js.map +1 -1
- package/v1/utils/auth.js +44 -134
- package/v1/utils/auth.js.map +1 -1
- package/v1/utils/bls.js +41 -109
- package/v1/utils/bls.js.map +1 -1
- package/v1/utils/buffer.js +47 -111
- package/v1/utils/buffer.js.map +1 -1
- package/v1/utils/cbor.js +50 -85
- package/v1/utils/cbor.js.map +1 -1
- package/v1/utils/certificate.js +116 -238
- package/v1/utils/certificate.js.map +1 -1
- package/v1/utils/convert.d.ts +1 -1
- package/v1/utils/convert.js +29 -49
- package/v1/utils/convert.js.map +1 -1
- package/v1/utils/der.js +37 -35
- package/v1/utils/der.js.map +1 -1
- package/v1/utils/errors.js +10 -30
- package/v1/utils/errors.js.map +1 -1
- package/v1/utils/hdkey.js +33 -33
- package/v1/utils/hdkey.js.map +1 -1
- package/v1/utils/http.d.ts +1 -1
- package/v1/utils/http.js +202 -426
- package/v1/utils/http.js.map +1 -1
- package/v1/utils/icrc1.js +24 -41
- package/v1/utils/icrc1.js.map +1 -1
- package/v1/utils/idl.js +780 -1159
- package/v1/utils/idl.js.map +1 -1
- package/v1/utils/json.d.ts +1 -0
- package/v1/utils/json.js +19 -0
- package/v1/utils/json.js.map +1 -0
- package/v1/utils/leb128.js +29 -30
- package/v1/utils/leb128.js.map +1 -1
- package/v1/utils/polling.js +84 -234
- package/v1/utils/polling.js.map +1 -1
- package/v1/utils/principal.js +78 -126
- package/v1/utils/principal.js.map +1 -1
- package/v1/utils/secp256k1.js +68 -134
- package/v1/utils/secp256k1.js.map +1 -1
- package/v1/utils/transaction.js +7 -7
- package/v1/utils/transaction.js.map +1 -1
package/v1/utils/polling.js
CHANGED
|
@@ -8,75 +8,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
var __values = (this && this.__values) || function(o) {
|
|
39
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
40
|
-
if (m) return m.call(o);
|
|
41
|
-
if (o && typeof o.length === "number") return {
|
|
42
|
-
next: function () {
|
|
43
|
-
if (o && i >= o.length) o = void 0;
|
|
44
|
-
return { value: o && o[i++], done: !o };
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
48
|
-
};
|
|
49
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
50
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
51
|
-
if (!m) return o;
|
|
52
|
-
var i = m.call(o), r, ar = [], e;
|
|
53
|
-
try {
|
|
54
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
55
|
-
}
|
|
56
|
-
catch (error) { e = { error: error }; }
|
|
57
|
-
finally {
|
|
58
|
-
try {
|
|
59
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
60
|
-
}
|
|
61
|
-
finally { if (e) throw e.error; }
|
|
62
|
-
}
|
|
63
|
-
return ar;
|
|
64
|
-
};
|
|
65
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
66
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
67
|
-
if (ar || !(i in from)) {
|
|
68
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
69
|
-
ar[i] = from[i];
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
73
|
-
};
|
|
74
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
75
12
|
exports.pollForResponse = exports.chain = exports.backoff = exports.timeout = exports.throttle = exports.maxAttempts = exports.conditionalDelay = exports.once = exports.defaultStrategy = void 0;
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
13
|
+
const auth_1 = require("./auth");
|
|
14
|
+
const buffer_1 = require("./buffer");
|
|
15
|
+
const certificate_1 = require("./certificate");
|
|
16
|
+
const FIVE_MINUTES_IN_MSEC = 5 * 60 * 1000;
|
|
80
17
|
/**
|
|
81
18
|
* A best practices polling strategy: wait 2 seconds before the first poll, then 1 second
|
|
82
19
|
* with an exponential backoff factor of 1.2. Timeout after 5 minutes.
|
|
@@ -89,17 +26,14 @@ exports.defaultStrategy = defaultStrategy;
|
|
|
89
26
|
* Predicate that returns true once.
|
|
90
27
|
*/
|
|
91
28
|
function once() {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
return [2 /*return*/, false];
|
|
101
|
-
});
|
|
102
|
-
}); };
|
|
29
|
+
let first = true;
|
|
30
|
+
return () => __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
if (first) {
|
|
32
|
+
first = false;
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
});
|
|
103
37
|
}
|
|
104
38
|
exports.once = once;
|
|
105
39
|
/**
|
|
@@ -108,19 +42,11 @@ exports.once = once;
|
|
|
108
42
|
* @param timeInMsec The amount of time to delay.
|
|
109
43
|
*/
|
|
110
44
|
function conditionalDelay(condition, timeInMsec) {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
case 1:
|
|
117
|
-
if (_a.sent()) {
|
|
118
|
-
return [2 /*return*/, new Promise(function (resolve) { return setTimeout(resolve, timeInMsec); })];
|
|
119
|
-
}
|
|
120
|
-
return [2 /*return*/];
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
}); };
|
|
45
|
+
return (canisterId, requestId, status) => __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
if (yield condition(canisterId, requestId, status)) {
|
|
47
|
+
return new Promise((resolve) => setTimeout(resolve, timeInMsec));
|
|
48
|
+
}
|
|
49
|
+
});
|
|
124
50
|
}
|
|
125
51
|
exports.conditionalDelay = conditionalDelay;
|
|
126
52
|
/**
|
|
@@ -128,18 +54,14 @@ exports.conditionalDelay = conditionalDelay;
|
|
|
128
54
|
* @param count The maximum attempts to poll.
|
|
129
55
|
*/
|
|
130
56
|
function maxAttempts(count) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
140
|
-
return [2 /*return*/];
|
|
141
|
-
});
|
|
142
|
-
}); };
|
|
57
|
+
let attempts = count;
|
|
58
|
+
return (canisterId, requestId, status) => __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
if (--attempts <= 0) {
|
|
60
|
+
throw new Error(`Failed to retrieve a reply for request after ${count} attempts:\n` +
|
|
61
|
+
` Request ID: ${(0, buffer_1.toHex)(requestId)}\n` +
|
|
62
|
+
` Request status: ${status}\n`);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
143
65
|
}
|
|
144
66
|
exports.maxAttempts = maxAttempts;
|
|
145
67
|
/**
|
|
@@ -147,7 +69,7 @@ exports.maxAttempts = maxAttempts;
|
|
|
147
69
|
* @param throttleInMsec Amount in millisecond to wait between each polling.
|
|
148
70
|
*/
|
|
149
71
|
function throttle(throttleInMsec) {
|
|
150
|
-
return
|
|
72
|
+
return () => new Promise((resolve) => setTimeout(resolve, throttleInMsec));
|
|
151
73
|
}
|
|
152
74
|
exports.throttle = throttle;
|
|
153
75
|
/**
|
|
@@ -155,16 +77,12 @@ exports.throttle = throttle;
|
|
|
155
77
|
* @param timeInMsec Time in milliseconds before the polling should be rejected.
|
|
156
78
|
*/
|
|
157
79
|
function timeout(timeInMsec) {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
}
|
|
165
|
-
return [2 /*return*/];
|
|
166
|
-
});
|
|
167
|
-
}); };
|
|
80
|
+
const end = Date.now() + timeInMsec;
|
|
81
|
+
return (canisterId, requestId, status) => __awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
if (Date.now() > end) {
|
|
83
|
+
throw new Error(`Request timed out after ${timeInMsec} msec:\n` + ` Request ID: ${(0, buffer_1.toHex)(requestId)}\n` + ` Request status: ${status}\n`);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
168
86
|
}
|
|
169
87
|
exports.timeout = timeout;
|
|
170
88
|
/**
|
|
@@ -174,15 +92,11 @@ exports.timeout = timeout;
|
|
|
174
92
|
* example if using 2, the throttle will double between every run.
|
|
175
93
|
*/
|
|
176
94
|
function backoff(startingThrottleInMsec, backoffFactor) {
|
|
177
|
-
|
|
178
|
-
return
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
resolve();
|
|
183
|
-
}, currentThrottling);
|
|
184
|
-
});
|
|
185
|
-
};
|
|
95
|
+
let currentThrottling = startingThrottleInMsec;
|
|
96
|
+
return () => new Promise((resolve) => setTimeout(() => {
|
|
97
|
+
currentThrottling *= backoffFactor;
|
|
98
|
+
resolve();
|
|
99
|
+
}, currentThrottling));
|
|
186
100
|
}
|
|
187
101
|
exports.backoff = backoff;
|
|
188
102
|
/**
|
|
@@ -190,46 +104,12 @@ exports.backoff = backoff;
|
|
|
190
104
|
* say, two throttling strategy of 1 second, it will result in a throttle of 2 seconds.
|
|
191
105
|
* @param strategies A strategy list to chain.
|
|
192
106
|
*/
|
|
193
|
-
function chain() {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
}
|
|
199
|
-
return function (canisterId, requestId, status) { return __awaiter(_this, void 0, void 0, function () {
|
|
200
|
-
var strategies_1, strategies_1_1, a, e_1_1;
|
|
201
|
-
var e_1, _a;
|
|
202
|
-
return __generator(this, function (_b) {
|
|
203
|
-
switch (_b.label) {
|
|
204
|
-
case 0:
|
|
205
|
-
_b.trys.push([0, 5, 6, 7]);
|
|
206
|
-
strategies_1 = __values(strategies), strategies_1_1 = strategies_1.next();
|
|
207
|
-
_b.label = 1;
|
|
208
|
-
case 1:
|
|
209
|
-
if (!!strategies_1_1.done) return [3 /*break*/, 4];
|
|
210
|
-
a = strategies_1_1.value;
|
|
211
|
-
return [4 /*yield*/, a(canisterId, requestId, status)];
|
|
212
|
-
case 2:
|
|
213
|
-
_b.sent();
|
|
214
|
-
_b.label = 3;
|
|
215
|
-
case 3:
|
|
216
|
-
strategies_1_1 = strategies_1.next();
|
|
217
|
-
return [3 /*break*/, 1];
|
|
218
|
-
case 4: return [3 /*break*/, 7];
|
|
219
|
-
case 5:
|
|
220
|
-
e_1_1 = _b.sent();
|
|
221
|
-
e_1 = { error: e_1_1 };
|
|
222
|
-
return [3 /*break*/, 7];
|
|
223
|
-
case 6:
|
|
224
|
-
try {
|
|
225
|
-
if (strategies_1_1 && !strategies_1_1.done && (_a = strategies_1.return)) _a.call(strategies_1);
|
|
226
|
-
}
|
|
227
|
-
finally { if (e_1) throw e_1.error; }
|
|
228
|
-
return [7 /*endfinally*/];
|
|
229
|
-
case 7: return [2 /*return*/];
|
|
230
|
-
}
|
|
231
|
-
});
|
|
232
|
-
}); };
|
|
107
|
+
function chain(...strategies) {
|
|
108
|
+
return (canisterId, requestId, status) => __awaiter(this, void 0, void 0, function* () {
|
|
109
|
+
for (const a of strategies) {
|
|
110
|
+
yield a(canisterId, requestId, status);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
233
113
|
}
|
|
234
114
|
exports.chain = chain;
|
|
235
115
|
/**
|
|
@@ -245,80 +125,50 @@ function pollForResponse(agent, canisterId, requestId, strategy,
|
|
|
245
125
|
// eslint-disable-next-line
|
|
246
126
|
request) {
|
|
247
127
|
var _a;
|
|
248
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
maybeBuf = cert.lookup(__spreadArray(__spreadArray([], __read(path), false), [new TextEncoder().encode('status')], false));
|
|
276
|
-
if (typeof maybeBuf === 'undefined') {
|
|
277
|
-
// Missing requestId means we need to wait
|
|
278
|
-
status = auth_1.RequestStatusResponseStatus.Unknown;
|
|
279
|
-
}
|
|
280
|
-
else {
|
|
281
|
-
status = new TextDecoder().decode(maybeBuf);
|
|
282
|
-
}
|
|
283
|
-
_c = status;
|
|
284
|
-
switch (_c) {
|
|
285
|
-
case auth_1.RequestStatusResponseStatus.Replied: return [3 /*break*/, 6];
|
|
286
|
-
case auth_1.RequestStatusResponseStatus.Received: return [3 /*break*/, 7];
|
|
287
|
-
case auth_1.RequestStatusResponseStatus.Unknown: return [3 /*break*/, 7];
|
|
288
|
-
case auth_1.RequestStatusResponseStatus.Processing: return [3 /*break*/, 7];
|
|
289
|
-
case auth_1.RequestStatusResponseStatus.Rejected: return [3 /*break*/, 9];
|
|
290
|
-
case auth_1.RequestStatusResponseStatus.Done: return [3 /*break*/, 10];
|
|
291
|
-
}
|
|
292
|
-
return [3 /*break*/, 11];
|
|
293
|
-
case 6:
|
|
294
|
-
{
|
|
295
|
-
return [2 /*return*/, cert.lookup(__spreadArray(__spreadArray([], __read(path), false), ['reply'], false))];
|
|
296
|
-
}
|
|
297
|
-
_d.label = 7;
|
|
298
|
-
case 7:
|
|
128
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
129
|
+
const path = [new TextEncoder().encode('request_status'), requestId];
|
|
130
|
+
const currentRequest = request !== null && request !== void 0 ? request : (yield ((_a = agent.createReadStateRequest) === null || _a === void 0 ? void 0 : _a.call(agent, { paths: [path] })));
|
|
131
|
+
const state = yield agent.readState(canisterId, { paths: [path] }, undefined, currentRequest);
|
|
132
|
+
if (agent.rootKey == null)
|
|
133
|
+
throw new Error('Agent root key not initialized before polling');
|
|
134
|
+
const cert = yield certificate_1.Certificate.create({
|
|
135
|
+
certificate: state.certificate,
|
|
136
|
+
rootKey: agent.rootKey,
|
|
137
|
+
canisterId: canisterId
|
|
138
|
+
});
|
|
139
|
+
const maybeBuf = cert.lookup([...path, new TextEncoder().encode('status')]);
|
|
140
|
+
let status;
|
|
141
|
+
if (typeof maybeBuf === 'undefined') {
|
|
142
|
+
// Missing requestId means we need to wait
|
|
143
|
+
status = auth_1.RequestStatusResponseStatus.Unknown;
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
status = new TextDecoder().decode(maybeBuf);
|
|
147
|
+
}
|
|
148
|
+
switch (status) {
|
|
149
|
+
case auth_1.RequestStatusResponseStatus.Replied: {
|
|
150
|
+
return cert.lookup([...path, 'reply']);
|
|
151
|
+
}
|
|
152
|
+
case auth_1.RequestStatusResponseStatus.Received:
|
|
153
|
+
case auth_1.RequestStatusResponseStatus.Unknown:
|
|
154
|
+
case auth_1.RequestStatusResponseStatus.Processing:
|
|
299
155
|
// Execute the polling strategy, then retry.
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
{
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
" Reject code: ".concat(rejectCode, "\n") +
|
|
312
|
-
" Reject text: ".concat(rejectMessage, "\n"));
|
|
313
|
-
}
|
|
314
|
-
_d.label = 10;
|
|
315
|
-
case 10:
|
|
156
|
+
yield strategy(canisterId, requestId, status);
|
|
157
|
+
return pollForResponse(agent, canisterId, requestId, strategy, currentRequest);
|
|
158
|
+
case auth_1.RequestStatusResponseStatus.Rejected: {
|
|
159
|
+
const rejectCode = new Uint8Array(cert.lookup([...path, 'reject_code']))[0];
|
|
160
|
+
const rejectMessage = new TextDecoder().decode(cert.lookup([...path, 'reject_message']));
|
|
161
|
+
throw new Error(`Call was rejected:\n` +
|
|
162
|
+
` Request ID: ${(0, buffer_1.toHex)(requestId)}\n` +
|
|
163
|
+
` Reject code: ${rejectCode}\n` +
|
|
164
|
+
` Reject text: ${rejectMessage}\n`);
|
|
165
|
+
}
|
|
166
|
+
case auth_1.RequestStatusResponseStatus.Done:
|
|
316
167
|
// This is _technically_ not an error, but we still didn't see the `Replied` status so
|
|
317
168
|
// we don't know the result and cannot decode it.
|
|
318
|
-
throw new Error(
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
});
|
|
169
|
+
throw new Error(`Call was marked as done but we never saw the reply:\n` + ` Request ID: ${(0, buffer_1.toHex)(requestId)}\n`);
|
|
170
|
+
}
|
|
171
|
+
throw new Error('unreachable');
|
|
322
172
|
});
|
|
323
173
|
}
|
|
324
174
|
exports.pollForResponse = pollForResponse;
|
package/v1/utils/polling.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polling.js","sourceRoot":"","sources":["../../../src/v1/utils/polling.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"polling.js","sourceRoot":"","sources":["../../../src/v1/utils/polling.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAA+D;AAC/D,qCAAgC;AAChC,+CAA2C;AAS3C,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAE1C;;;GAGG;AACH,SAAgB,eAAe;IAC7B,OAAO,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAA;AACjG,CAAC;AAFD,0CAEC;AAED;;GAEG;AACH,SAAgB,IAAI;IAClB,IAAI,KAAK,GAAG,IAAI,CAAA;IAChB,OAAO,GAAS,EAAE;QAChB,IAAI,KAAK,EAAE;YACT,KAAK,GAAG,KAAK,CAAA;YACb,OAAO,IAAI,CAAA;SACZ;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAA,CAAA;AACH,CAAC;AATD,oBASC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,SAA6B,EAAE,UAAkB;IAChF,OAAO,CAAO,UAAqB,EAAE,SAAoB,EAAE,MAAmC,EAAE,EAAE;QAChG,IAAI,MAAM,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE;YAClD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;SACjE;IACH,CAAC,CAAA,CAAA;AACH,CAAC;AAND,4CAMC;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,KAAa;IACvC,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,OAAO,CAAO,UAAqB,EAAE,SAAoB,EAAE,MAAmC,EAAE,EAAE;QAChG,IAAI,EAAE,QAAQ,IAAI,CAAC,EAAE;YACnB,MAAM,IAAI,KAAK,CACb,gDAAgD,KAAK,cAAc;gBACjE,iBAAiB,IAAA,cAAK,EAAC,SAAS,CAAC,IAAI;gBACrC,qBAAqB,MAAM,IAAI,CAClC,CAAA;SACF;IACH,CAAC,CAAA,CAAA;AACH,CAAC;AAXD,kCAWC;AAED;;;GAGG;AACH,SAAgB,QAAQ,CAAC,cAAsB;IAC7C,OAAO,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAA;AAC5E,CAAC;AAFD,4BAEC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,UAAkB;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAA;IACnC,OAAO,CAAO,UAAqB,EAAE,SAAoB,EAAE,MAAmC,EAAE,EAAE;QAChG,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE;YACpB,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,UAAU,GAAG,iBAAiB,IAAA,cAAK,EAAC,SAAS,CAAC,IAAI,GAAG,qBAAqB,MAAM,IAAI,CAC1H,CAAA;SACF;IACH,CAAC,CAAA,CAAA;AACH,CAAC;AATD,0BASC;AAED;;;;;GAKG;AACH,SAAgB,OAAO,CAAC,sBAA8B,EAAE,aAAqB;IAC3E,IAAI,iBAAiB,GAAG,sBAAsB,CAAA;IAE9C,OAAO,GAAG,EAAE,CACV,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACtB,UAAU,CAAC,GAAG,EAAE;QACd,iBAAiB,IAAI,aAAa,CAAA;QAClC,OAAO,EAAE,CAAA;IACX,CAAC,EAAE,iBAAiB,CAAC,CACtB,CAAA;AACL,CAAC;AAVD,0BAUC;AAED;;;;GAIG;AACH,SAAgB,KAAK,CAAC,GAAG,UAA0B;IACjD,OAAO,CAAO,UAAqB,EAAE,SAAoB,EAAE,MAAmC,EAAE,EAAE;QAChG,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;YAC1B,MAAM,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;SACvC;IACH,CAAC,CAAA,CAAA;AACH,CAAC;AAND,sBAMC;AAED;;;;;;;;GAQG;AACH,SAAsB,eAAe,CACnC,KAAY,EACZ,UAAqB,EACrB,SAAoB,EACpB,QAAsB;AACtB,2BAA2B;AAC3B,OAAa;;;QAEb,MAAM,IAAI,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,CAAA;QACpE,MAAM,cAAc,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,CAAC,MAAM,CAAA,MAAA,KAAK,CAAC,sBAAsB,sDAAG,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA,CAAC,CAAA;QAC3F,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,CAAA;QAC7F,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAC3F,MAAM,IAAI,GAAG,MAAM,yBAAW,CAAC,MAAM,CAAC;YACpC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU,EAAE,UAAU;SACvB,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC3E,IAAI,MAAM,CAAA;QACV,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YACnC,0CAA0C;YAC1C,MAAM,GAAG,kCAA2B,CAAC,OAAO,CAAA;SAC7C;aAAM;YACL,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;SAC5C;QAED,QAAQ,MAAM,EAAE;YACd,KAAK,kCAA2B,CAAC,OAAO,CAAC,CAAC;gBACxC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAE,CAAA;aACxC;YAED,KAAK,kCAA2B,CAAC,QAAQ,CAAC;YAC1C,KAAK,kCAA2B,CAAC,OAAO,CAAC;YACzC,KAAK,kCAA2B,CAAC,UAAU;gBACzC,4CAA4C;gBAC5C,MAAM,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;gBAC7C,OAAO,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAA;YAEhF,KAAK,kCAA2B,CAAC,QAAQ,CAAC,CAAC;gBACzC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,aAAa,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC5E,MAAM,aAAa,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,gBAAgB,CAAC,CAAE,CAAC,CAAA;gBACzF,MAAM,IAAI,KAAK,CACb,sBAAsB;oBACpB,iBAAiB,IAAA,cAAK,EAAC,SAAS,CAAC,IAAI;oBACrC,kBAAkB,UAAU,IAAI;oBAChC,kBAAkB,aAAa,IAAI,CACtC,CAAA;aACF;YAED,KAAK,kCAA2B,CAAC,IAAI;gBACnC,sFAAsF;gBACtF,iDAAiD;gBACjD,MAAM,IAAI,KAAK,CAAC,uDAAuD,GAAG,iBAAiB,IAAA,cAAK,EAAC,SAAS,CAAC,IAAI,CAAC,CAAA;SACnH;QACD,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;;CAC/B;AAvDD,0CAuDC"}
|