Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions modules/statics/src/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,6 @@ export enum CoinFamily {
OPETH = 'opeth',
OSMO = 'osmo',
PLUME = 'plume',
PEARL = 'pearl',
RBTC = 'rbtc',
SCROLLETH = 'scrolleth', // Scroll L2
SGB = 'sgb',
Expand Down Expand Up @@ -1685,7 +1684,6 @@ export enum UnderlyingAsset {
PRDX = 'prdx',
PRINTS = 'prints',
PRISM = 'prism',
PEARL = 'pearl',
PRO = 'pro',
PROM = 'prom',
PROS = 'pros',
Expand Down
27 changes: 0 additions & 27 deletions modules/statics/src/networks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1431,31 +1431,6 @@ class ZCashTestnet extends Testnet implements UtxoNetwork {
explorerUrl = 'https://testnet.zcashexplorer.app/transactions/';
}

/*
* Pearl is served through @bitgo/wasm-utxo and is deliberately NOT registered as a
* network in @bitgo/utxo-lib.
*
* `utxolibName` is required by UtxoNetwork, so it carries the wasm-utxo `CoinName`
* instead. It must not be resolved via `utxolib.networks[...]` - that yields
* undefined for Pearl and throws `TypeError: invalid network` downstream. Use the
* wasm-utxo coin name directly.
*/
class Pearl extends Mainnet implements UtxoNetwork {
name = 'Pearl';
family = CoinFamily.PEARL;
/** wasm-utxo CoinName, not a utxo-lib network - see note above */
utxolibName = 'pearl';
explorerUrl = undefined;
}

class PearlTestnet extends Testnet implements UtxoNetwork {
name = 'PearlTestnet';
family = CoinFamily.PEARL;
/** wasm-utxo CoinName, not a utxo-lib network - see note above */
utxolibName = 'tpearl';
explorerUrl = undefined;
}

class Near extends Mainnet implements AccountNetwork {
name = 'Near';
family = CoinFamily.NEAR;
Expand Down Expand Up @@ -2978,7 +2953,6 @@ export const Networks = {
plume: Object.freeze(new Plume()),
polygon: Object.freeze(new Polygon()),
polyx: Object.freeze(new Polymesh()),
pearl: Object.freeze(new Pearl()),
phrs: Object.freeze(new Pharos()),
ctc: Object.freeze(new Creditcoin()),
hypeevm: Object.freeze(new HypeEVM()),
Expand Down Expand Up @@ -3113,7 +3087,6 @@ export const Networks = {
mantra: Object.freeze(new MantraTestnet()),
polygon: Object.freeze(new PolygonTestnet()),
polyx: Object.freeze(new PolymeshTestnet()),
pearl: Object.freeze(new PearlTestnet()),
phrs: Object.freeze(new PharosTestnet()),
ctc: Object.freeze(new CreditcoinTestnet()),
hypeevm: Object.freeze(new HypeEVMTestnet()),
Expand Down
19 changes: 0 additions & 19 deletions modules/statics/src/utxo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,6 @@ const DOGE_FEATURES = [
const DASH_FEATURES = [...UtxoCoin.DEFAULT_FEATURES, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.BULK_TRANSACTION];
const TDASH_FEATURES = [...UtxoCoin.DEFAULT_FEATURES, CoinFeature.BULK_TRANSACTION];
const ZEC_FEATURES = [...UtxoCoin.DEFAULT_FEATURES, CoinFeature.BULK_TRANSACTION, CoinFeature.CUSTODY_BITGO_FRANKFURT];
const PEARL_FEATURES = [...UtxoCoin.DEFAULT_FEATURES, CoinFeature.BULK_TRANSACTION, CoinFeature.DISTRIBUTED_CUSTODY];
export const utxoCoins: Readonly<BaseCoin>[] = [
utxo(
'8d6e08d5-399f-414f-8430-6ceca1798cbf',
Expand Down Expand Up @@ -321,24 +320,6 @@ export const utxoCoins: Readonly<BaseCoin>[] = [
BaseUnit.ZEC,
ZEC_FEATURES
),
utxo(
'4518a5b9-00d3-476e-bc40-d3f87eb82250',
'pearl',
'Pearl',
Networks.main.pearl,
UnderlyingAsset.PEARL,
BaseUnit.BTC,
PEARL_FEATURES
),
utxo(
'5d88723a-7e86-43c7-9fb1-f4cee7abc48f',
'tpearl',
'Testnet Pearl',
Networks.test.pearl,
UnderlyingAsset.PEARL,
BaseUnit.BTC,
PEARL_FEATURES
),
utxo(
'c93a9160-458f-4a31-bea0-4a93ae8b1d2d',
'doge',
Expand Down
8 changes: 0 additions & 8 deletions modules/statics/test/unit/coins.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1218,14 +1218,6 @@ describe('Distributed Custody Features', () => {
coin.features.includes(CoinFeature.DISTRIBUTED_CUSTODY).should.eql(true);
});
});

it('pearl and tpearl should have distributed custody feature', () => {
const targetCoins = ['pearl', 'tpearl'];
targetCoins.forEach((coinName) => {
const coin = coins.get(coinName);
coin.features.includes(CoinFeature.DISTRIBUTED_CUSTODY).should.eql(true);
});
});
});

describe('Bulk Transaction Features', () => {
Expand Down
2 changes: 0 additions & 2 deletions modules/statics/test/unit/fixtures/expectedColdFeatures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ export const expectedColdFeatures = {
'etc',
'hbar',
'ltc',
'pearl',
'rbtc',
'stx',
'talgo',
Expand All @@ -54,7 +53,6 @@ export const expectedColdFeatures = {
'tetc',
'thbar',
'tltc',
'tpearl',
'trbtc',
'tstx',
'txlm',
Expand Down