@xyo-network/url-plugin 2.81.5 → 2.81.7
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.
- package/dist/browser/PluginBrowser.d.cts +55 -0
- package/dist/browser/PluginBrowser.d.cts.map +1 -0
- package/dist/browser/PluginBrowser.d.mts +55 -0
- package/dist/browser/PluginBrowser.d.mts.map +1 -0
- package/dist/browser/PluginBrowser.d.ts +55 -0
- package/dist/browser/PluginBrowser.d.ts.map +1 -0
- package/dist/browser/{Plugin.d.cts → PluginNode.d.cts} +1 -1
- package/dist/browser/PluginNode.d.cts.map +1 -0
- package/dist/browser/{Plugin.d.ts → PluginNode.d.mts} +1 -1
- package/dist/browser/PluginNode.d.mts.map +1 -0
- package/dist/browser/{Plugin.d.mts → PluginNode.d.ts} +1 -1
- package/dist/browser/PluginNode.d.ts.map +1 -0
- package/dist/browser/Witness/Witness.d.cts +1 -0
- package/dist/browser/Witness/Witness.d.cts.map +1 -1
- package/dist/browser/Witness/Witness.d.mts +1 -0
- package/dist/browser/Witness/Witness.d.mts.map +1 -1
- package/dist/browser/Witness/Witness.d.ts +1 -0
- package/dist/browser/Witness/Witness.d.ts.map +1 -1
- package/dist/browser/indexBrowser.cjs +77 -0
- package/dist/browser/indexBrowser.cjs.map +1 -0
- package/dist/browser/indexBrowser.d.cts +5 -0
- package/dist/browser/indexBrowser.d.cts.map +1 -0
- package/dist/browser/indexBrowser.d.mts +5 -0
- package/dist/browser/indexBrowser.d.mts.map +1 -0
- package/dist/browser/indexBrowser.d.ts +5 -0
- package/dist/browser/indexBrowser.d.ts.map +1 -0
- package/dist/browser/indexBrowser.js +54 -0
- package/dist/browser/indexBrowser.js.map +1 -0
- package/dist/browser/indexNode.d.cts +5 -0
- package/dist/browser/indexNode.d.cts.map +1 -0
- package/dist/browser/indexNode.d.mts +5 -0
- package/dist/browser/indexNode.d.mts.map +1 -0
- package/dist/browser/indexNode.d.ts +5 -0
- package/dist/browser/indexNode.d.ts.map +1 -0
- package/dist/node/PluginBrowser.d.cts +55 -0
- package/dist/node/PluginBrowser.d.cts.map +1 -0
- package/dist/node/PluginBrowser.d.mts +55 -0
- package/dist/node/PluginBrowser.d.mts.map +1 -0
- package/dist/node/PluginBrowser.d.ts +55 -0
- package/dist/node/PluginBrowser.d.ts.map +1 -0
- package/dist/node/{Plugin.d.cts → PluginNode.d.cts} +1 -1
- package/dist/node/PluginNode.d.cts.map +1 -0
- package/dist/node/PluginNode.d.mts +55 -0
- package/dist/node/PluginNode.d.mts.map +1 -0
- package/dist/node/PluginNode.d.ts +55 -0
- package/dist/node/PluginNode.d.ts.map +1 -0
- package/dist/node/Witness/Witness.d.cts +1 -0
- package/dist/node/Witness/Witness.d.cts.map +1 -1
- package/dist/node/Witness/Witness.d.mts +1 -0
- package/dist/node/Witness/Witness.d.mts.map +1 -1
- package/dist/node/Witness/Witness.d.ts +1 -0
- package/dist/node/Witness/Witness.d.ts.map +1 -1
- package/dist/node/indexBrowser.d.cts +5 -0
- package/dist/node/indexBrowser.d.cts.map +1 -0
- package/dist/node/indexBrowser.d.mts +5 -0
- package/dist/node/indexBrowser.d.mts.map +1 -0
- package/dist/node/indexBrowser.d.ts +5 -0
- package/dist/node/indexBrowser.d.ts.map +1 -0
- package/dist/node/{index.cjs → indexNode.cjs} +48 -46
- package/dist/node/indexNode.cjs.map +1 -0
- package/dist/node/indexNode.d.cts +5 -0
- package/dist/node/indexNode.d.cts.map +1 -0
- package/dist/node/indexNode.d.mts +5 -0
- package/dist/node/indexNode.d.mts.map +1 -0
- package/dist/node/indexNode.d.ts +5 -0
- package/dist/node/indexNode.d.ts.map +1 -0
- package/dist/node/{index.js → indexNode.js} +42 -39
- package/dist/node/indexNode.js.map +1 -0
- package/package.json +14 -13
- package/src/PluginNode.ts +16 -0
- package/src/Witness/Witness.ts +6 -2
- package/src/indexBrowser.ts +7 -0
- package/src/indexNode.ts +10 -0
- package/src/util/hashFile.ts +1 -1
- package/xy.config.ts +6 -2
- package/dist/browser/Plugin.d.cts.map +0 -1
- package/dist/browser/Plugin.d.mts.map +0 -1
- package/dist/browser/Plugin.d.ts.map +0 -1
- package/dist/browser/index.cjs +0 -143
- package/dist/browser/index.cjs.map +0 -1
- package/dist/browser/index.d.cts +0 -5
- package/dist/browser/index.d.cts.map +0 -1
- package/dist/browser/index.d.mts +0 -5
- package/dist/browser/index.d.mts.map +0 -1
- package/dist/browser/index.d.ts +0 -5
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/index.js +0 -110
- package/dist/browser/index.js.map +0 -1
- package/dist/node/Plugin.d.cts.map +0 -1
- package/dist/node/Plugin.d.mts +0 -55
- package/dist/node/Plugin.d.mts.map +0 -1
- package/dist/node/Plugin.d.ts +0 -55
- package/dist/node/Plugin.d.ts.map +0 -1
- package/dist/node/index.cjs.map +0 -1
- package/dist/node/index.d.cts +0 -5
- package/dist/node/index.d.cts.map +0 -1
- package/dist/node/index.d.mts +0 -5
- package/dist/node/index.d.mts.map +0 -1
- package/dist/node/index.d.ts +0 -5
- package/dist/node/index.d.ts.map +0 -1
- package/dist/node/index.js.map +0 -1
- package/src/index.ts +0 -8
- /package/src/{Plugin.ts → PluginBrowser.ts} +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { UrlWitness } from './Witness';
|
|
2
|
+
export declare const UrlPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<UrlWitness<import("@xyo-network/core").BaseParamsFields & {
|
|
3
|
+
account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
|
|
4
|
+
config: import("@xyo-network/payload-model").SchemaFields & Omit<{
|
|
5
|
+
accountDerivationPath?: string | undefined;
|
|
6
|
+
readonly archivist?: import("@xyo-network/module-model").ArchivistModuleConfig | undefined;
|
|
7
|
+
readonly labels?: import("@xyo-network/module-model").Labels | undefined;
|
|
8
|
+
readonly name?: string | undefined;
|
|
9
|
+
readonly paging?: Record<string, {
|
|
10
|
+
size?: number | undefined;
|
|
11
|
+
}> | undefined;
|
|
12
|
+
readonly security?: {
|
|
13
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
14
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
|
|
15
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
16
|
+
} | undefined;
|
|
17
|
+
readonly sign?: boolean | undefined;
|
|
18
|
+
readonly storeQueries?: boolean | undefined;
|
|
19
|
+
readonly timestamp?: boolean | undefined;
|
|
20
|
+
} & import("@xyo-network/module-model").ArchivingModuleConfig & Omit<import("@xyo-network/payload-model").SchemaFields & Omit<{
|
|
21
|
+
accountDerivationPath?: string | undefined;
|
|
22
|
+
readonly archivist?: import("@xyo-network/module-model").ArchivistModuleConfig | undefined;
|
|
23
|
+
readonly labels?: import("@xyo-network/module-model").Labels | undefined;
|
|
24
|
+
readonly name?: string | undefined;
|
|
25
|
+
readonly paging?: Record<string, {
|
|
26
|
+
size?: number | undefined;
|
|
27
|
+
}> | undefined;
|
|
28
|
+
readonly security?: {
|
|
29
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
30
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
|
|
31
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
32
|
+
} | undefined;
|
|
33
|
+
readonly sign?: boolean | undefined;
|
|
34
|
+
readonly storeQueries?: boolean | undefined;
|
|
35
|
+
readonly timestamp?: boolean | undefined;
|
|
36
|
+
} & import("@xyo-network/module-model").ArchivingModuleConfig & {
|
|
37
|
+
archivist?: string | undefined;
|
|
38
|
+
schema: "network.xyo.url.witness.config";
|
|
39
|
+
targetSet?: (import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadSet & {
|
|
40
|
+
schema: "network.xyo.payload.set";
|
|
41
|
+
}) | undefined;
|
|
42
|
+
} & {
|
|
43
|
+
schema: "network.xyo.url.witness.config";
|
|
44
|
+
urls?: string[] | undefined;
|
|
45
|
+
}, "schema"> & {
|
|
46
|
+
schema: "network.xyo.url.witness.config";
|
|
47
|
+
}, "schema"> & {
|
|
48
|
+
schema: string;
|
|
49
|
+
}, "schema"> & {
|
|
50
|
+
schema: string;
|
|
51
|
+
};
|
|
52
|
+
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
53
|
+
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
54
|
+
}>>;
|
|
55
|
+
//# sourceMappingURL=PluginBrowser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginBrowser.d.ts","sourceRoot":"","sources":["../../src/PluginBrowser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASnB,CAAA"}
|
|
@@ -52,4 +52,4 @@ export declare const UrlPlugin: () => import("@xyo-network/payloadset-plugin").P
|
|
|
52
52
|
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
53
53
|
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
54
54
|
}>>;
|
|
55
|
-
//# sourceMappingURL=
|
|
55
|
+
//# sourceMappingURL=PluginNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginNode.d.ts","sourceRoot":"","sources":["../../src/PluginNode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASnB,CAAA"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { UrlWitness } from './Witness';
|
|
2
|
+
export declare const UrlPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<UrlWitness<import("@xyo-network/core").BaseParamsFields & {
|
|
3
|
+
account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
|
|
4
|
+
config: import("@xyo-network/payload-model").SchemaFields & Omit<{
|
|
5
|
+
accountDerivationPath?: string | undefined;
|
|
6
|
+
readonly archivist?: import("@xyo-network/module-model").ArchivistModuleConfig | undefined;
|
|
7
|
+
readonly labels?: import("@xyo-network/module-model").Labels | undefined;
|
|
8
|
+
readonly name?: string | undefined;
|
|
9
|
+
readonly paging?: Record<string, {
|
|
10
|
+
size?: number | undefined;
|
|
11
|
+
}> | undefined;
|
|
12
|
+
readonly security?: {
|
|
13
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
14
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
|
|
15
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
16
|
+
} | undefined;
|
|
17
|
+
readonly sign?: boolean | undefined;
|
|
18
|
+
readonly storeQueries?: boolean | undefined;
|
|
19
|
+
readonly timestamp?: boolean | undefined;
|
|
20
|
+
} & import("@xyo-network/module-model").ArchivingModuleConfig & Omit<import("@xyo-network/payload-model").SchemaFields & Omit<{
|
|
21
|
+
accountDerivationPath?: string | undefined;
|
|
22
|
+
readonly archivist?: import("@xyo-network/module-model").ArchivistModuleConfig | undefined;
|
|
23
|
+
readonly labels?: import("@xyo-network/module-model").Labels | undefined;
|
|
24
|
+
readonly name?: string | undefined;
|
|
25
|
+
readonly paging?: Record<string, {
|
|
26
|
+
size?: number | undefined;
|
|
27
|
+
}> | undefined;
|
|
28
|
+
readonly security?: {
|
|
29
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
30
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
|
|
31
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
32
|
+
} | undefined;
|
|
33
|
+
readonly sign?: boolean | undefined;
|
|
34
|
+
readonly storeQueries?: boolean | undefined;
|
|
35
|
+
readonly timestamp?: boolean | undefined;
|
|
36
|
+
} & import("@xyo-network/module-model").ArchivingModuleConfig & {
|
|
37
|
+
archivist?: string | undefined;
|
|
38
|
+
schema: "network.xyo.url.witness.config";
|
|
39
|
+
targetSet?: (import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadSet & {
|
|
40
|
+
schema: "network.xyo.payload.set";
|
|
41
|
+
}) | undefined;
|
|
42
|
+
} & {
|
|
43
|
+
schema: "network.xyo.url.witness.config";
|
|
44
|
+
urls?: string[] | undefined;
|
|
45
|
+
}, "schema"> & {
|
|
46
|
+
schema: "network.xyo.url.witness.config";
|
|
47
|
+
}, "schema"> & {
|
|
48
|
+
schema: string;
|
|
49
|
+
}, "schema"> & {
|
|
50
|
+
schema: string;
|
|
51
|
+
};
|
|
52
|
+
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
53
|
+
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
54
|
+
}>>;
|
|
55
|
+
//# sourceMappingURL=PluginNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginNode.d.ts","sourceRoot":"","sources":["../../src/PluginNode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASnB,CAAA"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { UrlWitness } from './Witness';
|
|
2
|
+
export declare const UrlPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<UrlWitness<import("@xyo-network/core").BaseParamsFields & {
|
|
3
|
+
account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
|
|
4
|
+
config: import("@xyo-network/payload-model").SchemaFields & Omit<{
|
|
5
|
+
accountDerivationPath?: string | undefined;
|
|
6
|
+
readonly archivist?: import("@xyo-network/module-model").ArchivistModuleConfig | undefined;
|
|
7
|
+
readonly labels?: import("@xyo-network/module-model").Labels | undefined;
|
|
8
|
+
readonly name?: string | undefined;
|
|
9
|
+
readonly paging?: Record<string, {
|
|
10
|
+
size?: number | undefined;
|
|
11
|
+
}> | undefined;
|
|
12
|
+
readonly security?: {
|
|
13
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
14
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
|
|
15
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
16
|
+
} | undefined;
|
|
17
|
+
readonly sign?: boolean | undefined;
|
|
18
|
+
readonly storeQueries?: boolean | undefined;
|
|
19
|
+
readonly timestamp?: boolean | undefined;
|
|
20
|
+
} & import("@xyo-network/module-model").ArchivingModuleConfig & Omit<import("@xyo-network/payload-model").SchemaFields & Omit<{
|
|
21
|
+
accountDerivationPath?: string | undefined;
|
|
22
|
+
readonly archivist?: import("@xyo-network/module-model").ArchivistModuleConfig | undefined;
|
|
23
|
+
readonly labels?: import("@xyo-network/module-model").Labels | undefined;
|
|
24
|
+
readonly name?: string | undefined;
|
|
25
|
+
readonly paging?: Record<string, {
|
|
26
|
+
size?: number | undefined;
|
|
27
|
+
}> | undefined;
|
|
28
|
+
readonly security?: {
|
|
29
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
30
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
|
|
31
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
32
|
+
} | undefined;
|
|
33
|
+
readonly sign?: boolean | undefined;
|
|
34
|
+
readonly storeQueries?: boolean | undefined;
|
|
35
|
+
readonly timestamp?: boolean | undefined;
|
|
36
|
+
} & import("@xyo-network/module-model").ArchivingModuleConfig & {
|
|
37
|
+
archivist?: string | undefined;
|
|
38
|
+
schema: "network.xyo.url.witness.config";
|
|
39
|
+
targetSet?: (import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadSet & {
|
|
40
|
+
schema: "network.xyo.payload.set";
|
|
41
|
+
}) | undefined;
|
|
42
|
+
} & {
|
|
43
|
+
schema: "network.xyo.url.witness.config";
|
|
44
|
+
urls?: string[] | undefined;
|
|
45
|
+
}, "schema"> & {
|
|
46
|
+
schema: "network.xyo.url.witness.config";
|
|
47
|
+
}, "schema"> & {
|
|
48
|
+
schema: string;
|
|
49
|
+
}, "schema"> & {
|
|
50
|
+
schema: string;
|
|
51
|
+
};
|
|
52
|
+
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
53
|
+
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
54
|
+
}>>;
|
|
55
|
+
//# sourceMappingURL=PluginNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginNode.d.ts","sourceRoot":"","sources":["../../src/PluginNode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASnB,CAAA"}
|
|
@@ -3,6 +3,7 @@ import { Payload } from '@xyo-network/payload-model';
|
|
|
3
3
|
import { UrlWitnessParams } from './Params';
|
|
4
4
|
export declare class UrlWitness<TParams extends UrlWitnessParams = UrlWitnessParams> extends AbstractWitness<TParams> {
|
|
5
5
|
static configSchemas: "network.xyo.url.witness.config"[];
|
|
6
|
+
static hashUrl: ((url: string) => Promise<string>) | undefined;
|
|
6
7
|
get urls(): string[] | undefined;
|
|
7
8
|
protected observeHandler(payloads?: Payload[]): Promise<Payload[]>;
|
|
8
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAIpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,qBAAa,UAAU,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC3G,OAAgB,aAAa,qCAA2B;IACxD,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAY;IAE1E,IAAI,IAAI,yBAEP;cAEwB,cAAc,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAoBtF"}
|
|
@@ -3,6 +3,7 @@ import { Payload } from '@xyo-network/payload-model';
|
|
|
3
3
|
import { UrlWitnessParams } from './Params';
|
|
4
4
|
export declare class UrlWitness<TParams extends UrlWitnessParams = UrlWitnessParams> extends AbstractWitness<TParams> {
|
|
5
5
|
static configSchemas: "network.xyo.url.witness.config"[];
|
|
6
|
+
static hashUrl: ((url: string) => Promise<string>) | undefined;
|
|
6
7
|
get urls(): string[] | undefined;
|
|
7
8
|
protected observeHandler(payloads?: Payload[]): Promise<Payload[]>;
|
|
8
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAIpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,qBAAa,UAAU,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC3G,OAAgB,aAAa,qCAA2B;IACxD,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAY;IAE1E,IAAI,IAAI,yBAEP;cAEwB,cAAc,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAoBtF"}
|
|
@@ -3,6 +3,7 @@ import { Payload } from '@xyo-network/payload-model';
|
|
|
3
3
|
import { UrlWitnessParams } from './Params';
|
|
4
4
|
export declare class UrlWitness<TParams extends UrlWitnessParams = UrlWitnessParams> extends AbstractWitness<TParams> {
|
|
5
5
|
static configSchemas: "network.xyo.url.witness.config"[];
|
|
6
|
+
static hashUrl: ((url: string) => Promise<string>) | undefined;
|
|
6
7
|
get urls(): string[] | undefined;
|
|
7
8
|
protected observeHandler(payloads?: Payload[]): Promise<Payload[]>;
|
|
8
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../../src/Witness/Witness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAIpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,qBAAa,UAAU,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAC;IAC3G,OAAgB,aAAa,qCAA2B;IACxD,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAY;IAE1E,IAAI,IAAI,yBAEP;cAEwB,cAAc,CAAC,QAAQ,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAoBtF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexBrowser.d.ts","sourceRoot":"","sources":["../../src/indexBrowser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AAGhC,eAAe,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexBrowser.d.ts","sourceRoot":"","sources":["../../src/indexBrowser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AAGhC,eAAe,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexBrowser.d.ts","sourceRoot":"","sources":["../../src/indexBrowser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AAGhC,eAAe,SAAS,CAAA"}
|
|
@@ -27,17 +27,16 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
|
|
30
|
-
// src/
|
|
31
|
-
var
|
|
32
|
-
__export(
|
|
30
|
+
// src/indexNode.ts
|
|
31
|
+
var indexNode_exports = {};
|
|
32
|
+
__export(indexNode_exports, {
|
|
33
33
|
UrlPlugin: () => UrlPlugin,
|
|
34
34
|
UrlWitness: () => UrlWitness,
|
|
35
|
-
|
|
36
|
-
default: () => src_default
|
|
35
|
+
default: () => indexNode_default
|
|
37
36
|
});
|
|
38
|
-
module.exports = __toCommonJS(
|
|
37
|
+
module.exports = __toCommonJS(indexNode_exports);
|
|
39
38
|
|
|
40
|
-
// src/
|
|
39
|
+
// src/PluginNode.ts
|
|
41
40
|
var import_payload_model = require("@xyo-network/payload-model");
|
|
42
41
|
var import_payloadset_plugin = require("@xyo-network/payloadset-plugin");
|
|
43
42
|
var import_url_payload_plugin3 = require("@xyo-network/url-payload-plugin");
|
|
@@ -47,17 +46,52 @@ var import_url_payload_plugin = require("@xyo-network/url-payload-plugin");
|
|
|
47
46
|
var UrlWitnessConfigSchema = `${import_url_payload_plugin.UrlSchema}.witness.config`;
|
|
48
47
|
|
|
49
48
|
// src/Witness/Witness.ts
|
|
49
|
+
var import_assert = require("@xylabs/assert");
|
|
50
50
|
var import_abstract_witness = require("@xyo-network/abstract-witness");
|
|
51
51
|
var import_url_payload_plugin2 = require("@xyo-network/url-payload-plugin");
|
|
52
|
+
var UrlWitness = class _UrlWitness extends import_abstract_witness.AbstractWitness {
|
|
53
|
+
static configSchemas = [UrlWitnessConfigSchema];
|
|
54
|
+
static hashUrl = void 0;
|
|
55
|
+
get urls() {
|
|
56
|
+
var _a;
|
|
57
|
+
return (_a = this.config) == null ? void 0 : _a.urls;
|
|
58
|
+
}
|
|
59
|
+
async observeHandler(payloads = []) {
|
|
60
|
+
var _a;
|
|
61
|
+
if (_UrlWitness.hashUrl === void 0) {
|
|
62
|
+
throw Error("Set UrlWitness.hashUrl before using");
|
|
63
|
+
}
|
|
64
|
+
const urls = ((_a = this.urls) == null ? void 0 : _a.map((url) => ({ schema: import_url_payload_plugin2.UrlSchema, url }))) ?? payloads.filter((p) => p.schema === import_url_payload_plugin2.UrlSchema).map((p) => {
|
|
65
|
+
return { schema: import_url_payload_plugin2.UrlSchema, url: p.url };
|
|
66
|
+
});
|
|
67
|
+
const hashed = await Promise.all(
|
|
68
|
+
urls.map(async (url) => {
|
|
69
|
+
return { ...url, hash: await (0, import_assert.assertEx)(_UrlWitness.hashUrl, "Set UrlWitness.hashUrl before using")(url.url) };
|
|
70
|
+
})
|
|
71
|
+
);
|
|
72
|
+
return hashed;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
// src/PluginNode.ts
|
|
77
|
+
var UrlPlugin = () => (0, import_payloadset_plugin.createPayloadSetWitnessPlugin)(
|
|
78
|
+
{ required: { [import_url_payload_plugin3.UrlSchema]: 1 }, schema: import_payload_model.PayloadSetSchema },
|
|
79
|
+
{
|
|
80
|
+
witness: async (params) => {
|
|
81
|
+
const result = await UrlWitness.create(params);
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
);
|
|
52
86
|
|
|
53
87
|
// src/util/hashFile.ts
|
|
54
|
-
var import_crypto =
|
|
88
|
+
var import_crypto = require("@xylabs/crypto");
|
|
55
89
|
var import_fs = require("fs");
|
|
56
90
|
var import_url = require("url");
|
|
57
91
|
var hashFile = (url) => {
|
|
58
92
|
const path = url.startsWith("file://") ? (0, import_url.fileURLToPath)(url) : url;
|
|
59
93
|
const ret = new Promise((resolve, reject) => {
|
|
60
|
-
const hash = import_crypto.
|
|
94
|
+
const hash = import_crypto.Crypto.createHash("sha256");
|
|
61
95
|
const stream = (0, import_fs.createReadStream)(path);
|
|
62
96
|
stream.on("data", (data) => {
|
|
63
97
|
hash.update(data);
|
|
@@ -109,44 +143,12 @@ var hashUrl = (url) => {
|
|
|
109
143
|
}
|
|
110
144
|
};
|
|
111
145
|
|
|
112
|
-
// src/
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
get urls() {
|
|
116
|
-
var _a;
|
|
117
|
-
return (_a = this.config) == null ? void 0 : _a.urls;
|
|
118
|
-
}
|
|
119
|
-
async observeHandler(payloads = []) {
|
|
120
|
-
var _a;
|
|
121
|
-
const urls = ((_a = this.urls) == null ? void 0 : _a.map((url) => ({ schema: import_url_payload_plugin2.UrlSchema, url }))) ?? payloads.filter((p) => p.schema === import_url_payload_plugin2.UrlSchema).map((p) => {
|
|
122
|
-
return { schema: import_url_payload_plugin2.UrlSchema, url: p.url };
|
|
123
|
-
});
|
|
124
|
-
const hashed = await Promise.all(
|
|
125
|
-
urls.map(async (url) => {
|
|
126
|
-
return { ...url, hash: await hashUrl(url.url) };
|
|
127
|
-
})
|
|
128
|
-
);
|
|
129
|
-
return hashed;
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
// src/Plugin.ts
|
|
134
|
-
var UrlPlugin = () => (0, import_payloadset_plugin.createPayloadSetWitnessPlugin)(
|
|
135
|
-
{ required: { [import_url_payload_plugin3.UrlSchema]: 1 }, schema: import_payload_model.PayloadSetSchema },
|
|
136
|
-
{
|
|
137
|
-
witness: async (params) => {
|
|
138
|
-
const result = await UrlWitness.create(params);
|
|
139
|
-
return result;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
);
|
|
143
|
-
|
|
144
|
-
// src/index.ts
|
|
145
|
-
var src_default = UrlPlugin;
|
|
146
|
+
// src/indexNode.ts
|
|
147
|
+
UrlWitness.hashUrl = hashUrl;
|
|
148
|
+
var indexNode_default = UrlPlugin;
|
|
146
149
|
// Annotate the CommonJS export names for ESM import in node:
|
|
147
150
|
0 && (module.exports = {
|
|
148
151
|
UrlPlugin,
|
|
149
|
-
UrlWitness
|
|
150
|
-
UrlWitnessConfigSchema
|
|
152
|
+
UrlWitness
|
|
151
153
|
});
|
|
152
|
-
//# sourceMappingURL=
|
|
154
|
+
//# sourceMappingURL=indexNode.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/indexNode.ts","../../src/PluginNode.ts","../../src/Witness/Config.ts","../../src/Witness/Witness.ts","../../src/util/hashFile.ts","../../src/util/hashHttpUrl.ts","../../src/util/hashUrl.ts"],"sourcesContent":["import { UrlPlugin } from './PluginNode'\nimport { hashUrl } from './util'\nimport { UrlWitness } from './Witness'\n\nUrlWitness.hashUrl = hashUrl\n\nexport { UrlPlugin, UrlWitness }\n\n// eslint-disable-next-line import/no-default-export\nexport default UrlPlugin\n","import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\nimport { UrlSchema } from '@xyo-network/url-payload-plugin'\n\nimport { UrlWitness } from './Witness'\n\nexport const UrlPlugin = () =>\n createPayloadSetWitnessPlugin<UrlWitness>(\n { required: { [UrlSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await UrlWitness.create(params)\n return result\n },\n },\n )\n","import { UrlSchema } from '@xyo-network/url-payload-plugin'\nimport { WitnessConfig } from '@xyo-network/witness-model'\n\nexport const UrlWitnessConfigSchema = `${UrlSchema}.witness.config` as const\nexport type UrlWitnessConfigSchema = typeof UrlWitnessConfigSchema\n\nexport type UrlWitnessConfig = WitnessConfig<{\n schema: UrlWitnessConfigSchema\n urls?: string[]\n}>\n","import { assertEx } from '@xylabs/assert'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { Payload } from '@xyo-network/payload-model'\nimport { UrlPayload, UrlSchema } from '@xyo-network/url-payload-plugin'\n\nimport { UrlWitnessConfigSchema } from './Config'\nimport { UrlWitnessParams } from './Params'\n\nexport class UrlWitness<TParams extends UrlWitnessParams = UrlWitnessParams> extends AbstractWitness<TParams> {\n static override configSchemas = [UrlWitnessConfigSchema]\n static hashUrl: ((url: string) => Promise<string>) | undefined = undefined\n\n get urls() {\n return this.config?.urls\n }\n\n protected override async observeHandler(payloads: Payload[] = []): Promise<Payload[]> {\n if (UrlWitness.hashUrl === undefined) {\n throw Error('Set UrlWitness.hashUrl before using')\n }\n const urls: UrlPayload[] =\n this.urls?.map((url) => ({ schema: UrlSchema, url })) ??\n payloads\n .filter((p): p is UrlPayload => p.schema === UrlSchema)\n .map((p) => {\n return { schema: UrlSchema, url: p.url }\n })\n const hashed = await Promise.all(\n urls.map(async (url) => {\n // TODO: Different schema for hashed url\n return { ...url, hash: await assertEx(UrlWitness.hashUrl, 'Set UrlWitness.hashUrl before using')(url.url) }\n }),\n )\n // TODO: Handle partial success\n return hashed\n }\n}\n","import { Crypto } from '@xylabs/crypto'\nimport { createReadStream } from 'fs'\nimport { fileURLToPath } from 'url'\n\nexport const hashFile = (url: string): Promise<string> => {\n const path = url.startsWith('file://') ? fileURLToPath(url) : url\n const ret = new Promise<string>((resolve, reject) => {\n const hash = Crypto.createHash('sha256')\n const stream = createReadStream(path)\n stream.on('data', (data) => {\n hash.update(data)\n })\n stream.on('end', () => {\n resolve(hash.digest('hex'))\n })\n stream.on('error', (err) => {\n reject(err)\n })\n })\n return ret\n}\n","import { Crypto } from '@xylabs/crypto'\nimport http from 'http'\nimport https from 'https'\n\nexport const hashHttpUrl = (url: string): Promise<string> => {\n const ret = new Promise<string>((resolve, reject) => {\n const hash = Crypto.createHash('sha256')\n const lib = url.startsWith('https') ? https : http\n lib\n .get(url, (res) => {\n res.on('data', (data) => {\n hash.update(data)\n })\n res.on('end', () => {\n resolve(hash.digest('hex'))\n })\n })\n .on('error', (err) => {\n reject(err)\n })\n })\n return ret\n}\n","import { hashFile } from './hashFile'\nimport { hashHttpUrl } from './hashHttpUrl'\n\nexport const hashUrl = (url: string): Promise<string> => {\n const scheme = url.split('://')[0]?.toLowerCase()\n switch (scheme) {\n case 'file':\n return hashFile(url)\n case 'http':\n case 'https':\n return hashHttpUrl(url)\n default:\n throw new Error(`Unsupported URL scheme: ${scheme}`)\n }\n}\n"],"mappings":"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","names":["import_url_payload_plugin","import_url_payload_plugin","import_crypto","https","http"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexNode.d.ts","sourceRoot":"","sources":["../../src/indexNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAItC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AAGhC,eAAe,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexNode.d.ts","sourceRoot":"","sources":["../../src/indexNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAItC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AAGhC,eAAe,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexNode.d.ts","sourceRoot":"","sources":["../../src/indexNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAItC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AAGhC,eAAe,SAAS,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// src/
|
|
1
|
+
// src/PluginNode.ts
|
|
2
2
|
import { PayloadSetSchema } from "@xyo-network/payload-model";
|
|
3
3
|
import { createPayloadSetWitnessPlugin } from "@xyo-network/payloadset-plugin";
|
|
4
4
|
import { UrlSchema as UrlSchema3 } from "@xyo-network/url-payload-plugin";
|
|
@@ -8,11 +8,46 @@ import { UrlSchema } from "@xyo-network/url-payload-plugin";
|
|
|
8
8
|
var UrlWitnessConfigSchema = `${UrlSchema}.witness.config`;
|
|
9
9
|
|
|
10
10
|
// src/Witness/Witness.ts
|
|
11
|
+
import { assertEx } from "@xylabs/assert";
|
|
11
12
|
import { AbstractWitness } from "@xyo-network/abstract-witness";
|
|
12
13
|
import { UrlSchema as UrlSchema2 } from "@xyo-network/url-payload-plugin";
|
|
14
|
+
var UrlWitness = class _UrlWitness extends AbstractWitness {
|
|
15
|
+
static configSchemas = [UrlWitnessConfigSchema];
|
|
16
|
+
static hashUrl = void 0;
|
|
17
|
+
get urls() {
|
|
18
|
+
var _a;
|
|
19
|
+
return (_a = this.config) == null ? void 0 : _a.urls;
|
|
20
|
+
}
|
|
21
|
+
async observeHandler(payloads = []) {
|
|
22
|
+
var _a;
|
|
23
|
+
if (_UrlWitness.hashUrl === void 0) {
|
|
24
|
+
throw Error("Set UrlWitness.hashUrl before using");
|
|
25
|
+
}
|
|
26
|
+
const urls = ((_a = this.urls) == null ? void 0 : _a.map((url) => ({ schema: UrlSchema2, url }))) ?? payloads.filter((p) => p.schema === UrlSchema2).map((p) => {
|
|
27
|
+
return { schema: UrlSchema2, url: p.url };
|
|
28
|
+
});
|
|
29
|
+
const hashed = await Promise.all(
|
|
30
|
+
urls.map(async (url) => {
|
|
31
|
+
return { ...url, hash: await assertEx(_UrlWitness.hashUrl, "Set UrlWitness.hashUrl before using")(url.url) };
|
|
32
|
+
})
|
|
33
|
+
);
|
|
34
|
+
return hashed;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
// src/PluginNode.ts
|
|
39
|
+
var UrlPlugin = () => createPayloadSetWitnessPlugin(
|
|
40
|
+
{ required: { [UrlSchema3]: 1 }, schema: PayloadSetSchema },
|
|
41
|
+
{
|
|
42
|
+
witness: async (params) => {
|
|
43
|
+
const result = await UrlWitness.create(params);
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
);
|
|
13
48
|
|
|
14
49
|
// src/util/hashFile.ts
|
|
15
|
-
import Crypto from "crypto";
|
|
50
|
+
import { Crypto } from "@xylabs/crypto";
|
|
16
51
|
import { createReadStream } from "fs";
|
|
17
52
|
import { fileURLToPath } from "url";
|
|
18
53
|
var hashFile = (url) => {
|
|
@@ -70,44 +105,12 @@ var hashUrl = (url) => {
|
|
|
70
105
|
}
|
|
71
106
|
};
|
|
72
107
|
|
|
73
|
-
// src/
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
get urls() {
|
|
77
|
-
var _a;
|
|
78
|
-
return (_a = this.config) == null ? void 0 : _a.urls;
|
|
79
|
-
}
|
|
80
|
-
async observeHandler(payloads = []) {
|
|
81
|
-
var _a;
|
|
82
|
-
const urls = ((_a = this.urls) == null ? void 0 : _a.map((url) => ({ schema: UrlSchema2, url }))) ?? payloads.filter((p) => p.schema === UrlSchema2).map((p) => {
|
|
83
|
-
return { schema: UrlSchema2, url: p.url };
|
|
84
|
-
});
|
|
85
|
-
const hashed = await Promise.all(
|
|
86
|
-
urls.map(async (url) => {
|
|
87
|
-
return { ...url, hash: await hashUrl(url.url) };
|
|
88
|
-
})
|
|
89
|
-
);
|
|
90
|
-
return hashed;
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
// src/Plugin.ts
|
|
95
|
-
var UrlPlugin = () => createPayloadSetWitnessPlugin(
|
|
96
|
-
{ required: { [UrlSchema3]: 1 }, schema: PayloadSetSchema },
|
|
97
|
-
{
|
|
98
|
-
witness: async (params) => {
|
|
99
|
-
const result = await UrlWitness.create(params);
|
|
100
|
-
return result;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
);
|
|
104
|
-
|
|
105
|
-
// src/index.ts
|
|
106
|
-
var src_default = UrlPlugin;
|
|
108
|
+
// src/indexNode.ts
|
|
109
|
+
UrlWitness.hashUrl = hashUrl;
|
|
110
|
+
var indexNode_default = UrlPlugin;
|
|
107
111
|
export {
|
|
108
112
|
UrlPlugin,
|
|
109
113
|
UrlWitness,
|
|
110
|
-
|
|
111
|
-
src_default as default
|
|
114
|
+
indexNode_default as default
|
|
112
115
|
};
|
|
113
|
-
//# sourceMappingURL=
|
|
116
|
+
//# sourceMappingURL=indexNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/PluginNode.ts","../../src/Witness/Config.ts","../../src/Witness/Witness.ts","../../src/util/hashFile.ts","../../src/util/hashHttpUrl.ts","../../src/util/hashUrl.ts","../../src/indexNode.ts"],"sourcesContent":["import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\nimport { UrlSchema } from '@xyo-network/url-payload-plugin'\n\nimport { UrlWitness } from './Witness'\n\nexport const UrlPlugin = () =>\n createPayloadSetWitnessPlugin<UrlWitness>(\n { required: { [UrlSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await UrlWitness.create(params)\n return result\n },\n },\n )\n","import { UrlSchema } from '@xyo-network/url-payload-plugin'\nimport { WitnessConfig } from '@xyo-network/witness-model'\n\nexport const UrlWitnessConfigSchema = `${UrlSchema}.witness.config` as const\nexport type UrlWitnessConfigSchema = typeof UrlWitnessConfigSchema\n\nexport type UrlWitnessConfig = WitnessConfig<{\n schema: UrlWitnessConfigSchema\n urls?: string[]\n}>\n","import { assertEx } from '@xylabs/assert'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { Payload } from '@xyo-network/payload-model'\nimport { UrlPayload, UrlSchema } from '@xyo-network/url-payload-plugin'\n\nimport { UrlWitnessConfigSchema } from './Config'\nimport { UrlWitnessParams } from './Params'\n\nexport class UrlWitness<TParams extends UrlWitnessParams = UrlWitnessParams> extends AbstractWitness<TParams> {\n static override configSchemas = [UrlWitnessConfigSchema]\n static hashUrl: ((url: string) => Promise<string>) | undefined = undefined\n\n get urls() {\n return this.config?.urls\n }\n\n protected override async observeHandler(payloads: Payload[] = []): Promise<Payload[]> {\n if (UrlWitness.hashUrl === undefined) {\n throw Error('Set UrlWitness.hashUrl before using')\n }\n const urls: UrlPayload[] =\n this.urls?.map((url) => ({ schema: UrlSchema, url })) ??\n payloads\n .filter((p): p is UrlPayload => p.schema === UrlSchema)\n .map((p) => {\n return { schema: UrlSchema, url: p.url }\n })\n const hashed = await Promise.all(\n urls.map(async (url) => {\n // TODO: Different schema for hashed url\n return { ...url, hash: await assertEx(UrlWitness.hashUrl, 'Set UrlWitness.hashUrl before using')(url.url) }\n }),\n )\n // TODO: Handle partial success\n return hashed\n }\n}\n","import { Crypto } from '@xylabs/crypto'\nimport { createReadStream } from 'fs'\nimport { fileURLToPath } from 'url'\n\nexport const hashFile = (url: string): Promise<string> => {\n const path = url.startsWith('file://') ? fileURLToPath(url) : url\n const ret = new Promise<string>((resolve, reject) => {\n const hash = Crypto.createHash('sha256')\n const stream = createReadStream(path)\n stream.on('data', (data) => {\n hash.update(data)\n })\n stream.on('end', () => {\n resolve(hash.digest('hex'))\n })\n stream.on('error', (err) => {\n reject(err)\n })\n })\n return ret\n}\n","import { Crypto } from '@xylabs/crypto'\nimport http from 'http'\nimport https from 'https'\n\nexport const hashHttpUrl = (url: string): Promise<string> => {\n const ret = new Promise<string>((resolve, reject) => {\n const hash = Crypto.createHash('sha256')\n const lib = url.startsWith('https') ? https : http\n lib\n .get(url, (res) => {\n res.on('data', (data) => {\n hash.update(data)\n })\n res.on('end', () => {\n resolve(hash.digest('hex'))\n })\n })\n .on('error', (err) => {\n reject(err)\n })\n })\n return ret\n}\n","import { hashFile } from './hashFile'\nimport { hashHttpUrl } from './hashHttpUrl'\n\nexport const hashUrl = (url: string): Promise<string> => {\n const scheme = url.split('://')[0]?.toLowerCase()\n switch (scheme) {\n case 'file':\n return hashFile(url)\n case 'http':\n case 'https':\n return hashHttpUrl(url)\n default:\n throw new Error(`Unsupported URL scheme: ${scheme}`)\n }\n}\n","import { UrlPlugin } from './PluginNode'\nimport { hashUrl } from './util'\nimport { UrlWitness } from './Witness'\n\nUrlWitness.hashUrl = hashUrl\n\nexport { UrlPlugin, UrlWitness }\n\n// eslint-disable-next-line import/no-default-export\nexport default UrlPlugin\n"],"mappings":"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","names":["UrlSchema","UrlSchema","UrlSchema","UrlSchema","Crypto"]}
|
package/package.json
CHANGED
|
@@ -10,12 +10,13 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/plugins/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
+
"@xylabs/assert": "^2.13.9",
|
|
13
14
|
"@xylabs/crypto": "^2.13.9",
|
|
14
15
|
"@xyo-network/abstract-witness": "^2.81.5",
|
|
15
16
|
"@xyo-network/module-model": "^2.81.5",
|
|
16
17
|
"@xyo-network/payload-model": "^2.81.5",
|
|
17
18
|
"@xyo-network/payloadset-plugin": "^2.81.5",
|
|
18
|
-
"@xyo-network/url-payload-plugin": "~2.81.
|
|
19
|
+
"@xyo-network/url-payload-plugin": "~2.81.7",
|
|
19
20
|
"@xyo-network/witness-model": "^2.81.5"
|
|
20
21
|
},
|
|
21
22
|
"devDependencies": {
|
|
@@ -28,30 +29,30 @@
|
|
|
28
29
|
".": {
|
|
29
30
|
"browser": {
|
|
30
31
|
"require": {
|
|
31
|
-
"types": "./dist/browser/
|
|
32
|
-
"default": "./dist/browser/
|
|
32
|
+
"types": "./dist/browser/indexBrowser.d.cts",
|
|
33
|
+
"default": "./dist/browser/indexBrowser.cjs"
|
|
33
34
|
},
|
|
34
35
|
"import": {
|
|
35
|
-
"types": "./dist/browser/
|
|
36
|
-
"default": "./dist/browser/
|
|
36
|
+
"types": "./dist/browser/indexBrowser.d.mts",
|
|
37
|
+
"default": "./dist/browser/indexBrowser.js"
|
|
37
38
|
}
|
|
38
39
|
},
|
|
39
40
|
"node": {
|
|
40
41
|
"require": {
|
|
41
|
-
"types": "./dist/node/
|
|
42
|
-
"default": "./dist/node/
|
|
42
|
+
"types": "./dist/node/indexNode.d.cts",
|
|
43
|
+
"default": "./dist/node/indexNode.cjs"
|
|
43
44
|
},
|
|
44
45
|
"import": {
|
|
45
|
-
"types": "./dist/node/
|
|
46
|
-
"default": "./dist/node/
|
|
46
|
+
"types": "./dist/node/indexNode.d.mts",
|
|
47
|
+
"default": "./dist/node/indexNode.js"
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
50
|
},
|
|
50
51
|
"./package.json": "./package.json"
|
|
51
52
|
},
|
|
52
|
-
"main": "dist/node/
|
|
53
|
-
"module": "dist/node/
|
|
54
|
-
"types": "dist/node/
|
|
53
|
+
"main": "dist/node/indexNode.cjs",
|
|
54
|
+
"module": "dist/node/indexNode.js",
|
|
55
|
+
"types": "dist/node/indexNode.d.mts",
|
|
55
56
|
"homepage": "https://xyo.network",
|
|
56
57
|
"license": "LGPL-3.0-only",
|
|
57
58
|
"publishConfig": {
|
|
@@ -62,6 +63,6 @@
|
|
|
62
63
|
"url": "https://github.com/XYOracleNetwork/plugins.git"
|
|
63
64
|
},
|
|
64
65
|
"sideEffects": false,
|
|
65
|
-
"version": "2.81.
|
|
66
|
+
"version": "2.81.7",
|
|
66
67
|
"type": "module"
|
|
67
68
|
}
|