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.
Files changed (359) hide show
  1. package/README.md +5 -0
  2. package/built/cjs/index.js +2346 -2600
  3. package/built/cjs/index.js.map +1 -1
  4. package/built/esm/index.js +32402 -32650
  5. package/built/esm/index.js.map +1 -1
  6. package/built/index.d.ts +3 -7
  7. package/built/index.js +2 -9
  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.js.map +1 -1
  13. package/built/src/ICCF/types.d.ts +4 -1
  14. package/built/src/ICCF/utils.js +2 -2
  15. package/built/src/ICCF/utils.js.map +1 -1
  16. package/built/src/blockchainClient/blockchainClient.js +51 -52
  17. package/built/src/blockchainClient/blockchainClient.js.map +1 -1
  18. package/built/src/blockchainClient/clientStub.js +18 -16
  19. package/built/src/blockchainClient/clientStub.js.map +1 -1
  20. package/built/src/blockchainClient/enums.d.ts +5 -0
  21. package/built/src/blockchainClient/enums.js +6 -0
  22. package/built/src/blockchainClient/enums.js.map +1 -1
  23. package/built/src/blockchainClient/errors.d.ts +20 -0
  24. package/built/src/blockchainClient/errors.js +41 -0
  25. package/built/src/blockchainClient/errors.js.map +1 -1
  26. package/built/src/{restclient → blockchainClient}/failoverStrategies.d.ts +14 -0
  27. package/built/src/{restclient → blockchainClient}/failoverStrategies.js +102 -23
  28. package/built/src/blockchainClient/failoverStrategies.js.map +1 -0
  29. package/built/src/blockchainClient/httpUtil.d.ts +4 -0
  30. package/built/src/{restclient → blockchainClient}/httpUtil.js +27 -23
  31. package/built/src/blockchainClient/httpUtil.js.map +1 -0
  32. package/built/src/blockchainClient/interface.d.ts +48 -59
  33. package/built/src/blockchainClient/nodeManager.js.map +1 -0
  34. package/built/src/blockchainClient/requestWithFailoverStrategy.d.ts +4 -0
  35. package/built/src/blockchainClient/requestWithFailoverStrategy.js +31 -0
  36. package/built/src/blockchainClient/requestWithFailoverStrategy.js.map +1 -0
  37. package/built/src/blockchainClient/types.d.ts +63 -20
  38. package/built/src/blockchainClient/utils.d.ts +37 -12
  39. package/built/src/blockchainClient/utils.js +136 -30
  40. package/built/src/blockchainClient/utils.js.map +1 -1
  41. package/built/src/blockchainClient/validation/merkleHash.js +2 -1
  42. package/built/src/blockchainClient/validation/merkleHash.js.map +1 -1
  43. package/built/src/blockchainClient/validation/rawGtx.d.ts +2 -0
  44. package/built/src/blockchainClient/validation/rawGtx.js +22 -0
  45. package/built/src/blockchainClient/validation/rawGtx.js.map +1 -0
  46. package/built/src/blockchainClient/validation/requests.d.ts +5 -2
  47. package/built/src/blockchainClient/validation/requests.js +26 -0
  48. package/built/src/blockchainClient/validation/requests.js.map +1 -1
  49. package/built/src/blockchainClient/validation/transactionStatusReponse.d.ts +2 -0
  50. package/built/src/blockchainClient/validation/transactionStatusReponse.js +24 -0
  51. package/built/src/blockchainClient/validation/transactionStatusReponse.js.map +1 -0
  52. package/built/src/blockchainClient/validation/txRid.js +1 -1
  53. package/built/src/blockchainClient/validation/txRid.js.map +1 -1
  54. package/built/src/encryption/encryption.d.ts +0 -1
  55. package/built/src/encryption/encryption.js +0 -2
  56. package/built/src/encryption/encryption.js.map +1 -1
  57. package/built/src/formatter.d.ts +5 -7
  58. package/built/src/formatter.js +10 -29
  59. package/built/src/formatter.js.map +1 -1
  60. package/built/src/gtv/index.d.ts +2 -1
  61. package/built/src/gtv/index.js.map +1 -1
  62. package/built/src/gtx/errors.d.ts +2 -1
  63. package/built/src/gtx/errors.js.map +1 -1
  64. package/built/src/gtx/gtx.d.ts +5 -2
  65. package/built/src/gtx/gtx.js +0 -7
  66. package/built/src/gtx/gtx.js.map +1 -1
  67. package/built/src/gtx/serialization.d.ts +0 -1
  68. package/built/src/gtx/serialization.js +0 -1
  69. package/built/src/gtx/serialization.js.map +1 -1
  70. package/built/src/gtx/types.d.ts +0 -8
  71. package/built/src/logger.d.ts +6 -9
  72. package/built/src/logger.js +8 -14
  73. package/built/src/logger.js.map +1 -1
  74. package/built/src/merkle/merkleHelper.d.ts +0 -1
  75. package/built/src/merkle/merkleHelper.js +0 -1
  76. package/built/src/merkle/merkleHelper.js.map +1 -1
  77. package/built/src/promiEvent/promiEventEmitter.d.ts +1 -8
  78. package/built/src/promiEvent/promiEventEmitter.js.map +1 -1
  79. package/built/src/utils/calculateTransactionRid.d.ts +1 -1
  80. package/built/src/utils/calculateTransactionRid.js +6 -6
  81. package/built/src/utils/calculateTransactionRid.js.map +1 -1
  82. package/built/src/utils/constants.d.ts +4 -0
  83. package/built/src/utils/constants.js +5 -0
  84. package/built/src/utils/constants.js.map +1 -0
  85. package/built/src/utils/decodeTransactionToGtx.d.ts +1 -1
  86. package/built/src/utils/decodeTransactionToGtx.js +4 -3
  87. package/built/src/utils/decodeTransactionToGtx.js.map +1 -1
  88. package/built/src/utils/encodeTransaction.d.ts +1 -1
  89. package/built/src/utils/encodeTransaction.js +4 -4
  90. package/built/src/utils/encodeTransaction.js.map +1 -1
  91. package/built/test/common/mocks.d.ts +118 -0
  92. package/built/test/common/mocks.js +239 -0
  93. package/built/test/common/mocks.js.map +1 -0
  94. package/built/test/{unit/gtx → common}/serializationtestobjects.d.ts +1 -1
  95. package/built/test/common/serializationtestobjects.js.map +1 -0
  96. package/built/test/common/setups.d.ts +27 -0
  97. package/built/test/common/setups.js +137 -0
  98. package/built/test/common/setups.js.map +1 -0
  99. package/built/test/{unit → common}/signatures.d.ts +0 -1
  100. package/built/test/{unit → common}/signatures.js +0 -1
  101. package/built/test/common/signatures.js.map +1 -0
  102. package/built/test/common/testData.js.map +1 -0
  103. package/built/test/{unit/validation → common}/validationMocks.d.ts +22 -2
  104. package/built/test/{unit/validation → common}/validationMocks.js +13 -1
  105. package/built/test/common/validationMocks.js.map +1 -0
  106. package/built/test/integration/clientGetBlockInfo.test.js +51 -0
  107. package/built/test/integration/clientGetBlockInfo.test.js.map +1 -0
  108. package/built/test/integration/clientGetRejectedTransactions.test.js +28 -0
  109. package/built/test/integration/clientGetRejectedTransactions.test.js.map +1 -0
  110. package/built/test/integration/clientGetTransaction.test.js +29 -0
  111. package/built/test/integration/clientGetTransaction.test.js.map +1 -0
  112. package/built/test/integration/clientGetTransactionStatus.test.js +71 -0
  113. package/built/test/integration/clientGetTransactionStatus.test.js.map +1 -0
  114. package/built/test/integration/clientGetWaitingTransaction.test.js +34 -0
  115. package/built/test/integration/clientGetWaitingTransaction.test.js.map +1 -0
  116. package/built/test/integration/clientGetWaitingTransactions.test.js +28 -0
  117. package/built/test/integration/clientGetWaitingTransactions.test.js.map +1 -0
  118. package/built/test/integration/clientIntegration.test.js +95 -0
  119. package/built/test/integration/clientIntegration.test.js.map +1 -0
  120. package/built/test/integration/clientQuery.test.js +380 -0
  121. package/built/test/integration/clientQuery.test.js.map +1 -0
  122. package/built/test/integration/clientSendTransaction.test.js +86 -0
  123. package/built/test/integration/clientSendTransaction.test.js.map +1 -0
  124. package/built/test/integration/clientSignAndSendUniqueTransaction.test.js +75 -0
  125. package/built/test/integration/clientSignAndSendUniqueTransaction.test.js.map +1 -0
  126. package/built/test/integration/clientSignTransaction.test.js +77 -0
  127. package/built/test/integration/clientSignTransaction.test.js.map +1 -0
  128. package/built/test/integration/{blockchainClientUtils.test.js → clientUtils.test.js} +13 -8
  129. package/built/test/integration/clientUtils.test.js.map +1 -0
  130. package/built/test/integration/createClientIntegration.test.js +158 -0
  131. package/built/test/integration/createClientIntegration.test.js.map +1 -0
  132. package/built/test/integration/encodeTransaction.test.js +3 -6
  133. package/built/test/integration/encodeTransaction.test.js.map +1 -1
  134. package/built/test/integration/getTransactionsInfo.test.js +17 -26
  135. package/built/test/integration/getTransactionsInfo.test.js.map +1 -1
  136. package/built/test/integration/signAndSendUniqueTransaction.test.js +26 -19
  137. package/built/test/integration/signAndSendUniqueTransaction.test.js.map +1 -1
  138. package/built/test/integrationChromiaNetwork/createIccfProofTx.test.js +59 -0
  139. package/built/test/integrationChromiaNetwork/createIccfProofTx.test.js.map +1 -0
  140. package/built/test/{integrationDevnet → integrationChromiaNetwork}/getAnchoringStatusForBlockRid.test.js +9 -15
  141. package/built/test/integrationChromiaNetwork/getAnchoringStatusForBlockRid.test.js.map +1 -0
  142. package/built/test/{integrationDevnet → integrationChromiaNetwork}/getTransactionConfirmationLevel.test.js +7 -13
  143. package/built/test/integrationChromiaNetwork/getTransactionConfirmationLevel.test.js.map +1 -0
  144. package/built/test/integrationChromiaNetwork/getTransactionStatus.test.js +45 -0
  145. package/built/test/integrationChromiaNetwork/getTransactionStatus.test.js.map +1 -0
  146. package/built/test/integrationChromiaNetwork/isBlockAnchored.test.d.ts +1 -0
  147. package/built/test/integrationChromiaNetwork/isBlockAnchored.test.js +35 -0
  148. package/built/test/integrationChromiaNetwork/isBlockAnchored.test.js.map +1 -0
  149. package/built/test/integrationChromiaNetwork/merkleHashIntegration.test.d.ts +1 -0
  150. package/built/test/integrationChromiaNetwork/merkleHashIntegration.test.js +134 -0
  151. package/built/test/integrationChromiaNetwork/merkleHashIntegration.test.js.map +1 -0
  152. package/built/test/integrationChromiaNetwork/nodeDiscovery.test.d.ts +1 -0
  153. package/built/test/integrationChromiaNetwork/nodeDiscovery.test.js +26 -0
  154. package/built/test/integrationChromiaNetwork/nodeDiscovery.test.js.map +1 -0
  155. package/built/test/integrationChromiaNetwork/requestWithFailoverStrategy.test.d.ts +1 -0
  156. package/built/test/integrationChromiaNetwork/requestWithFailoverStrategy.test.js +84 -0
  157. package/built/test/integrationChromiaNetwork/requestWithFailoverStrategy.test.js.map +1 -0
  158. package/built/test/integrationChromiaNetwork/signAndSendUniqueTransaction.test.d.ts +1 -0
  159. package/built/test/{integrationDevnet → integrationChromiaNetwork}/signAndSendUniqueTransaction.test.js +27 -44
  160. package/built/test/integrationChromiaNetwork/signAndSendUniqueTransaction.test.js.map +1 -0
  161. package/built/test/manual/iccfManually.test.js +18 -27
  162. package/built/test/manual/iccfManually.test.js.map +1 -1
  163. package/built/test/unit/ICCF/iccf.test.js +63 -158
  164. package/built/test/unit/ICCF/iccf.test.js.map +1 -1
  165. package/built/test/unit/ICCF/iccfProofMaterialBuilder.test.d.ts +1 -2
  166. package/built/test/unit/ICCF/iccfProofMaterialBuilder.test.js +101 -296
  167. package/built/test/unit/ICCF/iccfProofMaterialBuilder.test.js.map +1 -1
  168. package/built/test/unit/blockchainClient/client.getRejectedTransactions.test.d.ts +1 -0
  169. package/built/test/unit/blockchainClient/client.getRejectedTransactions.test.js +48 -0
  170. package/built/test/unit/blockchainClient/client.getRejectedTransactions.test.js.map +1 -0
  171. package/built/test/unit/blockchainClient/client.getWaitingTransaction.test.d.ts +1 -0
  172. package/built/test/unit/blockchainClient/client.getWaitingTransaction.test.js +38 -0
  173. package/built/test/unit/blockchainClient/client.getWaitingTransaction.test.js.map +1 -0
  174. package/built/test/unit/blockchainClient/client.getWaitingTransactions.test.d.ts +1 -0
  175. package/built/test/unit/blockchainClient/client.getWaitingTransactions.test.js +30 -0
  176. package/built/test/unit/blockchainClient/client.getWaitingTransactions.test.js.map +1 -0
  177. package/built/test/unit/blockchainClient/client.test.d.ts +1 -0
  178. package/built/test/unit/blockchainClient/client.test.js +175 -0
  179. package/built/test/unit/blockchainClient/client.test.js.map +1 -0
  180. package/built/test/unit/blockchainClient/clientCustomStatusCodes.test.js +26 -32
  181. package/built/test/unit/blockchainClient/clientCustomStatusCodes.test.js.map +1 -1
  182. package/built/test/unit/blockchainClient/getAnchoringStatusForBlockRid.test.js +26 -59
  183. package/built/test/unit/blockchainClient/getAnchoringStatusForBlockRid.test.js.map +1 -1
  184. package/built/test/unit/blockchainClient/getSystemAnchoringTransactionConfirmation.test.js +21 -38
  185. package/built/test/unit/blockchainClient/getSystemAnchoringTransactionConfirmation.test.js.map +1 -1
  186. package/built/test/unit/blockchainClient/getTransactionConfirmationLevel.test.js +77 -127
  187. package/built/test/unit/blockchainClient/getTransactionConfirmationLevel.test.js.map +1 -1
  188. package/built/test/unit/blockchainClient/sendTransaction.test.js +352 -675
  189. package/built/test/unit/blockchainClient/sendTransaction.test.js.map +1 -1
  190. package/built/test/unit/blockchainClient/setMerkleVersion.test.js +14 -28
  191. package/built/test/unit/blockchainClient/setMerkleVersion.test.js.map +1 -1
  192. package/built/test/unit/blockchainClient/signAndSendUniqueTransactionPromiEvents.test.js +31 -98
  193. package/built/test/unit/blockchainClient/signAndSendUniqueTransactionPromiEvents.test.js.map +1 -1
  194. package/built/test/unit/blockchainClient/statusPollIntervals.test.js +34 -54
  195. package/built/test/unit/blockchainClient/statusPollIntervals.test.js.map +1 -1
  196. package/built/test/unit/blockchainClient/util.test.js +74 -133
  197. package/built/test/unit/blockchainClient/util.test.js.map +1 -1
  198. package/built/test/unit/decodeTransactionToGtx.test.js +3 -4
  199. package/built/test/unit/decodeTransactionToGtx.test.js.map +1 -1
  200. package/built/test/unit/dump.test.js +2 -3
  201. package/built/test/unit/dump.test.js.map +1 -1
  202. package/built/test/unit/encryption/encryption.test.js +23 -32
  203. package/built/test/unit/encryption/encryption.test.js.map +1 -1
  204. package/built/test/unit/failoverStrategies.test.js +122 -114
  205. package/built/test/unit/failoverStrategies.test.js.map +1 -1
  206. package/built/test/unit/formatter.test.js +38 -42
  207. package/built/test/unit/formatter.test.js.map +1 -1
  208. package/built/test/unit/gtv/gtvHash.test.js +5 -6
  209. package/built/test/unit/gtv/gtvHash.test.js.map +1 -1
  210. package/built/test/unit/gtx/checkGTXSignature.test.js +5 -7
  211. package/built/test/unit/gtx/checkGTXSignature.test.js.map +1 -1
  212. package/built/test/unit/gtx/newSignatureProvider.test.js +9 -10
  213. package/built/test/unit/gtx/newSignatureProvider.test.js.map +1 -1
  214. package/built/test/unit/gtx/serialization.test.js +37 -138
  215. package/built/test/unit/gtx/serialization.test.js.map +1 -1
  216. package/built/test/unit/httpUtil.test.js +27 -18
  217. package/built/test/unit/httpUtil.test.js.map +1 -1
  218. package/built/test/unit/logger.test.js +23 -25
  219. package/built/test/unit/logger.test.js.map +1 -1
  220. package/built/test/unit/merkle/merkleHelper/merkleHelperTest.js +10 -12
  221. package/built/test/unit/merkle/merkleHelper/merkleHelperTest.js.map +1 -1
  222. package/built/test/unit/nodeMananger.test.js +62 -74
  223. package/built/test/unit/nodeMananger.test.js.map +1 -1
  224. package/built/test/unit/setOrdering.test.js +9 -9
  225. package/built/test/unit/setOrdering.test.js.map +1 -1
  226. package/built/test/unit/stickyNode.test.js +44 -54
  227. package/built/test/unit/stickyNode.test.js.map +1 -1
  228. package/built/test/unit/validation/anchoringTransaction.test.js +7 -8
  229. package/built/test/unit/validation/anchoringTransaction.test.js.map +1 -1
  230. package/built/test/unit/validation/blockIdentifier.test.js +7 -9
  231. package/built/test/unit/validation/blockIdentifier.test.js.map +1 -1
  232. package/built/test/unit/validation/bufferSchema.test.js +4 -5
  233. package/built/test/unit/validation/bufferSchema.test.js.map +1 -1
  234. package/built/test/unit/validation/networkSettings.test.js +11 -13
  235. package/built/test/unit/validation/networkSettings.test.js.map +1 -1
  236. package/built/test/unit/validation/rawGtx.test.d.ts +1 -0
  237. package/built/test/unit/validation/rawGtx.test.js +84 -0
  238. package/built/test/unit/validation/rawGtx.test.js.map +1 -0
  239. package/built/test/unit/validation/requests.test.js +80 -74
  240. package/built/test/unit/validation/requests.test.js.map +1 -1
  241. package/built/test/unit/validation/signMethod.test.js +8 -10
  242. package/built/test/unit/validation/signMethod.test.js.map +1 -1
  243. package/built/test/unit/validation/statusObject.test.d.ts +1 -0
  244. package/built/test/unit/validation/statusObject.test.js +91 -0
  245. package/built/test/unit/validation/statusObject.test.js.map +1 -0
  246. package/built/test/unit/validation/txRid.test.js +7 -9
  247. package/built/test/unit/validation/txRid.test.js.map +1 -1
  248. package/built/umd/index.js +32517 -32771
  249. package/built/umd/index.js.map +1 -1
  250. package/changelog.md +52 -1
  251. package/package.json +22 -22
  252. package/built/src/chromia/chromiaClientProvider.d.ts +0 -9
  253. package/built/src/chromia/chromiaClientProvider.js +0 -36
  254. package/built/src/chromia/chromiaClientProvider.js.map +0 -1
  255. package/built/src/chromia/interfaces.d.ts +0 -4
  256. package/built/src/chromia/interfaces.js +0 -2
  257. package/built/src/chromia/interfaces.js.map +0 -1
  258. package/built/src/constants.d.ts +0 -3
  259. package/built/src/constants.js +0 -4
  260. package/built/src/constants.js.map +0 -1
  261. package/built/src/gtx/gtxclient.d.ts +0 -3
  262. package/built/src/gtx/gtxclient.js +0 -96
  263. package/built/src/gtx/gtxclient.js.map +0 -1
  264. package/built/src/gtx/interfaces.d.ts +0 -91
  265. package/built/src/gtx/interfaces.js +0 -2
  266. package/built/src/gtx/interfaces.js.map +0 -1
  267. package/built/src/restclient/enums.d.ts +0 -4
  268. package/built/src/restclient/enums.js +0 -6
  269. package/built/src/restclient/enums.js.map +0 -1
  270. package/built/src/restclient/errors.d.ts +0 -33
  271. package/built/src/restclient/errors.js +0 -63
  272. package/built/src/restclient/errors.js.map +0 -1
  273. package/built/src/restclient/failoverStrategies.js.map +0 -1
  274. package/built/src/restclient/httpUtil.d.ts +0 -6
  275. package/built/src/restclient/httpUtil.js.map +0 -1
  276. package/built/src/restclient/interfaces.d.ts +0 -68
  277. package/built/src/restclient/interfaces.js +0 -2
  278. package/built/src/restclient/interfaces.js.map +0 -1
  279. package/built/src/restclient/nodeManager.js.map +0 -1
  280. package/built/src/restclient/restclient.d.ts +0 -18
  281. package/built/src/restclient/restclient.js +0 -200
  282. package/built/src/restclient/restclient.js.map +0 -1
  283. package/built/src/restclient/restclientutil.d.ts +0 -32
  284. package/built/src/restclient/restclientutil.js +0 -141
  285. package/built/src/restclient/restclientutil.js.map +0 -1
  286. package/built/src/restclient/types.d.ts +0 -78
  287. package/built/src/restclient/types.js +0 -2
  288. package/built/src/restclient/types.js.map +0 -1
  289. package/built/test/integration/blockchainClientIntegration.test.js +0 -1075
  290. package/built/test/integration/blockchainClientIntegration.test.js.map +0 -1
  291. package/built/test/integration/blockchainClientUtils.test.js.map +0 -1
  292. package/built/test/integration/gtxClientIntegration.test.js +0 -334
  293. package/built/test/integration/gtxClientIntegration.test.js.map +0 -1
  294. package/built/test/integration/merkleIntegration.test.js +0 -138
  295. package/built/test/integration/merkleIntegration.test.js.map +0 -1
  296. package/built/test/integration/objectGenerator.d.ts +0 -3
  297. package/built/test/integration/objectGenerator.js +0 -17
  298. package/built/test/integration/objectGenerator.js.map +0 -1
  299. package/built/test/integration/restClientIntegration.test.js +0 -170
  300. package/built/test/integration/restClientIntegration.test.js.map +0 -1
  301. package/built/test/integration/testData.js.map +0 -1
  302. package/built/test/integrationDevnet/constants.d.ts +0 -1
  303. package/built/test/integrationDevnet/constants.js +0 -2
  304. package/built/test/integrationDevnet/constants.js.map +0 -1
  305. package/built/test/integrationDevnet/getAnchoringStatusForBlockRid.test.js.map +0 -1
  306. package/built/test/integrationDevnet/getTransactionConfirmationLevel.test.js.map +0 -1
  307. package/built/test/integrationDevnet/getTransactionStatus.test.js +0 -53
  308. package/built/test/integrationDevnet/getTransactionStatus.test.js.map +0 -1
  309. package/built/test/integrationDevnet/signAndSendUniqueTransaction.test.js.map +0 -1
  310. package/built/test/manual/chromiaClientProviderManually.test.js +0 -28
  311. package/built/test/manual/chromiaClientProviderManually.test.js.map +0 -1
  312. package/built/test/manual/restClientManually.test.js +0 -52
  313. package/built/test/manual/restClientManually.test.js.map +0 -1
  314. package/built/test/unit/ICCF/util.d.ts +0 -6
  315. package/built/test/unit/ICCF/util.js +0 -21
  316. package/built/test/unit/ICCF/util.js.map +0 -1
  317. package/built/test/unit/blockchainClient/blockchainClient.test.js +0 -287
  318. package/built/test/unit/blockchainClient/blockchainClient.test.js.map +0 -1
  319. package/built/test/unit/blockchainClient/helpers/sendTransaction.d.ts +0 -25
  320. package/built/test/unit/blockchainClient/helpers/sendTransaction.js +0 -56
  321. package/built/test/unit/blockchainClient/helpers/sendTransaction.js.map +0 -1
  322. package/built/test/unit/chromiaClientProvider.test.js +0 -70
  323. package/built/test/unit/chromiaClientProvider.test.js.map +0 -1
  324. package/built/test/unit/common/mocks.d.ts +0 -34
  325. package/built/test/unit/common/mocks.js +0 -69
  326. package/built/test/unit/common/mocks.js.map +0 -1
  327. package/built/test/unit/gtx/gtxClient.test.js +0 -97
  328. package/built/test/unit/gtx/gtxClient.test.js.map +0 -1
  329. package/built/test/unit/gtx/serializationtestobjects.js.map +0 -1
  330. package/built/test/unit/requestWithFailoverStrategy.test.js +0 -146
  331. package/built/test/unit/requestWithFailoverStrategy.test.js.map +0 -1
  332. package/built/test/unit/restClient.test.js +0 -389
  333. package/built/test/unit/restClient.test.js.map +0 -1
  334. package/built/test/unit/restClientUtil.test.js +0 -226
  335. package/built/test/unit/restClientUtil.test.js.map +0 -1
  336. package/built/test/unit/signatures.js.map +0 -1
  337. package/built/test/unit/validation/validationMocks.js.map +0 -1
  338. /package/built/src/{restclient → blockchainClient}/nodeManager.d.ts +0 -0
  339. /package/built/src/{restclient → blockchainClient}/nodeManager.js +0 -0
  340. /package/built/test/{unit/gtx → common}/serializationtestobjects.js +0 -0
  341. /package/built/test/{integration → common}/testData.d.ts +0 -0
  342. /package/built/test/{integration → common}/testData.js +0 -0
  343. /package/built/test/integration/{blockchainClientIntegration.test.d.ts → clientGetBlockInfo.test.d.ts} +0 -0
  344. /package/built/test/integration/{blockchainClientUtils.test.d.ts → clientGetRejectedTransactions.test.d.ts} +0 -0
  345. /package/built/test/integration/{gtxClientIntegration.test.d.ts → clientGetTransaction.test.d.ts} +0 -0
  346. /package/built/test/integration/{merkleIntegration.test.d.ts → clientGetTransactionStatus.test.d.ts} +0 -0
  347. /package/built/test/integration/{restClientIntegration.test.d.ts → clientGetWaitingTransaction.test.d.ts} +0 -0
  348. /package/built/test/{integrationDevnet/getAnchoringStatusForBlockRid.test.d.ts → integration/clientGetWaitingTransactions.test.d.ts} +0 -0
  349. /package/built/test/{integrationDevnet/getTransactionConfirmationLevel.test.d.ts → integration/clientIntegration.test.d.ts} +0 -0
  350. /package/built/test/{integrationDevnet/getTransactionStatus.test.d.ts → integration/clientQuery.test.d.ts} +0 -0
  351. /package/built/test/{integrationDevnet/signAndSendUniqueTransaction.test.d.ts → integration/clientSendTransaction.test.d.ts} +0 -0
  352. /package/built/test/{manual/chromiaClientProviderManually.test.d.ts → integration/clientSignAndSendUniqueTransaction.test.d.ts} +0 -0
  353. /package/built/test/{manual/restClientManually.test.d.ts → integration/clientSignTransaction.test.d.ts} +0 -0
  354. /package/built/test/{unit/blockchainClient/blockchainClient.test.d.ts → integration/clientUtils.test.d.ts} +0 -0
  355. /package/built/test/{unit/chromiaClientProvider.test.d.ts → integration/createClientIntegration.test.d.ts} +0 -0
  356. /package/built/test/{unit/gtx/gtxClient.test.d.ts → integrationChromiaNetwork/createIccfProofTx.test.d.ts} +0 -0
  357. /package/built/test/{unit/requestWithFailoverStrategy.test.d.ts → integrationChromiaNetwork/getAnchoringStatusForBlockRid.test.d.ts} +0 -0
  358. /package/built/test/{unit/restClient.test.d.ts → integrationChromiaNetwork/getTransactionConfirmationLevel.test.d.ts} +0 -0
  359. /package/built/test/{unit/restClientUtil.test.d.ts → integrationChromiaNetwork/getTransactionStatus.test.d.ts} +0 -0
@@ -7,11 +7,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { Buffer } from "buffer";
11
10
  import * as logger from "../logger";
12
11
  import { decodeValue } from "../gtx/serialization";
13
12
  import { Method } from "./enums";
14
- function handleRequest(method, path, endpoint, postObject) {
13
+ export function handleRequest(method, path, endpoint, postObject) {
15
14
  return __awaiter(this, void 0, void 0, function* () {
16
15
  if (method == Method.GET) {
17
16
  return yield get(path, endpoint);
@@ -21,7 +20,6 @@ function handleRequest(method, path, endpoint, postObject) {
21
20
  }
22
21
  });
23
22
  }
24
- export default handleRequest;
25
23
  /**
26
24
  * Sends request to get data from a given API endpoint.
27
25
  * @param path API endpoint of Rell backend
@@ -33,22 +31,23 @@ function get(path, endpoint) {
33
31
  try {
34
32
  const response = yield fetch(new URL(path, endpoint).href);
35
33
  const contentType = response.headers.get("Content-Type");
36
- let rspBody;
34
+ const transactionTimestamp = response.headers.get("X-Transaction-Timestamp");
35
+ let rspBody = null;
36
+ const error = null;
37
37
  if (contentType === null || contentType === void 0 ? void 0 : contentType.includes("application/json")) {
38
38
  rspBody = yield response.json();
39
39
  }
40
40
  else if (contentType === null || contentType === void 0 ? void 0 : contentType.includes("text/plain")) {
41
41
  rspBody = yield response.text();
42
42
  }
43
- return {
44
- error: null,
45
- statusCode: response.status,
46
- rspBody,
47
- };
43
+ else if (contentType === null || contentType === void 0 ? void 0 : contentType.includes("application/octet-stream")) {
44
+ rspBody = yield constructBufferResponseBody(response);
45
+ }
46
+ return createResponseObject(error, response.status, rspBody, transactionTimestamp);
48
47
  }
49
48
  catch (error) {
50
49
  logger.error(error.message);
51
- return { error, statusCode: null, rspBody: null };
50
+ return createResponseObject(error, null, null);
52
51
  }
53
52
  });
54
53
  }
@@ -73,14 +72,11 @@ function post(path, endpoint, requestBody) {
73
72
  },
74
73
  };
75
74
  const response = yield fetch(new URL(path, endpoint).href, requestOptions);
76
- return {
77
- error: null,
78
- statusCode: response.status,
79
- rspBody: yield constructBufferPostResponseBody(response),
80
- };
75
+ const transactionTimestamp = response.headers.get("X-Transaction-Timestamp");
76
+ return createResponseObject(null, response.status, yield constructBufferResponseBody(response), transactionTimestamp);
81
77
  }
82
78
  catch (error) {
83
- return { error, statusCode: null, rspBody: null };
79
+ return createResponseObject(error, null, null);
84
80
  }
85
81
  }
86
82
  else {
@@ -93,19 +89,16 @@ function post(path, endpoint, requestBody) {
93
89
  "Content-Type": "application/json",
94
90
  },
95
91
  });
96
- return {
97
- error: null,
98
- statusCode: response.status,
99
- rspBody: yield constructBufferPostResponseBody(response),
100
- };
92
+ const transactionTimestamp = response.headers.get("X-Transaction-Timestamp");
93
+ return createResponseObject(null, response.status, yield constructBufferResponseBody(response), transactionTimestamp);
101
94
  }
102
95
  catch (error) {
103
- return { error, statusCode: null, rspBody: null };
96
+ return createResponseObject(error, null, null);
104
97
  }
105
98
  }
106
99
  });
107
100
  }
108
- function constructBufferPostResponseBody(response) {
101
+ function constructBufferResponseBody(response) {
109
102
  return __awaiter(this, void 0, void 0, function* () {
110
103
  const contentType = response.headers.get("content-type");
111
104
  if (contentType === "application/octet-stream") {
@@ -120,4 +113,15 @@ function constructBufferPostResponseBody(response) {
120
113
  return responseText ? responseText : response.statusText;
121
114
  });
122
115
  }
116
+ function createResponseObject(error, statusCode, rspBody, transactionTimestamp) {
117
+ const responseObject = {
118
+ error,
119
+ statusCode,
120
+ rspBody,
121
+ };
122
+ if (transactionTimestamp) {
123
+ responseObject.transactionTimestamp = transactionTimestamp;
124
+ }
125
+ return responseObject;
126
+ }
123
127
  //# sourceMappingURL=httpUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpUtil.js","sourceRoot":"","sources":["../../../src/blockchainClient/httpUtil.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,7 @@
1
1
  /// <reference types="node" />
2
- import { AppStructure, BlockInfo, KeyPair, TransactionInfo, TransactionReceipt, StatusObject, BufferId, BlockAnchoringState } from "./types";
2
+ import { AppStructure, BlockInfo, KeyPair, TransactionInfo, TransactionReceipt, TransactionStatusReponse, BufferId, BlockAnchoringState, ClientCallback, ConfirmationProof, ClientConfig, Operation, QueryCallback, QueryObject, SignatureProvider, SignedTransaction, Transaction, RejectedTransaction, WaitingTransaction } from "./types";
3
3
  import { DictPair, RawGtv } from "../gtv/types";
4
4
  import { Web3PromiEvent } from "../promiEvent/promiEvents";
5
- import { RestClientCallback } from "../restclient/types";
6
- import { ClientConfig, Operation, QueryCallback, QueryObject, SignatureProvider, SignedTransaction, Transaction } from "./types";
7
- import { GTX } from "../gtx/types";
8
- import { ConfirmationProof } from "../blockchainClient/types";
9
5
  import { AnchoringStatus, ChainConfirmationLevel } from "./enums";
10
6
  import { AnchoringTransaction } from "../ICCF/types";
11
7
  import { Web3EventMap } from "../promiEvent/promiEventEmitter";
@@ -33,7 +29,7 @@ export interface IClient extends Queryable {
33
29
  * @param callback - A callback function to handle the signing result. Parameters (error, signedTx)
34
30
  * * @returns - A promise that resolves with the signed transaction.
35
31
  */
36
- signTransaction(transaction: Transaction | SignedTransaction, signMethod: KeyPair | SignatureProvider, callback?: RestClientCallback<Buffer>): Promise<SignedTransaction>;
32
+ signTransaction(transaction: Transaction | SignedTransaction, signMethod: KeyPair | SignatureProvider, callback?: ClientCallback<Buffer>): Promise<SignedTransaction>;
37
33
  /**
38
34
  * Sends a transaction to the blockchain.
39
35
  *
@@ -43,7 +39,7 @@ export interface IClient extends Queryable {
43
39
  * @param confirmationLevel - Enables configuration of the confirmation level the requests should sent for the transaction status.
44
40
  * @returns - A Web3PromiEvent that resolves with the transaction receipt.
45
41
  */
46
- sendTransaction(transaction: Transaction | SignedTransaction | Operation, doStatusPolling?: boolean, callback?: RestClientCallback<TransactionReceipt>, confirmationLevel?: ChainConfirmationLevel): Web3PromiEvent<TransactionReceipt, Web3EventMap>;
42
+ sendTransaction(transaction: Transaction | SignedTransaction | Operation, doStatusPolling?: boolean, callback?: ClientCallback<TransactionReceipt>, confirmationLevel?: ChainConfirmationLevel): Web3PromiEvent<TransactionReceipt, Web3EventMap>;
47
43
  /**
48
44
  * Signs and sends a transaction for inclusion in a block. It adds a nop
49
45
  * if missing.
@@ -55,7 +51,7 @@ export interface IClient extends Queryable {
55
51
  * @returns - A Web3PromiEvent that resolves with the transaction receipt.
56
52
  *
57
53
  */
58
- signAndSendUniqueTransaction(transaction: Operation | Transaction, signMethod: KeyPair | SignatureProvider, doStatusPolling?: boolean, callback?: RestClientCallback<TransactionReceipt>, confirmationLevel?: ChainConfirmationLevel): Web3PromiEvent<TransactionReceipt, Web3EventMap>;
54
+ signAndSendUniqueTransaction(transaction: Operation | Transaction, signMethod: KeyPair | SignatureProvider, doStatusPolling?: boolean, callback?: ClientCallback<TransactionReceipt>, confirmationLevel?: ChainConfirmationLevel): Web3PromiEvent<TransactionReceipt, Web3EventMap>;
59
55
  /**
60
56
  * Retrieves a transaction given its transaction RID.
61
57
  *
@@ -67,7 +63,7 @@ export interface IClient extends Queryable {
67
63
  * the callback will be called with (null, null).
68
64
  * @returns- A promise that resolves with the serialized message of the transaction.
69
65
  */
70
- getTransaction(transactionRid: BufferId, callback?: RestClientCallback<Buffer>): Promise<Buffer>;
66
+ getTransaction(transactionRid: BufferId, callback?: ClientCallback<Buffer>): Promise<Buffer>;
71
67
  /**
72
68
  * Retrieves the status of a transaction given its transaction RID.
73
69
  *
@@ -80,20 +76,13 @@ export interface IClient extends Queryable {
80
76
  * @returns - A promise that resolves with the status object of the transaction.
81
77
  *
82
78
  */
83
- getTransactionStatus: (transactionRid: BufferId, callback?: RestClientCallback<TransactionReceipt> | RestClientCallback<StatusObject>) => Promise<StatusObject>;
79
+ getTransactionStatus: (transactionRid: BufferId, callback?: ClientCallback<TransactionReceipt> | ClientCallback<TransactionStatusReponse>) => Promise<TransactionStatusReponse>;
84
80
  /**
85
81
  * Adds an operation containing a nonce which makes the transaction unique.
86
82
  *
87
83
  * @param transaction - The transaction to sign and send.
88
84
  */
89
85
  addNop(transaction: Transaction): Transaction;
90
- /**
91
- * @deprecated Use calculateTransactionRid util function instead.
92
- *
93
- * Calculates and returns the transaction RID, i.e., the merkle root hash of the transaction.
94
- * @param transaction The transaction to sign and send
95
- */
96
- getTransactionRid(transaction: Transaction | SignedTransaction | Operation): Buffer;
97
86
  /**
98
87
  * Fetch info about transactions from a chain.
99
88
  *
@@ -108,7 +97,7 @@ export interface IClient extends Queryable {
108
97
  * @returns - A promise that resolves with an array of transaction information.
109
98
  *
110
99
  */
111
- getTransactionsInfo(limit?: number, beforeTime?: Date, callback?: RestClientCallback<TransactionInfo[]>, afterTime?: Date, signerPubKey?: string): Promise<TransactionInfo[]>;
100
+ getTransactionsInfo(limit?: number, beforeTime?: Date, callback?: ClientCallback<TransactionInfo[]>, afterTime?: Date, signerPubKey?: string): Promise<TransactionInfo[]>;
112
101
  /**
113
102
  * Fetch info about a transaction from a chain.
114
103
  *
@@ -120,7 +109,7 @@ export interface IClient extends Queryable {
120
109
  * @returns - A promise that resolves with the transaction information.
121
110
  *
122
111
  */
123
- getTransactionInfo(transactionRid: BufferId, callback?: RestClientCallback<TransactionInfo>): Promise<TransactionInfo>;
112
+ getTransactionInfo(transactionRid: BufferId, callback?: ClientCallback<TransactionInfo>): Promise<TransactionInfo>;
124
113
  /**
125
114
  * Fetches the last known confirmation status for a transaction RID.
126
115
  *
@@ -131,7 +120,7 @@ export interface IClient extends Queryable {
131
120
  * is an object with the string property 'error'.
132
121
  * @returns - A promise that resolves with the transaction confirmation level and an anchoring transaction if the transaction is anchored
133
122
  */
134
- getTransactionConfirmationLevel(transactionRid: BufferId, callback?: RestClientCallback<StatusObject | TransactionReceipt>): Promise<TransactionReceipt>;
123
+ getTransactionConfirmationLevel(transactionRid: BufferId, callback?: ClientCallback<TransactionStatusReponse | TransactionReceipt>): Promise<TransactionReceipt>;
135
124
  /**
136
125
  * Fetches the last known anchoring status for a block RID.
137
126
  *
@@ -152,7 +141,7 @@ export interface IClient extends Queryable {
152
141
  * @returns - A promise that resolves with the number of successful transactions.
153
142
  *
154
143
  */
155
- getTransactionCount(callback?: RestClientCallback<number>): Promise<number>;
144
+ getTransactionCount(callback?: ClientCallback<number>): Promise<number>;
156
145
  /**
157
146
  * Fetch info about a block for a chain.
158
147
  *
@@ -165,7 +154,7 @@ export interface IClient extends Queryable {
165
154
  * @returns - A promise that resolves with the block info.
166
155
  *
167
156
  */
168
- getBlockInfo(blockIdentifier: number | string, txs?: boolean, callback?: RestClientCallback<BlockInfo>): Promise<BlockInfo>;
157
+ getBlockInfo(blockIdentifier: number | string, txs?: boolean, callback?: ClientCallback<BlockInfo>): Promise<BlockInfo>;
169
158
  /**
170
159
  * Fetch info about the latest block for a chain.
171
160
  *
@@ -177,7 +166,7 @@ export interface IClient extends Queryable {
177
166
  * @returns - A promise that resolves with the block info.
178
167
  *
179
168
  */
180
- getLatestBlock(txs?: boolean, callback?: RestClientCallback<BlockInfo>): Promise<BlockInfo>;
169
+ getLatestBlock(txs?: boolean, callback?: ClientCallback<BlockInfo>): Promise<BlockInfo>;
181
170
  /**
182
171
  * Fetch info about blocks for a chain. If both beforeTime and beforeHeight is provided, only beforeTime will be used.
183
172
  *
@@ -194,7 +183,7 @@ export interface IClient extends Queryable {
194
183
  * @returns - A promise that resolves with an array of block info.
195
184
  *
196
185
  */
197
- getBlocks(props: {
186
+ getBlocks(props?: {
198
187
  limit?: number;
199
188
  beforeTime?: Date;
200
189
  afterTime?: Date;
@@ -202,46 +191,16 @@ export interface IClient extends Queryable {
202
191
  afterHeight?: number;
203
192
  excludeEmpty?: boolean;
204
193
  txs?: boolean;
205
- callback?: RestClientCallback<TransactionInfo[]>;
194
+ callback?: ClientCallback<BlockInfo[]>;
206
195
  }): Promise<BlockInfo[]>;
207
- /**
208
- * Fetch info about blocks for a chain. If both beforeTime and beforeHeight is provided, only beforeTime will be used.
209
- *
210
- * @param limit - Limit number of transactions returned. Minimum value is 0 and maximum 100. Defaults to 25.
211
- * @param beforeTime - Return only transactions before this time.
212
- * @param beforeHeight - Return only transactions before this height.
213
- * @param tsx - Boolean to decide whether or not to include full transaction data. Defaults to false.
214
- * @param callback - A callback function to handle the response body. Taking parameters (error, responseBody). If error is null
215
- * then responseBody is an object of type BlockInfo[].
216
- * If error is not null, then responseBody
217
- * is an object with the string property 'error'.
218
- * @returns - A promise that resolves with an array of block info.
219
- * @deprecated Use getBlocks instead.
220
- *
221
- */
222
- getBlocksInfo(limit?: number, beforeTime?: Date, beforeHeight?: number, txs?: boolean, callback?: RestClientCallback<TransactionInfo[]>): Promise<BlockInfo[]>;
223
- /**
224
- * @deprecated Use encodeTransaction util function instead.
225
- *
226
- * Encodes the transaction using ASN.1.
227
- * @returns the transaction encoded
228
- */
229
- encodeTransaction(transaction: Transaction): Buffer;
230
- /**
231
- * @deprecated Use decodeTransactionToGtx util function instead.
232
- *
233
- * Decodes the transaction using ASN.1.
234
- * @returns the transaction decoded in GTX format
235
- */
236
- decodeTransactionToGtx(transaction: Buffer): GTX;
237
196
  /**
238
197
  * Retrieves the client node URL pool.
239
198
  *
240
199
  * @returns An array of the client node URL pool.
241
200
  */
242
201
  getClientNodeUrlPool(): string[];
243
- getConfirmationProof(txRID: BufferId, callback?: RestClientCallback<ConfirmationProof>): Promise<ConfirmationProof>;
244
- getAppStructure(callback?: RestClientCallback<AppStructure>): Promise<AppStructure>;
202
+ getConfirmationProof(txRID: BufferId, callback?: ClientCallback<ConfirmationProof>): Promise<ConfirmationProof>;
203
+ getAppStructure(callback?: ClientCallback<AppStructure>): Promise<AppStructure>;
245
204
  /**
246
205
  *
247
206
  * @param transactionRid - The transaction RID to retrieve a cluster anchoring transaction or anchoring status
@@ -253,7 +212,7 @@ export interface IClient extends Queryable {
253
212
  * is an object with the string property 'error'.
254
213
  * @returns - A promise that resolves with an anchoring transaction or anchoring status based on the outcome
255
214
  */
256
- getClusterAnchoringTransactionConfirmation(transactionRid: BufferId, anchoringClient: IClient, callback?: RestClientCallback<TransactionReceipt>): Promise<AnchoringTransaction | AnchoringStatus>;
215
+ getClusterAnchoringTransactionConfirmation(transactionRid: BufferId, anchoringClient: IClient, callback?: ClientCallback<TransactionReceipt>): Promise<AnchoringTransaction | AnchoringStatus>;
257
216
  /**
258
217
  *
259
218
  * @param anchoredTxRid - The anchored transaction RID retrieved from the cluster anchoring transaction, used to retrieve a system cluster anchoring transaction
@@ -267,5 +226,35 @@ export interface IClient extends Queryable {
267
226
  * is an object with the string property 'error'.
268
227
  * @returns - A promise that resolves with an anchoring transaction or null
269
228
  */
270
- getSystemAnchoringTransactionConfirmation(anchoredTxRid: BufferId, anchoringClient: IClient, systemAnchoringChainRid: string, callback?: RestClientCallback<TransactionReceipt>): Promise<AnchoringTransaction | null>;
229
+ getSystemAnchoringTransactionConfirmation(anchoredTxRid: BufferId, anchoringClient: IClient, systemAnchoringChainRid: string, callback?: ClientCallback<TransactionReceipt>): Promise<AnchoringTransaction | null>;
230
+ /**
231
+ * Fetches the list of waiting transactions
232
+ * @param blockchainRid - The blockchain RID to fetch the waiting transactions from
233
+ * @param callback - A callback function to handle the response body. Taking parameters (error, responseBody). If error is null
234
+ * then responseBody is of type Array<string>.
235
+ *
236
+ * @returns - A promise that resolves to a list of waiting transaction RIDs of the specified blockchainRid
237
+ */
238
+ getWaitingTransactions(blockchainRid: BufferId, callback?: ClientCallback<Array<string>>): Promise<Array<string>>;
239
+ /**
240
+ * Fetches the waiting transaction from the specified blockchain
241
+ *
242
+ * @param blockchainRid - The blockchain RID to fetch the waiting transaction from
243
+ * @param txRid - The transaction RID to check the status of
244
+ * @param callback - A callback function to handle the response body. Taking parameters (error, responseBody). If error is null
245
+ * then responseBody is of type WaitingTransaction.
246
+ *
247
+ * @returns - A promise that resolves to a WaitingTransaction representing a waiting transaction binary tx data of the specified transactionRid for the blockchain
248
+ */
249
+ getWaitingTransaction(blockchainRid: BufferId, txRid: BufferId, callback?: ClientCallback<WaitingTransaction>): Promise<WaitingTransaction>;
250
+ /**
251
+ * Fetches the list of rejected transaction RIDs and their corresponding rejection reasons
252
+ *
253
+ * @param blockchainRid - The blockchain RID to fetch the rejected transactions from
254
+ * @param callback - A callback function to handle the response body. Taking parameters (error, responseBody). If error is null
255
+ * then responseBody is of type Array<RejectedTransaction>.
256
+ *
257
+ * @returns - A promise that resolves to a list of rejected transactions of the specified blockchainRid
258
+ */
259
+ getRejectedTransactions(blockchainRid: BufferId, callback?: ClientCallback<Array<RejectedTransaction>>): Promise<Array<RejectedTransaction>>;
271
260
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodeManager.js","sourceRoot":"","sources":["../../../src/blockchainClient/nodeManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="node" />
2
+ import { Method } from "./enums";
3
+ import { HandleRequestInputProps, ResponseObject } from "./types";
4
+ export declare function requestWithFailoverStrategy(method: Method, path: string, config: HandleRequestInputProps["config"], postObject?: Buffer, forceSingleEndpoint?: boolean): Promise<ResponseObject>;
@@ -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;
@@ -59,17 +60,13 @@ export interface SignatureProvider {
59
60
  sign(rawGtxBody: RawGtxBody): Promise<Buffer>;
60
61
  readonly pubKey: Buffer;
61
62
  }
62
- export type RestClientQueryObject = {
63
- type: string;
64
- [arg: string]: RawGtv;
65
- };
66
- export type QueryObject<TReturn extends RawGtv, TArgs extends DictPair | undefined = DictPair> = {
63
+ export type QueryObject<TReturn extends RawGtv = RawGtv, TArgs extends DictPair | undefined = DictPair> = {
67
64
  name: string;
68
65
  args?: TArgs;
66
+ /** phantom type holder to preserve TReturn without runtime impact */
67
+ _returnType?: TReturn;
69
68
  };
70
- export type QueryCallback<TReturn> = (error: Error | null, response: TReturn) => void;
71
- export type PrivKey = Buffer;
72
- export type PubKey = Buffer;
69
+ export type QueryCallback<TReturn> = (error: Error | null, response: TReturn | null) => void;
73
70
  export type Operation = {
74
71
  name: string;
75
72
  args?: RawGtv[];
@@ -78,18 +75,11 @@ export interface Transaction {
78
75
  operations: Operation[];
79
76
  signers: Buffer[];
80
77
  }
81
- export type StatusObject = {
78
+ export type TransactionStatusReponse = {
82
79
  status: ResponseStatus | AnchoringStatus;
80
+ statusCode: number | null;
83
81
  rejectReason?: string;
84
82
  };
85
- export type SignerPair = {
86
- pubKey: string;
87
- signature: string;
88
- };
89
- export type BufferSignerPair = {
90
- pubKey: Buffer;
91
- signature: Buffer;
92
- };
93
83
  export type Step = {
94
84
  side: number;
95
85
  hash: Buffer;
@@ -207,4 +197,57 @@ export type TransactionsCount = {
207
197
  export type TransactionConfirmationProof = {
208
198
  proof: string;
209
199
  };
200
+ export type PostRequestObjects = TransactionObject | QueryObject<RawGtv>;
201
+ export type TransactionObject = {
202
+ tx: string;
203
+ };
204
+ export type ResponseObject = {
205
+ statusCode: number | null;
206
+ error: Error | null;
207
+ rspBody: unknown;
208
+ transactionTimestamp?: string;
209
+ };
210
+ type Arg = {
211
+ [arg: string]: RawGtv;
212
+ };
213
+ export type QueryObjectGTV = [name: string, args: Arg];
214
+ export type FailOverConfig = {
215
+ strategy?: FailoverStrategy;
216
+ attemptsPerEndpoint?: number;
217
+ attemptInterval?: number;
218
+ unreachableDuration?: number;
219
+ };
220
+ export interface RetryRequestProps extends BaseRequestProps {
221
+ config: RetryRequestSettings;
222
+ }
223
+ export type RetryRequestSettings = {
224
+ endpointPool: Endpoint[];
225
+ nodeManager: NodeManager;
226
+ attemptsPerEndpoint: number;
227
+ unreachableDuration: number;
228
+ attemptInterval: number;
229
+ };
230
+ export interface BaseRequestProps {
231
+ method: Method;
232
+ path: string;
233
+ postObject?: PostRequestObjects | Buffer;
234
+ }
235
+ export interface HandleRequestInputProps extends BaseRequestProps {
236
+ config: ClientConfig | Omit<ClientConfig, "blockchainRid" | "directoryChainRid">;
237
+ }
238
+ export type ClientCallback<TData, TError = Error> = (error: TError | null | undefined, responseBody: TData | null | undefined, statusCode?: number | null | undefined) => void;
239
+ export type RejectedTransaction = {
240
+ txRid: Buffer;
241
+ rejectReason: string;
242
+ rejectTimestamp: number;
243
+ };
244
+ export type RejectedTransactionResponse = {
245
+ txRID: string;
246
+ rejectReason: string;
247
+ rejectTimestamp: number;
248
+ };
249
+ export type WaitingTransaction = {
250
+ txData: RawGtv;
251
+ transactionTimestamp: number;
252
+ };
210
253
  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>): 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,30 @@ 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
+ export declare function setStatusPolling(statusPolling?: Partial<StatusPolling>): StatusPolling;
52
53
  export declare function linkPromiEvents(event1: Web3PromiEvent<TransactionReceipt, Web3EventMap>, event2: Web3PromiEvent<TransactionReceipt, Web3EventMap>): void;
54
+ /**
55
+ * @param error response error
56
+ * @param statusCode response status code
57
+ * @param responseObject the responsebody from the server
58
+ * @param callback the callback function to propagate the error and response back to the caller
59
+ */
60
+ export declare function handleGetResponse<T>(error: Error | null | undefined, statusCode: number | null, responseObject: RawGtv | null | undefined, callback: ClientCallback<T>): void;
61
+ /**
62
+ * @param error response error
63
+ * @param statusCode response status code
64
+ * @param responseObject the responsebody from the server
65
+ * @param callback the callback function to propagate the error and response back to the caller
66
+ */
67
+ export declare function handlePostResponse<T extends RawGtv>(error: Error | null | undefined, statusCode: number | null, responseObject: RawGtv | null | undefined, callback: ClientCallback<T>): void;
68
+ interface BlockchainRidFromIidPops {
69
+ endpointPool: Endpoint[];
70
+ chainId: number;
71
+ nodeManager: NodeManager;
72
+ failOverConfig?: FailOverConfig;
73
+ merkleHashVersion: number;
74
+ }
75
+ export declare function getBlockchainRidFromIid({ endpointPool, chainId, failOverConfig, nodeManager, }: BlockchainRidFromIidPops): Promise<string>;
76
+ export declare const sleep: (ms: number) => Promise<unknown>;
77
+ export declare function convertToPrintable(responseObject: unknown): string;
53
78
  export {};