@xyo-network/api 2.50.4 → 2.50.6

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 (233) hide show
  1. package/dist/cjs/Api/Api.js +0 -10
  2. package/dist/cjs/Api/Api.js.map +1 -1
  3. package/dist/cjs/Api/Archive/Api.js +0 -27
  4. package/dist/cjs/Api/Archive/Api.js.map +1 -1
  5. package/dist/cjs/Api/Archive/index.js +0 -2
  6. package/dist/cjs/Api/Archive/index.js.map +1 -1
  7. package/dist/cjs/Api/Block/Api.js +1 -8
  8. package/dist/cjs/Api/Block/Api.js.map +1 -1
  9. package/dist/cjs/Api/index.js +0 -1
  10. package/dist/cjs/Api/index.js.map +1 -1
  11. package/dist/cjs/Diviner/index.js +0 -3
  12. package/dist/cjs/Diviner/index.js.map +1 -1
  13. package/dist/cjs/index.js +0 -1
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/docs.json +23028 -64387
  16. package/dist/esm/Api/Api.js +0 -14
  17. package/dist/esm/Api/Api.js.map +1 -1
  18. package/dist/esm/Api/Archive/Api.js +0 -38
  19. package/dist/esm/Api/Archive/Api.js.map +1 -1
  20. package/dist/esm/Api/Archive/index.js +0 -2
  21. package/dist/esm/Api/Archive/index.js.map +1 -1
  22. package/dist/esm/Api/Block/Api.js +1 -11
  23. package/dist/esm/Api/Block/Api.js.map +1 -1
  24. package/dist/esm/Api/index.js +0 -1
  25. package/dist/esm/Api/index.js.map +1 -1
  26. package/dist/esm/Diviner/index.js +0 -3
  27. package/dist/esm/Diviner/index.js.map +1 -1
  28. package/dist/esm/index.js +0 -1
  29. package/dist/esm/index.js.map +1 -1
  30. package/dist/types/Api/Api.d.ts +0 -6
  31. package/dist/types/Api/Api.d.ts.map +1 -1
  32. package/dist/types/Api/Archive/Api.d.ts +0 -17
  33. package/dist/types/Api/Archive/Api.d.ts.map +1 -1
  34. package/dist/types/Api/Archive/index.d.ts +0 -2
  35. package/dist/types/Api/Archive/index.d.ts.map +1 -1
  36. package/dist/types/Api/Block/Api.d.ts +1 -9
  37. package/dist/types/Api/Block/Api.d.ts.map +1 -1
  38. package/dist/types/Api/index.d.ts +0 -1
  39. package/dist/types/Api/index.d.ts.map +1 -1
  40. package/dist/types/Diviner/index.d.ts +0 -3
  41. package/dist/types/Diviner/index.d.ts.map +1 -1
  42. package/dist/types/index.d.ts +0 -1
  43. package/dist/types/index.d.ts.map +1 -1
  44. package/package.json +15 -20
  45. package/src/Api/Api.ts +0 -15
  46. package/src/Api/Archive/Api.ts +0 -41
  47. package/src/Api/Archive/index.ts +0 -2
  48. package/src/Api/Block/Api.ts +3 -17
  49. package/src/Api/index.ts +0 -1
  50. package/src/Diviner/index.ts +0 -3
  51. package/src/index.ts +0 -1
  52. package/dist/cjs/Api/Addresses/Address/Api.js +0 -14
  53. package/dist/cjs/Api/Addresses/Address/Api.js.map +0 -1
  54. package/dist/cjs/Api/Addresses/Address/index.js +0 -5
  55. package/dist/cjs/Api/Addresses/Address/index.js.map +0 -1
  56. package/dist/cjs/Api/Addresses/Api.js +0 -15
  57. package/dist/cjs/Api/Addresses/Api.js.map +0 -1
  58. package/dist/cjs/Api/Addresses/index.js +0 -5
  59. package/dist/cjs/Api/Addresses/index.js.map +0 -1
  60. package/dist/cjs/Api/Archive/Schema/Api.js +0 -18
  61. package/dist/cjs/Api/Archive/Schema/Api.js.map +0 -1
  62. package/dist/cjs/Api/Archive/Schema/index.js +0 -5
  63. package/dist/cjs/Api/Archive/Schema/index.js.map +0 -1
  64. package/dist/cjs/Api/Archive/Schemas/Api.js +0 -17
  65. package/dist/cjs/Api/Archive/Schemas/Api.js.map +0 -1
  66. package/dist/cjs/Api/Archive/Schemas/index.js +0 -5
  67. package/dist/cjs/Api/Archive/Schemas/index.js.map +0 -1
  68. package/dist/cjs/Api/Payload/Api.js +0 -39
  69. package/dist/cjs/Api/Payload/Api.js.map +0 -1
  70. package/dist/cjs/Api/Payload/Schema/Api.js +0 -17
  71. package/dist/cjs/Api/Payload/Schema/Api.js.map +0 -1
  72. package/dist/cjs/Api/Payload/Schema/index.js +0 -5
  73. package/dist/cjs/Api/Payload/Schema/index.js.map +0 -1
  74. package/dist/cjs/Api/Payload/index.js +0 -6
  75. package/dist/cjs/Api/Payload/index.js.map +0 -1
  76. package/dist/cjs/Archivist/RemoteArchivistError.js +0 -14
  77. package/dist/cjs/Archivist/RemoteArchivistError.js.map +0 -1
  78. package/dist/cjs/Archivist/XyoRemoteArchivist.js +0 -135
  79. package/dist/cjs/Archivist/XyoRemoteArchivist.js.map +0 -1
  80. package/dist/cjs/Archivist/XyoRemoteArchivistConfig.js +0 -5
  81. package/dist/cjs/Archivist/XyoRemoteArchivistConfig.js.map +0 -1
  82. package/dist/cjs/Archivist/index.js +0 -7
  83. package/dist/cjs/Archivist/index.js.map +0 -1
  84. package/dist/cjs/Diviner/AddressHistoryDiviner/XyoRemoteAddressHistoryDiviner.js +0 -74
  85. package/dist/cjs/Diviner/AddressHistoryDiviner/XyoRemoteAddressHistoryDiviner.js.map +0 -1
  86. package/dist/cjs/Diviner/AddressHistoryDiviner/index.js +0 -5
  87. package/dist/cjs/Diviner/AddressHistoryDiviner/index.js.map +0 -1
  88. package/dist/cjs/Diviner/SchemaListApiDiviner/Payload.js +0 -3
  89. package/dist/cjs/Diviner/SchemaListApiDiviner/Payload.js.map +0 -1
  90. package/dist/cjs/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.js +0 -53
  91. package/dist/cjs/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.js.map +0 -1
  92. package/dist/cjs/Diviner/SchemaListApiDiviner/SchemaListApiDivinerConfig.js +0 -5
  93. package/dist/cjs/Diviner/SchemaListApiDiviner/SchemaListApiDivinerConfig.js.map +0 -1
  94. package/dist/cjs/Diviner/SchemaListApiDiviner/index.js +0 -7
  95. package/dist/cjs/Diviner/SchemaListApiDiviner/index.js.map +0 -1
  96. package/dist/cjs/Diviner/SchemaStatsApiDiviner/Payload.js +0 -5
  97. package/dist/cjs/Diviner/SchemaStatsApiDiviner/Payload.js.map +0 -1
  98. package/dist/cjs/Diviner/SchemaStatsApiDiviner/SchemaStatsApiDiviner.js +0 -54
  99. package/dist/cjs/Diviner/SchemaStatsApiDiviner/SchemaStatsApiDiviner.js.map +0 -1
  100. package/dist/cjs/Diviner/SchemaStatsApiDiviner/SchemaStatsApiDivinerConfig.js +0 -5
  101. package/dist/cjs/Diviner/SchemaStatsApiDiviner/SchemaStatsApiDivinerConfig.js.map +0 -1
  102. package/dist/cjs/Diviner/SchemaStatsApiDiviner/index.js +0 -7
  103. package/dist/cjs/Diviner/SchemaStatsApiDiviner/index.js.map +0 -1
  104. package/dist/esm/Api/Addresses/Address/Api.js +0 -13
  105. package/dist/esm/Api/Addresses/Address/Api.js.map +0 -1
  106. package/dist/esm/Api/Addresses/Address/index.js +0 -2
  107. package/dist/esm/Api/Addresses/Address/index.js.map +0 -1
  108. package/dist/esm/Api/Addresses/Api.js +0 -14
  109. package/dist/esm/Api/Addresses/Api.js.map +0 -1
  110. package/dist/esm/Api/Addresses/index.js +0 -2
  111. package/dist/esm/Api/Addresses/index.js.map +0 -1
  112. package/dist/esm/Api/Archive/Schema/Api.js +0 -18
  113. package/dist/esm/Api/Archive/Schema/Api.js.map +0 -1
  114. package/dist/esm/Api/Archive/Schema/index.js +0 -2
  115. package/dist/esm/Api/Archive/Schema/index.js.map +0 -1
  116. package/dist/esm/Api/Archive/Schemas/Api.js +0 -17
  117. package/dist/esm/Api/Archive/Schemas/Api.js.map +0 -1
  118. package/dist/esm/Api/Archive/Schemas/index.js +0 -2
  119. package/dist/esm/Api/Archive/Schemas/index.js.map +0 -1
  120. package/dist/esm/Api/Payload/Api.js +0 -42
  121. package/dist/esm/Api/Payload/Api.js.map +0 -1
  122. package/dist/esm/Api/Payload/Schema/Api.js +0 -17
  123. package/dist/esm/Api/Payload/Schema/Api.js.map +0 -1
  124. package/dist/esm/Api/Payload/Schema/index.js +0 -2
  125. package/dist/esm/Api/Payload/Schema/index.js.map +0 -1
  126. package/dist/esm/Api/Payload/index.js +0 -3
  127. package/dist/esm/Api/Payload/index.js.map +0 -1
  128. package/dist/esm/Archivist/RemoteArchivistError.js +0 -10
  129. package/dist/esm/Archivist/RemoteArchivistError.js.map +0 -1
  130. package/dist/esm/Archivist/XyoRemoteArchivist.js +0 -115
  131. package/dist/esm/Archivist/XyoRemoteArchivist.js.map +0 -1
  132. package/dist/esm/Archivist/XyoRemoteArchivistConfig.js +0 -2
  133. package/dist/esm/Archivist/XyoRemoteArchivistConfig.js.map +0 -1
  134. package/dist/esm/Archivist/index.js +0 -4
  135. package/dist/esm/Archivist/index.js.map +0 -1
  136. package/dist/esm/Diviner/AddressHistoryDiviner/XyoRemoteAddressHistoryDiviner.js +0 -61
  137. package/dist/esm/Diviner/AddressHistoryDiviner/XyoRemoteAddressHistoryDiviner.js.map +0 -1
  138. package/dist/esm/Diviner/AddressHistoryDiviner/index.js +0 -2
  139. package/dist/esm/Diviner/AddressHistoryDiviner/index.js.map +0 -1
  140. package/dist/esm/Diviner/SchemaListApiDiviner/Payload.js +0 -2
  141. package/dist/esm/Diviner/SchemaListApiDiviner/Payload.js.map +0 -1
  142. package/dist/esm/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.js +0 -35
  143. package/dist/esm/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.js.map +0 -1
  144. package/dist/esm/Diviner/SchemaListApiDiviner/SchemaListApiDivinerConfig.js +0 -2
  145. package/dist/esm/Diviner/SchemaListApiDiviner/SchemaListApiDivinerConfig.js.map +0 -1
  146. package/dist/esm/Diviner/SchemaListApiDiviner/index.js +0 -4
  147. package/dist/esm/Diviner/SchemaListApiDiviner/index.js.map +0 -1
  148. package/dist/esm/Diviner/SchemaStatsApiDiviner/Payload.js +0 -2
  149. package/dist/esm/Diviner/SchemaStatsApiDiviner/Payload.js.map +0 -1
  150. package/dist/esm/Diviner/SchemaStatsApiDiviner/SchemaStatsApiDiviner.js +0 -36
  151. package/dist/esm/Diviner/SchemaStatsApiDiviner/SchemaStatsApiDiviner.js.map +0 -1
  152. package/dist/esm/Diviner/SchemaStatsApiDiviner/SchemaStatsApiDivinerConfig.js +0 -2
  153. package/dist/esm/Diviner/SchemaStatsApiDiviner/SchemaStatsApiDivinerConfig.js.map +0 -1
  154. package/dist/esm/Diviner/SchemaStatsApiDiviner/index.js +0 -4
  155. package/dist/esm/Diviner/SchemaStatsApiDiviner/index.js.map +0 -1
  156. package/dist/types/Api/Addresses/Address/Api.d.ts +0 -11
  157. package/dist/types/Api/Addresses/Address/Api.d.ts.map +0 -1
  158. package/dist/types/Api/Addresses/Address/index.d.ts +0 -2
  159. package/dist/types/Api/Addresses/Address/index.d.ts.map +0 -1
  160. package/dist/types/Api/Addresses/Api.d.ts +0 -11
  161. package/dist/types/Api/Addresses/Api.d.ts.map +0 -1
  162. package/dist/types/Api/Addresses/index.d.ts +0 -2
  163. package/dist/types/Api/Addresses/index.d.ts.map +0 -1
  164. package/dist/types/Api/Archive/Schema/Api.d.ts +0 -11
  165. package/dist/types/Api/Archive/Schema/Api.d.ts.map +0 -1
  166. package/dist/types/Api/Archive/Schema/index.d.ts +0 -2
  167. package/dist/types/Api/Archive/Schema/index.d.ts.map +0 -1
  168. package/dist/types/Api/Archive/Schemas/Api.d.ts +0 -10
  169. package/dist/types/Api/Archive/Schemas/Api.d.ts.map +0 -1
  170. package/dist/types/Api/Archive/Schemas/index.d.ts +0 -2
  171. package/dist/types/Api/Archive/Schemas/index.d.ts.map +0 -1
  172. package/dist/types/Api/Payload/Api.d.ts +0 -28
  173. package/dist/types/Api/Payload/Api.d.ts.map +0 -1
  174. package/dist/types/Api/Payload/Schema/Api.d.ts +0 -12
  175. package/dist/types/Api/Payload/Schema/Api.d.ts.map +0 -1
  176. package/dist/types/Api/Payload/Schema/index.d.ts +0 -2
  177. package/dist/types/Api/Payload/Schema/index.d.ts.map +0 -1
  178. package/dist/types/Api/Payload/index.d.ts +0 -3
  179. package/dist/types/Api/Payload/index.d.ts.map +0 -1
  180. package/dist/types/Archivist/RemoteArchivistError.d.ts +0 -6
  181. package/dist/types/Archivist/RemoteArchivistError.d.ts.map +0 -1
  182. package/dist/types/Archivist/XyoRemoteArchivist.d.ts +0 -23
  183. package/dist/types/Archivist/XyoRemoteArchivist.d.ts.map +0 -1
  184. package/dist/types/Archivist/XyoRemoteArchivistConfig.d.ts +0 -12
  185. package/dist/types/Archivist/XyoRemoteArchivistConfig.d.ts.map +0 -1
  186. package/dist/types/Archivist/index.d.ts +0 -4
  187. package/dist/types/Archivist/index.d.ts.map +0 -1
  188. package/dist/types/Diviner/AddressHistoryDiviner/XyoRemoteAddressHistoryDiviner.d.ts +0 -20
  189. package/dist/types/Diviner/AddressHistoryDiviner/XyoRemoteAddressHistoryDiviner.d.ts.map +0 -1
  190. package/dist/types/Diviner/AddressHistoryDiviner/index.d.ts +0 -2
  191. package/dist/types/Diviner/AddressHistoryDiviner/index.d.ts.map +0 -1
  192. package/dist/types/Diviner/SchemaListApiDiviner/Payload.d.ts +0 -6
  193. package/dist/types/Diviner/SchemaListApiDiviner/Payload.d.ts.map +0 -1
  194. package/dist/types/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.d.ts +0 -20
  195. package/dist/types/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.d.ts.map +0 -1
  196. package/dist/types/Diviner/SchemaListApiDiviner/SchemaListApiDivinerConfig.d.ts +0 -9
  197. package/dist/types/Diviner/SchemaListApiDiviner/SchemaListApiDivinerConfig.d.ts.map +0 -1
  198. package/dist/types/Diviner/SchemaListApiDiviner/index.d.ts +0 -4
  199. package/dist/types/Diviner/SchemaListApiDiviner/index.d.ts.map +0 -1
  200. package/dist/types/Diviner/SchemaStatsApiDiviner/Payload.d.ts +0 -7
  201. package/dist/types/Diviner/SchemaStatsApiDiviner/Payload.d.ts.map +0 -1
  202. package/dist/types/Diviner/SchemaStatsApiDiviner/SchemaStatsApiDiviner.d.ts +0 -20
  203. package/dist/types/Diviner/SchemaStatsApiDiviner/SchemaStatsApiDiviner.d.ts.map +0 -1
  204. package/dist/types/Diviner/SchemaStatsApiDiviner/SchemaStatsApiDivinerConfig.d.ts +0 -9
  205. package/dist/types/Diviner/SchemaStatsApiDiviner/SchemaStatsApiDivinerConfig.d.ts.map +0 -1
  206. package/dist/types/Diviner/SchemaStatsApiDiviner/index.d.ts +0 -4
  207. package/dist/types/Diviner/SchemaStatsApiDiviner/index.d.ts.map +0 -1
  208. package/src/Api/Addresses/Address/Api.ts +0 -17
  209. package/src/Api/Addresses/Address/index.ts +0 -1
  210. package/src/Api/Addresses/Api.ts +0 -17
  211. package/src/Api/Addresses/index.ts +0 -1
  212. package/src/Api/Archive/Schema/Api.ts +0 -20
  213. package/src/Api/Archive/Schema/index.ts +0 -1
  214. package/src/Api/Archive/Schemas/Api.ts +0 -19
  215. package/src/Api/Archive/Schemas/index.ts +0 -1
  216. package/src/Api/Payload/Api.ts +0 -56
  217. package/src/Api/Payload/Schema/Api.ts +0 -21
  218. package/src/Api/Payload/Schema/index.ts +0 -1
  219. package/src/Api/Payload/index.ts +0 -2
  220. package/src/Archivist/RemoteArchivistError.ts +0 -9
  221. package/src/Archivist/XyoRemoteArchivist.ts +0 -130
  222. package/src/Archivist/XyoRemoteArchivistConfig.ts +0 -16
  223. package/src/Archivist/index.ts +0 -3
  224. package/src/Diviner/AddressHistoryDiviner/XyoRemoteAddressHistoryDiviner.ts +0 -70
  225. package/src/Diviner/AddressHistoryDiviner/index.ts +0 -1
  226. package/src/Diviner/SchemaListApiDiviner/Payload.ts +0 -9
  227. package/src/Diviner/SchemaListApiDiviner/SchemaListApiDiviner.ts +0 -49
  228. package/src/Diviner/SchemaListApiDiviner/SchemaListApiDivinerConfig.ts +0 -13
  229. package/src/Diviner/SchemaListApiDiviner/index.ts +0 -3
  230. package/src/Diviner/SchemaStatsApiDiviner/Payload.ts +0 -11
  231. package/src/Diviner/SchemaStatsApiDiviner/SchemaStatsApiDiviner.ts +0 -47
  232. package/src/Diviner/SchemaStatsApiDiviner/SchemaStatsApiDivinerConfig.ts +0 -13
  233. package/src/Diviner/SchemaStatsApiDiviner/index.ts +0 -3
@@ -1,130 +0,0 @@
1
- import { AbstractArchivist, ArchivistFindQuerySchema, ArchivistInsertQuerySchema, ArchivistParams } from '@xyo-network/archivist'
2
- import { isXyoBoundWitnessPayload, XyoBoundWitness } from '@xyo-network/boundwitness-model'
3
- import { ModuleParams } from '@xyo-network/module'
4
- import { PayloadFindFilter, XyoPayload } from '@xyo-network/payload-model'
5
- import { PayloadWrapper } from '@xyo-network/payload-wrapper'
6
- import compact from 'lodash/compact'
7
-
8
- import { XyoArchivistApi } from '../Api'
9
- import { RemoteArchivistError } from './RemoteArchivistError'
10
- import { XyoRemoteArchivistConfig, XyoRemoteArchivistConfigSchema } from './XyoRemoteArchivistConfig'
11
-
12
- export type XyoRemoteArchivistParams = ModuleParams<XyoRemoteArchivistConfig> & { api?: XyoArchivistApi }
13
-
14
- /** @description Archivist Context that connects to a remote archivist using the API */
15
- export class XyoRemoteArchivist extends AbstractArchivist<ArchivistParams<XyoRemoteArchivistConfig>> {
16
- static override configSchema = XyoRemoteArchivistConfigSchema
17
- protected _api?: XyoArchivistApi
18
-
19
- constructor(params: XyoRemoteArchivistParams) {
20
- super(params)
21
- this._api = params?.api
22
- }
23
-
24
- get api() {
25
- if (this._api) {
26
- return this._api
27
- }
28
- // eslint-disable-next-line deprecation/deprecation
29
- if (this.config?.api) {
30
- this.logger?.warn('api specified in config but should be specified in params')
31
- // eslint-disable-next-line deprecation/deprecation
32
- return this.config?.api
33
- }
34
- throw Error('No api specified')
35
- }
36
-
37
- get archive() {
38
- return this.config?.archive
39
- }
40
-
41
- override get queries(): string[] {
42
- return [ArchivistFindQuerySchema, ArchivistInsertQuerySchema, ...super.queries]
43
- }
44
-
45
- static override async create(params?: XyoRemoteArchivistParams): Promise<XyoRemoteArchivist> {
46
- return (await super.create(params)) as XyoRemoteArchivist
47
- }
48
-
49
- override async find<R extends XyoPayload = XyoPayload>(filter: PayloadFindFilter): Promise<R[]> {
50
- try {
51
- const [payloads = [], payloadEnvelope, payloadResponse] = await this.api.archive(this.archive).payload.find(filter, 'tuple')
52
- if (payloadEnvelope?.errors?.length) {
53
- throw new RemoteArchivistError('find', payloadEnvelope.errors.shift(), 'payloads')
54
- }
55
- if (payloadResponse?.status >= 300) {
56
- throw new RemoteArchivistError('find', `Invalid payload status [${payloadResponse.status}]`, 'payloads')
57
- }
58
- const [blocks = [], blockEnvelope, blockResponse] = await this.api.archive(this.archive).block.find(filter, 'tuple')
59
- if (blockEnvelope?.errors?.length) {
60
- throw new RemoteArchivistError('find', blockEnvelope.errors.shift(), 'payloads')
61
- }
62
- if (blockResponse?.status >= 300) {
63
- throw new RemoteArchivistError('find', `Invalid block status [${blockResponse.status}]`, 'payloads')
64
- }
65
- return payloads.concat(blocks) as R[]
66
- } catch (ex) {
67
- console.error(ex)
68
- throw ex
69
- }
70
- }
71
-
72
- override async get(hashes: string[]): Promise<XyoPayload[]> {
73
- return compact(
74
- await Promise.all(
75
- hashes.map(async (hash) => {
76
- try {
77
- const [payloads = [], payloadEnvelope, payloadResponse] = await this.api.archive(this.archive).payload.hash(hash).get('tuple')
78
- if (payloadResponse?.status >= 400) {
79
- throw new RemoteArchivistError('get', `Invalid payload status [${payloadResponse.status}]`, 'payloads')
80
- }
81
- if (payloadEnvelope?.errors?.length) {
82
- throw new RemoteArchivistError('get', payloadEnvelope.errors.shift(), 'payloads')
83
- }
84
- const [blocks = [], blockEnvelope, blockResponse] = await this.api.archive(this.archive).block.hash(hash).get('tuple')
85
- if (blockResponse?.status >= 400) {
86
- throw new RemoteArchivistError('get', `Invalid block status [${blockResponse.status}]`, 'payloads')
87
- }
88
- if (blockEnvelope?.errors?.length) {
89
- throw new RemoteArchivistError('get', blockEnvelope.errors.shift(), 'blocks')
90
- }
91
- return payloads?.[0] ?? blocks?.[0]
92
- } catch (ex) {
93
- console.error(ex)
94
- throw ex
95
- }
96
- }),
97
- ),
98
- )
99
- }
100
-
101
- async insert(payloads: XyoPayload[]): Promise<XyoBoundWitness[]> {
102
- try {
103
- const boundWitnesses: XyoBoundWitness[] = payloads.filter(isXyoBoundWitnessPayload)
104
- boundWitnesses.forEach((boundwitness) => {
105
- // doing this here to prevent breaking code (for now)
106
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
107
- const anyBoundwitness: any = boundwitness
108
- anyBoundwitness._payloads ===
109
- payloads.filter((payload) => {
110
- const hash = new PayloadWrapper(payload).hash
111
- return boundwitness.payload_hashes.includes(hash)
112
- })
113
- })
114
- const [boundwitness] = await this.bindResult(payloads)
115
- const bwWithMeta: XyoBoundWitness & { _payloads: XyoPayload[] } = { ...boundwitness, _payloads: payloads }
116
- const bwResult = await this.api.archive(this.archive).block.post([bwWithMeta], 'tuple')
117
- const [, response, error] = bwResult
118
- if (error?.status >= 400) {
119
- throw new RemoteArchivistError('insert', `${error.statusText} [${error.status}]`)
120
- }
121
- if (response?.errors?.length) {
122
- throw new RemoteArchivistError('insert', response?.errors)
123
- }
124
- return [boundwitness]
125
- } catch (ex) {
126
- console.error(ex)
127
- throw ex
128
- }
129
- }
130
- }
@@ -1,16 +0,0 @@
1
- import { ArchivistConfig } from '@xyo-network/archivist'
2
- import { XyoPayload } from '@xyo-network/payload-model'
3
-
4
- import { XyoArchivistApi } from '../Api'
5
-
6
- export type XyoRemoteArchivistConfigSchema = 'network.xyo.archivist.remote.config'
7
- export const XyoRemoteArchivistConfigSchema: XyoRemoteArchivistConfigSchema = 'network.xyo.archivist.remote.config'
8
-
9
- export type XyoRemoteArchivistConfig<T extends XyoPayload = XyoPayload> = ArchivistConfig<
10
- {
11
- /** @deprecated pass api in params instead */
12
- api?: XyoArchivistApi
13
- archive?: string
14
- schema: XyoRemoteArchivistConfigSchema
15
- } & T
16
- >
@@ -1,3 +0,0 @@
1
- export * from './RemoteArchivistError'
2
- export * from './XyoRemoteArchivist'
3
- export * from './XyoRemoteArchivistConfig'
@@ -1,70 +0,0 @@
1
- import { assertEx } from '@xylabs/assert'
2
- import { XyoBoundWitness, XyoBoundWitnessSchema } from '@xyo-network/boundwitness-model'
3
- import { AbstractDiviner, AddressHistoryDiviner, DivinerParams, isAddressHistoryQueryPayload } from '@xyo-network/diviner'
4
- import { ModuleParams } from '@xyo-network/module'
5
- import { XyoPayloads } from '@xyo-network/payload-model'
6
-
7
- import { XyoArchivistApi } from '../../Api'
8
- import { RemoteDivinerError } from '../RemoteDivinerError'
9
- import { XyoRemoteDivinerConfig, XyoRemoteDivinerConfigSchema } from '../XyoRemoteDivinerConfig'
10
-
11
- export type XyoRemoteAddressHistoryDivinerParams = ModuleParams<XyoRemoteDivinerConfig> & {
12
- api?: XyoArchivistApi
13
- }
14
-
15
- /** @description Diviner Context that connects to a remote Diviner using the API */
16
- export class XyoRemoteAddressHistoryDiviner extends AbstractDiviner<DivinerParams<XyoRemoteDivinerConfig>> implements AddressHistoryDiviner {
17
- static override configSchema = XyoRemoteDivinerConfigSchema
18
- static override targetSchema = XyoBoundWitnessSchema
19
-
20
- protected _api?: XyoArchivistApi
21
-
22
- protected constructor(params: XyoRemoteAddressHistoryDivinerParams) {
23
- super(params)
24
- this._api = params?.api
25
- }
26
-
27
- get api() {
28
- if (this._api) {
29
- return this._api
30
- }
31
- // eslint-disable-next-line deprecation/deprecation
32
- if (this.config?.api) {
33
- this.logger?.warn('api specified in config but should be specified in params')
34
- // eslint-disable-next-line deprecation/deprecation
35
- return this.config?.api
36
- }
37
- throw Error('No api specified')
38
- }
39
-
40
- static override async create(params?: XyoRemoteAddressHistoryDivinerParams) {
41
- return (await super.create(params)) as XyoRemoteAddressHistoryDiviner
42
- }
43
-
44
- override async divine(payloads?: XyoPayloads): Promise<XyoBoundWitness[]> {
45
- if (!payloads) return []
46
- try {
47
- const query = payloads.find(isAddressHistoryQueryPayload)
48
- if (!query) return []
49
- const { address, limit, offset } = query
50
- const singleAddress = assertEx(Array.isArray(address) ? address[0] : address, 'At least one address required')
51
- const find: { limit?: number; offset?: string } = {}
52
- if (limit) find.limit = limit
53
- if (offset) find.offset = `${offset}`
54
- const [data, body, response] =
55
- Object.keys(find).length > 0
56
- ? await this.api.addresses.address(singleAddress).boundWitnesses.find(find, 'tuple')
57
- : await this.api.addresses.address(singleAddress).boundWitnesses.get('tuple')
58
- if (response?.status >= 400) {
59
- throw new RemoteDivinerError('divine', `${response.statusText} [${response.status}]`)
60
- }
61
- if (body?.errors?.length) {
62
- throw new RemoteDivinerError('divine', body?.errors)
63
- }
64
- return data || []
65
- } catch (ex) {
66
- console.error(ex)
67
- throw ex
68
- }
69
- }
70
- }
@@ -1 +0,0 @@
1
- export * from './XyoRemoteAddressHistoryDiviner'
@@ -1,9 +0,0 @@
1
- import { XyoPayload } from '@xyo-network/payload-model'
2
- import { XyoSchemaSchema } from '@xyo-network/schema-payload-plugin'
3
-
4
- export type SchemaList = XyoPayload<
5
- {
6
- name: string
7
- },
8
- XyoSchemaSchema
9
- >
@@ -1,49 +0,0 @@
1
- /* eslint-disable deprecation/deprecation */
2
- import { assertEx } from '@xylabs/assert'
3
- import { AbstractDiviner, DivinerParams } from '@xyo-network/diviner'
4
- import { ModuleParams } from '@xyo-network/module'
5
- import { XyoSchemaSchema } from '@xyo-network/schema-payload-plugin'
6
-
7
- import { XyoArchivistApi } from '../../Api'
8
- import { SchemaList } from './Payload'
9
- import { XyoSchemaListApiDivinerConfig, XyoSchemaListApiDivinerConfigSchema } from './SchemaListApiDivinerConfig'
10
-
11
- export type XyoSchemaListApiDivinerParams = ModuleParams<XyoSchemaListApiDivinerConfig> & { api: XyoArchivistApi }
12
-
13
- /** @deprecated - send query to remote module instead */
14
- export class SchemaListApiDiviner extends AbstractDiviner<DivinerParams<XyoSchemaListApiDivinerConfig>> {
15
- static override configSchema = XyoSchemaListApiDivinerConfigSchema
16
- static override targetSchema = XyoSchemaSchema
17
-
18
- protected readonly api: XyoArchivistApi
19
-
20
- protected constructor(params: XyoSchemaListApiDivinerParams) {
21
- super(params)
22
- this.api = params.api
23
- }
24
-
25
- get archive() {
26
- return assertEx(this.config?.archive, `SchemaListApiDiviner config.archive required [${JSON.stringify(this.config, null, 2)}]`)
27
- }
28
-
29
- static override async create(params: XyoSchemaListApiDivinerParams): Promise<SchemaListApiDiviner> {
30
- return (await super.create(params)) as SchemaListApiDiviner
31
- }
32
-
33
- async divine(): Promise<SchemaList[]> {
34
- const apiResult = (await this.api.archive(this.archive)?.payload.schema.get()) ?? []
35
- return (
36
- apiResult.map((schema) => {
37
- return {
38
- name: schema,
39
- schema: XyoSchemaSchema,
40
- }
41
- }) ?? []
42
- )
43
- }
44
-
45
- protected override async start() {
46
- await super.start()
47
- return this
48
- }
49
- }
@@ -1,13 +0,0 @@
1
- import { DivinerConfig } from '@xyo-network/diviner-model'
2
- import { XyoPayload } from '@xyo-network/payload-model'
3
-
4
- export type XyoSchemaListApiDivinerConfigSchema = 'network.xyo.diviner.schema.list.api.config'
5
- export const XyoSchemaListApiDivinerConfigSchema: XyoSchemaListApiDivinerConfigSchema = 'network.xyo.diviner.schema.list.api.config'
6
-
7
- export type XyoSchemaListApiDivinerConfig<T extends XyoPayload = XyoPayload> = DivinerConfig<
8
- XyoPayload,
9
- T & {
10
- archive: string
11
- schema: XyoSchemaListApiDivinerConfigSchema
12
- }
13
- >
@@ -1,3 +0,0 @@
1
- export * from './Payload'
2
- export * from './SchemaListApiDiviner'
3
- export * from './SchemaListApiDivinerConfig'
@@ -1,11 +0,0 @@
1
- import { XyoPayload } from '@xyo-network/payload-model'
2
-
3
- export type SchemaStatsSchema = 'network.xyo.schema.stats'
4
- export const SchemaStatsSchema: SchemaStatsSchema = 'network.xyo.schema.stats'
5
-
6
- export type SchemaStats = XyoPayload<
7
- {
8
- counts: Record<string, number>
9
- },
10
- SchemaStatsSchema
11
- >
@@ -1,47 +0,0 @@
1
- /* eslint-disable deprecation/deprecation */
2
- import { assertEx } from '@xylabs/assert'
3
- import { AbstractDiviner, DivinerParams } from '@xyo-network/diviner'
4
- import { ModuleParams } from '@xyo-network/module'
5
-
6
- import { XyoArchivistApi } from '../../Api'
7
- import { SchemaStats, SchemaStatsSchema } from './Payload'
8
- import { XyoSchemaStatsApiDivinerConfig, XyoSchemaStatsApiDivinerConfigSchema } from './SchemaStatsApiDivinerConfig'
9
-
10
- export type XyoSchemaStatsApiDivinerParams = ModuleParams<XyoSchemaStatsApiDivinerConfig> & { api: XyoArchivistApi }
11
-
12
- /** @deprecated - send query to remote module instead */
13
- export class SchemaStatsApiDiviner extends AbstractDiviner<DivinerParams<XyoSchemaStatsApiDivinerConfig>> {
14
- static override configSchema = XyoSchemaStatsApiDivinerConfigSchema
15
- static override targetSchema = SchemaStatsSchema
16
-
17
- protected readonly api: XyoArchivistApi
18
-
19
- protected constructor(params: XyoSchemaStatsApiDivinerParams) {
20
- super(params)
21
- this.api = params.api
22
- }
23
-
24
- get archive() {
25
- return assertEx(this.config?.archive, `SchemaStatsApiDiviner config.archive required [${JSON.stringify(this.config, null, 2)}]`)
26
- }
27
-
28
- static override async create(params: XyoSchemaStatsApiDivinerParams): Promise<SchemaStatsApiDiviner> {
29
- return (await super.create(params)) as SchemaStatsApiDiviner
30
- }
31
-
32
- async divine(): Promise<SchemaStats[]> {
33
- const stats = await this.api.archive(this.archive).payload.schema.stats.get()
34
- const result: SchemaStats[] = [
35
- {
36
- counts: stats?.counts ?? {},
37
- schema: SchemaStatsSchema,
38
- },
39
- ]
40
- return result
41
- }
42
-
43
- protected override async start() {
44
- await super.start()
45
- return this
46
- }
47
- }
@@ -1,13 +0,0 @@
1
- import { DivinerConfig } from '@xyo-network/diviner-model'
2
- import { XyoPayload } from '@xyo-network/payload-model'
3
-
4
- export type XyoSchemaStatsApiDivinerConfigSchema = 'network.xyo.diviner.schema.stats.api.config'
5
- export const XyoSchemaStatsApiDivinerConfigSchema: XyoSchemaStatsApiDivinerConfigSchema = 'network.xyo.diviner.schema.stats.api.config'
6
-
7
- export type XyoSchemaStatsApiDivinerConfig<T extends XyoPayload = XyoPayload> = DivinerConfig<
8
- XyoPayload,
9
- T & {
10
- archive: string
11
- schema: XyoSchemaStatsApiDivinerConfigSchema
12
- }
13
- >
@@ -1,3 +0,0 @@
1
- export * from './Payload'
2
- export * from './SchemaStatsApiDiviner'
3
- export * from './SchemaStatsApiDivinerConfig'