Skip to content

Commit eb7f2b8

Browse files
feat(utxo-staking): extract network type definitions
Split network type definitions and utilities into separate network.ts file Issue: BTC-1933
1 parent 8019a14 commit eb7f2b8

File tree

1 file changed

+1
-22
lines changed

1 file changed

+1
-22
lines changed

modules/utxo-staking/src/babylon/stakingParams.ts

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import * as t from 'io-ts';
22
import * as tt from 'io-ts-types';
33
import { isLeft } from 'fp-ts/Either';
44
import { PathReporter } from 'io-ts/lib/PathReporter';
5-
import * as bitcoinjslib from 'bitcoinjs-lib';
65
import * as utxolib from '@bitgo/utxo-lib';
76
import {
87
getBabylonParamByVersion,
@@ -14,6 +13,7 @@ import {
1413
import { BabylonDescriptorBuilder } from './descriptor';
1514
import jsonMainnetParams from './params.mainnet.json';
1615
import jsonTestnetParams from './params.testnet.json';
16+
import { BabylonNetworkLike, toBabylonNetwork } from './network';
1717

1818
const BabylonParamsJSON = t.type({
1919
covenant_pks: t.array(t.string),
@@ -68,27 +68,6 @@ function toVersionedParamsFromJson(jsonParams: unknown[]): VersionedStakingParam
6868
);
6969
}
7070

71-
type BabylonNetwork = 'mainnet' | 'testnet';
72-
73-
type BabylonNetworkLike = bitcoinjslib.Network | utxolib.Network | BabylonNetwork;
74-
75-
function toBabylonNetwork(n: BabylonNetworkLike): BabylonNetwork {
76-
switch (n) {
77-
case bitcoinjslib.networks.bitcoin:
78-
case utxolib.networks.bitcoin:
79-
return 'mainnet';
80-
case bitcoinjslib.networks.testnet:
81-
case utxolib.networks.testnet:
82-
case utxolib.networks.bitcoinPublicSignet:
83-
return 'testnet';
84-
case 'mainnet':
85-
case 'testnet':
86-
return n;
87-
default:
88-
throw new Error('Unsupported network');
89-
}
90-
}
91-
9271
export const mainnetStakingParams: readonly VersionedStakingParams[] = Object.freeze(
9372
toVersionedParamsFromJson(jsonMainnetParams)
9473
);

0 commit comments

Comments
 (0)