postchain-client 2.1.2 → 2.1.3
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/built/cjs/index.js +3433 -2559
- package/built/cjs/index.js.map +1 -1
- package/built/esm/index.js +4616 -3293
- package/built/esm/index.js.map +1 -1
- package/built/index.js +108 -30
- package/built/index.js.map +1 -1
- package/built/mocks/handlers.js +70 -67
- package/built/mocks/handlers.js.map +1 -1
- package/built/mocks/servers.d.ts +1 -1
- package/built/mocks/servers.js +6 -3
- package/built/mocks/servers.js.map +1 -1
- package/built/resources/testData.js +14 -11
- package/built/resources/testData.js.map +1 -1
- package/built/src/ICCF/IccfProofTxMaterialBuilder.js +35 -29
- package/built/src/ICCF/IccfProofTxMaterialBuilder.js.map +1 -1
- package/built/src/ICCF/error.js +21 -11
- package/built/src/ICCF/error.js.map +1 -1
- package/built/src/ICCF/interfaces.js +2 -1
- package/built/src/ICCF/types.js +2 -1
- package/built/src/ICCF/utils.js +50 -40
- package/built/src/ICCF/utils.js.map +1 -1
- package/built/src/blockchainClient/blockchainClient.js +180 -141
- package/built/src/blockchainClient/blockchainClient.js.map +1 -1
- package/built/src/blockchainClient/clientStub.js +19 -16
- package/built/src/blockchainClient/clientStub.js.map +1 -1
- package/built/src/blockchainClient/enums.js +15 -12
- package/built/src/blockchainClient/enums.js.map +1 -1
- package/built/src/blockchainClient/errors.js +30 -15
- package/built/src/blockchainClient/errors.js.map +1 -1
- package/built/src/blockchainClient/failoverStrategies.js +75 -30
- package/built/src/blockchainClient/failoverStrategies.js.map +1 -1
- package/built/src/blockchainClient/httpUtil.js +45 -9
- package/built/src/blockchainClient/httpUtil.js.map +1 -1
- package/built/src/blockchainClient/interface.js +2 -1
- package/built/src/blockchainClient/nodeManager.js +41 -3
- package/built/src/blockchainClient/nodeManager.js.map +1 -1
- package/built/src/blockchainClient/requestWithFailoverStrategy.js +15 -12
- package/built/src/blockchainClient/requestWithFailoverStrategy.js.map +1 -1
- package/built/src/blockchainClient/types.js +2 -1
- package/built/src/blockchainClient/utils.js +205 -137
- package/built/src/blockchainClient/utils.js.map +1 -1
- package/built/src/blockchainClient/validation/anchoringTransaction.js +11 -8
- package/built/src/blockchainClient/validation/anchoringTransaction.js.map +1 -1
- package/built/src/blockchainClient/validation/blockIdentifier.js +10 -6
- package/built/src/blockchainClient/validation/blockIdentifier.js.map +1 -1
- package/built/src/blockchainClient/validation/bufferSchema.js +6 -3
- package/built/src/blockchainClient/validation/bufferSchema.js.map +1 -1
- package/built/src/blockchainClient/validation/merkleHash.js +10 -6
- package/built/src/blockchainClient/validation/merkleHash.js.map +1 -1
- package/built/src/blockchainClient/validation/networkSettings.js +35 -30
- package/built/src/blockchainClient/validation/networkSettings.js.map +1 -1
- package/built/src/blockchainClient/validation/rawGtx.js +18 -15
- package/built/src/blockchainClient/validation/rawGtx.js.map +1 -1
- package/built/src/blockchainClient/validation/requests.js +108 -87
- package/built/src/blockchainClient/validation/requests.js.map +1 -1
- package/built/src/blockchainClient/validation/signMethod.d.ts +8 -8
- package/built/src/blockchainClient/validation/signMethod.js +15 -11
- package/built/src/blockchainClient/validation/signMethod.js.map +1 -1
- package/built/src/blockchainClient/validation/transactionStatusReponse.js +11 -8
- package/built/src/blockchainClient/validation/transactionStatusReponse.js.map +1 -1
- package/built/src/blockchainClient/validation/txRid.d.ts +1 -1
- package/built/src/blockchainClient/validation/txRid.js +10 -6
- package/built/src/blockchainClient/validation/txRid.js.map +1 -1
- package/built/src/blockchainClient/validation/validation.types.js +2 -1
- package/built/src/customError/index.js +5 -1
- package/built/src/customError/index.js.map +1 -1
- package/built/src/encryption/encryption.js +74 -27
- package/built/src/encryption/encryption.js.map +1 -1
- package/built/src/encryption/errors.js +7 -2
- package/built/src/encryption/errors.js.map +1 -1
- package/built/src/encryption/types.js +2 -1
- package/built/src/formatter.js +38 -22
- package/built/src/formatter.js.map +1 -1
- package/built/src/gtv/definition.js +9 -6
- package/built/src/gtv/definition.js.map +1 -1
- package/built/src/gtv/index.js +44 -6
- package/built/src/gtv/index.js.map +1 -1
- package/built/src/gtv/types.js +2 -1
- package/built/src/gtx/errors.js +14 -6
- package/built/src/gtx/errors.js.map +1 -1
- package/built/src/gtx/gtx.js +92 -41
- package/built/src/gtx/gtx.js.map +1 -1
- package/built/src/gtx/index.js +39 -2
- package/built/src/gtx/index.js.map +1 -1
- package/built/src/gtx/serialization.js +26 -18
- package/built/src/gtx/serialization.js.map +1 -1
- package/built/src/gtx/types.js +2 -1
- package/built/src/logger.js +19 -9
- package/built/src/logger.js.map +1 -1
- package/built/src/promiEvent/promiEventEmitter.js +7 -3
- package/built/src/promiEvent/promiEventEmitter.js.map +1 -1
- package/built/src/promiEvent/promiEvents.js +6 -2
- package/built/src/promiEvent/promiEvents.js.map +1 -1
- package/built/src/utils/bufferUtils.js +6 -3
- package/built/src/utils/bufferUtils.js.map +1 -1
- package/built/src/utils/calculateTransactionRid.js +8 -5
- package/built/src/utils/calculateTransactionRid.js.map +1 -1
- package/built/src/utils/constants.js +4 -1
- package/built/src/utils/constants.js.map +1 -1
- package/built/src/utils/decodeTransactionToGtx.js +41 -5
- package/built/src/utils/decodeTransactionToGtx.js.map +1 -1
- package/built/src/utils/dump.js +13 -9
- package/built/src/utils/dump.js.map +1 -1
- package/built/src/utils/encodeTransaction.js +6 -3
- package/built/src/utils/encodeTransaction.js.map +1 -1
- package/built/src/utils/http-utils.js +17 -7
- package/built/src/utils/http-utils.js.map +1 -1
- package/built/test/common/mocks.js +147 -111
- package/built/test/common/mocks.js.map +1 -1
- package/built/test/common/serializationtestobjects.js +13 -7
- package/built/test/common/serializationtestobjects.js.map +1 -1
- package/built/test/common/setups.d.ts +1 -1
- package/built/test/common/setups.js +95 -46
- package/built/test/common/setups.js.map +1 -1
- package/built/test/common/signatures.js +47 -7
- package/built/test/common/signatures.js.map +1 -1
- package/built/test/common/testData.js +4 -1
- package/built/test/common/testData.js.map +1 -1
- package/built/test/common/validationMocks.js +52 -49
- package/built/test/common/validationMocks.js.map +1 -1
- package/built/test/integration/clientGetBlockInfo.test.js +4 -2
- package/built/test/integration/clientGetBlockInfo.test.js.map +1 -1
- package/built/test/integration/clientGetRejectedTransactions.test.js +9 -7
- package/built/test/integration/clientGetRejectedTransactions.test.js.map +1 -1
- package/built/test/integration/clientGetTransaction.test.js +8 -6
- package/built/test/integration/clientGetTransaction.test.js.map +1 -1
- package/built/test/integration/clientGetTransactionStatus.test.js +51 -16
- package/built/test/integration/clientGetTransactionStatus.test.js.map +1 -1
- package/built/test/integration/clientGetWaitingTransaction.test.js +13 -11
- package/built/test/integration/clientGetWaitingTransaction.test.js.map +1 -1
- package/built/test/integration/clientGetWaitingTransactions.test.js +9 -7
- package/built/test/integration/clientGetWaitingTransactions.test.js.map +1 -1
- package/built/test/integration/clientIntegration.test.js +12 -10
- package/built/test/integration/clientIntegration.test.js.map +1 -1
- package/built/test/integration/clientQuery.test.js +61 -26
- package/built/test/integration/clientQuery.test.js.map +1 -1
- package/built/test/integration/clientSendTransaction.test.js +23 -21
- package/built/test/integration/clientSendTransaction.test.js.map +1 -1
- package/built/test/integration/clientSignAndSendUniqueTransaction.test.js +23 -21
- package/built/test/integration/clientSignAndSendUniqueTransaction.test.js.map +1 -1
- package/built/test/integration/clientSignTransaction.test.js +24 -22
- package/built/test/integration/clientSignTransaction.test.js.map +1 -1
- package/built/test/integration/clientUtils.test.js +12 -10
- package/built/test/integration/clientUtils.test.js.map +1 -1
- package/built/test/integration/createClientIntegration.test.js +28 -26
- package/built/test/integration/createClientIntegration.test.js.map +1 -1
- package/built/test/integration/encodeTransaction.test.js +10 -8
- package/built/test/integration/encodeTransaction.test.js.map +1 -1
- package/built/test/integration/failoverStrategiesWithSmartTimeouts.test.js +45 -10
- package/built/test/integration/failoverStrategiesWithSmartTimeouts.test.js.map +1 -1
- package/built/test/integration/getTransactionsInfo.test.js +15 -13
- package/built/test/integration/getTransactionsInfo.test.js.map +1 -1
- package/built/test/integration/signAndSendUniqueTransaction.test.js +16 -14
- package/built/test/integration/signAndSendUniqueTransaction.test.js.map +1 -1
- package/built/test/integrationChromiaNetwork/createIccfProofTx.test.js +24 -22
- package/built/test/integrationChromiaNetwork/createIccfProofTx.test.js.map +1 -1
- package/built/test/integrationChromiaNetwork/getAnchoringStatusForBlockRid.test.js +15 -13
- package/built/test/integrationChromiaNetwork/getAnchoringStatusForBlockRid.test.js.map +1 -1
- package/built/test/integrationChromiaNetwork/getTransactionConfirmationLevel.test.js +10 -8
- package/built/test/integrationChromiaNetwork/getTransactionConfirmationLevel.test.js.map +1 -1
- package/built/test/integrationChromiaNetwork/getTransactionStatus.test.js +16 -14
- package/built/test/integrationChromiaNetwork/getTransactionStatus.test.js.map +1 -1
- package/built/test/integrationChromiaNetwork/isBlockAnchored.test.js +16 -14
- package/built/test/integrationChromiaNetwork/isBlockAnchored.test.js.map +1 -1
- package/built/test/integrationChromiaNetwork/merkleHashIntegration.test.js +21 -19
- package/built/test/integrationChromiaNetwork/merkleHashIntegration.test.js.map +1 -1
- package/built/test/integrationChromiaNetwork/nodeDiscovery.test.js +15 -10
- package/built/test/integrationChromiaNetwork/nodeDiscovery.test.js.map +1 -1
- package/built/test/integrationChromiaNetwork/requestWithFailoverStrategy.test.js +74 -36
- package/built/test/integrationChromiaNetwork/requestWithFailoverStrategy.test.js.map +1 -1
- package/built/test/integrationChromiaNetwork/signAndSendUniqueTransaction.test.js +17 -15
- package/built/test/integrationChromiaNetwork/signAndSendUniqueTransaction.test.js.map +1 -1
- package/built/test/manual/iccfManually.test.js +59 -24
- package/built/test/manual/iccfManually.test.js.map +1 -1
- package/built/test/pcctf/getSuites.test.js +27 -25
- package/built/test/pcctf/getSuites.test.js.map +1 -1
- package/built/test/pcctf/helpers.js +38 -23
- package/built/test/pcctf/helpers.js.map +1 -1
- package/built/test/unit/ICCF/iccf.test.js +77 -75
- package/built/test/unit/ICCF/iccf.test.js.map +1 -1
- package/built/test/unit/ICCF/iccfProofMaterialBuilder.test.js +93 -58
- package/built/test/unit/ICCF/iccfProofMaterialBuilder.test.js.map +1 -1
- package/built/test/unit/blockchainClient/client.getRejectedTransactions.test.js +12 -10
- package/built/test/unit/blockchainClient/client.getRejectedTransactions.test.js.map +1 -1
- package/built/test/unit/blockchainClient/client.getWaitingTransaction.test.js +14 -12
- package/built/test/unit/blockchainClient/client.getWaitingTransaction.test.js.map +1 -1
- package/built/test/unit/blockchainClient/client.getWaitingTransactions.test.js +10 -8
- package/built/test/unit/blockchainClient/client.getWaitingTransactions.test.js.map +1 -1
- package/built/test/unit/blockchainClient/client.test.js +89 -54
- package/built/test/unit/blockchainClient/client.test.js.map +1 -1
- package/built/test/unit/blockchainClient/clientCustomStatusCodes.test.js +26 -24
- package/built/test/unit/blockchainClient/clientCustomStatusCodes.test.js.map +1 -1
- package/built/test/unit/blockchainClient/getAnchoringStatusForBlockRid.test.js +52 -17
- package/built/test/unit/blockchainClient/getAnchoringStatusForBlockRid.test.js.map +1 -1
- package/built/test/unit/blockchainClient/getSystemAnchoringTransactionConfirmation.test.js +46 -11
- package/built/test/unit/blockchainClient/getSystemAnchoringTransactionConfirmation.test.js.map +1 -1
- package/built/test/unit/blockchainClient/getTransactionConfirmationLevel.test.js +64 -29
- package/built/test/unit/blockchainClient/getTransactionConfirmationLevel.test.js.map +1 -1
- package/built/test/unit/blockchainClient/sendTransaction.test.js +191 -156
- package/built/test/unit/blockchainClient/sendTransaction.test.js.map +1 -1
- package/built/test/unit/blockchainClient/setMerkleVersion.test.js +15 -13
- package/built/test/unit/blockchainClient/setMerkleVersion.test.js.map +1 -1
- package/built/test/unit/blockchainClient/signAndSendUniqueTransactionPromiEvents.test.js +21 -19
- package/built/test/unit/blockchainClient/signAndSendUniqueTransactionPromiEvents.test.js.map +1 -1
- package/built/test/unit/blockchainClient/statusPollIntervals.test.js +45 -10
- package/built/test/unit/blockchainClient/statusPollIntervals.test.js.map +1 -1
- package/built/test/unit/blockchainClient/util.test.js +66 -31
- package/built/test/unit/blockchainClient/util.test.js.map +1 -1
- package/built/test/unit/decodeTransactionToGtx.test.js +6 -4
- package/built/test/unit/decodeTransactionToGtx.test.js.map +1 -1
- package/built/test/unit/dump.test.js +6 -4
- package/built/test/unit/dump.test.js.map +1 -1
- package/built/test/unit/encryption/encryption.test.js +26 -24
- package/built/test/unit/encryption/encryption.test.js.map +1 -1
- package/built/test/unit/failoverStrategies.test.js +114 -79
- package/built/test/unit/failoverStrategies.test.js.map +1 -1
- package/built/test/unit/failoverStrategies.timeout.test.js +90 -55
- package/built/test/unit/failoverStrategies.timeout.test.js.map +1 -1
- package/built/test/unit/formatter.test.js +23 -21
- package/built/test/unit/formatter.test.js.map +1 -1
- package/built/test/unit/gtv/gtvHash.test.js +13 -11
- package/built/test/unit/gtv/gtvHash.test.js.map +1 -1
- package/built/test/unit/gtx/checkGTXSignature.test.js +18 -16
- package/built/test/unit/gtx/checkGTXSignature.test.js.map +1 -1
- package/built/test/unit/gtx/newSignatureProvider.test.js +14 -12
- package/built/test/unit/gtx/newSignatureProvider.test.js.map +1 -1
- package/built/test/unit/gtx/serialization.test.js +47 -42
- package/built/test/unit/gtx/serialization.test.js.map +1 -1
- package/built/test/unit/httpUtil.test.js +13 -11
- package/built/test/unit/httpUtil.test.js.map +1 -1
- package/built/test/unit/httpUtil.timeout.test.js +12 -10
- package/built/test/unit/httpUtil.timeout.test.js.map +1 -1
- package/built/test/unit/logger.test.js +42 -40
- package/built/test/unit/logger.test.js.map +1 -1
- package/built/test/unit/networkErrorDetection.test.js +39 -37
- package/built/test/unit/networkErrorDetection.test.js.map +1 -1
- package/built/test/unit/nodeMananger.test.js +19 -17
- package/built/test/unit/nodeMananger.test.js.map +1 -1
- package/built/test/unit/setOrdering.test.js +7 -5
- package/built/test/unit/setOrdering.test.js.map +1 -1
- package/built/test/unit/smartTimeouts.test.js +20 -18
- package/built/test/unit/smartTimeouts.test.js.map +1 -1
- package/built/test/unit/stickyNode.test.js +19 -17
- package/built/test/unit/stickyNode.test.js.map +1 -1
- package/built/test/unit/universalNodeRecovery.test.js +54 -19
- package/built/test/unit/universalNodeRecovery.test.js.map +1 -1
- package/built/test/unit/validation/anchoringTransaction.test.js +12 -10
- package/built/test/unit/validation/anchoringTransaction.test.js.map +1 -1
- package/built/test/unit/validation/blockIdentifier.test.js +10 -8
- package/built/test/unit/validation/blockIdentifier.test.js.map +1 -1
- package/built/test/unit/validation/bufferSchema.test.js +8 -6
- package/built/test/unit/validation/bufferSchema.test.js.map +1 -1
- package/built/test/unit/validation/networkSettings.test.js +14 -12
- package/built/test/unit/validation/networkSettings.test.js.map +1 -1
- package/built/test/unit/validation/rawGtx.test.js +24 -22
- package/built/test/unit/validation/rawGtx.test.js.map +1 -1
- package/built/test/unit/validation/requests.test.js +56 -54
- package/built/test/unit/validation/requests.test.js.map +1 -1
- package/built/test/unit/validation/signMethod.test.js +11 -9
- package/built/test/unit/validation/signMethod.test.js.map +1 -1
- package/built/test/unit/validation/statusObject.test.js +21 -19
- package/built/test/unit/validation/statusObject.test.js.map +1 -1
- package/built/test/unit/validation/txRid.test.js +10 -8
- package/built/test/unit/validation/txRid.test.js.map +1 -1
- package/built/umd/index.js +4625 -3372
- package/built/umd/index.js.map +1 -1
- package/changelog.md +5 -4
- package/package.json +2 -2
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -7,12 +8,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
9
|
});
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.createIccfProofTx = createIccfProofTx;
|
|
13
|
+
exports.getBlockAnchoringTransaction = getBlockAnchoringTransaction;
|
|
14
|
+
exports.isBlockAnchored = isBlockAnchored;
|
|
15
|
+
exports.getAnchoringClient = getAnchoringClient;
|
|
16
|
+
const blockchainClient_1 = require("../blockchainClient/blockchainClient");
|
|
17
|
+
const utils_1 = require("./utils");
|
|
18
|
+
const formatter_1 = require("../formatter");
|
|
19
|
+
const error_1 = require("./error");
|
|
20
|
+
const utils_2 = require("../blockchainClient/utils");
|
|
21
|
+
const enums_1 = require("../blockchainClient/enums");
|
|
16
22
|
/**
|
|
17
23
|
* Creates an ICCF (Inter-Chain Communication Framework) proof transaction.
|
|
18
24
|
* This function generates a proof that a specific transaction has occurred on the source blockchain
|
|
@@ -30,50 +36,50 @@ import { FailoverStrategy } from "../blockchainClient/enums";
|
|
|
30
36
|
* @param {string} nodeIdentifierURL - The URL of the node to use.
|
|
31
37
|
* @returns {Promise<IccfProof>} A promise that resolves to an ICCF proof object containing the ICCF proof transaction.
|
|
32
38
|
*/
|
|
33
|
-
|
|
39
|
+
function createIccfProofTx(directoryClient_1, txToProveRid_1, txToProveHash_1, txToProveSigners_1, sourceBlockchainRid_1, targetBlockchainRid_1) {
|
|
34
40
|
return __awaiter(this, arguments, void 0, function* (directoryClient, txToProveRid, txToProveHash, txToProveSigners, sourceBlockchainRid, targetBlockchainRid, iccfTxSigners = [], forceIntraNetworkIccfOperation = false, merkleHashVersion, nodeIdentifierURL) {
|
|
35
41
|
let clientConfiguredToSource;
|
|
36
42
|
if (!nodeIdentifierURL) {
|
|
37
|
-
clientConfiguredToSource = yield createClient({
|
|
38
|
-
directoryNodeUrlPool: getUrlsFromEndpoints(directoryClient.config.endpointPool),
|
|
39
|
-
blockchainRid: ensureString(sourceBlockchainRid),
|
|
43
|
+
clientConfiguredToSource = yield (0, blockchainClient_1.createClient)({
|
|
44
|
+
directoryNodeUrlPool: (0, utils_2.getUrlsFromEndpoints)(directoryClient.config.endpointPool),
|
|
45
|
+
blockchainRid: (0, formatter_1.ensureString)(sourceBlockchainRid),
|
|
40
46
|
merkleHashVersion: merkleHashVersion,
|
|
41
47
|
useStickyNode: true,
|
|
42
48
|
});
|
|
43
49
|
}
|
|
44
50
|
else {
|
|
45
|
-
clientConfiguredToSource = yield createClient({
|
|
51
|
+
clientConfiguredToSource = yield (0, blockchainClient_1.createClient)({
|
|
46
52
|
nodeUrlPool: nodeIdentifierURL,
|
|
47
|
-
blockchainRid: ensureString(sourceBlockchainRid),
|
|
53
|
+
blockchainRid: (0, formatter_1.ensureString)(sourceBlockchainRid),
|
|
48
54
|
merkleHashVersion: merkleHashVersion,
|
|
49
55
|
useStickyNode: true,
|
|
50
56
|
});
|
|
51
57
|
}
|
|
52
58
|
const txProof = yield clientConfiguredToSource.getConfirmationProof(txToProveRid);
|
|
53
59
|
if (!txProof || !txProof.hash) {
|
|
54
|
-
throw new ConfirmationProofException(txToProveRid);
|
|
60
|
+
throw new error_1.ConfirmationProofException(txToProveRid);
|
|
55
61
|
}
|
|
56
62
|
const proofHash = txProof.hash;
|
|
57
63
|
const { verifiedTx, verifiedTxHash } = !txToProveHash.equals(proofHash)
|
|
58
|
-
? yield fetchAndVerifyTransaction(clientConfiguredToSource, txToProveRid, proofHash, txToProveSigners)
|
|
64
|
+
? yield (0, utils_1.fetchAndVerifyTransaction)(clientConfiguredToSource, txToProveRid, proofHash, txToProveSigners)
|
|
59
65
|
: { verifiedTx: null, verifiedTxHash: txToProveHash };
|
|
60
|
-
const sourceCluster = yield getClusterOfBlockchain(directoryClient, ensureBuffer(sourceBlockchainRid));
|
|
61
|
-
const targetCluster = yield getClusterOfBlockchain(directoryClient, ensureBuffer(targetBlockchainRid));
|
|
66
|
+
const sourceCluster = yield (0, utils_1.getClusterOfBlockchain)(directoryClient, (0, formatter_1.ensureBuffer)(sourceBlockchainRid));
|
|
67
|
+
const targetCluster = yield (0, utils_1.getClusterOfBlockchain)(directoryClient, (0, formatter_1.ensureBuffer)(targetBlockchainRid));
|
|
62
68
|
if (!forceIntraNetworkIccfOperation && sourceCluster === targetCluster) {
|
|
63
69
|
// intra-cluster
|
|
64
|
-
const intraClusterProofTx = composeProofTransactionObject(sourceBlockchainRid, verifiedTxHash, txProof, iccfTxSigners, undefined, undefined, false);
|
|
70
|
+
const intraClusterProofTx = (0, utils_1.composeProofTransactionObject)(sourceBlockchainRid, verifiedTxHash, txProof, iccfTxSigners, undefined, undefined, false);
|
|
65
71
|
return { iccfTx: intraClusterProofTx };
|
|
66
72
|
}
|
|
67
73
|
else {
|
|
68
74
|
// intra-network
|
|
69
|
-
const systemClientUsingStickyNode = Object.assign(Object.assign({}, directoryClient), { config: Object.assign(Object.assign({}, directoryClient.config), { failoverStrategy: FailoverStrategy.SingleEndpoint }) });
|
|
75
|
+
const systemClientUsingStickyNode = Object.assign(Object.assign({}, directoryClient), { config: Object.assign(Object.assign({}, directoryClient.config), { failoverStrategy: enums_1.FailoverStrategy.SingleEndpoint }) });
|
|
70
76
|
const anchoringClient = yield getAnchoringClient(systemClientUsingStickyNode, sourceBlockchainRid, sourceCluster);
|
|
71
77
|
const clusterAnchoredTx = yield getBlockAnchoringTransaction(clientConfiguredToSource, anchoringClient, undefined, txProof);
|
|
72
78
|
if (!clusterAnchoredTx) {
|
|
73
|
-
throw new BlockAnchoringException();
|
|
79
|
+
throw new error_1.BlockAnchoringException();
|
|
74
80
|
}
|
|
75
81
|
const anchoringProof = yield anchoringClient.getConfirmationProof(clusterAnchoredTx.txRid);
|
|
76
|
-
const intraNetworkProofTx = composeProofTransactionObject(sourceBlockchainRid, verifiedTxHash, txProof, iccfTxSigners, clusterAnchoredTx, anchoringProof);
|
|
82
|
+
const intraNetworkProofTx = (0, utils_1.composeProofTransactionObject)(sourceBlockchainRid, verifiedTxHash, txProof, iccfTxSigners, clusterAnchoredTx, anchoringProof);
|
|
77
83
|
return { iccfTx: intraNetworkProofTx, verifiedTx };
|
|
78
84
|
}
|
|
79
85
|
});
|
|
@@ -89,7 +95,7 @@ export function createIccfProofTx(directoryClient_1, txToProveRid_1, txToProveHa
|
|
|
89
95
|
* @param txProof - (Optional) The transaction proof for the specified `txRid`.
|
|
90
96
|
* @returns A Promise that resolves to the anchored transaction response object.
|
|
91
97
|
*/
|
|
92
|
-
|
|
98
|
+
function getBlockAnchoringTransaction(sourceClient, anchoringClient, txRid, txProof) {
|
|
93
99
|
return __awaiter(this, void 0, void 0, function* () {
|
|
94
100
|
if (!txRid && !txProof) {
|
|
95
101
|
throw Error("Missing a txRid or TxProof");
|
|
@@ -99,9 +105,9 @@ export function getBlockAnchoringTransaction(sourceClient, anchoringClient, txRi
|
|
|
99
105
|
throw Error("Confirmation proof not found");
|
|
100
106
|
}
|
|
101
107
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
102
|
-
const blockRid = calculateBlockRID(confirmationProof, sourceClient.config.merkleHashVersion);
|
|
108
|
+
const blockRid = (0, utils_1.calculateBlockRID)(confirmationProof, sourceClient.config.merkleHashVersion);
|
|
103
109
|
const blockchainRid = sourceClient.config.blockchainRid;
|
|
104
|
-
const anchoringTxResponse = yield awaitGetAnchoringTransactionForBlockRid(anchoringClient, toBuffer(blockchainRid), blockRid, sourceClient.config.clusterAnchoringStatusPolling);
|
|
110
|
+
const anchoringTxResponse = yield (0, utils_1.awaitGetAnchoringTransactionForBlockRid)(anchoringClient, (0, formatter_1.toBuffer)(blockchainRid), blockRid, sourceClient.config.clusterAnchoringStatusPolling);
|
|
105
111
|
return anchoringTxResponse;
|
|
106
112
|
});
|
|
107
113
|
}
|
|
@@ -114,7 +120,7 @@ export function getBlockAnchoringTransaction(sourceClient, anchoringClient, txRi
|
|
|
114
120
|
* @param txProof - (Optional) The transaction proof for the specified `txRid`.
|
|
115
121
|
* @returns A Promise that resolves to `true` if the transaction is anchored, `false` otherwise.
|
|
116
122
|
*/
|
|
117
|
-
|
|
123
|
+
function isBlockAnchored(sourceClient, anchoringClient, txRid, txProof) {
|
|
118
124
|
return __awaiter(this, void 0, void 0, function* () {
|
|
119
125
|
return !!(yield getBlockAnchoringTransaction(sourceClient, anchoringClient, txRid, txProof));
|
|
120
126
|
});
|
|
@@ -127,21 +133,21 @@ export function isBlockAnchored(sourceClient, anchoringClient, txRid, txProof) {
|
|
|
127
133
|
* @param cluster - (Optional) The cluster of interest.
|
|
128
134
|
* @returns A Promise that resolves to the client configured to a cluster anchoring chain.
|
|
129
135
|
*/
|
|
130
|
-
|
|
136
|
+
function getAnchoringClient(client, dappBlockchainRid, cluster) {
|
|
131
137
|
return __awaiter(this, void 0, void 0, function* () {
|
|
132
138
|
if (!dappBlockchainRid && !cluster) {
|
|
133
139
|
throw Error("Missing a dapp blockchainRid or cluster name");
|
|
134
140
|
}
|
|
135
|
-
const sourceCluster = cluster !== null && cluster !== void 0 ? cluster : (dappBlockchainRid && (yield getClusterOfBlockchain(client, ensureBuffer(dappBlockchainRid))));
|
|
141
|
+
const sourceCluster = cluster !== null && cluster !== void 0 ? cluster : (dappBlockchainRid && (yield (0, utils_1.getClusterOfBlockchain)(client, (0, formatter_1.ensureBuffer)(dappBlockchainRid))));
|
|
136
142
|
if (!sourceCluster) {
|
|
137
143
|
throw Error("No cluster could be found");
|
|
138
144
|
}
|
|
139
|
-
const sourceClusterInfo = yield getClusterInfo(client, sourceCluster);
|
|
145
|
+
const sourceClusterInfo = yield (0, utils_1.getClusterInfo)(client, sourceCluster);
|
|
140
146
|
if (!sourceClusterInfo || !sourceClusterInfo.anchoring_chain) {
|
|
141
147
|
throw Error("Cluster info could not be found");
|
|
142
148
|
}
|
|
143
|
-
const networkSettings = Object.assign(Object.assign({}, client.config), { directoryNodeUrlPool: getUrlsFromEndpoints(client.config.endpointPool), blockchainRid: toString(sourceClusterInfo.anchoring_chain) });
|
|
144
|
-
const clientConfiguredToAnchoringchain = yield createClient(networkSettings);
|
|
149
|
+
const networkSettings = Object.assign(Object.assign({}, client.config), { directoryNodeUrlPool: (0, utils_2.getUrlsFromEndpoints)(client.config.endpointPool), blockchainRid: (0, formatter_1.toString)(sourceClusterInfo.anchoring_chain) });
|
|
150
|
+
const clientConfiguredToAnchoringchain = yield (0, blockchainClient_1.createClient)(networkSettings);
|
|
145
151
|
return clientConfiguredToAnchoringchain;
|
|
146
152
|
});
|
|
147
153
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IccfProofTxMaterialBuilder.js","sourceRoot":"","sources":["../../../src/ICCF/IccfProofTxMaterialBuilder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IccfProofTxMaterialBuilder.js","sourceRoot":"","sources":["../../../src/ICCF/IccfProofTxMaterialBuilder.ts"],"names":[],"mappings":"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"}
|
package/built/src/ICCF/error.js
CHANGED
|
@@ -1,37 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BlockAnchoringException = exports.ConfirmationProofException = exports.SystemChainException = exports.ProofRidException = exports.SignatureException = exports.DifferentNumberOfSignersException = exports.MissingTransactionProof = void 0;
|
|
4
|
+
const formatter_1 = require("../formatter");
|
|
5
|
+
class MissingTransactionProof extends Error {
|
|
3
6
|
constructor(proofHash, fetchedTxHash) {
|
|
4
|
-
super(`Unable to verify source transaction proof,transaction hash in proof ${toString(proofHash)} does not match hash from fetched transaction ${toString(fetchedTxHash)}`);
|
|
7
|
+
super(`Unable to verify source transaction proof,transaction hash in proof ${(0, formatter_1.toString)(proofHash)} does not match hash from fetched transaction ${(0, formatter_1.toString)(fetchedTxHash)}`);
|
|
5
8
|
}
|
|
6
9
|
}
|
|
7
|
-
|
|
10
|
+
exports.MissingTransactionProof = MissingTransactionProof;
|
|
11
|
+
class DifferentNumberOfSignersException extends Error {
|
|
8
12
|
constructor(length, comparableLength) {
|
|
9
13
|
super(`Transaction signatures amount ${length} do not match expected amount of signers ${comparableLength}`);
|
|
10
14
|
}
|
|
11
15
|
}
|
|
12
|
-
|
|
16
|
+
exports.DifferentNumberOfSignersException = DifferentNumberOfSignersException;
|
|
17
|
+
class SignatureException extends Error {
|
|
13
18
|
constructor(signer) {
|
|
14
|
-
super(`Expected signer ${toString(signer)} has not signed source transaction`);
|
|
19
|
+
super(`Expected signer ${(0, formatter_1.toString)(signer)} has not signed source transaction`);
|
|
15
20
|
}
|
|
16
21
|
}
|
|
17
|
-
|
|
22
|
+
exports.SignatureException = SignatureException;
|
|
23
|
+
class ProofRidException extends Error {
|
|
18
24
|
constructor() {
|
|
19
25
|
super("Unable to verify source transaction proof, got a different transaction from query than we asked for");
|
|
20
26
|
}
|
|
21
27
|
}
|
|
22
|
-
|
|
28
|
+
exports.ProofRidException = ProofRidException;
|
|
29
|
+
class SystemChainException extends Error {
|
|
23
30
|
constructor(errorMessage) {
|
|
24
31
|
super(`Query to system chain failed with error: ${errorMessage}`);
|
|
25
32
|
}
|
|
26
33
|
}
|
|
27
|
-
|
|
34
|
+
exports.SystemChainException = SystemChainException;
|
|
35
|
+
class ConfirmationProofException extends Error {
|
|
28
36
|
constructor(transactionRid) {
|
|
29
|
-
super(`Unable to fetch confirmation proof for transaction RID: ${ensureString(transactionRid)}.`);
|
|
37
|
+
super(`Unable to fetch confirmation proof for transaction RID: ${(0, formatter_1.ensureString)(transactionRid)}.`);
|
|
30
38
|
}
|
|
31
39
|
}
|
|
32
|
-
|
|
40
|
+
exports.ConfirmationProofException = ConfirmationProofException;
|
|
41
|
+
class BlockAnchoringException extends Error {
|
|
33
42
|
constructor() {
|
|
34
43
|
super(`Block is not present in cluster anchoring chain`);
|
|
35
44
|
}
|
|
36
45
|
}
|
|
46
|
+
exports.BlockAnchoringException = BlockAnchoringException;
|
|
37
47
|
//# sourceMappingURL=error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/ICCF/error.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/ICCF/error.ts"],"names":[],"mappings":";;;AAEA,4CAAsD;AACtD,MAAa,uBAAwB,SAAQ,KAAK;IAChD,YAAY,SAAiB,EAAE,aAAqB;QAClD,KAAK,CACH,uEAAuE,IAAA,oBAAQ,EAC7E,SAAS,CACV,iDAAiD,IAAA,oBAAQ,EAAC,aAAa,CAAC,EAAE,CAC5E,CAAC;IACJ,CAAC;CACF;AARD,0DAQC;AAED,MAAa,iCAAkC,SAAQ,KAAK;IAC1D,YAAY,MAAc,EAAE,gBAAwB;QAClD,KAAK,CACH,iCAAiC,MAAM,4CAA4C,gBAAgB,EAAE,CACtG,CAAC;IACJ,CAAC;CACF;AAND,8EAMC;AACD,MAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,MAAc;QACxB,KAAK,CAAC,mBAAmB,IAAA,oBAAQ,EAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;IACjF,CAAC;CACF;AAJD,gDAIC;AAED,MAAa,iBAAkB,SAAQ,KAAK;IAC1C;QACE,KAAK,CACH,qGAAqG,CACtG,CAAC;IACJ,CAAC;CACF;AAND,8CAMC;AAED,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,YAAoB;QAC9B,KAAK,CAAC,4CAA4C,YAAY,EAAE,CAAC,CAAC;IACpE,CAAC;CACF;AAJD,oDAIC;AAED,MAAa,0BAA2B,SAAQ,KAAK;IACnD,YAAY,cAAwB;QAClC,KAAK,CACH,2DAA2D,IAAA,wBAAY,EAAC,cAAc,CAAC,GAAG,CAC3F,CAAC;IACJ,CAAC;CACF;AAND,gEAMC;AAED,MAAa,uBAAwB,SAAQ,KAAK;IAChD;QACE,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC3D,CAAC;CACF;AAJD,0DAIC"}
|
package/built/src/ICCF/types.js
CHANGED
package/built/src/ICCF/utils.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -7,17 +8,26 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
9
|
});
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.getClusterOfBlockchain = getClusterOfBlockchain;
|
|
13
|
+
exports.getClusterInfo = getClusterInfo;
|
|
14
|
+
exports.awaitGetAnchoringTransactionForBlockRid = awaitGetAnchoringTransactionForBlockRid;
|
|
15
|
+
exports.getAnchoringTransactionForBlockRid = getAnchoringTransactionForBlockRid;
|
|
16
|
+
exports.convertToAnchoringTransaction = convertToAnchoringTransaction;
|
|
17
|
+
exports.calculateBlockRID = calculateBlockRID;
|
|
18
|
+
exports.fetchAndVerifyTransaction = fetchAndVerifyTransaction;
|
|
19
|
+
exports.composeProofTransactionObject = composeProofTransactionObject;
|
|
20
|
+
const buffer_1 = require("buffer");
|
|
21
|
+
const errors_1 = require("../blockchainClient/errors");
|
|
22
|
+
const utils_1 = require("../blockchainClient/utils");
|
|
23
|
+
const anchoringTransaction_1 = require("../blockchainClient/validation/anchoringTransaction");
|
|
24
|
+
const encryption_1 = require("../encryption/encryption");
|
|
25
|
+
const formatter_1 = require("../formatter");
|
|
26
|
+
const gtv_1 = require("../gtv");
|
|
27
|
+
const gtx_1 = require("../gtx/gtx");
|
|
28
|
+
const serialization_1 = require("../gtx/serialization");
|
|
29
|
+
const error_1 = require("./error");
|
|
30
|
+
function getClusterOfBlockchain(client, blockchainRid) {
|
|
21
31
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
32
|
try {
|
|
23
33
|
const clusterName = yield client.query({
|
|
@@ -27,11 +37,11 @@ export function getClusterOfBlockchain(client, blockchainRid) {
|
|
|
27
37
|
return clusterName;
|
|
28
38
|
}
|
|
29
39
|
catch (error) {
|
|
30
|
-
throw new SystemChainException(error.message);
|
|
40
|
+
throw new error_1.SystemChainException(error.message);
|
|
31
41
|
}
|
|
32
42
|
});
|
|
33
43
|
}
|
|
34
|
-
|
|
44
|
+
function getClusterInfo(client, name) {
|
|
35
45
|
return __awaiter(this, void 0, void 0, function* () {
|
|
36
46
|
try {
|
|
37
47
|
const clusterInfo = yield client.query({
|
|
@@ -41,30 +51,30 @@ export function getClusterInfo(client, name) {
|
|
|
41
51
|
return clusterInfo;
|
|
42
52
|
}
|
|
43
53
|
catch (error) {
|
|
44
|
-
throw new SystemChainException(error.message);
|
|
54
|
+
throw new error_1.SystemChainException(error.message);
|
|
45
55
|
}
|
|
46
56
|
});
|
|
47
57
|
}
|
|
48
|
-
|
|
58
|
+
function awaitGetAnchoringTransactionForBlockRid(client, blockchainRid, blockRid, systemAnchoringStatusPolling) {
|
|
49
59
|
return __awaiter(this, void 0, void 0, function* () {
|
|
50
60
|
let anchoringTransactionResponse = null;
|
|
51
61
|
for (let i = 0; i < systemAnchoringStatusPolling.count; i++) {
|
|
52
62
|
anchoringTransactionResponse = yield getAnchoringTransactionForBlockRid(client, blockchainRid, blockRid);
|
|
53
63
|
if (anchoringTransactionResponse) {
|
|
54
|
-
const anchoringTransactionValidaiton = AnchoringTransactionSchema.safeParse(anchoringTransactionResponse);
|
|
64
|
+
const anchoringTransactionValidaiton = anchoringTransaction_1.AnchoringTransactionSchema.safeParse(anchoringTransactionResponse);
|
|
55
65
|
if (anchoringTransactionValidaiton.success) {
|
|
56
66
|
return anchoringTransactionValidaiton.data;
|
|
57
67
|
}
|
|
58
68
|
else if (!anchoringTransactionValidaiton.success) {
|
|
59
|
-
throw new TxRejectedError("Invalid anchoring transaction format");
|
|
69
|
+
throw new errors_1.TxRejectedError("Invalid anchoring transaction format");
|
|
60
70
|
}
|
|
61
71
|
}
|
|
62
|
-
yield sleep(systemAnchoringStatusPolling.interval);
|
|
72
|
+
yield (0, utils_1.sleep)(systemAnchoringStatusPolling.interval);
|
|
63
73
|
}
|
|
64
74
|
return anchoringTransactionResponse;
|
|
65
75
|
});
|
|
66
76
|
}
|
|
67
|
-
|
|
77
|
+
function getAnchoringTransactionForBlockRid(client, blockchainRid, blockRid) {
|
|
68
78
|
return __awaiter(this, void 0, void 0, function* () {
|
|
69
79
|
try {
|
|
70
80
|
const anchoringTxForBlockRid = yield client.query({
|
|
@@ -76,11 +86,11 @@ export function getAnchoringTransactionForBlockRid(client, blockchainRid, blockR
|
|
|
76
86
|
return convertToAnchoringTransaction(anchoringTxForBlockRid);
|
|
77
87
|
}
|
|
78
88
|
catch (error) {
|
|
79
|
-
throw new SystemChainException(error.message);
|
|
89
|
+
throw new error_1.SystemChainException(error.message);
|
|
80
90
|
}
|
|
81
91
|
});
|
|
82
92
|
}
|
|
83
|
-
|
|
93
|
+
function convertToAnchoringTransaction(responseTx) {
|
|
84
94
|
const { tx_rid, tx_data, tx_op_index } = responseTx;
|
|
85
95
|
return {
|
|
86
96
|
txRid: tx_rid,
|
|
@@ -88,60 +98,60 @@ export function convertToAnchoringTransaction(responseTx) {
|
|
|
88
98
|
txOpIndex: tx_op_index,
|
|
89
99
|
};
|
|
90
100
|
}
|
|
91
|
-
|
|
101
|
+
function calculateBlockRID(decodedTxProof, merkleHashVersion) {
|
|
92
102
|
const sourceBlockHeader = decodedTxProof.blockHeader;
|
|
93
103
|
if (!sourceBlockHeader) {
|
|
94
104
|
throw new Error("Failed to get blockHeader from confirmation proof");
|
|
95
105
|
}
|
|
96
|
-
const decodeSourceBlockRid = decodeValue(sourceBlockHeader);
|
|
97
|
-
return gtvHash(decodeSourceBlockRid, merkleHashVersion);
|
|
106
|
+
const decodeSourceBlockRid = (0, serialization_1.decodeValue)(sourceBlockHeader);
|
|
107
|
+
return (0, gtv_1.gtvHash)(decodeSourceBlockRid, merkleHashVersion);
|
|
98
108
|
}
|
|
99
109
|
// fetch tx from txRID and verifies with secp256k1.ecdsaVerify that txRID and signer creates signatures that are on the blockchain transaction
|
|
100
|
-
|
|
110
|
+
function fetchAndVerifyTransaction(sourceClient, txToProveRID, proofHash, txToProveSigners) {
|
|
101
111
|
return __awaiter(this, void 0, void 0, function* () {
|
|
102
112
|
var _a, _b, _c;
|
|
103
113
|
const rawTx = yield sourceClient.getTransaction(txToProveRID);
|
|
104
|
-
const txGtv = decodeValue(rawTx);
|
|
114
|
+
const txGtv = (0, serialization_1.decodeValue)(rawTx);
|
|
105
115
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
106
|
-
const fetchedTxHash = gtvHash(txGtv, sourceClient.config.merkleHashVersion);
|
|
107
|
-
if (Buffer.compare(fetchedTxHash, proofHash)) {
|
|
116
|
+
const fetchedTxHash = (0, gtv_1.gtvHash)(txGtv, sourceClient.config.merkleHashVersion);
|
|
117
|
+
if (buffer_1.Buffer.compare(fetchedTxHash, proofHash)) {
|
|
108
118
|
// We received another hash for tx RID than what was included in proof
|
|
109
119
|
// Possibly rouge or faulty node(s). Anyway, we need to give up.
|
|
110
|
-
throw new MissingTransactionProof(proofHash, fetchedTxHash);
|
|
120
|
+
throw new error_1.MissingTransactionProof(proofHash, fetchedTxHash);
|
|
111
121
|
}
|
|
112
|
-
const fetchedTx = rawGtvToGtx(txGtv);
|
|
122
|
+
const fetchedTx = (0, gtx_1.rawGtvToGtx)(txGtv);
|
|
113
123
|
if (txToProveSigners.length != ((_a = fetchedTx.signatures) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
114
|
-
throw new DifferentNumberOfSignersException((_c = (_b = fetchedTx.signatures) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0, txToProveSigners.length);
|
|
124
|
+
throw new error_1.DifferentNumberOfSignersException((_c = (_b = fetchedTx.signatures) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0, txToProveSigners.length);
|
|
115
125
|
}
|
|
116
126
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
117
|
-
const txRID = getDigestToSign(fetchedTx, sourceClient.config.merkleHashVersion);
|
|
118
|
-
if (Buffer.compare(txRID, ensureBuffer(txToProveRID))) {
|
|
119
|
-
throw new ProofRidException();
|
|
127
|
+
const txRID = (0, gtx_1.getDigestToSign)(fetchedTx, sourceClient.config.merkleHashVersion);
|
|
128
|
+
if (buffer_1.Buffer.compare(txRID, (0, formatter_1.ensureBuffer)(txToProveRID))) {
|
|
129
|
+
throw new error_1.ProofRidException();
|
|
120
130
|
}
|
|
121
131
|
for (const signer of txToProveSigners) {
|
|
122
132
|
let hasSignature = false;
|
|
123
133
|
for (const signature of fetchedTx.signatures) {
|
|
124
134
|
// verify that txRID (hash of gtxBody) signed by signers equals the signatures from network
|
|
125
|
-
if (checkDigestSignature(txRID, signer, signature)) {
|
|
135
|
+
if ((0, encryption_1.checkDigestSignature)(txRID, signer, signature)) {
|
|
126
136
|
hasSignature = true;
|
|
127
137
|
break;
|
|
128
138
|
}
|
|
129
139
|
}
|
|
130
140
|
if (!hasSignature)
|
|
131
|
-
throw new SignatureException(signer);
|
|
141
|
+
throw new error_1.SignatureException(signer);
|
|
132
142
|
}
|
|
133
143
|
return { verifiedTx: fetchedTx, verifiedTxHash: fetchedTxHash };
|
|
134
144
|
});
|
|
135
145
|
}
|
|
136
|
-
|
|
146
|
+
function composeProofTransactionObject(sourceBlockchainRid, verifiedTxHash, txProof, iccfTxSigners, anchoringTx, anchoringProof, isNetwork = true) {
|
|
137
147
|
let operationArgs;
|
|
138
148
|
operationArgs = {
|
|
139
|
-
sourceBlockchainRid: ensureBuffer(sourceBlockchainRid),
|
|
149
|
+
sourceBlockchainRid: (0, formatter_1.ensureBuffer)(sourceBlockchainRid),
|
|
140
150
|
transactionHash: verifiedTxHash,
|
|
141
|
-
transactionProof: encodeValue(txProof),
|
|
151
|
+
transactionProof: (0, serialization_1.encodeValue)(txProof),
|
|
142
152
|
};
|
|
143
153
|
if (isNetwork) {
|
|
144
|
-
operationArgs = Object.assign(Object.assign({}, operationArgs), { transactionData: anchoringTx === null || anchoringTx === void 0 ? void 0 : anchoringTx.txData, transactionIndex: anchoringTx === null || anchoringTx === void 0 ? void 0 : anchoringTx.txOpIndex, anchoringProof: anchoringProof && encodeValue(anchoringProof) });
|
|
154
|
+
operationArgs = Object.assign(Object.assign({}, operationArgs), { transactionData: anchoringTx === null || anchoringTx === void 0 ? void 0 : anchoringTx.txData, transactionIndex: anchoringTx === null || anchoringTx === void 0 ? void 0 : anchoringTx.txOpIndex, anchoringProof: anchoringProof && (0, serialization_1.encodeValue)(anchoringProof) });
|
|
145
155
|
}
|
|
146
156
|
return {
|
|
147
157
|
operations: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/ICCF/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/ICCF/utils.ts"],"names":[],"mappings":"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"}
|