File tree Expand file tree Collapse file tree 1 file changed +34
-0
lines changed
modules/utxo-staking/src/babylon Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change 1+ import * as bitcoinjslib from 'bitcoinjs-lib' ;
2+ import * as utxolib from '@bitgo/utxo-lib' ;
3+
4+ export type BabylonNetwork = 'mainnet' | 'testnet' ;
5+
6+ export type BabylonNetworkLike = bitcoinjslib . Network | utxolib . Network | BabylonNetwork ;
7+
8+ export function toBabylonNetwork ( n : BabylonNetworkLike ) : BabylonNetwork {
9+ switch ( n ) {
10+ case bitcoinjslib . networks . bitcoin :
11+ case utxolib . networks . bitcoin :
12+ return 'mainnet' ;
13+ case bitcoinjslib . networks . testnet :
14+ case utxolib . networks . testnet :
15+ case utxolib . networks . bitcoinPublicSignet :
16+ return 'testnet' ;
17+ case 'mainnet' :
18+ case 'testnet' :
19+ return n ;
20+ default :
21+ throw new Error ( 'Unsupported network' ) ;
22+ }
23+ }
24+
25+ export function toBitcoinJsNetwork ( n : BabylonNetworkLike ) : bitcoinjslib . Network {
26+ switch ( toBabylonNetwork ( n ) ) {
27+ case 'mainnet' :
28+ return bitcoinjslib . networks . bitcoin ;
29+ case 'testnet' :
30+ return bitcoinjslib . networks . testnet ;
31+ default :
32+ throw new Error ( 'Unsupported network' ) ;
33+ }
34+ }
You can’t perform that action at this time.
0 commit comments