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