postchain-client 1.22.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/built/cjs/index.js +2346 -2600
- package/built/cjs/index.js.map +1 -1
- package/built/esm/index.js +32402 -32650
- package/built/esm/index.js.map +1 -1
- package/built/index.d.ts +3 -7
- package/built/index.js +2 -9
- 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.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 +51 -52
- 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 +102 -23
- 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/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 +63 -20
- package/built/src/blockchainClient/utils.d.ts +37 -12
- package/built/src/blockchainClient/utils.js +136 -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 +2 -1
- 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/merkle/merkleHelper.d.ts +0 -1
- package/built/src/merkle/merkleHelper.js +0 -1
- package/built/src/merkle/merkleHelper.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.d.ts +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/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 +175 -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/merkle/merkleHelper/merkleHelperTest.js +10 -12
- package/built/test/unit/merkle/merkleHelper/merkleHelperTest.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 +32517 -32771
- package/built/umd/index.js.map +1 -1
- package/changelog.md +52 -1
- package/package.json +22 -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/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/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/built/src/{restclient → blockchainClient}/nodeManager.d.ts +0 -0
- /package/built/src/{restclient → blockchainClient}/nodeManager.js +0 -0
- /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/requestWithFailoverStrategy.test.d.ts → integrationChromiaNetwork/getAnchoringStatusForBlockRid.test.d.ts} +0 -0
- /package/built/test/{unit/restClient.test.d.ts → integrationChromiaNetwork/getTransactionConfirmationLevel.test.d.ts} +0 -0
- /package/built/test/{unit/restClientUtil.test.d.ts → integrationChromiaNetwork/getTransactionStatus.test.d.ts} +0 -0
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { StatusObject } from "../blockchainClient/types";
|
|
3
|
-
import { DictPair } from "../gtv/types";
|
|
4
|
-
import { QueryObject, RestClientCallback, RestClientConfig } from "./types";
|
|
5
|
-
export interface RestClient {
|
|
6
|
-
config: RestClientConfig;
|
|
7
|
-
/**
|
|
8
|
-
* Retrieves the client message with the specified sha256 hash
|
|
9
|
-
* @param txRID the id of the transaction
|
|
10
|
-
* @param callback parameters (error, serializedMessage) if first
|
|
11
|
-
* parameter is not null, an error occurred.
|
|
12
|
-
* If first parameter is null, then the second parameter is a buffer
|
|
13
|
-
* with the serialized client message. If no such client message exists,
|
|
14
|
-
* the callback will be called with (null, null).
|
|
15
|
-
*/
|
|
16
|
-
getTransaction: (txRID: Buffer, callback: RestClientCallback<Buffer>) => void;
|
|
17
|
-
/**
|
|
18
|
-
* Sends a transaction to postchain for inclusion in a block.
|
|
19
|
-
* Use status() to monitor progress once this transaction is
|
|
20
|
-
* posted.
|
|
21
|
-
*
|
|
22
|
-
* @param serializedTransaction The transaction (a buffer) to send
|
|
23
|
-
* @param callback taking parameter (error, responseObject) if error is null
|
|
24
|
-
* then responseObject is also null. If error is not null, then responseObject
|
|
25
|
-
* is an object with the string property 'error'
|
|
26
|
-
*/
|
|
27
|
-
postTransaction: (serializedTransaction: Buffer, callback: RestClientCallback<any>) => void;
|
|
28
|
-
/**
|
|
29
|
-
* Queries the status of a certain transaction.
|
|
30
|
-
* @param txRID the id of the transaction
|
|
31
|
-
* @param callback taking parameters (error, responseBody). If error is null
|
|
32
|
-
* then responseBody is an object on the form
|
|
33
|
-
* { status: '<confirmed|waiting|rejected|unknown>' }
|
|
34
|
-
* If error is not null, then responseBody
|
|
35
|
-
* is an object with the string property 'error'
|
|
36
|
-
*/
|
|
37
|
-
status: (txRID: Buffer, callback: RestClientCallback<StatusObject>) => void;
|
|
38
|
-
/**
|
|
39
|
-
* Interfaces the query endpoint of the Rell backend. Returns either a resolved or rejected promise. The input is the name of the query followed by the arguments of the
|
|
40
|
-
* query as an optional input argument.
|
|
41
|
-
* @param name the name of the query in Rell
|
|
42
|
-
* @param queryArguments optional argument following this pattern: { arg1: argValue1, arg2: argvalue2 }
|
|
43
|
-
*/
|
|
44
|
-
query(name: string, queryArguments?: DictPair): Promise<any>;
|
|
45
|
-
/**
|
|
46
|
-
* Interfaces the query endpoint of the Rell backend. Returns either a resolved or rejected promise.
|
|
47
|
-
* @param queryObject an object containing a "type" and follows this pattern: { type: "nameOfQuery", arg1: argValue1, arg2: argvalue2 }
|
|
48
|
-
* @deprecated
|
|
49
|
-
*/
|
|
50
|
-
query(object: QueryObject): Promise<any>;
|
|
51
|
-
/**
|
|
52
|
-
* Polls for status while waiting for response; confirmed, rejected or unknown. Returns either a resolved or rejected promise.
|
|
53
|
-
* @param txRID the id of the transaction
|
|
54
|
-
*/
|
|
55
|
-
waitConfirmation: (txRID: Buffer) => Promise<null | Error>;
|
|
56
|
-
/**
|
|
57
|
-
* Posts a transaction and polls for status while waiting for status response; confirmed, rejected or unknown. Returns either a resolved or rejected promise.
|
|
58
|
-
* @param serializedTransaction The transaction (a buffer) to send
|
|
59
|
-
* @param txRID the id of the transaction
|
|
60
|
-
* @param validate true if the transaction needs to be validated
|
|
61
|
-
*/
|
|
62
|
-
postAndWaitConfirmation: (serializedTransaction: Buffer, txRID: Buffer, validate?: boolean) => Promise<null>;
|
|
63
|
-
/**
|
|
64
|
-
* Returns a string array with the endpoints hosting the dApp the client
|
|
65
|
-
* is connected to
|
|
66
|
-
*/
|
|
67
|
-
getEndpointPool: () => string[];
|
|
68
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/restclient/interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nodeManager.js","sourceRoot":"","sources":["../../../src/restclient/nodeManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { FailOverConfig, RestClientCallback } from "./types";
|
|
2
|
-
import { RestClient } from "./interfaces";
|
|
3
|
-
import { RawGtv } from "../gtv/types";
|
|
4
|
-
export declare function createRestClient(endpointPool: readonly string[], blockchainRid: string, maxSockets?: number, pollingInterval?: number, failOverConfig?: FailOverConfig, unreachableDuration?: number, useStickyNode?: boolean): RestClient;
|
|
5
|
-
/**
|
|
6
|
-
* @param error response error
|
|
7
|
-
* @param statusCode response status code
|
|
8
|
-
* @param responseObject the responsebody from the server
|
|
9
|
-
* @param callback the callback function to propagate the error and response back to the caller
|
|
10
|
-
*/
|
|
11
|
-
export declare function handleGetResponse<T>(error: Error | null | undefined, statusCode: number | null, responseObject: RawGtv | null | undefined, callback: RestClientCallback<T>): void;
|
|
12
|
-
/**
|
|
13
|
-
* @param error response error
|
|
14
|
-
* @param statusCode response status code
|
|
15
|
-
* @param responseObject the responsebody from the server
|
|
16
|
-
* @param callback the callback function to propagate the error and response back to the caller
|
|
17
|
-
*/
|
|
18
|
-
export declare function handlePostResponse(error: Error | null | undefined, statusCode: number | null, responseObject: RawGtv | null | undefined, callback: RestClientCallback<RawGtv>): void;
|
|
@@ -1,200 +0,0 @@
|
|
|
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 { Buffer } from "buffer";
|
|
11
|
-
import * as logger from "../logger";
|
|
12
|
-
import { EmptyListOfUrlsException, LostMessageError, SerializedTransactionFormatException, TxRejectedError, UnexpectedResponseError, UnexpectedStatusError, InvalidTxRidException, } from "./errors";
|
|
13
|
-
import { toBuffer, toQueryObjectGTV } from "../formatter";
|
|
14
|
-
import { convertToPrintable, requestWithFailoverStrategy } from "./restclientutil";
|
|
15
|
-
import { encodeValue } from "../gtx/serialization";
|
|
16
|
-
import { Method } from "./enums";
|
|
17
|
-
import { FailoverStrategy, ResponseStatus } from "../blockchainClient/enums";
|
|
18
|
-
import { createEndpointObjects, getUrlsFromEndpoints } from "../blockchainClient/utils";
|
|
19
|
-
import { isTxRidValid } from "../blockchainClient/validation/txRid";
|
|
20
|
-
import { createNodeManager } from "./nodeManager";
|
|
21
|
-
import { isRawGtv, isTransaction } from "../blockchainClient/validation/requests";
|
|
22
|
-
export function createRestClient(endpointPool, blockchainRid, maxSockets = 10, pollingInterval = 500, failOverConfig, unreachableDuration = 5000, useStickyNode = false) {
|
|
23
|
-
validateInput(endpointPool, failOverConfig !== null && failOverConfig !== void 0 ? failOverConfig : {});
|
|
24
|
-
return {
|
|
25
|
-
config: {
|
|
26
|
-
nodeManager: createNodeManager({
|
|
27
|
-
nodeUrls: endpointPool,
|
|
28
|
-
useStickyNode,
|
|
29
|
-
}),
|
|
30
|
-
endpointPool: createEndpointObjects(endpointPool),
|
|
31
|
-
pool: { maxSockets },
|
|
32
|
-
pollingInterval,
|
|
33
|
-
failoverStrategy: (failOverConfig === null || failOverConfig === void 0 ? void 0 : failOverConfig.strategy) || FailoverStrategy.AbortOnError,
|
|
34
|
-
attemptsPerEndpoint: (failOverConfig === null || failOverConfig === void 0 ? void 0 : failOverConfig.attemptsPerEndpoint) || 3,
|
|
35
|
-
attemptInterval: (failOverConfig === null || failOverConfig === void 0 ? void 0 : failOverConfig.attemptInterval) || 500,
|
|
36
|
-
unreachableDuration: unreachableDuration,
|
|
37
|
-
},
|
|
38
|
-
getTransaction: function (txRID, callback) {
|
|
39
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
if (!isTxRidValid(txRID)) {
|
|
41
|
-
callback(new InvalidTxRidException(txRID), null);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
const { error, statusCode, rspBody } = yield requestWithFailoverStrategy(Method.GET, `tx/${blockchainRid}/${txRID.toString("hex")}`, this.config);
|
|
45
|
-
const transaction = isTransaction(rspBody);
|
|
46
|
-
handleGetResponse(error, statusCode, statusCode === 200 && transaction ? toBuffer(transaction.tx) : isRawGtv(rspBody), callback);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
},
|
|
50
|
-
postTransaction: function (serializedTransaction, callback) {
|
|
51
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
-
if (!Buffer.isBuffer(serializedTransaction)) {
|
|
53
|
-
throw new SerializedTransactionFormatException();
|
|
54
|
-
}
|
|
55
|
-
const { error, statusCode, rspBody } = yield requestWithFailoverStrategy(Method.POST, `tx/${blockchainRid}`, this.config, serializedTransaction);
|
|
56
|
-
handlePostResponse(error, statusCode, isRawGtv(rspBody), callback);
|
|
57
|
-
});
|
|
58
|
-
},
|
|
59
|
-
status: function (txRID, callback) {
|
|
60
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
-
if (!isTxRidValid(txRID)) {
|
|
62
|
-
callback(new InvalidTxRidException(txRID), null);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
const { error, statusCode, rspBody } = yield requestWithFailoverStrategy(Method.GET, `tx/${blockchainRid}/${txRID.toString("hex")}/status`, this.config);
|
|
66
|
-
handleGetResponse(error, statusCode, isRawGtv(rspBody), callback);
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
},
|
|
70
|
-
query: function (nameOrQueryObject, queryArguments) {
|
|
71
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
-
// eslint-disable-next-line no-async-promise-executor
|
|
73
|
-
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
74
|
-
const callback = (error, result) => {
|
|
75
|
-
if (error) {
|
|
76
|
-
reject(error);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
resolve(result);
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
const { error, statusCode, rspBody } = yield requestWithFailoverStrategy(Method.POST, `query_gtv/${blockchainRid}`, this.config, encodeValue(toQueryObjectGTV(nameOrQueryObject, queryArguments)));
|
|
83
|
-
handlePostResponse(error, statusCode, isRawGtv(rspBody), callback);
|
|
84
|
-
}));
|
|
85
|
-
});
|
|
86
|
-
},
|
|
87
|
-
waitConfirmation(txRID) {
|
|
88
|
-
return new Promise((resolve, reject) => {
|
|
89
|
-
this.status(txRID, (error, result) => {
|
|
90
|
-
if (error) {
|
|
91
|
-
reject(error);
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
const status = result.status;
|
|
95
|
-
switch (status) {
|
|
96
|
-
case ResponseStatus.Confirmed:
|
|
97
|
-
resolve(null);
|
|
98
|
-
break;
|
|
99
|
-
case ResponseStatus.Rejected:
|
|
100
|
-
reject(new TxRejectedError(result.rejectReason));
|
|
101
|
-
break;
|
|
102
|
-
case ResponseStatus.Unknown:
|
|
103
|
-
reject(new LostMessageError());
|
|
104
|
-
break;
|
|
105
|
-
case ResponseStatus.Waiting:
|
|
106
|
-
setTimeout(() => this.waitConfirmation(txRID).then(resolve, reject), this.config.pollingInterval);
|
|
107
|
-
break;
|
|
108
|
-
default:
|
|
109
|
-
logger.error(status);
|
|
110
|
-
reject(new UnexpectedResponseError());
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
},
|
|
116
|
-
postAndWaitConfirmation(serializedTransaction, txRID, validate) {
|
|
117
|
-
if (validate === true) {
|
|
118
|
-
return Promise.reject("Automatic validation is not yet implemented");
|
|
119
|
-
}
|
|
120
|
-
return new Promise((resolve, reject) => {
|
|
121
|
-
this.postTransaction(serializedTransaction, error => {
|
|
122
|
-
if (error)
|
|
123
|
-
reject(error);
|
|
124
|
-
else {
|
|
125
|
-
setTimeout(() => this.waitConfirmation(txRID)
|
|
126
|
-
.then(() => resolve(null))
|
|
127
|
-
.catch(reject), 1011);
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
},
|
|
132
|
-
getEndpointPool() {
|
|
133
|
-
return getUrlsFromEndpoints(this.config.endpointPool);
|
|
134
|
-
},
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
function validateInput(endpointPool, failOverConfig) {
|
|
138
|
-
if (!endpointPool.length) {
|
|
139
|
-
throw new EmptyListOfUrlsException();
|
|
140
|
-
}
|
|
141
|
-
if ((failOverConfig === null || failOverConfig === void 0 ? void 0 : failOverConfig.attemptsPerEndpoint) && failOverConfig.attemptsPerEndpoint < 1) {
|
|
142
|
-
logger.debug("Attempts can not be 0 or below, setting it to 1");
|
|
143
|
-
failOverConfig.attemptsPerEndpoint = 1;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* @param error response error
|
|
148
|
-
* @param statusCode response status code
|
|
149
|
-
* @param responseObject the responsebody from the server
|
|
150
|
-
* @param callback the callback function to propagate the error and response back to the caller
|
|
151
|
-
*/
|
|
152
|
-
export function handleGetResponse(error, statusCode, responseObject, callback) {
|
|
153
|
-
try {
|
|
154
|
-
const responseObjectPrintable = convertToPrintable(responseObject);
|
|
155
|
-
logger.debug(`error: ${error}, status code: ${statusCode}, response body: ${responseObjectPrintable}`);
|
|
156
|
-
if (error) {
|
|
157
|
-
return callback(error, null);
|
|
158
|
-
}
|
|
159
|
-
if (statusCode !== 200) {
|
|
160
|
-
return callback(new UnexpectedStatusError(statusCode !== null && statusCode !== void 0 ? statusCode : 400, responseObjectPrintable), null);
|
|
161
|
-
}
|
|
162
|
-
return callback(null, responseObject);
|
|
163
|
-
}
|
|
164
|
-
catch (error) {
|
|
165
|
-
callback(error, null);
|
|
166
|
-
logger.error(`restclient.handleGetResponse(): Failed to call the callback function. ${error}`);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* @param error response error
|
|
171
|
-
* @param statusCode response status code
|
|
172
|
-
* @param responseObject the responsebody from the server
|
|
173
|
-
* @param callback the callback function to propagate the error and response back to the caller
|
|
174
|
-
*/
|
|
175
|
-
export function handlePostResponse(error, statusCode, responseObject, callback) {
|
|
176
|
-
const responseObjectPrintable = convertToPrintable(responseObject);
|
|
177
|
-
logger.debug(`error: ${error}, status code: ${statusCode}, response body: ${responseObjectPrintable}`);
|
|
178
|
-
try {
|
|
179
|
-
if (error) {
|
|
180
|
-
logger.error(`In restclient post(). ${error}`);
|
|
181
|
-
callback(error, null);
|
|
182
|
-
}
|
|
183
|
-
else if (statusCode != 200) {
|
|
184
|
-
let errorMessage = `Unexpected status code from server. Code: ${statusCode}.`;
|
|
185
|
-
if (responseObjectPrintable) {
|
|
186
|
-
errorMessage += ` Message: ${responseObjectPrintable}.`;
|
|
187
|
-
}
|
|
188
|
-
logger.error(errorMessage);
|
|
189
|
-
callback(new UnexpectedStatusError(statusCode !== null && statusCode !== void 0 ? statusCode : 400, responseObjectPrintable), responseObject);
|
|
190
|
-
}
|
|
191
|
-
else {
|
|
192
|
-
logger.info(`Calling responseCallback with responseObject: ${responseObjectPrintable}`);
|
|
193
|
-
callback(null, responseObject);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
catch (error) {
|
|
197
|
-
logger.error(`restclient.handlePostResponse(): Failed to call callback function ${error}`);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
//# sourceMappingURL=restclient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"restclient.js","sourceRoot":"","sources":["../../../src/restclient/restclient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { ResponseObject, FailOverConfig, HandleRequestInputProps } from "./types";
|
|
3
|
-
import { Endpoint } from "../blockchainClient/types";
|
|
4
|
-
import { Method } from "./enums";
|
|
5
|
-
import { NodeManager } from "./nodeManager";
|
|
6
|
-
interface BlockchainRidFromIidPops {
|
|
7
|
-
endpointPool: Endpoint[];
|
|
8
|
-
chainId: number;
|
|
9
|
-
nodeManager: NodeManager;
|
|
10
|
-
failOverConfig?: FailOverConfig;
|
|
11
|
-
merkleHashVersion: number;
|
|
12
|
-
}
|
|
13
|
-
export declare function getBlockchainRidFromIid({ endpointPool, chainId, failOverConfig, nodeManager, }: BlockchainRidFromIidPops): Promise<string>;
|
|
14
|
-
export declare function createTimeoutPromise(timeoutMs: number): Promise<never>;
|
|
15
|
-
export declare const checkStateOfPromises: <T>(promises: Promise<T>[]) => Promise<{
|
|
16
|
-
status: string;
|
|
17
|
-
value: any;
|
|
18
|
-
}[]>;
|
|
19
|
-
export declare function racePromisesWithTimeout<T>(promises: Promise<T>[], timeout: number): Promise<Promise<T>[]>;
|
|
20
|
-
interface HasResult<R> {
|
|
21
|
-
result: R;
|
|
22
|
-
}
|
|
23
|
-
export declare const groupResponses: <T extends HasResult<R>, R>(responses: T[]) => {
|
|
24
|
-
maxNumberOfEqualResponses: () => number;
|
|
25
|
-
numberOfDistinctResponses: () => number;
|
|
26
|
-
majorityResponse: () => R;
|
|
27
|
-
};
|
|
28
|
-
export declare function requestWithFailoverStrategy(method: Method, path: string, config: HandleRequestInputProps["config"], postObject?: Buffer, forceSingleEndpoint?: boolean): Promise<ResponseObject>;
|
|
29
|
-
export declare const sleep: (ms: number) => Promise<unknown>;
|
|
30
|
-
export declare function convertToPrintable(responseObject: any): any;
|
|
31
|
-
export declare const bftMajority: (n: number) => number;
|
|
32
|
-
export {};
|
|
@@ -1,141 +0,0 @@
|
|
|
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 { GetBridFromChainException } from "./errors";
|
|
11
|
-
import { abortOnError, singleEndpoint, tryNextOnError, queryMajority } from "./failoverStrategies";
|
|
12
|
-
import { Method } from "./enums";
|
|
13
|
-
import { defaultFailoverConfig, setStatusPolling } from "../blockchainClient/utils";
|
|
14
|
-
import { FailoverStrategy } from "../blockchainClient/enums";
|
|
15
|
-
import { isString } from "../blockchainClient/validation/requests";
|
|
16
|
-
export function getBlockchainRidFromIid({ endpointPool, chainId, failOverConfig = {}, nodeManager, }) {
|
|
17
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
-
const mergedFailOverConfig = Object.assign(Object.assign({}, defaultFailoverConfig), failOverConfig);
|
|
19
|
-
const config = {
|
|
20
|
-
endpointPool,
|
|
21
|
-
nodeManager,
|
|
22
|
-
dappStatusPolling: setStatusPolling(),
|
|
23
|
-
clusterAnchoringStatusPolling: setStatusPolling(),
|
|
24
|
-
systemAnchoringStatusPolling: setStatusPolling(),
|
|
25
|
-
failoverStrategy: mergedFailOverConfig.strategy,
|
|
26
|
-
attemptsPerEndpoint: mergedFailOverConfig.attemptsPerEndpoint,
|
|
27
|
-
attemptInterval: mergedFailOverConfig.attemptInterval,
|
|
28
|
-
unreachableDuration: mergedFailOverConfig.unreachableDuration,
|
|
29
|
-
merkleHashVersion: 0,
|
|
30
|
-
};
|
|
31
|
-
const { error, statusCode, rspBody } = yield requestWithFailoverStrategy(Method.GET, `/brid/iid_${chainId}`, config);
|
|
32
|
-
const blockchainRid = isString(rspBody);
|
|
33
|
-
if (!blockchainRid) {
|
|
34
|
-
throw error;
|
|
35
|
-
}
|
|
36
|
-
if (error) {
|
|
37
|
-
throw new GetBridFromChainException(chainId, error.message);
|
|
38
|
-
}
|
|
39
|
-
else if (statusCode !== 200) {
|
|
40
|
-
throw new GetBridFromChainException(chainId, blockchainRid);
|
|
41
|
-
}
|
|
42
|
-
return blockchainRid;
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
export function createTimeoutPromise(timeoutMs) {
|
|
46
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
return new Promise((_, reject) => {
|
|
48
|
-
setTimeout(() => {
|
|
49
|
-
reject(new Error("Timeout exceeded"));
|
|
50
|
-
}, timeoutMs);
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
export const checkStateOfPromises = (promises) => __awaiter(void 0, void 0, void 0, function* () {
|
|
55
|
-
const promiseList = [];
|
|
56
|
-
const pendingState = { status: "pending" };
|
|
57
|
-
for (const p of promises) {
|
|
58
|
-
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 })));
|
|
59
|
-
}
|
|
60
|
-
return promiseList;
|
|
61
|
-
});
|
|
62
|
-
export function racePromisesWithTimeout(promises, timeout) {
|
|
63
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
-
let remainingPromises = [];
|
|
65
|
-
try {
|
|
66
|
-
const resolvedPromise = yield Promise.race([createTimeoutPromise(timeout), ...promises]);
|
|
67
|
-
const promisesWithState = yield checkStateOfPromises(promises);
|
|
68
|
-
const indexOfpromiseToRemove = promisesWithState.findIndex(p => JSON.stringify(p.value) === JSON.stringify(resolvedPromise));
|
|
69
|
-
// Remove the promise that resolved from the list of promises
|
|
70
|
-
promisesWithState.splice(indexOfpromiseToRemove, 1);
|
|
71
|
-
// Remove the state before returning the promises.
|
|
72
|
-
remainingPromises = promisesWithState.map(p => p.value);
|
|
73
|
-
return remainingPromises;
|
|
74
|
-
}
|
|
75
|
-
catch (error) {
|
|
76
|
-
if (error instanceof Error && error.message === "Timeout exceeded") {
|
|
77
|
-
throw error;
|
|
78
|
-
}
|
|
79
|
-
return remainingPromises;
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
const stableStringify = (obj) => JSON.stringify(obj, Object.keys(obj).sort());
|
|
84
|
-
export const groupResponses = (responses) => {
|
|
85
|
-
const responseMap = responses.reduce((acc, response) => {
|
|
86
|
-
const key = stableStringify(response.result);
|
|
87
|
-
acc[key] = acc[key]
|
|
88
|
-
? { response: acc[key].response, count: acc[key].count + 1 }
|
|
89
|
-
: { response, count: 1 };
|
|
90
|
-
return acc;
|
|
91
|
-
}, {});
|
|
92
|
-
const distinctResponses = Object.values(responseMap).sort((a, b) => b.count - a.count);
|
|
93
|
-
// Returns the count of the most common response
|
|
94
|
-
const maxNumberOfEqualResponses = () => {
|
|
95
|
-
return distinctResponses.length > 0 ? distinctResponses[0].count : 0;
|
|
96
|
-
};
|
|
97
|
-
// Returns the number of distinct responses
|
|
98
|
-
const numberOfDistinctResponses = () => {
|
|
99
|
-
return distinctResponses.length;
|
|
100
|
-
};
|
|
101
|
-
// Returns the most common response
|
|
102
|
-
const majorityResponse = () => {
|
|
103
|
-
return distinctResponses[0].response.result;
|
|
104
|
-
};
|
|
105
|
-
return {
|
|
106
|
-
maxNumberOfEqualResponses,
|
|
107
|
-
numberOfDistinctResponses,
|
|
108
|
-
majorityResponse,
|
|
109
|
-
};
|
|
110
|
-
};
|
|
111
|
-
export function requestWithFailoverStrategy(method, path, config, postObject, forceSingleEndpoint = false) {
|
|
112
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
113
|
-
switch (config.failoverStrategy) {
|
|
114
|
-
case FailoverStrategy.AbortOnError:
|
|
115
|
-
return yield abortOnError({ method, path, config, postObject });
|
|
116
|
-
case FailoverStrategy.TryNextOnError:
|
|
117
|
-
return yield tryNextOnError({ method, path, config, postObject });
|
|
118
|
-
case FailoverStrategy.SingleEndpoint:
|
|
119
|
-
return yield singleEndpoint({ method, path, config, postObject });
|
|
120
|
-
case FailoverStrategy.QueryMajority:
|
|
121
|
-
if (forceSingleEndpoint) {
|
|
122
|
-
return yield singleEndpoint({ method, path, config, postObject });
|
|
123
|
-
}
|
|
124
|
-
return yield queryMajority({ method, path, config, postObject });
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
export const sleep = (ms) => new Promise(r => setTimeout(r, ms));
|
|
129
|
-
export function convertToPrintable(responseObject) {
|
|
130
|
-
if (typeof responseObject === "bigint") {
|
|
131
|
-
return `${responseObject}n`;
|
|
132
|
-
}
|
|
133
|
-
else if (typeof responseObject === "object") {
|
|
134
|
-
return JSON.stringify(responseObject, (key, value) => typeof value === "bigint" ? `${value}n` : value);
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
return responseObject;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
export const bftMajority = (n) => n - (n - 1) / 3;
|
|
141
|
-
//# sourceMappingURL=restclientutil.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"restclientutil.js","sourceRoot":"","sources":["../../../src/restclient/restclientutil.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { FailoverStrategy } from "../blockchainClient/enums";
|
|
3
|
-
import { ClientConfig, Endpoint, StatusObject } from "../blockchainClient/types";
|
|
4
|
-
import { RawGtv } from "../gtv/types";
|
|
5
|
-
import { SignerPair } from "../gtx/types";
|
|
6
|
-
import { StringPath } from "../merkle/types";
|
|
7
|
-
import { Method } from "./enums";
|
|
8
|
-
import { NodeManager } from "./nodeManager";
|
|
9
|
-
export type RestClientConfig = {
|
|
10
|
-
nodeManager: NodeManager;
|
|
11
|
-
endpointPool: Endpoint[];
|
|
12
|
-
pool: {
|
|
13
|
-
maxSockets: number;
|
|
14
|
-
};
|
|
15
|
-
pollingInterval: number;
|
|
16
|
-
failoverStrategy: FailoverStrategy;
|
|
17
|
-
attemptsPerEndpoint: number;
|
|
18
|
-
attemptInterval: number;
|
|
19
|
-
unreachableDuration: number;
|
|
20
|
-
};
|
|
21
|
-
export type RequestOptions = {
|
|
22
|
-
method: string;
|
|
23
|
-
url: string;
|
|
24
|
-
json: boolean;
|
|
25
|
-
body?: object;
|
|
26
|
-
pool: {
|
|
27
|
-
maxSockets: number;
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
export type QueryObject = {
|
|
31
|
-
type: string;
|
|
32
|
-
[arg: string]: RawGtv;
|
|
33
|
-
};
|
|
34
|
-
export type QueryObjectGTV = [name: string, args: Arg];
|
|
35
|
-
export type Arg = {
|
|
36
|
-
[arg: string]: RawGtv;
|
|
37
|
-
};
|
|
38
|
-
export type ServerReturnProof = {
|
|
39
|
-
hash: string;
|
|
40
|
-
blockHeader: string;
|
|
41
|
-
signatures: SignerPair[];
|
|
42
|
-
merklePath: StringPath;
|
|
43
|
-
};
|
|
44
|
-
export type TransactionObject = {
|
|
45
|
-
tx: string;
|
|
46
|
-
};
|
|
47
|
-
export type PostRequestObjects = TransactionObject | QueryObject;
|
|
48
|
-
export type GetResponseObjects = StatusObject | TransactionObject | ServerReturnProof;
|
|
49
|
-
export type FailOverConfig = {
|
|
50
|
-
strategy?: FailoverStrategy;
|
|
51
|
-
attemptsPerEndpoint?: number;
|
|
52
|
-
attemptInterval?: number;
|
|
53
|
-
unreachableDuration?: number;
|
|
54
|
-
};
|
|
55
|
-
export type ResponseObject = {
|
|
56
|
-
statusCode: number | null;
|
|
57
|
-
error: Error | null;
|
|
58
|
-
rspBody: unknown;
|
|
59
|
-
};
|
|
60
|
-
export type RetryRequestSettings = {
|
|
61
|
-
endpointPool: Endpoint[];
|
|
62
|
-
nodeManager: NodeManager;
|
|
63
|
-
attemptsPerEndpoint: number;
|
|
64
|
-
unreachableDuration: number;
|
|
65
|
-
attemptInterval: number;
|
|
66
|
-
};
|
|
67
|
-
export interface BaseRequestProps {
|
|
68
|
-
method: Method;
|
|
69
|
-
path: string;
|
|
70
|
-
postObject?: PostRequestObjects | Buffer;
|
|
71
|
-
}
|
|
72
|
-
export interface HandleRequestInputProps extends BaseRequestProps {
|
|
73
|
-
config: RestClientConfig | Omit<ClientConfig, "blockchainRid" | "directoryChainRid">;
|
|
74
|
-
}
|
|
75
|
-
export interface RetryRequestProps extends BaseRequestProps {
|
|
76
|
-
config: RetryRequestSettings;
|
|
77
|
-
}
|
|
78
|
-
export type RestClientCallback<TData, TError = Error> = (error: TError | null | undefined, responseBody: TData | null | undefined, statusCode?: number | null | undefined) => void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/restclient/types.ts"],"names":[],"mappings":""}
|