@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.
Files changed (48) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/package.json +7 -7
  3. package/LICENSE +0 -191
  4. package/dist/src/baby.d.ts +0 -34
  5. package/dist/src/baby.d.ts.map +0 -1
  6. package/dist/src/baby.js +0 -69
  7. package/dist/src/index.d.ts +0 -5
  8. package/dist/src/index.d.ts.map +0 -1
  9. package/dist/src/index.js +0 -21
  10. package/dist/src/lib/BabylonTransaction.d.ts +0 -9
  11. package/dist/src/lib/BabylonTransaction.d.ts.map +0 -1
  12. package/dist/src/lib/BabylonTransaction.js +0 -87
  13. package/dist/src/lib/CustomTransactionBuilder.d.ts +0 -14
  14. package/dist/src/lib/CustomTransactionBuilder.d.ts.map +0 -1
  15. package/dist/src/lib/CustomTransactionBuilder.js +0 -37
  16. package/dist/src/lib/EpochedStakingActivateBuilder.d.ts +0 -7
  17. package/dist/src/lib/EpochedStakingActivateBuilder.d.ts.map +0 -1
  18. package/dist/src/lib/EpochedStakingActivateBuilder.js +0 -48
  19. package/dist/src/lib/EpochedStakingDeactivateBuilder.d.ts +0 -7
  20. package/dist/src/lib/EpochedStakingDeactivateBuilder.d.ts.map +0 -1
  21. package/dist/src/lib/EpochedStakingDeactivateBuilder.js +0 -48
  22. package/dist/src/lib/EpochedStakingRedelegateBuilder.d.ts +0 -7
  23. package/dist/src/lib/EpochedStakingRedelegateBuilder.d.ts.map +0 -1
  24. package/dist/src/lib/EpochedStakingRedelegateBuilder.js +0 -48
  25. package/dist/src/lib/constants.d.ts +0 -14
  26. package/dist/src/lib/constants.d.ts.map +0 -1
  27. package/dist/src/lib/constants.js +0 -19
  28. package/dist/src/lib/iface.d.ts +0 -10
  29. package/dist/src/lib/iface.d.ts.map +0 -1
  30. package/dist/src/lib/iface.js +0 -3
  31. package/dist/src/lib/index.d.ts +0 -10
  32. package/dist/src/lib/index.d.ts.map +0 -1
  33. package/dist/src/lib/index.js +0 -55
  34. package/dist/src/lib/keyPair.d.ts +0 -11
  35. package/dist/src/lib/keyPair.d.ts.map +0 -1
  36. package/dist/src/lib/keyPair.js +0 -24
  37. package/dist/src/lib/transactionBuilderFactory.d.ts +0 -31
  38. package/dist/src/lib/transactionBuilderFactory.d.ts.map +0 -1
  39. package/dist/src/lib/transactionBuilderFactory.js +0 -91
  40. package/dist/src/lib/utils.d.ts +0 -38
  41. package/dist/src/lib/utils.d.ts.map +0 -1
  42. package/dist/src/lib/utils.js +0 -224
  43. package/dist/src/register.d.ts +0 -3
  44. package/dist/src/register.d.ts.map +0 -1
  45. package/dist/src/register.js +0 -11
  46. package/dist/src/tbaby.d.ts +0 -14
  47. package/dist/src/tbaby.d.ts.map +0 -1
  48. package/dist/src/tbaby.js +0 -18
@@ -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==
@@ -1,3 +0,0 @@
1
- import { BitGoBase } from '@bitgo/sdk-core';
2
- export declare const register: (sdk: BitGoBase) => void;
3
- //# sourceMappingURL=register.d.ts.map
@@ -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"}
@@ -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==
@@ -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
@@ -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