@filoz/repair-cli 0.1.2 → 0.2.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 (109) hide show
  1. package/dist/package.json +1 -1
  2. package/dist/src/cli.js +2 -0
  3. package/dist/src/cli.js.map +1 -1
  4. package/dist/src/commands/datasets.d.ts +1 -0
  5. package/dist/src/commands/datasets.d.ts.map +1 -1
  6. package/dist/src/commands/datasets.js +14 -3
  7. package/dist/src/commands/datasets.js.map +1 -1
  8. package/dist/src/commands/providers.d.ts +1 -0
  9. package/dist/src/commands/providers.d.ts.map +1 -1
  10. package/dist/src/commands/providers.js.map +1 -1
  11. package/dist/src/commands/repair.d.ts +1 -0
  12. package/dist/src/commands/repair.d.ts.map +1 -1
  13. package/dist/src/commands/repair.js +7 -8
  14. package/dist/src/commands/repair.js.map +1 -1
  15. package/dist/src/commands/replicate.d.ts +24 -0
  16. package/dist/src/commands/replicate.d.ts.map +1 -0
  17. package/dist/src/commands/replicate.js +171 -0
  18. package/dist/src/commands/replicate.js.map +1 -0
  19. package/dist/src/commands/setup.d.ts.map +1 -1
  20. package/dist/src/commands/setup.js +15 -0
  21. package/dist/src/commands/setup.js.map +1 -1
  22. package/dist/src/commands/wallet.d.ts +1 -0
  23. package/dist/src/commands/wallet.d.ts.map +1 -1
  24. package/dist/src/db/dedupe-cids.d.ts +22 -0
  25. package/dist/src/db/dedupe-cids.d.ts.map +1 -0
  26. package/dist/src/db/dedupe-cids.js +28 -0
  27. package/dist/src/db/dedupe-cids.js.map +1 -0
  28. package/dist/src/db/find-providers-by-cid.d.ts +9 -0
  29. package/dist/src/db/find-providers-by-cid.d.ts.map +1 -0
  30. package/dist/src/db/{get-providers-by-cid.js → find-providers-by-cid.js} +4 -6
  31. package/dist/src/db/find-providers-by-cid.js.map +1 -0
  32. package/dist/src/db/find-repair-dataset.d.ts +10 -0
  33. package/dist/src/db/find-repair-dataset.d.ts.map +1 -0
  34. package/dist/src/db/{get-repair-dataset.js → find-repair-dataset.js} +3 -4
  35. package/dist/src/db/find-repair-dataset.js.map +1 -0
  36. package/dist/src/db/get-pieces.d.ts +16 -0
  37. package/dist/src/db/get-pieces.d.ts.map +1 -1
  38. package/dist/src/db/get-pieces.js +44 -3
  39. package/dist/src/db/get-pieces.js.map +1 -1
  40. package/dist/src/db/repair-create.d.ts.map +1 -1
  41. package/dist/src/db/repair-create.js +1 -0
  42. package/dist/src/db/repair-create.js.map +1 -1
  43. package/dist/src/db/repair-delete.d.ts.map +1 -1
  44. package/dist/src/db/repair-delete.js +0 -5
  45. package/dist/src/db/repair-delete.js.map +1 -1
  46. package/dist/src/db/replicate-create.d.ts +7 -0
  47. package/dist/src/db/replicate-create.d.ts.map +1 -0
  48. package/dist/src/db/replicate-create.js +78 -0
  49. package/dist/src/db/replicate-create.js.map +1 -0
  50. package/dist/src/db/upsert-operations.js +1 -1
  51. package/dist/src/db/upsert-operations.js.map +1 -1
  52. package/dist/src/local-schema.d.ts +19 -0
  53. package/dist/src/local-schema.d.ts.map +1 -1
  54. package/dist/src/local-schema.js +1 -0
  55. package/dist/src/local-schema.js.map +1 -1
  56. package/dist/src/middleware.d.ts +2 -0
  57. package/dist/src/middleware.d.ts.map +1 -1
  58. package/dist/src/middleware.js +4 -2
  59. package/dist/src/middleware.js.map +1 -1
  60. package/dist/src/pipeline/add-pieces.d.ts +12 -0
  61. package/dist/src/pipeline/add-pieces.d.ts.map +1 -0
  62. package/dist/src/pipeline/add-pieces.js +142 -0
  63. package/dist/src/pipeline/add-pieces.js.map +1 -0
  64. package/dist/src/pipeline/create-datasets.d.ts +3 -1
  65. package/dist/src/pipeline/create-datasets.d.ts.map +1 -1
  66. package/dist/src/pipeline/create-datasets.js +57 -5
  67. package/dist/src/pipeline/create-datasets.js.map +1 -1
  68. package/dist/src/utils.d.ts +32 -2
  69. package/dist/src/utils.d.ts.map +1 -1
  70. package/dist/src/utils.js +40 -7
  71. package/dist/src/utils.js.map +1 -1
  72. package/package.json +1 -1
  73. package/readme.md +110 -7
  74. package/src/cli.ts +2 -0
  75. package/src/commands/datasets.ts +15 -4
  76. package/src/commands/providers.ts +0 -1
  77. package/src/commands/repair.ts +12 -8
  78. package/src/commands/replicate.ts +183 -0
  79. package/src/commands/setup.ts +16 -0
  80. package/src/db/dedupe-cids.ts +49 -0
  81. package/src/db/{get-providers-by-cid.ts → find-providers-by-cid.ts} +5 -10
  82. package/src/db/{get-repair-dataset.ts → find-repair-dataset.ts} +6 -5
  83. package/src/db/get-pieces.ts +105 -3
  84. package/src/db/get-target-dataset.ts +1 -1
  85. package/src/db/repair-create.ts +1 -0
  86. package/src/db/repair-delete.ts +0 -5
  87. package/src/db/replicate-create.ts +106 -0
  88. package/src/db/upsert-operations.ts +1 -1
  89. package/src/local-schema.ts +1 -0
  90. package/src/middleware.ts +4 -2
  91. package/src/pipeline/add-pieces.ts +214 -0
  92. package/src/pipeline/create-datasets.ts +71 -5
  93. package/src/utils.ts +49 -10
  94. package/dist/src/db/get-providers-by-cid.d.ts +0 -10
  95. package/dist/src/db/get-providers-by-cid.d.ts.map +0 -1
  96. package/dist/src/db/get-providers-by-cid.js.map +0 -1
  97. package/dist/src/db/get-repair-dataset.d.ts +0 -9
  98. package/dist/src/db/get-repair-dataset.d.ts.map +0 -1
  99. package/dist/src/db/get-repair-dataset.js.map +0 -1
  100. package/dist/src/db/sync-pieces-onchain.d.ts +0 -10
  101. package/dist/src/db/sync-pieces-onchain.d.ts.map +0 -1
  102. package/dist/src/db/sync-pieces-onchain.js +0 -35
  103. package/dist/src/db/sync-pieces-onchain.js.map +0 -1
  104. package/dist/src/pipeline/pull.d.ts +0 -30
  105. package/dist/src/pipeline/pull.d.ts.map +0 -1
  106. package/dist/src/pipeline/pull.js +0 -169
  107. package/dist/src/pipeline/pull.js.map +0 -1
  108. package/src/db/sync-pieces-onchain.ts +0 -53
  109. package/src/pipeline/pull.ts +0 -255
@@ -1,5 +1,5 @@
1
- import { and, asc, eq, inArray, isNull, lte, notInArray, or } from 'drizzle-orm';
2
- export async function getProvidersByCid({ indexerDb, cids, excludedProviderIds, blockNumber, }) {
1
+ import { and, asc, eq, inArray, isNull, lte, or } from 'drizzle-orm';
2
+ export async function findProvidersByCid({ indexerDb, cids, blockNumber, }) {
3
3
  const schema = indexerDb._.fullSchema;
4
4
  const providersByCid = Object.fromEntries(cids.map((cid) => [cid, []]));
5
5
  if (cids.length === 0)
@@ -9,10 +9,8 @@ export async function getProvidersByCid({ indexerDb, cids, excludedProviderIds,
9
9
  eq(schema.dataSets.deleted, false),
10
10
  or(isNull(schema.dataSets.pdpEndEpoch), lte(schema.dataSets.pdpEndEpoch, blockNumber)),
11
11
  eq(schema.pieces.removed, false),
12
+ or(eq(schema.providers.approved, true), eq(schema.providers.endorsed, true)),
12
13
  ];
13
- if (excludedProviderIds.length > 0) {
14
- filters.push(notInArray(schema.dataSets.providerId, [...excludedProviderIds]));
15
- }
16
14
  const rows = await indexerDb
17
15
  .selectDistinct({
18
16
  cid: schema.pieces.cid,
@@ -42,4 +40,4 @@ export async function getProvidersByCid({ indexerDb, cids, excludedProviderIds,
42
40
  }
43
41
  return providersByCid;
44
42
  }
45
- //# sourceMappingURL=get-providers-by-cid.js.map
43
+ //# sourceMappingURL=find-providers-by-cid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-providers-by-cid.js","sourceRoot":"","sources":["../../../src/db/find-providers-by-cid.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Address } from 'viem';
2
+ import type { IndexerDatabase } from '../types.ts';
3
+ export type FindRepairDatasetOptions = {
4
+ indexerDb: IndexerDatabase;
5
+ providerId: bigint;
6
+ payer: Address;
7
+ source: string;
8
+ };
9
+ export declare function findRepairDataset({ indexerDb, providerId, payer, source, }: FindRepairDatasetOptions): Promise<bigint | null>;
10
+ //# sourceMappingURL=find-repair-dataset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-repair-dataset.d.ts","sourceRoot":"","sources":["../../../src/db/find-repair-dataset.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,eAAe,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAOD,wBAAsB,iBAAiB,CAAC,EACtC,SAAS,EACT,UAAU,EACV,KAAK,EACL,MAAM,GACP,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2BnD"}
@@ -1,13 +1,12 @@
1
1
  import { and, asc, eq, isNull } from 'drizzle-orm';
2
- import { EARLY_REPAIR_SOURCE } from "../utils.js";
3
- export async function getRepairDataset({ indexerDb, providerId, payer, }) {
2
+ export async function findRepairDataset({ indexerDb, providerId, payer, source, }) {
4
3
  const schema = indexerDb._.fullSchema;
5
4
  const result = await indexerDb
6
5
  .select({
7
6
  dataSetId: schema.dataSets.dataSetId,
8
7
  })
9
8
  .from(schema.dataSets)
10
- .where(and(eq(schema.dataSets.providerId, providerId), eq(schema.dataSets.deleted, false), isNull(schema.dataSets.pdpEndEpoch), eq(schema.dataSets.payer, payer.toLowerCase()), eq(schema.dataSets.source, EARLY_REPAIR_SOURCE), eq(schema.dataSets.withCdn, false), eq(schema.dataSets.withIpfsIndexing, true)))
9
+ .where(and(eq(schema.dataSets.providerId, providerId), eq(schema.dataSets.deleted, false), isNull(schema.dataSets.pdpEndEpoch), eq(schema.dataSets.payer, payer.toLowerCase()), eq(schema.dataSets.source, source), eq(schema.dataSets.withCdn, false), eq(schema.dataSets.withIpfsIndexing, true)))
11
10
  .orderBy(asc(schema.dataSets.dataSetId))
12
11
  .limit(1);
13
12
  if (result.length === 0) {
@@ -15,4 +14,4 @@ export async function getRepairDataset({ indexerDb, providerId, payer, }) {
15
14
  }
16
15
  return result[0].dataSetId;
17
16
  }
18
- //# sourceMappingURL=get-repair-dataset.js.map
17
+ //# sourceMappingURL=find-repair-dataset.js.map
@@ -0,0 +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"}
@@ -17,7 +17,23 @@ export type GetPiecesPageResult = {
17
17
  seenCids: Set<string>;
18
18
  };
19
19
  export type ForEachPiecesPageOptions = Omit<GetPiecesPageOptions, 'offset' | 'seenCids'>;
20
+ export type GetDataSetPiecesPageOptions = {
21
+ indexerDb: IndexerDatabase;
22
+ dataSetId: bigint;
23
+ repairId: number;
24
+ sourceProviderUrl: string;
25
+ limit?: number;
26
+ offset?: number;
27
+ };
28
+ export type GetDataSetPiecesPageResult = {
29
+ operations: OperationInsert[];
30
+ hasMore: boolean;
31
+ nextOffset: number;
32
+ };
33
+ export type ForEachDataSetPiecesPageOptions = Omit<GetDataSetPiecesPageOptions, 'offset'>;
20
34
  export declare function emptySeenCids(): Set<string>;
21
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>;
22
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>;
23
39
  //# 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;AAQxF,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,CAiFrD;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"}
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,7 +1,7 @@
1
1
  import * as Piece from '@filoz/synapse-core/piece';
2
2
  import { and, asc, eq, isNull, lte, or } from 'drizzle-orm';
3
3
  import pMap from 'p-map';
4
- import { getProvidersByCid } from "./get-providers-by-cid.js";
4
+ import { findProvidersByCid } from "./find-providers-by-cid.js";
5
5
  export const DEFAULT_PIECES_PAGE_SIZE = 3000;
6
6
  export function emptySeenCids() {
7
7
  return new Set();
@@ -27,10 +27,9 @@ export async function getPiecesPage({ indexerDb, providerId, repairId, blockNumb
27
27
  seenCids.add(cid);
28
28
  pieces.push({ cid, metadata });
29
29
  }
30
- const providersByCid = await getProvidersByCid({
30
+ const providersByCid = await findProvidersByCid({
31
31
  indexerDb,
32
32
  cids: pieces.map((piece) => piece.cid),
33
- excludedProviderIds: [],
34
33
  blockNumber,
35
34
  });
36
35
  const operations = await pMap(pieces, async ({ cid, metadata }) => {
@@ -65,6 +64,35 @@ export async function getPiecesPage({ indexerDb, providerId, repairId, blockNumb
65
64
  seenCids,
66
65
  };
67
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
+ }
68
96
  export async function forEachPiecesPage(options, onPage) {
69
97
  let offset = 0;
70
98
  let hasMore = true;
@@ -81,4 +109,17 @@ export async function forEachPiecesPage(options, onPage) {
81
109
  hasMore = page.hasMore;
82
110
  }
83
111
  }
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;
123
+ }
124
+ }
84
125
  //# 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 +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,CAiFhF"}
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"}
@@ -27,6 +27,7 @@ export async function repairCreate(options) {
27
27
  .insert(localSchema.repairs)
28
28
  .values({
29
29
  repairProviderId,
30
+ repairDataSetId: null,
30
31
  targetProviderId: targetProvider.providerId,
31
32
  targetProviderUrl: targetProvider.serviceUrl,
32
33
  targetDataSetId: null,
@@ -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":"repair-delete.d.ts","sourceRoot":"","sources":["../../../src/db/repair-delete.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,aAAa,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAKD,wBAAsB,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAqB1G"}
1
+ {"version":3,"file":"repair-delete.d.ts","sourceRoot":"","sources":["../../../src/db/repair-delete.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,aAAa,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAKD,wBAAsB,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgB1G"}
@@ -4,11 +4,6 @@ export async function repairDelete({ localDb, repairId }) {
4
4
  const repair = await localDb.query.repairs.findFirst({
5
5
  where: eq(localSchema.repairs.id, repairId),
6
6
  columns: { id: true },
7
- with: {
8
- operations: {
9
- columns: { id: true },
10
- },
11
- },
12
7
  });
13
8
  if (!repair) {
14
9
  return { deleted: false, operationsDeleted: 0 };
@@ -1 +1 @@
1
- {"version":3,"file":"repair-delete.js","sourceRoot":"","sources":["../../../src/db/repair-delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAChC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAgBjD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAuB;IAC3E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QACnD,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC;QAC3C,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;QACrB,IAAI,EAAE;YACJ,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;aACtB;SACF;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAA;IACjD,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,OAAO;SACpC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;SAC9B,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IACvD,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAA;IAErF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,YAAY,EAAE,CAAA;AAC7E,CAAC"}
1
+ {"version":3,"file":"repair-delete.js","sourceRoot":"","sources":["../../../src/db/repair-delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAChC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAgBjD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAuB;IAC3E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QACnD,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC;QAC3C,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;KACtB,CAAC,CAAA;IAEF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAA;IACjD,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,OAAO;SACpC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;SAC9B,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IACvD,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAA;IAErF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,YAAY,EAAE,CAAA;AAC7E,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Context } from '../types.ts';
2
+ export interface ReplicateCreateOptions extends Context {
3
+ dataSetId: bigint;
4
+ targetProviderId: bigint;
5
+ }
6
+ export declare function replicateCreate(options: ReplicateCreateOptions): Promise<number>;
7
+ //# sourceMappingURL=replicate-create.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,78 @@
1
+ import { taskLog } from '@clack/prompts';
2
+ import { eq } from 'drizzle-orm';
3
+ import { getBlockNumber } from 'viem/actions';
4
+ import { NoAlternateProviderError, RepairCreationError } from "../error.js";
5
+ import { forEachDataSetPiecesPage } from "./get-pieces.js";
6
+ import { getRepairProvider } from "./get-repair-provider.js";
7
+ export async function replicateCreate(options) {
8
+ const { indexerDb, localDb, dataSetId, targetProviderId, client } = options;
9
+ const indexerSchema = indexerDb._.fullSchema;
10
+ const localSchema = localDb._.fullSchema;
11
+ const now = Date.now();
12
+ const blockNumber = await getBlockNumber(client);
13
+ const log = taskLog({
14
+ title: 'Creating replication',
15
+ limit: 10,
16
+ retainLog: true,
17
+ });
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) {
28
+ throw new RepairCreationError(`Source dataset ${dataSetId} not found or deleted`);
29
+ }
30
+ if (targetProviderId === sourceDataSet.providerId) {
31
+ throw new RepairCreationError('Target provider must differ from the source dataset provider');
32
+ }
33
+ const sourceProvider = await getRepairProvider({
34
+ indexerDb,
35
+ providerId: sourceDataSet.providerId,
36
+ });
37
+ if (!sourceProvider) {
38
+ throw new RepairCreationError(`Source provider ${sourceDataSet.providerId} not found or inactive`);
39
+ }
40
+ const targetProvider = await getRepairProvider({
41
+ indexerDb,
42
+ providerId: targetProviderId,
43
+ });
44
+ if (!targetProvider) {
45
+ throw new NoAlternateProviderError(targetProviderId);
46
+ }
47
+ const [repair] = await localDb
48
+ .insert(localSchema.repairs)
49
+ .values({
50
+ repairProviderId: sourceProvider.providerId,
51
+ repairDataSetId: sourceDataSet.dataSetId,
52
+ targetProviderId: targetProvider.providerId,
53
+ targetProviderUrl: targetProvider.serviceUrl,
54
+ targetDataSetId: null,
55
+ blockNumber,
56
+ createdAt: now,
57
+ updatedAt: now,
58
+ })
59
+ .returning({ id: localSchema.repairs.id });
60
+ if (!repair)
61
+ throw new RepairCreationError('Failed to create replication row');
62
+ let totalOperations = 0;
63
+ await forEachDataSetPiecesPage({
64
+ indexerDb,
65
+ dataSetId: sourceDataSet.dataSetId,
66
+ repairId: repair.id,
67
+ sourceProviderUrl: sourceProvider.serviceUrl,
68
+ }, async (page) => {
69
+ totalOperations += page.operations.length;
70
+ if (page.operations.length > 0) {
71
+ await localDb.insert(localSchema.operations).values(page.operations);
72
+ }
73
+ log.message(`Inserted ${page.operations.length} operations`);
74
+ });
75
+ log.success(`Created replication ${repair.id} with ${totalOperations} operations`, { showLog: true });
76
+ return repair.id;
77
+ }
78
+ //# sourceMappingURL=replicate-create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replicate-create.js","sourceRoot":"","sources":["../../../src/db/replicate-create.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export async function upsertOperations({ localDb, operations }) {
7
7
  .values(operations.map((operation) => ({ ...operation, updatedAt: now })))
8
8
  .onConflictDoUpdate({
9
9
  target: localDb._.fullSchema.operations.id,
10
- set: buildConflictUpdateColumns(localSchema.operations, ['status', 'error', 'updatedAt']),
10
+ set: buildConflictUpdateColumns(localSchema.operations, ['status', 'error', 'updatedAt', 'result']),
11
11
  });
12
12
  }
13
13
  //# sourceMappingURL=upsert-operations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upsert-operations.js","sourceRoot":"","sources":["../../../src/db/upsert-operations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAUxD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,UAAU,EAA2B;IACrF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,MAAM,OAAO;SACV,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;SACvC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;SACzE,kBAAkB,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC1C,GAAG,EAAE,0BAA0B,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;KAC1F,CAAC,CAAA;AACN,CAAC"}
1
+ {"version":3,"file":"upsert-operations.js","sourceRoot":"","sources":["../../../src/db/upsert-operations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAUxD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,UAAU,EAA2B;IACrF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,MAAM,OAAO;SACV,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;SACvC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;SACzE,kBAAkB,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC1C,GAAG,EAAE,0BAA0B,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;KACpG,CAAC,CAAA;AACN,CAAC"}
@@ -120,6 +120,25 @@ export declare const repairs: t.SQLiteTableWithColumns<{
120
120
  }, {}, {
121
121
  sqliteColumnBuilderBrand: "SQLiteCustomColumnBuilderBrand";
122
122
  }>;
123
+ repairDataSetId: t.SQLiteColumn<{
124
+ name: "repair_data_set_id";
125
+ tableName: "repairs";
126
+ dataType: "custom";
127
+ columnType: "SQLiteCustomColumn";
128
+ data: bigint;
129
+ driverParam: unknown;
130
+ notNull: false;
131
+ hasDefault: false;
132
+ isPrimaryKey: false;
133
+ isAutoincrement: false;
134
+ hasRuntimeDefault: false;
135
+ enumValues: undefined;
136
+ baseColumn: never;
137
+ identity: undefined;
138
+ generated: undefined;
139
+ }, {}, {
140
+ sqliteColumnBuilderBrand: "SQLiteCustomColumnBuilderBrand";
141
+ }>;
123
142
  targetProviderId: t.SQLiteColumn<{
124
143
  name: "target_provider_id";
125
144
  tableName: "repairs";
@@ -1 +1 @@
1
- {"version":3,"file":"local-schema.d.ts","sourceRoot":"","sources":["../../src/local-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAGjD,OAAO,KAAK,CAAC,MAAM,yBAAyB,CAAA;AAI5C,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAA;AAC7D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;AAC5E,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG,WAAW,CAAA;AAE1D,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,EAAE,CAAC,gBAAgB,EACnB,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,YAAY,GAAG,mBAAmB,CACjF,CAAA;AAMD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;CAUnB,CAAA;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;CAUrB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,OAAO,CAAC,YAAY,CAAA;AACtD,MAAM,MAAM,YAAY,GAAG,OAAO,OAAO,CAAC,YAAY,CAAA;AACtD,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AAEhD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUlB,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,UAAU,CAAC,YAAY,CAAA;AAC5D,MAAM,MAAM,eAAe,GAAG,OAAO,UAAU,CAAC,YAAY,CAAA;AAE5D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAerB,CAAA;AAEF,eAAO,MAAM,eAAe;;EAEzB,CAAA;AAEH,eAAO,MAAM,kBAAkB;;EAK5B,CAAA"}
1
+ {"version":3,"file":"local-schema.d.ts","sourceRoot":"","sources":["../../src/local-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAGjD,OAAO,KAAK,CAAC,MAAM,yBAAyB,CAAA;AAI5C,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAA;AAC7D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;AAC5E,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG,WAAW,CAAA;AAE1D,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,EAAE,CAAC,gBAAgB,EACnB,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,YAAY,GAAG,mBAAmB,CACjF,CAAA;AAMD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;CAUnB,CAAA;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;CAUrB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,OAAO,CAAC,YAAY,CAAA;AACtD,MAAM,MAAM,YAAY,GAAG,OAAO,OAAO,CAAC,YAAY,CAAA;AACtD,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AAEhD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWlB,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,UAAU,CAAC,YAAY,CAAA;AAC5D,MAAM,MAAM,eAAe,GAAG,OAAO,UAAU,CAAC,YAAY,CAAA;AAE5D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAerB,CAAA;AAEF,eAAO,MAAM,eAAe;;EAEzB,CAAA;AAEH,eAAO,MAAM,kBAAkB;;EAK5B,CAAA"}
@@ -28,6 +28,7 @@ export const repairs = table('repairs', {
28
28
  id: t.int().primaryKey({ autoIncrement: true }),
29
29
  status: t.text().$type().notNull().default('pending'),
30
30
  repairProviderId: bigintType('repair_provider_id').notNull(),
31
+ repairDataSetId: bigintType('repair_data_set_id'),
31
32
  targetProviderId: bigintType('target_provider_id').notNull(),
32
33
  targetProviderUrl: t.text('target_provider_url').notNull(),
33
34
  targetDataSetId: bigintType('target_data_set_id'),
@@ -1 +1 @@
1
- {"version":3,"file":"local-schema.js","sourceRoot":"","sources":["../../src/local-schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,KAAK,CAAC,MAAM,yBAAyB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC1E,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA;AAerC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAoB;IACpD,QAAQ;QACN,OAAO,MAAM,CAAA;IACf,CAAC;IACD,QAAQ,CAAC,KAAK;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IACD,UAAU,CAAC,KAAK;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,KAAe,CAAC,CAAA;IACpC,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAmB;IACrD,QAAQ;QACN,OAAO,MAAM,CAAA;IACf,CAAC;IACD,QAAQ,CAAC,KAAK;QACZ,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;IACzB,CAAC;IACD,UAAU,CAAC,KAAK;QACd,OAAO,MAAM,CAAC,KAAe,CAAC,CAAA;IAChC,CAAC;CACF,CAAC,CAAA;AAMF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,EAAE;IACtC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,EAAgB,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACnE,gBAAgB,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE;IAC5D,gBAAgB,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE;IAC5D,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE;IAC1D,eAAe,EAAE,UAAU,CAAC,oBAAoB,CAAC;IACjD,WAAW,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE;IACjD,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IAC5C,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;CAC7C,CAAC,CAAA;AAKF,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,EAAE;IAC5C,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAC/C,QAAQ,EAAE,CAAC;SACR,GAAG,CAAC,WAAW,CAAC;SAChB,UAAU,CAAC,GAAoB,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;SAC7C,OAAO,EAAE;IACZ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,EAAiB,CAAC,OAAO,EAAE;IAC/C,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,EAAmB,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACtE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE;IACvB,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAkB,CAAC,OAAO,EAAE;IACtD,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE;IACzD,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAmB;IAC3C,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE;IACf,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IAC5C,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;CAC7C,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/D,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;CAC7B,CAAC,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IACpE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE;QACnB,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;KACzB,CAAC;CACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"local-schema.js","sourceRoot":"","sources":["../../src/local-schema.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export declare const contextSchema: z.ZodObject<{
22
22
  }, z.core.$strip>>>;
23
23
  client: z.ZodCustom<Client<Transport, Chain, Account>, Client<Transport, Chain, Account>>;
24
24
  chain: z.ZodCustom<Chain, Chain>;
25
+ source: z.ZodString;
25
26
  }, z.core.$strip>;
26
27
  export declare const contextMiddleware: import("incur").MiddlewareHandler<z.ZodObject<{
27
28
  indexerDb: z.ZodCustom<IndexerDatabase, IndexerDatabase>;
@@ -43,5 +44,6 @@ export declare const contextMiddleware: import("incur").MiddlewareHandler<z.ZodO
43
44
  }, z.core.$strip>>>;
44
45
  client: z.ZodCustom<Client<Transport, Chain, Account>, Client<Transport, Chain, Account>>;
45
46
  chain: z.ZodCustom<Chain, Chain>;
47
+ source: z.ZodString;
46
48
  }, z.core.$strip>, undefined>;
47
49
  //# sourceMappingURL=middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAEvD,OAAO,EAAc,CAAC,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAGhE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;iBAMxB,CAAA;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;6BA0B5B,CAAA"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAEvD,OAAO,EAAc,CAAC,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAGhE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;iBAOxB,CAAA;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;6BA2B5B,CAAA"}
@@ -8,10 +8,11 @@ export const contextSchema = z.object({
8
8
  config: z.custom(),
9
9
  client: z.custom(),
10
10
  chain: z.custom(),
11
+ source: z.string(),
11
12
  });
12
13
  export const contextMiddleware = middleware(async (c, next) => {
13
- const { dbPath, chainId, indexerMainnetUrl, indexerCalibrationUrl } = config.store;
14
- if (!dbPath || !chainId || !indexerMainnetUrl || !indexerCalibrationUrl) {
14
+ const { dbPath, chainId, indexerMainnetUrl, indexerCalibrationUrl, source } = config.store;
15
+ if (!dbPath || !chainId || !indexerMainnetUrl || !indexerCalibrationUrl || !source) {
15
16
  return c.error({
16
17
  code: 'CONFIG_NOT_SET',
17
18
  message: 'Config not set. Please run `repair setup` first.',
@@ -28,6 +29,7 @@ export const contextMiddleware = middleware(async (c, next) => {
28
29
  c.set('config', config);
29
30
  c.set('client', client);
30
31
  c.set('chain', chain);
32
+ c.set('source', source);
31
33
  await next();
32
34
  localDb.$client.close();
33
35
  await indexerDb.$client.end();
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,OAAO,CAAA;AAErC,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAA;AAEpD,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEnE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAmB;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAiB;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAiB;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAqC;IACrD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAS;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAuB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;IAClF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC,KAAK,CAAA;IAElF,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,iBAAiB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACxE,OAAO,CAAC,CAAC,KAAK,CAAC;YACb,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,kDAAkD;YAC3D,SAAS,EAAE,KAAK;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACjD,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,EAAE;QAC7F,MAAM,EAAE,aAAa;KACtB,CAAC,CAAA;IAEF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACzB,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IAC7B,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACvB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACvB,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACrB,MAAM,IAAI,EAAE,CAAA;IAEZ,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IACvB,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;AAC/B,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,OAAO,CAAA;AAErC,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAA;AAEpD,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEnE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAmB;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAiB;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAiB;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAqC;IACrD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAS;IACxB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAuB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;IAClF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAA;IAE1F,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,iBAAiB,IAAI,CAAC,qBAAqB,IAAI,CAAC,MAAM,EAAE,CAAC;QACnF,OAAO,CAAC,CAAC,KAAK,CAAC;YACb,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,kDAAkD;YAC3D,SAAS,EAAE,KAAK;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACjD,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,EAAE;QAC7F,MAAM,EAAE,aAAa;KACtB,CAAC,CAAA;IAEF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACzB,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IAC7B,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACvB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACvB,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACrB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACvB,MAAM,IAAI,EAAE,CAAA;IAEZ,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IACvB,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;AAC/B,CAAC,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { RepairSelect } from '../local-schema.ts';
2
+ import type { IndexerDatabase, LocalDatabase, WalletClient } from '../types.ts';
3
+ export type RunPullPiecesPhaseOptions = {
4
+ localDb: LocalDatabase;
5
+ indexerDb: IndexerDatabase;
6
+ repair: RepairSelect;
7
+ concurrency: number;
8
+ batchSize: number;
9
+ client: WalletClient;
10
+ };
11
+ export declare function runAddPieces({ localDb, indexerDb, repair, concurrency, batchSize, client, }: RunPullPiecesPhaseOptions): Promise<void>;
12
+ //# sourceMappingURL=add-pieces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-pieces.d.ts","sourceRoot":"","sources":["../../../src/pipeline/add-pieces.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG/E,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,aAAa,CAAA;IACtB,SAAS,EAAE,eAAe,CAAA;IAC1B,MAAM,EAAE,YAAY,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,YAAY,CAAA;CACrB,CAAA;AAyHD,wBAAsB,YAAY,CAAC,EACjC,OAAO,EACP,SAAS,EACT,MAAM,EACN,WAAW,EACX,SAAS,EACT,MAAM,GACP,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiE3C"}