@centrifuge/sdk 1.17.0 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Centrifuge.d.ts.map +1 -1
- package/dist/Centrifuge.js +1 -0
- package/dist/Centrifuge.js.map +1 -1
- package/dist/entities/Pool.d.ts.map +1 -1
- package/dist/entities/Pool.js +1 -0
- package/dist/entities/Pool.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/tests/mocks/mockPoolMetadataV2.d.ts.map +1 -1
- package/dist/tests/mocks/mockPoolMetadataV2.js +59 -1
- package/dist/tests/mocks/mockPoolMetadataV2.js.map +1 -1
- package/dist/types/poolInput.d.ts +3 -1
- package/dist/types/poolInput.d.ts.map +1 -1
- package/dist/types/poolMetadata.d.ts +84 -9
- package/dist/types/poolMetadata.d.ts.map +1 -1
- package/dist/types/poolMetadata.js.map +1 -1
- package/dist/utils/poolMetadataMigration.d.ts +11 -1
- package/dist/utils/poolMetadataMigration.d.ts.map +1 -1
- package/dist/utils/poolMetadataMigration.js +217 -31
- package/dist/utils/poolMetadataMigration.js.map +1 -1
- package/dist/utils/poolMetadataMigration.test.js +190 -13
- package/dist/utils/poolMetadataMigration.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HexString } from './index.js';
|
|
2
|
-
import type { ApyMode, Factsheet, LegacyApyMode, PoolMetadata } from './poolMetadata.js';
|
|
2
|
+
import type { ApyMode, Factsheet, LegacyApyMode, LinkDocument, PoolMetadata } from './poolMetadata.js';
|
|
3
3
|
export type FileType = {
|
|
4
4
|
uri: string;
|
|
5
5
|
mime: string;
|
|
@@ -45,6 +45,8 @@ export type PoolMetadataInput = {
|
|
|
45
45
|
forum: string;
|
|
46
46
|
email: string;
|
|
47
47
|
executiveSummary: FileType | null;
|
|
48
|
+
/** Reusable named documents written to `pool.links.documents` (referenceable via `linkRef`). */
|
|
49
|
+
linkDocuments?: LinkDocument[];
|
|
48
50
|
/**
|
|
49
51
|
* @deprecated v2 has no flat `details`; author them via `factsheet` `text` blocks. Ignored by
|
|
50
52
|
* `createPool`/`update`.
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEtG,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,gGAAgG;IAChG,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B;;;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,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA"}
|
|
@@ -144,6 +144,11 @@ export type PoolMetadataV1 = {
|
|
|
144
144
|
executiveSummary: FileType | null;
|
|
145
145
|
forum?: string;
|
|
146
146
|
website?: string;
|
|
147
|
+
/**
|
|
148
|
+
* Reusable named documents authored once and referenced anywhere in the factsheet via a
|
|
149
|
+
* {@link LinkTarget} `{ kind: 'linkRef', linkRef: key }`. See {@link LinkDocument}.
|
|
150
|
+
*/
|
|
151
|
+
documents?: LinkDocument[];
|
|
147
152
|
};
|
|
148
153
|
details?: {
|
|
149
154
|
title: string;
|
|
@@ -231,15 +236,24 @@ export type WithdrawManager = {
|
|
|
231
236
|
label?: string;
|
|
232
237
|
};
|
|
233
238
|
/**
|
|
234
|
-
*
|
|
235
|
-
*
|
|
236
|
-
*
|
|
237
|
-
* -
|
|
238
|
-
* - `
|
|
239
|
-
*
|
|
240
|
-
* - `hidden` — never rendered, for anyone (not laid out).
|
|
239
|
+
* A single audience gate applied to an element. Presentational only, resolved app-side; never a
|
|
240
|
+
* substitute for on-chain / compliance access control.
|
|
241
|
+
* - `whitelisted` — passes only for a wallet in the share class's transfer-hook allowlist;
|
|
242
|
+
* otherwise blurred behind an app-owned overlay that keeps its layout footprint.
|
|
243
|
+
* - `geo-restricted` — passes only when the user's region is NOT in `pool.geoRestrictions.regions`
|
|
244
|
+
* (with no such list, nothing is restricted).
|
|
241
245
|
*/
|
|
242
|
-
export type
|
|
246
|
+
export type VisibilityGate = 'whitelisted' | 'geo-restricted';
|
|
247
|
+
/**
|
|
248
|
+
* Access gating for any block, key fact, column, or kpi item. Default `'public'`.
|
|
249
|
+
* - `'public'` (or absent) — rendered for everyone.
|
|
250
|
+
* - `'hidden'` — never rendered, for anyone (not laid out).
|
|
251
|
+
* - a single {@link VisibilityGate} or an **array of gates** — rendered only when ALL listed gates
|
|
252
|
+
* pass (AND). e.g. `['whitelisted', 'geo-restricted']` = a whitelisted wallet in an allowed
|
|
253
|
+
* region. `'public'`/`'hidden'` may not appear inside the array. When several gates fail, the app
|
|
254
|
+
* shows the most restrictive overlay (geo before whitelist).
|
|
255
|
+
*/
|
|
256
|
+
export type Visibility = 'public' | 'hidden' | VisibilityGate | VisibilityGate[];
|
|
243
257
|
/**
|
|
244
258
|
* Constrained Markdown subset (paragraphs, hard newlines, `-`/`*` and `1.` lists, `**bold**`,
|
|
245
259
|
* `_italic_`, `[text](url)`). Raw HTML is stripped; sanitized by the reader on render.
|
|
@@ -354,9 +368,46 @@ type BlockBase = {
|
|
|
354
368
|
title?: string;
|
|
355
369
|
visibility?: Visibility;
|
|
356
370
|
};
|
|
371
|
+
/**
|
|
372
|
+
* A single link destination, discriminated by `kind` (no competing-optional ambiguity):
|
|
373
|
+
* - `file` — an inline IPFS asset.
|
|
374
|
+
* - `href` — an inline URL.
|
|
375
|
+
* - `linkRef` — a key in the typed `pool.links` (e.g. `'executiveSummary'`, `'website'`), so the
|
|
376
|
+
* URL/file has a single source of truth. The app resolves it; an unknown key hides
|
|
377
|
+
* the tile/button (graceful read).
|
|
378
|
+
*/
|
|
379
|
+
export type LinkTarget = {
|
|
380
|
+
kind: 'file';
|
|
381
|
+
file: FileType;
|
|
382
|
+
} | {
|
|
383
|
+
kind: 'href';
|
|
384
|
+
href: string;
|
|
385
|
+
} | {
|
|
386
|
+
kind: 'linkRef';
|
|
387
|
+
linkRef: string;
|
|
388
|
+
};
|
|
389
|
+
/**
|
|
390
|
+
* A reusable named document on `pool.links.documents`, referenced from a {@link LinkTarget} via
|
|
391
|
+
* `{ kind: 'linkRef', linkRef: key }`. Carries exactly one of `file` or `href`.
|
|
392
|
+
*/
|
|
393
|
+
export type LinkDocument = {
|
|
394
|
+
/** Unique slug a `linkRef` points at; must not collide with `executiveSummary`/`website`/`forum`. */
|
|
395
|
+
key: string;
|
|
396
|
+
label: string;
|
|
397
|
+
file?: FileType | null;
|
|
398
|
+
href?: string;
|
|
399
|
+
};
|
|
357
400
|
export type TextBlock = BlockBase & {
|
|
358
401
|
type: 'text';
|
|
359
402
|
body: RichText;
|
|
403
|
+
/** Overview-card extras (all optional): a brand logo, a card background, and link buttons. */
|
|
404
|
+
logo?: FileType;
|
|
405
|
+
/** Theme token or hex color for the card background. */
|
|
406
|
+
background?: string;
|
|
407
|
+
links?: Array<{
|
|
408
|
+
label: string;
|
|
409
|
+
target: LinkTarget;
|
|
410
|
+
}>;
|
|
360
411
|
};
|
|
361
412
|
export type TableBlock = BlockBase & {
|
|
362
413
|
type: 'table';
|
|
@@ -447,7 +498,24 @@ export type TabGroupBlock = BlockBase & {
|
|
|
447
498
|
block: TabBlock;
|
|
448
499
|
}>;
|
|
449
500
|
};
|
|
450
|
-
|
|
501
|
+
/** A tile list (doc icon + title) opening each item's {@link LinkTarget}, e.g. a "Fact Sheet" tile. */
|
|
502
|
+
export type DocumentsBlock = BlockBase & {
|
|
503
|
+
type: 'documents';
|
|
504
|
+
items: Array<{
|
|
505
|
+
title: string;
|
|
506
|
+
target: LinkTarget;
|
|
507
|
+
}>;
|
|
508
|
+
};
|
|
509
|
+
/** A collapsible stack (accordion UX). Each item holds a {@link TabBlock} leaf, like `tabGroup` tabs. */
|
|
510
|
+
export type AccordionBlock = BlockBase & {
|
|
511
|
+
type: 'accordion';
|
|
512
|
+
items: Array<{
|
|
513
|
+
title: string;
|
|
514
|
+
block: TabBlock;
|
|
515
|
+
defaultOpen?: boolean;
|
|
516
|
+
}>;
|
|
517
|
+
};
|
|
518
|
+
export type ContentBlock = TextBlock | TableBlock | ChartBlock | ImageBlock | KpiGroupBlock | TabGroupBlock | LiveTableBlock | DocumentsBlock | AccordionBlock;
|
|
451
519
|
/** A pointer to one of the closed, app-owned section units. */
|
|
452
520
|
export type SectionRefBlock = {
|
|
453
521
|
type: 'section';
|
|
@@ -492,6 +560,13 @@ export type PoolMetadataV2 = {
|
|
|
492
560
|
issuer: Pick<PoolMetadataV1['pool']['issuer'], 'name' | 'email' | 'logo'>;
|
|
493
561
|
poolRatings?: PoolRatingV2[];
|
|
494
562
|
factsheet?: Factsheet;
|
|
563
|
+
/**
|
|
564
|
+
* Single pool-level restricted-regions list (ISO 3166-1 alpha-2 codes, e.g. `'US'`). Every
|
|
565
|
+
* `geo-restricted` element is gated against it. Presentational only; not compliance/access control.
|
|
566
|
+
*/
|
|
567
|
+
geoRestrictions?: {
|
|
568
|
+
regions: string[];
|
|
569
|
+
};
|
|
495
570
|
};
|
|
496
571
|
shareClasses: PoolMetadataV1['shareClasses'];
|
|
497
572
|
merkleProofManager?: PoolMetadataV1['merkleProofManager'];
|
|
@@ -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 +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":"AAulBA,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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type PoolMetadata, type PoolMetadataV2 } from '../types/poolMetadata.js';
|
|
1
|
+
import { type FileType, type LinkTarget, type PoolMetadata, type PoolMetadataV1, type PoolMetadataV2 } from '../types/poolMetadata.js';
|
|
2
2
|
/**
|
|
3
3
|
* Pure, idempotent legacy -> v2 migration. Performs no IPFS/network access so it stays
|
|
4
4
|
* unit-testable. A document already at the current v2 shape is returned unchanged; a v2 document
|
|
@@ -23,4 +23,14 @@ export declare function migratePoolMetadataToV2(legacy: PoolMetadata): PoolMetad
|
|
|
23
23
|
* narrowed to {@link PoolMetadataV2} on success.
|
|
24
24
|
*/
|
|
25
25
|
export declare function parsePoolMetadataV2(raw: unknown): PoolMetadataV2;
|
|
26
|
+
/**
|
|
27
|
+
* Resolves a {@link LinkTarget} to a `{ href }` or `{ file }` against a pool's `links`. `linkRef`
|
|
28
|
+
* checks the built-in keys first (`executiveSummary` -> file, `website`/`forum` -> url), then
|
|
29
|
+
* `links.documents` by `key`. Returns `null` on no match (callers self-blank; never throw). Shared
|
|
30
|
+
* so the SDK and the invest app resolve references identically.
|
|
31
|
+
*/
|
|
32
|
+
export declare function resolveLinkTarget(links: PoolMetadataV1['pool']['links'] | undefined, target: LinkTarget): {
|
|
33
|
+
href?: string;
|
|
34
|
+
file?: FileType;
|
|
35
|
+
} | null;
|
|
26
36
|
//# sourceMappingURL=poolMetadataMigration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poolMetadataMigration.d.ts","sourceRoot":"","sources":["../../src/utils/poolMetadataMigration.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"poolMetadataMigration.d.ts","sourceRoot":"","sources":["../../src/utils/poolMetadataMigration.ts"],"names":[],"mappings":"AACA,OAAO,EAQL,KAAK,QAAQ,EAOb,KAAK,UAAU,EAGf,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,cAAc,EAIpB,MAAM,0BAA0B,CAAA;AA+MjC;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAmD5E;AAmeD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAWhE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,SAAS,EAClD,MAAM,EAAE,UAAU,GACjB;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;CAAE,GAAG,IAAI,CAoB3C"}
|
|
@@ -75,9 +75,18 @@ function isSafeDocumentUri(uri) {
|
|
|
75
75
|
const scheme = uri.trim().toLowerCase();
|
|
76
76
|
return scheme.startsWith('https://') || scheme.startsWith('ipfs://');
|
|
77
77
|
}
|
|
78
|
-
/**
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
/**
|
|
79
|
+
* Builds a `documents` section from the rating report files (a tile per safe-URI report), or null
|
|
80
|
+
* when none have a usable report. Each tile targets the report file directly (`kind: 'file'`).
|
|
81
|
+
*/
|
|
82
|
+
function ratingDocumentsBlock(poolRatings) {
|
|
83
|
+
const items = asArray(poolRatings)
|
|
84
|
+
.filter((rating) => rating.reportFile?.uri && isSafeDocumentUri(rating.reportFile.uri))
|
|
85
|
+
.map((rating) => ({
|
|
86
|
+
title: `${rating.agency ?? 'Rating'} rating report`,
|
|
87
|
+
target: { kind: 'file', file: rating.reportFile },
|
|
88
|
+
}));
|
|
89
|
+
return items.length > 0 ? { type: 'documents', id: 'documents', title: 'Documents', items } : null;
|
|
81
90
|
}
|
|
82
91
|
/**
|
|
83
92
|
* Builds the seed `factsheet` from the legacy display fields. The migration is content-translating:
|
|
@@ -142,28 +151,36 @@ function buildFactsheet(pool, shareClasses, holdings) {
|
|
|
142
151
|
}
|
|
143
152
|
const body = [];
|
|
144
153
|
if (issuer.description) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
body.push({ type: 'text', id: `detail-${index}`, title: detail.title, body: detail.body });
|
|
149
|
-
});
|
|
150
|
-
// Ratings reports are surfaced two ways: a Documents body block (markdown links to the report
|
|
151
|
-
// PDFs) and the `ratings` key-fact ref pill above. Both read the same typed `poolRatings` field.
|
|
152
|
-
const ratingsWithReports = asArray(poolRatings).filter((rating) => rating.reportFile?.uri && isSafeDocumentUri(rating.reportFile.uri));
|
|
153
|
-
if (ratingsWithReports.length > 0) {
|
|
154
|
+
// Overview card: logo and the "Factsheet" link button are added only when their source field
|
|
155
|
+
// exists, so a missing logo / executiveSummary degrades to a plain card (never a broken one).
|
|
156
|
+
// The Factsheet link references the typed `links.executiveSummary` rather than copying its URI.
|
|
154
157
|
body.push({
|
|
155
158
|
type: 'text',
|
|
156
|
-
id: '
|
|
157
|
-
title: '
|
|
158
|
-
body:
|
|
159
|
-
|
|
160
|
-
|
|
159
|
+
id: 'overview',
|
|
160
|
+
title: 'Overview',
|
|
161
|
+
body: issuer.description,
|
|
162
|
+
...(issuer.logo?.uri ? { logo: issuer.logo } : {}),
|
|
163
|
+
...(pool.links?.executiveSummary?.uri
|
|
164
|
+
? { links: [{ label: 'Factsheet', target: { kind: 'linkRef', linkRef: 'executiveSummary' } }] }
|
|
165
|
+
: {}),
|
|
161
166
|
});
|
|
162
167
|
}
|
|
168
|
+
asArray(details).forEach((detail, index) => {
|
|
169
|
+
body.push({ type: 'text', id: `detail-${index}`, title: detail.title, body: detail.body });
|
|
170
|
+
});
|
|
163
171
|
body.push({ type: 'section', id: 'performance', ref: 'onchainMetrics' });
|
|
172
|
+
// Full-width region. Rating reports become a `documents` tile block (ratings are also surfaced
|
|
173
|
+
// as the `ratings` key-fact ref pill above; both read the same typed `poolRatings`). `sections` is
|
|
174
|
+
// omitted (so the invest app renders its defaults) only when there is neither a documents block
|
|
175
|
+
// nor a holdings table.
|
|
176
|
+
const sections = [];
|
|
177
|
+
const documentsBlock = ratingDocumentsBlock(poolRatings);
|
|
178
|
+
if (documentsBlock)
|
|
179
|
+
sections.push(documentsBlock);
|
|
164
180
|
const holdingsBlock = holdingsTableBlock(holdings);
|
|
165
|
-
|
|
166
|
-
|
|
181
|
+
if (holdingsBlock)
|
|
182
|
+
sections.push(holdingsBlock);
|
|
183
|
+
return sections.length > 0 ? { body, keyFacts, sections } : { body, keyFacts };
|
|
167
184
|
}
|
|
168
185
|
/**
|
|
169
186
|
* Pure, idempotent legacy -> v2 migration. Performs no IPFS/network access so it stays
|
|
@@ -321,7 +338,9 @@ function upgradeLegacyV2(doc) {
|
|
|
321
338
|
// (see centrifuge/apps-invest#200), but the SDK is the alignment point: an unknown key is rejected
|
|
322
339
|
// on WRITE so the management app, SDK, and invest app stay in sync (adding a key ships in an SDK
|
|
323
340
|
// release). The read path does not validate, so a newer document never breaks an older reader.
|
|
324
|
-
const
|
|
341
|
+
const VISIBILITY_SCALARS = new Set(['public', 'hidden', 'whitelisted', 'geo-restricted']);
|
|
342
|
+
const VISIBILITY_GATES = new Set(['whitelisted', 'geo-restricted']);
|
|
343
|
+
const REGION_CODE_RE = /^[A-Za-z]{2}$/;
|
|
325
344
|
const CHART_TYPES = new Set(['line', 'area', 'bar', 'donut']);
|
|
326
345
|
const AXIS_FORMATS = new Set(['number', 'percent', 'currency']);
|
|
327
346
|
const XAXIS_TYPES = new Set(['category', 'time', 'number']);
|
|
@@ -331,7 +350,17 @@ const LIVE_METRICS = new Set(['tokenPrice', 'nav', 'apy30d', 'navChange', 'month
|
|
|
331
350
|
const LIVE_DATASETS = new Set(['monthlySummary']);
|
|
332
351
|
const KEY_FACT_REFS = new Set(['apy', 'availableNetworks', 'ratings']);
|
|
333
352
|
const COLUMN_FORMATS = new Set(['text', 'number', 'percent', 'currency']);
|
|
334
|
-
const CONTENT_BLOCK_TYPES = new Set([
|
|
353
|
+
const CONTENT_BLOCK_TYPES = new Set([
|
|
354
|
+
'text',
|
|
355
|
+
'table',
|
|
356
|
+
'chart',
|
|
357
|
+
'image',
|
|
358
|
+
'kpiGroup',
|
|
359
|
+
'tabGroup',
|
|
360
|
+
'liveTable',
|
|
361
|
+
'documents',
|
|
362
|
+
'accordion',
|
|
363
|
+
]);
|
|
335
364
|
const TAB_BLOCK_TYPES = new Set(['text', 'table', 'chart', 'kpiGroup']);
|
|
336
365
|
const KPI_TRENDS = new Set(['up', 'down', 'neutral']);
|
|
337
366
|
function fail(message) {
|
|
@@ -347,9 +376,27 @@ function assertString(value, where) {
|
|
|
347
376
|
function assertVisibility(value, where) {
|
|
348
377
|
if (value === undefined)
|
|
349
378
|
return;
|
|
350
|
-
if (typeof value
|
|
351
|
-
|
|
379
|
+
if (typeof value === 'string') {
|
|
380
|
+
if (!VISIBILITY_SCALARS.has(value))
|
|
381
|
+
fail(`${where} has invalid visibility "${value}"`);
|
|
382
|
+
return;
|
|
383
|
+
}
|
|
384
|
+
// An array combines gates with AND. `public`/`hidden` are scalars, never array members.
|
|
385
|
+
if (Array.isArray(value)) {
|
|
386
|
+
if (value.length === 0)
|
|
387
|
+
fail(`${where} visibility array must not be empty`);
|
|
388
|
+
const seen = new Set();
|
|
389
|
+
value.forEach((gate) => {
|
|
390
|
+
if (typeof gate !== 'string' || !VISIBILITY_GATES.has(gate)) {
|
|
391
|
+
fail(`${where} has an invalid visibility gate "${String(gate)}"`);
|
|
392
|
+
}
|
|
393
|
+
if (seen.has(gate))
|
|
394
|
+
fail(`${where} has a duplicate visibility gate "${gate}"`);
|
|
395
|
+
seen.add(gate);
|
|
396
|
+
});
|
|
397
|
+
return;
|
|
352
398
|
}
|
|
399
|
+
fail(`${where} has invalid visibility "${String(value)}"`);
|
|
353
400
|
}
|
|
354
401
|
function isPrimitiveCell(value) {
|
|
355
402
|
return typeof value === 'string' || typeof value === 'number';
|
|
@@ -360,6 +407,52 @@ function validateFile(value, where) {
|
|
|
360
407
|
assertString(value.uri, `${where}.uri`);
|
|
361
408
|
assertString(value.mime, `${where}.mime`);
|
|
362
409
|
}
|
|
410
|
+
const BUILTIN_LINK_KEYS = new Set(['executiveSummary', 'website', 'forum']);
|
|
411
|
+
function validateLinkDocuments(documents) {
|
|
412
|
+
if (!Array.isArray(documents))
|
|
413
|
+
fail('`pool.links.documents` must be an array');
|
|
414
|
+
const seen = new Set();
|
|
415
|
+
documents.forEach((doc, index) => {
|
|
416
|
+
const where = `pool.links.documents[${index}]`;
|
|
417
|
+
if (!isObject(doc))
|
|
418
|
+
fail(`${where} must be an object`);
|
|
419
|
+
if (typeof doc.key !== 'string' || doc.key.length === 0)
|
|
420
|
+
fail(`${where}.key must be a non-empty string`);
|
|
421
|
+
if (typeof doc.label !== 'string' || doc.label.length === 0)
|
|
422
|
+
fail(`${where}.label must be a non-empty string`);
|
|
423
|
+
// Exactly one of file (object) or non-empty href. A null file counts as absent.
|
|
424
|
+
const hasFile = isObject(doc.file);
|
|
425
|
+
const hasHref = typeof doc.href === 'string' && doc.href.length > 0;
|
|
426
|
+
if (hasFile === hasHref)
|
|
427
|
+
fail(`${where} must set exactly one of \`file\` or \`href\``);
|
|
428
|
+
if (hasFile)
|
|
429
|
+
validateFile(doc.file, `${where}.file`);
|
|
430
|
+
// Built-ins resolve first, so a colliding key would be ambiguous (unreachable).
|
|
431
|
+
if (BUILTIN_LINK_KEYS.has(doc.key))
|
|
432
|
+
fail(`${where}.key "${doc.key}" collides with a built-in link key`);
|
|
433
|
+
if (seen.has(doc.key))
|
|
434
|
+
fail(`${where}.key "${doc.key}" is duplicated`);
|
|
435
|
+
seen.add(doc.key);
|
|
436
|
+
});
|
|
437
|
+
}
|
|
438
|
+
function validateLinkTarget(value, where) {
|
|
439
|
+
if (!isObject(value))
|
|
440
|
+
fail(`${where} must be an object`);
|
|
441
|
+
switch (value.kind) {
|
|
442
|
+
case 'file':
|
|
443
|
+
validateFile(value.file, `${where}.file`);
|
|
444
|
+
break;
|
|
445
|
+
case 'href':
|
|
446
|
+
assertString(value.href, `${where}.href`);
|
|
447
|
+
break;
|
|
448
|
+
case 'linkRef':
|
|
449
|
+
// Resolved app-side against the typed `pool.links`; an unknown key hides the link (lenient).
|
|
450
|
+
assertString(value.linkRef, `${where}.linkRef`);
|
|
451
|
+
break;
|
|
452
|
+
default:
|
|
453
|
+
fail(`${where} has an invalid kind "${String(value.kind)}"`);
|
|
454
|
+
}
|
|
455
|
+
}
|
|
363
456
|
function validateIconRef(value, where) {
|
|
364
457
|
if (!isObject(value))
|
|
365
458
|
fail(`${where} must be an object`);
|
|
@@ -473,6 +566,21 @@ function validateContentBlock(block, type, where) {
|
|
|
473
566
|
switch (type) {
|
|
474
567
|
case 'text':
|
|
475
568
|
assertString(block.body, `${where}.body`);
|
|
569
|
+
// Optional Overview-card extras.
|
|
570
|
+
if (block.logo !== undefined)
|
|
571
|
+
validateFile(block.logo, `${where}.logo`);
|
|
572
|
+
if (block.background !== undefined)
|
|
573
|
+
assertString(block.background, `${where}.background`);
|
|
574
|
+
if (block.links !== undefined) {
|
|
575
|
+
if (!Array.isArray(block.links))
|
|
576
|
+
fail(`${where}.links must be an array`);
|
|
577
|
+
block.links.forEach((link, index) => {
|
|
578
|
+
if (!isObject(link))
|
|
579
|
+
fail(`${where}.links[${index}] must be an object`);
|
|
580
|
+
assertString(link.label, `${where}.links[${index}].label`);
|
|
581
|
+
validateLinkTarget(link.target, `${where}.links[${index}].target`);
|
|
582
|
+
});
|
|
583
|
+
}
|
|
476
584
|
break;
|
|
477
585
|
case 'table': {
|
|
478
586
|
if (!Array.isArray(block.headers) || !block.headers.every((h) => typeof h === 'string')) {
|
|
@@ -551,14 +659,7 @@ function validateContentBlock(block, type, where) {
|
|
|
551
659
|
if (!isObject(tab))
|
|
552
660
|
fail(`${where}.tabs[${index}] must be an object`);
|
|
553
661
|
assertString(tab.label, `${where}.tabs[${index}].label`);
|
|
554
|
-
|
|
555
|
-
fail(`${where}.tabs[${index}].block must be an object`);
|
|
556
|
-
const tabBlock = tab.block;
|
|
557
|
-
if (typeof tabBlock.type !== 'string' || !TAB_BLOCK_TYPES.has(tabBlock.type)) {
|
|
558
|
-
fail(`${where}.tabs[${index}].block has an invalid type "${String(tabBlock.type)}"`);
|
|
559
|
-
}
|
|
560
|
-
assertString(tabBlock.id, `${where}.tabs[${index}].block.id`);
|
|
561
|
-
validateContentBlock(tabBlock, tabBlock.type, `${where}.tabs[${index}].block`);
|
|
662
|
+
validateTabBlock(tab.block, `${where}.tabs[${index}].block`);
|
|
562
663
|
});
|
|
563
664
|
break;
|
|
564
665
|
}
|
|
@@ -571,10 +672,45 @@ function validateContentBlock(block, type, where) {
|
|
|
571
672
|
block.columns.forEach((column, index) => validateLiveColumn(column, `${where}.columns[${index}]`));
|
|
572
673
|
break;
|
|
573
674
|
}
|
|
675
|
+
case 'documents': {
|
|
676
|
+
if (!Array.isArray(block.items))
|
|
677
|
+
fail(`${where}.items must be an array`);
|
|
678
|
+
block.items.forEach((item, index) => {
|
|
679
|
+
if (!isObject(item))
|
|
680
|
+
fail(`${where}.items[${index}] must be an object`);
|
|
681
|
+
assertString(item.title, `${where}.items[${index}].title`);
|
|
682
|
+
validateLinkTarget(item.target, `${where}.items[${index}].target`);
|
|
683
|
+
});
|
|
684
|
+
break;
|
|
685
|
+
}
|
|
686
|
+
case 'accordion': {
|
|
687
|
+
if (!Array.isArray(block.items))
|
|
688
|
+
fail(`${where}.items must be an array`);
|
|
689
|
+
block.items.forEach((item, index) => {
|
|
690
|
+
if (!isObject(item))
|
|
691
|
+
fail(`${where}.items[${index}] must be an object`);
|
|
692
|
+
assertString(item.title, `${where}.items[${index}].title`);
|
|
693
|
+
if (item.defaultOpen !== undefined && typeof item.defaultOpen !== 'boolean') {
|
|
694
|
+
fail(`${where}.items[${index}].defaultOpen must be a boolean`);
|
|
695
|
+
}
|
|
696
|
+
validateTabBlock(item.block, `${where}.items[${index}].block`);
|
|
697
|
+
});
|
|
698
|
+
break;
|
|
699
|
+
}
|
|
574
700
|
default:
|
|
575
701
|
fail(`${where} has an unknown block type "${type}"`);
|
|
576
702
|
}
|
|
577
703
|
}
|
|
704
|
+
/** Validates a leaf block nested in a `tabGroup` tab or `accordion` item (the {@link TabBlock} set). */
|
|
705
|
+
function validateTabBlock(value, where) {
|
|
706
|
+
if (!isObject(value))
|
|
707
|
+
fail(`${where} must be an object`);
|
|
708
|
+
if (typeof value.type !== 'string' || !TAB_BLOCK_TYPES.has(value.type)) {
|
|
709
|
+
fail(`${where} has an invalid type "${String(value.type)}"`);
|
|
710
|
+
}
|
|
711
|
+
assertString(value.id, `${where}.id`);
|
|
712
|
+
validateContentBlock(value, value.type, where);
|
|
713
|
+
}
|
|
578
714
|
function validateLayoutItem(item, where) {
|
|
579
715
|
if (!isObject(item))
|
|
580
716
|
fail(`${where} must be an object`);
|
|
@@ -626,8 +762,58 @@ export function parsePoolMetadataV2(raw) {
|
|
|
626
762
|
if (!isObject(raw.pool))
|
|
627
763
|
fail('`pool` must be an object');
|
|
628
764
|
assertString(raw.pool.name, '`pool.name`');
|
|
765
|
+
if (raw.pool.geoRestrictions !== undefined)
|
|
766
|
+
validateGeoRestrictions(raw.pool.geoRestrictions);
|
|
767
|
+
if (isObject(raw.pool.links) && raw.pool.links.documents !== undefined) {
|
|
768
|
+
validateLinkDocuments(raw.pool.links.documents);
|
|
769
|
+
}
|
|
629
770
|
if (raw.pool.factsheet !== undefined)
|
|
630
771
|
validateFactsheet(raw.pool.factsheet);
|
|
631
772
|
return raw;
|
|
632
773
|
}
|
|
774
|
+
/**
|
|
775
|
+
* Resolves a {@link LinkTarget} to a `{ href }` or `{ file }` against a pool's `links`. `linkRef`
|
|
776
|
+
* checks the built-in keys first (`executiveSummary` -> file, `website`/`forum` -> url), then
|
|
777
|
+
* `links.documents` by `key`. Returns `null` on no match (callers self-blank; never throw). Shared
|
|
778
|
+
* so the SDK and the invest app resolve references identically.
|
|
779
|
+
*/
|
|
780
|
+
export function resolveLinkTarget(links, target) {
|
|
781
|
+
switch (target.kind) {
|
|
782
|
+
case 'file':
|
|
783
|
+
return { file: target.file };
|
|
784
|
+
case 'href':
|
|
785
|
+
return { href: target.href };
|
|
786
|
+
case 'linkRef': {
|
|
787
|
+
const key = target.linkRef;
|
|
788
|
+
if (key === 'executiveSummary')
|
|
789
|
+
return links?.executiveSummary ? { file: links.executiveSummary } : null;
|
|
790
|
+
if (key === 'website')
|
|
791
|
+
return links?.website ? { href: links.website } : null;
|
|
792
|
+
if (key === 'forum')
|
|
793
|
+
return links?.forum ? { href: links.forum } : null;
|
|
794
|
+
const doc = links?.documents?.find((d) => d.key === key);
|
|
795
|
+
if (!doc)
|
|
796
|
+
return null;
|
|
797
|
+
if (doc.file)
|
|
798
|
+
return { file: doc.file };
|
|
799
|
+
if (doc.href)
|
|
800
|
+
return { href: doc.href };
|
|
801
|
+
return null;
|
|
802
|
+
}
|
|
803
|
+
default:
|
|
804
|
+
return null;
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
/** Validates `pool.geoRestrictions.regions` as ISO 3166-1 alpha-2 codes (format only, strict on write). */
|
|
808
|
+
function validateGeoRestrictions(geoRestrictions) {
|
|
809
|
+
if (!isObject(geoRestrictions))
|
|
810
|
+
fail('`pool.geoRestrictions` must be an object');
|
|
811
|
+
if (!Array.isArray(geoRestrictions.regions))
|
|
812
|
+
fail('`pool.geoRestrictions.regions` must be an array');
|
|
813
|
+
geoRestrictions.regions.forEach((region, index) => {
|
|
814
|
+
if (typeof region !== 'string' || !REGION_CODE_RE.test(region)) {
|
|
815
|
+
fail(`pool.geoRestrictions.regions[${index}] must be an ISO 3166-1 alpha-2 code, got "${String(region)}"`);
|
|
816
|
+
}
|
|
817
|
+
});
|
|
818
|
+
}
|
|
633
819
|
//# sourceMappingURL=poolMetadataMigration.js.map
|