postchain-client 1.22.0 → 2.0.1
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 +16 -0
- package/built/cjs/index.js +2205 -3742
- package/built/cjs/index.js.map +1 -1
- package/built/esm/index.js +10425 -11683
- package/built/esm/index.js.map +1 -1
- package/built/index.d.ts +3 -8
- package/built/index.js +2 -11
- package/built/index.js.map +1 -1
- package/built/mocks/handlers.d.ts +1 -1
- package/built/mocks/handlers.js +62 -21
- package/built/mocks/handlers.js.map +1 -1
- package/built/src/ICCF/IccfProofTxMaterialBuilder.d.ts +3 -2
- package/built/src/ICCF/IccfProofTxMaterialBuilder.js +23 -10
- package/built/src/ICCF/IccfProofTxMaterialBuilder.js.map +1 -1
- package/built/src/ICCF/types.d.ts +4 -1
- package/built/src/ICCF/utils.js +2 -2
- package/built/src/ICCF/utils.js.map +1 -1
- package/built/src/blockchainClient/blockchainClient.js +56 -53
- package/built/src/blockchainClient/blockchainClient.js.map +1 -1
- package/built/src/blockchainClient/clientStub.js +18 -16
- package/built/src/blockchainClient/clientStub.js.map +1 -1
- package/built/src/blockchainClient/enums.d.ts +5 -0
- package/built/src/blockchainClient/enums.js +6 -0
- package/built/src/blockchainClient/enums.js.map +1 -1
- package/built/src/blockchainClient/errors.d.ts +20 -0
- package/built/src/blockchainClient/errors.js +41 -0
- package/built/src/blockchainClient/errors.js.map +1 -1
- package/built/src/{restclient → blockchainClient}/failoverStrategies.d.ts +14 -0
- package/built/src/{restclient → blockchainClient}/failoverStrategies.js +104 -24
- package/built/src/blockchainClient/failoverStrategies.js.map +1 -0
- package/built/src/blockchainClient/httpUtil.d.ts +4 -0
- package/built/src/{restclient → blockchainClient}/httpUtil.js +27 -23
- package/built/src/blockchainClient/httpUtil.js.map +1 -0
- package/built/src/blockchainClient/interface.d.ts +48 -59
- package/built/src/{restclient → blockchainClient}/nodeManager.d.ts +3 -0
- package/built/src/{restclient → blockchainClient}/nodeManager.js +7 -0
- package/built/src/blockchainClient/nodeManager.js.map +1 -0
- package/built/src/blockchainClient/requestWithFailoverStrategy.d.ts +4 -0
- package/built/src/blockchainClient/requestWithFailoverStrategy.js +31 -0
- package/built/src/blockchainClient/requestWithFailoverStrategy.js.map +1 -0
- package/built/src/blockchainClient/types.d.ts +64 -20
- package/built/src/blockchainClient/utils.d.ts +47 -12
- package/built/src/blockchainClient/utils.js +149 -30
- package/built/src/blockchainClient/utils.js.map +1 -1
- package/built/src/blockchainClient/validation/merkleHash.js +2 -1
- package/built/src/blockchainClient/validation/merkleHash.js.map +1 -1
- package/built/src/blockchainClient/validation/rawGtx.d.ts +2 -0
- package/built/src/blockchainClient/validation/rawGtx.js +22 -0
- package/built/src/blockchainClient/validation/rawGtx.js.map +1 -0
- package/built/src/blockchainClient/validation/requests.d.ts +5 -2
- package/built/src/blockchainClient/validation/requests.js +26 -0
- package/built/src/blockchainClient/validation/requests.js.map +1 -1
- package/built/src/blockchainClient/validation/transactionStatusReponse.d.ts +2 -0
- package/built/src/blockchainClient/validation/transactionStatusReponse.js +24 -0
- package/built/src/blockchainClient/validation/transactionStatusReponse.js.map +1 -0
- package/built/src/blockchainClient/validation/txRid.js +1 -1
- package/built/src/blockchainClient/validation/txRid.js.map +1 -1
- package/built/src/encryption/encryption.d.ts +0 -1
- package/built/src/encryption/encryption.js +0 -2
- package/built/src/encryption/encryption.js.map +1 -1
- package/built/src/formatter.d.ts +5 -7
- package/built/src/formatter.js +10 -29
- package/built/src/formatter.js.map +1 -1
- package/built/src/gtv/index.d.ts +3 -2
- package/built/src/gtv/index.js +4 -6
- package/built/src/gtv/index.js.map +1 -1
- package/built/src/gtx/errors.d.ts +2 -1
- package/built/src/gtx/errors.js.map +1 -1
- package/built/src/gtx/gtx.d.ts +5 -2
- package/built/src/gtx/gtx.js +0 -7
- package/built/src/gtx/gtx.js.map +1 -1
- package/built/src/gtx/serialization.d.ts +0 -1
- package/built/src/gtx/serialization.js +0 -1
- package/built/src/gtx/serialization.js.map +1 -1
- package/built/src/gtx/types.d.ts +0 -8
- package/built/src/logger.d.ts +6 -9
- package/built/src/logger.js +8 -14
- package/built/src/logger.js.map +1 -1
- package/built/src/promiEvent/promiEventEmitter.d.ts +1 -8
- package/built/src/promiEvent/promiEventEmitter.js.map +1 -1
- package/built/src/utils/calculateTransactionRid.d.ts +1 -1
- package/built/src/utils/calculateTransactionRid.js +6 -6
- package/built/src/utils/calculateTransactionRid.js.map +1 -1
- package/built/src/utils/constants.d.ts +4 -0
- package/built/src/utils/constants.js +5 -0
- package/built/src/utils/constants.js.map +1 -0
- package/built/src/utils/decodeTransactionToGtx.d.ts +1 -1
- package/built/src/utils/decodeTransactionToGtx.js +4 -3
- package/built/src/utils/decodeTransactionToGtx.js.map +1 -1
- package/built/src/utils/encodeTransaction.d.ts +1 -1
- package/built/src/utils/encodeTransaction.js +4 -4
- package/built/src/utils/encodeTransaction.js.map +1 -1
- package/built/test/common/mocks.d.ts +118 -0
- package/built/test/common/mocks.js +239 -0
- package/built/test/common/mocks.js.map +1 -0
- package/built/test/{unit/gtx → common}/serializationtestobjects.d.ts +1 -1
- package/built/test/common/serializationtestobjects.js.map +1 -0
- package/built/test/common/setups.d.ts +27 -0
- package/built/test/common/setups.js +137 -0
- package/built/test/common/setups.js.map +1 -0
- package/built/test/{unit → common}/signatures.d.ts +0 -1
- package/built/test/{unit → common}/signatures.js +0 -1
- package/built/test/common/signatures.js.map +1 -0
- package/built/test/common/testData.js.map +1 -0
- package/built/test/{unit/validation → common}/validationMocks.d.ts +22 -2
- package/built/test/{unit/validation → common}/validationMocks.js +13 -1
- package/built/test/common/validationMocks.js.map +1 -0
- package/built/test/integration/clientGetBlockInfo.test.js +51 -0
- package/built/test/integration/clientGetBlockInfo.test.js.map +1 -0
- package/built/test/integration/clientGetRejectedTransactions.test.js +28 -0
- package/built/test/integration/clientGetRejectedTransactions.test.js.map +1 -0
- package/built/test/integration/clientGetTransaction.test.js +29 -0
- package/built/test/integration/clientGetTransaction.test.js.map +1 -0
- package/built/test/integration/clientGetTransactionStatus.test.js +71 -0
- package/built/test/integration/clientGetTransactionStatus.test.js.map +1 -0
- package/built/test/integration/clientGetWaitingTransaction.test.js +34 -0
- package/built/test/integration/clientGetWaitingTransaction.test.js.map +1 -0
- package/built/test/integration/clientGetWaitingTransactions.test.js +28 -0
- package/built/test/integration/clientGetWaitingTransactions.test.js.map +1 -0
- package/built/test/integration/clientIntegration.test.js +95 -0
- package/built/test/integration/clientIntegration.test.js.map +1 -0
- package/built/test/integration/clientQuery.test.js +380 -0
- package/built/test/integration/clientQuery.test.js.map +1 -0
- package/built/test/integration/clientSendTransaction.test.js +86 -0
- package/built/test/integration/clientSendTransaction.test.js.map +1 -0
- package/built/test/integration/clientSignAndSendUniqueTransaction.test.js +75 -0
- package/built/test/integration/clientSignAndSendUniqueTransaction.test.js.map +1 -0
- package/built/test/integration/clientSignTransaction.test.js +77 -0
- package/built/test/integration/clientSignTransaction.test.js.map +1 -0
- package/built/test/integration/{blockchainClientUtils.test.js → clientUtils.test.js} +13 -8
- package/built/test/integration/clientUtils.test.js.map +1 -0
- package/built/test/integration/createClientIntegration.test.js +158 -0
- package/built/test/integration/createClientIntegration.test.js.map +1 -0
- package/built/test/integration/encodeTransaction.test.js +3 -6
- package/built/test/integration/encodeTransaction.test.js.map +1 -1
- package/built/test/integration/getTransactionsInfo.test.js +17 -26
- package/built/test/integration/getTransactionsInfo.test.js.map +1 -1
- package/built/test/integration/signAndSendUniqueTransaction.test.js +26 -19
- package/built/test/integration/signAndSendUniqueTransaction.test.js.map +1 -1
- package/built/test/integrationChromiaNetwork/createIccfProofTx.test.js +59 -0
- package/built/test/integrationChromiaNetwork/createIccfProofTx.test.js.map +1 -0
- package/built/test/{integrationDevnet → integrationChromiaNetwork}/getAnchoringStatusForBlockRid.test.js +9 -15
- package/built/test/integrationChromiaNetwork/getAnchoringStatusForBlockRid.test.js.map +1 -0
- package/built/test/{integrationDevnet → integrationChromiaNetwork}/getTransactionConfirmationLevel.test.js +7 -13
- package/built/test/integrationChromiaNetwork/getTransactionConfirmationLevel.test.js.map +1 -0
- package/built/test/integrationChromiaNetwork/getTransactionStatus.test.js +45 -0
- package/built/test/integrationChromiaNetwork/getTransactionStatus.test.js.map +1 -0
- package/built/test/integrationChromiaNetwork/isBlockAnchored.test.js +35 -0
- package/built/test/integrationChromiaNetwork/isBlockAnchored.test.js.map +1 -0
- package/built/test/integrationChromiaNetwork/merkleHashIntegration.test.d.ts +1 -0
- package/built/test/integrationChromiaNetwork/merkleHashIntegration.test.js +134 -0
- package/built/test/integrationChromiaNetwork/merkleHashIntegration.test.js.map +1 -0
- package/built/test/integrationChromiaNetwork/nodeDiscovery.test.d.ts +1 -0
- package/built/test/integrationChromiaNetwork/nodeDiscovery.test.js +26 -0
- package/built/test/integrationChromiaNetwork/nodeDiscovery.test.js.map +1 -0
- package/built/test/integrationChromiaNetwork/requestWithFailoverStrategy.test.d.ts +1 -0
- package/built/test/integrationChromiaNetwork/requestWithFailoverStrategy.test.js +84 -0
- package/built/test/integrationChromiaNetwork/requestWithFailoverStrategy.test.js.map +1 -0
- package/built/test/integrationChromiaNetwork/signAndSendUniqueTransaction.test.d.ts +1 -0
- package/built/test/{integrationDevnet → integrationChromiaNetwork}/signAndSendUniqueTransaction.test.js +27 -44
- package/built/test/integrationChromiaNetwork/signAndSendUniqueTransaction.test.js.map +1 -0
- package/built/test/manual/iccfManually.test.js +18 -27
- package/built/test/manual/iccfManually.test.js.map +1 -1
- package/built/test/pcctf/getSuites.test.d.ts +1 -0
- package/built/test/pcctf/getSuites.test.js +106 -0
- package/built/test/pcctf/getSuites.test.js.map +1 -0
- package/built/test/pcctf/helpers.d.ts +92 -0
- package/built/test/pcctf/helpers.js +239 -0
- package/built/test/pcctf/helpers.js.map +1 -0
- package/built/test/unit/ICCF/iccf.test.js +63 -158
- package/built/test/unit/ICCF/iccf.test.js.map +1 -1
- package/built/test/unit/ICCF/iccfProofMaterialBuilder.test.d.ts +1 -2
- package/built/test/unit/ICCF/iccfProofMaterialBuilder.test.js +101 -296
- package/built/test/unit/ICCF/iccfProofMaterialBuilder.test.js.map +1 -1
- package/built/test/unit/blockchainClient/client.getRejectedTransactions.test.d.ts +1 -0
- package/built/test/unit/blockchainClient/client.getRejectedTransactions.test.js +48 -0
- package/built/test/unit/blockchainClient/client.getRejectedTransactions.test.js.map +1 -0
- package/built/test/unit/blockchainClient/client.getWaitingTransaction.test.d.ts +1 -0
- package/built/test/unit/blockchainClient/client.getWaitingTransaction.test.js +38 -0
- package/built/test/unit/blockchainClient/client.getWaitingTransaction.test.js.map +1 -0
- package/built/test/unit/blockchainClient/client.getWaitingTransactions.test.d.ts +1 -0
- package/built/test/unit/blockchainClient/client.getWaitingTransactions.test.js +30 -0
- package/built/test/unit/blockchainClient/client.getWaitingTransactions.test.js.map +1 -0
- package/built/test/unit/blockchainClient/client.test.d.ts +1 -0
- package/built/test/unit/blockchainClient/client.test.js +177 -0
- package/built/test/unit/blockchainClient/client.test.js.map +1 -0
- package/built/test/unit/blockchainClient/clientCustomStatusCodes.test.js +26 -32
- package/built/test/unit/blockchainClient/clientCustomStatusCodes.test.js.map +1 -1
- package/built/test/unit/blockchainClient/getAnchoringStatusForBlockRid.test.js +26 -59
- package/built/test/unit/blockchainClient/getAnchoringStatusForBlockRid.test.js.map +1 -1
- package/built/test/unit/blockchainClient/getSystemAnchoringTransactionConfirmation.test.js +21 -38
- package/built/test/unit/blockchainClient/getSystemAnchoringTransactionConfirmation.test.js.map +1 -1
- package/built/test/unit/blockchainClient/getTransactionConfirmationLevel.test.js +77 -127
- package/built/test/unit/blockchainClient/getTransactionConfirmationLevel.test.js.map +1 -1
- package/built/test/unit/blockchainClient/sendTransaction.test.js +352 -675
- package/built/test/unit/blockchainClient/sendTransaction.test.js.map +1 -1
- package/built/test/unit/blockchainClient/setMerkleVersion.test.js +14 -28
- package/built/test/unit/blockchainClient/setMerkleVersion.test.js.map +1 -1
- package/built/test/unit/blockchainClient/signAndSendUniqueTransactionPromiEvents.test.js +31 -98
- package/built/test/unit/blockchainClient/signAndSendUniqueTransactionPromiEvents.test.js.map +1 -1
- package/built/test/unit/blockchainClient/statusPollIntervals.test.js +34 -54
- package/built/test/unit/blockchainClient/statusPollIntervals.test.js.map +1 -1
- package/built/test/unit/blockchainClient/util.test.js +74 -133
- package/built/test/unit/blockchainClient/util.test.js.map +1 -1
- package/built/test/unit/decodeTransactionToGtx.test.js +3 -4
- package/built/test/unit/decodeTransactionToGtx.test.js.map +1 -1
- package/built/test/unit/dump.test.js +2 -3
- package/built/test/unit/dump.test.js.map +1 -1
- package/built/test/unit/encryption/encryption.test.js +23 -32
- package/built/test/unit/encryption/encryption.test.js.map +1 -1
- package/built/test/unit/failoverStrategies.test.js +122 -114
- package/built/test/unit/failoverStrategies.test.js.map +1 -1
- package/built/test/unit/formatter.test.js +38 -42
- package/built/test/unit/formatter.test.js.map +1 -1
- package/built/test/unit/gtv/gtvHash.test.js +5 -6
- package/built/test/unit/gtv/gtvHash.test.js.map +1 -1
- package/built/test/unit/gtx/checkGTXSignature.test.js +5 -7
- package/built/test/unit/gtx/checkGTXSignature.test.js.map +1 -1
- package/built/test/unit/gtx/newSignatureProvider.test.js +9 -10
- package/built/test/unit/gtx/newSignatureProvider.test.js.map +1 -1
- package/built/test/unit/gtx/serialization.test.js +37 -138
- package/built/test/unit/gtx/serialization.test.js.map +1 -1
- package/built/test/unit/httpUtil.test.js +27 -18
- package/built/test/unit/httpUtil.test.js.map +1 -1
- package/built/test/unit/logger.test.js +23 -25
- package/built/test/unit/logger.test.js.map +1 -1
- package/built/test/unit/nodeMananger.test.js +62 -74
- package/built/test/unit/nodeMananger.test.js.map +1 -1
- package/built/test/unit/setOrdering.test.js +9 -9
- package/built/test/unit/setOrdering.test.js.map +1 -1
- package/built/test/unit/stickyNode.test.js +44 -54
- package/built/test/unit/stickyNode.test.js.map +1 -1
- package/built/test/unit/validation/anchoringTransaction.test.js +7 -8
- package/built/test/unit/validation/anchoringTransaction.test.js.map +1 -1
- package/built/test/unit/validation/blockIdentifier.test.js +7 -9
- package/built/test/unit/validation/blockIdentifier.test.js.map +1 -1
- package/built/test/unit/validation/bufferSchema.test.js +4 -5
- package/built/test/unit/validation/bufferSchema.test.js.map +1 -1
- package/built/test/unit/validation/networkSettings.test.js +11 -13
- package/built/test/unit/validation/networkSettings.test.js.map +1 -1
- package/built/test/unit/validation/rawGtx.test.d.ts +1 -0
- package/built/test/unit/validation/rawGtx.test.js +84 -0
- package/built/test/unit/validation/rawGtx.test.js.map +1 -0
- package/built/test/unit/validation/requests.test.js +80 -74
- package/built/test/unit/validation/requests.test.js.map +1 -1
- package/built/test/unit/validation/signMethod.test.js +8 -10
- package/built/test/unit/validation/signMethod.test.js.map +1 -1
- package/built/test/unit/validation/statusObject.test.d.ts +1 -0
- package/built/test/unit/validation/statusObject.test.js +91 -0
- package/built/test/unit/validation/statusObject.test.js.map +1 -0
- package/built/test/unit/validation/txRid.test.js +7 -9
- package/built/test/unit/validation/txRid.test.js.map +1 -1
- package/built/umd/index.js +31711 -31107
- package/built/umd/index.js.map +1 -1
- package/package.json +26 -22
- package/built/src/chromia/chromiaClientProvider.d.ts +0 -9
- package/built/src/chromia/chromiaClientProvider.js +0 -36
- package/built/src/chromia/chromiaClientProvider.js.map +0 -1
- package/built/src/chromia/interfaces.d.ts +0 -4
- package/built/src/chromia/interfaces.js +0 -2
- package/built/src/chromia/interfaces.js.map +0 -1
- package/built/src/constants.d.ts +0 -3
- package/built/src/constants.js +0 -4
- package/built/src/constants.js.map +0 -1
- package/built/src/gtx/gtxclient.d.ts +0 -3
- package/built/src/gtx/gtxclient.js +0 -96
- package/built/src/gtx/gtxclient.js.map +0 -1
- package/built/src/gtx/interfaces.d.ts +0 -91
- package/built/src/gtx/interfaces.js +0 -2
- package/built/src/gtx/interfaces.js.map +0 -1
- package/built/src/merkle/binarytree.d.ts +0 -131
- package/built/src/merkle/binarytree.js +0 -146
- package/built/src/merkle/binarytree.js.map +0 -1
- package/built/src/merkle/binarytreefactory.d.ts +0 -86
- package/built/src/merkle/binarytreefactory.js +0 -251
- package/built/src/merkle/binarytreefactory.js.map +0 -1
- package/built/src/merkle/merkleHelper.d.ts +0 -18
- package/built/src/merkle/merkleHelper.js +0 -110
- package/built/src/merkle/merkleHelper.js.map +0 -1
- package/built/src/merkle/merklehashcalculator.d.ts +0 -37
- package/built/src/merkle/merklehashcalculator.js +0 -73
- package/built/src/merkle/merklehashcalculator.js.map +0 -1
- package/built/src/merkle/path.d.ts +0 -151
- package/built/src/merkle/path.js +0 -306
- package/built/src/merkle/path.js.map +0 -1
- package/built/src/merkle/proof/merklehashcarrier.d.ts +0 -17
- package/built/src/merkle/proof/merklehashcarrier.js +0 -23
- package/built/src/merkle/proof/merklehashcarrier.js.map +0 -1
- package/built/src/merkle/proof/merklehashsummaryfactory.d.ts +0 -53
- package/built/src/merkle/proof/merklehashsummaryfactory.js +0 -82
- package/built/src/merkle/proof/merklehashsummaryfactory.js.map +0 -1
- package/built/src/merkle/proof/merkleproof.d.ts +0 -36
- package/built/src/merkle/proof/merkleproof.js +0 -61
- package/built/src/merkle/proof/merkleproof.js.map +0 -1
- package/built/src/merkle/proof/merkleprooftree.d.ts +0 -124
- package/built/src/merkle/proof/merkleprooftree.js +0 -117
- package/built/src/merkle/proof/merkleprooftree.js.map +0 -1
- package/built/src/merkle/proof/merkleprooftreefactory.d.ts +0 -47
- package/built/src/merkle/proof/merkleprooftreefactory.js +0 -123
- package/built/src/merkle/proof/merkleprooftreefactory.js.map +0 -1
- package/built/src/merkle/types.d.ts +0 -11
- package/built/src/merkle/types.js +0 -2
- package/built/src/merkle/types.js.map +0 -1
- package/built/src/restclient/enums.d.ts +0 -4
- package/built/src/restclient/enums.js +0 -6
- package/built/src/restclient/enums.js.map +0 -1
- package/built/src/restclient/errors.d.ts +0 -33
- package/built/src/restclient/errors.js +0 -63
- package/built/src/restclient/errors.js.map +0 -1
- package/built/src/restclient/failoverStrategies.js.map +0 -1
- package/built/src/restclient/httpUtil.d.ts +0 -6
- package/built/src/restclient/httpUtil.js.map +0 -1
- package/built/src/restclient/interfaces.d.ts +0 -68
- package/built/src/restclient/interfaces.js +0 -2
- package/built/src/restclient/interfaces.js.map +0 -1
- package/built/src/restclient/nodeManager.js.map +0 -1
- package/built/src/restclient/restclient.d.ts +0 -18
- package/built/src/restclient/restclient.js +0 -200
- package/built/src/restclient/restclient.js.map +0 -1
- package/built/src/restclient/restclientutil.d.ts +0 -32
- package/built/src/restclient/restclientutil.js +0 -141
- package/built/src/restclient/restclientutil.js.map +0 -1
- package/built/src/restclient/types.d.ts +0 -78
- package/built/src/restclient/types.js +0 -2
- package/built/src/restclient/types.js.map +0 -1
- package/built/test/integration/blockchainClientIntegration.test.js +0 -1075
- package/built/test/integration/blockchainClientIntegration.test.js.map +0 -1
- package/built/test/integration/blockchainClientUtils.test.js.map +0 -1
- package/built/test/integration/gtxClientIntegration.test.js +0 -334
- package/built/test/integration/gtxClientIntegration.test.js.map +0 -1
- package/built/test/integration/merkleIntegration.test.js +0 -138
- package/built/test/integration/merkleIntegration.test.js.map +0 -1
- package/built/test/integration/objectGenerator.d.ts +0 -3
- package/built/test/integration/objectGenerator.js +0 -17
- package/built/test/integration/objectGenerator.js.map +0 -1
- package/built/test/integration/restClientIntegration.test.js +0 -170
- package/built/test/integration/restClientIntegration.test.js.map +0 -1
- package/built/test/integration/testData.js.map +0 -1
- package/built/test/integrationDevnet/constants.d.ts +0 -1
- package/built/test/integrationDevnet/constants.js +0 -2
- package/built/test/integrationDevnet/constants.js.map +0 -1
- package/built/test/integrationDevnet/getAnchoringStatusForBlockRid.test.js.map +0 -1
- package/built/test/integrationDevnet/getTransactionConfirmationLevel.test.js.map +0 -1
- package/built/test/integrationDevnet/getTransactionStatus.test.js +0 -53
- package/built/test/integrationDevnet/getTransactionStatus.test.js.map +0 -1
- package/built/test/integrationDevnet/signAndSendUniqueTransaction.test.js.map +0 -1
- package/built/test/manual/chromiaClientProviderManually.test.js +0 -28
- package/built/test/manual/chromiaClientProviderManually.test.js.map +0 -1
- package/built/test/manual/restClientManually.test.js +0 -52
- package/built/test/manual/restClientManually.test.js.map +0 -1
- package/built/test/unit/ICCF/util.d.ts +0 -6
- package/built/test/unit/ICCF/util.js +0 -21
- package/built/test/unit/ICCF/util.js.map +0 -1
- package/built/test/unit/blockchainClient/blockchainClient.test.js +0 -287
- package/built/test/unit/blockchainClient/blockchainClient.test.js.map +0 -1
- package/built/test/unit/blockchainClient/helpers/sendTransaction.d.ts +0 -25
- package/built/test/unit/blockchainClient/helpers/sendTransaction.js +0 -56
- package/built/test/unit/blockchainClient/helpers/sendTransaction.js.map +0 -1
- package/built/test/unit/chromiaClientProvider.test.js +0 -70
- package/built/test/unit/chromiaClientProvider.test.js.map +0 -1
- package/built/test/unit/common/mocks.d.ts +0 -34
- package/built/test/unit/common/mocks.js +0 -69
- package/built/test/unit/common/mocks.js.map +0 -1
- package/built/test/unit/gtx/gtxClient.test.js +0 -97
- package/built/test/unit/gtx/gtxClient.test.js.map +0 -1
- package/built/test/unit/gtx/serializationtestobjects.js.map +0 -1
- package/built/test/unit/merkle/merkleHelper/merkleHelperTest.js +0 -87
- package/built/test/unit/merkle/merkleHelper/merkleHelperTest.js.map +0 -1
- package/built/test/unit/requestWithFailoverStrategy.test.js +0 -146
- package/built/test/unit/requestWithFailoverStrategy.test.js.map +0 -1
- package/built/test/unit/restClient.test.js +0 -389
- package/built/test/unit/restClient.test.js.map +0 -1
- package/built/test/unit/restClientUtil.test.js +0 -226
- package/built/test/unit/restClientUtil.test.js.map +0 -1
- package/built/test/unit/signatures.js.map +0 -1
- package/built/test/unit/validation/validationMocks.js.map +0 -1
- package/changelog.md +0 -586
- /package/built/test/{unit/gtx → common}/serializationtestobjects.js +0 -0
- /package/built/test/{integration → common}/testData.d.ts +0 -0
- /package/built/test/{integration → common}/testData.js +0 -0
- /package/built/test/integration/{blockchainClientIntegration.test.d.ts → clientGetBlockInfo.test.d.ts} +0 -0
- /package/built/test/integration/{blockchainClientUtils.test.d.ts → clientGetRejectedTransactions.test.d.ts} +0 -0
- /package/built/test/integration/{gtxClientIntegration.test.d.ts → clientGetTransaction.test.d.ts} +0 -0
- /package/built/test/integration/{merkleIntegration.test.d.ts → clientGetTransactionStatus.test.d.ts} +0 -0
- /package/built/test/integration/{restClientIntegration.test.d.ts → clientGetWaitingTransaction.test.d.ts} +0 -0
- /package/built/test/{integrationDevnet/getAnchoringStatusForBlockRid.test.d.ts → integration/clientGetWaitingTransactions.test.d.ts} +0 -0
- /package/built/test/{integrationDevnet/getTransactionConfirmationLevel.test.d.ts → integration/clientIntegration.test.d.ts} +0 -0
- /package/built/test/{integrationDevnet/getTransactionStatus.test.d.ts → integration/clientQuery.test.d.ts} +0 -0
- /package/built/test/{integrationDevnet/signAndSendUniqueTransaction.test.d.ts → integration/clientSendTransaction.test.d.ts} +0 -0
- /package/built/test/{manual/chromiaClientProviderManually.test.d.ts → integration/clientSignAndSendUniqueTransaction.test.d.ts} +0 -0
- /package/built/test/{manual/restClientManually.test.d.ts → integration/clientSignTransaction.test.d.ts} +0 -0
- /package/built/test/{unit/blockchainClient/blockchainClient.test.d.ts → integration/clientUtils.test.d.ts} +0 -0
- /package/built/test/{unit/chromiaClientProvider.test.d.ts → integration/createClientIntegration.test.d.ts} +0 -0
- /package/built/test/{unit/gtx/gtxClient.test.d.ts → integrationChromiaNetwork/createIccfProofTx.test.d.ts} +0 -0
- /package/built/test/{unit/merkle/merkleHelper/merkleHelperTest.d.ts → integrationChromiaNetwork/getAnchoringStatusForBlockRid.test.d.ts} +0 -0
- /package/built/test/{unit/requestWithFailoverStrategy.test.d.ts → integrationChromiaNetwork/getTransactionConfirmationLevel.test.d.ts} +0 -0
- /package/built/test/{unit/restClient.test.d.ts → integrationChromiaNetwork/getTransactionStatus.test.d.ts} +0 -0
- /package/built/test/{unit/restClientUtil.test.d.ts → integrationChromiaNetwork/isBlockAnchored.test.d.ts} +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
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 { FailoverStrategy } from "./enums";
|
|
11
|
+
import { abortOnError, tryNextOnError, singleEndpoint, queryMajority } from "./failoverStrategies";
|
|
12
|
+
export function requestWithFailoverStrategy(method, path, config, postObject, forceSingleEndpoint = false) {
|
|
13
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
14
|
+
switch (config.failoverStrategy) {
|
|
15
|
+
case FailoverStrategy.AbortOnError:
|
|
16
|
+
return yield abortOnError({ method, path, config, postObject });
|
|
17
|
+
case FailoverStrategy.TryNextOnError:
|
|
18
|
+
return yield tryNextOnError({ method, path, config, postObject });
|
|
19
|
+
case FailoverStrategy.SingleEndpoint:
|
|
20
|
+
return yield singleEndpoint({ method, path, config, postObject });
|
|
21
|
+
case FailoverStrategy.QueryMajority:
|
|
22
|
+
if (forceSingleEndpoint) {
|
|
23
|
+
return yield singleEndpoint({ method, path, config, postObject });
|
|
24
|
+
}
|
|
25
|
+
return yield queryMajority({ method, path, config, postObject });
|
|
26
|
+
default:
|
|
27
|
+
throw new Error(`Unsupported failover strategy: ${config.failoverStrategy}`);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=requestWithFailoverStrategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestWithFailoverStrategy.js","sourceRoot":"","sources":["../../../src/blockchainClient/requestWithFailoverStrategy.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,gBAAgB,EAAU,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGnG,MAAM,UAAgB,2BAA2B,CAC/C,MAAc,EACd,IAAY,EACZ,MAAyC,EACzC,UAAmB,EACnB,mBAAmB,GAAG,KAAK;;QAE3B,QAAQ,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAChC,KAAK,gBAAgB,CAAC,YAAY;gBAChC,OAAO,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAClE,KAAK,gBAAgB,CAAC,cAAc;gBAClC,OAAO,MAAM,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YACpE,KAAK,gBAAgB,CAAC,cAAc;gBAClC,OAAO,MAAM,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YACpE,KAAK,gBAAgB,CAAC,aAAa;gBACjC,IAAI,mBAAmB,EAAE,CAAC;oBACxB,OAAO,MAAM,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;gBACpE,CAAC;gBACD,OAAO,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YACnE;gBACE,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;CAAA"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { DictPair, RawGtv } from "../gtv/types";
|
|
3
|
-
import {
|
|
4
|
-
import { AnchoringStatus, FailoverStrategy, ResponseStatus } from "./enums";
|
|
3
|
+
import { AnchoringStatus, FailoverStrategy, Method, ResponseStatus } from "./enums";
|
|
5
4
|
import { RawGtxBody } from "../gtx/types";
|
|
6
|
-
import { NodeManager } from "
|
|
5
|
+
import { NodeManager } from "./nodeManager";
|
|
7
6
|
import { AnchoringTransaction } from "../ICCF/types";
|
|
8
7
|
import { IClient } from "./interface";
|
|
8
|
+
export type PrivKey = Buffer;
|
|
9
|
+
export type PubKey = Buffer;
|
|
9
10
|
export type KeyPair = {
|
|
10
11
|
privKey: PrivKey;
|
|
11
12
|
pubKey: PubKey;
|
|
@@ -53,23 +54,20 @@ export interface TransactionReceipt {
|
|
|
53
54
|
clusterAnchoringClientBrid?: string;
|
|
54
55
|
systemAnchoredTx?: AnchoringTransaction;
|
|
55
56
|
systemAnchoringClientBrid?: string;
|
|
57
|
+
node?: string;
|
|
56
58
|
}
|
|
57
59
|
export type SignedTransaction = Buffer;
|
|
58
60
|
export interface SignatureProvider {
|
|
59
61
|
sign(rawGtxBody: RawGtxBody): Promise<Buffer>;
|
|
60
62
|
readonly pubKey: Buffer;
|
|
61
63
|
}
|
|
62
|
-
export type
|
|
63
|
-
type: string;
|
|
64
|
-
[arg: string]: RawGtv;
|
|
65
|
-
};
|
|
66
|
-
export type QueryObject<TReturn extends RawGtv, TArgs extends DictPair | undefined = DictPair> = {
|
|
64
|
+
export type QueryObject<TReturn extends RawGtv = RawGtv, TArgs extends DictPair | undefined = DictPair> = {
|
|
67
65
|
name: string;
|
|
68
66
|
args?: TArgs;
|
|
67
|
+
/** phantom type holder to preserve TReturn without runtime impact */
|
|
68
|
+
_returnType?: TReturn;
|
|
69
69
|
};
|
|
70
|
-
export type QueryCallback<TReturn> = (error: Error | null, response: TReturn) => void;
|
|
71
|
-
export type PrivKey = Buffer;
|
|
72
|
-
export type PubKey = Buffer;
|
|
70
|
+
export type QueryCallback<TReturn> = (error: Error | null, response: TReturn | null) => void;
|
|
73
71
|
export type Operation = {
|
|
74
72
|
name: string;
|
|
75
73
|
args?: RawGtv[];
|
|
@@ -78,18 +76,11 @@ export interface Transaction {
|
|
|
78
76
|
operations: Operation[];
|
|
79
77
|
signers: Buffer[];
|
|
80
78
|
}
|
|
81
|
-
export type
|
|
79
|
+
export type TransactionStatusReponse = {
|
|
82
80
|
status: ResponseStatus | AnchoringStatus;
|
|
81
|
+
statusCode: number | null;
|
|
83
82
|
rejectReason?: string;
|
|
84
83
|
};
|
|
85
|
-
export type SignerPair = {
|
|
86
|
-
pubKey: string;
|
|
87
|
-
signature: string;
|
|
88
|
-
};
|
|
89
|
-
export type BufferSignerPair = {
|
|
90
|
-
pubKey: Buffer;
|
|
91
|
-
signature: Buffer;
|
|
92
|
-
};
|
|
93
84
|
export type Step = {
|
|
94
85
|
side: number;
|
|
95
86
|
hash: Buffer;
|
|
@@ -207,4 +198,57 @@ export type TransactionsCount = {
|
|
|
207
198
|
export type TransactionConfirmationProof = {
|
|
208
199
|
proof: string;
|
|
209
200
|
};
|
|
201
|
+
export type PostRequestObjects = TransactionObject | QueryObject<RawGtv>;
|
|
202
|
+
export type TransactionObject = {
|
|
203
|
+
tx: string;
|
|
204
|
+
};
|
|
205
|
+
export type ResponseObject = {
|
|
206
|
+
statusCode: number | null;
|
|
207
|
+
error: Error | null;
|
|
208
|
+
rspBody: unknown;
|
|
209
|
+
transactionTimestamp?: string;
|
|
210
|
+
};
|
|
211
|
+
type Arg = {
|
|
212
|
+
[arg: string]: RawGtv;
|
|
213
|
+
};
|
|
214
|
+
export type QueryObjectGTV = [name: string, args: Arg];
|
|
215
|
+
export type FailOverConfig = {
|
|
216
|
+
strategy?: FailoverStrategy;
|
|
217
|
+
attemptsPerEndpoint?: number;
|
|
218
|
+
attemptInterval?: number;
|
|
219
|
+
unreachableDuration?: number;
|
|
220
|
+
};
|
|
221
|
+
export interface RetryRequestProps extends BaseRequestProps {
|
|
222
|
+
config: RetryRequestSettings;
|
|
223
|
+
}
|
|
224
|
+
export type RetryRequestSettings = {
|
|
225
|
+
endpointPool: Endpoint[];
|
|
226
|
+
nodeManager: NodeManager;
|
|
227
|
+
attemptsPerEndpoint: number;
|
|
228
|
+
unreachableDuration: number;
|
|
229
|
+
attemptInterval: number;
|
|
230
|
+
};
|
|
231
|
+
export interface BaseRequestProps {
|
|
232
|
+
method: Method;
|
|
233
|
+
path: string;
|
|
234
|
+
postObject?: PostRequestObjects | Buffer;
|
|
235
|
+
}
|
|
236
|
+
export interface HandleRequestInputProps extends BaseRequestProps {
|
|
237
|
+
config: ClientConfig | Omit<ClientConfig, "blockchainRid" | "directoryChainRid">;
|
|
238
|
+
}
|
|
239
|
+
export type ClientCallback<TData, TError = Error> = (error: TError | null | undefined, responseBody: TData | null | undefined, statusCode?: number | null | undefined) => void;
|
|
240
|
+
export type RejectedTransaction = {
|
|
241
|
+
txRid: Buffer;
|
|
242
|
+
rejectReason: string;
|
|
243
|
+
rejectTimestamp: number;
|
|
244
|
+
};
|
|
245
|
+
export type RejectedTransactionResponse = {
|
|
246
|
+
txRID: string;
|
|
247
|
+
rejectReason: string;
|
|
248
|
+
rejectTimestamp: number;
|
|
249
|
+
};
|
|
250
|
+
export type WaitingTransaction = {
|
|
251
|
+
txData: RawGtv;
|
|
252
|
+
transactionTimestamp: number;
|
|
253
|
+
};
|
|
210
254
|
export {};
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { Buffer } from "buffer";
|
|
3
2
|
import { Web3PromiEvent } from "../promiEvent/promiEvents";
|
|
4
3
|
import { GTX, RellOperation } from "../gtx/types";
|
|
5
|
-
import { BlockInfo, BlockInfoResponse, ClientConfig, Endpoint, KeyPair, NetworkSettings, Operation, SignedTransaction, Transaction, TransactionInfo, TransactionInfoResponse,
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { NodeManager } from "../restclient/nodeManager";
|
|
9
|
-
import { Web3EventMap } from "../promiEvent/promiEventEmitter";
|
|
4
|
+
import { BlockInfo, BlockInfoResponse, ClientConfig, Endpoint, KeyPair, NetworkSettings, Operation, SignedTransaction, Transaction, TransactionInfo, TransactionInfoResponse, TransactionStatusReponse, ClusterAnchoringConfirmation, TransactionReceipt, BufferId, AnchoringClientAndSystemBrid, StatusPolling, FailOverConfig, ClientCallback, RejectedTransactionResponse, RejectedTransaction } from "./types";
|
|
5
|
+
import { AnchoringStatus, ChainConfirmationLevel, FailoverStrategy } from "./enums";
|
|
6
|
+
import { NodeManager } from "./nodeManager";
|
|
10
7
|
import { IClient } from "./interface";
|
|
11
8
|
import { AnchoringTransaction } from "../ICCF/types";
|
|
9
|
+
import { RawGtv } from "../gtv/types";
|
|
10
|
+
import { Web3EventMap } from "../promiEvent/promiEventEmitter";
|
|
12
11
|
export declare function getClientConfigFromSettings(settings: NetworkSettings): Promise<ClientConfig>;
|
|
13
12
|
export declare function getMerkleHashVersionFromDapp(config: ClientConfig): Promise<number>;
|
|
14
13
|
export declare function validTxRid(txRID: Buffer): boolean;
|
|
@@ -19,14 +18,16 @@ interface NodeDiscoveryProps {
|
|
|
19
18
|
blockchainRid?: string;
|
|
20
19
|
blockchainIid?: number;
|
|
21
20
|
}
|
|
22
|
-
export declare function nodeDiscovery({ nodeManager, directoryEndpointPool, failOverConfig, blockchainRid, blockchainIid, }: NodeDiscoveryProps): Promise<string[]>;
|
|
21
|
+
export declare function nodeDiscovery({ nodeManager, directoryEndpointPool, failOverConfig, blockchainRid, blockchainIid, }: NodeDiscoveryProps): Promise<string[] | null>;
|
|
22
|
+
export declare function getBlockchainApiUrls(directoryClient: IClient, blockchainRid: Buffer): Promise<string[] | null>;
|
|
23
23
|
export declare function convertToRellOperation(operations: Operation[]): RellOperation[];
|
|
24
24
|
export declare function getSerializedGTX(gtx: GTX): Buffer;
|
|
25
25
|
export declare function getGTXFromBufferOrTransactionOrOperation(transaction: SignedTransaction | Transaction | Operation, blockchainRid: BufferId): GTX;
|
|
26
|
-
export declare const callbackPromiseBuilder: (reject: (reason?:
|
|
27
|
-
export declare const handlePostResponsePromisified: (error: Error | null, statusCode: number | null, rspBody:
|
|
26
|
+
export declare const callbackPromiseBuilder: <T, U = T>(reject: (reason?: Error | null) => void, resolve: (value: T | PromiseLike<T>) => void, callback?: ((error: Error | null, result: U | null) => void) | undefined) => ClientCallback<T>;
|
|
27
|
+
export declare const handlePostResponsePromisified: (error: Error | null, statusCode: number | null, rspBody: RawGtv | null | undefined) => Promise<void>;
|
|
28
28
|
export declare const formatTransactionInfoResponse: (transactionInfoResponse: TransactionInfoResponse) => TransactionInfo;
|
|
29
29
|
export declare const formatBlockInfoResponse: (blockInfoResponse: BlockInfoResponse) => BlockInfo;
|
|
30
|
+
export declare function formatRejectedTransactionFromResponse(rejectedTransactionResponse: RejectedTransactionResponse): RejectedTransaction;
|
|
30
31
|
export declare const isKeyPair: (keypair: unknown) => keypair is KeyPair;
|
|
31
32
|
export declare function getSystemClient(directoryNodeUrlPool: string[], directoryChainRid: string): Promise<IClient>;
|
|
32
33
|
export declare function getSystemAnchoringChain(directoryClient: IClient): Promise<Buffer>;
|
|
@@ -38,9 +39,9 @@ export declare const defaultFailoverConfig: {
|
|
|
38
39
|
};
|
|
39
40
|
export declare const createEndpointObjects: (endpointPoolUrls: readonly string[]) => Endpoint[];
|
|
40
41
|
export declare const getUrlsFromEndpoints: (endpointPool: Endpoint[]) => string[];
|
|
41
|
-
export declare function awaitDappConfirmation(txRID: Buffer, dappStatusPolling: StatusPolling, getTransactionStatus: (txRID: Buffer) => Promise<
|
|
42
|
+
export declare function awaitDappConfirmation(txRID: Buffer, dappStatusPolling: StatusPolling, getTransactionStatus: (txRID: Buffer) => Promise<TransactionStatusReponse>): Promise<TransactionStatusReponse>;
|
|
42
43
|
export declare function awaitClusterAnchoringChainConfirmation(txRID: Buffer, clusterAnchoringStatusPolling: StatusPolling, getClusterAnchoringTransactionConfirmation: (txRID: Buffer) => Promise<AnchoringTransaction | AnchoringStatus>): Promise<ClusterAnchoringConfirmation>;
|
|
43
|
-
export declare function handleDappConfirmations(transactionRid: Buffer, doStatusPolling: boolean, confirmationLevel: ChainConfirmationLevel,
|
|
44
|
+
export declare function handleDappConfirmations(transactionRid: Buffer, doStatusPolling: boolean, confirmationLevel: ChainConfirmationLevel, promiEvent: Web3PromiEvent<TransactionReceipt, Web3EventMap>, dappStatusPolling: StatusPolling, getTransactionStatus: () => Promise<TransactionStatusReponse>, client: IClient): Promise<TransactionReceipt>;
|
|
44
45
|
export declare function handleSystemConfirmations(transactionReceipt: TransactionReceipt, confirmationLevel: ChainConfirmationLevel, promiEvent: Web3PromiEvent<TransactionReceipt, Web3EventMap>, statusPollingConfig: {
|
|
45
46
|
dappStatusPolling: StatusPolling;
|
|
46
47
|
clusterAnchoringStatusPolling: StatusPolling;
|
|
@@ -48,6 +49,40 @@ export declare function handleSystemConfirmations(transactionReceipt: Transactio
|
|
|
48
49
|
}, anchoringClient: IClient, systemAnchoringChainBrid: string, getClusterAnchoringTransactionConfirmation: () => Promise<AnchoringTransaction | AnchoringStatus>, getSystemAnchoringTransactionConfirmation: (anchoredTxRid: Buffer, anchoringClient: IClient, systemAnchoringChainBrid: string) => Promise<AnchoringTransaction | null>): Promise<TransactionReceipt>;
|
|
49
50
|
export declare function getAnchoringClientAndSystemChainRid(client: IClient): Promise<AnchoringClientAndSystemBrid>;
|
|
50
51
|
export declare function getSystemAnchoringTransaction(dappClientEndpointPool: Endpoint[], anchoredTxRid: BufferId, anchoringClient: IClient, systemAnchoringChainRid: string, systemAnchoringStatusPolling: StatusPolling, merkleHashVersion: number): Promise<AnchoringTransaction | null>;
|
|
51
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Should be used to configure the `IClient` `ClientConfig` (config) properties
|
|
54
|
+
* `dappStatusPolling`, `clusterAnchoringStatusPolling` and `systemAnchoringStatusPolling` with
|
|
55
|
+
* the corresponding status polling configuration `interval` and `status`.
|
|
56
|
+
* If the values are not provided, they do default to `500` for `interval` and `20` for `count`
|
|
57
|
+
*
|
|
58
|
+
* @param statusPolling - An optional partial configuration object, that can set the status polling interval and count properties
|
|
59
|
+
* @returns - Returns a complete `StatusPolling` configuration object, with default values for any missing properties
|
|
60
|
+
* of the provided partial configuration
|
|
61
|
+
*/
|
|
62
|
+
export declare function setStatusPolling(statusPolling?: Partial<StatusPolling>): StatusPolling;
|
|
52
63
|
export declare function linkPromiEvents(event1: Web3PromiEvent<TransactionReceipt, Web3EventMap>, event2: Web3PromiEvent<TransactionReceipt, Web3EventMap>): void;
|
|
64
|
+
/**
|
|
65
|
+
* @param error response error
|
|
66
|
+
* @param statusCode response status code
|
|
67
|
+
* @param responseObject the responsebody from the server
|
|
68
|
+
* @param callback the callback function to propagate the error and response back to the caller
|
|
69
|
+
*/
|
|
70
|
+
export declare function handleGetResponse<T>(error: Error | null | undefined, statusCode: number | null, responseObject: RawGtv | null | undefined, callback: ClientCallback<T>): void;
|
|
71
|
+
/**
|
|
72
|
+
* @param error response error
|
|
73
|
+
* @param statusCode response status code
|
|
74
|
+
* @param responseObject the responsebody from the server
|
|
75
|
+
* @param callback the callback function to propagate the error and response back to the caller
|
|
76
|
+
*/
|
|
77
|
+
export declare function handlePostResponse<T extends RawGtv>(error: Error | null | undefined, statusCode: number | null, responseObject: RawGtv | null | undefined, callback: ClientCallback<T>): void;
|
|
78
|
+
interface BlockchainRidFromIidPops {
|
|
79
|
+
endpointPool: Endpoint[];
|
|
80
|
+
chainId: number;
|
|
81
|
+
nodeManager: NodeManager;
|
|
82
|
+
failOverConfig?: FailOverConfig;
|
|
83
|
+
merkleHashVersion: number;
|
|
84
|
+
}
|
|
85
|
+
export declare function getBlockchainRidFromIid({ endpointPool, chainId, failOverConfig, nodeManager, }: BlockchainRidFromIidPops): Promise<string>;
|
|
86
|
+
export declare const sleep: (ms: number) => Promise<unknown>;
|
|
87
|
+
export declare function convertToPrintable(responseObject: unknown): string;
|
|
53
88
|
export {};
|
|
@@ -7,28 +7,28 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import { Buffer } from "buffer";
|
|
11
10
|
import * as logger from "../logger";
|
|
12
|
-
import { SerializedTransactionFormatException, InvalidTxRidException, TxRejectedError, } from "
|
|
13
|
-
import { handlePostResponse } from "../restclient/restclient";
|
|
11
|
+
import { SerializedTransactionFormatException, InvalidTxRidException, TxRejectedError, UnexpectedStatusError, GetBridFromChainException, } from "./errors";
|
|
14
12
|
import * as gtxTool from "../gtx/gtx";
|
|
15
13
|
import { BlockchainUrlUndefinedException, DirectoryNodeUrlPoolException, InvalidTransactionFormatException, MissingBlockchainIdentifierError, } from "./errors";
|
|
16
|
-
import { getBlockchainRidFromIid, requestWithFailoverStrategy, sleep } from "../restclient/restclientutil";
|
|
17
14
|
import { ensureBuffer, toBuffer } from "../formatter";
|
|
18
15
|
import { createClient } from "./blockchainClient";
|
|
19
|
-
import { AnchoringStatus, ChainConfirmationLevel, FailoverStrategy, ResponseStatus, TransactionEvent, } from "./enums";
|
|
20
|
-
import { createNodeManager } from "
|
|
16
|
+
import { AnchoringStatus, ChainConfirmationLevel, FailoverStrategy, Method, ResponseStatus, TransactionEvent, } from "./enums";
|
|
17
|
+
import { createNodeManager } from "./nodeManager";
|
|
21
18
|
import { AnchoringTransactionSchema } from "./validation/anchoringTransaction";
|
|
22
19
|
import { SystemChainException } from "../ICCF/error";
|
|
23
20
|
import { getAnchoringClient } from "../ICCF/IccfProofTxMaterialBuilder";
|
|
24
21
|
import { awaitGetAnchoringTransactionForBlockRid, calculateBlockRID } from "../ICCF/utils";
|
|
25
|
-
import {
|
|
22
|
+
import { isString } from "./validation/requests";
|
|
23
|
+
import { encodeTransaction } from "../utils/encodeTransaction";
|
|
26
24
|
import { validateMerkleHash } from "./validation/merkleHash";
|
|
25
|
+
import { requestWithFailoverStrategy } from "./requestWithFailoverStrategy";
|
|
26
|
+
import { MERKLE_HASH_VERSIONS } from "../utils/constants";
|
|
27
27
|
export function getClientConfigFromSettings(settings) {
|
|
28
28
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
29
29
|
return __awaiter(this, void 0, void 0, function* () {
|
|
30
30
|
const nodeUrlPoolToUse = yield getNodeUrlsFromSettings(settings);
|
|
31
|
-
if (nodeUrlPoolToUse.length === 0) {
|
|
31
|
+
if (nodeUrlPoolToUse === null || nodeUrlPoolToUse.length === 0) {
|
|
32
32
|
const id = (_b = (_a = settings.blockchainRid) !== null && _a !== void 0 ? _a : settings.blockchainIid) !== null && _b !== void 0 ? _b : "Unknown";
|
|
33
33
|
throw new BlockchainUrlUndefinedException(id);
|
|
34
34
|
}
|
|
@@ -91,7 +91,7 @@ export function getMerkleHashVersionFromDapp(config) {
|
|
|
91
91
|
}
|
|
92
92
|
catch (error) {
|
|
93
93
|
console.warn("MERKLE_HASH_WARNING: version not found or endpoint unreachable", error);
|
|
94
|
-
return
|
|
94
|
+
return MERKLE_HASH_VERSIONS.ONE;
|
|
95
95
|
}
|
|
96
96
|
});
|
|
97
97
|
}
|
|
@@ -134,17 +134,21 @@ export function nodeDiscovery({ nodeManager, directoryEndpointPool, failOverConf
|
|
|
134
134
|
}
|
|
135
135
|
throw new MissingBlockchainIdentifierError();
|
|
136
136
|
}))();
|
|
137
|
-
const queryObject = {
|
|
138
|
-
name: "cm_get_blockchain_api_urls",
|
|
139
|
-
args: { blockchain_rid: toBuffer(blockchainRidToUse) },
|
|
140
|
-
};
|
|
141
137
|
const D1Client = yield createClient({
|
|
142
138
|
nodeUrlPool: getUrlsFromEndpoints(directoryEndpointPool),
|
|
143
139
|
blockchainRid: directoryBRID,
|
|
144
140
|
merkleHashVersion: 0,
|
|
145
141
|
});
|
|
146
|
-
|
|
147
|
-
|
|
142
|
+
return yield getBlockchainApiUrls(D1Client, ensureBuffer(blockchainRidToUse));
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
export function getBlockchainApiUrls(directoryClient, blockchainRid) {
|
|
146
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
147
|
+
const queryObject = {
|
|
148
|
+
name: "cm_get_blockchain_api_urls",
|
|
149
|
+
args: { blockchain_rid: blockchainRid },
|
|
150
|
+
};
|
|
151
|
+
return yield directoryClient.query(queryObject);
|
|
148
152
|
});
|
|
149
153
|
}
|
|
150
154
|
export function convertToRellOperation(operations) {
|
|
@@ -157,7 +161,7 @@ export function convertToRellOperation(operations) {
|
|
|
157
161
|
});
|
|
158
162
|
}
|
|
159
163
|
export function getSerializedGTX(gtx) {
|
|
160
|
-
const gtxBytes =
|
|
164
|
+
const gtxBytes = encodeTransaction(gtx);
|
|
161
165
|
if (!Buffer.isBuffer(gtxBytes)) {
|
|
162
166
|
throw new SerializedTransactionFormatException();
|
|
163
167
|
}
|
|
@@ -189,17 +193,14 @@ export function getGTXFromBufferOrTransactionOrOperation(transaction, blockchain
|
|
|
189
193
|
}
|
|
190
194
|
export const callbackPromiseBuilder = (reject, resolve, callback) => {
|
|
191
195
|
return (error, result) => {
|
|
196
|
+
var _a;
|
|
192
197
|
if (error) {
|
|
193
|
-
|
|
194
|
-
callback(error, null);
|
|
195
|
-
}
|
|
198
|
+
callback === null || callback === void 0 ? void 0 : callback(error, null);
|
|
196
199
|
reject(error);
|
|
197
200
|
}
|
|
198
201
|
else {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
}
|
|
202
|
-
resolve(result);
|
|
202
|
+
callback === null || callback === void 0 ? void 0 : callback(null, (_a = result) !== null && _a !== void 0 ? _a : null);
|
|
203
|
+
resolve(result !== null && result !== void 0 ? result : null);
|
|
203
204
|
}
|
|
204
205
|
};
|
|
205
206
|
};
|
|
@@ -257,6 +258,13 @@ const formatTransaction = (transaction) => {
|
|
|
257
258
|
}
|
|
258
259
|
return formattedTransaction;
|
|
259
260
|
};
|
|
261
|
+
export function formatRejectedTransactionFromResponse(rejectedTransactionResponse) {
|
|
262
|
+
return {
|
|
263
|
+
txRid: toBuffer(rejectedTransactionResponse.txRID),
|
|
264
|
+
rejectReason: rejectedTransactionResponse.rejectReason,
|
|
265
|
+
rejectTimestamp: rejectedTransactionResponse.rejectTimestamp,
|
|
266
|
+
};
|
|
267
|
+
}
|
|
260
268
|
export const isKeyPair = (keypair) => {
|
|
261
269
|
return (typeof keypair === "object" &&
|
|
262
270
|
keypair !== null &&
|
|
@@ -274,13 +282,14 @@ function getNodeUrlsFromSettings(settings) {
|
|
|
274
282
|
nodeUrls: ensureArray(settings.directoryNodeUrlPool),
|
|
275
283
|
unavailableDuration: (_a = settings.failOverConfig) === null || _a === void 0 ? void 0 : _a.unreachableDuration,
|
|
276
284
|
});
|
|
277
|
-
|
|
285
|
+
const discoveredNodes = yield nodeDiscovery({
|
|
278
286
|
nodeManager,
|
|
279
287
|
directoryEndpointPool: createEndpointObjects(ensureArray(settings.directoryNodeUrlPool)),
|
|
280
288
|
failOverConfig: settings.failOverConfig,
|
|
281
289
|
blockchainRid: settings.blockchainRid,
|
|
282
290
|
blockchainIid: settings.blockchainIid,
|
|
283
291
|
});
|
|
292
|
+
return discoveredNodes;
|
|
284
293
|
}
|
|
285
294
|
else if (typeof settings.nodeUrlPool === "string") {
|
|
286
295
|
// If nodeUrlPool is a string, convert it to an array
|
|
@@ -344,7 +353,7 @@ export function awaitDappConfirmation(txRID, dappStatusPolling, getTransactionSt
|
|
|
344
353
|
for (let i = 0; i < dappStatusPolling.count; i++) {
|
|
345
354
|
lastKnownResult = yield getTransactionStatus(txRID);
|
|
346
355
|
if (lastKnownResult.status === ResponseStatus.Confirmed) {
|
|
347
|
-
return
|
|
356
|
+
return lastKnownResult;
|
|
348
357
|
}
|
|
349
358
|
else if (lastKnownResult.status === ResponseStatus.Rejected) {
|
|
350
359
|
throw new TxRejectedError((_a = lastKnownResult.rejectReason) !== null && _a !== void 0 ? _a : "");
|
|
@@ -354,7 +363,7 @@ export function awaitDappConfirmation(txRID, dappStatusPolling, getTransactionSt
|
|
|
354
363
|
// TS issue. This could be fixed by implementing new retry strategy
|
|
355
364
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
356
365
|
//@ts-expect-error
|
|
357
|
-
return lastKnownResult
|
|
366
|
+
return lastKnownResult;
|
|
358
367
|
});
|
|
359
368
|
}
|
|
360
369
|
export function awaitClusterAnchoringChainConfirmation(txRID, clusterAnchoringStatusPolling, getClusterAnchoringTransactionConfirmation) {
|
|
@@ -381,19 +390,23 @@ export function awaitClusterAnchoringChainConfirmation(txRID, clusterAnchoringSt
|
|
|
381
390
|
return clusterAnchoringConfirmation;
|
|
382
391
|
});
|
|
383
392
|
}
|
|
384
|
-
export function handleDappConfirmations(transactionRid, doStatusPolling, confirmationLevel,
|
|
393
|
+
export function handleDappConfirmations(transactionRid, doStatusPolling, confirmationLevel, promiEvent, dappStatusPolling, getTransactionStatus, client) {
|
|
394
|
+
var _a, _b;
|
|
385
395
|
return __awaiter(this, void 0, void 0, function* () {
|
|
386
396
|
const transactionReceipt = {
|
|
387
|
-
status: ResponseStatus.
|
|
388
|
-
statusCode:
|
|
397
|
+
status: ResponseStatus.Pending,
|
|
398
|
+
statusCode: null,
|
|
389
399
|
transactionRid: transactionRid,
|
|
400
|
+
node: (_a = client.config.nodeManager.lastUsedNode) === null || _a === void 0 ? void 0 : _a.url,
|
|
390
401
|
};
|
|
391
402
|
promiEvent.emit(TransactionEvent.DappReceived, transactionReceipt);
|
|
392
403
|
if (doStatusPolling === false || confirmationLevel === ChainConfirmationLevel.None) {
|
|
393
404
|
return transactionReceipt;
|
|
394
405
|
}
|
|
395
406
|
const dappConfirmationStatus = yield awaitDappConfirmation(transactionRid, dappStatusPolling, getTransactionStatus);
|
|
396
|
-
transactionReceipt.
|
|
407
|
+
transactionReceipt.statusCode = dappConfirmationStatus.statusCode;
|
|
408
|
+
transactionReceipt.status = dappConfirmationStatus.status;
|
|
409
|
+
transactionReceipt.node = (_b = client.config.nodeManager.lastUsedNode) === null || _b === void 0 ? void 0 : _b.url;
|
|
397
410
|
promiEvent.emit(TransactionEvent.DappConfirmed, transactionReceipt);
|
|
398
411
|
if (confirmationLevel === ChainConfirmationLevel.Dapp) {
|
|
399
412
|
return transactionReceipt;
|
|
@@ -447,6 +460,16 @@ export function getSystemAnchoringTransaction(dappClientEndpointPool, anchoredTx
|
|
|
447
460
|
return systemAnchoringTransactionValidation.data;
|
|
448
461
|
});
|
|
449
462
|
}
|
|
463
|
+
/**
|
|
464
|
+
* Should be used to configure the `IClient` `ClientConfig` (config) properties
|
|
465
|
+
* `dappStatusPolling`, `clusterAnchoringStatusPolling` and `systemAnchoringStatusPolling` with
|
|
466
|
+
* the corresponding status polling configuration `interval` and `status`.
|
|
467
|
+
* If the values are not provided, they do default to `500` for `interval` and `20` for `count`
|
|
468
|
+
*
|
|
469
|
+
* @param statusPolling - An optional partial configuration object, that can set the status polling interval and count properties
|
|
470
|
+
* @returns - Returns a complete `StatusPolling` configuration object, with default values for any missing properties
|
|
471
|
+
* of the provided partial configuration
|
|
472
|
+
*/
|
|
450
473
|
export function setStatusPolling(statusPolling) {
|
|
451
474
|
var _a, _b;
|
|
452
475
|
return {
|
|
@@ -456,9 +479,105 @@ export function setStatusPolling(statusPolling) {
|
|
|
456
479
|
}
|
|
457
480
|
export function linkPromiEvents(event1, event2) {
|
|
458
481
|
const transactionEvents = Object.values(TransactionEvent).filter((event) => typeof event === "string");
|
|
482
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
459
483
|
const forwardEvent = (eventName) => (receipt) => event2.emit(eventName, receipt);
|
|
460
484
|
for (const eventName of transactionEvents) {
|
|
461
485
|
event1.on(eventName, forwardEvent(eventName));
|
|
462
486
|
}
|
|
463
487
|
}
|
|
488
|
+
/**
|
|
489
|
+
* @param error response error
|
|
490
|
+
* @param statusCode response status code
|
|
491
|
+
* @param responseObject the responsebody from the server
|
|
492
|
+
* @param callback the callback function to propagate the error and response back to the caller
|
|
493
|
+
*/
|
|
494
|
+
export function handleGetResponse(error, statusCode, responseObject, callback) {
|
|
495
|
+
try {
|
|
496
|
+
const responseObjectPrintable = convertToPrintable(responseObject);
|
|
497
|
+
logger.debug(`error: ${error}, status code: ${statusCode}, response body: ${responseObjectPrintable}`);
|
|
498
|
+
if (error) {
|
|
499
|
+
return callback(error, null);
|
|
500
|
+
}
|
|
501
|
+
if (statusCode !== 200) {
|
|
502
|
+
return callback(new UnexpectedStatusError(statusCode !== null && statusCode !== void 0 ? statusCode : 400, responseObjectPrintable), null);
|
|
503
|
+
}
|
|
504
|
+
return callback(null, responseObject);
|
|
505
|
+
}
|
|
506
|
+
catch (error) {
|
|
507
|
+
callback(error, null);
|
|
508
|
+
logger.error(`client.handleGetResponse(): Failed to call the callback function. ${error}`);
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* @param error response error
|
|
513
|
+
* @param statusCode response status code
|
|
514
|
+
* @param responseObject the responsebody from the server
|
|
515
|
+
* @param callback the callback function to propagate the error and response back to the caller
|
|
516
|
+
*/
|
|
517
|
+
export function handlePostResponse(error, statusCode, responseObject, callback) {
|
|
518
|
+
const responseObjectPrintable = convertToPrintable(responseObject);
|
|
519
|
+
logger.debug(`error: ${error}, status code: ${statusCode}, response body: ${responseObjectPrintable}`);
|
|
520
|
+
try {
|
|
521
|
+
if (error) {
|
|
522
|
+
logger.error(`In client post(). ${error}`);
|
|
523
|
+
callback(error, null);
|
|
524
|
+
}
|
|
525
|
+
else if (statusCode != 200) {
|
|
526
|
+
let errorMessage = `Unexpected status code from server. Code: ${statusCode}.`;
|
|
527
|
+
if (responseObjectPrintable) {
|
|
528
|
+
errorMessage += ` Message: ${responseObjectPrintable}.`;
|
|
529
|
+
}
|
|
530
|
+
logger.error(errorMessage);
|
|
531
|
+
callback(new UnexpectedStatusError(statusCode !== null && statusCode !== void 0 ? statusCode : 400, responseObjectPrintable), responseObject);
|
|
532
|
+
}
|
|
533
|
+
else {
|
|
534
|
+
logger.info(`Calling responseCallback with responseObject: ${responseObjectPrintable}`);
|
|
535
|
+
callback(null, responseObject);
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
catch (error) {
|
|
539
|
+
logger.error(`client.handlePostResponse(): Failed to call callback function ${error}`);
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
export function getBlockchainRidFromIid({ endpointPool, chainId, failOverConfig = {}, nodeManager, }) {
|
|
543
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
544
|
+
const mergedFailOverConfig = Object.assign(Object.assign({}, defaultFailoverConfig), failOverConfig);
|
|
545
|
+
const config = {
|
|
546
|
+
endpointPool,
|
|
547
|
+
nodeManager,
|
|
548
|
+
dappStatusPolling: setStatusPolling(),
|
|
549
|
+
clusterAnchoringStatusPolling: setStatusPolling(),
|
|
550
|
+
systemAnchoringStatusPolling: setStatusPolling(),
|
|
551
|
+
failoverStrategy: mergedFailOverConfig.strategy,
|
|
552
|
+
attemptsPerEndpoint: mergedFailOverConfig.attemptsPerEndpoint,
|
|
553
|
+
attemptInterval: mergedFailOverConfig.attemptInterval,
|
|
554
|
+
unreachableDuration: mergedFailOverConfig.unreachableDuration,
|
|
555
|
+
merkleHashVersion: 0,
|
|
556
|
+
};
|
|
557
|
+
const { error, statusCode, rspBody } = yield requestWithFailoverStrategy(Method.GET, `/brid/iid_${chainId}`, config);
|
|
558
|
+
const blockchainRid = isString(rspBody);
|
|
559
|
+
if (!blockchainRid) {
|
|
560
|
+
throw error;
|
|
561
|
+
}
|
|
562
|
+
if (error) {
|
|
563
|
+
throw new GetBridFromChainException(chainId, error.message);
|
|
564
|
+
}
|
|
565
|
+
else if (statusCode !== 200) {
|
|
566
|
+
throw new GetBridFromChainException(chainId, blockchainRid);
|
|
567
|
+
}
|
|
568
|
+
return blockchainRid;
|
|
569
|
+
});
|
|
570
|
+
}
|
|
571
|
+
export const sleep = (ms) => new Promise(r => setTimeout(r, ms));
|
|
572
|
+
export function convertToPrintable(responseObject) {
|
|
573
|
+
if (typeof responseObject === "bigint") {
|
|
574
|
+
return `${responseObject}n`;
|
|
575
|
+
}
|
|
576
|
+
else if (typeof responseObject === "object") {
|
|
577
|
+
return JSON.stringify(responseObject, (key, value) => typeof value === "bigint" ? `${value}n` : value);
|
|
578
|
+
}
|
|
579
|
+
else {
|
|
580
|
+
return String(responseObject);
|
|
581
|
+
}
|
|
582
|
+
}
|
|
464
583
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/blockchainClient/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/blockchainClient/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { MERKLE_HASH_VERSIONS } from "../../utils/constants";
|
|
2
3
|
const MerkleHashSchema = z.object({
|
|
3
4
|
merkle_hash_version: z.number().int().positive(),
|
|
4
5
|
});
|
|
@@ -6,7 +7,7 @@ export const validateMerkleHash = (data) => {
|
|
|
6
7
|
const result = MerkleHashSchema.safeParse(data);
|
|
7
8
|
if (!result.success) {
|
|
8
9
|
console.warn("MERKLE_HASH_WARNING: version not found or endpoint unreachable");
|
|
9
|
-
return { merkle_hash_version:
|
|
10
|
+
return { merkle_hash_version: MERKLE_HASH_VERSIONS.ONE };
|
|
10
11
|
}
|
|
11
12
|
return result.data;
|
|
12
13
|
};
|