@centrifuge/sdk 1.15.3 → 1.16.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 (38) hide show
  1. package/dist/Centrifuge.d.ts.map +1 -1
  2. package/dist/Centrifuge.js +4 -23
  3. package/dist/Centrifuge.js.map +1 -1
  4. package/dist/Centrifuge.test.js +0 -3
  5. package/dist/Centrifuge.test.js.map +1 -1
  6. package/dist/entities/Pool.d.ts +12 -1
  7. package/dist/entities/Pool.d.ts.map +1 -1
  8. package/dist/entities/Pool.js +51 -27
  9. package/dist/entities/Pool.js.map +1 -1
  10. package/dist/entities/Pool.metadataGate.test.d.ts +2 -0
  11. package/dist/entities/Pool.metadataGate.test.d.ts.map +1 -0
  12. package/dist/entities/Pool.metadataGate.test.js +23 -0
  13. package/dist/entities/Pool.metadataGate.test.js.map +1 -0
  14. package/dist/entities/Pool.test.js +26 -3
  15. package/dist/entities/Pool.test.js.map +1 -1
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/tests/mocks/mockPoolMetadataV2.d.ts +7 -0
  21. package/dist/tests/mocks/mockPoolMetadataV2.d.ts.map +1 -0
  22. package/dist/tests/mocks/mockPoolMetadataV2.js +153 -0
  23. package/dist/tests/mocks/mockPoolMetadataV2.js.map +1 -0
  24. package/dist/types/poolInput.d.ts +17 -17
  25. package/dist/types/poolInput.d.ts.map +1 -1
  26. package/dist/types/poolMetadata.d.ts +229 -1
  27. package/dist/types/poolMetadata.d.ts.map +1 -1
  28. package/dist/types/poolMetadata.js +7 -1
  29. package/dist/types/poolMetadata.js.map +1 -1
  30. package/dist/utils/poolMetadataMigration.d.ts +23 -0
  31. package/dist/utils/poolMetadataMigration.d.ts.map +1 -0
  32. package/dist/utils/poolMetadataMigration.js +389 -0
  33. package/dist/utils/poolMetadataMigration.js.map +1 -0
  34. package/dist/utils/poolMetadataMigration.test.d.ts +2 -0
  35. package/dist/utils/poolMetadataMigration.test.d.ts.map +1 -0
  36. package/dist/utils/poolMetadataMigration.test.js +240 -0
  37. package/dist/utils/poolMetadataMigration.test.js.map +1 -0
  38. package/package.json +2 -2
@@ -0,0 +1,153 @@
1
+ /**
2
+ * A v2 fixture exercising every content block type, a `liveTable`, a `section` ref, a
3
+ * `valueRef: 'apy'` key fact, and `visibility` at block / key-fact / column granularity.
4
+ */
5
+ export const mockPoolMetadataV2 = {
6
+ version: 2,
7
+ pool: {
8
+ name: 'Fake Pool',
9
+ icon: {
10
+ uri: 'ipfs://QmVxA2MaBMUsZMgxBcfg5VdrF4FJAVW26U9s3mY9oH7wMs',
11
+ mime: 'image/svg+xml',
12
+ },
13
+ asset: {
14
+ class: 'Private credit',
15
+ subClass: 'Fake Subclass',
16
+ },
17
+ issuer: {
18
+ name: 'Fake Issuer',
19
+ email: 'fake@issuer.com',
20
+ logo: {
21
+ uri: 'ipfs://QmZB95usKnoSHEwG9s61gYWqgxbYyq7NAdo24XEowqJtFS',
22
+ mime: 'image/png',
23
+ },
24
+ },
25
+ links: {
26
+ executiveSummary: {
27
+ uri: 'ipfs://QmRQqb11SnqpSHwPcsgmgGWCv8GKfALgX53KLbvf6iur5Y',
28
+ mime: 'application/pdf',
29
+ },
30
+ forum: 'https://gov.centrifuge.io/tag/newsilver',
31
+ website: 'https://newsilver.com',
32
+ },
33
+ status: 'open',
34
+ listed: true,
35
+ poolFees: [
36
+ {
37
+ name: 'Protocol fee (Private Credit & Securities)',
38
+ id: 3,
39
+ feePosition: 'Top of waterfall',
40
+ feeType: 'fixed',
41
+ },
42
+ ],
43
+ investorType: 'Fake Investor Type',
44
+ poolStructure: 'Fake Structure',
45
+ poolRatings: [{ agency: 'Fake Agency', value: 'AAA', reportUrl: 'https://example.com/rating' }],
46
+ factsheet: {
47
+ keyFacts: [
48
+ { label: 'Issuer', value: 'Fake Issuer' },
49
+ { label: 'Asset type', value: 'Private credit - Fake Subclass' },
50
+ { label: 'APY', valueRef: 'apy', tooltip: 'Net of fees' },
51
+ { label: 'Secret fact', value: 'hidden value', visibility: 'whitelisted' },
52
+ ],
53
+ body: [
54
+ { type: 'text', id: 'overview', title: 'Overview', body: 'Fake **overview** with a [link](https://x.io).' },
55
+ {
56
+ type: 'table',
57
+ id: 'fees',
58
+ title: 'Fees',
59
+ headers: ['Name', 'Amount'],
60
+ rows: [
61
+ ['Management', '0.5%'],
62
+ ['Performance', '10%'],
63
+ ],
64
+ columnVisibility: ['public', 'whitelisted'],
65
+ caption: 'Fee schedule',
66
+ },
67
+ {
68
+ type: 'chart',
69
+ id: 'inline-chart',
70
+ title: 'Allocation',
71
+ chartType: 'donut',
72
+ series: [
73
+ {
74
+ name: 'Allocation',
75
+ data: [
76
+ { label: 'Cash', value: 40 },
77
+ { label: 'Loans', value: 60 },
78
+ ],
79
+ },
80
+ ],
81
+ legend: true,
82
+ },
83
+ {
84
+ type: 'chart',
85
+ id: 'live-chart',
86
+ title: 'APY vs benchmarks',
87
+ chartType: 'line',
88
+ dataRef: 'apyVsBenchmarks',
89
+ xAxis: { label: 'Date', type: 'time' },
90
+ yAxis: { label: 'APY', format: 'percent' },
91
+ },
92
+ {
93
+ type: 'image',
94
+ id: 'diagram',
95
+ file: { uri: 'ipfs://QmFakeImage', mime: 'image/png' },
96
+ alt: 'Structure diagram',
97
+ },
98
+ {
99
+ type: 'kpiGroup',
100
+ id: 'kpis',
101
+ columns: 3,
102
+ items: [
103
+ { label: 'TVL', value: '$10M' },
104
+ { label: 'Investors', value: '120', trend: 'up' },
105
+ { label: 'Hidden KPI', value: 'secret', visibility: 'hidden' },
106
+ ],
107
+ },
108
+ {
109
+ type: 'tabGroup',
110
+ id: 'tabs',
111
+ tabs: [
112
+ { label: 'Summary', block: { type: 'text', id: 'tab-summary', body: 'Tab body text.' } },
113
+ {
114
+ label: 'Numbers',
115
+ block: { type: 'kpiGroup', id: 'tab-kpis', items: [{ label: 'NAV', value: '$1.02' }] },
116
+ },
117
+ ],
118
+ },
119
+ {
120
+ type: 'liveTable',
121
+ id: 'monthly',
122
+ title: 'Monthly summary',
123
+ dataRef: 'monthlySummary',
124
+ columns: [
125
+ { header: 'Month', source: 'static', values: ['Jan', 'Feb', 'Mar'] },
126
+ { header: 'Token price', source: 'indexer', metric: 'tokenPrice', format: 'currency' },
127
+ { header: 'NAV', source: 'indexer', metric: 'nav', format: 'currency', visibility: 'whitelisted' },
128
+ { header: 'Note', source: 'hardcoded', key: 'note' },
129
+ ],
130
+ caption: 'Recent months',
131
+ },
132
+ { type: 'section', id: 'performance', ref: 'onchainMetrics' },
133
+ ],
134
+ sections: [{ type: 'section', id: 'contracts', ref: 'smartContracts', visibility: 'public' }],
135
+ },
136
+ },
137
+ shareClasses: {
138
+ '0x6756e091ae798a8e51e12e27ee8facdf': {
139
+ minInitialInvestment: 2500,
140
+ apyPercentage: 16,
141
+ apy: 'fixed',
142
+ },
143
+ '0xda64aae939e4d3a981004619f1709d8f': {
144
+ minInitialInvestment: 5000,
145
+ apy: '30d365',
146
+ },
147
+ },
148
+ onboarding: {
149
+ kycRestrictedCountries: [],
150
+ kybRestrictedCountries: [],
151
+ },
152
+ };
153
+ //# sourceMappingURL=mockPoolMetadataV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockPoolMetadataV2.js","sourceRoot":"","sources":["../../../src/tests/mocks/mockPoolMetadataV2.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { HexString } from './index.js';
2
- import { ApyMode, LegacyApyMode, PoolMetadata } from './poolMetadata.js';
2
+ import type { ApyMode, Factsheet, LegacyApyMode, PoolMetadata } from './poolMetadata.js';
3
3
  export type FileType = {
4
4
  uri: string;
5
5
  mime: string;
@@ -35,16 +35,26 @@ export type PoolMetadataInput = {
35
35
  poolIcon: FileType;
36
36
  poolType: 'open' | 'closed';
37
37
  issuerName: string;
38
- issuerRepName: string;
39
38
  issuerLogo: FileType;
40
- issuerShortDescription: string;
41
- issuerDescription: string;
39
+ /**
40
+ * @deprecated v2 has no flat issuer description; author it via `factsheet` (e.g. an Overview
41
+ * `text` block). Ignored by `createPool`/`update` — kept only so legacy callers still compile.
42
+ */
43
+ issuerDescription?: string;
42
44
  website: string;
43
45
  forum: string;
44
46
  email: string;
45
47
  executiveSummary: FileType | null;
48
+ /**
49
+ * @deprecated v2 has no flat `details`; author them via `factsheet` `text` blocks. Ignored by
50
+ * `createPool`/`update`.
51
+ */
46
52
  details?: IssuerDetail[];
47
- issuerCategories: {
53
+ /**
54
+ * @deprecated v2 has no flat issuer categories; author them via `factsheet` key facts. Ignored by
55
+ * `createPool`/`update`.
56
+ */
57
+ issuerCategories?: {
48
58
  type: string;
49
59
  value: string;
50
60
  description?: string;
@@ -53,20 +63,10 @@ export type PoolMetadataInput = {
53
63
  agency?: string;
54
64
  value?: string;
55
65
  reportUrl?: string;
56
- reportFile?: FileType | null;
57
66
  }[];
58
- report?: PoolReport | null;
67
+ /** v2 factsheet content model (centrifuge/apps-invest#200). */
68
+ factsheet?: Factsheet;
59
69
  onboardingExperience: string;
60
- onboarding?: {
61
- shareClasses: {
62
- [scId: string]: {
63
- agreement: FileType | undefined;
64
- openForOnboarding: boolean;
65
- };
66
- };
67
- taxInfoRequired?: boolean;
68
- externalOnboardingUrl?: string;
69
- };
70
70
  underlying?: {
71
71
  poolId?: number;
72
72
  };
@@ -1 +1 @@
1
- {"version":3,"file":"poolInput.d.ts","sourceRoot":"","sources":["../../src/types/poolInput.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"poolInput.d.ts","sourceRoot":"","sources":["../../src/types/poolInput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAExF,MAAM,MAAM,QAAQ,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpD,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAA;KACxB,CAAA;IACD,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AACD,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,GAAG,CAAC,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CAAA;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,eAAe,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAA;CAC7E,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,WAAW,CAAA;IAC1B,UAAU,EAAE,eAAe,GAAG,gBAAgB,CAAA;IAC9C,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,eAAe,EAAE,CAAA;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAA;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,QAAQ,CAAA;IACpB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB,EAAE,QAAQ,GAAG,IAAI,CAAA;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;IACxB;;;OAGG;IACH,gBAAgB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC1E,WAAW,EAAE;QACX,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,EAAE,CAAA;IACH,+DAA+D;IAC/D,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,UAAU,CAAC,EAAE;QACX,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAChC,CAAA;IACD,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA"}
@@ -101,7 +101,12 @@ export interface WorkflowPolicy {
101
101
  createdAt: string;
102
102
  updatedAt?: string;
103
103
  }
104
- export type PoolMetadata = {
104
+ /**
105
+ * Legacy ("current state") pool metadata: the flat shape written by all pools to date. Any document
106
+ * with no `version` or `version < 2` is legacy and read as `PoolMetadataV1`. New writes are
107
+ * `PoolMetadataV2`; the management app migrates legacy pools forward before editing.
108
+ */
109
+ export type PoolMetadataV1 = {
105
110
  version?: number;
106
111
  pool: {
107
112
  name: string;
@@ -216,4 +221,227 @@ export type PoolMetadata = {
216
221
  addressLabels?: Record<string, string>;
217
222
  workflowPolicies?: WorkflowPolicy[];
218
223
  };
224
+ /**
225
+ * Access gating for any block, key fact, column, or kpi item. Default `'public'`. Resolved app-side
226
+ * against the connected wallet's share-class (transfer-hook) membership. Presentational only — never
227
+ * a substitute for on-chain access control.
228
+ * - `public` — rendered for everyone.
229
+ * - `whitelisted` — full content only for a whitelisted wallet; otherwise blurred behind an
230
+ * app-owned overlay that keeps its layout footprint (no reflow on connect).
231
+ * - `hidden` — never rendered, for anyone (not laid out).
232
+ */
233
+ export type Visibility = 'public' | 'whitelisted' | 'hidden';
234
+ /**
235
+ * Constrained Markdown subset (paragraphs, hard newlines, `-`/`*` and `1.` lists, `**bold**`,
236
+ * `_italic_`, `[text](url)`). Raw HTML is stripped; sanitized by the reader on render.
237
+ */
238
+ export type RichText = string;
239
+ export type ChartType = 'line' | 'area' | 'bar' | 'donut';
240
+ export type AxisFormat = 'number' | 'percent' | 'currency';
241
+ /**
242
+ * Live-chart datasets whose config is authored in metadata but whose data the app fetches live.
243
+ *
244
+ * Closed, app-owned registry — the SDK is the alignment point. The current values are PROVISIONAL
245
+ * placeholders and the set is expected to grow (centrifuge/apps-invest#200), but growth is
246
+ * deliberately gated: the SDK rejects unknown keys on write, so adding a key is a coordinated change
247
+ * across the management app, SDK, and invest app (and ships in an SDK release). Reads are not
248
+ * validated, so a newer document never breaks an older reader. The metadata only references a key;
249
+ * the app resolves it.
250
+ */
251
+ export type DataRef = 'apyVsBenchmarks' | 'maturityDistribution';
252
+ /**
253
+ * App-owned section units rendered by the invest app (structure + content + data). Closed and
254
+ * SDK-validated on write; expected to grow additively via coordinated SDK releases (see
255
+ * {@link DataRef}). Current mapping: `onchainMetrics` = performance charts, `smartContracts` =
256
+ * addresses & smart contracts.
257
+ */
258
+ export type SectionRef = 'onchainMetrics' | 'smartContracts';
259
+ /**
260
+ * App-owned indexer query/aggregation registry referenced by `liveTable` columns. Closed and
261
+ * SDK-validated on write. The current keys are PROVISIONAL: each is its own query and the set is
262
+ * expected to split into more granular per-series / per-date-pair keys (`monthlyReturn` is not yet
263
+ * defined). Adding or renaming a key is a coordinated SDK release — see {@link DataRef}.
264
+ */
265
+ export type LiveMetric = 'tokenPrice' | 'nav' | 'apy30d' | 'navChange' | 'monthlyReturn';
266
+ /**
267
+ * App-owned dataset (row dimension) for `liveTable`. Closed and SDK-validated on write; grows via
268
+ * coordinated SDK releases — see {@link DataRef}.
269
+ */
270
+ export type LiveDataset = 'monthlySummary';
271
+ export type ColumnFormat = 'text' | 'number' | 'percent' | 'currency';
272
+ export type ChartSeries = {
273
+ name: string;
274
+ /** Optional brand override; defaults to the theme palette. */
275
+ color?: string;
276
+ /** Categorical (bar/donut): `{ label, value }`; xy (line/area): `{ x, y }`. */
277
+ data: Array<{
278
+ label: string;
279
+ value: number;
280
+ } | {
281
+ x: string | number;
282
+ y: number;
283
+ }>;
284
+ };
285
+ /**
286
+ * A right-column key fact. `value` is static text; `valueRef: 'apy'` instead resolves live from
287
+ * `shareClasses[scId].apy` (+ `apyTooltip`). The `valueRef` set is closed and grows additively.
288
+ */
289
+ export type KeyFact = {
290
+ label: string;
291
+ value?: string;
292
+ valueRef?: 'apy';
293
+ tooltip?: string;
294
+ href?: string;
295
+ visibility?: Visibility;
296
+ };
297
+ type BlockBase = {
298
+ id: string;
299
+ title?: string;
300
+ visibility?: Visibility;
301
+ };
302
+ export type TextBlock = BlockBase & {
303
+ type: 'text';
304
+ body: RichText;
305
+ };
306
+ export type TableBlock = BlockBase & {
307
+ type: 'table';
308
+ headers: string[];
309
+ rows: Array<Array<string | number>>;
310
+ /** Optional, index-aligned to `headers`; per-column gating for static tables. */
311
+ columnVisibility?: Visibility[];
312
+ caption?: string;
313
+ asOf?: string;
314
+ };
315
+ export type ChartBlock = BlockBase & {
316
+ type: 'chart';
317
+ chartType: ChartType;
318
+ /** Inline metadata-supplied data ... */
319
+ series?: ChartSeries[];
320
+ /** ... or an app/indexer-computed dataset (mutually exclusive with `series`). */
321
+ dataRef?: DataRef;
322
+ stacked?: boolean;
323
+ legend?: boolean;
324
+ xAxis?: {
325
+ label?: string;
326
+ type?: 'category' | 'time' | 'number';
327
+ };
328
+ yAxis?: {
329
+ label?: string;
330
+ format?: AxisFormat;
331
+ currency?: string;
332
+ };
333
+ asOf?: string;
334
+ sourceNote?: string;
335
+ };
336
+ export type ImageBlock = BlockBase & {
337
+ type: 'image';
338
+ file: FileType;
339
+ alt?: string;
340
+ caption?: string;
341
+ };
342
+ export type KpiGroupBlock = BlockBase & {
343
+ type: 'kpiGroup';
344
+ columns?: 1 | 2 | 3 | 4;
345
+ items: Array<{
346
+ label: string;
347
+ value: string;
348
+ tooltip?: string;
349
+ trend?: 'up' | 'down' | 'neutral';
350
+ visibility?: Visibility;
351
+ }>;
352
+ };
353
+ /** A metadata-authored column over an app-defined live dataset. */
354
+ export type LiveColumn = {
355
+ /** Issuer-authored label + order. */
356
+ header: string;
357
+ format?: ColumnFormat;
358
+ visibility?: Visibility;
359
+ } & ({
360
+ source: 'indexer';
361
+ metric: LiveMetric;
362
+ } | {
363
+ source: 'hardcoded';
364
+ key: string;
365
+ } | {
366
+ source: 'static';
367
+ values: Array<string | number>;
368
+ });
369
+ export type LiveTableBlock = BlockBase & {
370
+ type: 'liveTable';
371
+ /** App owns the row dimension (e.g. recent months) + available metrics. */
372
+ dataRef: LiveDataset;
373
+ columns: LiveColumn[];
374
+ caption?: string;
375
+ asOf?: string;
376
+ };
377
+ /** Tabs hold a leaf block only (no nested section/tabGroup) to keep nesting bounded. */
378
+ export type TabBlock = TextBlock | TableBlock | ChartBlock | KpiGroupBlock;
379
+ export type TabGroupBlock = BlockBase & {
380
+ type: 'tabGroup';
381
+ tabs: Array<{
382
+ label: string;
383
+ block: TabBlock;
384
+ }>;
385
+ };
386
+ export type ContentBlock = TextBlock | TableBlock | ChartBlock | ImageBlock | KpiGroupBlock | TabGroupBlock | LiveTableBlock;
387
+ /** A pointer to one of the closed, app-owned section units. */
388
+ export type SectionRefBlock = {
389
+ type: 'section';
390
+ id: string;
391
+ ref: SectionRef;
392
+ /** Optional label override; the app supplies a sensible default. */
393
+ title?: string;
394
+ visibility?: Visibility;
395
+ };
396
+ export type LayoutItem = ContentBlock | SectionRefBlock;
397
+ export type Factsheet = {
398
+ /** Top region, left column, ordered (authored blocks + app section refs e.g. `onchainMetrics`). */
399
+ body: LayoutItem[];
400
+ /** Top region, right column, ordered. */
401
+ keyFacts: KeyFact[];
402
+ /** Full-width region below, ordered. Omit to let the app render its default sections. */
403
+ sections?: LayoutItem[];
404
+ };
405
+ /** A pool rating without the unused `reportFile` PDF (migrated into a Documents block in v2). */
406
+ export type PoolRatingV2 = {
407
+ agency?: string;
408
+ value?: string;
409
+ reportUrl?: string;
410
+ };
411
+ /**
412
+ * Versioned, factsheet-aware pool metadata. Drops fields unused by every consumer
413
+ * (`newInvestmentsStatus`, `loanTemplates`, `reports`, `issuer.repName/shortDescription`, onboarding
414
+ * extras) and folds the legacy display fields (`details`, `issuer.description/categories`,
415
+ * `poolRatings[].reportFile`) into `pool.factsheet`. Engine fields (`shareClasses`,
416
+ * `merkleProofManager`, `holdings`, `addressLabels`, `workflowPolicies`) are preserved verbatim.
417
+ */
418
+ export type PoolMetadataV2 = {
419
+ version: 2;
420
+ pool: Omit<PoolMetadataV1['pool'], 'newInvestmentsStatus' | 'reports' | 'details' | 'issuer' | 'poolRatings'> & {
421
+ issuer: Pick<PoolMetadataV1['pool']['issuer'], 'name' | 'email' | 'logo'>;
422
+ poolRatings?: PoolRatingV2[];
423
+ factsheet?: Factsheet;
424
+ };
425
+ shareClasses: PoolMetadataV1['shareClasses'];
426
+ merkleProofManager?: PoolMetadataV1['merkleProofManager'];
427
+ onboarding?: {
428
+ kycRestrictedCountries?: string[];
429
+ kybRestrictedCountries?: string[];
430
+ };
431
+ holdings?: PoolMetadataV1['holdings'];
432
+ addressLabels?: PoolMetadataV1['addressLabels'];
433
+ workflowPolicies?: PoolMetadataV1['workflowPolicies'];
434
+ };
435
+ /**
436
+ * Public alias usable for either shape. Reads of common fields (`pool.name`, `shareClasses`,
437
+ * `addressLabels`, `onboarding`, `holdings`, …) are valid without narrowing; discriminate on
438
+ * `version` (or use {@link isPoolMetadataV2}) before touching v2-only fields like `pool.factsheet`.
439
+ */
440
+ export type PoolMetadata = PoolMetadataV1 | PoolMetadataV2;
441
+ export declare function isPoolMetadataV2(metadata: PoolMetadata): metadata is PoolMetadataV2;
442
+ /** A document with no `version` or `version < 2` is legacy and must be migrated before editing. */
443
+ export declare function isLegacyPoolMetadata(metadata: {
444
+ version?: number;
445
+ }): boolean;
446
+ export {};
219
447
  //# sourceMappingURL=poolMetadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"poolMetadata.d.ts","sourceRoot":"","sources":["../../src/types/poolMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"poolMetadata.d.ts","sourceRoot":"","sources":["../../src/types/poolMetadata.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,8 @@
1
- export {};
1
+ export function isPoolMetadataV2(metadata) {
2
+ return metadata.version === 2;
3
+ }
4
+ /** A document with no `version` or `version < 2` is legacy and must be migrated before editing. */
5
+ export function isLegacyPoolMetadata(metadata) {
6
+ return metadata.version == null || metadata.version < 2;
7
+ }
2
8
  //# sourceMappingURL=poolMetadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"poolMetadata.js","sourceRoot":"","sources":["../../src/types/poolMetadata.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"poolMetadata.js","sourceRoot":"","sources":["../../src/types/poolMetadata.ts"],"names":[],"mappings":"AA0dA,MAAM,UAAU,gBAAgB,CAAC,QAAsB;IACrD,OAAO,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAA;AAC/B,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,oBAAoB,CAAC,QAA8B;IACjE,OAAO,QAAQ,CAAC,OAAO,IAAI,IAAI,IAAI,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAA;AACzD,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { type PoolMetadata, type PoolMetadataV2 } from '../types/poolMetadata.js';
2
+ /**
3
+ * Pure, idempotent legacy -> v2 migration. Performs no IPFS/network access so it stays
4
+ * unit-testable. Returns the input unchanged when it is already v2.
5
+ *
6
+ * - Strips fields unused by every consumer (`newInvestmentsStatus`, `reports`, `loanTemplates`,
7
+ * `issuer.repName/shortDescription`, onboarding extras) and reshapes `issuer`/`poolRatings`.
8
+ * - Maps legacy APY modes across `shareClasses[*].apy`.
9
+ * - Projects the legacy display fields into `pool.factsheet`.
10
+ */
11
+ export declare function migratePoolMetadataToV2(legacy: PoolMetadata): PoolMetadataV2;
12
+ /**
13
+ * Hand-rolled structural validator for v2 pool metadata, in the style of
14
+ * {@link parseMarketplaceCatalog}. Validates the discriminant (`version === 2`), `pool.name`, and
15
+ * the full `pool.factsheet` content model (the layout the SDK is responsible for). Engine fields
16
+ * (`shareClasses`, `workflowPolicies`, `holdings`, `addressLabels`, …) are passed through
17
+ * unchecked here — they are validated where they are consumed (e.g. workflows via
18
+ * {@link parseMarketplaceCatalog}). Throws `pool metadata v2: …` on the first malformed field;
19
+ * tolerates missing optionals (visibility defaults to `'public'` app-side). Returns the input
20
+ * narrowed to {@link PoolMetadataV2} on success.
21
+ */
22
+ export declare function parsePoolMetadataV2(raw: unknown): PoolMetadataV2;
23
+ //# sourceMappingURL=poolMetadataMigration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poolMetadataMigration.d.ts","sourceRoot":"","sources":["../../src/utils/poolMetadataMigration.ts"],"names":[],"mappings":"AACA,OAAO,EAaL,KAAK,YAAY,EAEjB,KAAK,cAAc,EAGpB,MAAM,0BAA0B,CAAA;AAkGjC;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAqC5E;AAqOD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAOhE"}