@open-captable-protocol/canton 0.2.103 → 0.2.104
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/CantonPayments/airdrop/executeBatchTransfers.d.ts +24 -0
- package/dist/functions/CantonPayments/airdrop/executeBatchTransfers.d.ts.map +1 -0
- package/dist/functions/CantonPayments/airdrop/executeBatchTransfers.js +47 -0
- package/dist/functions/CantonPayments/airdrop/executeBatchTransfers.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { CommandWithDisclosedContracts } from '../../../types';
|
|
2
|
+
export interface ExecuteBatchTransfersParams {
|
|
3
|
+
factoryContractId: string;
|
|
4
|
+
personalAirdropCids: string[];
|
|
5
|
+
amuletInputs: string[];
|
|
6
|
+
openMiningRoundCid: string;
|
|
7
|
+
amount: string | number;
|
|
8
|
+
numberOfTransfers: number;
|
|
9
|
+
lockedAmuletCid?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Build command to execute batch transfers on multiple PersonalAirdrop contracts
|
|
13
|
+
*
|
|
14
|
+
* Supports two modes:
|
|
15
|
+
* 1. Regular amulets: Provide amuletInputs, leave lockedAmuletCid undefined
|
|
16
|
+
* 2. LockedAmulet: Provide lockedAmuletCid, leave amuletInputs empty
|
|
17
|
+
*
|
|
18
|
+
* When using LockedAmulet:
|
|
19
|
+
* - The locked amulet is unlocked before batch processing
|
|
20
|
+
* - Used for all transfers in the batch
|
|
21
|
+
* - Re-locked with preserved lock details (holders, expiry, context) after completion
|
|
22
|
+
*/
|
|
23
|
+
export declare function buildExecuteBatchTransfersCommand(params: ExecuteBatchTransfersParams): CommandWithDisclosedContracts;
|
|
24
|
+
//# sourceMappingURL=executeBatchTransfers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeBatchTransfers.d.ts","sourceRoot":"","sources":["../../../../src/functions/CantonPayments/airdrop/executeBatchTransfers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAEpE,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,2BAA2B,GAAG,6BAA6B,CA+BpH"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildExecuteBatchTransfersCommand = buildExecuteBatchTransfersCommand;
|
|
4
|
+
const open_captable_protocol_daml_js_1 = require("@fairmint/open-captable-protocol-daml-js");
|
|
5
|
+
/**
|
|
6
|
+
* Build command to execute batch transfers on multiple PersonalAirdrop contracts
|
|
7
|
+
*
|
|
8
|
+
* Supports two modes:
|
|
9
|
+
* 1. Regular amulets: Provide amuletInputs, leave lockedAmuletCid undefined
|
|
10
|
+
* 2. LockedAmulet: Provide lockedAmuletCid, leave amuletInputs empty
|
|
11
|
+
*
|
|
12
|
+
* When using LockedAmulet:
|
|
13
|
+
* - The locked amulet is unlocked before batch processing
|
|
14
|
+
* - Used for all transfers in the batch
|
|
15
|
+
* - Re-locked with preserved lock details (holders, expiry, context) after completion
|
|
16
|
+
*/
|
|
17
|
+
function buildExecuteBatchTransfersCommand(params) {
|
|
18
|
+
// Validate parameters based on mode
|
|
19
|
+
if (params.lockedAmuletCid) {
|
|
20
|
+
if (params.amuletInputs.length > 0) {
|
|
21
|
+
throw new Error('When using lockedAmuletCid, amuletInputs must be empty');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
if (params.amuletInputs.length === 0) {
|
|
26
|
+
throw new Error('Must provide either amuletInputs or lockedAmuletCid');
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const choiceArgument = {
|
|
30
|
+
personalAirdropCids: params.personalAirdropCids,
|
|
31
|
+
amuletInputs: params.amuletInputs,
|
|
32
|
+
openMiningRoundCid: params.openMiningRoundCid,
|
|
33
|
+
amount: typeof params.amount === 'number' ? params.amount.toString() : params.amount,
|
|
34
|
+
numberOfTransfers: params.numberOfTransfers,
|
|
35
|
+
lockedAmuletCid: params.lockedAmuletCid ? params.lockedAmuletCid : null,
|
|
36
|
+
};
|
|
37
|
+
const command = {
|
|
38
|
+
ExerciseCommand: {
|
|
39
|
+
templateId: open_captable_protocol_daml_js_1.CantonPayments.Airdrop.AirdropFactory.AirdropFactory.templateId,
|
|
40
|
+
contractId: params.factoryContractId,
|
|
41
|
+
choice: 'Factory_ExecuteBatchTransfers',
|
|
42
|
+
choiceArgument,
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
return { command, disclosedContracts: [] };
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=executeBatchTransfers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeBatchTransfers.js","sourceRoot":"","sources":["../../../../src/functions/CantonPayments/airdrop/executeBatchTransfers.ts"],"names":[],"mappings":";;AA0BA,8EA+BC;AAxDD,6FAA0E;AAa1E;;;;;;;;;;;GAWG;AACH,SAAgB,iCAAiC,CAAC,MAAmC;IACnF,oCAAoC;IACpC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG;QACrB,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;QAC7C,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;QACpF,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI;KACxE,CAAC;IAEF,MAAM,OAAO,GAAY;QACvB,eAAe,EAAE;YACf,UAAU,EAAE,+CAAc,CAAC,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,UAAU;YAC3E,UAAU,EAAE,MAAM,CAAC,iBAAiB;YACpC,MAAM,EAAE,+BAA+B;YACvC,cAAc;SACf;KACF,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC;AAC7C,CAAC"}
|
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.104",
|
|
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",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@daml/ledger": "2.10.2",
|
|
34
34
|
"@daml/types": "2.10.2",
|
|
35
|
-
"@fairmint/canton-node-sdk": "0.0.
|
|
35
|
+
"@fairmint/canton-node-sdk": "0.0.127",
|
|
36
36
|
"@fairmint/open-captable-protocol-daml-js": "0.2.47"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|