@bitgo/sdk-coin-baby 1.6.2 → 1.6.3
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 +4 -0
- package/package.json +7 -7
- package/LICENSE +0 -191
- package/dist/src/baby.d.ts +0 -34
- package/dist/src/baby.d.ts.map +0 -1
- package/dist/src/baby.js +0 -69
- package/dist/src/index.d.ts +0 -5
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -21
- package/dist/src/lib/BabylonTransaction.d.ts +0 -9
- package/dist/src/lib/BabylonTransaction.d.ts.map +0 -1
- package/dist/src/lib/BabylonTransaction.js +0 -87
- package/dist/src/lib/CustomTransactionBuilder.d.ts +0 -14
- package/dist/src/lib/CustomTransactionBuilder.d.ts.map +0 -1
- package/dist/src/lib/CustomTransactionBuilder.js +0 -37
- package/dist/src/lib/EpochedStakingActivateBuilder.d.ts +0 -7
- package/dist/src/lib/EpochedStakingActivateBuilder.d.ts.map +0 -1
- package/dist/src/lib/EpochedStakingActivateBuilder.js +0 -48
- package/dist/src/lib/EpochedStakingDeactivateBuilder.d.ts +0 -7
- package/dist/src/lib/EpochedStakingDeactivateBuilder.d.ts.map +0 -1
- package/dist/src/lib/EpochedStakingDeactivateBuilder.js +0 -48
- package/dist/src/lib/EpochedStakingRedelegateBuilder.d.ts +0 -7
- package/dist/src/lib/EpochedStakingRedelegateBuilder.d.ts.map +0 -1
- package/dist/src/lib/EpochedStakingRedelegateBuilder.js +0 -48
- package/dist/src/lib/constants.d.ts +0 -14
- package/dist/src/lib/constants.d.ts.map +0 -1
- package/dist/src/lib/constants.js +0 -19
- package/dist/src/lib/iface.d.ts +0 -10
- package/dist/src/lib/iface.d.ts.map +0 -1
- package/dist/src/lib/iface.js +0 -3
- package/dist/src/lib/index.d.ts +0 -10
- package/dist/src/lib/index.d.ts.map +0 -1
- package/dist/src/lib/index.js +0 -55
- package/dist/src/lib/keyPair.d.ts +0 -11
- package/dist/src/lib/keyPair.d.ts.map +0 -1
- package/dist/src/lib/keyPair.js +0 -24
- package/dist/src/lib/transactionBuilderFactory.d.ts +0 -31
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +0 -1
- package/dist/src/lib/transactionBuilderFactory.js +0 -91
- package/dist/src/lib/utils.d.ts +0 -38
- package/dist/src/lib/utils.d.ts.map +0 -1
- package/dist/src/lib/utils.js +0 -224
- package/dist/src/register.d.ts +0 -3
- package/dist/src/register.d.ts.map +0 -1
- package/dist/src/register.js +0 -11
- package/dist/src/tbaby.d.ts +0 -14
- package/dist/src/tbaby.d.ts.map +0 -1
- package/dist/src/tbaby.js +0 -18
package/dist/src/lib/utils.js
DELETED
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.Utils = void 0;
|
|
40
|
-
const babylon_proto_ts_1 = require("@babylonlabs-io/babylon-proto-ts");
|
|
41
|
-
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
42
|
-
const abstract_cosmos_1 = require("@bitgo/abstract-cosmos");
|
|
43
|
-
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
44
|
-
const constants = __importStar(require("./constants"));
|
|
45
|
-
class Utils extends abstract_cosmos_1.CosmosUtils {
|
|
46
|
-
constructor() {
|
|
47
|
-
super();
|
|
48
|
-
this.babylonMessageKindToTypeUrl = {
|
|
49
|
-
CreateBtcDelegation: constants.createBTCDelegationMsgTypeUrl,
|
|
50
|
-
WithdrawReward: constants.withdrawRewardMsgTypeUrl,
|
|
51
|
-
};
|
|
52
|
-
this.babylonMessageTypeUrlToKind = Object.fromEntries(Object.entries(this.babylonMessageKindToTypeUrl).map(([key, value]) => [value, key]));
|
|
53
|
-
this.wrappedMsgTypeUrls = new Set([
|
|
54
|
-
constants.wrappedDelegateMsgTypeUrl,
|
|
55
|
-
constants.wrappedUndelegateMsgTypeUrl,
|
|
56
|
-
constants.wrappedBeginRedelegateTypeUrl,
|
|
57
|
-
]);
|
|
58
|
-
this.customMsgTypeUrls = new Set([constants.createBTCDelegationMsgTypeUrl]);
|
|
59
|
-
this.registry.register(constants.wrappedDelegateMsgTypeUrl, babylon_proto_ts_1.epochingtx.MsgWrappedDelegate);
|
|
60
|
-
this.registry.register(constants.wrappedUndelegateMsgTypeUrl, babylon_proto_ts_1.epochingtx.MsgWrappedUndelegate);
|
|
61
|
-
this.registry.register(constants.wrappedBeginRedelegateTypeUrl, babylon_proto_ts_1.epochingtx.MsgWrappedBeginRedelegate);
|
|
62
|
-
this.registry.register(constants.createBTCDelegationMsgTypeUrl, babylon_proto_ts_1.btcstakingtx.MsgCreateBTCDelegation);
|
|
63
|
-
this.registry.register(constants.withdrawRewardMsgTypeUrl, babylon_proto_ts_1.incentivetx.MsgWithdrawReward);
|
|
64
|
-
}
|
|
65
|
-
/** @inheritdoc */
|
|
66
|
-
getDelegateOrUndelegateMessageDataFromDecodedTx(decodedTx) {
|
|
67
|
-
return decodedTx.body.messages.map((message) => {
|
|
68
|
-
const value = this.registry.decode(message).msg;
|
|
69
|
-
return {
|
|
70
|
-
typeUrl: message.typeUrl,
|
|
71
|
-
value: {
|
|
72
|
-
delegatorAddress: value.delegatorAddress,
|
|
73
|
-
validatorAddress: value.validatorAddress,
|
|
74
|
-
amount: value.amount,
|
|
75
|
-
},
|
|
76
|
-
};
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
/** @inheritdoc */
|
|
80
|
-
getRedelegateMessageDataFromDecodedTx(decodedTx) {
|
|
81
|
-
return decodedTx.body.messages.map((message) => {
|
|
82
|
-
const value = this.registry.decode(message).msg;
|
|
83
|
-
return {
|
|
84
|
-
typeUrl: message.typeUrl,
|
|
85
|
-
value: {
|
|
86
|
-
delegatorAddress: value.delegatorAddress,
|
|
87
|
-
validatorSrcAddress: value.validatorSrcAddress,
|
|
88
|
-
validatorDstAddress: value.validatorDstAddress,
|
|
89
|
-
amount: value.amount,
|
|
90
|
-
},
|
|
91
|
-
};
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
/** @inheritdoc */
|
|
95
|
-
getCustomMessageDataFromDecodedTx(decodedTx) {
|
|
96
|
-
return decodedTx.body.messages.map((message) => {
|
|
97
|
-
const value = this.registry.decode(message);
|
|
98
|
-
return {
|
|
99
|
-
typeUrl: message.typeUrl,
|
|
100
|
-
value: {
|
|
101
|
-
_kind: this.babylonMessageTypeUrlToKind[message.typeUrl],
|
|
102
|
-
...value,
|
|
103
|
-
},
|
|
104
|
-
};
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
/** @inheritdoc */
|
|
108
|
-
getTransactionTypeFromTypeUrl(typeUrl) {
|
|
109
|
-
switch (typeUrl) {
|
|
110
|
-
case constants.wrappedDelegateMsgTypeUrl:
|
|
111
|
-
return sdk_core_1.TransactionType.StakingActivate;
|
|
112
|
-
case constants.wrappedUndelegateMsgTypeUrl:
|
|
113
|
-
return sdk_core_1.TransactionType.StakingDeactivate;
|
|
114
|
-
case constants.wrappedBeginRedelegateTypeUrl:
|
|
115
|
-
return sdk_core_1.TransactionType.StakingRedelegate;
|
|
116
|
-
case constants.createBTCDelegationMsgTypeUrl:
|
|
117
|
-
case constants.withdrawRewardMsgTypeUrl:
|
|
118
|
-
return sdk_core_1.TransactionType.CustomTx;
|
|
119
|
-
default:
|
|
120
|
-
return super.getTransactionTypeFromTypeUrl(typeUrl);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
/** @inheritdoc */
|
|
124
|
-
getSendMessagesForEncodingTx(cosmosLikeTransaction) {
|
|
125
|
-
return cosmosLikeTransaction.sendMessages.map(({ typeUrl, value }) => {
|
|
126
|
-
let valueToEncode = value;
|
|
127
|
-
if (this.wrappedMsgTypeUrls.has(typeUrl)) {
|
|
128
|
-
valueToEncode = { msg: value };
|
|
129
|
-
}
|
|
130
|
-
else if (this.customMsgTypeUrls.has(typeUrl)) {
|
|
131
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
132
|
-
const { _kind, ...rest } = value;
|
|
133
|
-
valueToEncode = rest;
|
|
134
|
-
}
|
|
135
|
-
return { typeUrl, value: valueToEncode };
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
/** @inheritdoc */
|
|
139
|
-
validateCustomMessage(customMessage) {
|
|
140
|
-
switch (customMessage._kind) {
|
|
141
|
-
case 'CreateBtcDelegation':
|
|
142
|
-
this.validateCreateBtcDelegationMessage(customMessage);
|
|
143
|
-
break;
|
|
144
|
-
case 'WithdrawReward':
|
|
145
|
-
this.validateWithdrawRewardMessage(customMessage);
|
|
146
|
-
break;
|
|
147
|
-
default:
|
|
148
|
-
throw new sdk_core_1.InvalidTransactionError(`Unsupported BabylonSpecificMessages message`);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
validateCreateBtcDelegationMessage(createBtcDelegationMessage) {
|
|
152
|
-
if (createBtcDelegationMessage._kind !== 'CreateBtcDelegation') {
|
|
153
|
-
throw new sdk_core_1.InvalidTransactionError(`Invalid CreateBtcDelegationMessage kind: ${createBtcDelegationMessage._kind}`);
|
|
154
|
-
}
|
|
155
|
-
// TODO: check the other fields more thoroughly
|
|
156
|
-
this.isObjPropertyNull(createBtcDelegationMessage, [
|
|
157
|
-
'stakerAddr',
|
|
158
|
-
// 'pop',
|
|
159
|
-
'btcPk',
|
|
160
|
-
'fpBtcPkList',
|
|
161
|
-
'stakingTime',
|
|
162
|
-
'stakingValue',
|
|
163
|
-
'stakingTx',
|
|
164
|
-
// 'stakingTxInclusionProof',
|
|
165
|
-
'slashingTx',
|
|
166
|
-
'delegatorSlashingSig',
|
|
167
|
-
'unbondingTime',
|
|
168
|
-
'unbondingTx',
|
|
169
|
-
'unbondingValue',
|
|
170
|
-
'unbondingSlashingTx',
|
|
171
|
-
'delegatorUnbondingSlashingSig',
|
|
172
|
-
]);
|
|
173
|
-
if (createBtcDelegationMessage.pop) {
|
|
174
|
-
this.isObjPropertyNull(createBtcDelegationMessage.pop, ['btcSigType', 'btcSig']);
|
|
175
|
-
}
|
|
176
|
-
if (createBtcDelegationMessage.stakingTxInclusionProof) {
|
|
177
|
-
this.isObjPropertyNull(createBtcDelegationMessage.stakingTxInclusionProof, ['key', 'proof']);
|
|
178
|
-
if (createBtcDelegationMessage.stakingTxInclusionProof.key) {
|
|
179
|
-
this.isObjPropertyNull(createBtcDelegationMessage.stakingTxInclusionProof.key, ['index', 'hash']);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
if (!this.isValidAddress(createBtcDelegationMessage.stakerAddr)) {
|
|
183
|
-
throw new sdk_core_1.InvalidTransactionError(`Invalid CreateBtcDelegationMessage stakerAddr: ${createBtcDelegationMessage.stakerAddr}`);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
validateWithdrawRewardMessage(withdrawRewardMessage) {
|
|
187
|
-
if (withdrawRewardMessage._kind !== 'WithdrawReward') {
|
|
188
|
-
throw new sdk_core_1.InvalidTransactionError(`Invalid WithdrawRewardMessage kind: ${withdrawRewardMessage._kind}`);
|
|
189
|
-
}
|
|
190
|
-
this.isObjPropertyNull(withdrawRewardMessage, ['type', 'address']);
|
|
191
|
-
if (!['finality_provider', 'btc_staker'].includes(withdrawRewardMessage.type)) {
|
|
192
|
-
throw new sdk_core_1.InvalidTransactionError(`Invalid WithdrawRewardMessage type: ${withdrawRewardMessage.type}`);
|
|
193
|
-
}
|
|
194
|
-
if (!this.isValidAddress(withdrawRewardMessage.address)) {
|
|
195
|
-
throw new sdk_core_1.InvalidTransactionError(`Invalid WithdrawRewardMessage address: ${withdrawRewardMessage.address}`);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
/** @inheritdoc */
|
|
199
|
-
isValidAddress(address) {
|
|
200
|
-
return this.isValidCosmosLikeAddressWithMemoId(address, constants.accountAddressRegex);
|
|
201
|
-
}
|
|
202
|
-
/** @inheritdoc */
|
|
203
|
-
isValidValidatorAddress(address) {
|
|
204
|
-
return this.isValidBech32AddressMatchingRegex(address, constants.validatorAddressRegex);
|
|
205
|
-
}
|
|
206
|
-
/** @inheritdoc */
|
|
207
|
-
isValidContractAddress(address) {
|
|
208
|
-
return this.isValidBech32AddressMatchingRegex(address, constants.contractAddressRegex);
|
|
209
|
-
}
|
|
210
|
-
/** @inheritdoc */
|
|
211
|
-
validateAmount(amount) {
|
|
212
|
-
const amountBig = (0, bignumber_js_1.default)(amount.amount);
|
|
213
|
-
if (amountBig.isLessThanOrEqualTo(0)) {
|
|
214
|
-
throw new sdk_core_1.InvalidTransactionError('transactionBuilder: validateAmount: Invalid amount: ' + amount.amount);
|
|
215
|
-
}
|
|
216
|
-
if (!constants.validDenoms.find((denom) => denom === amount.denom)) {
|
|
217
|
-
throw new sdk_core_1.InvalidTransactionError('transactionBuilder: validateAmount: Invalid denom: ' + amount.denom);
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
exports.Utils = Utils;
|
|
222
|
-
const utils = new Utils();
|
|
223
|
-
exports.default = utils;
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVFQUF5RjtBQUd6RixnRUFBcUM7QUFRckMsNERBQWtFO0FBQ2xFLDhDQUEyRTtBQUMzRSx1REFBeUM7QUFFekMsTUFBYSxLQUFNLFNBQVEsNkJBQW9DO0lBZ0I3RDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBaEJILGdDQUEyQixHQUErQztZQUMvRSxtQkFBbUIsRUFBRSxTQUFTLENBQUMsNkJBQTZCO1lBQzVELGNBQWMsRUFBRSxTQUFTLENBQUMsd0JBQXdCO1NBQ25ELENBQUM7UUFDSyxnQ0FBMkIsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUNyRCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUN2QyxDQUFDO1FBRXRDLHVCQUFrQixHQUFHLElBQUksR0FBRyxDQUFTO1lBQzdDLFNBQVMsQ0FBQyx5QkFBeUI7WUFDbkMsU0FBUyxDQUFDLDJCQUEyQjtZQUNyQyxTQUFTLENBQUMsNkJBQTZCO1NBQ3hDLENBQUMsQ0FBQztRQUNPLHNCQUFpQixHQUFHLElBQUksR0FBRyxDQUFTLENBQUMsU0FBUyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQztRQUl2RixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMseUJBQXlCLEVBQUUsNkJBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQywyQkFBMkIsRUFBRSw2QkFBVSxDQUFDLG9CQUFvQixDQUFD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T0FBTyxFQUFFLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsY0FBYyxDQUFDLE1BQVk7UUFDekIsTUFBTSxTQUFTLEdBQUcsSUFBQSxzQkFBUyxFQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQyxJQUFJLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxzREFBc0QsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUcsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ25FLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxxREFBcUQsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUcsQ0FBQztJQUNILENBQUM7Q0FDRjtBQTFNRCxzQkEwTUM7QUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO0FBRTFCLGtCQUFlLEtBQUssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVwb2NoaW5ndHgsIGJ0Y3N0YWtpbmd0eCwgaW5jZW50aXZldHggfSBmcm9tICdAYmFieWxvbmxhYnMtaW8vYmFieWxvbi1wcm90by10cyc7XG5pbXBvcnQgeyBEZWNvZGVkVHhSYXcgfSBmcm9tICdAY29zbWpzL3Byb3RvLXNpZ25pbmcnO1xuaW1wb3J0IHsgQ29pbiB9IGZyb20gJ0Bjb3NtanMvc3RhcmdhdGUnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgQW55IH0gZnJvbSAnY29zbWpzLXR5cGVzL2dvb2dsZS9wcm90b2J1Zi9hbnknO1xuaW1wb3J0IHtcbiAgQmFieWxvblNwZWNpZmljTWVzc2FnZUtpbmQsXG4gIEJhYnlsb25TcGVjaWZpY01lc3NhZ2VzLFxuICBDcmVhdGVCdGNEZWxlZ2F0aW9uTWVzc2FnZSxcbiAgV2l0aGRyYXdSZXdhcmRNZXNzYWdlLFxufSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IENvc21vc1V0aWxzLCBNZXNzYWdlRGF0YSB9IGZyb20gJ0BiaXRnby9hYnN0cmFjdC1jb3Ntb3MnO1xuaW1wb3J0IHsgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgKiBhcyBjb25zdGFudHMgZnJvbSAnLi9jb25zdGFudHMnO1xuXG5leHBvcnQgY2xhc3MgVXRpbHMgZXh0ZW5kcyBDb3Ntb3NVdGlsczxCYWJ5bG9uU3BlY2lmaWNNZXNzYWdlcz4ge1xuICBwdWJsaWMgYmFieWxvbk1lc3NhZ2VLaW5kVG9UeXBlVXJsOiBSZWNvcmQ8QmFieWxvblNwZWNpZmljTWVzc2FnZUtpbmQsIHN0cmluZz4gPSB7XG4gICAgQ3JlYXRlQnRjRGVsZWdhdGlvbjogY29uc3RhbnRzLmNyZWF0ZUJUQ0RlbGVnYXRpb25Nc2dUeXBlVXJsLFxuICAgIFdpdGhkcmF3UmV3YXJkOiBjb25zdGFudHMud2l0aGRyYXdSZXdhcmRNc2dUeXBlVXJsLFxuICB9O1xuICBwdWJsaWMgYmFieWxvbk1lc3NhZ2VUeXBlVXJsVG9LaW5kID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuYmFieWxvbk1lc3NhZ2VLaW5kVG9UeXBlVXJsKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gW3ZhbHVlLCBrZXldKVxuICApIGFzIFJlY29yZDxzdHJpbmcsIEJhYnlsb25TcGVjaWZpY01lc3NhZ2VLaW5kPjtcblxuICBwcm90ZWN0ZWQgd3JhcHBlZE1zZ1R5cGVVcmxzID0gbmV3IFNldDxzdHJpbmc+KFtcbiAgICBjb25zdGFudHMud3JhcHBlZERlbGVnYXRlTXNnVHlwZVVybCxcbiAgICBjb25zdGFudHMud3JhcHBlZFVuZGVsZWdhdGVNc2dUeXBlVXJsLFxuICAgIGNvbnN0YW50cy53cmFwcGVkQmVnaW5SZWRlbGVnYXRlVHlwZVVybCxcbiAgXSk7XG4gIHByb3RlY3RlZCBjdXN0b21Nc2dUeXBlVXJscyA9IG5ldyBTZXQ8c3RyaW5nPihbY29uc3RhbnRzLmNyZWF0ZUJUQ0RlbGVnYXRpb25Nc2dUeXBlVXJsXSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnJlZ2lzdHJ5LnJlZ2lzdGVyKGNvbnN0YW50cy53cmFwcGVkRGVsZWdhdGVNc2dUeXBlVXJsLCBlcG9jaGluZ3R4Lk1zZ1dyYXBwZWREZWxlZ2F0ZSk7XG4gICAgdGhpcy5yZWdpc3RyeS5yZWdpc3Rlcihjb25zdGFudHMud3JhcHBlZFVuZGVsZWdhdGVNc2dUeXBlVXJsLCBlcG9jaGluZ3R4Lk1zZ1dyYXBwZWRVbmRlbGVnYXRlKTtcbiAgICB0aGlzLnJlZ2lzdHJ5LnJlZ2lzdGVyKGNvbnN0YW50cy53cmFwcGVkQmVnaW5SZWRlbGVnYXRlVHlwZVVybCwgZXBvY2hpbmd0eC5Nc2dXcmFwcGVkQmVnaW5SZWRlbGVnYXRlKTtcbiAgICB0aGlzLnJlZ2lzdHJ5LnJlZ2lzdGVyKGNvbnN0YW50cy5jcmVhdGVCVENEZWxlZ2F0aW9uTXNnVHlwZVVybCwgYnRjc3Rha2luZ3R4Lk1zZ0NyZWF0ZUJUQ0RlbGVnYXRpb24pO1xuICAgIHRoaXMucmVnaXN0cnkucmVnaXN0ZXIoY29uc3RhbnRzLndpdGhkcmF3UmV3YXJkTXNnVHlwZVVybCwgaW5jZW50aXZldHguTXNnV2l0aGRyYXdSZXdhcmQpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldERlbGVnYXRlT3JVbmRlbGVnYXRlTWVzc2FnZURhdGFGcm9tRGVjb2RlZFR4KGRlY29kZWRUeDogRGVjb2RlZFR4UmF3KTogTWVzc2FnZURhdGE8QmFieWxvblNwZWNpZmljTWVzc2FnZXM+W10ge1xuICAgIHJldHVybiBkZWNvZGVkVHguYm9keS5tZXNzYWdlcy5tYXAoKG1lc3NhZ2UpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5yZWdpc3RyeS5kZWNvZGUobWVzc2FnZSkubXNnO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZVVybDogbWVzc2FnZS50eXBlVXJsLFxuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgIGRlbGVnYXRvckFkZHJlc3M6IHZhbHVlLmRlbGVnYXRvckFkZHJlc3MsXG4gICAgICAgICAgdmFsaWRhdG9yQWRkcmVzczogdmFsdWUudmFsaWRhdG9yQWRkcmVzcyxcbiAgICAgICAgICBhbW91bnQ6IHZhbHVlLmFtb3VudCxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0UmVkZWxlZ2F0ZU1lc3NhZ2VEYXRhRnJvbURlY29kZWRUeChkZWNvZGVkVHg6IERlY29kZWRUeFJhdyk6IE1lc3NhZ2VEYXRhPEJhYnlsb25TcGVjaWZpY01lc3NhZ2VzPltdIHtcbiAgICByZXR1cm4gZGVjb2RlZFR4LmJvZHkubWVzc2FnZXMubWFwKChtZXNzYWdlKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucmVnaXN0cnkuZGVjb2RlKG1lc3NhZ2UpLm1zZztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGVVcmw6IG1lc3NhZ2UudHlwZVVybCxcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICBkZWxlZ2F0b3JBZGRyZXNzOiB2YWx1ZS5kZWxlZ2F0b3JBZGRyZXNzLFxuICAgICAgICAgIHZhbGlkYXRvclNyY0FkZHJlc3M6IHZhbHVlLnZhbGlkYXRvclNyY0FkZHJlc3MsXG4gICAgICAgICAgdmFsaWRhdG9yRHN0QWRkcmVzczogdmFsdWUudmFsaWRhdG9yRHN0QWRkcmVzcyxcbiAgICAgICAgICBhbW91bnQ6IHZhbHVlLmFtb3VudCxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0Q3VzdG9tTWVzc2FnZURhdGFGcm9tRGVjb2RlZFR4KGRlY29kZWRUeDogRGVjb2RlZFR4UmF3KTogTWVzc2FnZURhdGE8QmFieWxvblNwZWNpZmljTWVzc2FnZXM+W10ge1xuICAgIHJldHVybiBkZWNvZGVkVHguYm9keS5tZXNzYWdlcy5tYXAoKG1lc3NhZ2UpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5yZWdpc3RyeS5kZWNvZGUobWVzc2FnZSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlVXJsOiBtZXNzYWdlLnR5cGVVcmwsXG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgX2tpbmQ6IHRoaXMuYmFieWxvbk1lc3NhZ2VUeXBlVXJsVG9LaW5kW21lc3NhZ2UudHlwZVVybF0sXG4gICAgICAgICAgLi4udmFsdWUsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFRyYW5zYWN0aW9uVHlwZUZyb21UeXBlVXJsKHR5cGVVcmw6IHN0cmluZyk6IFRyYW5zYWN0aW9uVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgc3dpdGNoICh0eXBlVXJsKSB7XG4gICAgICBjYXNlIGNvbnN0YW50cy53cmFwcGVkRGVsZWdhdGVNc2dUeXBlVXJsOlxuICAgICAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBY3RpdmF0ZTtcbiAgICAgIGNhc2UgY29uc3RhbnRzLndyYXBwZWRVbmRlbGVnYXRlTXNnVHlwZVVybDpcbiAgICAgICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nRGVhY3RpdmF0ZTtcbiAgICAgIGNhc2UgY29uc3RhbnRzLndyYXBwZWRCZWdpblJlZGVsZWdhdGVUeXBlVXJsOlxuICAgICAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdSZWRlbGVnYXRlO1xuICAgICAgY2FzZSBjb25zdGFudHMuY3JlYXRlQlRDRGVsZWdhdGlvbk1zZ1R5cGVVcmw6XG4gICAgICBjYXNlIGNvbnN0YW50cy53aXRoZHJhd1Jld2FyZE1zZ1R5cGVVcmw6XG4gICAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuQ3VzdG9tVHg7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0VHJhbnNhY3Rpb25UeXBlRnJvbVR5cGVVcmwodHlwZVVybCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFNlbmRNZXNzYWdlc0ZvckVuY29kaW5nVHgoXG4gICAgY29zbW9zTGlrZVRyYW5zYWN0aW9uOiBQYXJhbWV0ZXJzPENvc21vc1V0aWxzPEJhYnlsb25TcGVjaWZpY01lc3NhZ2VzPlsnZ2V0U2VuZE1lc3NhZ2VzRm9yRW5jb2RpbmdUeCddPlswXVxuICApOiBBbnlbXSB7XG4gICAgcmV0dXJuIGNvc21vc0xpa2VUcmFuc2FjdGlvbi5zZW5kTWVzc2FnZXMubWFwKCh7IHR5cGVVcmwsIHZhbHVlIH0pID0+IHtcbiAgICAgIGxldCB2YWx1ZVRvRW5jb2RlOiB1bmtub3duID0gdmFsdWU7XG4gICAgICBpZiAodGhpcy53cmFwcGVkTXNnVHlwZVVybHMuaGFzKHR5cGVVcmwpKSB7XG4gICAgICAgIHZhbHVlVG9FbmNvZGUgPSB7IG1zZzogdmFsdWUgfTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXN0b21Nc2dUeXBlVXJscy5oYXModHlwZVVybCkpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICBjb25zdCB7IF9raW5kLCAuLi5yZXN0IH0gPSB2YWx1ZSBhcyBCYWJ5bG9uU3BlY2lmaWNNZXNzYWdlcztcbiAgICAgICAgdmFsdWVUb0VuY29kZSA9IHJlc3Q7XG4gICAgICB9XG4gICAgICByZXR1cm4geyB0eXBlVXJsLCB2YWx1ZTogdmFsdWVUb0VuY29kZSB9O1xuICAgIH0pIGFzIHVua25vd24gYXMgQW55W107XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVDdXN0b21NZXNzYWdlKGN1c3RvbU1lc3NhZ2U6IEJhYnlsb25TcGVjaWZpY01lc3NhZ2VzKTogdm9pZCB7XG4gICAgc3dpdGNoIChjdXN0b21NZXNzYWdlLl9raW5kKSB7XG4gICAgICBjYXNlICdDcmVhdGVCdGNEZWxlZ2F0aW9uJzpcbiAgICAgICAgdGhpcy52YWxpZGF0ZUNyZWF0ZUJ0Y0RlbGVnYXRpb25NZXNzYWdlKGN1c3RvbU1lc3NhZ2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1dpdGhkcmF3UmV3YXJkJzpcbiAgICAgICAgdGhpcy52YWxpZGF0ZVdpdGhkcmF3UmV3YXJkTWVzc2FnZShjdXN0b21NZXNzYWdlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYFVuc3VwcG9ydGVkIEJhYnlsb25TcGVjaWZpY01lc3NhZ2VzIG1lc3NhZ2VgKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZUNyZWF0ZUJ0Y0RlbGVnYXRpb25NZXNzYWdlKGNyZWF0ZUJ0Y0RlbGVnYXRpb25NZXNzYWdlOiBDcmVhdGVCdGNEZWxlZ2F0aW9uTWVzc2FnZSk6IHZvaWQge1xuICAgIGlmIChjcmVhdGVCdGNEZWxlZ2F0aW9uTWVzc2FnZS5fa2luZCAhPT0gJ0NyZWF0ZUJ0Y0RlbGVnYXRpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgQ3JlYXRlQnRjRGVsZWdhdGlvbk1lc3NhZ2Uga2luZDogJHtjcmVhdGVCdGNEZWxlZ2F0aW9uTWVzc2FnZS5fa2luZH1gKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBjaGVjayB0aGUgb3RoZXIgZmllbGRzIG1vcmUgdGhvcm91Z2hseVxuICAgIHRoaXMuaXNPYmpQcm9wZXJ0eU51bGwoY3JlYXRlQnRjRGVsZWdhdGlvbk1lc3NhZ2UsIFtcbiAgICAgICdzdGFrZXJBZGRyJyxcbiAgICAgIC8vICdwb3AnLFxuICAgICAgJ2J0Y1BrJyxcbiAgICAgICdmcEJ0Y1BrTGlzdCcsXG4gICAgICAnc3Rha2luZ1RpbWUnLFxuICAgICAgJ3N0YWtpbmdWYWx1ZScsXG4gICAgICAnc3Rha2luZ1R4JyxcbiAgICAgIC8vICdzdGFraW5nVHhJbmNsdXNpb25Qcm9vZicsXG4gICAgICAnc2xhc2hpbmdUeCcsXG4gICAgICAnZGVsZWdhdG9yU2xhc2hpbmdTaWcnLFxuICAgICAgJ3VuYm9uZGluZ1RpbWUnLFxuICAgICAgJ3VuYm9uZGluZ1R4JyxcbiAgICAgICd1bmJvbmRpbmdWYWx1ZScsXG4gICAgICAndW5ib25kaW5nU2xhc2hpbmdUeCcsXG4gICAgICAnZGVsZWdhdG9yVW5ib25kaW5nU2xhc2hpbmdTaWcnLFxuICAgIF0pO1xuXG4gICAgaWYgKGNyZWF0ZUJ0Y0RlbGVnYXRpb25NZXNzYWdlLnBvcCkge1xuICAgICAgdGhpcy5pc09ialByb3BlcnR5TnVsbChjcmVhdGVCdGNEZWxlZ2F0aW9uTWVzc2FnZS5wb3AsIFsnYnRjU2lnVHlwZScsICdidGNTaWcnXSk7XG4gICAgfVxuXG4gICAgaWYgKGNyZWF0ZUJ0Y0RlbGVnYXRpb25NZXNzYWdlLnN0YWtpbmdUeEluY2x1c2lvblByb29mKSB7XG4gICAgICB0aGlzLmlzT2JqUHJvcGVydHlOdWxsKGNyZWF0ZUJ0Y0RlbGVnYXRpb25NZXNzYWdlLnN0YWtpbmdUeEluY2x1c2lvblByb29mLCBbJ2tleScsICdwcm9vZiddKTtcblxuICAgICAgaWYgKGNyZWF0ZUJ0Y0RlbGVnYXRpb25NZXNzYWdlLnN0YWtpbmdUeEluY2x1c2lvblByb29mLmtleSkge1xuICAgICAgICB0aGlzLmlzT2JqUHJvcGVydHlOdWxsKGNyZWF0ZUJ0Y0RlbGVnYXRpb25NZXNzYWdlLnN0YWtpbmdUeEluY2x1c2lvblByb29mLmtleSwgWydpbmRleCcsICdoYXNoJ10pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghdGhpcy5pc1ZhbGlkQWRkcmVzcyhjcmVhdGVCdGNEZWxlZ2F0aW9uTWVzc2FnZS5zdGFrZXJBZGRyKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICBgSW52YWxpZCBDcmVhdGVCdGNEZWxlZ2F0aW9uTWVzc2FnZSBzdGFrZXJBZGRyOiAke2NyZWF0ZUJ0Y0RlbGVnYXRpb25NZXNzYWdlLnN0YWtlckFkZHJ9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICB2YWxpZGF0ZVdpdGhkcmF3UmV3YXJkTWVzc2FnZSh3aXRoZHJhd1Jld2FyZE1lc3NhZ2U6IFdpdGhkcmF3UmV3YXJkTWVzc2FnZSk6IHZvaWQge1xuICAgIGlmICh3aXRoZHJhd1Jld2FyZE1lc3NhZ2UuX2tpbmQgIT09ICdXaXRoZHJhd1Jld2FyZCcpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBXaXRoZHJhd1Jld2FyZE1lc3NhZ2Uga2luZDogJHt3aXRoZHJhd1Jld2FyZE1lc3NhZ2UuX2tpbmR9YCk7XG4gICAgfVxuXG4gICAgdGhpcy5pc09ialByb3BlcnR5TnVsbCh3aXRoZHJhd1Jld2FyZE1lc3NhZ2UsIFsndHlwZScsICdhZGRyZXNzJ10pO1xuXG4gICAgaWYgKCFbJ2ZpbmFsaXR5X3Byb3ZpZGVyJywgJ2J0Y19zdGFrZXInXS5pbmNsdWRlcyh3aXRoZHJhd1Jld2FyZE1lc3NhZ2UudHlwZSkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBXaXRoZHJhd1Jld2FyZE1lc3NhZ2UgdHlwZTogJHt3aXRoZHJhd1Jld2FyZE1lc3NhZ2UudHlwZX1gKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaXNWYWxpZEFkZHJlc3Mod2l0aGRyYXdSZXdhcmRNZXNzYWdlLmFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgV2l0aGRyYXdSZXdhcmRNZXNzYWdlIGFkZHJlc3M6ICR7d2l0aGRyYXdSZXdhcmRNZXNzYWdlLmFkZHJlc3N9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRDb3Ntb3NMaWtlQWRkcmVzc1dpdGhNZW1vSWQoYWRkcmVzcywgY29uc3RhbnRzLmFjY291bnRBZGRyZXNzUmVnZXgpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRWYWxpZGF0b3JBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRCZWNoMzJBZGRyZXNzTWF0Y2hpbmdSZWdleChhZGRyZXNzLCBjb25zdGFudHMudmFsaWRhdG9yQWRkcmVzc1JlZ2V4KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQ29udHJhY3RBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRCZWNoMzJBZGRyZXNzTWF0Y2hpbmdSZWdleChhZGRyZXNzLCBjb25zdGFudHMuY29udHJhY3RBZGRyZXNzUmVnZXgpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlQW1vdW50KGFtb3VudDogQ29pbik6IHZvaWQge1xuICAgIGNvbnN0IGFtb3VudEJpZyA9IEJpZ051bWJlcihhbW91bnQuYW1vdW50KTtcbiAgICBpZiAoYW1vdW50QmlnLmlzTGVzc1RoYW5PckVxdWFsVG8oMCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcigndHJhbnNhY3Rpb25CdWlsZGVyOiB2YWxpZGF0ZUFtb3VudDogSW52YWxpZCBhbW91bnQ6ICcgKyBhbW91bnQuYW1vdW50KTtcbiAgICB9XG4gICAgaWYgKCFjb25zdGFudHMudmFsaWREZW5vbXMuZmluZCgoZGVub20pID0+IGRlbm9tID09PSBhbW91bnQuZGVub20pKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3RyYW5zYWN0aW9uQnVpbGRlcjogdmFsaWRhdGVBbW91bnQ6IEludmFsaWQgZGVub206ICcgKyBhbW91bnQuZGVub20pO1xuICAgIH1cbiAgfVxufVxuXG5jb25zdCB1dGlscyA9IG5ldyBVdGlscygpO1xuXG5leHBvcnQgZGVmYXVsdCB1dGlscztcbiJdfQ==
|
package/dist/src/register.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,eAAO,MAAM,QAAQ,QAAS,SAAS,KAAG,IAGzC,CAAC"}
|
package/dist/src/register.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.register = void 0;
|
|
4
|
-
const baby_1 = require("./baby");
|
|
5
|
-
const tbaby_1 = require("./tbaby");
|
|
6
|
-
const register = (sdk) => {
|
|
7
|
-
sdk.register('baby', baby_1.Baby.createInstance);
|
|
8
|
-
sdk.register('tbaby', tbaby_1.Tbaby.createInstance);
|
|
9
|
-
};
|
|
10
|
-
exports.register = register;
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaUNBQThCO0FBQzlCLG1DQUFnQztBQUV6QixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWMsRUFBUSxFQUFFO0lBQy9DLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFdBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxQyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUFDO0FBSFcsUUFBQSxRQUFRLFlBR25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhYnkgfSBmcm9tICcuL2JhYnknO1xuaW1wb3J0IHsgVGJhYnkgfSBmcm9tICcuL3RiYWJ5JztcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyID0gKHNkazogQml0R29CYXNlKTogdm9pZCA9PiB7XG4gIHNkay5yZWdpc3RlcignYmFieScsIEJhYnkuY3JlYXRlSW5zdGFuY2UpO1xuICBzZGsucmVnaXN0ZXIoJ3RiYWJ5JywgVGJhYnkuY3JlYXRlSW5zdGFuY2UpO1xufTtcbiJdfQ==
|
package/dist/src/tbaby.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Testnet Babylon
|
|
3
|
-
*
|
|
4
|
-
* @format
|
|
5
|
-
*/
|
|
6
|
-
import { BaseCoin, BitGoBase } from '@bitgo/sdk-core';
|
|
7
|
-
import { Baby } from './baby';
|
|
8
|
-
import { BaseCoin as StaticsBaseCoin } from '@bitgo/statics';
|
|
9
|
-
export declare class Tbaby extends Baby {
|
|
10
|
-
protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
|
|
11
|
-
protected constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>);
|
|
12
|
-
static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=tbaby.d.ts.map
|
package/dist/src/tbaby.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tbaby.d.ts","sourceRoot":"","sources":["../../src/tbaby.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE7D,qBAAa,KAAM,SAAQ,IAAI;IAC7B,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;CAG3F"}
|
package/dist/src/tbaby.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Tbaby = void 0;
|
|
4
|
-
const baby_1 = require("./baby");
|
|
5
|
-
class Tbaby extends baby_1.Baby {
|
|
6
|
-
constructor(bitgo, staticsCoin) {
|
|
7
|
-
super(bitgo, staticsCoin);
|
|
8
|
-
if (!staticsCoin) {
|
|
9
|
-
throw new Error('missing required constructor parameter staticsCoin');
|
|
10
|
-
}
|
|
11
|
-
this._staticsCoin = staticsCoin;
|
|
12
|
-
}
|
|
13
|
-
static createInstance(bitgo, staticsCoin) {
|
|
14
|
-
return new Tbaby(bitgo, staticsCoin);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
exports.Tbaby = Tbaby;
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGJhYnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGJhYnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsaUNBQThCO0FBRzlCLE1BQWEsS0FBTSxTQUFRLFdBQUk7SUFFN0IsWUFBc0IsS0FBZ0IsRUFBRSxXQUF1QztRQUM3RSxLQUFLLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRTFCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsT0FBTyxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNGO0FBZkQsc0JBZUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRlc3RuZXQgQmFieWxvblxuICpcbiAqIEBmb3JtYXRcbiAqL1xuaW1wb3J0IHsgQmFzZUNvaW4sIEJpdEdvQmFzZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBCYWJ5IH0gZnJvbSAnLi9iYWJ5JztcbmltcG9ydCB7IEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcblxuZXhwb3J0IGNsYXNzIFRiYWJ5IGV4dGVuZHMgQmFieSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBfc3RhdGljc0NvaW46IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj47XG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihiaXRnbywgc3RhdGljc0NvaW4pO1xuXG4gICAgaWYgKCFzdGF0aWNzQ29pbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIGNvbnN0cnVjdG9yIHBhcmFtZXRlciBzdGF0aWNzQ29pbicpO1xuICAgIH1cblxuICAgIHRoaXMuX3N0YXRpY3NDb2luID0gc3RhdGljc0NvaW47XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KTogQmFzZUNvaW4ge1xuICAgIHJldHVybiBuZXcgVGJhYnkoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxufVxuIl19
|