@open-captable-protocol/canton 0.2.225 → 0.2.227
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/functions/OpenCapTable/capTable/getCapTableState.d.ts.map +1 -1
- package/dist/functions/OpenCapTable/capTable/getCapTableState.js +10 -6
- package/dist/functions/OpenCapTable/capTable/getCapTableState.js.map +1 -1
- package/dist/utils/cantonOcfExtractor.d.ts +34 -11
- package/dist/utils/cantonOcfExtractor.d.ts.map +1 -1
- package/dist/utils/cantonOcfExtractor.js +203 -14
- package/dist/utils/cantonOcfExtractor.js.map +1 -1
- package/dist/utils/replicationHelpers.d.ts +47 -5
- package/dist/utils/replicationHelpers.d.ts.map +1 -1
- package/dist/utils/replicationHelpers.js +134 -27
- package/dist/utils/replicationHelpers.js.map +1 -1
- package/dist/utils/typeConversions.d.ts +30 -0
- package/dist/utils/typeConversions.d.ts.map +1 -1
- package/dist/utils/typeConversions.js +61 -0
- package/dist/utils/typeConversions.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCapTableState.d.ts","sourceRoot":"","sources":["../../../../src/functions/OpenCapTable/capTable/getCapTableState.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"getCapTableState.d.ts","sourceRoot":"","sources":["../../../../src/functions/OpenCapTable/capTable/getCapTableState.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAKrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA+DlD;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAiE9D,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,kBAAkB,EAAE,MAAM,CAAC;IAE3B,uEAAuE;IACvE,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,QAAQ,EAAE,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAE1C;;;OAGG;IACH,WAAW,EAAE,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACtD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,mBAAmB,EAC3B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAkE/B"}
|
|
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
11
11
|
exports.FIELD_TO_ENTITY_TYPE = void 0;
|
|
12
12
|
exports.getCapTableState = getCapTableState;
|
|
13
13
|
const open_captable_protocol_daml_js_1 = require("@fairmint/open-captable-protocol-daml-js");
|
|
14
|
+
const typeConversions_1 = require("../../../utils/typeConversions");
|
|
14
15
|
/**
|
|
15
16
|
* Type guard to check if a contract entry is a JsActiveContract with complete structure.
|
|
16
17
|
* Based on the pattern from canton-node-sdk's get-amulets-for-transfer.ts.
|
|
@@ -177,13 +178,16 @@ async function getCapTableState(client, issuerPartyId) {
|
|
|
177
178
|
const contractIds = new Map();
|
|
178
179
|
for (const [field, entityType] of Object.entries(exports.FIELD_TO_ENTITY_TYPE)) {
|
|
179
180
|
const fieldData = payload[field];
|
|
180
|
-
if (fieldData
|
|
181
|
-
// DAML Map
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
181
|
+
if (fieldData) {
|
|
182
|
+
// DAML Map can be serialized as either:
|
|
183
|
+
// - Array format (JSON API v2): [[key, value], [key, value], ...]
|
|
184
|
+
// - Object format: {key: value, ...}
|
|
185
|
+
// parseDamlMap handles both formats
|
|
186
|
+
const entries = (0, typeConversions_1.parseDamlMap)(fieldData);
|
|
187
|
+
if (entries.length > 0) {
|
|
188
|
+
const ocfIds = new Set(entries.map(([key]) => key));
|
|
185
189
|
entities.set(entityType, ocfIds);
|
|
186
|
-
contractIds.set(entityType, new Map(
|
|
190
|
+
contractIds.set(entityType, new Map(entries));
|
|
187
191
|
}
|
|
188
192
|
}
|
|
189
193
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCapTableState.js","sourceRoot":"","sources":["../../../../src/functions/OpenCapTable/capTable/getCapTableState.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;
|
|
1
|
+
{"version":3,"file":"getCapTableState.js","sourceRoot":"","sources":["../../../../src/functions/OpenCapTable/capTable/getCapTableState.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,24 +10,47 @@
|
|
|
10
10
|
* @module cantonOcfExtractor
|
|
11
11
|
*/
|
|
12
12
|
import type { LedgerJsonApiClient } from '@fairmint/canton-node-sdk';
|
|
13
|
-
import type { OcfEntityType } from '../functions/OpenCapTable/capTable/batchTypes';
|
|
14
|
-
import type { SupportedOcfReadType } from '../functions/OpenCapTable/capTable/damlToOcf';
|
|
15
13
|
import type { CapTableState } from '../functions/OpenCapTable/capTable/getCapTableState';
|
|
16
14
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
15
|
+
* Safe timestamp helper that can return null.
|
|
16
|
+
* Used when we need to distinguish "missing" from "zero".
|
|
19
17
|
*/
|
|
20
|
-
export declare
|
|
18
|
+
export declare function getTimestampOrNull(input: unknown): number | null;
|
|
21
19
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
20
|
+
* Compute intra-day ordering weight for a transaction.
|
|
21
|
+
*
|
|
22
|
+
* Lower weights are processed first within the same day.
|
|
23
|
+
* This ensures domain-correct ordering: issuances before exercises,
|
|
24
|
+
* acceptances before splits, transfers before conversions, etc.
|
|
25
|
+
*
|
|
26
|
+
* Weights are ported from libs/api/service-ocp/utils/transactionSort.js
|
|
27
|
+
* to ensure parity between DB and Canton data processing.
|
|
28
|
+
*/
|
|
29
|
+
export declare function txWeight(tx: Record<string, unknown>): number;
|
|
30
|
+
/**
|
|
31
|
+
* Build a composite sort key for deterministic same-day ordering.
|
|
32
|
+
*
|
|
33
|
+
* Key structure: day|weight|group|created|id
|
|
34
|
+
* This ensures:
|
|
35
|
+
* - Same-day transactions are ordered by domain weight
|
|
36
|
+
* - Within same weight, grouped by security_id for locality
|
|
37
|
+
* - Within same group, ordered by created timestamp
|
|
38
|
+
* - Final tiebreaker by transaction id for determinism
|
|
39
|
+
*
|
|
40
|
+
* @throws OcpValidationError if tx.date is missing or invalid - fail fast on malformed records
|
|
24
41
|
*/
|
|
25
|
-
export declare
|
|
42
|
+
export declare function buildTransactionSortKey(tx: Record<string, unknown>): string;
|
|
26
43
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
44
|
+
* Sort transactions with domain-aware same-day ordering.
|
|
45
|
+
*
|
|
46
|
+
* This ensures Canton transactions are sorted consistently with DB data.
|
|
47
|
+
* The cap table engine processes transactions in array order, so this
|
|
48
|
+
* sorting is critical for producing identical outputs.
|
|
49
|
+
*
|
|
50
|
+
* Uses decorate-sort-undecorate pattern to avoid recomputing sort keys
|
|
51
|
+
* during comparisons, which is more efficient for large transaction lists.
|
|
29
52
|
*/
|
|
30
|
-
export declare
|
|
53
|
+
export declare function sortTransactions(transactions: Array<Record<string, unknown>>): Array<Record<string, unknown>>;
|
|
31
54
|
/**
|
|
32
55
|
* OCF manifest structure compatible with processCapTable / buildCaptableInput.
|
|
33
56
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cantonOcfExtractor.d.ts","sourceRoot":"","sources":["../../src/utils/cantonOcfExtractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"cantonOcfExtractor.d.ts","sourceRoot":"","sources":["../../src/utils/cantonOcfExtractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAMrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AAwBzF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAUhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CA0G5D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAsB3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAY7G;AAsHD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACvC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1C,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,mBAAmB,EAC3B,WAAW,EAAE,aAAa,EAC1B,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,WAAW,CAAC,CAwHtB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAWlE"}
|
|
@@ -11,9 +11,14 @@
|
|
|
11
11
|
* @module cantonOcfExtractor
|
|
12
12
|
*/
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.
|
|
14
|
+
exports.getTimestampOrNull = getTimestampOrNull;
|
|
15
|
+
exports.txWeight = txWeight;
|
|
16
|
+
exports.buildTransactionSortKey = buildTransactionSortKey;
|
|
17
|
+
exports.sortTransactions = sortTransactions;
|
|
15
18
|
exports.extractCantonOcfManifest = extractCantonOcfManifest;
|
|
16
19
|
exports.countManifestObjects = countManifestObjects;
|
|
20
|
+
const codes_1 = require("../errors/codes");
|
|
21
|
+
const OcpValidationError_1 = require("../errors/OcpValidationError");
|
|
17
22
|
const damlToOcf_1 = require("../functions/OpenCapTable/capTable/damlToOcf");
|
|
18
23
|
const convertibleIssuance_1 = require("../functions/OpenCapTable/convertibleIssuance");
|
|
19
24
|
const document_1 = require("../functions/OpenCapTable/document");
|
|
@@ -31,21 +36,181 @@ const stockPlanPoolAdjustment_1 = require("../functions/OpenCapTable/stockPlanPo
|
|
|
31
36
|
const valuation_1 = require("../functions/OpenCapTable/valuation");
|
|
32
37
|
const vestingTerms_1 = require("../functions/OpenCapTable/vestingTerms");
|
|
33
38
|
const warrantIssuance_1 = require("../functions/OpenCapTable/warrantIssuance");
|
|
39
|
+
const replicationHelpers_1 = require("./replicationHelpers");
|
|
40
|
+
// ===== Transaction Sorting =====
|
|
41
|
+
// These utilities ensure Canton transactions are sorted consistently with DB data.
|
|
42
|
+
// The cap table engine processes transactions in array order, so sorting is critical.
|
|
43
|
+
// Exported for unit testing - sorting correctness is critical for cap table verification.
|
|
34
44
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
45
|
+
* Safe timestamp helper that can return null.
|
|
46
|
+
* Used when we need to distinguish "missing" from "zero".
|
|
37
47
|
*/
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
'
|
|
42
|
-
|
|
43
|
-
|
|
48
|
+
function getTimestampOrNull(input) {
|
|
49
|
+
if (input == null)
|
|
50
|
+
return null;
|
|
51
|
+
if (typeof input === 'number') {
|
|
52
|
+
return Number.isNaN(input) ? null : input;
|
|
53
|
+
}
|
|
54
|
+
if (typeof input === 'string') {
|
|
55
|
+
const ms = new Date(input).getTime();
|
|
56
|
+
return Number.isNaN(ms) ? null : ms;
|
|
57
|
+
}
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Compute intra-day ordering weight for a transaction.
|
|
62
|
+
*
|
|
63
|
+
* Lower weights are processed first within the same day.
|
|
64
|
+
* This ensures domain-correct ordering: issuances before exercises,
|
|
65
|
+
* acceptances before splits, transfers before conversions, etc.
|
|
66
|
+
*
|
|
67
|
+
* Weights are ported from libs/api/service-ocp/utils/transactionSort.js
|
|
68
|
+
* to ensure parity between DB and Canton data processing.
|
|
69
|
+
*/
|
|
70
|
+
function txWeight(tx) {
|
|
71
|
+
switch (tx.object_type) {
|
|
72
|
+
// Administrative adjustments early in the day
|
|
73
|
+
case 'TX_ISSUER_AUTHORIZED_SHARES_ADJUSTMENT':
|
|
74
|
+
case 'TX_STOCK_CLASS_AUTHORIZED_SHARES_ADJUSTMENT':
|
|
75
|
+
case 'TX_STOCK_PLAN_POOL_ADJUSTMENT':
|
|
76
|
+
case 'TX_STOCK_PLAN_RETURN_TO_POOL':
|
|
77
|
+
return 5;
|
|
78
|
+
// Reissuance must run before child issuances
|
|
79
|
+
case 'TX_STOCK_REISSUANCE':
|
|
80
|
+
return 9;
|
|
81
|
+
// Creations first
|
|
82
|
+
case 'TX_STOCK_ISSUANCE':
|
|
83
|
+
case 'TX_EQUITY_COMPENSATION_ISSUANCE':
|
|
84
|
+
case 'TX_PLAN_SECURITY_ISSUANCE': // legacy alias
|
|
85
|
+
case 'TX_WARRANT_ISSUANCE':
|
|
86
|
+
case 'TX_CONVERTIBLE_ISSUANCE':
|
|
87
|
+
return 10;
|
|
88
|
+
// Acceptances after issuances, before splits
|
|
89
|
+
case 'TX_STOCK_ACCEPTANCE':
|
|
90
|
+
case 'TX_WARRANT_ACCEPTANCE':
|
|
91
|
+
case 'TX_EQUITY_COMPENSATION_ACCEPTANCE':
|
|
92
|
+
case 'TX_PLAN_SECURITY_ACCEPTANCE': // legacy alias
|
|
93
|
+
return 11;
|
|
94
|
+
// Vesting events
|
|
95
|
+
case 'TX_VESTING_START':
|
|
96
|
+
return 12;
|
|
97
|
+
case 'TX_VESTING_EVENT':
|
|
98
|
+
return 13;
|
|
99
|
+
case 'TX_VESTING_ACCELERATION':
|
|
100
|
+
return 14;
|
|
101
|
+
// Splits after vesting, before transfers
|
|
102
|
+
case 'TX_STOCK_CLASS_SPLIT':
|
|
103
|
+
return 15;
|
|
104
|
+
// Retractions after splits, before transfers
|
|
105
|
+
case 'TX_STOCK_RETRACTION':
|
|
106
|
+
case 'TX_WARRANT_RETRACTION':
|
|
107
|
+
case 'TX_CONVERTIBLE_RETRACTION':
|
|
108
|
+
case 'TX_EQUITY_COMPENSATION_RETRACTION':
|
|
109
|
+
case 'TX_PLAN_SECURITY_RETRACTION': // legacy alias
|
|
110
|
+
return 16;
|
|
111
|
+
// Consolidation after retractions, before transfers
|
|
112
|
+
case 'TX_STOCK_CONSOLIDATION':
|
|
113
|
+
return 17;
|
|
114
|
+
// Ratio adjustments after consolidation, before transfers
|
|
115
|
+
case 'TX_STOCK_CLASS_CONVERSION_RATIO_ADJUSTMENT':
|
|
116
|
+
return 18;
|
|
117
|
+
// Repricing after ratio adjustments, before transfers
|
|
118
|
+
case 'TX_EQUITY_COMPENSATION_REPRICING':
|
|
119
|
+
return 19;
|
|
120
|
+
// Transfers - neutral moves
|
|
121
|
+
case 'TX_STOCK_TRANSFER':
|
|
122
|
+
case 'TX_WARRANT_TRANSFER':
|
|
123
|
+
case 'TX_CONVERTIBLE_TRANSFER':
|
|
124
|
+
case 'TX_EQUITY_COMPENSATION_TRANSFER':
|
|
125
|
+
case 'TX_PLAN_SECURITY_TRANSFER': // legacy alias
|
|
126
|
+
return 20;
|
|
127
|
+
// Convertible acceptance requires preceding transfer
|
|
128
|
+
case 'TX_CONVERTIBLE_ACCEPTANCE':
|
|
129
|
+
return 22;
|
|
130
|
+
// Releases before exercises
|
|
131
|
+
case 'TX_EQUITY_COMPENSATION_RELEASE':
|
|
132
|
+
case 'TX_PLAN_SECURITY_RELEASE': // legacy alias
|
|
133
|
+
return 25;
|
|
134
|
+
// Exercises that may mint resulting stock
|
|
135
|
+
case 'TX_EQUITY_COMPENSATION_EXERCISE':
|
|
136
|
+
case 'TX_PLAN_SECURITY_EXERCISE': // legacy alias
|
|
137
|
+
case 'TX_WARRANT_EXERCISE':
|
|
138
|
+
return 30;
|
|
139
|
+
// Conversions after exercises
|
|
140
|
+
case 'TX_STOCK_CONVERSION':
|
|
141
|
+
case 'TX_CONVERTIBLE_CONVERSION':
|
|
142
|
+
return 35;
|
|
143
|
+
// Reductions after issuances
|
|
144
|
+
case 'TX_STOCK_REPURCHASE':
|
|
145
|
+
case 'TX_STOCK_CANCELLATION':
|
|
146
|
+
case 'TX_EQUITY_COMPENSATION_CANCELLATION':
|
|
147
|
+
case 'TX_PLAN_SECURITY_CANCELLATION': // legacy alias
|
|
148
|
+
case 'TX_WARRANT_CANCELLATION':
|
|
149
|
+
case 'TX_CONVERTIBLE_CANCELLATION':
|
|
150
|
+
return 40;
|
|
151
|
+
// Stakeholder events - process after transactions that might create/modify stakes
|
|
152
|
+
case 'TX_STAKEHOLDER_RELATIONSHIP_CHANGE_EVENT':
|
|
153
|
+
case 'TX_STAKEHOLDER_STATUS_CHANGE_EVENT':
|
|
154
|
+
return 45;
|
|
155
|
+
// Unknown types at the end
|
|
156
|
+
default:
|
|
157
|
+
return 50;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Build a composite sort key for deterministic same-day ordering.
|
|
162
|
+
*
|
|
163
|
+
* Key structure: day|weight|group|created|id
|
|
164
|
+
* This ensures:
|
|
165
|
+
* - Same-day transactions are ordered by domain weight
|
|
166
|
+
* - Within same weight, grouped by security_id for locality
|
|
167
|
+
* - Within same group, ordered by created timestamp
|
|
168
|
+
* - Final tiebreaker by transaction id for determinism
|
|
169
|
+
*
|
|
170
|
+
* @throws OcpValidationError if tx.date is missing or invalid - fail fast on malformed records
|
|
171
|
+
*/
|
|
172
|
+
function buildTransactionSortKey(tx) {
|
|
173
|
+
const dateMs = getTimestampOrNull(tx.date);
|
|
174
|
+
if (dateMs === null) {
|
|
175
|
+
const txId = typeof tx.id === 'string' ? tx.id : 'unknown';
|
|
176
|
+
const txType = typeof tx.object_type === 'string' ? tx.object_type : 'unknown';
|
|
177
|
+
throw new OcpValidationError_1.OcpValidationError('tx.date', `Transaction has missing or invalid date - id: ${txId}, object_type: ${txType}, date: ${JSON.stringify(tx.date)}`, { code: codes_1.OcpErrorCodes.REQUIRED_FIELD_MISSING, receivedValue: tx.date });
|
|
178
|
+
}
|
|
179
|
+
const day = new Date(dateMs).toISOString().slice(0, 10);
|
|
180
|
+
const weight = txWeight(tx).toString().padStart(3, '0');
|
|
181
|
+
const group = typeof tx.security_id === 'string' ? tx.security_id : '_no_security_';
|
|
182
|
+
const createdMs = getTimestampOrNull(tx.createdAt ?? tx.created_at);
|
|
183
|
+
const created = createdMs !== null ? new Date(createdMs).toISOString() : '9999-12-31T23:59:59.999Z';
|
|
184
|
+
// Safe string conversion for transaction ID
|
|
185
|
+
const id = typeof tx.id === 'string' ? tx.id : '';
|
|
186
|
+
return `${day}|${weight}|${group}|${created}|${id}`;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Sort transactions with domain-aware same-day ordering.
|
|
190
|
+
*
|
|
191
|
+
* This ensures Canton transactions are sorted consistently with DB data.
|
|
192
|
+
* The cap table engine processes transactions in array order, so this
|
|
193
|
+
* sorting is critical for producing identical outputs.
|
|
194
|
+
*
|
|
195
|
+
* Uses decorate-sort-undecorate pattern to avoid recomputing sort keys
|
|
196
|
+
* during comparisons, which is more efficient for large transaction lists.
|
|
197
|
+
*/
|
|
198
|
+
function sortTransactions(transactions) {
|
|
199
|
+
// Decorate: precompute sort keys once per transaction
|
|
200
|
+
const decorated = transactions.map((tx) => ({
|
|
201
|
+
tx,
|
|
202
|
+
key: buildTransactionSortKey(tx),
|
|
203
|
+
}));
|
|
204
|
+
// Sort by precomputed key
|
|
205
|
+
decorated.sort((a, b) => a.key.localeCompare(b.key));
|
|
206
|
+
// Undecorate: return transactions in sorted order
|
|
207
|
+
return decorated.map((item) => item.tx);
|
|
208
|
+
}
|
|
44
209
|
/**
|
|
45
210
|
* Entity types that are classified as transactions for buildCaptableInput.
|
|
46
211
|
* All entity types except core objects and a few non-transaction types.
|
|
47
212
|
*/
|
|
48
|
-
|
|
213
|
+
const TRANSACTION_ENTITY_TYPES = new Set([
|
|
49
214
|
// Stock Transactions
|
|
50
215
|
'stockIssuance',
|
|
51
216
|
'stockTransfer',
|
|
@@ -95,11 +260,20 @@ exports.TRANSACTION_ENTITY_TYPES = new Set([
|
|
|
95
260
|
'vestingEvent',
|
|
96
261
|
'vestingStart',
|
|
97
262
|
]);
|
|
263
|
+
/**
|
|
264
|
+
* Maps entity types to their OCF object_type values.
|
|
265
|
+
* Used to ensure transactions fetched via the generic getEntityAsOcf path
|
|
266
|
+
* have the correct object_type for sorting.
|
|
267
|
+
*
|
|
268
|
+
* Derived programmatically from TRANSACTION_SUBTYPE_MAP to avoid maintaining
|
|
269
|
+
* duplicate inverse mappings that could drift out of sync.
|
|
270
|
+
*/
|
|
271
|
+
const ENTITY_TYPE_TO_OBJECT_TYPE = Object.fromEntries(Object.entries(replicationHelpers_1.TRANSACTION_SUBTYPE_MAP).map(([objectType, entityType]) => [entityType, objectType]));
|
|
98
272
|
/**
|
|
99
273
|
* Entity types supported by getEntityAsOcf dispatcher.
|
|
100
274
|
* This matches the SupportedOcfReadType from damlToOcf.ts.
|
|
101
275
|
*/
|
|
102
|
-
|
|
276
|
+
const SUPPORTED_READ_TYPES = new Set([
|
|
103
277
|
// Acceptance types
|
|
104
278
|
'stockAcceptance',
|
|
105
279
|
'convertibleAcceptance',
|
|
@@ -256,12 +430,23 @@ async function extractCantonOcfManifest(client, cantonState, options = {}) {
|
|
|
256
430
|
const { stockLegendTemplate } = await (0, stockLegendTemplate_1.getStockLegendTemplateAsOcf)(client, { contractId });
|
|
257
431
|
result.stockLegendTemplates.push(stockLegendTemplate);
|
|
258
432
|
}
|
|
259
|
-
else if (
|
|
260
|
-
|
|
433
|
+
else if (SUPPORTED_READ_TYPES.has(entityType) &&
|
|
434
|
+
TRANSACTION_ENTITY_TYPES.has(entityType)) {
|
|
261
435
|
// Handle remaining transaction types with the generic dispatcher
|
|
262
436
|
const supportedType = entityType;
|
|
263
437
|
const { data } = await (0, damlToOcf_1.getEntityAsOcf)(client, supportedType, contractId);
|
|
264
|
-
|
|
438
|
+
const txData = data;
|
|
439
|
+
// Ensure object_type is present for correct sorting
|
|
440
|
+
// Generic converters may not include it, so we add it from our mapping
|
|
441
|
+
const existingObjectType = typeof txData.object_type === 'string' ? txData.object_type : null;
|
|
442
|
+
const mappedObjectType = ENTITY_TYPE_TO_OBJECT_TYPE[entityType];
|
|
443
|
+
if (!existingObjectType && !mappedObjectType) {
|
|
444
|
+
throw new OcpValidationError_1.OcpValidationError('object_type', `Missing object_type mapping for transaction entity type: ${entityType}`, { code: codes_1.OcpErrorCodes.REQUIRED_FIELD_MISSING });
|
|
445
|
+
}
|
|
446
|
+
if (!existingObjectType && mappedObjectType) {
|
|
447
|
+
txData.object_type = mappedObjectType;
|
|
448
|
+
}
|
|
449
|
+
result.transactions.push(txData);
|
|
265
450
|
}
|
|
266
451
|
// Unsupported types are silently skipped
|
|
267
452
|
}
|
|
@@ -271,6 +456,10 @@ async function extractCantonOcfManifest(client, cantonState, options = {}) {
|
|
|
271
456
|
}
|
|
272
457
|
}
|
|
273
458
|
}
|
|
459
|
+
// Sort transactions by date with domain-aware same-day ordering
|
|
460
|
+
// This matches the DB loader behavior (buildCaptableInput uses sortTransactions)
|
|
461
|
+
// and is critical for consistent cap table processing results
|
|
462
|
+
result.transactions = sortTransactions(result.transactions);
|
|
274
463
|
return result;
|
|
275
464
|
}
|
|
276
465
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cantonOcfExtractor.js","sourceRoot":"","sources":["../../src/utils/cantonOcfExtractor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cantonOcfExtractor.js","sourceRoot":"","sources":["../../src/utils/cantonOcfExtractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,16 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import type { OcfEntityType } from '../functions/OpenCapTable/capTable/batchTypes';
|
|
12
12
|
import type { CapTableState } from '../functions/OpenCapTable/capTable/getCapTableState';
|
|
13
|
+
import type { OcfManifest } from './cantonOcfExtractor';
|
|
14
|
+
/**
|
|
15
|
+
* TRANSACTION subtype to OcfEntityType mappings.
|
|
16
|
+
* These use category='TRANSACTION' with the actual type in the subtype field.
|
|
17
|
+
* Subtypes use TX_ prefix with UPPER_SNAKE_CASE, SDK uses camelCase.
|
|
18
|
+
*
|
|
19
|
+
* Exported so that other modules can derive the inverse mapping programmatically
|
|
20
|
+
* rather than maintaining duplicate data.
|
|
21
|
+
*/
|
|
22
|
+
export declare const TRANSACTION_SUBTYPE_MAP: Record<string, OcfEntityType>;
|
|
13
23
|
/**
|
|
14
24
|
* Map categorized OCF type/subtype to OcfEntityType.
|
|
15
25
|
*
|
|
@@ -50,6 +60,26 @@ export declare const mapDbTypeToEntityType: typeof mapCategorizedTypeToEntityTyp
|
|
|
50
60
|
* ```
|
|
51
61
|
*/
|
|
52
62
|
export declare function getEntityTypeLabel(type: OcfEntityType, count: number): string;
|
|
63
|
+
/**
|
|
64
|
+
* Build a CantonOcfDataMap from an OCF manifest.
|
|
65
|
+
*
|
|
66
|
+
* Converts the array-based manifest structure into a nested Map structure
|
|
67
|
+
* that can be used for efficient lookup during replication diff computation.
|
|
68
|
+
*
|
|
69
|
+
* @param manifest - OCF manifest from extractCantonOcfManifest
|
|
70
|
+
* @returns Map of entityType → Map of ocfId → OCF data object
|
|
71
|
+
* @throws Error if any object is missing a valid 'id' field or has an unsupported object_type
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* import { extractCantonOcfManifest } from './cantonOcfExtractor';
|
|
76
|
+
*
|
|
77
|
+
* const manifest = await extractCantonOcfManifest(client, cantonState);
|
|
78
|
+
* const cantonOcfData = buildCantonOcfDataMap(manifest);
|
|
79
|
+
* const diff = computeReplicationDiff(sourceItems, cantonState, { cantonOcfData });
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
export declare function buildCantonOcfDataMap(manifest: OcfManifest): CantonOcfDataMap;
|
|
53
83
|
/**
|
|
54
84
|
* A single item to be synced to Canton.
|
|
55
85
|
*/
|
|
@@ -76,6 +106,11 @@ export interface ReplicationDiff {
|
|
|
76
106
|
/** Total number of operations */
|
|
77
107
|
total: number;
|
|
78
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Canton OCF data map for deep comparison.
|
|
111
|
+
* Maps entityType to a map of ocfId to OCF data object.
|
|
112
|
+
*/
|
|
113
|
+
export type CantonOcfDataMap = Map<OcfEntityType, Map<string, Record<string, unknown>>>;
|
|
79
114
|
/**
|
|
80
115
|
* Options for computing the replication diff.
|
|
81
116
|
*/
|
|
@@ -86,12 +121,19 @@ export interface ComputeReplicationDiffOptions {
|
|
|
86
121
|
*/
|
|
87
122
|
syncDeletes?: boolean;
|
|
88
123
|
/**
|
|
89
|
-
*
|
|
90
|
-
* When
|
|
91
|
-
*
|
|
92
|
-
*
|
|
124
|
+
* Canton OCF data for deep comparison.
|
|
125
|
+
* When provided, items that exist in both source and Canton are compared using
|
|
126
|
+
* semantic OCF equality (ocfDeepEqual). Only items with actual data differences
|
|
127
|
+
* are marked for edit.
|
|
128
|
+
*
|
|
129
|
+
* The map should be structured as: Map<OcfEntityType, Map<ocfId, ocfDataObject>>
|
|
130
|
+
*
|
|
131
|
+
* This enables propagating database corrections to Canton without blindly updating
|
|
132
|
+
* all existing items.
|
|
133
|
+
*
|
|
134
|
+
* When not provided, only creates are detected (no edits).
|
|
93
135
|
*/
|
|
94
|
-
|
|
136
|
+
cantonOcfData?: CantonOcfDataMap;
|
|
95
137
|
}
|
|
96
138
|
/**
|
|
97
139
|
* Compute what needs to be synced to Canton.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replicationHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/replicationHelpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;
|
|
1
|
+
{"version":3,"file":"replicationHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/replicationHelpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAgDxD;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAwDjE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,8BAA8B,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,GAAG,IAAI,CAiBjH;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,uCAAiC,CAAC;AA4FpE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAI7E;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,gBAAgB,CAoE7E;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,UAAU,EAAE,aAAa,CAAC;IAC1B,2BAA2B;IAC3B,SAAS,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACxC,0CAA0C;IAC1C,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,4CAA4C;IAC5C,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,iEAAiE;IACjE,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,EAAE,gBAAgB,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,EAC/E,WAAW,EAAE,aAAa,EAC1B,OAAO,GAAE,6BAAkC,GAC1C,eAAe,CAuHjB"}
|
|
@@ -10,10 +10,13 @@
|
|
|
10
10
|
* @module replicationHelpers
|
|
11
11
|
*/
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.mapDbTypeToEntityType = void 0;
|
|
13
|
+
exports.mapDbTypeToEntityType = exports.TRANSACTION_SUBTYPE_MAP = void 0;
|
|
14
14
|
exports.mapCategorizedTypeToEntityType = mapCategorizedTypeToEntityType;
|
|
15
15
|
exports.getEntityTypeLabel = getEntityTypeLabel;
|
|
16
|
+
exports.buildCantonOcfDataMap = buildCantonOcfDataMap;
|
|
16
17
|
exports.computeReplicationDiff = computeReplicationDiff;
|
|
18
|
+
const deprecatedFieldNormalization_1 = require("./deprecatedFieldNormalization");
|
|
19
|
+
const ocfComparison_1 = require("./ocfComparison");
|
|
17
20
|
const planSecurityAliases_1 = require("./planSecurityAliases");
|
|
18
21
|
// ============================================================================
|
|
19
22
|
// Categorized Type Mapping
|
|
@@ -58,8 +61,11 @@ const OBJECT_SUBTYPE_MAP = {
|
|
|
58
61
|
* TRANSACTION subtype to OcfEntityType mappings.
|
|
59
62
|
* These use category='TRANSACTION' with the actual type in the subtype field.
|
|
60
63
|
* Subtypes use TX_ prefix with UPPER_SNAKE_CASE, SDK uses camelCase.
|
|
64
|
+
*
|
|
65
|
+
* Exported so that other modules can derive the inverse mapping programmatically
|
|
66
|
+
* rather than maintaining duplicate data.
|
|
61
67
|
*/
|
|
62
|
-
|
|
68
|
+
exports.TRANSACTION_SUBTYPE_MAP = {
|
|
63
69
|
// Stock Transactions (9 types)
|
|
64
70
|
TX_STOCK_ISSUANCE: 'stockIssuance',
|
|
65
71
|
TX_STOCK_CANCELLATION: 'stockCancellation',
|
|
@@ -108,15 +114,6 @@ const TRANSACTION_SUBTYPE_MAP = {
|
|
|
108
114
|
// Stakeholder Events (2 types)
|
|
109
115
|
TX_STAKEHOLDER_RELATIONSHIP_CHANGE_EVENT: 'stakeholderRelationshipChangeEvent',
|
|
110
116
|
TX_STAKEHOLDER_STATUS_CHANGE_EVENT: 'stakeholderStatusChangeEvent',
|
|
111
|
-
// Plan Security (7 types) - aliases for Equity Compensation in legacy OCF
|
|
112
|
-
// These map to equityCompensation* types in Canton (planSecurity is an alias)
|
|
113
|
-
TX_PLAN_SECURITY_ISSUANCE: 'planSecurityIssuance',
|
|
114
|
-
TX_PLAN_SECURITY_CANCELLATION: 'planSecurityCancellation',
|
|
115
|
-
TX_PLAN_SECURITY_TRANSFER: 'planSecurityTransfer',
|
|
116
|
-
TX_PLAN_SECURITY_ACCEPTANCE: 'planSecurityAcceptance',
|
|
117
|
-
TX_PLAN_SECURITY_EXERCISE: 'planSecurityExercise',
|
|
118
|
-
TX_PLAN_SECURITY_RELEASE: 'planSecurityRelease',
|
|
119
|
-
TX_PLAN_SECURITY_RETRACTION: 'planSecurityRetraction',
|
|
120
117
|
};
|
|
121
118
|
/**
|
|
122
119
|
* Map categorized OCF type/subtype to OcfEntityType.
|
|
@@ -149,7 +146,7 @@ function mapCategorizedTypeToEntityType(categoryType, subtype) {
|
|
|
149
146
|
}
|
|
150
147
|
// Transaction subtypes
|
|
151
148
|
if (categoryType === 'TRANSACTION' && subtype) {
|
|
152
|
-
return TRANSACTION_SUBTYPE_MAP[subtype] ?? null;
|
|
149
|
+
return exports.TRANSACTION_SUBTYPE_MAP[subtype] ?? null;
|
|
153
150
|
}
|
|
154
151
|
return null;
|
|
155
152
|
}
|
|
@@ -255,6 +252,87 @@ function getEntityTypeLabel(type, count) {
|
|
|
255
252
|
const [singular, plural] = labels;
|
|
256
253
|
return `${count} ${count === 1 ? singular : plural}`;
|
|
257
254
|
}
|
|
255
|
+
// ============================================================================
|
|
256
|
+
// Canton OCF Data Map Builder
|
|
257
|
+
// ============================================================================
|
|
258
|
+
/**
|
|
259
|
+
* Build a CantonOcfDataMap from an OCF manifest.
|
|
260
|
+
*
|
|
261
|
+
* Converts the array-based manifest structure into a nested Map structure
|
|
262
|
+
* that can be used for efficient lookup during replication diff computation.
|
|
263
|
+
*
|
|
264
|
+
* @param manifest - OCF manifest from extractCantonOcfManifest
|
|
265
|
+
* @returns Map of entityType → Map of ocfId → OCF data object
|
|
266
|
+
* @throws Error if any object is missing a valid 'id' field or has an unsupported object_type
|
|
267
|
+
*
|
|
268
|
+
* @example
|
|
269
|
+
* ```typescript
|
|
270
|
+
* import { extractCantonOcfManifest } from './cantonOcfExtractor';
|
|
271
|
+
*
|
|
272
|
+
* const manifest = await extractCantonOcfManifest(client, cantonState);
|
|
273
|
+
* const cantonOcfData = buildCantonOcfDataMap(manifest);
|
|
274
|
+
* const diff = computeReplicationDiff(sourceItems, cantonState, { cantonOcfData });
|
|
275
|
+
* ```
|
|
276
|
+
*/
|
|
277
|
+
function buildCantonOcfDataMap(manifest) {
|
|
278
|
+
const result = new Map();
|
|
279
|
+
// Helper to add an item to the map with validation
|
|
280
|
+
const addItem = (entityType, item, context) => {
|
|
281
|
+
const { id } = item;
|
|
282
|
+
if (typeof id !== 'string') {
|
|
283
|
+
throw new Error(`Invalid ${context}: missing or invalid 'id' field. Got: ${JSON.stringify(id)}`);
|
|
284
|
+
}
|
|
285
|
+
let typeMap = result.get(entityType);
|
|
286
|
+
if (!typeMap) {
|
|
287
|
+
typeMap = new Map();
|
|
288
|
+
result.set(entityType, typeMap);
|
|
289
|
+
}
|
|
290
|
+
typeMap.set(id, item);
|
|
291
|
+
};
|
|
292
|
+
// Process issuer (special case - single item, not array)
|
|
293
|
+
if (manifest.issuer) {
|
|
294
|
+
addItem('issuer', manifest.issuer, 'issuer');
|
|
295
|
+
}
|
|
296
|
+
// Process core objects
|
|
297
|
+
for (const stakeholder of manifest.stakeholders) {
|
|
298
|
+
addItem('stakeholder', stakeholder, 'stakeholder');
|
|
299
|
+
}
|
|
300
|
+
for (const stockClass of manifest.stockClasses) {
|
|
301
|
+
addItem('stockClass', stockClass, 'stockClass');
|
|
302
|
+
}
|
|
303
|
+
for (const stockPlan of manifest.stockPlans) {
|
|
304
|
+
addItem('stockPlan', stockPlan, 'stockPlan');
|
|
305
|
+
}
|
|
306
|
+
for (const vestingTerms of manifest.vestingTerms) {
|
|
307
|
+
addItem('vestingTerms', vestingTerms, 'vestingTerms');
|
|
308
|
+
}
|
|
309
|
+
for (const valuation of manifest.valuations) {
|
|
310
|
+
addItem('valuation', valuation, 'valuation');
|
|
311
|
+
}
|
|
312
|
+
for (const document of manifest.documents) {
|
|
313
|
+
addItem('document', document, 'document');
|
|
314
|
+
}
|
|
315
|
+
for (const stockLegendTemplate of manifest.stockLegendTemplates) {
|
|
316
|
+
addItem('stockLegendTemplate', stockLegendTemplate, 'stockLegendTemplate');
|
|
317
|
+
}
|
|
318
|
+
// Process transactions - categorize by object_type using existing TRANSACTION_SUBTYPE_MAP
|
|
319
|
+
for (const tx of manifest.transactions) {
|
|
320
|
+
const objectType = tx['object_type'];
|
|
321
|
+
if (typeof objectType !== 'string') {
|
|
322
|
+
throw new Error(`Invalid transaction: missing or invalid 'object_type' field. Got: ${JSON.stringify(objectType)}`);
|
|
323
|
+
}
|
|
324
|
+
// Normalize TX_PLAN_SECURITY_* to TX_EQUITY_COMPENSATION_* for lookup
|
|
325
|
+
// Canton can return legacy plan security types that need to be mapped to equity compensation
|
|
326
|
+
const normalizedObjectType = (0, planSecurityAliases_1.normalizeObjectType)(objectType);
|
|
327
|
+
// Check if the normalized object type is a known transaction type
|
|
328
|
+
if (!(normalizedObjectType in exports.TRANSACTION_SUBTYPE_MAP)) {
|
|
329
|
+
throw new Error(`Unsupported transaction object_type: ${objectType}`);
|
|
330
|
+
}
|
|
331
|
+
const entityType = exports.TRANSACTION_SUBTYPE_MAP[normalizedObjectType];
|
|
332
|
+
addItem(entityType, tx, `transaction (${objectType})`);
|
|
333
|
+
}
|
|
334
|
+
return result;
|
|
335
|
+
}
|
|
258
336
|
/**
|
|
259
337
|
* Compute what needs to be synced to Canton.
|
|
260
338
|
*
|
|
@@ -279,7 +357,7 @@ function getEntityTypeLabel(type, count) {
|
|
|
279
357
|
* ```
|
|
280
358
|
*/
|
|
281
359
|
function computeReplicationDiff(sourceItems, cantonState, options = {}) {
|
|
282
|
-
const { syncDeletes = false,
|
|
360
|
+
const { syncDeletes = false, cantonOcfData } = options;
|
|
283
361
|
const creates = [];
|
|
284
362
|
const edits = [];
|
|
285
363
|
const deletes = [];
|
|
@@ -287,17 +365,24 @@ function computeReplicationDiff(sourceItems, cantonState, options = {}) {
|
|
|
287
365
|
const sourceIdsByType = new Map();
|
|
288
366
|
// Track seen items to prevent duplicate create/edit operations
|
|
289
367
|
const seenItems = new Set();
|
|
368
|
+
// Comparison options for OCF deep equality
|
|
369
|
+
const comparisonOptions = {
|
|
370
|
+
ignoredFields: ocfComparison_1.DEFAULT_INTERNAL_FIELDS,
|
|
371
|
+
deprecatedFields: ocfComparison_1.DEFAULT_DEPRECATED_FIELDS,
|
|
372
|
+
};
|
|
290
373
|
// Process each source item
|
|
291
374
|
for (const item of sourceItems) {
|
|
292
|
-
//
|
|
293
|
-
|
|
375
|
+
// Normalize planSecurity types to equityCompensation for Canton lookup
|
|
376
|
+
// Canton stores planSecurity items under equity_compensation_* fields
|
|
377
|
+
const normalizedType = (0, planSecurityAliases_1.normalizeEntityType)(item.entityType);
|
|
378
|
+
// Skip duplicate items (same ocfId + normalized entityType)
|
|
379
|
+
// Use normalized type because aliased types (e.g., planSecurityIssuance and
|
|
380
|
+
// equityCompensationIssuance) map to the same Canton entity
|
|
381
|
+
const itemKey = `${normalizedType}:${item.ocfId}`;
|
|
294
382
|
if (seenItems.has(itemKey)) {
|
|
295
383
|
continue;
|
|
296
384
|
}
|
|
297
385
|
seenItems.add(itemKey);
|
|
298
|
-
// Normalize planSecurity types to equityCompensation for Canton lookup
|
|
299
|
-
// Canton stores planSecurity items under equity_compensation_* fields
|
|
300
|
-
const normalizedType = (0, planSecurityAliases_1.normalizeEntityType)(item.entityType);
|
|
301
386
|
// Track for delete detection (using normalized type to match Canton's storage)
|
|
302
387
|
let typeIds = sourceIdsByType.get(normalizedType);
|
|
303
388
|
if (!typeIds) {
|
|
@@ -317,16 +402,38 @@ function computeReplicationDiff(sourceItems, cantonState, options = {}) {
|
|
|
317
402
|
data: item.data,
|
|
318
403
|
});
|
|
319
404
|
}
|
|
320
|
-
else if (
|
|
321
|
-
//
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
405
|
+
else if (cantonOcfData) {
|
|
406
|
+
// Deep comparison: compare actual OCF data to detect changes
|
|
407
|
+
const cantonTypeData = cantonOcfData.get(normalizedType);
|
|
408
|
+
const cantonItemData = cantonTypeData?.get(item.ocfId);
|
|
409
|
+
if (cantonItemData === undefined) {
|
|
410
|
+
// cantonOcfData was provided but this item's data wasn't found
|
|
411
|
+
// This indicates cantonOcfData is incomplete or inconsistent with cantonState.entities
|
|
412
|
+
throw new Error(`Inconsistent cantonOcfData: missing OCF data for entityType="${normalizedType}", ` +
|
|
413
|
+
`ocfId="${item.ocfId}" even though the ID exists in cantonState.entities. ` +
|
|
414
|
+
`Ensure cantonOcfData is built from the same Canton state.`);
|
|
415
|
+
}
|
|
416
|
+
// Validate item.data is a proper object before comparison (fail-fast)
|
|
417
|
+
if (typeof item.data !== 'object' || item.data === null || Array.isArray(item.data)) {
|
|
418
|
+
throw new Error(`Invalid source data for entityType="${item.entityType}", ocfId="${item.ocfId}": ` +
|
|
419
|
+
`expected object, got ${item.data === null ? 'null' : Array.isArray(item.data) ? 'array' : typeof item.data}`);
|
|
420
|
+
}
|
|
421
|
+
// Compare source data with Canton data using semantic OCF equality
|
|
422
|
+
// Uses areOcfObjectsEquivalent which normalizes object_type (e.g., TX_PLAN_SECURITY_* → TX_EQUITY_COMPENSATION_*)
|
|
423
|
+
// before comparison, preventing false positives from alias variants
|
|
424
|
+
const isEqual = (0, deprecatedFieldNormalization_1.areOcfObjectsEquivalent)(item.data, cantonItemData, comparisonOptions);
|
|
425
|
+
if (!isEqual) {
|
|
426
|
+
// Data differs → EDIT
|
|
427
|
+
edits.push({
|
|
428
|
+
ocfId: item.ocfId,
|
|
429
|
+
entityType: item.entityType,
|
|
430
|
+
operation: 'edit',
|
|
431
|
+
data: item.data,
|
|
432
|
+
});
|
|
433
|
+
}
|
|
434
|
+
// If equal, skip (data is already in sync)
|
|
328
435
|
}
|
|
329
|
-
// If
|
|
436
|
+
// If no cantonOcfData provided and item exists in Canton, skip (no edit detection)
|
|
330
437
|
}
|
|
331
438
|
// Detect deletes (in Canton but not in source)
|
|
332
439
|
if (syncDeletes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replicationHelpers.js","sourceRoot":"","sources":["../../src/utils/replicationHelpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"replicationHelpers.js","sourceRoot":"","sources":["../../src/utils/replicationHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,6 +82,36 @@ type DamlInitialSharesAuthorized = Fairmint.OpenCapTable.Types.Stock.OcfInitialS
|
|
|
82
82
|
export declare function initialSharesAuthorizedToDaml(value: string | number): DamlInitialSharesAuthorized;
|
|
83
83
|
export declare function addressToDaml(address: Address): Fairmint.OpenCapTable.Types.Monetary.OcfAddress;
|
|
84
84
|
export declare function damlAddressToNative(damlAddress: Fairmint.OpenCapTable.Types.Monetary.OcfAddress): Address;
|
|
85
|
+
/**
|
|
86
|
+
* Parse a DAML Map from JSON API response.
|
|
87
|
+
*
|
|
88
|
+
* DAML Maps can be serialized in two formats depending on the JSON API version:
|
|
89
|
+
* - **Array format (JSON API v2)**: `[[key1, value1], [key2, value2], ...]`
|
|
90
|
+
* - **Object format**: `{key1: value1, key2: value2, ...}`
|
|
91
|
+
*
|
|
92
|
+
* This function normalizes both formats to an array of key-value tuples
|
|
93
|
+
* that can be used with `new Map(entries)` or `Object.fromEntries(entries)`.
|
|
94
|
+
*
|
|
95
|
+
* @param data - Raw DAML Map data from JSON API response (may be array or object)
|
|
96
|
+
* @returns Array of [key, value] tuples, or empty array if data is null/undefined
|
|
97
|
+
* @throws OcpParseError if the data format is invalid (non-array, non-object, or malformed entries)
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ```typescript
|
|
101
|
+
* // JSON API v2 format (array of tuples)
|
|
102
|
+
* const arrayData = [['id1', 'contract1'], ['id2', 'contract2']];
|
|
103
|
+
* parseDamlMap(arrayData); // Returns [['id1', 'contract1'], ['id2', 'contract2']]
|
|
104
|
+
*
|
|
105
|
+
* // Object format
|
|
106
|
+
* const objectData = { id1: 'contract1', id2: 'contract2' };
|
|
107
|
+
* parseDamlMap(objectData); // Returns [['id1', 'contract1'], ['id2', 'contract2']]
|
|
108
|
+
*
|
|
109
|
+
* // Converting to Map
|
|
110
|
+
* const entries = parseDamlMap(data);
|
|
111
|
+
* const map = new Map(entries);
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
export declare function parseDamlMap<K extends string, V>(data: unknown): Array<[K, V]>;
|
|
85
115
|
/**
|
|
86
116
|
* Ensure a value is an array, normalizing null/undefined to an empty array.
|
|
87
117
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeConversions.d.ts","sourceRoot":"","sources":["../../src/utils/typeConversions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"typeConversions.d.ts","sourceRoot":"","sources":["../../src/utils/typeConversions.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ exports.damlMonetaryToNativeWithValidation = damlMonetaryToNativeWithValidation;
|
|
|
21
21
|
exports.initialSharesAuthorizedToDaml = initialSharesAuthorizedToDaml;
|
|
22
22
|
exports.addressToDaml = addressToDaml;
|
|
23
23
|
exports.damlAddressToNative = damlAddressToNative;
|
|
24
|
+
exports.parseDamlMap = parseDamlMap;
|
|
24
25
|
exports.ensureArray = ensureArray;
|
|
25
26
|
exports.cleanComments = cleanComments;
|
|
26
27
|
exports.quantityTransferToNative = quantityTransferToNative;
|
|
@@ -278,6 +279,66 @@ function damlAddressToNative(damlAddress) {
|
|
|
278
279
|
...(damlAddress.postal_code && { postal_code: damlAddress.postal_code }),
|
|
279
280
|
};
|
|
280
281
|
}
|
|
282
|
+
// ===== DAML Map Helpers =====
|
|
283
|
+
/**
|
|
284
|
+
* Parse a DAML Map from JSON API response.
|
|
285
|
+
*
|
|
286
|
+
* DAML Maps can be serialized in two formats depending on the JSON API version:
|
|
287
|
+
* - **Array format (JSON API v2)**: `[[key1, value1], [key2, value2], ...]`
|
|
288
|
+
* - **Object format**: `{key1: value1, key2: value2, ...}`
|
|
289
|
+
*
|
|
290
|
+
* This function normalizes both formats to an array of key-value tuples
|
|
291
|
+
* that can be used with `new Map(entries)` or `Object.fromEntries(entries)`.
|
|
292
|
+
*
|
|
293
|
+
* @param data - Raw DAML Map data from JSON API response (may be array or object)
|
|
294
|
+
* @returns Array of [key, value] tuples, or empty array if data is null/undefined
|
|
295
|
+
* @throws OcpParseError if the data format is invalid (non-array, non-object, or malformed entries)
|
|
296
|
+
*
|
|
297
|
+
* @example
|
|
298
|
+
* ```typescript
|
|
299
|
+
* // JSON API v2 format (array of tuples)
|
|
300
|
+
* const arrayData = [['id1', 'contract1'], ['id2', 'contract2']];
|
|
301
|
+
* parseDamlMap(arrayData); // Returns [['id1', 'contract1'], ['id2', 'contract2']]
|
|
302
|
+
*
|
|
303
|
+
* // Object format
|
|
304
|
+
* const objectData = { id1: 'contract1', id2: 'contract2' };
|
|
305
|
+
* parseDamlMap(objectData); // Returns [['id1', 'contract1'], ['id2', 'contract2']]
|
|
306
|
+
*
|
|
307
|
+
* // Converting to Map
|
|
308
|
+
* const entries = parseDamlMap(data);
|
|
309
|
+
* const map = new Map(entries);
|
|
310
|
+
* ```
|
|
311
|
+
*/
|
|
312
|
+
function parseDamlMap(data) {
|
|
313
|
+
if (data == null) {
|
|
314
|
+
return [];
|
|
315
|
+
}
|
|
316
|
+
if (Array.isArray(data)) {
|
|
317
|
+
// JSON API v2 format: [[key, value], [key, value], ...]
|
|
318
|
+
// Validate each entry and throw on malformed data to avoid silent data loss
|
|
319
|
+
return data.map((entry, index) => {
|
|
320
|
+
if (!Array.isArray(entry) || entry.length !== 2) {
|
|
321
|
+
throw new errors_1.OcpParseError(`parseDamlMap: Invalid entry at index ${index} - expected [key, value] tuple`, {
|
|
322
|
+
code: errors_1.OcpErrorCodes.INVALID_FORMAT,
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
const [key, value] = entry;
|
|
326
|
+
if (typeof key !== 'string') {
|
|
327
|
+
throw new errors_1.OcpParseError(`parseDamlMap: Invalid key type at index ${index} - expected string, got ${typeof key}`, {
|
|
328
|
+
code: errors_1.OcpErrorCodes.INVALID_TYPE,
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
return [key, value];
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
if (typeof data === 'object') {
|
|
335
|
+
// Object format: {key: value, ...}
|
|
336
|
+
return Object.entries(data);
|
|
337
|
+
}
|
|
338
|
+
throw new errors_1.OcpParseError(`parseDamlMap: Invalid data format - expected array or object, got ${typeof data}`, {
|
|
339
|
+
code: errors_1.OcpErrorCodes.INVALID_TYPE,
|
|
340
|
+
});
|
|
341
|
+
}
|
|
281
342
|
// ===== Data Cleaning Helpers =====
|
|
282
343
|
/**
|
|
283
344
|
* Ensure a value is an array, normalizing null/undefined to an empty array.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeConversions.js","sourceRoot":"","sources":["../../src/utils/typeConversions.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAcH,oDAMC;AAMD,sCAEC;AAGD,oDAGC;AAGD,wCAEC;AASD,wDAkCC;AAMD,wDAGC;AAMD,wCAEC;AAMD,gCAYC;AAYD,0DAOC;AAID,wCAKC;AAED,oDAKC;AAWD,gFAsCC;AAmBD,sEAUC;AAwCD,sCASC;AAED,kDAWC;AAqBD,kCAKC;AAGD,sCAOC;AAyCD,4DAWC;AAqCD,oEAUC;AAQD,0CAiBC;
|
|
1
|
+
{"version":3,"file":"typeConversions.js","sourceRoot":"","sources":["../../src/utils/typeConversions.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-captable-protocol/canton",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.227",
|
|
4
4
|
"description": "A TypeScript SDK for interacting with the Open CapTable Protocol (OCP) Factory contract on Canton blockchain",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|