@bitgo-beta/sdk-coin-canton 1.0.1-beta.7 → 1.0.1-beta.71

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 (94) hide show
  1. package/dist/resources/hash/hash.d.ts +5 -0
  2. package/dist/resources/hash/hash.js +298 -0
  3. package/dist/resources/proto/damlTransaction.js +100 -0
  4. package/dist/resources/proto/damlTransactionNode.js +71 -0
  5. package/dist/resources/proto/damlTransactionNodeSeed.js +56 -0
  6. package/dist/resources/proto/metadata/metadataGlobalKeyMappingEntry.js +53 -0
  7. package/dist/resources/proto/metadata/metadataInputContract.js +80 -0
  8. package/dist/resources/proto/metadata/metadataSubmitterInfo.js +62 -0
  9. package/dist/resources/proto/metadata.js +189 -0
  10. package/dist/resources/proto/node/empty.js +36 -0
  11. package/dist/resources/proto/node/globalKey.js +81 -0
  12. package/dist/resources/proto/node/identifier.js +73 -0
  13. package/dist/resources/proto/node/node.js +664 -0
  14. package/dist/resources/proto/node/timestamp.js +145 -0
  15. package/dist/resources/proto/node/value.js +838 -0
  16. package/dist/resources/proto/preparedTransaction.d.ts +8 -0
  17. package/dist/resources/proto/preparedTransaction.js +66 -0
  18. package/dist/src/canton.d.ts +4 -2
  19. package/dist/src/canton.d.ts.map +1 -1
  20. package/dist/src/canton.js +44 -6
  21. package/dist/src/index.d.ts +1 -0
  22. package/dist/src/index.d.ts.map +1 -1
  23. package/dist/src/index.js +2 -1
  24. package/dist/src/lib/constant.d.ts +16 -0
  25. package/dist/src/lib/constant.d.ts.map +1 -0
  26. package/dist/src/lib/constant.js +19 -0
  27. package/dist/src/lib/iface.d.ts +101 -0
  28. package/dist/src/lib/iface.d.ts.map +1 -1
  29. package/dist/src/lib/iface.js +1 -1
  30. package/dist/src/lib/index.d.ts +6 -1
  31. package/dist/src/lib/index.d.ts.map +1 -1
  32. package/dist/src/lib/index.js +13 -3
  33. package/dist/src/lib/keyPair.d.ts +7 -1
  34. package/dist/src/lib/keyPair.d.ts.map +1 -1
  35. package/dist/src/lib/keyPair.js +24 -4
  36. package/dist/src/lib/oneStepPreApprovalBuilder.d.ts +51 -0
  37. package/dist/src/lib/oneStepPreApprovalBuilder.d.ts.map +1 -0
  38. package/dist/src/lib/oneStepPreApprovalBuilder.js +101 -0
  39. package/dist/src/lib/resourcesInterface.d.ts +214 -0
  40. package/dist/src/lib/resourcesInterface.d.ts.map +1 -0
  41. package/dist/src/lib/resourcesInterface.js +3 -0
  42. package/dist/src/lib/transaction/transaction.d.ts +23 -0
  43. package/dist/src/lib/transaction/transaction.d.ts.map +1 -0
  44. package/dist/src/lib/transaction/transaction.js +168 -0
  45. package/dist/src/lib/transactionBuilder.d.ts +10 -17
  46. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  47. package/dist/src/lib/transactionBuilder.js +31 -27
  48. package/dist/src/lib/transactionBuilderFactory.d.ts +13 -3
  49. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  50. package/dist/src/lib/transactionBuilderFactory.js +49 -6
  51. package/dist/src/lib/transferAcceptanceBuilder.d.ts +59 -0
  52. package/dist/src/lib/transferAcceptanceBuilder.d.ts.map +1 -0
  53. package/dist/src/lib/transferAcceptanceBuilder.js +116 -0
  54. package/dist/src/lib/transferAcknowledgeBuilder.d.ts +72 -0
  55. package/dist/src/lib/transferAcknowledgeBuilder.d.ts.map +1 -0
  56. package/dist/src/lib/transferAcknowledgeBuilder.js +133 -0
  57. package/dist/src/lib/transferBuilder.d.ts +5 -1
  58. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  59. package/dist/src/lib/transferBuilder.js +8 -1
  60. package/dist/src/lib/utils.d.ts +101 -0
  61. package/dist/src/lib/utils.d.ts.map +1 -1
  62. package/dist/src/lib/utils.js +258 -3
  63. package/dist/src/lib/walletInitBuilder.d.ts +101 -0
  64. package/dist/src/lib/walletInitBuilder.d.ts.map +1 -0
  65. package/dist/src/lib/walletInitBuilder.js +232 -0
  66. package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts +16 -0
  67. package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts.map +1 -0
  68. package/dist/src/lib/walletInitialization/walletInitTransaction.js +87 -0
  69. package/dist/test/resources.d.ts +65 -0
  70. package/dist/test/resources.d.ts.map +1 -0
  71. package/dist/test/resources.js +80 -0
  72. package/dist/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.d.ts +2 -0
  73. package/dist/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.d.ts.map +1 -0
  74. package/dist/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.js +66 -0
  75. package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.d.ts +2 -0
  76. package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.d.ts.map +1 -0
  77. package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.js +70 -0
  78. package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.d.ts +2 -0
  79. package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.d.ts.map +1 -0
  80. package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.js +32 -0
  81. package/dist/test/unit/builder/walletInit/walletInitBuilder.d.ts +2 -0
  82. package/dist/test/unit/builder/walletInit/walletInitBuilder.d.ts.map +1 -0
  83. package/dist/test/unit/builder/walletInit/walletInitBuilder.js +65 -0
  84. package/dist/test/unit/keyPair.d.ts +2 -0
  85. package/dist/test/unit/keyPair.d.ts.map +1 -0
  86. package/dist/test/unit/keyPair.js +72 -0
  87. package/dist/test/unit/utils.d.ts +2 -0
  88. package/dist/test/unit/utils.d.ts.map +1 -0
  89. package/dist/test/unit/utils.js +76 -0
  90. package/dist/tsconfig.tsbuildinfo +1 -1
  91. package/package.json +29 -10
  92. package/dist/src/lib/transaction.d.ts +0 -8
  93. package/dist/src/lib/transaction.d.ts.map +0 -1
  94. package/dist/src/lib/transaction.js +0 -17
@@ -0,0 +1,101 @@
1
+ import BigNumber from 'bignumber.js';
2
+ import { BaseAddress, BaseKey, BaseTransactionBuilder, PublicKey } from '@bitgo-beta/sdk-core';
3
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
4
+ import { PreparedParty, WalletInitRequest } from './iface';
5
+ import { WalletInitTransaction } from './walletInitialization/walletInitTransaction';
6
+ export declare class WalletInitBuilder extends BaseTransactionBuilder {
7
+ private _transaction;
8
+ private _signatures;
9
+ private _publicKey;
10
+ private _partyHint;
11
+ private _localParticipantObservationOnly;
12
+ private _otherConfirmingParticipantUids;
13
+ private _confirmationThreshold;
14
+ private _observingParticipantUids;
15
+ constructor(_coinConfig: Readonly<CoinConfig>);
16
+ initBuilder(tx: WalletInitTransaction): void;
17
+ protected buildImplementation(): Promise<WalletInitTransaction>;
18
+ protected fromImplementation(rawTransaction: any, isFirstSigner?: boolean): WalletInitTransaction;
19
+ protected signImplementation(key: BaseKey): WalletInitTransaction;
20
+ get transaction(): WalletInitTransaction;
21
+ set transaction(transaction: PreparedParty);
22
+ validateAddress(address: BaseAddress, addressFormat?: string): void;
23
+ validateKey(key: BaseKey): void;
24
+ validateRawTransaction(rawTransaction: string[]): void;
25
+ validateTransaction(transaction?: WalletInitTransaction): void;
26
+ validateValue(value: BigNumber): void;
27
+ /** @inheritDoc */
28
+ addSignature(publicKey: PublicKey, signature: Buffer): void;
29
+ /**
30
+ * Sets the public key used for signing.
31
+ *
32
+ * @param key - The public key of the wallet.
33
+ * @returns The current builder instance for chaining.
34
+ * @throws Error if key is not a valid public key
35
+ */
36
+ publicKey(key: string): this;
37
+ /**
38
+ * Sets the party hint (alias or name) used during wallet initialization.
39
+ *
40
+ * @param hint - A 5-character non-empty string representing the party hint.
41
+ * @returns The current builder instance for chaining.
42
+ * @throws Error if the hint is empty or more than 5 characters long.
43
+ */
44
+ partyHint(hint: string): this;
45
+ /**
46
+ * Sets whether the local participant should be added in observation-only mode.
47
+ *
48
+ * @param flag - Boolean flag indicating observation-only status.
49
+ * @returns The current builder instance for chaining.
50
+ */
51
+ localParticipantObservationOnly(flag: boolean): this;
52
+ /**
53
+ * Adds a confirming participant UID to the list of other confirming participants.
54
+ *
55
+ * @param uid - A non-empty string UID of another confirming participant.
56
+ * @returns The current builder instance for chaining.
57
+ * @throws Error if the UID is empty.
58
+ */
59
+ otherConfirmingParticipantUid(uid: string): this;
60
+ /**
61
+ * Sets the confirmation threshold for the wallet initialization.
62
+ *
63
+ * @param threshold - A positive integer indicating how many confirmations are required.
64
+ * @returns The current builder instance for chaining.
65
+ * @throws Error if the threshold is not a positive integer.
66
+ */
67
+ confirmationThreshold(threshold: number): this;
68
+ /**
69
+ * Adds an observing participant UID to the list of observers.
70
+ *
71
+ * @param uid - A non-empty string UID of the observing participant.
72
+ * @returns The current builder instance for chaining.
73
+ * @throws Error if the UID is empty.
74
+ */
75
+ observingParticipantUid(uid: string): this;
76
+ /**
77
+ * Builds and returns the WalletInitRequest object from the builder's internal state.
78
+ *
79
+ * This method performs validation before constructing the object. If required fields are
80
+ * missing or invalid, it throws an error.
81
+ *
82
+ * @returns {WalletInitRequest} - A fully constructed and validated request object for wallet initialization.
83
+ * @throws {Error} If any required field is missing or fails validation.
84
+ */
85
+ toRequestObject(): WalletInitRequest;
86
+ /**
87
+ * Validates the internal state of the builder before building the request object.
88
+ *
89
+ * Checks for:
90
+ * - Presence of a synchronizer ID.
91
+ * - `partyHint` must not be empty and must be at most 5 characters long.
92
+ * - Public key must include `keyData`, `format`, and `keySpec`.
93
+ * - Confirmation threshold must be a positive integer.
94
+ * - Confirming and observing participant UID lists must be arrays.
95
+ *
96
+ * @private
97
+ * @throws {Error} If any required field is missing or invalid.
98
+ */
99
+ private validate;
100
+ }
101
+ //# sourceMappingURL=walletInitBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walletInitBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/walletInitBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EACL,WAAW,EACX,OAAO,EACP,sBAAsB,EAGtB,SAAS,EAEV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAc,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAGrF,qBAAa,iBAAkB,SAAQ,sBAAsB;IAC3D,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,WAAW,CAAmB;IAEtC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gCAAgC,CAAS;IACjD,OAAO,CAAC,+BAA+B,CAAgB;IACvD,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,yBAAyB,CAAgB;gBAErC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,WAAW,CAAC,EAAE,EAAE,qBAAqB,GAAG,IAAI;IAI5C,SAAS,CAAC,mBAAmB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAI/D,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,qBAAqB;IAIjG,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,qBAAqB;IAIjE,IAAI,WAAW,IAAI,qBAAqB,CAEvC;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,aAAa,EAEzC;IAED,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnE,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAY/B,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI;IAUtD,mBAAmB,CAAC,WAAW,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAW9D,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIrC,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAQ3D;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAU5B;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAY7B;;;;;OAKG;IACH,+BAA+B,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAKpD;;;;;;OAMG;IACH,6BAA6B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAYhD;;;;;;OAMG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQ9C;;;;;;OAMG;IACH,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAY1C;;;;;;;;OAQG;IACH,eAAe,IAAI,iBAAiB;IAYpC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,QAAQ;CAejB"}
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.WalletInitBuilder = void 0;
7
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
+ const keyPair_1 = require("./keyPair");
9
+ const utils_1 = __importDefault(require("./utils"));
10
+ const walletInitTransaction_1 = require("./walletInitialization/walletInitTransaction");
11
+ const constant_1 = require("./constant");
12
+ class WalletInitBuilder extends sdk_core_1.BaseTransactionBuilder {
13
+ constructor(_coinConfig) {
14
+ super(_coinConfig);
15
+ this._signatures = [];
16
+ this._localParticipantObservationOnly = false;
17
+ this._otherConfirmingParticipantUids = [];
18
+ this._confirmationThreshold = 1;
19
+ this._observingParticipantUids = [];
20
+ this._transaction = new walletInitTransaction_1.WalletInitTransaction(_coinConfig);
21
+ }
22
+ initBuilder(tx) {
23
+ this._transaction = tx;
24
+ }
25
+ buildImplementation() {
26
+ throw new Error('Not implemented');
27
+ }
28
+ fromImplementation(rawTransaction, isFirstSigner) {
29
+ throw new Error('Not implemented');
30
+ }
31
+ signImplementation(key) {
32
+ throw new Error('Not implemented');
33
+ }
34
+ get transaction() {
35
+ return this._transaction;
36
+ }
37
+ set transaction(transaction) {
38
+ this._transaction.preparedParty = transaction;
39
+ }
40
+ validateAddress(address, addressFormat) {
41
+ if (!utils_1.default.isValidAddress(address.address)) {
42
+ throw new sdk_core_1.BuildTransactionError('Invalid address ' + address.address);
43
+ }
44
+ }
45
+ validateKey(key) {
46
+ let keyPair;
47
+ try {
48
+ keyPair = new keyPair_1.KeyPair({ prv: key.key });
49
+ }
50
+ catch {
51
+ throw new sdk_core_1.BuildTransactionError('Invalid key');
52
+ }
53
+ if (!keyPair.getKeys().prv) {
54
+ throw new sdk_core_1.BuildTransactionError('Invalid key');
55
+ }
56
+ }
57
+ validateRawTransaction(rawTransaction) {
58
+ if (!rawTransaction || !this._transaction.preparedParty) {
59
+ throw new sdk_core_1.BuildTransactionError('invalid raw transaction');
60
+ }
61
+ const localHash = utils_1.default.computeHashFromCreatePartyResponse(rawTransaction);
62
+ if (localHash !== this._transaction.preparedParty.multiHash) {
63
+ throw new sdk_core_1.BuildTransactionError('invalid raw transaction, hash not matching');
64
+ }
65
+ }
66
+ validateTransaction(transaction) {
67
+ if (!transaction?.preparedParty) {
68
+ return;
69
+ }
70
+ const localHash = utils_1.default.computeHashFromCreatePartyResponse(transaction.preparedParty.topologyTransactions);
71
+ if (localHash !== this._transaction.preparedParty.multiHash) {
72
+ throw new sdk_core_1.BuildTransactionError('invalid transaction');
73
+ }
74
+ }
75
+ // not implemented because wallet initialization doesn't require any value
76
+ validateValue(value) {
77
+ throw new Error('Not implemented');
78
+ }
79
+ /** @inheritDoc */
80
+ addSignature(publicKey, signature) {
81
+ if (!this.transaction) {
82
+ throw new sdk_core_1.InvalidTransactionError('transaction is empty!');
83
+ }
84
+ this._signatures.push({ publicKey, signature });
85
+ this.transaction.signatures = signature.toString('base64');
86
+ }
87
+ /**
88
+ * Sets the public key used for signing.
89
+ *
90
+ * @param key - The public key of the wallet.
91
+ * @returns The current builder instance for chaining.
92
+ * @throws Error if key is not a valid public key
93
+ */
94
+ publicKey(key) {
95
+ utils_1.default.isValidPublicKey(key);
96
+ this._publicKey = {
97
+ format: constant_1.PUBLIC_KEY_FORMAT,
98
+ keyData: key,
99
+ keySpec: constant_1.PUBLIC_KEY_SPEC,
100
+ };
101
+ return this;
102
+ }
103
+ /**
104
+ * Sets the party hint (alias or name) used during wallet initialization.
105
+ *
106
+ * @param hint - A 5-character non-empty string representing the party hint.
107
+ * @returns The current builder instance for chaining.
108
+ * @throws Error if the hint is empty or more than 5 characters long.
109
+ */
110
+ partyHint(hint) {
111
+ const trimmedHint = hint.trim();
112
+ if (!trimmedHint) {
113
+ throw new Error('partyHint cannot be empty');
114
+ }
115
+ if (trimmedHint.length > 5) {
116
+ throw new Error('partyHint must be less than 6 characters long');
117
+ }
118
+ this._partyHint = trimmedHint;
119
+ return this;
120
+ }
121
+ /**
122
+ * Sets whether the local participant should be added in observation-only mode.
123
+ *
124
+ * @param flag - Boolean flag indicating observation-only status.
125
+ * @returns The current builder instance for chaining.
126
+ */
127
+ localParticipantObservationOnly(flag) {
128
+ this._localParticipantObservationOnly = flag;
129
+ return this;
130
+ }
131
+ /**
132
+ * Adds a confirming participant UID to the list of other confirming participants.
133
+ *
134
+ * @param uid - A non-empty string UID of another confirming participant.
135
+ * @returns The current builder instance for chaining.
136
+ * @throws Error if the UID is empty.
137
+ */
138
+ otherConfirmingParticipantUid(uid) {
139
+ const trimmedUid = uid.trim();
140
+ if (!trimmedUid) {
141
+ throw new Error('otherConfirmingParticipantUid cannot be empty');
142
+ }
143
+ if (!this._otherConfirmingParticipantUids) {
144
+ this._otherConfirmingParticipantUids = [];
145
+ }
146
+ this._otherConfirmingParticipantUids.push(trimmedUid);
147
+ return this;
148
+ }
149
+ /**
150
+ * Sets the confirmation threshold for the wallet initialization.
151
+ *
152
+ * @param threshold - A positive integer indicating how many confirmations are required.
153
+ * @returns The current builder instance for chaining.
154
+ * @throws Error if the threshold is not a positive integer.
155
+ */
156
+ confirmationThreshold(threshold) {
157
+ if (!Number.isInteger(threshold) || threshold <= 0) {
158
+ throw new Error('confirmationThreshold must be a positive integer');
159
+ }
160
+ this._confirmationThreshold = threshold;
161
+ return this;
162
+ }
163
+ /**
164
+ * Adds an observing participant UID to the list of observers.
165
+ *
166
+ * @param uid - A non-empty string UID of the observing participant.
167
+ * @returns The current builder instance for chaining.
168
+ * @throws Error if the UID is empty.
169
+ */
170
+ observingParticipantUid(uid) {
171
+ const trimmedUid = uid.trim();
172
+ if (!trimmedUid) {
173
+ throw new Error('observingParticipantUid cannot be empty');
174
+ }
175
+ if (!this._observingParticipantUids) {
176
+ this._observingParticipantUids = [];
177
+ }
178
+ this._observingParticipantUids.push(trimmedUid);
179
+ return this;
180
+ }
181
+ /**
182
+ * Builds and returns the WalletInitRequest object from the builder's internal state.
183
+ *
184
+ * This method performs validation before constructing the object. If required fields are
185
+ * missing or invalid, it throws an error.
186
+ *
187
+ * @returns {WalletInitRequest} - A fully constructed and validated request object for wallet initialization.
188
+ * @throws {Error} If any required field is missing or fails validation.
189
+ */
190
+ toRequestObject() {
191
+ this.validate();
192
+ return {
193
+ publicKey: this._publicKey,
194
+ partyHint: this._partyHint,
195
+ localParticipantObservationOnly: this._localParticipantObservationOnly,
196
+ otherConfirmingParticipantUids: this._otherConfirmingParticipantUids,
197
+ confirmationThreshold: this._confirmationThreshold,
198
+ observingParticipantUids: this._observingParticipantUids,
199
+ };
200
+ }
201
+ /**
202
+ * Validates the internal state of the builder before building the request object.
203
+ *
204
+ * Checks for:
205
+ * - Presence of a synchronizer ID.
206
+ * - `partyHint` must not be empty and must be at most 5 characters long.
207
+ * - Public key must include `keyData`, `format`, and `keySpec`.
208
+ * - Confirmation threshold must be a positive integer.
209
+ * - Confirming and observing participant UID lists must be arrays.
210
+ *
211
+ * @private
212
+ * @throws {Error} If any required field is missing or invalid.
213
+ */
214
+ validate() {
215
+ if (!this._partyHint || this._partyHint.length > 5)
216
+ throw new Error('Invalid partyHint');
217
+ if (!this._publicKey || !this._publicKey.keyData || !this._publicKey.format || !this._publicKey.keySpec) {
218
+ throw new Error('Invalid publicKey');
219
+ }
220
+ if (!Number.isInteger(this._confirmationThreshold) || this._confirmationThreshold <= 0) {
221
+ throw new Error('Invalid confirmationThreshold');
222
+ }
223
+ if (!Array.isArray(this._otherConfirmingParticipantUids)) {
224
+ throw new Error('otherConfirmingParticipantUids must be an array');
225
+ }
226
+ if (!Array.isArray(this._observingParticipantUids)) {
227
+ throw new Error('observingParticipantUids must be an array');
228
+ }
229
+ }
230
+ }
231
+ exports.WalletInitBuilder = WalletInitBuilder;
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3dhbGxldEluaXRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLG1EQVE4QjtBQUc5Qix1Q0FBb0M7QUFFcEMsb0RBQTRCO0FBQzVCLHdGQUFxRjtBQUNyRix5Q0FBZ0U7QUFFaEUsTUFBYSxpQkFBa0IsU0FBUSxpQ0FBc0I7SUFXM0QsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFWYixnQkFBVyxHQUFnQixFQUFFLENBQUM7UUFJOUIscUNBQWdDLEdBQUcsS0FBSyxDQUFDO1FBQ3pDLG9DQUErQixHQUFhLEVBQUUsQ0FBQztRQUMvQywyQkFBc0IsR0FBRyxDQUFDLENBQUM7UUFDM0IsOEJBQXlCLEdBQWEsRUFBRSxDQUFDO1FBSS9DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSw2Q0FBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQXlCO1FBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxjQUFtQixFQUFFLGFBQXVCO1FBQ3ZFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRVMsa0JBQWtCLENBQUMsR0FBWTtRQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsV0FBMEI7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFh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Q0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3hHLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksSUFBSSxDQUFDLHNCQUFzQixJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3ZGLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLCtCQUErQixDQUFDLEVBQUUsQ0FBQztZQUN6RCxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUM7WUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFqUEQsOENBaVBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuXG5pbXBvcnQge1xuICBCYXNlQWRkcmVzcyxcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uQnVpbGRlcixcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgUHVibGljS2V5LFxuICBTaWduYXR1cmUsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuaW1wb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5pbXBvcnQgeyBJUHVibGljS2V5LCBQcmVwYXJlZFBhcnR5LCBXYWxsZXRJbml0UmVxdWVzdCB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgV2FsbGV0SW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi93YWxsZXRJbml0aWFsaXphdGlvbi93YWxsZXRJbml0VHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgUFVCTElDX0tFWV9GT1JNQVQsIFBVQkxJQ19LRVlfU1BFQyB9IGZyb20gJy4vY29uc3RhbnQnO1xuXG5leHBvcnQgY2xhc3MgV2FsbGV0SW5pdEJ1aWxkZXIgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFdhbGxldEluaXRUcmFuc2FjdGlvbjtcbiAgcHJpdmF0ZSBfc2lnbmF0dXJlczogU2lnbmF0dXJlW10gPSBbXTtcblxuICBwcml2YXRlIF9wdWJsaWNLZXk6IElQdWJsaWNLZXk7XG4gIHByaXZhdGUgX3BhcnR5SGludDogc3RyaW5nO1xuICBwcml2YXRlIF9sb2NhbFBhcnRpY2lwYW50T2JzZXJ2YXRpb25Pbmx5ID0gZmFsc2U7XG4gIHByaXZhdGUgX290aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkczogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBfY29uZmlybWF0aW9uVGhyZXNob2xkID0gMTtcbiAgcHJpdmF0ZSBfb2JzZXJ2aW5nUGFydGljaXBhbnRVaWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBXYWxsZXRJbml0VHJhbnNhY3Rpb24oX2NvaW5Db25maWcpO1xuICB9XG5cbiAgaW5pdEJ1aWxkZXIodHg6IFdhbGxldEluaXRUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdHg7XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFdhbGxldEluaXRUcmFuc2FjdGlvbj4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBhbnksIGlzRmlyc3RTaWduZXI/OiBib29sZWFuKTogV2FsbGV0SW5pdFRyYW5zYWN0aW9uIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNpZ25JbXBsZW1lbnRhdGlvbihrZXk6IEJhc2VLZXkpOiBXYWxsZXRJbml0VHJhbnNhY3Rpb24ge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICBnZXQgdHJhbnNhY3Rpb24oKTogV2FsbGV0SW5pdFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cblxuICBzZXQgdHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFByZXBhcmVkUGFydHkpIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbi5wcmVwYXJlZFBhcnR5ID0gdHJhbnNhY3Rpb247XG4gIH1cblxuICB2YWxpZGF0ZUFkZHJlc3MoYWRkcmVzczogQmFzZUFkZHJlc3MsIGFkZHJlc3NGb3JtYXQ/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MuYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgYWRkcmVzcyAnICsgYWRkcmVzcy5hZGRyZXNzKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZUtleShrZXk6IEJhc2VLZXkpOiB2b2lkIHtcbiAgICBsZXQga2V5UGFpcjogS2V5UGFpcjtcbiAgICB0cnkge1xuICAgICAga2V5UGFpciA9IG5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkua2V5IH0pO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCBrZXknKTtcbiAgICB9XG4gICAgaWYgKCFrZXlQYWlyLmdldEtleXMoKS5wcnYpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQga2V5Jyk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVSYXdUcmFuc2FjdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nW10pOiB2b2lkIHtcbiAgICBpZiAoIXJhd1RyYW5zYWN0aW9uIHx8ICF0aGlzLl90cmFuc2FjdGlvbi5wcmVwYXJlZFBhcnR5KSB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdpbnZhbGlkIHJhdyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICBjb25zdCBsb2NhbEhhc2ggPSB1dGlscy5jb21wdXRlSGFzaEZyb21DcmVhdGVQYXJ0eVJlc3BvbnNlKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAobG9jYWxIYXNoICE9PSB0aGlzLl90cmFuc2FjdGlvbi5wcmVwYXJlZFBhcnR5Lm11bHRpSGFzaCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignaW52YWxpZCByYXcgdHJhbnNhY3Rpb24sIGhhc2ggbm90IG1hdGNoaW5nJyk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbih0cmFuc2FjdGlvbj86IFdhbGxldEluaXRUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIGlmICghdHJhbnNhY3Rpb24/LnByZXBhcmVkUGFydHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbG9jYWxIYXNoID0gdXRpbHMuY29tcHV0ZUhhc2hGcm9tQ3JlYXRlUGFydHlSZXNwb25zZSh0cmFuc2FjdGlvbi5wcmVwYXJlZFBhcnR5LnRvcG9sb2d5VHJhbnNhY3Rpb25zKTtcbiAgICBpZiAobG9jYWxIYXNoICE9PSB0aGlzLl90cmFuc2FjdGlvbi5wcmVwYXJlZFBhcnR5Lm11bHRpSGFzaCkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignaW52YWxpZCB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgfVxuXG4gIC8vIG5vdCBpbXBsZW1lbnRlZCBiZWNhdXNlIHdhbGxldCBpbml0aWFsaXphdGlvbiBkb2Vzbid0IHJlcXVpcmUgYW55IHZhbHVlXG4gIHZhbGlkYXRlVmFsdWUodmFsdWU6IEJpZ051bWJlcik6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgYWRkU2lnbmF0dXJlKHB1YmxpY0tleTogUHVibGljS2V5LCBzaWduYXR1cmU6IEJ1ZmZlcik6IHZvaWQge1xuICAgIGlmICghdGhpcy50cmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCd0cmFuc2FjdGlvbiBpcyBlbXB0eSEnKTtcbiAgICB9XG4gICAgdGhpcy5fc2lnbmF0dXJlcy5wdXNoKHsgcHVibGljS2V5LCBzaWduYXR1cmUgfSk7XG4gICAgdGhpcy50cmFuc2FjdGlvbi5zaWduYXR1cmVzID0gc2lnbmF0dXJlLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwdWJsaWMga2V5IHVzZWQgZm9yIHNpZ25pbmcuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUgcHVibGljIGtleSBvZiB0aGUgd2FsbGV0LlxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICogQHRocm93cyBFcnJvciBpZiBrZXkgaXMgbm90IGEgdmFsaWQgcHVibGljIGtleVxuICAgKi9cbiAgcHVibGljS2V5KGtleTogc3RyaW5nKTogdGhpcyB7XG4gICAgdXRpbHMuaXNWYWxpZFB1YmxpY0tleShrZXkpO1xuICAgIHRoaXMuX3B1YmxpY0tleSA9IHtcbiAgICAgIGZvcm1hdDogUFVCTElDX0tFWV9GT1JNQVQsXG4gICAgICBrZXlEYXRhOiBrZXksXG4gICAgICBrZXlTcGVjOiBQVUJMSUNfS0VZX1NQRUMsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwYXJ0eSBoaW50IChhbGlhcyBvciBuYW1lKSB1c2VkIGR1cmluZyB3YWxsZXQgaW5pdGlhbGl6YXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBoaW50IC0gQSA1LWNoYXJhY3RlciBub24tZW1wdHkgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgcGFydHkgaGludC5cbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIGhpbnQgaXMgZW1wdHkgb3IgbW9yZSB0aGFuIDUgY2hhcmFjdGVycyBsb25nLlxuICAgKi9cbiAgcGFydHlIaW50KGhpbnQ6IHN0cmluZyk6IHRoaXMge1xuICAgIGNvbnN0IHRyaW1tZWRIaW50ID0gaGludC50cmltKCk7XG4gICAgaWYgKCF0cmltbWVkSGludCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdwYXJ0eUhpbnQgY2Fubm90IGJlIGVtcHR5Jyk7XG4gICAgfVxuICAgIGlmICh0cmltbWVkSGludC5sZW5ndGggPiA1KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3BhcnR5SGludCBtdXN0IGJlIGxlc3MgdGhhbiA2IGNoYXJhY3RlcnMgbG9uZycpO1xuICAgIH1cbiAgICB0aGlzLl9wYXJ0eUhpbnQgPSB0cmltbWVkSGludDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHdoZXRoZXIgdGhlIGxvY2FsIHBhcnRpY2lwYW50IHNob3VsZCBiZSBhZGRlZCBpbiBvYnNlcnZhdGlvbi1vbmx5IG1vZGUuXG4gICAqXG4gICAqIEBwYXJhbSBmbGFnIC0gQm9vbGVhbiBmbGFnIGluZGljYXRpbmcgb2JzZXJ2YXRpb24tb25seSBzdGF0dXMuXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKi9cbiAgbG9jYWxQYXJ0aWNpcGFudE9ic2VydmF0aW9uT25seShmbGFnOiBib29sZWFuKTogdGhpcyB7XG4gICAgdGhpcy5fbG9jYWxQYXJ0aWNpcGFudE9ic2VydmF0aW9uT25seSA9IGZsYWc7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGNvbmZpcm1pbmcgcGFydGljaXBhbnQgVUlEIHRvIHRoZSBsaXN0IG9mIG90aGVyIGNvbmZpcm1pbmcgcGFydGljaXBhbnRzLlxuICAgKlxuICAgKiBAcGFyYW0gdWlkIC0gQSBub24tZW1wdHkgc3RyaW5nIFVJRCBvZiBhbm90aGVyIGNvbmZpcm1pbmcgcGFydGljaXBhbnQuXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBVSUQgaXMgZW1wdHkuXG4gICAqL1xuICBvdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZCh1aWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIGNvbnN0IHRyaW1tZWRVaWQgPSB1aWQudHJpbSgpO1xuICAgIGlmICghdHJpbW1lZFVpZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdvdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZCBjYW5ub3QgYmUgZW1wdHknKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9vdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZHMpIHtcbiAgICAgIHRoaXMuX290aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkcyA9IFtdO1xuICAgIH1cbiAgICB0aGlzLl9vdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZHMucHVzaCh0cmltbWVkVWlkKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb25maXJtYXRpb24gdGhyZXNob2xkIGZvciB0aGUgd2FsbGV0IGluaXRpYWxpemF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gdGhyZXNob2xkIC0gQSBwb3NpdGl2ZSBpbnRlZ2VyIGluZGljYXRpbmcgaG93IG1hbnkgY29uZmlybWF0aW9ucyBhcmUgcmVxdWlyZWQuXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSB0aHJlc2hvbGQgaXMgbm90IGEgcG9zaXRpdmUgaW50ZWdlci5cbiAgICovXG4gIGNvbmZpcm1hdGlvblRocmVzaG9sZCh0aHJlc2hvbGQ6IG51bWJlcik6IHRoaXMge1xuICAgIGlmICghTnVtYmVyLmlzSW50ZWdlcih0aHJlc2hvbGQpIHx8IHRocmVzaG9sZCA8PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NvbmZpcm1hdGlvblRocmVzaG9sZCBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlcicpO1xuICAgIH1cbiAgICB0aGlzLl9jb25maXJtYXRpb25UaHJlc2hvbGQgPSB0aHJlc2hvbGQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbiBvYnNlcnZpbmcgcGFydGljaXBhbnQgVUlEIHRvIHRoZSBsaXN0IG9mIG9ic2VydmVycy5cbiAgICpcbiAgICogQHBhcmFtIHVpZCAtIEEgbm9uLWVtcHR5IHN0cmluZyBVSUQgb2YgdGhlIG9ic2VydmluZyBwYXJ0aWNpcGFudC5cbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIFVJRCBpcyBlbXB0eS5cbiAgICovXG4gIG9ic2VydmluZ1BhcnRpY2lwYW50VWlkKHVpZDogc3RyaW5nKTogdGhpcyB7XG4gICAgY29uc3QgdHJpbW1lZFVpZCA9IHVpZC50cmltKCk7XG4gICAgaWYgKCF0cmltbWVkVWlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ29ic2VydmluZ1BhcnRpY2lwYW50VWlkIGNhbm5vdCBiZSBlbXB0eScpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX29ic2VydmluZ1BhcnRpY2lwYW50VWlkcykge1xuICAgICAgdGhpcy5fb2JzZXJ2aW5nUGFydGljaXBhbnRVaWRzID0gW107XG4gICAgfVxuICAgIHRoaXMuX29ic2VydmluZ1BhcnRpY2lwYW50VWlkcy5wdXNoKHRyaW1tZWRVaWQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBhbmQgcmV0dXJucyB0aGUgV2FsbGV0SW5pdFJlcXVlc3Qgb2JqZWN0IGZyb20gdGhlIGJ1aWxkZXIncyBpbnRlcm5hbCBzdGF0ZS5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgcGVyZm9ybXMgdmFsaWRhdGlvbiBiZWZvcmUgY29uc3RydWN0aW5nIHRoZSBvYmplY3QuIElmIHJlcXVpcmVkIGZpZWxkcyBhcmVcbiAgICogbWlzc2luZyBvciBpbnZhbGlkLCBpdCB0aHJvd3MgYW4gZXJyb3IuXG4gICAqXG4gICAqIEByZXR1cm5zIHtXYWxsZXRJbml0UmVxdWVzdH0gLSBBIGZ1bGx5IGNvbnN0cnVjdGVkIGFuZCB2YWxpZGF0ZWQgcmVxdWVzdCBvYmplY3QgZm9yIHdhbGxldCBpbml0aWFsaXphdGlvbi5cbiAgICogQHRocm93cyB7RXJyb3J9IElmIGFueSByZXF1aXJlZCBmaWVsZCBpcyBtaXNzaW5nIG9yIGZhaWxzIHZhbGlkYXRpb24uXG4gICAqL1xuICB0b1JlcXVlc3RPYmplY3QoKTogV2FsbGV0SW5pdFJlcXVlc3Qge1xuICAgIHRoaXMudmFsaWRhdGUoKTtcbiAgICByZXR1cm4ge1xuICAgICAgcHVibGljS2V5OiB0aGlzLl9wdWJsaWNLZXksXG4gICAgICBwYXJ0eUhpbnQ6IHRoaXMuX3BhcnR5SGludCxcbiAgICAgIGxvY2FsUGFydGljaXBhbnRPYnNlcnZhdGlvbk9ubHk6IHRoaXMuX2xvY2FsUGFydGljaXBhbnRPYnNlcnZhdGlvbk9ubHksXG4gICAgICBvdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZHM6IHRoaXMuX290aGVyQ29uZmlybWluZ1BhcnRpY2lwYW50VWlkcyxcbiAgICAgIGNvbmZpcm1hdGlvblRocmVzaG9sZDogdGhpcy5fY29uZmlybWF0aW9uVGhyZXNob2xkLFxuICAgICAgb2JzZXJ2aW5nUGFydGljaXBhbnRVaWRzOiB0aGlzLl9vYnNlcnZpbmdQYXJ0aWNpcGFudFVpZHMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIGludGVybmFsIHN0YXRlIG9mIHRoZSBidWlsZGVyIGJlZm9yZSBidWlsZGluZyB0aGUgcmVxdWVzdCBvYmplY3QuXG4gICAqXG4gICAqIENoZWNrcyBmb3I6XG4gICAqIC0gUHJlc2VuY2Ugb2YgYSBzeW5jaHJvbml6ZXIgSUQuXG4gICAqIC0gYHBhcnR5SGludGAgbXVzdCBub3QgYmUgZW1wdHkgYW5kIG11c3QgYmUgYXQgbW9zdCA1IGNoYXJhY3RlcnMgbG9uZy5cbiAgICogLSBQdWJsaWMga2V5IG11c3QgaW5jbHVkZSBga2V5RGF0YWAsIGBmb3JtYXRgLCBhbmQgYGtleVNwZWNgLlxuICAgKiAtIENvbmZpcm1hdGlvbiB0aHJlc2hvbGQgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIuXG4gICAqIC0gQ29uZmlybWluZyBhbmQgb2JzZXJ2aW5nIHBhcnRpY2lwYW50IFVJRCBsaXN0cyBtdXN0IGJlIGFycmF5cy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHRocm93cyB7RXJyb3J9IElmIGFueSByZXF1aXJlZCBmaWVsZCBpcyBtaXNzaW5nIG9yIGludmFsaWQuXG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fcGFydHlIaW50IHx8IHRoaXMuX3BhcnR5SGludC5sZW5ndGggPiA1KSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcGFydHlIaW50Jyk7XG4gICAgaWYgKCF0aGlzLl9wdWJsaWNLZXkgfHwgIXRoaXMuX3B1YmxpY0tleS5rZXlEYXRhIHx8ICF0aGlzLl9wdWJsaWNLZXkuZm9ybWF0IHx8ICF0aGlzLl9wdWJsaWNLZXkua2V5U3BlYykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHB1YmxpY0tleScpO1xuICAgIH1cbiAgICBpZiAoIU51bWJlci5pc0ludGVnZXIodGhpcy5fY29uZmlybWF0aW9uVGhyZXNob2xkKSB8fCB0aGlzLl9jb25maXJtYXRpb25UaHJlc2hvbGQgPD0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNvbmZpcm1hdGlvblRocmVzaG9sZCcpO1xuICAgIH1cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5fb3RoZXJDb25maXJtaW5nUGFydGljaXBhbnRVaWRzKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdvdGhlckNvbmZpcm1pbmdQYXJ0aWNpcGFudFVpZHMgbXVzdCBiZSBhbiBhcnJheScpO1xuICAgIH1cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5fb2JzZXJ2aW5nUGFydGljaXBhbnRVaWRzKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdvYnNlcnZpbmdQYXJ0aWNpcGFudFVpZHMgbXVzdCBiZSBhbiBhcnJheScpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,16 @@
1
+ import { BaseKey, BaseTransaction } from '@bitgo-beta/sdk-core';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { PreparedParty, WalletInitTxData } from '../iface';
4
+ export declare class WalletInitTransaction extends BaseTransaction {
5
+ private _preparedParty;
6
+ constructor(coinConfig: Readonly<CoinConfig>);
7
+ get preparedParty(): PreparedParty;
8
+ set preparedParty(transaction: PreparedParty);
9
+ canSign(key: BaseKey): boolean;
10
+ set signatures(signature: string);
11
+ toBroadcastFormat(): string;
12
+ toJson(): WalletInitTxData;
13
+ get signablePayload(): Buffer;
14
+ fromRawTransaction(rawTx: string): void;
15
+ }
16
+ //# sourceMappingURL=walletInitTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walletInitTransaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/walletInitialization/walletInitTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAA4C,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAGL,aAAa,EAEb,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAGlB,qBAAa,qBAAsB,SAAQ,eAAe;IACxD,OAAO,CAAC,cAAc,CAAgB;gBAE1B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,IAAI,aAAa,IAAI,aAAa,CAEjC;IAED,IAAI,aAAa,CAAC,WAAW,EAAE,aAAa,EAI3C;IAED,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,IAAI,UAAU,CAAC,SAAS,EAAE,MAAM,EAE/B;IAED,iBAAiB,IAAI,MAAM;IA6B3B,MAAM,IAAI,gBAAgB;IAY1B,IAAI,eAAe,IAAI,MAAM,CAK5B;IAED,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAexC"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WalletInitTransaction = void 0;
4
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const constant_1 = require("../constant");
6
+ class WalletInitTransaction extends sdk_core_1.BaseTransaction {
7
+ constructor(coinConfig) {
8
+ super(coinConfig);
9
+ }
10
+ get preparedParty() {
11
+ return this._preparedParty;
12
+ }
13
+ set preparedParty(transaction) {
14
+ this._preparedParty = transaction;
15
+ this._id = transaction.multiHash;
16
+ this._type = sdk_core_1.TransactionType.WalletInitialization;
17
+ }
18
+ canSign(key) {
19
+ return false;
20
+ }
21
+ set signatures(signature) {
22
+ this._signatures.push(signature);
23
+ }
24
+ toBroadcastFormat() {
25
+ if (!this._preparedParty) {
26
+ throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
27
+ }
28
+ const multiHashSignatures = [];
29
+ if (this.signature.length > 0) {
30
+ this.signature.map((signature) => {
31
+ const multiHashSignature = {
32
+ format: constant_1.SIGNATURE_FORMAT,
33
+ signature: signature,
34
+ signedBy: this._preparedParty.publicKeyFingerprint,
35
+ signingAlgorithmSpec: constant_1.SIGNATURE_ALGORITHM_SPEC,
36
+ };
37
+ multiHashSignatures.push(multiHashSignature);
38
+ });
39
+ }
40
+ const walletInitBroadcastData = {
41
+ preparedParty: this._preparedParty,
42
+ onboardingTransactions: this._preparedParty.topologyTransactions.map((txn) => {
43
+ const onboardingTransaction = {
44
+ transaction: txn,
45
+ };
46
+ return onboardingTransaction;
47
+ }),
48
+ multiHashSignatures: multiHashSignatures,
49
+ };
50
+ return Buffer.from(JSON.stringify(walletInitBroadcastData)).toString('base64');
51
+ }
52
+ toJson() {
53
+ if (!this._preparedParty) {
54
+ throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
55
+ }
56
+ const result = {
57
+ id: this.id,
58
+ type: this._type,
59
+ preparedParty: this._preparedParty,
60
+ };
61
+ return result;
62
+ }
63
+ get signablePayload() {
64
+ if (!this._preparedParty) {
65
+ throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
66
+ }
67
+ return Buffer.from(this._preparedParty.multiHash, 'base64');
68
+ }
69
+ fromRawTransaction(rawTx) {
70
+ try {
71
+ const decoded = JSON.parse(Buffer.from(rawTx, 'base64').toString('utf8'));
72
+ this._preparedParty = decoded.preparedParty;
73
+ this._type = sdk_core_1.TransactionType.WalletInitialization;
74
+ this._id = decoded.preparedParty.multiHash;
75
+ if (decoded.multiHashSignatures.length > 0) {
76
+ decoded.multiHashSignatures.map((multiHashSignature) => {
77
+ this.signatures = multiHashSignature.signature;
78
+ });
79
+ }
80
+ }
81
+ catch (e) {
82
+ throw new sdk_core_1.InvalidTransactionError('Unable to parse raw transaction data');
83
+ }
84
+ }
85
+ }
86
+ exports.WalletInitTransaction = WalletInitTransaction;
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0SW5pdFRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi93YWxsZXRJbml0aWFsaXphdGlvbi93YWxsZXRJbml0VHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQTBHO0FBUzFHLDBDQUF5RTtBQUV6RSxNQUFhLHFCQUFzQixTQUFRLDBCQUFlO0lBR3hELFlBQVksVUFBZ0M7UUFDMUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksYUFBYSxDQUFDLFdBQTBCO1FBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLDBCQUFlLENBQUMsb0JBQW9CLENBQUM7SUFDcEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFZO1FBQ2xCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLFNBQWlCO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxNQUFNLG1CQUFtQixHQUF5QixFQUFFLENBQUM7UUFDckQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUMvQixNQUFNLGtCQUFrQixHQUF1QjtvQkFDN0MsTUFBTSxFQUFFLDJCQUFnQjtvQkFDeEIsU0FBUyxFQUFFLFNBQVM7b0JBQ3BCLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQjtvQkFDbEQsb0JBQW9CLEVBQUUsbUNBQXdCO2lCQUMvQyxDQUFDO2dCQUNGLG1CQUFtQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE1BQU0sdUJBQXVCLEdBQTRCO1lBQ3ZELGFBQWEsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNsQyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUMzRSxNQUFNLHFCQUFxQixHQUEwQjtvQkFDbkQsV0FBVyxFQUFFLEdBQUc7aUJBQ2pCLENBQUM7Z0JBQ0YsT0FBTyxxQkFBcUIsQ0FBQztZQUMvQixDQUFDLENBQUM7WUFDRixtQkFBbUIsRUFBRSxtQkFBbUI7U0FDekMsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBcUI7WUFDL0IsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUF3QjtZQUNuQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDbkMsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksa0NBQXVCLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQztZQUNILE1BQU0sT0FBTyxHQUE0QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ25HLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztZQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLDBCQUFlLENBQUMsb0JBQW9CLENBQUM7WUFDbEQsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUMzQyxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzNDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxrQkFBc0MsRUFBRSxFQUFFO29CQUN6RSxJQUFJLENBQUMsVUFBVSxHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FBQztnQkFDakQsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksa0NBQXVCLENBQUMsc0NBQXNDLENBQUMsQ0FBQztRQUM1RSxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBeEZELHNEQXdGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VLZXksIEJhc2VUcmFuc2FjdGlvbiwgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7XG4gIE11bHRpSGFzaFNpZ25hdHVyZSxcbiAgT25ib2FyZGluZ1RyYW5zYWN0aW9uLFxuICBQcmVwYXJlZFBhcnR5LFxuICBXYWxsZXRJbml0QnJvYWRjYXN0RGF0YSxcbiAgV2FsbGV0SW5pdFR4RGF0YSxcbn0gZnJvbSAnLi4vaWZhY2UnO1xuaW1wb3J0IHsgU0lHTkFUVVJFX0FMR09SSVRITV9TUEVDLCBTSUdOQVRVUkVfRk9STUFUIH0gZnJvbSAnLi4vY29uc3RhbnQnO1xuXG5leHBvcnQgY2xhc3MgV2FsbGV0SW5pdFRyYW5zYWN0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uIHtcbiAgcHJpdmF0ZSBfcHJlcGFyZWRQYXJ0eTogUHJlcGFyZWRQYXJ0eTtcblxuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICB9XG5cbiAgZ2V0IHByZXBhcmVkUGFydHkoKTogUHJlcGFyZWRQYXJ0eSB7XG4gICAgcmV0dXJuIHRoaXMuX3ByZXBhcmVkUGFydHk7XG4gIH1cblxuICBzZXQgcHJlcGFyZWRQYXJ0eSh0cmFuc2FjdGlvbjogUHJlcGFyZWRQYXJ0eSkge1xuICAgIHRoaXMuX3ByZXBhcmVkUGFydHkgPSB0cmFuc2FjdGlvbjtcbiAgICB0aGlzLl9pZCA9IHRyYW5zYWN0aW9uLm11bHRpSGFzaDtcbiAgICB0aGlzLl90eXBlID0gVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uO1xuICB9XG5cbiAgY2FuU2lnbihrZXk6IEJhc2VLZXkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBzZXQgc2lnbmF0dXJlcyhzaWduYXR1cmU6IHN0cmluZykge1xuICAgIHRoaXMuX3NpZ25hdHVyZXMucHVzaChzaWduYXR1cmUpO1xuICB9XG5cbiAgdG9Ccm9hZGNhc3RGb3JtYXQoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX3ByZXBhcmVkUGFydHkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24gZGF0YScpO1xuICAgIH1cbiAgICBjb25zdCBtdWx0aUhhc2hTaWduYXR1cmVzOiBNdWx0aUhhc2hTaWduYXR1cmVbXSA9IFtdO1xuICAgIGlmICh0aGlzLnNpZ25hdHVyZS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnNpZ25hdHVyZS5tYXAoKHNpZ25hdHVyZSkgPT4ge1xuICAgICAgICBjb25zdCBtdWx0aUhhc2hTaWduYXR1cmU6IE11bHRpSGFzaFNpZ25hdHVyZSA9IHtcbiAgICAgICAgICBmb3JtYXQ6IFNJR05BVFVSRV9GT1JNQVQsXG4gICAgICAgICAgc2lnbmF0dXJlOiBzaWduYXR1cmUsXG4gICAgICAgICAgc2lnbmVkQnk6IHRoaXMuX3ByZXBhcmVkUGFydHkucHVibGljS2V5RmluZ2VycHJpbnQsXG4gICAgICAgICAgc2lnbmluZ0FsZ29yaXRobVNwZWM6IFNJR05BVFVSRV9BTEdPUklUSE1fU1BFQyxcbiAgICAgICAgfTtcbiAgICAgICAgbXVsdGlIYXNoU2lnbmF0dXJlcy5wdXNoKG11bHRpSGFzaFNpZ25hdHVyZSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgY29uc3Qgd2FsbGV0SW5pdEJyb2FkY2FzdERhdGE6IFdhbGxldEluaXRCcm9hZGNhc3REYXRhID0ge1xuICAgICAgcHJlcGFyZWRQYXJ0eTogdGhpcy5fcHJlcGFyZWRQYXJ0eSxcbiAgICAgIG9uYm9hcmRpbmdUcmFuc2FjdGlvbnM6IHRoaXMuX3ByZXBhcmVkUGFydHkudG9wb2xvZ3lUcmFuc2FjdGlvbnMubWFwKCh0eG4pID0+IHtcbiAgICAgICAgY29uc3Qgb25ib2FyZGluZ1RyYW5zYWN0aW9uOiBPbmJvYXJkaW5nVHJhbnNhY3Rpb24gPSB7XG4gICAgICAgICAgdHJhbnNhY3Rpb246IHR4bixcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIG9uYm9hcmRpbmdUcmFuc2FjdGlvbjtcbiAgICAgIH0pLFxuICAgICAgbXVsdGlIYXNoU2lnbmF0dXJlczogbXVsdGlIYXNoU2lnbmF0dXJlcyxcbiAgICB9O1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeSh3YWxsZXRJbml0QnJvYWRjYXN0RGF0YSkpLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgfVxuXG4gIHRvSnNvbigpOiBXYWxsZXRJbml0VHhEYXRhIHtcbiAgICBpZiAoIXRoaXMuX3ByZXBhcmVkUGFydHkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24gZGF0YScpO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQ6IFdhbGxldEluaXRUeERhdGEgPSB7XG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIHR5cGU6IHRoaXMuX3R5cGUgYXMgVHJhbnNhY3Rpb25UeXBlLFxuICAgICAgcHJlcGFyZWRQYXJ0eTogdGhpcy5fcHJlcGFyZWRQYXJ0eSxcbiAgICB9O1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBnZXQgc2lnbmFibGVQYXlsb2FkKCk6IEJ1ZmZlciB7XG4gICAgaWYgKCF0aGlzLl9wcmVwYXJlZFBhcnR5KSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHRoaXMuX3ByZXBhcmVkUGFydHkubXVsdGlIYXNoLCAnYmFzZTY0Jyk7XG4gIH1cblxuICBmcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHg6IHN0cmluZyk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkZWNvZGVkOiBXYWxsZXRJbml0QnJvYWRjYXN0RGF0YSA9IEpTT04ucGFyc2UoQnVmZmVyLmZyb20ocmF3VHgsICdiYXNlNjQnKS50b1N0cmluZygndXRmOCcpKTtcbiAgICAgIHRoaXMuX3ByZXBhcmVkUGFydHkgPSBkZWNvZGVkLnByZXBhcmVkUGFydHk7XG4gICAgICB0aGlzLl90eXBlID0gVHJhbnNhY3Rpb25UeXBlLldhbGxldEluaXRpYWxpemF0aW9uO1xuICAgICAgdGhpcy5faWQgPSBkZWNvZGVkLnByZXBhcmVkUGFydHkubXVsdGlIYXNoO1xuICAgICAgaWYgKGRlY29kZWQubXVsdGlIYXNoU2lnbmF0dXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGRlY29kZWQubXVsdGlIYXNoU2lnbmF0dXJlcy5tYXAoKG11bHRpSGFzaFNpZ25hdHVyZTogTXVsdGlIYXNoU2lnbmF0dXJlKSA9PiB7XG4gICAgICAgICAgdGhpcy5zaWduYXR1cmVzID0gbXVsdGlIYXNoU2lnbmF0dXJlLnNpZ25hdHVyZTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdVbmFibGUgdG8gcGFyc2UgcmF3IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==