@bsv/wallet-toolbox-client 1.1.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 (390) hide show
  1. package/out/src/Wallet.d.ts +83 -0
  2. package/out/src/Wallet.d.ts.map +1 -0
  3. package/out/src/Wallet.js +415 -0
  4. package/out/src/Wallet.js.map +1 -0
  5. package/out/src/index.client.d.ts +8 -0
  6. package/out/src/index.client.d.ts.map +1 -0
  7. package/out/src/index.client.js +47 -0
  8. package/out/src/index.client.js.map +1 -0
  9. package/out/src/monitor/Monitor.d.ts +89 -0
  10. package/out/src/monitor/Monitor.d.ts.map +1 -0
  11. package/out/src/monitor/Monitor.js +253 -0
  12. package/out/src/monitor/Monitor.js.map +1 -0
  13. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +53 -0
  14. package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -0
  15. package/out/src/monitor/tasks/TaskCheckForProofs.js +197 -0
  16. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -0
  17. package/out/src/monitor/tasks/TaskClock.d.ts +14 -0
  18. package/out/src/monitor/tasks/TaskClock.d.ts.map +1 -0
  19. package/out/src/monitor/tasks/TaskClock.js +27 -0
  20. package/out/src/monitor/tasks/TaskClock.js.map +1 -0
  21. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts +20 -0
  22. package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -0
  23. package/out/src/monitor/tasks/TaskFailAbandoned.js +52 -0
  24. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -0
  25. package/out/src/monitor/tasks/TaskNewHeader.d.ts +15 -0
  26. package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -0
  27. package/out/src/monitor/tasks/TaskNewHeader.js +45 -0
  28. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -0
  29. package/out/src/monitor/tasks/TaskPurge.d.ts +45 -0
  30. package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -0
  31. package/out/src/monitor/tasks/TaskPurge.js +35 -0
  32. package/out/src/monitor/tasks/TaskPurge.js.map +1 -0
  33. package/out/src/monitor/tasks/TaskReviewStatus.d.ts +26 -0
  34. package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -0
  35. package/out/src/monitor/tasks/TaskReviewStatus.js +44 -0
  36. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -0
  37. package/out/src/monitor/tasks/TaskSendWaiting.d.ts +32 -0
  38. package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -0
  39. package/out/src/monitor/tasks/TaskSendWaiting.js +99 -0
  40. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -0
  41. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts +12 -0
  42. package/out/src/monitor/tasks/TaskSyncWhenIdle.d.ts.map +1 -0
  43. package/out/src/monitor/tasks/TaskSyncWhenIdle.js +22 -0
  44. package/out/src/monitor/tasks/TaskSyncWhenIdle.js.map +1 -0
  45. package/out/src/monitor/tasks/WalletMonitorTask.d.ts +40 -0
  46. package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +1 -0
  47. package/out/src/monitor/tasks/WalletMonitorTask.js +37 -0
  48. package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -0
  49. package/out/src/sdk/CertOps.d.ts +66 -0
  50. package/out/src/sdk/CertOps.d.ts.map +1 -0
  51. package/out/src/sdk/CertOps.js +198 -0
  52. package/out/src/sdk/CertOps.js.map +1 -0
  53. package/out/src/sdk/PrivilegedKeyManager.d.ts +125 -0
  54. package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -0
  55. package/out/src/sdk/PrivilegedKeyManager.js +293 -0
  56. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -0
  57. package/out/src/sdk/StorageSyncReader.d.ts +121 -0
  58. package/out/src/sdk/StorageSyncReader.d.ts.map +1 -0
  59. package/out/src/sdk/StorageSyncReader.js +3 -0
  60. package/out/src/sdk/StorageSyncReader.js.map +1 -0
  61. package/out/src/sdk/StorageSyncReaderWriter.d.ts +89 -0
  62. package/out/src/sdk/StorageSyncReaderWriter.d.ts.map +1 -0
  63. package/out/src/sdk/StorageSyncReaderWriter.js +3 -0
  64. package/out/src/sdk/StorageSyncReaderWriter.js.map +1 -0
  65. package/out/src/sdk/WERR_errors.d.ts +90 -0
  66. package/out/src/sdk/WERR_errors.d.ts.map +1 -0
  67. package/out/src/sdk/WERR_errors.js +128 -0
  68. package/out/src/sdk/WERR_errors.js.map +1 -0
  69. package/out/src/sdk/WalletError.d.ts +45 -0
  70. package/out/src/sdk/WalletError.d.ts.map +1 -0
  71. package/out/src/sdk/WalletError.js +122 -0
  72. package/out/src/sdk/WalletError.js.map +1 -0
  73. package/out/src/sdk/WalletServices.interfaces.d.ts +325 -0
  74. package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -0
  75. package/out/src/sdk/WalletServices.interfaces.js +3 -0
  76. package/out/src/sdk/WalletServices.interfaces.js.map +1 -0
  77. package/out/src/sdk/WalletSigner.interfaces.d.ts +10 -0
  78. package/out/src/sdk/WalletSigner.interfaces.d.ts.map +1 -0
  79. package/out/src/sdk/WalletSigner.interfaces.js +3 -0
  80. package/out/src/sdk/WalletSigner.interfaces.js.map +1 -0
  81. package/out/src/sdk/WalletStorage.interfaces.d.ts +299 -0
  82. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -0
  83. package/out/src/sdk/WalletStorage.interfaces.js +3 -0
  84. package/out/src/sdk/WalletStorage.interfaces.js.map +1 -0
  85. package/out/src/sdk/index.d.ts +12 -0
  86. package/out/src/sdk/index.d.ts.map +1 -0
  87. package/out/src/sdk/index.js +28 -0
  88. package/out/src/sdk/index.js.map +1 -0
  89. package/out/src/sdk/types.d.ts +74 -0
  90. package/out/src/sdk/types.d.ts.map +1 -0
  91. package/out/src/sdk/types.js +20 -0
  92. package/out/src/sdk/types.js.map +1 -0
  93. package/out/src/sdk/validationHelpers.d.ts +288 -0
  94. package/out/src/sdk/validationHelpers.d.ts.map +1 -0
  95. package/out/src/sdk/validationHelpers.js +630 -0
  96. package/out/src/sdk/validationHelpers.js.map +1 -0
  97. package/out/src/services/ServiceCollection.d.ts +25 -0
  98. package/out/src/services/ServiceCollection.d.ts.map +1 -0
  99. package/out/src/services/ServiceCollection.js +43 -0
  100. package/out/src/services/ServiceCollection.js.map +1 -0
  101. package/out/src/services/Services.d.ts +60 -0
  102. package/out/src/services/Services.d.ts.map +1 -0
  103. package/out/src/services/Services.js +342 -0
  104. package/out/src/services/Services.js.map +1 -0
  105. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +15 -0
  106. package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -0
  107. package/out/src/services/chaintracker/ChaintracksChainTracker.js +51 -0
  108. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -0
  109. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts +98 -0
  110. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts.map +1 -0
  111. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js +38 -0
  112. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js.map +1 -0
  113. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +36 -0
  114. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -0
  115. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +130 -0
  116. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -0
  117. package/out/src/services/chaintracker/chaintracks/index.d.ts +3 -0
  118. package/out/src/services/chaintracker/chaintracks/index.d.ts.map +1 -0
  119. package/out/src/services/chaintracker/chaintracks/index.js +19 -0
  120. package/out/src/services/chaintracker/chaintracks/index.js.map +1 -0
  121. package/out/src/services/chaintracker/index.d.ts +3 -0
  122. package/out/src/services/chaintracker/index.d.ts.map +1 -0
  123. package/out/src/services/chaintracker/index.js +19 -0
  124. package/out/src/services/chaintracker/index.js.map +1 -0
  125. package/out/src/services/createDefaultWalletServicesOptions.d.ts +3 -0
  126. package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -0
  127. package/out/src/services/createDefaultWalletServicesOptions.js +34 -0
  128. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -0
  129. package/out/src/services/providers/arcServices.d.ts +62 -0
  130. package/out/src/services/providers/arcServices.d.ts.map +1 -0
  131. package/out/src/services/providers/arcServices.js +368 -0
  132. package/out/src/services/providers/arcServices.js.map +1 -0
  133. package/out/src/services/providers/echangeRates.d.ts +12 -0
  134. package/out/src/services/providers/echangeRates.d.ts.map +1 -0
  135. package/out/src/services/providers/echangeRates.js +237 -0
  136. package/out/src/services/providers/echangeRates.js.map +1 -0
  137. package/out/src/services/providers/whatsonchain.d.ts +17 -0
  138. package/out/src/services/providers/whatsonchain.d.ts.map +1 -0
  139. package/out/src/services/providers/whatsonchain.js +130 -0
  140. package/out/src/services/providers/whatsonchain.js.map +1 -0
  141. package/out/src/signer/WalletSigner.d.ts +11 -0
  142. package/out/src/signer/WalletSigner.d.ts.map +1 -0
  143. package/out/src/signer/WalletSigner.js +13 -0
  144. package/out/src/signer/WalletSigner.js.map +1 -0
  145. package/out/src/signer/methods/acquireDirectCertificate.d.ts +4 -0
  146. package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -0
  147. package/out/src/signer/methods/acquireDirectCertificate.js +47 -0
  148. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -0
  149. package/out/src/signer/methods/createAction.d.ts +7 -0
  150. package/out/src/signer/methods/createAction.d.ts.map +1 -0
  151. package/out/src/signer/methods/createAction.js +250 -0
  152. package/out/src/signer/methods/createAction.js.map +1 -0
  153. package/out/src/signer/methods/internalizeAction.d.ts +31 -0
  154. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -0
  155. package/out/src/signer/methods/internalizeAction.js +95 -0
  156. package/out/src/signer/methods/internalizeAction.js.map +1 -0
  157. package/out/src/signer/methods/proveCertificate.d.ts +4 -0
  158. package/out/src/signer/methods/proveCertificate.d.ts.map +1 -0
  159. package/out/src/signer/methods/proveCertificate.js +45 -0
  160. package/out/src/signer/methods/proveCertificate.js.map +1 -0
  161. package/out/src/signer/methods/signAction.d.ts +6 -0
  162. package/out/src/signer/methods/signAction.d.ts.map +1 -0
  163. package/out/src/signer/methods/signAction.js +79 -0
  164. package/out/src/signer/methods/signAction.js.map +1 -0
  165. package/out/src/storage/StorageProvider.d.ts +140 -0
  166. package/out/src/storage/StorageProvider.d.ts.map +1 -0
  167. package/out/src/storage/StorageProvider.js +539 -0
  168. package/out/src/storage/StorageProvider.js.map +1 -0
  169. package/out/src/storage/StorageReader.d.ts +76 -0
  170. package/out/src/storage/StorageReader.d.ts.map +1 -0
  171. package/out/src/storage/StorageReader.js +124 -0
  172. package/out/src/storage/StorageReader.js.map +1 -0
  173. package/out/src/storage/StorageReaderWriter.d.ts +87 -0
  174. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -0
  175. package/out/src/storage/StorageReaderWriter.js +337 -0
  176. package/out/src/storage/StorageReaderWriter.js.map +1 -0
  177. package/out/src/storage/StorageSyncReader.d.ts +33 -0
  178. package/out/src/storage/StorageSyncReader.d.ts.map +1 -0
  179. package/out/src/storage/StorageSyncReader.js +142 -0
  180. package/out/src/storage/StorageSyncReader.js.map +1 -0
  181. package/out/src/storage/WalletStorageManager.d.ts +103 -0
  182. package/out/src/storage/WalletStorageManager.d.ts.map +1 -0
  183. package/out/src/storage/WalletStorageManager.js +408 -0
  184. package/out/src/storage/WalletStorageManager.js.map +1 -0
  185. package/out/src/storage/index.client.d.ts +7 -0
  186. package/out/src/storage/index.client.d.ts.map +1 -0
  187. package/out/src/storage/index.client.js +46 -0
  188. package/out/src/storage/index.client.js.map +1 -0
  189. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +27 -0
  190. package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -0
  191. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +148 -0
  192. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -0
  193. package/out/src/storage/methods/createAction.d.ts +23 -0
  194. package/out/src/storage/methods/createAction.d.ts.map +1 -0
  195. package/out/src/storage/methods/createAction.js +663 -0
  196. package/out/src/storage/methods/createAction.js.map +1 -0
  197. package/out/src/storage/methods/generateChange.d.ts +108 -0
  198. package/out/src/storage/methods/generateChange.d.ts.map +1 -0
  199. package/out/src/storage/methods/generateChange.js +422 -0
  200. package/out/src/storage/methods/generateChange.js.map +1 -0
  201. package/out/src/storage/methods/getBeefForTransaction.d.ts +22 -0
  202. package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -0
  203. package/out/src/storage/methods/getBeefForTransaction.js +94 -0
  204. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -0
  205. package/out/src/storage/methods/getSyncChunk.d.ts +10 -0
  206. package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -0
  207. package/out/src/storage/methods/getSyncChunk.js +271 -0
  208. package/out/src/storage/methods/getSyncChunk.js.map +1 -0
  209. package/out/src/storage/methods/internalizeAction.d.ts +38 -0
  210. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -0
  211. package/out/src/storage/methods/internalizeAction.js +378 -0
  212. package/out/src/storage/methods/internalizeAction.js.map +1 -0
  213. package/out/src/storage/methods/listCertificates.d.ts +5 -0
  214. package/out/src/storage/methods/listCertificates.d.ts.map +1 -0
  215. package/out/src/storage/methods/listCertificates.js +68 -0
  216. package/out/src/storage/methods/listCertificates.js.map +1 -0
  217. package/out/src/storage/methods/processAction.d.ts +35 -0
  218. package/out/src/storage/methods/processAction.d.ts.map +1 -0
  219. package/out/src/storage/methods/processAction.js +271 -0
  220. package/out/src/storage/methods/processAction.js.map +1 -0
  221. package/out/src/storage/remoting/StorageClient.d.ts +56 -0
  222. package/out/src/storage/remoting/StorageClient.d.ts.map +1 -0
  223. package/out/src/storage/remoting/StorageClient.js +181 -0
  224. package/out/src/storage/remoting/StorageClient.js.map +1 -0
  225. package/out/src/storage/schema/entities/Certificate.d.ts +43 -0
  226. package/out/src/storage/schema/entities/Certificate.d.ts.map +1 -0
  227. package/out/src/storage/schema/entities/Certificate.js +162 -0
  228. package/out/src/storage/schema/entities/Certificate.js.map +1 -0
  229. package/out/src/storage/schema/entities/CertificateField.d.ts +32 -0
  230. package/out/src/storage/schema/entities/CertificateField.d.ts.map +1 -0
  231. package/out/src/storage/schema/entities/CertificateField.js +114 -0
  232. package/out/src/storage/schema/entities/CertificateField.js.map +1 -0
  233. package/out/src/storage/schema/entities/Commission.d.ts +37 -0
  234. package/out/src/storage/schema/entities/Commission.d.ts.map +1 -0
  235. package/out/src/storage/schema/entities/Commission.js +130 -0
  236. package/out/src/storage/schema/entities/Commission.js.map +1 -0
  237. package/out/src/storage/schema/entities/EntityBase.d.ts +105 -0
  238. package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -0
  239. package/out/src/storage/schema/entities/EntityBase.js +100 -0
  240. package/out/src/storage/schema/entities/EntityBase.js.map +1 -0
  241. package/out/src/storage/schema/entities/MergeEntity.d.ts +34 -0
  242. package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -0
  243. package/out/src/storage/schema/entities/MergeEntity.js +57 -0
  244. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -0
  245. package/out/src/storage/schema/entities/Output.d.ts +67 -0
  246. package/out/src/storage/schema/entities/Output.d.ts.map +1 -0
  247. package/out/src/storage/schema/entities/Output.js +281 -0
  248. package/out/src/storage/schema/entities/Output.js.map +1 -0
  249. package/out/src/storage/schema/entities/OutputBasket.d.ts +35 -0
  250. package/out/src/storage/schema/entities/OutputBasket.d.ts.map +1 -0
  251. package/out/src/storage/schema/entities/OutputBasket.js +133 -0
  252. package/out/src/storage/schema/entities/OutputBasket.js.map +1 -0
  253. package/out/src/storage/schema/entities/OutputTag.d.ts +31 -0
  254. package/out/src/storage/schema/entities/OutputTag.d.ts.map +1 -0
  255. package/out/src/storage/schema/entities/OutputTag.js +104 -0
  256. package/out/src/storage/schema/entities/OutputTag.js.map +1 -0
  257. package/out/src/storage/schema/entities/OutputTagMap.d.ts +28 -0
  258. package/out/src/storage/schema/entities/OutputTagMap.d.ts.map +1 -0
  259. package/out/src/storage/schema/entities/OutputTagMap.js +101 -0
  260. package/out/src/storage/schema/entities/OutputTagMap.js.map +1 -0
  261. package/out/src/storage/schema/entities/ProvenTx.d.ts +84 -0
  262. package/out/src/storage/schema/entities/ProvenTx.d.ts.map +1 -0
  263. package/out/src/storage/schema/entities/ProvenTx.js +283 -0
  264. package/out/src/storage/schema/entities/ProvenTx.js.map +1 -0
  265. package/out/src/storage/schema/entities/ProvenTxReq.d.ts +130 -0
  266. package/out/src/storage/schema/entities/ProvenTxReq.d.ts.map +1 -0
  267. package/out/src/storage/schema/entities/ProvenTxReq.js +521 -0
  268. package/out/src/storage/schema/entities/ProvenTxReq.js.map +1 -0
  269. package/out/src/storage/schema/entities/SyncState.d.ts +66 -0
  270. package/out/src/storage/schema/entities/SyncState.d.ts.map +1 -0
  271. package/out/src/storage/schema/entities/SyncState.js +284 -0
  272. package/out/src/storage/schema/entities/SyncState.js.map +1 -0
  273. package/out/src/storage/schema/entities/Transaction.d.ts +67 -0
  274. package/out/src/storage/schema/entities/Transaction.d.ts.map +1 -0
  275. package/out/src/storage/schema/entities/Transaction.js +264 -0
  276. package/out/src/storage/schema/entities/Transaction.js.map +1 -0
  277. package/out/src/storage/schema/entities/TxLabel.d.ts +31 -0
  278. package/out/src/storage/schema/entities/TxLabel.d.ts.map +1 -0
  279. package/out/src/storage/schema/entities/TxLabel.js +104 -0
  280. package/out/src/storage/schema/entities/TxLabel.js.map +1 -0
  281. package/out/src/storage/schema/entities/TxLabelMap.d.ts +28 -0
  282. package/out/src/storage/schema/entities/TxLabelMap.d.ts.map +1 -0
  283. package/out/src/storage/schema/entities/TxLabelMap.js +103 -0
  284. package/out/src/storage/schema/entities/TxLabelMap.js.map +1 -0
  285. package/out/src/storage/schema/entities/User.d.ts +29 -0
  286. package/out/src/storage/schema/entities/User.d.ts.map +1 -0
  287. package/out/src/storage/schema/entities/User.js +100 -0
  288. package/out/src/storage/schema/entities/User.js.map +1 -0
  289. package/out/src/storage/schema/entities/index.d.ts +17 -0
  290. package/out/src/storage/schema/entities/index.d.ts.map +1 -0
  291. package/out/src/storage/schema/entities/index.js +33 -0
  292. package/out/src/storage/schema/entities/index.js.map +1 -0
  293. package/out/src/storage/schema/tables/Certificate.d.ts +20 -0
  294. package/out/src/storage/schema/tables/Certificate.d.ts.map +1 -0
  295. package/out/src/storage/schema/tables/Certificate.js +3 -0
  296. package/out/src/storage/schema/tables/Certificate.js.map +1 -0
  297. package/out/src/storage/schema/tables/CertificateField.d.ts +12 -0
  298. package/out/src/storage/schema/tables/CertificateField.d.ts.map +1 -0
  299. package/out/src/storage/schema/tables/CertificateField.js +3 -0
  300. package/out/src/storage/schema/tables/CertificateField.js.map +1 -0
  301. package/out/src/storage/schema/tables/Commission.d.ts +13 -0
  302. package/out/src/storage/schema/tables/Commission.d.ts.map +1 -0
  303. package/out/src/storage/schema/tables/Commission.js +3 -0
  304. package/out/src/storage/schema/tables/Commission.js.map +1 -0
  305. package/out/src/storage/schema/tables/MonitorEvent.d.ts +9 -0
  306. package/out/src/storage/schema/tables/MonitorEvent.d.ts.map +1 -0
  307. package/out/src/storage/schema/tables/MonitorEvent.js +3 -0
  308. package/out/src/storage/schema/tables/MonitorEvent.js.map +1 -0
  309. package/out/src/storage/schema/tables/Output.d.ts +36 -0
  310. package/out/src/storage/schema/tables/Output.d.ts.map +1 -0
  311. package/out/src/storage/schema/tables/Output.js +31 -0
  312. package/out/src/storage/schema/tables/Output.js.map +1 -0
  313. package/out/src/storage/schema/tables/OutputBasket.d.ts +12 -0
  314. package/out/src/storage/schema/tables/OutputBasket.d.ts.map +1 -0
  315. package/out/src/storage/schema/tables/OutputBasket.js +3 -0
  316. package/out/src/storage/schema/tables/OutputBasket.js.map +1 -0
  317. package/out/src/storage/schema/tables/OutputTag.d.ts +10 -0
  318. package/out/src/storage/schema/tables/OutputTag.d.ts.map +1 -0
  319. package/out/src/storage/schema/tables/OutputTag.js +3 -0
  320. package/out/src/storage/schema/tables/OutputTag.js.map +1 -0
  321. package/out/src/storage/schema/tables/OutputTagMap.d.ts +9 -0
  322. package/out/src/storage/schema/tables/OutputTagMap.d.ts.map +1 -0
  323. package/out/src/storage/schema/tables/OutputTagMap.js +3 -0
  324. package/out/src/storage/schema/tables/OutputTagMap.js.map +1 -0
  325. package/out/src/storage/schema/tables/ProvenTx.d.ts +14 -0
  326. package/out/src/storage/schema/tables/ProvenTx.d.ts.map +1 -0
  327. package/out/src/storage/schema/tables/ProvenTx.js +3 -0
  328. package/out/src/storage/schema/tables/ProvenTx.js.map +1 -0
  329. package/out/src/storage/schema/tables/ProvenTxReq.d.ts +64 -0
  330. package/out/src/storage/schema/tables/ProvenTxReq.d.ts.map +1 -0
  331. package/out/src/storage/schema/tables/ProvenTxReq.js +3 -0
  332. package/out/src/storage/schema/tables/ProvenTxReq.js.map +1 -0
  333. package/out/src/storage/schema/tables/Settings.d.ts +17 -0
  334. package/out/src/storage/schema/tables/Settings.d.ts.map +1 -0
  335. package/out/src/storage/schema/tables/Settings.js +3 -0
  336. package/out/src/storage/schema/tables/Settings.js.map +1 -0
  337. package/out/src/storage/schema/tables/SyncState.d.ts +18 -0
  338. package/out/src/storage/schema/tables/SyncState.d.ts.map +1 -0
  339. package/out/src/storage/schema/tables/SyncState.js +3 -0
  340. package/out/src/storage/schema/tables/SyncState.js.map +1 -0
  341. package/out/src/storage/schema/tables/Transaction.d.ts +37 -0
  342. package/out/src/storage/schema/tables/Transaction.d.ts.map +1 -0
  343. package/out/src/storage/schema/tables/Transaction.js +21 -0
  344. package/out/src/storage/schema/tables/Transaction.js.map +1 -0
  345. package/out/src/storage/schema/tables/TxLabel.d.ts +10 -0
  346. package/out/src/storage/schema/tables/TxLabel.d.ts.map +1 -0
  347. package/out/src/storage/schema/tables/TxLabel.js +3 -0
  348. package/out/src/storage/schema/tables/TxLabel.js.map +1 -0
  349. package/out/src/storage/schema/tables/TxLabelMap.d.ts +9 -0
  350. package/out/src/storage/schema/tables/TxLabelMap.d.ts.map +1 -0
  351. package/out/src/storage/schema/tables/TxLabelMap.js +3 -0
  352. package/out/src/storage/schema/tables/TxLabelMap.js.map +1 -0
  353. package/out/src/storage/schema/tables/User.d.ts +16 -0
  354. package/out/src/storage/schema/tables/User.d.ts.map +1 -0
  355. package/out/src/storage/schema/tables/User.js +3 -0
  356. package/out/src/storage/schema/tables/User.js.map +1 -0
  357. package/out/src/storage/schema/tables/index.d.ts +17 -0
  358. package/out/src/storage/schema/tables/index.d.ts.map +1 -0
  359. package/out/src/storage/schema/tables/index.js +33 -0
  360. package/out/src/storage/schema/tables/index.js.map +1 -0
  361. package/out/src/utility/ScriptTemplateSABPPP.d.ts +25 -0
  362. package/out/src/utility/ScriptTemplateSABPPP.d.ts.map +1 -0
  363. package/out/src/utility/ScriptTemplateSABPPP.js +46 -0
  364. package/out/src/utility/ScriptTemplateSABPPP.js.map +1 -0
  365. package/out/src/utility/index.client.d.ts +7 -0
  366. package/out/src/utility/index.client.d.ts.map +1 -0
  367. package/out/src/utility/index.client.js +23 -0
  368. package/out/src/utility/index.client.js.map +1 -0
  369. package/out/src/utility/parseTxScriptOffsets.d.ts +14 -0
  370. package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -0
  371. package/out/src/utility/parseTxScriptOffsets.js +26 -0
  372. package/out/src/utility/parseTxScriptOffsets.js.map +1 -0
  373. package/out/src/utility/stampLog.d.ts +18 -0
  374. package/out/src/utility/stampLog.d.ts.map +1 -0
  375. package/out/src/utility/stampLog.js +72 -0
  376. package/out/src/utility/stampLog.js.map +1 -0
  377. package/out/src/utility/tscProofToMerklePath.d.ts +8 -0
  378. package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -0
  379. package/out/src/utility/tscProofToMerklePath.js +41 -0
  380. package/out/src/utility/tscProofToMerklePath.js.map +1 -0
  381. package/out/src/utility/utilityHelpers.d.ts +129 -0
  382. package/out/src/utility/utilityHelpers.d.ts.map +1 -0
  383. package/out/src/utility/utilityHelpers.js +268 -0
  384. package/out/src/utility/utilityHelpers.js.map +1 -0
  385. package/out/src/utility/utilityHelpers.noBuffer.d.ts +9 -0
  386. package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -0
  387. package/out/src/utility/utilityHelpers.noBuffer.js +23 -0
  388. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -0
  389. package/out/tsconfig.client.tsbuildinfo +1 -0
  390. package/package.json +27 -0
@@ -0,0 +1,368 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getTaalArcServiceConfig = getTaalArcServiceConfig;
7
+ exports.makePostTxsToTaalARC = makePostTxsToTaalARC;
8
+ exports.makePostBeefToTaalARC = makePostBeefToTaalARC;
9
+ exports.makeGetMerklePathFromTaalARC = makeGetMerklePathFromTaalARC;
10
+ exports.getMerklePathFromTaalARC = getMerklePathFromTaalARC;
11
+ exports.postTxsToTaalArcMiner = postTxsToTaalArcMiner;
12
+ exports.postBeefToTaalArcMiner = postBeefToTaalArcMiner;
13
+ exports.postBeefToArcMiner = postBeefToArcMiner;
14
+ exports.makePostBeefResult = makePostBeefResult;
15
+ exports.makeErrorResult = makeErrorResult;
16
+ const sdk_1 = require("@bsv/sdk");
17
+ const index_client_1 = require("../../index.client");
18
+ const axios_1 = __importDefault(require("axios"));
19
+ const stream_1 = require("stream");
20
+ const BEEF_V1 = 4022206465; // 0100BEEF in LE order
21
+ const BEEF_V2 = 4022206466; // 0200BEEF in LE order
22
+ function getTaalArcServiceConfig(chain, apiKey) {
23
+ return {
24
+ name: 'TaalArc',
25
+ url: chain === 'main'
26
+ ? 'https://api.taal.com/arc'
27
+ : 'https://arc-test.taal.com',
28
+ arcConfig: {
29
+ apiKey,
30
+ deploymentId: `WalletServices-${(0, index_client_1.randomBytesHex)(16)}`
31
+ }
32
+ };
33
+ }
34
+ function makePostTxsToTaalARC(config) {
35
+ return (beef, txids, services) => {
36
+ return postTxsToTaalArcMiner(beef, txids, config, services);
37
+ };
38
+ }
39
+ function makePostBeefToTaalARC(config) {
40
+ return (beef, txids, services) => {
41
+ return postBeefToTaalArcMiner(beef, txids, config, services);
42
+ };
43
+ }
44
+ function makeGetMerklePathFromTaalARC(config) {
45
+ return (txid, chain, services) => {
46
+ return getMerklePathFromTaalARC(txid, config, services);
47
+ };
48
+ }
49
+ class ArcServices {
50
+ /**
51
+ * Constructs an instance of the ARC broadcaster.
52
+ *
53
+ * @param {string} URL - The URL endpoint for the ARC API.
54
+ * @param {ArcConfig} config - Configuration options for the ARC broadcaster.
55
+ */
56
+ constructor(URL, config) {
57
+ this.URL = URL;
58
+ const { apiKey, deploymentId, httpClient, callbackToken, callbackUrl, headers } = config;
59
+ this.apiKey = apiKey;
60
+ this.httpClient = httpClient !== null && httpClient !== void 0 ? httpClient : (0, sdk_1.defaultHttpClient)();
61
+ this.deploymentId = deploymentId || `WalletServices-${(0, index_client_1.randomBytesHex)(16)}`;
62
+ this.callbackToken = callbackToken;
63
+ this.callbackUrl = callbackUrl;
64
+ this.headers = headers;
65
+ }
66
+ /**
67
+ * Unfortunately this seems to only work for recently submitted txids...
68
+ * @param txid
69
+ * @returns
70
+ */
71
+ async getTxStatus(txid) {
72
+ const requestOptions = {
73
+ method: 'GET',
74
+ headers: this.requestHeaders()
75
+ };
76
+ const response = await this.httpClient.request(`${this.URL}/v1/tx/${txid}`, requestOptions);
77
+ return response.data;
78
+ }
79
+ requestHeaders() {
80
+ const headers = {
81
+ 'Content-Type': 'application/json',
82
+ 'XDeployment-ID': this.deploymentId
83
+ };
84
+ if (this.apiKey) {
85
+ headers.Authorization = `Bearer ${this.apiKey}`;
86
+ }
87
+ if (this.callbackUrl) {
88
+ headers['X-CallbackUrl'] = this.callbackUrl;
89
+ }
90
+ if (this.callbackToken) {
91
+ headers['X-CallbackToken'] = this.callbackToken;
92
+ }
93
+ if (this.headers) {
94
+ for (const key in this.headers) {
95
+ headers[key] = this.headers[key];
96
+ }
97
+ }
98
+ return headers;
99
+ }
100
+ }
101
+ async function getMerklePathFromTaalARC(txid, config, services) {
102
+ const r = { name: config.name };
103
+ try {
104
+ const arc = new ArcServices(config.url, config.arcConfig);
105
+ const rr = await arc.getTxStatus(txid);
106
+ if (rr.status === 200 && rr.merklePath) {
107
+ const mp = sdk_1.MerklePath.fromHex(rr.merklePath);
108
+ r.merklePath = mp;
109
+ r.header = await services.hashToHeader(rr.blockHash);
110
+ }
111
+ }
112
+ catch (eu) {
113
+ r.error = index_client_1.sdk.WalletError.fromUnknown(eu);
114
+ }
115
+ return r;
116
+ }
117
+ /**
118
+ *
119
+ * @param txs All transactions must have source transactions. Will just source locking scripts and satoshis do?? toHexEF() is used.
120
+ * @param config
121
+ */
122
+ async function postTxsToTaalArcMiner(beef, txids, config, services) {
123
+ const r = {
124
+ name: config.name,
125
+ status: 'error',
126
+ txidResults: []
127
+ };
128
+ try {
129
+ const arc = new sdk_1.ARC(config.url, config.arcConfig);
130
+ /**
131
+ * This service requires an array of EF serialized transactions:
132
+ * Pull the transactions matching txids array out of the Beef and fill in input sourceTransations,
133
+ * either from Beef or by external service lookup.
134
+ */
135
+ const txs = [];
136
+ for (const txid of txids) {
137
+ const btx = beef.findTxid(txid);
138
+ if (btx) {
139
+ const tx = btx.tx;
140
+ for (const input of tx.inputs) {
141
+ if (!input.sourceTXID || input.sourceTXID === '0'.repeat(64))
142
+ continue; // all zero txid is a coinbase input.
143
+ let itx = beef.findTxid(input.sourceTXID);
144
+ if (!itx) {
145
+ const rawTx = await services.getRawTx(input.sourceTXID);
146
+ if (!rawTx || !rawTx.rawTx)
147
+ throw new index_client_1.sdk.WERR_INVALID_PARAMETER('sourceTXID', `contained in beef or found on chain. ${input.sourceTXID}`);
148
+ beef.mergeRawTx(rawTx.rawTx);
149
+ itx = beef.findTxid(input.sourceTXID);
150
+ }
151
+ input.sourceTransaction = itx.tx;
152
+ }
153
+ txs.push(tx);
154
+ }
155
+ else
156
+ throw new index_client_1.sdk.WERR_INVALID_PARAMETER('beef', `merged with rawTxs matching txids. Missing ${txid}`);
157
+ }
158
+ const rrs = (await arc.broadcastMany(txs));
159
+ r.status = 'success';
160
+ for (const txid of txids) {
161
+ const txr = { txid, status: 'success' };
162
+ const rr = rrs.find(r => r.txid === txid);
163
+ if (!rr) {
164
+ r.status = txr.status = 'error';
165
+ }
166
+ else {
167
+ txr.data = rr;
168
+ if (rr.status !== 200)
169
+ r.status = txr.status = 'error';
170
+ else {
171
+ txr.blockHash = rr.blockHash;
172
+ txr.blockHeight = rr.blockHeight;
173
+ txr.merklePath = !rr.merklePath
174
+ ? undefined
175
+ : sdk_1.MerklePath.fromHex(rr.merklePath);
176
+ }
177
+ }
178
+ r.txidResults.push(txr);
179
+ }
180
+ r.data = rrs;
181
+ }
182
+ catch (eu) {
183
+ r.error = index_client_1.sdk.WalletError.fromUnknown(eu);
184
+ }
185
+ return r;
186
+ }
187
+ async function postBeefToTaalArcMiner(beef, txids, config, services) {
188
+ const r1 = await postBeefToArcMiner(beef, txids, config);
189
+ return r1;
190
+ if (r1.status === 'success')
191
+ return r1;
192
+ const datas = { r1: r1.data };
193
+ const r2 = await services.postTxs(beef, txids);
194
+ const r3 = {
195
+ name: config.name,
196
+ status: 'success',
197
+ data: {},
198
+ txidResults: []
199
+ };
200
+ for (const txid of txids) {
201
+ const rawTx = beef.findTxid(txid).rawTx;
202
+ const rt = await postBeefToArcMiner(rawTx, [txid], config);
203
+ if (rt.status === 'error')
204
+ r3.status = 'error';
205
+ r3.data[txid] = rt.data;
206
+ r3.txidResults.push(rt.txidResults[0]);
207
+ }
208
+ datas['r3'] = r3.data;
209
+ r3.data = datas;
210
+ return r3;
211
+ }
212
+ async function postBeefToArcMiner(beef, txids, config) {
213
+ const m = { ...config };
214
+ let url = '';
215
+ let r = undefined;
216
+ // HACK to resolve ARC error when row has zero leaves.
217
+ // beef.addComputedLeaves()
218
+ let beefBinary;
219
+ if (Array.isArray(beef))
220
+ beefBinary = beef;
221
+ else {
222
+ // HACK to resolve ARC not handling V2 Beef after change Beef class to always serialize as V2 if default constructed:
223
+ beef.version = BEEF_V1;
224
+ beefBinary = beef.toBinary();
225
+ }
226
+ try {
227
+ const length = beefBinary.length;
228
+ const makeRequestHeaders = () => {
229
+ const headers = {
230
+ 'Content-Type': 'application/octet-stream',
231
+ 'Content-Length': length.toString(),
232
+ 'XDeployment-ID': m.arcConfig.deploymentId || `WalletServices-${(0, index_client_1.randomBytesHex)(16)}`
233
+ };
234
+ if (m.arcConfig.apiKey) {
235
+ headers['Authorization'] = `Bearer ${m.arcConfig.apiKey}`;
236
+ }
237
+ return headers;
238
+ };
239
+ const headers = makeRequestHeaders();
240
+ const stream = new stream_1.Readable({
241
+ read() {
242
+ this.push(Buffer.from(beefBinary));
243
+ this.push(null);
244
+ }
245
+ });
246
+ url = `${config.url}/v1/tx`;
247
+ const data = await axios_1.default.post(url, stream, {
248
+ headers,
249
+ maxBodyLength: Infinity,
250
+ validateStatus: () => true
251
+ });
252
+ if (!data || !data.data)
253
+ throw new index_client_1.sdk.WERR_BAD_REQUEST('no response data');
254
+ if (data.data === 'No Authorization' ||
255
+ data.status === 403 ||
256
+ data.statusText === 'Forbiden')
257
+ throw new index_client_1.sdk.WERR_BAD_REQUEST('No Authorization');
258
+ if (typeof data.data !== 'object')
259
+ throw new index_client_1.sdk.WERR_BAD_REQUEST('no response data object');
260
+ const dd = data.data;
261
+ r = makePostBeefResult(dd, config, beefBinary, txids);
262
+ }
263
+ catch (err) {
264
+ console.error(err);
265
+ const error = new index_client_1.sdk.WERR_INTERNAL(`service: ${url}, error: ${JSON.stringify(index_client_1.sdk.WalletError.fromUnknown(err))}`);
266
+ r = makeErrorResult(error, config, beefBinary, txids);
267
+ }
268
+ return r;
269
+ }
270
+ function makePostBeefResult(dd, miner, beef, txids) {
271
+ let r;
272
+ switch (dd.status) {
273
+ case 200: // Success
274
+ r = makeSuccessResult(dd, miner, beef, txids);
275
+ break;
276
+ case 400: // Bad Request
277
+ r = makeErrorResult(new index_client_1.sdk.WERR_BAD_REQUEST(), miner, beef, txids, dd);
278
+ break;
279
+ case 401: // Security Failed
280
+ r = makeErrorResult(new index_client_1.sdk.WERR_BAD_REQUEST(`Security Failed (401)`), miner, beef, txids, dd);
281
+ break;
282
+ case 409: // Generic Error
283
+ case 422: // RFC 7807 Error
284
+ case 460: // Not Extended Format
285
+ case 467: // Mined Ancestor Missing
286
+ case 468: // Invalid BUMPs
287
+ r = makeErrorResult(new index_client_1.sdk.WERR_BAD_REQUEST(`status ${dd.status}, title ${dd.title}`), miner, beef, txids, dd);
288
+ break;
289
+ case 461: // Malformed Transaction
290
+ case 463: // Malformed Transaction
291
+ case 464: // Invalid Outputs
292
+ r = makeErrorResult(new index_client_1.sdk.WERR_BAD_REQUEST(`status ${dd.status}, title ${dd.title}`), miner, beef, txids, dd);
293
+ break;
294
+ case 462: // Invalid Inputs
295
+ if (dd.txid)
296
+ r = makeErrorResult(new index_client_1.sdk.WERR_BAD_REQUEST(`status ${dd.status}, title ${dd.title}`), miner, beef, txids, dd);
297
+ else
298
+ r = makeErrorResult(new index_client_1.sdk.WERR_BAD_REQUEST(`status ${dd.status}, title ${dd.title}`), miner, beef, txids, dd);
299
+ break;
300
+ case 465: // Fee Too Low
301
+ case 473: // Cumulative Fee Validation Failed
302
+ r = makeErrorResult(new index_client_1.sdk.WERR_BAD_REQUEST(`status ${dd.status}, title ${dd.title}`), miner, beef, txids, dd);
303
+ break;
304
+ case 469: // Invalid Merkle Root
305
+ r = makeErrorResult(new index_client_1.sdk.WERR_BAD_REQUEST(`status ${dd.status}, title ${dd.title}`), miner, beef, txids, dd);
306
+ break;
307
+ default:
308
+ r = makeErrorResult(new index_client_1.sdk.WERR_BAD_REQUEST(`status ${dd.status}, title ${dd.title}`), miner, beef, txids, dd);
309
+ break;
310
+ }
311
+ return r;
312
+ }
313
+ function makeSuccessResult(dd, miner,
314
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
315
+ beef,
316
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
317
+ txids) {
318
+ const r = {
319
+ status: 'success',
320
+ name: miner.name,
321
+ data: dd,
322
+ txidResults: []
323
+ };
324
+ for (let i = 0; i < txids.length; i++) {
325
+ const rt = {
326
+ txid: txids[i],
327
+ status: 'success'
328
+ };
329
+ if (dd.txid === txids[i]) {
330
+ rt.alreadyKnown =
331
+ !!dd.txStatus && ['SEEN_ON_NETWORK', 'MINED'].indexOf(dd.txStatus) >= 0;
332
+ rt.txid = dd.txid;
333
+ rt.blockHash = dd.blockHash;
334
+ rt.blockHeight = dd.blockHeight;
335
+ rt.merklePath = sdk_1.MerklePath.fromBinary((0, index_client_1.asArray)(dd.merklePath));
336
+ }
337
+ r.txidResults.push(rt);
338
+ }
339
+ return r;
340
+ }
341
+ function makeErrorResult(error, miner,
342
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
343
+ beef, txids, dd) {
344
+ const r = {
345
+ status: 'error',
346
+ name: miner.name,
347
+ error,
348
+ data: dd,
349
+ txidResults: []
350
+ };
351
+ for (let i = 0; i < txids.length; i++) {
352
+ const rt = {
353
+ txid: txids[i],
354
+ status: 'error'
355
+ };
356
+ if ((dd === null || dd === void 0 ? void 0 : dd.txid) === txids[i]) {
357
+ rt.alreadyKnown =
358
+ !!dd.txStatus && ['SEEN_ON_NETWORK', 'MINED'].indexOf(dd.txStatus) >= 0;
359
+ rt.txid = dd.txid;
360
+ rt.blockHash = dd.blockHash;
361
+ rt.blockHeight = dd.blockHeight;
362
+ rt.merklePath = sdk_1.MerklePath.fromBinary((0, index_client_1.asArray)(dd.merklePath));
363
+ }
364
+ r.txidResults.push(rt);
365
+ }
366
+ return r;
367
+ }
368
+ //# sourceMappingURL=arcServices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arcServices.js","sourceRoot":"","sources":["../../../../../src/services/providers/arcServices.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { sdk } from '../../index.client';
2
+ export declare function updateChaintracksFiatExchangeRates(targetCurrencies: string[], options: sdk.WalletServicesOptions): Promise<sdk.FiatExchangeRates>;
3
+ export declare function updateExchangeratesapi(targetCurrencies: string[], options: sdk.WalletServicesOptions): Promise<sdk.FiatExchangeRates>;
4
+ export interface ExchangeRatesIoApi {
5
+ success: boolean;
6
+ timestamp: number;
7
+ base: 'EUR' | 'USD';
8
+ date: string;
9
+ rates: Record<string, number>;
10
+ }
11
+ export declare function getExchangeRatesIo(key: string): Promise<ExchangeRatesIoApi>;
12
+ //# sourceMappingURL=echangeRates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"echangeRates.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/echangeRates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AAGxC,wBAAsB,kCAAkC,CACtD,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,EAAE,GAAG,CAAC,qBAAqB,GACjC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAkBhC;AAED,wBAAsB,sBAAsB,CAC1C,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,EAAE,GAAG,CAAC,qBAAqB,GACjC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAwChC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,KAAK,GAAG,KAAK,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9B;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,kBAAkB,CAAC,CAc7B"}
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.updateChaintracksFiatExchangeRates = updateChaintracksFiatExchangeRates;
7
+ exports.updateExchangeratesapi = updateExchangeratesapi;
8
+ exports.getExchangeRatesIo = getExchangeRatesIo;
9
+ const index_client_1 = require("../../index.client");
10
+ const axios_1 = __importDefault(require("axios"));
11
+ async function updateChaintracksFiatExchangeRates(targetCurrencies, options) {
12
+ const url = options.chaintracksFiatExchangeRatesUrl;
13
+ if (!url)
14
+ throw new index_client_1.sdk.WERR_MISSING_PARAMETER('options.chaintracksFiatExchangeRatesUrl');
15
+ const r = await axios_1.default.get(url);
16
+ if (r.status !== 200 || !r.data || r.data.status != 'success') {
17
+ throw new index_client_1.sdk.WERR_BAD_REQUEST(`${url} returned status ${r.status}`);
18
+ }
19
+ const rates = r.data.value;
20
+ rates.timestamp = new Date(rates.timestamp);
21
+ return rates;
22
+ }
23
+ async function updateExchangeratesapi(targetCurrencies, options) {
24
+ if (!options.exchangeratesapiKey)
25
+ throw new index_client_1.sdk.WERR_MISSING_PARAMETER('options.exchangeratesapiKey');
26
+ const iorates = await getExchangeRatesIo(options.exchangeratesapiKey);
27
+ if (!iorates.success)
28
+ throw new index_client_1.sdk.WERR_BAD_REQUEST(`getExchangeRatesIo returned success ${iorates.success}`);
29
+ if (!iorates.rates['USD'] || !iorates.rates[iorates.base])
30
+ throw new index_client_1.sdk.WERR_BAD_REQUEST(`getExchangeRatesIo missing rates for 'USD' or base`);
31
+ const r = {
32
+ timestamp: new Date(iorates.timestamp * 1000),
33
+ base: 'USD',
34
+ rates: {}
35
+ };
36
+ const basePerUsd = iorates.rates[iorates.base] / iorates.rates['USD'];
37
+ let updates = 0;
38
+ for (const [key, value] of Object.entries(iorates.rates)) {
39
+ if (targetCurrencies.indexOf(key) > -1) {
40
+ r.rates[key] = value * basePerUsd;
41
+ updates++;
42
+ }
43
+ }
44
+ if (updates !== targetCurrencies.length)
45
+ throw new index_client_1.sdk.WERR_BAD_REQUEST(`getExchangeRatesIo failed to update all target currencies`);
46
+ //console.log(`new fiat rates=${JSON.stringify(r)}`)
47
+ return r;
48
+ }
49
+ async function getExchangeRatesIo(key) {
50
+ const url = `http://api.exchangeratesapi.io/v1/latest?access_key=${key}`;
51
+ const r = await axios_1.default.get(url);
52
+ if (r.status !== 200 || !r.data) {
53
+ throw new index_client_1.sdk.WERR_BAD_REQUEST(`getExchangeRatesIo returned status ${r.status}`);
54
+ }
55
+ const rates = r.data;
56
+ return rates;
57
+ }
58
+ /*
59
+ {
60
+ "success": true,
61
+ "timestamp": 1702405384,
62
+ "base": "EUR",
63
+ "date": "2023-12-12",
64
+ "rates": {
65
+ "AED": 3.96261,
66
+ "AFN": 74.453362,
67
+ "ALL": 101.807155,
68
+ "AMD": 435.489459,
69
+ "ANG": 1.944069,
70
+ "AOA": 897.226337,
71
+ "ARS": 395.468082,
72
+ "AUD": 1.646886,
73
+ "AWG": 1.942271,
74
+ "AZN": 1.832044,
75
+ "BAM": 1.95407,
76
+ "BBD": 2.177971,
77
+ "BDT": 118.654929,
78
+ "BGN": 1.956827,
79
+ "BHD": 0.406753,
80
+ "BIF": 3078.499675,
81
+ "BMD": 1.079039,
82
+ "BND": 1.446102,
83
+ "BOB": 7.4534,
84
+ "BRL": 5.35741,
85
+ "BSD": 1.07874,
86
+ "BTC": 0.000026145469,
87
+ "BTN": 89.916078,
88
+ "BWP": 14.715901,
89
+ "BYN": 3.553337,
90
+ "BYR": 21149.174075,
91
+ "BZD": 2.174364,
92
+ "CAD": 1.468287,
93
+ "CDF": 2875.640503,
94
+ "CHF": 0.945353,
95
+ "CLF": 0.034313,
96
+ "CLP": 948.09775,
97
+ "CNY": 7.743512,
98
+ "COP": 4307.525658,
99
+ "CRC": 569.093422,
100
+ "CUC": 1.079039,
101
+ "CUP": 28.594547,
102
+ "CVE": 110.978933,
103
+ "CZK": 24.507795,
104
+ "DJF": 191.766554,
105
+ "DKK": 7.457544,
106
+ "DOP": 61.505535,
107
+ "DZD": 145.236415,
108
+ "EGP": 33.367028,
109
+ "ERN": 16.185592,
110
+ "ETB": 60.199033,
111
+ "EUR": 1,
112
+ "FJD": 2.416779,
113
+ "FKP": 0.859886,
114
+ "GBP": 0.859574,
115
+ "GEL": 2.880527,
116
+ "GGP": 0.859886,
117
+ "GHS": 12.980915,
118
+ "GIP": 0.859886,
119
+ "GMD": 72.726644,
120
+ "GNF": 9285.134874,
121
+ "GTQ": 8.443457,
122
+ "GYD": 225.859997,
123
+ "HKD": 8.426031,
124
+ "HNL": 26.685156,
125
+ "HRK": 7.598132,
126
+ "HTG": 142.513142,
127
+ "HUF": 382.707793,
128
+ "IDR": 16801.292339,
129
+ "ILS": 4.007585,
130
+ "IMP": 0.859886,
131
+ "INR": 89.987955,
132
+ "IQD": 1414.081256,
133
+ "IRR": 45602.907562,
134
+ "ISK": 151.109018,
135
+ "JEP": 0.859886,
136
+ "JMD": 167.700721,
137
+ "JOD": 0.765366,
138
+ "JPY": 157.115675,
139
+ "KES": 165.523229,
140
+ "KGS": 96.379362,
141
+ "KHR": 4440.24707,
142
+ "KMF": 493.571281,
143
+ "KPW": 971.097551,
144
+ "KRW": 1417.685123,
145
+ "KWD": 0.332733,
146
+ "KYD": 0.8989,
147
+ "KZT": 493.04112,
148
+ "LAK": 22368.488843,
149
+ "LBP": 16154.243871,
150
+ "LKR": 352.747636,
151
+ "LRD": 203.02122,
152
+ "LSL": 20.582684,
153
+ "LTL": 3.186123,
154
+ "LVL": 0.6527,
155
+ "LYD": 5.211954,
156
+ "MAD": 10.976529,
157
+ "MDL": 19.340873,
158
+ "MGA": 4939.301335,
159
+ "MKD": 61.507276,
160
+ "MMK": 2265.283559,
161
+ "MNT": 3705.780074,
162
+ "MOP": 8.676817,
163
+ "MRU": 42.727878,
164
+ "MUR": 47.690625,
165
+ "MVR": 16.584924,
166
+ "MWK": 1816.023037,
167
+ "MXN": 18.69803,
168
+ "MYR": 5.052606,
169
+ "MZN": 68.249194,
170
+ "NAD": 20.588506,
171
+ "NGN": 865.924709,
172
+ "NIO": 39.6024,
173
+ "NOK": 11.848426,
174
+ "NPR": 143.865605,
175
+ "NZD": 1.761931,
176
+ "OMR": 0.415394,
177
+ "PAB": 1.07864,
178
+ "PEN": 4.073376,
179
+ "PGK": 4.025102,
180
+ "PHP": 59.974075,
181
+ "PKR": 306.446851,
182
+ "PLN": 4.334063,
183
+ "PYG": 7963.910929,
184
+ "QAR": 3.928776,
185
+ "RON": 4.973399,
186
+ "RSD": 117.196649,
187
+ "RUB": 97.248412,
188
+ "RWF": 1351.496966,
189
+ "SAR": 4.047186,
190
+ "SBD": 9.12268,
191
+ "SCR": 14.561036,
192
+ "SDG": 648.5028,
193
+ "SEK": 11.285032,
194
+ "SGD": 1.449037,
195
+ "SHP": 1.312921,
196
+ "SLE": 24.488188,
197
+ "SLL": 21311.029931,
198
+ "SOS": 616.131981,
199
+ "SRD": 40.655509,
200
+ "STD": 22333.938945,
201
+ "SYP": 14029.21897,
202
+ "SZL": 20.587826,
203
+ "THB": 38.597298,
204
+ "TJS": 11.757734,
205
+ "TMT": 3.776638,
206
+ "TND": 3.377493,
207
+ "TOP": 2.551714,
208
+ "TRY": 31.312865,
209
+ "TTD": 7.321483,
210
+ "TWD": 34.012943,
211
+ "TZS": 2697.598652,
212
+ "UAH": 39.917867,
213
+ "UGX": 4102.367289,
214
+ "USD": 1.079039,
215
+ "UYU": 42.422631,
216
+ "UZS": 13299.161683,
217
+ "VEF": 3838024.202021,
218
+ "VES": 38.392542,
219
+ "VND": 26188.28851,
220
+ "VUV": 129.693288,
221
+ "WST": 2.964402,
222
+ "XAF": 655.37362,
223
+ "XAG": 0.047456,
224
+ "XAU": 0.000545,
225
+ "XCD": 2.916158,
226
+ "XDR": 0.811478,
227
+ "XOF": 657.134976,
228
+ "XPF": 119.331742,
229
+ "YER": 270.110528,
230
+ "ZAR": 20.470755,
231
+ "ZMK": 9712.646776,
232
+ "ZMW": 26.319693,
233
+ "ZWL": 347.450277
234
+ }
235
+ }
236
+ */
237
+ //# sourceMappingURL=echangeRates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"echangeRates.js","sourceRoot":"","sources":["../../../../../src/services/providers/echangeRates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { sdk } from '../../index.client';
2
+ /**
3
+ * WhatOnChain.com has their own "hash/pos/R/L" proof format and a more TSC compliant proof format.
4
+ *
5
+ * The "/proof/tsc" endpoint is much closer to the TSC specification. It provides "index" directly and each node is just the provided hash value.
6
+ * The "targetType" is unspecified and thus defaults to block header hash, requiring a Chaintracks lookup to get the merkleRoot...
7
+ * Duplicate hash values are provided in full instead of being replaced by "*".
8
+ *
9
+ * @param txid
10
+ * @param chain
11
+ * @returns
12
+ */
13
+ export declare function getMerklePathFromWhatsOnChainTsc(txid: string, chain: sdk.Chain, services: sdk.WalletServices): Promise<sdk.GetMerklePathResult>;
14
+ export declare function getRawTxFromWhatsOnChain(txid: string, chain: sdk.Chain): Promise<sdk.GetRawTxResult>;
15
+ export declare function getUtxoStatusFromWhatsOnChain(output: string, chain: sdk.Chain, outputFormat?: sdk.GetUtxoStatusOutputFormat): Promise<sdk.GetUtxoStatusResult>;
16
+ export declare function updateBsvExchangeRate(rate?: sdk.BsvExchangeRate, updateMsecs?: number): Promise<sdk.BsvExchangeRate>;
17
+ //# sourceMappingURL=whatsonchain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whatsonchain.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/whatsonchain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,GAAG,EAAsB,MAAM,oBAAoB,CAAA;AAM/E;;;;;;;;;;GAUG;AACH,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,QAAQ,EAAE,GAAG,CAAC,cAAc,GAC3B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAwBlC;AASD,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,CAAC,KAAK,GACf,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAc7B;AASD,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,YAAY,CAAC,EAAE,GAAG,CAAC,yBAAyB,GAC3C,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAoDlC;AAQD,wBAAsB,qBAAqB,CACzC,IAAI,CAAC,EAAE,GAAG,CAAC,eAAe,EAC1B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAsB9B"}