@bitgo-beta/sdk-coin-canton 1.0.1-beta.22 → 1.0.1-beta.24

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 (32) hide show
  1. package/dist/resources/hash/hash.d.ts +5 -0
  2. package/dist/resources/hash/hash.js +297 -0
  3. package/dist/src/lib/iface.d.ts +24 -1
  4. package/dist/src/lib/iface.d.ts.map +1 -1
  5. package/dist/src/lib/iface.js +1 -1
  6. package/dist/src/lib/oneStepPreApprovalBuilder.d.ts +85 -0
  7. package/dist/src/lib/oneStepPreApprovalBuilder.d.ts.map +1 -0
  8. package/dist/src/lib/oneStepPreApprovalBuilder.js +165 -0
  9. package/dist/src/lib/transaction/transaction.d.ts +9 -4
  10. package/dist/src/lib/transaction/transaction.d.ts.map +1 -1
  11. package/dist/src/lib/transaction/transaction.js +36 -10
  12. package/dist/src/lib/transactionBuilder.d.ts +6 -13
  13. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  14. package/dist/src/lib/transactionBuilder.js +31 -23
  15. package/dist/src/lib/transferBuilder.d.ts +2 -0
  16. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  17. package/dist/src/lib/transferBuilder.js +4 -1
  18. package/dist/src/lib/utils.d.ts +1 -0
  19. package/dist/src/lib/utils.d.ts.map +1 -1
  20. package/dist/src/lib/utils.js +7 -1
  21. package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts +0 -1
  22. package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts.map +1 -1
  23. package/dist/src/lib/walletInitialization/walletInitTransaction.js +4 -5
  24. package/dist/test/resources.d.ts +27 -0
  25. package/dist/test/resources.d.ts.map +1 -1
  26. package/dist/test/resources.js +30 -2
  27. package/dist/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.d.ts +2 -0
  28. package/dist/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.d.ts.map +1 -0
  29. package/dist/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.js +82 -0
  30. package/dist/test/unit/utils.js +8 -1
  31. package/dist/tsconfig.tsbuildinfo +1 -1
  32. package/package.json +6 -6
@@ -0,0 +1,5 @@
1
+ import type { IPreparedTransaction } from '../../src/lib/iface';
2
+
3
+ declare module '../../resources/hash/hash.js' {
4
+ export function computePreparedTransaction(preparedTransaction: IPreparedTransaction): Promise<Uint8Array>;
5
+ }
@@ -0,0 +1,297 @@
1
+ // This is the static helper file from canton SDK, replicating it here since we won't be using the canton wallet SDK
2
+ // TODO: https://bitgoinc.atlassian.net/browse/COIN-6016
3
+ const PREPARED_TRANSACTION_HASH_PURPOSE = Uint8Array.from([0x00, 0x00, 0x00, 0x30]);
4
+ const NODE_ENCODING_VERSION = Uint8Array.from([0x01]);
5
+ const HASHING_SCHEME_VERSION = Uint8Array.from([2]);
6
+ async function sha256(message) {
7
+ const msg = typeof message === 'string' ? new TextEncoder().encode(message) : message;
8
+ return crypto.subtle.digest('SHA-256', new Uint8Array(msg)).then((hash) => new Uint8Array(hash));
9
+ }
10
+ async function mkByteArray(...args) {
11
+ const normalizedArgs = args.map((arg) => {
12
+ if (typeof arg === 'number') {
13
+ return new Uint8Array([arg]);
14
+ } else {
15
+ return arg;
16
+ }
17
+ });
18
+ let totalLength = 0;
19
+ normalizedArgs.forEach((arg) => {
20
+ totalLength += arg.length;
21
+ });
22
+ const mergedArray = new Uint8Array(totalLength);
23
+ let offset = 0;
24
+ normalizedArgs.forEach((arg) => {
25
+ mergedArray.set(arg, offset);
26
+ offset += arg.length;
27
+ });
28
+ return mergedArray;
29
+ }
30
+ async function encodeBool(value) {
31
+ return new Uint8Array([value ? 1 : 0]);
32
+ }
33
+ async function encodeInt32(value) {
34
+ const buffer = new ArrayBuffer(4);
35
+ const view = new DataView(buffer);
36
+ view.setInt32(0, value, false); // true for little-endian
37
+ return new Uint8Array(buffer);
38
+ }
39
+ async function encodeInt64(value) {
40
+ // eslint-disable-next-line no-undef
41
+ const num = typeof value === 'bigint' ? value : BigInt(value || 0);
42
+ const buffer = new ArrayBuffer(8);
43
+ const view = new DataView(buffer);
44
+ view.setBigInt64(0, num, false); // true for little-endian
45
+ return new Uint8Array(buffer);
46
+ }
47
+ export async function encodeString(value = '') {
48
+ const utf8Bytes = new TextEncoder().encode(value);
49
+ return encodeBytes(utf8Bytes);
50
+ }
51
+ async function encodeBytes(value) {
52
+ const length = await encodeInt32(value.length);
53
+ return mkByteArray(length, value);
54
+ }
55
+ async function encodeHash(value) {
56
+ return value;
57
+ }
58
+ function encodeHexString(value = '') {
59
+ // Convert hex string to Uint8Array
60
+ const bytes = new Uint8Array(value.length / 2);
61
+ for (let i = 0; i < value.length; i += 2) {
62
+ bytes[i / 2] = parseInt(value.slice(i, i + 2), 16);
63
+ }
64
+ return encodeBytes(bytes);
65
+ }
66
+ // Maybe suspicious?
67
+ async function encodeOptional(value, encodeFn) {
68
+ if (value === undefined || value === null) {
69
+ return new Uint8Array([0]); // Return empty array for undefined fields
70
+ } else {
71
+ return mkByteArray(1, await encodeFn(value));
72
+ }
73
+ }
74
+ // Maybe suspicious?
75
+ async function encodeProtoOptional(parentValue, fieldName, value, encodeFn) {
76
+ if (parentValue && parentValue[fieldName] !== undefined) {
77
+ return mkByteArray(1, await encodeFn(value));
78
+ } else {
79
+ return new Uint8Array([0]); // Return empty array for undefined fields
80
+ }
81
+ }
82
+ async function encodeRepeated(values = [], encodeFn) {
83
+ const length = await encodeInt32(values.length);
84
+ const encodedValues = await Promise.all(values.map(encodeFn));
85
+ return mkByteArray(length, ...encodedValues);
86
+ }
87
+ function findSeed(nodeId, nodeSeeds) {
88
+ const seed = nodeSeeds.find((seed) => seed.nodeId.toString() === nodeId)?.seed;
89
+ return seed;
90
+ }
91
+ async function encodeIdentifier(identifier) {
92
+ return mkByteArray(
93
+ await encodeString(identifier.packageId),
94
+ await encodeRepeated(identifier.moduleName.split('.'), encodeString),
95
+ await encodeRepeated(identifier.entityName.split('.'), encodeString)
96
+ );
97
+ }
98
+ async function encodeMetadata(metadata) {
99
+ return mkByteArray(
100
+ Uint8Array.from([0x01]),
101
+ await encodeRepeated(metadata.submitterInfo?.actAs, encodeString),
102
+ await encodeString(metadata.submitterInfo?.commandId),
103
+ await encodeString(metadata.transactionUuid),
104
+ await encodeInt32(metadata.mediatorGroup),
105
+ await encodeString(metadata.synchronizerId),
106
+ await encodeProtoOptional(metadata, 'minLedgerEffectiveTime', metadata.minLedgerEffectiveTime, encodeInt64),
107
+ await encodeProtoOptional(metadata, 'maxLedgerEffectiveTime', metadata.maxLedgerEffectiveTime, encodeInt64),
108
+ await encodeInt64(metadata.preparationTime),
109
+ await encodeRepeated(metadata.inputContracts, encodeInputContract)
110
+ );
111
+ }
112
+ async function encodeCreateNode(create, nodeId, nodeSeeds) {
113
+ return create
114
+ ? mkByteArray(
115
+ NODE_ENCODING_VERSION,
116
+ await encodeString(create.lfVersion),
117
+ 0 /** Create node tag */,
118
+ await encodeOptional(findSeed(nodeId, nodeSeeds), encodeHash),
119
+ await encodeHexString(create.contractId),
120
+ await encodeString(create.packageName),
121
+ await encodeIdentifier(create.templateId),
122
+ await encodeValue(create.argument),
123
+ await encodeRepeated(create.signatories, encodeString),
124
+ await encodeRepeated(create.stakeholders, encodeString)
125
+ )
126
+ : mkByteArray();
127
+ }
128
+ async function encodeExerciseNode(exercise, nodeId, nodesDict, nodeSeeds) {
129
+ return mkByteArray(
130
+ NODE_ENCODING_VERSION,
131
+ await encodeString(exercise.lfVersion),
132
+ 1 /** Exercise node tag */,
133
+ await encodeHash(findSeed(nodeId, nodeSeeds)),
134
+ await encodeHexString(exercise.contractId),
135
+ await encodeString(exercise.packageName),
136
+ await encodeIdentifier(exercise.templateId),
137
+ await encodeRepeated(exercise.signatories, encodeString),
138
+ await encodeRepeated(exercise.stakeholders, encodeString),
139
+ await encodeRepeated(exercise.actingParties, encodeString),
140
+ await encodeProtoOptional(exercise, 'interfaceId', exercise.interfaceId, encodeIdentifier),
141
+ await encodeString(exercise.choiceId),
142
+ await encodeValue(exercise.chosenValue),
143
+ await encodeBool(exercise.consuming),
144
+ await encodeProtoOptional(exercise, 'exerciseResult', exercise.exerciseResult, encodeValue),
145
+ await encodeRepeated(exercise.choiceObservers, encodeString),
146
+ await encodeRepeated(exercise.children, encodeNodeId(nodesDict, nodeSeeds))
147
+ );
148
+ }
149
+ async function encodeFetchNode(fetch) {
150
+ return mkByteArray(
151
+ NODE_ENCODING_VERSION,
152
+ await encodeString(fetch.lfVersion),
153
+ 2 /** Fetch node tag */,
154
+ await encodeHexString(fetch.contractId),
155
+ await encodeString(fetch.packageName),
156
+ await encodeIdentifier(fetch.templateId),
157
+ await encodeRepeated(fetch.signatories, encodeString),
158
+ await encodeRepeated(fetch.stakeholders, encodeString),
159
+ await encodeProtoOptional(fetch, 'interfaceId', fetch.interfaceId, encodeIdentifier),
160
+ await encodeRepeated(fetch.actingParties, encodeString)
161
+ );
162
+ }
163
+ async function encodeRollbackNode(rollback, nodesDict, nodeSeeds) {
164
+ return mkByteArray(
165
+ NODE_ENCODING_VERSION,
166
+ 3 /** Rollback node tag */,
167
+ await encodeRepeated(rollback.children, encodeNodeId(nodesDict, nodeSeeds))
168
+ );
169
+ }
170
+ async function encodeInputContract(contract) {
171
+ if (contract.contract.oneofKind === 'v1')
172
+ return mkByteArray(
173
+ await encodeInt64(contract.createdAt),
174
+ await sha256(await encodeCreateNode(contract.contract.v1, 'unused_node_id', []))
175
+ );
176
+ else throw new Error('Unsupported contract version');
177
+ }
178
+ async function encodeValue(value) {
179
+ if (value.sum.oneofKind === 'unit') {
180
+ return Uint8Array.from([0]); // Unit value
181
+ } else if (value.sum.oneofKind === 'bool') {
182
+ return mkByteArray(Uint8Array.from([0x01]), await encodeBool(value.sum.bool));
183
+ } else if (value.sum.oneofKind === 'int64') {
184
+ return mkByteArray(Uint8Array.from([0x02]), await encodeInt64(parseInt(value.sum.int64, 10)));
185
+ } else if (value.sum.oneofKind === 'numeric') {
186
+ return mkByteArray(Uint8Array.from([0x03]), await encodeString(value.sum.numeric));
187
+ } else if (value.sum.oneofKind === 'timestamp') {
188
+ // eslint-disable-next-line no-undef
189
+ return mkByteArray(Uint8Array.from([0x04]), await encodeInt64(BigInt(value.sum.timestamp)));
190
+ } else if (value.sum.oneofKind === 'date') {
191
+ return mkByteArray(Uint8Array.from([0x05]), await encodeInt32(value.sum.date));
192
+ } else if (value.sum.oneofKind === 'party') {
193
+ return mkByteArray(Uint8Array.from([0x06]), await encodeString(value.sum.party));
194
+ } else if (value.sum.oneofKind === 'text') {
195
+ return mkByteArray(Uint8Array.from([0x07]), await encodeString(value.sum.text));
196
+ } else if (value.sum.oneofKind === 'contractId') {
197
+ return mkByteArray(Uint8Array.from([0x08]), await encodeHexString(value.sum.contractId));
198
+ } else if (value.sum.oneofKind === 'optional') {
199
+ return mkByteArray(
200
+ Uint8Array.from([0x09]),
201
+ await encodeProtoOptional(value.sum.optional, 'value', value.sum.optional.value, encodeValue)
202
+ );
203
+ } else if (value.sum.oneofKind === 'list') {
204
+ return mkByteArray(Uint8Array.from([0x0a]), await encodeRepeated(value.sum.list.elements, encodeValue));
205
+ } else if (value.sum.oneofKind === 'textMap') {
206
+ return mkByteArray(Uint8Array.from([0x0b]), await encodeRepeated(value.sum.textMap?.entries, encodeTextMapEntry));
207
+ } else if (value.sum.oneofKind === 'record') {
208
+ return mkByteArray(
209
+ Uint8Array.from([0x0c]),
210
+ await encodeProtoOptional(value.sum.record, 'recordId', value.sum.record.recordId, encodeIdentifier),
211
+ await encodeRepeated(value.sum.record.fields, encodeRecordField)
212
+ );
213
+ } else if (value.sum.oneofKind === 'variant') {
214
+ return mkByteArray(
215
+ Uint8Array.from([0x0d]),
216
+ await encodeProtoOptional(value.sum.variant, 'variantId', value.sum.variant.variantId, encodeIdentifier),
217
+ await encodeString(value.sum.variant.constructor),
218
+ await encodeValue(value.sum.variant.value)
219
+ );
220
+ } else if (value.sum.oneofKind === 'enum') {
221
+ return mkByteArray(
222
+ Uint8Array.from([0x0e]),
223
+ await encodeProtoOptional(value.sum.enum, 'enumId', value.sum.enum.enumId, encodeIdentifier),
224
+ await encodeString(value.sum.enum.constructor)
225
+ );
226
+ } else if (value.sum.oneofKind === 'genMap') {
227
+ return mkByteArray(Uint8Array.from([0x0f]), await encodeRepeated(value.sum.genMap?.entries, encodeGenMapEntry));
228
+ }
229
+ throw new Error('Unsupported value type: ' + JSON.stringify(value));
230
+ }
231
+ async function encodeTextMapEntry(entry) {
232
+ return mkByteArray(await encodeString(entry.key), await encodeValue(entry.value));
233
+ }
234
+ async function encodeRecordField(field) {
235
+ return mkByteArray(await encodeOptional(field.label, encodeString), await encodeValue(field.value));
236
+ }
237
+ async function encodeGenMapEntry(entry) {
238
+ return mkByteArray(await encodeValue(entry.key), await encodeValue(entry.value));
239
+ }
240
+ function encodeNodeId(nodesDict, nodeSeeds) {
241
+ return async (nodeId) => {
242
+ const node = nodesDict[nodeId];
243
+ if (!node) {
244
+ throw new Error(`Node with ID ${nodeId} not found in transaction`);
245
+ }
246
+ const encodedNode = await encodeNode(node, nodesDict, nodeSeeds);
247
+ return sha256(encodedNode);
248
+ };
249
+ }
250
+ async function encodeNode(node, nodesDict, nodeSeeds) {
251
+ if (node.versionedNode.oneofKind === 'v1') {
252
+ if (node.versionedNode.v1.nodeType.oneofKind === 'create') {
253
+ return encodeCreateNode(node.versionedNode.v1.nodeType.create, node.nodeId, nodeSeeds);
254
+ } else if (node.versionedNode.v1.nodeType.oneofKind === 'exercise') {
255
+ return encodeExerciseNode(node.versionedNode.v1.nodeType.exercise, node.nodeId, nodesDict, nodeSeeds);
256
+ } else if (node.versionedNode.v1.nodeType.oneofKind === 'fetch') {
257
+ return encodeFetchNode(node.versionedNode.v1.nodeType.fetch);
258
+ } else if (node.versionedNode.v1.nodeType.oneofKind === 'rollback') {
259
+ return encodeRollbackNode(node.versionedNode.v1.nodeType.rollback, nodesDict, nodeSeeds);
260
+ }
261
+ throw new Error('Unsupported node type');
262
+ } else {
263
+ throw new Error(`Unsupported node version`);
264
+ }
265
+ }
266
+ function createNodesDict(preparedTransaction) {
267
+ const nodesDict = {};
268
+ const nodes = preparedTransaction.transaction?.nodes || [];
269
+ for (const node of nodes) {
270
+ nodesDict[node.nodeId] = node;
271
+ }
272
+ return nodesDict;
273
+ }
274
+ async function encodeTransaction(transaction, nodesDict, nodeSeeds) {
275
+ return mkByteArray(
276
+ await encodeString(transaction.version),
277
+ await encodeRepeated(transaction.roots, encodeNodeId(nodesDict, nodeSeeds))
278
+ );
279
+ }
280
+ async function hashTransaction(transaction, nodesDict) {
281
+ const encodedTransaction = await encodeTransaction(transaction, nodesDict, transaction.nodeSeeds);
282
+ const hash = await sha256(await mkByteArray(PREPARED_TRANSACTION_HASH_PURPOSE, encodedTransaction));
283
+ return hash;
284
+ }
285
+ async function hashMetadata(metadata) {
286
+ const hash = await sha256(await mkByteArray(PREPARED_TRANSACTION_HASH_PURPOSE, await encodeMetadata(metadata)));
287
+ return hash;
288
+ }
289
+ async function encodePreparedTransaction(preparedTransaction) {
290
+ const nodesDict = createNodesDict(preparedTransaction);
291
+ const transactionHash = await hashTransaction(preparedTransaction.transaction, nodesDict);
292
+ const metadataHash = await hashMetadata(preparedTransaction.metadata);
293
+ return mkByteArray(PREPARED_TRANSACTION_HASH_PURPOSE, HASHING_SCHEME_VERSION, transactionHash, metadataHash);
294
+ }
295
+ export async function computePreparedTransaction(preparedTransaction) {
296
+ return sha256(await encodePreparedTransaction(preparedTransaction));
297
+ }
@@ -23,7 +23,7 @@ export interface CantonPrepareCommandResponse {
23
23
  preparedTransaction?: string;
24
24
  preparedTransactionHash: string;
25
25
  hashingSchemeVersion: string;
26
- hashingDetails?: string;
26
+ hashingDetails?: string | null;
27
27
  }
28
28
  export interface PreparedParty {
29
29
  partyId: string;
@@ -49,4 +49,27 @@ export interface WalletInitRequest {
49
49
  confirmationThreshold: number;
50
50
  observingParticipantUids: string[];
51
51
  }
52
+ interface PreApprovalCreateCommand {
53
+ templateId: string;
54
+ createArguments: {
55
+ receiver: string;
56
+ provider: string;
57
+ expectedDso: string;
58
+ };
59
+ }
60
+ export interface OneStepEnablementRequest {
61
+ commandId: string;
62
+ commands: [
63
+ {
64
+ CreateCommand: PreApprovalCreateCommand;
65
+ }
66
+ ];
67
+ disclosedContracts: [];
68
+ synchronizerId: string;
69
+ verboseHashing: boolean;
70
+ actAs: string[];
71
+ readAs: string[];
72
+ packageIdSelectionPreference: string[];
73
+ }
74
+ export {};
52
75
  //# sourceMappingURL=iface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,WAAW,4BAA4B;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,UAAU,CAAC;IACtB,+BAA+B,EAAE,OAAO,CAAC;IACzC,8BAA8B,EAAE,MAAM,EAAE,CAAC;IACzC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,MAAM,EAAE,CAAC;CACpC"}
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,WAAW,4BAA4B;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,UAAU,CAAC;IACtB,+BAA+B,EAAE,OAAO,CAAC;IACzC,8BAA8B,EAAE,MAAM,EAAE,CAAC;IACzC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,MAAM,EAAE,CAAC;CACpC;AAED,UAAU,wBAAwB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE;QACR;YACE,aAAa,EAAE,wBAAwB,CAAC;SACzC;KACF,CAAC;IACF,kBAAkB,EAAE,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,4BAA4B,EAAE,MAAM,EAAE,CAAC;CACxC"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBEYW1sVHJhbnNhY3Rpb24sIE1ldGFkYXRhIH0gZnJvbSAnLi9yZXNvdXJjZXNJbnRlcmZhY2UnO1xuXG4vKipcbiAqIFRoZSB0cmFuc2FjdGlvbiBkYXRhIHJldHVybmVkIGZyb20gdGhlIHRvSnNvbigpIGZ1bmN0aW9uIG9mIGEgdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeERhdGEge1xuICBpZDogc3RyaW5nO1xuICB0eXBlOiBUcmFuc2FjdGlvblR5cGU7XG4gIHNlbmRlcjogc3RyaW5nO1xuICByZWNlaXZlcjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByZXBhcmVkVHhuUGFyc2VkSW5mbyB7XG4gIHNlbmRlcjogc3RyaW5nO1xuICByZWNlaXZlcjogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRJbml0VHhEYXRhIHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xuICBwcmVwYXJlZFBhcnR5OiBQcmVwYXJlZFBhcnR5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbnRvblByZXBhcmVDb21tYW5kUmVzcG9uc2Uge1xuICBwcmVwYXJlZFRyYW5zYWN0aW9uPzogc3RyaW5nO1xuICBwcmVwYXJlZFRyYW5zYWN0aW9uSGFzaDogc3RyaW5nO1xuICBoYXNoaW5nU2NoZW1lVmVyc2lvbjogc3RyaW5nO1xuICBoYXNoaW5nRGV0YWlscz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcmVwYXJlZFBhcnR5IHtcbiAgcGFydHlJZDogc3RyaW5nO1xuICBwdWJsaWNLZXlGaW5nZXJwcmludDogc3RyaW5nO1xuICB0b3BvbG9neVRyYW5zYWN0aW9uczogc3RyaW5nW107XG4gIG11bHRpSGFzaDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByZXBhcmVkVHJhbnNhY3Rpb24ge1xuICB0cmFuc2FjdGlvbj86IERhbWxUcmFuc2FjdGlvbjtcbiAgbWV0YWRhdGE/OiBNZXRhZGF0YTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUHVibGljS2V5IHtcbiAgZm9ybWF0OiBzdHJpbmc7XG4gIGtleURhdGE6IHN0cmluZztcbiAga2V5U3BlYzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhbGxldEluaXRSZXF1ZXN0IHtcbiAgc3luY2hyb25pemVyOiBzdHJpbmc7XG4gIHBhcnR5SGludDogc3RyaW5nO1xuICBwdWJsaWNLZXk6IElQdWJsaWNLZXk7XG4gIGxvY2FsUGFydGljaXBhbnRPYnNlcnZhdGlvbk9ubHk6IGJvb2xlYW47XG4gIG90aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkczogc3RyaW5nW107XG4gIGNvbmZpcm1hdGlvblRocmVzaG9sZDogbnVtYmVyO1xuICBvYnNlcnZpbmdQYXJ0aWNpcGFudFVpZHM6IHN0cmluZ1tdO1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBEYW1sVHJhbnNhY3Rpb24sIE1ldGFkYXRhIH0gZnJvbSAnLi9yZXNvdXJjZXNJbnRlcmZhY2UnO1xuXG4vKipcbiAqIFRoZSB0cmFuc2FjdGlvbiBkYXRhIHJldHVybmVkIGZyb20gdGhlIHRvSnNvbigpIGZ1bmN0aW9uIG9mIGEgdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeERhdGEge1xuICBpZDogc3RyaW5nO1xuICB0eXBlOiBUcmFuc2FjdGlvblR5cGU7XG4gIHNlbmRlcjogc3RyaW5nO1xuICByZWNlaXZlcjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByZXBhcmVkVHhuUGFyc2VkSW5mbyB7XG4gIHNlbmRlcjogc3RyaW5nO1xuICByZWNlaXZlcjogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRJbml0VHhEYXRhIHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xuICBwcmVwYXJlZFBhcnR5OiBQcmVwYXJlZFBhcnR5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbnRvblByZXBhcmVDb21tYW5kUmVzcG9uc2Uge1xuICBwcmVwYXJlZFRyYW5zYWN0aW9uPzogc3RyaW5nO1xuICBwcmVwYXJlZFRyYW5zYWN0aW9uSGFzaDogc3RyaW5nO1xuICBoYXNoaW5nU2NoZW1lVmVyc2lvbjogc3RyaW5nO1xuICBoYXNoaW5nRGV0YWlscz86IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlcGFyZWRQYXJ0eSB7XG4gIHBhcnR5SWQ6IHN0cmluZztcbiAgcHVibGljS2V5RmluZ2VycHJpbnQ6IHN0cmluZztcbiAgdG9wb2xvZ3lUcmFuc2FjdGlvbnM6IHN0cmluZ1tdO1xuICBtdWx0aUhhc2g6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcmVwYXJlZFRyYW5zYWN0aW9uIHtcbiAgdHJhbnNhY3Rpb24/OiBEYW1sVHJhbnNhY3Rpb247XG4gIG1ldGFkYXRhPzogTWV0YWRhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVB1YmxpY0tleSB7XG4gIGZvcm1hdDogc3RyaW5nO1xuICBrZXlEYXRhOiBzdHJpbmc7XG4gIGtleVNwZWM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWxsZXRJbml0UmVxdWVzdCB7XG4gIHN5bmNocm9uaXplcjogc3RyaW5nO1xuICBwYXJ0eUhpbnQ6IHN0cmluZztcbiAgcHVibGljS2V5OiBJUHVibGljS2V5O1xuICBsb2NhbFBhcnRpY2lwYW50T2JzZXJ2YXRpb25Pbmx5OiBib29sZWFuO1xuICBvdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZHM6IHN0cmluZ1tdO1xuICBjb25maXJtYXRpb25UaHJlc2hvbGQ6IG51bWJlcjtcbiAgb2JzZXJ2aW5nUGFydGljaXBhbnRVaWRzOiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIFByZUFwcHJvdmFsQ3JlYXRlQ29tbWFuZCB7XG4gIHRlbXBsYXRlSWQ6IHN0cmluZztcbiAgY3JlYXRlQXJndW1lbnRzOiB7XG4gICAgcmVjZWl2ZXI6IHN0cmluZztcbiAgICBwcm92aWRlcjogc3RyaW5nO1xuICAgIGV4cGVjdGVkRHNvOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25lU3RlcEVuYWJsZW1lbnRSZXF1ZXN0IHtcbiAgY29tbWFuZElkOiBzdHJpbmc7XG4gIGNvbW1hbmRzOiBbXG4gICAge1xuICAgICAgQ3JlYXRlQ29tbWFuZDogUHJlQXBwcm92YWxDcmVhdGVDb21tYW5kO1xuICAgIH1cbiAgXTtcbiAgZGlzY2xvc2VkQ29udHJhY3RzOiBbXTtcbiAgc3luY2hyb25pemVySWQ6IHN0cmluZztcbiAgdmVyYm9zZUhhc2hpbmc6IGJvb2xlYW47XG4gIGFjdEFzOiBzdHJpbmdbXTtcbiAgcmVhZEFzOiBzdHJpbmdbXTtcbiAgcGFja2FnZUlkU2VsZWN0aW9uUHJlZmVyZW5jZTogc3RyaW5nW107XG59XG4iXX0=
@@ -0,0 +1,85 @@
1
+ import { TransactionType } from '@bitgo-beta/sdk-core';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { CantonPrepareCommandResponse, OneStepEnablementRequest } from './iface';
4
+ import { TransactionBuilder } from './transactionBuilder';
5
+ import { Transaction } from './transaction/transaction';
6
+ export declare class OneStepPreApprovalBuilder extends TransactionBuilder {
7
+ private _synchronizerId;
8
+ private _commandId;
9
+ private _templateId;
10
+ private _receiverPartyId;
11
+ private _providerPartyId;
12
+ private _expectedDso;
13
+ constructor(_coinConfig: Readonly<CoinConfig>);
14
+ initBuilder(tx: Transaction): void;
15
+ get transactionType(): TransactionType;
16
+ setTransactionType(): void;
17
+ setTransaction(transaction: CantonPrepareCommandResponse): void;
18
+ /**
19
+ * Sets the synchronizer ID for the pre-approval builder.
20
+ *
21
+ * @param id - The synchronizer identifier (must be a non-empty string).
22
+ * @returns The current builder instance for chaining.
23
+ * @throws Error if the synchronizer ID is empty.
24
+ */
25
+ synchronizerId(id: string): this;
26
+ /**
27
+ * Sets the unique id for the 1-step enablement
28
+ * Also sets the _id of the transaction
29
+ *
30
+ * @param id - A uuid
31
+ * @returns The current builder instance for chaining.
32
+ * @throws Error if id is empty.
33
+ */
34
+ commandId(id: string): this;
35
+ /**
36
+ * Sets the template id for the 1-step enablement
37
+ *
38
+ * @param id - the template if of the form `#splice-wallet:Splice.Wallet.TransferPreapproval:TransferPreapprovalProposal`
39
+ * @returns The current builder instance for chaining.
40
+ * @throws Error if id is empty.
41
+ */
42
+ templateId(id: string): this;
43
+ /**
44
+ * Sets the receiver for the 1-step enablement
45
+ *
46
+ * @param id - the receiver party id (address)
47
+ * @returns The current builder instance for chaining.
48
+ * @throws Error if id is empty.
49
+ */
50
+ receiverPartyId(id: string): this;
51
+ /**
52
+ * Sets the provider for the 1-step enablement
53
+ *
54
+ * @param id - the validator party id (address)
55
+ * @returns The current builder instance for chaining.
56
+ * @throws Error if id is empty.
57
+ */
58
+ providerPartyId(id: string): this;
59
+ /**
60
+ * Sets the dso id for the 1-step enablement
61
+ *
62
+ * @param id - the dso id of the validator
63
+ * @returns The current builder instance for chaining.
64
+ * @throws Error if id is empty.
65
+ */
66
+ expectedDso(id: string): this;
67
+ /**
68
+ * Builds and returns the OneStepEnablementRequest object from the builder's internal state.
69
+ *
70
+ * This method performs validation before constructing the object. If required fields are
71
+ * missing or invalid, it throws an error.
72
+ *
73
+ * @returns {OneStepEnablementRequest} - A fully constructed and validated request object for 1-step enablement.
74
+ * @throws {Error} If any required field is missing or fails validation.
75
+ */
76
+ toRequestObject(): OneStepEnablementRequest;
77
+ /**
78
+ * Validates the internal state of the builder before building the request object.
79
+ *
80
+ * @private
81
+ * @throws {Error} If any required field is missing or invalid.
82
+ */
83
+ private validate;
84
+ }
85
+ //# sourceMappingURL=oneStepPreApprovalBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oneStepPreApprovalBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/oneStepPreApprovalBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,qBAAa,yBAA0B,SAAQ,kBAAkB;IAC/D,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,YAAY,CAAS;gBACjB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAKlC,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,kBAAkB,IAAI,IAAI;IAI1B,cAAc,CAAC,WAAW,EAAE,4BAA4B,GAAG,IAAI;IAI/D;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQhC;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAU3B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ5B;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQjC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQjC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ7B;;;;;;;;OAQG;IACH,eAAe,IAAI,wBAAwB;IA0B3C;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;CAQjB"}
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OneStepPreApprovalBuilder = void 0;
4
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const transactionBuilder_1 = require("./transactionBuilder");
6
+ class OneStepPreApprovalBuilder extends transactionBuilder_1.TransactionBuilder {
7
+ constructor(_coinConfig) {
8
+ super(_coinConfig);
9
+ }
10
+ initBuilder(tx) {
11
+ super.initBuilder(tx);
12
+ this.setTransactionType();
13
+ }
14
+ get transactionType() {
15
+ return sdk_core_1.TransactionType.OneStepPreApproval;
16
+ }
17
+ setTransactionType() {
18
+ this.transaction.transactionType = sdk_core_1.TransactionType.OneStepPreApproval;
19
+ }
20
+ setTransaction(transaction) {
21
+ this.transaction.prepareCommand = transaction;
22
+ }
23
+ /**
24
+ * Sets the synchronizer ID for the pre-approval builder.
25
+ *
26
+ * @param id - The synchronizer identifier (must be a non-empty string).
27
+ * @returns The current builder instance for chaining.
28
+ * @throws Error if the synchronizer ID is empty.
29
+ */
30
+ synchronizerId(id) {
31
+ if (!id.trim()) {
32
+ throw new Error('synchronizer must be a non-empty string');
33
+ }
34
+ this._synchronizerId = id.trim();
35
+ return this;
36
+ }
37
+ /**
38
+ * Sets the unique id for the 1-step enablement
39
+ * Also sets the _id of the transaction
40
+ *
41
+ * @param id - A uuid
42
+ * @returns The current builder instance for chaining.
43
+ * @throws Error if id is empty.
44
+ */
45
+ commandId(id) {
46
+ if (!id.trim()) {
47
+ throw new Error('commandId must be a non-empty string');
48
+ }
49
+ this._commandId = id.trim();
50
+ // also set the transaction _id
51
+ this.transaction.id = id.trim();
52
+ return this;
53
+ }
54
+ /**
55
+ * Sets the template id for the 1-step enablement
56
+ *
57
+ * @param id - the template if of the form `#splice-wallet:Splice.Wallet.TransferPreapproval:TransferPreapprovalProposal`
58
+ * @returns The current builder instance for chaining.
59
+ * @throws Error if id is empty.
60
+ */
61
+ templateId(id) {
62
+ if (!id.trim()) {
63
+ throw new Error('templateId must be a non-empty string');
64
+ }
65
+ this._templateId = id.trim();
66
+ return this;
67
+ }
68
+ /**
69
+ * Sets the receiver for the 1-step enablement
70
+ *
71
+ * @param id - the receiver party id (address)
72
+ * @returns The current builder instance for chaining.
73
+ * @throws Error if id is empty.
74
+ */
75
+ receiverPartyId(id) {
76
+ if (!id.trim()) {
77
+ throw new Error('receiverPartyId must be a non-empty string');
78
+ }
79
+ this._receiverPartyId = id.trim();
80
+ return this;
81
+ }
82
+ /**
83
+ * Sets the provider for the 1-step enablement
84
+ *
85
+ * @param id - the validator party id (address)
86
+ * @returns The current builder instance for chaining.
87
+ * @throws Error if id is empty.
88
+ */
89
+ providerPartyId(id) {
90
+ if (!id.trim()) {
91
+ throw new Error('providerPartyId must be a non-empty string');
92
+ }
93
+ this._providerPartyId = id.trim();
94
+ return this;
95
+ }
96
+ /**
97
+ * Sets the dso id for the 1-step enablement
98
+ *
99
+ * @param id - the dso id of the validator
100
+ * @returns The current builder instance for chaining.
101
+ * @throws Error if id is empty.
102
+ */
103
+ expectedDso(id) {
104
+ if (!id.trim()) {
105
+ throw new Error('expectedDso must be a non-empty string');
106
+ }
107
+ this._expectedDso = id.trim();
108
+ return this;
109
+ }
110
+ /**
111
+ * Builds and returns the OneStepEnablementRequest object from the builder's internal state.
112
+ *
113
+ * This method performs validation before constructing the object. If required fields are
114
+ * missing or invalid, it throws an error.
115
+ *
116
+ * @returns {OneStepEnablementRequest} - A fully constructed and validated request object for 1-step enablement.
117
+ * @throws {Error} If any required field is missing or fails validation.
118
+ */
119
+ toRequestObject() {
120
+ this.validate();
121
+ return {
122
+ commandId: this._commandId,
123
+ commands: [
124
+ {
125
+ CreateCommand: {
126
+ templateId: this._templateId,
127
+ createArguments: {
128
+ receiver: this._receiverPartyId,
129
+ provider: this._providerPartyId,
130
+ expectedDso: this._expectedDso,
131
+ },
132
+ },
133
+ },
134
+ ],
135
+ disclosedContracts: [],
136
+ synchronizerId: this._synchronizerId,
137
+ verboseHashing: false,
138
+ actAs: [this._receiverPartyId],
139
+ readAs: [],
140
+ packageIdSelectionPreference: [],
141
+ };
142
+ }
143
+ /**
144
+ * Validates the internal state of the builder before building the request object.
145
+ *
146
+ * @private
147
+ * @throws {Error} If any required field is missing or invalid.
148
+ */
149
+ validate() {
150
+ if (!this._receiverPartyId)
151
+ throw new Error('receiver partyId is missing');
152
+ if (!this._providerPartyId)
153
+ throw new Error('provider partyId is missing');
154
+ if (!this._expectedDso)
155
+ throw new Error('expectedDso is missing');
156
+ if (!this._commandId)
157
+ throw new Error('commandId is missing');
158
+ if (!this._templateId)
159
+ throw new Error('templateId is missing');
160
+ if (!this._synchronizerId)
161
+ throw new Error('synchronizerId is missing');
162
+ }
163
+ }
164
+ exports.OneStepPreApprovalBuilder = OneStepPreApprovalBuilder;
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lU3RlcFByZUFwcHJvdmFsQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvb25lU3RlcFByZUFwcHJvdmFsQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBdUQ7QUFHdkQsNkRBQTBEO0FBRzFELE1BQWEseUJBQTBCLFNBQVEsdUNBQWtCO0lBTy9ELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXLENBQUMsRUFBZTtRQUN6QixLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTywwQkFBZSxDQUFDLGtCQUFrQixDQUFDO0lBQzVDLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEdBQUcsMEJBQWUsQ0FBQyxrQkFBa0IsQ0FBQztJQUN4RSxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQXlDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsY0FBYyxDQUFDLEVBQVU7UUFDdkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsU0FBUyxDQUFDLEVBQVU7UUFDbEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxJ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LElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRjtBQTFLRCw4REEwS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlLCBPbmVTdGVwRW5hYmxlbWVudFJlcXVlc3QgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBPbmVTdGVwUHJlQXBwcm92YWxCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfc3luY2hyb25pemVySWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfY29tbWFuZElkOiBzdHJpbmc7XG4gIHByaXZhdGUgX3RlbXBsYXRlSWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfcmVjZWl2ZXJQYXJ0eUlkOiBzdHJpbmc7XG4gIHByaXZhdGUgX3Byb3ZpZGVyUGFydHlJZDogc3RyaW5nO1xuICBwcml2YXRlIF9leHBlY3RlZERzbzogc3RyaW5nO1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBpbml0QnVpbGRlcih0eDogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0QnVpbGRlcih0eCk7XG4gICAgdGhpcy5zZXRUcmFuc2FjdGlvblR5cGUoKTtcbiAgfVxuXG4gIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLk9uZVN0ZXBQcmVBcHByb3ZhbDtcbiAgfVxuXG4gIHNldFRyYW5zYWN0aW9uVHlwZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uVHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5PbmVTdGVwUHJlQXBwcm92YWw7XG4gIH1cblxuICBzZXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogQ2FudG9uUHJlcGFyZUNvbW1hbmRSZXNwb25zZSk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb24ucHJlcGFyZUNvbW1hbmQgPSB0cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzeW5jaHJvbml6ZXIgSUQgZm9yIHRoZSBwcmUtYXBwcm92YWwgYnVpbGRlci5cbiAgICpcbiAgICogQHBhcmFtIGlkIC0gVGhlIHN5bmNocm9uaXplciBpZGVudGlmaWVyIChtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZykuXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBzeW5jaHJvbml6ZXIgSUQgaXMgZW1wdHkuXG4gICAqL1xuICBzeW5jaHJvbml6ZXJJZChpZDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpZC50cmltKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignc3luY2hyb25pemVyIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gICAgfVxuICAgIHRoaXMuX3N5bmNocm9uaXplcklkID0gaWQudHJpbSgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHVuaXF1ZSBpZCBmb3IgdGhlIDEtc3RlcCBlbmFibGVtZW50XG4gICAqIEFsc28gc2V0cyB0aGUgX2lkIG9mIHRoZSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0gaWQgLSBBIHV1aWRcbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgaWQgaXMgZW1wdHkuXG4gICAqL1xuICBjb21tYW5kSWQoaWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaWQudHJpbSgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NvbW1hbmRJZCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZycpO1xuICAgIH1cbiAgICB0aGlzLl9jb21tYW5kSWQgPSBpZC50cmltKCk7XG4gICAgLy8gYWxzbyBzZXQgdGhlIHRyYW5zYWN0aW9uIF9pZFxuICAgIHRoaXMudHJhbnNhY3Rpb24uaWQgPSBpZC50cmltKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdGVtcGxhdGUgaWQgZm9yIHRoZSAxLXN0ZXAgZW5hYmxlbWVudFxuICAgKlxuICAgKiBAcGFyYW0gaWQgLSB0aGUgdGVtcGxhdGUgaWYgb2YgdGhlIGZvcm0gYCNzcGxpY2Utd2FsbGV0OlNwbGljZS5XYWxsZXQuVHJhbnNmZXJQcmVhcHByb3ZhbDpUcmFuc2ZlclByZWFwcHJvdmFsUHJvcG9zYWxgXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGlkIGlzIGVtcHR5LlxuICAgKi9cbiAgdGVtcGxhdGVJZChpZDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpZC50cmltKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigndGVtcGxhdGVJZCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZycpO1xuICAgIH1cbiAgICB0aGlzLl90ZW1wbGF0ZUlkID0gaWQudHJpbSgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHJlY2VpdmVyIGZvciB0aGUgMS1zdGVwIGVuYWJsZW1lbnRcbiAgICpcbiAgICogQHBhcmFtIGlkIC0gdGhlIHJlY2VpdmVyIHBhcnR5IGlkIChhZGRyZXNzKVxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICogQHRocm93cyBFcnJvciBpZiBpZCBpcyBlbXB0eS5cbiAgICovXG4gIHJlY2VpdmVyUGFydHlJZChpZDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpZC50cmltKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncmVjZWl2ZXJQYXJ0eUlkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gICAgfVxuICAgIHRoaXMuX3JlY2VpdmVyUGFydHlJZCA9IGlkLnRyaW0oKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwcm92aWRlciBmb3IgdGhlIDEtc3RlcCBlbmFibGVtZW50XG4gICAqXG4gICAqIEBwYXJhbSBpZCAtIHRoZSB2YWxpZGF0b3IgcGFydHkgaWQgKGFkZHJlc3MpXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGlkIGlzIGVtcHR5LlxuICAgKi9cbiAgcHJvdmlkZXJQYXJ0eUlkKGlkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlkLnRyaW0oKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdwcm92aWRlclBhcnR5SWQgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcnKTtcbiAgICB9XG4gICAgdGhpcy5fcHJvdmlkZXJQYXJ0eUlkID0gaWQudHJpbSgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGRzbyBpZCBmb3IgdGhlIDEtc3RlcCBlbmFibGVtZW50XG4gICAqXG4gICAqIEBwYXJhbSBpZCAtIHRoZSBkc28gaWQgb2YgdGhlIHZhbGlkYXRvclxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICogQHRocm93cyBFcnJvciBpZiBpZCBpcyBlbXB0eS5cbiAgICovXG4gIGV4cGVjdGVkRHNvKGlkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAoIWlkLnRyaW0oKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdleHBlY3RlZERzbyBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZycpO1xuICAgIH1cbiAgICB0aGlzLl9leHBlY3RlZERzbyA9IGlkLnRyaW0oKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYW5kIHJldHVybnMgdGhlIE9uZVN0ZXBFbmFibGVtZW50UmVxdWVzdCBvYmplY3QgZnJvbSB0aGUgYnVpbGRlcidzIGludGVybmFsIHN0YXRlLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBwZXJmb3JtcyB2YWxpZGF0aW9uIGJlZm9yZSBjb25zdHJ1Y3RpbmcgdGhlIG9iamVjdC4gSWYgcmVxdWlyZWQgZmllbGRzIGFyZVxuICAgKiBtaXNzaW5nIG9yIGludmFsaWQsIGl0IHRocm93cyBhbiBlcnJvci5cbiAgICpcbiAgICogQHJldHVybnMge09uZVN0ZXBFbmFibGVtZW50UmVxdWVzdH0gLSBBIGZ1bGx5IGNvbnN0cnVjdGVkIGFuZCB2YWxpZGF0ZWQgcmVxdWVzdCBvYmplY3QgZm9yIDEtc3RlcCBlbmFibGVtZW50LlxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgYW55IHJlcXVpcmVkIGZpZWxkIGlzIG1pc3Npbmcgb3IgZmFpbHMgdmFsaWRhdGlvbi5cbiAgICovXG4gIHRvUmVxdWVzdE9iamVjdCgpOiBPbmVTdGVwRW5hYmxlbWVudFJlcXVlc3Qge1xuICAgIHRoaXMudmFsaWRhdGUoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb21tYW5kSWQ6IHRoaXMuX2NvbW1hbmRJZCxcbiAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBDcmVhdGVDb21tYW5kOiB7XG4gICAgICAgICAgICB0ZW1wbGF0ZUlkOiB0aGlzLl90ZW1wbGF0ZUlkLFxuICAgICAgICAgICAgY3JlYXRlQXJndW1lbnRzOiB7XG4gICAgICAgICAgICAgIHJlY2VpdmVyOiB0aGlzLl9yZWNlaXZlclBhcnR5SWQsXG4gICAgICAgICAgICAgIHByb3ZpZGVyOiB0aGlzLl9wcm92aWRlclBhcnR5SWQsXG4gICAgICAgICAgICAgIGV4cGVjdGVkRHNvOiB0aGlzLl9leHBlY3RlZERzbyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBkaXNjbG9zZWRDb250cmFjdHM6IFtdLFxuICAgICAgc3luY2hyb25pemVySWQ6IHRoaXMuX3N5bmNocm9uaXplcklkLFxuICAgICAgdmVyYm9zZUhhc2hpbmc6IGZhbHNlLFxuICAgICAgYWN0QXM6IFt0aGlzLl9yZWNlaXZlclBhcnR5SWRdLFxuICAgICAgcmVhZEFzOiBbXSxcbiAgICAgIHBhY2thZ2VJZFNlbGVjdGlvblByZWZlcmVuY2U6IFtdLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBpbnRlcm5hbCBzdGF0ZSBvZiB0aGUgYnVpbGRlciBiZWZvcmUgYnVpbGRpbmcgdGhlIHJlcXVlc3Qgb2JqZWN0LlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgYW55IHJlcXVpcmVkIGZpZWxkIGlzIG1pc3Npbmcgb3IgaW52YWxpZC5cbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9yZWNlaXZlclBhcnR5SWQpIHRocm93IG5ldyBFcnJvcigncmVjZWl2ZXIgcGFydHlJZCBpcyBtaXNzaW5nJyk7XG4gICAgaWYgKCF0aGlzLl9wcm92aWRlclBhcnR5SWQpIHRocm93IG5ldyBFcnJvcigncHJvdmlkZXIgcGFydHlJZCBpcyBtaXNzaW5nJyk7XG4gICAgaWYgKCF0aGlzLl9leHBlY3RlZERzbykgdGhyb3cgbmV3IEVycm9yKCdleHBlY3RlZERzbyBpcyBtaXNzaW5nJyk7XG4gICAgaWYgKCF0aGlzLl9jb21tYW5kSWQpIHRocm93IG5ldyBFcnJvcignY29tbWFuZElkIGlzIG1pc3NpbmcnKTtcbiAgICBpZiAoIXRoaXMuX3RlbXBsYXRlSWQpIHRocm93IG5ldyBFcnJvcigndGVtcGxhdGVJZCBpcyBtaXNzaW5nJyk7XG4gICAgaWYgKCF0aGlzLl9zeW5jaHJvbml6ZXJJZCkgdGhyb3cgbmV3IEVycm9yKCdzeW5jaHJvbml6ZXJJZCBpcyBtaXNzaW5nJyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,13 +1,18 @@
1
- import { BaseKey, BaseTransaction } from '@bitgo-beta/sdk-core';
1
+ import { BaseKey, BaseTransaction, TransactionType } from '@bitgo-beta/sdk-core';
2
2
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
3
  import { CantonPrepareCommandResponse, TxData } from '../iface';
4
4
  export declare class Transaction extends BaseTransaction {
5
- private _transaction;
5
+ private _prepareCommand;
6
6
  constructor(coinConfig: Readonly<CoinConfig>);
7
- get transaction(): CantonPrepareCommandResponse;
8
- set transaction(transaction: CantonPrepareCommandResponse);
7
+ get prepareCommand(): CantonPrepareCommandResponse;
8
+ set prepareCommand(transaction: CantonPrepareCommandResponse);
9
+ set transactionType(transactionType: TransactionType);
10
+ get id(): string;
11
+ set id(id: string);
9
12
  canSign(key: BaseKey): boolean;
10
13
  toBroadcastFormat(): string;
11
14
  toJson(): TxData;
15
+ getSignablePayload(): Buffer;
16
+ fromRawTransaction(rawTx: string): void;
12
17
  }
13
18
  //# sourceMappingURL=transaction.d.ts.map