@bitgo-beta/abstract-cosmos 1.0.1-beta.0 → 1.0.1-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,17 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
+
6
+ # 1.1.0 (2023-06-05)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **abstract-cosmos:** cosmosLikeUtils export ([75540bb](https://github.com/BitGo/BitGoJS/commit/75540bbf029052c87b14d12aa710eb5ebe137c70))
11
+
12
+ ### Features
13
+
14
+ - **abstract-cosmos:** add abstract cosmos sdk ([0d61c06](https://github.com/BitGo/BitGoJS/commit/0d61c0660d32bb68647ba548ee1ea503adb1cd23))
15
+ - **abstract-cosmos:** add abstract cosmos sdk ([71a57b1](https://github.com/BitGo/BitGoJS/commit/71a57b191fb5081aeba26faceceb957ab1dc9bd0))
16
+ - **abstract-cosmos:** add abstract cosmos sdk ([85ca1a8](https://github.com/BitGo/BitGoJS/commit/85ca1a8aabb91269c1e24f7ce9f3e74247058886))
17
+ - **sdk-coin-osmo:** staking implementation with testcases ([a90c00b](https://github.com/BitGo/BitGoJS/commit/a90c00bd6e49d2a7898b8d4624514708c4f90fb9))
@@ -0,0 +1,63 @@
1
+ /// <reference types="node" />
2
+ import { BaseCoin, BitGoBase, KeyPair, MPCAlgorithm, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions, VerifyAddressOptions, VerifyTransactionOptions } from '@bitgo-beta/sdk-core';
3
+ import { BaseCoin as StaticsBaseCoin, CoinFamily } from '@bitgo-beta/statics';
4
+ import { Hash } from 'crypto';
5
+ /**
6
+ * Cosmos accounts support memo Id based addresses
7
+ */
8
+ interface AddressDetails {
9
+ address: string;
10
+ memoId?: string | undefined;
11
+ }
12
+ export declare class CosmosCoin extends BaseCoin {
13
+ protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
14
+ protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
15
+ static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
16
+ /** @inheritDoc **/
17
+ getBaseFactor(): string | number;
18
+ /** @inheritDoc **/
19
+ getChain(): string;
20
+ /** @inheritDoc **/
21
+ getFamily(): CoinFamily;
22
+ /** @inheritDoc **/
23
+ getFullName(): string;
24
+ /** @inheritDoc */
25
+ supportsTss(): boolean;
26
+ /** @inheritDoc **/
27
+ getMPCAlgorithm(): MPCAlgorithm;
28
+ /** @inheritDoc **/
29
+ isValidPub(pub: string): boolean;
30
+ /** @inheritDoc **/
31
+ isValidPrv(prv: string): boolean;
32
+ verifyTransaction(params: VerifyTransactionOptions): Promise<boolean>;
33
+ isValidAddress(address: string): boolean;
34
+ signTransaction(params: SignTransactionOptions): Promise<SignedTransaction>;
35
+ /** @inheritDoc **/
36
+ parseTransaction(params: ParseTransactionOptions & {
37
+ txHex: string;
38
+ }): Promise<ParsedTransaction>;
39
+ /** @inheritDoc **/
40
+ generateKeyPair(seed?: Buffer): KeyPair;
41
+ getAddressFromPublicKey(pubKey: string): string;
42
+ /** @inheritDoc **/
43
+ isWalletAddress(params: VerifyAddressOptions): Promise<boolean>;
44
+ getHashFunction(): Hash;
45
+ /**
46
+ * Process address into address and memo id
47
+ *
48
+ * @param address the address
49
+ * @returns object containing address and memo id
50
+ */
51
+ getAddressDetails(address: string): AddressDetails;
52
+ /**
53
+ * Return boolean indicating whether a memo id is valid
54
+ *
55
+ * @param memoId memo id
56
+ * @returns true if memo id is valid
57
+ */
58
+ isValidMemoId(memoId: string): boolean;
59
+ private getKeyCombinedFromTssKeyShares;
60
+ private signRecoveryTSS;
61
+ }
62
+ export {};
63
+ //# sourceMappingURL=cosmosCoin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cosmosCoin.d.ts","sourceRoot":"","sources":["../../src/cosmosCoin.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,QAAQ,EACR,SAAS,EAOT,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EAEtB,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG9E,OAAO,EAAc,IAAI,EAAe,MAAM,QAAQ,CAAC;AAQvD;;GAEG;AACH,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AASD,qBAAa,UAAW,SAAQ,QAAQ;IACtC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC3D,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAU/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,mBAAmB;IACnB,aAAa,IAAI,MAAM,GAAG,MAAM;IAIhC,mBAAmB;IACnB,QAAQ,IAAI,MAAM;IAIlB,mBAAmB;IACnB,SAAS,IAAI,UAAU;IAIvB,mBAAmB;IACnB,WAAW,IAAI,MAAM;IAIrB,kBAAkB;IAClB,WAAW,IAAI,OAAO;IAItB,mBAAmB;IACnB,eAAe,IAAI,YAAY;IAI/B,mBAAmB;IACnB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIhC,mBAAmB;IACnB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIhC,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC,eAAe,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI3E,mBAAmB;IACb,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgCvG,mBAAmB;IACnB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAcvC,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI/C,mBAAmB;IACb,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAarE,eAAe,IAAI,IAAI;IAIvB;;;;;OAKG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc;IA4ClD;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAUtC,OAAO,CAAC,8BAA8B;YAiExB,eAAe;CAwF9B"}
@@ -0,0 +1,283 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CosmosCoin = void 0;
4
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const sdk_lib_mpc_1 = require("@bitgo-beta/sdk-lib-mpc");
6
+ const utxo_lib_1 = require("@bitgo-beta/utxo-lib");
7
+ const bignumber_js_1 = require("bignumber.js");
8
+ const crypto_1 = require("crypto");
9
+ const _ = require("lodash");
10
+ const utils_1 = require("./lib/utils");
11
+ const url = require("url");
12
+ const querystring = require("querystring");
13
+ const lib_1 = require("./lib");
14
+ const buffer_1 = require("buffer");
15
+ class CosmosCoin extends sdk_core_1.BaseCoin {
16
+ constructor(bitgo, staticsCoin) {
17
+ super(bitgo);
18
+ if (!staticsCoin) {
19
+ throw new Error('missing required constructor parameter staticsCoin');
20
+ }
21
+ this._staticsCoin = staticsCoin;
22
+ }
23
+ static createInstance(bitgo, staticsCoin) {
24
+ return new CosmosCoin(bitgo, staticsCoin);
25
+ }
26
+ /** @inheritDoc **/
27
+ getBaseFactor() {
28
+ return 1e6;
29
+ }
30
+ /** @inheritDoc **/
31
+ getChain() {
32
+ return this._staticsCoin.name;
33
+ }
34
+ /** @inheritDoc **/
35
+ getFamily() {
36
+ return this._staticsCoin.family;
37
+ }
38
+ /** @inheritDoc **/
39
+ getFullName() {
40
+ return this._staticsCoin.fullName;
41
+ }
42
+ /** @inheritDoc */
43
+ supportsTss() {
44
+ return true;
45
+ }
46
+ /** @inheritDoc **/
47
+ getMPCAlgorithm() {
48
+ return 'ecdsa';
49
+ }
50
+ /** @inheritDoc **/
51
+ isValidPub(pub) {
52
+ return utils_1.default.isValidPublicKey(pub);
53
+ }
54
+ /** @inheritDoc **/
55
+ isValidPrv(prv) {
56
+ return utils_1.default.isValidPrivateKey(prv);
57
+ }
58
+ verifyTransaction(params) {
59
+ throw new Error('Method not implemented.');
60
+ }
61
+ isValidAddress(address) {
62
+ throw new Error('Method not implemented.');
63
+ }
64
+ signTransaction(params) {
65
+ throw new Error('Method not implemented.');
66
+ }
67
+ /** @inheritDoc **/
68
+ async parseTransaction(params) {
69
+ const transactionExplanation = await this.explainTransaction({ txHex: params.txHex });
70
+ if (!transactionExplanation) {
71
+ throw new Error('Invalid transaction');
72
+ }
73
+ if (transactionExplanation.outputs.length <= 0) {
74
+ return {
75
+ inputs: [],
76
+ outputs: [],
77
+ };
78
+ }
79
+ const senderAddress = transactionExplanation.outputs[0].address;
80
+ const feeAmount = new bignumber_js_1.BigNumber(transactionExplanation.fee.fee === '' ? '0' : transactionExplanation.fee.fee);
81
+ const inputs = [
82
+ {
83
+ address: senderAddress,
84
+ amount: new bignumber_js_1.BigNumber(transactionExplanation.outputAmount).plus(feeAmount).toFixed(),
85
+ },
86
+ ];
87
+ const outputs = transactionExplanation.outputs.map((output) => {
88
+ return {
89
+ address: output.address,
90
+ amount: new bignumber_js_1.BigNumber(output.amount).toFixed(),
91
+ };
92
+ });
93
+ return {
94
+ inputs,
95
+ outputs,
96
+ };
97
+ }
98
+ /** @inheritDoc **/
99
+ generateKeyPair(seed) {
100
+ if (!seed) {
101
+ // An extended private key has both a normal 256 bit private key and a 256
102
+ // bit chain code, both of which must be random. 512 bits is therefore the
103
+ // maximum entropy and gives us maximum security against cracking.
104
+ seed = crypto_1.randomBytes(512 / 8);
105
+ }
106
+ const extendedKey = utxo_lib_1.bip32.fromSeed(seed);
107
+ return {
108
+ pub: extendedKey.neutered().toBase58(),
109
+ prv: extendedKey.toBase58(),
110
+ };
111
+ }
112
+ getAddressFromPublicKey(pubKey) {
113
+ return new lib_1.CosmosKeyPair({ pub: pubKey }).getAddress();
114
+ }
115
+ /** @inheritDoc **/
116
+ async isWalletAddress(params) {
117
+ const addressDetails = this.getAddressDetails(params.address);
118
+ if (!this.isValidAddress(addressDetails.address)) {
119
+ throw new sdk_core_1.InvalidAddressError(`invalid address: ${addressDetails.address}`);
120
+ }
121
+ const rootAddress = params.coinSpecific.rootAddress;
122
+ if (addressDetails.address !== rootAddress) {
123
+ throw new sdk_core_1.UnexpectedAddressError(`address validation failure: ${addressDetails.address} vs ${rootAddress}`);
124
+ }
125
+ return true;
126
+ }
127
+ getHashFunction() {
128
+ return crypto_1.createHash('sha256');
129
+ }
130
+ /**
131
+ * Process address into address and memo id
132
+ *
133
+ * @param address the address
134
+ * @returns object containing address and memo id
135
+ */
136
+ getAddressDetails(address) {
137
+ const destinationDetails = url.parse(address);
138
+ const destinationAddress = destinationDetails.pathname || '';
139
+ // address doesn't have a memo id
140
+ if (destinationDetails.pathname === address) {
141
+ return {
142
+ address: address,
143
+ memoId: undefined,
144
+ };
145
+ }
146
+ if (!destinationDetails.query) {
147
+ throw new sdk_core_1.InvalidAddressError(`invalid address: ${address}`);
148
+ }
149
+ const queryDetails = querystring.parse(destinationDetails.query);
150
+ if (!queryDetails.memoId) {
151
+ // if there are more properties, the query details need to contain the memo id property
152
+ throw new sdk_core_1.InvalidAddressError(`invalid address: ${address}`);
153
+ }
154
+ if (Array.isArray(queryDetails.memoId)) {
155
+ throw new sdk_core_1.InvalidAddressError(`memoId may only be given at most once, but found ${queryDetails.memoId.length} instances in address ${address}`);
156
+ }
157
+ if (Array.isArray(queryDetails.memoId) && queryDetails.memoId.length !== 1) {
158
+ // valid addresses can only contain one memo id
159
+ throw new sdk_core_1.InvalidAddressError(`invalid address '${address}', must contain exactly one memoId`);
160
+ }
161
+ const [memoId] = _.castArray(queryDetails.memoId) || undefined;
162
+ if (!this.isValidMemoId(memoId)) {
163
+ throw new sdk_core_1.InvalidMemoIdError(`invalid address: '${address}', memoId is not valid`);
164
+ }
165
+ return {
166
+ address: destinationAddress,
167
+ memoId,
168
+ };
169
+ }
170
+ /**
171
+ * Return boolean indicating whether a memo id is valid
172
+ *
173
+ * @param memoId memo id
174
+ * @returns true if memo id is valid
175
+ */
176
+ isValidMemoId(memoId) {
177
+ let memoIdNumber;
178
+ try {
179
+ memoIdNumber = new bignumber_js_1.BigNumber(memoId);
180
+ }
181
+ catch (e) {
182
+ return false;
183
+ }
184
+ return memoIdNumber.gte(0);
185
+ }
186
+ getKeyCombinedFromTssKeyShares(userPublicOrPrivateKeyShare, backupPrivateOrPublicKeyShare, walletPassphrase) {
187
+ let backupPrv;
188
+ let userPrv;
189
+ try {
190
+ backupPrv = this.bitgo.decrypt({
191
+ input: backupPrivateOrPublicKeyShare,
192
+ password: walletPassphrase,
193
+ });
194
+ userPrv = this.bitgo.decrypt({
195
+ input: userPublicOrPrivateKeyShare,
196
+ password: walletPassphrase,
197
+ });
198
+ }
199
+ catch (e) {
200
+ throw new Error(`Error decrypting backup keychain: ${e.message}`);
201
+ }
202
+ const userSigningMaterial = JSON.parse(userPrv);
203
+ const backupSigningMaterial = JSON.parse(backupPrv);
204
+ if (!userSigningMaterial.backupNShare) {
205
+ throw new Error('Invalid user key - missing backupNShare');
206
+ }
207
+ if (!backupSigningMaterial.userNShare) {
208
+ throw new Error('Invalid backup key - missing userNShare');
209
+ }
210
+ const MPC = new sdk_core_1.Ecdsa();
211
+ const userKeyCombined = MPC.keyCombine(userSigningMaterial.pShare, [
212
+ userSigningMaterial.bitgoNShare,
213
+ userSigningMaterial.backupNShare,
214
+ ]);
215
+ const userSigningKeyDerived = MPC.keyDerive(userSigningMaterial.pShare, [userSigningMaterial.bitgoNShare, userSigningMaterial.backupNShare], 'm/0');
216
+ const userKeyDerivedCombined = {
217
+ xShare: userSigningKeyDerived.xShare,
218
+ yShares: userKeyCombined.yShares,
219
+ };
220
+ const backupKeyCombined = MPC.keyCombine(backupSigningMaterial.pShare, [
221
+ userSigningKeyDerived.nShares[2],
222
+ backupSigningMaterial.bitgoNShare,
223
+ ]);
224
+ if (userKeyDerivedCombined.xShare.y !== backupKeyCombined.xShare.y ||
225
+ userKeyDerivedCombined.xShare.chaincode !== backupKeyCombined.xShare.chaincode) {
226
+ throw new Error('Common keychains do not match');
227
+ }
228
+ return [userKeyDerivedCombined, backupKeyCombined];
229
+ }
230
+ // TODO(BG-78714): Reduce code duplication between this and eth.ts
231
+ async signRecoveryTSS(userKeyCombined, backupKeyCombined, txHex, { rangeProofChallenge, } = {}) {
232
+ const MPC = new sdk_core_1.Ecdsa();
233
+ const signerOneIndex = userKeyCombined.xShare.i;
234
+ const signerTwoIndex = backupKeyCombined.xShare.i;
235
+ // Since this is a user <> backup signing, we will reuse the same range proof challenge
236
+ rangeProofChallenge =
237
+ rangeProofChallenge !== null && rangeProofChallenge !== void 0 ? rangeProofChallenge : sdk_lib_mpc_1.EcdsaTypes.serializeNtildeWithProofs(await sdk_lib_mpc_1.EcdsaRangeProof.generateNtilde());
238
+ const userToBackupPaillierChallenge = await sdk_lib_mpc_1.EcdsaPaillierProof.generateP(sdk_core_1.hexToBigInt(userKeyCombined.yShares[signerTwoIndex].n));
239
+ const backupToUserPaillierChallenge = await sdk_lib_mpc_1.EcdsaPaillierProof.generateP(sdk_core_1.hexToBigInt(backupKeyCombined.yShares[signerOneIndex].n));
240
+ const userXShare = MPC.appendChallenge(userKeyCombined.xShare, rangeProofChallenge, sdk_lib_mpc_1.EcdsaTypes.serializePaillierChallenge({ p: userToBackupPaillierChallenge }));
241
+ const userYShare = MPC.appendChallenge(userKeyCombined.yShares[signerTwoIndex], rangeProofChallenge, sdk_lib_mpc_1.EcdsaTypes.serializePaillierChallenge({ p: backupToUserPaillierChallenge }));
242
+ const backupXShare = MPC.appendChallenge(backupKeyCombined.xShare, rangeProofChallenge, sdk_lib_mpc_1.EcdsaTypes.serializePaillierChallenge({ p: backupToUserPaillierChallenge }));
243
+ const backupYShare = MPC.appendChallenge(backupKeyCombined.yShares[signerOneIndex], rangeProofChallenge, sdk_lib_mpc_1.EcdsaTypes.serializePaillierChallenge({ p: userToBackupPaillierChallenge }));
244
+ const signShares = await MPC.signShare(userXShare, userYShare);
245
+ const signConvertS21 = await MPC.signConvertStep1({
246
+ xShare: backupXShare,
247
+ yShare: backupYShare,
248
+ kShare: signShares.kShare,
249
+ });
250
+ const signConvertS12 = await MPC.signConvertStep2({
251
+ aShare: signConvertS21.aShare,
252
+ wShare: signShares.wShare,
253
+ });
254
+ const signConvertS21_2 = await MPC.signConvertStep3({
255
+ muShare: signConvertS12.muShare,
256
+ bShare: signConvertS21.bShare,
257
+ });
258
+ const [signCombineOne, signCombineTwo] = [
259
+ MPC.signCombine({
260
+ gShare: signConvertS12.gShare,
261
+ signIndex: {
262
+ i: signConvertS12.muShare.i,
263
+ j: signConvertS12.muShare.j,
264
+ },
265
+ }),
266
+ MPC.signCombine({
267
+ gShare: signConvertS21_2.gShare,
268
+ signIndex: {
269
+ i: signConvertS21_2.signIndex.i,
270
+ j: signConvertS21_2.signIndex.j,
271
+ },
272
+ }),
273
+ ];
274
+ const MESSAGE = buffer_1.Buffer.from(txHex, 'hex');
275
+ const [signA, signB] = [
276
+ MPC.sign(MESSAGE, signCombineOne.oShare, signCombineTwo.dShare, crypto_1.createHash('sha256')),
277
+ MPC.sign(MESSAGE, signCombineTwo.oShare, signCombineOne.dShare, crypto_1.createHash('sha256')),
278
+ ];
279
+ return MPC.constructSignature([signA, signB]);
280
+ }
281
+ }
282
+ exports.CosmosCoin = CosmosCoin;
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zbW9zQ29pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3Ntb3NDb2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQWtCOEI7QUFDOUIseURBQTBGO0FBRTFGLG1EQUE2QztBQUM3QywrQ0FBeUM7QUFDekMsbUNBQXVEO0FBQ3ZELDRCQUE0QjtBQUM1Qix1Q0FBZ0M7QUFDaEMsMkJBQTJCO0FBQzNCLDJDQUEyQztBQUMzQywrQkFBc0M7QUFDdEMsbUNBQWdDO0FBaUJoQyxNQUFhLFVBQVcsU0FBUSxtQkFBUTtJQUV0QyxZQUFzQixLQUFnQixFQUFFLFdBQXVDO1FBQzdFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUViLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1NBQ3ZFO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxPQUFPLElBQUksVUFBVSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLGFBQWE7UUFDWCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELG1CQUFtQjtJQUNuQixTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJ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QVMsQ0FBQyxDQUFDO29CQUMvQixDQUFDLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ2hDO2FBQ0YsQ0FBQztTQUNILENBQUM7UUFFRixNQUFNLE9BQU8sR0FBRyxlQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUxQyxNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ3JCLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLE1BQU0sRUFBRSxtQkFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JGLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLE1BQU0sRUFBRSxtQkFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3RGLENBQUM7UUFFRixPQUFPLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7Q0FDRjtBQXJXRCxnQ0FxV0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlQ29pbixcbiAgQml0R29CYXNlLFxuICBFY2RzYSxcbiAgRUNEU0EsXG4gIEVDRFNBTWV0aG9kVHlwZXMsXG4gIGhleFRvQmlnSW50LFxuICBJbnZhbGlkQWRkcmVzc0Vycm9yLFxuICBJbnZhbGlkTWVtb0lkRXJyb3IsXG4gIEtleVBhaXIsXG4gIE1QQ0FsZ29yaXRobSxcbiAgUGFyc2VkVHJhbnNhY3Rpb24sXG4gIFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zLFxuICBTaWduZWRUcmFuc2FjdGlvbixcbiAgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgVW5leHBlY3RlZEFkZHJlc3NFcnJvcixcbiAgVmVyaWZ5QWRkcmVzc09wdGlvbnMsXG4gIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgRWNkc2FQYWlsbGllclByb29mLCBFY2RzYVJhbmdlUHJvb2YsIEVjZHNhVHlwZXMgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstbGliLW1wYyc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4sIENvaW5GYW1pbHkgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IGJpcDMyIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0IHsgQmlnTnVtYmVyIH0gZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IGNyZWF0ZUhhc2gsIEhhc2gsIHJhbmRvbUJ5dGVzIH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB1dGlscyBmcm9tICcuL2xpYi91dGlscyc7XG5pbXBvcnQgKiBhcyB1cmwgZnJvbSAndXJsJztcbmltcG9ydCAqIGFzIHF1ZXJ5c3RyaW5nIGZyb20gJ3F1ZXJ5c3RyaW5nJztcbmltcG9ydCB7IENvc21vc0tleVBhaXIgfSBmcm9tICcuL2xpYic7XG5pbXBvcnQgeyBCdWZmZXIgfSBmcm9tICdidWZmZXInO1xuXG4vKipcbiAqIENvc21vcyBhY2NvdW50cyBzdXBwb3J0IG1lbW8gSWQgYmFzZWQgYWRkcmVzc2VzXG4gKi9cbmludGVyZmFjZSBBZGRyZXNzRGV0YWlscyB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgbWVtb0lkPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIENvc21vcyBhY2NvdW50cyBzdXBwb3J0IG1lbW8gSWQgYmFzZWQgYWRkcmVzc2VzXG4gKi9cbmludGVyZmFjZSBDb3Ntb3NDb2luU3BlY2lmaWMge1xuICByb290QWRkcmVzczogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQ29zbW9zQ29pbiBleHRlbmRzIEJhc2VDb2luIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zdGF0aWNzQ29pbjogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikge1xuICAgIHN1cGVyKGJpdGdvKTtcblxuICAgIGlmICghc3RhdGljc0NvaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgc3RhdGljc0NvaW4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IENvc21vc0NvaW4oYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqKi9cbiAgZ2V0QmFzZUZhY3RvcigpOiBzdHJpbmcgfCBudW1iZXIge1xuICAgIHJldHVybiAxZTY7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldENoYWluKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLm5hbWU7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldEZhbWlseSgpOiBDb2luRmFtaWx5IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGljc0NvaW4uZmFtaWx5O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBnZXRGdWxsTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zdGF0aWNzQ29pbi5mdWxsTmFtZTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBzdXBwb3J0c1RzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqKi9cbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobSB7XG4gICAgcmV0dXJuICdlY2RzYSc7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGlzVmFsaWRQdWIocHViOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdXRpbHMuaXNWYWxpZFB1YmxpY0tleShwdWIpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBpc1ZhbGlkUHJ2KHBydjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHV0aWxzLmlzVmFsaWRQcml2YXRlS2V5KHBydik7XG4gIH1cblxuICB2ZXJpZnlUcmFuc2FjdGlvbihwYXJhbXM6IFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIHNpZ25UcmFuc2FjdGlvbihwYXJhbXM6IFNpZ25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFNpZ25lZFRyYW5zYWN0aW9uPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBhc3luYyBwYXJzZVRyYW5zYWN0aW9uKHBhcmFtczogUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMgJiB7IHR4SGV4OiBzdHJpbmcgfSk6IFByb21pc2U8UGFyc2VkVHJhbnNhY3Rpb24+IHtcbiAgICBjb25zdCB0cmFuc2FjdGlvbkV4cGxhbmF0aW9uID0gYXdhaXQgdGhpcy5leHBsYWluVHJhbnNhY3Rpb24oeyB0eEhleDogcGFyYW1zLnR4SGV4IH0pO1xuICAgIGlmICghdHJhbnNhY3Rpb25FeHBsYW5hdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuXG4gICAgaWYgKHRyYW5zYWN0aW9uRXhwbGFuYXRpb24ub3V0cHV0cy5sZW5ndGggPD0gMCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaW5wdXRzOiBbXSxcbiAgICAgICAgb3V0cHV0czogW10sXG4gICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBzZW5kZXJBZGRyZXNzID0gdHJhbnNhY3Rpb25FeHBsYW5hdGlvbi5vdXRwdXRzWzBdLmFkZHJlc3M7XG4gICAgY29uc3QgZmVlQW1vdW50ID0gbmV3IEJpZ051bWJlcih0cmFuc2FjdGlvbkV4cGxhbmF0aW9uLmZlZS5mZWUgPT09ICcnID8gJzAnIDogdHJhbnNhY3Rpb25FeHBsYW5hdGlvbi5mZWUuZmVlKTtcbiAgICBjb25zdCBpbnB1dHMgPSBbXG4gICAgICB7XG4gICAgICAgIGFkZHJlc3M6IHNlbmRlckFkZHJlc3MsXG4gICAgICAgIGFtb3VudDogbmV3IEJpZ051bWJlcih0cmFuc2FjdGlvbkV4cGxhbmF0aW9uLm91dHB1dEFtb3VudCkucGx1cyhmZWVBbW91bnQpLnRvRml4ZWQoKSxcbiAgICAgIH0sXG4gICAgXTtcbiAgICBjb25zdCBvdXRwdXRzID0gdHJhbnNhY3Rpb25FeHBsYW5hdGlvbi5vdXRwdXRzLm1hcCgob3V0cHV0KSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhZGRyZXNzOiBvdXRwdXQuYWRkcmVzcyxcbiAgICAgICAgYW1vdW50OiBuZXcgQmlnTnVtYmVyKG91dHB1dC5hbW91bnQpLnRvRml4ZWQoKSxcbiAgICAgIH07XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlucHV0cyxcbiAgICAgIG91dHB1dHMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqKi9cbiAgZ2VuZXJhdGVLZXlQYWlyKHNlZWQ/OiBCdWZmZXIpOiBLZXlQYWlyIHtcbiAgICBpZiAoIXNlZWQpIHtcbiAgICAgIC8vIEFuIGV4dGVuZGVkIHByaXZhdGUga2V5IGhhcyBib3RoIGEgbm9ybWFsIDI1NiBiaXQgcHJpdmF0ZSBrZXkgYW5kIGEgMjU2XG4gICAgICAvLyBiaXQgY2hhaW4gY29kZSwgYm90aCBvZiB3aGljaCBtdXN0IGJlIHJhbmRvbS4gNTEyIGJpdHMgaXMgdGhlcmVmb3JlIHRoZVxuICAgICAgLy8gbWF4aW11bSBlbnRyb3B5IGFuZCBnaXZlcyB1cyBtYXhpbXVtIHNlY3VyaXR5IGFnYWluc3QgY3JhY2tpbmcuXG4gICAgICBzZWVkID0gcmFuZG9tQnl0ZXMoNTEyIC8gOCk7XG4gICAgfVxuICAgIGNvbnN0IGV4dGVuZGVkS2V5ID0gYmlwMzIuZnJvbVNlZWQoc2VlZCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHB1YjogZXh0ZW5kZWRLZXkubmV1dGVyZWQoKS50b0Jhc2U1OCgpLFxuICAgICAgcHJ2OiBleHRlbmRlZEtleS50b0Jhc2U1OCgpLFxuICAgIH07XG4gIH1cblxuICBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleShwdWJLZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldyBDb3Ntb3NLZXlQYWlyKHsgcHViOiBwdWJLZXkgfSkuZ2V0QWRkcmVzcygpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBhc3luYyBpc1dhbGxldEFkZHJlc3MocGFyYW1zOiBWZXJpZnlBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGFkZHJlc3NEZXRhaWxzID0gdGhpcy5nZXRBZGRyZXNzRGV0YWlscyhwYXJhbXMuYWRkcmVzcyk7XG5cbiAgICBpZiAoIXRoaXMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzc0RldGFpbHMuYWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQWRkcmVzc0Vycm9yKGBpbnZhbGlkIGFkZHJlc3M6ICR7YWRkcmVzc0RldGFpbHMuYWRkcmVzc31gKTtcbiAgICB9XG4gICAgY29uc3Qgcm9vdEFkZHJlc3MgPSAocGFyYW1zLmNvaW5TcGVjaWZpYyBhcyBDb3Ntb3NDb2luU3BlY2lmaWMpLnJvb3RBZGRyZXNzO1xuICAgIGlmIChhZGRyZXNzRGV0YWlscy5hZGRyZXNzICE9PSByb290QWRkcmVzcykge1xuICAgICAgdGhyb3cgbmV3IFVuZXhwZWN0ZWRBZGRyZXNzRXJyb3IoYGFkZHJlc3MgdmFsaWRhdGlvbiBmYWlsdXJlOiAke2FkZHJlc3NEZXRhaWxzLmFkZHJlc3N9IHZzICR7cm9vdEFkZHJlc3N9YCk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZ2V0SGFzaEZ1bmN0aW9uKCk6IEhhc2gge1xuICAgIHJldHVybiBjcmVhdGVIYXNoKCdzaGEyNTYnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9jZXNzIGFkZHJlc3MgaW50byBhZGRyZXNzIGFuZCBtZW1vIGlkXG4gICAqXG4gICAqIEBwYXJhbSBhZGRyZXNzIHRoZSBhZGRyZXNzXG4gICAqIEByZXR1cm5zIG9iamVjdCBjb250YWluaW5nIGFkZHJlc3MgYW5kIG1lbW8gaWRcbiAgICovXG4gIGdldEFkZHJlc3NEZXRhaWxzKGFkZHJlc3M6IHN0cmluZyk6IEFkZHJlc3NEZXRhaWxzIHtcbiAgICBjb25zdCBkZXN0aW5hdGlvbkRldGFpbHMgPSB1cmwucGFyc2UoYWRkcmVzcyk7XG4gICAgY29uc3QgZGVzdGluYXRpb25BZGRyZXNzID0gZGVzdGluYXRpb25EZXRhaWxzLnBhdGhuYW1lIHx8ICcnO1xuXG4gICAgLy8gYWRkcmVzcyBkb2Vzbid0IGhhdmUgYSBtZW1vIGlkXG4gICAgaWYgKGRlc3RpbmF0aW9uRGV0YWlscy5wYXRobmFtZSA9PT0gYWRkcmVzcykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWRkcmVzczogYWRkcmVzcyxcbiAgICAgICAgbWVtb0lkOiB1bmRlZmluZWQsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICghZGVzdGluYXRpb25EZXRhaWxzLnF1ZXJ5KSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcihgaW52YWxpZCBhZGRyZXNzOiAke2FkZHJlc3N9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgcXVlcnlEZXRhaWxzID0gcXVlcnlzdHJpbmcucGFyc2UoZGVzdGluYXRpb25EZXRhaWxzLnF1ZXJ5KTtcbiAgICBpZiAoIXF1ZXJ5RGV0YWlscy5tZW1vSWQpIHtcbiAgICAgIC8vIGlmIHRoZXJlIGFyZSBtb3JlIHByb3BlcnRpZXMsIHRoZSBxdWVyeSBkZXRhaWxzIG5lZWQgdG8gY29udGFpbiB0aGUgbWVtbyBpZCBwcm9wZXJ0eVxuICAgICAgdGhyb3cgbmV3IEludmFsaWRBZGRyZXNzRXJyb3IoYGludmFsaWQgYWRkcmVzczogJHthZGRyZXNzfWApO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHF1ZXJ5RGV0YWlscy5tZW1vSWQpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcihcbiAgICAgICAgYG1lbW9JZCBtYXkgb25seSBiZSBnaXZlbiBhdCBtb3N0IG9uY2UsIGJ1dCBmb3VuZCAke3F1ZXJ5RGV0YWlscy5tZW1vSWQubGVuZ3RofSBpbnN0YW5jZXMgaW4gYWRkcmVzcyAke2FkZHJlc3N9YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShxdWVyeURldGFpbHMubWVtb0lkKSAmJiBxdWVyeURldGFpbHMubWVtb0lkLmxlbmd0aCAhPT0gMSkge1xuICAgICAgLy8gdmFsaWQgYWRkcmVzc2VzIGNhbiBvbmx5IGNvbnRhaW4gb25lIG1lbW8gaWRcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQWRkcmVzc0Vycm9yKGBpbnZhbGlkIGFkZHJlc3MgJyR7YWRkcmVzc30nLCBtdXN0IGNvbnRhaW4gZXhhY3RseSBvbmUgbWVtb0lkYCk7XG4gICAgfVxuXG4gICAgY29uc3QgW21lbW9JZF0gPSBfLmNhc3RBcnJheShxdWVyeURldGFpbHMubWVtb0lkKSB8fCB1bmRlZmluZWQ7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWRNZW1vSWQobWVtb0lkKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRNZW1vSWRFcnJvcihgaW52YWxpZCBhZGRyZXNzOiAnJHthZGRyZXNzfScsIG1lbW9JZCBpcyBub3QgdmFsaWRgKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgYWRkcmVzczogZGVzdGluYXRpb25BZGRyZXNzLFxuICAgICAgbWVtb0lkLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIGEgbWVtbyBpZCBpcyB2YWxpZFxuICAgKlxuICAgKiBAcGFyYW0gbWVtb0lkIG1lbW8gaWRcbiAgICogQHJldHVybnMgdHJ1ZSBpZiBtZW1vIGlkIGlzIHZhbGlkXG4gICAqL1xuICBpc1ZhbGlkTWVtb0lkKG1lbW9JZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgbGV0IG1lbW9JZE51bWJlcjtcbiAgICB0cnkge1xuICAgICAgbWVtb0lkTnVtYmVyID0gbmV3IEJpZ051bWJlcihtZW1vSWQpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIG1lbW9JZE51bWJlci5ndGUoMCk7XG4gIH1cblxuICBwcml2YXRlIGdldEtleUNvbWJpbmVkRnJvbVRzc0tleVNoYXJlcyhcbiAgICB1c2VyUHVibGljT3JQcml2YXRlS2V5U2hhcmU6IHN0cmluZyxcbiAgICBiYWNrdXBQcml2YXRlT3JQdWJsaWNLZXlTaGFyZTogc3RyaW5nLFxuICAgIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmdcbiAgKTogW0VDRFNBTWV0aG9kVHlwZXMuS2V5Q29tYmluZWQsIEVDRFNBTWV0aG9kVHlwZXMuS2V5Q29tYmluZWRdIHtcbiAgICBsZXQgYmFja3VwUHJ2O1xuICAgIGxldCB1c2VyUHJ2O1xuICAgIHRyeSB7XG4gICAgICBiYWNrdXBQcnYgPSB0aGlzLmJpdGdvLmRlY3J5cHQoe1xuICAgICAgICBpbnB1dDogYmFja3VwUHJpdmF0ZU9yUHVibGljS2V5U2hhcmUsXG4gICAgICAgIHBhc3N3b3JkOiB3YWxsZXRQYXNzcGhyYXNlLFxuICAgICAgfSk7XG4gICAgICB1c2VyUHJ2ID0gdGhpcy5iaXRnby5kZWNyeXB0KHtcbiAgICAgICAgaW5wdXQ6IHVzZXJQdWJsaWNPclByaXZhdGVLZXlTaGFyZSxcbiAgICAgICAgcGFzc3dvcmQ6IHdhbGxldFBhc3NwaHJhc2UsXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEVycm9yIGRlY3J5cHRpbmcgYmFja3VwIGtleWNoYWluOiAke2UubWVzc2FnZX1gKTtcbiAgICB9XG5cbiAgICBjb25zdCB1c2VyU2lnbmluZ01hdGVyaWFsID0gSlNPTi5wYXJzZSh1c2VyUHJ2KSBhcyBFQ0RTQU1ldGhvZFR5cGVzLlNpZ25pbmdNYXRlcmlhbDtcbiAgICBjb25zdCBiYWNrdXBTaWduaW5nTWF0ZXJpYWwgPSBKU09OLnBhcnNlKGJhY2t1cFBydikgYXMgRUNEU0FNZXRob2RUeXBlcy5TaWduaW5nTWF0ZXJpYWw7XG5cbiAgICBpZiAoIXVzZXJTaWduaW5nTWF0ZXJpYWwuYmFja3VwTlNoYXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdXNlciBrZXkgLSBtaXNzaW5nIGJhY2t1cE5TaGFyZScpO1xuICAgIH1cblxuICAgIGlmICghYmFja3VwU2lnbmluZ01hdGVyaWFsLnVzZXJOU2hhcmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBiYWNrdXAga2V5IC0gbWlzc2luZyB1c2VyTlNoYXJlJyk7XG4gICAgfVxuXG4gICAgY29uc3QgTVBDID0gbmV3IEVjZHNhKCk7XG5cbiAgICBjb25zdCB1c2VyS2V5Q29tYmluZWQgPSBNUEMua2V5Q29tYmluZSh1c2VyU2lnbmluZ01hdGVyaWFsLnBTaGFyZSwgW1xuICAgICAgdXNlclNpZ25pbmdNYXRlcmlhbC5iaXRnb05TaGFyZSxcbiAgICAgIHVzZXJTaWduaW5nTWF0ZXJpYWwuYmFja3VwTlNoYXJlLFxuICAgIF0pO1xuXG4gICAgY29uc3QgdXNlclNpZ25pbmdLZXlEZXJpdmVkID0gTVBDLmtleURlcml2ZShcbiAgICAgIHVzZXJTaWduaW5nTWF0ZXJpYWwucFNoYXJlLFxuICAgICAgW3VzZXJTaWduaW5nTWF0ZXJpYWwuYml0Z29OU2hhcmUsIHVzZXJTaWduaW5nTWF0ZXJpYWwuYmFja3VwTlNoYXJlXSxcbiAgICAgICdtLzAnXG4gICAgKTtcblxuICAgIGNvbnN0IHVzZXJLZXlEZXJpdmVkQ29tYmluZWQgPSB7XG4gICAgICB4U2hhcmU6IHVzZXJTaWduaW5nS2V5RGVyaXZlZC54U2hhcmUsXG4gICAgICB5U2hhcmVzOiB1c2VyS2V5Q29tYmluZWQueVNoYXJlcyxcbiAgICB9O1xuXG4gICAgY29uc3QgYmFja3VwS2V5Q29tYmluZWQgPSBNUEMua2V5Q29tYmluZShiYWNrdXBTaWduaW5nTWF0ZXJpYWwucFNoYXJlLCBbXG4gICAgICB1c2VyU2lnbmluZ0tleURlcml2ZWQublNoYXJlc1syXSxcbiAgICAgIGJhY2t1cFNpZ25pbmdNYXRlcmlhbC5iaXRnb05TaGFyZSxcbiAgICBdKTtcblxuICAgIGlmIChcbiAgICAgIHVzZXJLZXlEZXJpdmVkQ29tYmluZWQueFNoYXJlLnkgIT09IGJhY2t1cEtleUNvbWJpbmVkLnhTaGFyZS55IHx8XG4gICAgICB1c2VyS2V5RGVyaXZlZENvbWJpbmVkLnhTaGFyZS5jaGFpbmNvZGUgIT09IGJhY2t1cEtleUNvbWJpbmVkLnhTaGFyZS5jaGFpbmNvZGVcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29tbW9uIGtleWNoYWlucyBkbyBub3QgbWF0Y2gnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gW3VzZXJLZXlEZXJpdmVkQ29tYmluZWQsIGJhY2t1cEtleUNvbWJpbmVkXTtcbiAgfVxuXG4gIC8vIFRPRE8oQkctNzg3MTQpOiBSZWR1Y2UgY29kZSBkdXBsaWNhdGlvbiBiZXR3ZWVuIHRoaXMgYW5kIGV0aC50c1xuICBwcml2YXRlIGFzeW5jIHNpZ25SZWNvdmVyeVRTUyhcbiAgICB1c2VyS2V5Q29tYmluZWQ6IEVDRFNBLktleUNvbWJpbmVkLFxuICAgIGJhY2t1cEtleUNvbWJpbmVkOiBFQ0RTQS5LZXlDb21iaW5lZCxcbiAgICB0eEhleDogc3RyaW5nLFxuICAgIHtcbiAgICAgIHJhbmdlUHJvb2ZDaGFsbGVuZ2UsXG4gICAgfToge1xuICAgICAgcmFuZ2VQcm9vZkNoYWxsZW5nZT86IEVjZHNhVHlwZXMuU2VyaWFsaXplZE50aWxkZTtcbiAgICB9ID0ge31cbiAgKTogUHJvbWlzZTxFQ0RTQU1ldGhvZFR5cGVzLlNpZ25hdHVyZT4ge1xuICAgIGNvbnN0IE1QQyA9IG5ldyBFY2RzYSgpO1xuICAgIGNvbnN0IHNpZ25lck9uZUluZGV4ID0gdXNlcktleUNvbWJpbmVkLnhTaGFyZS5pO1xuICAgIGNvbnN0IHNpZ25lclR3b0luZGV4ID0gYmFja3VwS2V5Q29tYmluZWQueFNoYXJlLmk7XG5cbiAgICAvLyBTaW5jZSB0aGlzIGlzIGEgdXNlciA8PiBiYWNrdXAgc2lnbmluZywgd2Ugd2lsbCByZXVzZSB0aGUgc2FtZSByYW5nZSBwcm9vZiBjaGFsbGVuZ2VcbiAgICByYW5nZVByb29mQ2hhbGxlbmdlID1cbiAgICAgIHJhbmdlUHJvb2ZDaGFsbGVuZ2UgPz8gRWNkc2FUeXBlcy5zZXJpYWxpemVOdGlsZGVXaXRoUHJvb2ZzKGF3YWl0IEVjZHNhUmFuZ2VQcm9vZi5nZW5lcmF0ZU50aWxkZSgpKTtcblxuICAgIGNvbnN0IHVzZXJUb0JhY2t1cFBhaWxsaWVyQ2hhbGxlbmdlID0gYXdhaXQgRWNkc2FQYWlsbGllclByb29mLmdlbmVyYXRlUChcbiAgICAgIGhleFRvQmlnSW50KHVzZXJLZXlDb21iaW5lZC55U2hhcmVzW3NpZ25lclR3b0luZGV4XS5uKVxuICAgICk7XG4gICAgY29uc3QgYmFja3VwVG9Vc2VyUGFpbGxpZXJDaGFsbGVuZ2UgPSBhd2FpdCBFY2RzYVBhaWxsaWVyUHJvb2YuZ2VuZXJhdGVQKFxuICAgICAgaGV4VG9CaWdJbnQoYmFja3VwS2V5Q29tYmluZWQueVNoYXJlc1tzaWduZXJPbmVJbmRleF0ubilcbiAgICApO1xuXG4gICAgY29uc3QgdXNlclhTaGFyZSA9IE1QQy5hcHBlbmRDaGFsbGVuZ2UoXG4gICAgICB1c2VyS2V5Q29tYmluZWQueFNoYXJlLFxuICAgICAgcmFuZ2VQcm9vZkNoYWxsZW5nZSxcbiAgICAgIEVjZHNhVHlwZXMuc2VyaWFsaXplUGFpbGxpZXJDaGFsbGVuZ2UoeyBwOiB1c2VyVG9CYWNrdXBQYWlsbGllckNoYWxsZW5nZSB9KVxuICAgICk7XG4gICAgY29uc3QgdXNlcllTaGFyZSA9IE1QQy5hcHBlbmRDaGFsbGVuZ2UoXG4gICAgICB1c2VyS2V5Q29tYmluZWQueVNoYXJlc1tzaWduZXJUd29JbmRleF0sXG4gICAgICByYW5nZVByb29mQ2hhbGxlbmdlLFxuICAgICAgRWNkc2FUeXBlcy5zZXJpYWxpemVQYWlsbGllckNoYWxsZW5nZSh7IHA6IGJhY2t1cFRvVXNlclBhaWxsaWVyQ2hhbGxlbmdlIH0pXG4gICAgKTtcbiAgICBjb25zdCBiYWNrdXBYU2hhcmUgPSBNUEMuYXBwZW5kQ2hhbGxlbmdlKFxuICAgICAgYmFja3VwS2V5Q29tYmluZWQueFNoYXJlLFxuICAgICAgcmFuZ2VQcm9vZkNoYWxsZW5nZSxcbiAgICAgIEVjZHNhVHlwZXMuc2VyaWFsaXplUGFpbGxpZXJDaGFsbGVuZ2UoeyBwOiBiYWNrdXBUb1VzZXJQYWlsbGllckNoYWxsZW5nZSB9KVxuICAgICk7XG4gICAgY29uc3QgYmFja3VwWVNoYXJlID0gTVBDLmFwcGVuZENoYWxsZW5nZShcbiAgICAgIGJhY2t1cEtleUNvbWJpbmVkLnlTaGFyZXNbc2lnbmVyT25lSW5kZXhdLFxuICAgICAgcmFuZ2VQcm9vZkNoYWxsZW5nZSxcbiAgICAgIEVjZHNhVHlwZXMuc2VyaWFsaXplUGFpbGxpZXJDaGFsbGVuZ2UoeyBwOiB1c2VyVG9CYWNrdXBQYWlsbGllckNoYWxsZW5nZSB9KVxuICAgICk7XG5cbiAgICBjb25zdCBzaWduU2hhcmVzOiBFQ0RTQS5TaWduU2hhcmVSVCA9IGF3YWl0IE1QQy5zaWduU2hhcmUodXNlclhTaGFyZSwgdXNlcllTaGFyZSk7XG5cbiAgICBjb25zdCBzaWduQ29udmVydFMyMSA9IGF3YWl0IE1QQy5zaWduQ29udmVydFN0ZXAxKHtcbiAgICAgIHhTaGFyZTogYmFja3VwWFNoYXJlLFxuICAgICAgeVNoYXJlOiBiYWNrdXBZU2hhcmUsIC8vIFlTaGFyZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBvdGhlciBwYXJ0aWNpcGFudCBzaWduZXJPbmVcbiAgICAgIGtTaGFyZTogc2lnblNoYXJlcy5rU2hhcmUsXG4gICAgfSk7XG4gICAgY29uc3Qgc2lnbkNvbnZlcnRTMTIgPSBhd2FpdCBNUEMuc2lnbkNvbnZlcnRTdGVwMih7XG4gICAgICBhU2hhcmU6IHNpZ25Db252ZXJ0UzIxLmFTaGFyZSxcbiAgICAgIHdTaGFyZTogc2lnblNoYXJlcy53U2hhcmUsXG4gICAgfSk7XG4gICAgY29uc3Qgc2lnbkNvbnZlcnRTMjFfMiA9IGF3YWl0IE1QQy5zaWduQ29udmVydFN0ZXAzKHtcbiAgICAgIG11U2hhcmU6IHNpZ25Db252ZXJ0UzEyLm11U2hhcmUsXG4gICAgICBiU2hhcmU6IHNpZ25Db252ZXJ0UzIxLmJTaGFyZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IFtzaWduQ29tYmluZU9uZSwgc2lnbkNvbWJpbmVUd29dID0gW1xuICAgICAgTVBDLnNpZ25Db21iaW5lKHtcbiAgICAgICAgZ1NoYXJlOiBzaWduQ29udmVydFMxMi5nU2hhcmUsXG4gICAgICAgIHNpZ25JbmRleDoge1xuICAgICAgICAgIGk6IHNpZ25Db252ZXJ0UzEyLm11U2hhcmUuaSxcbiAgICAgICAgICBqOiBzaWduQ29udmVydFMxMi5tdVNoYXJlLmosXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIE1QQy5zaWduQ29tYmluZSh7XG4gICAgICAgIGdTaGFyZTogc2lnbkNvbnZlcnRTMjFfMi5nU2hhcmUsXG4gICAgICAgIHNpZ25JbmRleDoge1xuICAgICAgICAgIGk6IHNpZ25Db252ZXJ0UzIxXzIuc2lnbkluZGV4LmksXG4gICAgICAgICAgajogc2lnbkNvbnZlcnRTMjFfMi5zaWduSW5kZXguaixcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIF07XG5cbiAgICBjb25zdCBNRVNTQUdFID0gQnVmZmVyLmZyb20odHhIZXgsICdoZXgnKTtcblxuICAgIGNvbnN0IFtzaWduQSwgc2lnbkJdID0gW1xuICAgICAgTVBDLnNpZ24oTUVTU0FHRSwgc2lnbkNvbWJpbmVPbmUub1NoYXJlLCBzaWduQ29tYmluZVR3by5kU2hhcmUsIGNyZWF0ZUhhc2goJ3NoYTI1NicpKSxcbiAgICAgIE1QQy5zaWduKE1FU1NBR0UsIHNpZ25Db21iaW5lVHdvLm9TaGFyZSwgc2lnbkNvbWJpbmVPbmUuZFNoYXJlLCBjcmVhdGVIYXNoKCdzaGEyNTYnKSksXG4gICAgXTtcblxuICAgIHJldHVybiBNUEMuY29uc3RydWN0U2lnbmF0dXJlKFtzaWduQSwgc2lnbkJdKTtcbiAgfVxufVxuIl19
@@ -1,2 +1,3 @@
1
1
  export * from './lib';
2
+ export { CosmosCoin } from './cosmosCoin';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
package/dist/src/index.js CHANGED
@@ -10,5 +10,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.CosmosCoin = void 0;
13
14
  __exportStar(require("./lib"), exports);
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsd0NBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWInO1xuIl19
15
+ var cosmosCoin_1 = require("./cosmosCoin");
16
+ Object.defineProperty(exports, "CosmosCoin", { enumerable: true, get: function () { return cosmosCoin_1.CosmosCoin; } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBLHdDQUFzQjtBQUN0QiwyQ0FBMEM7QUFBakMsd0dBQUEsVUFBVSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWInO1xuZXhwb3J0IHsgQ29zbW9zQ29pbiB9IGZyb20gJy4vY29zbW9zQ29pbic7XG4iXX0=
@@ -1,8 +1,8 @@
1
1
  import * as CosmosConstants from './constants';
2
- import * as CosmosLikeUtils from './utils';
3
2
  export * from './iface';
4
3
  export { CosmosKeyPair } from './keyPair';
5
4
  export { CosmosTransaction } from './transaction';
6
5
  export { CosmosTransactionBuilder } from './transactionBuilder';
7
- export { CosmosConstants, CosmosLikeUtils };
6
+ export { CosmosLikeUtils } from './utils';
7
+ export { CosmosConstants };
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,eAAe,MAAM,SAAS,CAAC;AAC3C,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,aAAa,CAAC;AAC/C,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -10,11 +10,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.CosmosLikeUtils = exports.CosmosConstants = exports.CosmosTransactionBuilder = exports.CosmosTransaction = exports.CosmosKeyPair = void 0;
13
+ exports.CosmosConstants = exports.CosmosLikeUtils = exports.CosmosTransactionBuilder = exports.CosmosTransaction = exports.CosmosKeyPair = void 0;
14
14
  const CosmosConstants = require("./constants");
15
15
  exports.CosmosConstants = CosmosConstants;
16
- const CosmosLikeUtils = require("./utils");
17
- exports.CosmosLikeUtils = CosmosLikeUtils;
18
16
  __exportStar(require("./iface"), exports);
19
17
  var keyPair_1 = require("./keyPair");
20
18
  Object.defineProperty(exports, "CosmosKeyPair", { enumerable: true, get: function () { return keyPair_1.CosmosKeyPair; } });
@@ -22,4 +20,6 @@ var transaction_1 = require("./transaction");
22
20
  Object.defineProperty(exports, "CosmosTransaction", { enumerable: true, get: function () { return transaction_1.CosmosTransaction; } });
23
21
  var transactionBuilder_1 = require("./transactionBuilder");
24
22
  Object.defineProperty(exports, "CosmosTransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.CosmosTransactionBuilder; } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBK0M7QUFRdEMsMENBQWU7QUFQeEIsMkNBQTJDO0FBT2pCLDBDQUFlO0FBTnpDLDBDQUF3QjtBQUV4QixxQ0FBMEM7QUFBakMsd0dBQUEsYUFBYSxPQUFBO0FBQ3RCLDZDQUFrRDtBQUF6QyxnSEFBQSxpQkFBaUIsT0FBQTtBQUMxQiwyREFBZ0U7QUFBdkQsOEhBQUEsd0JBQXdCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBDb3Ntb3NDb25zdGFudHMgZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0ICogYXMgQ29zbW9zTGlrZVV0aWxzIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9pZmFjZSc7XG5cbmV4cG9ydCB7IENvc21vc0tleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuZXhwb3J0IHsgQ29zbW9zVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmV4cG9ydCB7IENvc21vc1RyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcblxuZXhwb3J0IHsgQ29zbW9zQ29uc3RhbnRzLCBDb3Ntb3NMaWtlVXRpbHMgfTtcbiJdfQ==
23
+ var utils_1 = require("./utils");
24
+ Object.defineProperty(exports, "CosmosLikeUtils", { enumerable: true, get: function () { return utils_1.CosmosLikeUtils; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBK0M7QUFRdEMsMENBQWU7QUFQeEIsMENBQXdCO0FBRXhCLHFDQUEwQztBQUFqQyx3R0FBQSxhQUFhLE9BQUE7QUFDdEIsNkNBQWtEO0FBQXpDLGdIQUFBLGlCQUFpQixPQUFBO0FBQzFCLDJEQUFnRTtBQUF2RCw4SEFBQSx3QkFBd0IsT0FBQTtBQUNqQyxpQ0FBMEM7QUFBakMsd0dBQUEsZUFBZSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgQ29zbW9zQ29uc3RhbnRzIGZyb20gJy4vY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vaWZhY2UnO1xuXG5leHBvcnQgeyBDb3Ntb3NLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmV4cG9ydCB7IENvc21vc1RyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5leHBvcnQgeyBDb3Ntb3NUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBDb3Ntb3NMaWtlVXRpbHMgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IHsgQ29zbW9zQ29uc3RhbnRzIH07XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAKf,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAO7D,OAAO,EACL,qBAAqB,EAGrB,sBAAsB,EACtB,MAAM,EAEP,MAAM,SAAS,CAAC;AAGjB,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,SAAS,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;IACxD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEf,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAW7C,IAAI,qBAAqB,IAAI,qBAAqB,CAEjD;IAED,IAAI,qBAAqB,CAAC,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EAE/E;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,EAE1B;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,EAEtC;IAED,mBAAmB;IACnB,IAAI,EAAE,IAAI,MAAM,CAOf;IAED,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAO3B,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAoBhB;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM;IAK9B,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;IAkB5C;;;OAGG;IACH,IAAI,eAAe,CAAC,eAAe,EAAE,eAAe,EAEnD;IAED;;;OAGG;IACH,SAAS,IAAI,MAAM;IASnB,mBAAmB;IACnB,IAAI,eAAe,IAAI,MAAM,CAI5B;IAED;;;;;;OAMG;IACH,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IA+D3G,oBAAoB,IAAI,IAAI;CAsD7B"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAKf,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAO7D,OAAO,EACL,qBAAqB,EAGrB,sBAAsB,EACtB,MAAM,EAEP,MAAM,SAAS,CAAC;AAGjB,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,SAAS,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;IACxD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEf,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,IAAI,qBAAqB,IAAI,qBAAqB,CAEjD;IAED,IAAI,qBAAqB,CAAC,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EAE/E;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,EAE1B;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,EAEtC;IAED,mBAAmB;IACnB,IAAI,EAAE,IAAI,MAAM,CAOf;IAED,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAO3B,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAoBhB;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM;IAK9B,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;IAkB5C;;;OAGG;IACH,IAAI,eAAe,CAAC,eAAe,EAAE,eAAe,EAEnD;IAED;;;OAGG;IACH,SAAS,IAAI,MAAM;IASnB,mBAAmB;IACnB,IAAI,eAAe,IAAI,MAAM,CAI5B;IAED;;;;;;OAMG;IACH,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IA+D3G,oBAAoB,IAAI,IAAI;CAsD7B"}
@@ -10,13 +10,6 @@ const utils_1 = require("./utils");
10
10
  class CosmosTransaction extends sdk_core_1.BaseTransaction {
11
11
  constructor(_coinConfig) {
12
12
  super(_coinConfig);
13
- this._cosmosLikeTransaction = {
14
- sequence: 0,
15
- sendMessages: [],
16
- gasBudget: { gasLimit: 0, amount: [] },
17
- };
18
- this._accountNumber = 0;
19
- this._chainId = '';
20
13
  }
21
14
  get cosmosLikeTransaction() {
22
15
  return this._cosmosLikeTransaction;
@@ -251,4 +244,4 @@ class CosmosTransaction extends sdk_core_1.BaseTransaction {
251
244
  }
252
245
  }
253
246
  exports.CosmosTransaction = CosmosTransaction;
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQVE4QjtBQUU5QiwrQ0FBNEM7QUFDNUMseURBQXNEO0FBQ3RELDBEQUEwRDtBQUUxRCwyQ0FBK0M7QUFVL0MsbUNBQTRCO0FBRTVCLE1BQWEsaUJBQWtCLFNBQVEsMEJBQWU7SUFLcEQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLHNCQUFzQixHQUFHO1lBQzVCLFFBQVEsRUFBRSxDQUFDO1lBQ1gsWUFBWSxFQUFFLEVBQUU7WUFDaEIsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO1NBQ3ZDLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxxQkFBcUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUkscUJBQXFCLENBQUMscUJBQXNEO1FBQzlFLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxxQkFBcUIsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxPQUFlO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksYUFBYSxDQUFDLGFBQXFCO1FBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO0lBQ3RDLENBQUM7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TyxDQUFDLElBQUksQ0FBQztvQkFDWCxPQUFPLEVBQUUsZUFBZSxDQUFDLGdCQUFnQjtvQkFDekMsS0FBSyxFQUFFLDRCQUFnQjtvQkFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSTtpQkFDNUIsQ0FBQyxDQUFDO2dCQUNILE1BQU07WUFDUjtnQkFDRSxNQUFNLElBQUksa0NBQXVCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUN2RTtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7Q0FDRjtBQXhRRCw4Q0F3UUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlS2V5LFxuICBCYXNlVHJhbnNhY3Rpb24sXG4gIEVudHJ5LFxuICBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcixcbiAgUGFyc2VUcmFuc2FjdGlvbkVycm9yLFxuICBUcmFuc2FjdGlvblJlY2lwaWVudCxcbiAgVHJhbnNhY3Rpb25UeXBlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyB0b0Jhc2U2NCB9IGZyb20gJ0Bjb3NtanMvZW5jb2RpbmcnO1xuaW1wb3J0IHsgbWFrZVNpZ25CeXRlcyB9IGZyb20gJ0Bjb3NtanMvcHJvdG8tc2lnbmluZyc7XG5pbXBvcnQgeyBUeFJhdyB9IGZyb20gJ2Nvc21qcy10eXBlcy9jb3Ntb3MvdHgvdjFiZXRhMS90eCc7XG5cbmltcG9ydCB7IFVOQVZBSUxBQkxFX1RFWFQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmltcG9ydCB7XG4gIENvc21vc0xpa2VUcmFuc2FjdGlvbixcbiAgRGVsZWdhdGVPclVuZGVsZWdldGVNZXNzYWdlLFxuICBTZW5kTWVzc2FnZSxcbiAgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbixcbiAgVHhEYXRhLFxuICBXaXRoZHJhd0RlbGVnYXRvclJld2FyZHNNZXNzYWdlLFxufSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIENvc21vc1RyYW5zYWN0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uIHtcbiAgcHJvdGVjdGVkIF9jb3Ntb3NMaWtlVHJhbnNhY3Rpb246IENvc21vc0xpa2VUcmFuc2FjdGlvbjtcbiAgcHJvdGVjdGVkIF9hY2NvdW50TnVtYmVyOiBudW1iZXI7XG4gIHByb3RlY3RlZCBfY2hhaW5JZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl9jb3Ntb3NMaWtlVHJhbnNhY3Rpb24gPSB7XG4gICAgICBzZXF1ZW5jZTogMCxcbiAgICAgIHNlbmRNZXNzYWdlczogW10sXG4gICAgICBnYXNCdWRnZXQ6IHsgZ2FzTGltaXQ6IDAsIGFtb3VudDogW10gfSxcbiAgICB9O1xuICAgIHRoaXMuX2FjY291bnROdW1iZXIgPSAwO1xuICAgIHRoaXMuX2NoYWluSWQgPSAnJztcbiAgfVxuXG4gIGdldCBjb3Ntb3NMaWtlVHJhbnNhY3Rpb24oKTogQ29zbW9zTGlrZVRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fY29zbW9zTGlrZVRyYW5zYWN0aW9uO1xuICB9XG5cbiAgc2V0IGNvc21vc0xpa2VUcmFuc2FjdGlvbihjb3Ntb3NMaWtlVHJhbnNhY3Rpb246IFJlYWRvbmx5PENvc21vc0xpa2VUcmFuc2FjdGlvbj4pIHtcbiAgICB0aGlzLl9jb3Ntb3NMaWtlVHJhbnNhY3Rpb24gPSBjb3Ntb3NMaWtlVHJhbnNhY3Rpb247XG4gIH1cblxuICBnZXQgY2hhaW5JZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9jaGFpbklkO1xuICB9XG5cbiAgc2V0IGNoYWluSWQoY2hhaW5JZDogc3RyaW5nKSB7XG4gICAgdGhpcy5fY2hhaW5JZCA9IGNoYWluSWQ7XG4gIH1cblxuICBnZXQgYWNjb3VudE51bWJlcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9hY2NvdW50TnVtYmVyO1xuICB9XG5cbiAgc2V0IGFjY291bnROdW1iZXIoYWNjb3VudE51bWJlcjogbnVtYmVyKSB7XG4gICAgdGhpcy5fYWNjb3VudE51bWJlciA9IGFjY291bnROdW1iZXI7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLl9pZCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2lkO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fY29zbW9zTGlrZVRyYW5zYWN0aW9uPy5oYXNoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jb3Ntb3NMaWtlVHJhbnNhY3Rpb24uaGFzaDtcbiAgICB9XG4gICAgcmV0dXJuIFVOQVZBSUxBQkxFX1RFWFQ7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgY2FuU2lnbihrZXk6IEJhc2VLZXkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fY29zbW9zTGlrZVRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZSgpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHRvSnNvbigpOiBUeERhdGEge1xuICAgIGlmICghdGhpcy5fY29zbW9zTGlrZVRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICBjb25zdCB0eCA9IHRoaXMuX2Nvc21vc0xpa2VUcmFuc2FjdGlvbjtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICB0eXBlOiB0aGlzLl90eXBlLFxuICAgICAgc2VxdWVuY2U6IHR4LnNlcXVlbmNlLFxuICAgICAgc2VuZE1lc3NhZ2VzOiB0eC5zZW5kTWVzc2FnZXMsXG4gICAgICBnYXNCdWRnZXQ6IHR4Lmdhc0J1ZGdldCxcbiAgICAgIHB1YmxpY0tleTogdHgucHVibGljS2V5LFxuICAgICAgc2lnbmF0dXJlOiB0eC5zaWduYXR1cmUsXG4gICAgICBhY2NvdW50TnVtYmVyOiB0aGlzLl9hY2NvdW50TnVtYmVyLFxuICAgICAgY2hhaW5JZDogdGhpcy5fY2hhaW5JZCxcbiAgICAgIGhhc2g6IHR4Lmhhc2gsXG4gICAgICBtZW1vOiB0eC5tZW1vLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgc2lnbmF0dXJlIHRvIHRoZSB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2lnbmF0dXJlIGluIGhleCBmb3JtYXRcbiAgICovXG4gIGFkZFNpZ25hdHVyZShzaWduYXR1cmU6IHN0cmluZykge1xuICAgIHRoaXMuX3NpZ25hdHVyZXMgPSBbXTtcbiAgICB0aGlzLl9zaWduYXR1cmVzLnB1c2goc2lnbmF0dXJlKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBleHBsYWluVHJhbnNhY3Rpb24oKTogVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy50b0pzb24oKTtcbiAgICBjb25zdCBkaXNwbGF5T3JkZXIgPSBbJ2lkJywgJ291dHB1dHMnLCAnb3V0cHV0QW1vdW50JywgJ2NoYW5nZU91dHB1dHMnLCAnY2hhbmdlQW1vdW50JywgJ2ZlZScsICd0eXBlJ107XG4gICAgY29uc3Qgb3V0cHV0czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXSA9IFtdO1xuXG4gICAgY29uc3QgZXhwbGFuYXRpb25SZXN1bHQ6IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gPSB7XG4gICAgICBkaXNwbGF5T3JkZXIsXG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIG91dHB1dHMsXG4gICAgICBvdXRwdXRBbW91bnQ6ICcwJyxcbiAgICAgIGNoYW5nZU91dHB1dHM6IFtdLFxuICAgICAgY2hhbmdlQW1vdW50OiAnMCcsXG4gICAgICBmZWU6IHsgZmVlOiB0aGlzLmNvc21vc0xpa2VUcmFuc2FjdGlvbi5nYXNCdWRnZXQuYW1vdW50WzBdLmFtb3VudCB9LFxuICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuZXhwbGFpblRyYW5zYWN0aW9uSW50ZXJuYWwocmVzdWx0LCBleHBsYW5hdGlvblJlc3VsdCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0cmFuc2FjdGlvbiB0eXBlLlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uVHlwZX0gdHJhbnNhY3Rpb25UeXBlIFRoZSB0cmFuc2FjdGlvbiB0eXBlIHRvIGJlIHNldC5cbiAgICovXG4gIHNldCB0cmFuc2FjdGlvblR5cGUodHJhbnNhY3Rpb25UeXBlOiBUcmFuc2FjdGlvblR5cGUpIHtcbiAgICB0aGlzLl90eXBlID0gdHJhbnNhY3Rpb25UeXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcmlhbGl6ZSB0aGUgdHJhbnNhY3Rpb24gdG8gYSBKU09OIHN0cmluZ1xuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBzZXJpYWxpemVkIGJhc2U2NCBlbmNvZGVkIHRyYW5zYWN0aW9uXG4gICAqL1xuICBzZXJpYWxpemUoKTogc3RyaW5nIHtcbiAgICBjb25zdCB0eFJhdyA9IHV0aWxzLmNyZWF0ZVR4UmF3RnJvbUNvc21vc0xpa2VUcmFuc2FjdGlvbih0aGlzLmNvc21vc0xpa2VUcmFuc2FjdGlvbik7XG4gICAgaWYgKHRoaXMuY29zbW9zTGlrZVRyYW5zYWN0aW9uPy5wdWJsaWNLZXkgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9zaWduYXR1cmVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHNpZ25lZFJhd1R4ID0gdXRpbHMuY3JlYXRlU2lnbmVkVHhSYXcodGhpcy5jb3Ntb3NMaWtlVHJhbnNhY3Rpb24ucHVibGljS2V5LCB0aGlzLl9zaWduYXR1cmVzWzBdLCB0eFJhdyk7XG4gICAgICByZXR1cm4gdG9CYXNlNjQoVHhSYXcuZW5jb2RlKHNpZ25lZFJhd1R4KS5maW5pc2goKSk7XG4gICAgfVxuICAgIHJldHVybiB0b0Jhc2U2NChUeFJhdy5lbmNvZGUodHhSYXcpLmZpbmlzaCgpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqKi9cbiAgZ2V0IHNpZ25hYmxlUGF5bG9hZCgpOiBCdWZmZXIge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShcbiAgICAgIG1ha2VTaWduQnl0ZXModXRpbHMuY3JlYXRlU2lnbkRvYyh0aGlzLmNvc21vc0xpa2VUcmFuc2FjdGlvbiwgdGhpcy5fYWNjb3VudE51bWJlciwgdGhpcy5fY2hhaW5JZCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgY29tcGxldGUgZXhwbGFuYXRpb24gZm9yIGEgdHJhbnNmZXIgdHJhbnNhY3Rpb25cbiAgICogQ3VycmVudGx5IG9ubHkgc3VwcG9ydHMgb25lIG1lc3NhZ2UgcGVyIHRyYW5zZmVyLlxuICAgKiBAcGFyYW0ge1R4RGF0YX0ganNvbiBUaGUgdHJhbnNhY3Rpb24gZGF0YSBpbiBqc29uIGZvcm1hdFxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9uRXhwbGFuYXRpb259IGV4cGxhbmF0aW9uUmVzdWx0IFRoZSB0cmFuc2FjdGlvbiBleHBsYW5hdGlvbiB0byBiZSBjb21wbGV0ZWRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uRXhwbGFuYXRpb259XG4gICAqL1xuICBleHBsYWluVHJhbnNhY3Rpb25JbnRlcm5hbChqc29uOiBUeERhdGEsIGV4cGxhbmF0aW9uUmVzdWx0OiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uKTogVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gICAgbGV0IG91dHB1dHM6IFRyYW5zYWN0aW9uUmVjaXBpZW50W107XG4gICAgbGV0IG1lc3NhZ2U7XG4gICAgbGV0IG91dHB1dEFtb3VudDtcbiAgICBzd2l0Y2ggKGpzb24udHlwZSkge1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDpcbiAgICAgICAgZXhwbGFuYXRpb25SZXN1bHQudHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5TZW5kO1xuICAgICAgICBtZXNzYWdlID0ganNvbi5zZW5kTWVzc2FnZXNbMF0udmFsdWUgYXMgU2VuZE1lc3NhZ2U7XG4gICAgICAgIG91dHB1dEFtb3VudCA9IG1lc3NhZ2UuYW1vdW50WzBdLmFtb3VudDtcbiAgICAgICAgb3V0cHV0cyA9IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhZGRyZXNzOiBtZXNzYWdlLnRvQWRkcmVzcyxcbiAgICAgICAgICAgIGFtb3VudDogb3V0cHV0QW1vdW50LFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlOlxuICAgICAgICBleHBsYW5hdGlvblJlc3VsdC50eXBlID0gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBY3RpdmF0ZTtcbiAgICAgICAgbWVzc2FnZSA9IGpzb24uc2VuZE1lc3NhZ2VzWzBdLnZhbHVlIGFzIERlbGVnYXRlT3JVbmRlbGVnZXRlTWVzc2FnZTtcbiAgICAgICAgb3V0cHV0QW1vdW50ID0gbWVzc2FnZS5hbW91bnQuYW1vdW50O1xuICAgICAgICBvdXRwdXRzID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFkZHJlc3M6IG1lc3NhZ2UudmFsaWRhdG9yQWRkcmVzcyxcbiAgICAgICAgICAgIGFtb3VudDogb3V0cHV0QW1vdW50LFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0RlYWN0aXZhdGU6XG4gICAgICAgIGV4cGxhbmF0aW9uUmVzdWx0LnR5cGUgPSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0RlYWN0aXZhdGU7XG4gICAgICAgIG1lc3NhZ2UgPSBqc29uLnNlbmRNZXNzYWdlc1swXS52YWx1ZSBhcyBEZWxlZ2F0ZU9yVW5kZWxlZ2V0ZU1lc3NhZ2U7XG4gICAgICAgIG91dHB1dEFtb3VudCA9IG1lc3NhZ2UuYW1vdW50LmFtb3VudDtcbiAgICAgICAgb3V0cHV0cyA9IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhZGRyZXNzOiBtZXNzYWdlLnZhbGlkYXRvckFkZHJlc3MsXG4gICAgICAgICAgICBhbW91bnQ6IG91dHB1dEFtb3VudCxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdXaXRoZHJhdzpcbiAgICAgICAgZXhwbGFuYXRpb25SZXN1bHQudHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nV2l0aGRyYXc7XG4gICAgICAgIG1lc3NhZ2UgPSBqc29uLnNlbmRNZXNzYWdlc1swXS52YWx1ZSBhcyBXaXRoZHJhd0RlbGVnYXRvclJld2FyZHNNZXNzYWdlO1xuICAgICAgICBvdXRwdXRzID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFkZHJlc3M6IG1lc3NhZ2UudmFsaWRhdG9yQWRkcmVzcyxcbiAgICAgICAgICAgIGFtb3VudDogVU5BVkFJTEFCTEVfVEVYVCxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNhY3Rpb24gdHlwZSBub3Qgc3VwcG9ydGVkJyk7XG4gICAgfVxuICAgIGlmIChqc29uLm1lbW8pIHtcbiAgICAgIG91dHB1dHMuZm9yRWFjaCgob3V0cHV0KSA9PiB7XG4gICAgICAgIG91dHB1dC5tZW1vID0ganNvbi5tZW1vO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAuLi5leHBsYW5hdGlvblJlc3VsdCxcbiAgICAgIG91dHB1dEFtb3VudCxcbiAgICAgIG91dHB1dHMsXG4gICAgfTtcbiAgfVxuXG4gIGxvYWRJbnB1dHNBbmRPdXRwdXRzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IHVuZGVmaW5lZCB8fCAhdGhpcy5jb3Ntb3NMaWtlVHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNhY3Rpb24gdHlwZSBvciBjb3Ntb3NMaWtlVHJhbnNhY3Rpb24gaXMgbm90IHNldCcpO1xuICAgIH1cblxuICAgIGNvbnN0IG91dHB1dHM6IEVudHJ5W10gPSBbXTtcbiAgICBjb25zdCBpbnB1dHM6IEVudHJ5W10gPSBbXTtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDpcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuY29zbW9zTGlrZVRyYW5zYWN0aW9uLnNlbmRNZXNzYWdlc1swXS52YWx1ZSBhcyBTZW5kTWVzc2FnZTtcbiAgICAgICAgaW5wdXRzLnB1c2goe1xuICAgICAgICAgIGFkZHJlc3M6IG1lc3NhZ2UuZnJvbUFkZHJlc3MsXG4gICAgICAgICAgdmFsdWU6IG1lc3NhZ2UuYW1vdW50WzBdLmFtb3VudCxcbiAgICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgICBvdXRwdXRzLnB1c2goe1xuICAgICAgICAgIGFkZHJlc3M6IG1lc3NhZ2UudG9BZGRyZXNzLFxuICAgICAgICAgIHZhbHVlOiBtZXNzYWdlLmFtb3VudFswXS5hbW91bnQsXG4gICAgICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQWN0aXZhdGU6XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nRGVhY3RpdmF0ZTpcbiAgICAgICAgY29uc3QgZGVsZWdhdGVNZXNzYWdlID0gdGhpcy5jb3Ntb3NMaWtlVHJhbnNhY3Rpb24uc2VuZE1lc3NhZ2VzWzBdLnZhbHVlIGFzIERlbGVnYXRlT3JVbmRlbGVnZXRlTWVzc2FnZTtcbiAgICAgICAgaW5wdXRzLnB1c2goe1xuICAgICAgICAgIGFkZHJlc3M6IGRlbGVnYXRlTWVzc2FnZS5kZWxlZ2F0b3JBZGRyZXNzLFxuICAgICAgICAgIHZhbHVlOiBkZWxlZ2F0ZU1lc3NhZ2UuYW1vdW50LmFtb3VudCxcbiAgICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgICBvdXRwdXRzLnB1c2goe1xuICAgICAgICAgIGFkZHJlc3M6IGRlbGVnYXRlTWVzc2FnZS52YWxpZGF0b3JBZGRyZXNzLFxuICAgICAgICAgIHZhbHVlOiBkZWxlZ2F0ZU1lc3NhZ2UuYW1vdW50LmFtb3VudCxcbiAgICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdXaXRoZHJhdzpcbiAgICAgICAgY29uc3Qgd2l0aGRyYXdNZXNzYWdlID0gdGhpcy5jb3Ntb3NMaWtlVHJhbnNhY3Rpb24uc2VuZE1lc3NhZ2VzWzBdLnZhbHVlIGFzIFdpdGhkcmF3RGVsZWdhdG9yUmV3YXJkc01lc3NhZ2U7XG4gICAgICAgIGlucHV0cy5wdXNoKHtcbiAgICAgICAgICBhZGRyZXNzOiB3aXRoZHJhd01lc3NhZ2UuZGVsZWdhdG9yQWRkcmVzcyxcbiAgICAgICAgICB2YWx1ZTogVU5BVkFJTEFCTEVfVEVYVCxcbiAgICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgICBvdXRwdXRzLnB1c2goe1xuICAgICAgICAgIGFkZHJlc3M6IHdpdGhkcmF3TWVzc2FnZS52YWxpZGF0b3JBZGRyZXNzLFxuICAgICAgICAgIHZhbHVlOiBVTkFWQUlMQUJMRV9URVhULFxuICAgICAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdUcmFuc2FjdGlvbiB0eXBlIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICB9XG4gICAgdGhpcy5faW5wdXRzID0gaW5wdXRzO1xuICAgIHRoaXMuX291dHB1dHMgPSBvdXRwdXRzO1xuICB9XG59XG4iXX0=
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQVE4QjtBQUU5QiwrQ0FBNEM7QUFDNUMseURBQXNEO0FBQ3RELDBEQUEwRDtBQUUxRCwyQ0FBK0M7QUFVL0MsbUNBQTRCO0FBRTVCLE1BQWEsaUJBQWtCLFNBQVEsMEJBQWU7SUFLcEQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUkscUJBQXFCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLHFCQUFxQixDQUFDLHFCQUFzRDtRQUM5RSxJQUFJLENBQUMsc0JBQXNCLEdBQUcscUJBQXFCLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsT0FBZTtRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxhQUFxQjtRQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztJQUN0QyxDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLElBQUksRUFBRTs7UUFDSixJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDakI7YUFBTSxJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsc0JBQXNCLDBDQUFFLElBQUksTUFBSyxTQUFTLEVBQUU7WUFDMUQsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDO1NBQ3pDO1FBQ0Qs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QUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0NBQ0Y7QUFqUUQsOENBaVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZUtleSxcbiAgQmFzZVRyYW5zYWN0aW9uLFxuICBFbnRyeSxcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIFBhcnNlVHJhbnNhY3Rpb25FcnJvcixcbiAgVHJhbnNhY3Rpb25SZWNpcGllbnQsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgdG9CYXNlNjQgfSBmcm9tICdAY29zbWpzL2VuY29kaW5nJztcbmltcG9ydCB7IG1ha2VTaWduQnl0ZXMgfSBmcm9tICdAY29zbWpzL3Byb3RvLXNpZ25pbmcnO1xuaW1wb3J0IHsgVHhSYXcgfSBmcm9tICdjb3NtanMtdHlwZXMvY29zbW9zL3R4L3YxYmV0YTEvdHgnO1xuXG5pbXBvcnQgeyBVTkFWQUlMQUJMRV9URVhUIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5pbXBvcnQge1xuICBDb3Ntb3NMaWtlVHJhbnNhY3Rpb24sXG4gIERlbGVnYXRlT3JVbmRlbGVnZXRlTWVzc2FnZSxcbiAgU2VuZE1lc3NhZ2UsXG4gIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24sXG4gIFR4RGF0YSxcbiAgV2l0aGRyYXdEZWxlZ2F0b3JSZXdhcmRzTWVzc2FnZSxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBDb3Ntb3NUcmFuc2FjdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbiB7XG4gIHByb3RlY3RlZCBfY29zbW9zTGlrZVRyYW5zYWN0aW9uOiBDb3Ntb3NMaWtlVHJhbnNhY3Rpb247XG4gIHByb3RlY3RlZCBfYWNjb3VudE51bWJlcjogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX2NoYWluSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXQgY29zbW9zTGlrZVRyYW5zYWN0aW9uKCk6IENvc21vc0xpa2VUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Nvc21vc0xpa2VUcmFuc2FjdGlvbjtcbiAgfVxuXG4gIHNldCBjb3Ntb3NMaWtlVHJhbnNhY3Rpb24oY29zbW9zTGlrZVRyYW5zYWN0aW9uOiBSZWFkb25seTxDb3Ntb3NMaWtlVHJhbnNhY3Rpb24+KSB7XG4gICAgdGhpcy5fY29zbW9zTGlrZVRyYW5zYWN0aW9uID0gY29zbW9zTGlrZVRyYW5zYWN0aW9uO1xuICB9XG5cbiAgZ2V0IGNoYWluSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY2hhaW5JZDtcbiAgfVxuXG4gIHNldCBjaGFpbklkKGNoYWluSWQ6IHN0cmluZykge1xuICAgIHRoaXMuX2NoYWluSWQgPSBjaGFpbklkO1xuICB9XG5cbiAgZ2V0IGFjY291bnROdW1iZXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fYWNjb3VudE51bWJlcjtcbiAgfVxuXG4gIHNldCBhY2NvdW50TnVtYmVyKGFjY291bnROdW1iZXI6IG51bWJlcikge1xuICAgIHRoaXMuX2FjY291bnROdW1iZXIgPSBhY2NvdW50TnVtYmVyO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5faWQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9pZDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2Nvc21vc0xpa2VUcmFuc2FjdGlvbj8uaGFzaCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5fY29zbW9zTGlrZVRyYW5zYWN0aW9uLmhhc2g7XG4gICAgfVxuICAgIHJldHVybiBVTkFWQUlMQUJMRV9URVhUO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGNhblNpZ24oa2V5OiBCYXNlS2V5KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdG9Ccm9hZGNhc3RGb3JtYXQoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX2Nvc21vc0xpa2VUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB0b0pzb24oKTogVHhEYXRhIHtcbiAgICBpZiAoIXRoaXMuX2Nvc21vc0xpa2VUcmFuc2FjdGlvbikge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgY29uc3QgdHggPSB0aGlzLl9jb3Ntb3NMaWtlVHJhbnNhY3Rpb247XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgdHlwZTogdGhpcy5fdHlwZSxcbiAgICAgIHNlcXVlbmNlOiB0eC5zZXF1ZW5jZSxcbiAgICAgIHNlbmRNZXNzYWdlczogdHguc2VuZE1lc3NhZ2VzLFxuICAgICAgZ2FzQnVkZ2V0OiB0eC5nYXNCdWRnZXQsXG4gICAgICBwdWJsaWNLZXk6IHR4LnB1YmxpY0tleSxcbiAgICAgIHNpZ25hdHVyZTogdHguc2lnbmF0dXJlLFxuICAgICAgYWNjb3VudE51bWJlcjogdGhpcy5fYWNjb3VudE51bWJlcixcbiAgICAgIGNoYWluSWQ6IHRoaXMuX2NoYWluSWQsXG4gICAgICBoYXNoOiB0eC5oYXNoLFxuICAgICAgbWVtbzogdHgubWVtbyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHNpZ25hdHVyZSB0byB0aGUgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHtzdHJpbmd9IHNpZ25hdHVyZSBpbiBoZXggZm9ybWF0XG4gICAqL1xuICBhZGRTaWduYXR1cmUoc2lnbmF0dXJlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zaWduYXR1cmVzID0gW107XG4gICAgdGhpcy5fc2lnbmF0dXJlcy5wdXNoKHNpZ25hdHVyZSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgZXhwbGFpblRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudG9Kc29uKCk7XG4gICAgY29uc3QgZGlzcGxheU9yZGVyID0gWydpZCcsICdvdXRwdXRzJywgJ291dHB1dEFtb3VudCcsICdjaGFuZ2VPdXRwdXRzJywgJ2NoYW5nZUFtb3VudCcsICdmZWUnLCAndHlwZSddO1xuICAgIGNvbnN0IG91dHB1dHM6IFRyYW5zYWN0aW9uUmVjaXBpZW50W10gPSBbXTtcblxuICAgIGNvbnN0IGV4cGxhbmF0aW9uUmVzdWx0OiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uID0ge1xuICAgICAgZGlzcGxheU9yZGVyLFxuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICBvdXRwdXRzLFxuICAgICAgb3V0cHV0QW1vdW50OiAnMCcsXG4gICAgICBjaGFuZ2VPdXRwdXRzOiBbXSxcbiAgICAgIGNoYW5nZUFtb3VudDogJzAnLFxuICAgICAgZmVlOiB7IGZlZTogdGhpcy5jb3Ntb3NMaWtlVHJhbnNhY3Rpb24uZ2FzQnVkZ2V0LmFtb3VudFswXS5hbW91bnQgfSxcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmV4cGxhaW5UcmFuc2FjdGlvbkludGVybmFsKHJlc3VsdCwgZXhwbGFuYXRpb25SZXN1bHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgdHJhbnNhY3Rpb24gdHlwZS5cbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvblR5cGV9IHRyYW5zYWN0aW9uVHlwZSBUaGUgdHJhbnNhY3Rpb24gdHlwZSB0byBiZSBzZXQuXG4gICAqL1xuICBzZXQgdHJhbnNhY3Rpb25UeXBlKHRyYW5zYWN0aW9uVHlwZTogVHJhbnNhY3Rpb25UeXBlKSB7XG4gICAgdGhpcy5fdHlwZSA9IHRyYW5zYWN0aW9uVHlwZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXJpYWxpemUgdGhlIHRyYW5zYWN0aW9uIHRvIGEgSlNPTiBzdHJpbmdcbiAgICogQHJldHVybnMge3N0cmluZ30gc2VyaWFsaXplZCBiYXNlNjQgZW5jb2RlZCB0cmFuc2FjdGlvblxuICAgKi9cbiAgc2VyaWFsaXplKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdHhSYXcgPSB1dGlscy5jcmVhdGVUeFJhd0Zyb21Db3Ntb3NMaWtlVHJhbnNhY3Rpb24odGhpcy5jb3Ntb3NMaWtlVHJhbnNhY3Rpb24pO1xuICAgIGlmICh0aGlzLmNvc21vc0xpa2VUcmFuc2FjdGlvbj8ucHVibGljS2V5ICE9PSB1bmRlZmluZWQgJiYgdGhpcy5fc2lnbmF0dXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBzaWduZWRSYXdUeCA9IHV0aWxzLmNyZWF0ZVNpZ25lZFR4UmF3KHRoaXMuY29zbW9zTGlrZVRyYW5zYWN0aW9uLnB1YmxpY0tleSwgdGhpcy5fc2lnbmF0dXJlc1swXSwgdHhSYXcpO1xuICAgICAgcmV0dXJuIHRvQmFzZTY0KFR4UmF3LmVuY29kZShzaWduZWRSYXdUeCkuZmluaXNoKCkpO1xuICAgIH1cbiAgICByZXR1cm4gdG9CYXNlNjQoVHhSYXcuZW5jb2RlKHR4UmF3KS5maW5pc2goKSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKiovXG4gIGdldCBzaWduYWJsZVBheWxvYWQoKTogQnVmZmVyIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oXG4gICAgICBtYWtlU2lnbkJ5dGVzKHV0aWxzLmNyZWF0ZVNpZ25Eb2ModGhpcy5jb3Ntb3NMaWtlVHJhbnNhY3Rpb24sIHRoaXMuX2FjY291bnROdW1iZXIsIHRoaXMuX2NoYWluSWQpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGNvbXBsZXRlIGV4cGxhbmF0aW9uIGZvciBhIHRyYW5zZmVyIHRyYW5zYWN0aW9uXG4gICAqIEN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIG9uZSBtZXNzYWdlIHBlciB0cmFuc2Zlci5cbiAgICogQHBhcmFtIHtUeERhdGF9IGpzb24gVGhlIHRyYW5zYWN0aW9uIGRhdGEgaW4ganNvbiBmb3JtYXRcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbkV4cGxhbmF0aW9ufSBleHBsYW5hdGlvblJlc3VsdCBUaGUgdHJhbnNhY3Rpb24gZXhwbGFuYXRpb24gdG8gYmUgY29tcGxldGVkXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkV4cGxhbmF0aW9ufVxuICAgKi9cbiAgZXhwbGFpblRyYW5zYWN0aW9uSW50ZXJuYWwoanNvbjogVHhEYXRhLCBleHBsYW5hdGlvblJlc3VsdDogVHJhbnNhY3Rpb25FeHBsYW5hdGlvbik6IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICAgIGxldCBvdXRwdXRzOiBUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICAgIGxldCBtZXNzYWdlO1xuICAgIGxldCBvdXRwdXRBbW91bnQ7XG4gICAgc3dpdGNoIChqc29uLnR5cGUpIHtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlNlbmQ6XG4gICAgICAgIGV4cGxhbmF0aW9uUmVzdWx0LnR5cGUgPSBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgICAgICAgbWVzc2FnZSA9IGpzb24uc2VuZE1lc3NhZ2VzWzBdLnZhbHVlIGFzIFNlbmRNZXNzYWdlO1xuICAgICAgICBvdXRwdXRBbW91bnQgPSBtZXNzYWdlLmFtb3VudFswXS5hbW91bnQ7XG4gICAgICAgIG91dHB1dHMgPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWRkcmVzczogbWVzc2FnZS50b0FkZHJlc3MsXG4gICAgICAgICAgICBhbW91bnQ6IG91dHB1dEFtb3VudCxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBY3RpdmF0ZTpcbiAgICAgICAgZXhwbGFuYXRpb25SZXN1bHQudHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQWN0aXZhdGU7XG4gICAgICAgIG1lc3NhZ2UgPSBqc29uLnNlbmRNZXNzYWdlc1swXS52YWx1ZSBhcyBEZWxlZ2F0ZU9yVW5kZWxlZ2V0ZU1lc3NhZ2U7XG4gICAgICAgIG91dHB1dEFtb3VudCA9IG1lc3NhZ2UuYW1vdW50LmFtb3VudDtcbiAgICAgICAgb3V0cHV0cyA9IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhZGRyZXNzOiBtZXNzYWdlLnZhbGlkYXRvckFkZHJlc3MsXG4gICAgICAgICAgICBhbW91bnQ6IG91dHB1dEFtb3VudCxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdEZWFjdGl2YXRlOlxuICAgICAgICBleHBsYW5hdGlvblJlc3VsdC50eXBlID0gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdEZWFjdGl2YXRlO1xuICAgICAgICBtZXNzYWdlID0ganNvbi5zZW5kTWVzc2FnZXNbMF0udmFsdWUgYXMgRGVsZWdhdGVPclVuZGVsZWdldGVNZXNzYWdlO1xuICAgICAgICBvdXRwdXRBbW91bnQgPSBtZXNzYWdlLmFtb3VudC5hbW91bnQ7XG4gICAgICAgIG91dHB1dHMgPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWRkcmVzczogbWVzc2FnZS52YWxpZGF0b3JBZGRyZXNzLFxuICAgICAgICAgICAgYW1vdW50OiBvdXRwdXRBbW91bnQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nV2l0aGRyYXc6XG4gICAgICAgIGV4cGxhbmF0aW9uUmVzdWx0LnR5cGUgPSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1dpdGhkcmF3O1xuICAgICAgICBtZXNzYWdlID0ganNvbi5zZW5kTWVzc2FnZXNbMF0udmFsdWUgYXMgV2l0aGRyYXdEZWxlZ2F0b3JSZXdhcmRzTWVzc2FnZTtcbiAgICAgICAgb3V0cHV0cyA9IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhZGRyZXNzOiBtZXNzYWdlLnZhbGlkYXRvckFkZHJlc3MsXG4gICAgICAgICAgICBhbW91bnQ6IFVOQVZBSUxBQkxFX1RFWFQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ1RyYW5zYWN0aW9uIHR5cGUgbm90IHN1cHBvcnRlZCcpO1xuICAgIH1cbiAgICBpZiAoanNvbi5tZW1vKSB7XG4gICAgICBvdXRwdXRzLmZvckVhY2goKG91dHB1dCkgPT4ge1xuICAgICAgICBvdXRwdXQubWVtbyA9IGpzb24ubWVtbztcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgLi4uZXhwbGFuYXRpb25SZXN1bHQsXG4gICAgICBvdXRwdXRBbW91bnQsXG4gICAgICBvdXRwdXRzLFxuICAgIH07XG4gIH1cblxuICBsb2FkSW5wdXRzQW5kT3V0cHV0cygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50eXBlID09PSB1bmRlZmluZWQgfHwgIXRoaXMuY29zbW9zTGlrZVRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ1RyYW5zYWN0aW9uIHR5cGUgb3IgY29zbW9zTGlrZVRyYW5zYWN0aW9uIGlzIG5vdCBzZXQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBvdXRwdXRzOiBFbnRyeVtdID0gW107XG4gICAgY29uc3QgaW5wdXRzOiBFbnRyeVtdID0gW107XG4gICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlNlbmQ6XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmNvc21vc0xpa2VUcmFuc2FjdGlvbi5zZW5kTWVzc2FnZXNbMF0udmFsdWUgYXMgU2VuZE1lc3NhZ2U7XG4gICAgICAgIGlucHV0cy5wdXNoKHtcbiAgICAgICAgICBhZGRyZXNzOiBtZXNzYWdlLmZyb21BZGRyZXNzLFxuICAgICAgICAgIHZhbHVlOiBtZXNzYWdlLmFtb3VudFswXS5hbW91bnQsXG4gICAgICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgICAgICB9KTtcbiAgICAgICAgb3V0cHV0cy5wdXNoKHtcbiAgICAgICAgICBhZGRyZXNzOiBtZXNzYWdlLnRvQWRkcmVzcyxcbiAgICAgICAgICB2YWx1ZTogbWVzc2FnZS5hbW91bnRbMF0uYW1vdW50LFxuICAgICAgICAgIGNvaW46IHRoaXMuX2NvaW5Db25maWcubmFtZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0RlYWN0aXZhdGU6XG4gICAgICAgIGNvbnN0IGRlbGVnYXRlTWVzc2FnZSA9IHRoaXMuY29zbW9zTGlrZVRyYW5zYWN0aW9uLnNlbmRNZXNzYWdlc1swXS52YWx1ZSBhcyBEZWxlZ2F0ZU9yVW5kZWxlZ2V0ZU1lc3NhZ2U7XG4gICAgICAgIGlucHV0cy5wdXNoKHtcbiAgICAgICAgICBhZGRyZXNzOiBkZWxlZ2F0ZU1lc3NhZ2UuZGVsZWdhdG9yQWRkcmVzcyxcbiAgICAgICAgICB2YWx1ZTogZGVsZWdhdGVNZXNzYWdlLmFtb3VudC5hbW91bnQsXG4gICAgICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgICAgICB9KTtcbiAgICAgICAgb3V0cHV0cy5wdXNoKHtcbiAgICAgICAgICBhZGRyZXNzOiBkZWxlZ2F0ZU1lc3NhZ2UudmFsaWRhdG9yQWRkcmVzcyxcbiAgICAgICAgICB2YWx1ZTogZGVsZWdhdGVNZXNzYWdlLmFtb3VudC5hbW91bnQsXG4gICAgICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nV2l0aGRyYXc6XG4gICAgICAgIGNvbnN0IHdpdGhkcmF3TWVzc2FnZSA9IHRoaXMuY29zbW9zTGlrZVRyYW5zYWN0aW9uLnNlbmRNZXNzYWdlc1swXS52YWx1ZSBhcyBXaXRoZHJhd0RlbGVnYXRvclJld2FyZHNNZXNzYWdlO1xuICAgICAgICBpbnB1dHMucHVzaCh7XG4gICAgICAgICAgYWRkcmVzczogd2l0aGRyYXdNZXNzYWdlLmRlbGVnYXRvckFkZHJlc3MsXG4gICAgICAgICAgdmFsdWU6IFVOQVZBSUxBQkxFX1RFWFQsXG4gICAgICAgICAgY29pbjogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgICAgICB9KTtcbiAgICAgICAgb3V0cHV0cy5wdXNoKHtcbiAgICAgICAgICBhZGRyZXNzOiB3aXRoZHJhd01lc3NhZ2UudmFsaWRhdG9yQWRkcmVzcyxcbiAgICAgICAgICB2YWx1ZTogVU5BVkFJTEFCTEVfVEVYVCxcbiAgICAgICAgICBjb2luOiB0aGlzLl9jb2luQ29uZmlnLm5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNhY3Rpb24gdHlwZSBub3Qgc3VwcG9ydGVkJyk7XG4gICAgfVxuICAgIHRoaXMuX2lucHV0cyA9IGlucHV0cztcbiAgICB0aGlzLl9vdXRwdXRzID0gb3V0cHV0cztcbiAgfVxufVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EACP,sBAAsB,EAEtB,SAAS,IAAI,aAAa,EAE1B,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EACL,2BAA2B,EAC3B,OAAO,EACP,WAAW,EACX,WAAW,EACX,+BAA+B,EAChC,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGlD,8BAAsB,wBAAyB,SAAQ,sBAAsB;IAC3E,SAAS,CAAC,YAAY,EAAE,iBAAiB,CAAC;IAC1C,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;IACnC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEb,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAU7C;;OAEG;IACH,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,eAAe,CAAC;IAE1D,kBAAkB;IAClB,SAAS,KAAK,WAAW,IAAI,iBAAiB,CAE7C;IAED,kBAAkB;IAClB,SAAS,KAAK,WAAW,CAAC,WAAW,EAAE,iBAAiB,EAEvD;IAED,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAK/D;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMhC;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,GAAG,2BAA2B,GAAG,+BAA+B,CAAC,EAAE,GAAG,IAAI;IAElH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAK9C,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAKtD,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAK1C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAKpC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB;IAa7D,kBAAkB;IAClB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAMrC,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;CAOhC"}
1
+ {"version":3,"file":"transactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilder.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EACP,sBAAsB,EAEtB,SAAS,IAAI,aAAa,EAE1B,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EACL,2BAA2B,EAC3B,OAAO,EACP,WAAW,EACX,WAAW,EACX,+BAA+B,EAChC,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGlD,8BAAsB,wBAAyB,SAAQ,sBAAsB;IAC3E,SAAS,CAAC,YAAY,EAAE,iBAAiB,CAAC;IAC1C,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;IACnC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEb,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;OAEG;IACH,SAAS,CAAC,QAAQ,KAAK,eAAe,IAAI,eAAe,CAAC;IAE1D,kBAAkB;IAClB,SAAS,KAAK,WAAW,IAAI,iBAAiB,CAE7C;IAED,kBAAkB;IAClB,SAAS,KAAK,WAAW,CAAC,WAAW,EAAE,iBAAiB,EAEvD;IAED,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAK/D;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMhC;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,GAAG,2BAA2B,GAAG,+BAA+B,CAAC,EAAE,GAAG,IAAI;IAElH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAK9C,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAKtD,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAK1C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAKpC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB;IAa7D,kBAAkB;IAClB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAMrC,kBAAkB;IAClB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;CAOhC"}
@@ -3,17 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CosmosTransactionBuilder = void 0;
4
4
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
5
  const keyPair_1 = require("./keyPair");
6
- const transaction_1 = require("./transaction");
7
6
  const utils_1 = require("./utils");
8
7
  class CosmosTransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
9
8
  constructor(_coinConfig) {
10
9
  super(_coinConfig);
11
- this._transaction = new transaction_1.CosmosTransaction(_coinConfig);
12
- this._sequence = 0;
13
- this._messages = [];
14
- this._gasBudget = { gasLimit: 0, amount: [] };
15
- this._signature = Buffer.alloc(0);
16
- this._signer = new keyPair_1.CosmosKeyPair();
17
10
  }
18
11
  /** @inheritdoc */
19
12
  get transaction() {
@@ -84,4 +77,4 @@ class CosmosTransactionBuilder extends sdk_core_1.BaseTransactionBuilder {
84
77
  }
85
78
  }
86
79
  exports.CosmosTransactionBuilder = CosmosTransactionBuilder;
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBTzhCO0FBVzlCLHVDQUFxRDtBQUNyRCwrQ0FBa0Q7QUFDbEQsbUNBQTRCO0FBRTVCLE1BQXNCLHdCQUF5QixTQUFRLGlDQUFzQjtJQVkzRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksK0JBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksdUJBQU8sRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFPRCxrQkFBa0I7SUFDbEIsSUFBYyxXQUFXO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQWMsV0FBVyxDQUFDLFdBQThCO1FBQ3RELElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsWUFBWSxDQUFDLFNBQXdCLEVBQUUsU0FBaUI7UUFDdEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsUUFBUSxDQUFDLFFBQWdCO1FBQ3ZCLGVBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFhRCxTQUFTLENBQUMsU0FBNkI7UUFDckMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsYUFBYSxDQUFDLGFBQWlDO1FBQzdDLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUEyQjtRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLENBQUMsSUFBd0I7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1Isa0JBQWtCLENBQUMsR0FBWTtRQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxTQUFTLEVBQUU7WUFDckMsTUFBTSxJQUFJLHVCQUFZLENBQUMsMENBQTBDLENBQUMsQ0FBQztTQUNwRTtRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDL0IsTUFBTSxJQUFJLHVCQUFZLENBQUMsb0NBQW9DLENBQUMsQ0FBQztTQUM5RDtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSx1QkFBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsYUFBYSxDQUFDLEtBQWdCO1FBQzVCLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2QixNQUFNLElBQUksZ0NBQXFCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNuRTtJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVyxDQUFDLEdBQVk7UUFDdEIsSUFBSTtZQUNGLElBQUksdUJBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUMvQjtRQUFDLE1BQU07WUFDTixNQUFNLElBQUksZ0NBQXFCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztTQUMxRDtJQUNILENBQUM7Q0FDRjtBQWxIRCw0REFrSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlS2V5LFxuICBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsXG4gIFB1YmxpY0tleSBhcyBCYXNlUHVibGljS2V5LFxuICBTaWduaW5nRXJyb3IsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuXG5pbXBvcnQge1xuICBEZWxlZ2F0ZU9yVW5kZWxlZ2V0ZU1lc3NhZ2UsXG4gIEZlZURhdGEsXG4gIE1lc3NhZ2VEYXRhLFxuICBTZW5kTWVzc2FnZSxcbiAgV2l0aGRyYXdEZWxlZ2F0b3JSZXdhcmRzTWVzc2FnZSxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBDb3Ntb3NLZXlQYWlyIGFzIEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuaW1wb3J0IHsgQ29zbW9zVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvc21vc1RyYW5zYWN0aW9uQnVpbGRlciBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3RyYW5zYWN0aW9uOiBDb3Ntb3NUcmFuc2FjdGlvbjtcbiAgcHJvdGVjdGVkIF9zZXF1ZW5jZTogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX21lc3NhZ2VzOiBNZXNzYWdlRGF0YVtdO1xuICBwcm90ZWN0ZWQgX2dhc0J1ZGdldDogRmVlRGF0YTtcbiAgcHJvdGVjdGVkIF9hY2NvdW50TnVtYmVyPzogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX3NpZ25hdHVyZTogQnVmZmVyO1xuICBwcm90ZWN0ZWQgX2NoYWluSWQ/OiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfcHVibGljS2V5Pzogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3NpZ25lcjogS2V5UGFpcjtcbiAgcHJvdGVjdGVkIF9tZW1vPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBDb3Ntb3NUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fc2VxdWVuY2UgPSAwO1xuICAgIHRoaXMuX21lc3NhZ2VzID0gW107XG4gICAgdGhpcy5fZ2FzQnVkZ2V0ID0geyBnYXNMaW1pdDogMCwgYW1vdW50OiBbXSB9O1xuICAgIHRoaXMuX3NpZ25hdHVyZSA9IEJ1ZmZlci5hbGxvYygwKTtcbiAgICB0aGlzLl9zaWduZXIgPSBuZXcgS2V5UGFpcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0cmFuc2FjdGlvbiB0eXBlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlO1xuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uKCk6IENvc21vc1RyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNldCB0cmFuc2FjdGlvbih0cmFuc2FjdGlvbjogQ29zbW9zVHJhbnNhY3Rpb24pIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGFkZFNpZ25hdHVyZShwdWJsaWNLZXk6IEJhc2VQdWJsaWNLZXksIHNpZ25hdHVyZTogQnVmZmVyKTogdm9pZCB7XG4gICAgdGhpcy5fc2lnbmF0dXJlID0gc2lnbmF0dXJlO1xuICAgIHRoaXMuX3B1YmxpY0tleSA9IHB1YmxpY0tleS5wdWI7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBzZXF1ZW5jZSBvZiB0aGlzIHRyYW5zYWN0aW9uLlxuICAgKiBAcGFyYW0ge251bWJlcn0gc2VxdWVuY2UgLSBzZXF1ZW5jZSBkYXRhIGZvciB0eCBzaWduZXJcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBzZXF1ZW5jZShzZXF1ZW5jZTogbnVtYmVyKTogdGhpcyB7XG4gICAgdXRpbHMudmFsaWRhdGVTZXF1ZW5jZShzZXF1ZW5jZSk7XG4gICAgdGhpcy5fc2VxdWVuY2UgPSBzZXF1ZW5jZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIG1lc3NhZ2VzIHRvIHRoZSB0cmFuc2FjdGlvbiBib2R5LiBNZXNzYWdlIHR5cGUgd2lsbCBiZSBkaWZmZXJlbnQgYmFzZWQgb24gdGhlIHRyYW5zYWN0aW9uIHR5cGVcbiAgICogLSBGb3IgQHNlZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlIHJlcXVpcmVkIHR5cGUgaXMgQHNlZSBEZWxlZ2F0ZU9yVW5kZWxlZ2V0ZU1lc3NhZ2VcbiAgICogLSBGb3IgQHNlZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0RlYWN0aXZhdGUgcmVxdWlyZWQgdHlwZSBpcyBAc2VlIERlbGVnYXRlT3JVbmRlbGVnZXRlTWVzc2FnZVxuICAgKiAtIEZvciBAc2VlIFRyYW5zYWN0aW9uVHlwZS5TZW5kIHJlcXVpcmVkIHR5cGUgaXMgQHNlZSBTZW5kTWVzc2FnZVxuICAgKiAtIEZvciBAc2VlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nV2l0aGRyYXcgcmVxdWlyZWQgdHlwZSBpcyBAc2VlIFdpdGhkcmF3RGVsZWdhdG9yUmV3YXJkc01lc3NhZ2VcbiAgICogQHBhcmFtIHsoU2VuZE1lc3NhZ2UgfCBEZWxlZ2F0ZU9yVW5kZWxlZ2V0ZU1lc3NhZ2UgfCBXaXRoZHJhd0RlbGVnYXRvclJld2FyZHNNZXNzYWdlKVtdfSBtZXNzYWdlc1xuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIHRyYW5zYWN0aW9uIGJ1aWxkZXJcbiAgICovXG4gIGFic3RyYWN0IG1lc3NhZ2VzKG1lc3NhZ2VzOiAoU2VuZE1lc3NhZ2UgfCBEZWxlZ2F0ZU9yVW5kZWxlZ2V0ZU1lc3NhZ2UgfCBXaXRoZHJhd0RlbGVnYXRvclJld2FyZHNNZXNzYWdlKVtdKTogdGhpcztcblxuICBwdWJsaWNLZXkocHVibGljS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQpOiB0aGlzIHtcbiAgICB0aGlzLl9wdWJsaWNLZXkgPSBwdWJsaWNLZXk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhY2NvdW50TnVtYmVyKGFjY291bnROdW1iZXI6IG51bWJlciB8IHVuZGVmaW5lZCk6IHRoaXMge1xuICAgIHRoaXMuX2FjY291bnROdW1iZXIgPSBhY2NvdW50TnVtYmVyO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgY2hhaW5JZChjaGFpbklkOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB0aGlzIHtcbiAgICB0aGlzLl9jaGFpbklkID0gY2hhaW5JZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIG1lbW8obWVtbzogc3RyaW5nIHwgdW5kZWZpbmVkKTogdGhpcyB7XG4gICAgdGhpcy5fbWVtbyA9IG1lbW87XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIHNpZ25JbXBsZW1lbnRhdGlvbihrZXk6IEJhc2VLZXkpOiBDb3Ntb3NUcmFuc2FjdGlvbiB7XG4gICAgdGhpcy52YWxpZGF0ZUtleShrZXkpO1xuICAgIGlmICh0aGlzLl9hY2NvdW50TnVtYmVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBTaWduaW5nRXJyb3IoJ2FjY291bnROdW1iZXIgaXMgcmVxdWlyZWQgYmVmb3JlIHNpZ25pbmcnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2NoYWluSWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IFNpZ25pbmdFcnJvcignY2hhaW5JZCBpcyByZXF1aXJlZCBiZWZvcmUgc2lnbmluZycpO1xuICAgIH1cbiAgICB0aGlzLl9zaWduZXIgPSBuZXcgS2V5UGFpcih7IHBydjoga2V5LmtleSB9KTtcbiAgICB0aGlzLl9wdWJsaWNLZXkgPSB0aGlzLl9zaWduZXIuZ2V0S2V5cygpLnB1YjtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVZhbHVlKHZhbHVlOiBCaWdOdW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUuaXNMZXNzVGhhbigwKSkge1xuICAgICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignVmFsdWUgY2Fubm90IGJlIGxlc3MgdGhhbiB6ZXJvJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlS2V5KGtleTogQmFzZUtleSk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBuZXcgS2V5UGFpcih7IHBydjoga2V5LmtleSB9KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYEtleSB2YWxpZGF0aW9uIGZhaWxlZGApO1xuICAgIH1cbiAgfVxufVxuIl19
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBTzhCO0FBVzlCLHVDQUFxRDtBQUVyRCxtQ0FBNEI7QUFFNUIsTUFBc0Isd0JBQXlCLFNBQVEsaUNBQXNCO0lBWTNFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFPRCxrQkFBa0I7SUFDbEIsSUFBYyxXQUFXO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQWMsV0FBVyxDQUFDLFdBQThCO1FBQ3RELElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsWUFBWSxDQUFDLFNBQXdCLEVBQUUsU0FBaUI7UUFDdEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsUUFBUSxDQUFDLFFBQWdCO1FBQ3ZCLGVBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFhRCxTQUFTLENBQUMsU0FBNkI7UUFDckMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsYUFBYSxDQUFDLGFBQWlDO1FBQzdDLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUEyQjtRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLENBQUMsSUFBd0I7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1Isa0JBQWtCLENBQUMsR0FBWTtRQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxTQUFTLEVBQUU7WUFDckMsTUFBTSxJQUFJLHVCQUFZLENBQUMsMENBQTBDLENBQUMsQ0FBQztTQUNwRTtRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDL0IsTUFBTSxJQUFJLHVCQUFZLENBQUMsb0NBQW9DLENBQUMsQ0FBQztTQUM5RDtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSx1QkFBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsYUFBYSxDQUFDLEtBQWdCO1FBQzVCLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2QixNQUFNLElBQUksZ0NBQXFCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNuRTtJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVyxDQUFDLEdBQVk7UUFDdEIsSUFBSTtZQUNGLElBQUksdUJBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUMvQjtRQUFDLE1BQU07WUFDTixNQUFNLElBQUksZ0NBQXFCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztTQUMxRDtJQUNILENBQUM7Q0FDRjtBQTVHRCw0REE0R0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlS2V5LFxuICBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsXG4gIFB1YmxpY0tleSBhcyBCYXNlUHVibGljS2V5LFxuICBTaWduaW5nRXJyb3IsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuXG5pbXBvcnQge1xuICBEZWxlZ2F0ZU9yVW5kZWxlZ2V0ZU1lc3NhZ2UsXG4gIEZlZURhdGEsXG4gIE1lc3NhZ2VEYXRhLFxuICBTZW5kTWVzc2FnZSxcbiAgV2l0aGRyYXdEZWxlZ2F0b3JSZXdhcmRzTWVzc2FnZSxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBDb3Ntb3NLZXlQYWlyIGFzIEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuaW1wb3J0IHsgQ29zbW9zVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvc21vc1RyYW5zYWN0aW9uQnVpbGRlciBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3RyYW5zYWN0aW9uOiBDb3Ntb3NUcmFuc2FjdGlvbjtcbiAgcHJvdGVjdGVkIF9zZXF1ZW5jZTogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX21lc3NhZ2VzOiBNZXNzYWdlRGF0YVtdO1xuICBwcm90ZWN0ZWQgX2dhc0J1ZGdldDogRmVlRGF0YTtcbiAgcHJvdGVjdGVkIF9hY2NvdW50TnVtYmVyPzogbnVtYmVyO1xuICBwcm90ZWN0ZWQgX3NpZ25hdHVyZTogQnVmZmVyO1xuICBwcm90ZWN0ZWQgX2NoYWluSWQ/OiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfcHVibGljS2V5Pzogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3NpZ25lcjogS2V5UGFpcjtcbiAgcHJvdGVjdGVkIF9tZW1vPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdHJhbnNhY3Rpb24gdHlwZS5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZTtcblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvbigpOiBDb3Ntb3NUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzZXQgdHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IENvc21vc1RyYW5zYWN0aW9uKSB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhZGRTaWduYXR1cmUocHVibGljS2V5OiBCYXNlUHVibGljS2V5LCBzaWduYXR1cmU6IEJ1ZmZlcik6IHZvaWQge1xuICAgIHRoaXMuX3NpZ25hdHVyZSA9IHNpZ25hdHVyZTtcbiAgICB0aGlzLl9wdWJsaWNLZXkgPSBwdWJsaWNLZXkucHViO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgc2VxdWVuY2Ugb2YgdGhpcyB0cmFuc2FjdGlvbi5cbiAgICogQHBhcmFtIHtudW1iZXJ9IHNlcXVlbmNlIC0gc2VxdWVuY2UgZGF0YSBmb3IgdHggc2lnbmVyXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbkJ1aWxkZXJ9IFRoaXMgdHJhbnNhY3Rpb24gYnVpbGRlclxuICAgKi9cbiAgc2VxdWVuY2Uoc2VxdWVuY2U6IG51bWJlcik6IHRoaXMge1xuICAgIHV0aWxzLnZhbGlkYXRlU2VxdWVuY2Uoc2VxdWVuY2UpO1xuICAgIHRoaXMuX3NlcXVlbmNlID0gc2VxdWVuY2U7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBtZXNzYWdlcyB0byB0aGUgdHJhbnNhY3Rpb24gYm9keS4gTWVzc2FnZSB0eXBlIHdpbGwgYmUgZGlmZmVyZW50IGJhc2VkIG9uIHRoZSB0cmFuc2FjdGlvbiB0eXBlXG4gICAqIC0gRm9yIEBzZWUgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBY3RpdmF0ZSByZXF1aXJlZCB0eXBlIGlzIEBzZWUgRGVsZWdhdGVPclVuZGVsZWdldGVNZXNzYWdlXG4gICAqIC0gRm9yIEBzZWUgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdEZWFjdGl2YXRlIHJlcXVpcmVkIHR5cGUgaXMgQHNlZSBEZWxlZ2F0ZU9yVW5kZWxlZ2V0ZU1lc3NhZ2VcbiAgICogLSBGb3IgQHNlZSBUcmFuc2FjdGlvblR5cGUuU2VuZCByZXF1aXJlZCB0eXBlIGlzIEBzZWUgU2VuZE1lc3NhZ2VcbiAgICogLSBGb3IgQHNlZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1dpdGhkcmF3IHJlcXVpcmVkIHR5cGUgaXMgQHNlZSBXaXRoZHJhd0RlbGVnYXRvclJld2FyZHNNZXNzYWdlXG4gICAqIEBwYXJhbSB7KFNlbmRNZXNzYWdlIHwgRGVsZWdhdGVPclVuZGVsZWdldGVNZXNzYWdlIHwgV2l0aGRyYXdEZWxlZ2F0b3JSZXdhcmRzTWVzc2FnZSlbXX0gbWVzc2FnZXNcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2FjdGlvbiBidWlsZGVyXG4gICAqL1xuICBhYnN0cmFjdCBtZXNzYWdlcyhtZXNzYWdlczogKFNlbmRNZXNzYWdlIHwgRGVsZWdhdGVPclVuZGVsZWdldGVNZXNzYWdlIHwgV2l0aGRyYXdEZWxlZ2F0b3JSZXdhcmRzTWVzc2FnZSlbXSk6IHRoaXM7XG5cbiAgcHVibGljS2V5KHB1YmxpY0tleTogc3RyaW5nIHwgdW5kZWZpbmVkKTogdGhpcyB7XG4gICAgdGhpcy5fcHVibGljS2V5ID0gcHVibGljS2V5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgYWNjb3VudE51bWJlcihhY2NvdW50TnVtYmVyOiBudW1iZXIgfCB1bmRlZmluZWQpOiB0aGlzIHtcbiAgICB0aGlzLl9hY2NvdW50TnVtYmVyID0gYWNjb3VudE51bWJlcjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGNoYWluSWQoY2hhaW5JZDogc3RyaW5nIHwgdW5kZWZpbmVkKTogdGhpcyB7XG4gICAgdGhpcy5fY2hhaW5JZCA9IGNoYWluSWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBtZW1vKG1lbW86IHN0cmluZyB8IHVuZGVmaW5lZCk6IHRoaXMge1xuICAgIHRoaXMuX21lbW8gPSBtZW1vO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzaWduSW1wbGVtZW50YXRpb24oa2V5OiBCYXNlS2V5KTogQ29zbW9zVHJhbnNhY3Rpb24ge1xuICAgIHRoaXMudmFsaWRhdGVLZXkoa2V5KTtcbiAgICBpZiAodGhpcy5fYWNjb3VudE51bWJlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgU2lnbmluZ0Vycm9yKCdhY2NvdW50TnVtYmVyIGlzIHJlcXVpcmVkIGJlZm9yZSBzaWduaW5nJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9jaGFpbklkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBTaWduaW5nRXJyb3IoJ2NoYWluSWQgaXMgcmVxdWlyZWQgYmVmb3JlIHNpZ25pbmcnKTtcbiAgICB9XG4gICAgdGhpcy5fc2lnbmVyID0gbmV3IEtleVBhaXIoeyBwcnY6IGtleS5rZXkgfSk7XG4gICAgdGhpcy5fcHVibGljS2V5ID0gdGhpcy5fc2lnbmVyLmdldEtleXMoKS5wdWI7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb247XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVWYWx1ZSh2YWx1ZTogQmlnTnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlLmlzTGVzc1RoYW4oMCkpIHtcbiAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ1ZhbHVlIGNhbm5vdCBiZSBsZXNzIHRoYW4gemVybycpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUtleShrZXk6IEJhc2VLZXkpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgbmV3IEtleVBhaXIoeyBwcnY6IGtleS5rZXkgfSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBLZXkgdmFsaWRhdGlvbiBmYWlsZWRgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -166,11 +166,6 @@
166
166
  "signature": "506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e",
167
167
  "affectsGlobalScope": true
168
168
  },
169
- "../src/lib/constants.ts": {
170
- "version": "d591abf55815172bc7135b06216535fd272466e28b91542c4266d95e7a0be858",
171
- "signature": "752bc14fbfc6aba111d5e77020e9a661547f79a52ebe64dee2d3524cd2804b8c",
172
- "affectsGlobalScope": false
173
- },
174
169
  "../../../node_modules/@types/node/globals.d.ts": {
175
170
  "version": "de3195627ed1d4ee51c5047f93cd76ce59a8601c0a5c6c391438d7f6cb3edf4d",
176
171
  "signature": "de3195627ed1d4ee51c5047f93cd76ce59a8601c0a5c6c391438d7f6cb3edf4d",
@@ -387,13 +382,13 @@
387
382
  "affectsGlobalScope": false
388
383
  },
389
384
  "../../statics/dist/src/networks.d.ts": {
390
- "version": "956a752909f44978c2d65575515eaa4bfedf4d5059ecdb1cbe2e52e0b210cdb4",
391
- "signature": "956a752909f44978c2d65575515eaa4bfedf4d5059ecdb1cbe2e52e0b210cdb4",
385
+ "version": "fd593401f16e3e9c62a4122ea01fd56bf62fc0e84051c313425a8822fa0501c0",
386
+ "signature": "fd593401f16e3e9c62a4122ea01fd56bf62fc0e84051c313425a8822fa0501c0",
392
387
  "affectsGlobalScope": false
393
388
  },
394
389
  "../../statics/dist/src/base.d.ts": {
395
- "version": "8888d78e7de7e0a0b1f00628e8123ce457fe0a62e6adb73026b12493af89fddd",
396
- "signature": "8888d78e7de7e0a0b1f00628e8123ce457fe0a62e6adb73026b12493af89fddd",
390
+ "version": "e36e26530e5e316af6f5090399062fecff96bf32c698773424c34f96847f9429",
391
+ "signature": "e36e26530e5e316af6f5090399062fecff96bf32c698773424c34f96847f9429",
397
392
  "affectsGlobalScope": false
398
393
  },
399
394
  "../../statics/dist/src/map.d.ts": {
@@ -727,8 +722,8 @@
727
722
  "affectsGlobalScope": false
728
723
  },
729
724
  "../../utxo-lib/dist/src/bitgo/wallet/Unspent.d.ts": {
730
- "version": "2a61ab34ec6f30af68b2ecfeb63b08050098fefc870dd8cb99f91deb69ace492",
731
- "signature": "2a61ab34ec6f30af68b2ecfeb63b08050098fefc870dd8cb99f91deb69ace492",
725
+ "version": "abc70e9efe86f9037a1696881ad60ca634018d5a093ad3250c43bb0a3e3b6c1e",
726
+ "signature": "abc70e9efe86f9037a1696881ad60ca634018d5a093ad3250c43bb0a3e3b6c1e",
732
727
  "affectsGlobalScope": false
733
728
  },
734
729
  "../../utxo-lib/dist/src/bitgo/wallet/Psbt.d.ts": {
@@ -822,8 +817,8 @@
822
817
  "affectsGlobalScope": false
823
818
  },
824
819
  "../../utxo-lib/dist/src/testutil/mock.d.ts": {
825
- "version": "281fd72521d5c85008445779e15086caf1dc82221c17cff47f9203345233771e",
826
- "signature": "281fd72521d5c85008445779e15086caf1dc82221c17cff47f9203345233771e",
820
+ "version": "b172212e75e5f3f9383dd1cf04f73e25379336ca8c3b54aed8012616bf1b0f84",
821
+ "signature": "b172212e75e5f3f9383dd1cf04f73e25379336ca8c3b54aed8012616bf1b0f84",
827
822
  "affectsGlobalScope": false
828
823
  },
829
824
  "../../utxo-lib/dist/src/testutil/psbt.d.ts": {
@@ -882,8 +877,8 @@
882
877
  "affectsGlobalScope": false
883
878
  },
884
879
  "../../sdk-lib-mpc/dist/src/tss/ecdsa/types.d.ts": {
885
- "version": "59c73bc4c04a8c5785e294119e0d953a78cc0866e71f159ea365d1812d141a29",
886
- "signature": "59c73bc4c04a8c5785e294119e0d953a78cc0866e71f159ea365d1812d141a29",
880
+ "version": "cfe1012f8175c674dd19a39cf93391a0103aebd465920faa6718842bd1740389",
881
+ "signature": "cfe1012f8175c674dd19a39cf93391a0103aebd465920faa6718842bd1740389",
887
882
  "affectsGlobalScope": false
888
883
  },
889
884
  "../../sdk-lib-mpc/dist/src/curves/baseCurve.d.ts": {
@@ -926,14 +921,14 @@
926
921
  "signature": "8b22694f385be2f039e3676ea7d112b449729da6333e3e1af5f08aae3db99d2b",
927
922
  "affectsGlobalScope": false
928
923
  },
929
- "../../sdk-lib-mpc/dist/src/tss/ecdsa/pallierproof.d.ts": {
930
- "version": "1bad66d2e0c1eefa98d398214da2dff65fa4f0cd0c3d607bd6cf48a290742ee1",
931
- "signature": "1bad66d2e0c1eefa98d398214da2dff65fa4f0cd0c3d607bd6cf48a290742ee1",
924
+ "../../sdk-lib-mpc/dist/src/tss/ecdsa/paillierproof.d.ts": {
925
+ "version": "f7a684dc92f6027cd074080aa2f6105ece4a65c2c64bce2a7214ca4a2ce38d3c",
926
+ "signature": "f7a684dc92f6027cd074080aa2f6105ece4a65c2c64bce2a7214ca4a2ce38d3c",
932
927
  "affectsGlobalScope": false
933
928
  },
934
929
  "../../sdk-lib-mpc/dist/src/tss/ecdsa/index.d.ts": {
935
- "version": "efb7564d6fad9f4280c2f804734503679170abba55873e2271453c1ed6adfb42",
936
- "signature": "efb7564d6fad9f4280c2f804734503679170abba55873e2271453c1ed6adfb42",
930
+ "version": "b9707f86e0e401b657ed40193fcae1cff492e43c201624f9a72aef2f328d76b7",
931
+ "signature": "b9707f86e0e401b657ed40193fcae1cff492e43c201624f9a72aef2f328d76b7",
937
932
  "affectsGlobalScope": false
938
933
  },
939
934
  "../../sdk-lib-mpc/dist/src/tss/index.d.ts": {
@@ -942,8 +937,8 @@
942
937
  "affectsGlobalScope": false
943
938
  },
944
939
  "../../sdk-lib-mpc/dist/src/util.d.ts": {
945
- "version": "65d24a2250b79e190d87d81f96ecf52bf62ff2d1100e3a8ba42962d9c08b3a52",
946
- "signature": "65d24a2250b79e190d87d81f96ecf52bf62ff2d1100e3a8ba42962d9c08b3a52",
940
+ "version": "ba550feb8b9e414177b5401a7f23efc1c2d31a0dd9666c365b7c66e2016e7177",
941
+ "signature": "ba550feb8b9e414177b5401a7f23efc1c2d31a0dd9666c365b7c66e2016e7177",
947
942
  "affectsGlobalScope": false
948
943
  },
949
944
  "../../sdk-lib-mpc/dist/src/openssl/openssl.d.ts": {
@@ -1012,13 +1007,13 @@
1012
1007
  "affectsGlobalScope": false
1013
1008
  },
1014
1009
  "../../sdk-core/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts": {
1015
- "version": "360666160fef377b58cfc60d0d08acfc896e04fc4bf247b18f835eea84a8c6df",
1016
- "signature": "360666160fef377b58cfc60d0d08acfc896e04fc4bf247b18f835eea84a8c6df",
1010
+ "version": "2ee2eacf5c82f83b5da642f42300616b002dead86fba8dbb2b2db7ff004b859f",
1011
+ "signature": "2ee2eacf5c82f83b5da642f42300616b002dead86fba8dbb2b2db7ff004b859f",
1017
1012
  "affectsGlobalScope": false
1018
1013
  },
1019
1014
  "../../sdk-core/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts": {
1020
- "version": "c82c38e5321c831515e1895b15b773b8a4cb3cf8b8daa83304523aee5ae52860",
1021
- "signature": "c82c38e5321c831515e1895b15b773b8a4cb3cf8b8daa83304523aee5ae52860",
1015
+ "version": "bf8faca2cd7614055d105bb298af183de23ae919c5f8fd2230d8bebf50453833",
1016
+ "signature": "bf8faca2cd7614055d105bb298af183de23ae919c5f8fd2230d8bebf50453833",
1022
1017
  "affectsGlobalScope": false
1023
1018
  },
1024
1019
  "../../sdk-core/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts": {
@@ -1447,8 +1442,8 @@
1447
1442
  "affectsGlobalScope": false
1448
1443
  },
1449
1444
  "../../sdk-core/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts": {
1450
- "version": "3d0716dd94777a43b791eec0c6f88e5d321b18f58c60ce65041429fcd952c6b6",
1451
- "signature": "3d0716dd94777a43b791eec0c6f88e5d321b18f58c60ce65041429fcd952c6b6",
1445
+ "version": "bb3520ffcefe4c109d1259a132f08736f76818cb19f77a764faefe5c25d14e75",
1446
+ "signature": "bb3520ffcefe4c109d1259a132f08736f76818cb19f77a764faefe5c25d14e75",
1452
1447
  "affectsGlobalScope": false
1453
1448
  },
1454
1449
  "../../sdk-core/dist/src/bitgo/pendingApproval/iPendingApprovals.d.ts": {
@@ -1482,13 +1477,13 @@
1482
1477
  "affectsGlobalScope": false
1483
1478
  },
1484
1479
  "../../sdk-core/dist/src/bitgo/tss/types.d.ts": {
1485
- "version": "baae7dd2d0bc6cc8e0bde790bb6bb2a0ed34e2fceb5fa1531af9a81d3345a8a1",
1486
- "signature": "baae7dd2d0bc6cc8e0bde790bb6bb2a0ed34e2fceb5fa1531af9a81d3345a8a1",
1480
+ "version": "f62fb8042d2c7821bba98e120e7ebf9ad6fe207ecffa8fdb942df87cfbe54996",
1481
+ "signature": "f62fb8042d2c7821bba98e120e7ebf9ad6fe207ecffa8fdb942df87cfbe54996",
1487
1482
  "affectsGlobalScope": false
1488
1483
  },
1489
1484
  "../../sdk-core/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts": {
1490
- "version": "af2561ef25dfd22b7e52e66e99a3cca946fac8b724beb5c5b63d4ca72a7939f6",
1491
- "signature": "af2561ef25dfd22b7e52e66e99a3cca946fac8b724beb5c5b63d4ca72a7939f6",
1485
+ "version": "eea76e62102f9b6f962868ebfc2caea84ce670644d8a3b41f54cccb1e7fe77fa",
1486
+ "signature": "eea76e62102f9b6f962868ebfc2caea84ce670644d8a3b41f54cccb1e7fe77fa",
1492
1487
  "affectsGlobalScope": false
1493
1488
  },
1494
1489
  "../../sdk-core/dist/src/bitgo/tss/ecdsa/index.d.ts": {
@@ -1502,8 +1497,8 @@
1502
1497
  "affectsGlobalScope": false
1503
1498
  },
1504
1499
  "../../sdk-core/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts": {
1505
- "version": "0ff8277f3bc341ad7859ff388fb0bb0c7368657ef918d90d241a34d6f52818b1",
1506
- "signature": "0ff8277f3bc341ad7859ff388fb0bb0c7368657ef918d90d241a34d6f52818b1",
1500
+ "version": "4d534680d4794b322222504b5eb4348242bd2fba14132dc7b7c37c859739acfc",
1501
+ "signature": "4d534680d4794b322222504b5eb4348242bd2fba14132dc7b7c37c859739acfc",
1507
1502
  "affectsGlobalScope": false
1508
1503
  },
1509
1504
  "../../sdk-core/dist/src/bitgo/utils/tss/ecdsa/index.d.ts": {
@@ -1712,8 +1707,8 @@
1712
1707
  "affectsGlobalScope": false
1713
1708
  },
1714
1709
  "../../sdk-core/dist/src/bitgo/environments.d.ts": {
1715
- "version": "1bf97198cf4ac7c574166b4d659de60c0bc827ccd21c1a344d7ace25ac54736c",
1716
- "signature": "1bf97198cf4ac7c574166b4d659de60c0bc827ccd21c1a344d7ace25ac54736c",
1710
+ "version": "e2bef4a9d758846a92a906f81061f45a3bdbdef66260a341fd925183fa618dbe",
1711
+ "signature": "e2bef4a9d758846a92a906f81061f45a3bdbdef66260a341fd925183fa618dbe",
1717
1712
  "affectsGlobalScope": false
1718
1713
  },
1719
1714
  "../../sdk-core/dist/src/bitgo/config.d.ts": {
@@ -1787,8 +1782,8 @@
1787
1782
  "affectsGlobalScope": false
1788
1783
  },
1789
1784
  "../../sdk-core/dist/src/bitgo/tss/common.d.ts": {
1790
- "version": "2b9eb5812fe9598da8dc4595fe8563d1314f94b5a301ec57cadd403a71d6956a",
1791
- "signature": "2b9eb5812fe9598da8dc4595fe8563d1314f94b5a301ec57cadd403a71d6956a",
1785
+ "version": "6918e6fa4fd62f19dfeacd4af4121a8aafd495672a992d2709c198bfdae8d0b0",
1786
+ "signature": "6918e6fa4fd62f19dfeacd4af4121a8aafd495672a992d2709c198bfdae8d0b0",
1792
1787
  "affectsGlobalScope": false
1793
1788
  },
1794
1789
  "../../sdk-core/dist/src/bitgo/tss/eddsa/eddsa.d.ts": {
@@ -2026,6 +2021,71 @@
2026
2021
  "signature": "4e6fb0894311b62b63b2188c3c2fb79a7bbc4f0da695fb6fb43ad1b9dec69a4f",
2027
2022
  "affectsGlobalScope": false
2028
2023
  },
2024
+ "../../../node_modules/@types/lodash/common/common.d.ts": {
2025
+ "version": "675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8",
2026
+ "signature": "675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8",
2027
+ "affectsGlobalScope": false
2028
+ },
2029
+ "../../../node_modules/@types/lodash/common/array.d.ts": {
2030
+ "version": "458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22",
2031
+ "signature": "458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22",
2032
+ "affectsGlobalScope": false
2033
+ },
2034
+ "../../../node_modules/@types/lodash/common/collection.d.ts": {
2035
+ "version": "d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f",
2036
+ "signature": "d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f",
2037
+ "affectsGlobalScope": false
2038
+ },
2039
+ "../../../node_modules/@types/lodash/common/date.d.ts": {
2040
+ "version": "187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42",
2041
+ "signature": "187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42",
2042
+ "affectsGlobalScope": false
2043
+ },
2044
+ "../../../node_modules/@types/lodash/common/function.d.ts": {
2045
+ "version": "febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6",
2046
+ "signature": "febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6",
2047
+ "affectsGlobalScope": false
2048
+ },
2049
+ "../../../node_modules/@types/lodash/common/lang.d.ts": {
2050
+ "version": "98f9d826db9cd99d27a01a59ee5f22863df00ccf1aaf43e1d7db80ebf716f7c3",
2051
+ "signature": "98f9d826db9cd99d27a01a59ee5f22863df00ccf1aaf43e1d7db80ebf716f7c3",
2052
+ "affectsGlobalScope": false
2053
+ },
2054
+ "../../../node_modules/@types/lodash/common/math.d.ts": {
2055
+ "version": "0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e",
2056
+ "signature": "0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e",
2057
+ "affectsGlobalScope": false
2058
+ },
2059
+ "../../../node_modules/@types/lodash/common/number.d.ts": {
2060
+ "version": "00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a",
2061
+ "signature": "00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a",
2062
+ "affectsGlobalScope": false
2063
+ },
2064
+ "../../../node_modules/@types/lodash/common/object.d.ts": {
2065
+ "version": "dcd91d3b697cb650b95db5471189b99815af5db2a1cd28760f91e0b12ede8ed5",
2066
+ "signature": "dcd91d3b697cb650b95db5471189b99815af5db2a1cd28760f91e0b12ede8ed5",
2067
+ "affectsGlobalScope": false
2068
+ },
2069
+ "../../../node_modules/@types/lodash/common/seq.d.ts": {
2070
+ "version": "3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd",
2071
+ "signature": "3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd",
2072
+ "affectsGlobalScope": false
2073
+ },
2074
+ "../../../node_modules/@types/lodash/common/string.d.ts": {
2075
+ "version": "3cf0d343c2276842a5b617f22ba82af6322c7cfe8bb52238ffc0c491a3c21019",
2076
+ "signature": "3cf0d343c2276842a5b617f22ba82af6322c7cfe8bb52238ffc0c491a3c21019",
2077
+ "affectsGlobalScope": false
2078
+ },
2079
+ "../../../node_modules/@types/lodash/common/util.d.ts": {
2080
+ "version": "df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",
2081
+ "signature": "df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",
2082
+ "affectsGlobalScope": false
2083
+ },
2084
+ "../../../node_modules/@types/lodash/index.d.ts": {
2085
+ "version": "f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad",
2086
+ "signature": "f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad",
2087
+ "affectsGlobalScope": true
2088
+ },
2029
2089
  "../../../node_modules/@cosmjs/amino/build/pubkeys.d.ts": {
2030
2090
  "version": "1b07773ee3ca8a62873be6a6b8b3aa29455c7b53db2cd4399ec4c6e362cef92b",
2031
2091
  "signature": "1b07773ee3ca8a62873be6a6b8b3aa29455c7b53db2cd4399ec4c6e362cef92b",
@@ -2911,6 +2971,11 @@
2911
2971
  "signature": "95d8191f4604548619492b470125882be66f9a89a385aef173c8c912786a2861",
2912
2972
  "affectsGlobalScope": false
2913
2973
  },
2974
+ "../src/lib/constants.ts": {
2975
+ "version": "d591abf55815172bc7135b06216535fd272466e28b91542c4266d95e7a0be858",
2976
+ "signature": "752bc14fbfc6aba111d5e77020e9a661547f79a52ebe64dee2d3524cd2804b8c",
2977
+ "affectsGlobalScope": false
2978
+ },
2914
2979
  "../src/lib/iface.ts": {
2915
2980
  "version": "0b23a9c4de2a9dd82065d666c0cd8860f35ad4ad6702b41f4c9d23d75110a6ba",
2916
2981
  "signature": "c69501f91a806c6e35f6e7aa34690ad80723f9332f0ec988cba01f7e72ffc8e0",
@@ -2927,23 +2992,28 @@
2927
2992
  "affectsGlobalScope": false
2928
2993
  },
2929
2994
  "../src/lib/transaction.ts": {
2930
- "version": "f005bf1ec8f67d7e76ef84ccb750d86f170cc1daa02cace301abb47e6a2536dc",
2995
+ "version": "00936f318a6003961d3104a5da67efb7a7296afa6af3299b12b0a08c86d48c93",
2931
2996
  "signature": "5edb0ba126cd3f19d56dca4434514e4e2a7e77876881e46ff36dcb027598db73",
2932
2997
  "affectsGlobalScope": false
2933
2998
  },
2934
2999
  "../src/lib/transactionBuilder.ts": {
2935
- "version": "d2860e8cfd3b027b70127fcd306ff0458f96d1e39f4ca1da9243b2cce704e708",
3000
+ "version": "e179b34d23ff9372503bbdf2687625128153126538f7e24afe642e738378d9ac",
2936
3001
  "signature": "2a4f557e1525d992a88ba20c8afb7900981db01dc516e8991526c1d61593b160",
2937
3002
  "affectsGlobalScope": false
2938
3003
  },
2939
3004
  "../src/lib/index.ts": {
2940
- "version": "0e23f6f8cc7c1c243015dfda4f0929b7eb285d1d7c5cf35953201dddd1939375",
2941
- "signature": "243d03f4ef0436004819e1ebdd4f80d0b6dc93102b8f3004193e46ab80233350",
3005
+ "version": "7fcd617a635d9b6ff12d6c37e35071e241b70c672ee6f1f776564e4dcf7a0f69",
3006
+ "signature": "cb78c7bc0390a20c256dd55861f58bf82af22accb60812d6ba921f31450838fc",
3007
+ "affectsGlobalScope": false
3008
+ },
3009
+ "../src/cosmosCoin.ts": {
3010
+ "version": "88790fd66eaa99725ada15ca1bc4b475563d804c262065134041b0d32a575c1f",
3011
+ "signature": "e2f6b780a759dff6acb7816db7c2b562e185c33fee2d8e2183b0524919237690",
2942
3012
  "affectsGlobalScope": false
2943
3013
  },
2944
3014
  "../src/index.ts": {
2945
- "version": "6f308b141358ac799edc3e83e887441852205dc1348310d30b62c69438b93ca0",
2946
- "signature": "fca7313500c668164faec49788c0c2cca2f55c88190906059fe856ee6766462b",
3015
+ "version": "445079db9aed6f46ae20f30a97d0399b6ac7b8935011ac51ba5db78f2e6885a6",
3016
+ "signature": "f13ba600d6de5ece2d64e1c5f82f8f980bd980b48303629caa718ac7382f6a95",
2947
3017
  "affectsGlobalScope": false
2948
3018
  },
2949
3019
  "../../../types/bignumber.js/index.d.ts": {
@@ -3116,71 +3186,6 @@
3116
3186
  "signature": "44469f7cd056fda8a8c31ce768df26a401262098db908b436155b3f7860734c1",
3117
3187
  "affectsGlobalScope": false
3118
3188
  },
3119
- "../../../node_modules/@types/lodash/common/common.d.ts": {
3120
- "version": "675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8",
3121
- "signature": "675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8",
3122
- "affectsGlobalScope": false
3123
- },
3124
- "../../../node_modules/@types/lodash/common/array.d.ts": {
3125
- "version": "458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22",
3126
- "signature": "458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22",
3127
- "affectsGlobalScope": false
3128
- },
3129
- "../../../node_modules/@types/lodash/common/collection.d.ts": {
3130
- "version": "d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f",
3131
- "signature": "d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f",
3132
- "affectsGlobalScope": false
3133
- },
3134
- "../../../node_modules/@types/lodash/common/date.d.ts": {
3135
- "version": "187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42",
3136
- "signature": "187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42",
3137
- "affectsGlobalScope": false
3138
- },
3139
- "../../../node_modules/@types/lodash/common/function.d.ts": {
3140
- "version": "febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6",
3141
- "signature": "febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6",
3142
- "affectsGlobalScope": false
3143
- },
3144
- "../../../node_modules/@types/lodash/common/lang.d.ts": {
3145
- "version": "98f9d826db9cd99d27a01a59ee5f22863df00ccf1aaf43e1d7db80ebf716f7c3",
3146
- "signature": "98f9d826db9cd99d27a01a59ee5f22863df00ccf1aaf43e1d7db80ebf716f7c3",
3147
- "affectsGlobalScope": false
3148
- },
3149
- "../../../node_modules/@types/lodash/common/math.d.ts": {
3150
- "version": "0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e",
3151
- "signature": "0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e",
3152
- "affectsGlobalScope": false
3153
- },
3154
- "../../../node_modules/@types/lodash/common/number.d.ts": {
3155
- "version": "00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a",
3156
- "signature": "00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a",
3157
- "affectsGlobalScope": false
3158
- },
3159
- "../../../node_modules/@types/lodash/common/object.d.ts": {
3160
- "version": "dcd91d3b697cb650b95db5471189b99815af5db2a1cd28760f91e0b12ede8ed5",
3161
- "signature": "dcd91d3b697cb650b95db5471189b99815af5db2a1cd28760f91e0b12ede8ed5",
3162
- "affectsGlobalScope": false
3163
- },
3164
- "../../../node_modules/@types/lodash/common/seq.d.ts": {
3165
- "version": "3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd",
3166
- "signature": "3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd",
3167
- "affectsGlobalScope": false
3168
- },
3169
- "../../../node_modules/@types/lodash/common/string.d.ts": {
3170
- "version": "3cf0d343c2276842a5b617f22ba82af6322c7cfe8bb52238ffc0c491a3c21019",
3171
- "signature": "3cf0d343c2276842a5b617f22ba82af6322c7cfe8bb52238ffc0c491a3c21019",
3172
- "affectsGlobalScope": false
3173
- },
3174
- "../../../node_modules/@types/lodash/common/util.d.ts": {
3175
- "version": "df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",
3176
- "signature": "df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",
3177
- "affectsGlobalScope": false
3178
- },
3179
- "../../../node_modules/@types/lodash/index.d.ts": {
3180
- "version": "f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad",
3181
- "signature": "f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad",
3182
- "affectsGlobalScope": true
3183
- },
3184
3189
  "../../../node_modules/@types/mime-types/index.d.ts": {
3185
3190
  "version": "c757372a092924f5c16eaf11a1475b80b95bb4dae49fe3242d2ad908f97d5abe",
3186
3191
  "signature": "c757372a092924f5c16eaf11a1475b80b95bb4dae49fe3242d2ad908f97d5abe",
@@ -3535,7 +3540,22 @@
3535
3540
  "configFilePath": "../tsconfig.json"
3536
3541
  },
3537
3542
  "referencedMap": {
3543
+ "../src/cosmosCoin.ts": [
3544
+ "../../../node_modules/@types/lodash/index.d.ts",
3545
+ "../../../node_modules/@types/node/buffer.d.ts",
3546
+ "../../../node_modules/@types/node/crypto.d.ts",
3547
+ "../../../node_modules/@types/node/querystring.d.ts",
3548
+ "../../../node_modules/@types/node/url.d.ts",
3549
+ "../../../node_modules/bignumber.js/bignumber.d.ts",
3550
+ "../../sdk-core/dist/src/index.d.ts",
3551
+ "../../sdk-lib-mpc/dist/src/index.d.ts",
3552
+ "../../statics/dist/src/index.d.ts",
3553
+ "../../utxo-lib/dist/src/index.d.ts",
3554
+ "../src/lib/index.ts",
3555
+ "../src/lib/utils.ts"
3556
+ ],
3538
3557
  "../src/index.ts": [
3558
+ "../src/cosmosCoin.ts",
3539
3559
  "../src/lib/index.ts"
3540
3560
  ],
3541
3561
  "../src/lib/iface.ts": [
@@ -4063,8 +4083,8 @@
4063
4083
  "../../sdk-core/dist/src/bitgo/tss/common.d.ts": [
4064
4084
  "../../../node_modules/openpgp/openpgp.d.ts",
4065
4085
  "../../sdk-core/dist/src/bitgo/bitgoBase.d.ts",
4066
- "../../sdk-core/dist/src/bitgo/utils/index.d.ts",
4067
- "../../sdk-lib-mpc/dist/src/index.d.ts"
4086
+ "../../sdk-core/dist/src/bitgo/tss/types.d.ts",
4087
+ "../../sdk-core/dist/src/bitgo/utils/index.d.ts"
4068
4088
  ],
4069
4089
  "../../sdk-core/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts": [
4070
4090
  "../../../node_modules/@types/node/crypto.d.ts",
@@ -4108,6 +4128,9 @@
4108
4128
  "../../sdk-core/dist/src/bitgo/tss/eddsa/index.d.ts",
4109
4129
  "../../sdk-core/dist/src/bitgo/tss/types.d.ts"
4110
4130
  ],
4131
+ "../../sdk-core/dist/src/bitgo/tss/types.d.ts": [
4132
+ "../../sdk-lib-mpc/dist/src/index.d.ts"
4133
+ ],
4111
4134
  "../../sdk-core/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts": [
4112
4135
  "../../utxo-lib/dist/src/index.d.ts"
4113
4136
  ],
@@ -4181,6 +4204,7 @@
4181
4204
  "../../sdk-core/dist/src/bitgo/bitgoBase.d.ts",
4182
4205
  "../../sdk-core/dist/src/bitgo/keychain/index.d.ts",
4183
4206
  "../../sdk-core/dist/src/bitgo/tss/ecdsa/types.d.ts",
4207
+ "../../sdk-core/dist/src/bitgo/tss/types.d.ts",
4184
4208
  "../../sdk-core/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts",
4185
4209
  "../../sdk-core/dist/src/bitgo/utils/tss/baseTypes.d.ts",
4186
4210
  "../../sdk-core/dist/src/bitgo/utils/tss/ecdsa/types.d.ts",
@@ -4779,7 +4803,7 @@
4779
4803
  "../../sdk-lib-mpc/dist/src/openssl/openssl.d.ts"
4780
4804
  ],
4781
4805
  "../../sdk-lib-mpc/dist/src/tss/ecdsa/index.d.ts": [
4782
- "../../sdk-lib-mpc/dist/src/tss/ecdsa/pallierproof.d.ts",
4806
+ "../../sdk-lib-mpc/dist/src/tss/ecdsa/paillierproof.d.ts",
4783
4807
  "../../sdk-lib-mpc/dist/src/tss/ecdsa/rangeproof.d.ts",
4784
4808
  "../../sdk-lib-mpc/dist/src/tss/ecdsa/types.d.ts"
4785
4809
  ],
@@ -6812,7 +6836,13 @@
6812
6836
  ]
6813
6837
  },
6814
6838
  "exportedModulesMap": {
6839
+ "../src/cosmosCoin.ts": [
6840
+ "../../../node_modules/@types/node/crypto.d.ts",
6841
+ "../../sdk-core/dist/src/index.d.ts",
6842
+ "../../statics/dist/src/index.d.ts"
6843
+ ],
6815
6844
  "../src/index.ts": [
6845
+ "../src/cosmosCoin.ts",
6816
6846
  "../src/lib/index.ts"
6817
6847
  ],
6818
6848
  "../src/lib/iface.ts": [
@@ -7324,8 +7354,8 @@
7324
7354
  "../../sdk-core/dist/src/bitgo/tss/common.d.ts": [
7325
7355
  "../../../node_modules/openpgp/openpgp.d.ts",
7326
7356
  "../../sdk-core/dist/src/bitgo/bitgoBase.d.ts",
7327
- "../../sdk-core/dist/src/bitgo/utils/index.d.ts",
7328
- "../../sdk-lib-mpc/dist/src/index.d.ts"
7357
+ "../../sdk-core/dist/src/bitgo/tss/types.d.ts",
7358
+ "../../sdk-core/dist/src/bitgo/utils/index.d.ts"
7329
7359
  ],
7330
7360
  "../../sdk-core/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts": [
7331
7361
  "../../../node_modules/@types/node/crypto.d.ts",
@@ -7369,6 +7399,9 @@
7369
7399
  "../../sdk-core/dist/src/bitgo/tss/eddsa/index.d.ts",
7370
7400
  "../../sdk-core/dist/src/bitgo/tss/types.d.ts"
7371
7401
  ],
7402
+ "../../sdk-core/dist/src/bitgo/tss/types.d.ts": [
7403
+ "../../sdk-lib-mpc/dist/src/index.d.ts"
7404
+ ],
7372
7405
  "../../sdk-core/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts": [
7373
7406
  "../../utxo-lib/dist/src/index.d.ts"
7374
7407
  ],
@@ -7442,6 +7475,7 @@
7442
7475
  "../../sdk-core/dist/src/bitgo/bitgoBase.d.ts",
7443
7476
  "../../sdk-core/dist/src/bitgo/keychain/index.d.ts",
7444
7477
  "../../sdk-core/dist/src/bitgo/tss/ecdsa/types.d.ts",
7478
+ "../../sdk-core/dist/src/bitgo/tss/types.d.ts",
7445
7479
  "../../sdk-core/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts",
7446
7480
  "../../sdk-core/dist/src/bitgo/utils/tss/baseTypes.d.ts",
7447
7481
  "../../sdk-core/dist/src/bitgo/utils/tss/ecdsa/types.d.ts",
@@ -8040,7 +8074,7 @@
8040
8074
  "../../sdk-lib-mpc/dist/src/openssl/openssl.d.ts"
8041
8075
  ],
8042
8076
  "../../sdk-lib-mpc/dist/src/tss/ecdsa/index.d.ts": [
8043
- "../../sdk-lib-mpc/dist/src/tss/ecdsa/pallierproof.d.ts",
8077
+ "../../sdk-lib-mpc/dist/src/tss/ecdsa/paillierproof.d.ts",
8044
8078
  "../../sdk-lib-mpc/dist/src/tss/ecdsa/rangeproof.d.ts",
8045
8079
  "../../sdk-lib-mpc/dist/src/tss/ecdsa/types.d.ts"
8046
8080
  ],
@@ -10073,6 +10107,7 @@
10073
10107
  ]
10074
10108
  },
10075
10109
  "semanticDiagnosticsPerFile": [
10110
+ "../src/cosmosCoin.ts",
10076
10111
  "../src/index.ts",
10077
10112
  "../src/lib/constants.ts",
10078
10113
  "../src/lib/iface.ts",
@@ -10299,7 +10334,7 @@
10299
10334
  "../../sdk-lib-mpc/dist/src/openssl/index.d.ts",
10300
10335
  "../../sdk-lib-mpc/dist/src/openssl/openssl.d.ts",
10301
10336
  "../../sdk-lib-mpc/dist/src/tss/ecdsa/index.d.ts",
10302
- "../../sdk-lib-mpc/dist/src/tss/ecdsa/pallierproof.d.ts",
10337
+ "../../sdk-lib-mpc/dist/src/tss/ecdsa/paillierproof.d.ts",
10303
10338
  "../../sdk-lib-mpc/dist/src/tss/ecdsa/rangeproof.d.ts",
10304
10339
  "../../sdk-lib-mpc/dist/src/tss/ecdsa/types.d.ts",
10305
10340
  "../../sdk-lib-mpc/dist/src/tss/index.d.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo-beta/abstract-cosmos",
3
- "version": "1.0.1-beta.0",
3
+ "version": "1.0.1-beta.10",
4
4
  "description": "BitGo SDK coin library for COSMOS base implementation",
5
5
  "main": "./dist/src/index.js",
6
6
  "types": "./dist/src/index.d.ts",
@@ -37,18 +37,20 @@
37
37
  ]
38
38
  },
39
39
  "dependencies": {
40
- "@bitgo-beta/sdk-core": "8.2.1-beta.18",
41
- "@bitgo-beta/statics": "15.1.1-beta.19",
42
- "@bitgo-beta/utxo-lib": "8.0.3-beta.18",
40
+ "@bitgo-beta/sdk-core": "8.2.1-beta.28",
41
+ "@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.18",
42
+ "@bitgo-beta/statics": "15.1.1-beta.30",
43
+ "@bitgo-beta/utxo-lib": "8.0.3-beta.28",
43
44
  "@cosmjs/amino": "^0.29.5",
44
45
  "@cosmjs/encoding": "^0.29.5",
45
46
  "@cosmjs/proto-signing": "^0.29.5",
46
47
  "@cosmjs/stargate": "^0.29.5",
47
48
  "bignumber.js": "^9.1.1",
48
- "cosmjs-types": "^0.6.1"
49
+ "cosmjs-types": "^0.6.1",
50
+ "lodash": "^4.17.21"
49
51
  },
50
52
  "devDependencies": {
51
53
  "@types/lodash": "^4.14.183"
52
54
  },
53
- "gitHead": "ec08deac420146ecb5effd4c9e3b2856367d7942"
55
+ "gitHead": "f0332bd157eb813c43a86ac9798d844f516cfc46"
54
56
  }