@gnolang/tm2-js-client 1.0.0

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.
Files changed (77) hide show
  1. package/LICENSE.md +201 -0
  2. package/README.md +78 -0
  3. package/bin/index.d.ts +4 -0
  4. package/bin/index.js +20 -0
  5. package/bin/proto/google/protobuf/any.d.ts +151 -0
  6. package/bin/proto/google/protobuf/any.js +124 -0
  7. package/bin/proto/index.d.ts +2 -0
  8. package/bin/proto/index.js +20 -0
  9. package/bin/proto/tm2/tx.d.ts +540 -0
  10. package/bin/proto/tm2/tx.js +365 -0
  11. package/bin/provider/endpoints.d.ts +28 -0
  12. package/bin/provider/endpoints.js +36 -0
  13. package/bin/provider/index.d.ts +6 -0
  14. package/bin/provider/index.js +22 -0
  15. package/bin/provider/jsonrpc/index.d.ts +1 -0
  16. package/bin/provider/jsonrpc/index.js +17 -0
  17. package/bin/provider/jsonrpc/jsonrpc.d.ts +27 -0
  18. package/bin/provider/jsonrpc/jsonrpc.js +219 -0
  19. package/bin/provider/jsonrpc/jsonrpc.test.d.ts +1 -0
  20. package/bin/provider/jsonrpc/jsonrpc.test.js +374 -0
  21. package/bin/provider/provider.d.ts +86 -0
  22. package/bin/provider/provider.js +2 -0
  23. package/bin/provider/types/abci.d.ts +39 -0
  24. package/bin/provider/types/abci.js +4 -0
  25. package/bin/provider/types/common.d.ts +154 -0
  26. package/bin/provider/types/common.js +2 -0
  27. package/bin/provider/types/index.d.ts +3 -0
  28. package/bin/provider/types/index.js +19 -0
  29. package/bin/provider/types/jsonrpc.d.ts +26 -0
  30. package/bin/provider/types/jsonrpc.js +2 -0
  31. package/bin/provider/utility/index.d.ts +2 -0
  32. package/bin/provider/utility/index.js +18 -0
  33. package/bin/provider/utility/provider.utility.d.ts +28 -0
  34. package/bin/provider/utility/provider.utility.js +194 -0
  35. package/bin/provider/utility/requests.utility.d.ts +33 -0
  36. package/bin/provider/utility/requests.utility.js +74 -0
  37. package/bin/provider/websocket/index.d.ts +1 -0
  38. package/bin/provider/websocket/index.js +17 -0
  39. package/bin/provider/websocket/ws.d.ts +55 -0
  40. package/bin/provider/websocket/ws.js +303 -0
  41. package/bin/provider/websocket/ws.test.d.ts +1 -0
  42. package/bin/provider/websocket/ws.test.js +535 -0
  43. package/bin/services/index.d.ts +2 -0
  44. package/bin/services/index.js +18 -0
  45. package/bin/services/rest/restService.d.ts +4 -0
  46. package/bin/services/rest/restService.js +72 -0
  47. package/bin/services/rest/restService.types.d.ts +6 -0
  48. package/bin/services/rest/restService.types.js +2 -0
  49. package/bin/wallet/index.d.ts +5 -0
  50. package/bin/wallet/index.js +21 -0
  51. package/bin/wallet/key/index.d.ts +1 -0
  52. package/bin/wallet/key/index.js +17 -0
  53. package/bin/wallet/key/key.d.ts +21 -0
  54. package/bin/wallet/key/key.js +102 -0
  55. package/bin/wallet/key/key.test.d.ts +1 -0
  56. package/bin/wallet/key/key.test.js +121 -0
  57. package/bin/wallet/ledger/index.d.ts +1 -0
  58. package/bin/wallet/ledger/index.js +17 -0
  59. package/bin/wallet/ledger/ledger.d.ts +22 -0
  60. package/bin/wallet/ledger/ledger.js +109 -0
  61. package/bin/wallet/signer.d.ts +29 -0
  62. package/bin/wallet/signer.js +2 -0
  63. package/bin/wallet/types/index.d.ts +2 -0
  64. package/bin/wallet/types/index.js +18 -0
  65. package/bin/wallet/types/sign.d.ts +17 -0
  66. package/bin/wallet/types/sign.js +4 -0
  67. package/bin/wallet/types/wallet.d.ts +5 -0
  68. package/bin/wallet/types/wallet.js +2 -0
  69. package/bin/wallet/utility/index.d.ts +1 -0
  70. package/bin/wallet/utility/index.js +17 -0
  71. package/bin/wallet/utility/utility.d.ts +30 -0
  72. package/bin/wallet/utility/utility.js +105 -0
  73. package/bin/wallet/wallet.d.ts +94 -0
  74. package/bin/wallet/wallet.js +340 -0
  75. package/bin/wallet/wallet.test.d.ts +1 -0
  76. package/bin/wallet/wallet.test.js +345 -0
  77. package/package.json +64 -0
@@ -0,0 +1,535 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
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 (g && (g = 0, op[0] && (_ = 0)), _) 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 __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var utility_1 = require("../utility");
43
+ var ws_1 = require("./ws");
44
+ var jest_websocket_mock_1 = __importDefault(require("jest-websocket-mock"));
45
+ var proto_1 = require("../../proto");
46
+ var crypto_1 = require("@cosmjs/crypto");
47
+ var endpoints_1 = require("../endpoints");
48
+ describe('WS Provider', function () {
49
+ var wsPort = 8545;
50
+ var wsHost = 'localhost';
51
+ var wsURL = "ws://".concat(wsHost, ":").concat(wsPort);
52
+ var server;
53
+ var wsProvider;
54
+ var mockABCIResponse = function (response) {
55
+ return {
56
+ response: {
57
+ ResponseBase: {
58
+ Log: '',
59
+ Info: '',
60
+ Data: (0, utility_1.stringToBase64)(response),
61
+ Error: null,
62
+ Events: null,
63
+ },
64
+ Key: null,
65
+ Value: null,
66
+ Proof: null,
67
+ Height: '',
68
+ },
69
+ };
70
+ };
71
+ /**
72
+ * Sets up the test response handler (single-response)
73
+ * @param {WebSocketServer} wss the websocket server returning data
74
+ * @param {Type} testData the test data being returned to the client
75
+ */
76
+ var setHandler = function (testData) { return __awaiter(void 0, void 0, void 0, function () {
77
+ return __generator(this, function (_a) {
78
+ switch (_a.label) {
79
+ case 0:
80
+ server.on('connection', function (socket) {
81
+ socket.on('message', function (data) {
82
+ var request = JSON.parse(data.toString());
83
+ var response = (0, utility_1.newResponse)(testData);
84
+ response.id = request.id;
85
+ socket.send(JSON.stringify(response));
86
+ });
87
+ });
88
+ return [4 /*yield*/, server.connected];
89
+ case 1:
90
+ _a.sent();
91
+ return [2 /*return*/];
92
+ }
93
+ });
94
+ }); };
95
+ beforeEach(function () {
96
+ server = new jest_websocket_mock_1.default(wsURL);
97
+ wsProvider = new ws_1.WSProvider(wsURL);
98
+ });
99
+ afterEach(function () {
100
+ wsProvider.closeConnection();
101
+ jest_websocket_mock_1.default.clean();
102
+ });
103
+ test('getNetwork', function () { return __awaiter(void 0, void 0, void 0, function () {
104
+ var mockInfo, info;
105
+ return __generator(this, function (_a) {
106
+ switch (_a.label) {
107
+ case 0:
108
+ mockInfo = {
109
+ listening: false,
110
+ listeners: [],
111
+ n_peers: '0',
112
+ peers: [],
113
+ };
114
+ // Set the response
115
+ return [4 /*yield*/, setHandler(mockInfo)];
116
+ case 1:
117
+ // Set the response
118
+ _a.sent();
119
+ return [4 /*yield*/, wsProvider.getNetwork()];
120
+ case 2:
121
+ info = _a.sent();
122
+ expect(info).toEqual(mockInfo);
123
+ return [2 /*return*/];
124
+ }
125
+ });
126
+ }); });
127
+ var getEmptyStatus = function () {
128
+ return {
129
+ node_info: {
130
+ version_set: [],
131
+ net_address: '',
132
+ network: '',
133
+ software: '',
134
+ version: '',
135
+ channels: '',
136
+ monkier: '',
137
+ other: {
138
+ tx_index: '',
139
+ rpc_address: '',
140
+ },
141
+ },
142
+ sync_info: {
143
+ latest_block_hash: '',
144
+ latest_app_hash: '',
145
+ latest_block_height: '',
146
+ latest_block_time: '',
147
+ catching_up: false,
148
+ },
149
+ validator_info: {
150
+ address: '',
151
+ pub_key: {
152
+ type: '',
153
+ value: '',
154
+ },
155
+ voting_power: '',
156
+ },
157
+ };
158
+ };
159
+ test('getStatus', function () { return __awaiter(void 0, void 0, void 0, function () {
160
+ var mockStatus, status;
161
+ return __generator(this, function (_a) {
162
+ switch (_a.label) {
163
+ case 0:
164
+ mockStatus = getEmptyStatus();
165
+ mockStatus.validator_info.address = 'address';
166
+ // Set the response
167
+ return [4 /*yield*/, setHandler(mockStatus)];
168
+ case 1:
169
+ // Set the response
170
+ _a.sent();
171
+ return [4 /*yield*/, wsProvider.getStatus()];
172
+ case 2:
173
+ status = _a.sent();
174
+ expect(status).toEqual(status);
175
+ return [2 /*return*/];
176
+ }
177
+ });
178
+ }); });
179
+ test('getConsensusParams', function () { return __awaiter(void 0, void 0, void 0, function () {
180
+ var mockParams, params;
181
+ return __generator(this, function (_a) {
182
+ switch (_a.label) {
183
+ case 0:
184
+ mockParams = {
185
+ block_height: '',
186
+ consensus_params: {
187
+ Block: {
188
+ MaxTxBytes: '',
189
+ MaxDataBytes: '',
190
+ MaxBlockBytes: '',
191
+ MaxGas: '',
192
+ TimeIotaMS: '',
193
+ },
194
+ Validator: {
195
+ PubKeyTypeURLs: [],
196
+ },
197
+ },
198
+ };
199
+ // Set the response
200
+ return [4 /*yield*/, setHandler(mockParams)];
201
+ case 1:
202
+ // Set the response
203
+ _a.sent();
204
+ return [4 /*yield*/, wsProvider.getConsensusParams(1)];
205
+ case 2:
206
+ params = _a.sent();
207
+ expect(params).toEqual(mockParams);
208
+ return [2 /*return*/];
209
+ }
210
+ });
211
+ }); });
212
+ describe('getSequence', function () {
213
+ var validAccount = {
214
+ BaseAccount: {
215
+ address: 'random address',
216
+ coins: '',
217
+ public_key: null,
218
+ account_number: '0',
219
+ sequence: '10',
220
+ },
221
+ };
222
+ test.each([
223
+ [
224
+ JSON.stringify(validAccount),
225
+ parseInt(validAccount.BaseAccount.sequence, 10),
226
+ ],
227
+ ['null', 0], // account doesn't exist
228
+ ])('case %#', function (response, expected) { return __awaiter(void 0, void 0, void 0, function () {
229
+ var mockResponse, sequence;
230
+ return __generator(this, function (_a) {
231
+ switch (_a.label) {
232
+ case 0:
233
+ mockResponse = mockABCIResponse(response);
234
+ // Set the response
235
+ return [4 /*yield*/, setHandler(mockResponse)];
236
+ case 1:
237
+ // Set the response
238
+ _a.sent();
239
+ return [4 /*yield*/, wsProvider.getAccountSequence('address')];
240
+ case 2:
241
+ sequence = _a.sent();
242
+ expect(sequence).toBe(expected);
243
+ return [2 /*return*/];
244
+ }
245
+ });
246
+ }); });
247
+ });
248
+ describe('getAccountNumber', function () {
249
+ var validAccount = {
250
+ BaseAccount: {
251
+ address: 'random address',
252
+ coins: '',
253
+ public_key: null,
254
+ account_number: '10',
255
+ sequence: '0',
256
+ },
257
+ };
258
+ test.each([
259
+ [
260
+ JSON.stringify(validAccount),
261
+ parseInt(validAccount.BaseAccount.account_number, 10),
262
+ ],
263
+ ['null', 0], // account doesn't exist
264
+ ])('case %#', function (response, expected) { return __awaiter(void 0, void 0, void 0, function () {
265
+ var mockResponse, accountNumber, e_1;
266
+ return __generator(this, function (_a) {
267
+ switch (_a.label) {
268
+ case 0:
269
+ mockResponse = mockABCIResponse(response);
270
+ // Set the response
271
+ return [4 /*yield*/, setHandler(mockResponse)];
272
+ case 1:
273
+ // Set the response
274
+ _a.sent();
275
+ _a.label = 2;
276
+ case 2:
277
+ _a.trys.push([2, 4, , 5]);
278
+ return [4 /*yield*/, wsProvider.getAccountNumber('address')];
279
+ case 3:
280
+ accountNumber = _a.sent();
281
+ expect(accountNumber).toBe(expected);
282
+ return [3 /*break*/, 5];
283
+ case 4:
284
+ e_1 = _a.sent();
285
+ expect(e_1.message).toContain('account is not initialized');
286
+ return [3 /*break*/, 5];
287
+ case 5: return [2 /*return*/];
288
+ }
289
+ });
290
+ }); });
291
+ });
292
+ describe('getBalance', function () {
293
+ var denomination = 'atom';
294
+ test.each([
295
+ ['"5gnot,100atom"', 100],
296
+ ['"5universe"', 0],
297
+ ['""', 0], // account doesn't exist
298
+ ])('case %#', function (existing, expected) { return __awaiter(void 0, void 0, void 0, function () {
299
+ var mockResponse, balance;
300
+ return __generator(this, function (_a) {
301
+ switch (_a.label) {
302
+ case 0:
303
+ mockResponse = mockABCIResponse(existing);
304
+ // Set the response
305
+ return [4 /*yield*/, setHandler(mockResponse)];
306
+ case 1:
307
+ // Set the response
308
+ _a.sent();
309
+ return [4 /*yield*/, wsProvider.getBalance('address', denomination)];
310
+ case 2:
311
+ balance = _a.sent();
312
+ expect(balance).toBe(expected);
313
+ return [2 /*return*/];
314
+ }
315
+ });
316
+ }); });
317
+ });
318
+ test('getBlockNumber', function () { return __awaiter(void 0, void 0, void 0, function () {
319
+ var expectedBlockNumber, mockStatus, blockNumber;
320
+ return __generator(this, function (_a) {
321
+ switch (_a.label) {
322
+ case 0:
323
+ expectedBlockNumber = 10;
324
+ mockStatus = getEmptyStatus();
325
+ mockStatus.sync_info.latest_block_height = "".concat(expectedBlockNumber);
326
+ // Set the response
327
+ return [4 /*yield*/, setHandler(mockStatus)];
328
+ case 1:
329
+ // Set the response
330
+ _a.sent();
331
+ return [4 /*yield*/, wsProvider.getBlockNumber()];
332
+ case 2:
333
+ blockNumber = _a.sent();
334
+ expect(blockNumber).toBe(expectedBlockNumber);
335
+ return [2 /*return*/];
336
+ }
337
+ });
338
+ }); });
339
+ test('sendTransaction', function () { return __awaiter(void 0, void 0, void 0, function () {
340
+ var mockResult, hash;
341
+ return __generator(this, function (_a) {
342
+ switch (_a.label) {
343
+ case 0:
344
+ mockResult = {
345
+ error: null,
346
+ data: null,
347
+ Log: '',
348
+ hash: 'hash123',
349
+ };
350
+ // Set the response
351
+ return [4 /*yield*/, setHandler(mockResult)];
352
+ case 1:
353
+ // Set the response
354
+ _a.sent();
355
+ return [4 /*yield*/, wsProvider.sendTransaction('encoded tx')];
356
+ case 2:
357
+ hash = _a.sent();
358
+ expect(hash).toBe(mockResult.hash);
359
+ return [2 /*return*/];
360
+ }
361
+ });
362
+ }); });
363
+ var getEmptyBlockInfo = function () {
364
+ var emptyHeader = {
365
+ version: '',
366
+ chain_id: '',
367
+ height: '',
368
+ time: '',
369
+ num_txs: '',
370
+ total_txs: '',
371
+ app_version: '',
372
+ last_block_id: {
373
+ hash: null,
374
+ parts: {
375
+ total: '',
376
+ hash: null,
377
+ },
378
+ },
379
+ last_commit_hash: '',
380
+ data_hash: '',
381
+ validators_hash: '',
382
+ consensus_hash: '',
383
+ app_hash: '',
384
+ last_results_hash: '',
385
+ proposer_address: '',
386
+ };
387
+ var emptyBlockID = {
388
+ hash: null,
389
+ parts: {
390
+ total: '',
391
+ hash: null,
392
+ },
393
+ };
394
+ return {
395
+ block_meta: {
396
+ block_id: emptyBlockID,
397
+ header: emptyHeader,
398
+ },
399
+ block: {
400
+ header: emptyHeader,
401
+ data: {
402
+ txs: null,
403
+ },
404
+ last_commit: {
405
+ block_id: emptyBlockID,
406
+ precommits: null,
407
+ },
408
+ },
409
+ };
410
+ };
411
+ test('getBlock', function () { return __awaiter(void 0, void 0, void 0, function () {
412
+ var mockInfo, result;
413
+ return __generator(this, function (_a) {
414
+ switch (_a.label) {
415
+ case 0:
416
+ mockInfo = getEmptyBlockInfo();
417
+ // Set the response
418
+ return [4 /*yield*/, setHandler(mockInfo)];
419
+ case 1:
420
+ // Set the response
421
+ _a.sent();
422
+ return [4 /*yield*/, wsProvider.getBlock(0)];
423
+ case 2:
424
+ result = _a.sent();
425
+ expect(result).toEqual(mockInfo);
426
+ return [2 /*return*/];
427
+ }
428
+ });
429
+ }); });
430
+ var getEmptyBlockResult = function () {
431
+ var emptyResponseBase = {
432
+ Error: null,
433
+ Data: null,
434
+ Events: null,
435
+ Log: '',
436
+ Info: '',
437
+ };
438
+ var emptyEndBlock = {
439
+ ResponseBase: emptyResponseBase,
440
+ ValidatorUpdates: null,
441
+ ConsensusParams: null,
442
+ Events: null,
443
+ };
444
+ var emptyStartBlock = {
445
+ ResponseBase: emptyResponseBase,
446
+ };
447
+ return {
448
+ height: '',
449
+ results: {
450
+ deliver_tx: null,
451
+ end_block: emptyEndBlock,
452
+ begin_block: emptyStartBlock,
453
+ },
454
+ };
455
+ };
456
+ test('getBlockResult', function () { return __awaiter(void 0, void 0, void 0, function () {
457
+ var mockResult, result;
458
+ return __generator(this, function (_a) {
459
+ switch (_a.label) {
460
+ case 0:
461
+ mockResult = getEmptyBlockResult();
462
+ // Set the response
463
+ return [4 /*yield*/, setHandler(mockResult)];
464
+ case 1:
465
+ // Set the response
466
+ _a.sent();
467
+ return [4 /*yield*/, wsProvider.getBlockResult(0)];
468
+ case 2:
469
+ result = _a.sent();
470
+ expect(result).toEqual(mockResult);
471
+ return [2 /*return*/];
472
+ }
473
+ });
474
+ }); });
475
+ test('waitForTransaction', function () { return __awaiter(void 0, void 0, void 0, function () {
476
+ var emptyBlock, tx, encodedTx, txHash, filledBlock, latestBlock, startBlock, mockStatus, responseMap, receivedTx;
477
+ return __generator(this, function (_a) {
478
+ switch (_a.label) {
479
+ case 0:
480
+ emptyBlock = getEmptyBlockInfo();
481
+ emptyBlock.block.data = {
482
+ txs: [],
483
+ };
484
+ tx = {
485
+ messages: [],
486
+ signatures: [],
487
+ memo: 'tx memo',
488
+ };
489
+ encodedTx = proto_1.Tx.encode(tx).finish();
490
+ txHash = (0, crypto_1.sha256)(encodedTx);
491
+ filledBlock = getEmptyBlockInfo();
492
+ filledBlock.block.data = {
493
+ txs: [(0, utility_1.uint8ArrayToBase64)(encodedTx)],
494
+ };
495
+ latestBlock = 5;
496
+ startBlock = latestBlock - 2;
497
+ mockStatus = getEmptyStatus();
498
+ mockStatus.sync_info.latest_block_height = "".concat(latestBlock);
499
+ responseMap = new Map([
500
+ [latestBlock, filledBlock],
501
+ [latestBlock - 1, emptyBlock],
502
+ [startBlock, emptyBlock],
503
+ ]);
504
+ // Set the response
505
+ server.on('connection', function (socket) {
506
+ socket.on('message', function (data) {
507
+ var request = JSON.parse(data.toString());
508
+ if (request.method == endpoints_1.CommonEndpoint.STATUS) {
509
+ var response_1 = (0, utility_1.newResponse)(mockStatus);
510
+ response_1.id = request.id;
511
+ socket.send(JSON.stringify(response_1));
512
+ return;
513
+ }
514
+ if (!request.params) {
515
+ return;
516
+ }
517
+ var blockNum = +request.params[0];
518
+ var info = responseMap.get(blockNum);
519
+ var response = (0, utility_1.newResponse)(info);
520
+ response.id = request.id;
521
+ socket.send(JSON.stringify(response));
522
+ });
523
+ });
524
+ return [4 /*yield*/, server.connected];
525
+ case 1:
526
+ _a.sent();
527
+ return [4 /*yield*/, wsProvider.waitForTransaction((0, utility_1.uint8ArrayToBase64)(txHash), startBlock)];
528
+ case 2:
529
+ receivedTx = _a.sent();
530
+ expect(receivedTx).toEqual(tx);
531
+ return [2 /*return*/];
532
+ }
533
+ });
534
+ }); });
535
+ });
@@ -0,0 +1,2 @@
1
+ export * from './rest/restService';
2
+ export * from './rest/restService.types';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./rest/restService"), exports);
18
+ __exportStar(require("./rest/restService.types"), exports);
@@ -0,0 +1,4 @@
1
+ import { RequestParams } from './restService.types';
2
+ export declare class RestService {
3
+ static post<TResult>(baseURL: string, params: RequestParams): Promise<TResult>;
4
+ }
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
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 (g && (g = 0, op[0] && (_ = 0)), _) 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 __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.RestService = void 0;
43
+ var axios_1 = __importDefault(require("axios"));
44
+ var RestService = /** @class */ (function () {
45
+ function RestService() {
46
+ }
47
+ RestService.post = function (baseURL, params) {
48
+ return __awaiter(this, void 0, void 0, function () {
49
+ var axiosResponse, _a, result, error;
50
+ return __generator(this, function (_b) {
51
+ switch (_b.label) {
52
+ case 0: return [4 /*yield*/, axios_1.default.post(baseURL, params.request, params.config)];
53
+ case 1:
54
+ axiosResponse = _b.sent();
55
+ _a = axiosResponse.data, result = _a.result, error = _a.error;
56
+ // Check for errors
57
+ if (error) {
58
+ // Error encountered during the POST request
59
+ throw new Error("".concat(error.message, ": ").concat(error.data));
60
+ }
61
+ // Check for the correct result format
62
+ if (!result) {
63
+ throw new Error('invalid result returned');
64
+ }
65
+ return [2 /*return*/, result];
66
+ }
67
+ });
68
+ });
69
+ };
70
+ return RestService;
71
+ }());
72
+ exports.RestService = RestService;
@@ -0,0 +1,6 @@
1
+ import { AxiosRequestConfig } from 'axios';
2
+ import { RPCRequest } from '../../provider';
3
+ export interface RequestParams {
4
+ request: RPCRequest;
5
+ config?: AxiosRequestConfig;
6
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ export * from './key';
2
+ export * from './ledger';
3
+ export * from './types';
4
+ export * from './utility';
5
+ export * from './wallet';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./key"), exports);
18
+ __exportStar(require("./ledger"), exports);
19
+ __exportStar(require("./types"), exports);
20
+ __exportStar(require("./utility"), exports);
21
+ __exportStar(require("./wallet"), exports);
@@ -0,0 +1 @@
1
+ export * from './key';