@filoz/repair-cli 0.3.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.
Files changed (125) hide show
  1. package/dist/package.json +3 -3
  2. package/dist/src/api.d.ts +35 -0
  3. package/dist/src/api.d.ts.map +1 -0
  4. package/dist/src/api.js +118 -0
  5. package/dist/src/api.js.map +1 -0
  6. package/dist/src/cli.js +2 -0
  7. package/dist/src/cli.js.map +1 -1
  8. package/dist/src/commands/datasets.d.ts +3 -5
  9. package/dist/src/commands/datasets.d.ts.map +1 -1
  10. package/dist/src/commands/datasets.js +24 -33
  11. package/dist/src/commands/datasets.js.map +1 -1
  12. package/dist/src/commands/providers.d.ts +3 -5
  13. package/dist/src/commands/providers.d.ts.map +1 -1
  14. package/dist/src/commands/providers.js +32 -33
  15. package/dist/src/commands/providers.js.map +1 -1
  16. package/dist/src/commands/repair.d.ts +3 -5
  17. package/dist/src/commands/repair.d.ts.map +1 -1
  18. package/dist/src/commands/repair.js +3 -3
  19. package/dist/src/commands/repair.js.map +1 -1
  20. package/dist/src/commands/replicate.d.ts +3 -5
  21. package/dist/src/commands/replicate.d.ts.map +1 -1
  22. package/dist/src/commands/replicate.js +3 -3
  23. package/dist/src/commands/replicate.js.map +1 -1
  24. package/dist/src/commands/second-copy.d.ts +23 -0
  25. package/dist/src/commands/second-copy.d.ts.map +1 -0
  26. package/dist/src/commands/second-copy.js +175 -0
  27. package/dist/src/commands/second-copy.js.map +1 -0
  28. package/dist/src/commands/session-key.d.ts +3 -5
  29. package/dist/src/commands/session-key.d.ts.map +1 -1
  30. package/dist/src/commands/setup.d.ts.map +1 -1
  31. package/dist/src/commands/setup.js +11 -32
  32. package/dist/src/commands/setup.js.map +1 -1
  33. package/dist/src/commands/wallet.d.ts +3 -5
  34. package/dist/src/commands/wallet.d.ts.map +1 -1
  35. package/dist/src/db/dedupe-cids.d.ts +6 -7
  36. package/dist/src/db/dedupe-cids.d.ts.map +1 -1
  37. package/dist/src/db/dedupe-cids.js +2 -14
  38. package/dist/src/db/dedupe-cids.js.map +1 -1
  39. package/dist/src/db/find-repair-dataset.d.ts +3 -3
  40. package/dist/src/db/find-repair-dataset.d.ts.map +1 -1
  41. package/dist/src/db/find-repair-dataset.js +16 -14
  42. package/dist/src/db/find-repair-dataset.js.map +1 -1
  43. package/dist/src/db/get-active-data-set-ids.d.ts +9 -0
  44. package/dist/src/db/get-active-data-set-ids.d.ts.map +1 -0
  45. package/dist/src/db/get-active-data-set-ids.js +9 -0
  46. package/dist/src/db/get-active-data-set-ids.js.map +1 -0
  47. package/dist/src/db/get-alternate-provider-urls.d.ts +6 -0
  48. package/dist/src/db/get-alternate-provider-urls.d.ts.map +1 -0
  49. package/dist/src/db/get-alternate-provider-urls.js +24 -0
  50. package/dist/src/db/get-alternate-provider-urls.js.map +1 -0
  51. package/dist/src/db/get-pieces.d.ts +8 -27
  52. package/dist/src/db/get-pieces.d.ts.map +1 -1
  53. package/dist/src/db/get-pieces.js +44 -97
  54. package/dist/src/db/get-pieces.js.map +1 -1
  55. package/dist/src/db/get-repair-provider.d.ts +2 -2
  56. package/dist/src/db/get-repair-provider.d.ts.map +1 -1
  57. package/dist/src/db/get-repair-provider.js +8 -20
  58. package/dist/src/db/get-repair-provider.js.map +1 -1
  59. package/dist/src/db/repair-create.d.ts.map +1 -1
  60. package/dist/src/db/repair-create.js +5 -3
  61. package/dist/src/db/repair-create.js.map +1 -1
  62. package/dist/src/db/replicate-create.d.ts.map +1 -1
  63. package/dist/src/db/replicate-create.js +15 -21
  64. package/dist/src/db/replicate-create.js.map +1 -1
  65. package/dist/src/db/second-copy-create.d.ts +10 -0
  66. package/dist/src/db/second-copy-create.d.ts.map +1 -0
  67. package/dist/src/db/second-copy-create.js +104 -0
  68. package/dist/src/db/second-copy-create.js.map +1 -0
  69. package/dist/src/local-schema.d.ts +41 -1
  70. package/dist/src/local-schema.d.ts.map +1 -1
  71. package/dist/src/local-schema.js +2 -0
  72. package/dist/src/local-schema.js.map +1 -1
  73. package/dist/src/middleware.d.ts +7 -11
  74. package/dist/src/middleware.d.ts.map +1 -1
  75. package/dist/src/middleware.js +6 -10
  76. package/dist/src/middleware.js.map +1 -1
  77. package/dist/src/pipeline/add-pieces.d.ts +3 -3
  78. package/dist/src/pipeline/add-pieces.d.ts.map +1 -1
  79. package/dist/src/pipeline/add-pieces.js +15 -7
  80. package/dist/src/pipeline/add-pieces.js.map +1 -1
  81. package/dist/src/pipeline/create-datasets.d.ts +4 -4
  82. package/dist/src/pipeline/create-datasets.d.ts.map +1 -1
  83. package/dist/src/pipeline/create-datasets.js +7 -14
  84. package/dist/src/pipeline/create-datasets.js.map +1 -1
  85. package/dist/src/types.d.ts +6 -7
  86. package/dist/src/types.d.ts.map +1 -1
  87. package/dist/src/utils.d.ts +7 -10
  88. package/dist/src/utils.d.ts.map +1 -1
  89. package/dist/src/utils.js +21 -2
  90. package/dist/src/utils.js.map +1 -1
  91. package/package.json +3 -3
  92. package/readme.md +98 -13
  93. package/src/api.ts +220 -0
  94. package/src/cli.ts +2 -0
  95. package/src/commands/datasets.ts +24 -36
  96. package/src/commands/providers.ts +34 -42
  97. package/src/commands/repair.ts +3 -3
  98. package/src/commands/replicate.ts +3 -3
  99. package/src/commands/second-copy.ts +187 -0
  100. package/src/commands/setup.ts +12 -35
  101. package/src/db/dedupe-cids.ts +7 -24
  102. package/src/db/find-repair-dataset.ts +17 -28
  103. package/src/db/get-active-data-set-ids.ts +29 -0
  104. package/src/db/get-alternate-provider-urls.ts +43 -0
  105. package/src/db/get-pieces.ts +82 -214
  106. package/src/db/get-repair-provider.ts +10 -30
  107. package/src/db/repair-create.ts +5 -3
  108. package/src/db/replicate-create.ts +15 -21
  109. package/src/db/second-copy-create.ts +147 -0
  110. package/src/local-schema.ts +3 -0
  111. package/src/middleware.ts +7 -11
  112. package/src/pipeline/add-pieces.ts +21 -11
  113. package/src/pipeline/create-datasets.ts +9 -29
  114. package/src/types.ts +9 -7
  115. package/src/utils.ts +22 -4
  116. package/dist/src/db/find-providers-by-cid.d.ts +0 -9
  117. package/dist/src/db/find-providers-by-cid.d.ts.map +0 -1
  118. package/dist/src/db/find-providers-by-cid.js +0 -43
  119. package/dist/src/db/find-providers-by-cid.js.map +0 -1
  120. package/dist/src/indexer-schema.d.ts +0 -549
  121. package/dist/src/indexer-schema.d.ts.map +0 -1
  122. package/dist/src/indexer-schema.js +0 -56
  123. package/dist/src/indexer-schema.js.map +0 -1
  124. package/src/db/find-providers-by-cid.ts +0 -70
  125. package/src/indexer-schema.ts +0 -77
@@ -1 +1 @@
1
- {"version":3,"file":"find-repair-dataset.js","sourceRoot":"","sources":["../../../src/db/find-repair-dataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAgBlD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EACtC,SAAS,EACT,UAAU,EACV,KAAK,EACL,MAAM,GACmB;IACzB,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;IAErC,MAAM,MAAM,GAAG,MAAM,SAAS;SAC3B,MAAM,CAAC;QACN,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;KACrC,CAAC;SACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;SACrB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,EAC1C,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAClC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EACnC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,EAC9C,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAClC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAC3C,CACF;SACA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SACvC,KAAK,CAAC,CAAC,CAAC,CAAA;IAEX,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC5B,CAAC"}
1
+ {"version":3,"file":"find-repair-dataset.js","sourceRoot":"","sources":["../../../src/db/find-repair-dataset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAexC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EACtC,GAAG,EACH,UAAU,EACV,KAAK,EACL,MAAM,GACmB;IACzB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE;QACvC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE;QAC1B,UAAU;QACV,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,KAAK;KACf,CAAC,CAAA;IAEF,IAAI,SAAS,GAAkB,IAAI,CAAA;IACnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB;YAAE,SAAQ;QACnG,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACpC,IAAI,SAAS,IAAI,IAAI,IAAI,EAAE,GAAG,SAAS;YAAE,SAAS,GAAG,EAAE,CAAA;IACzD,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type DataSet } from '../api.ts';
2
+ import type { IndexerApi } from '../types.ts';
3
+ export declare function isDataSetActiveAt(dataSet: Pick<DataSet, 'deleted' | 'pdpEndEpoch'>, blockNumber: bigint): boolean;
4
+ export declare function getActiveDataSetIds({ api, providerId, blockNumber, }: {
5
+ api: IndexerApi;
6
+ providerId: bigint;
7
+ blockNumber: bigint;
8
+ }): Promise<Set<string>>;
9
+ //# sourceMappingURL=get-active-data-set-ids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-active-data-set-ids.d.ts","sourceRoot":"","sources":["../../../src/db/get-active-data-set-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAgB,MAAM,WAAW,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAO7C,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,aAAa,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAEjH;AAKD,wBAAsB,mBAAmB,CAAC,EACxC,GAAG,EACH,UAAU,EACV,WAAW,GACZ,EAAE;IACD,GAAG,EAAE,UAAU,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;CACpB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAKvB"}
@@ -0,0 +1,9 @@
1
+ import { listDataSets } from "../api.js";
2
+ export function isDataSetActiveAt(dataSet, blockNumber) {
3
+ return !dataSet.deleted && (dataSet.pdpEndEpoch == null || BigInt(dataSet.pdpEndEpoch) > blockNumber);
4
+ }
5
+ export async function getActiveDataSetIds({ api, providerId, blockNumber, }) {
6
+ const dataSets = await listDataSets(api, { providerId, deleted: false });
7
+ return new Set(dataSets.filter((dataSet) => isDataSetActiveAt(dataSet, blockNumber)).map((dataSet) => dataSet.dataSetId));
8
+ }
9
+ //# sourceMappingURL=get-active-data-set-ids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-active-data-set-ids.js","sourceRoot":"","sources":["../../../src/db/get-active-data-set-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAAE,MAAM,WAAW,CAAA;AAQtD,MAAM,UAAU,iBAAiB,CAAC,OAAiD,EAAE,WAAmB;IACtG,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,CAAA;AACvG,CAAC;AAKD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EACxC,GAAG,EACH,UAAU,EACV,WAAW,GAKZ;IACC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IACxE,OAAO,IAAI,GAAG,CACZ,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAC1G,CAAA;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { IndexerApi } from '../types.ts';
2
+ export declare function getAlternateProviderUrls({ api, repairProviderId, }: {
3
+ api: IndexerApi;
4
+ repairProviderId: bigint;
5
+ }): Promise<string[]>;
6
+ //# sourceMappingURL=get-alternate-provider-urls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-alternate-provider-urls.d.ts","sourceRoot":"","sources":["../../../src/db/get-alternate-provider-urls.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAoB7C,wBAAsB,wBAAwB,CAAC,EAC7C,GAAG,EACH,gBAAgB,GACjB,EAAE;IACD,GAAG,EAAE,UAAU,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;CACzB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAepB"}
@@ -0,0 +1,24 @@
1
+ import { listProviders } from "../api.js";
2
+ function compareProviders(a, b) {
3
+ if (a.endorsed !== b.endorsed)
4
+ return a.endorsed ? -1 : 1;
5
+ if (a.approved !== b.approved)
6
+ return a.approved ? -1 : 1;
7
+ const x = BigInt(a.providerId);
8
+ const y = BigInt(b.providerId);
9
+ return x < y ? -1 : x > y ? 1 : 0;
10
+ }
11
+ export async function getAlternateProviderUrls({ api, repairProviderId, }) {
12
+ const providers = await listProviders(api);
13
+ const repairProviderUrl = providers.find((provider) => BigInt(provider.providerId) === repairProviderId)?.serviceUrl;
14
+ const urls = providers
15
+ .filter((provider) => (provider.approved || provider.endorsed) &&
16
+ provider.serviceUrl &&
17
+ BigInt(provider.providerId) !== repairProviderId)
18
+ .sort(compareProviders)
19
+ .map((provider) => provider.serviceUrl);
20
+ if (repairProviderUrl)
21
+ urls.push(repairProviderUrl);
22
+ return urls;
23
+ }
24
+ //# sourceMappingURL=get-alternate-provider-urls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-alternate-provider-urls.js","sourceRoot":"","sources":["../../../src/db/get-alternate-provider-urls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiB,MAAM,WAAW,CAAA;AAIxD,SAAS,gBAAgB,CAAC,CAAW,EAAE,CAAW;IAChD,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;QAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzD,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;QAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzD,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IAC9B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IAC9B,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;AAWD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,EAC7C,GAAG,EACH,gBAAgB,GAIjB;IACC,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAA;IAC1C,MAAM,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,gBAAgB,CAAC,EAAE,UAAU,CAAA;IACpH,MAAM,IAAI,GAAG,SAAS;SACnB,MAAM,CACL,CAAC,QAAQ,EAAE,EAAE,CACX,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC;QACxC,QAAQ,CAAC,UAAU;QACnB,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,gBAAgB,CACnD;SACA,IAAI,CAAC,gBAAgB,CAAC;SACtB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAoB,CAAC,CAAA;IAEnD,IAAI,iBAAiB;QAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IACnD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1,39 +1,20 @@
1
1
  import type { OperationInsert } from '../local-schema.ts';
2
- import type { IndexerDatabase } from '../types.ts';
3
- export declare const DEFAULT_PIECES_PAGE_SIZE = 3000;
4
- export type GetPiecesPageOptions = {
5
- indexerDb: IndexerDatabase;
2
+ import type { IndexerApi } from '../types.ts';
3
+ export type ForEachPiecesPageOptions = {
4
+ api: IndexerApi;
6
5
  providerId: bigint;
7
6
  repairId: number;
8
7
  blockNumber: bigint;
9
- limit?: number;
10
- offset?: number;
11
- seenCids?: Set<string>;
12
8
  };
13
- export type GetPiecesPageResult = {
14
- operations: OperationInsert[];
15
- hasMore: boolean;
16
- nextOffset: number;
17
- seenCids: Set<string>;
18
- };
19
- export type ForEachPiecesPageOptions = Omit<GetPiecesPageOptions, 'offset' | 'seenCids'>;
20
- export type GetDataSetPiecesPageOptions = {
21
- indexerDb: IndexerDatabase;
9
+ export type ForEachDataSetPiecesPageOptions = {
10
+ api: IndexerApi;
22
11
  dataSetId: bigint;
23
12
  repairId: number;
24
13
  sourceProviderUrl: string;
25
- limit?: number;
26
- offset?: number;
27
14
  };
28
- export type GetDataSetPiecesPageResult = {
15
+ export type PiecesPage = {
29
16
  operations: OperationInsert[];
30
- hasMore: boolean;
31
- nextOffset: number;
32
17
  };
33
- export type ForEachDataSetPiecesPageOptions = Omit<GetDataSetPiecesPageOptions, 'offset'>;
34
- export declare function emptySeenCids(): Set<string>;
35
- export declare function getPiecesPage({ indexerDb, providerId, repairId, blockNumber, limit, offset, seenCids, }: GetPiecesPageOptions): Promise<GetPiecesPageResult>;
36
- export declare function getDataSetPiecesPage({ indexerDb, dataSetId, repairId, sourceProviderUrl, limit, offset, }: GetDataSetPiecesPageOptions): Promise<GetDataSetPiecesPageResult>;
37
- export declare function forEachPiecesPage(options: ForEachPiecesPageOptions, onPage: (page: GetPiecesPageResult) => Promise<void>): Promise<void>;
38
- export declare function forEachDataSetPiecesPage(options: ForEachDataSetPiecesPageOptions, onPage: (page: GetDataSetPiecesPageResult) => Promise<void>): Promise<void>;
18
+ export declare function forEachPiecesPage({ api, providerId, repairId, blockNumber }: ForEachPiecesPageOptions, onPage: (page: PiecesPage) => Promise<void>): Promise<void>;
19
+ export declare function forEachDataSetPiecesPage({ api, dataSetId, repairId, sourceProviderUrl }: ForEachDataSetPiecesPageOptions, onPage: (page: PiecesPage) => Promise<void>): Promise<void>;
39
20
  //# sourceMappingURL=get-pieces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-pieces.d.ts","sourceRoot":"","sources":["../../../src/db/get-pieces.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAIlD,eAAO,MAAM,wBAAwB,OAAO,CAAA;AAG5C,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,eAAe,CAAA;IAE1B,UAAU,EAAE,MAAM,CAAA;IAElB,QAAQ,EAAE,MAAM,CAAA;IAEhB,WAAW,EAAE,MAAM,CAAA;IAEnB,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,MAAM,CAAC,EAAE,MAAM,CAAA;IAKf,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACvB,CAAA;AAGD,MAAM,MAAM,mBAAmB,GAAG;IAEhC,UAAU,EAAE,eAAe,EAAE,CAAA;IAE7B,OAAO,EAAE,OAAO,CAAA;IAEhB,UAAU,EAAE,MAAM,CAAA;IAElB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACtB,CAAA;AAGD,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,UAAU,CAAC,CAAA;AAGxF,MAAM,MAAM,2BAA2B,GAAG;IACxC,SAAS,EAAE,eAAe,CAAA;IAE1B,SAAS,EAAE,MAAM,CAAA;IAEjB,QAAQ,EAAE,MAAM,CAAA;IAEhB,iBAAiB,EAAE,MAAM,CAAA;IAEzB,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAGD,MAAM,MAAM,0BAA0B,GAAG;IAEvC,UAAU,EAAE,eAAe,EAAE,CAAA;IAE7B,OAAO,EAAE,OAAO,CAAA;IAEhB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAGD,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAA;AAQzF,wBAAgB,aAAa,IAAI,GAAG,CAAC,MAAM,CAAC,CAE3C;AAeD,wBAAsB,aAAa,CAAC,EAClC,SAAS,EACT,UAAU,EACV,QAAQ,EACR,WAAW,EACX,KAAgC,EAChC,MAAU,EACV,QAA0B,GAC3B,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAgFrD;AAUD,wBAAsB,oBAAoB,CAAC,EACzC,SAAS,EACT,SAAS,EACT,QAAQ,EACR,iBAAiB,EACjB,KAAgC,EAChC,MAAU,GACX,EAAE,2BAA2B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CA8BnE;AAUD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,GACnD,OAAO,CAAC,IAAI,CAAC,CAkBf;AAUD,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,+BAA+B,EACxC,MAAM,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,OAAO,CAAC,IAAI,CAAC,GAC1D,OAAO,CAAC,IAAI,CAAC,CAef"}
1
+ {"version":3,"file":"get-pieces.d.ts","sourceRoot":"","sources":["../../../src/db/get-pieces.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAK7C,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,EAAE,UAAU,CAAA;IAEf,UAAU,EAAE,MAAM,CAAA;IAElB,QAAQ,EAAE,MAAM,CAAA;IAEhB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAGD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,GAAG,EAAE,UAAU,CAAA;IAEf,SAAS,EAAE,MAAM,CAAA;IAEjB,QAAQ,EAAE,MAAM,CAAA;IAEhB,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAGD,MAAM,MAAM,UAAU,GAAG;IAEvB,UAAU,EAAE,eAAe,EAAE,CAAA;CAC9B,CAAA;AAmED,wBAAsB,iBAAiB,CACrC,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,wBAAwB,EACpE,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAC1C,OAAO,CAAC,IAAI,CAAC,CAiBf;AAYD,wBAAsB,wBAAwB,CAC5C,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,+BAA+B,EAChF,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAC1C,OAAO,CAAC,IAAI,CAAC,CAsBf"}
@@ -1,45 +1,17 @@
1
1
  import * as Piece from '@filoz/synapse-core/piece';
2
- import { and, asc, eq, isNull, lte, or } from 'drizzle-orm';
3
2
  import pMap from 'p-map';
4
- import { findProvidersByCid } from "./find-providers-by-cid.js";
5
- export const DEFAULT_PIECES_PAGE_SIZE = 3000;
6
- export function emptySeenCids() {
7
- return new Set();
8
- }
9
- export async function getPiecesPage({ indexerDb, providerId, repairId, blockNumber, limit = DEFAULT_PIECES_PAGE_SIZE, offset = 0, seenCids = emptySeenCids(), }) {
10
- const schema = indexerDb._.fullSchema;
11
- const rows = await indexerDb
12
- .select({
13
- cid: schema.pieces.cid,
14
- metadata: schema.pieces.metadata,
15
- })
16
- .from(schema.pieces)
17
- .innerJoin(schema.dataSets, eq(schema.pieces.dataSetId, schema.dataSets.dataSetId))
18
- .where(and(eq(schema.dataSets.providerId, providerId), eq(schema.dataSets.deleted, false), or(isNull(schema.dataSets.pdpEndEpoch), lte(schema.dataSets.pdpEndEpoch, blockNumber)), eq(schema.pieces.removed, false)))
19
- .orderBy(asc(schema.pieces.dataSetId), asc(schema.pieces.pieceId))
20
- .limit(limit)
21
- .offset(offset);
3
+ import { listDataSetPieces, MAX_PAGE_SIZE, providerPiecePages, toStringMetadata } from "../api.js";
4
+ import { getActiveDataSetIds } from "./get-active-data-set-ids.js";
5
+ import { getAlternateProviderUrls } from "./get-alternate-provider-urls.js";
6
+ async function piecesToRepairOperations({ pieces, repairId, alternateProviderUrls, }) {
22
7
  const now = Date.now();
23
- const pieces = [];
24
- for (const { cid, metadata } of rows) {
25
- if (seenCids.has(cid))
26
- continue;
27
- seenCids.add(cid);
28
- pieces.push({ cid, metadata });
29
- }
30
- const providersByCid = await findProvidersByCid({
31
- indexerDb,
32
- cids: pieces.map((piece) => piece.cid),
33
- blockNumber,
34
- });
35
- const operations = await pMap(pieces, async ({ cid, metadata }) => {
36
- const alternateProviders = providersByCid[cid]?.map((provider) => provider.serviceUrl) ?? [];
8
+ return pMap(pieces, async ({ cid, metadata }) => {
37
9
  let skippedMessage = '';
38
10
  let validProvider;
39
- if (alternateProviders.length > 0) {
40
- validProvider = await Piece.findPieceOnProviders(alternateProviders, Piece.from(cid));
11
+ if (alternateProviderUrls.length > 0) {
12
+ validProvider = await Piece.findPieceOnProviders(alternateProviderUrls, Piece.from(cid));
41
13
  if (!validProvider) {
42
- skippedMessage = `Found ${alternateProviders.length} alternate providers, but none are valid. ${alternateProviders.join(', ')}`;
14
+ skippedMessage = `Piece not found on any of ${alternateProviderUrls.length} probed providers`;
43
15
  }
44
16
  }
45
17
  else {
@@ -50,76 +22,51 @@ export async function getPiecesPage({ indexerDb, providerId, repairId, blockNumb
50
22
  type: 'add_piece',
51
23
  status: validProvider ? 'pending' : 'skipped',
52
24
  cid,
53
- metadata: metadata ?? {},
25
+ metadata,
54
26
  alternateProvider: validProvider ?? '',
55
27
  error: validProvider ? undefined : skippedMessage,
56
28
  createdAt: now,
57
29
  updatedAt: now,
58
30
  };
59
31
  }, { concurrency: 20 });
60
- return {
61
- operations,
62
- hasMore: rows.length === limit,
63
- nextOffset: offset + rows.length,
64
- seenCids,
65
- };
66
- }
67
- export async function getDataSetPiecesPage({ indexerDb, dataSetId, repairId, sourceProviderUrl, limit = DEFAULT_PIECES_PAGE_SIZE, offset = 0, }) {
68
- const schema = indexerDb._.fullSchema;
69
- const rows = await indexerDb
70
- .select({
71
- cid: schema.pieces.cid,
72
- metadata: schema.pieces.metadata,
73
- })
74
- .from(schema.pieces)
75
- .where(and(eq(schema.pieces.dataSetId, dataSetId), eq(schema.pieces.removed, false)))
76
- .orderBy(asc(schema.pieces.pieceId))
77
- .limit(limit)
78
- .offset(offset);
79
- const now = Date.now();
80
- const operations = rows.map(({ cid, metadata }) => ({
81
- repairId,
82
- type: 'add_piece',
83
- status: 'pending',
84
- cid,
85
- metadata: metadata ?? {},
86
- alternateProvider: sourceProviderUrl,
87
- createdAt: now,
88
- updatedAt: now,
89
- }));
90
- return {
91
- operations,
92
- hasMore: rows.length === limit,
93
- nextOffset: offset + rows.length,
94
- };
95
32
  }
96
- export async function forEachPiecesPage(options, onPage) {
97
- let offset = 0;
98
- let hasMore = true;
99
- let seenCids = emptySeenCids();
100
- while (hasMore) {
101
- const page = await getPiecesPage({
102
- ...options,
103
- offset,
104
- seenCids,
105
- });
106
- await onPage(page);
107
- offset = page.nextOffset;
108
- seenCids = page.seenCids;
109
- hasMore = page.hasMore;
33
+ export async function forEachPiecesPage({ api, providerId, repairId, blockNumber }, onPage) {
34
+ const activeDataSetIds = await getActiveDataSetIds({ api, providerId, blockNumber });
35
+ const alternateProviderUrls = await getAlternateProviderUrls({ api, repairProviderId: providerId });
36
+ const seenCids = new Set();
37
+ for await (const rows of providerPiecePages(api, providerId, { removed: false })) {
38
+ const pieces = [];
39
+ for (const { cid, metadata, dataSetId } of rows) {
40
+ if (!activeDataSetIds.has(dataSetId))
41
+ continue;
42
+ if (cid == null || seenCids.has(cid))
43
+ continue;
44
+ seenCids.add(cid);
45
+ pieces.push({ cid, metadata: toStringMetadata(metadata) });
46
+ }
47
+ await onPage({ operations: await piecesToRepairOperations({ pieces, repairId, alternateProviderUrls }) });
110
48
  }
111
49
  }
112
- export async function forEachDataSetPiecesPage(options, onPage) {
113
- let offset = 0;
114
- let hasMore = true;
115
- while (hasMore) {
116
- const page = await getDataSetPiecesPage({
117
- ...options,
118
- offset,
119
- });
120
- await onPage(page);
121
- offset = page.nextOffset;
122
- hasMore = page.hasMore;
50
+ export async function forEachDataSetPiecesPage({ api, dataSetId, repairId, sourceProviderUrl }, onPage) {
51
+ const pieces = (await listDataSetPieces(api, dataSetId, { removed: false })).reverse();
52
+ const now = Date.now();
53
+ for (let offset = 0; offset < pieces.length; offset += MAX_PAGE_SIZE) {
54
+ const operations = [];
55
+ for (const { cid, metadata } of pieces.slice(offset, offset + MAX_PAGE_SIZE)) {
56
+ if (cid == null)
57
+ continue;
58
+ operations.push({
59
+ repairId,
60
+ type: 'add_piece',
61
+ status: 'pending',
62
+ cid,
63
+ metadata: toStringMetadata(metadata),
64
+ alternateProvider: sourceProviderUrl,
65
+ createdAt: now,
66
+ updatedAt: now,
67
+ });
68
+ }
69
+ await onPage({ operations });
123
70
  }
124
71
  }
125
72
  //# sourceMappingURL=get-pieces.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-pieces.js","sourceRoot":"","sources":["../../../src/db/get-pieces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-pieces.js","sourceRoot":"","sources":["../../../src/db/get-pieces.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Context, RepairProvider } from '../types.ts';
2
- export interface GetRepairProviderOptions extends Pick<Context, 'indexerDb'> {
2
+ export interface GetRepairProviderOptions extends Pick<Context, 'api'> {
3
3
  providerId: bigint;
4
4
  }
5
- export declare function getRepairProvider({ indexerDb, providerId, }: GetRepairProviderOptions): Promise<RepairProvider | null>;
5
+ export declare function getRepairProvider({ api, providerId }: GetRepairProviderOptions): Promise<RepairProvider | null>;
6
6
  //# sourceMappingURL=get-repair-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-repair-provider.d.ts","sourceRoot":"","sources":["../../../src/db/get-repair-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE1D,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;IAC1E,UAAU,EAAE,MAAM,CAAA;CACnB;AAKD,wBAAsB,iBAAiB,CAAC,EACtC,SAAS,EACT,UAAU,GACX,EAAE,wBAAwB,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAiC3D"}
1
+ {"version":3,"file":"get-repair-provider.d.ts","sourceRoot":"","sources":["../../../src/db/get-repair-provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE1D,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;IACpE,UAAU,EAAE,MAAM,CAAA;CACnB;AAKD,wBAAsB,iBAAiB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,wBAAwB,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAerH"}
@@ -1,28 +1,16 @@
1
- import { and, eq } from 'drizzle-orm';
2
- export async function getRepairProvider({ indexerDb, providerId, }) {
3
- const schema = indexerDb._.fullSchema;
4
- const [provider] = await indexerDb
5
- .select({
6
- providerId: schema.providers.providerId,
7
- providerAddress: schema.providers.providerAddress,
8
- name: schema.providers.name,
9
- serviceUrl: schema.providers.serviceUrl,
10
- approved: schema.providers.approved,
11
- endorsed: schema.providers.endorsed,
12
- })
13
- .from(schema.providers)
14
- .where(and(eq(schema.providers.providerId, providerId), eq(schema.providers.providerActive, true), eq(schema.providers.pdpProductActive, true)))
15
- .limit(1);
16
- if (!provider?.providerAddress || !provider?.serviceUrl || !provider?.name) {
1
+ import { getProvider } from "../api.js";
2
+ export async function getRepairProvider({ api, providerId }) {
3
+ const provider = await getProvider(api, providerId);
4
+ if (!provider?.active || !provider.pdpProductActive || !provider.serviceUrl || !provider.name) {
17
5
  return null;
18
6
  }
19
7
  return {
20
- providerId: provider.providerId,
21
- providerAddress: provider.providerAddress,
8
+ providerId: BigInt(provider.providerId),
9
+ providerAddress: provider.address,
22
10
  name: provider.name,
23
11
  serviceUrl: provider.serviceUrl,
24
- approved: provider.approved,
25
- endorsed: provider.endorsed,
12
+ approved: provider.approved ?? false,
13
+ endorsed: provider.endorsed ?? false,
26
14
  };
27
15
  }
28
16
  //# sourceMappingURL=get-repair-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-repair-provider.js","sourceRoot":"","sources":["../../../src/db/get-repair-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAUrC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EACtC,SAAS,EACT,UAAU,GACe;IACzB,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,SAAS;SAC/B,MAAM,CAAC;QACN,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,UAAU;QACvC,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,eAAe;QACjD,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI;QAC3B,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,UAAU;QACvC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;QACnC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;KACpC,CAAC;SACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;SACtB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,EAC3C,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,EACzC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAC5C,CACF;SACA,KAAK,CAAC,CAAC,CAAC,CAAA;IAEX,IAAI,CAAC,QAAQ,EAAE,eAAe,IAAI,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC5B,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"get-repair-provider.js","sourceRoot":"","sources":["../../../src/db/get-repair-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAUvC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EAAE,GAAG,EAAE,UAAU,EAA4B;IACnF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAEnD,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9F,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QACvC,eAAe,EAAE,QAAQ,CAAC,OAAkB;QAC5C,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,KAAK;QACpC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,KAAK;KACrC,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"repair-create.d.ts","sourceRoot":"","sources":["../../../src/db/repair-create.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAI1C,MAAM,WAAW,mBAAoB,SAAQ,OAAO;IAClD,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AASD,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkFhF"}
1
+ {"version":3,"file":"repair-create.d.ts","sourceRoot":"","sources":["../../../src/db/repair-create.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAI1C,MAAM,WAAW,mBAAoB,SAAQ,OAAO;IAClD,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AASD,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAoFhF"}
@@ -4,7 +4,7 @@ import { NoAlternateProviderError, RepairCreationError } from "../error.js";
4
4
  import { forEachPiecesPage } from "./get-pieces.js";
5
5
  import { getRepairProvider } from "./get-repair-provider.js";
6
6
  export async function repairCreate(options) {
7
- const { indexerDb, localDb, repairProviderId, targetProviderId, client } = options;
7
+ const { api, localDb, repairProviderId, targetProviderId, client } = options;
8
8
  const localSchema = localDb._.fullSchema;
9
9
  const now = Date.now();
10
10
  const blockNumber = await getBlockNumber(client);
@@ -17,7 +17,7 @@ export async function repairCreate(options) {
17
17
  throw new RepairCreationError('Target provider must differ from the provider being repaired');
18
18
  }
19
19
  const targetProvider = await getRepairProvider({
20
- indexerDb,
20
+ api,
21
21
  providerId: targetProviderId,
22
22
  });
23
23
  if (!targetProvider) {
@@ -26,8 +26,10 @@ export async function repairCreate(options) {
26
26
  const [repair] = await localDb
27
27
  .insert(localSchema.repairs)
28
28
  .values({
29
+ kind: 'repair',
29
30
  repairProviderId,
30
31
  repairDataSetId: null,
32
+ sourceProviderUrl: null,
31
33
  targetProviderId: targetProvider.providerId,
32
34
  targetProviderUrl: targetProvider.serviceUrl,
33
35
  targetDataSetId: null,
@@ -43,7 +45,7 @@ export async function repairCreate(options) {
43
45
  let totalSkippedOperations = 0;
44
46
  const seenCids = new Set();
45
47
  await forEachPiecesPage({
46
- indexerDb,
48
+ api,
47
49
  providerId: repairProviderId,
48
50
  repairId: repair.id,
49
51
  blockNumber,
@@ -1 +1 @@
1
- {"version":3,"file":"repair-create.js","sourceRoot":"","sources":["../../../src/db/repair-create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repair-create.js","sourceRoot":"","sources":["../../../src/db/repair-create.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"replicate-create.d.ts","sourceRoot":"","sources":["../../../src/db/replicate-create.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAI1C,MAAM,WAAW,sBAAuB,SAAQ,OAAO;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAQD,wBAAsB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsFtF"}
1
+ {"version":3,"file":"replicate-create.d.ts","sourceRoot":"","sources":["../../../src/db/replicate-create.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAI1C,MAAM,WAAW,sBAAuB,SAAQ,OAAO;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAQD,wBAAsB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgFtF"}
@@ -1,12 +1,11 @@
1
1
  import { taskLog } from '@clack/prompts';
2
- import { eq } from 'drizzle-orm';
3
2
  import { getBlockNumber } from 'viem/actions';
3
+ import { getDataSet } from "../api.js";
4
4
  import { NoAlternateProviderError, RepairCreationError } from "../error.js";
5
5
  import { forEachDataSetPiecesPage } from "./get-pieces.js";
6
6
  import { getRepairProvider } from "./get-repair-provider.js";
7
7
  export async function replicateCreate(options) {
8
- const { indexerDb, localDb, dataSetId, targetProviderId, client } = options;
9
- const indexerSchema = indexerDb._.fullSchema;
8
+ const { api, localDb, dataSetId, targetProviderId, client } = options;
10
9
  const localSchema = localDb._.fullSchema;
11
10
  const now = Date.now();
12
11
  const blockNumber = await getBlockNumber(client);
@@ -15,30 +14,23 @@ export async function replicateCreate(options) {
15
14
  limit: 10,
16
15
  retainLog: true,
17
16
  });
18
- const [sourceDataSet] = await indexerDb
19
- .select({
20
- dataSetId: indexerSchema.dataSets.dataSetId,
21
- providerId: indexerSchema.dataSets.providerId,
22
- deleted: indexerSchema.dataSets.deleted,
23
- })
24
- .from(indexerSchema.dataSets)
25
- .where(eq(indexerSchema.dataSets.dataSetId, dataSetId))
26
- .limit(1);
27
- if (!sourceDataSet || sourceDataSet.deleted) {
17
+ const sourceDataSet = await getDataSet(api, dataSetId);
18
+ if (!sourceDataSet || sourceDataSet.deleted || sourceDataSet.providerId == null) {
28
19
  throw new RepairCreationError(`Source dataset ${dataSetId} not found or deleted`);
29
20
  }
30
- if (targetProviderId === sourceDataSet.providerId) {
21
+ const sourceProviderId = BigInt(sourceDataSet.providerId);
22
+ if (targetProviderId === sourceProviderId) {
31
23
  throw new RepairCreationError('Target provider must differ from the source dataset provider');
32
24
  }
33
25
  const sourceProvider = await getRepairProvider({
34
- indexerDb,
35
- providerId: sourceDataSet.providerId,
26
+ api,
27
+ providerId: sourceProviderId,
36
28
  });
37
29
  if (!sourceProvider) {
38
- throw new RepairCreationError(`Source provider ${sourceDataSet.providerId} not found or inactive`);
30
+ throw new RepairCreationError(`Source provider ${sourceProviderId} not found or inactive`);
39
31
  }
40
32
  const targetProvider = await getRepairProvider({
41
- indexerDb,
33
+ api,
42
34
  providerId: targetProviderId,
43
35
  });
44
36
  if (!targetProvider) {
@@ -47,8 +39,10 @@ export async function replicateCreate(options) {
47
39
  const [repair] = await localDb
48
40
  .insert(localSchema.repairs)
49
41
  .values({
42
+ kind: 'replicate',
50
43
  repairProviderId: sourceProvider.providerId,
51
- repairDataSetId: sourceDataSet.dataSetId,
44
+ repairDataSetId: dataSetId,
45
+ sourceProviderUrl: sourceProvider.serviceUrl,
52
46
  targetProviderId: targetProvider.providerId,
53
47
  targetProviderUrl: targetProvider.serviceUrl,
54
48
  targetDataSetId: null,
@@ -61,8 +55,8 @@ export async function replicateCreate(options) {
61
55
  throw new RepairCreationError('Failed to create replication row');
62
56
  let totalOperations = 0;
63
57
  await forEachDataSetPiecesPage({
64
- indexerDb,
65
- dataSetId: sourceDataSet.dataSetId,
58
+ api,
59
+ dataSetId,
66
60
  repairId: repair.id,
67
61
  sourceProviderUrl: sourceProvider.serviceUrl,
68
62
  }, async (page) => {
@@ -1 +1 @@
1
- {"version":3,"file":"replicate-create.js","sourceRoot":"","sources":["../../../src/db/replicate-create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replicate-create.js","sourceRoot":"","sources":["../../../src/db/replicate-create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Context } from '../types.ts';
2
+ export interface SecondCopyCreateOptions extends Context {
3
+ piecesFile: string;
4
+ sourceProviderUrl: string;
5
+ targetProviderId: bigint;
6
+ }
7
+ export declare function normalizeProviderUrl(url: string): string;
8
+ export declare function parsePieceCidsFromFile(piecesFile: string): Promise<string[]>;
9
+ export declare function secondCopyCreate(options: SecondCopyCreateOptions): Promise<number>;
10
+ //# sourceMappingURL=second-copy-create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"second-copy-create.d.ts","sourceRoot":"","sources":["../../../src/db/second-copy-create.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAK1C,MAAM,WAAW,uBAAwB,SAAQ,OAAO;IACtD,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AASD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAcxD;AAKD,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA2BlF;AAQD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqExF"}