Skip to content
This repository was archived by the owner on Nov 5, 2025. It is now read-only.

Commit ffb2c60

Browse files
author
Morgan Brown
committed
Add repoDriverAccountMetadataSchemaV6 to support orcid repo driver split
1 parent 13ac6c7 commit ffb2c60

3 files changed

Lines changed: 25 additions & 4 deletions

File tree

src/metadata/schemas/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { nftDriverAccountMetadataSchemaV5 } from './nft-driver/v5';
1313
import { subListMetadataSchemaV1 } from './immutable-splits-driver/v1';
1414
import { nftDriverAccountMetadataSchemaV6 } from './nft-driver/v6';
1515
import { nftDriverAccountMetadataSchemaV7 } from './nft-driver/v7';
16+
import { repoDriverAccountMetadataSchemaV6 } from './repo-driver/v6';
1617

1718
export const nftDriverAccountMetadataParser = createVersionedParser([
1819
nftDriverAccountMetadataSchemaV7.parse,
@@ -29,6 +30,7 @@ export const addressDriverAccountMetadataParser = createVersionedParser([
2930
]);
3031

3132
export const repoDriverAccountMetadataParser = createVersionedParser([
33+
repoDriverAccountMetadataSchemaV6.parse,
3234
repoDriverAccountMetadataSchemaV5.parse,
3335
repoDriverAccountMetadataSchemaV4.parse,
3436
repoDriverAccountMetadataSchemaV3.parse,

src/metadata/schemas/repo-driver/v3.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
repoDriverSplitReceiverSchema,
66
} from './v2';
77

8-
const dripListSplitReceiverSchema = z.object({
8+
export const dripListSplitReceiverSchema = z.object({
99
type: z.literal('dripList'),
1010
weight: z.number(),
1111
accountId: z.string(),
Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
import z from 'zod';
2+
import { repoDriverAccountMetadataSchemaV5 } from './v5';
3+
import {
4+
addressDriverSplitReceiverSchema,
5+
repoDriverSplitReceiverSchema,
6+
} from './v2';
7+
import { dripListSplitReceiverSchema } from './v3';
28

39
export const orcidSplitReceiverSchema = z.object({
410
type: z.literal('orcid'),
@@ -7,6 +13,19 @@ export const orcidSplitReceiverSchema = z.object({
713
orcidId: z.string(),
814
});
915

10-
// TODO: actually export new version
11-
// should allow orcidSplitReceiverSchema as a dependency
12-
// for repoDriverAccountSplitsSchema
16+
const repoDriverAccountSplitsSchema = z.object({
17+
maintainers: z.array(addressDriverSplitReceiverSchema),
18+
dependencies: z.array(
19+
z.union([
20+
dripListSplitReceiverSchema,
21+
repoDriverSplitReceiverSchema,
22+
addressDriverSplitReceiverSchema,
23+
orcidSplitReceiverSchema,
24+
]),
25+
),
26+
});
27+
28+
export const repoDriverAccountMetadataSchemaV6 =
29+
repoDriverAccountMetadataSchemaV5.extend({
30+
splits: repoDriverAccountSplitsSchema,
31+
});

0 commit comments

Comments
 (0)