Skip to content

Commit a36eb48

Browse files
authored
Merge pull request #8294 from BitGo/BTC-3158-lightning-getbasefactor-statics
refactor: derive getBaseFactor from statics in AbstractLightningCoin
2 parents 738c1c7 + a3cdfa5 commit a36eb48

File tree

4 files changed

+19
-10
lines changed

4 files changed

+19
-10
lines changed

modules/abstract-lightning/src/abstractLightningCoin.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,25 @@ import {
1010
VerifyAddressOptions,
1111
VerifyTransactionOptions,
1212
} from '@bitgo/sdk-core';
13+
import { BaseCoin as StaticsBaseCoin } from '@bitgo/statics';
1314
import * as utxolib from '@bitgo/utxo-lib';
1415
import { randomBytes } from 'crypto';
1516
import { bip32 } from '@bitgo/utxo-lib';
1617

1718
export abstract class AbstractLightningCoin extends BaseCoin {
19+
protected readonly _staticsCoin: Readonly<StaticsBaseCoin>;
1820
private readonly _network: utxolib.Network;
19-
protected constructor(bitgo: BitGoBase, network: utxolib.Network) {
21+
protected constructor(bitgo: BitGoBase, network: utxolib.Network, staticsCoin?: Readonly<StaticsBaseCoin>) {
2022
super(bitgo);
23+
if (!staticsCoin) {
24+
throw new Error('missing required constructor parameter staticsCoin');
25+
}
26+
this._staticsCoin = staticsCoin;
2127
this._network = network;
2228
}
2329

2430
getBaseFactor(): number {
25-
return 1e11;
31+
return Math.pow(10, this._staticsCoin.decimalPlaces);
2632
}
2733

2834
verifyTransaction(params: VerifyTransactionOptions): Promise<boolean> {

modules/sdk-coin-lnbtc/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
"dependencies": {
4343
"@bitgo/abstract-lightning": "^7.8.3",
4444
"@bitgo/sdk-core": "^36.34.0",
45+
"@bitgo/statics": "^58.30.0",
4546
"@bitgo/utxo-lib": "^11.21.0"
4647
},
4748
"devDependencies": {

modules/sdk-coin-lnbtc/src/lnbtc.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
import { AbstractLightningCoin } from '@bitgo/abstract-lightning';
22
import { BitGoBase, BaseCoin } from '@bitgo/sdk-core';
3+
import { BaseCoin as StaticsBaseCoin } from '@bitgo/statics';
34
import * as utxolib from '@bitgo/utxo-lib';
45

56
export class Lnbtc extends AbstractLightningCoin {
6-
constructor(bitgo: BitGoBase, network?: utxolib.Network) {
7-
super(bitgo, network || utxolib.networks.bitcoin);
7+
constructor(bitgo: BitGoBase, network?: utxolib.Network, staticsCoin?: Readonly<StaticsBaseCoin>) {
8+
super(bitgo, network || utxolib.networks.bitcoin, staticsCoin);
89
}
910

10-
static createInstance(bitgo: BitGoBase): BaseCoin {
11-
return new Lnbtc(bitgo);
11+
static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin {
12+
return new Lnbtc(bitgo, undefined, staticsCoin);
1213
}
1314

1415
getChain(): string {

modules/sdk-coin-lnbtc/src/tlnbtc.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,17 @@
22
* @prettier
33
*/
44
import { BaseCoin, BitGoBase } from '@bitgo/sdk-core';
5+
import { BaseCoin as StaticsBaseCoin } from '@bitgo/statics';
56
import { Lnbtc } from './lnbtc';
67
import * as utxolib from '@bitgo/utxo-lib';
78

89
export class Tlnbtc extends Lnbtc {
9-
constructor(bitgo: BitGoBase) {
10-
super(bitgo, utxolib.networks.testnet);
10+
constructor(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>) {
11+
super(bitgo, utxolib.networks.testnet, staticsCoin);
1112
}
1213

13-
static createInstance(bitgo: BitGoBase): BaseCoin {
14-
return new Tlnbtc(bitgo);
14+
static createInstance(bitgo: BitGoBase, staticsCoin?: Readonly<StaticsBaseCoin>): BaseCoin {
15+
return new Tlnbtc(bitgo, staticsCoin);
1516
}
1617

1718
getChain(): string {

0 commit comments

Comments
 (0)