@bitgo/utxo-staking 1.10.0 → 1.12.0
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/dist/src/babylon/delegationMessage.d.ts +14 -6
- package/dist/src/babylon/delegationMessage.d.ts.map +1 -1
- package/dist/src/babylon/delegationMessage.js +68 -27
- package/dist/src/babylon/descriptor.d.ts +1 -0
- package/dist/src/babylon/descriptor.d.ts.map +1 -1
- package/dist/src/babylon/descriptor.js +2 -16
- package/dist/src/babylon/index.d.ts +1 -0
- package/dist/src/babylon/index.d.ts.map +1 -1
- package/dist/src/babylon/index.js +29 -1
- package/dist/src/babylon/network.d.ts +7 -0
- package/dist/src/babylon/network.d.ts.map +1 -0
- package/dist/src/babylon/network.js +66 -0
- package/dist/src/babylon/params.mainnet.json +1 -0
- package/dist/src/babylon/params.testnet.json +205 -0
- package/dist/src/babylon/stakingManager.d.ts +6 -0
- package/dist/src/babylon/stakingManager.d.ts.map +1 -0
- package/dist/src/babylon/stakingManager.js +65 -0
- package/dist/src/babylon/stakingParams.d.ts +34 -26
- package/dist/src/babylon/stakingParams.d.ts.map +1 -1
- package/dist/src/babylon/stakingParams.js +98 -65
- package/dist/src/transaction.d.ts.map +1 -1
- package/dist/src/transaction.js +3 -1
- package/package.json +13 -4
- package/.eslintignore +0 -5
- package/.eslintrc.js +0 -7
- package/CHANGELOG.md +0 -120
- package/dist/src/babylon/keyUtils.d.ts +0 -3
- package/dist/src/babylon/keyUtils.d.ts.map +0 -1
- package/dist/src/babylon/keyUtils.js +0 -7
|
@@ -1,23 +1,31 @@
|
|
|
1
1
|
import * as vendor from '@bitgo/babylonlabs-io-btc-staking-ts';
|
|
2
2
|
import * as babylonProtobuf from '@babylonlabs-io/babylon-proto-ts';
|
|
3
3
|
import * as bitcoinjslib from 'bitcoinjs-lib';
|
|
4
|
-
import
|
|
4
|
+
import * as utxolib from '@bitgo/utxo-lib';
|
|
5
5
|
import { Descriptor } from '@bitgo/wasm-miniscript';
|
|
6
6
|
import { BabylonDescriptorBuilder } from './descriptor';
|
|
7
|
-
|
|
7
|
+
import { BabylonNetworkLike } from './network';
|
|
8
8
|
export type ValueWithTypeUrl<T> = {
|
|
9
9
|
typeUrl: string;
|
|
10
10
|
value: T;
|
|
11
11
|
};
|
|
12
|
-
export declare function getSignedPsbt(psbt: bitcoinjslib.Psbt, descriptor: Descriptor, signers: ECPairInterface[], { finalize }: {
|
|
12
|
+
export declare function getSignedPsbt(psbt: bitcoinjslib.Psbt, descriptor: Descriptor, signers: utxolib.ECPairInterface[], { finalize }: {
|
|
13
13
|
finalize?: boolean | undefined;
|
|
14
14
|
}): bitcoinjslib.Psbt;
|
|
15
|
-
export declare function getBtcProviderForECKey(descriptorBuilder: BabylonDescriptorBuilder, stakerKey: ECPairInterface): vendor.BtcProvider;
|
|
15
|
+
export declare function getBtcProviderForECKey(descriptorBuilder: BabylonDescriptorBuilder, stakerKey: utxolib.ECPairInterface): vendor.BtcProvider;
|
|
16
16
|
type Result = {
|
|
17
17
|
unsignedDelegationMsg: ValueWithTypeUrl<babylonProtobuf.btcstakingtx.MsgCreateBTCDelegation>;
|
|
18
18
|
stakingTx: bitcoinjslib.Transaction;
|
|
19
19
|
};
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
/**
|
|
21
|
+
* @param stakingKey - this is the single-sig key that is used for co-signing the staking output
|
|
22
|
+
* @param changeAddress - this is unrelated to the staking key and is used for the change output
|
|
23
|
+
*/
|
|
24
|
+
export declare function toStakerInfo(stakingKey: utxolib.ECPairInterface | Buffer | string, changeAddress: string): vendor.StakerInfo;
|
|
25
|
+
export declare function createStaking(network: BabylonNetworkLike, blockHeight: number, stakerBtcInfo: vendor.StakerInfo, stakingInput: vendor.StakingInputs, versionedParams?: vendor.VersionedStakingParams[]): vendor.Staking;
|
|
26
|
+
type TransactionLike = bitcoinjslib.Psbt | bitcoinjslib.Transaction | utxolib.Transaction | utxolib.bitgo.UtxoTransaction<bigint | number> | utxolib.Psbt | utxolib.bitgo.UtxoPsbt;
|
|
27
|
+
export declare function toStakingTransaction(tx: TransactionLike): bitcoinjslib.Transaction;
|
|
28
|
+
export declare function createDelegationMessageWithTransaction(manager: vendor.BabylonBtcStakingManager, staking: vendor.Staking, stakingAmountSat: number, transaction: TransactionLike, babylonAddress: string): Promise<ValueWithTypeUrl<babylonProtobuf.btcstakingtx.MsgCreateBTCDelegation>>;
|
|
29
|
+
export declare function createUnsignedPreStakeRegistrationBabylonTransactionWithBtcProvider(btcProvider: vendor.BtcProvider, network: bitcoinjslib.Network, stakerBtcInfo: vendor.StakerInfo, stakingInput: vendor.StakingInputs, babylonBtcTipHeight: number, inputUTXOs: vendor.UTXO[], feeRateSatB: number, babylonAddress: string, stakingParams?: vendor.VersionedStakingParams[]): Promise<Result>;
|
|
22
30
|
export {};
|
|
23
31
|
//# sourceMappingURL=delegationMessage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegationMessage.d.ts","sourceRoot":"","sources":["../../../src/babylon/delegationMessage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delegationMessage.d.ts","sourceRoot":"","sources":["../../../src/babylon/delegationMessage.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,sCAAsC,CAAC;AAC/D,OAAO,KAAK,eAAe,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAsB,MAAM,WAAW,CAAC;AAEnE,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAEhE,wBAAgB,aAAa,CAC3B,IAAI,EAAE,YAAY,CAAC,IAAI,EACvB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,CAAC,eAAe,EAAE,EAClC,EAAE,QAAgB,EAAE;;CAAA,GACnB,YAAY,CAAC,IAAI,CAmBnB;AAED,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,wBAAwB,EAC3C,SAAS,EAAE,OAAO,CAAC,eAAe,GACjC,MAAM,CAAC,WAAW,CAkCpB;AAED,KAAK,MAAM,GAAG;IACZ,qBAAqB,EAAE,gBAAgB,CAAC,eAAe,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;IAC7F,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,OAAO,CAAC,eAAe,GAAG,MAAM,GAAG,MAAM,EACrD,aAAa,EAAE,MAAM,GACpB,MAAM,CAAC,UAAU,CAWnB;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,CAAC,UAAU,EAChC,YAAY,EAAE,MAAM,CAAC,aAAa,EAClC,eAAe,GAAE,MAAM,CAAC,sBAAsB,EAA8B,GAC3E,MAAM,CAAC,OAAO,CAehB;AAED,KAAK,eAAe,GAChB,YAAY,CAAC,IAAI,GACjB,YAAY,CAAC,WAAW,GACxB,OAAO,CAAC,WAAW,GACnB,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC,GAC9C,OAAO,CAAC,IAAI,GACZ,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;AAe3B,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,eAAe,GAAG,YAAY,CAAC,WAAW,CAKlF;AAQD,wBAAsB,sCAAsC,CAC1D,OAAO,EAAE,MAAM,CAAC,wBAAwB,EACxC,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,eAAe,EAC5B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAiBhF;AAED,wBAAsB,mEAAmE,CACvF,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,OAAO,EAAE,YAAY,CAAC,OAAO,EAC7B,aAAa,EAAE,MAAM,CAAC,UAAU,EAChC,YAAY,EAAE,MAAM,CAAC,aAAa,EAClC,mBAAmB,EAAE,MAAM,EAC3B,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,EACzB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,aAAa,GAAE,MAAM,CAAC,sBAAsB,EAA8B,GACzE,OAAO,CAAC,MAAM,CAAC,CAgBjB"}
|
|
@@ -36,20 +36,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.mockBabylonProvider = void 0;
|
|
40
39
|
exports.getSignedPsbt = getSignedPsbt;
|
|
41
40
|
exports.getBtcProviderForECKey = getBtcProviderForECKey;
|
|
42
|
-
exports.
|
|
41
|
+
exports.toStakerInfo = toStakerInfo;
|
|
42
|
+
exports.createStaking = createStaking;
|
|
43
|
+
exports.toStakingTransaction = toStakingTransaction;
|
|
44
|
+
exports.createDelegationMessageWithTransaction = createDelegationMessageWithTransaction;
|
|
43
45
|
exports.createUnsignedPreStakeRegistrationBabylonTransactionWithBtcProvider = createUnsignedPreStakeRegistrationBabylonTransactionWithBtcProvider;
|
|
46
|
+
/**
|
|
47
|
+
* https://github.com/babylonlabs-io/babylon/blob/v1.99.0-snapshot.250211/x/btcstaking/types/validate_parsed_message.go
|
|
48
|
+
*/
|
|
44
49
|
const assert_1 = __importDefault(require("assert"));
|
|
45
50
|
const vendor = __importStar(require("@bitgo/babylonlabs-io-btc-staking-ts"));
|
|
46
51
|
const bitcoinjslib = __importStar(require("bitcoinjs-lib"));
|
|
52
|
+
const utxolib = __importStar(require("@bitgo/utxo-lib"));
|
|
53
|
+
const utxo_core_1 = require("@bitgo/utxo-core");
|
|
47
54
|
const descriptor_1 = require("@bitgo/utxo-core/descriptor");
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
},
|
|
52
|
-
};
|
|
55
|
+
const stakingManager_1 = require("./stakingManager");
|
|
56
|
+
const stakingParams_1 = require("./stakingParams");
|
|
57
|
+
const network_1 = require("./network");
|
|
53
58
|
function getSignedPsbt(psbt, descriptor, signers, { finalize = false }) {
|
|
54
59
|
const wrappedPsbt = (0, descriptor_1.toWrappedPsbt)(psbt.toBuffer());
|
|
55
60
|
const signedInputs = psbt.data.inputs.flatMap((input, i) => {
|
|
@@ -100,36 +105,72 @@ function getBtcProviderForECKey(descriptorBuilder, stakerKey) {
|
|
|
100
105
|
},
|
|
101
106
|
};
|
|
102
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* @param stakingKey - this is the single-sig key that is used for co-signing the staking output
|
|
110
|
+
* @param changeAddress - this is unrelated to the staking key and is used for the change output
|
|
111
|
+
*/
|
|
112
|
+
function toStakerInfo(stakingKey, changeAddress) {
|
|
113
|
+
if (typeof stakingKey === 'object' && 'publicKey' in stakingKey) {
|
|
114
|
+
stakingKey = stakingKey.publicKey;
|
|
115
|
+
}
|
|
116
|
+
if (typeof stakingKey === 'string') {
|
|
117
|
+
stakingKey = Buffer.from(stakingKey, 'hex');
|
|
118
|
+
}
|
|
119
|
+
return {
|
|
120
|
+
publicKeyNoCoordHex: (0, utxo_core_1.toXOnlyPublicKey)(stakingKey).toString('hex'),
|
|
121
|
+
address: changeAddress,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
function createStaking(network, blockHeight, stakerBtcInfo, stakingInput, versionedParams = (0, stakingParams_1.getStakingParams)(network)) {
|
|
125
|
+
if (blockHeight === 0) {
|
|
126
|
+
throw new Error('Babylon BTC tip height cannot be 0');
|
|
127
|
+
}
|
|
128
|
+
// Get the Babylon params based on the BTC tip height from Babylon chain
|
|
129
|
+
const params = vendor.getBabylonParamByBtcHeight(blockHeight, versionedParams);
|
|
130
|
+
return new vendor.Staking((0, network_1.toBitcoinJsNetwork)(network), stakerBtcInfo, params, stakingInput.finalityProviderPkNoCoordHex, stakingInput.stakingTimelock);
|
|
131
|
+
}
|
|
132
|
+
function toStakingTransactionFromPsbt(psbt) {
|
|
133
|
+
if (!(psbt instanceof utxolib.bitgo.UtxoPsbt)) {
|
|
134
|
+
psbt = utxolib.bitgo.createPsbtFromBuffer(psbt.toBuffer(), utxolib.networks.bitcoin);
|
|
135
|
+
}
|
|
136
|
+
if (psbt instanceof utxolib.bitgo.UtxoPsbt) {
|
|
137
|
+
// only utxolib.bitgo.UtxoPsbt has the getUnsignedTx method
|
|
138
|
+
return bitcoinjslib.Transaction.fromHex(psbt.getUnsignedTx().toHex());
|
|
139
|
+
}
|
|
140
|
+
throw new Error('illegal state');
|
|
141
|
+
}
|
|
142
|
+
function toStakingTransaction(tx) {
|
|
143
|
+
if (tx instanceof bitcoinjslib.Psbt || tx instanceof utxolib.Psbt) {
|
|
144
|
+
return toStakingTransactionFromPsbt(tx);
|
|
145
|
+
}
|
|
146
|
+
return bitcoinjslib.Transaction.fromHex(tx.toHex());
|
|
147
|
+
}
|
|
103
148
|
/*
|
|
104
149
|
* This is mostly lifted from
|
|
105
150
|
* https://github.com/babylonlabs-io/btc-staking-ts/blob/v0.4.0-rc.2/src/staking/manager.ts#L100-L172
|
|
106
151
|
*
|
|
107
152
|
* The difference is that here we are returning an _unsigned_ delegation message.
|
|
108
153
|
*/
|
|
109
|
-
async function
|
|
110
|
-
if (
|
|
111
|
-
throw new Error('Babylon
|
|
154
|
+
async function createDelegationMessageWithTransaction(manager, staking, stakingAmountSat, transaction, babylonAddress) {
|
|
155
|
+
if (!vendor.isValidBabylonAddress(babylonAddress)) {
|
|
156
|
+
throw new Error('Invalid Babylon address');
|
|
112
157
|
}
|
|
158
|
+
// Create delegation message without including inclusion proof
|
|
159
|
+
return manager.createBtcDelegationMsg(staking, {
|
|
160
|
+
stakingTimelock: staking.stakingTimelock,
|
|
161
|
+
finalityProviderPkNoCoordHex: staking.finalityProviderPkNoCoordHex,
|
|
162
|
+
stakingAmountSat,
|
|
163
|
+
}, toStakingTransaction(transaction), babylonAddress, staking.stakerInfo, staking.params);
|
|
164
|
+
}
|
|
165
|
+
async function createUnsignedPreStakeRegistrationBabylonTransactionWithBtcProvider(btcProvider, network, stakerBtcInfo, stakingInput, babylonBtcTipHeight, inputUTXOs, feeRateSatB, babylonAddress, stakingParams = (0, stakingParams_1.getStakingParams)(network)) {
|
|
113
166
|
if (inputUTXOs.length === 0) {
|
|
114
167
|
throw new Error('No input UTXOs provided');
|
|
115
168
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
// Get the Babylon params based on the BTC tip height from Babylon chain
|
|
120
|
-
const params = vendor.getBabylonParamByBtcHeight(babylonBtcTipHeight, stakingParams);
|
|
121
|
-
const staking = new vendor.Staking(network, stakerBtcInfo, params, stakingInput.finalityProviderPkNoCoordHex, stakingInput.stakingTimelock);
|
|
169
|
+
const manager = (0, stakingManager_1.createStakingManager)(network, btcProvider, stakingParams);
|
|
170
|
+
const staking = createStaking(network, babylonBtcTipHeight, stakerBtcInfo, stakingInput, stakingParams);
|
|
122
171
|
// Create unsigned staking transaction
|
|
123
172
|
const { transaction } = staking.createStakingTransaction(stakingInput.stakingAmountSat, inputUTXOs, feeRateSatB);
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
return {
|
|
127
|
-
unsignedDelegationMsg: msg,
|
|
128
|
-
stakingTx: transaction,
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
async function createUnsignedPreStakeRegistrationBabylonTransactionWithBtcProvider(btcProvider, stakingParams, network, stakerBtcInfo, stakingInput, babylonBtcTipHeight, inputUTXOs, feeRateSatB, babylonAddress) {
|
|
132
|
-
const manager = new vendor.BabylonBtcStakingManager(network, [stakingParams], btcProvider, exports.mockBabylonProvider);
|
|
133
|
-
return await createUnsignedPreStakeRegistrationBabylonTransaction(manager, [stakingParams], network, stakerBtcInfo, stakingInput, babylonBtcTipHeight, inputUTXOs, feeRateSatB, babylonAddress);
|
|
173
|
+
const unsignedDelegationMsg = await createDelegationMessageWithTransaction(manager, staking, stakingInput.stakingAmountSat, transaction, babylonAddress);
|
|
174
|
+
return { unsignedDelegationMsg, stakingTx: transaction };
|
|
134
175
|
}
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGlvbk1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFieWxvbi9kZWxlZ2F0aW9uTWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQkEsc0NBd0JDO0FBRUQsd0RBcUNDO0FBYUQsb0hBZ0RDO0FBRUQsa0pBdUJDO0FBeEtELG9EQUE0QjtBQUU1Qiw2RUFBK0Q7QUFFL0QsNERBQThDO0FBRzlDLDREQUE0RDtBQUkvQyxRQUFBLG1CQUFtQixHQUEyQjtJQUN6RCxlQUFlO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0FDRixDQUFDO0FBSUYsU0FBZ0IsYUFBYSxDQUMzQixJQUF1QixFQUN2QixVQUFzQixFQUN0QixPQUEwQixFQUMxQixFQUFFLFFBQVEsR0FBRyxLQUFLLEVBQUU7SUFFcEIsTUFBTSxXQUFXLEdBQUcsSUFBQSwwQkFBYSxFQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN6RCxJQUFBLGdCQUFNLEVBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFCLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzVFLFdBQVcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDckQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUN6QyxJQUFB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LEVBQUUsMkJBQW1CLENBQUMsQ0FBQztJQUNoSCxPQUFPLE1BQU0sb0RBQW9ELENBQy9ELE9BQU8sRUFDUCxDQUFDLGFBQWEsQ0FBQyxFQUNmLE9BQU8sRUFDUCxhQUFhLEVBQ2IsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixVQUFVLEVBQ1YsV0FBVyxFQUNYLGNBQWMsQ0FDZixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0ICogYXMgdmVuZG9yIGZyb20gJ0BiaXRnby9iYWJ5bG9ubGFicy1pby1idGMtc3Rha2luZy10cyc7XG5pbXBvcnQgKiBhcyBiYWJ5bG9uUHJvdG9idWYgZnJvbSAnQGJhYnlsb25sYWJzLWlvL2JhYnlsb24tcHJvdG8tdHMnO1xuaW1wb3J0ICogYXMgYml0Y29pbmpzbGliIGZyb20gJ2JpdGNvaW5qcy1saWInO1xuaW1wb3J0IHsgRUNQYWlySW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IERlc2NyaXB0b3IgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcbmltcG9ydCB7IHRvV3JhcHBlZFBzYnQgfSBmcm9tICdAYml0Z28vdXR4by1jb3JlL2Rlc2NyaXB0b3InO1xuXG5pbXBvcnQgeyBCYWJ5bG9uRGVzY3JpcHRvckJ1aWxkZXIgfSBmcm9tICcuL2Rlc2NyaXB0b3InO1xuXG5leHBvcnQgY29uc3QgbW9ja0JhYnlsb25Qcm92aWRlcjogdmVuZG9yLkJhYnlsb25Qcm92aWRlciA9IHtcbiAgc2lnblRyYW5zYWN0aW9uKCk6IFByb21pc2U8VWludDhBcnJheT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignRnVuY3Rpb24gbm90IGltcGxlbWVudGVkLicpO1xuICB9LFxufTtcblxuZXhwb3J0IHR5cGUgVmFsdWVXaXRoVHlwZVVybDxUPiA9IHsgdHlwZVVybDogc3RyaW5nOyB2YWx1ZTogVCB9O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2lnbmVkUHNidChcbiAgcHNidDogYml0Y29pbmpzbGliLlBzYnQsXG4gIGRlc2NyaXB0b3I6IERlc2NyaXB0b3IsXG4gIHNpZ25lcnM6IEVDUGFpckludGVyZmFjZVtdLFxuICB7IGZpbmFsaXplID0gZmFsc2UgfVxuKTogYml0Y29pbmpzbGliLlBzYnQge1xuICBjb25zdCB3cmFwcGVkUHNidCA9IHRvV3JhcHBlZFBzYnQocHNidC50b0J1ZmZlcigpKTtcbiAgY29uc3Qgc2lnbmVkSW5wdXRzID0gcHNidC5kYXRhLmlucHV0cy5mbGF0TWFwKChpbnB1dCwgaSkgPT4ge1xuICAgIGFzc2VydChpbnB1dC53aXRuZXNzVXR4byk7XG4gICAgaWYgKEJ1ZmZlci5mcm9tKGRlc2NyaXB0b3Iuc2NyaXB0UHVia2V5KCkpLmVxdWFscyhpbnB1dC53aXRuZXNzVXR4by5zY3JpcHQpKSB7XG4gICAgICB3cmFwcGVkUHNidC51cGRhdGVJbnB1dFdpdGhEZXNjcmlwdG9yKGksIGRlc2NyaXB0b3IpO1xuICAgICAgY29uc3Qgc2lnblJlc3VsdHMgPSBzaWduZXJzLm1hcCgoc2lnbmVyKSA9PiB7XG4gICAgICAgIGFzc2VydChzaWduZXIucHJpdmF0ZUtleSk7XG4gICAgICAgIHJldHVybiB3cmFwcGVkUHNidC5zaWduV2l0aFBydihzaWduZXIucHJpdmF0ZUtleSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBbW2ksIHNpZ25SZXN1bHRzXV07XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfSk7XG4gIGFzc2VydChzaWduZWRJbnB1dHMubGVuZ3RoID4gMCk7XG4gIGlmIChmaW5hbGl6ZSkge1xuICAgIHdyYXBwZWRQc2J0LmZpbmFsaXplKCk7XG4gIH1cbiAgcmV0dXJuIGJpdGNvaW5qc2xpYi5Qc2J0LmZyb21CdWZmZXIoQnVmZmVyLmZyb20od3JhcHBlZFBzYnQuc2VyaWFsaXplKCkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJ0Y1Byb3ZpZGVyRm9yRUNLZXkoXG4gIGRlc2NyaXB0b3JCdWlsZGVyOiBCYWJ5bG9uRGVzY3JpcHRvckJ1aWxkZXIsXG4gIHN0YWtlcktleTogRUNQYWlySW50ZXJmYWNlXG4pOiB2ZW5kb3IuQnRjUHJvdmlkZXIge1xuICBmdW5jdGlvbiBzaWduV2l0aERlc2NyaXB0b3IoXG4gICAgcHNidDogYml0Y29pbmpzbGliLlBzYnQsXG4gICAgZGVzY3JpcHRvcjogRGVzY3JpcHRvcixcbiAgICBrZXk6IEVDUGFpckludGVyZmFjZVxuICApOiBiaXRjb2luanNsaWIuUHNidCB7XG4gICAgcHNidCA9IGdldFNpZ25lZFBzYnQocHNidCwgZGVzY3JpcHRvciwgW2tleV0sIHsgZmluYWxpemU6IGZhbHNlIH0pO1xuICAgIC8vIEJVRzogd2UgbmVlZCB0byBibGluZGx5IGZpbmFsaXplIGhlcmUgZXZlbiB0aG91Z2ggd2UgaGF2ZSBub3QgZnVsbHkgc2lnbmVkXG4gICAgcHNidC5maW5hbGl6ZUFsbElucHV0cygpO1xuICAgIHJldHVybiBwc2J0O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhc3luYyBzaWduTWVzc2FnZShzaWduaW5nU3RlcDogdmVuZG9yLlNpZ25pbmdTdGVwLCBtZXNzYWdlOiBzdHJpbmcsIHR5cGU6ICdlY2RzYScpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgYXNzZXJ0KHR5cGUgPT09ICdlY2RzYScpO1xuICAgICAgc3dpdGNoIChzaWduaW5nU3RlcCkge1xuICAgICAgICBjYXNlICdwcm9vZi1vZi1wb3NzZXNzaW9uJzpcbiAgICAgICAgICByZXR1cm4gc3Rha2VyS2V5LnNpZ24oQnVmZmVyLmZyb20obWVzc2FnZSwgJ2hleCcpKS50b1N0cmluZygnaGV4Jyk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bmV4cGVjdGVkIHNpZ25pbmcgc3RlcDogJHtzaWduaW5nU3RlcH1gKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGFzeW5jIHNpZ25Qc2J0KHNpZ25pbmdTdGVwOiB2ZW5kb3IuU2lnbmluZ1N0ZXAsIHBzYnRIZXg6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICBjb25zdCBwc2J0ID0gYml0Y29pbmpzbGliLlBzYnQuZnJvbUhleChwc2J0SGV4KTtcbiAgICAgIHN3aXRjaCAoc2lnbmluZ1N0ZXApIHtcbiAgICAgICAgY2FzZSAnc3Rha2luZy1zbGFzaGluZyc6XG4gICAgICAgICAgcmV0dXJuIHNpZ25XaXRoRGVzY3JpcHRvcihwc2J0LCBkZXNjcmlwdG9yQnVpbGRlci5nZXRTdGFraW5nRGVzY3JpcHRvcigpLCBzdGFrZXJLZXkpLnRvSGV4KCk7XG4gICAgICAgIGNhc2UgJ3VuYm9uZGluZy1zbGFzaGluZyc6XG4gICAgICAgICAgcmV0dXJuIHNpZ25XaXRoRGVzY3JpcHRvcihwc2J0LCBkZXNjcmlwdG9yQnVpbGRlci5nZXRVbmJvbmRpbmdEZXNjcmlwdG9yKCksIHN0YWtlcktleSkudG9IZXgoKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHVuZXhwZWN0ZWQgc2lnbmluZyBzdGVwOiAke3NpZ25pbmdTdGVwfWApO1xuICAgICAgfVxuICAgIH0sXG4gIH07XG59XG5cbnR5cGUgUmVzdWx0ID0ge1xuICB1bnNpZ25lZERlbGVnYXRpb25Nc2c6IFZhbHVlV2l0aFR5cGVVcmw8YmFieWxvblByb3RvYnVmLmJ0Y3N0YWtpbmd0eC5Nc2dDcmVhdGVCVENEZWxlZ2F0aW9uPjtcbiAgc3Rha2luZ1R4OiBiaXRjb2luanNsaWIuVHJhbnNhY3Rpb247XG59O1xuXG4vKlxuICogVGhpcyBpcyBtb3N0bHkgbGlmdGVkIGZyb21cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9iYWJ5bG9ubGFicy1pby9idGMtc3Rha2luZy10cy9ibG9iL3YwLjQuMC1yYy4yL3NyYy9zdGFraW5nL21hbmFnZXIudHMjTDEwMC1MMTcyXG4gKlxuICogVGhlIGRpZmZlcmVuY2UgaXMgdGhhdCBoZXJlIHdlIGFyZSByZXR1cm5pbmcgYW4gX3Vuc2lnbmVkXyBkZWxlZ2F0aW9uIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVVbnNpZ25lZFByZVN0YWtlUmVnaXN0cmF0aW9uQmFieWxvblRyYW5zYWN0aW9uKFxuICBtYW5hZ2VyOiB2ZW5kb3IuQmFieWxvbkJ0Y1N0YWtpbmdNYW5hZ2VyLFxuICBzdGFraW5nUGFyYW1zOiB2ZW5kb3IuVmVyc2lvbmVkU3Rha2luZ1BhcmFtc1tdLFxuICBuZXR3b3JrOiBiaXRjb2luanNsaWIuTmV0d29yayxcbiAgc3Rha2VyQnRjSW5mbzogdmVuZG9yLlN0YWtlckluZm8sXG4gIHN0YWtpbmdJbnB1dDogdmVuZG9yLlN0YWtpbmdJbnB1dHMsXG4gIGJhYnlsb25CdGNUaXBIZWlnaHQ6IG51bWJlcixcbiAgaW5wdXRVVFhPczogdmVuZG9yLlVUWE9bXSxcbiAgZmVlUmF0ZVNhdEI6IG51bWJlcixcbiAgYmFieWxvbkFkZHJlc3M6IHN0cmluZ1xuKTogUHJvbWlzZTxSZXN1bHQ+IHtcbiAgaWYgKGJhYnlsb25CdGNUaXBIZWlnaHQgPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0JhYnlsb24gQlRDIHRpcCBoZWlnaHQgY2Fubm90IGJlIDAnKTtcbiAgfVxuICBpZiAoaW5wdXRVVFhPcy5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGlucHV0IFVUWE9zIHByb3ZpZGVkJyk7XG4gIH1cbiAgaWYgKCF2ZW5kb3IuaXNWYWxpZEJhYnlsb25BZGRyZXNzKGJhYnlsb25BZGRyZXNzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBCYWJ5bG9uIGFkZHJlc3MnKTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgQmFieWxvbiBwYXJhbXMgYmFzZWQgb24gdGhlIEJUQyB0aXAgaGVpZ2h0IGZyb20gQmFieWxvbiBjaGFpblxuICBjb25zdCBwYXJhbXMgPSB2ZW5kb3IuZ2V0QmFieWxvblBhcmFtQnlCdGNIZWlnaHQoYmFieWxvbkJ0Y1RpcEhlaWdodCwgc3Rha2luZ1BhcmFtcyk7XG5cbiAgY29uc3Qgc3Rha2luZyA9IG5ldyB2ZW5kb3IuU3Rha2luZyhcbiAgICBuZXR3b3JrLFxuICAgIHN0YWtlckJ0Y0luZm8sXG4gICAgcGFyYW1zLFxuICAgIHN0YWtpbmdJbnB1dC5maW5hbGl0eVByb3ZpZGVyUGtOb0Nvb3JkSGV4LFxuICAgIHN0YWtpbmdJbnB1dC5zdGFraW5nVGltZWxvY2tcbiAgKTtcblxuICAvLyBDcmVhdGUgdW5zaWduZWQgc3Rha2luZyB0cmFuc2FjdGlvblxuICBjb25zdCB7IHRyYW5zYWN0aW9uIH0gPSBzdGFraW5nLmNyZWF0ZVN0YWtpbmdUcmFuc2FjdGlvbihzdGFraW5nSW5wdXQuc3Rha2luZ0Ftb3VudFNhdCwgaW5wdXRVVFhPcywgZmVlUmF0ZVNhdEIpO1xuXG4gIC8vIENyZWF0ZSBkZWxlZ2F0aW9uIG1lc3NhZ2Ugd2l0aG91dCBpbmNsdWRpbmcgaW5jbHVzaW9uIHByb29mXG4gIGNvbnN0IG1zZyA9IGF3YWl0IG1hbmFnZXIuY3JlYXRlQnRjRGVsZWdhdGlvbk1zZyhcbiAgICBzdGFraW5nLFxuICAgIHN0YWtpbmdJbnB1dCxcbiAgICB0cmFuc2FjdGlvbixcbiAgICBiYWJ5bG9uQWRkcmVzcyxcbiAgICBzdGFrZXJCdGNJbmZvLFxuICAgIHBhcmFtc1xuICApO1xuICByZXR1cm4ge1xuICAgIHVuc2lnbmVkRGVsZWdhdGlvbk1zZzogbXNnLFxuICAgIHN0YWtpbmdUeDogdHJhbnNhY3Rpb24sXG4gIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVVbnNpZ25lZFByZVN0YWtlUmVnaXN0cmF0aW9uQmFieWxvblRyYW5zYWN0aW9uV2l0aEJ0Y1Byb3ZpZGVyKFxuICBidGNQcm92aWRlcjogdmVuZG9yLkJ0Y1Byb3ZpZGVyLFxuICBzdGFraW5nUGFyYW1zOiB2ZW5kb3IuVmVyc2lvbmVkU3Rha2luZ1BhcmFtcyxcbiAgbmV0d29yazogYml0Y29pbmpzbGliLk5ldHdvcmssXG4gIHN0YWtlckJ0Y0luZm86IHZlbmRvci5TdGFrZXJJbmZvLFxuICBzdGFraW5nSW5wdXQ6IHZlbmRvci5TdGFraW5nSW5wdXRzLFxuICBiYWJ5bG9uQnRjVGlwSGVpZ2h0OiBudW1iZXIsXG4gIGlucHV0VVRYT3M6IHZlbmRvci5VVFhPW10sXG4gIGZlZVJhdGVTYXRCOiBudW1iZXIsXG4gIGJhYnlsb25BZGRyZXNzOiBzdHJpbmdcbik6IFByb21pc2U8UmVzdWx0PiB7XG4gIGNvbnN0IG1hbmFnZXIgPSBuZXcgdmVuZG9yLkJhYnlsb25CdGNTdGFraW5nTWFuYWdlcihuZXR3b3JrLCBbc3Rha2luZ1BhcmFtc10sIGJ0Y1Byb3ZpZGVyLCBtb2NrQmFieWxvblByb3ZpZGVyKTtcbiAgcmV0dXJuIGF3YWl0IGNyZWF0ZVVuc2lnbmVkUHJlU3Rha2VSZWdpc3RyYXRpb25CYWJ5bG9uVHJhbnNhY3Rpb24oXG4gICAgbWFuYWdlcixcbiAgICBbc3Rha2luZ1BhcmFtc10sXG4gICAgbmV0d29yayxcbiAgICBzdGFrZXJCdGNJbmZvLFxuICAgIHN0YWtpbmdJbnB1dCxcbiAgICBiYWJ5bG9uQnRjVGlwSGVpZ2h0LFxuICAgIGlucHV0VVRYT3MsXG4gICAgZmVlUmF0ZVNhdEIsXG4gICAgYmFieWxvbkFkZHJlc3NcbiAgKTtcbn1cbiJdfQ==
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhdGlvbk1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFieWxvbi9kZWxlZ2F0aW9uTWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQSxzQ0F3QkM7QUFFRCx3REFxQ0M7QUFXRCxvQ0FjQztBQUVELHNDQXFCQztBQXVCRCxvREFLQztBQVFELHdGQXVCQztBQUVELGtKQTBCQztBQTFORDs7R0FFRztBQUNILG9EQUE0QjtBQUU1Qiw2RUFBK0Q7QUFFL0QsNERBQThDO0FBQzlDLHlEQUEyQztBQUUzQyxnREFBb0Q7QUFDcEQsNERBQTREO0FBRzVELHFEQUF3RDtBQUN4RCxtREFBbUQ7QUFDbkQsdUNBQW1FO0FBSW5FLFNBQWdCLGFBQWEsQ0FDM0IsSUFBdUIsRUFDdkIsVUFBc0IsRUFDdEIsT0FBa0MsRUFDbEMsRUFBRSxRQUFRLEdBQUcsS0FBSyxFQUFFO0lBRXBCLE1BQU0sV0FBVyxHQUFHLElBQUEsMEJBQWEsRUFBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNuRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDekQsSUFBQSxnQkFBTSxFQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxQixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUM1RSxXQUFXLENBQUMseUJBQXlCLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFB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QUEsZ0NBQWdCLEVBQUMsT0FBTyxDQUFDO0lBRTFFLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLElBQUEscUNBQW9CLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMxRSxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDeEcsc0NBQXNDO0lBQ3RDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUMsd0JBQXdCLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNqSCxNQUFNLHFCQUFxQixHQUFHLE1BQU0sc0NBQXNDLENBQ3hFLE9BQU8sRUFDUCxPQUFPLEVBQ1AsWUFBWSxDQUFDLGdCQUFnQixFQUM3QixXQUFXLEVBQ1gsY0FBYyxDQUNmLENBQUM7SUFDRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDO0FBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9iYWJ5bG9ubGFicy1pby9iYWJ5bG9uL2Jsb2IvdjEuOTkuMC1zbmFwc2hvdC4yNTAyMTEveC9idGNzdGFraW5nL3R5cGVzL3ZhbGlkYXRlX3BhcnNlZF9tZXNzYWdlLmdvXG4gKi9cbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0ICogYXMgdmVuZG9yIGZyb20gJ0BiaXRnby9iYWJ5bG9ubGFicy1pby1idGMtc3Rha2luZy10cyc7XG5pbXBvcnQgKiBhcyBiYWJ5bG9uUHJvdG9idWYgZnJvbSAnQGJhYnlsb25sYWJzLWlvL2JhYnlsb24tcHJvdG8tdHMnO1xuaW1wb3J0ICogYXMgYml0Y29pbmpzbGliIGZyb20gJ2JpdGNvaW5qcy1saWInO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgRGVzY3JpcHRvciB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuaW1wb3J0IHsgdG9YT25seVB1YmxpY0tleSB9IGZyb20gJ0BiaXRnby91dHhvLWNvcmUnO1xuaW1wb3J0IHsgdG9XcmFwcGVkUHNidCB9IGZyb20gJ0BiaXRnby91dHhvLWNvcmUvZGVzY3JpcHRvcic7XG5cbmltcG9ydCB7IEJhYnlsb25EZXNjcmlwdG9yQnVpbGRlciB9IGZyb20gJy4vZGVzY3JpcHRvcic7XG5pbXBvcnQgeyBjcmVhdGVTdGFraW5nTWFuYWdlciB9IGZyb20gJy4vc3Rha2luZ01hbmFnZXInO1xuaW1wb3J0IHsgZ2V0U3Rha2luZ1BhcmFtcyB9IGZyb20gJy4vc3Rha2luZ1BhcmFtcyc7XG5pbXBvcnQgeyBCYWJ5bG9uTmV0d29ya0xpa2UsIHRvQml0Y29pbkpzTmV0d29yayB9IGZyb20gJy4vbmV0d29yayc7XG5cbmV4cG9ydCB0eXBlIFZhbHVlV2l0aFR5cGVVcmw8VD4gPSB7IHR5cGVVcmw6IHN0cmluZzsgdmFsdWU6IFQgfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNpZ25lZFBzYnQoXG4gIHBzYnQ6IGJpdGNvaW5qc2xpYi5Qc2J0LFxuICBkZXNjcmlwdG9yOiBEZXNjcmlwdG9yLFxuICBzaWduZXJzOiB1dHhvbGliLkVDUGFpckludGVyZmFjZVtdLFxuICB7IGZpbmFsaXplID0gZmFsc2UgfVxuKTogYml0Y29pbmpzbGliLlBzYnQge1xuICBjb25zdCB3cmFwcGVkUHNidCA9IHRvV3JhcHBlZFBzYnQocHNidC50b0J1ZmZlcigpKTtcbiAgY29uc3Qgc2lnbmVkSW5wdXRzID0gcHNidC5kYXRhLmlucHV0cy5mbGF0TWFwKChpbnB1dCwgaSkgPT4ge1xuICAgIGFzc2VydChpbnB1dC53aXRuZXNzVXR4byk7XG4gICAgaWYgKEJ1ZmZlci5mcm9tKGRlc2NyaXB0b3Iuc2NyaXB0UHVia2V5KCkpLmVxdWFscyhpbnB1dC53aXRuZXNzVXR4by5zY3JpcHQpKSB7XG4gICAgICB3cmFwcGVkUHNidC51cGRhdGVJbnB1dFdpdGhEZXNjcmlwdG9yKGksIGRlc2NyaXB0b3IpO1xuICAgICAgY29uc3Qgc2lnblJlc3VsdHMgPSBzaWduZXJzLm1hcCgoc2lnbmVyKSA9PiB7XG4gICAgICAgIGFzc2VydChzaWduZXIucHJpdmF0ZUtleSk7XG4gICAgICAgIHJldHVybiB3cmFwcGVkUHNidC5zaWduV2l0aFBydihzaWduZXIucHJpdmF0ZUtleSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBbW2ksIHNpZ25SZXN1bHRzXV07XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfSk7XG4gIGFzc2VydChzaWduZWRJbnB1dHMubGVuZ3RoID4gMCk7XG4gIGlmIChmaW5hbGl6ZSkge1xuICAgIHdyYXBwZWRQc2J0LmZpbmFsaXplKCk7XG4gIH1cbiAgcmV0dXJuIGJpdGNvaW5qc2xpYi5Qc2J0LmZyb21CdWZmZXIoQnVmZmVyLmZyb20od3JhcHBlZFBzYnQuc2VyaWFsaXplKCkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJ0Y1Byb3ZpZGVyRm9yRUNLZXkoXG4gIGRlc2NyaXB0b3JCdWlsZGVyOiBCYWJ5bG9uRGVzY3JpcHRvckJ1aWxkZXIsXG4gIHN0YWtlcktleTogdXR4b2xpYi5FQ1BhaXJJbnRlcmZhY2Vcbik6IHZlbmRvci5CdGNQcm92aWRlciB7XG4gIGZ1bmN0aW9uIHNpZ25XaXRoRGVzY3JpcHRvcihcbiAgICBwc2J0OiBiaXRjb2luanNsaWIuUHNidCxcbiAgICBkZXNjcmlwdG9yOiBEZXNjcmlwdG9yLFxuICAgIGtleTogdXR4b2xpYi5FQ1BhaXJJbnRlcmZhY2VcbiAgKTogYml0Y29pbmpzbGliLlBzYnQge1xuICAgIHBzYnQgPSBnZXRTaWduZWRQc2J0KHBzYnQsIGRlc2NyaXB0b3IsIFtrZXldLCB7IGZpbmFsaXplOiBmYWxzZSB9KTtcbiAgICAvLyBCVUc6IHdlIG5lZWQgdG8gYmxpbmRseSBmaW5hbGl6ZSBoZXJlIGV2ZW4gdGhvdWdoIHdlIGhhdmUgbm90IGZ1bGx5IHNpZ25lZFxuICAgIHBzYnQuZmluYWxpemVBbGxJbnB1dHMoKTtcbiAgICByZXR1cm4gcHNidDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYXN5bmMgc2lnbk1lc3NhZ2Uoc2lnbmluZ1N0ZXA6IHZlbmRvci5TaWduaW5nU3RlcCwgbWVzc2FnZTogc3RyaW5nLCB0eXBlOiAnZWNkc2EnKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgIGFzc2VydCh0eXBlID09PSAnZWNkc2EnKTtcbiAgICAgIHN3aXRjaCAoc2lnbmluZ1N0ZXApIHtcbiAgICAgICAgY2FzZSAncHJvb2Ytb2YtcG9zc2Vzc2lvbic6XG4gICAgICAgICAgcmV0dXJuIHN0YWtlcktleS5zaWduKEJ1ZmZlci5mcm9tKG1lc3NhZ2UsICdoZXgnKSkudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgdW5leHBlY3RlZCBzaWduaW5nIHN0ZXA6ICR7c2lnbmluZ1N0ZXB9YCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBhc3luYyBzaWduUHNidChzaWduaW5nU3RlcDogdmVuZG9yLlNpZ25pbmdTdGVwLCBwc2J0SGV4OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgY29uc3QgcHNidCA9IGJpdGNvaW5qc2xpYi5Qc2J0LmZyb21IZXgocHNidEhleCk7XG4gICAgICBzd2l0Y2ggKHNpZ25pbmdTdGVwKSB7XG4gICAgICAgIGNhc2UgJ3N0YWtpbmctc2xhc2hpbmcnOlxuICAgICAgICAgIHJldHVybiBzaWduV2l0aERlc2NyaXB0b3IocHNidCwgZGVzY3JpcHRvckJ1aWxkZXIuZ2V0U3Rha2luZ0Rlc2NyaXB0b3IoKSwgc3Rha2VyS2V5KS50b0hleCgpO1xuICAgICAgICBjYXNlICd1bmJvbmRpbmctc2xhc2hpbmcnOlxuICAgICAgICAgIHJldHVybiBzaWduV2l0aERlc2NyaXB0b3IocHNidCwgZGVzY3JpcHRvckJ1aWxkZXIuZ2V0VW5ib25kaW5nRGVzY3JpcHRvcigpLCBzdGFrZXJLZXkpLnRvSGV4KCk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bmV4cGVjdGVkIHNpZ25pbmcgc3RlcDogJHtzaWduaW5nU3RlcH1gKTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xufVxuXG50eXBlIFJlc3VsdCA9IHtcbiAgdW5zaWduZWREZWxlZ2F0aW9uTXNnOiBWYWx1ZVdpdGhUeXBlVXJsPGJhYnlsb25Qcm90b2J1Zi5idGNzdGFraW5ndHguTXNnQ3JlYXRlQlRDRGVsZWdhdGlvbj47XG4gIHN0YWtpbmdUeDogYml0Y29pbmpzbGliLlRyYW5zYWN0aW9uO1xufTtcblxuLyoqXG4gKiBAcGFyYW0gc3Rha2luZ0tleSAtIHRoaXMgaXMgdGhlIHNpbmdsZS1zaWcga2V5IHRoYXQgaXMgdXNlZCBmb3IgY28tc2lnbmluZyB0aGUgc3Rha2luZyBvdXRwdXRcbiAqIEBwYXJhbSBjaGFuZ2VBZGRyZXNzIC0gdGhpcyBpcyB1bnJlbGF0ZWQgdG8gdGhlIHN0YWtpbmcga2V5IGFuZCBpcyB1c2VkIGZvciB0aGUgY2hhbmdlIG91dHB1dFxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9TdGFrZXJJbmZvKFxuICBzdGFraW5nS2V5OiB1dHhvbGliLkVDUGFpckludGVyZmFjZSB8IEJ1ZmZlciB8IHN0cmluZyxcbiAgY2hhbmdlQWRkcmVzczogc3RyaW5nXG4pOiB2ZW5kb3IuU3Rha2VySW5mbyB7XG4gIGlmICh0eXBlb2Ygc3Rha2luZ0tleSA9PT0gJ29iamVjdCcgJiYgJ3B1YmxpY0tleScgaW4gc3Rha2luZ0tleSkge1xuICAgIHN0YWtpbmdLZXkgPSBzdGFraW5nS2V5LnB1YmxpY0tleTtcbiAgfVxuICBpZiAodHlwZW9mIHN0YWtpbmdLZXkgPT09ICdzdHJpbmcnKSB7XG4gICAgc3Rha2luZ0tleSA9IEJ1ZmZlci5mcm9tKHN0YWtpbmdLZXksICdoZXgnKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHB1YmxpY0tleU5vQ29vcmRIZXg6IHRvWE9ubHlQdWJsaWNLZXkoc3Rha2luZ0tleSkudG9TdHJpbmcoJ2hleCcpLFxuICAgIGFkZHJlc3M6IGNoYW5nZUFkZHJlc3MsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTdGFraW5nKFxuICBuZXR3b3JrOiBCYWJ5bG9uTmV0d29ya0xpa2UsXG4gIGJsb2NrSGVpZ2h0OiBudW1iZXIsXG4gIHN0YWtlckJ0Y0luZm86IHZlbmRvci5TdGFrZXJJbmZvLFxuICBzdGFraW5nSW5wdXQ6IHZlbmRvci5TdGFraW5nSW5wdXRzLFxuICB2ZXJzaW9uZWRQYXJhbXM6IHZlbmRvci5WZXJzaW9uZWRTdGFraW5nUGFyYW1zW10gPSBnZXRTdGFraW5nUGFyYW1zKG5ldHdvcmspXG4pOiB2ZW5kb3IuU3Rha2luZyB7XG4gIGlmIChibG9ja0hlaWdodCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQmFieWxvbiBCVEMgdGlwIGhlaWdodCBjYW5ub3QgYmUgMCcpO1xuICB9XG5cbiAgLy8gR2V0IHRoZSBCYWJ5bG9uIHBhcmFtcyBiYXNlZCBvbiB0aGUgQlRDIHRpcCBoZWlnaHQgZnJvbSBCYWJ5bG9uIGNoYWluXG4gIGNvbnN0IHBhcmFtcyA9IHZlbmRvci5nZXRCYWJ5bG9uUGFyYW1CeUJ0Y0hlaWdodChibG9ja0hlaWdodCwgdmVyc2lvbmVkUGFyYW1zKTtcblxuICByZXR1cm4gbmV3IHZlbmRvci5TdGFraW5nKFxuICAgIHRvQml0Y29pbkpzTmV0d29yayhuZXR3b3JrKSxcbiAgICBzdGFrZXJCdGNJbmZvLFxuICAgIHBhcmFtcyxcbiAgICBzdGFraW5nSW5wdXQuZmluYWxpdHlQcm92aWRlclBrTm9Db29yZEhleCxcbiAgICBzdGFraW5nSW5wdXQuc3Rha2luZ1RpbWVsb2NrXG4gICk7XG59XG5cbnR5cGUgVHJhbnNhY3Rpb25MaWtlID1cbiAgfCBiaXRjb2luanNsaWIuUHNidFxuICB8IGJpdGNvaW5qc2xpYi5UcmFuc2FjdGlvblxuICB8IHV0eG9saWIuVHJhbnNhY3Rpb25cbiAgfCB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxiaWdpbnQgfCBudW1iZXI+XG4gIHwgdXR4b2xpYi5Qc2J0XG4gIHwgdXR4b2xpYi5iaXRnby5VdHhvUHNidDtcblxuZnVuY3Rpb24gdG9TdGFraW5nVHJhbnNhY3Rpb25Gcm9tUHNidChcbiAgcHNidDogYml0Y29pbmpzbGliLlBzYnQgfCB1dHhvbGliLlBzYnQgfCB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0XG4pOiBiaXRjb2luanNsaWIuVHJhbnNhY3Rpb24ge1xuICBpZiAoIShwc2J0IGluc3RhbmNlb2YgdXR4b2xpYi5iaXRnby5VdHhvUHNidCkpIHtcbiAgICBwc2J0ID0gdXR4b2xpYi5iaXRnby5jcmVhdGVQc2J0RnJvbUJ1ZmZlcihwc2J0LnRvQnVmZmVyKCksIHV0eG9saWIubmV0d29ya3MuYml0Y29pbik7XG4gIH1cbiAgaWYgKHBzYnQgaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0KSB7XG4gICAgLy8gb25seSB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IGhhcyB0aGUgZ2V0VW5zaWduZWRUeCBtZXRob2RcbiAgICByZXR1cm4gYml0Y29pbmpzbGliLlRyYW5zYWN0aW9uLmZyb21IZXgocHNidC5nZXRVbnNpZ25lZFR4KCkudG9IZXgoKSk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdpbGxlZ2FsIHN0YXRlJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1N0YWtpbmdUcmFuc2FjdGlvbih0eDogVHJhbnNhY3Rpb25MaWtlKTogYml0Y29pbmpzbGliLlRyYW5zYWN0aW9uIHtcbiAgaWYgKHR4IGluc3RhbmNlb2YgYml0Y29pbmpzbGliLlBzYnQgfHwgdHggaW5zdGFuY2VvZiB1dHhvbGliLlBzYnQpIHtcbiAgICByZXR1cm4gdG9TdGFraW5nVHJhbnNhY3Rpb25Gcm9tUHNidCh0eCk7XG4gIH1cbiAgcmV0dXJuIGJpdGNvaW5qc2xpYi5UcmFuc2FjdGlvbi5mcm9tSGV4KHR4LnRvSGV4KCkpO1xufVxuXG4vKlxuICogVGhpcyBpcyBtb3N0bHkgbGlmdGVkIGZyb21cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9iYWJ5bG9ubGFicy1pby9idGMtc3Rha2luZy10cy9ibG9iL3YwLjQuMC1yYy4yL3NyYy9zdGFraW5nL21hbmFnZXIudHMjTDEwMC1MMTcyXG4gKlxuICogVGhlIGRpZmZlcmVuY2UgaXMgdGhhdCBoZXJlIHdlIGFyZSByZXR1cm5pbmcgYW4gX3Vuc2lnbmVkXyBkZWxlZ2F0aW9uIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVEZWxlZ2F0aW9uTWVzc2FnZVdpdGhUcmFuc2FjdGlvbihcbiAgbWFuYWdlcjogdmVuZG9yLkJhYnlsb25CdGNTdGFraW5nTWFuYWdlcixcbiAgc3Rha2luZzogdmVuZG9yLlN0YWtpbmcsXG4gIHN0YWtpbmdBbW91bnRTYXQ6IG51bWJlcixcbiAgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uTGlrZSxcbiAgYmFieWxvbkFkZHJlc3M6IHN0cmluZ1xuKTogUHJvbWlzZTxWYWx1ZVdpdGhUeXBlVXJsPGJhYnlsb25Qcm90b2J1Zi5idGNzdGFraW5ndHguTXNnQ3JlYXRlQlRDRGVsZWdhdGlvbj4+IHtcbiAgaWYgKCF2ZW5kb3IuaXNWYWxpZEJhYnlsb25BZGRyZXNzKGJhYnlsb25BZGRyZXNzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBCYWJ5bG9uIGFkZHJlc3MnKTtcbiAgfVxuICAvLyBDcmVhdGUgZGVsZWdhdGlvbiBtZXNzYWdlIHdpdGhvdXQgaW5jbHVkaW5nIGluY2x1c2lvbiBwcm9vZlxuICByZXR1cm4gbWFuYWdlci5jcmVhdGVCdGNEZWxlZ2F0aW9uTXNnKFxuICAgIHN0YWtpbmcsXG4gICAge1xuICAgICAgc3Rha2luZ1RpbWVsb2NrOiBzdGFraW5nLnN0YWtpbmdUaW1lbG9jayxcbiAgICAgIGZpbmFsaXR5UHJvdmlkZXJQa05vQ29vcmRIZXg6IHN0YWtpbmcuZmluYWxpdHlQcm92aWRlclBrTm9Db29yZEhleCxcbiAgICAgIHN0YWtpbmdBbW91bnRTYXQsXG4gICAgfSxcbiAgICB0b1N0YWtpbmdUcmFuc2FjdGlvbih0cmFuc2FjdGlvbiksXG4gICAgYmFieWxvbkFkZHJlc3MsXG4gICAgc3Rha2luZy5zdGFrZXJJbmZvLFxuICAgIHN0YWtpbmcucGFyYW1zXG4gICk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVVbnNpZ25lZFByZVN0YWtlUmVnaXN0cmF0aW9uQmFieWxvblRyYW5zYWN0aW9uV2l0aEJ0Y1Byb3ZpZGVyKFxuICBidGNQcm92aWRlcjogdmVuZG9yLkJ0Y1Byb3ZpZGVyLFxuICBuZXR3b3JrOiBiaXRjb2luanNsaWIuTmV0d29yayxcbiAgc3Rha2VyQnRjSW5mbzogdmVuZG9yLlN0YWtlckluZm8sXG4gIHN0YWtpbmdJbnB1dDogdmVuZG9yLlN0YWtpbmdJbnB1dHMsXG4gIGJhYnlsb25CdGNUaXBIZWlnaHQ6IG51bWJlcixcbiAgaW5wdXRVVFhPczogdmVuZG9yLlVUWE9bXSxcbiAgZmVlUmF0ZVNhdEI6IG51bWJlcixcbiAgYmFieWxvbkFkZHJlc3M6IHN0cmluZyxcbiAgc3Rha2luZ1BhcmFtczogdmVuZG9yLlZlcnNpb25lZFN0YWtpbmdQYXJhbXNbXSA9IGdldFN0YWtpbmdQYXJhbXMobmV0d29yaylcbik6IFByb21pc2U8UmVzdWx0PiB7XG4gIGlmIChpbnB1dFVUWE9zLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignTm8gaW5wdXQgVVRYT3MgcHJvdmlkZWQnKTtcbiAgfVxuICBjb25zdCBtYW5hZ2VyID0gY3JlYXRlU3Rha2luZ01hbmFnZXIobmV0d29yaywgYnRjUHJvdmlkZXIsIHN0YWtpbmdQYXJhbXMpO1xuICBjb25zdCBzdGFraW5nID0gY3JlYXRlU3Rha2luZyhuZXR3b3JrLCBiYWJ5bG9uQnRjVGlwSGVpZ2h0LCBzdGFrZXJCdGNJbmZvLCBzdGFraW5nSW5wdXQsIHN0YWtpbmdQYXJhbXMpO1xuICAvLyBDcmVhdGUgdW5zaWduZWQgc3Rha2luZyB0cmFuc2FjdGlvblxuICBjb25zdCB7IHRyYW5zYWN0aW9uIH0gPSBzdGFraW5nLmNyZWF0ZVN0YWtpbmdUcmFuc2FjdGlvbihzdGFraW5nSW5wdXQuc3Rha2luZ0Ftb3VudFNhdCwgaW5wdXRVVFhPcywgZmVlUmF0ZVNhdEIpO1xuICBjb25zdCB1bnNpZ25lZERlbGVnYXRpb25Nc2cgPSBhd2FpdCBjcmVhdGVEZWxlZ2F0aW9uTWVzc2FnZVdpdGhUcmFuc2FjdGlvbihcbiAgICBtYW5hZ2VyLFxuICAgIHN0YWtpbmcsXG4gICAgc3Rha2luZ0lucHV0LnN0YWtpbmdBbW91bnRTYXQsXG4gICAgdHJhbnNhY3Rpb24sXG4gICAgYmFieWxvbkFkZHJlc3NcbiAgKTtcbiAgcmV0dXJuIHsgdW5zaWduZWREZWxlZ2F0aW9uTXNnLCBzdGFraW5nVHg6IHRyYW5zYWN0aW9uIH07XG59XG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* https://github.com/babylonlabs-io/babylon/tree/main/docs
|
|
3
3
|
* https://github.com/babylonlabs-io/babylon/blob/main/docs/staking-script.md
|
|
4
|
+
* https://github.com/babylonlabs-io/babylon/blob/v1.99.0-snapshot.250211/btcstaking/staking.go
|
|
4
5
|
*/
|
|
5
6
|
import { Descriptor, ast } from '@bitgo/wasm-miniscript';
|
|
6
7
|
import { StakingParams } from '@bitgo/babylonlabs-io-btc-staking-ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../../src/babylon/descriptor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"descriptor.d.ts","sourceRoot":"","sources":["../../../src/babylon/descriptor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAErE,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAmBD,qBAAa,wBAAwB;IAE1B,SAAS,EAAE,MAAM;IACjB,oBAAoB,EAAE,MAAM,EAAE;IAC9B,YAAY,EAAE,MAAM,EAAE;IACtB,iBAAiB,EAAE,MAAM;IACzB,eAAe,EAAE,MAAM;IACvB,iBAAiB,EAAE,MAAM;gBALzB,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAAE,EAC9B,YAAY,EAAE,MAAM,EAAE,EACtB,iBAAiB,EAAE,MAAM,EACzB,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM;IAGlC,MAAM,CAAC,UAAU,CACf,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,oBAAoB,EAAE,MAAM,EAAE,CAAC;KAChC,GAAG,aAAa,GAChB,wBAAwB;IAW3B,qBAAqB,IAAI,GAAG,CAAC,cAAc;IAI3C,sBAAsB,IAAI,GAAG,CAAC,cAAc;IAI5C,qBAAqB,IAAI,GAAG,CAAC,cAAc;IAgB3C,8BAA8B,IAAI,GAAG,CAAC,cAAc;IAIpD,oBAAoB,IAAI,UAAU;IAOlC,qBAAqB,IAAI,UAAU;IAInC,sBAAsB,IAAI,UAAU;CAGrC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* https://github.com/babylonlabs-io/babylon/tree/main/docs
|
|
4
4
|
* https://github.com/babylonlabs-io/babylon/blob/main/docs/staking-script.md
|
|
5
|
+
* https://github.com/babylonlabs-io/babylon/blob/v1.99.0-snapshot.250211/btcstaking/staking.go
|
|
5
6
|
*/
|
|
6
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
8
|
exports.BabylonDescriptorBuilder = void 0;
|
|
@@ -34,21 +35,6 @@ class BabylonDescriptorBuilder {
|
|
|
34
35
|
this.unbondingTimeLock = unbondingTimeLock;
|
|
35
36
|
}
|
|
36
37
|
static fromParams(params) {
|
|
37
|
-
/*
|
|
38
|
-
|
|
39
|
-
const stakerKey = getECKey('staker');
|
|
40
|
-
const covenantThreshold = stakingParams.covenantQuorum;
|
|
41
|
-
const stakingTimelock = stakingParams.minStakingTimeBlocks;
|
|
42
|
-
const unbondingTimelock = stakingParams.unbondingTime;
|
|
43
|
-
const vendorBuilder = new vendor.StakingScriptData(
|
|
44
|
-
getXOnlyPubkey(stakerKey),
|
|
45
|
-
finalityProviderKeys.map(getXOnlyPubkey),
|
|
46
|
-
covenantKeys.map(getXOnlyPubkey),
|
|
47
|
-
covenantThreshold,
|
|
48
|
-
stakingTimelock,
|
|
49
|
-
unbondingTimelock
|
|
50
|
-
);
|
|
51
|
-
*/
|
|
52
38
|
return new BabylonDescriptorBuilder(params.stakerKey, params.finalityProviderKeys, params.covenantNoCoordPks.map((k) => Buffer.from(k, 'hex')), params.covenantQuorum, params.minStakingTimeBlocks, params.unbondingTime);
|
|
53
39
|
}
|
|
54
40
|
getTimelockMiniscript() {
|
|
@@ -89,4 +75,4 @@ class BabylonDescriptorBuilder {
|
|
|
89
75
|
}
|
|
90
76
|
}
|
|
91
77
|
exports.BabylonDescriptorBuilder = BabylonDescriptorBuilder;
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYWJ5bG9uL2Rlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7O0dBSUc7OztBQUtILDhDQUdDO0FBTkQsNERBQXlEO0FBR3pELFNBQWdCLGlCQUFpQjtJQUMvQixvR0FBb0c7SUFDcEcsT0FBTyxrRUFBa0UsQ0FBQztBQUM1RSxDQUFDO0FBRUQsaURBQWlEO0FBQ2pELFNBQVMsRUFBRSxDQUFDLENBQVM7SUFDbkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7QUFDdkMsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLElBQWM7SUFDaEMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxTQUFpQixFQUFFLElBQWM7SUFDbEQsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hFLENBQUM7QUFFRCxTQUFTLHdCQUF3QixDQUFDLENBQWtCO0lBQ2xELE9BQU8sNEJBQVUsQ0FBQyxVQUFVLENBQUMscUJBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUM3RixDQUFDO0FBRUQsTUFBYSx3QkFBd0I7SUFDbkMsWUFDUyxTQUFpQixFQUNqQixvQkFBOEIs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XG4gKiBodHRwczovL2dpdGh1Yi5jb20vYmFieWxvbmxhYnMtaW8vYmFieWxvbi90cmVlL21haW4vZG9jc1xuICogaHR0cHM6Ly9naXRodWIuY29tL2JhYnlsb25sYWJzLWlvL2JhYnlsb24vYmxvYi9tYWluL2RvY3Mvc3Rha2luZy1zY3JpcHQubWRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9iYWJ5bG9ubGFicy1pby9iYWJ5bG9uL2Jsb2IvdjEuOTkuMC1zbmFwc2hvdC4yNTAyMTEvYnRjc3Rha2luZy9zdGFraW5nLmdvXG4gKi9cblxuaW1wb3J0IHsgRGVzY3JpcHRvciwgYXN0IH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5pbXBvcnQgeyBTdGFraW5nUGFyYW1zIH0gZnJvbSAnQGJpdGdvL2JhYnlsb25sYWJzLWlvLWJ0Yy1zdGFraW5nLXRzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFVuc3BlbmRhYmxlS2V5KCk6IHN0cmluZyB7XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9iYWJ5bG9ubGFicy1pby9idGMtc3Rha2luZy10cy9ibG9iL3YwLjQuMC1yYy4yL3NyYy9jb25zdGFudHMvaW50ZXJuYWxQdWJrZXkudHNcbiAgcmV0dXJuICc1MDkyOWI3NGMxYTA0OTU0Yjc4YjRiNjAzNWU5N2E1ZTA3OGE1YTBmMjhlYzk2ZDU0N2JmZWU5YWNlODAzYWMwJztcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9ucyBmb3IgY3JlYXRpbmcgbWluaXNjcmlwdCBub2Rlc1xuZnVuY3Rpb24gcGsoYjogQnVmZmVyKTogYXN0Lk1pbmlzY3JpcHROb2RlIHtcbiAgcmV0dXJuIHsgJ3Y6cGsnOiBiLnRvU3RyaW5nKCdoZXgnKSB9O1xufVxuXG5mdW5jdGlvbiBzb3J0ZWRLZXlzKGtleXM6IEJ1ZmZlcltdKTogQnVmZmVyW10ge1xuICByZXR1cm4gWy4uLmtleXNdLnNvcnQoKGEsIGIpID0+IGEuY29tcGFyZShiKSk7XG59XG5cbmZ1bmN0aW9uIG11bHRpQXJncyh0aHJlc2hvbGQ6IG51bWJlciwga2V5czogQnVmZmVyW10pOiBbbnVtYmVyLCAuLi5zdHJpbmdbXV0ge1xuICByZXR1cm4gW3RocmVzaG9sZCwgLi4uc29ydGVkS2V5cyhrZXlzKS5tYXAoKGspID0+IGsudG9TdHJpbmcoJ2hleCcpKV07XG59XG5cbmZ1bmN0aW9uIHRhcHJvb3RTY3JpcHRPbmx5RnJvbUFzdChuOiBhc3QuVGFwVHJlZU5vZGUpOiBEZXNjcmlwdG9yIHtcbiAgcmV0dXJuIERlc2NyaXB0b3IuZnJvbVN0cmluZyhhc3QuZm9ybWF0Tm9kZSh7IHRyOiBbZ2V0VW5zcGVuZGFibGVLZXkoKSwgbl0gfSksICdkZWZpbml0ZScpO1xufVxuXG5leHBvcnQgY2xhc3MgQmFieWxvbkRlc2NyaXB0b3JCdWlsZGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHN0YWtlcktleTogQnVmZmVyLFxuICAgIHB1YmxpYyBmaW5hbGl0eVByb3ZpZGVyS2V5czogQnVmZmVyW10sXG4gICAgcHVibGljIGNvdmVuYW50S2V5czogQnVmZmVyW10sXG4gICAgcHVibGljIGNvdmVuYW50VGhyZXNob2xkOiBudW1iZXIsXG4gICAgcHVibGljIHN0YWtpbmdUaW1lTG9jazogbnVtYmVyLFxuICAgIHB1YmxpYyB1bmJvbmRpbmdUaW1lTG9jazogbnVtYmVyXG4gICkge31cblxuICBzdGF0aWMgZnJvbVBhcmFtcyhcbiAgICBwYXJhbXM6IHtcbiAgICAgIHN0YWtlcktleTogQnVmZmVyO1xuICAgICAgZmluYWxpdHlQcm92aWRlcktleXM6IEJ1ZmZlcltdO1xuICAgIH0gJiBTdGFraW5nUGFyYW1zXG4gICk6IEJhYnlsb25EZXNjcmlwdG9yQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBCYWJ5bG9uRGVzY3JpcHRvckJ1aWxkZXIoXG4gICAgICBwYXJhbXMuc3Rha2VyS2V5LFxuICAgICAgcGFyYW1zLmZpbmFsaXR5UHJvdmlkZXJLZXlzLFxuICAgICAgcGFyYW1zLmNvdmVuYW50Tm9Db29yZFBrcy5tYXAoKGspID0+IEJ1ZmZlci5mcm9tKGssICdoZXgnKSksXG4gICAgICBwYXJhbXMuY292ZW5hbnRRdW9ydW0sXG4gICAgICBwYXJhbXMubWluU3Rha2luZ1RpbWVCbG9ja3MsXG4gICAgICBwYXJhbXMudW5ib25kaW5nVGltZVxuICAgICk7XG4gIH1cblxuICBnZXRUaW1lbG9ja01pbmlzY3JpcHQoKTogYXN0Lk1pbmlzY3JpcHROb2RlIHtcbiAgICByZXR1cm4geyBhbmRfdjogW3BrKHRoaXMuc3Rha2VyS2V5KSwgeyBvbGRlcjogdGhpcy5zdGFraW5nVGltZUxvY2sgfV0gfTtcbiAgfVxuXG4gIGdldFVuYm9uZGluZ01pbmlzY3JpcHQoKTogYXN0Lk1pbmlzY3JpcHROb2RlIHtcbiAgICByZXR1cm4geyBhbmRfdjogW3BrKHRoaXMuc3Rha2VyS2V5KSwgeyBtdWx0aV9hOiBtdWx0aUFyZ3ModGhpcy5jb3ZlbmFudFRocmVzaG9sZCwgdGhpcy5jb3ZlbmFudEtleXMpIH1dIH07XG4gIH1cblxuICBnZXRTbGFzaGluZ01pbmlzY3JpcHQoKTogYXN0Lk1pbmlzY3JpcHROb2RlIHtcbiAgICByZXR1cm4ge1xuICAgICAgYW5kX3Y6IFtcbiAgICAgICAge1xuICAgICAgICAgIGFuZF92OiBbXG4gICAgICAgICAgICBwayh0aGlzLnN0YWtlcktleSksXG4gICAgICAgICAgICB0aGlzLmZpbmFsaXR5UHJvdmlkZXJLZXlzLmxlbmd0aCA9PT0gMVxuICAgICAgICAgICAgICA/IHsgJ3Y6cGsnOiB0aGlzLmZpbmFsaXR5UHJvdmlkZXJLZXlzWzBdLnRvU3RyaW5nKCdoZXgnKSB9XG4gICAgICAgICAgICAgIDogeyAndjptdWx0aV9hJzogbXVsdGlBcmdzKDEsIHRoaXMuZmluYWxpdHlQcm92aWRlcktleXMpIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgeyBtdWx0aV9hOiBtdWx0aUFyZ3ModGhpcy5jb3ZlbmFudFRocmVzaG9sZCwgdGhpcy5jb3ZlbmFudEtleXMpIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBnZXRVbmJvbmRpbmdUaW1lbG9ja01pbmlzY3JpcHQoKTogYXN0Lk1pbmlzY3JpcHROb2RlIHtcbiAgICByZXR1cm4geyBhbmRfdjogW3BrKHRoaXMuc3Rha2VyS2V5KSwgeyBvbGRlcjogdGhpcy51bmJvbmRpbmdUaW1lTG9jayB9XSB9O1xuICB9XG5cbiAgZ2V0U3Rha2luZ0Rlc2NyaXB0b3IoKTogRGVzY3JpcHRvciB7XG4gICAgcmV0dXJuIHRhcHJvb3RTY3JpcHRPbmx5RnJvbUFzdChbXG4gICAgICB0aGlzLmdldFNsYXNoaW5nTWluaXNjcmlwdCgpLFxuICAgICAgW3RoaXMuZ2V0VW5ib25kaW5nTWluaXNjcmlwdCgpLCB0aGlzLmdldFRpbWVsb2NrTWluaXNjcmlwdCgpXSxcbiAgICBdKTtcbiAgfVxuXG4gIGdldFNsYXNoaW5nRGVzY3JpcHRvcigpOiBEZXNjcmlwdG9yIHtcbiAgICByZXR1cm4gdGFwcm9vdFNjcmlwdE9ubHlGcm9tQXN0KHRoaXMuZ2V0VW5ib25kaW5nVGltZWxvY2tNaW5pc2NyaXB0KCkpO1xuICB9XG5cbiAgZ2V0VW5ib25kaW5nRGVzY3JpcHRvcigpOiBEZXNjcmlwdG9yIHtcbiAgICByZXR1cm4gdGFwcm9vdFNjcmlwdE9ubHlGcm9tQXN0KFt0aGlzLmdldFNsYXNoaW5nTWluaXNjcmlwdCgpLCB0aGlzLmdldFVuYm9uZGluZ1RpbWVsb2NrTWluaXNjcmlwdCgpXSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/babylon/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/babylon/index.ts"],"names":[],"mappings":"AAOA,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
|
|
@@ -10,11 +10,39 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
10
10
|
if (k2 === undefined) k2 = k;
|
|
11
11
|
o[k2] = m[k];
|
|
12
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
|
+
})();
|
|
13
35
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
36
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
37
|
};
|
|
16
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const babylonlabs_io_btc_staking_ts_1 = require("@bitgo/babylonlabs-io-btc-staking-ts");
|
|
40
|
+
const bitcoinjslib = __importStar(require("bitcoinjs-lib"));
|
|
41
|
+
const utxolib = __importStar(require("@bitgo/utxo-lib"));
|
|
42
|
+
(0, babylonlabs_io_btc_staking_ts_1.initBTCCurve)();
|
|
43
|
+
bitcoinjslib.initEccLib(utxolib.ecc);
|
|
17
44
|
__exportStar(require("./delegationMessage"), exports);
|
|
18
45
|
__exportStar(require("./descriptor"), exports);
|
|
19
46
|
__exportStar(require("./stakingParams"), exports);
|
|
20
|
-
|
|
47
|
+
__exportStar(require("./stakingManager"), exports);
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFieWxvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHdGQUFvRTtBQUNwRSw0REFBOEM7QUFDOUMseURBQTJDO0FBRTNDLElBQUEsNENBQVksR0FBRSxDQUFDO0FBQ2YsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFckMsc0RBQW9DO0FBQ3BDLCtDQUE2QjtBQUM3QixrREFBZ0M7QUFDaEMsbURBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5pdEJUQ0N1cnZlIH0gZnJvbSAnQGJpdGdvL2JhYnlsb25sYWJzLWlvLWJ0Yy1zdGFraW5nLXRzJztcbmltcG9ydCAqIGFzIGJpdGNvaW5qc2xpYiBmcm9tICdiaXRjb2luanMtbGliJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcblxuaW5pdEJUQ0N1cnZlKCk7XG5iaXRjb2luanNsaWIuaW5pdEVjY0xpYih1dHhvbGliLmVjYyk7XG5cbmV4cG9ydCAqIGZyb20gJy4vZGVsZWdhdGlvbk1lc3NhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vc3Rha2luZ1BhcmFtcyc7XG5leHBvcnQgKiBmcm9tICcuL3N0YWtpbmdNYW5hZ2VyJztcbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as bitcoinjslib from 'bitcoinjs-lib';
|
|
2
|
+
import * as utxolib from '@bitgo/utxo-lib';
|
|
3
|
+
export type BabylonNetwork = 'mainnet' | 'testnet';
|
|
4
|
+
export type BabylonNetworkLike = bitcoinjslib.Network | utxolib.Network | BabylonNetwork;
|
|
5
|
+
export declare function toBabylonNetwork(n: BabylonNetworkLike): BabylonNetwork;
|
|
6
|
+
export declare function toBitcoinJsNetwork(n: BabylonNetworkLike): bitcoinjslib.Network;
|
|
7
|
+
//# sourceMappingURL=network.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/babylon/network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAE3C,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnD,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,cAAc,CAAC;AAEzF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,kBAAkB,GAAG,cAAc,CAetE;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAS9E"}
|
|
@@ -0,0 +1,66 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.toBabylonNetwork = toBabylonNetwork;
|
|
37
|
+
exports.toBitcoinJsNetwork = toBitcoinJsNetwork;
|
|
38
|
+
const bitcoinjslib = __importStar(require("bitcoinjs-lib"));
|
|
39
|
+
const utxolib = __importStar(require("@bitgo/utxo-lib"));
|
|
40
|
+
function toBabylonNetwork(n) {
|
|
41
|
+
switch (n) {
|
|
42
|
+
case bitcoinjslib.networks.bitcoin:
|
|
43
|
+
case utxolib.networks.bitcoin:
|
|
44
|
+
return 'mainnet';
|
|
45
|
+
case bitcoinjslib.networks.testnet:
|
|
46
|
+
case utxolib.networks.testnet:
|
|
47
|
+
case utxolib.networks.bitcoinPublicSignet:
|
|
48
|
+
return 'testnet';
|
|
49
|
+
case 'mainnet':
|
|
50
|
+
case 'testnet':
|
|
51
|
+
return n;
|
|
52
|
+
default:
|
|
53
|
+
throw new Error('Unsupported network');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function toBitcoinJsNetwork(n) {
|
|
57
|
+
switch (toBabylonNetwork(n)) {
|
|
58
|
+
case 'mainnet':
|
|
59
|
+
return bitcoinjslib.networks.bitcoin;
|
|
60
|
+
case 'testnet':
|
|
61
|
+
return bitcoinjslib.networks.testnet;
|
|
62
|
+
default:
|
|
63
|
+
throw new Error('Unsupported network');
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYWJ5bG9uL25ldHdvcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPQSw0Q0FlQztBQUVELGdEQVNDO0FBakNELDREQUE4QztBQUM5Qyx5REFBMkM7QUFNM0MsU0FBZ0IsZ0JBQWdCLENBQUMsQ0FBcUI7SUFDcEQsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNWLEtBQUssWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDbkMsS0FBSyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU87WUFDM0IsT0FBTyxTQUFTLENBQUM7UUFDbkIsS0FBSyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUNuQyxLQUFLLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1FBQzlCLEtBQUssT0FBTyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUI7WUFDdkMsT0FBTyxTQUFTLENBQUM7UUFDbkIsS0FBSyxTQUFTLENBQUM7UUFDZixLQUFLLFNBQVM7WUFDWixPQUFPLENBQUMsQ0FBQztRQUNYO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzNDLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBZ0Isa0JBQWtCLENBQUMsQ0FBcUI7SUFDdEQsUUFBUSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzVCLEtBQUssU0FBUztZQUNaLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDdkMsS0FBSyxTQUFTO1lBQ1osT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUN2QztZQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGJpdGNvaW5qc2xpYiBmcm9tICdiaXRjb2luanMtbGliJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcblxuZXhwb3J0IHR5cGUgQmFieWxvbk5ldHdvcmsgPSAnbWFpbm5ldCcgfCAndGVzdG5ldCc7XG5cbmV4cG9ydCB0eXBlIEJhYnlsb25OZXR3b3JrTGlrZSA9IGJpdGNvaW5qc2xpYi5OZXR3b3JrIHwgdXR4b2xpYi5OZXR3b3JrIHwgQmFieWxvbk5ldHdvcms7XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0JhYnlsb25OZXR3b3JrKG46IEJhYnlsb25OZXR3b3JrTGlrZSk6IEJhYnlsb25OZXR3b3JrIHtcbiAgc3dpdGNoIChuKSB7XG4gICAgY2FzZSBiaXRjb2luanNsaWIubmV0d29ya3MuYml0Y29pbjpcbiAgICBjYXNlIHV0eG9saWIubmV0d29ya3MuYml0Y29pbjpcbiAgICAgIHJldHVybiAnbWFpbm5ldCc7XG4gICAgY2FzZSBiaXRjb2luanNsaWIubmV0d29ya3MudGVzdG5ldDpcbiAgICBjYXNlIHV0eG9saWIubmV0d29ya3MudGVzdG5ldDpcbiAgICBjYXNlIHV0eG9saWIubmV0d29ya3MuYml0Y29pblB1YmxpY1NpZ25ldDpcbiAgICAgIHJldHVybiAndGVzdG5ldCc7XG4gICAgY2FzZSAnbWFpbm5ldCc6XG4gICAgY2FzZSAndGVzdG5ldCc6XG4gICAgICByZXR1cm4gbjtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBuZXR3b3JrJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvQml0Y29pbkpzTmV0d29yayhuOiBCYWJ5bG9uTmV0d29ya0xpa2UpOiBiaXRjb2luanNsaWIuTmV0d29yayB7XG4gIHN3aXRjaCAodG9CYWJ5bG9uTmV0d29yayhuKSkge1xuICAgIGNhc2UgJ21haW5uZXQnOlxuICAgICAgcmV0dXJuIGJpdGNvaW5qc2xpYi5uZXR3b3Jrcy5iaXRjb2luO1xuICAgIGNhc2UgJ3Rlc3RuZXQnOlxuICAgICAgcmV0dXJuIGJpdGNvaW5qc2xpYi5uZXR3b3Jrcy50ZXN0bmV0O1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIG5ldHdvcmsnKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|