@xyo-network/network 2.20.30 → 2.20.33

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 (91) hide show
  1. package/dist/cjs/XyoNetworkNodePayload.d.ts +12 -0
  2. package/dist/cjs/{XyoNetworkConfig.js → XyoNetworkNodePayload.js} +1 -1
  3. package/dist/cjs/XyoNetworkNodePayload.js.map +1 -0
  4. package/dist/cjs/XyoNetworkNodePayloadWrapper.d.ts +7 -0
  5. package/dist/cjs/XyoNetworkNodePayloadWrapper.js +18 -0
  6. package/dist/cjs/XyoNetworkNodePayloadWrapper.js.map +1 -0
  7. package/dist/cjs/XyoNetworkPayload.d.ts +9 -0
  8. package/dist/cjs/{XyoNodeConfig.js → XyoNetworkPayload.js} +1 -1
  9. package/dist/cjs/XyoNetworkPayload.js.map +1 -0
  10. package/dist/cjs/XyoNetworkPayloadWrapper.d.ts +13 -0
  11. package/dist/cjs/XyoNetworkPayloadWrapper.js +32 -0
  12. package/dist/cjs/XyoNetworkPayloadWrapper.js.map +1 -0
  13. package/dist/cjs/index.d.ts +8 -2
  14. package/dist/cjs/index.js +8 -2
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/knownArchivists.d.ts +2 -2
  17. package/dist/cjs/knownArchivists.js +7 -3
  18. package/dist/cjs/knownArchivists.js.map +1 -1
  19. package/dist/cjs/knownDiviners.d.ts +2 -2
  20. package/dist/cjs/knownDiviners.js +5 -2
  21. package/dist/cjs/knownDiviners.js.map +1 -1
  22. package/dist/cjs/knownNetworks.d.ts +2 -2
  23. package/dist/cjs/knownNetworks.js +8 -4
  24. package/dist/cjs/knownNetworks.js.map +1 -1
  25. package/dist/cjs/schema.d.ts +2 -0
  26. package/dist/cjs/schema.js +6 -0
  27. package/dist/cjs/schema.js.map +1 -0
  28. package/dist/docs.json +2061 -105
  29. package/dist/esm/XyoNetworkNodePayload.d.ts +12 -0
  30. package/dist/esm/XyoNetworkNodePayload.js +2 -0
  31. package/dist/esm/XyoNetworkNodePayload.js.map +1 -0
  32. package/dist/esm/XyoNetworkNodePayloadWrapper.d.ts +7 -0
  33. package/dist/esm/XyoNetworkNodePayloadWrapper.js +14 -0
  34. package/dist/esm/XyoNetworkNodePayloadWrapper.js.map +1 -0
  35. package/dist/esm/XyoNetworkPayload.d.ts +9 -0
  36. package/dist/esm/XyoNetworkPayload.js +2 -0
  37. package/dist/esm/XyoNetworkPayload.js.map +1 -0
  38. package/dist/esm/XyoNetworkPayloadWrapper.d.ts +13 -0
  39. package/dist/esm/XyoNetworkPayloadWrapper.js +27 -0
  40. package/dist/esm/XyoNetworkPayloadWrapper.js.map +1 -0
  41. package/dist/esm/index.d.ts +8 -2
  42. package/dist/esm/index.js +8 -2
  43. package/dist/esm/index.js.map +1 -1
  44. package/dist/esm/knownArchivists.d.ts +2 -2
  45. package/dist/esm/knownArchivists.js +7 -3
  46. package/dist/esm/knownArchivists.js.map +1 -1
  47. package/dist/esm/knownDiviners.d.ts +2 -2
  48. package/dist/esm/knownDiviners.js +5 -2
  49. package/dist/esm/knownDiviners.js.map +1 -1
  50. package/dist/esm/knownNetworks.d.ts +2 -2
  51. package/dist/esm/knownNetworks.js +8 -4
  52. package/dist/esm/knownNetworks.js.map +1 -1
  53. package/dist/esm/schema.d.ts +2 -0
  54. package/dist/esm/schema.js +3 -0
  55. package/dist/esm/schema.js.map +1 -0
  56. package/package.json +5 -4
  57. package/src/XyoNetworkNodePayload.ts +15 -0
  58. package/src/XyoNetworkNodePayloadWrapper.ts +20 -0
  59. package/src/XyoNetworkPayload.ts +12 -0
  60. package/src/XyoNetworkPayloadWrapper.ts +39 -0
  61. package/src/index.ts +8 -2
  62. package/src/knownArchivists.ts +12 -8
  63. package/src/knownDiviners.ts +9 -6
  64. package/src/knownNetworks.ts +17 -13
  65. package/src/schema.ts +2 -0
  66. package/dist/cjs/XyoNetworkConfig.d.ts +0 -6
  67. package/dist/cjs/XyoNetworkConfig.js.map +0 -1
  68. package/dist/cjs/XyoNetworkConfigWrapper.d.ts +0 -12
  69. package/dist/cjs/XyoNetworkConfigWrapper.js +0 -31
  70. package/dist/cjs/XyoNetworkConfigWrapper.js.map +0 -1
  71. package/dist/cjs/XyoNodeConfig.d.ts +0 -9
  72. package/dist/cjs/XyoNodeConfig.js.map +0 -1
  73. package/dist/cjs/XyoNodeConfigWrapper.d.ts +0 -6
  74. package/dist/cjs/XyoNodeConfigWrapper.js +0 -18
  75. package/dist/cjs/XyoNodeConfigWrapper.js.map +0 -1
  76. package/dist/esm/XyoNetworkConfig.d.ts +0 -6
  77. package/dist/esm/XyoNetworkConfig.js +0 -2
  78. package/dist/esm/XyoNetworkConfig.js.map +0 -1
  79. package/dist/esm/XyoNetworkConfigWrapper.d.ts +0 -12
  80. package/dist/esm/XyoNetworkConfigWrapper.js +0 -27
  81. package/dist/esm/XyoNetworkConfigWrapper.js.map +0 -1
  82. package/dist/esm/XyoNodeConfig.d.ts +0 -9
  83. package/dist/esm/XyoNodeConfig.js +0 -2
  84. package/dist/esm/XyoNodeConfig.js.map +0 -1
  85. package/dist/esm/XyoNodeConfigWrapper.d.ts +0 -6
  86. package/dist/esm/XyoNodeConfigWrapper.js +0 -13
  87. package/dist/esm/XyoNodeConfigWrapper.js.map +0 -1
  88. package/src/XyoNetworkConfig.ts +0 -7
  89. package/src/XyoNetworkConfigWrapper.ts +0 -41
  90. package/src/XyoNodeConfig.ts +0 -10
  91. package/src/XyoNodeConfigWrapper.ts +0 -18
@@ -0,0 +1,12 @@
1
+ import { XyoPayload } from '@xyo-network/core';
2
+ export declare type XyoNetworkNodeType = 'archivist' | 'diviner' | 'bridge' | 'sentinel';
3
+ export interface XyoNetworkNodePayload extends XyoPayload {
4
+ type: XyoNetworkNodeType;
5
+ slug: string;
6
+ name?: string;
7
+ uri: string;
8
+ web?: string;
9
+ docs?: string;
10
+ }
11
+ /** @deprecated use XyoNodePayload instead */
12
+ export declare type XyoNodeConfig = XyoNetworkNodePayload;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=XyoNetworkNodePayload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoNetworkNodePayload.js","sourceRoot":"","sources":["../../src/XyoNetworkNodePayload.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { XyoPayloadWrapper } from '@xyo-network/core';
2
+ import { XyoNetworkNodePayload } from './XyoNetworkNodePayload';
3
+ export declare class XyoNetworkNodePayloadWrapper<T extends XyoNetworkNodePayload = XyoNetworkNodePayload> extends XyoPayloadWrapper<T> {
4
+ static known(hash: string): XyoNetworkNodePayloadWrapper<XyoNetworkNodePayload>;
5
+ }
6
+ /** @deprecated use XyoNodePayloadWrapper instead */
7
+ export declare const XyoNodeConfigWrapper: typeof XyoNetworkNodePayloadWrapper;
@@ -0,0 +1,14 @@
1
+ import { assertEx } from '@xylabs/sdk-js';
2
+ import { XyoPayloadWrapper } from '@xyo-network/core';
3
+ import { knownArchivists } from './knownArchivists';
4
+ import { knownDiviners } from './knownDiviners';
5
+ export class XyoNetworkNodePayloadWrapper extends XyoPayloadWrapper {
6
+ static known(hash) {
7
+ const config = assertEx(knownArchivists().find((payload) => new XyoNetworkNodePayloadWrapper(payload).hash === hash) ??
8
+ knownDiviners().find((payload) => new XyoNetworkNodePayloadWrapper(payload).hash === hash), 'Unknown node');
9
+ return new XyoNetworkNodePayloadWrapper(config);
10
+ }
11
+ }
12
+ /** @deprecated use XyoNodePayloadWrapper instead */
13
+ export const XyoNodeConfigWrapper = XyoNetworkNodePayloadWrapper;
14
+ //# sourceMappingURL=XyoNetworkNodePayloadWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoNetworkNodePayloadWrapper.js","sourceRoot":"","sources":["../../src/XyoNetworkNodePayloadWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,MAAM,OAAO,4BAAsF,SAAQ,iBAAoB;IAC7H,MAAM,CAAC,KAAK,CAAC,IAAY;QACvB,MAAM,MAAM,GAAG,QAAQ,CACrB,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,4BAA4B,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;YAC1F,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,4BAA4B,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAC5F,cAAc,CACf,CAAA;QACD,OAAO,IAAI,4BAA4B,CAAC,MAAM,CAAC,CAAA;IACjD,CAAC;CACF;AAED,oDAAoD;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,4BAA4B,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { XyoPayload } from '@xyo-network/core';
2
+ import { XyoNetworkNodePayload } from './XyoNetworkNodePayload';
3
+ export interface XyoNetworkPayload extends XyoPayload {
4
+ slug: string;
5
+ name?: string;
6
+ nodes?: XyoNetworkNodePayload[];
7
+ }
8
+ /** @deprecated use XyoNetworkPayload instead */
9
+ export declare type XyoNetworkConfig = XyoNetworkPayload;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=XyoNetworkPayload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoNetworkPayload.js","sourceRoot":"","sources":["../../src/XyoNetworkPayload.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { XyoPayloadWrapper } from '@xyo-network/core';
2
+ import { XyoNetworkNodeType } from './XyoNetworkNodePayload';
3
+ import { XyoNetworkPayload } from './XyoNetworkPayload';
4
+ export declare class XyoNetworkPayloadWrapper extends XyoPayloadWrapper<XyoNetworkPayload> {
5
+ filterNodesByType(type: XyoNetworkNodeType): import("./XyoNetworkNodePayload").XyoNetworkNodePayload[] | undefined;
6
+ get archivists(): import("./XyoNetworkNodePayload").XyoNetworkNodePayload[] | undefined;
7
+ get diviners(): import("./XyoNetworkNodePayload").XyoNetworkNodePayload[] | undefined;
8
+ get bridges(): import("./XyoNetworkNodePayload").XyoNetworkNodePayload[] | undefined;
9
+ get sentinels(): import("./XyoNetworkNodePayload").XyoNetworkNodePayload[] | undefined;
10
+ static known(hash: string): XyoNetworkPayloadWrapper;
11
+ }
12
+ /** @deprecated use XyoNetworkPayloadWrapper instead */
13
+ export declare const XyoNetworkConfigWrapper: typeof XyoNetworkPayloadWrapper;
@@ -0,0 +1,27 @@
1
+ import { assertEx } from '@xylabs/sdk-js';
2
+ import { XyoPayloadWrapper } from '@xyo-network/core';
3
+ import { knownNetworks } from './knownNetworks';
4
+ export class XyoNetworkPayloadWrapper extends XyoPayloadWrapper {
5
+ filterNodesByType(type) {
6
+ return this.payload.nodes?.filter((node) => node.type === type);
7
+ }
8
+ get archivists() {
9
+ return this.filterNodesByType('archivist');
10
+ }
11
+ get diviners() {
12
+ return this.filterNodesByType('diviner');
13
+ }
14
+ get bridges() {
15
+ return this.filterNodesByType('bridge');
16
+ }
17
+ get sentinels() {
18
+ return this.filterNodesByType('sentinel');
19
+ }
20
+ static known(hash) {
21
+ const payload = assertEx(knownNetworks().find((payload) => new XyoNetworkPayloadWrapper(payload).hash === hash), 'Unknown network');
22
+ return new XyoNetworkPayloadWrapper(payload);
23
+ }
24
+ }
25
+ /** @deprecated use XyoNetworkPayloadWrapper instead */
26
+ export const XyoNetworkConfigWrapper = XyoNetworkPayloadWrapper;
27
+ //# sourceMappingURL=XyoNetworkPayloadWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoNetworkPayloadWrapper.js","sourceRoot":"","sources":["../../src/XyoNetworkPayloadWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAI/C,MAAM,OAAO,wBAAyB,SAAQ,iBAAoC;IACzE,iBAAiB,CAAC,IAAwB;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IACjE,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAC5C,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAC1C,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IACzC,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAY;QACvB,MAAM,OAAO,GAAG,QAAQ,CACtB,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EACtF,iBAAiB,CAClB,CAAA;QACD,OAAO,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;CACF;AAED,uDAAuD;AACvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAA"}
@@ -1,2 +1,8 @@
1
- export * from './XyoNetworkConfig';
2
- export * from './XyoNodeConfig';
1
+ export * from './knownArchivists';
2
+ export * from './knownDiviners';
3
+ export * from './knownNetworks';
4
+ export * from './schema';
5
+ export * from './XyoNetworkNodePayload';
6
+ export * from './XyoNetworkNodePayloadWrapper';
7
+ export * from './XyoNetworkPayload';
8
+ export * from './XyoNetworkPayloadWrapper';
package/dist/esm/index.js CHANGED
@@ -1,3 +1,9 @@
1
- export * from './XyoNetworkConfig';
2
- export * from './XyoNodeConfig';
1
+ export * from './knownArchivists';
2
+ export * from './knownDiviners';
3
+ export * from './knownNetworks';
4
+ export * from './schema';
5
+ export * from './XyoNetworkNodePayload';
6
+ export * from './XyoNetworkNodePayloadWrapper';
7
+ export * from './XyoNetworkPayload';
8
+ export * from './XyoNetworkPayloadWrapper';
3
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA"}
@@ -1,2 +1,2 @@
1
- import { XyoNodeConfig } from './XyoNodeConfig';
2
- export declare const knownArchivists: () => XyoNodeConfig[];
1
+ import { XyoNetworkNodePayload } from './XyoNetworkNodePayload';
2
+ export declare const knownArchivists: () => XyoNetworkNodePayload[];
@@ -1,8 +1,10 @@
1
+ import { XyoNetworkNodePayloadSchema } from './schema';
1
2
  const kerplunkArchivist = () => {
2
3
  return {
3
4
  docs: 'https://beta.archivist.xyo.network/api',
4
5
  name: 'XYO Shared Archivist (kerplunk)',
5
- slug: 'kerplunk-archivist-xyo-network',
6
+ schema: XyoNetworkNodePayloadSchema,
7
+ slug: 'kerplunk',
6
8
  type: 'archivist',
7
9
  uri: 'https://beta.api.archivist.xyo.network',
8
10
  web: 'https://beta.archivist.xyo.network',
@@ -12,7 +14,8 @@ const mainArchivist = () => {
12
14
  return {
13
15
  docs: 'https://archivist.xyo.network/api',
14
16
  name: 'XYO Shared Archivist (main)',
15
- slug: 'main-archivist-xyo-network',
17
+ schema: XyoNetworkNodePayloadSchema,
18
+ slug: 'main',
16
19
  type: 'archivist',
17
20
  uri: 'https://api.archivist.xyo.network',
18
21
  web: 'https://archivist.xyo.network',
@@ -22,7 +25,8 @@ const localArchivist = () => {
22
25
  return {
23
26
  docs: 'http://localhost:8080/api',
24
27
  name: 'XYO Shared Archivist (local)',
25
- slug: 'local-archivist-xyo-network',
28
+ schema: XyoNetworkNodePayloadSchema,
29
+ slug: 'local',
26
30
  type: 'archivist',
27
31
  uri: 'http://localhost:8080',
28
32
  web: 'http://localhost:8081',
@@ -1 +1 @@
1
- {"version":3,"file":"knownArchivists.js","sourceRoot":"","sources":["../../src/knownArchivists.ts"],"names":[],"mappings":"AAEA,MAAM,iBAAiB,GAAG,GAAkB,EAAE;IAC5C,OAAO;QACL,IAAI,EAAE,wCAAwC;QAC9C,IAAI,EAAE,iCAAiC;QACvC,IAAI,EAAE,gCAAgC;QACtC,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,wCAAwC;QAC7C,GAAG,EAAE,oCAAoC;KAC1C,CAAA;AACH,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,GAAkB,EAAE;IACxC,OAAO;QACL,IAAI,EAAE,mCAAmC;QACzC,IAAI,EAAE,6BAA6B;QACnC,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,mCAAmC;QACxC,GAAG,EAAE,+BAA+B;KACrC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,GAAkB,EAAE;IACzC,OAAO;QACL,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE,6BAA6B;QACnC,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,uBAAuB;QAC5B,GAAG,EAAE,uBAAuB;KAC7B,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,GAAoB,EAAE,CAAC,CAAC,iBAAiB,EAAE,EAAE,aAAa,EAAE,EAAE,cAAc,EAAE,CAAC,CAAA"}
1
+ {"version":3,"file":"knownArchivists.js","sourceRoot":"","sources":["../../src/knownArchivists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAA;AAGtD,MAAM,iBAAiB,GAAG,GAA0B,EAAE;IACpD,OAAO;QACL,IAAI,EAAE,wCAAwC;QAC9C,IAAI,EAAE,iCAAiC;QACvC,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,wCAAwC;QAC7C,GAAG,EAAE,oCAAoC;KAC1C,CAAA;AACH,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,GAA0B,EAAE;IAChD,OAAO;QACL,IAAI,EAAE,mCAAmC;QACzC,IAAI,EAAE,6BAA6B;QACnC,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,mCAAmC;QACxC,GAAG,EAAE,+BAA+B;KACrC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,GAA0B,EAAE;IACjD,OAAO;QACL,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,8BAA8B;QACpC,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,uBAAuB;QAC5B,GAAG,EAAE,uBAAuB;KAC7B,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,GAA4B,EAAE,CAAC,CAAC,iBAAiB,EAAE,EAAE,aAAa,EAAE,EAAE,cAAc,EAAE,CAAC,CAAA"}
@@ -1,2 +1,2 @@
1
- import { XyoNodeConfig } from './XyoNodeConfig';
2
- export declare const knownDiviners: () => XyoNodeConfig[];
1
+ import { XyoNetworkNodePayload } from './XyoNetworkNodePayload';
2
+ export declare const knownDiviners: () => XyoNetworkNodePayload[];
@@ -1,7 +1,9 @@
1
+ import { XyoNetworkNodePayloadSchema } from './schema';
1
2
  const beta = () => {
2
3
  return {
3
4
  name: 'XYO Location (beta)',
4
- slug: 'beta-location-diviner-xyo-network',
5
+ schema: XyoNetworkNodePayloadSchema,
6
+ slug: 'beta',
5
7
  type: 'diviner',
6
8
  uri: 'https://beta.api.location.diviner.xyo.network',
7
9
  web: 'https://beta.explore.xyo.network',
@@ -10,7 +12,8 @@ const beta = () => {
10
12
  const main = () => {
11
13
  return {
12
14
  name: 'XYO Location',
13
- slug: 'location-diviner-xyo-network',
15
+ schema: XyoNetworkNodePayloadSchema,
16
+ slug: 'main',
14
17
  type: 'diviner',
15
18
  uri: 'https://api.location.diviner.xyo.network',
16
19
  web: 'https://explore.xyo.network',
@@ -1 +1 @@
1
- {"version":3,"file":"knownDiviners.js","sourceRoot":"","sources":["../../src/knownDiviners.ts"],"names":[],"mappings":"AAEA,MAAM,IAAI,GAAG,GAAkB,EAAE;IAC/B,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,mCAAmC;QACzC,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,+CAA+C;QACpD,GAAG,EAAE,kCAAkC;KACxC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,IAAI,GAAG,GAAkB,EAAE;IAC/B,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,0CAA0C;QAC/C,GAAG,EAAE,6BAA6B;KACnC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,GAAoB,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA"}
1
+ {"version":3,"file":"knownDiviners.js","sourceRoot":"","sources":["../../src/knownDiviners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAA;AAGtD,MAAM,IAAI,GAAG,GAA0B,EAAE;IACvC,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,+CAA+C;QACpD,GAAG,EAAE,kCAAkC;KACxC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,IAAI,GAAG,GAA0B,EAAE;IACvC,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,0CAA0C;QAC/C,GAAG,EAAE,6BAA6B;KACnC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,GAA4B,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA"}
@@ -1,2 +1,2 @@
1
- import { XyoNetworkConfig } from './XyoNetworkConfig';
2
- export declare const knownNetworks: () => XyoNetworkConfig[];
1
+ import { XyoNetworkPayload } from './XyoNetworkPayload';
2
+ export declare const knownNetworks: () => XyoNetworkPayload[];
@@ -1,22 +1,26 @@
1
- import { XyoNodeConfigWrapper } from './XyoNodeConfigWrapper';
1
+ import { XyoNetworkPayloadSchema } from './schema';
2
+ import { XyoNetworkNodePayloadWrapper } from './XyoNetworkNodePayloadWrapper';
2
3
  const kerplunk = () => {
3
4
  return {
4
5
  name: 'Kerplunk',
5
- nodes: [XyoNodeConfigWrapper.known('kerplunk-archivist-xyo-network')?.config, XyoNodeConfigWrapper.known('beta-location-diviner-xyo-network')?.config].filter((item) => item),
6
+ nodes: [XyoNetworkNodePayloadWrapper.known('kerplunk-archivist-xyo-network')?.payload, XyoNetworkNodePayloadWrapper.known('beta-location-diviner-xyo-network')?.payload].filter((item) => item),
7
+ schema: XyoNetworkPayloadSchema,
6
8
  slug: 'kerplunk',
7
9
  };
8
10
  };
9
11
  const main = () => {
10
12
  return {
11
13
  name: 'Main',
12
- nodes: [XyoNodeConfigWrapper.known('main-archivist-xyo-network')?.config, XyoNodeConfigWrapper.known('location-diviner-xyo-network')?.config].filter((item) => item),
14
+ nodes: [XyoNetworkNodePayloadWrapper.known('main-archivist-xyo-network')?.payload, XyoNetworkNodePayloadWrapper.known('location-diviner-xyo-network')?.payload].filter((item) => item),
15
+ schema: XyoNetworkPayloadSchema,
13
16
  slug: 'main',
14
17
  };
15
18
  };
16
19
  const local = () => {
17
20
  return {
18
21
  name: 'Local',
19
- nodes: [XyoNodeConfigWrapper.known('kerplunk-archivist-xyo-network')?.config, XyoNodeConfigWrapper.known('beta-location-diviner-xyo-network')?.config].filter((item) => item),
22
+ nodes: [XyoNetworkNodePayloadWrapper.known('kerplunk-archivist-xyo-network')?.payload, XyoNetworkNodePayloadWrapper.known('beta-location-diviner-xyo-network')?.payload].filter((item) => item),
23
+ schema: XyoNetworkPayloadSchema,
20
24
  slug: 'local',
21
25
  };
22
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"knownNetworks.js","sourceRoot":"","sources":["../../src/knownNetworks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,MAAM,QAAQ,GAAG,GAAqB,EAAE;IACtC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,mCAAmC,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAC3J,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CACI;QACpB,IAAI,EAAE,UAAU;KACjB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,IAAI,GAAG,GAAqB,EAAE;IAClC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAClJ,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CACI;QACpB,IAAI,EAAE,MAAM;KACb,CAAA;AACH,CAAC,CAAA;AAED,MAAM,KAAK,GAAG,GAAqB,EAAE;IACnC,OAAO;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,mCAAmC,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAC3J,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CACI;QACpB,IAAI,EAAE,OAAO;KACd,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,GAAuB,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA"}
1
+ {"version":3,"file":"knownNetworks.js","sourceRoot":"","sources":["../../src/knownNetworks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAElD,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAG7E,MAAM,QAAQ,GAAG,GAAsB,EAAE;IACvC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,CAAC,4BAA4B,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE,OAAO,EAAE,4BAA4B,CAAC,KAAK,CAAC,mCAAmC,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAC7K,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CACY;QAC5B,MAAM,EAAE,uBAAuB;QAC/B,IAAI,EAAE,UAAU;KACjB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,IAAI,GAAG,GAAsB,EAAE;IACnC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,CAAC,4BAA4B,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE,OAAO,EAAE,4BAA4B,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CACpK,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CACY;QAC5B,MAAM,EAAE,uBAAuB;QAC/B,IAAI,EAAE,MAAM;KACb,CAAA;AACH,CAAC,CAAA;AAED,MAAM,KAAK,GAAG,GAAsB,EAAE;IACpC,OAAO;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,CAAC,4BAA4B,CAAC,KAAK,CAAC,gCAAgC,CAAC,EAAE,OAAO,EAAE,4BAA4B,CAAC,KAAK,CAAC,mCAAmC,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAC7K,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CACY;QAC5B,MAAM,EAAE,uBAAuB;QAC/B,IAAI,EAAE,OAAO;KACd,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,GAAwB,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const XyoNetworkPayloadSchema = "network.xyo.network";
2
+ export declare const XyoNetworkNodePayloadSchema = "network.xyo.network.node";
@@ -0,0 +1,3 @@
1
+ export const XyoNetworkPayloadSchema = 'network.xyo.network';
2
+ export const XyoNetworkNodePayloadSchema = 'network.xyo.network.node';
3
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,qBAAqB,CAAA;AAC5D,MAAM,CAAC,MAAM,2BAA2B,GAAG,0BAA0B,CAAA"}
package/package.json CHANGED
@@ -9,12 +9,13 @@
9
9
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
10
10
  },
11
11
  "dependencies": {
12
- "@xylabs/sdk-js": "^2.5.5"
12
+ "@xylabs/sdk-js": "^2.5.5",
13
+ "@xyo-network/core": "^2.20.33"
13
14
  },
14
15
  "description": "Primary SDK for using XYO Protocol 2.0",
15
16
  "devDependencies": {
16
- "@babel/core": "^7.17.12",
17
- "@babel/preset-env": "^7.17.12",
17
+ "@babel/core": "^7.18.0",
18
+ "@babel/preset-env": "^7.18.0",
18
19
  "@xylabs/eslint-config": "^2.3.22",
19
20
  "@xylabs/ts-scripts": "^1.0.66",
20
21
  "@xylabs/tsconfig": "^1.0.13",
@@ -62,6 +63,6 @@
62
63
  },
63
64
  "sideEffects": true,
64
65
  "types": "dist/esm/index.d.ts",
65
- "version": "2.20.30",
66
+ "version": "2.20.33",
66
67
  "packageManager": "yarn@3.1.1"
67
68
  }
@@ -0,0 +1,15 @@
1
+ import { XyoPayload } from '@xyo-network/core'
2
+
3
+ export type XyoNetworkNodeType = 'archivist' | 'diviner' | 'bridge' | 'sentinel'
4
+
5
+ export interface XyoNetworkNodePayload extends XyoPayload {
6
+ type: XyoNetworkNodeType
7
+ slug: string
8
+ name?: string
9
+ uri: string
10
+ web?: string
11
+ docs?: string
12
+ }
13
+
14
+ /** @deprecated use XyoNodePayload instead */
15
+ export type XyoNodeConfig = XyoNetworkNodePayload
@@ -0,0 +1,20 @@
1
+ import { assertEx } from '@xylabs/sdk-js'
2
+ import { XyoPayloadWrapper } from '@xyo-network/core'
3
+
4
+ import { knownArchivists } from './knownArchivists'
5
+ import { knownDiviners } from './knownDiviners'
6
+ import { XyoNetworkNodePayload } from './XyoNetworkNodePayload'
7
+
8
+ export class XyoNetworkNodePayloadWrapper<T extends XyoNetworkNodePayload = XyoNetworkNodePayload> extends XyoPayloadWrapper<T> {
9
+ static known(hash: string) {
10
+ const config = assertEx(
11
+ knownArchivists().find((payload) => new XyoNetworkNodePayloadWrapper(payload).hash === hash) ??
12
+ knownDiviners().find((payload) => new XyoNetworkNodePayloadWrapper(payload).hash === hash),
13
+ 'Unknown node'
14
+ )
15
+ return new XyoNetworkNodePayloadWrapper(config)
16
+ }
17
+ }
18
+
19
+ /** @deprecated use XyoNodePayloadWrapper instead */
20
+ export const XyoNodeConfigWrapper = XyoNetworkNodePayloadWrapper
@@ -0,0 +1,12 @@
1
+ import { XyoPayload } from '@xyo-network/core'
2
+
3
+ import { XyoNetworkNodePayload } from './XyoNetworkNodePayload'
4
+
5
+ export interface XyoNetworkPayload extends XyoPayload {
6
+ slug: string
7
+ name?: string
8
+ nodes?: XyoNetworkNodePayload[]
9
+ }
10
+
11
+ /** @deprecated use XyoNetworkPayload instead */
12
+ export type XyoNetworkConfig = XyoNetworkPayload
@@ -0,0 +1,39 @@
1
+ import { assertEx } from '@xylabs/sdk-js'
2
+ import { XyoPayloadWrapper } from '@xyo-network/core'
3
+
4
+ import { knownNetworks } from './knownNetworks'
5
+ import { XyoNetworkNodeType } from './XyoNetworkNodePayload'
6
+ import { XyoNetworkPayload } from './XyoNetworkPayload'
7
+
8
+ export class XyoNetworkPayloadWrapper extends XyoPayloadWrapper<XyoNetworkPayload> {
9
+ public filterNodesByType(type: XyoNetworkNodeType) {
10
+ return this.payload.nodes?.filter((node) => node.type === type)
11
+ }
12
+
13
+ public get archivists() {
14
+ return this.filterNodesByType('archivist')
15
+ }
16
+
17
+ public get diviners() {
18
+ return this.filterNodesByType('diviner')
19
+ }
20
+
21
+ public get bridges() {
22
+ return this.filterNodesByType('bridge')
23
+ }
24
+
25
+ public get sentinels() {
26
+ return this.filterNodesByType('sentinel')
27
+ }
28
+
29
+ static known(hash: string) {
30
+ const payload = assertEx(
31
+ knownNetworks().find((payload) => new XyoNetworkPayloadWrapper(payload).hash === hash),
32
+ 'Unknown network'
33
+ )
34
+ return new XyoNetworkPayloadWrapper(payload)
35
+ }
36
+ }
37
+
38
+ /** @deprecated use XyoNetworkPayloadWrapper instead */
39
+ export const XyoNetworkConfigWrapper = XyoNetworkPayloadWrapper
package/src/index.ts CHANGED
@@ -1,2 +1,8 @@
1
- export * from './XyoNetworkConfig'
2
- export * from './XyoNodeConfig'
1
+ export * from './knownArchivists'
2
+ export * from './knownDiviners'
3
+ export * from './knownNetworks'
4
+ export * from './schema'
5
+ export * from './XyoNetworkNodePayload'
6
+ export * from './XyoNetworkNodePayloadWrapper'
7
+ export * from './XyoNetworkPayload'
8
+ export * from './XyoNetworkPayloadWrapper'
@@ -1,36 +1,40 @@
1
- import { XyoNodeConfig } from './XyoNodeConfig'
1
+ import { XyoNetworkNodePayloadSchema } from './schema'
2
+ import { XyoNetworkNodePayload } from './XyoNetworkNodePayload'
2
3
 
3
- const kerplunkArchivist = (): XyoNodeConfig => {
4
+ const kerplunkArchivist = (): XyoNetworkNodePayload => {
4
5
  return {
5
6
  docs: 'https://beta.archivist.xyo.network/api',
6
7
  name: 'XYO Shared Archivist (kerplunk)',
7
- slug: 'kerplunk-archivist-xyo-network',
8
+ schema: XyoNetworkNodePayloadSchema,
9
+ slug: 'kerplunk',
8
10
  type: 'archivist',
9
11
  uri: 'https://beta.api.archivist.xyo.network',
10
12
  web: 'https://beta.archivist.xyo.network',
11
13
  }
12
14
  }
13
15
 
14
- const mainArchivist = (): XyoNodeConfig => {
16
+ const mainArchivist = (): XyoNetworkNodePayload => {
15
17
  return {
16
18
  docs: 'https://archivist.xyo.network/api',
17
19
  name: 'XYO Shared Archivist (main)',
18
- slug: 'main-archivist-xyo-network',
20
+ schema: XyoNetworkNodePayloadSchema,
21
+ slug: 'main',
19
22
  type: 'archivist',
20
23
  uri: 'https://api.archivist.xyo.network',
21
24
  web: 'https://archivist.xyo.network',
22
25
  }
23
26
  }
24
27
 
25
- const localArchivist = (): XyoNodeConfig => {
28
+ const localArchivist = (): XyoNetworkNodePayload => {
26
29
  return {
27
30
  docs: 'http://localhost:8080/api',
28
31
  name: 'XYO Shared Archivist (local)',
29
- slug: 'local-archivist-xyo-network',
32
+ schema: XyoNetworkNodePayloadSchema,
33
+ slug: 'local',
30
34
  type: 'archivist',
31
35
  uri: 'http://localhost:8080',
32
36
  web: 'http://localhost:8081',
33
37
  }
34
38
  }
35
39
 
36
- export const knownArchivists = (): XyoNodeConfig[] => [kerplunkArchivist(), mainArchivist(), localArchivist()]
40
+ export const knownArchivists = (): XyoNetworkNodePayload[] => [kerplunkArchivist(), mainArchivist(), localArchivist()]
@@ -1,23 +1,26 @@
1
- import { XyoNodeConfig } from './XyoNodeConfig'
1
+ import { XyoNetworkNodePayloadSchema } from './schema'
2
+ import { XyoNetworkNodePayload } from './XyoNetworkNodePayload'
2
3
 
3
- const beta = (): XyoNodeConfig => {
4
+ const beta = (): XyoNetworkNodePayload => {
4
5
  return {
5
6
  name: 'XYO Location (beta)',
6
- slug: 'beta-location-diviner-xyo-network',
7
+ schema: XyoNetworkNodePayloadSchema,
8
+ slug: 'beta',
7
9
  type: 'diviner',
8
10
  uri: 'https://beta.api.location.diviner.xyo.network',
9
11
  web: 'https://beta.explore.xyo.network',
10
12
  }
11
13
  }
12
14
 
13
- const main = (): XyoNodeConfig => {
15
+ const main = (): XyoNetworkNodePayload => {
14
16
  return {
15
17
  name: 'XYO Location',
16
- slug: 'location-diviner-xyo-network',
18
+ schema: XyoNetworkNodePayloadSchema,
19
+ slug: 'main',
17
20
  type: 'diviner',
18
21
  uri: 'https://api.location.diviner.xyo.network',
19
22
  web: 'https://explore.xyo.network',
20
23
  }
21
24
  }
22
25
 
23
- export const knownDiviners = (): XyoNodeConfig[] => [beta(), main()]
26
+ export const knownDiviners = (): XyoNetworkNodePayload[] => [beta(), main()]
@@ -1,35 +1,39 @@
1
- import { XyoNetworkConfig } from './XyoNetworkConfig'
2
- import { XyoNodeConfig } from './XyoNodeConfig'
3
- import { XyoNodeConfigWrapper } from './XyoNodeConfigWrapper'
1
+ import { XyoNetworkPayloadSchema } from './schema'
2
+ import { XyoNetworkNodePayload } from './XyoNetworkNodePayload'
3
+ import { XyoNetworkNodePayloadWrapper } from './XyoNetworkNodePayloadWrapper'
4
+ import { XyoNetworkPayload } from './XyoNetworkPayload'
4
5
 
5
- const kerplunk = (): XyoNetworkConfig => {
6
+ const kerplunk = (): XyoNetworkPayload => {
6
7
  return {
7
8
  name: 'Kerplunk',
8
- nodes: [XyoNodeConfigWrapper.known('kerplunk-archivist-xyo-network')?.config, XyoNodeConfigWrapper.known('beta-location-diviner-xyo-network')?.config].filter(
9
+ nodes: [XyoNetworkNodePayloadWrapper.known('kerplunk-archivist-xyo-network')?.payload, XyoNetworkNodePayloadWrapper.known('beta-location-diviner-xyo-network')?.payload].filter(
9
10
  (item) => item
10
- ) as XyoNodeConfig[],
11
+ ) as XyoNetworkNodePayload[],
12
+ schema: XyoNetworkPayloadSchema,
11
13
  slug: 'kerplunk',
12
14
  }
13
15
  }
14
16
 
15
- const main = (): XyoNetworkConfig => {
17
+ const main = (): XyoNetworkPayload => {
16
18
  return {
17
19
  name: 'Main',
18
- nodes: [XyoNodeConfigWrapper.known('main-archivist-xyo-network')?.config, XyoNodeConfigWrapper.known('location-diviner-xyo-network')?.config].filter(
20
+ nodes: [XyoNetworkNodePayloadWrapper.known('main-archivist-xyo-network')?.payload, XyoNetworkNodePayloadWrapper.known('location-diviner-xyo-network')?.payload].filter(
19
21
  (item) => item
20
- ) as XyoNodeConfig[],
22
+ ) as XyoNetworkNodePayload[],
23
+ schema: XyoNetworkPayloadSchema,
21
24
  slug: 'main',
22
25
  }
23
26
  }
24
27
 
25
- const local = (): XyoNetworkConfig => {
28
+ const local = (): XyoNetworkPayload => {
26
29
  return {
27
30
  name: 'Local',
28
- nodes: [XyoNodeConfigWrapper.known('kerplunk-archivist-xyo-network')?.config, XyoNodeConfigWrapper.known('beta-location-diviner-xyo-network')?.config].filter(
31
+ nodes: [XyoNetworkNodePayloadWrapper.known('kerplunk-archivist-xyo-network')?.payload, XyoNetworkNodePayloadWrapper.known('beta-location-diviner-xyo-network')?.payload].filter(
29
32
  (item) => item
30
- ) as XyoNodeConfig[],
33
+ ) as XyoNetworkNodePayload[],
34
+ schema: XyoNetworkPayloadSchema,
31
35
  slug: 'local',
32
36
  }
33
37
  }
34
38
 
35
- export const knownNetworks = (): XyoNetworkConfig[] => [kerplunk(), main(), local()]
39
+ export const knownNetworks = (): XyoNetworkPayload[] => [kerplunk(), main(), local()]
package/src/schema.ts ADDED
@@ -0,0 +1,2 @@
1
+ export const XyoNetworkPayloadSchema = 'network.xyo.network'
2
+ export const XyoNetworkNodePayloadSchema = 'network.xyo.network.node'
@@ -1,6 +0,0 @@
1
- import { XyoNodeConfig } from './XyoNodeConfig';
2
- export interface XyoNetworkConfig {
3
- slug: string;
4
- name: string;
5
- nodes: XyoNodeConfig[];
6
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"XyoNetworkConfig.js","sourceRoot":"","sources":["../../src/XyoNetworkConfig.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- import { XyoNetworkConfig } from './XyoNetworkConfig';
2
- import { XyoNodeType } from './XyoNodeConfig';
3
- export declare class XyoNetworkConfigWrapper {
4
- config: XyoNetworkConfig;
5
- constructor(config: XyoNetworkConfig);
6
- filterNodesByType(type: XyoNodeType): import("./XyoNodeConfig").XyoNodeConfig[];
7
- get archivists(): import("./XyoNodeConfig").XyoNodeConfig[];
8
- get diviners(): import("./XyoNodeConfig").XyoNodeConfig[];
9
- get bridges(): import("./XyoNodeConfig").XyoNodeConfig[];
10
- get sentinels(): import("./XyoNodeConfig").XyoNodeConfig[];
11
- static known(slug: string): XyoNetworkConfigWrapper;
12
- }
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XyoNetworkConfigWrapper = void 0;
4
- const sdk_js_1 = require("@xylabs/sdk-js");
5
- const knownNetworks_1 = require("./knownNetworks");
6
- class XyoNetworkConfigWrapper {
7
- constructor(config) {
8
- this.config = config;
9
- }
10
- filterNodesByType(type) {
11
- return this.config.nodes.filter((node) => node.type === type);
12
- }
13
- get archivists() {
14
- return this.filterNodesByType('archivist');
15
- }
16
- get diviners() {
17
- return this.filterNodesByType('diviner');
18
- }
19
- get bridges() {
20
- return this.filterNodesByType('bridge');
21
- }
22
- get sentinels() {
23
- return this.filterNodesByType('sentinel');
24
- }
25
- static known(slug) {
26
- const config = (0, sdk_js_1.assertEx)((0, knownNetworks_1.knownNetworks)().find((config) => config.slug === slug), 'Unknown network');
27
- return new XyoNetworkConfigWrapper(config);
28
- }
29
- }
30
- exports.XyoNetworkConfigWrapper = XyoNetworkConfigWrapper;
31
- //# sourceMappingURL=XyoNetworkConfigWrapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"XyoNetworkConfigWrapper.js","sourceRoot":"","sources":["../../src/XyoNetworkConfigWrapper.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AAEzC,mDAA+C;AAI/C,MAAa,uBAAuB;IAGlC,YAAY,MAAwB;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEM,iBAAiB,CAAC,IAAiB;QACxC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IAC/D,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAC5C,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAC1C,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IACzC,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAY;QACvB,MAAM,MAAM,GAAG,IAAA,iBAAQ,EACrB,IAAA,6BAAa,GAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,EACtD,iBAAiB,CAClB,CAAA;QACD,OAAO,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;CACF;AAlCD,0DAkCC"}