@filoz/repair-cli 0.4.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +3 -3
- package/dist/src/api.d.ts +35 -0
- package/dist/src/api.d.ts.map +1 -0
- package/dist/src/api.js +118 -0
- package/dist/src/api.js.map +1 -0
- package/dist/src/commands/datasets.d.ts +3 -5
- package/dist/src/commands/datasets.d.ts.map +1 -1
- package/dist/src/commands/datasets.js +24 -33
- package/dist/src/commands/datasets.js.map +1 -1
- package/dist/src/commands/providers.d.ts +3 -5
- package/dist/src/commands/providers.d.ts.map +1 -1
- package/dist/src/commands/providers.js +32 -33
- package/dist/src/commands/providers.js.map +1 -1
- package/dist/src/commands/repair.d.ts +3 -5
- package/dist/src/commands/repair.d.ts.map +1 -1
- package/dist/src/commands/replicate.d.ts +3 -5
- package/dist/src/commands/replicate.d.ts.map +1 -1
- package/dist/src/commands/second-copy.d.ts +3 -5
- package/dist/src/commands/second-copy.d.ts.map +1 -1
- package/dist/src/commands/session-key.d.ts +3 -5
- package/dist/src/commands/session-key.d.ts.map +1 -1
- package/dist/src/commands/setup.d.ts.map +1 -1
- package/dist/src/commands/setup.js +11 -32
- package/dist/src/commands/setup.js.map +1 -1
- package/dist/src/commands/wallet.d.ts +3 -5
- package/dist/src/commands/wallet.d.ts.map +1 -1
- package/dist/src/db/dedupe-cids.d.ts +6 -7
- package/dist/src/db/dedupe-cids.d.ts.map +1 -1
- package/dist/src/db/dedupe-cids.js +2 -14
- package/dist/src/db/dedupe-cids.js.map +1 -1
- package/dist/src/db/find-repair-dataset.d.ts +3 -3
- package/dist/src/db/find-repair-dataset.d.ts.map +1 -1
- package/dist/src/db/find-repair-dataset.js +16 -14
- package/dist/src/db/find-repair-dataset.js.map +1 -1
- package/dist/src/db/get-active-data-set-ids.d.ts +9 -0
- package/dist/src/db/get-active-data-set-ids.d.ts.map +1 -0
- package/dist/src/db/get-active-data-set-ids.js +9 -0
- package/dist/src/db/get-active-data-set-ids.js.map +1 -0
- package/dist/src/db/get-alternate-provider-urls.d.ts +6 -0
- package/dist/src/db/get-alternate-provider-urls.d.ts.map +1 -0
- package/dist/src/db/get-alternate-provider-urls.js +24 -0
- package/dist/src/db/get-alternate-provider-urls.js.map +1 -0
- package/dist/src/db/get-pieces.d.ts +8 -27
- package/dist/src/db/get-pieces.d.ts.map +1 -1
- package/dist/src/db/get-pieces.js +44 -97
- package/dist/src/db/get-pieces.js.map +1 -1
- package/dist/src/db/get-repair-provider.d.ts +2 -2
- package/dist/src/db/get-repair-provider.d.ts.map +1 -1
- package/dist/src/db/get-repair-provider.js +8 -20
- package/dist/src/db/get-repair-provider.js.map +1 -1
- package/dist/src/db/repair-create.js +3 -3
- package/dist/src/db/repair-create.js.map +1 -1
- package/dist/src/db/replicate-create.d.ts.map +1 -1
- package/dist/src/db/replicate-create.js +13 -21
- package/dist/src/db/replicate-create.js.map +1 -1
- package/dist/src/db/second-copy-create.js +2 -2
- package/dist/src/db/second-copy-create.js.map +1 -1
- package/dist/src/local-schema.d.ts +1 -1
- package/dist/src/middleware.d.ts +7 -11
- package/dist/src/middleware.d.ts.map +1 -1
- package/dist/src/middleware.js +6 -10
- package/dist/src/middleware.js.map +1 -1
- package/dist/src/pipeline/add-pieces.d.ts +3 -3
- package/dist/src/pipeline/add-pieces.d.ts.map +1 -1
- package/dist/src/pipeline/add-pieces.js +15 -7
- package/dist/src/pipeline/add-pieces.js.map +1 -1
- package/dist/src/pipeline/create-datasets.d.ts +4 -4
- package/dist/src/pipeline/create-datasets.d.ts.map +1 -1
- package/dist/src/pipeline/create-datasets.js +7 -14
- package/dist/src/pipeline/create-datasets.js.map +1 -1
- package/dist/src/types.d.ts +6 -7
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils.d.ts +7 -10
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +1 -2
- package/dist/src/utils.js.map +1 -1
- package/package.json +3 -3
- package/readme.md +16 -13
- package/src/api.ts +220 -0
- package/src/commands/datasets.ts +24 -36
- package/src/commands/providers.ts +34 -42
- package/src/commands/setup.ts +12 -35
- package/src/db/dedupe-cids.ts +7 -24
- package/src/db/find-repair-dataset.ts +17 -28
- package/src/db/get-active-data-set-ids.ts +29 -0
- package/src/db/get-alternate-provider-urls.ts +43 -0
- package/src/db/get-pieces.ts +82 -214
- package/src/db/get-repair-provider.ts +10 -30
- package/src/db/repair-create.ts +3 -3
- package/src/db/replicate-create.ts +13 -21
- package/src/db/second-copy-create.ts +2 -2
- package/src/middleware.ts +7 -11
- package/src/pipeline/add-pieces.ts +20 -10
- package/src/pipeline/create-datasets.ts +9 -29
- package/src/types.ts +9 -7
- package/src/utils.ts +2 -4
- package/dist/src/db/find-providers-by-cid.d.ts +0 -9
- package/dist/src/db/find-providers-by-cid.d.ts.map +0 -1
- package/dist/src/db/find-providers-by-cid.js +0 -43
- package/dist/src/db/find-providers-by-cid.js.map +0 -1
- package/dist/src/indexer-schema.d.ts +0 -549
- package/dist/src/indexer-schema.d.ts.map +0 -1
- package/dist/src/indexer-schema.js +0 -56
- package/dist/src/indexer-schema.js.map +0 -1
- package/src/db/find-providers-by-cid.ts +0 -70
- package/src/indexer-schema.ts +0 -77
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@filoz/repair-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Early repair for faulty service providers and datasets",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -105,10 +105,12 @@
|
|
|
105
105
|
},
|
|
106
106
|
"dependencies": {
|
|
107
107
|
"@clack/prompts": "^1.5.1",
|
|
108
|
+
"@filecoin-project/api-client": "^0.2.0",
|
|
108
109
|
"@filoz/synapse-core": "^0.7.0",
|
|
109
110
|
"@libsql/client": "^0.17.3",
|
|
110
111
|
"conf": "^15.1.0",
|
|
111
112
|
"drizzle-orm": "catalog:",
|
|
113
|
+
"fetch-extras": "^3.2.1",
|
|
112
114
|
"incur": "^0.4.6",
|
|
113
115
|
"iso-base": "^4.4.0",
|
|
114
116
|
"iso-conf": "^0.4.0",
|
|
@@ -117,14 +119,12 @@
|
|
|
117
119
|
"p-locate": "^7.0.0",
|
|
118
120
|
"p-map": "^7.0.4",
|
|
119
121
|
"p-queue": "^9.3.0",
|
|
120
|
-
"pg": "^8.21.0",
|
|
121
122
|
"terminal-link": "^5.0.0",
|
|
122
123
|
"viem": "catalog:"
|
|
123
124
|
},
|
|
124
125
|
"devDependencies": {
|
|
125
126
|
"@biomejs/biome": "catalog:",
|
|
126
127
|
"@types/node": "catalog:",
|
|
127
|
-
"@types/pg": "^8.20.0",
|
|
128
128
|
"playwright-test": "^14.1.12",
|
|
129
129
|
"type-fest": "^5.7.0",
|
|
130
130
|
"typescript": "catalog:"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type DataSet, type Piece, type PieceWithDataSet, type Provider } from '@filecoin-project/api-client';
|
|
2
|
+
import type { IndexerApi } from './types.ts';
|
|
3
|
+
export { ApiError, DEFAULT_API_URL } from '@filecoin-project/api-client';
|
|
4
|
+
export type { DataSet, Piece, PieceWithDataSet, Provider };
|
|
5
|
+
export type Network = 'mainnet' | 'calibration';
|
|
6
|
+
export declare const MAX_PAGE_SIZE = 200;
|
|
7
|
+
export declare function networkFromChainId(chainId: number): Network;
|
|
8
|
+
export declare function createIndexerApi({ baseUrl, chainId }: {
|
|
9
|
+
baseUrl?: string;
|
|
10
|
+
chainId: number;
|
|
11
|
+
}): IndexerApi;
|
|
12
|
+
export declare function getProvider({ client, network }: IndexerApi, providerId: bigint): Promise<Provider | null>;
|
|
13
|
+
export declare function listProviders({ client, network }: IndexerApi, query?: {
|
|
14
|
+
active?: boolean;
|
|
15
|
+
approved?: boolean;
|
|
16
|
+
endorsed?: boolean;
|
|
17
|
+
}): Promise<Provider[]>;
|
|
18
|
+
export declare function getDataSet({ client, network }: IndexerApi, dataSetId: bigint): Promise<DataSet | null>;
|
|
19
|
+
export declare function listDataSets({ client, network }: IndexerApi, query: {
|
|
20
|
+
owner?: string;
|
|
21
|
+
providerId?: bigint;
|
|
22
|
+
deleted?: boolean;
|
|
23
|
+
withCdn?: boolean;
|
|
24
|
+
}): Promise<DataSet[]>;
|
|
25
|
+
export declare function dataSetPiecePages({ client, network }: IndexerApi, dataSetId: bigint, query?: {
|
|
26
|
+
removed?: boolean;
|
|
27
|
+
}): AsyncGenerator<Piece[]>;
|
|
28
|
+
export declare function listDataSetPieces(api: IndexerApi, dataSetId: bigint, query?: {
|
|
29
|
+
removed?: boolean;
|
|
30
|
+
}): Promise<Piece[]>;
|
|
31
|
+
export declare function providerPiecePages({ client, network }: IndexerApi, providerId: bigint, query?: {
|
|
32
|
+
removed?: boolean;
|
|
33
|
+
}): AsyncGenerator<PieceWithDataSet[]>;
|
|
34
|
+
export declare function toStringMetadata(metadata: Record<string, unknown> | null): Record<string, string>;
|
|
35
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EAEZ,KAAK,KAAK,EACV,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EAEd,MAAM,8BAA8B,CAAA;AAErC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACxE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAA;AAG1D,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,aAAa,CAAA;AAG/C,eAAO,MAAM,aAAa,MAAM,CAAA;AAYhC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3D;AAQD,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAaxG;AAoCD,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAQzG;AAGD,wBAAgB,aAAa,CAC3B,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,UAAU,EAC/B,KAAK,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACvE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAmBrB;AAGD,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAQtG;AAGD,wBAAgB,YAAY,CAC1B,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,UAAU,EAC/B,KAAK,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACnF,OAAO,CAAC,OAAO,EAAE,CAAC,CAoBpB;AAGD,wBAAgB,iBAAiB,CAC/B,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,UAAU,EAC/B,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,cAAc,CAAC,KAAK,EAAE,CAAC,CAWzB;AAGD,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,OAAO,CAAC,KAAK,EAAE,CAAC,CAElB;AAMD,wBAAgB,kBAAkB,CAChC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,UAAU,EAC/B,UAAU,EAAE,MAAM,EAClB,KAAK,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAWpC;AAQD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEjG"}
|
package/dist/src/api.js
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { ApiError, createApiClient, DEFAULT_API_URL, unwrap, } from '@filecoin-project/api-client';
|
|
2
|
+
import { pipeline, withRateLimit, withRetry, withTimeout } from 'fetch-extras';
|
|
3
|
+
export { ApiError, DEFAULT_API_URL } from '@filecoin-project/api-client';
|
|
4
|
+
export const MAX_PAGE_SIZE = 200;
|
|
5
|
+
const MAX_RETRIES = 5;
|
|
6
|
+
const REQUEST_TIMEOUT_MS = 30_000;
|
|
7
|
+
const RATE_LIMIT = { requestsPerInterval: 120, interval: 60_000 };
|
|
8
|
+
export function networkFromChainId(chainId) {
|
|
9
|
+
return chainId === 314 ? 'mainnet' : 'calibration';
|
|
10
|
+
}
|
|
11
|
+
export function createIndexerApi({ baseUrl, chainId }) {
|
|
12
|
+
const fetchWithRetry = pipeline(fetch, withTimeout(REQUEST_TIMEOUT_MS), withRateLimit(RATE_LIMIT), withRetry({ retries: MAX_RETRIES }));
|
|
13
|
+
return {
|
|
14
|
+
client: createApiClient({ baseUrl: baseUrl ?? DEFAULT_API_URL, fetch: fetchWithRetry }),
|
|
15
|
+
network: networkFromChainId(chainId),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
async function orNull(promise) {
|
|
19
|
+
try {
|
|
20
|
+
return await promise;
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
if (ApiError.isNotFound(error))
|
|
24
|
+
return null;
|
|
25
|
+
throw error;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async function collect(pages) {
|
|
29
|
+
const items = [];
|
|
30
|
+
for await (const page of pages)
|
|
31
|
+
items.push(...page);
|
|
32
|
+
return items;
|
|
33
|
+
}
|
|
34
|
+
async function* paginate(fetchPage) {
|
|
35
|
+
let cursor;
|
|
36
|
+
do {
|
|
37
|
+
const page = await fetchPage(cursor);
|
|
38
|
+
yield page.data;
|
|
39
|
+
cursor = page.nextCursor ?? undefined;
|
|
40
|
+
} while (cursor);
|
|
41
|
+
}
|
|
42
|
+
export function getProvider({ client, network }, providerId) {
|
|
43
|
+
return orNull(client
|
|
44
|
+
.GET('/{network}/providers/{providerId}', {
|
|
45
|
+
params: { path: { network, providerId: providerId.toString() } },
|
|
46
|
+
})
|
|
47
|
+
.then((result) => unwrap(result).data));
|
|
48
|
+
}
|
|
49
|
+
export function listProviders({ client, network }, query = {}) {
|
|
50
|
+
return collect(paginate((cursor) => client
|
|
51
|
+
.GET('/{network}/providers', {
|
|
52
|
+
params: {
|
|
53
|
+
path: { network },
|
|
54
|
+
query: {
|
|
55
|
+
limit: MAX_PAGE_SIZE,
|
|
56
|
+
cursor,
|
|
57
|
+
active: bool(query.active),
|
|
58
|
+
approved: bool(query.approved),
|
|
59
|
+
endorsed: bool(query.endorsed),
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
})
|
|
63
|
+
.then(unwrap)));
|
|
64
|
+
}
|
|
65
|
+
export function getDataSet({ client, network }, dataSetId) {
|
|
66
|
+
return orNull(client
|
|
67
|
+
.GET('/{network}/data-sets/{dataSetId}', {
|
|
68
|
+
params: { path: { network, dataSetId: dataSetId.toString() } },
|
|
69
|
+
})
|
|
70
|
+
.then((result) => unwrap(result).data));
|
|
71
|
+
}
|
|
72
|
+
export function listDataSets({ client, network }, query) {
|
|
73
|
+
return collect(paginate((cursor) => client
|
|
74
|
+
.GET('/{network}/data-sets', {
|
|
75
|
+
params: {
|
|
76
|
+
path: { network },
|
|
77
|
+
query: {
|
|
78
|
+
limit: MAX_PAGE_SIZE,
|
|
79
|
+
cursor,
|
|
80
|
+
owner: query.owner,
|
|
81
|
+
provider_id: query.providerId?.toString(),
|
|
82
|
+
deleted: bool(query.deleted),
|
|
83
|
+
with_cdn: bool(query.withCdn),
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
})
|
|
87
|
+
.then(unwrap)));
|
|
88
|
+
}
|
|
89
|
+
export function dataSetPiecePages({ client, network }, dataSetId, query = {}) {
|
|
90
|
+
return paginate((cursor) => client
|
|
91
|
+
.GET('/{network}/data-sets/{dataSetId}/pieces', {
|
|
92
|
+
params: {
|
|
93
|
+
path: { network, dataSetId: dataSetId.toString() },
|
|
94
|
+
query: { limit: MAX_PAGE_SIZE, cursor, removed: bool(query.removed) },
|
|
95
|
+
},
|
|
96
|
+
})
|
|
97
|
+
.then(unwrap));
|
|
98
|
+
}
|
|
99
|
+
export function listDataSetPieces(api, dataSetId, query = {}) {
|
|
100
|
+
return collect(dataSetPiecePages(api, dataSetId, query));
|
|
101
|
+
}
|
|
102
|
+
export function providerPiecePages({ client, network }, providerId, query = {}) {
|
|
103
|
+
return paginate((cursor) => client
|
|
104
|
+
.GET('/{network}/pieces', {
|
|
105
|
+
params: {
|
|
106
|
+
path: { network },
|
|
107
|
+
query: { limit: MAX_PAGE_SIZE, cursor, provider_id: providerId.toString(), removed: bool(query.removed) },
|
|
108
|
+
},
|
|
109
|
+
})
|
|
110
|
+
.then(unwrap));
|
|
111
|
+
}
|
|
112
|
+
function bool(value) {
|
|
113
|
+
return value === undefined ? undefined : value ? 'true' : 'false';
|
|
114
|
+
}
|
|
115
|
+
export function toStringMetadata(metadata) {
|
|
116
|
+
return Object.fromEntries(Object.entries(metadata ?? {}).map(([key, value]) => [key, String(value)]));
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import { Cli, z } from 'incur';
|
|
2
2
|
export declare const datasets: Cli.Cli<{}, z.ZodObject<{
|
|
3
|
-
|
|
3
|
+
api: z.ZodCustom<import("../types.ts").IndexerApi, import("../types.ts").IndexerApi>;
|
|
4
4
|
localDb: z.ZodCustom<import("../types.ts").LocalDatabase, import("../types.ts").LocalDatabase>;
|
|
5
5
|
config: z.ZodCustom<import("iso-conf").Conf<z.ZodObject<{
|
|
6
6
|
privateKey: z.ZodOptional<z.ZodString>;
|
|
7
|
-
|
|
8
|
-
indexerCalibrationUrl: z.ZodOptional<z.ZodURL>;
|
|
7
|
+
apiUrl: z.ZodOptional<z.ZodURL>;
|
|
9
8
|
chainId: z.ZodOptional<z.ZodNumber>;
|
|
10
9
|
dbPath: z.ZodOptional<z.ZodString>;
|
|
11
10
|
source: z.ZodOptional<z.ZodString>;
|
|
12
11
|
}, z.core.$strip>>, import("iso-conf").Conf<z.ZodObject<{
|
|
13
12
|
privateKey: z.ZodOptional<z.ZodString>;
|
|
14
|
-
|
|
15
|
-
indexerCalibrationUrl: z.ZodOptional<z.ZodURL>;
|
|
13
|
+
apiUrl: z.ZodOptional<z.ZodURL>;
|
|
16
14
|
chainId: z.ZodOptional<z.ZodNumber>;
|
|
17
15
|
dbPath: z.ZodOptional<z.ZodString>;
|
|
18
16
|
source: z.ZodOptional<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datasets.d.ts","sourceRoot":"","sources":["../../../src/commands/datasets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"datasets.d.ts","sourceRoot":"","sources":["../../../src/commands/datasets.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,OAAO,CAAA;AAM9B,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;6BAInB,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as p from '@clack/prompts';
|
|
2
2
|
import * as SP from '@filoz/synapse-core/sp';
|
|
3
3
|
import { getPdpDataSet } from '@filoz/synapse-core/warm-storage';
|
|
4
|
-
import { and, asc, eq } from 'drizzle-orm';
|
|
5
4
|
import { Cli, z } from 'incur';
|
|
6
5
|
import { isAddress } from 'viem';
|
|
6
|
+
import { getDataSet, getProvider, listDataSetPieces, listDataSets, listProviders } from "../api.js";
|
|
7
7
|
import { contextMiddleware, contextSchema } from "../middleware.js";
|
|
8
8
|
import { globalOptions, hashLink } from "../utils.js";
|
|
9
9
|
export const datasets = Cli.create('datasets', {
|
|
@@ -16,38 +16,32 @@ datasets.command('list', {
|
|
|
16
16
|
options: globalOptions.extend({
|
|
17
17
|
providerId: z.coerce.bigint().optional().describe('Filter datasets by provider ID'),
|
|
18
18
|
payer: z.string().refine(isAddress, 'Invalid address').optional().describe('Filter datasets by payer address'),
|
|
19
|
+
stats: z.boolean().optional().default(false).describe('Include piece counts (slow: walks every piece)'),
|
|
19
20
|
}),
|
|
20
21
|
middleware: [contextMiddleware],
|
|
21
22
|
run: async (c) => {
|
|
22
23
|
try {
|
|
23
|
-
const
|
|
24
|
+
const { api } = c.var;
|
|
24
25
|
const payer = c.options.payer?.toLowerCase() ?? c.var.client.account.address.toLowerCase();
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
pieces: {
|
|
34
|
-
where: eq(c.var.indexerDb._.fullSchema.pieces.removed, false),
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
orderBy: [asc(schema.dataSets.dataSetId)],
|
|
38
|
-
});
|
|
39
|
-
const datasetsFlattened = datasets.map((dataset) => {
|
|
40
|
-
const { provider, pieces } = dataset;
|
|
41
|
-
return {
|
|
26
|
+
const [rows, providers] = await Promise.all([
|
|
27
|
+
listDataSets(api, { owner: payer, providerId: c.options.providerId, deleted: false }),
|
|
28
|
+
listProviders(api),
|
|
29
|
+
]);
|
|
30
|
+
const serviceUrls = new Map(providers.map((provider) => [provider.providerId, provider.serviceUrl]));
|
|
31
|
+
const datasetsFlattened = [];
|
|
32
|
+
for (const dataset of rows.reverse()) {
|
|
33
|
+
datasetsFlattened.push({
|
|
42
34
|
id: dataset.dataSetId,
|
|
43
35
|
withCdn: dataset.withCdn,
|
|
44
36
|
withIpfsIndexing: dataset.withIpfsIndexing,
|
|
45
37
|
source: dataset.source,
|
|
46
|
-
provider:
|
|
38
|
+
provider: dataset.providerId == null ? null : serviceUrls.get(dataset.providerId),
|
|
47
39
|
pdpEndEpoch: dataset.pdpEndEpoch,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
40
|
+
...(c.options.stats && {
|
|
41
|
+
pieces: (await listDataSetPieces(api, BigInt(dataset.dataSetId), { removed: false })).length,
|
|
42
|
+
}),
|
|
43
|
+
});
|
|
44
|
+
}
|
|
51
45
|
return c.ok({
|
|
52
46
|
datasets: datasetsFlattened,
|
|
53
47
|
});
|
|
@@ -130,15 +124,8 @@ datasets.command('show', {
|
|
|
130
124
|
middleware: [contextMiddleware],
|
|
131
125
|
run: async (c) => {
|
|
132
126
|
try {
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
with: {
|
|
136
|
-
provider: true,
|
|
137
|
-
pieces: {
|
|
138
|
-
where: eq(c.var.indexerDb._.fullSchema.pieces.removed, false),
|
|
139
|
-
},
|
|
140
|
-
},
|
|
141
|
-
});
|
|
127
|
+
const { api } = c.var;
|
|
128
|
+
const dataset = await getDataSet(api, c.args.id);
|
|
142
129
|
if (!dataset) {
|
|
143
130
|
return c.error({
|
|
144
131
|
code: 'DATASET_NOT_FOUND',
|
|
@@ -146,7 +133,11 @@ datasets.command('show', {
|
|
|
146
133
|
retryable: false,
|
|
147
134
|
});
|
|
148
135
|
}
|
|
149
|
-
|
|
136
|
+
const [provider, pieces] = await Promise.all([
|
|
137
|
+
dataset.providerId == null ? null : getProvider(api, BigInt(dataset.providerId)),
|
|
138
|
+
listDataSetPieces(api, c.args.id, { removed: false }),
|
|
139
|
+
]);
|
|
140
|
+
return c.ok({ ...dataset, provider, pieces: pieces.reverse() });
|
|
150
141
|
}
|
|
151
142
|
catch (error) {
|
|
152
143
|
if (c.options.debug) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datasets.js","sourceRoot":"","sources":["../../../src/commands/datasets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AACnC,OAAO,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAChE,OAAO,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"datasets.js","sourceRoot":"","sources":["../../../src/commands/datasets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import { Cli, z } from 'incur';
|
|
2
2
|
export declare const providers: Cli.Cli<{}, z.ZodObject<{
|
|
3
|
-
|
|
3
|
+
api: z.ZodCustom<import("../types.ts").IndexerApi, import("../types.ts").IndexerApi>;
|
|
4
4
|
localDb: z.ZodCustom<import("../types.ts").LocalDatabase, import("../types.ts").LocalDatabase>;
|
|
5
5
|
config: z.ZodCustom<import("iso-conf").Conf<z.ZodObject<{
|
|
6
6
|
privateKey: z.ZodOptional<z.ZodString>;
|
|
7
|
-
|
|
8
|
-
indexerCalibrationUrl: z.ZodOptional<z.ZodURL>;
|
|
7
|
+
apiUrl: z.ZodOptional<z.ZodURL>;
|
|
9
8
|
chainId: z.ZodOptional<z.ZodNumber>;
|
|
10
9
|
dbPath: z.ZodOptional<z.ZodString>;
|
|
11
10
|
source: z.ZodOptional<z.ZodString>;
|
|
12
11
|
}, z.core.$strip>>, import("iso-conf").Conf<z.ZodObject<{
|
|
13
12
|
privateKey: z.ZodOptional<z.ZodString>;
|
|
14
|
-
|
|
15
|
-
indexerCalibrationUrl: z.ZodOptional<z.ZodURL>;
|
|
13
|
+
apiUrl: z.ZodOptional<z.ZodURL>;
|
|
16
14
|
chainId: z.ZodOptional<z.ZodNumber>;
|
|
17
15
|
dbPath: z.ZodOptional<z.ZodString>;
|
|
18
16
|
source: z.ZodOptional<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../src/commands/providers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../src/commands/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,OAAO,CAAA;AAsB9B,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;6BAIpB,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { and, asc, count, eq, inArray, isNull, lte, or, sum } from 'drizzle-orm';
|
|
2
1
|
import { Cli, z } from 'incur';
|
|
3
2
|
import { getBlockNumber } from 'viem/actions';
|
|
3
|
+
import { listProviders, providerPiecePages } from "../api.js";
|
|
4
|
+
import { getActiveDataSetIds } from "../db/get-active-data-set-ids.js";
|
|
4
5
|
import { contextMiddleware, contextSchema } from "../middleware.js";
|
|
5
6
|
import { globalOptions } from "../utils.js";
|
|
6
7
|
function formatBytesAsGb(bytes) {
|
|
@@ -9,6 +10,11 @@ function formatBytesAsGb(bytes) {
|
|
|
9
10
|
const fraction = scaled % 100n;
|
|
10
11
|
return `${whole}.${fraction.toString().padStart(2, '0')} GB`;
|
|
11
12
|
}
|
|
13
|
+
function compareIds(a, b) {
|
|
14
|
+
const x = BigInt(a);
|
|
15
|
+
const y = BigInt(b);
|
|
16
|
+
return x < y ? -1 : x > y ? 1 : 0;
|
|
17
|
+
}
|
|
12
18
|
export const providers = Cli.create('providers', {
|
|
13
19
|
description: 'Provider commands',
|
|
14
20
|
options: globalOptions,
|
|
@@ -18,41 +24,35 @@ providers.command('list', {
|
|
|
18
24
|
description: 'List all providers from the indexer',
|
|
19
25
|
options: globalOptions.extend({
|
|
20
26
|
all: z.boolean().optional().default(false).describe('Include all providers'),
|
|
27
|
+
stats: z
|
|
28
|
+
.boolean()
|
|
29
|
+
.optional()
|
|
30
|
+
.default(false)
|
|
31
|
+
.describe('Include piece count and total size (slow: walks every piece of each provider)'),
|
|
21
32
|
}),
|
|
22
33
|
middleware: [contextMiddleware],
|
|
23
34
|
run: async (c) => {
|
|
24
35
|
try {
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
];
|
|
30
|
-
if (!c.options.all) {
|
|
31
|
-
filters.push(or(eq(schema.providers.approved, true), eq(schema.providers.endorsed, true)));
|
|
32
|
-
}
|
|
33
|
-
const blockNumber = await getBlockNumber(c.var.client);
|
|
34
|
-
const rows = await c.var.indexerDb.query.providers.findMany({
|
|
35
|
-
orderBy: [asc(schema.providers.providerId)],
|
|
36
|
-
where: and(...filters),
|
|
37
|
-
});
|
|
38
|
-
const providerIds = rows.map((provider) => provider.providerId);
|
|
36
|
+
const { api } = c.var;
|
|
37
|
+
const rows = (await listProviders(api, { active: true }))
|
|
38
|
+
.filter((provider) => provider.pdpProductActive && (c.options.all || provider.approved || provider.endorsed))
|
|
39
|
+
.sort((a, b) => compareIds(a.providerId, b.providerId));
|
|
39
40
|
const statsByProviderId = new Map();
|
|
40
|
-
if (
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
providerId
|
|
44
|
-
|
|
45
|
-
totalSize:
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
});
|
|
41
|
+
if (c.options.stats && rows.length > 0) {
|
|
42
|
+
const blockNumber = await getBlockNumber(c.var.client);
|
|
43
|
+
for (const provider of rows) {
|
|
44
|
+
const providerId = BigInt(provider.providerId);
|
|
45
|
+
const activeDataSetIds = await getActiveDataSetIds({ api, providerId, blockNumber });
|
|
46
|
+
const stats = { pieceCount: 0, totalSize: 0n };
|
|
47
|
+
for await (const pieces of providerPiecePages(api, providerId, { removed: false })) {
|
|
48
|
+
for (const piece of pieces) {
|
|
49
|
+
if (!activeDataSetIds.has(piece.dataSetId))
|
|
50
|
+
continue;
|
|
51
|
+
stats.pieceCount++;
|
|
52
|
+
stats.totalSize += BigInt(piece.rawSize ?? 0);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
statsByProviderId.set(provider.providerId, stats);
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
const providersFlattened = rows.map((provider) => {
|
|
@@ -63,8 +63,7 @@ providers.command('list', {
|
|
|
63
63
|
serviceUrl: provider.serviceUrl,
|
|
64
64
|
approved: provider.approved,
|
|
65
65
|
endorsed: provider.endorsed,
|
|
66
|
-
pieceCount: stats
|
|
67
|
-
totalSize: formatBytesAsGb(stats?.totalSize ?? 0n),
|
|
66
|
+
...(stats && { pieceCount: stats.pieceCount, totalSize: formatBytesAsGb(stats.totalSize) }),
|
|
68
67
|
};
|
|
69
68
|
});
|
|
70
69
|
return c.ok({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/commands/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/commands/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAG3C,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,MAAM,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,WAAc,CAAA;IAC9C,MAAM,KAAK,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3B,MAAM,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAA;IAC9B,OAAO,GAAG,KAAK,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAA;AAC9D,CAAC;AAGD,SAAS,UAAU,CAAC,CAAS,EAAE,CAAS;IACtC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACnB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACnB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE;IAC/C,WAAW,EAAE,mBAAmB;IAChC,OAAO,EAAE,aAAa;IACtB,IAAI,EAAE,aAAa;CACpB,CAAC,CAAA;AAEF,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;IACxB,WAAW,EAAE,qCAAqC;IAClD,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC;QAC5B,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC5E,KAAK,EAAE,CAAC;aACL,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,+EAA+E,CAAC;KAC7F,CAAC;IACF,UAAU,EAAE,CAAC,iBAAiB,CAAC;IAC/B,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAA;YACrB,MAAM,IAAI,GAAG,CAAC,MAAM,aAAa,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACtD,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;iBAC5G,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;YAEzD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAqD,CAAA;YAEtF,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACtD,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC;oBAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;oBAC9C,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAA;oBACpF,MAAM,KAAK,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;oBAC9C,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;wBACnF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;4BAC3B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;gCAAE,SAAQ;4BACpD,KAAK,CAAC,UAAU,EAAE,CAAA;4BAClB,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAA;wBAC/C,CAAC;oBACH,CAAC;oBACD,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;gBACnD,CAAC;YACH,CAAC;YAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC/C,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;gBACxD,OAAO;oBACL,EAAE,EAAE,QAAQ,CAAC,UAAU;oBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,GAAG,CAAC,KAAK,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;iBAC5F,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,CAAC,CAAC,EAAE,CAAC;gBACV,SAAS,EAAE,kBAAkB;aAC9B,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACpB,OAAO,CAAC,CAAC,KAAK,CAAC;gBACb,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B;gBAC5E,SAAS,EAAE,IAAI;aAChB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;CACF,CAAC,CAAA"}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import { Cli, z } from 'incur';
|
|
2
2
|
export declare const repair: Cli.Cli<{}, z.ZodObject<{
|
|
3
|
-
|
|
3
|
+
api: z.ZodCustom<import("../types.ts").IndexerApi, import("../types.ts").IndexerApi>;
|
|
4
4
|
localDb: z.ZodCustom<import("../types.ts").LocalDatabase, import("../types.ts").LocalDatabase>;
|
|
5
5
|
config: z.ZodCustom<import("iso-conf").Conf<z.ZodObject<{
|
|
6
6
|
privateKey: z.ZodOptional<z.ZodString>;
|
|
7
|
-
|
|
8
|
-
indexerCalibrationUrl: z.ZodOptional<z.ZodURL>;
|
|
7
|
+
apiUrl: z.ZodOptional<z.ZodURL>;
|
|
9
8
|
chainId: z.ZodOptional<z.ZodNumber>;
|
|
10
9
|
dbPath: z.ZodOptional<z.ZodString>;
|
|
11
10
|
source: z.ZodOptional<z.ZodString>;
|
|
12
11
|
}, z.core.$strip>>, import("iso-conf").Conf<z.ZodObject<{
|
|
13
12
|
privateKey: z.ZodOptional<z.ZodString>;
|
|
14
|
-
|
|
15
|
-
indexerCalibrationUrl: z.ZodOptional<z.ZodURL>;
|
|
13
|
+
apiUrl: z.ZodOptional<z.ZodURL>;
|
|
16
14
|
chainId: z.ZodOptional<z.ZodNumber>;
|
|
17
15
|
dbPath: z.ZodOptional<z.ZodString>;
|
|
18
16
|
source: z.ZodOptional<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repair.d.ts","sourceRoot":"","sources":["../../../src/commands/repair.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,OAAO,CAAA;AAS9B,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"repair.d.ts","sourceRoot":"","sources":["../../../src/commands/repair.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,OAAO,CAAA;AAS9B,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;6BAGjB,CAAA"}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import { Cli, z } from 'incur';
|
|
2
2
|
export declare const replicate: Cli.Cli<{}, z.ZodObject<{
|
|
3
|
-
|
|
3
|
+
api: z.ZodCustom<import("../types.ts").IndexerApi, import("../types.ts").IndexerApi>;
|
|
4
4
|
localDb: z.ZodCustom<import("../types.ts").LocalDatabase, import("../types.ts").LocalDatabase>;
|
|
5
5
|
config: z.ZodCustom<import("iso-conf").Conf<z.ZodObject<{
|
|
6
6
|
privateKey: z.ZodOptional<z.ZodString>;
|
|
7
|
-
|
|
8
|
-
indexerCalibrationUrl: z.ZodOptional<z.ZodURL>;
|
|
7
|
+
apiUrl: z.ZodOptional<z.ZodURL>;
|
|
9
8
|
chainId: z.ZodOptional<z.ZodNumber>;
|
|
10
9
|
dbPath: z.ZodOptional<z.ZodString>;
|
|
11
10
|
source: z.ZodOptional<z.ZodString>;
|
|
12
11
|
}, z.core.$strip>>, import("iso-conf").Conf<z.ZodObject<{
|
|
13
12
|
privateKey: z.ZodOptional<z.ZodString>;
|
|
14
|
-
|
|
15
|
-
indexerCalibrationUrl: z.ZodOptional<z.ZodURL>;
|
|
13
|
+
apiUrl: z.ZodOptional<z.ZodURL>;
|
|
16
14
|
chainId: z.ZodOptional<z.ZodNumber>;
|
|
17
15
|
dbPath: z.ZodOptional<z.ZodString>;
|
|
18
16
|
source: z.ZodOptional<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replicate.d.ts","sourceRoot":"","sources":["../../../src/commands/replicate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,OAAO,CAAA;AAS9B,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"replicate.d.ts","sourceRoot":"","sources":["../../../src/commands/replicate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,OAAO,CAAA;AAS9B,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;6BAGpB,CAAA"}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import { Cli, z } from 'incur';
|
|
2
2
|
export declare const secondCopy: Cli.Cli<{}, z.ZodObject<{
|
|
3
|
-
|
|
3
|
+
api: z.ZodCustom<import("../types.ts").IndexerApi, import("../types.ts").IndexerApi>;
|
|
4
4
|
localDb: z.ZodCustom<import("../types.ts").LocalDatabase, import("../types.ts").LocalDatabase>;
|
|
5
5
|
config: z.ZodCustom<import("iso-conf").Conf<z.ZodObject<{
|
|
6
6
|
privateKey: z.ZodOptional<z.ZodString>;
|
|
7
|
-
|
|
8
|
-
indexerCalibrationUrl: z.ZodOptional<z.ZodURL>;
|
|
7
|
+
apiUrl: z.ZodOptional<z.ZodURL>;
|
|
9
8
|
chainId: z.ZodOptional<z.ZodNumber>;
|
|
10
9
|
dbPath: z.ZodOptional<z.ZodString>;
|
|
11
10
|
source: z.ZodOptional<z.ZodString>;
|
|
12
11
|
}, z.core.$strip>>, import("iso-conf").Conf<z.ZodObject<{
|
|
13
12
|
privateKey: z.ZodOptional<z.ZodString>;
|
|
14
|
-
|
|
15
|
-
indexerCalibrationUrl: z.ZodOptional<z.ZodURL>;
|
|
13
|
+
apiUrl: z.ZodOptional<z.ZodURL>;
|
|
16
14
|
chainId: z.ZodOptional<z.ZodNumber>;
|
|
17
15
|
dbPath: z.ZodOptional<z.ZodString>;
|
|
18
16
|
source: z.ZodOptional<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"second-copy.d.ts","sourceRoot":"","sources":["../../../src/commands/second-copy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,OAAO,CAAA;AAS9B,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"second-copy.d.ts","sourceRoot":"","sources":["../../../src/commands/second-copy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,OAAO,CAAA;AAS9B,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;6BAGrB,CAAA"}
|