postchain-client 1.3.1 → 1.4.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.
- package/README.md +244 -167
- package/built/cjs/index.js +602 -51
- package/built/cjs/index.js.map +1 -1
- package/built/esm/index.js +31515 -34190
- package/built/esm/index.js.map +1 -1
- package/built/index.d.ts +2 -0
- package/built/index.js +2 -0
- package/built/index.js.map +1 -1
- package/built/src/blockchainClient/blockchainClient.d.ts +3 -0
- package/built/src/blockchainClient/blockchainClient.js +251 -0
- package/built/src/blockchainClient/blockchainClient.js.map +1 -0
- package/built/src/blockchainClient/errors.d.ts +15 -0
- package/built/src/blockchainClient/errors.js +26 -0
- package/built/src/blockchainClient/errors.js.map +1 -0
- package/built/src/blockchainClient/interface.d.ts +108 -0
- package/built/src/blockchainClient/interface.js +2 -0
- package/built/src/blockchainClient/interface.js.map +1 -0
- package/built/src/blockchainClient/types.d.ts +91 -0
- package/built/src/blockchainClient/types.js +8 -0
- package/built/src/blockchainClient/types.js.map +1 -0
- package/built/src/blockchainClient/utils.d.ts +18 -0
- package/built/src/blockchainClient/utils.js +157 -0
- package/built/src/blockchainClient/utils.js.map +1 -0
- package/built/src/gtx/errors.js +1 -1
- package/built/src/gtx/errors.js.map +1 -1
- package/built/src/gtx/gtx.d.ts +4 -3
- package/built/src/gtx/gtx.js +17 -9
- package/built/src/gtx/gtx.js.map +1 -1
- package/built/src/promiEvent/promiEventEmitter.d.ts +24 -0
- package/built/src/promiEvent/promiEventEmitter.js +56 -0
- package/built/src/promiEvent/promiEventEmitter.js.map +1 -0
- package/built/src/promiEvent/promiEvents.d.ts +12 -0
- package/built/src/promiEvent/promiEvents.js +61 -0
- package/built/src/promiEvent/promiEvents.js.map +1 -0
- package/built/src/restclient/errors.d.ts +1 -1
- package/built/src/restclient/errors.js +6 -2
- package/built/src/restclient/errors.js.map +1 -1
- package/built/src/restclient/restclient.d.ts +15 -0
- package/built/src/restclient/restclient.js +13 -13
- package/built/src/restclient/restclient.js.map +1 -1
- package/built/src/restclient/restclientutil.d.ts +3 -1
- package/built/src/restclient/restclientutil.js +11 -0
- package/built/src/restclient/restclientutil.js.map +1 -1
- package/built/umd/index.js +31515 -34188
- package/built/umd/index.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { logger } from "../..";
|
|
11
|
+
import { BlockchainUrlUndefinedException } from "../chromia/errors";
|
|
12
|
+
import { SerializedTransactionFormatException, UnvalidTxRidException, } from "../restclient/errors";
|
|
13
|
+
import { createRestClient, handlePostResponse } from "../restclient/restclient";
|
|
14
|
+
import * as gtxTool from "../gtx/gtx";
|
|
15
|
+
import { InvalidTransactionFormatException, MissingBlockchainError, MissingNodeUrlError, } from "./errors";
|
|
16
|
+
import { toBuffer } from "../formatter";
|
|
17
|
+
import { getBrid } from "../restclient/restclientutil";
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
19
|
+
const Web3PromiEvent = require("web3-core-promievent");
|
|
20
|
+
export function getConfig(settings) {
|
|
21
|
+
var _a, _b;
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
if (!settings.nodeURLPool && !settings.directoryNodeURLPool) {
|
|
24
|
+
throw new MissingNodeUrlError();
|
|
25
|
+
}
|
|
26
|
+
if (!settings.blockchainRID &&
|
|
27
|
+
typeof settings.blockchainIID === "undefined") {
|
|
28
|
+
throw new MissingBlockchainError();
|
|
29
|
+
}
|
|
30
|
+
const nodeUrlPool = settings.directoryNodeURLPool
|
|
31
|
+
? yield getNodeUrls(settings)
|
|
32
|
+
: typeof settings.nodeURLPool === "string"
|
|
33
|
+
? [settings.nodeURLPool]
|
|
34
|
+
: Array.isArray(settings.nodeURLPool)
|
|
35
|
+
? settings.nodeURLPool
|
|
36
|
+
: [];
|
|
37
|
+
return {
|
|
38
|
+
endpointPool: nodeUrlPool,
|
|
39
|
+
blockchainRID: settings.blockchainRID
|
|
40
|
+
? toBuffer(settings.blockchainRID)
|
|
41
|
+
: toBuffer(yield getBrid(nodeUrlPool[0], settings.blockchainIID)),
|
|
42
|
+
pollingInterval: settings.pollingInterval || 500,
|
|
43
|
+
attemptsPerEndpoint: ((_a = settings.failOverConfig) === null || _a === void 0 ? void 0 : _a.attemptsPerEndpoint) || 3,
|
|
44
|
+
attemptInterval: ((_b = settings.failOverConfig) === null || _b === void 0 ? void 0 : _b.attemptInterval) || 500,
|
|
45
|
+
};
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
export function validTxRID(txRID) {
|
|
49
|
+
if (txRID.length != 32) {
|
|
50
|
+
const error = new UnvalidTxRidException(txRID);
|
|
51
|
+
logger.error(error.toString());
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
export function getNodeUrls(settings) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
if (!settings.blockchainRID) {
|
|
59
|
+
throw new MissingBlockchainError();
|
|
60
|
+
}
|
|
61
|
+
const nodeUrlPool = Array.isArray(settings.directoryNodeURLPool)
|
|
62
|
+
? settings.directoryNodeURLPool
|
|
63
|
+
: typeof settings.directoryNodeURLPool === "string"
|
|
64
|
+
? [settings.directoryNodeURLPool]
|
|
65
|
+
: [];
|
|
66
|
+
const directoryBRID = yield getBrid(nodeUrlPool[0], 0);
|
|
67
|
+
const queryObject = {
|
|
68
|
+
type: "cm_get_blockchain_api_urls",
|
|
69
|
+
blockchain_rid: settings.blockchainRID
|
|
70
|
+
? settings.blockchainRID
|
|
71
|
+
: yield getBrid(nodeUrlPool[0], settings.blockchainIID),
|
|
72
|
+
};
|
|
73
|
+
const rest = createRestClient(nodeUrlPool, directoryBRID);
|
|
74
|
+
const baseUrls = yield rest.query(queryObject);
|
|
75
|
+
if (!baseUrls.length) {
|
|
76
|
+
throw new BlockchainUrlUndefinedException(directoryBRID);
|
|
77
|
+
}
|
|
78
|
+
return baseUrls;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
export function convertToRellOperation(operations) {
|
|
82
|
+
return operations.map((operation) => {
|
|
83
|
+
var _a;
|
|
84
|
+
return {
|
|
85
|
+
opName: operation.name,
|
|
86
|
+
args: (_a = operation.args) !== null && _a !== void 0 ? _a : [],
|
|
87
|
+
};
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
export function testPromiEvent() {
|
|
91
|
+
const promiEvent = Web3PromiEvent();
|
|
92
|
+
setTimeout(function () {
|
|
93
|
+
promiEvent.eventEmitter.emit("sent", "Hello sent!");
|
|
94
|
+
promiEvent.resolve("Hello resolve");
|
|
95
|
+
}, 1000);
|
|
96
|
+
return promiEvent.eventEmitter;
|
|
97
|
+
}
|
|
98
|
+
export function getSerializedGTX(gtx) {
|
|
99
|
+
const gtxBytes = gtxTool.serialize(gtx);
|
|
100
|
+
if (!Buffer.isBuffer(gtxBytes)) {
|
|
101
|
+
throw new SerializedTransactionFormatException();
|
|
102
|
+
}
|
|
103
|
+
return gtxBytes;
|
|
104
|
+
}
|
|
105
|
+
export function getGTXFromBufferOrTransactionOrOperation(transaction, blockchainRID) {
|
|
106
|
+
if (Buffer.isBuffer(transaction)) {
|
|
107
|
+
return gtxTool.deserialize(transaction);
|
|
108
|
+
}
|
|
109
|
+
else if ("operations" in transaction) {
|
|
110
|
+
return {
|
|
111
|
+
blockchainRID,
|
|
112
|
+
operations: convertToRellOperation(transaction.operations),
|
|
113
|
+
signers: transaction.signers,
|
|
114
|
+
signatures: [],
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
else if ("name" in transaction) {
|
|
118
|
+
return {
|
|
119
|
+
blockchainRID,
|
|
120
|
+
operations: convertToRellOperation([transaction]),
|
|
121
|
+
signers: [],
|
|
122
|
+
signatures: [],
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
throw new InvalidTransactionFormatException();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
export const callbackPromiseBuilder = (reject, resolve, callback) => {
|
|
130
|
+
return (error, result) => {
|
|
131
|
+
if (error) {
|
|
132
|
+
if (typeof callback === "function") {
|
|
133
|
+
callback(error, null);
|
|
134
|
+
}
|
|
135
|
+
reject(error);
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
if (typeof callback === "function") {
|
|
139
|
+
callback(null, result);
|
|
140
|
+
}
|
|
141
|
+
resolve(result);
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
export const handlePostResponsePromisified = (error, statusCode, rspBody) => {
|
|
146
|
+
return new Promise((resolve, reject) => {
|
|
147
|
+
handlePostResponse(error, statusCode, rspBody, (_error) => {
|
|
148
|
+
if (_error) {
|
|
149
|
+
reject(_error);
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
resolve();
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
};
|
|
157
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/blockchainClient/utils.ts"],"names":[],"mappings":"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"}
|
package/built/src/gtx/errors.js
CHANGED
|
@@ -20,7 +20,7 @@ export class NumberOfSignersAndSignaturesException extends Error {
|
|
|
20
20
|
}
|
|
21
21
|
export class MissingSignerException extends Error {
|
|
22
22
|
constructor() {
|
|
23
|
-
super(`No such signer, remember to
|
|
23
|
+
super(`No such signer, remember to add signer to transaction before adding a signature`);
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/gtx/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpD,YAAY,QAAa;QACvB,KAAK,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/gtx/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpD,YAAY,QAAa;QACvB,KAAK,CACH,yBAAyB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAC/C,QAAQ,CAAC,IACX,EAAE,CACH,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C;QACE,KAAK,CACH,8FAA8F,CAC/F,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,iCAAkC,SAAQ,KAAK;IAC1D,YAAY,SAAiB;QAC3B,KAAK,CAAC,cAAc,SAAS,iCAAiC,CAAC,CAAC;IAClE,CAAC;CACF;AAED,MAAM,OAAO,qCAAsC,SAAQ,KAAK;IAC9D;QACE,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACzD,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C;QACE,KAAK,CACH,iFAAiF,CAClF,CAAC;IACJ,CAAC;CACF"}
|
package/built/src/gtx/gtx.d.ts
CHANGED
|
@@ -23,14 +23,15 @@ export declare function gtvTxBody(gtx: GTX): RawGtxBody;
|
|
|
23
23
|
/**
|
|
24
24
|
* asks the signatureProvider to sign the gtx
|
|
25
25
|
*/
|
|
26
|
-
export declare function sign(gtx: GTX, signatureProvider: SignatureProvider): Promise<
|
|
27
|
-
export declare function sign(gtx: GTX, privKey: Buffer, pubKey?: Buffer): Promise<
|
|
26
|
+
export declare function sign(gtx: GTX, signatureProvider: SignatureProvider): Promise<GTX>;
|
|
27
|
+
export declare function sign(gtx: GTX, privKey: Buffer, pubKey?: Buffer): Promise<GTX>;
|
|
28
28
|
export declare function signRawTransaction(_keyPair: Buffer, _rawTransaction: Buffer): void;
|
|
29
29
|
/**
|
|
30
30
|
* Adds a signature to the gtx
|
|
31
31
|
*/
|
|
32
|
-
export declare function addSignature(pubKeyBuffer: Buffer, signatureBuffer: Buffer, gtx: GTX):
|
|
32
|
+
export declare function addSignature(pubKeyBuffer: Buffer, signatureBuffer: Buffer, gtx: GTX): GTX;
|
|
33
33
|
export declare function serialize(gtx: GTX): Buffer;
|
|
34
34
|
export declare function deserialize(gtxBytes: Buffer): GTX;
|
|
35
35
|
export declare function checkGTXSignatures(txHash: Buffer, gtx: GTX): boolean;
|
|
36
|
+
export declare function checkExistingGTXSignatures(txHash: Buffer, gtx: GTX): boolean;
|
|
36
37
|
export declare function newSignatureProvider(keyPair?: IKeyPair): SignatureProvider;
|
package/built/src/gtx/gtx.js
CHANGED
|
@@ -8,8 +8,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
10
|
import * as gtv from "../gtv";
|
|
11
|
-
import { checkDigestSignature, createPublicKey, makeKeyPair, signDigest } from "../encryption/encryption";
|
|
12
|
-
import { AlreadySignedTransactionException, MissingGtxException, MissingSignerException,
|
|
11
|
+
import { checkDigestSignature, createPublicKey, makeKeyPair, signDigest, } from "../encryption/encryption";
|
|
12
|
+
import { AlreadySignedTransactionException, MissingGtxException, MissingSignerException, } from "./errors";
|
|
13
13
|
import { encode as gtxEncode, decode as gtxDecode } from "./index";
|
|
14
14
|
import { ensureBuffer } from "../formatter";
|
|
15
15
|
export function emptyGtx(blockchainRID) {
|
|
@@ -59,12 +59,12 @@ export function sign(gtx, privOrSigProv, pubKey) {
|
|
|
59
59
|
if (privOrSigProv instanceof Buffer) {
|
|
60
60
|
const digestToSign = getDigestToSign(gtx);
|
|
61
61
|
const signature = signDigest(digestToSign, privOrSigProv);
|
|
62
|
-
addSignature(pubKey || makeKeyPair(privOrSigProv).pubKey, signature, gtx);
|
|
62
|
+
return addSignature(pubKey || makeKeyPair(privOrSigProv).pubKey, signature, gtx);
|
|
63
63
|
}
|
|
64
64
|
else {
|
|
65
65
|
const digestToSign = getDigestToSign(gtx);
|
|
66
66
|
const signature = yield privOrSigProv.sign(digestToSign);
|
|
67
|
-
addSignature(privOrSigProv.pubKey, signature, gtx);
|
|
67
|
+
return addSignature(privOrSigProv.pubKey, signature, gtx);
|
|
68
68
|
}
|
|
69
69
|
});
|
|
70
70
|
}
|
|
@@ -80,16 +80,14 @@ export function signRawTransaction(_keyPair, _rawTransaction) {
|
|
|
80
80
|
*/
|
|
81
81
|
export function addSignature(pubKeyBuffer, signatureBuffer, gtx) {
|
|
82
82
|
if (!gtx.signatures) {
|
|
83
|
-
gtx.signatures = Array(gtx.signers.length)
|
|
84
|
-
}
|
|
85
|
-
if (gtx.signers.length !== gtx.signatures.length) {
|
|
86
|
-
throw new NumberOfSignersAndSignaturesException();
|
|
83
|
+
gtx.signatures = Array(gtx.signers.length);
|
|
87
84
|
}
|
|
88
85
|
const signerIndex = gtx.signers.findIndex((signer) => pubKeyBuffer.equals(signer));
|
|
89
86
|
if (signerIndex === -1) {
|
|
90
87
|
throw new MissingSignerException();
|
|
91
88
|
}
|
|
92
89
|
gtx.signatures[signerIndex] = signatureBuffer;
|
|
90
|
+
return gtx;
|
|
93
91
|
}
|
|
94
92
|
export function serialize(gtx) {
|
|
95
93
|
if (!gtx.signatures) {
|
|
@@ -127,6 +125,16 @@ export function checkGTXSignatures(txHash, gtx) {
|
|
|
127
125
|
}
|
|
128
126
|
return true;
|
|
129
127
|
}
|
|
128
|
+
export function checkExistingGTXSignatures(txHash, gtx) {
|
|
129
|
+
for (const i in gtx.signers) {
|
|
130
|
+
if (gtx.signatures[i]) {
|
|
131
|
+
const signValid = checkDigestSignature(txHash, gtx.signers[i], gtx.signatures[i]);
|
|
132
|
+
if (!signValid)
|
|
133
|
+
return signValid;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return true;
|
|
137
|
+
}
|
|
130
138
|
export function newSignatureProvider(keyPair) {
|
|
131
139
|
let pub, priv;
|
|
132
140
|
if (keyPair) {
|
|
@@ -138,7 +146,7 @@ export function newSignatureProvider(keyPair) {
|
|
|
138
146
|
}
|
|
139
147
|
return {
|
|
140
148
|
pubKey: pub,
|
|
141
|
-
sign: (digest) => __awaiter(this, void 0, void 0, function* () { return signDigest(digest, priv); })
|
|
149
|
+
sign: (digest) => __awaiter(this, void 0, void 0, function* () { return signDigest(digest, priv); }),
|
|
142
150
|
};
|
|
143
151
|
}
|
|
144
152
|
//# sourceMappingURL=gtx.js.map
|
package/built/src/gtx/gtx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gtx.js","sourceRoot":"","sources":["../../../src/gtx/gtx.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,
|
|
1
|
+
{"version":3,"file":"gtx.js","sourceRoot":"","sources":["../../../src/gtx/gtx.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { EventEmitter } from "events";
|
|
3
|
+
export type Web3EventMap = Record<string, unknown>;
|
|
4
|
+
export type Web3EventKey<T extends Web3EventMap> = string & keyof T;
|
|
5
|
+
export type Web3EventCallback<T> = (params: T) => void | Promise<void>;
|
|
6
|
+
export interface Web3Emitter<T extends Web3EventMap> {
|
|
7
|
+
on<K extends Web3EventKey<T>>(eventName: K, fn: Web3EventCallback<T[K]>): void;
|
|
8
|
+
once<K extends Web3EventKey<T>>(eventName: K, fn: Web3EventCallback<T[K]>): void;
|
|
9
|
+
off<K extends Web3EventKey<T>>(eventName: K, fn: Web3EventCallback<T[K]>): void;
|
|
10
|
+
emit<K extends Web3EventKey<T>>(eventName: K, params: T[K]): void;
|
|
11
|
+
}
|
|
12
|
+
export declare class Web3EventEmitter<T extends Web3EventMap> implements Web3Emitter<T> {
|
|
13
|
+
private readonly _emitter;
|
|
14
|
+
on<K extends Web3EventKey<T>>(eventName: K, fn: Web3EventCallback<T[K]>): void;
|
|
15
|
+
once<K extends Web3EventKey<T>>(eventName: K, fn: Web3EventCallback<T[K]>): void;
|
|
16
|
+
off<K extends Web3EventKey<T>>(eventName: K, fn: Web3EventCallback<T[K]>): void;
|
|
17
|
+
emit<K extends Web3EventKey<T>>(eventName: K, params: T[K]): void;
|
|
18
|
+
listenerCount<K extends Web3EventKey<T>>(eventName: K): number;
|
|
19
|
+
listeners<K extends Web3EventKey<T>>(eventName: K): Function[];
|
|
20
|
+
eventNames(): (string | symbol)[];
|
|
21
|
+
removeAllListeners(): EventEmitter;
|
|
22
|
+
setMaxListenerWarningThreshold(maxListenersWarningThreshold: number): void;
|
|
23
|
+
getMaxListeners(): number;
|
|
24
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*
|
|
2
|
+
This file is part of web3.js.
|
|
3
|
+
|
|
4
|
+
web3.js is free software: you can redistribute it and/or modify
|
|
5
|
+
it under the terms of the GNU Lesser General Public License as published by
|
|
6
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
(at your option) any later version.
|
|
8
|
+
|
|
9
|
+
web3.js is distributed in the hope that it will be useful,
|
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
GNU Lesser General Public License for more details.
|
|
13
|
+
|
|
14
|
+
You should have received a copy of the GNU Lesser General Public License
|
|
15
|
+
along with web3.js. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
+
*/
|
|
17
|
+
import { EventEmitter } from "events";
|
|
18
|
+
export class Web3EventEmitter {
|
|
19
|
+
constructor() {
|
|
20
|
+
this._emitter = new EventEmitter();
|
|
21
|
+
}
|
|
22
|
+
on(eventName, fn) {
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
24
|
+
this._emitter.on(eventName, fn);
|
|
25
|
+
}
|
|
26
|
+
once(eventName, fn) {
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
28
|
+
this._emitter.once(eventName, fn);
|
|
29
|
+
}
|
|
30
|
+
off(eventName, fn) {
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
32
|
+
this._emitter.off(eventName, fn);
|
|
33
|
+
}
|
|
34
|
+
emit(eventName, params) {
|
|
35
|
+
this._emitter.emit(eventName, params);
|
|
36
|
+
}
|
|
37
|
+
listenerCount(eventName) {
|
|
38
|
+
return this._emitter.listenerCount(eventName);
|
|
39
|
+
}
|
|
40
|
+
listeners(eventName) {
|
|
41
|
+
return this._emitter.listeners(eventName);
|
|
42
|
+
}
|
|
43
|
+
eventNames() {
|
|
44
|
+
return this._emitter.eventNames();
|
|
45
|
+
}
|
|
46
|
+
removeAllListeners() {
|
|
47
|
+
return this._emitter.removeAllListeners();
|
|
48
|
+
}
|
|
49
|
+
setMaxListenerWarningThreshold(maxListenersWarningThreshold) {
|
|
50
|
+
this._emitter.setMaxListeners(maxListenersWarningThreshold);
|
|
51
|
+
}
|
|
52
|
+
getMaxListeners() {
|
|
53
|
+
return this._emitter.getMaxListeners();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=promiEventEmitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promiEventEmitter.js","sourceRoot":"","sources":["../../../src/promiEvent/promiEventEmitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;EAeE;AAEF,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAqBtC,MAAM,OAAO,gBAAgB;IAA7B;QAGmB,aAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;IAmDjD,CAAC;IAjDQ,EAAE,CACP,SAAY,EACZ,EAA2B;QAE3B,kEAAkE;QAClE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;IAEM,IAAI,CACT,SAAY,EACZ,EAA2B;QAE3B,kEAAkE;QAClE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAEM,GAAG,CACR,SAAY,EACZ,EAA2B;QAE3B,kEAAkE;QAClE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;IAEM,IAAI,CAA4B,SAAY,EAAE,MAAY;QAC/D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAEM,aAAa,CAA4B,SAAY;QAC1D,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAEM,SAAS,CAA4B,SAAY;QACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IAC5C,CAAC;IACM,8BAA8B,CAAC,4BAAoC;QACxE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,4BAA4B,CAAC,CAAC;IAC9D,CAAC;IACM,eAAe;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;IACzC,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Web3EventCallback, Web3EventEmitter, Web3EventKey, Web3EventMap } from "./promiEventEmitter";
|
|
2
|
+
export type PromiseExecutor<T> = (resolve: (data: T) => void, reject: (reason: unknown) => void) => void;
|
|
3
|
+
export declare class Web3PromiEvent<ResolveType, EventMap extends Web3EventMap> extends Web3EventEmitter<EventMap> implements Promise<ResolveType> {
|
|
4
|
+
private readonly _promise;
|
|
5
|
+
constructor(executor: PromiseExecutor<ResolveType>);
|
|
6
|
+
[Symbol.toStringTag]: "Promise";
|
|
7
|
+
then<TResult1 = ResolveType, TResult2 = never>(onfulfilled?: ((value: ResolveType) => TResult1 | PromiseLike<TResult1>) | undefined, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | undefined): Promise<TResult1 | TResult2>;
|
|
8
|
+
catch<TResult = never>(onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | undefined): Promise<ResolveType | TResult>;
|
|
9
|
+
finally(onfinally?: (() => void) | undefined): Promise<ResolveType>;
|
|
10
|
+
on<K extends Web3EventKey<EventMap>>(eventName: K, fn: Web3EventCallback<EventMap[K]>): this;
|
|
11
|
+
once<K extends Web3EventKey<EventMap>>(eventName: K, fn: Web3EventCallback<EventMap[K]>): this;
|
|
12
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/*
|
|
2
|
+
This file is part of web3.js.
|
|
3
|
+
|
|
4
|
+
web3.js is free software: you can redistribute it and/or modify
|
|
5
|
+
it under the terms of the GNU Lesser General Public License as published by
|
|
6
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
(at your option) any later version.
|
|
8
|
+
|
|
9
|
+
web3.js is distributed in the hope that it will be useful,
|
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
GNU Lesser General Public License for more details.
|
|
13
|
+
|
|
14
|
+
You should have received a copy of the GNU Lesser General Public License
|
|
15
|
+
along with web3.js. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
+
*/
|
|
17
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
var _a;
|
|
27
|
+
import { Web3EventEmitter, } from "./promiEventEmitter";
|
|
28
|
+
export class Web3PromiEvent extends Web3EventEmitter {
|
|
29
|
+
constructor(executor) {
|
|
30
|
+
super();
|
|
31
|
+
// public tag to treat object as promise by different libs
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/prefer-as-const
|
|
33
|
+
this[_a] = "Promise";
|
|
34
|
+
this._promise = new Promise(executor);
|
|
35
|
+
}
|
|
36
|
+
then(onfulfilled, onrejected) {
|
|
37
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
+
return this._promise.then(onfulfilled, onrejected);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
catch(onrejected) {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
return this._promise.catch(onrejected);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
finally(onfinally) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
return this._promise.finally(onfinally);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
on(eventName, fn) {
|
|
52
|
+
super.on(eventName, fn);
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
once(eventName, fn) {
|
|
56
|
+
super.once(eventName, fn);
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
_a = Symbol.toStringTag;
|
|
61
|
+
//# sourceMappingURL=promiEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promiEvents.js","sourceRoot":"","sources":["../../../src/promiEvent/promiEvents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;EAeE;;;;;;;;;;;AAEF,OAAO,EAEL,gBAAgB,GAGjB,MAAM,qBAAqB,CAAC;AAO7B,MAAM,OAAO,cACX,SAAQ,gBAA0B;IAKlC,YAAmB,QAAsC;QACvD,KAAK,EAAE,CAAC;QAIV,0DAA0D;QAC1D,8DAA8D;QACvD,QAAoB,GAAc,SAAS,CAAC;QALjD,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAc,QAAQ,CAAC,CAAC;IACrD,CAAC;IAMY,IAAI,CACf,WAEa,EACb,UAEa;;YAEb,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACrD,CAAC;KAAA;IAEY,KAAK,CAChB,UAEa;;YAEb,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;KAAA;IAEY,OAAO,CAClB,SAAoC;;YAEpC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;KAAA;IAEM,EAAE,CACP,SAAY,EACZ,EAAkC;QAElC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAExB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,IAAI,CACT,SAAY,EACZ,EAAkC;QAElC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAE1B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;KA5CS,MAAM,CAAC,WAAW"}
|
|
@@ -7,7 +7,7 @@ export declare class TxRejectedError extends Error {
|
|
|
7
7
|
constructor(rejectReason: string);
|
|
8
8
|
}
|
|
9
9
|
export declare class UnexpectedStatusError extends Error {
|
|
10
|
-
constructor(status: number);
|
|
10
|
+
constructor(status: number, error?: any);
|
|
11
11
|
}
|
|
12
12
|
export declare class LostMessageError extends Error {
|
|
13
13
|
constructor();
|
|
@@ -12,8 +12,12 @@ export class TxRejectedError extends Error {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
export class UnexpectedStatusError extends Error {
|
|
15
|
-
constructor(status) {
|
|
16
|
-
|
|
15
|
+
constructor(status, error) {
|
|
16
|
+
let errorMessage = `Unexpected status code from server. Code: ${status}.`;
|
|
17
|
+
if (error) {
|
|
18
|
+
errorMessage += ` Message: ${error}.`;
|
|
19
|
+
}
|
|
20
|
+
super(errorMessage);
|
|
17
21
|
}
|
|
18
22
|
}
|
|
19
23
|
export class LostMessageError extends Error {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/restclient/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAOxC,YAAY,YAAoB;QAC9B,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;QAC/B,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAC/B,0CAA0C,CAC3C,CAAC;QACF,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SAC5B;IACH,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,MAAc;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/restclient/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAOxC,YAAY,YAAoB;QAC9B,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;QAC/B,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAC/B,0CAA0C,CAC3C,CAAC;QACF,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SAC5B;IACH,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,MAAc,EAAE,KAAW;QACrC,IAAI,YAAY,GAAG,6CAA6C,MAAM,GAAG,CAAC;QAC1E,IAAI,KAAK,EAAE;YACT,YAAY,IAAI,aAAa,KAAK,GAAG,CAAC;SACvC;QACD,KAAK,CAAC,YAAY,CAAC,CAAC;IACtB,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC;QACE,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD;QACE,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,KAAa;QACvB,KAAK,CAAC,wCAAwC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;CACF;AAED,MAAM,OAAO,oCAAqC,SAAQ,KAAK;IAC7D;QACE,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACvC,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD,YAAY,OAAe,EAAE,MAAc;QACzC,KAAK,CAAC,oCAAoC,OAAO,aAAa,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;CACF;AACD,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD;QACE,KAAK,CAAC,0DAA0D,CAAC,CAAC;IACpE,CAAC;CACF;AACD,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IACtD;QACE,KAAK,CACH,2EAA2E,CAC5E,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,3 +1,18 @@
|
|
|
1
1
|
import { FailOverConfig } from "./types";
|
|
2
2
|
import { RestClient } from "./interfaces";
|
|
3
|
+
import { RawGtv } from "../gtv/types";
|
|
3
4
|
export declare function createRestClient(endpointPool: readonly string[], blockchainRID: string, maxSockets?: number, pollingInterval?: number, failOverConfig?: FailOverConfig): RestClient;
|
|
5
|
+
/**
|
|
6
|
+
* @param error response error
|
|
7
|
+
* @param statusCode response status code
|
|
8
|
+
* @param responseObject the responsebody from the server
|
|
9
|
+
* @param callback the callback function to propagate the error and response back to the caller
|
|
10
|
+
*/
|
|
11
|
+
export declare function handleGetResponse(error: Error, statusCode: number, responseObject: RawGtv, callback: (error: Error, responseObject: RawGtv) => void): void;
|
|
12
|
+
/**
|
|
13
|
+
* @param error response error
|
|
14
|
+
* @param statusCode response status code
|
|
15
|
+
* @param responseObject the responsebody from the server
|
|
16
|
+
* @param callback the callback function to propagate the error and response back to the caller
|
|
17
|
+
*/
|
|
18
|
+
export declare function handlePostResponse(error: Error, statusCode: number, responseObject: RawGtv, callback: (error: Error, responseObject?: RawGtv) => void): void;
|
|
@@ -12,7 +12,7 @@ import { ResponseStatus, Method, } from "./types";
|
|
|
12
12
|
import * as logger from "../logger";
|
|
13
13
|
import { EmptyListOfUrlsException, LostMessageError, SerializedTransactionFormatException, TxRejectedError, UnexpectedResponseError, UnexpectedStatusError, UnvalidTxRidException, } from "./errors";
|
|
14
14
|
import { toBuffer, toQueryObjectGTV } from "../formatter";
|
|
15
|
-
import { requestWithRetry } from "./restclientutil";
|
|
15
|
+
import { convertToPrintable, requestWithRetry } from "./restclientutil";
|
|
16
16
|
import { encodeValue } from "../gtx/serialization";
|
|
17
17
|
export function createRestClient(endpointPool, blockchainRID, maxSockets = 10, pollingInterval = 500, failOverConfig) {
|
|
18
18
|
validateInput(endpointPool, failOverConfig);
|
|
@@ -150,11 +150,9 @@ function validateInput(endpointPool, failOverConfig) {
|
|
|
150
150
|
* @param responseObject the responsebody from the server
|
|
151
151
|
* @param callback the callback function to propagate the error and response back to the caller
|
|
152
152
|
*/
|
|
153
|
-
function handleGetResponse(error, statusCode, responseObject, callback) {
|
|
153
|
+
export function handleGetResponse(error, statusCode, responseObject, callback) {
|
|
154
154
|
try {
|
|
155
|
-
const responseObjectPrintable =
|
|
156
|
-
? JSON.stringify(responseObject)
|
|
157
|
-
: responseObject;
|
|
155
|
+
const responseObjectPrintable = convertToPrintable(responseObject);
|
|
158
156
|
logger.debug(`error: ${error}, status code: ${statusCode}, response body: ${responseObjectPrintable}`);
|
|
159
157
|
if (error) {
|
|
160
158
|
callback(error, null);
|
|
@@ -165,14 +163,14 @@ function handleGetResponse(error, statusCode, responseObject, callback) {
|
|
|
165
163
|
callback(null, null);
|
|
166
164
|
}
|
|
167
165
|
else if (statusCode !== 200) {
|
|
168
|
-
callback(new UnexpectedStatusError(statusCode), responseObject);
|
|
166
|
+
callback(new UnexpectedStatusError(statusCode, responseObjectPrintable), responseObject);
|
|
169
167
|
}
|
|
170
168
|
else {
|
|
171
169
|
callback(null, responseObject);
|
|
172
170
|
}
|
|
173
171
|
}
|
|
174
172
|
catch (error) {
|
|
175
|
-
logger.error("restclient.handleGetResponse(): Failed to call callback function " +
|
|
173
|
+
logger.error("restclient.handleGetResponse(): Failed to call the callback function. " +
|
|
176
174
|
error);
|
|
177
175
|
}
|
|
178
176
|
}
|
|
@@ -182,10 +180,8 @@ function handleGetResponse(error, statusCode, responseObject, callback) {
|
|
|
182
180
|
* @param responseObject the responsebody from the server
|
|
183
181
|
* @param callback the callback function to propagate the error and response back to the caller
|
|
184
182
|
*/
|
|
185
|
-
function handlePostResponse(error, statusCode, responseObject, callback) {
|
|
186
|
-
const responseObjectPrintable =
|
|
187
|
-
? JSON.stringify(responseObject)
|
|
188
|
-
: responseObject;
|
|
183
|
+
export function handlePostResponse(error, statusCode, responseObject, callback) {
|
|
184
|
+
const responseObjectPrintable = convertToPrintable(responseObject);
|
|
189
185
|
logger.debug(`error: ${error}, status code: ${statusCode}, response body: ${responseObjectPrintable}`);
|
|
190
186
|
try {
|
|
191
187
|
if (error) {
|
|
@@ -193,8 +189,12 @@ function handlePostResponse(error, statusCode, responseObject, callback) {
|
|
|
193
189
|
callback(error);
|
|
194
190
|
}
|
|
195
191
|
else if (statusCode != 200) {
|
|
196
|
-
|
|
197
|
-
|
|
192
|
+
let errorMessage = `Unexpected status code from server. Code: ${statusCode}.`;
|
|
193
|
+
if (responseObjectPrintable) {
|
|
194
|
+
errorMessage += ` Message: ${responseObjectPrintable}.`;
|
|
195
|
+
}
|
|
196
|
+
logger.error(errorMessage);
|
|
197
|
+
callback(new UnexpectedStatusError(statusCode, responseObjectPrintable), responseObject);
|
|
198
198
|
}
|
|
199
199
|
else {
|
|
200
200
|
logger.info(`Calling responseCallback with responseObject: ${responseObjectPrintable}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restclient.js","sourceRoot":"","sources":["../../../src/restclient/restclient.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;AACb,OAAO,EAEL,cAAc,EAId,MAAM,GAEP,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,MAAM,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,oCAAoC,EACpC,eAAe,EACf,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"restclient.js","sourceRoot":"","sources":["../../../src/restclient/restclient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { RestClientConfig, PostRequestObjects, Method, ResponseObject } from "./types";
|
|
3
|
+
import { ClientConfig } from "../blockchainClient/types";
|
|
3
4
|
export declare function getBrid(urlBase: string, chainId: number): Promise<string>;
|
|
4
|
-
export declare function requestWithRetry(method: Method, path: string, config: RestClientConfig, postObject?: PostRequestObjects | Buffer): Promise<ResponseObject>;
|
|
5
|
+
export declare function requestWithRetry(method: Method, path: string, config: RestClientConfig | ClientConfig, postObject?: PostRequestObjects | Buffer): Promise<ResponseObject>;
|
|
5
6
|
export declare function nextEndpoint(endpointPool: readonly string[]): string;
|
|
6
7
|
export declare const sleep: (ms: number) => Promise<unknown>;
|
|
8
|
+
export declare function convertToPrintable(responseObject: any): any;
|