postchain-client 2.1.2 → 2.1.4

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.
Files changed (272) hide show
  1. package/README.md +8 -0
  2. package/built/cjs/index.js +3464 -2559
  3. package/built/cjs/index.js.map +1 -1
  4. package/built/esm/index.js +4647 -3293
  5. package/built/esm/index.js.map +1 -1
  6. package/built/index.js +108 -30
  7. package/built/index.js.map +1 -1
  8. package/built/mocks/handlers.js +70 -67
  9. package/built/mocks/handlers.js.map +1 -1
  10. package/built/mocks/servers.d.ts +1 -1
  11. package/built/mocks/servers.js +6 -3
  12. package/built/mocks/servers.js.map +1 -1
  13. package/built/resources/testData.js +14 -11
  14. package/built/resources/testData.js.map +1 -1
  15. package/built/src/ICCF/IccfProofTxMaterialBuilder.js +39 -29
  16. package/built/src/ICCF/IccfProofTxMaterialBuilder.js.map +1 -1
  17. package/built/src/ICCF/error.js +21 -11
  18. package/built/src/ICCF/error.js.map +1 -1
  19. package/built/src/ICCF/interfaces.js +2 -1
  20. package/built/src/ICCF/types.js +2 -1
  21. package/built/src/ICCF/utils.js +50 -40
  22. package/built/src/ICCF/utils.js.map +1 -1
  23. package/built/src/blockchainClient/blockchainClient.js +180 -141
  24. package/built/src/blockchainClient/blockchainClient.js.map +1 -1
  25. package/built/src/blockchainClient/clientStub.js +19 -16
  26. package/built/src/blockchainClient/clientStub.js.map +1 -1
  27. package/built/src/blockchainClient/enums.js +15 -12
  28. package/built/src/blockchainClient/enums.js.map +1 -1
  29. package/built/src/blockchainClient/errors.d.ts +3 -0
  30. package/built/src/blockchainClient/errors.js +36 -15
  31. package/built/src/blockchainClient/errors.js.map +1 -1
  32. package/built/src/blockchainClient/failoverStrategies.js +75 -30
  33. package/built/src/blockchainClient/failoverStrategies.js.map +1 -1
  34. package/built/src/blockchainClient/httpUtil.js +45 -9
  35. package/built/src/blockchainClient/httpUtil.js.map +1 -1
  36. package/built/src/blockchainClient/interface.js +2 -1
  37. package/built/src/blockchainClient/nodeManager.js +41 -3
  38. package/built/src/blockchainClient/nodeManager.js.map +1 -1
  39. package/built/src/blockchainClient/requestWithFailoverStrategy.js +15 -12
  40. package/built/src/blockchainClient/requestWithFailoverStrategy.js.map +1 -1
  41. package/built/src/blockchainClient/types.d.ts +4 -0
  42. package/built/src/blockchainClient/types.js +2 -1
  43. package/built/src/blockchainClient/utils.d.ts +3 -1
  44. package/built/src/blockchainClient/utils.js +242 -153
  45. package/built/src/blockchainClient/utils.js.map +1 -1
  46. package/built/src/blockchainClient/validation/anchoringTransaction.js +11 -8
  47. package/built/src/blockchainClient/validation/anchoringTransaction.js.map +1 -1
  48. package/built/src/blockchainClient/validation/blockIdentifier.js +10 -6
  49. package/built/src/blockchainClient/validation/blockIdentifier.js.map +1 -1
  50. package/built/src/blockchainClient/validation/bufferSchema.js +6 -3
  51. package/built/src/blockchainClient/validation/bufferSchema.js.map +1 -1
  52. package/built/src/blockchainClient/validation/merkleHash.js +10 -6
  53. package/built/src/blockchainClient/validation/merkleHash.js.map +1 -1
  54. package/built/src/blockchainClient/validation/networkSettings.js +35 -30
  55. package/built/src/blockchainClient/validation/networkSettings.js.map +1 -1
  56. package/built/src/blockchainClient/validation/rawGtx.js +18 -15
  57. package/built/src/blockchainClient/validation/rawGtx.js.map +1 -1
  58. package/built/src/blockchainClient/validation/requests.js +108 -87
  59. package/built/src/blockchainClient/validation/requests.js.map +1 -1
  60. package/built/src/blockchainClient/validation/signMethod.d.ts +8 -8
  61. package/built/src/blockchainClient/validation/signMethod.js +15 -11
  62. package/built/src/blockchainClient/validation/signMethod.js.map +1 -1
  63. package/built/src/blockchainClient/validation/transactionStatusReponse.js +11 -8
  64. package/built/src/blockchainClient/validation/transactionStatusReponse.js.map +1 -1
  65. package/built/src/blockchainClient/validation/txRid.d.ts +1 -1
  66. package/built/src/blockchainClient/validation/txRid.js +10 -6
  67. package/built/src/blockchainClient/validation/txRid.js.map +1 -1
  68. package/built/src/blockchainClient/validation/validation.types.js +2 -1
  69. package/built/src/customError/index.js +5 -1
  70. package/built/src/customError/index.js.map +1 -1
  71. package/built/src/encryption/encryption.js +74 -27
  72. package/built/src/encryption/encryption.js.map +1 -1
  73. package/built/src/encryption/errors.js +7 -2
  74. package/built/src/encryption/errors.js.map +1 -1
  75. package/built/src/encryption/types.js +2 -1
  76. package/built/src/formatter.js +38 -22
  77. package/built/src/formatter.js.map +1 -1
  78. package/built/src/gtv/definition.js +9 -6
  79. package/built/src/gtv/definition.js.map +1 -1
  80. package/built/src/gtv/index.js +44 -6
  81. package/built/src/gtv/index.js.map +1 -1
  82. package/built/src/gtv/types.js +2 -1
  83. package/built/src/gtx/errors.js +14 -6
  84. package/built/src/gtx/errors.js.map +1 -1
  85. package/built/src/gtx/gtx.js +92 -41
  86. package/built/src/gtx/gtx.js.map +1 -1
  87. package/built/src/gtx/index.js +39 -2
  88. package/built/src/gtx/index.js.map +1 -1
  89. package/built/src/gtx/serialization.js +26 -18
  90. package/built/src/gtx/serialization.js.map +1 -1
  91. package/built/src/gtx/types.js +2 -1
  92. package/built/src/logger.js +19 -9
  93. package/built/src/logger.js.map +1 -1
  94. package/built/src/promiEvent/promiEventEmitter.js +7 -3
  95. package/built/src/promiEvent/promiEventEmitter.js.map +1 -1
  96. package/built/src/promiEvent/promiEvents.js +6 -2
  97. package/built/src/promiEvent/promiEvents.js.map +1 -1
  98. package/built/src/utils/bufferUtils.js +6 -3
  99. package/built/src/utils/bufferUtils.js.map +1 -1
  100. package/built/src/utils/calculateTransactionRid.js +8 -5
  101. package/built/src/utils/calculateTransactionRid.js.map +1 -1
  102. package/built/src/utils/constants.js +4 -1
  103. package/built/src/utils/constants.js.map +1 -1
  104. package/built/src/utils/decodeTransactionToGtx.js +41 -5
  105. package/built/src/utils/decodeTransactionToGtx.js.map +1 -1
  106. package/built/src/utils/dump.js +13 -9
  107. package/built/src/utils/dump.js.map +1 -1
  108. package/built/src/utils/encodeTransaction.js +6 -3
  109. package/built/src/utils/encodeTransaction.js.map +1 -1
  110. package/built/src/utils/http-utils.js +17 -7
  111. package/built/src/utils/http-utils.js.map +1 -1
  112. package/built/test/common/mocks.js +147 -111
  113. package/built/test/common/mocks.js.map +1 -1
  114. package/built/test/common/serializationtestobjects.js +13 -7
  115. package/built/test/common/serializationtestobjects.js.map +1 -1
  116. package/built/test/common/setups.d.ts +1 -1
  117. package/built/test/common/setups.js +95 -46
  118. package/built/test/common/setups.js.map +1 -1
  119. package/built/test/common/signatures.js +47 -7
  120. package/built/test/common/signatures.js.map +1 -1
  121. package/built/test/common/testData.js +4 -1
  122. package/built/test/common/testData.js.map +1 -1
  123. package/built/test/common/validationMocks.js +52 -49
  124. package/built/test/common/validationMocks.js.map +1 -1
  125. package/built/test/integration/clientGetBlockInfo.test.js +4 -2
  126. package/built/test/integration/clientGetBlockInfo.test.js.map +1 -1
  127. package/built/test/integration/clientGetRejectedTransactions.test.js +9 -7
  128. package/built/test/integration/clientGetRejectedTransactions.test.js.map +1 -1
  129. package/built/test/integration/clientGetTransaction.test.js +8 -6
  130. package/built/test/integration/clientGetTransaction.test.js.map +1 -1
  131. package/built/test/integration/clientGetTransactionStatus.test.js +51 -16
  132. package/built/test/integration/clientGetTransactionStatus.test.js.map +1 -1
  133. package/built/test/integration/clientGetWaitingTransaction.test.js +13 -11
  134. package/built/test/integration/clientGetWaitingTransaction.test.js.map +1 -1
  135. package/built/test/integration/clientGetWaitingTransactions.test.js +9 -7
  136. package/built/test/integration/clientGetWaitingTransactions.test.js.map +1 -1
  137. package/built/test/integration/clientIntegration.test.js +12 -10
  138. package/built/test/integration/clientIntegration.test.js.map +1 -1
  139. package/built/test/integration/clientQuery.test.js +61 -26
  140. package/built/test/integration/clientQuery.test.js.map +1 -1
  141. package/built/test/integration/clientSendTransaction.test.js +23 -21
  142. package/built/test/integration/clientSendTransaction.test.js.map +1 -1
  143. package/built/test/integration/clientSignAndSendUniqueTransaction.test.js +23 -21
  144. package/built/test/integration/clientSignAndSendUniqueTransaction.test.js.map +1 -1
  145. package/built/test/integration/clientSignTransaction.test.js +24 -22
  146. package/built/test/integration/clientSignTransaction.test.js.map +1 -1
  147. package/built/test/integration/clientUtils.test.js +12 -10
  148. package/built/test/integration/clientUtils.test.js.map +1 -1
  149. package/built/test/integration/createClientIntegration.test.js +28 -26
  150. package/built/test/integration/createClientIntegration.test.js.map +1 -1
  151. package/built/test/integration/encodeTransaction.test.js +10 -8
  152. package/built/test/integration/encodeTransaction.test.js.map +1 -1
  153. package/built/test/integration/failoverStrategiesWithSmartTimeouts.test.js +45 -10
  154. package/built/test/integration/failoverStrategiesWithSmartTimeouts.test.js.map +1 -1
  155. package/built/test/integration/getTransactionsInfo.test.js +15 -13
  156. package/built/test/integration/getTransactionsInfo.test.js.map +1 -1
  157. package/built/test/integration/signAndSendUniqueTransaction.test.js +16 -14
  158. package/built/test/integration/signAndSendUniqueTransaction.test.js.map +1 -1
  159. package/built/test/integrationChromiaNetwork/createIccfProofTx.test.js +24 -22
  160. package/built/test/integrationChromiaNetwork/createIccfProofTx.test.js.map +1 -1
  161. package/built/test/integrationChromiaNetwork/getAnchoringStatusForBlockRid.test.js +15 -13
  162. package/built/test/integrationChromiaNetwork/getAnchoringStatusForBlockRid.test.js.map +1 -1
  163. package/built/test/integrationChromiaNetwork/getTransactionConfirmationLevel.test.js +10 -8
  164. package/built/test/integrationChromiaNetwork/getTransactionConfirmationLevel.test.js.map +1 -1
  165. package/built/test/integrationChromiaNetwork/getTransactionStatus.test.js +16 -14
  166. package/built/test/integrationChromiaNetwork/getTransactionStatus.test.js.map +1 -1
  167. package/built/test/integrationChromiaNetwork/isBlockAnchored.test.js +16 -14
  168. package/built/test/integrationChromiaNetwork/isBlockAnchored.test.js.map +1 -1
  169. package/built/test/integrationChromiaNetwork/merkleHashIntegration.test.js +21 -19
  170. package/built/test/integrationChromiaNetwork/merkleHashIntegration.test.js.map +1 -1
  171. package/built/test/integrationChromiaNetwork/nodeDiscovery.test.js +15 -10
  172. package/built/test/integrationChromiaNetwork/nodeDiscovery.test.js.map +1 -1
  173. package/built/test/integrationChromiaNetwork/requestWithFailoverStrategy.test.js +74 -36
  174. package/built/test/integrationChromiaNetwork/requestWithFailoverStrategy.test.js.map +1 -1
  175. package/built/test/integrationChromiaNetwork/signAndSendUniqueTransaction.test.js +17 -15
  176. package/built/test/integrationChromiaNetwork/signAndSendUniqueTransaction.test.js.map +1 -1
  177. package/built/test/manual/iccfManually.test.js +59 -24
  178. package/built/test/manual/iccfManually.test.js.map +1 -1
  179. package/built/test/pcctf/getSuites.test.js +27 -25
  180. package/built/test/pcctf/getSuites.test.js.map +1 -1
  181. package/built/test/pcctf/helpers.js +38 -23
  182. package/built/test/pcctf/helpers.js.map +1 -1
  183. package/built/test/unit/ICCF/iccf.test.js +77 -75
  184. package/built/test/unit/ICCF/iccf.test.js.map +1 -1
  185. package/built/test/unit/ICCF/iccfProofMaterialBuilder.test.js +112 -58
  186. package/built/test/unit/ICCF/iccfProofMaterialBuilder.test.js.map +1 -1
  187. package/built/test/unit/blockchainClient/client.getRejectedTransactions.test.js +12 -10
  188. package/built/test/unit/blockchainClient/client.getRejectedTransactions.test.js.map +1 -1
  189. package/built/test/unit/blockchainClient/client.getWaitingTransaction.test.js +14 -12
  190. package/built/test/unit/blockchainClient/client.getWaitingTransaction.test.js.map +1 -1
  191. package/built/test/unit/blockchainClient/client.getWaitingTransactions.test.js +10 -8
  192. package/built/test/unit/blockchainClient/client.getWaitingTransactions.test.js.map +1 -1
  193. package/built/test/unit/blockchainClient/client.test.js +89 -54
  194. package/built/test/unit/blockchainClient/client.test.js.map +1 -1
  195. package/built/test/unit/blockchainClient/clientCustomStatusCodes.test.js +26 -24
  196. package/built/test/unit/blockchainClient/clientCustomStatusCodes.test.js.map +1 -1
  197. package/built/test/unit/blockchainClient/getAnchoringStatusForBlockRid.test.js +52 -17
  198. package/built/test/unit/blockchainClient/getAnchoringStatusForBlockRid.test.js.map +1 -1
  199. package/built/test/unit/blockchainClient/getSystemAnchoringTransactionConfirmation.test.js +46 -11
  200. package/built/test/unit/blockchainClient/getSystemAnchoringTransactionConfirmation.test.js.map +1 -1
  201. package/built/test/unit/blockchainClient/getTransactionConfirmationLevel.test.js +64 -29
  202. package/built/test/unit/blockchainClient/getTransactionConfirmationLevel.test.js.map +1 -1
  203. package/built/test/unit/blockchainClient/sendTransaction.test.js +191 -156
  204. package/built/test/unit/blockchainClient/sendTransaction.test.js.map +1 -1
  205. package/built/test/unit/blockchainClient/setMerkleVersion.test.js +15 -13
  206. package/built/test/unit/blockchainClient/setMerkleVersion.test.js.map +1 -1
  207. package/built/test/unit/blockchainClient/signAndSendUniqueTransactionPromiEvents.test.js +21 -19
  208. package/built/test/unit/blockchainClient/signAndSendUniqueTransactionPromiEvents.test.js.map +1 -1
  209. package/built/test/unit/blockchainClient/statusPollIntervals.test.js +45 -10
  210. package/built/test/unit/blockchainClient/statusPollIntervals.test.js.map +1 -1
  211. package/built/test/unit/blockchainClient/util.test.js +119 -31
  212. package/built/test/unit/blockchainClient/util.test.js.map +1 -1
  213. package/built/test/unit/decodeTransactionToGtx.test.js +6 -4
  214. package/built/test/unit/decodeTransactionToGtx.test.js.map +1 -1
  215. package/built/test/unit/dump.test.js +6 -4
  216. package/built/test/unit/dump.test.js.map +1 -1
  217. package/built/test/unit/encryption/encryption.test.js +26 -24
  218. package/built/test/unit/encryption/encryption.test.js.map +1 -1
  219. package/built/test/unit/failoverStrategies.test.js +114 -79
  220. package/built/test/unit/failoverStrategies.test.js.map +1 -1
  221. package/built/test/unit/failoverStrategies.timeout.test.js +90 -55
  222. package/built/test/unit/failoverStrategies.timeout.test.js.map +1 -1
  223. package/built/test/unit/formatter.test.js +23 -21
  224. package/built/test/unit/formatter.test.js.map +1 -1
  225. package/built/test/unit/gtv/gtvHash.test.js +13 -11
  226. package/built/test/unit/gtv/gtvHash.test.js.map +1 -1
  227. package/built/test/unit/gtx/checkGTXSignature.test.js +18 -16
  228. package/built/test/unit/gtx/checkGTXSignature.test.js.map +1 -1
  229. package/built/test/unit/gtx/newSignatureProvider.test.js +14 -12
  230. package/built/test/unit/gtx/newSignatureProvider.test.js.map +1 -1
  231. package/built/test/unit/gtx/serialization.test.js +47 -42
  232. package/built/test/unit/gtx/serialization.test.js.map +1 -1
  233. package/built/test/unit/httpUtil.test.js +13 -11
  234. package/built/test/unit/httpUtil.test.js.map +1 -1
  235. package/built/test/unit/httpUtil.timeout.test.js +12 -10
  236. package/built/test/unit/httpUtil.timeout.test.js.map +1 -1
  237. package/built/test/unit/logger.test.js +42 -40
  238. package/built/test/unit/logger.test.js.map +1 -1
  239. package/built/test/unit/networkErrorDetection.test.js +39 -37
  240. package/built/test/unit/networkErrorDetection.test.js.map +1 -1
  241. package/built/test/unit/nodeMananger.test.js +19 -17
  242. package/built/test/unit/nodeMananger.test.js.map +1 -1
  243. package/built/test/unit/setOrdering.test.js +7 -5
  244. package/built/test/unit/setOrdering.test.js.map +1 -1
  245. package/built/test/unit/smartTimeouts.test.js +20 -18
  246. package/built/test/unit/smartTimeouts.test.js.map +1 -1
  247. package/built/test/unit/stickyNode.test.js +19 -17
  248. package/built/test/unit/stickyNode.test.js.map +1 -1
  249. package/built/test/unit/universalNodeRecovery.test.js +54 -19
  250. package/built/test/unit/universalNodeRecovery.test.js.map +1 -1
  251. package/built/test/unit/validation/anchoringTransaction.test.js +12 -10
  252. package/built/test/unit/validation/anchoringTransaction.test.js.map +1 -1
  253. package/built/test/unit/validation/blockIdentifier.test.js +10 -8
  254. package/built/test/unit/validation/blockIdentifier.test.js.map +1 -1
  255. package/built/test/unit/validation/bufferSchema.test.js +8 -6
  256. package/built/test/unit/validation/bufferSchema.test.js.map +1 -1
  257. package/built/test/unit/validation/networkSettings.test.js +14 -12
  258. package/built/test/unit/validation/networkSettings.test.js.map +1 -1
  259. package/built/test/unit/validation/rawGtx.test.js +24 -22
  260. package/built/test/unit/validation/rawGtx.test.js.map +1 -1
  261. package/built/test/unit/validation/requests.test.js +56 -54
  262. package/built/test/unit/validation/requests.test.js.map +1 -1
  263. package/built/test/unit/validation/signMethod.test.js +11 -9
  264. package/built/test/unit/validation/signMethod.test.js.map +1 -1
  265. package/built/test/unit/validation/statusObject.test.js +21 -19
  266. package/built/test/unit/validation/statusObject.test.js.map +1 -1
  267. package/built/test/unit/validation/txRid.test.js +10 -8
  268. package/built/test/unit/validation/txRid.test.js.map +1 -1
  269. package/built/umd/index.js +4656 -3372
  270. package/built/umd/index.js.map +1 -1
  271. package/changelog.md +8 -4
  272. package/package.json +2 -2
package/README.md CHANGED
@@ -43,6 +43,8 @@ Create a Chromia client instance and configures it according to your needs.
43
43
  - `settings` (Object): A set of network settings to customize the behavior of the Chromia client.
44
44
  - `nodeUrlPool` (Optional): An array of URLs representing the nodes the client will send requests to. Use this if you know the specific nodes that will handle the client requests. These nodes can either be local nodes or belong to the same cluster as the targeted blockchain.
45
45
  - `directoryNodeUrlPool` (Optional): An array of URLs representing nodes in the system cluster, where the directory chain is located. The client will automatically discover every node running the targeted application by querying the directory chain. This can be useful when the client needs to automatically adapt to updates to the nodes within the cluster where the blockchain is located."
46
+ - `blockedNodeUrlSubstrings` (Optional): Opt-in node URL filtering. If configured, URLs containing any listed substring are excluded (case-insensitive). By default this is disabled, so existing behavior is unchanged.
47
+ - `nodeUrlFilter` (Optional): Opt-in custom predicate `(url: string) => boolean` used to accept/reject node URLs. If both `blockedNodeUrlSubstrings` and `nodeUrlFilter` are set, a URL is used only when it passes both filters.
46
48
  - `blockchainRid` (Optional): Resource Identifier (Rid) of the targeted blockchain. This is a unique identifier for the specific blockchain.
47
49
  - `blockchainIid` (Optional): Instance Identifier (Iid) of the targeted blockchain. The directory chain always has Iid 0.
48
50
  - `statusPollInterval` (Optional): Interval (in milliseconds) at which the client will poll the status after posting a transaction.
@@ -54,6 +56,12 @@ Create a Chromia client instance and configures it according to your needs.
54
56
  - `unreachableDuration` (Optional): Duration (in milliseconds) that an endpoint should remain unreachable before reattempting. Defaults to 30000 ms.
55
57
  - `useStickyNode`(Optional): A boolean that will make sure that on succefull requests to a node, the client will continue using this node unless it starts failing.
56
58
 
59
+ ### Optional node URL filtering (opt-in)
60
+
61
+ Node URL filtering is disabled by default for backward compatibility. Existing users do not need to change anything.
62
+
63
+ If you opt in by configuring `blockedNodeUrlSubstrings` and/or `nodeUrlFilter`, filtering is applied consistently to direct node pools, directory node pools, and directory-discovered blockchain API URLs before failover candidates are used.
64
+
57
65
  ### Returns
58
66
 
59
67
  A promise that resolves to the configured Chromia client instance.