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
|
@@ -7,9 +7,9 @@ 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 {
|
|
11
|
-
import handleRequest from "./httpUtil";
|
|
12
|
-
import
|
|
10
|
+
import { sleep } from "./utils";
|
|
11
|
+
import { handleRequest } from "./httpUtil";
|
|
12
|
+
import * as logger from "../logger";
|
|
13
13
|
const isSuccessfullRequest = (statusCode) => statusCode >= 200 && statusCode < 300;
|
|
14
14
|
const hasClientError = (statusCode) => statusCode >= 400 && statusCode < 500;
|
|
15
15
|
const hasServerError = (statusCode) => statusCode >= 500 && statusCode < 600;
|
|
@@ -38,10 +38,13 @@ export function tryNextOnError({ method, path, config, postObject, }) {
|
|
|
38
38
|
export const errorMessages = {
|
|
39
39
|
NO_CONSENSUS: "Nodes were not able to reach a consensus",
|
|
40
40
|
};
|
|
41
|
+
function calculateBftMajorityThreshold(endpointPoolLength) {
|
|
42
|
+
return endpointPoolLength - (endpointPoolLength - 1) / 3;
|
|
43
|
+
}
|
|
41
44
|
export function queryMajority({ method, path, config, postObject, }) {
|
|
42
45
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
46
|
// Set up constants
|
|
44
|
-
const bftMajorityThreshold =
|
|
47
|
+
const bftMajorityThreshold = calculateBftMajorityThreshold(config.endpointPool.length);
|
|
45
48
|
const failureThreshold = config.endpointPool.length - bftMajorityThreshold + 1;
|
|
46
49
|
const { nodeManager } = config;
|
|
47
50
|
const timeout = 15000;
|
|
@@ -113,36 +116,44 @@ export function queryMajority({ method, path, config, postObject, }) {
|
|
|
113
116
|
}
|
|
114
117
|
export function singleEndpoint({ method, path, config, postObject, }) {
|
|
115
118
|
return __awaiter(this, void 0, void 0, function* () {
|
|
116
|
-
let statusCode
|
|
117
|
-
|
|
118
|
-
|
|
119
|
+
let statusCode = null;
|
|
120
|
+
let rspBody = null;
|
|
121
|
+
let error = null;
|
|
122
|
+
let transactionTimestamp = undefined;
|
|
123
|
+
const endpoint = config.nodeManager.getNode();
|
|
119
124
|
if (!endpoint) {
|
|
120
125
|
throw new Error("Cannot get endpoint. Node not found!");
|
|
121
126
|
}
|
|
122
127
|
for (let attempt = 0; attempt < config.attemptsPerEndpoint; attempt++) {
|
|
123
|
-
|
|
128
|
+
const response = yield handleRequest(method, path, endpoint.url, postObject);
|
|
129
|
+
if (response) {
|
|
130
|
+
({ error, statusCode, rspBody, transactionTimestamp } = response);
|
|
131
|
+
}
|
|
124
132
|
const isError = statusCode ? hasServerError(statusCode) || hasClientError(statusCode) : false;
|
|
125
133
|
if (!isError && !error) {
|
|
126
|
-
return { error, statusCode, rspBody };
|
|
134
|
+
return { error, statusCode, rspBody, transactionTimestamp };
|
|
127
135
|
}
|
|
128
|
-
logger.info(`${method} request failed on ${
|
|
136
|
+
logger.info(`${method} request failed on ${endpoint.url}. Attempt: ${attempt + 1} / ${config.attemptsPerEndpoint}`);
|
|
129
137
|
yield sleep(config.attemptInterval);
|
|
130
138
|
}
|
|
131
|
-
|
|
132
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
133
|
-
// @ts-expect-error
|
|
134
|
-
return { error, statusCode, rspBody };
|
|
139
|
+
return { error, statusCode, rspBody, transactionTimestamp };
|
|
135
140
|
});
|
|
136
141
|
}
|
|
137
142
|
export function retryRequest({ method, path, config, postObject, validateStatusCode, }) {
|
|
143
|
+
var _a, _b, _c;
|
|
138
144
|
return __awaiter(this, void 0, void 0, function* () {
|
|
139
|
-
let statusCode;
|
|
140
|
-
let rspBody;
|
|
141
|
-
let error;
|
|
145
|
+
let statusCode = null;
|
|
146
|
+
let rspBody = null;
|
|
147
|
+
let error = null;
|
|
148
|
+
let transactionTimestamp = undefined;
|
|
142
149
|
const { nodeManager } = config;
|
|
143
150
|
for (const endpoint of nodeManager.getAvailableNodes()) {
|
|
144
151
|
for (let attempt = 0; attempt < config.attemptsPerEndpoint; attempt++) {
|
|
145
|
-
|
|
152
|
+
const response = yield handleRequest(method, path, endpoint.url, postObject);
|
|
153
|
+
error = (_a = response === null || response === void 0 ? void 0 : response.error) !== null && _a !== void 0 ? _a : null;
|
|
154
|
+
statusCode = (_b = response === null || response === void 0 ? void 0 : response.statusCode) !== null && _b !== void 0 ? _b : null;
|
|
155
|
+
rspBody = (_c = response === null || response === void 0 ? void 0 : response.rspBody) !== null && _c !== void 0 ? _c : null;
|
|
156
|
+
transactionTimestamp = response === null || response === void 0 ? void 0 : response.transactionTimestamp;
|
|
146
157
|
const isStatusCodeValid = statusCode ? validateStatusCode(statusCode) : false;
|
|
147
158
|
const isServerError = statusCode ? hasServerError(statusCode) : false;
|
|
148
159
|
if (isStatusCodeValid && !error) {
|
|
@@ -150,19 +161,88 @@ export function retryRequest({ method, path, config, postObject, validateStatusC
|
|
|
150
161
|
if (nodeManager.stickedNode !== endpoint) {
|
|
151
162
|
nodeManager.setStickyNode(endpoint);
|
|
152
163
|
}
|
|
153
|
-
return { error, statusCode, rspBody };
|
|
164
|
+
return { error, statusCode, rspBody, transactionTimestamp };
|
|
154
165
|
}
|
|
155
166
|
if (isServerError) {
|
|
156
|
-
nodeManager.makeNodeUnavailable(endpoint.url);
|
|
167
|
+
// nodeManager.makeNodeUnavailable(endpoint.url);
|
|
168
|
+
logger.info(`server error on ${endpoint.url}`);
|
|
157
169
|
}
|
|
158
170
|
logger.info(`${method} request failed on ${endpoint.url}. Attempt: ${attempt + 1} / ${config.attemptsPerEndpoint}`);
|
|
159
171
|
yield sleep(config.attemptInterval);
|
|
160
172
|
}
|
|
161
173
|
}
|
|
162
|
-
|
|
163
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
164
|
-
// @ts-expect-error
|
|
165
|
-
return { error, statusCode, rspBody };
|
|
174
|
+
return { error, statusCode, rspBody, transactionTimestamp };
|
|
166
175
|
});
|
|
167
176
|
}
|
|
177
|
+
export function racePromisesWithTimeout(promises, timeout) {
|
|
178
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
179
|
+
let remainingPromises = [];
|
|
180
|
+
try {
|
|
181
|
+
const resolvedPromise = yield Promise.race([createTimeoutPromise(timeout), ...promises]);
|
|
182
|
+
const promisesWithState = yield checkStateOfPromises(promises);
|
|
183
|
+
const indexOfpromiseToRemove = promisesWithState.findIndex(p => JSON.stringify(p.value) === JSON.stringify(resolvedPromise));
|
|
184
|
+
// Remove the promise that resolved from the list of promises
|
|
185
|
+
promisesWithState.splice(indexOfpromiseToRemove, 1);
|
|
186
|
+
// Remove the state before returning the promises.
|
|
187
|
+
remainingPromises = promisesWithState.map(p => p.value);
|
|
188
|
+
return remainingPromises;
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
if (error instanceof Error && error.message === "Timeout exceeded") {
|
|
192
|
+
throw error;
|
|
193
|
+
}
|
|
194
|
+
return remainingPromises;
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
export function createTimeoutPromise(timeoutMs) {
|
|
199
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
200
|
+
return new Promise((_, reject) => {
|
|
201
|
+
setTimeout(() => {
|
|
202
|
+
reject(new Error("Timeout exceeded"));
|
|
203
|
+
}, timeoutMs);
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
export const checkStateOfPromises = (promises) => __awaiter(void 0, void 0, void 0, function* () {
|
|
208
|
+
const promiseList = [];
|
|
209
|
+
const pendingState = { status: "pending" };
|
|
210
|
+
for (const p of promises) {
|
|
211
|
+
promiseList.push(yield Promise.race([p, pendingState]).then(value => value === pendingState ? Object.assign(Object.assign({}, pendingState), { value: p }) : { status: "fulfilled", value }, reason => ({ status: "rejected", value: reason })));
|
|
212
|
+
}
|
|
213
|
+
return promiseList;
|
|
214
|
+
});
|
|
215
|
+
const stableStringify = (obj) => {
|
|
216
|
+
if (obj && typeof obj === "object" && !Array.isArray(obj)) {
|
|
217
|
+
return JSON.stringify(obj, Object.keys(obj).sort());
|
|
218
|
+
}
|
|
219
|
+
return JSON.stringify(obj);
|
|
220
|
+
};
|
|
221
|
+
export const groupResponses = (responses) => {
|
|
222
|
+
const responseMap = responses.reduce((acc, response) => {
|
|
223
|
+
const key = stableStringify(response.result);
|
|
224
|
+
acc[key] = acc[key]
|
|
225
|
+
? { response: acc[key].response, count: acc[key].count + 1 }
|
|
226
|
+
: { response, count: 1 };
|
|
227
|
+
return acc;
|
|
228
|
+
}, {});
|
|
229
|
+
const distinctResponses = Object.values(responseMap).sort((a, b) => b.count - a.count);
|
|
230
|
+
// Returns the count of the most common response
|
|
231
|
+
const maxNumberOfEqualResponses = () => {
|
|
232
|
+
return distinctResponses.length > 0 ? distinctResponses[0].count : 0;
|
|
233
|
+
};
|
|
234
|
+
// Returns the number of distinct responses
|
|
235
|
+
const numberOfDistinctResponses = () => {
|
|
236
|
+
return distinctResponses.length;
|
|
237
|
+
};
|
|
238
|
+
// Returns the most common response
|
|
239
|
+
const majorityResponse = () => {
|
|
240
|
+
return distinctResponses[0].response.result;
|
|
241
|
+
};
|
|
242
|
+
return {
|
|
243
|
+
maxNumberOfEqualResponses,
|
|
244
|
+
numberOfDistinctResponses,
|
|
245
|
+
majorityResponse,
|
|
246
|
+
};
|
|
247
|
+
};
|
|
168
248
|
//# sourceMappingURL=failoverStrategies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"failoverStrategies.js","sourceRoot":"","sources":["../../../src/blockchainClient/failoverStrategies.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Method } from "./enums";
|
|
3
|
+
import { PostRequestObjects, ResponseObject } from "./types";
|
|
4
|
+
export declare function handleRequest(method: Method, path: string, endpoint: string, postObject?: PostRequestObjects | Buffer): Promise<ResponseObject>;
|
|
@@ -7,11 +7,10 @@ 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
11
|
import { decodeValue } from "../gtx/serialization";
|
|
13
12
|
import { Method } from "./enums";
|
|
14
|
-
function handleRequest(method, path, endpoint, postObject) {
|
|
13
|
+
export function handleRequest(method, path, endpoint, postObject) {
|
|
15
14
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16
15
|
if (method == Method.GET) {
|
|
17
16
|
return yield get(path, endpoint);
|
|
@@ -21,7 +20,6 @@ function handleRequest(method, path, endpoint, postObject) {
|
|
|
21
20
|
}
|
|
22
21
|
});
|
|
23
22
|
}
|
|
24
|
-
export default handleRequest;
|
|
25
23
|
/**
|
|
26
24
|
* Sends request to get data from a given API endpoint.
|
|
27
25
|
* @param path API endpoint of Rell backend
|
|
@@ -33,22 +31,23 @@ function get(path, endpoint) {
|
|
|
33
31
|
try {
|
|
34
32
|
const response = yield fetch(new URL(path, endpoint).href);
|
|
35
33
|
const contentType = response.headers.get("Content-Type");
|
|
36
|
-
|
|
34
|
+
const transactionTimestamp = response.headers.get("X-Transaction-Timestamp");
|
|
35
|
+
let rspBody = null;
|
|
36
|
+
const error = null;
|
|
37
37
|
if (contentType === null || contentType === void 0 ? void 0 : contentType.includes("application/json")) {
|
|
38
38
|
rspBody = yield response.json();
|
|
39
39
|
}
|
|
40
40
|
else if (contentType === null || contentType === void 0 ? void 0 : contentType.includes("text/plain")) {
|
|
41
41
|
rspBody = yield response.text();
|
|
42
42
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
};
|
|
43
|
+
else if (contentType === null || contentType === void 0 ? void 0 : contentType.includes("application/octet-stream")) {
|
|
44
|
+
rspBody = yield constructBufferResponseBody(response);
|
|
45
|
+
}
|
|
46
|
+
return createResponseObject(error, response.status, rspBody, transactionTimestamp);
|
|
48
47
|
}
|
|
49
48
|
catch (error) {
|
|
50
49
|
logger.error(error.message);
|
|
51
|
-
return
|
|
50
|
+
return createResponseObject(error, null, null);
|
|
52
51
|
}
|
|
53
52
|
});
|
|
54
53
|
}
|
|
@@ -73,14 +72,11 @@ function post(path, endpoint, requestBody) {
|
|
|
73
72
|
},
|
|
74
73
|
};
|
|
75
74
|
const response = yield fetch(new URL(path, endpoint).href, requestOptions);
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
statusCode: response.status,
|
|
79
|
-
rspBody: yield constructBufferPostResponseBody(response),
|
|
80
|
-
};
|
|
75
|
+
const transactionTimestamp = response.headers.get("X-Transaction-Timestamp");
|
|
76
|
+
return createResponseObject(null, response.status, yield constructBufferResponseBody(response), transactionTimestamp);
|
|
81
77
|
}
|
|
82
78
|
catch (error) {
|
|
83
|
-
return
|
|
79
|
+
return createResponseObject(error, null, null);
|
|
84
80
|
}
|
|
85
81
|
}
|
|
86
82
|
else {
|
|
@@ -93,19 +89,16 @@ function post(path, endpoint, requestBody) {
|
|
|
93
89
|
"Content-Type": "application/json",
|
|
94
90
|
},
|
|
95
91
|
});
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
statusCode: response.status,
|
|
99
|
-
rspBody: yield constructBufferPostResponseBody(response),
|
|
100
|
-
};
|
|
92
|
+
const transactionTimestamp = response.headers.get("X-Transaction-Timestamp");
|
|
93
|
+
return createResponseObject(null, response.status, yield constructBufferResponseBody(response), transactionTimestamp);
|
|
101
94
|
}
|
|
102
95
|
catch (error) {
|
|
103
|
-
return
|
|
96
|
+
return createResponseObject(error, null, null);
|
|
104
97
|
}
|
|
105
98
|
}
|
|
106
99
|
});
|
|
107
100
|
}
|
|
108
|
-
function
|
|
101
|
+
function constructBufferResponseBody(response) {
|
|
109
102
|
return __awaiter(this, void 0, void 0, function* () {
|
|
110
103
|
const contentType = response.headers.get("content-type");
|
|
111
104
|
if (contentType === "application/octet-stream") {
|
|
@@ -120,4 +113,15 @@ function constructBufferPostResponseBody(response) {
|
|
|
120
113
|
return responseText ? responseText : response.statusText;
|
|
121
114
|
});
|
|
122
115
|
}
|
|
116
|
+
function createResponseObject(error, statusCode, rspBody, transactionTimestamp) {
|
|
117
|
+
const responseObject = {
|
|
118
|
+
error,
|
|
119
|
+
statusCode,
|
|
120
|
+
rspBody,
|
|
121
|
+
};
|
|
122
|
+
if (transactionTimestamp) {
|
|
123
|
+
responseObject.transactionTimestamp = transactionTimestamp;
|
|
124
|
+
}
|
|
125
|
+
return responseObject;
|
|
126
|
+
}
|
|
123
127
|
//# sourceMappingURL=httpUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpUtil.js","sourceRoot":"","sources":["../../../src/blockchainClient/httpUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { AppStructure, BlockInfo, KeyPair, TransactionInfo, TransactionReceipt,
|
|
2
|
+
import { AppStructure, BlockInfo, KeyPair, TransactionInfo, TransactionReceipt, TransactionStatusReponse, BufferId, BlockAnchoringState, ClientCallback, ConfirmationProof, ClientConfig, Operation, QueryCallback, QueryObject, SignatureProvider, SignedTransaction, Transaction, RejectedTransaction, WaitingTransaction } from "./types";
|
|
3
3
|
import { DictPair, RawGtv } from "../gtv/types";
|
|
4
4
|
import { Web3PromiEvent } from "../promiEvent/promiEvents";
|
|
5
|
-
import { RestClientCallback } from "../restclient/types";
|
|
6
|
-
import { ClientConfig, Operation, QueryCallback, QueryObject, SignatureProvider, SignedTransaction, Transaction } from "./types";
|
|
7
|
-
import { GTX } from "../gtx/types";
|
|
8
|
-
import { ConfirmationProof } from "../blockchainClient/types";
|
|
9
5
|
import { AnchoringStatus, ChainConfirmationLevel } from "./enums";
|
|
10
6
|
import { AnchoringTransaction } from "../ICCF/types";
|
|
11
7
|
import { Web3EventMap } from "../promiEvent/promiEventEmitter";
|
|
@@ -33,7 +29,7 @@ export interface IClient extends Queryable {
|
|
|
33
29
|
* @param callback - A callback function to handle the signing result. Parameters (error, signedTx)
|
|
34
30
|
* * @returns - A promise that resolves with the signed transaction.
|
|
35
31
|
*/
|
|
36
|
-
signTransaction(transaction: Transaction | SignedTransaction, signMethod: KeyPair | SignatureProvider, callback?:
|
|
32
|
+
signTransaction(transaction: Transaction | SignedTransaction, signMethod: KeyPair | SignatureProvider, callback?: ClientCallback<Buffer>): Promise<SignedTransaction>;
|
|
37
33
|
/**
|
|
38
34
|
* Sends a transaction to the blockchain.
|
|
39
35
|
*
|
|
@@ -43,7 +39,7 @@ export interface IClient extends Queryable {
|
|
|
43
39
|
* @param confirmationLevel - Enables configuration of the confirmation level the requests should sent for the transaction status.
|
|
44
40
|
* @returns - A Web3PromiEvent that resolves with the transaction receipt.
|
|
45
41
|
*/
|
|
46
|
-
sendTransaction(transaction: Transaction | SignedTransaction | Operation, doStatusPolling?: boolean, callback?:
|
|
42
|
+
sendTransaction(transaction: Transaction | SignedTransaction | Operation, doStatusPolling?: boolean, callback?: ClientCallback<TransactionReceipt>, confirmationLevel?: ChainConfirmationLevel): Web3PromiEvent<TransactionReceipt, Web3EventMap>;
|
|
47
43
|
/**
|
|
48
44
|
* Signs and sends a transaction for inclusion in a block. It adds a nop
|
|
49
45
|
* if missing.
|
|
@@ -55,7 +51,7 @@ export interface IClient extends Queryable {
|
|
|
55
51
|
* @returns - A Web3PromiEvent that resolves with the transaction receipt.
|
|
56
52
|
*
|
|
57
53
|
*/
|
|
58
|
-
signAndSendUniqueTransaction(transaction: Operation | Transaction, signMethod: KeyPair | SignatureProvider, doStatusPolling?: boolean, callback?:
|
|
54
|
+
signAndSendUniqueTransaction(transaction: Operation | Transaction, signMethod: KeyPair | SignatureProvider, doStatusPolling?: boolean, callback?: ClientCallback<TransactionReceipt>, confirmationLevel?: ChainConfirmationLevel): Web3PromiEvent<TransactionReceipt, Web3EventMap>;
|
|
59
55
|
/**
|
|
60
56
|
* Retrieves a transaction given its transaction RID.
|
|
61
57
|
*
|
|
@@ -67,7 +63,7 @@ export interface IClient extends Queryable {
|
|
|
67
63
|
* the callback will be called with (null, null).
|
|
68
64
|
* @returns- A promise that resolves with the serialized message of the transaction.
|
|
69
65
|
*/
|
|
70
|
-
getTransaction(transactionRid: BufferId, callback?:
|
|
66
|
+
getTransaction(transactionRid: BufferId, callback?: ClientCallback<Buffer>): Promise<Buffer>;
|
|
71
67
|
/**
|
|
72
68
|
* Retrieves the status of a transaction given its transaction RID.
|
|
73
69
|
*
|
|
@@ -80,20 +76,13 @@ export interface IClient extends Queryable {
|
|
|
80
76
|
* @returns - A promise that resolves with the status object of the transaction.
|
|
81
77
|
*
|
|
82
78
|
*/
|
|
83
|
-
getTransactionStatus: (transactionRid: BufferId, callback?:
|
|
79
|
+
getTransactionStatus: (transactionRid: BufferId, callback?: ClientCallback<TransactionReceipt> | ClientCallback<TransactionStatusReponse>) => Promise<TransactionStatusReponse>;
|
|
84
80
|
/**
|
|
85
81
|
* Adds an operation containing a nonce which makes the transaction unique.
|
|
86
82
|
*
|
|
87
83
|
* @param transaction - The transaction to sign and send.
|
|
88
84
|
*/
|
|
89
85
|
addNop(transaction: Transaction): Transaction;
|
|
90
|
-
/**
|
|
91
|
-
* @deprecated Use calculateTransactionRid util function instead.
|
|
92
|
-
*
|
|
93
|
-
* Calculates and returns the transaction RID, i.e., the merkle root hash of the transaction.
|
|
94
|
-
* @param transaction The transaction to sign and send
|
|
95
|
-
*/
|
|
96
|
-
getTransactionRid(transaction: Transaction | SignedTransaction | Operation): Buffer;
|
|
97
86
|
/**
|
|
98
87
|
* Fetch info about transactions from a chain.
|
|
99
88
|
*
|
|
@@ -108,7 +97,7 @@ export interface IClient extends Queryable {
|
|
|
108
97
|
* @returns - A promise that resolves with an array of transaction information.
|
|
109
98
|
*
|
|
110
99
|
*/
|
|
111
|
-
getTransactionsInfo(limit?: number, beforeTime?: Date, callback?:
|
|
100
|
+
getTransactionsInfo(limit?: number, beforeTime?: Date, callback?: ClientCallback<TransactionInfo[]>, afterTime?: Date, signerPubKey?: string): Promise<TransactionInfo[]>;
|
|
112
101
|
/**
|
|
113
102
|
* Fetch info about a transaction from a chain.
|
|
114
103
|
*
|
|
@@ -120,7 +109,7 @@ export interface IClient extends Queryable {
|
|
|
120
109
|
* @returns - A promise that resolves with the transaction information.
|
|
121
110
|
*
|
|
122
111
|
*/
|
|
123
|
-
getTransactionInfo(transactionRid: BufferId, callback?:
|
|
112
|
+
getTransactionInfo(transactionRid: BufferId, callback?: ClientCallback<TransactionInfo>): Promise<TransactionInfo>;
|
|
124
113
|
/**
|
|
125
114
|
* Fetches the last known confirmation status for a transaction RID.
|
|
126
115
|
*
|
|
@@ -131,7 +120,7 @@ export interface IClient extends Queryable {
|
|
|
131
120
|
* is an object with the string property 'error'.
|
|
132
121
|
* @returns - A promise that resolves with the transaction confirmation level and an anchoring transaction if the transaction is anchored
|
|
133
122
|
*/
|
|
134
|
-
getTransactionConfirmationLevel(transactionRid: BufferId, callback?:
|
|
123
|
+
getTransactionConfirmationLevel(transactionRid: BufferId, callback?: ClientCallback<TransactionStatusReponse | TransactionReceipt>): Promise<TransactionReceipt>;
|
|
135
124
|
/**
|
|
136
125
|
* Fetches the last known anchoring status for a block RID.
|
|
137
126
|
*
|
|
@@ -152,7 +141,7 @@ export interface IClient extends Queryable {
|
|
|
152
141
|
* @returns - A promise that resolves with the number of successful transactions.
|
|
153
142
|
*
|
|
154
143
|
*/
|
|
155
|
-
getTransactionCount(callback?:
|
|
144
|
+
getTransactionCount(callback?: ClientCallback<number>): Promise<number>;
|
|
156
145
|
/**
|
|
157
146
|
* Fetch info about a block for a chain.
|
|
158
147
|
*
|
|
@@ -165,7 +154,7 @@ export interface IClient extends Queryable {
|
|
|
165
154
|
* @returns - A promise that resolves with the block info.
|
|
166
155
|
*
|
|
167
156
|
*/
|
|
168
|
-
getBlockInfo(blockIdentifier: number | string, txs?: boolean, callback?:
|
|
157
|
+
getBlockInfo(blockIdentifier: number | string, txs?: boolean, callback?: ClientCallback<BlockInfo>): Promise<BlockInfo>;
|
|
169
158
|
/**
|
|
170
159
|
* Fetch info about the latest block for a chain.
|
|
171
160
|
*
|
|
@@ -177,7 +166,7 @@ export interface IClient extends Queryable {
|
|
|
177
166
|
* @returns - A promise that resolves with the block info.
|
|
178
167
|
*
|
|
179
168
|
*/
|
|
180
|
-
getLatestBlock(txs?: boolean, callback?:
|
|
169
|
+
getLatestBlock(txs?: boolean, callback?: ClientCallback<BlockInfo>): Promise<BlockInfo>;
|
|
181
170
|
/**
|
|
182
171
|
* Fetch info about blocks for a chain. If both beforeTime and beforeHeight is provided, only beforeTime will be used.
|
|
183
172
|
*
|
|
@@ -194,7 +183,7 @@ export interface IClient extends Queryable {
|
|
|
194
183
|
* @returns - A promise that resolves with an array of block info.
|
|
195
184
|
*
|
|
196
185
|
*/
|
|
197
|
-
getBlocks(props
|
|
186
|
+
getBlocks(props?: {
|
|
198
187
|
limit?: number;
|
|
199
188
|
beforeTime?: Date;
|
|
200
189
|
afterTime?: Date;
|
|
@@ -202,46 +191,16 @@ export interface IClient extends Queryable {
|
|
|
202
191
|
afterHeight?: number;
|
|
203
192
|
excludeEmpty?: boolean;
|
|
204
193
|
txs?: boolean;
|
|
205
|
-
callback?:
|
|
194
|
+
callback?: ClientCallback<BlockInfo[]>;
|
|
206
195
|
}): Promise<BlockInfo[]>;
|
|
207
|
-
/**
|
|
208
|
-
* Fetch info about blocks for a chain. If both beforeTime and beforeHeight is provided, only beforeTime will be used.
|
|
209
|
-
*
|
|
210
|
-
* @param limit - Limit number of transactions returned. Minimum value is 0 and maximum 100. Defaults to 25.
|
|
211
|
-
* @param beforeTime - Return only transactions before this time.
|
|
212
|
-
* @param beforeHeight - Return only transactions before this height.
|
|
213
|
-
* @param tsx - Boolean to decide whether or not to include full transaction data. Defaults to false.
|
|
214
|
-
* @param callback - A callback function to handle the response body. Taking parameters (error, responseBody). If error is null
|
|
215
|
-
* then responseBody is an object of type BlockInfo[].
|
|
216
|
-
* If error is not null, then responseBody
|
|
217
|
-
* is an object with the string property 'error'.
|
|
218
|
-
* @returns - A promise that resolves with an array of block info.
|
|
219
|
-
* @deprecated Use getBlocks instead.
|
|
220
|
-
*
|
|
221
|
-
*/
|
|
222
|
-
getBlocksInfo(limit?: number, beforeTime?: Date, beforeHeight?: number, txs?: boolean, callback?: RestClientCallback<TransactionInfo[]>): Promise<BlockInfo[]>;
|
|
223
|
-
/**
|
|
224
|
-
* @deprecated Use encodeTransaction util function instead.
|
|
225
|
-
*
|
|
226
|
-
* Encodes the transaction using ASN.1.
|
|
227
|
-
* @returns the transaction encoded
|
|
228
|
-
*/
|
|
229
|
-
encodeTransaction(transaction: Transaction): Buffer;
|
|
230
|
-
/**
|
|
231
|
-
* @deprecated Use decodeTransactionToGtx util function instead.
|
|
232
|
-
*
|
|
233
|
-
* Decodes the transaction using ASN.1.
|
|
234
|
-
* @returns the transaction decoded in GTX format
|
|
235
|
-
*/
|
|
236
|
-
decodeTransactionToGtx(transaction: Buffer): GTX;
|
|
237
196
|
/**
|
|
238
197
|
* Retrieves the client node URL pool.
|
|
239
198
|
*
|
|
240
199
|
* @returns An array of the client node URL pool.
|
|
241
200
|
*/
|
|
242
201
|
getClientNodeUrlPool(): string[];
|
|
243
|
-
getConfirmationProof(txRID: BufferId, callback?:
|
|
244
|
-
getAppStructure(callback?:
|
|
202
|
+
getConfirmationProof(txRID: BufferId, callback?: ClientCallback<ConfirmationProof>): Promise<ConfirmationProof>;
|
|
203
|
+
getAppStructure(callback?: ClientCallback<AppStructure>): Promise<AppStructure>;
|
|
245
204
|
/**
|
|
246
205
|
*
|
|
247
206
|
* @param transactionRid - The transaction RID to retrieve a cluster anchoring transaction or anchoring status
|
|
@@ -253,7 +212,7 @@ export interface IClient extends Queryable {
|
|
|
253
212
|
* is an object with the string property 'error'.
|
|
254
213
|
* @returns - A promise that resolves with an anchoring transaction or anchoring status based on the outcome
|
|
255
214
|
*/
|
|
256
|
-
getClusterAnchoringTransactionConfirmation(transactionRid: BufferId, anchoringClient: IClient, callback?:
|
|
215
|
+
getClusterAnchoringTransactionConfirmation(transactionRid: BufferId, anchoringClient: IClient, callback?: ClientCallback<TransactionReceipt>): Promise<AnchoringTransaction | AnchoringStatus>;
|
|
257
216
|
/**
|
|
258
217
|
*
|
|
259
218
|
* @param anchoredTxRid - The anchored transaction RID retrieved from the cluster anchoring transaction, used to retrieve a system cluster anchoring transaction
|
|
@@ -267,5 +226,35 @@ export interface IClient extends Queryable {
|
|
|
267
226
|
* is an object with the string property 'error'.
|
|
268
227
|
* @returns - A promise that resolves with an anchoring transaction or null
|
|
269
228
|
*/
|
|
270
|
-
getSystemAnchoringTransactionConfirmation(anchoredTxRid: BufferId, anchoringClient: IClient, systemAnchoringChainRid: string, callback?:
|
|
229
|
+
getSystemAnchoringTransactionConfirmation(anchoredTxRid: BufferId, anchoringClient: IClient, systemAnchoringChainRid: string, callback?: ClientCallback<TransactionReceipt>): Promise<AnchoringTransaction | null>;
|
|
230
|
+
/**
|
|
231
|
+
* Fetches the list of waiting transactions
|
|
232
|
+
* @param blockchainRid - The blockchain RID to fetch the waiting transactions from
|
|
233
|
+
* @param callback - A callback function to handle the response body. Taking parameters (error, responseBody). If error is null
|
|
234
|
+
* then responseBody is of type Array<string>.
|
|
235
|
+
*
|
|
236
|
+
* @returns - A promise that resolves to a list of waiting transaction RIDs of the specified blockchainRid
|
|
237
|
+
*/
|
|
238
|
+
getWaitingTransactions(blockchainRid: BufferId, callback?: ClientCallback<Array<string>>): Promise<Array<string>>;
|
|
239
|
+
/**
|
|
240
|
+
* Fetches the waiting transaction from the specified blockchain
|
|
241
|
+
*
|
|
242
|
+
* @param blockchainRid - The blockchain RID to fetch the waiting transaction from
|
|
243
|
+
* @param txRid - The transaction RID to check the status of
|
|
244
|
+
* @param callback - A callback function to handle the response body. Taking parameters (error, responseBody). If error is null
|
|
245
|
+
* then responseBody is of type WaitingTransaction.
|
|
246
|
+
*
|
|
247
|
+
* @returns - A promise that resolves to a WaitingTransaction representing a waiting transaction binary tx data of the specified transactionRid for the blockchain
|
|
248
|
+
*/
|
|
249
|
+
getWaitingTransaction(blockchainRid: BufferId, txRid: BufferId, callback?: ClientCallback<WaitingTransaction>): Promise<WaitingTransaction>;
|
|
250
|
+
/**
|
|
251
|
+
* Fetches the list of rejected transaction RIDs and their corresponding rejection reasons
|
|
252
|
+
*
|
|
253
|
+
* @param blockchainRid - The blockchain RID to fetch the rejected transactions from
|
|
254
|
+
* @param callback - A callback function to handle the response body. Taking parameters (error, responseBody). If error is null
|
|
255
|
+
* then responseBody is of type Array<RejectedTransaction>.
|
|
256
|
+
*
|
|
257
|
+
* @returns - A promise that resolves to a list of rejected transactions of the specified blockchainRid
|
|
258
|
+
*/
|
|
259
|
+
getRejectedTransactions(blockchainRid: BufferId, callback?: ClientCallback<Array<RejectedTransaction>>): Promise<Array<RejectedTransaction>>;
|
|
271
260
|
}
|
|
@@ -11,8 +11,11 @@ interface NodeManagerProps {
|
|
|
11
11
|
export declare const createNodeManager: ({ nodeUrls, useStickyNode, unavailableDuration, }: NodeManagerProps) => {
|
|
12
12
|
nodes: NetworkNode[];
|
|
13
13
|
stickedNode: NetworkNode | null;
|
|
14
|
+
useStickyNode: boolean;
|
|
15
|
+
lastUsedNode: NetworkNode | null;
|
|
14
16
|
getAvailableNodes(): NetworkNode[];
|
|
15
17
|
setStickyNode(node: NetworkNode): void;
|
|
18
|
+
setUseStickyNode(useSticky: boolean): void;
|
|
16
19
|
getNode(): NetworkNode | null;
|
|
17
20
|
makeAllNodesAvailable(): void;
|
|
18
21
|
makeNodeUnavailable(nodeUrl: string): void;
|
|
@@ -15,6 +15,8 @@ export const createNodeManager = ({ nodeUrls, useStickyNode = false, unavailable
|
|
|
15
15
|
return {
|
|
16
16
|
nodes,
|
|
17
17
|
stickedNode: null,
|
|
18
|
+
useStickyNode: useStickyNode,
|
|
19
|
+
lastUsedNode: null,
|
|
18
20
|
getAvailableNodes() {
|
|
19
21
|
const shuffledAvailableNodes = shuffleArray(this.nodes.filter((node) => node.isAvailable));
|
|
20
22
|
// set sticky node as the first node, and then shuffle the rest
|
|
@@ -27,6 +29,9 @@ export const createNodeManager = ({ nodeUrls, useStickyNode = false, unavailable
|
|
|
27
29
|
setStickyNode(node) {
|
|
28
30
|
this.stickedNode = node;
|
|
29
31
|
},
|
|
32
|
+
setUseStickyNode(useSticky) {
|
|
33
|
+
this.useStickyNode = useSticky;
|
|
34
|
+
},
|
|
30
35
|
getNode() {
|
|
31
36
|
const nodes = this.getAvailableNodes();
|
|
32
37
|
if (nodes.length === 0) {
|
|
@@ -34,6 +39,7 @@ export const createNodeManager = ({ nodeUrls, useStickyNode = false, unavailable
|
|
|
34
39
|
}
|
|
35
40
|
const index = Math.floor(Math.random() * nodes.length);
|
|
36
41
|
const node = nodes[index];
|
|
42
|
+
this.lastUsedNode = node;
|
|
37
43
|
if (!useStickyNode) {
|
|
38
44
|
return node;
|
|
39
45
|
}
|
|
@@ -41,6 +47,7 @@ export const createNodeManager = ({ nodeUrls, useStickyNode = false, unavailable
|
|
|
41
47
|
this.setStickyNode(node);
|
|
42
48
|
return node;
|
|
43
49
|
}
|
|
50
|
+
this.lastUsedNode = this.stickedNode;
|
|
44
51
|
return this.stickedNode;
|
|
45
52
|
},
|
|
46
53
|
makeAllNodesAvailable() {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeManager.js","sourceRoot":"","sources":["../../../src/blockchainClient/nodeManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Method } from "./enums";
|
|
3
|
+
import { HandleRequestInputProps, ResponseObject } from "./types";
|
|
4
|
+
export declare function requestWithFailoverStrategy(method: Method, path: string, config: HandleRequestInputProps["config"], postObject?: Buffer, forceSingleEndpoint?: boolean): Promise<ResponseObject>;
|