@open-captable-protocol/canton 0.2.4 → 0.2.5
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/convertible/acceptConvertible.d.ts +18 -0
- package/dist/functions/convertible/acceptConvertible.d.ts.map +1 -0
- package/dist/functions/convertible/acceptConvertible.js +31 -0
- package/dist/functions/convertible/acceptConvertible.js.map +1 -0
- package/dist/functions/convertible/cancelConvertible.d.ts +23 -0
- package/dist/functions/convertible/cancelConvertible.d.ts.map +1 -0
- package/dist/functions/convertible/cancelConvertible.js +37 -0
- package/dist/functions/convertible/cancelConvertible.js.map +1 -0
- package/dist/functions/convertible/convertConvertible.d.ts +18 -0
- package/dist/functions/convertible/convertConvertible.d.ts.map +1 -0
- package/dist/functions/convertible/convertConvertible.js +33 -0
- package/dist/functions/convertible/convertConvertible.js.map +1 -0
- package/dist/functions/convertible/getConvertibleAsOcf.d.ts +21 -0
- package/dist/functions/convertible/getConvertibleAsOcf.d.ts.map +1 -0
- package/dist/functions/convertible/getConvertibleAsOcf.js +24 -0
- package/dist/functions/convertible/getConvertibleAsOcf.js.map +1 -0
- package/dist/functions/convertible/getConvertibleConversionEventAsOcf.d.ts +19 -0
- package/dist/functions/convertible/getConvertibleConversionEventAsOcf.d.ts.map +1 -0
- package/dist/functions/convertible/getConvertibleConversionEventAsOcf.js +21 -0
- package/dist/functions/convertible/getConvertibleConversionEventAsOcf.js.map +1 -0
- package/dist/functions/convertible/index.d.ts +9 -0
- package/dist/functions/convertible/index.d.ts.map +1 -0
- package/dist/functions/convertible/index.js +25 -0
- package/dist/functions/convertible/index.js.map +1 -0
- package/dist/functions/convertible/issueConvertible.d.ts +20 -0
- package/dist/functions/convertible/issueConvertible.d.ts.map +1 -0
- package/dist/functions/convertible/issueConvertible.js +46 -0
- package/dist/functions/convertible/issueConvertible.js.map +1 -0
- package/dist/functions/convertible/retractConvertible.d.ts +19 -0
- package/dist/functions/convertible/retractConvertible.d.ts.map +1 -0
- package/dist/functions/convertible/retractConvertible.js +32 -0
- package/dist/functions/convertible/retractConvertible.js.map +1 -0
- package/dist/functions/convertible/transferConvertible.d.ts +25 -0
- package/dist/functions/convertible/transferConvertible.d.ts.map +1 -0
- package/dist/functions/convertible/transferConvertible.js +45 -0
- package/dist/functions/convertible/transferConvertible.js.map +1 -0
- package/dist/functions/issuer/adjustAuthorizedShares.d.ts +20 -0
- package/dist/functions/issuer/adjustAuthorizedShares.d.ts.map +1 -0
- package/dist/functions/issuer/adjustAuthorizedShares.js +33 -0
- package/dist/functions/issuer/adjustAuthorizedShares.js.map +1 -0
- package/dist/functions/issuer/updateIssuerData.d.ts +50 -0
- package/dist/functions/issuer/updateIssuerData.d.ts.map +1 -0
- package/dist/functions/issuer/updateIssuerData.js +89 -0
- package/dist/functions/issuer/updateIssuerData.js.map +1 -0
- package/dist/functions/stakeholder/recordRelationshipChange.d.ts +20 -0
- package/dist/functions/stakeholder/recordRelationshipChange.d.ts.map +1 -0
- package/dist/functions/stakeholder/recordRelationshipChange.js +33 -0
- package/dist/functions/stakeholder/recordRelationshipChange.js.map +1 -0
- package/dist/functions/stakeholder/recordStatusChange.d.ts +19 -0
- package/dist/functions/stakeholder/recordStatusChange.d.ts.map +1 -0
- package/dist/functions/stakeholder/recordStatusChange.js +32 -0
- package/dist/functions/stakeholder/recordStatusChange.js.map +1 -0
- package/dist/functions/stakeholder/updateStakeholderData.d.ts +17 -0
- package/dist/functions/stakeholder/updateStakeholderData.d.ts.map +1 -0
- package/dist/functions/stakeholder/updateStakeholderData.js +59 -0
- package/dist/functions/stakeholder/updateStakeholderData.js.map +1 -0
- package/dist/functions/stockClass/adjustAuthorizedShares.d.ts +20 -0
- package/dist/functions/stockClass/adjustAuthorizedShares.d.ts.map +1 -0
- package/dist/functions/stockClass/adjustAuthorizedShares.js +28 -0
- package/dist/functions/stockClass/adjustAuthorizedShares.js.map +1 -0
- package/dist/functions/stockClass/adjustConversionRatio.d.ts +23 -0
- package/dist/functions/stockClass/adjustConversionRatio.d.ts.map +1 -0
- package/dist/functions/stockClass/adjustConversionRatio.js +39 -0
- package/dist/functions/stockClass/adjustConversionRatio.js.map +1 -0
- package/dist/functions/stockClass/consolidatePositions.d.ts +21 -0
- package/dist/functions/stockClass/consolidatePositions.d.ts.map +1 -0
- package/dist/functions/stockClass/consolidatePositions.js +34 -0
- package/dist/functions/stockClass/consolidatePositions.js.map +1 -0
- package/dist/functions/stockClass/issueStock.d.ts +19 -0
- package/dist/functions/stockClass/issueStock.d.ts.map +1 -0
- package/dist/functions/stockClass/issueStock.js +34 -0
- package/dist/functions/stockClass/issueStock.js.map +1 -0
- package/dist/functions/stockClass/reissueStock.d.ts +18 -0
- package/dist/functions/stockClass/reissueStock.d.ts.map +1 -0
- package/dist/functions/stockClass/reissueStock.js +35 -0
- package/dist/functions/stockClass/reissueStock.js.map +1 -0
- package/dist/functions/stockClass/repurchaseStock.d.ts +20 -0
- package/dist/functions/stockClass/repurchaseStock.d.ts.map +1 -0
- package/dist/functions/stockClass/repurchaseStock.js +33 -0
- package/dist/functions/stockClass/repurchaseStock.js.map +1 -0
- package/dist/functions/stockClass/splitStockClass.d.ts +18 -0
- package/dist/functions/stockClass/splitStockClass.d.ts.map +1 -0
- package/dist/functions/stockClass/splitStockClass.js +33 -0
- package/dist/functions/stockClass/splitStockClass.js.map +1 -0
- package/dist/functions/stockClass/updateStockClass.d.ts +51 -0
- package/dist/functions/stockClass/updateStockClass.d.ts.map +1 -0
- package/dist/functions/stockClass/updateStockClass.js +95 -0
- package/dist/functions/stockClass/updateStockClass.js.map +1 -0
- package/dist/functions/stockLegendTemplate/updateStockLegendTemplate.d.ts +14 -0
- package/dist/functions/stockLegendTemplate/updateStockLegendTemplate.d.ts.map +1 -0
- package/dist/functions/stockLegendTemplate/updateStockLegendTemplate.js +56 -0
- package/dist/functions/stockLegendTemplate/updateStockLegendTemplate.js.map +1 -0
- package/dist/functions/stockPlan/acceptGrant.d.ts +16 -0
- package/dist/functions/stockPlan/acceptGrant.d.ts.map +1 -0
- package/dist/functions/stockPlan/acceptGrant.js +31 -0
- package/dist/functions/stockPlan/acceptGrant.js.map +1 -0
- package/dist/functions/stockPlan/adjustPool.d.ts +20 -0
- package/dist/functions/stockPlan/adjustPool.d.ts.map +1 -0
- package/dist/functions/stockPlan/adjustPool.js +33 -0
- package/dist/functions/stockPlan/adjustPool.js.map +1 -0
- package/dist/functions/stockPlan/cancelGrant.d.ts +16 -0
- package/dist/functions/stockPlan/cancelGrant.d.ts.map +1 -0
- package/dist/functions/stockPlan/cancelGrant.js +31 -0
- package/dist/functions/stockPlan/cancelGrant.js.map +1 -0
- package/dist/functions/stockPlan/exerciseGrant.d.ts +20 -0
- package/dist/functions/stockPlan/exerciseGrant.d.ts.map +1 -0
- package/dist/functions/stockPlan/exerciseGrant.js +33 -0
- package/dist/functions/stockPlan/exerciseGrant.js.map +1 -0
- package/dist/functions/stockPlan/issuePlanSecurity.d.ts +27 -0
- package/dist/functions/stockPlan/issuePlanSecurity.d.ts.map +1 -0
- package/dist/functions/stockPlan/issuePlanSecurity.js +53 -0
- package/dist/functions/stockPlan/issuePlanSecurity.js.map +1 -0
- package/dist/functions/stockPlan/releaseGrant.d.ts +16 -0
- package/dist/functions/stockPlan/releaseGrant.d.ts.map +1 -0
- package/dist/functions/stockPlan/releaseGrant.js +31 -0
- package/dist/functions/stockPlan/releaseGrant.js.map +1 -0
- package/dist/functions/stockPlan/repriceGrant.d.ts +22 -0
- package/dist/functions/stockPlan/repriceGrant.d.ts.map +1 -0
- package/dist/functions/stockPlan/repriceGrant.js +38 -0
- package/dist/functions/stockPlan/repriceGrant.js.map +1 -0
- package/dist/functions/stockPlan/retractGrant.d.ts +16 -0
- package/dist/functions/stockPlan/retractGrant.d.ts.map +1 -0
- package/dist/functions/stockPlan/retractGrant.js +31 -0
- package/dist/functions/stockPlan/retractGrant.js.map +1 -0
- package/dist/functions/stockPlan/startVesting.d.ts +13 -0
- package/dist/functions/stockPlan/startVesting.d.ts.map +1 -0
- package/dist/functions/stockPlan/startVesting.js +28 -0
- package/dist/functions/stockPlan/startVesting.js.map +1 -0
- package/dist/functions/stockPlan/transferGrant.d.ts +21 -0
- package/dist/functions/stockPlan/transferGrant.d.ts.map +1 -0
- package/dist/functions/stockPlan/transferGrant.js +34 -0
- package/dist/functions/stockPlan/transferGrant.js.map +1 -0
- package/dist/functions/stockPlan/updateStockPlan.d.ts +24 -0
- package/dist/functions/stockPlan/updateStockPlan.d.ts.map +1 -0
- package/dist/functions/stockPlan/updateStockPlan.js +62 -0
- package/dist/functions/stockPlan/updateStockPlan.js.map +1 -0
- package/dist/functions/stockPosition/acceptTransfer.d.ts +16 -0
- package/dist/functions/stockPosition/acceptTransfer.d.ts.map +1 -0
- package/dist/functions/stockPosition/acceptTransfer.js +31 -0
- package/dist/functions/stockPosition/acceptTransfer.js.map +1 -0
- package/dist/functions/stockPosition/index.d.ts +5 -0
- package/dist/functions/stockPosition/index.d.ts.map +1 -0
- package/dist/functions/stockPosition/index.js +21 -0
- package/dist/functions/stockPosition/index.js.map +1 -0
- package/dist/functions/stockPosition/proposeTransfer.d.ts +17 -0
- package/dist/functions/stockPosition/proposeTransfer.d.ts.map +1 -0
- package/dist/functions/stockPosition/proposeTransfer.js +34 -0
- package/dist/functions/stockPosition/proposeTransfer.js.map +1 -0
- package/dist/functions/stockPosition/reduceQuantity.d.ts +12 -0
- package/dist/functions/stockPosition/reduceQuantity.d.ts.map +1 -0
- package/dist/functions/stockPosition/reduceQuantity.js +27 -0
- package/dist/functions/stockPosition/reduceQuantity.js.map +1 -0
- package/dist/functions/stockPosition/retractTransfer.d.ts +15 -0
- package/dist/functions/stockPosition/retractTransfer.d.ts.map +1 -0
- package/dist/functions/stockPosition/retractTransfer.js +28 -0
- package/dist/functions/stockPosition/retractTransfer.js.map +1 -0
- package/dist/functions/valuation/updateValuationData.d.ts +18 -0
- package/dist/functions/valuation/updateValuationData.d.ts.map +1 -0
- package/dist/functions/valuation/updateValuationData.js +58 -0
- package/dist/functions/valuation/updateValuationData.js.map +1 -0
- package/dist/functions/vestingTerms/updateVestingTerms.d.ts +18 -0
- package/dist/functions/vestingTerms/updateVestingTerms.d.ts.map +1 -0
- package/dist/functions/vestingTerms/updateVestingTerms.js +58 -0
- package/dist/functions/vestingTerms/updateVestingTerms.js.map +1 -0
- package/dist/functions/warrant/exerciseWarrant.d.ts +17 -0
- package/dist/functions/warrant/exerciseWarrant.d.ts.map +1 -0
- package/dist/functions/warrant/exerciseWarrant.js +32 -0
- package/dist/functions/warrant/exerciseWarrant.js.map +1 -0
- package/dist/functions/warrant/getWarrantAsOcf.d.ts +18 -0
- package/dist/functions/warrant/getWarrantAsOcf.d.ts.map +1 -0
- package/dist/functions/warrant/getWarrantAsOcf.js +21 -0
- package/dist/functions/warrant/getWarrantAsOcf.js.map +1 -0
- package/dist/functions/warrant/getWarrantExerciseEventAsOcf.d.ts +19 -0
- package/dist/functions/warrant/getWarrantExerciseEventAsOcf.d.ts.map +1 -0
- package/dist/functions/warrant/getWarrantExerciseEventAsOcf.js +21 -0
- package/dist/functions/warrant/getWarrantExerciseEventAsOcf.js.map +1 -0
- package/dist/functions/warrant/index.d.ts +8 -0
- package/dist/functions/warrant/index.d.ts.map +1 -0
- package/dist/functions/warrant/index.js +24 -0
- package/dist/functions/warrant/index.js.map +1 -0
- package/dist/functions/warrant/issueWarrant.d.ts +25 -0
- package/dist/functions/warrant/issueWarrant.d.ts.map +1 -0
- package/dist/functions/warrant/issueWarrant.js +49 -0
- package/dist/functions/warrant/issueWarrant.js.map +1 -0
- package/dist/functions/warrant/transferWarrant.d.ts +17 -0
- package/dist/functions/warrant/transferWarrant.d.ts.map +1 -0
- package/dist/functions/warrant/transferWarrant.js +30 -0
- package/dist/functions/warrant/transferWarrant.js.map +1 -0
- package/dist/utils/typeConversions.d.ts.map +1 -1
- package/dist/utils/typeConversions.js +0 -2
- package/dist/utils/typeConversions.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Fairmint } from '@fairmint/open-captable-protocol-daml-js';
|
|
2
|
+
import type { ContractId } from '@daml/types';
|
|
3
|
+
import { LedgerJsonApiClient } from '@fairmint/canton-node-sdk';
|
|
4
|
+
export interface AcceptConvertibleParams {
|
|
5
|
+
convertibleContractId: ContractId<Fairmint.OpenCapTable.Issuer.Convertible>;
|
|
6
|
+
stakeholderParty: string;
|
|
7
|
+
date: string;
|
|
8
|
+
}
|
|
9
|
+
export interface AcceptConvertibleResult {
|
|
10
|
+
updateId: string;
|
|
11
|
+
acceptanceEventContractId: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Record acceptance of a convertible security.
|
|
15
|
+
* Schema: https://schema.opencaptablecoalition.com/v/1.2.0/objects/transactions/acceptance/ConvertibleAcceptance.schema.json
|
|
16
|
+
*/
|
|
17
|
+
export declare function acceptConvertible(client: LedgerJsonApiClient, params: AcceptConvertibleParams): Promise<AcceptConvertibleResult>;
|
|
18
|
+
//# sourceMappingURL=acceptConvertible.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acceptConvertible.d.ts","sourceRoot":"","sources":["../../../src/functions/convertible/acceptConvertible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,MAAM,WAAW,uBAAuB;IACtC,qBAAqB,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5E,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,uBAAuB,CAAC,CA0BlC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.acceptConvertible = acceptConvertible;
|
|
4
|
+
const open_captable_protocol_daml_js_1 = require("@fairmint/open-captable-protocol-daml-js");
|
|
5
|
+
/**
|
|
6
|
+
* Record acceptance of a convertible security.
|
|
7
|
+
* Schema: https://schema.opencaptablecoalition.com/v/1.2.0/objects/transactions/acceptance/ConvertibleAcceptance.schema.json
|
|
8
|
+
*/
|
|
9
|
+
async function acceptConvertible(client, params) {
|
|
10
|
+
const choiceArgs = {
|
|
11
|
+
date: `${params.date}T00:00:00.000Z`,
|
|
12
|
+
};
|
|
13
|
+
const response = (await client.submitAndWaitForTransactionTree({
|
|
14
|
+
actAs: [params.stakeholderParty],
|
|
15
|
+
commands: [
|
|
16
|
+
{
|
|
17
|
+
ExerciseCommand: {
|
|
18
|
+
templateId: open_captable_protocol_daml_js_1.Fairmint.OpenCapTable.Issuer.Convertible.templateId,
|
|
19
|
+
contractId: params.convertibleContractId,
|
|
20
|
+
choice: 'Accept',
|
|
21
|
+
choiceArgument: choiceArgs,
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
}));
|
|
26
|
+
const created = Object.values(response.transactionTree.eventsById).find((e) => 'CreatedTreeEvent' in e && e.CreatedTreeEvent.value.templateId === open_captable_protocol_daml_js_1.Fairmint.OpenCapTable.Issuer.ConvertibleAcceptance.templateId);
|
|
27
|
+
if (!created)
|
|
28
|
+
throw new Error('ConvertibleAcceptance not found');
|
|
29
|
+
return { updateId: response.transactionTree.updateId, acceptanceEventContractId: created.CreatedTreeEvent.value.contractId };
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=acceptConvertible.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acceptConvertible.js","sourceRoot":"","sources":["../../../src/functions/convertible/acceptConvertible.ts"],"names":[],"mappings":";;AAoBA,8CA6BC;AAjDD,6FAAoE;AAgBpE;;;GAGG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAA2B,EAC3B,MAA+B;IAE/B,MAAM,UAAU,GAAwC;QACtD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,gBAAgB;KAC9B,CAAC;IAET,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,+BAA+B,CAAC;QAC7D,KAAK,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAChC,QAAQ,EAAE;YACR;gBACE,eAAe,EAAE;oBACf,UAAU,EAAE,yCAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU;oBAC/D,UAAU,EAAE,MAAM,CAAC,qBAAqB;oBACxC,MAAM,EAAE,QAAQ;oBAChB,cAAc,EAAE,UAAU;iBAC3B;aACF;SACF;KACF,CAAC,CAA4C,CAAC;IAE/C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,CACrE,CAAC,CAAM,EAAE,EAAE,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,KAAK,yCAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,qBAAqB,CAAC,UAAU,CACtI,CAAC;IAET,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAEjE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,yBAAyB,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;AAC/H,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Fairmint } from '@fairmint/open-captable-protocol-daml-js';
|
|
2
|
+
import type { ContractId } from '@daml/types';
|
|
3
|
+
import { LedgerJsonApiClient } from '@fairmint/canton-node-sdk';
|
|
4
|
+
export interface CancelConvertibleParams {
|
|
5
|
+
convertibleContractId: ContractId<Fairmint.OpenCapTable.Issuer.Convertible>;
|
|
6
|
+
issuerParty: string;
|
|
7
|
+
amount: {
|
|
8
|
+
amount: string | number;
|
|
9
|
+
currency: string;
|
|
10
|
+
};
|
|
11
|
+
date: string;
|
|
12
|
+
reasonText?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface CancelConvertibleResult {
|
|
15
|
+
updateId: string;
|
|
16
|
+
cancellationEventContractId: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Cancel part or all of a convertible's monetary amount.
|
|
20
|
+
* Schema: https://schema.opencaptablecoalition.com/v/1.2.0/objects/transactions/cancellation/ConvertibleCancellation.schema.json
|
|
21
|
+
*/
|
|
22
|
+
export declare function cancelConvertible(client: LedgerJsonApiClient, params: CancelConvertibleParams): Promise<CancelConvertibleResult>;
|
|
23
|
+
//# sourceMappingURL=cancelConvertible.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancelConvertible.d.ts","sourceRoot":"","sources":["../../../src/functions/convertible/cancelConvertible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,MAAM,WAAW,uBAAuB;IACtC,qBAAqB,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B,EAAE,MAAM,CAAC;CACrC;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,uBAAuB,CAAC,CAiClC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cancelConvertible = cancelConvertible;
|
|
4
|
+
const open_captable_protocol_daml_js_1 = require("@fairmint/open-captable-protocol-daml-js");
|
|
5
|
+
/**
|
|
6
|
+
* Cancel part or all of a convertible's monetary amount.
|
|
7
|
+
* Schema: https://schema.opencaptablecoalition.com/v/1.2.0/objects/transactions/cancellation/ConvertibleCancellation.schema.json
|
|
8
|
+
*/
|
|
9
|
+
async function cancelConvertible(client, params) {
|
|
10
|
+
const monetary = {
|
|
11
|
+
amount: typeof params.amount.amount === 'number' ? params.amount.amount.toString() : params.amount.amount,
|
|
12
|
+
currency: params.amount.currency,
|
|
13
|
+
};
|
|
14
|
+
const choiceArgs = {
|
|
15
|
+
amount: monetary,
|
|
16
|
+
date: `${params.date}T00:00:00.000Z`,
|
|
17
|
+
reason_text: params.reasonText ? { tag: 'Some', value: params.reasonText } : null,
|
|
18
|
+
};
|
|
19
|
+
const response = (await client.submitAndWaitForTransactionTree({
|
|
20
|
+
actAs: [params.issuerParty],
|
|
21
|
+
commands: [
|
|
22
|
+
{
|
|
23
|
+
ExerciseCommand: {
|
|
24
|
+
templateId: open_captable_protocol_daml_js_1.Fairmint.OpenCapTable.Issuer.Convertible.templateId,
|
|
25
|
+
contractId: params.convertibleContractId,
|
|
26
|
+
choice: 'Cancel',
|
|
27
|
+
choiceArgument: choiceArgs,
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
}));
|
|
32
|
+
const created = Object.values(response.transactionTree.eventsById).find((e) => 'CreatedTreeEvent' in e && e.CreatedTreeEvent.value.templateId === open_captable_protocol_daml_js_1.Fairmint.OpenCapTable.Issuer.ConvertibleCancellation.templateId);
|
|
33
|
+
if (!created)
|
|
34
|
+
throw new Error('ConvertibleCancellation not found');
|
|
35
|
+
return { updateId: response.transactionTree.updateId, cancellationEventContractId: created.CreatedTreeEvent.value.contractId };
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=cancelConvertible.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancelConvertible.js","sourceRoot":"","sources":["../../../src/functions/convertible/cancelConvertible.ts"],"names":[],"mappings":";;AAsBA,8CAoCC;AA1DD,6FAAoE;AAkBpE;;;GAGG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAA2B,EAC3B,MAA+B;IAE/B,MAAM,QAAQ,GAA4C;QACxD,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM;QACzG,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ;KAC1B,CAAC;IAET,MAAM,UAAU,GAAwC;QACtD,MAAM,EAAE,QAAe;QACvB,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,gBAAgB;QACpC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI;KAC3E,CAAC;IAET,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,+BAA+B,CAAC;QAC7D,KAAK,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3B,QAAQ,EAAE;YACR;gBACE,eAAe,EAAE;oBACf,UAAU,EAAE,yCAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU;oBAC/D,UAAU,EAAE,MAAM,CAAC,qBAAqB;oBACxC,MAAM,EAAE,QAAQ;oBAChB,cAAc,EAAE,UAAU;iBAC3B;aACF;SACF;KACF,CAAC,CAA4C,CAAC;IAE/C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,CACrE,CAAC,CAAM,EAAE,EAAE,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,KAAK,yCAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,uBAAuB,CAAC,UAAU,CACxI,CAAC;IAET,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAEnE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,2BAA2B,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;AACjI,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { LedgerJsonApiClient } from '@fairmint/canton-node-sdk';
|
|
2
|
+
export interface ConvertConvertibleParams {
|
|
3
|
+
convertibleContractId: string;
|
|
4
|
+
issuerParty: string;
|
|
5
|
+
stockClassContractId: string;
|
|
6
|
+
quantity: string | number;
|
|
7
|
+
date: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ConvertConvertibleResult {
|
|
10
|
+
updateId: string;
|
|
11
|
+
stockPositionContractId: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Convert a convertible into stock by exercising the Convert choice on a Convertible
|
|
15
|
+
* @see https://schema.opencaptablecoalition.com/v/1.2.0/objects/transactions/conversion/ConvertibleConversion.schema.json
|
|
16
|
+
*/
|
|
17
|
+
export declare function convertConvertible(client: LedgerJsonApiClient, params: ConvertConvertibleParams): Promise<ConvertConvertibleResult>;
|
|
18
|
+
//# sourceMappingURL=convertConvertible.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convertConvertible.d.ts","sourceRoot":"","sources":["../../../src/functions/convertible/convertConvertible.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,MAAM,WAAW,wBAAwB;IACvC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,wBAAwB,CAAC,CA4BnC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertConvertible = convertConvertible;
|
|
4
|
+
const open_captable_protocol_daml_js_1 = require("@fairmint/open-captable-protocol-daml-js");
|
|
5
|
+
/**
|
|
6
|
+
* Convert a convertible into stock by exercising the Convert choice on a Convertible
|
|
7
|
+
* @see https://schema.opencaptablecoalition.com/v/1.2.0/objects/transactions/conversion/ConvertibleConversion.schema.json
|
|
8
|
+
*/
|
|
9
|
+
async function convertConvertible(client, params) {
|
|
10
|
+
const choiceArguments = {
|
|
11
|
+
stock_class: params.stockClassContractId,
|
|
12
|
+
quantity: typeof params.quantity === 'number' ? params.quantity.toString() : params.quantity,
|
|
13
|
+
date: `${params.date}T00:00:00.000Z`
|
|
14
|
+
};
|
|
15
|
+
const response = await client.submitAndWaitForTransactionTree({
|
|
16
|
+
actAs: [params.issuerParty],
|
|
17
|
+
commands: [
|
|
18
|
+
{
|
|
19
|
+
ExerciseCommand: {
|
|
20
|
+
templateId: open_captable_protocol_daml_js_1.Fairmint.OpenCapTable.Issuer.Convertible.templateId,
|
|
21
|
+
contractId: params.convertibleContractId,
|
|
22
|
+
choice: 'Convert',
|
|
23
|
+
choiceArgument: choiceArguments
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
});
|
|
28
|
+
const created = Object.values(response.transactionTree.eventsById).find((e) => 'CreatedTreeEvent' in e && e.CreatedTreeEvent.value.templateId === open_captable_protocol_daml_js_1.Fairmint.OpenCapTable.StockClass.StockPosition.templateId);
|
|
29
|
+
if (!created)
|
|
30
|
+
throw new Error('StockPosition not found');
|
|
31
|
+
return { updateId: response.transactionTree.updateId, stockPositionContractId: created.CreatedTreeEvent.value.contractId };
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=convertConvertible.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convertConvertible.js","sourceRoot":"","sources":["../../../src/functions/convertible/convertConvertible.ts"],"names":[],"mappings":";;AAqBA,gDA+BC;AApDD,6FAAoE;AAiBpE;;;GAGG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAA2B,EAC3B,MAAgC;IAEhC,MAAM,eAAe,GAAyC;QAC5D,WAAW,EAAE,MAAM,CAAC,oBAAoB;QACxC,QAAQ,EAAE,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ;QAC5F,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,gBAAgB;KAC9B,CAAC;IAET,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC;QAC5D,KAAK,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3B,QAAQ,EAAE;YACR;gBACE,eAAe,EAAE;oBACf,UAAU,EAAE,yCAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU;oBAC/D,UAAU,EAAE,MAAM,CAAC,qBAAqB;oBACxC,MAAM,EAAE,SAAS;oBACjB,cAAc,EAAE,eAAe;iBAChC;aACF;SACF;KACF,CAA4C,CAAC;IAE9C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,CACrE,CAAC,CAAM,EAAE,EAAE,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,KAAK,yCAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAClI,CAAC;IAET,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEzD,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,uBAAuB,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;AAC7H,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { LedgerJsonApiClient } from '@fairmint/canton-node-sdk';
|
|
2
|
+
import { damlConvertibleIssuanceToNative } from '../../utils/typeConversions';
|
|
3
|
+
export interface OcfConvertibleIssuance {
|
|
4
|
+
object_type: 'CONVERTIBLE_ISSUANCE';
|
|
5
|
+
id?: string;
|
|
6
|
+
stakeholder: string;
|
|
7
|
+
issuance_data: ReturnType<typeof damlConvertibleIssuanceToNative>;
|
|
8
|
+
}
|
|
9
|
+
export interface GetConvertibleAsOcfParams {
|
|
10
|
+
contractId: string;
|
|
11
|
+
}
|
|
12
|
+
export interface GetConvertibleAsOcfResult {
|
|
13
|
+
convertible: OcfConvertibleIssuance;
|
|
14
|
+
contractId: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Retrieve a Convertible and return it as an OCF JSON object
|
|
18
|
+
* @see https://schema.opencaptablecoalition.com/v/1.2.0/objects/transactions/issuance/ConvertibleIssuance.schema.json
|
|
19
|
+
*/
|
|
20
|
+
export declare function getConvertibleAsOcf(client: LedgerJsonApiClient, params: GetConvertibleAsOcfParams): Promise<GetConvertibleAsOcfResult>;
|
|
21
|
+
//# sourceMappingURL=getConvertibleAsOcf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getConvertibleAsOcf.d.ts","sourceRoot":"","sources":["../../../src/functions/convertible/getConvertibleAsOcf.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,sBAAsB,CAAC;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,UAAU,CAAC,OAAO,+BAA+B,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,sBAAsB,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,yBAAyB,CAAC,CAiBpC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getConvertibleAsOcf = getConvertibleAsOcf;
|
|
4
|
+
const typeConversions_1 = require("../../utils/typeConversions");
|
|
5
|
+
/**
|
|
6
|
+
* Retrieve a Convertible and return it as an OCF JSON object
|
|
7
|
+
* @see https://schema.opencaptablecoalition.com/v/1.2.0/objects/transactions/issuance/ConvertibleIssuance.schema.json
|
|
8
|
+
*/
|
|
9
|
+
async function getConvertibleAsOcf(client, params) {
|
|
10
|
+
const eventsResponse = await client.getEventsByContractId({ contractId: params.contractId });
|
|
11
|
+
if (!eventsResponse.created?.createdEvent?.createArgument) {
|
|
12
|
+
throw new Error('Invalid contract events response: missing created event or create argument');
|
|
13
|
+
}
|
|
14
|
+
const createArgument = eventsResponse.created.createdEvent.createArgument;
|
|
15
|
+
const issuance = (0, typeConversions_1.damlConvertibleIssuanceToNative)(createArgument.issuance_data);
|
|
16
|
+
const ocf = {
|
|
17
|
+
object_type: 'CONVERTIBLE_ISSUANCE',
|
|
18
|
+
id: params.contractId,
|
|
19
|
+
stakeholder: createArgument.stakeholder,
|
|
20
|
+
issuance_data: issuance
|
|
21
|
+
};
|
|
22
|
+
return { convertible: ocf, contractId: params.contractId };
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=getConvertibleAsOcf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getConvertibleAsOcf.js","sourceRoot":"","sources":["../../../src/functions/convertible/getConvertibleAsOcf.ts"],"names":[],"mappings":";;AAwBA,kDAoBC;AA1CD,iEAA8E;AAkB9E;;;GAGG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAA2B,EAC3B,MAAiC;IAEjC,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7F,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,cAAqB,CAAC;IAEjF,MAAM,QAAQ,GAAG,IAAA,iDAA+B,EAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAE/E,MAAM,GAAG,GAA2B;QAClC,WAAW,EAAE,sBAAsB;QACnC,EAAE,EAAE,MAAM,CAAC,UAAU;QACrB,WAAW,EAAE,cAAc,CAAC,WAAW;QACvC,aAAa,EAAE,QAAQ;KACxB,CAAC;IAEF,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { LedgerJsonApiClient } from '@fairmint/canton-node-sdk';
|
|
2
|
+
export interface OcfConvertibleConversionEvent {
|
|
3
|
+
object_type: 'CONVERTIBLE_CONVERSION';
|
|
4
|
+
id?: string;
|
|
5
|
+
convertible: string;
|
|
6
|
+
stakeholder: string;
|
|
7
|
+
stock_class: string;
|
|
8
|
+
quantity: string;
|
|
9
|
+
date: string;
|
|
10
|
+
}
|
|
11
|
+
export interface GetConvertibleConversionEventAsOcfParams {
|
|
12
|
+
contractId: string;
|
|
13
|
+
}
|
|
14
|
+
export interface GetConvertibleConversionEventAsOcfResult {
|
|
15
|
+
event: OcfConvertibleConversionEvent;
|
|
16
|
+
contractId: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function getConvertibleConversionEventAsOcf(client: LedgerJsonApiClient, params: GetConvertibleConversionEventAsOcfParams): Promise<GetConvertibleConversionEventAsOcfResult>;
|
|
19
|
+
//# sourceMappingURL=getConvertibleConversionEventAsOcf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getConvertibleConversionEventAsOcf.d.ts","sourceRoot":"","sources":["../../../src/functions/convertible/getConvertibleConversionEventAsOcf.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,wBAAwB,CAAC;IACtC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wCAAwC;IACvD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wCAAwC;IACvD,KAAK,EAAE,6BAA6B,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,kCAAkC,CACtD,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,wCAAwC,GAC/C,OAAO,CAAC,wCAAwC,CAAC,CAkBnD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getConvertibleConversionEventAsOcf = getConvertibleConversionEventAsOcf;
|
|
4
|
+
async function getConvertibleConversionEventAsOcf(client, params) {
|
|
5
|
+
const eventsResponse = await client.getEventsByContractId({ contractId: params.contractId });
|
|
6
|
+
if (!eventsResponse.created?.createdEvent?.createArgument) {
|
|
7
|
+
throw new Error('Invalid contract events response: missing created event or create argument');
|
|
8
|
+
}
|
|
9
|
+
const createArgument = eventsResponse.created.createdEvent.createArgument;
|
|
10
|
+
const ocf = {
|
|
11
|
+
object_type: 'CONVERTIBLE_CONVERSION',
|
|
12
|
+
id: params.contractId,
|
|
13
|
+
convertible: createArgument.convertible,
|
|
14
|
+
stakeholder: createArgument.stakeholder,
|
|
15
|
+
stock_class: createArgument.stock_class,
|
|
16
|
+
quantity: createArgument.quantity,
|
|
17
|
+
date: createArgument.date.split('T')[0]
|
|
18
|
+
};
|
|
19
|
+
return { event: ocf, contractId: params.contractId };
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=getConvertibleConversionEventAsOcf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getConvertibleConversionEventAsOcf.js","sourceRoot":"","sources":["../../../src/functions/convertible/getConvertibleConversionEventAsOcf.ts"],"names":[],"mappings":";;AAsBA,gFAqBC;AArBM,KAAK,UAAU,kCAAkC,CACtD,MAA2B,EAC3B,MAAgD;IAEhD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7F,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,cAAqB,CAAC;IAEjF,MAAM,GAAG,GAAkC;QACzC,WAAW,EAAE,wBAAwB;QACrC,EAAE,EAAE,MAAM,CAAC,UAAU;QACrB,WAAW,EAAE,cAAc,CAAC,WAAW;QACvC,WAAW,EAAE,cAAc,CAAC,WAAW;QACvC,WAAW,EAAE,cAAc,CAAC,WAAW;QACvC,QAAQ,EAAE,cAAc,CAAC,QAAQ;QACjC,IAAI,EAAG,cAAc,CAAC,IAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KACpD,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './issueConvertible';
|
|
2
|
+
export * from './convertConvertible';
|
|
3
|
+
export * from './getConvertibleConversionEventAsOcf';
|
|
4
|
+
export * from './getConvertibleAsOcf';
|
|
5
|
+
export * from './acceptConvertible';
|
|
6
|
+
export * from './cancelConvertible';
|
|
7
|
+
export * from './retractConvertible';
|
|
8
|
+
export * from './transferConvertible';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/functions/convertible/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sCAAsC,CAAC;AACrD,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./issueConvertible"), exports);
|
|
18
|
+
__exportStar(require("./convertConvertible"), exports);
|
|
19
|
+
__exportStar(require("./getConvertibleConversionEventAsOcf"), exports);
|
|
20
|
+
__exportStar(require("./getConvertibleAsOcf"), exports);
|
|
21
|
+
__exportStar(require("./acceptConvertible"), exports);
|
|
22
|
+
__exportStar(require("./cancelConvertible"), exports);
|
|
23
|
+
__exportStar(require("./retractConvertible"), exports);
|
|
24
|
+
__exportStar(require("./transferConvertible"), exports);
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/convertible/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,uDAAqC;AACrC,uEAAqD;AACrD,wDAAsC;AACtC,sDAAoC;AACpC,sDAAoC;AACpC,uDAAqC;AACrC,wDAAsC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { LedgerJsonApiClient } from '@fairmint/canton-node-sdk';
|
|
2
|
+
import { ContractDetails } from '../../types/contractDetails';
|
|
3
|
+
import { OcfConvertibleIssuanceDataNative } from '../../types/native';
|
|
4
|
+
export interface IssueConvertibleParams {
|
|
5
|
+
issuerContractId: string;
|
|
6
|
+
featuredAppRightContractDetails: ContractDetails;
|
|
7
|
+
issuerParty: string;
|
|
8
|
+
stakeholderParty: string;
|
|
9
|
+
issuanceData: OcfConvertibleIssuanceDataNative;
|
|
10
|
+
}
|
|
11
|
+
export interface IssueConvertibleResult {
|
|
12
|
+
contractId: string;
|
|
13
|
+
updateId: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Issue a convertible by exercising the IssueConvertible choice on an Issuer contract
|
|
17
|
+
* @see https://schema.opencaptablecoalition.com/v/1.2.0/objects/transactions/issuance/ConvertibleIssuance.schema.json
|
|
18
|
+
*/
|
|
19
|
+
export declare function issueConvertible(client: LedgerJsonApiClient, params: IssueConvertibleParams): Promise<IssueConvertibleResult>;
|
|
20
|
+
//# sourceMappingURL=issueConvertible.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issueConvertible.d.ts","sourceRoot":"","sources":["../../../src/functions/convertible/issueConvertible.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,EAAE,MAAM,CAAC;IACzB,+BAA+B,EAAE,eAAe,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,gCAAgC,CAAC;CAChD;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,sBAAsB,CAAC,CAwCjC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.issueConvertible = issueConvertible;
|
|
4
|
+
const open_captable_protocol_daml_js_1 = require("@fairmint/open-captable-protocol-daml-js");
|
|
5
|
+
const findCreatedEvent_1 = require("../../utils/findCreatedEvent");
|
|
6
|
+
const typeConversions_1 = require("../../utils/typeConversions");
|
|
7
|
+
/**
|
|
8
|
+
* Issue a convertible by exercising the IssueConvertible choice on an Issuer contract
|
|
9
|
+
* @see https://schema.opencaptablecoalition.com/v/1.2.0/objects/transactions/issuance/ConvertibleIssuance.schema.json
|
|
10
|
+
*/
|
|
11
|
+
async function issueConvertible(client, params) {
|
|
12
|
+
const choiceArguments = {
|
|
13
|
+
stakeholder: params.stakeholderParty,
|
|
14
|
+
issuance_data: (0, typeConversions_1.convertibleIssuanceToDaml)(params.issuanceData)
|
|
15
|
+
};
|
|
16
|
+
const response = await client.submitAndWaitForTransactionTree({
|
|
17
|
+
actAs: [params.issuerParty],
|
|
18
|
+
commands: [
|
|
19
|
+
{
|
|
20
|
+
ExerciseCommand: {
|
|
21
|
+
templateId: open_captable_protocol_daml_js_1.Fairmint.OpenCapTable.Issuer.Issuer.templateId,
|
|
22
|
+
contractId: params.issuerContractId,
|
|
23
|
+
choice: 'IssueConvertible',
|
|
24
|
+
choiceArgument: choiceArguments
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
disclosedContracts: [
|
|
29
|
+
{
|
|
30
|
+
templateId: params.featuredAppRightContractDetails.templateId,
|
|
31
|
+
contractId: params.featuredAppRightContractDetails.contractId,
|
|
32
|
+
createdEventBlob: params.featuredAppRightContractDetails.createdEventBlob,
|
|
33
|
+
synchronizerId: params.featuredAppRightContractDetails.synchronizerId
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
});
|
|
37
|
+
const created = (0, findCreatedEvent_1.findCreatedEventByTemplateId)(response, open_captable_protocol_daml_js_1.Fairmint.OpenCapTable.Issuer.Convertible.templateId);
|
|
38
|
+
if (!created) {
|
|
39
|
+
throw new Error('Expected CreatedTreeEvent not found');
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
contractId: created.CreatedTreeEvent.value.contractId,
|
|
43
|
+
updateId: response.transactionTree.updateId
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=issueConvertible.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issueConvertible.js","sourceRoot":"","sources":["../../../src/functions/convertible/issueConvertible.ts"],"names":[],"mappings":";;AAyBA,4CA2CC;AApED,6FAAoE;AAGpE,mEAA4E;AAG5E,iEAAwE;AAexE;;;GAGG;AACI,KAAK,UAAU,gBAAgB,CACpC,MAA2B,EAC3B,MAA8B;IAE9B,MAAM,eAAe,GAAkD;QACrE,WAAW,EAAE,MAAM,CAAC,gBAAgB;QACpC,aAAa,EAAE,IAAA,2CAAyB,EAAC,MAAM,CAAC,YAAY,CAAC;KAC9D,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC;QAC5D,KAAK,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3B,QAAQ,EAAE;YACR;gBACE,eAAe,EAAE;oBACf,UAAU,EAAE,yCAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU;oBAC1D,UAAU,EAAE,MAAM,CAAC,gBAAgB;oBACnC,MAAM,EAAE,kBAAkB;oBAC1B,cAAc,EAAE,eAAe;iBAChC;aACF;SACF;QACD,kBAAkB,EAAE;YAClB;gBACE,UAAU,EAAE,MAAM,CAAC,+BAA+B,CAAC,UAAU;gBAC7D,UAAU,EAAE,MAAM,CAAC,+BAA+B,CAAC,UAAU;gBAC7D,gBAAgB,EAAE,MAAM,CAAC,+BAA+B,CAAC,gBAAgB;gBACzE,cAAc,EAAE,MAAM,CAAC,+BAA+B,CAAC,cAAc;aACtE;SACF;KACF,CAA4C,CAAC;IAE9C,MAAM,OAAO,GAAG,IAAA,+CAA4B,EAC1C,QAAQ,EACR,yCAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CACpD,CAAC;IACF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU;QACrD,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,QAAQ;KAC5C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Fairmint } from '@fairmint/open-captable-protocol-daml-js';
|
|
2
|
+
import type { ContractId } from '@daml/types';
|
|
3
|
+
import { LedgerJsonApiClient } from '@fairmint/canton-node-sdk';
|
|
4
|
+
export interface RetractConvertibleParams {
|
|
5
|
+
convertibleContractId: ContractId<Fairmint.OpenCapTable.Issuer.Convertible>;
|
|
6
|
+
stakeholderParty: string;
|
|
7
|
+
date: string;
|
|
8
|
+
reasonText?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface RetractConvertibleResult {
|
|
11
|
+
updateId: string;
|
|
12
|
+
retractionEventContractId: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Retract a convertible (holder-driven).
|
|
16
|
+
* Schema: https://schema.opencaptablecoalition.com/v/1.2.0/objects/transactions/retraction/ConvertibleRetraction.schema.json
|
|
17
|
+
*/
|
|
18
|
+
export declare function retractConvertible(client: LedgerJsonApiClient, params: RetractConvertibleParams): Promise<RetractConvertibleResult>;
|
|
19
|
+
//# sourceMappingURL=retractConvertible.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retractConvertible.d.ts","sourceRoot":"","sources":["../../../src/functions/convertible/retractConvertible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,MAAM,WAAW,wBAAwB;IACvC,qBAAqB,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5E,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,wBAAwB,CAAC,CA2BnC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.retractConvertible = retractConvertible;
|
|
4
|
+
const open_captable_protocol_daml_js_1 = require("@fairmint/open-captable-protocol-daml-js");
|
|
5
|
+
/**
|
|
6
|
+
* Retract a convertible (holder-driven).
|
|
7
|
+
* Schema: https://schema.opencaptablecoalition.com/v/1.2.0/objects/transactions/retraction/ConvertibleRetraction.schema.json
|
|
8
|
+
*/
|
|
9
|
+
async function retractConvertible(client, params) {
|
|
10
|
+
const choiceArgs = {
|
|
11
|
+
date: `${params.date}T00:00:00.000Z`,
|
|
12
|
+
reason_text: params.reasonText ? { tag: 'Some', value: params.reasonText } : null,
|
|
13
|
+
};
|
|
14
|
+
const response = (await client.submitAndWaitForTransactionTree({
|
|
15
|
+
actAs: [params.stakeholderParty],
|
|
16
|
+
commands: [
|
|
17
|
+
{
|
|
18
|
+
ExerciseCommand: {
|
|
19
|
+
templateId: open_captable_protocol_daml_js_1.Fairmint.OpenCapTable.Issuer.Convertible.templateId,
|
|
20
|
+
contractId: params.convertibleContractId,
|
|
21
|
+
choice: 'Retract',
|
|
22
|
+
choiceArgument: choiceArgs,
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
}));
|
|
27
|
+
const created = Object.values(response.transactionTree.eventsById).find((e) => 'CreatedTreeEvent' in e && e.CreatedTreeEvent.value.templateId === open_captable_protocol_daml_js_1.Fairmint.OpenCapTable.Issuer.ConvertibleRetraction.templateId);
|
|
28
|
+
if (!created)
|
|
29
|
+
throw new Error('ConvertibleRetraction not found');
|
|
30
|
+
return { updateId: response.transactionTree.updateId, retractionEventContractId: created.CreatedTreeEvent.value.contractId };
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=retractConvertible.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retractConvertible.js","sourceRoot":"","sources":["../../../src/functions/convertible/retractConvertible.ts"],"names":[],"mappings":";;AAqBA,gDA8BC;AAnDD,6FAAoE;AAiBpE;;;GAGG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAA2B,EAC3B,MAAgC;IAEhC,MAAM,UAAU,GAAyC;QACvD,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,gBAAgB;QACpC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI;KAC3E,CAAC;IAET,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,+BAA+B,CAAC;QAC7D,KAAK,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAChC,QAAQ,EAAE;YACR;gBACE,eAAe,EAAE;oBACf,UAAU,EAAE,yCAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU;oBAC/D,UAAU,EAAE,MAAM,CAAC,qBAAqB;oBACxC,MAAM,EAAE,SAAS;oBACjB,cAAc,EAAE,UAAU;iBAC3B;aACF;SACF;KACF,CAAC,CAA4C,CAAC;IAE/C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,CACrE,CAAC,CAAM,EAAE,EAAE,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,KAAK,yCAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,qBAAqB,CAAC,UAAU,CACtI,CAAC;IAET,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAEjE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,yBAAyB,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;AAC/H,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Fairmint } from '@fairmint/open-captable-protocol-daml-js';
|
|
2
|
+
import type { ContractId } from '@daml/types';
|
|
3
|
+
import { LedgerJsonApiClient } from '@fairmint/canton-node-sdk';
|
|
4
|
+
export interface TransferConvertibleParams {
|
|
5
|
+
convertibleContractId: ContractId<Fairmint.OpenCapTable.Issuer.Convertible>;
|
|
6
|
+
issuerParty: string;
|
|
7
|
+
toOwner: string;
|
|
8
|
+
amount: {
|
|
9
|
+
amount: string | number;
|
|
10
|
+
currency: string;
|
|
11
|
+
};
|
|
12
|
+
date: string;
|
|
13
|
+
considerationText?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface TransferConvertibleResult {
|
|
16
|
+
updateId: string;
|
|
17
|
+
newConvertibleContractId: string;
|
|
18
|
+
transferEventContractId: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Transfer a convertible to a new stakeholder (records transfer event and creates a new convertible contract).
|
|
22
|
+
* Schema: https://schema.opencaptablecoalition.com/v/1.2.0/objects/transactions/transfer/ConvertibleTransfer.schema.json
|
|
23
|
+
*/
|
|
24
|
+
export declare function transferConvertible(client: LedgerJsonApiClient, params: TransferConvertibleParams): Promise<TransferConvertibleResult>;
|
|
25
|
+
//# sourceMappingURL=transferConvertible.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferConvertible.d.ts","sourceRoot":"","sources":["../../../src/functions/convertible/transferConvertible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,MAAM,WAAW,yBAAyB;IACxC,qBAAqB,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB,EAAE,MAAM,CAAC;IACjC,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,yBAAyB,CAAC,CA2CpC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.transferConvertible = transferConvertible;
|
|
4
|
+
const open_captable_protocol_daml_js_1 = require("@fairmint/open-captable-protocol-daml-js");
|
|
5
|
+
/**
|
|
6
|
+
* Transfer a convertible to a new stakeholder (records transfer event and creates a new convertible contract).
|
|
7
|
+
* Schema: https://schema.opencaptablecoalition.com/v/1.2.0/objects/transactions/transfer/ConvertibleTransfer.schema.json
|
|
8
|
+
*/
|
|
9
|
+
async function transferConvertible(client, params) {
|
|
10
|
+
const monetary = {
|
|
11
|
+
amount: typeof params.amount.amount === 'number' ? params.amount.amount.toString() : params.amount.amount,
|
|
12
|
+
currency: params.amount.currency,
|
|
13
|
+
};
|
|
14
|
+
const choiceArgs = {
|
|
15
|
+
to_owner: params.toOwner,
|
|
16
|
+
amount: monetary,
|
|
17
|
+
date: `${params.date}T00:00:00.000Z`,
|
|
18
|
+
consideration_text: params.considerationText ? { tag: 'Some', value: params.considerationText } : null,
|
|
19
|
+
};
|
|
20
|
+
const response = (await client.submitAndWaitForTransactionTree({
|
|
21
|
+
actAs: [params.issuerParty],
|
|
22
|
+
commands: [
|
|
23
|
+
{
|
|
24
|
+
ExerciseCommand: {
|
|
25
|
+
templateId: open_captable_protocol_daml_js_1.Fairmint.OpenCapTable.Issuer.Convertible.templateId,
|
|
26
|
+
contractId: params.convertibleContractId,
|
|
27
|
+
choice: 'Transfer',
|
|
28
|
+
choiceArgument: choiceArgs,
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
}));
|
|
33
|
+
const createdConvertible = Object.values(response.transactionTree.eventsById).find((e) => 'CreatedTreeEvent' in e && e.CreatedTreeEvent.value.templateId === open_captable_protocol_daml_js_1.Fairmint.OpenCapTable.Issuer.Convertible.templateId);
|
|
34
|
+
const createdEvent = Object.values(response.transactionTree.eventsById).find((e) => 'CreatedTreeEvent' in e && e.CreatedTreeEvent.value.templateId === open_captable_protocol_daml_js_1.Fairmint.OpenCapTable.Issuer.ConvertibleTransferEvent.templateId);
|
|
35
|
+
if (!createdConvertible)
|
|
36
|
+
throw new Error('New Convertible not found');
|
|
37
|
+
if (!createdEvent)
|
|
38
|
+
throw new Error('ConvertibleTransferEvent not found');
|
|
39
|
+
return {
|
|
40
|
+
updateId: response.transactionTree.updateId,
|
|
41
|
+
newConvertibleContractId: createdConvertible.CreatedTreeEvent.value.contractId,
|
|
42
|
+
transferEventContractId: createdEvent.CreatedTreeEvent.value.contractId,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=transferConvertible.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferConvertible.js","sourceRoot":"","sources":["../../../src/functions/convertible/transferConvertible.ts"],"names":[],"mappings":";;AAwBA,kDA8CC;AAtED,6FAAoE;AAoBpE;;;GAGG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAA2B,EAC3B,MAAiC;IAEjC,MAAM,QAAQ,GAA4C;QACxD,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM;QACzG,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ;KAC1B,CAAC;IAET,MAAM,UAAU,GAA0C;QACxD,QAAQ,EAAE,MAAM,CAAC,OAAO;QACxB,MAAM,EAAE,QAAe;QACvB,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,gBAAgB;QACpC,kBAAkB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI;KAChG,CAAC;IAET,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,+BAA+B,CAAC;QAC7D,KAAK,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3B,QAAQ,EAAE;YACR;gBACE,eAAe,EAAE;oBACf,UAAU,EAAE,yCAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU;oBAC/D,UAAU,EAAE,MAAM,CAAC,qBAAqB;oBACxC,MAAM,EAAE,UAAU;oBAClB,cAAc,EAAE,UAAU;iBAC3B;aACF;SACF;KACF,CAAC,CAA4C,CAAC;IAE/C,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,CAChF,CAAC,CAAM,EAAE,EAAE,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,KAAK,yCAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAC5H,CAAC;IAET,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,CAC1E,CAAC,CAAM,EAAE,EAAE,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,KAAK,yCAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,wBAAwB,CAAC,UAAU,CACzI,CAAC;IAET,IAAI,CAAC,kBAAkB;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACtE,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAEzE,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,QAAQ;QAC3C,wBAAwB,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU;QAC9E,uBAAuB,EAAE,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU;KACxE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Fairmint } from '@fairmint/open-captable-protocol-daml-js';
|
|
2
|
+
import type { ContractId } from '@daml/types';
|
|
3
|
+
import { LedgerJsonApiClient } from '@fairmint/canton-node-sdk';
|
|
4
|
+
export interface AdjustIssuerAuthorizedSharesParams {
|
|
5
|
+
issuerContractId: ContractId<Fairmint.OpenCapTable.Issuer.Issuer>;
|
|
6
|
+
issuerParty: string;
|
|
7
|
+
newAuthorized: string | number;
|
|
8
|
+
date: string;
|
|
9
|
+
}
|
|
10
|
+
export interface AdjustIssuerAuthorizedSharesResult {
|
|
11
|
+
updateId: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Adjust issuer-level authorized shares.
|
|
15
|
+
* Schema: https://schema.opencaptablecoalition.com/v/1.2.0/objects/transactions/adjustment/IssuerAuthorizedSharesAdjustment.schema.json
|
|
16
|
+
* - new_authorized: New authorized shares amount (numeric only)
|
|
17
|
+
* - date: Effective date (YYYY-MM-DD)
|
|
18
|
+
*/
|
|
19
|
+
export declare function adjustIssuerAuthorizedShares(client: LedgerJsonApiClient, params: AdjustIssuerAuthorizedSharesParams): Promise<AdjustIssuerAuthorizedSharesResult>;
|
|
20
|
+
//# sourceMappingURL=adjustAuthorizedShares.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adjustAuthorizedShares.d.ts","sourceRoot":"","sources":["../../../src/functions/issuer/adjustAuthorizedShares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,MAAM,WAAW,kCAAkC;IACjD,gBAAgB,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,kCAAkC,GACzC,OAAO,CAAC,kCAAkC,CAAC,CAwB7C"}
|