@centrifuge/sdk 1.16.0 → 1.17.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/entities/Pool.d.ts.map +1 -1
- package/dist/entities/Pool.js +0 -5
- package/dist/entities/Pool.js.map +1 -1
- package/dist/tests/mocks/mockPoolMetadataV2.d.ts.map +1 -1
- package/dist/tests/mocks/mockPoolMetadataV2.js +63 -16
- package/dist/tests/mocks/mockPoolMetadataV2.js.map +1 -1
- package/dist/types/poolInput.d.ts +0 -4
- package/dist/types/poolInput.d.ts.map +1 -1
- package/dist/types/poolMetadata.d.ts +89 -17
- package/dist/types/poolMetadata.d.ts.map +1 -1
- package/dist/types/poolMetadata.js.map +1 -1
- package/dist/utils/poolMetadataMigration.d.ts +7 -4
- package/dist/utils/poolMetadataMigration.d.ts.map +1 -1
- package/dist/utils/poolMetadataMigration.js +286 -42
- package/dist/utils/poolMetadataMigration.js.map +1 -1
- package/dist/utils/poolMetadataMigration.test.js +270 -26
- package/dist/utils/poolMetadataMigration.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import { type PoolMetadata, type PoolMetadataV2 } from '../types/poolMetadata.js';
|
|
2
2
|
/**
|
|
3
3
|
* Pure, idempotent legacy -> v2 migration. Performs no IPFS/network access so it stays
|
|
4
|
-
* unit-testable.
|
|
4
|
+
* unit-testable. A document already at the current v2 shape is returned unchanged; a v2 document
|
|
5
|
+
* written by an earlier SDK is normalized forward via {@link upgradeLegacyV2}.
|
|
5
6
|
*
|
|
6
7
|
* - Strips fields unused by every consumer (`newInvestmentsStatus`, `reports`, `loanTemplates`,
|
|
7
|
-
* `issuer.repName/shortDescription`, onboarding extras) and reshapes `issuer
|
|
8
|
+
* `issuer.repName/shortDescription`, onboarding extras) and reshapes `issuer`. `poolRatings` is
|
|
9
|
+
* preserved verbatim as a typed field (surfaced via the `ratings` key-fact ref).
|
|
8
10
|
* - Maps legacy APY modes across `shareClasses[*].apy`.
|
|
9
|
-
* - Projects the legacy display fields into `pool.factsheet
|
|
11
|
+
* - Projects the legacy display fields into `pool.factsheet`, and folds the off-chain `holdings`
|
|
12
|
+
* blob into a `table` section (`id: 'holdings'`); `holdings` is not carried as a top-level field.
|
|
10
13
|
*/
|
|
11
14
|
export declare function migratePoolMetadataToV2(legacy: PoolMetadata): PoolMetadataV2;
|
|
12
15
|
/**
|
|
13
16
|
* Hand-rolled structural validator for v2 pool metadata, in the style of
|
|
14
17
|
* {@link parseMarketplaceCatalog}. Validates the discriminant (`version === 2`), `pool.name`, and
|
|
15
18
|
* the full `pool.factsheet` content model (the layout the SDK is responsible for). Engine fields
|
|
16
|
-
* (`shareClasses`, `workflowPolicies`, `
|
|
19
|
+
* (`shareClasses`, `workflowPolicies`, `addressLabels`, …) are passed through
|
|
17
20
|
* unchecked here — they are validated where they are consumed (e.g. workflows via
|
|
18
21
|
* {@link parseMarketplaceCatalog}). Throws `pool metadata v2: …` on the first malformed field;
|
|
19
22
|
* tolerates missing optionals (visibility defaults to `'public'` app-side). Returns the input
|
|
@@ -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,EAeL,KAAK,YAAY,EAEjB,KAAK,cAAc,EAIpB,MAAM,0BAA0B,CAAA;AAoMjC;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAmD5E;AA4XD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAOhE"}
|
|
@@ -22,6 +22,54 @@ function migrateApyMode(apy) {
|
|
|
22
22
|
function formatMinInvestment(value) {
|
|
23
23
|
return value.toLocaleString('en-US');
|
|
24
24
|
}
|
|
25
|
+
/** Tolerates legacy docs that omit (or malform) an array field by treating it as empty. */
|
|
26
|
+
function asArray(value) {
|
|
27
|
+
return Array.isArray(value) ? value : [];
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Folds a legacy off-chain `{ headers, data }` holdings blob into a `table` section, preserving
|
|
31
|
+
* every column verbatim (numbers stay numbers, null/undefined -> '', other values stringified +
|
|
32
|
+
* trimmed). Returns null when there are no headers or no data.
|
|
33
|
+
*/
|
|
34
|
+
function holdingsTableBlock(holdings) {
|
|
35
|
+
if (!holdings || !Array.isArray(holdings.headers) || holdings.headers.length === 0 || !Array.isArray(holdings.data)) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const { headers, data } = holdings;
|
|
39
|
+
return {
|
|
40
|
+
type: 'table',
|
|
41
|
+
id: 'holdings',
|
|
42
|
+
title: 'Holdings',
|
|
43
|
+
headers,
|
|
44
|
+
rows: data.map((row) => headers.map((header) => {
|
|
45
|
+
const value = row[header];
|
|
46
|
+
return typeof value === 'number' ? value : value == null ? '' : String(value).trim();
|
|
47
|
+
})),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/** Normalizes an issuer category `type` for matching (case- and separator-insensitive). */
|
|
51
|
+
function normalizeCategoryType(type) {
|
|
52
|
+
return type.toLowerCase().replace(/[\s_-]/g, '');
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Issuer-category `type` values (normalized) that migrate into the "Service providers" group, mapped
|
|
56
|
+
* to their v2 display label (the v1 vocabulary differs from v2, e.g. "Sub-Investment Manager" is the
|
|
57
|
+
* v2 "Portfolio Manager"). Anything not listed stays in "Key facts" with its raw label (the seed is
|
|
58
|
+
* ops-editable, so an unmatched type is low-cost). `administrator` is an alias of Fund Administrator.
|
|
59
|
+
*/
|
|
60
|
+
const SERVICE_PROVIDER_CATEGORIES = new Map([
|
|
61
|
+
['subinvestmentmanager', 'Portfolio Manager'],
|
|
62
|
+
['custodian', 'Custodian'],
|
|
63
|
+
['fundadministrator', 'Fund Administrator'],
|
|
64
|
+
['administrator', 'Fund Administrator'],
|
|
65
|
+
['auditor', 'Auditor'],
|
|
66
|
+
]);
|
|
67
|
+
/**
|
|
68
|
+
* Issuer-category `type` values (normalized) dropped from the factsheet because they are already
|
|
69
|
+
* represented elsewhere: "Investment Manager" is absorbed by the `Issuer` key fact (from
|
|
70
|
+
* `issuer.name`), so it is not rendered as its own row.
|
|
71
|
+
*/
|
|
72
|
+
const ABSORBED_CATEGORY_TYPES = new Set(['investmentmanager']);
|
|
25
73
|
/** Document links only carry web/IPFS URIs; anything else (e.g. `javascript:`) is dropped. */
|
|
26
74
|
function isSafeDocumentUri(uri) {
|
|
27
75
|
const scheme = uri.trim().toLowerCase();
|
|
@@ -36,38 +84,72 @@ function escapeMarkdownText(text) {
|
|
|
36
84
|
* a migrated pool must render the same content, so legacy fields are projected into ordered key
|
|
37
85
|
* facts + body blocks. The output is a sensible, ops-editable seed, not a frozen contract.
|
|
38
86
|
*/
|
|
39
|
-
function buildFactsheet(pool, shareClasses) {
|
|
87
|
+
function buildFactsheet(pool, shareClasses, holdings) {
|
|
40
88
|
const { issuer, asset, poolStructure, expenseRatio, details, poolRatings } = pool;
|
|
41
89
|
const firstShareClass = Object.values(shareClasses)[0];
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
{ label: '
|
|
46
|
-
{ label: '
|
|
90
|
+
// Trim text key-fact values (issuer/category strings sometimes carry stray whitespace).
|
|
91
|
+
const text = (value) => ({ kind: 'text', text: value.trim() });
|
|
92
|
+
const keyFactItems = [
|
|
93
|
+
{ label: 'Issuer', value: text(issuer.name) },
|
|
94
|
+
{ label: 'Asset type', value: text(`${asset.class} - ${asset.subClass}`) },
|
|
95
|
+
{ label: 'APY', value: { kind: 'ref', ref: 'apy' } },
|
|
96
|
+
{ label: 'Pool structure', value: text(poolStructure) },
|
|
47
97
|
];
|
|
48
98
|
const weightedAverageMaturity = firstShareClass?.weightedAverageMaturity;
|
|
49
99
|
if (weightedAverageMaturity != null) {
|
|
50
|
-
|
|
100
|
+
keyFactItems.push({ label: 'Average asset maturity', value: text(`${weightedAverageMaturity} days`) });
|
|
51
101
|
}
|
|
52
102
|
if (expenseRatio != null && expenseRatio !== '') {
|
|
53
|
-
|
|
103
|
+
keyFactItems.push({ label: 'Expense ratio', value: text(`${expenseRatio}%`) });
|
|
54
104
|
}
|
|
55
105
|
const minInitialInvestment = firstShareClass?.minInitialInvestment;
|
|
56
106
|
if (minInitialInvestment != null) {
|
|
57
|
-
|
|
107
|
+
keyFactItems.push({ label: 'Min. investment', value: text(formatMinInvestment(minInitialInvestment)) });
|
|
108
|
+
}
|
|
109
|
+
const serviceProviderItems = [];
|
|
110
|
+
for (const category of asArray(issuer.categories)) {
|
|
111
|
+
const key = normalizeCategoryType(category.type);
|
|
112
|
+
if (ABSORBED_CATEGORY_TYPES.has(key))
|
|
113
|
+
continue;
|
|
114
|
+
const label = SERVICE_PROVIDER_CATEGORIES.get(key);
|
|
115
|
+
if (label) {
|
|
116
|
+
serviceProviderItems.push({ label, value: text(category.value) });
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
keyFactItems.push({ label: category.type, value: text(category.value) });
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// Seeded unconditionally because v1 has no source field for either: the app derives the deployed
|
|
123
|
+
// chains, and wallet infrastructure is currently Fordefi for all pools. Ops can edit/remove after.
|
|
124
|
+
keyFactItems.push({
|
|
125
|
+
label: 'Wallet infrastructure',
|
|
126
|
+
value: { kind: 'icons', icons: [{ source: 'app', key: 'fordefi' }] },
|
|
127
|
+
});
|
|
128
|
+
keyFactItems.push({ label: 'Available networks', value: { kind: 'ref', ref: 'availableNetworks' } });
|
|
129
|
+
if (asArray(poolRatings).length > 0) {
|
|
130
|
+
keyFactItems.push({ label: 'Ratings', value: { kind: 'ref', ref: 'ratings' } });
|
|
58
131
|
}
|
|
59
|
-
|
|
60
|
-
|
|
132
|
+
// Right column is groups only (no bare key facts). The "Service providers" group is added only
|
|
133
|
+
// when at least one category mapped to it.
|
|
134
|
+
const keyFacts = [{ type: 'keyFactGroup', id: 'key-facts', title: 'Key facts', items: keyFactItems }];
|
|
135
|
+
if (serviceProviderItems.length > 0) {
|
|
136
|
+
keyFacts.push({
|
|
137
|
+
type: 'keyFactGroup',
|
|
138
|
+
id: 'service-providers',
|
|
139
|
+
title: 'Service providers',
|
|
140
|
+
items: serviceProviderItems,
|
|
141
|
+
});
|
|
61
142
|
}
|
|
62
143
|
const body = [];
|
|
63
144
|
if (issuer.description) {
|
|
64
145
|
body.push({ type: 'text', id: 'overview', title: 'Overview', body: issuer.description });
|
|
65
146
|
}
|
|
66
|
-
|
|
67
|
-
(details ?? []).forEach((detail, index) => {
|
|
147
|
+
asArray(details).forEach((detail, index) => {
|
|
68
148
|
body.push({ type: 'text', id: `detail-${index}`, title: detail.title, body: detail.body });
|
|
69
149
|
});
|
|
70
|
-
|
|
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));
|
|
71
153
|
if (ratingsWithReports.length > 0) {
|
|
72
154
|
body.push({
|
|
73
155
|
type: 'text',
|
|
@@ -79,27 +161,34 @@ function buildFactsheet(pool, shareClasses) {
|
|
|
79
161
|
});
|
|
80
162
|
}
|
|
81
163
|
body.push({ type: 'section', id: 'performance', ref: 'onchainMetrics' });
|
|
82
|
-
|
|
83
|
-
|
|
164
|
+
const holdingsBlock = holdingsTableBlock(holdings);
|
|
165
|
+
// `sections` is omitted (so the invest app renders its defaults) unless we have a holdings table.
|
|
166
|
+
return holdingsBlock ? { body, keyFacts, sections: [holdingsBlock] } : { body, keyFacts };
|
|
84
167
|
}
|
|
85
168
|
/**
|
|
86
169
|
* Pure, idempotent legacy -> v2 migration. Performs no IPFS/network access so it stays
|
|
87
|
-
* unit-testable.
|
|
170
|
+
* unit-testable. A document already at the current v2 shape is returned unchanged; a v2 document
|
|
171
|
+
* written by an earlier SDK is normalized forward via {@link upgradeLegacyV2}.
|
|
88
172
|
*
|
|
89
173
|
* - Strips fields unused by every consumer (`newInvestmentsStatus`, `reports`, `loanTemplates`,
|
|
90
|
-
* `issuer.repName/shortDescription`, onboarding extras) and reshapes `issuer
|
|
174
|
+
* `issuer.repName/shortDescription`, onboarding extras) and reshapes `issuer`. `poolRatings` is
|
|
175
|
+
* preserved verbatim as a typed field (surfaced via the `ratings` key-fact ref).
|
|
91
176
|
* - Maps legacy APY modes across `shareClasses[*].apy`.
|
|
92
|
-
* - Projects the legacy display fields into `pool.factsheet
|
|
177
|
+
* - Projects the legacy display fields into `pool.factsheet`, and folds the off-chain `holdings`
|
|
178
|
+
* blob into a `table` section (`id: 'holdings'`); `holdings` is not carried as a top-level field.
|
|
93
179
|
*/
|
|
94
180
|
export function migratePoolMetadataToV2(legacy) {
|
|
95
181
|
if (isPoolMetadataV2(legacy))
|
|
96
|
-
return legacy;
|
|
97
|
-
const { pool, shareClasses, onboarding, merkleProofManager, holdings, addressLabels, workflowPolicies } = legacy;
|
|
182
|
+
return upgradeLegacyV2(legacy);
|
|
183
|
+
const { pool, shareClasses, onboarding, merkleProofManager, holdings, addressLabels, workflowPolicies, withdrawManagers, } = legacy;
|
|
98
184
|
const { issuer, poolRatings, ...restPool } = pool;
|
|
99
|
-
// Explicitly drop fields that v2 does not carry.
|
|
185
|
+
// Explicitly drop fields that v2 does not carry. `report` (singular) and `poolStatus` are stray
|
|
186
|
+
// non-schema fields seen in some legacy documents (the real fields are `reports` and `status`).
|
|
100
187
|
delete restPool.newInvestmentsStatus;
|
|
101
188
|
delete restPool.reports;
|
|
102
189
|
delete restPool.details;
|
|
190
|
+
delete restPool.report;
|
|
191
|
+
delete restPool.poolStatus;
|
|
103
192
|
const migratedShareClasses = {};
|
|
104
193
|
for (const [scId, shareClass] of Object.entries(shareClasses)) {
|
|
105
194
|
migratedShareClasses[scId] = { ...shareClass, apy: migrateApyMode(shareClass.apy) };
|
|
@@ -109,8 +198,10 @@ export function migratePoolMetadataToV2(legacy) {
|
|
|
109
198
|
pool: {
|
|
110
199
|
...restPool,
|
|
111
200
|
issuer: { name: issuer.name, email: issuer.email, logo: issuer.logo },
|
|
112
|
-
poolRatings
|
|
113
|
-
factsheet
|
|
201
|
+
// `poolRatings` stays a typed field verbatim (incl. reportFile); surfaced via the `ratings`
|
|
202
|
+
// key-fact ref. `holdings` is folded into the factsheet and not carried as a top-level field.
|
|
203
|
+
poolRatings,
|
|
204
|
+
factsheet: buildFactsheet(pool, shareClasses, holdings),
|
|
114
205
|
},
|
|
115
206
|
shareClasses: migratedShareClasses,
|
|
116
207
|
...(merkleProofManager !== undefined ? { merkleProofManager } : {}),
|
|
@@ -122,11 +213,106 @@ export function migratePoolMetadataToV2(legacy) {
|
|
|
122
213
|
},
|
|
123
214
|
}
|
|
124
215
|
: {}),
|
|
125
|
-
...(holdings !== undefined ? { holdings } : {}),
|
|
126
216
|
...(addressLabels !== undefined ? { addressLabels } : {}),
|
|
127
217
|
...(workflowPolicies !== undefined ? { workflowPolicies } : {}),
|
|
218
|
+
...(withdrawManagers !== undefined ? { withdrawManagers } : {}),
|
|
128
219
|
};
|
|
129
220
|
}
|
|
221
|
+
/* ================================================================================================
|
|
222
|
+
* Intra-v2 upgrade: normalize a v2 document written by an earlier SDK to the current v2 shape
|
|
223
|
+
* ============================================================================================== */
|
|
224
|
+
function isKeyFactGroup(value) {
|
|
225
|
+
return typeof value === 'object' && value !== null && value.type === 'keyFactGroup';
|
|
226
|
+
}
|
|
227
|
+
/** Converts an earlier-SDK flat KeyFact (`{ value?: string; valueRef?: 'apy' }`) to the discriminated shape. */
|
|
228
|
+
function upgradeKeyFact(old) {
|
|
229
|
+
const { value, valueRef, ...rest } = old;
|
|
230
|
+
let next;
|
|
231
|
+
if (valueRef === 'apy')
|
|
232
|
+
next = { kind: 'ref', ref: 'apy' };
|
|
233
|
+
else if (value !== null && typeof value === 'object' && 'kind' in value)
|
|
234
|
+
next = value;
|
|
235
|
+
else
|
|
236
|
+
next = { kind: 'text', text: typeof value === 'string' ? value : '' };
|
|
237
|
+
return { ...rest, value: next };
|
|
238
|
+
}
|
|
239
|
+
/** True if `item` is (or, for a tabGroup, contains) a chart still using the `series`/`dataRef` shape. */
|
|
240
|
+
function hasLegacyChart(item) {
|
|
241
|
+
if (typeof item !== 'object' || item === null)
|
|
242
|
+
return false;
|
|
243
|
+
const block = item;
|
|
244
|
+
if (block.type === 'chart') {
|
|
245
|
+
return block.data === undefined && (block.series !== undefined || block.dataRef !== undefined);
|
|
246
|
+
}
|
|
247
|
+
if (block.type === 'tabGroup' && Array.isArray(block.tabs)) {
|
|
248
|
+
return block.tabs.some((tab) => hasLegacyChart(tab?.block));
|
|
249
|
+
}
|
|
250
|
+
return false;
|
|
251
|
+
}
|
|
252
|
+
/** Converts an earlier-SDK chart block (`series?`/`dataRef?`) to the discriminated `data` field, in place. */
|
|
253
|
+
function upgradeChartBlockInPlace(block) {
|
|
254
|
+
if (block.type === 'chart' && block.data === undefined) {
|
|
255
|
+
if (Array.isArray(block.series))
|
|
256
|
+
block.data = { kind: 'inline', series: block.series };
|
|
257
|
+
else if (typeof block.dataRef === 'string')
|
|
258
|
+
block.data = { kind: 'ref', dataRef: block.dataRef };
|
|
259
|
+
delete block.series;
|
|
260
|
+
delete block.dataRef;
|
|
261
|
+
}
|
|
262
|
+
if (block.type === 'tabGroup' && Array.isArray(block.tabs)) {
|
|
263
|
+
for (const tab of block.tabs) {
|
|
264
|
+
const inner = tab?.block;
|
|
265
|
+
if (inner && typeof inner === 'object')
|
|
266
|
+
upgradeChartBlockInPlace(inner);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Normalizes a document already at `version: 2` but written by an earlier SDK whose v2 shape differs:
|
|
272
|
+
* a flat `keyFacts: KeyFact[]` (now `KeyFactGroup[]`), chart blocks with `series`/`dataRef` (now a
|
|
273
|
+
* discriminated `data`), and a top-level `holdings` blob (now a factsheet `table` section). Without
|
|
274
|
+
* this, `update()` would re-validate such a document against the current validator and throw, with no
|
|
275
|
+
* upgrade path. Returns the input unchanged (same reference) when it is already the current shape.
|
|
276
|
+
*/
|
|
277
|
+
function upgradeLegacyV2(doc) {
|
|
278
|
+
const raw = doc;
|
|
279
|
+
const pool = (raw.pool ?? {});
|
|
280
|
+
const factsheet = pool.factsheet;
|
|
281
|
+
const keyFacts = factsheet?.keyFacts;
|
|
282
|
+
const layoutItems = [...asArray(factsheet?.body), ...asArray(factsheet?.sections)];
|
|
283
|
+
const needsKeyFactUpgrade = Array.isArray(keyFacts) && keyFacts.some((item) => !isKeyFactGroup(item));
|
|
284
|
+
const needsHoldingsFold = raw.holdings != null;
|
|
285
|
+
const needsChartUpgrade = layoutItems.some(hasLegacyChart);
|
|
286
|
+
if (!needsKeyFactUpgrade && !needsHoldingsFold && !needsChartUpgrade)
|
|
287
|
+
return doc;
|
|
288
|
+
const next = JSON.parse(JSON.stringify(doc));
|
|
289
|
+
const nextPool = next.pool;
|
|
290
|
+
const nextFactsheet = nextPool.factsheet;
|
|
291
|
+
if (nextFactsheet) {
|
|
292
|
+
if (needsKeyFactUpgrade) {
|
|
293
|
+
// Wrap the flat list into one titled "Key facts" group, converting each item's value.
|
|
294
|
+
const items = nextFactsheet.keyFacts.map(upgradeKeyFact);
|
|
295
|
+
nextFactsheet.keyFacts = [{ type: 'keyFactGroup', id: 'key-facts', title: 'Key facts', items }];
|
|
296
|
+
}
|
|
297
|
+
if (needsChartUpgrade) {
|
|
298
|
+
for (const item of [
|
|
299
|
+
...asArray(nextFactsheet.body),
|
|
300
|
+
...asArray(nextFactsheet.sections),
|
|
301
|
+
]) {
|
|
302
|
+
if (item && typeof item === 'object')
|
|
303
|
+
upgradeChartBlockInPlace(item);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
if (needsHoldingsFold) {
|
|
308
|
+
const holdingsBlock = holdingsTableBlock(raw.holdings);
|
|
309
|
+
delete next.holdings;
|
|
310
|
+
if (holdingsBlock && nextFactsheet) {
|
|
311
|
+
nextFactsheet.sections = [...asArray(nextFactsheet.sections), holdingsBlock];
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
return next;
|
|
315
|
+
}
|
|
130
316
|
/* ================================================================================================
|
|
131
317
|
* Validation: hand-rolled structural checks (mirrors src/utils/catalog.ts; no zod dependency)
|
|
132
318
|
* ============================================================================================== */
|
|
@@ -143,6 +329,7 @@ const DATA_REFS = new Set(['apyVsBenchmarks', 'maturityDistribution']);
|
|
|
143
329
|
const SECTION_REFS = new Set(['onchainMetrics', 'smartContracts']);
|
|
144
330
|
const LIVE_METRICS = new Set(['tokenPrice', 'nav', 'apy30d', 'navChange', 'monthlyReturn']);
|
|
145
331
|
const LIVE_DATASETS = new Set(['monthlySummary']);
|
|
332
|
+
const KEY_FACT_REFS = new Set(['apy', 'availableNetworks', 'ratings']);
|
|
146
333
|
const COLUMN_FORMATS = new Set(['text', 'number', 'percent', 'currency']);
|
|
147
334
|
const CONTENT_BLOCK_TYPES = new Set(['text', 'table', 'chart', 'image', 'kpiGroup', 'tabGroup', 'liveTable']);
|
|
148
335
|
const TAB_BLOCK_TYPES = new Set(['text', 'table', 'chart', 'kpiGroup']);
|
|
@@ -173,20 +360,71 @@ function validateFile(value, where) {
|
|
|
173
360
|
assertString(value.uri, `${where}.uri`);
|
|
174
361
|
assertString(value.mime, `${where}.mime`);
|
|
175
362
|
}
|
|
363
|
+
function validateIconRef(value, where) {
|
|
364
|
+
if (!isObject(value))
|
|
365
|
+
fail(`${where} must be an object`);
|
|
366
|
+
if (value.label !== undefined)
|
|
367
|
+
assertString(value.label, `${where}.label`);
|
|
368
|
+
switch (value.source) {
|
|
369
|
+
case 'metadata':
|
|
370
|
+
validateFile(value.file, `${where}.file`);
|
|
371
|
+
if (value.alt !== undefined)
|
|
372
|
+
assertString(value.alt, `${where}.alt`);
|
|
373
|
+
break;
|
|
374
|
+
case 'app':
|
|
375
|
+
// The app-owned icon-key registry is not yet enumerated, so validate shape (string) only.
|
|
376
|
+
assertString(value.key, `${where}.key`);
|
|
377
|
+
break;
|
|
378
|
+
default:
|
|
379
|
+
fail(`${where} has an invalid source "${String(value.source)}"`);
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
function validateKeyFactValue(value, where) {
|
|
383
|
+
if (!isObject(value))
|
|
384
|
+
fail(`${where} must be an object`);
|
|
385
|
+
switch (value.kind) {
|
|
386
|
+
case 'text':
|
|
387
|
+
assertString(value.text, `${where}.text`);
|
|
388
|
+
break;
|
|
389
|
+
case 'icons':
|
|
390
|
+
if (!Array.isArray(value.icons))
|
|
391
|
+
fail(`${where}.icons must be an array`);
|
|
392
|
+
value.icons.forEach((icon, index) => validateIconRef(icon, `${where}.icons[${index}]`));
|
|
393
|
+
break;
|
|
394
|
+
case 'ref':
|
|
395
|
+
// Closed, SDK-enforced registry (extended via a coordinated SDK release).
|
|
396
|
+
if (typeof value.ref !== 'string' || !KEY_FACT_REFS.has(value.ref)) {
|
|
397
|
+
fail(`${where}.ref is invalid (unknown ref "${String(value.ref)}")`);
|
|
398
|
+
}
|
|
399
|
+
break;
|
|
400
|
+
default:
|
|
401
|
+
fail(`${where} has an invalid kind "${String(value.kind)}"`);
|
|
402
|
+
}
|
|
403
|
+
}
|
|
176
404
|
function validateKeyFact(value, where) {
|
|
177
405
|
if (!isObject(value))
|
|
178
406
|
fail(`${where} must be an object`);
|
|
179
407
|
assertString(value.label, `${where}.label`);
|
|
180
|
-
|
|
181
|
-
assertString(value.value, `${where}.value`);
|
|
182
|
-
if (value.valueRef !== undefined && value.valueRef !== 'apy')
|
|
183
|
-
fail(`${where}.valueRef must be 'apy'`);
|
|
408
|
+
validateKeyFactValue(value.value, `${where}.value`);
|
|
184
409
|
if (value.tooltip !== undefined)
|
|
185
410
|
assertString(value.tooltip, `${where}.tooltip`);
|
|
186
411
|
if (value.href !== undefined)
|
|
187
412
|
assertString(value.href, `${where}.href`);
|
|
188
413
|
assertVisibility(value.visibility, where);
|
|
189
414
|
}
|
|
415
|
+
function validateKeyFactGroup(value, where) {
|
|
416
|
+
if (!isObject(value))
|
|
417
|
+
fail(`${where} must be an object`);
|
|
418
|
+
if (value.type !== 'keyFactGroup')
|
|
419
|
+
fail(`${where}.type must be 'keyFactGroup'`);
|
|
420
|
+
assertString(value.id, `${where}.id`);
|
|
421
|
+
if (value.title !== undefined)
|
|
422
|
+
assertString(value.title, `${where}.title`);
|
|
423
|
+
assertVisibility(value.visibility, where);
|
|
424
|
+
if (!Array.isArray(value.items))
|
|
425
|
+
fail(`${where}.items must be an array`);
|
|
426
|
+
value.items.forEach((item, index) => validateKeyFact(item, `${where}.items[${index}]`));
|
|
427
|
+
}
|
|
190
428
|
function validateChartSeries(value, where) {
|
|
191
429
|
if (!isObject(value))
|
|
192
430
|
fail(`${where} must be an object`);
|
|
@@ -257,17 +495,23 @@ function validateContentBlock(block, type, where) {
|
|
|
257
495
|
if (typeof block.chartType !== 'string' || !CHART_TYPES.has(block.chartType)) {
|
|
258
496
|
fail(`${where}.chartType is invalid`);
|
|
259
497
|
}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
498
|
+
// Data source is a single discriminated `data` (inline series XOR app/indexer dataRef).
|
|
499
|
+
if (!isObject(block.data))
|
|
500
|
+
fail(`${where}.data must be an object`);
|
|
501
|
+
switch (block.data.kind) {
|
|
502
|
+
case 'inline':
|
|
503
|
+
if (!Array.isArray(block.data.series))
|
|
504
|
+
fail(`${where}.data.series must be an array`);
|
|
505
|
+
block.data.series.forEach((s, index) => validateChartSeries(s, `${where}.data.series[${index}]`));
|
|
506
|
+
break;
|
|
507
|
+
case 'ref':
|
|
508
|
+
// Closed, SDK-enforced registry (extended via a coordinated SDK release).
|
|
509
|
+
if (typeof block.data.dataRef !== 'string' || !DATA_REFS.has(block.data.dataRef)) {
|
|
510
|
+
fail(`${where}.data.dataRef is invalid (unknown key "${String(block.data.dataRef)}")`);
|
|
511
|
+
}
|
|
512
|
+
break;
|
|
513
|
+
default:
|
|
514
|
+
fail(`${where}.data has an invalid kind "${String(block.data.kind)}"`);
|
|
271
515
|
}
|
|
272
516
|
if (isObject(block.xAxis) && block.xAxis.type !== undefined && !XAXIS_TYPES.has(block.xAxis.type)) {
|
|
273
517
|
fail(`${where}.xAxis.type is invalid`);
|
|
@@ -357,7 +601,7 @@ function validateFactsheet(factsheet) {
|
|
|
357
601
|
factsheet.body.forEach((item, index) => validateLayoutItem(item, `pool.factsheet.body[${index}]`));
|
|
358
602
|
if (!Array.isArray(factsheet.keyFacts))
|
|
359
603
|
fail('`pool.factsheet.keyFacts` must be an array');
|
|
360
|
-
factsheet.keyFacts.forEach((
|
|
604
|
+
factsheet.keyFacts.forEach((group, index) => validateKeyFactGroup(group, `pool.factsheet.keyFacts[${index}]`));
|
|
361
605
|
if (factsheet.sections !== undefined) {
|
|
362
606
|
if (!Array.isArray(factsheet.sections))
|
|
363
607
|
fail('`pool.factsheet.sections` must be an array');
|
|
@@ -368,7 +612,7 @@ function validateFactsheet(factsheet) {
|
|
|
368
612
|
* Hand-rolled structural validator for v2 pool metadata, in the style of
|
|
369
613
|
* {@link parseMarketplaceCatalog}. Validates the discriminant (`version === 2`), `pool.name`, and
|
|
370
614
|
* the full `pool.factsheet` content model (the layout the SDK is responsible for). Engine fields
|
|
371
|
-
* (`shareClasses`, `workflowPolicies`, `
|
|
615
|
+
* (`shareClasses`, `workflowPolicies`, `addressLabels`, …) are passed through
|
|
372
616
|
* unchecked here — they are validated where they are consumed (e.g. workflows via
|
|
373
617
|
* {@link parseMarketplaceCatalog}). Throws `pool metadata v2: …` on the first malformed field;
|
|
374
618
|
* tolerates missing optionals (visibility defaults to `'public'` app-side). Returns the input
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poolMetadataMigration.js","sourceRoot":"","sources":["../../src/utils/poolMetadataMigration.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"poolMetadataMigration.js","sourceRoot":"","sources":["../../src/utils/poolMetadataMigration.ts"],"names":[],"mappings":"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"}
|