Skip to content

Commit eb0faa5

Browse files
Merge pull request #577 from BitGo/WIN-6105
chore: use CoinFactory from SDK to register coins
2 parents c328171 + b35b0cd commit eb0faa5

File tree

3 files changed

+37844
-26049
lines changed

3 files changed

+37844
-26049
lines changed

electron/main/index.ts

Lines changed: 5 additions & 182 deletions
Original file line numberDiff line numberDiff line change
@@ -8,56 +8,13 @@ process.env.PUBLIC = app.isPackaged
88
: join(process.env.DIST_ELECTRON, '../public');
99

1010
/* eslint-disable @typescript-eslint/unbound-method */
11-
import { Atom, Tatom } from '@bitgo/sdk-coin-atom';
12-
import { Asi, Tasi } from '@bitgo/sdk-coin-asi';
13-
import { Arbeth, Tarbeth, ArbethToken } from '@bitgo/sdk-coin-arbeth';
14-
import { Bld, Tbld } from '@bitgo/sdk-coin-bld';
15-
import { Coreum, Tcoreum } from '@bitgo/sdk-coin-coreum';
16-
import { Coredao, Tcoredao } from '@bitgo/sdk-coin-coredao';
17-
import { Cronos, Tcronos } from '@bitgo/sdk-coin-cronos';
18-
import { Hash, Thash } from '@bitgo/sdk-coin-hash';
19-
import { Injective, Tinjective } from '@bitgo/sdk-coin-injective';
20-
import { Initia, Tinitia } from '@bitgo/sdk-coin-initia';
21-
import { Sei, Tsei } from '@bitgo/sdk-coin-sei';
22-
import { Tia, Ttia } from '@bitgo/sdk-coin-tia';
2311
import { AbstractUtxoCoin } from '@bitgo/abstract-utxo';
2412
import { BitGoAPI } from '@bitgo/sdk-api';
2513
import { Ada, Tada } from '@bitgo/sdk-coin-ada';
26-
import { AvaxC, TavaxC, AvaxCToken } from '@bitgo/sdk-coin-avaxc';
27-
import { Bch } from '@bitgo/sdk-coin-bch';
28-
import { Bcha } from '@bitgo/sdk-coin-bcha';
29-
import { Bsv } from '@bitgo/sdk-coin-bsv';
30-
import { Btc, Tbtc } from '@bitgo/sdk-coin-btc';
31-
import { Btg } from '@bitgo/sdk-coin-btg';
32-
import { Dash } from '@bitgo/sdk-coin-dash';
33-
import { Doge, Tdoge } from '@bitgo/sdk-coin-doge';
3414
import { Dot, Tdot } from '@bitgo/sdk-coin-dot';
35-
import { Eos, Teos } from '@bitgo/sdk-coin-eos';
36-
import {
37-
AbstractEthLikeNewCoins,
38-
Erc20Token,
39-
Eth,
40-
Hteth,
41-
} from '@bitgo/sdk-coin-eth';
42-
import { Ethw } from '@bitgo/sdk-coin-ethw';
43-
import { Etc, Tetc } from '@bitgo/sdk-coin-etc';
44-
import { Flr,Tflr } from '@bitgo/sdk-coin-flr'
45-
import { Ltc } from '@bitgo/sdk-coin-ltc';
46-
import { Near, TNear } from '@bitgo/sdk-coin-near';
47-
import { Oas, Toas } from '@bitgo/sdk-coin-oas';
48-
import { Opeth, Topeth, OpethToken } from '@bitgo/sdk-coin-opeth';
49-
import { Osmo, Tosmo } from '@bitgo/sdk-coin-osmo';
50-
import { Polygon, Tpolygon, PolygonToken } from '@bitgo/sdk-coin-polygon';
51-
import { Rune, Trune } from '@bitgo/sdk-coin-rune';
52-
import { Baby, Tbaby } from '@bitgo/sdk-coin-baby';
15+
import { AbstractEthLikeNewCoins } from '@bitgo/sdk-coin-eth';
5316
import { Sol, Tsol, SolToken } from '@bitgo/sdk-coin-sol';
54-
import { Sgb,Tsgb } from '@bitgo/sdk-coin-sgb';
5517
import { Trx, Ttrx, TrxToken } from '@bitgo/sdk-coin-trx';
56-
import { Txlm, Xlm } from '@bitgo/sdk-coin-xlm';
57-
import { Txrp, Xrp, XrpToken } from '@bitgo/sdk-coin-xrp';
58-
import { Zec } from '@bitgo/sdk-coin-zec';
59-
import { Zeta, Tzeta } from '@bitgo/sdk-coin-zeta';
60-
import { Bsc, Tbsc } from '@bitgo/sdk-coin-bsc';
6118
import { BaseCoin } from '@bitgo/sdk-core';
6219
import assert from 'assert';
6320
import BIP32Factory from 'bip32';
@@ -66,17 +23,10 @@ import fs from 'node:fs/promises';
6623
import { release } from 'os';
6724
import { join } from 'path';
6825
import * as ecc from 'tiny-secp256k1';
69-
import { Hbar, Thbar , HbarToken} from '@bitgo/sdk-coin-hbar';
70-
import { Algo, Talgo } from '@bitgo/sdk-coin-algo';
71-
import { EthLikeCoin, TethLikeCoin } from '@bitgo/sdk-coin-ethlike';
72-
import { Sui, Tsui } from '@bitgo/sdk-coin-sui';
7326
import { loadWebAssembly } from '@bitgo/sdk-opensslbytes';
74-
import { Xdc,Txdc } from '@bitgo/sdk-coin-xdc';
75-
import { Wemix,Twemix } from '@bitgo/sdk-coin-wemix';
7627
import { Tao, Ttao } from '@bitgo/sdk-coin-tao';
77-
import { Icp, Ticp } from '@bitgo/sdk-coin-icp';
78-
import { Stx, Tstx, Sip10Token } from '@bitgo/sdk-coin-stx';
79-
import { Soneium, Tsoneium } from '@bitgo/sdk-coin-soneium';
28+
import { registerCoinConstructors } from 'bitgo';
29+
import { GlobalCoinFactory } from '@bitgo/sdk-core'
8030

8131
const bip32 = BIP32Factory(ecc);
8232

@@ -100,135 +50,8 @@ const indexHtml = join(process.env.DIST, 'index.html');
10050
let sdk = new BitGoAPI({
10151
env: 'test',
10252
});
103-
sdk.register('btc', Btc.createInstance);
104-
sdk.register('tbtc', Tbtc.createInstance);
105-
sdk.register('eth', Eth.createInstance);
106-
sdk.register('hteth', Hteth.createInstance);
107-
sdk.register('ethw', Ethw.createInstance);
108-
sdk.register('etc', Etc.createInstance);
109-
sdk.register('tetc', Tetc.createInstance);
110-
sdk.register('eos', Eos.createInstance);
111-
sdk.register('teos', Teos.createInstance);
112-
sdk.register('xlm', Xlm.createInstance);
113-
sdk.register('txlm', Txlm.createInstance);
114-
sdk.register('xrp', Xrp.createInstance);
115-
sdk.register('txrp', Txrp.createInstance);
116-
sdk.register('bch', Bch.createInstance);
117-
sdk.register('ltc', Ltc.createInstance);
118-
sdk.register('btg', Btg.createInstance);
119-
sdk.register('dash', Dash.createInstance);
120-
sdk.register('zec', Zec.createInstance);
121-
sdk.register('bcha', Bcha.createInstance);
122-
sdk.register('bsv', Bsv.createInstance);
123-
sdk.register('trx', Trx.createInstance);
124-
sdk.register('ttrx', Ttrx.createInstance);
125-
sdk.register('avaxc', AvaxC.createInstance);
126-
sdk.register('tavaxc', TavaxC.createInstance);
127-
sdk.register('arbeth', Arbeth.createInstance);
128-
sdk.register('tarbeth', Tarbeth.createInstance);
129-
sdk.register('opeth', Opeth.createInstance);
130-
sdk.register('topeth', Topeth.createInstance);
131-
sdk.register('near', Near.createInstance);
132-
sdk.register('tnear', TNear.createInstance);
133-
sdk.register('dot', Dot.createInstance);
134-
sdk.register('tdot', Tdot.createInstance);
135-
sdk.register('tao', Tao.createInstance);
136-
sdk.register('ttao', Ttao.createInstance);
137-
sdk.register('sol', Sol.createInstance);
138-
sdk.register('tsol', Tsol.createInstance);
139-
sdk.register('polygon', Polygon.createInstance);
140-
sdk.register('tpolygon', Tpolygon.createInstance);
141-
sdk.register('bsc', Bsc.createInstance);
142-
sdk.register('tbsc', Tbsc.createInstance);
143-
sdk.register('doge', Doge.createInstance);
144-
sdk.register('tdoge', Tdoge.createInstance);
145-
sdk.register('ada', Ada.createInstance);
146-
sdk.register('tada', Tada.createInstance);
147-
sdk.register('atom', Atom.createInstance);
148-
sdk.register('tatom', Tatom.createInstance);
149-
sdk.register('asi', Asi.createInstance);
150-
sdk.register('tasi', Tasi.createInstance);
151-
sdk.register('osmo', Osmo.createInstance);
152-
sdk.register('tosmo', Tosmo.createInstance);
153-
sdk.register('tia', Tia.createInstance);
154-
sdk.register('ttia', Ttia.createInstance);
155-
sdk.register('injective', Injective.createInstance);
156-
sdk.register('tinjective', Tinjective.createInstance);
157-
sdk.register('initia', Initia.createInstance);
158-
sdk.register('tinitia', Tinitia.createInstance);
159-
sdk.register('bld', Bld.createInstance);
160-
sdk.register('tbld', Tbld.createInstance);
161-
sdk.register('hash', Hash.createInstance);
162-
sdk.register('thash', Thash.createInstance);
163-
sdk.register('sei', Sei.createInstance);
164-
sdk.register('tsei', Tsei.createInstance);
165-
sdk.register('zeta', Zeta.createInstance);
166-
sdk.register('tzeta', Tzeta.createInstance);
167-
sdk.register('coreum', Coreum.createInstance);
168-
sdk.register('tcoreum', Tcoreum.createInstance);
169-
sdk.register('cronos', Cronos.createInstance);
170-
sdk.register('tcronos', Tcronos.createInstance);
171-
sdk.register('hbar', Hbar.createInstance);
172-
sdk.register('thbar', Thbar.createInstance);
173-
sdk.register('algo', Algo.createInstance);
174-
sdk.register('talgo', Talgo.createInstance);
175-
sdk.register('baseeth', EthLikeCoin.createInstance);
176-
sdk.register('tbaseeth', TethLikeCoin.createInstance);
177-
sdk.register('sui', Sui.createInstance);
178-
sdk.register('tsui', Tsui.createInstance);
179-
sdk.register('thorchain:rune', Rune.createInstance);
180-
sdk.register('tthorchain:rune', Trune.createInstance);
181-
sdk.register('baby', Baby.createInstance);
182-
sdk.register('tbaby', Tbaby.createInstance);
183-
sdk.register('coredao', Coredao.createInstance);
184-
sdk.register('tcoredao', Tcoredao.createInstance);
185-
sdk.register('oas', Oas.createInstance);
186-
sdk.register('toas', Toas.createInstance);
187-
sdk.register('flr', Flr.createInstance);
188-
sdk.register('tflr', Tflr.createInstance);
189-
sdk.register('sgb', Sgb.createInstance);
190-
sdk.register('tsgb', Tsgb.createInstance);
191-
sdk.register('xdc', Xdc.createInstance);
192-
sdk.register('txdc', Txdc.createInstance);
193-
sdk.register('wemix', Wemix.createInstance);
194-
sdk.register('twemix', Twemix.createInstance);
195-
sdk.register('icp', Icp.createInstance);
196-
sdk.register('ticp', Ticp.createInstance);
197-
sdk.register('stx', Stx.createInstance);
198-
sdk.register('tstx', Tstx.createInstance);
199-
sdk.register('soneium', Soneium.createInstance);
200-
sdk.register('tsoneium', Tsoneium.createInstance);
201-
202-
Erc20Token.createTokenConstructors().forEach(({ name, coinConstructor }) => {
203-
sdk.register(name, coinConstructor);
204-
});
205-
AvaxCToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
206-
sdk.register(name, coinConstructor);
207-
});
208-
ArbethToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
209-
sdk.register(name, coinConstructor);
210-
});
211-
OpethToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
212-
sdk.register(name, coinConstructor);
213-
});
214-
PolygonToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
215-
sdk.register(name, coinConstructor);
216-
});
217-
SolToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
218-
sdk.register(name, coinConstructor);
219-
});
220-
TrxToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
221-
sdk.register(name, coinConstructor);
222-
});
223-
XrpToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
224-
sdk.register(name, coinConstructor);
225-
});
226-
HbarToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
227-
sdk.register(name, coinConstructor);
228-
});
229-
Sip10Token.createTokenConstructors().forEach(({ name, coinConstructor }) => {
230-
sdk.register(name, coinConstructor);
231-
});
53+
54+
registerCoinConstructors(GlobalCoinFactory);
23255

23356
function handleSdkError(e: unknown): string {
23457
if (typeof e === 'string' && e !== null) {

0 commit comments

Comments
 (0)