@fairmint/canton-node-sdk 0.0.235 → 0.0.237

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/bin/canton-localnet +17 -1
  2. package/build/src/clients/ledger-json-api/operations/v2/state/get-active-contracts.d.ts +1 -1
  3. package/build/src/clients/ledger-json-api/operations/v2/state/get-active-contracts.d.ts.map +1 -1
  4. package/build/src/clients/ledger-json-api/operations/v2/state/get-active-contracts.js +19 -5
  5. package/build/src/clients/ledger-json-api/operations/v2/state/get-active-contracts.js.map +1 -1
  6. package/build/src/clients/ledger-json-api/operations/v2/updates/subscribe-to-updates.d.ts +770 -8
  7. package/build/src/clients/ledger-json-api/operations/v2/updates/subscribe-to-updates.d.ts.map +1 -1
  8. package/build/src/clients/ledger-json-api/operations/v2/updates/subscribe-to-updates.js +43 -8
  9. package/build/src/clients/ledger-json-api/operations/v2/updates/subscribe-to-updates.js.map +1 -1
  10. package/build/src/clients/scan-api/ScanApiClient.generated.d.ts +4 -0
  11. package/build/src/clients/scan-api/ScanApiClient.generated.d.ts.map +1 -1
  12. package/build/src/clients/scan-api/ScanApiClient.generated.js +2 -0
  13. package/build/src/clients/scan-api/ScanApiClient.generated.js.map +1 -1
  14. package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/index.d.ts +1 -0
  15. package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/index.d.ts.map +1 -1
  16. package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/index.js +1 -0
  17. package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/index.js.map +1 -1
  18. package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/v2/get-allocation-factory-v2-from-registry.d.ts +106 -0
  19. package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/v2/get-allocation-factory-v2-from-registry.d.ts.map +1 -0
  20. package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/v2/get-allocation-factory-v2-from-registry.js +51 -0
  21. package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/v2/get-allocation-factory-v2-from-registry.js.map +1 -0
  22. package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/v2/index.d.ts +2 -0
  23. package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/v2/index.d.ts.map +1 -0
  24. package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/v2/index.js +18 -0
  25. package/build/src/clients/scan-api/operations/v0/registry/allocation-instruction/v2/index.js.map +1 -0
  26. package/build/src/clients/validator-api/ValidatorApiClient.generated.d.ts +18 -3
  27. package/build/src/clients/validator-api/ValidatorApiClient.generated.d.ts.map +1 -1
  28. package/build/src/clients/validator-api/ValidatorApiClient.generated.js +12 -2
  29. package/build/src/clients/validator-api/ValidatorApiClient.generated.js.map +1 -1
  30. package/build/src/clients/validator-api/operations/v0/ans/index.d.ts +1 -1
  31. package/build/src/clients/validator-api/operations/v0/ans/index.js +1 -1
  32. package/build/src/clients/validator-api/operations/v0/ans/list-owned-entries.d.ts +7 -0
  33. package/build/src/clients/validator-api/operations/v0/ans/list-owned-entries.d.ts.map +1 -0
  34. package/build/src/clients/validator-api/operations/v0/ans/{list-entries-proxy.js → list-owned-entries.js} +4 -12
  35. package/build/src/clients/validator-api/operations/v0/ans/list-owned-entries.js.map +1 -0
  36. package/build/src/clients/validator-api/operations/v0/ans/lookup-by-name.d.ts +2 -3
  37. package/build/src/clients/validator-api/operations/v0/ans/lookup-by-name.d.ts.map +1 -1
  38. package/build/src/clients/validator-api/operations/v0/ans/lookup-by-name.js +1 -1
  39. package/build/src/clients/validator-api/operations/v0/ans/lookup-by-name.js.map +1 -1
  40. package/build/src/clients/validator-api/operations/v0/ans/lookup-by-party.d.ts +2 -3
  41. package/build/src/clients/validator-api/operations/v0/ans/lookup-by-party.d.ts.map +1 -1
  42. package/build/src/clients/validator-api/operations/v0/ans/lookup-by-party.js +1 -1
  43. package/build/src/clients/validator-api/operations/v0/ans/lookup-by-party.js.map +1 -1
  44. package/build/src/clients/validator-api/operations/v0/scan-proxy/ans-entry.d.ts +22 -0
  45. package/build/src/clients/validator-api/operations/v0/scan-proxy/ans-entry.d.ts.map +1 -0
  46. package/build/src/clients/validator-api/operations/v0/scan-proxy/ans-entry.js +3 -0
  47. package/build/src/clients/validator-api/operations/v0/scan-proxy/ans-entry.js.map +1 -0
  48. package/build/src/clients/validator-api/operations/v0/scan-proxy/get-dso-info.d.ts +15 -0
  49. package/build/src/clients/validator-api/operations/v0/scan-proxy/get-dso-info.d.ts.map +1 -0
  50. package/build/src/clients/validator-api/operations/v0/scan-proxy/get-dso-info.js +12 -0
  51. package/build/src/clients/validator-api/operations/v0/scan-proxy/get-dso-info.js.map +1 -0
  52. package/build/src/clients/validator-api/operations/v0/scan-proxy/get-holdings-summary-at-v1.d.ts +18 -0
  53. package/build/src/clients/validator-api/operations/v0/scan-proxy/get-holdings-summary-at-v1.d.ts.map +1 -0
  54. package/build/src/clients/validator-api/operations/v0/scan-proxy/get-holdings-summary-at-v1.js +20 -0
  55. package/build/src/clients/validator-api/operations/v0/scan-proxy/get-holdings-summary-at-v1.js.map +1 -0
  56. package/build/src/clients/validator-api/operations/v0/scan-proxy/index.d.ts +5 -0
  57. package/build/src/clients/validator-api/operations/v0/scan-proxy/index.d.ts.map +1 -1
  58. package/build/src/clients/validator-api/operations/v0/scan-proxy/index.js +5 -0
  59. package/build/src/clients/validator-api/operations/v0/scan-proxy/index.js.map +1 -1
  60. package/build/src/clients/validator-api/operations/v0/scan-proxy/list-ans-entries.d.ts +23 -0
  61. package/build/src/clients/validator-api/operations/v0/scan-proxy/list-ans-entries.d.ts.map +1 -0
  62. package/build/src/clients/validator-api/operations/v0/scan-proxy/list-ans-entries.js +24 -0
  63. package/build/src/clients/validator-api/operations/v0/scan-proxy/list-ans-entries.js.map +1 -0
  64. package/build/src/clients/validator-api/operations/v0/scan-proxy/list-unclaimed-development-fund-coupons.d.ts +7 -0
  65. package/build/src/clients/validator-api/operations/v0/scan-proxy/list-unclaimed-development-fund-coupons.d.ts.map +1 -0
  66. package/build/src/clients/validator-api/operations/v0/scan-proxy/list-unclaimed-development-fund-coupons.js +12 -0
  67. package/build/src/clients/validator-api/operations/v0/scan-proxy/list-unclaimed-development-fund-coupons.js.map +1 -0
  68. package/build/src/clients/validator-api/operations/v0/scan-proxy/lookup-transfer-command-counter-by-party.d.ts +11 -1
  69. package/build/src/clients/validator-api/operations/v0/scan-proxy/lookup-transfer-command-counter-by-party.d.ts.map +1 -1
  70. package/build/src/clients/validator-api/operations/v0/scan-proxy/lookup-transfer-command-counter-by-party.js +8 -4
  71. package/build/src/clients/validator-api/operations/v0/scan-proxy/lookup-transfer-command-counter-by-party.js.map +1 -1
  72. package/build/src/clients/validator-api/operations/v0/scan-proxy/lookup-transfer-command-status.d.ts +13 -1
  73. package/build/src/clients/validator-api/operations/v0/scan-proxy/lookup-transfer-command-status.d.ts.map +1 -1
  74. package/build/src/clients/validator-api/operations/v0/scan-proxy/lookup-transfer-command-status.js +15 -4
  75. package/build/src/clients/validator-api/operations/v0/scan-proxy/lookup-transfer-command-status.js.map +1 -1
  76. package/build/src/clients/validator-api/operations/v0/wallet/index.d.ts +1 -0
  77. package/build/src/clients/validator-api/operations/v0/wallet/index.d.ts.map +1 -1
  78. package/build/src/clients/validator-api/operations/v0/wallet/index.js +1 -0
  79. package/build/src/clients/validator-api/operations/v0/wallet/index.js.map +1 -1
  80. package/build/src/clients/validator-api/operations/v0/wallet/tap.d.ts +20 -0
  81. package/build/src/clients/validator-api/operations/v0/wallet/tap.d.ts.map +1 -0
  82. package/build/src/clients/validator-api/operations/v0/wallet/tap.js +24 -0
  83. package/build/src/clients/validator-api/operations/v0/wallet/tap.js.map +1 -0
  84. package/build/src/clients/validator-api/schemas/api/scan-proxy.d.ts +0 -8
  85. package/build/src/clients/validator-api/schemas/api/scan-proxy.d.ts.map +1 -1
  86. package/build/src/clients/validator-api/schemas/api/scan-proxy.js +1 -8
  87. package/build/src/clients/validator-api/schemas/api/scan-proxy.js.map +1 -1
  88. package/build/src/clients/validator-api/schemas/operations/scan-proxy.d.ts +0 -9
  89. package/build/src/clients/validator-api/schemas/operations/scan-proxy.d.ts.map +1 -1
  90. package/build/src/clients/validator-api/schemas/operations/scan-proxy.js +1 -9
  91. package/build/src/clients/validator-api/schemas/operations/scan-proxy.js.map +1 -1
  92. package/build/src/core/operations/WebSocketOperationFactory.d.ts.map +1 -1
  93. package/build/src/core/operations/WebSocketOperationFactory.js +1 -3
  94. package/build/src/core/operations/WebSocketOperationFactory.js.map +1 -1
  95. package/build/src/core/ws/WebSocketClient.d.ts +9 -6
  96. package/build/src/core/ws/WebSocketClient.d.ts.map +1 -1
  97. package/build/src/core/ws/WebSocketClient.js +175 -74
  98. package/build/src/core/ws/WebSocketClient.js.map +1 -1
  99. package/build/src/utils/amulet/external-party-cc-transfer.d.ts.map +1 -1
  100. package/build/src/utils/amulet/external-party-cc-transfer.js +24 -4
  101. package/build/src/utils/amulet/external-party-cc-transfer.js.map +1 -1
  102. package/build/src/utils/index.d.ts +1 -0
  103. package/build/src/utils/index.d.ts.map +1 -1
  104. package/build/src/utils/index.js +1 -0
  105. package/build/src/utils/index.js.map +1 -1
  106. package/build/src/utils/token-standard/index.d.ts +2 -0
  107. package/build/src/utils/token-standard/index.d.ts.map +1 -0
  108. package/build/src/utils/token-standard/index.js +18 -0
  109. package/build/src/utils/token-standard/index.js.map +1 -0
  110. package/build/src/utils/token-standard/v2/allocation.d.ts +140 -0
  111. package/build/src/utils/token-standard/v2/allocation.d.ts.map +1 -0
  112. package/build/src/utils/token-standard/v2/allocation.js +468 -0
  113. package/build/src/utils/token-standard/v2/allocation.js.map +1 -0
  114. package/build/src/utils/token-standard/v2/index.d.ts +3 -0
  115. package/build/src/utils/token-standard/v2/index.d.ts.map +1 -0
  116. package/build/src/utils/token-standard/v2/index.js +19 -0
  117. package/build/src/utils/token-standard/v2/index.js.map +1 -0
  118. package/build/src/utils/token-standard/v2/types.d.ts +13 -0
  119. package/build/src/utils/token-standard/v2/types.d.ts.map +1 -0
  120. package/build/src/utils/token-standard/v2/types.js +3 -0
  121. package/build/src/utils/token-standard/v2/types.js.map +1 -0
  122. package/package.json +1 -1
  123. package/scripts/localnet-cloud.sh +67 -1
  124. package/build/src/clients/validator-api/operations/v0/ans/list-entries-proxy.d.ts +0 -13
  125. package/build/src/clients/validator-api/operations/v0/ans/list-entries-proxy.d.ts.map +0 -1
  126. package/build/src/clients/validator-api/operations/v0/ans/list-entries-proxy.js.map +0 -1
@@ -0,0 +1,468 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TokenStandardV2AllocationError = exports.TokenStandardV2AllocationErrorCode = exports.TOKEN_STANDARD_V2_ALLOCATION_FACTORY_ALLOCATE_CHOICE = exports.TOKEN_STANDARD_V2_ALLOCATION_FACTORY_INTERFACE_ID = void 0;
4
+ exports.buildTokenStandardV2AllocationChoiceArgument = buildTokenStandardV2AllocationChoiceArgument;
5
+ exports.buildTokenStandardV2AllocationCommand = buildTokenStandardV2AllocationCommand;
6
+ exports.prepareTokenStandardV2AllocationCommand = prepareTokenStandardV2AllocationCommand;
7
+ exports.parseTokenStandardV2AllocationInstructionResult = parseTokenStandardV2AllocationInstructionResult;
8
+ exports.findTokenStandardV2AllocationInstructionResult = findTokenStandardV2AllocationInstructionResult;
9
+ exports.submitPreparedTokenStandardV2Allocation = submitPreparedTokenStandardV2Allocation;
10
+ const errors_1 = require("../../../core/errors");
11
+ const utils_1 = require("../../../core/utils");
12
+ const parsers_1 = require("../../parsers");
13
+ exports.TOKEN_STANDARD_V2_ALLOCATION_FACTORY_INTERFACE_ID = '#splice-api-token-allocation-instruction-v2:Splice.Api.Token.AllocationInstructionV2:AllocationFactory';
14
+ exports.TOKEN_STANDARD_V2_ALLOCATION_FACTORY_ALLOCATE_CHOICE = 'AllocationFactory_Allocate';
15
+ exports.TokenStandardV2AllocationErrorCode = {
16
+ INPUT_INVALID: 'TOKEN_STANDARD_V2_ALLOCATION_INPUT_INVALID',
17
+ FACTORY_RESPONSE_INVALID: 'TOKEN_STANDARD_V2_ALLOCATION_FACTORY_RESPONSE_INVALID',
18
+ RESULT_INVALID: 'TOKEN_STANDARD_V2_ALLOCATION_RESULT_INVALID',
19
+ RESULT_NOT_FOUND: 'TOKEN_STANDARD_V2_ALLOCATION_RESULT_NOT_FOUND',
20
+ };
21
+ class TokenStandardV2AllocationError extends errors_1.CantonError {
22
+ constructor(code, message, context) {
23
+ super(message, code, context);
24
+ this.name = 'TokenStandardV2AllocationError';
25
+ }
26
+ }
27
+ exports.TokenStandardV2AllocationError = TokenStandardV2AllocationError;
28
+ function requireNonEmpty(value, fieldName) {
29
+ if (typeof value !== 'string') {
30
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, `${fieldName} must be a string.`, { field: fieldName });
31
+ }
32
+ const normalized = value.trim();
33
+ if (normalized.length === 0) {
34
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, `${fieldName} must be non-empty.`, { field: fieldName });
35
+ }
36
+ return normalized;
37
+ }
38
+ function requireInputRecord(value, fieldName) {
39
+ if (!(0, utils_1.isRecord)(value)) {
40
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, `${fieldName} must be an object.`, { field: fieldName });
41
+ }
42
+ }
43
+ function requireText(value, fieldName) {
44
+ if (typeof value !== 'string') {
45
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, `${fieldName} must be text.`, { field: fieldName });
46
+ }
47
+ return value;
48
+ }
49
+ function readNonEmptyString(value) {
50
+ if (typeof value !== 'string')
51
+ return undefined;
52
+ const normalized = value.trim();
53
+ return normalized.length > 0 ? normalized : undefined;
54
+ }
55
+ function normalizeStrings(values, fieldName, allowEmpty = false) {
56
+ if (!Array.isArray(values)) {
57
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, `${fieldName} must be an array.`, { field: fieldName });
58
+ }
59
+ if (!allowEmpty && values.length === 0) {
60
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, `${fieldName} must contain at least one value.`, { field: fieldName });
61
+ }
62
+ return values.map((value, index) => requireNonEmpty(value, `${fieldName}[${index}]`));
63
+ }
64
+ function copyStringRecord(value, fieldName) {
65
+ if (!(0, utils_1.isRecord)(value)) {
66
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, `${fieldName} must be a string map.`, { field: fieldName });
67
+ }
68
+ const result = Object.create(null);
69
+ for (const [key, entry] of Object.entries(value)) {
70
+ if (typeof entry !== 'string') {
71
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, `${fieldName}.${key} must be a string.`, { field: `${fieldName}.${key}` });
72
+ }
73
+ Object.defineProperty(result, key, {
74
+ value: entry,
75
+ enumerable: true,
76
+ configurable: true,
77
+ writable: false,
78
+ });
79
+ }
80
+ return result;
81
+ }
82
+ function normalizeMetadata(value, fieldName) {
83
+ if (!(0, utils_1.isRecord)(value)) {
84
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, `${fieldName} must be Token Standard metadata.`, { field: fieldName });
85
+ }
86
+ return { values: copyStringRecord(value['values'], `${fieldName}.values`) };
87
+ }
88
+ function normalizeChoiceContext(value, fieldName, code = exports.TokenStandardV2AllocationErrorCode.FACTORY_RESPONSE_INVALID) {
89
+ if (!(0, utils_1.isRecord)(value) || !(0, utils_1.isRecord)(value['values'])) {
90
+ throw new TokenStandardV2AllocationError(code, `${fieldName} must be a Token Standard choice context.`, {
91
+ field: fieldName,
92
+ });
93
+ }
94
+ const values = Object.create(null);
95
+ for (const [key, entry] of Object.entries(value['values'])) {
96
+ Object.defineProperty(values, key, {
97
+ value: entry,
98
+ enumerable: true,
99
+ configurable: true,
100
+ writable: false,
101
+ });
102
+ }
103
+ return { values };
104
+ }
105
+ function normalizeAccount(value, fieldName) {
106
+ if (!(0, utils_1.isRecord)(value)) {
107
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, `${fieldName} must be a Token Standard V2 account.`, { field: fieldName });
108
+ }
109
+ const { id, owner, provider } = value;
110
+ if (typeof id !== 'string') {
111
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, `${fieldName} must be a Token Standard V2 account.`, { field: fieldName });
112
+ }
113
+ if (owner !== null && typeof owner !== 'string') {
114
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, `${fieldName}.owner must be a party or null.`, { field: `${fieldName}.owner` });
115
+ }
116
+ if (provider !== null && typeof provider !== 'string') {
117
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, `${fieldName}.provider must be a party or null.`, { field: `${fieldName}.provider` });
118
+ }
119
+ return {
120
+ owner: owner === null ? null : requireNonEmpty(owner, `${fieldName}.owner`),
121
+ provider: provider === null ? null : requireNonEmpty(provider, `${fieldName}.provider`),
122
+ // CIP-112 uses the empty string as the default account identifier.
123
+ id,
124
+ };
125
+ }
126
+ function parseDecimalText(value, fieldName) {
127
+ const text = requireNonEmpty(value, fieldName);
128
+ const match = /^(-?)(\d{1,28})(?:\.(\d{1,10}))?$/.exec(text);
129
+ if (!match) {
130
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, `${fieldName} must be a valid Daml Decimal string.`, { field: fieldName });
131
+ }
132
+ const digits = `${match[2]}${match[3] ?? ''}`;
133
+ const sign = /^0+$/.test(digits) ? 0 : match[1] === '-' ? -1 : 1;
134
+ return { text, sign };
135
+ }
136
+ function normalizePositiveDecimal(value, fieldName) {
137
+ const decimal = parseDecimalText(value, fieldName);
138
+ if (decimal.sign !== 1) {
139
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, `${fieldName} must be positive.`, { field: fieldName });
140
+ }
141
+ return decimal.text;
142
+ }
143
+ function normalizeFunding(value, fieldName) {
144
+ if (value === null || value === undefined)
145
+ return null;
146
+ const funding = copyStringRecord(value, fieldName);
147
+ const normalized = Object.create(null);
148
+ for (const [key, amount] of Object.entries(funding)) {
149
+ Object.defineProperty(normalized, key, {
150
+ value: normalizePositiveDecimal(amount, `${fieldName}.${key}`),
151
+ enumerable: true,
152
+ configurable: true,
153
+ writable: false,
154
+ });
155
+ }
156
+ return normalized;
157
+ }
158
+ function emptyTokenStandardV2ExtraArgs() {
159
+ return {
160
+ context: { values: {} },
161
+ meta: { values: {} },
162
+ };
163
+ }
164
+ function defaultWhenUndefined(value, fallback) {
165
+ if (value === undefined)
166
+ return fallback;
167
+ return value;
168
+ }
169
+ function withDefaultTokenStandardV2Metadata(value, fieldName) {
170
+ return {
171
+ ...value,
172
+ meta: normalizeMetadata(defaultWhenUndefined(value.meta, { values: {} }), `${fieldName}.meta`),
173
+ };
174
+ }
175
+ function buildTokenStandardV2AllocationChoiceArgument(params) {
176
+ requireInputRecord(params, 'params');
177
+ requireInputRecord(params.settlement, 'settlement');
178
+ requireInputRecord(params.allocation, 'allocation');
179
+ if (params.extraArgs !== undefined)
180
+ requireInputRecord(params.extraArgs, 'extraArgs');
181
+ const extraArgs = defaultWhenUndefined(params.extraArgs, emptyTokenStandardV2ExtraArgs());
182
+ if (!Array.isArray(params.allocation.transferLegSides)) {
183
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, 'allocation.transferLegSides must be an array.', { field: 'allocation.transferLegSides' });
184
+ }
185
+ if (typeof params.allocation.committed !== 'boolean') {
186
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, 'allocation.committed must be a boolean.', { field: 'allocation.committed' });
187
+ }
188
+ const settlement = withDefaultTokenStandardV2Metadata(params.settlement, 'settlement');
189
+ const allocation = withDefaultTokenStandardV2Metadata(params.allocation, 'allocation');
190
+ const transferLegSides = params.allocation.transferLegSides.map((transferLegSide, index) => {
191
+ const fieldName = `allocation.transferLegSides[${index}]`;
192
+ if (!(0, utils_1.isRecord)(transferLegSide)) {
193
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, `${fieldName} must be a transfer-leg side.`, { field: fieldName });
194
+ }
195
+ const { amount, instrumentId, otherside, side, transferLegId } = transferLegSide;
196
+ if (side !== 'SenderSide' && side !== 'ReceiverSide') {
197
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, `${fieldName}.side must be SenderSide or ReceiverSide.`, { field: `${fieldName}.side` });
198
+ }
199
+ return {
200
+ ...withDefaultTokenStandardV2Metadata(transferLegSide, fieldName),
201
+ transferLegId: requireText(transferLegId, `${fieldName}.transferLegId`),
202
+ side,
203
+ otherside: normalizeAccount(otherside, `${fieldName}.otherside`),
204
+ amount: normalizePositiveDecimal(amount, `${fieldName}.amount`),
205
+ instrumentId: requireText(instrumentId, `${fieldName}.instrumentId`),
206
+ };
207
+ });
208
+ const transferLegSideKeys = transferLegSides.map(({ side, transferLegId }) => JSON.stringify([transferLegId, side]));
209
+ if (new Set(transferLegSideKeys).size !== transferLegSideKeys.length) {
210
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, 'allocation.transferLegSides must not contain duplicate transfer-leg sides.', { field: 'allocation.transferLegSides' });
211
+ }
212
+ const nextIterationFunding = normalizeFunding(params.allocation.nextIterationFunding, 'allocation.nextIterationFunding');
213
+ if (transferLegSides.length === 0 && nextIterationFunding === null) {
214
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, 'allocation.transferLegSides may be empty only when iterated settlement is enabled.', { field: 'allocation.transferLegSides' });
215
+ }
216
+ return {
217
+ settlement: {
218
+ ...settlement,
219
+ executors: normalizeStrings(params.settlement.executors, 'settlement.executors'),
220
+ id: requireText(params.settlement.id, 'settlement.id'),
221
+ cid: params.settlement.cid === null ? null : requireNonEmpty(params.settlement.cid, 'settlement.cid'),
222
+ },
223
+ allocation: {
224
+ ...allocation,
225
+ admin: requireNonEmpty(params.allocation.admin, 'allocation.admin'),
226
+ authorizer: normalizeAccount(params.allocation.authorizer, 'allocation.authorizer'),
227
+ transferLegSides,
228
+ settlementDeadline: params.allocation.settlementDeadline === null
229
+ ? null
230
+ : requireNonEmpty(params.allocation.settlementDeadline, 'allocation.settlementDeadline'),
231
+ nextIterationFunding,
232
+ committed: params.allocation.committed,
233
+ },
234
+ requestedAt: requireNonEmpty(params.requestedAt, 'requestedAt'),
235
+ inputHoldingCids: normalizeStrings(params.inputHoldingCids, 'inputHoldingCids', true),
236
+ extraArgs: {
237
+ context: normalizeChoiceContext(extraArgs.context, 'extraArgs.context', exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID),
238
+ meta: normalizeMetadata(extraArgs.meta, 'extraArgs.meta'),
239
+ },
240
+ actors: normalizeStrings(params.actors, 'actors'),
241
+ };
242
+ }
243
+ function buildTokenStandardV2AllocationCommandFromChoiceArgument(params) {
244
+ const templateId = params.allocationFactoryInterfaceId === undefined
245
+ ? exports.TOKEN_STANDARD_V2_ALLOCATION_FACTORY_INTERFACE_ID
246
+ : requireNonEmpty(params.allocationFactoryInterfaceId, 'allocationFactoryInterfaceId');
247
+ return {
248
+ ExerciseCommand: {
249
+ templateId,
250
+ contractId: requireNonEmpty(params.allocationFactoryContractId, 'allocationFactoryContractId'),
251
+ choice: exports.TOKEN_STANDARD_V2_ALLOCATION_FACTORY_ALLOCATE_CHOICE,
252
+ choiceArgument: params.choiceArgument,
253
+ },
254
+ };
255
+ }
256
+ function buildTokenStandardV2AllocationCommand(params) {
257
+ return buildTokenStandardV2AllocationCommandFromChoiceArgument({
258
+ allocationFactoryContractId: params.allocationFactoryContractId,
259
+ ...(params.allocationFactoryInterfaceId === undefined
260
+ ? {}
261
+ : { allocationFactoryInterfaceId: params.allocationFactoryInterfaceId }),
262
+ choiceArgument: buildTokenStandardV2AllocationChoiceArgument(params),
263
+ });
264
+ }
265
+ function parseDisclosedContract(value) {
266
+ const record = (0, utils_1.isRecord)(value) ? value : undefined;
267
+ const templateId = readNonEmptyString(record?.['templateId']);
268
+ const contractId = readNonEmptyString(record?.['contractId']);
269
+ const createdEventBlob = readNonEmptyString(record?.['createdEventBlob']);
270
+ const synchronizerId = readNonEmptyString(record?.['synchronizerId']);
271
+ if (!templateId || !contractId || !createdEventBlob || !synchronizerId) {
272
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.FACTORY_RESPONSE_INVALID, 'Token Standard V2 allocation registry returned an invalid disclosed contract.', { value });
273
+ }
274
+ return {
275
+ templateId,
276
+ contractId,
277
+ createdEventBlob,
278
+ synchronizerId,
279
+ };
280
+ }
281
+ function parseAllocationFactoryResponse(value) {
282
+ const response = (0, utils_1.isRecord)(value) ? value : undefined;
283
+ const choiceContext = (0, utils_1.isRecord)(response?.['choiceContext']) ? response['choiceContext'] : undefined;
284
+ const choiceContextData = choiceContext?.['choiceContextData'];
285
+ const disclosedContracts = choiceContext?.['disclosedContracts'];
286
+ const factoryId = readNonEmptyString(response?.['factoryId']);
287
+ if (!factoryId || !Array.isArray(disclosedContracts)) {
288
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.FACTORY_RESPONSE_INVALID, 'Token Standard V2 allocation registry returned an invalid factory choice context.', { value });
289
+ }
290
+ return {
291
+ factoryId,
292
+ choiceContextData: normalizeChoiceContext(choiceContextData, 'choiceContext.choiceContextData'),
293
+ disclosedContracts: disclosedContracts.map(parseDisclosedContract),
294
+ };
295
+ }
296
+ async function prepareTokenStandardV2AllocationCommand(params) {
297
+ requireInputRecord(params, 'params');
298
+ requireInputRecord(params.scan, 'scan');
299
+ if (typeof params.scan.getAllocationFactoryV2FromRegistry !== 'function') {
300
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, 'scan.getAllocationFactoryV2FromRegistry must be a function.', { field: 'scan.getAllocationFactoryV2FromRegistry' });
301
+ }
302
+ const registryUrl = requireNonEmpty(params.registryUrl, 'registryUrl');
303
+ const registryChoiceArgument = buildTokenStandardV2AllocationChoiceArgument({
304
+ ...params,
305
+ extraArgs: emptyTokenStandardV2ExtraArgs(),
306
+ });
307
+ const request = {
308
+ registryUrl,
309
+ choiceArguments: registryChoiceArgument,
310
+ excludeDebugFields: params.excludeDebugFields ?? true,
311
+ };
312
+ const factory = parseAllocationFactoryResponse(await params.scan.getAllocationFactoryV2FromRegistry(request));
313
+ const choiceArgument = {
314
+ ...registryChoiceArgument,
315
+ extraArgs: {
316
+ context: factory.choiceContextData,
317
+ meta: normalizeMetadata(defaultWhenUndefined(params.metadata, { values: {} }), 'metadata'),
318
+ },
319
+ };
320
+ return {
321
+ allocationFactoryContractId: factory.factoryId,
322
+ disclosedContracts: factory.disclosedContracts,
323
+ choiceArgument,
324
+ command: buildTokenStandardV2AllocationCommandFromChoiceArgument({
325
+ allocationFactoryContractId: factory.factoryId,
326
+ ...(params.allocationFactoryInterfaceId === undefined
327
+ ? {}
328
+ : { allocationFactoryInterfaceId: params.allocationFactoryInterfaceId }),
329
+ choiceArgument,
330
+ }),
331
+ };
332
+ }
333
+ function tryReadMetadata(value) {
334
+ if (!(0, utils_1.isRecord)(value) || !(0, utils_1.isRecord)(value['values']))
335
+ return undefined;
336
+ const values = Object.create(null);
337
+ for (const [key, entry] of Object.entries(value['values'])) {
338
+ if (typeof entry !== 'string')
339
+ return undefined;
340
+ Object.defineProperty(values, key, {
341
+ value: entry,
342
+ enumerable: true,
343
+ configurable: true,
344
+ writable: false,
345
+ });
346
+ }
347
+ return { values };
348
+ }
349
+ function tryReadAuthorizerChangeCids(value) {
350
+ if (!(0, utils_1.isRecord)(value))
351
+ return undefined;
352
+ const result = Object.create(null);
353
+ for (const [key, entry] of Object.entries(value)) {
354
+ if (!Array.isArray(entry) ||
355
+ !entry.every((contractId) => typeof contractId === 'string' && contractId.trim().length > 0)) {
356
+ return undefined;
357
+ }
358
+ Object.defineProperty(result, key, {
359
+ value: entry.map((contractId) => contractId.trim()),
360
+ enumerable: true,
361
+ configurable: true,
362
+ writable: false,
363
+ });
364
+ }
365
+ return result;
366
+ }
367
+ function tryParseTokenStandardV2AllocationInstructionResult(value) {
368
+ const record = (0, utils_1.isRecord)(value) ? value : undefined;
369
+ const output = (0, utils_1.isRecord)(record?.['output']) ? record['output'] : undefined;
370
+ const tag = readNonEmptyString(output?.['tag']);
371
+ if (!tag)
372
+ return undefined;
373
+ const variant = (0, utils_1.isRecord)(output?.['value']) ? output['value'] : undefined;
374
+ const authorizerChangeCids = tryReadAuthorizerChangeCids(record?.['authorizerChangeCids']);
375
+ const meta = tryReadMetadata(record?.['meta']);
376
+ if (!authorizerChangeCids || !meta)
377
+ return undefined;
378
+ const common = { authorizerChangeCids, meta };
379
+ switch (tag) {
380
+ case 'AllocationInstructionResult_Completed': {
381
+ const allocationCid = readNonEmptyString(variant?.['allocationCid']);
382
+ return allocationCid ? { type: 'Completed', allocationCid, ...common } : undefined;
383
+ }
384
+ case 'AllocationInstructionResult_Pending': {
385
+ const allocationInstructionCid = readNonEmptyString(variant?.['allocationInstructionCid']);
386
+ return allocationInstructionCid ? { type: 'Pending', allocationInstructionCid, ...common } : undefined;
387
+ }
388
+ case 'AllocationInstructionResult_Failed':
389
+ return { type: 'Failed', ...common };
390
+ default:
391
+ return undefined;
392
+ }
393
+ }
394
+ function parseTokenStandardV2AllocationInstructionResult(value) {
395
+ const parsed = tryParseTokenStandardV2AllocationInstructionResult(value);
396
+ if (!parsed) {
397
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.RESULT_INVALID, 'Token Standard V2 AllocationInstructionResult is malformed.', { value });
398
+ }
399
+ return parsed;
400
+ }
401
+ function findTokenStandardV2AllocationInstructionResult(input, allocationFactoryContractId) {
402
+ const direct = tryParseTokenStandardV2AllocationInstructionResult(input);
403
+ if (direct)
404
+ return direct;
405
+ const { exercised } = (0, parsers_1.extractEventsFromTransaction)(input);
406
+ for (const event of exercised) {
407
+ if (event.choice !== exports.TOKEN_STANDARD_V2_ALLOCATION_FACTORY_ALLOCATE_CHOICE)
408
+ continue;
409
+ if (allocationFactoryContractId !== undefined && event.contractId !== allocationFactoryContractId)
410
+ continue;
411
+ const parsed = tryParseTokenStandardV2AllocationInstructionResult(event.exerciseResult);
412
+ if (parsed)
413
+ return parsed;
414
+ }
415
+ return undefined;
416
+ }
417
+ function readTransactionTreeUpdateId(response) {
418
+ if (!(0, utils_1.isRecord)(response))
419
+ return undefined;
420
+ const transactionTree = (0, utils_1.isRecord)(response['transactionTree']) ? response['transactionTree'] : undefined;
421
+ return readNonEmptyString(transactionTree?.['updateId']);
422
+ }
423
+ async function submitPreparedTokenStandardV2Allocation(params) {
424
+ requireInputRecord(params, 'params');
425
+ requireInputRecord(params.prepared, 'prepared');
426
+ requireInputRecord(params.ledger, 'ledger');
427
+ if (typeof params.ledger.submitAndWaitForTransactionTree !== 'function') {
428
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, 'ledger.submitAndWaitForTransactionTree must be a function.', { field: 'ledger.submitAndWaitForTransactionTree' });
429
+ }
430
+ requireInputRecord(params.prepared.command, 'prepared.command');
431
+ if (!Array.isArray(params.prepared.disclosedContracts)) {
432
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.INPUT_INVALID, 'prepared.disclosedContracts must be an array.', { field: 'prepared.disclosedContracts' });
433
+ }
434
+ const allocationFactoryContractId = requireNonEmpty(params.prepared.allocationFactoryContractId, 'prepared.allocationFactoryContractId');
435
+ const actAs = normalizeStrings(params.actAs, 'actAs');
436
+ const readAs = params.readAs === undefined ? [] : normalizeStrings(params.readAs, 'readAs', true);
437
+ const submitParams = {
438
+ commands: [params.prepared.command],
439
+ actAs,
440
+ commandId: requireNonEmpty(params.commandId, 'commandId'),
441
+ ...(readAs.length > 0 ? { readAs } : {}),
442
+ disclosedContracts: [...params.prepared.disclosedContracts],
443
+ ...(params.submissionId !== undefined
444
+ ? { submissionId: requireNonEmpty(params.submissionId, 'submissionId') }
445
+ : {}),
446
+ ...(params.deduplicationPeriod !== undefined ? { deduplicationPeriod: params.deduplicationPeriod } : {}),
447
+ ...(params.synchronizerId !== undefined
448
+ ? { synchronizerId: requireNonEmpty(params.synchronizerId, 'synchronizerId') }
449
+ : {}),
450
+ ...(params.userId !== undefined ? { userId: requireNonEmpty(params.userId, 'userId') } : {}),
451
+ ...(params.workflowId !== undefined ? { workflowId: requireNonEmpty(params.workflowId, 'workflowId') } : {}),
452
+ };
453
+ const response = await params.ledger.submitAndWaitForTransactionTree(submitParams);
454
+ const result = findTokenStandardV2AllocationInstructionResult(response, allocationFactoryContractId);
455
+ if (!result) {
456
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.RESULT_NOT_FOUND, `${exports.TOKEN_STANDARD_V2_ALLOCATION_FACTORY_ALLOCATE_CHOICE} result was not found in the transaction tree.`, { updateId: readTransactionTreeUpdateId(response) });
457
+ }
458
+ const updateId = readTransactionTreeUpdateId(response);
459
+ if (!updateId) {
460
+ throw new TokenStandardV2AllocationError(exports.TokenStandardV2AllocationErrorCode.RESULT_INVALID, 'Token Standard V2 allocation submission response did not include transactionTree.updateId.', { response });
461
+ }
462
+ return {
463
+ updateId,
464
+ result,
465
+ response,
466
+ };
467
+ }
468
+ //# sourceMappingURL=allocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allocation.js","sourceRoot":"","sources":["../../../../../src/utils/token-standard/v2/allocation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './allocation';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/utils/token-standard/v2/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,19 @@
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("./allocation"), exports);
18
+ __exportStar(require("./types"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/utils/token-standard/v2/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,0CAAwB"}
@@ -0,0 +1,13 @@
1
+ export interface TokenStandardV2Account {
2
+ readonly owner: string | null;
3
+ readonly provider: string | null;
4
+ readonly id: string;
5
+ }
6
+ export interface TokenStandardV2InstrumentId {
7
+ readonly admin: string;
8
+ readonly id: string;
9
+ }
10
+ export interface TokenStandardV2Metadata {
11
+ readonly values: Readonly<Record<string, string>>;
12
+ }
13
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/utils/token-standard/v2/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACnD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/utils/token-standard/v2/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fairmint/canton-node-sdk",
3
- "version": "0.0.235",
3
+ "version": "0.0.237",
4
4
  "description": "Canton Node SDK",
5
5
  "keywords": [
6
6
  "canton",