@centrifuge/sdk 1.15.2 → 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 +7 -26
  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,240 @@
1
+ import { expect } from 'chai';
2
+ import { mockPoolMetadata } from '../tests/mocks/mockPoolMetadata.js';
3
+ import { mockPoolMetadataV2 } from '../tests/mocks/mockPoolMetadataV2.js';
4
+ import { isPoolMetadataV2 } from '../types/poolMetadata.js';
5
+ import { migratePoolMetadataToV2, parsePoolMetadataV2 } from './poolMetadataMigration.js';
6
+ const clone = (value) => JSON.parse(JSON.stringify(value));
7
+ /** A legacy fixture with the display fields that drive the factsheet projection. */
8
+ function legacyFixture() {
9
+ return {
10
+ version: 1,
11
+ pool: {
12
+ name: 'Legacy Pool',
13
+ icon: null,
14
+ asset: { class: 'Public credit', subClass: 'T-Bills' },
15
+ investorType: 'Institutional',
16
+ poolStructure: 'revolving',
17
+ expenseRatio: '0.25',
18
+ newInvestmentsStatus: { '0xabc': 'open' },
19
+ issuer: {
20
+ repName: 'Rep Name',
21
+ name: 'Acme Issuer',
22
+ description: 'A long issuer description.',
23
+ email: 'ops@acme.io',
24
+ logo: null,
25
+ shortDescription: 'Acme',
26
+ categories: [
27
+ { type: 'Trustee', value: 'Acme Trust' },
28
+ { type: 'Auditor', value: 'Acme Audit' },
29
+ ],
30
+ },
31
+ links: { executiveSummary: null },
32
+ details: [
33
+ { title: 'Strategy', body: 'We do things.' },
34
+ { title: 'Risks', body: 'Things can go wrong.' },
35
+ ],
36
+ status: 'open',
37
+ listed: true,
38
+ reports: [{ author: { name: 'A', title: 'B', avatar: null }, uri: 'https://x.io/r' }],
39
+ poolRatings: [
40
+ {
41
+ agency: 'Moodys',
42
+ value: 'Aaa',
43
+ reportUrl: 'https://x.io/r1',
44
+ reportFile: { uri: 'ipfs://Qm1', mime: 'application/pdf' },
45
+ },
46
+ { agency: 'S&P', value: 'AAA' },
47
+ ],
48
+ },
49
+ shareClasses: {
50
+ '0x6756e091ae798a8e51e12e27ee8facdf': {
51
+ minInitialInvestment: 2500,
52
+ apy: 'target',
53
+ weightedAverageMaturity: 63,
54
+ },
55
+ '0xda64aae939e4d3a981004619f1709d8f': { apy: '90day' },
56
+ },
57
+ onboarding: {
58
+ kycRestrictedCountries: ['US'],
59
+ kybRestrictedCountries: ['CN'],
60
+ externalOnboardingUrl: 'https://onboard.io',
61
+ shareClasses: {},
62
+ taxInfoRequired: true,
63
+ },
64
+ loanTemplates: [{ id: 'tpl', createdAt: '2024-01-01' }],
65
+ addressLabels: { '0xabc': 'Treasury' },
66
+ workflowPolicies: [],
67
+ };
68
+ }
69
+ describe('migratePoolMetadataToV2', () => {
70
+ it('stamps version 2', () => {
71
+ expect(migratePoolMetadataToV2(legacyFixture()).version).to.equal(2);
72
+ });
73
+ it('drops fields unused by every consumer', () => {
74
+ const v2 = migratePoolMetadataToV2(legacyFixture());
75
+ const pool = v2.pool;
76
+ expect(pool).to.not.have.property('newInvestmentsStatus');
77
+ expect(pool).to.not.have.property('reports');
78
+ expect(pool).to.not.have.property('details');
79
+ expect(v2).to.not.have.property('loanTemplates');
80
+ const issuer = pool.issuer;
81
+ expect(issuer).to.not.have.property('repName');
82
+ expect(issuer).to.not.have.property('shortDescription');
83
+ expect(issuer).to.not.have.property('description');
84
+ expect(issuer).to.not.have.property('categories');
85
+ expect(issuer).to.deep.equal({ name: 'Acme Issuer', email: 'ops@acme.io', logo: null });
86
+ });
87
+ it('narrows onboarding to restricted-country lists only', () => {
88
+ const v2 = migratePoolMetadataToV2(legacyFixture());
89
+ expect(v2.onboarding).to.deep.equal({ kycRestrictedCountries: ['US'], kybRestrictedCountries: ['CN'] });
90
+ });
91
+ it('maps legacy APY modes', () => {
92
+ const v2 = migratePoolMetadataToV2(legacyFixture());
93
+ expect(v2.shareClasses['0x6756e091ae798a8e51e12e27ee8facdf'].apy).to.equal('fixed');
94
+ expect(v2.shareClasses['0xda64aae939e4d3a981004619f1709d8f'].apy).to.equal('90d365');
95
+ });
96
+ it('preserves engine fields verbatim', () => {
97
+ const v2 = migratePoolMetadataToV2(legacyFixture());
98
+ expect(v2.addressLabels).to.deep.equal({ '0xabc': 'Treasury' });
99
+ expect(v2.workflowPolicies).to.deep.equal([]);
100
+ });
101
+ it('strips reportFile from kept poolRatings', () => {
102
+ const v2 = migratePoolMetadataToV2(legacyFixture());
103
+ expect(v2.pool.poolRatings).to.deep.equal([
104
+ { agency: 'Moodys', value: 'Aaa', reportUrl: 'https://x.io/r1' },
105
+ { agency: 'S&P', value: 'AAA' },
106
+ ]);
107
+ });
108
+ it('projects key facts in order, including valueRef apy and categories', () => {
109
+ const { keyFacts } = migratePoolMetadataToV2(legacyFixture()).pool.factsheet;
110
+ expect(keyFacts).to.deep.equal([
111
+ { label: 'Issuer', value: 'Acme Issuer' },
112
+ { label: 'Asset type', value: 'Public credit - T-Bills' },
113
+ { label: 'APY', valueRef: 'apy' },
114
+ { label: 'Pool structure', value: 'revolving' },
115
+ { label: 'Average asset maturity', value: '63 days' },
116
+ { label: 'Expense ratio', value: '0.25%' },
117
+ { label: 'Min. investment', value: '2,500' },
118
+ { label: 'Trustee', value: 'Acme Trust' },
119
+ { label: 'Auditor', value: 'Acme Audit' },
120
+ ]);
121
+ });
122
+ it('projects description, details and rating reports into body blocks', () => {
123
+ const { body } = migratePoolMetadataToV2(legacyFixture()).pool.factsheet;
124
+ expect(body).to.deep.equal([
125
+ { type: 'text', id: 'overview', title: 'Overview', body: 'A long issuer description.' },
126
+ { type: 'text', id: 'detail-0', title: 'Strategy', body: 'We do things.' },
127
+ { type: 'text', id: 'detail-1', title: 'Risks', body: 'Things can go wrong.' },
128
+ { type: 'text', id: 'documents', title: 'Documents', body: '- [Moodys rating report](ipfs://Qm1)' },
129
+ { type: 'section', id: 'performance', ref: 'onchainMetrics' },
130
+ ]);
131
+ });
132
+ it('drops unsafe document URI schemes and escapes the rating label', () => {
133
+ const legacy = legacyFixture();
134
+ legacy.pool.poolRatings = [
135
+ { agency: 'Evil [x](javascript:alert(1))', reportFile: { uri: 'javascript:alert(1)', mime: 'text/html' } },
136
+ { agency: 'Fitch', reportFile: { uri: 'https://x.io/r2', mime: 'application/pdf' } },
137
+ ];
138
+ const documents = migratePoolMetadataToV2(legacy).pool.factsheet.body.find((b) => b.id === 'documents');
139
+ expect(documents).to.deep.equal({
140
+ type: 'text',
141
+ id: 'documents',
142
+ title: 'Documents',
143
+ body: '- [Fitch rating report](https://x.io/r2)',
144
+ });
145
+ });
146
+ it('omits the Documents block entirely when no rating has a safe URI', () => {
147
+ const legacy = legacyFixture();
148
+ legacy.pool.poolRatings = [{ agency: 'X', reportFile: { uri: 'javascript:alert(1)', mime: 'text/html' } }];
149
+ const documents = migratePoolMetadataToV2(legacy).pool.factsheet.body.find((b) => b.id === 'documents');
150
+ expect(documents).to.equal(undefined);
151
+ });
152
+ it('omits sections so the app renders defaults', () => {
153
+ expect(migratePoolMetadataToV2(legacyFixture()).pool.factsheet.sections).to.equal(undefined);
154
+ });
155
+ it('is idempotent and returns v2 input unchanged', () => {
156
+ const once = migratePoolMetadataToV2(legacyFixture());
157
+ const twice = migratePoolMetadataToV2(once);
158
+ expect(twice).to.deep.equal(once);
159
+ expect(migratePoolMetadataToV2(mockPoolMetadataV2)).to.equal(mockPoolMetadataV2);
160
+ });
161
+ it('migrates the shared v1 mock into a valid v2 document', () => {
162
+ const v2 = migratePoolMetadataToV2(mockPoolMetadata);
163
+ expect(isPoolMetadataV2(v2)).to.equal(true);
164
+ expect(() => parsePoolMetadataV2(v2)).to.not.throw();
165
+ });
166
+ });
167
+ describe('parsePoolMetadataV2', () => {
168
+ it('accepts the v2 mock exercising every block type', () => {
169
+ expect(() => parsePoolMetadataV2(mockPoolMetadataV2)).to.not.throw();
170
+ });
171
+ it('returns the input narrowed to v2', () => {
172
+ expect(parsePoolMetadataV2(mockPoolMetadataV2)).to.equal(mockPoolMetadataV2);
173
+ });
174
+ it('rejects a non-v2 version', () => {
175
+ expect(() => parsePoolMetadataV2({ version: 1, pool: { name: 'x' } })).to.throw(/pool metadata v2/);
176
+ });
177
+ it('rejects a missing pool name', () => {
178
+ expect(() => parsePoolMetadataV2({ version: 2, pool: {} })).to.throw(/pool.name/);
179
+ });
180
+ it('rejects a chart with both series and dataRef', () => {
181
+ const bad = clone(mockPoolMetadataV2);
182
+ const chart = bad.pool.factsheet.body.find((b) => b.id === 'live-chart');
183
+ chart.series = [{ name: 's', data: [{ label: 'a', value: 1 }] }];
184
+ expect(() => parsePoolMetadataV2(bad)).to.throw(/exactly one of/);
185
+ });
186
+ it('rejects a chart with neither series nor dataRef', () => {
187
+ const bad = clone(mockPoolMetadataV2);
188
+ const chart = bad.pool.factsheet.body.find((b) => b.id === 'inline-chart');
189
+ delete chart.series;
190
+ expect(() => parsePoolMetadataV2(bad)).to.throw(/exactly one of/);
191
+ });
192
+ it('rejects an unknown section ref (closed, SDK-enforced registry)', () => {
193
+ const bad = clone(mockPoolMetadataV2);
194
+ const section = bad.pool.factsheet.body.find((b) => b.id === 'performance');
195
+ section.ref = 'someFutureSection';
196
+ expect(() => parsePoolMetadataV2(bad)).to.throw(/section ref/);
197
+ });
198
+ it('rejects columnVisibility not aligned to headers', () => {
199
+ const bad = clone(mockPoolMetadataV2);
200
+ const table = bad.pool.factsheet.body.find((b) => b.id === 'fees');
201
+ table.columnVisibility = ['public'];
202
+ expect(() => parsePoolMetadataV2(bad)).to.throw(/columnVisibility/);
203
+ });
204
+ it('rejects an invalid visibility value', () => {
205
+ const bad = clone(mockPoolMetadataV2);
206
+ bad.pool.factsheet.keyFacts[0].visibility = 'secret';
207
+ expect(() => parsePoolMetadataV2(bad)).to.throw(/visibility/);
208
+ });
209
+ it('rejects a block missing its id', () => {
210
+ const bad = clone(mockPoolMetadataV2);
211
+ delete bad.pool.factsheet.body[0].id;
212
+ expect(() => parsePoolMetadataV2(bad)).to.throw(/\.id/);
213
+ });
214
+ it('rejects an unknown block type', () => {
215
+ const bad = clone(mockPoolMetadataV2);
216
+ bad.pool.factsheet.body[0].type = 'video';
217
+ expect(() => parsePoolMetadataV2(bad)).to.throw(/unknown block type/);
218
+ });
219
+ it('rejects an unknown chart dataRef (closed, SDK-enforced registry)', () => {
220
+ const bad = clone(mockPoolMetadataV2);
221
+ const chart = bad.pool.factsheet.body.find((b) => b.id === 'live-chart');
222
+ chart.dataRef = 'someFutureDataset';
223
+ expect(() => parsePoolMetadataV2(bad)).to.throw(/dataRef is invalid/);
224
+ });
225
+ it('rejects an unknown live-table indexer metric (closed, SDK-enforced registry)', () => {
226
+ const bad = clone(mockPoolMetadataV2);
227
+ const live = bad.pool.factsheet.body.find((b) => b.id === 'monthly');
228
+ live.columns[1].metric = 'someFutureMetric';
229
+ expect(() => parsePoolMetadataV2(bad)).to.throw(/indexer metric/);
230
+ });
231
+ it('tolerates a pool with no factsheet', () => {
232
+ const minimal = {
233
+ version: 2,
234
+ pool: { ...mockPoolMetadataV2.pool, factsheet: undefined },
235
+ shareClasses: {},
236
+ };
237
+ expect(() => parsePoolMetadataV2(minimal)).to.not.throw();
238
+ });
239
+ });
240
+ //# sourceMappingURL=poolMetadataMigration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poolMetadataMigration.test.js","sourceRoot":"","sources":["../../src/utils/poolMetadataMigration.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@centrifuge/sdk",
3
- "version": "1.15.2",
3
+ "version": "1.16.0",
4
4
  "description": "",
5
5
  "homepage": "https://github.com/centrifuge/sdk/tree/main#readme",
6
6
  "author": "",
@@ -30,7 +30,7 @@
30
30
  "build": "tsc --importHelpers",
31
31
  "prepare": "pnpm build",
32
32
  "test": "mocha --loader=ts-node/esm --require $(pwd)/src/tests/setup.ts --exit --timeout 30000 'src/**/*.test.ts' --recursive",
33
- "test:unit": "mocha --loader=ts-node/esm --exit --timeout 30000 'src/utils/BigInt.test.ts' 'src/utils/types.test.ts' 'src/utils/addresses.test.ts' 'src/utils/catalog.test.ts' 'src/utils/scriptHash.test.ts' 'src/utils/variables.test.ts' 'src/utils/weiroll.test.ts' 'src/utils/workflowExecute.test.ts' 'src/config/verifyDeployments.test.ts' 'src/entities/OnchainPM.test.ts'",
33
+ "test:unit": "mocha --loader=ts-node/esm --exit --timeout 30000 'src/utils/BigInt.test.ts' 'src/utils/types.test.ts' 'src/utils/addresses.test.ts' 'src/utils/catalog.test.ts' 'src/utils/poolMetadataMigration.test.ts' 'src/utils/scriptHash.test.ts' 'src/utils/variables.test.ts' 'src/utils/weiroll.test.ts' 'src/utils/workflowExecute.test.ts' 'src/config/verifyDeployments.test.ts' 'src/entities/OnchainPM.test.ts' 'src/entities/Pool.metadataGate.test.ts'",
34
34
  "test:simple": "mocha --loader=ts-node/esm --exit --timeout 30000 'src/**/*.test.ts'",
35
35
  "test:simple:single": "mocha --loader=ts-node/esm --exit --timeout 30000",
36
36
  "test:single": "mocha --loader=ts-node/esm --require $(pwd)/src/tests/setup.ts --exit --timeout 30000",