@open-captable-protocol/canton 0.2.259 → 0.2.260
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/stockClass/stockClassDataToDaml.d.ts +0 -4
- package/dist/functions/OpenCapTable/stockClass/stockClassDataToDaml.d.ts.map +1 -1
- package/dist/functions/OpenCapTable/stockClass/stockClassDataToDaml.js +67 -28
- package/dist/functions/OpenCapTable/stockClass/stockClassDataToDaml.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,10 +2,6 @@ import type { OcfStockClass } from '../../../types';
|
|
|
2
2
|
/**
|
|
3
3
|
* Convert native OcfStockClass to DAML StockClassOcfData format.
|
|
4
4
|
*
|
|
5
|
-
* Note: Return type is Record<string, unknown> because the conversion_rights
|
|
6
|
-
* structure in the SDK differs from the current DAML schema, which uses nested
|
|
7
|
-
* OcfConversionTrigger objects. This is tracked for future alignment.
|
|
8
|
-
*
|
|
9
5
|
* @param stockClassData - Native stock class data
|
|
10
6
|
* @returns DAML-formatted stock class data
|
|
11
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stockClassDataToDaml.d.ts","sourceRoot":"","sources":["../../../../src/functions/OpenCapTable/stockClass/stockClassDataToDaml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"stockClassDataToDaml.d.ts","sourceRoot":"","sources":["../../../../src/functions/OpenCapTable/stockClass/stockClassDataToDaml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0C,aAAa,EAA6B,MAAM,gBAAgB,CAAC;AAwFvH;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmE3F"}
|
|
@@ -4,18 +4,77 @@ exports.stockClassDataToDaml = stockClassDataToDaml;
|
|
|
4
4
|
const entityValidators_1 = require("../../../utils/entityValidators");
|
|
5
5
|
const enumConversions_1 = require("../../../utils/enumConversions");
|
|
6
6
|
const typeConversions_1 = require("../../../utils/typeConversions");
|
|
7
|
+
function triggerTypeToDamlEnum(t) {
|
|
8
|
+
switch (t) {
|
|
9
|
+
case 'AUTOMATIC_ON_CONDITION':
|
|
10
|
+
return 'OcfTriggerTypeTypeAutomaticOnCondition';
|
|
11
|
+
case 'AUTOMATIC_ON_DATE':
|
|
12
|
+
return 'OcfTriggerTypeTypeAutomaticOnDate';
|
|
13
|
+
case 'ELECTIVE_AT_WILL':
|
|
14
|
+
return 'OcfTriggerTypeTypeElectiveAtWill';
|
|
15
|
+
case 'ELECTIVE_ON_CONDITION':
|
|
16
|
+
return 'OcfTriggerTypeTypeElectiveOnCondition';
|
|
17
|
+
case 'ELECTIVE_ON_DATE':
|
|
18
|
+
return 'OcfTriggerTypeTypeElectiveOnDate';
|
|
19
|
+
default: {
|
|
20
|
+
const _exhaustive = t;
|
|
21
|
+
throw new Error(`Unknown stock class conversion trigger type: ${String(_exhaustive)}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function conversionMechanismToDaml(mechanism) {
|
|
26
|
+
switch (mechanism) {
|
|
27
|
+
case 'RATIO_CONVERSION':
|
|
28
|
+
return 'OcfConversionMechanismRatioConversion';
|
|
29
|
+
case 'PERCENT_CONVERSION':
|
|
30
|
+
return 'OcfConversionMechanismPercentCapitalizationConversion';
|
|
31
|
+
case 'FIXED_AMOUNT_CONVERSION':
|
|
32
|
+
return 'OcfConversionMechanismFixedAmountConversion';
|
|
33
|
+
default: {
|
|
34
|
+
const _exhaustive = mechanism;
|
|
35
|
+
throw new Error(`Unknown stock class conversion mechanism: ${String(_exhaustive)}`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
7
39
|
/**
|
|
8
|
-
*
|
|
40
|
+
* Build an OcfConversionTrigger record for a stock class conversion right.
|
|
9
41
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
42
|
+
* DAML expects conversion_trigger to be a full OcfConversionTrigger record
|
|
43
|
+
* (not a plain string). The trigger's conversion_right field uses the
|
|
44
|
+
* OcfRightConvertible variant to avoid circular nesting with
|
|
45
|
+
* OcfRightStockClass (which itself requires a conversion_trigger).
|
|
46
|
+
*/
|
|
47
|
+
function buildStockClassTrigger(right, stockClassId, index) {
|
|
48
|
+
const triggerType = right.conversion_trigger;
|
|
49
|
+
const typeEnum = triggerTypeToDamlEnum(triggerType);
|
|
50
|
+
return {
|
|
51
|
+
trigger_id: `${stockClassId}-trigger-${index}`,
|
|
52
|
+
type_: typeEnum,
|
|
53
|
+
conversion_right: {
|
|
54
|
+
tag: 'OcfRightConvertible',
|
|
55
|
+
value: {
|
|
56
|
+
type_: right.type,
|
|
57
|
+
conversion_mechanism: {
|
|
58
|
+
tag: 'OcfConvMechCustom',
|
|
59
|
+
value: { custom_conversion_description: 'Stock class conversion' },
|
|
60
|
+
},
|
|
61
|
+
converts_to_future_round: null,
|
|
62
|
+
converts_to_stock_class_id: right.converts_to_stock_class_id,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
nickname: null,
|
|
66
|
+
trigger_condition: null,
|
|
67
|
+
trigger_date: null,
|
|
68
|
+
trigger_description: null,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Convert native OcfStockClass to DAML StockClassOcfData format.
|
|
13
73
|
*
|
|
14
74
|
* @param stockClassData - Native stock class data
|
|
15
75
|
* @returns DAML-formatted stock class data
|
|
16
76
|
*/
|
|
17
77
|
function stockClassDataToDaml(stockClassData) {
|
|
18
|
-
// Validate input data using the entity validator
|
|
19
78
|
(0, entityValidators_1.validateStockClassData)(stockClassData, 'stockClass');
|
|
20
79
|
const d = stockClassData;
|
|
21
80
|
return {
|
|
@@ -30,28 +89,8 @@ function stockClassDataToDaml(stockClassData) {
|
|
|
30
89
|
stockholder_approval_date: d.stockholder_approval_date ? (0, typeConversions_1.dateStringToDAMLTime)(d.stockholder_approval_date) : null,
|
|
31
90
|
par_value: d.par_value ? (0, typeConversions_1.monetaryToDaml)(d.par_value) : null,
|
|
32
91
|
price_per_share: d.price_per_share ? (0, typeConversions_1.monetaryToDaml)(d.price_per_share) : null,
|
|
33
|
-
conversion_rights: (d.conversion_rights ?? []).map((right) => {
|
|
34
|
-
const mechanism = right.conversion_mechanism
|
|
35
|
-
? 'OcfConversionMechanismRatioConversion'
|
|
36
|
-
: right.conversion_mechanism === 'PERCENT_CONVERSION'
|
|
37
|
-
? 'OcfConversionMechanismPercentCapitalizationConversion'
|
|
38
|
-
: 'OcfConversionMechanismFixedAmountConversion';
|
|
39
|
-
const trigger = (() => {
|
|
40
|
-
switch (right.conversion_trigger) {
|
|
41
|
-
case 'AUTOMATIC_ON_CONDITION':
|
|
42
|
-
return 'OcfTriggerTypeAutomaticOnCondition';
|
|
43
|
-
case 'AUTOMATIC_ON_DATE':
|
|
44
|
-
return 'OcfTriggerTypeAutomaticOnDate';
|
|
45
|
-
case 'ELECTIVE_AT_WILL':
|
|
46
|
-
return 'OcfTriggerTypeElectiveAtWill';
|
|
47
|
-
case 'ELECTIVE_ON_CONDITION':
|
|
48
|
-
return 'OcfTriggerTypeElectiveOnCondition';
|
|
49
|
-
case 'ELECTIVE_ON_DATE':
|
|
50
|
-
return 'OcfTriggerTypeElectiveAtWill';
|
|
51
|
-
default:
|
|
52
|
-
return 'OcfTriggerTypeAutomaticOnCondition';
|
|
53
|
-
}
|
|
54
|
-
})();
|
|
92
|
+
conversion_rights: (d.conversion_rights ?? []).map((right, index) => {
|
|
93
|
+
const mechanism = conversionMechanismToDaml(right.conversion_mechanism);
|
|
55
94
|
let ratio = null;
|
|
56
95
|
if (right.ratio_numerator !== undefined && right.ratio_denominator !== undefined) {
|
|
57
96
|
ratio = {
|
|
@@ -62,7 +101,7 @@ function stockClassDataToDaml(stockClassData) {
|
|
|
62
101
|
return {
|
|
63
102
|
type_: right.type,
|
|
64
103
|
conversion_mechanism: mechanism,
|
|
65
|
-
conversion_trigger:
|
|
104
|
+
conversion_trigger: buildStockClassTrigger(right, d.id, index),
|
|
66
105
|
converts_to_stock_class_id: right.converts_to_stock_class_id,
|
|
67
106
|
ratio: ratio ? { tag: 'Some', value: ratio } : null,
|
|
68
107
|
percent_of_capitalization: right.percent_of_capitalization !== undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stockClassDataToDaml.js","sourceRoot":"","sources":["../../../../src/functions/OpenCapTable/stockClass/stockClassDataToDaml.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"stockClassDataToDaml.js","sourceRoot":"","sources":["../../../../src/functions/OpenCapTable/stockClass/stockClassDataToDaml.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.260",
|
|
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",
|