@bsv/wallet-toolbox 1.4.3 → 1.4.5

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 (250) hide show
  1. package/docs/client.md +225 -79
  2. package/docs/monitor.md +32 -1
  3. package/docs/wallet.md +225 -79
  4. package/mobile/out/src/WalletPermissionsManager.d.ts +60 -1
  5. package/mobile/out/src/WalletPermissionsManager.d.ts.map +1 -1
  6. package/mobile/out/src/WalletPermissionsManager.js +223 -15
  7. package/mobile/out/src/WalletPermissionsManager.js.map +1 -1
  8. package/mobile/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  9. package/mobile/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  10. package/mobile/package-lock.json +2 -2
  11. package/mobile/package.json +1 -1
  12. package/out/src/CWIStyleWalletManager.js +1 -1
  13. package/out/src/CWIStyleWalletManager.js.map +1 -1
  14. package/out/src/WalletPermissionsManager.d.ts +60 -1
  15. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  16. package/out/src/WalletPermissionsManager.js +222 -15
  17. package/out/src/WalletPermissionsManager.js.map +1 -1
  18. package/out/src/__tests/WalletPermissionsManager.initialization.test.js.map +1 -1
  19. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  20. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  21. package/out/src/sdk/CertOps.d.ts +66 -0
  22. package/out/src/sdk/CertOps.d.ts.map +1 -0
  23. package/out/src/sdk/CertOps.js +198 -0
  24. package/out/src/sdk/CertOps.js.map +1 -0
  25. package/out/src/sdk/StorageSyncReader.d.ts +121 -0
  26. package/out/src/sdk/StorageSyncReader.d.ts.map +1 -0
  27. package/out/src/sdk/StorageSyncReader.js +3 -0
  28. package/out/src/sdk/StorageSyncReader.js.map +1 -0
  29. package/out/src/sdk/StorageSyncReaderWriter.d.ts +89 -0
  30. package/out/src/sdk/StorageSyncReaderWriter.d.ts.map +1 -0
  31. package/out/src/sdk/StorageSyncReaderWriter.js +3 -0
  32. package/out/src/sdk/StorageSyncReaderWriter.js.map +1 -0
  33. package/out/src/services/__tests/ARC.test.d.ts +2 -0
  34. package/out/src/services/__tests/ARC.test.d.ts.map +1 -0
  35. package/out/src/services/__tests/ARC.test.js +104 -0
  36. package/out/src/services/__tests/ARC.test.js.map +1 -0
  37. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts +98 -0
  38. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.d.ts.map +1 -0
  39. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js +38 -0
  40. package/out/src/services/chaintracker/chaintracks/BlockHeaderApi.js.map +1 -0
  41. package/out/src/storage/methods/listActions.d.ts +5 -0
  42. package/out/src/storage/methods/listActions.d.ts.map +1 -0
  43. package/out/src/storage/methods/listActions.js +228 -0
  44. package/out/src/storage/methods/listActions.js.map +1 -0
  45. package/out/src/storage/methods/listOutputs.d.ts +5 -0
  46. package/out/src/storage/methods/listOutputs.d.ts.map +1 -0
  47. package/out/src/storage/methods/listOutputs.js +295 -0
  48. package/out/src/storage/methods/listOutputs.js.map +1 -0
  49. package/out/src/storage/schema/entities/Certificate.d.ts +43 -0
  50. package/out/src/storage/schema/entities/Certificate.d.ts.map +1 -0
  51. package/out/src/storage/schema/entities/Certificate.js +162 -0
  52. package/out/src/storage/schema/entities/Certificate.js.map +1 -0
  53. package/out/src/storage/schema/entities/CertificateField.d.ts +32 -0
  54. package/out/src/storage/schema/entities/CertificateField.d.ts.map +1 -0
  55. package/out/src/storage/schema/entities/CertificateField.js +114 -0
  56. package/out/src/storage/schema/entities/CertificateField.js.map +1 -0
  57. package/out/src/storage/schema/entities/Commission.d.ts +37 -0
  58. package/out/src/storage/schema/entities/Commission.d.ts.map +1 -0
  59. package/out/src/storage/schema/entities/Commission.js +130 -0
  60. package/out/src/storage/schema/entities/Commission.js.map +1 -0
  61. package/out/src/storage/schema/entities/Output.d.ts +67 -0
  62. package/out/src/storage/schema/entities/Output.d.ts.map +1 -0
  63. package/out/src/storage/schema/entities/Output.js +281 -0
  64. package/out/src/storage/schema/entities/Output.js.map +1 -0
  65. package/out/src/storage/schema/entities/OutputBasket.d.ts +35 -0
  66. package/out/src/storage/schema/entities/OutputBasket.d.ts.map +1 -0
  67. package/out/src/storage/schema/entities/OutputBasket.js +133 -0
  68. package/out/src/storage/schema/entities/OutputBasket.js.map +1 -0
  69. package/out/src/storage/schema/entities/OutputTag.d.ts +31 -0
  70. package/out/src/storage/schema/entities/OutputTag.d.ts.map +1 -0
  71. package/out/src/storage/schema/entities/OutputTag.js +104 -0
  72. package/out/src/storage/schema/entities/OutputTag.js.map +1 -0
  73. package/out/src/storage/schema/entities/OutputTagMap.d.ts +28 -0
  74. package/out/src/storage/schema/entities/OutputTagMap.d.ts.map +1 -0
  75. package/out/src/storage/schema/entities/OutputTagMap.js +101 -0
  76. package/out/src/storage/schema/entities/OutputTagMap.js.map +1 -0
  77. package/out/src/storage/schema/entities/ProvenTx.d.ts +84 -0
  78. package/out/src/storage/schema/entities/ProvenTx.d.ts.map +1 -0
  79. package/out/src/storage/schema/entities/ProvenTx.js +286 -0
  80. package/out/src/storage/schema/entities/ProvenTx.js.map +1 -0
  81. package/out/src/storage/schema/entities/ProvenTxReq.d.ts +135 -0
  82. package/out/src/storage/schema/entities/ProvenTxReq.d.ts.map +1 -0
  83. package/out/src/storage/schema/entities/ProvenTxReq.js +532 -0
  84. package/out/src/storage/schema/entities/ProvenTxReq.js.map +1 -0
  85. package/out/src/storage/schema/entities/SyncState.d.ts +66 -0
  86. package/out/src/storage/schema/entities/SyncState.d.ts.map +1 -0
  87. package/out/src/storage/schema/entities/SyncState.js +284 -0
  88. package/out/src/storage/schema/entities/SyncState.js.map +1 -0
  89. package/out/src/storage/schema/entities/Transaction.d.ts +67 -0
  90. package/out/src/storage/schema/entities/Transaction.d.ts.map +1 -0
  91. package/out/src/storage/schema/entities/Transaction.js +264 -0
  92. package/out/src/storage/schema/entities/Transaction.js.map +1 -0
  93. package/out/src/storage/schema/entities/TxLabel.d.ts +31 -0
  94. package/out/src/storage/schema/entities/TxLabel.d.ts.map +1 -0
  95. package/out/src/storage/schema/entities/TxLabel.js +104 -0
  96. package/out/src/storage/schema/entities/TxLabel.js.map +1 -0
  97. package/out/src/storage/schema/entities/TxLabelMap.d.ts +28 -0
  98. package/out/src/storage/schema/entities/TxLabelMap.d.ts.map +1 -0
  99. package/out/src/storage/schema/entities/TxLabelMap.js +103 -0
  100. package/out/src/storage/schema/entities/TxLabelMap.js.map +1 -0
  101. package/out/src/storage/schema/entities/User.d.ts +29 -0
  102. package/out/src/storage/schema/entities/User.d.ts.map +1 -0
  103. package/out/src/storage/schema/entities/User.js +100 -0
  104. package/out/src/storage/schema/entities/User.js.map +1 -0
  105. package/out/src/storage/schema/tables/Certificate.d.ts +20 -0
  106. package/out/src/storage/schema/tables/Certificate.d.ts.map +1 -0
  107. package/out/src/storage/schema/tables/Certificate.js +3 -0
  108. package/out/src/storage/schema/tables/Certificate.js.map +1 -0
  109. package/out/src/storage/schema/tables/CertificateField.d.ts +12 -0
  110. package/out/src/storage/schema/tables/CertificateField.d.ts.map +1 -0
  111. package/out/src/storage/schema/tables/CertificateField.js +3 -0
  112. package/out/src/storage/schema/tables/CertificateField.js.map +1 -0
  113. package/out/src/storage/schema/tables/Commission.d.ts +13 -0
  114. package/out/src/storage/schema/tables/Commission.d.ts.map +1 -0
  115. package/out/src/storage/schema/tables/Commission.js +3 -0
  116. package/out/src/storage/schema/tables/Commission.js.map +1 -0
  117. package/out/src/storage/schema/tables/MonitorEvent.d.ts +9 -0
  118. package/out/src/storage/schema/tables/MonitorEvent.d.ts.map +1 -0
  119. package/out/src/storage/schema/tables/MonitorEvent.js +3 -0
  120. package/out/src/storage/schema/tables/MonitorEvent.js.map +1 -0
  121. package/out/src/storage/schema/tables/Output.d.ts +36 -0
  122. package/out/src/storage/schema/tables/Output.d.ts.map +1 -0
  123. package/out/src/storage/schema/tables/Output.js +31 -0
  124. package/out/src/storage/schema/tables/Output.js.map +1 -0
  125. package/out/src/storage/schema/tables/OutputBasket.d.ts +12 -0
  126. package/out/src/storage/schema/tables/OutputBasket.d.ts.map +1 -0
  127. package/out/src/storage/schema/tables/OutputBasket.js +3 -0
  128. package/out/src/storage/schema/tables/OutputBasket.js.map +1 -0
  129. package/out/src/storage/schema/tables/OutputTag.d.ts +10 -0
  130. package/out/src/storage/schema/tables/OutputTag.d.ts.map +1 -0
  131. package/out/src/storage/schema/tables/OutputTag.js +3 -0
  132. package/out/src/storage/schema/tables/OutputTag.js.map +1 -0
  133. package/out/src/storage/schema/tables/OutputTagMap.d.ts +9 -0
  134. package/out/src/storage/schema/tables/OutputTagMap.d.ts.map +1 -0
  135. package/out/src/storage/schema/tables/OutputTagMap.js +3 -0
  136. package/out/src/storage/schema/tables/OutputTagMap.js.map +1 -0
  137. package/out/src/storage/schema/tables/ProvenTx.d.ts +14 -0
  138. package/out/src/storage/schema/tables/ProvenTx.d.ts.map +1 -0
  139. package/out/src/storage/schema/tables/ProvenTx.js +3 -0
  140. package/out/src/storage/schema/tables/ProvenTx.js.map +1 -0
  141. package/out/src/storage/schema/tables/ProvenTxReq.d.ts +64 -0
  142. package/out/src/storage/schema/tables/ProvenTxReq.d.ts.map +1 -0
  143. package/out/src/storage/schema/tables/ProvenTxReq.js +3 -0
  144. package/out/src/storage/schema/tables/ProvenTxReq.js.map +1 -0
  145. package/out/src/storage/schema/tables/SyncState.d.ts +18 -0
  146. package/out/src/storage/schema/tables/SyncState.d.ts.map +1 -0
  147. package/out/src/storage/schema/tables/SyncState.js +3 -0
  148. package/out/src/storage/schema/tables/SyncState.js.map +1 -0
  149. package/out/src/storage/schema/tables/Transaction.d.ts +37 -0
  150. package/out/src/storage/schema/tables/Transaction.d.ts.map +1 -0
  151. package/out/src/storage/schema/tables/Transaction.js +21 -0
  152. package/out/src/storage/schema/tables/Transaction.js.map +1 -0
  153. package/out/src/storage/schema/tables/TxLabel.d.ts +10 -0
  154. package/out/src/storage/schema/tables/TxLabel.d.ts.map +1 -0
  155. package/out/src/storage/schema/tables/TxLabel.js +3 -0
  156. package/out/src/storage/schema/tables/TxLabel.js.map +1 -0
  157. package/out/src/storage/schema/tables/TxLabelMap.d.ts +9 -0
  158. package/out/src/storage/schema/tables/TxLabelMap.d.ts.map +1 -0
  159. package/out/src/storage/schema/tables/TxLabelMap.js +3 -0
  160. package/out/src/storage/schema/tables/TxLabelMap.js.map +1 -0
  161. package/out/src/storage/schema/tables/User.d.ts +16 -0
  162. package/out/src/storage/schema/tables/User.d.ts.map +1 -0
  163. package/out/src/storage/schema/tables/User.js +3 -0
  164. package/out/src/storage/schema/tables/User.js.map +1 -0
  165. package/out/test/Wallet/action/abortAction.test.d.ts.map +1 -0
  166. package/out/test/{wallet → Wallet}/action/abortAction.test.js.map +1 -1
  167. package/out/test/Wallet/action/createAction.test.d.ts.map +1 -0
  168. package/out/test/{wallet → Wallet}/action/createAction.test.js.map +1 -1
  169. package/out/test/{wallet → Wallet}/action/createAction2.test.d.ts.map +1 -1
  170. package/out/test/{wallet → Wallet}/action/createAction2.test.js.map +1 -1
  171. package/out/test/Wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +1 -0
  172. package/out/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.js.map +1 -1
  173. package/out/test/Wallet/action/internalizeAction.test.d.ts.map +1 -0
  174. package/out/test/{wallet → Wallet}/action/internalizeAction.test.js.map +1 -1
  175. package/out/test/Wallet/action/relinquishOutput.test.d.ts.map +1 -0
  176. package/out/test/{wallet → Wallet}/action/relinquishOutput.test.js.map +1 -1
  177. package/out/test/Wallet/construct/Wallet.constructor.test.d.ts.map +1 -0
  178. package/out/test/{wallet → Wallet}/construct/Wallet.constructor.test.js.map +1 -1
  179. package/out/test/Wallet/list/listActions.test.d.ts.map +1 -0
  180. package/out/test/{wallet → Wallet}/list/listActions.test.js.map +1 -1
  181. package/out/test/Wallet/list/listActions2.test.d.ts.map +1 -0
  182. package/out/test/{wallet → Wallet}/list/listActions2.test.js.map +1 -1
  183. package/out/test/Wallet/list/listCertificates.test.d.ts.map +1 -0
  184. package/out/test/{wallet → Wallet}/list/listCertificates.test.js.map +1 -1
  185. package/out/test/Wallet/list/listOutputs.test.d.ts.map +1 -0
  186. package/out/test/{wallet → Wallet}/list/listOutputs.test.js.map +1 -1
  187. package/out/test/Wallet/local/localWalletMethods.d.ts +28 -0
  188. package/out/test/Wallet/local/localWalletMethods.d.ts.map +1 -0
  189. package/out/test/Wallet/local/localWalletMethods.js +281 -0
  190. package/out/test/Wallet/local/localWalletMethods.js.map +1 -0
  191. package/out/test/Wallet/support/opers1.man.test.d.ts +2 -0
  192. package/out/test/Wallet/support/opers1.man.test.d.ts.map +1 -0
  193. package/out/test/Wallet/support/opers1.man.test.js +202 -0
  194. package/out/test/Wallet/support/opers1.man.test.js.map +1 -0
  195. package/out/test/Wallet/sync/Wallet.sync.test.d.ts.map +1 -0
  196. package/out/test/{wallet → Wallet}/sync/Wallet.sync.test.js.map +1 -1
  197. package/out/tsconfig.all.tsbuildinfo +1 -1
  198. package/package.json +1 -1
  199. package/src/CWIStyleWalletManager.ts +1 -1
  200. package/src/WalletPermissionsManager.ts +317 -26
  201. package/src/__tests/WalletPermissionsManager.initialization.test.ts +1 -1
  202. package/src/monitor/tasks/TaskCheckNoSends.ts +0 -1
  203. package/src/monitor/tasks/TaskNewHeader.ts +1 -1
  204. package/out/test/wallet/action/abortAction.test.d.ts.map +0 -1
  205. package/out/test/wallet/action/createAction.test.d.ts.map +0 -1
  206. package/out/test/wallet/action/createActionToGenerateBeefs.man.test.d.ts.map +0 -1
  207. package/out/test/wallet/action/internalizeAction.test.d.ts.map +0 -1
  208. package/out/test/wallet/action/relinquishOutput.test.d.ts.map +0 -1
  209. package/out/test/wallet/construct/Wallet.constructor.test.d.ts.map +0 -1
  210. package/out/test/wallet/list/listActions.test.d.ts.map +0 -1
  211. package/out/test/wallet/list/listActions2.test.d.ts.map +0 -1
  212. package/out/test/wallet/list/listCertificates.test.d.ts.map +0 -1
  213. package/out/test/wallet/list/listOutputs.test.d.ts.map +0 -1
  214. package/out/test/wallet/sync/Wallet.sync.test.d.ts.map +0 -1
  215. /package/out/test/{wallet → Wallet}/action/abortAction.test.d.ts +0 -0
  216. /package/out/test/{wallet → Wallet}/action/abortAction.test.js +0 -0
  217. /package/out/test/{wallet → Wallet}/action/createAction.test.d.ts +0 -0
  218. /package/out/test/{wallet → Wallet}/action/createAction.test.js +0 -0
  219. /package/out/test/{wallet → Wallet}/action/createAction2.test.d.ts +0 -0
  220. /package/out/test/{wallet → Wallet}/action/createAction2.test.js +0 -0
  221. /package/out/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.d.ts +0 -0
  222. /package/out/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.js +0 -0
  223. /package/out/test/{wallet → Wallet}/action/internalizeAction.test.d.ts +0 -0
  224. /package/out/test/{wallet → Wallet}/action/internalizeAction.test.js +0 -0
  225. /package/out/test/{wallet → Wallet}/action/relinquishOutput.test.d.ts +0 -0
  226. /package/out/test/{wallet → Wallet}/action/relinquishOutput.test.js +0 -0
  227. /package/out/test/{wallet → Wallet}/construct/Wallet.constructor.test.d.ts +0 -0
  228. /package/out/test/{wallet → Wallet}/construct/Wallet.constructor.test.js +0 -0
  229. /package/out/test/{wallet → Wallet}/list/listActions.test.d.ts +0 -0
  230. /package/out/test/{wallet → Wallet}/list/listActions.test.js +0 -0
  231. /package/out/test/{wallet → Wallet}/list/listActions2.test.d.ts +0 -0
  232. /package/out/test/{wallet → Wallet}/list/listActions2.test.js +0 -0
  233. /package/out/test/{wallet → Wallet}/list/listCertificates.test.d.ts +0 -0
  234. /package/out/test/{wallet → Wallet}/list/listCertificates.test.js +0 -0
  235. /package/out/test/{wallet → Wallet}/list/listOutputs.test.d.ts +0 -0
  236. /package/out/test/{wallet → Wallet}/list/listOutputs.test.js +0 -0
  237. /package/out/test/{wallet → Wallet}/sync/Wallet.sync.test.d.ts +0 -0
  238. /package/out/test/{wallet → Wallet}/sync/Wallet.sync.test.js +0 -0
  239. /package/test/{wallet → Wallet}/action/abortAction.test.ts +0 -0
  240. /package/test/{wallet → Wallet}/action/createAction.test.ts +0 -0
  241. /package/test/{wallet → Wallet}/action/createAction2.test.ts +0 -0
  242. /package/test/{wallet → Wallet}/action/createActionToGenerateBeefs.man.test.ts +0 -0
  243. /package/test/{wallet → Wallet}/action/internalizeAction.test.ts +0 -0
  244. /package/test/{wallet → Wallet}/action/relinquishOutput.test.ts +0 -0
  245. /package/test/{wallet → Wallet}/construct/Wallet.constructor.test.ts +0 -0
  246. /package/test/{wallet → Wallet}/list/listActions.test.ts +0 -0
  247. /package/test/{wallet → Wallet}/list/listActions2.test.ts +0 -0
  248. /package/test/{wallet → Wallet}/list/listCertificates.test.ts +0 -0
  249. /package/test/{wallet → Wallet}/list/listOutputs.test.ts +0 -0
  250. /package/test/{wallet → Wallet}/sync/Wallet.sync.test.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CertOps.js","sourceRoot":"","sources":["../../../src/sdk/CertOps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ import { sdk, TableCertificate, TableCertificateField, TableCertificateX, TableCommission, TableOutput, TableOutputBasket, TableOutputTag, TableOutputTagMap, TableProvenTx, TableProvenTxReq, TableSettings, TableSyncState, TableTransaction, TableTxLabel, TableTxLabelMap, TableUser } from '../index.client';
2
+ /**
3
+ * This is the minimal interface required for a WalletStorageProvider to export data to another provider.
4
+ */
5
+ export interface StorageSyncReader {
6
+ isAvailable(): boolean;
7
+ makeAvailable(): Promise<TableSettings>;
8
+ destroy(): Promise<void>;
9
+ getSettings(): TableSettings;
10
+ findUserByIdentityKey(key: string): Promise<TableUser | undefined>;
11
+ findSyncStates(args: sdk.FindSyncStatesArgs): Promise<TableSyncState[]>;
12
+ findCertificateFields(args: sdk.FindCertificateFieldsArgs): Promise<TableCertificateField[]>;
13
+ findCertificates(args: sdk.FindCertificatesArgs): Promise<TableCertificateX[]>;
14
+ findCommissions(args: sdk.FindCommissionsArgs): Promise<TableCommission[]>;
15
+ findOutputBaskets(args: sdk.FindOutputBasketsArgs): Promise<TableOutputBasket[]>;
16
+ findOutputs(args: sdk.FindOutputsArgs): Promise<TableOutput[]>;
17
+ findOutputTags(args: sdk.FindOutputTagsArgs): Promise<TableOutputTag[]>;
18
+ findTransactions(args: sdk.FindTransactionsArgs): Promise<TableTransaction[]>;
19
+ findTxLabels(args: sdk.FindTxLabelsArgs): Promise<TableTxLabel[]>;
20
+ getProvenTxsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableProvenTx[]>;
21
+ getProvenTxReqsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableProvenTxReq[]>;
22
+ getTxLabelMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableTxLabelMap[]>;
23
+ getOutputTagMapsForUser(args: sdk.FindForUserSincePagedArgs): Promise<TableOutputTagMap[]>;
24
+ getSyncChunk(args: RequestSyncChunkArgs): Promise<SyncChunk>;
25
+ }
26
+ /**
27
+ * success: Last sync of this user from this storage was successful.
28
+ *
29
+ * error: Last sync protocol operation for this user to this storage threw and error.
30
+ *
31
+ * identified: Configured sync storage has been identified but not sync'ed.
32
+ *
33
+ * unknown: Sync protocol state is unknown.
34
+ */
35
+ export type SyncStatus = 'success' | 'error' | 'identified' | 'updated' | 'unknown';
36
+ export type SyncProtocolVersion = '0.1.0';
37
+ export interface RequestSyncChunkArgs {
38
+ /**
39
+ * The storageIdentityKey of the storage supplying the update SyncChunk data.
40
+ */
41
+ fromStorageIdentityKey: string;
42
+ /**
43
+ * The storageIdentityKey of the storage consuming the update SyncChunk data.
44
+ */
45
+ toStorageIdentityKey: string;
46
+ /**
47
+ * The identity of whose data is being requested
48
+ */
49
+ identityKey: string;
50
+ /**
51
+ * The max updated_at time received from the storage service receiving the request.
52
+ * Will be undefiend if this is the first request or if no data was previously sync'ed.
53
+ *
54
+ * `since` must include items if 'updated_at' is greater or equal. Thus, when not undefined, a sync request should always return at least one item already seen.
55
+ */
56
+ since?: Date;
57
+ /**
58
+ * A rough limit on how large the response should be.
59
+ * The item that exceeds the limit is included and ends adding more items.
60
+ */
61
+ maxRoughSize: number;
62
+ /**
63
+ * The maximum number of items (records) to be returned.
64
+ */
65
+ maxItems: number;
66
+ /**
67
+ * For each entity in dependency order, the offset at which to start returning items
68
+ * from `since`.
69
+ *
70
+ * The entity order is:
71
+ * 0 ProvenTxs
72
+ * 1 ProvenTxReqs
73
+ * 2 OutputBaskets
74
+ * 3 TxLabels
75
+ * 4 OutputTags
76
+ * 5 Transactions
77
+ * 6 TxLabelMaps
78
+ * 7 Commissions
79
+ * 8 Outputs
80
+ * 9 OutputTagMaps
81
+ * 10 Certificates
82
+ * 11 CertificateFields
83
+ */
84
+ offsets: {
85
+ name: string;
86
+ offset: number;
87
+ }[];
88
+ }
89
+ /**
90
+ * Result received from remote `WalletStorage` in response to a `RequestSyncChunkArgs` request.
91
+ *
92
+ * Each property is undefined if there was no attempt to update it. Typically this is caused by size and count limits on this result.
93
+ *
94
+ * If all properties are empty arrays the sync process has received all available new and updated items.
95
+ */
96
+ export interface SyncChunk {
97
+ fromStorageIdentityKey: string;
98
+ toStorageIdentityKey: string;
99
+ userIdentityKey: string;
100
+ user?: TableUser;
101
+ provenTxs?: TableProvenTx[];
102
+ provenTxReqs?: TableProvenTxReq[];
103
+ outputBaskets?: TableOutputBasket[];
104
+ txLabels?: TableTxLabel[];
105
+ outputTags?: TableOutputTag[];
106
+ transactions?: TableTransaction[];
107
+ txLabelMaps?: TableTxLabelMap[];
108
+ commissions?: TableCommission[];
109
+ outputs?: TableOutput[];
110
+ outputTagMaps?: TableOutputTagMap[];
111
+ certificates?: TableCertificate[];
112
+ certificateFields?: TableCertificateField[];
113
+ }
114
+ export interface ProcessSyncChunkResult {
115
+ done: boolean;
116
+ maxUpdated_at: Date | undefined;
117
+ updates: number;
118
+ inserts: number;
119
+ error?: sdk.WalletError;
120
+ }
121
+ //# sourceMappingURL=StorageSyncReader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageSyncReader.d.ts","sourceRoot":"","sources":["../../../src/sdk/StorageSyncReader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=StorageSyncReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageSyncReader.js","sourceRoot":"","sources":["../../../src/sdk/StorageSyncReader.ts"],"names":[],"mappings":""}
@@ -0,0 +1,89 @@
1
+ import { sdk, TableCertificate, TableCertificateField, TableCommission, TableOutput, TableOutputBasket, TableOutputTag, TableOutputTagMap, TableProvenTx, TableProvenTxReq, TableProvenTxReqDynamics, TableSyncState, TableTransaction, TableTxLabel, TableTxLabelMap, TableUser } from '../index.client';
2
+ /**
3
+ * This is the minimal interface required for a WalletStorageProvider to import and export data to another provider.
4
+ */
5
+ export interface StorageSyncReaderWriter extends sdk.StorageSyncReader {
6
+ getProvenOrRawTx(txid: string, trx?: sdk.TrxToken): Promise<sdk.ProvenOrRawTx>;
7
+ purgeData(params: sdk.PurgeParams, trx?: sdk.TrxToken): Promise<sdk.PurgeResults>;
8
+ transaction<T>(scope: (trx: sdk.TrxToken) => Promise<T>, trx?: sdk.TrxToken): Promise<T>;
9
+ findOutputTagMaps(args: sdk.FindOutputTagMapsArgs): Promise<TableOutputTagMap[]>;
10
+ findProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<TableProvenTxReq[]>;
11
+ findProvenTxs(args: sdk.FindProvenTxsArgs): Promise<TableProvenTx[]>;
12
+ findTxLabelMaps(args: sdk.FindTxLabelMapsArgs): Promise<TableTxLabelMap[]>;
13
+ countOutputTagMaps(args: sdk.FindOutputTagMapsArgs): Promise<number>;
14
+ countProvenTxReqs(args: sdk.FindProvenTxReqsArgs): Promise<number>;
15
+ countProvenTxs(args: sdk.FindProvenTxsArgs): Promise<number>;
16
+ countTxLabelMaps(args: sdk.FindTxLabelMapsArgs): Promise<number>;
17
+ insertProvenTx(tx: TableProvenTx, trx?: sdk.TrxToken): Promise<number>;
18
+ insertProvenTxReq(tx: TableProvenTxReq, trx?: sdk.TrxToken): Promise<number>;
19
+ insertUser(user: TableUser, trx?: sdk.TrxToken): Promise<number>;
20
+ insertCertificate(certificate: TableCertificate, trx?: sdk.TrxToken): Promise<number>;
21
+ insertCertificateField(certificateField: TableCertificateField, trx?: sdk.TrxToken): Promise<void>;
22
+ insertOutputBasket(basket: TableOutputBasket, trx?: sdk.TrxToken): Promise<number>;
23
+ insertTransaction(tx: TableTransaction, trx?: sdk.TrxToken): Promise<number>;
24
+ insertCommission(commission: TableCommission, trx?: sdk.TrxToken): Promise<number>;
25
+ insertOutput(output: TableOutput, trx?: sdk.TrxToken): Promise<number>;
26
+ insertOutputTag(tag: TableOutputTag, trx?: sdk.TrxToken): Promise<number>;
27
+ insertOutputTagMap(tagMap: TableOutputTagMap, trx?: sdk.TrxToken): Promise<void>;
28
+ insertTxLabel(label: TableTxLabel, trx?: sdk.TrxToken): Promise<number>;
29
+ insertTxLabelMap(labelMap: TableTxLabelMap, trx?: sdk.TrxToken): Promise<void>;
30
+ insertSyncState(syncState: TableSyncState, trx?: sdk.TrxToken): Promise<number>;
31
+ updateCertificateField(certificateId: number, fieldName: string, update: Partial<TableCertificateField>, trx?: sdk.TrxToken): Promise<number>;
32
+ updateCertificate(id: number, update: Partial<TableCertificate>, trx?: sdk.TrxToken): Promise<number>;
33
+ updateCommission(id: number, update: Partial<TableCommission>, trx?: sdk.TrxToken): Promise<number>;
34
+ updateOutputBasket(id: number, update: Partial<TableOutputBasket>, trx?: sdk.TrxToken): Promise<number>;
35
+ updateOutput(id: number, update: Partial<TableOutput>, trx?: sdk.TrxToken): Promise<number>;
36
+ updateOutputTagMap(outputId: number, tagId: number, update: Partial<TableOutputTagMap>, trx?: sdk.TrxToken): Promise<number>;
37
+ updateOutputTag(id: number, update: Partial<TableOutputTag>, trx?: sdk.TrxToken): Promise<number>;
38
+ updateProvenTxReq(id: number | number[], update: Partial<TableProvenTxReq>, trx?: sdk.TrxToken): Promise<number>;
39
+ updateProvenTxReqDynamics(id: number, update: Partial<TableProvenTxReqDynamics>, trx?: sdk.TrxToken): Promise<number>;
40
+ updateProvenTxReqWithNewProvenTx(args: sdk.UpdateProvenTxReqWithNewProvenTxArgs): Promise<sdk.UpdateProvenTxReqWithNewProvenTxResult>;
41
+ updateProvenTx(id: number, update: Partial<TableProvenTx>, trx?: sdk.TrxToken): Promise<number>;
42
+ updateSyncState(id: number, update: Partial<TableSyncState>, trx?: sdk.TrxToken): Promise<number>;
43
+ updateTransaction(id: number | number[], update: Partial<TableTransaction>, trx?: sdk.TrxToken): Promise<number>;
44
+ updateTransactionStatus(status: sdk.TransactionStatus, transactionId?: number, userId?: number, reference?: string, trx?: sdk.TrxToken): Promise<void>;
45
+ updateTransactionsStatus(transactionIds: number[], status: sdk.TransactionStatus): Promise<void>;
46
+ updateTxLabelMap(transactionId: number, txLabelId: number, update: Partial<TableTxLabelMap>, trx?: sdk.TrxToken): Promise<number>;
47
+ updateTxLabel(id: number, update: Partial<TableTxLabel>, trx?: sdk.TrxToken): Promise<number>;
48
+ updateUser(id: number, update: Partial<TableUser>, trx?: sdk.TrxToken): Promise<number>;
49
+ findCertificateById(id: number, trx?: sdk.TrxToken): Promise<TableCertificate | undefined>;
50
+ findCommissionById(id: number, trx?: sdk.TrxToken): Promise<TableCommission | undefined>;
51
+ findOutputById(id: number, trx?: sdk.TrxToken, noScript?: boolean): Promise<TableOutput | undefined>;
52
+ findOutputBasketById(id: number, trx?: sdk.TrxToken): Promise<TableOutputBasket | undefined>;
53
+ findProvenTxById(id: number, trx?: sdk.TrxToken | undefined): Promise<TableProvenTx | undefined>;
54
+ findProvenTxReqById(id: number, trx?: sdk.TrxToken | undefined): Promise<TableProvenTxReq | undefined>;
55
+ findSyncStateById(id: number, trx?: sdk.TrxToken): Promise<TableSyncState | undefined>;
56
+ findTransactionById(id: number, trx?: sdk.TrxToken, noRawTx?: boolean): Promise<TableTransaction | undefined>;
57
+ findTxLabelById(id: number, trx?: sdk.TrxToken): Promise<TableTxLabel | undefined>;
58
+ findOutputTagById(id: number, trx?: sdk.TrxToken): Promise<TableOutputTag | undefined>;
59
+ findUserById(id: number, trx?: sdk.TrxToken): Promise<TableUser | undefined>;
60
+ findOrInsertUser(identityKey: string, trx?: sdk.TrxToken): Promise<{
61
+ user: TableUser;
62
+ isNew: boolean;
63
+ }>;
64
+ findOrInsertTransaction(newTx: TableTransaction, trx?: sdk.TrxToken): Promise<{
65
+ tx: TableTransaction;
66
+ isNew: boolean;
67
+ }>;
68
+ findOrInsertOutputBasket(userId: number, name: string, trx?: sdk.TrxToken): Promise<TableOutputBasket>;
69
+ findOrInsertTxLabel(userId: number, label: string, trx?: sdk.TrxToken): Promise<TableTxLabel>;
70
+ findOrInsertTxLabelMap(transactionId: number, txLabelId: number, trx?: sdk.TrxToken): Promise<TableTxLabelMap>;
71
+ findOrInsertOutputTag(userId: number, tag: string, trx?: sdk.TrxToken): Promise<TableOutputTag>;
72
+ findOrInsertOutputTagMap(outputId: number, outputTagId: number, trx?: sdk.TrxToken): Promise<TableOutputTagMap>;
73
+ findOrInsertSyncStateAuth(auth: sdk.AuthId, storageIdentityKey: string, storageName: string): Promise<{
74
+ syncState: TableSyncState;
75
+ isNew: boolean;
76
+ }>;
77
+ findOrInsertProvenTxReq(newReq: TableProvenTxReq, trx?: sdk.TrxToken): Promise<{
78
+ req: TableProvenTxReq;
79
+ isNew: boolean;
80
+ }>;
81
+ findOrInsertProvenTx(newProven: TableProvenTx, trx?: sdk.TrxToken): Promise<{
82
+ proven: TableProvenTx;
83
+ isNew: boolean;
84
+ }>;
85
+ findUsers(args: sdk.FindUsersArgs): Promise<TableUser[]>;
86
+ tagOutput(partial: Partial<TableOutput>, tag: string, trx?: sdk.TrxToken): Promise<void>;
87
+ processSyncChunk(args: sdk.RequestSyncChunkArgs, chunk: sdk.SyncChunk): Promise<sdk.ProcessSyncChunkResult>;
88
+ }
89
+ //# sourceMappingURL=StorageSyncReaderWriter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageSyncReaderWriter.d.ts","sourceRoot":"","sources":["../../../src/sdk/StorageSyncReaderWriter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=StorageSyncReaderWriter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageSyncReaderWriter.js","sourceRoot":"","sources":["../../../src/sdk/StorageSyncReaderWriter.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ARC.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ARC.test.d.ts","sourceRoot":"","sources":["../../../../src/services/__tests/ARC.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const TestUtilsWalletStorage_1 = require("../../../test/utils/TestUtilsWalletStorage");
4
+ const index_client_1 = require("../../index.client");
5
+ const ARC_1 = require("../providers/ARC");
6
+ const sdk_1 = require("@bsv/sdk");
7
+ const createDefaultWalletServicesOptions_1 = require("../createDefaultWalletServicesOptions");
8
+ const index_all_1 = require("../../index.all");
9
+ describe('ARC tests', () => {
10
+ jest.setTimeout(99999999);
11
+ const envTest = TestUtilsWalletStorage_1._tu.getEnv('test');
12
+ const arcTest = new ARC_1.ARC((0, createDefaultWalletServicesOptions_1.arcDefaultUrl)(envTest.chain), {
13
+ apiKey: envTest.taalApiKey
14
+ });
15
+ const envMain = TestUtilsWalletStorage_1._tu.getEnv('main');
16
+ const arcMain = new ARC_1.ARC((0, createDefaultWalletServicesOptions_1.arcDefaultUrl)(envMain.chain), {
17
+ apiKey: envMain.taalApiKey
18
+ });
19
+ test.skip('0 double spend', async () => {
20
+ const arc = arcTest;
21
+ const beef = sdk_1.Beef.fromString(testnetDoubleSpendBeef);
22
+ const txids = [beef.txs.slice(-1)[0].txid];
23
+ const r = await arc.postBeef(beef, txids);
24
+ expect(r.status === 'error').toBe(true);
25
+ expect(r.txidResults[0].doubleSpend).toBe(true);
26
+ });
27
+ test.skip('7 postRawTx testnet', async () => {
28
+ await postRawTxTest('test', arcTest);
29
+ });
30
+ test.skip('8 postRawTx mainnet', async () => {
31
+ await postRawTxTest('main', arcMain);
32
+ });
33
+ test.skip('9 postBeef testnet', async () => {
34
+ const r = await postBeefTest('test', arcTest);
35
+ console.log(`9 postBeef testnet done ${r}`);
36
+ });
37
+ test.skip('10 postBeef mainnet', async () => {
38
+ const r = await postBeefTest('main', arcMain);
39
+ console.log(`10 postBeef mainnet done ${r}`);
40
+ });
41
+ });
42
+ async function postBeefTest(chain, arc) {
43
+ if (index_all_1.Setup.noEnv(chain))
44
+ return 'skipped';
45
+ const c = await TestUtilsWalletStorage_1._tu.createNoSendTxPair(chain);
46
+ const txids = [c.txidDo, c.txidUndo];
47
+ const r = await arc.postBeef(c.beef, txids);
48
+ expect(r.status).toBe('success');
49
+ for (const txid of txids) {
50
+ const tr = r.txidResults.find(tx => tx.txid === txid);
51
+ expect(tr).not.toBeUndefined();
52
+ expect(tr.status).toBe('success');
53
+ }
54
+ // replace Undo transaction with double spend transaction and send again.
55
+ const beef2 = c.beef.clone();
56
+ beef2.txs[beef2.txs.length - 1] = sdk_1.BeefTx.fromTx(c.doubleSpendTx);
57
+ const txids2 = [c.txidDo, c.doubleSpendTx.id('hex')];
58
+ const r2 = await arc.postBeef(beef2, txids2);
59
+ expect(r2.status).toBe('error');
60
+ for (const txid of txids2) {
61
+ const tr = r2.txidResults.find(tx => tx.txid === txid);
62
+ expect(tr).not.toBeUndefined();
63
+ if (txid === c.txidDo) {
64
+ expect(tr.status).toBe('success');
65
+ }
66
+ else {
67
+ expect(tr.status).toBe('error');
68
+ expect(tr.doubleSpend).toBe(true);
69
+ expect(tr.competingTxs).toEqual([c.txidUndo]);
70
+ }
71
+ }
72
+ return 'passed';
73
+ }
74
+ async function postRawTxTest(chain, arc) {
75
+ if (index_all_1.Setup.noEnv(chain))
76
+ return;
77
+ const c = await TestUtilsWalletStorage_1._tu.createNoSendTxPair(chain);
78
+ const rawTxDo = c.beef.findTxid(c.txidDo).tx.toHex();
79
+ const rawTxUndo = c.beef.findTxid(c.txidUndo).tx.toHex();
80
+ const rDo = await arc.postRawTx(rawTxDo);
81
+ expect(rDo.status).toBe('success');
82
+ expect(rDo.txid).toBe(c.txidDo);
83
+ await (0, index_client_1.wait)(1000);
84
+ const rUndo = await arc.postRawTx(rawTxUndo);
85
+ expect(rUndo.status).toBe('success');
86
+ expect(rUndo.txid).toBe(c.txidUndo);
87
+ expect(rUndo.doubleSpend).not.toBe(true);
88
+ await (0, index_client_1.wait)(1000);
89
+ {
90
+ // Send same transaction again...
91
+ const rUndo = await arc.postRawTx(rawTxUndo);
92
+ expect(rUndo.status).toBe('success');
93
+ expect(rUndo.txid).toBe(c.txidUndo);
94
+ expect(rUndo.doubleSpend).not.toBe(true);
95
+ }
96
+ await (0, index_client_1.wait)(1000);
97
+ // Confirm double spend detection.
98
+ const rDouble = await arc.postRawTx(c.doubleSpendTx.toHex());
99
+ expect(rDouble.status).toBe('error');
100
+ expect(rDouble.doubleSpend).toBe(true);
101
+ expect(rDouble.competingTxs[0]).toBe(c.txidUndo);
102
+ }
103
+ const testnetDoubleSpendBeef = '0100beef01fe65631900020200009df812619ae232d2363d91516ab3e811211192933526bbc2aee71b54ccb236d10102462876eec65d9aa26d957421c5cc8dd9119b61177242b9dd814fb190fd0a361801010076a3297928f6841bcb656e91225540e87c65f67d8ec12bc768d7656eb7561b3d02010000000159617a9d17562f7c9765e5dfa6a9a393aa2809ca6166a3d7a31c09efcc5070141f0000006a47304402200a528145a67ba1879b88a093cb711f79f04413a81d5678f314302e36a7f59e43022010bc4bb3c2574052c50bbdc8a05c31fb39e69280656b34f5dc22e2ceadc3bb4a412102fd4200bf389d16479b3d06f97fee0752f2c3b9dc29fb3ddce2b327d851b8902bffffffff0204000000000000001976a9140df1a69c834bb7d9bb5b2b7d6a34e5a401db3e1688ac01000000000000001976a91423f2562a8092ed24eddc77c74387b44c561692a188ac0000000001000100000001462876eec65d9aa26d957421c5cc8dd9119b61177242b9dd814fb190fd0a3618000000006a47304402204183bbfdcf11d50907b91f5e70ea8f81228501ce84e24af75c8d984682d094dc022029caa8f7e5acb4990bbeafee523a3c4a99b78e98b9e5c41349147b099679d4ae412103b76389eea6494c2c30443cba9d59b9dba05fb04e467bc94272629615b87a429fffffffff0202000000000000001976a91476d851e59fcb4ee0ebe6947496db3a393b08e49c88ac01000000000000001976a91423f2562a8092ed24eddc77c74387b44c561692a188ac0000000000';
104
+ //# sourceMappingURL=ARC.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ARC.test.js","sourceRoot":"","sources":["../../../../src/services/__tests/ARC.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * These are fields of 80 byte serialized header in order whose double sha256 hash is a block's hash value
3
+ * and the next block's previousHash value.
4
+ *
5
+ * All block hash values and merkleRoot values are 32 byte hex string values with the byte order reversed from the serialized byte order.
6
+ */
7
+ export interface BaseBlockHeader {
8
+ /**
9
+ * Block header version value. Serialized length is 4 bytes.
10
+ */
11
+ version: number;
12
+ /**
13
+ * Hash of previous block's block header. Serialized length is 32 bytes.
14
+ */
15
+ previousHash: string;
16
+ /**
17
+ * Root hash of the merkle tree of all transactions in this block. Serialized length is 32 bytes.
18
+ */
19
+ merkleRoot: string;
20
+ /**
21
+ * Block header time value. Serialized length is 4 bytes.
22
+ */
23
+ time: number;
24
+ /**
25
+ * Block header bits value. Serialized length is 4 bytes.
26
+ */
27
+ bits: number;
28
+ /**
29
+ * Block header nonce value. Serialized length is 4 bytes.
30
+ */
31
+ nonce: number;
32
+ }
33
+ /**
34
+ * A `BaseBlockHeader` extended with its computed hash and height in its chain.
35
+ */
36
+ export interface BlockHeader extends BaseBlockHeader {
37
+ /**
38
+ * Height of the header, starting from zero.
39
+ */
40
+ height: number;
41
+ /**
42
+ * The double sha256 hash of the serialized `BaseBlockHeader` fields.
43
+ */
44
+ hash: string;
45
+ }
46
+ /**
47
+ * The "live" portion of the block chain is recent history that can conceivably be subject to reorganizations.
48
+ * The additional fields support tracking orphan blocks, chain forks, and chain reorgs.
49
+ */
50
+ export interface LiveBlockHeader extends BlockHeader {
51
+ /**
52
+ * The cummulative chainwork achieved by the addition of this block to the chain.
53
+ * Chainwork only matters in selecting the active chain.
54
+ */
55
+ chainWork: string;
56
+ /**
57
+ * True only if this header is currently a chain tip. e.g. There is no header that follows it by previousHash or previousHeaderId.
58
+ */
59
+ isChainTip: boolean;
60
+ /**
61
+ * True only if this header is currently on the active chain.
62
+ */
63
+ isActive: boolean;
64
+ /**
65
+ * As there may be more than one header with identical height values due to orphan tracking,
66
+ * headers are assigned a unique headerId while part of the "live" portion of the block chain.
67
+ */
68
+ headerId: number;
69
+ /**
70
+ * Every header in the "live" portion of the block chain is linked to an ancestor header through
71
+ * both its previousHash and previousHeaderId properties.
72
+ *
73
+ * Due to forks, there may be multiple headers with identical `previousHash` and `previousHeaderId` values.
74
+ * Of these, only one (the header on the active chain) will have `isActive` === true.
75
+ */
76
+ previousHeaderId: number | null;
77
+ }
78
+ /**
79
+ * Type guard function.
80
+ * @publicbody
81
+ */
82
+ export declare function isLive(header: BlockHeader | LiveBlockHeader): header is LiveBlockHeader;
83
+ /**
84
+ * Type guard function.
85
+ * @publicbody
86
+ */
87
+ export declare function isBaseBlockHeader(header: BaseBlockHeader | BlockHeader | LiveBlockHeader): header is BaseBlockHeader;
88
+ /**
89
+ * Type guard function.
90
+ * @publicbody
91
+ */
92
+ export declare function isBlockHeader(header: BaseBlockHeader | BlockHeader | LiveBlockHeader): header is LiveBlockHeader;
93
+ /**
94
+ * Type guard function.
95
+ * @publicbody
96
+ */
97
+ export declare function isLiveBlockHeader(header: BaseBlockHeader | BlockHeader | LiveBlockHeader): header is LiveBlockHeader;
98
+ //# sourceMappingURL=BlockHeaderApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockHeaderApi.d.ts","sourceRoot":"","sources":["../../../../../src/services/chaintracker/chaintracks/BlockHeaderApi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;;;OAMG;IACH,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAMD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,MAAM,IAAI,eAAe,CAEvF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,GAAG,eAAe,GAAG,MAAM,IAAI,eAAe,CAEpH;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,GAAG,eAAe,GAAG,MAAM,IAAI,eAAe,CAEhH;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,GAAG,eAAe,GAAG,MAAM,IAAI,eAAe,CAEpH"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isLive = isLive;
4
+ exports.isBaseBlockHeader = isBaseBlockHeader;
5
+ exports.isBlockHeader = isBlockHeader;
6
+ exports.isLiveBlockHeader = isLiveBlockHeader;
7
+ //
8
+ // TYPE GUARDS
9
+ //
10
+ /**
11
+ * Type guard function.
12
+ * @publicbody
13
+ */
14
+ function isLive(header) {
15
+ return header.headerId !== undefined;
16
+ }
17
+ /**
18
+ * Type guard function.
19
+ * @publicbody
20
+ */
21
+ function isBaseBlockHeader(header) {
22
+ return typeof header.previousHash === 'string';
23
+ }
24
+ /**
25
+ * Type guard function.
26
+ * @publicbody
27
+ */
28
+ function isBlockHeader(header) {
29
+ return 'height' in header && typeof header.previousHash === 'string';
30
+ }
31
+ /**
32
+ * Type guard function.
33
+ * @publicbody
34
+ */
35
+ function isLiveBlockHeader(header) {
36
+ return 'chainwork' in header && typeof header.previousHash === 'string';
37
+ }
38
+ //# sourceMappingURL=BlockHeaderApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockHeaderApi.js","sourceRoot":"","sources":["../../../../../src/services/chaintracker/chaintracks/BlockHeaderApi.ts"],"names":[],"mappings":";;AAwFA,wBAEC;AAMD,8CAEC;AAMD,sCAEC;AAMD,8CAEC;AAlCD,EAAE;AACF,cAAc;AACd,EAAE;AAEF;;;GAGG;AACH,SAAgB,MAAM,CAAC,MAAqC;IAC1D,OAAQ,MAA0B,CAAC,QAAQ,KAAK,SAAS,CAAA;AAC3D,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,MAAuD;IACvF,OAAO,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAA;AAChD,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,MAAuD;IACnF,OAAO,QAAQ,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAA;AACtE,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,MAAuD;IACvF,OAAO,WAAW,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAA;AACzE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { ListActionsResult } from '@bsv/sdk';
2
+ import { sdk } from '../../index.client';
3
+ import { StorageKnex } from '../StorageKnex';
4
+ export declare function listActions(storage: StorageKnex, auth: sdk.AuthId, vargs: sdk.ValidListActionsArgs): Promise<ListActionsResult>;
5
+ //# sourceMappingURL=listActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listActions.d.ts","sourceRoot":"","sources":["../../../../src/storage/methods/listActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,iBAAiB,EAIlB,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAY,GAAG,EAAa,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAkE5C,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,GAAG,CAAC,MAAM,EAChB,KAAK,EAAE,GAAG,CAAC,oBAAoB,GAC9B,OAAO,CAAC,iBAAiB,CAAC,CA0M5B"}