@coinmasters/types 3.0.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/network.ts CHANGED
@@ -1,21 +1,111 @@
1
1
  export enum Chain {
2
2
  Arbitrum = 'ARB',
3
3
  Avalanche = 'AVAX',
4
+ Base = 'BASE',
4
5
  Binance = 'BNB',
5
6
  BinanceSmartChain = 'BSC',
6
7
  Bitcoin = 'BTC',
7
8
  BitcoinCash = 'BCH',
8
9
  Cosmos = 'GAIA',
9
10
  Dash = 'DASH',
11
+ Digibyte = 'DGB',
10
12
  Dogecoin = 'DOGE',
13
+ EOS = 'EOS',
11
14
  Ethereum = 'ETH',
12
15
  Kujira = 'KUJI',
13
16
  Litecoin = 'LTC',
14
17
  Maya = 'MAYA',
15
18
  Optimism = 'OP',
19
+ Osmosis = 'OSMO',
16
20
  Polygon = 'MATIC',
21
+ Ripple = 'XRP',
17
22
  THORChain = 'THOR',
23
+ Zcash = 'ZEC',
18
24
  }
25
+
26
+ export function getChainEnumValue(chainStr) {
27
+ switch (chainStr) {
28
+ case 'ARB':
29
+ return Chain.Arbitrum;
30
+ case 'AVAX':
31
+ return Chain.Avalanche;
32
+ case 'BASE':
33
+ return Chain.Base;
34
+ case 'BNB':
35
+ return Chain.Binance;
36
+ case 'BSC':
37
+ return Chain.BinanceSmartChain;
38
+ case 'BTC':
39
+ return Chain.Bitcoin;
40
+ case 'BCH':
41
+ return Chain.BitcoinCash;
42
+ case 'GAIA':
43
+ return Chain.Cosmos;
44
+ case 'DASH':
45
+ return Chain.Dash;
46
+ case 'DGB':
47
+ return Chain.Digibyte;
48
+ case 'DOGE':
49
+ return Chain.Dogecoin;
50
+ case 'EOS':
51
+ return Chain.EOS;
52
+ case 'ETH':
53
+ return Chain.Ethereum;
54
+ case 'KUJI':
55
+ return Chain.Kujira;
56
+ case 'LTC':
57
+ return Chain.Litecoin;
58
+ case 'MAYA':
59
+ return Chain.Maya;
60
+ case 'OP':
61
+ return Chain.Optimism;
62
+ case 'OSMO':
63
+ return Chain.Osmosis;
64
+ case 'MATIC':
65
+ return Chain.Polygon;
66
+ case 'XRP':
67
+ return Chain.Ripple;
68
+ case 'THOR':
69
+ return Chain.THORChain;
70
+ case 'ZEC':
71
+ return Chain.Zcash;
72
+ default:
73
+ return undefined;
74
+ }
75
+ }
76
+
77
+ export const ChainToNetworkId: Record<Chain, string> = {
78
+ [Chain.Arbitrum]: 'eip155:42161',
79
+ [Chain.Avalanche]: 'eip155:43114',
80
+ [Chain.BinanceSmartChain]: 'eip155:56',
81
+ [Chain.Binance]: 'binance:bnb-beacon-chain',
82
+ [Chain.BitcoinCash]: 'bip122:000000000000000000651ef99cb9fcbe',
83
+ [Chain.Bitcoin]: 'bip122:000000000019d6689c085ae165831e93',
84
+ [Chain.Base]: 'eip155:8453',
85
+ [Chain.Cosmos]: 'cosmos:cosmoshub-4',
86
+ [Chain.Dash]: 'bip122:dash-hash',
87
+ [Chain.Digibyte]: 'bip122:digibytes-hash',
88
+ [Chain.Dogecoin]: 'bip122:00000000001a91e3dace36e2be3bf030',
89
+ [Chain.Kujira]: 'cosmos:kaiyo-1',
90
+ [Chain.EOS]: 'eos:cf057bbfb72640471fd910bcb67639c2',
91
+ [Chain.Ethereum]: 'eip155:1',
92
+ [Chain.Litecoin]: 'bip122:12a765e31ffd4059bada1e25190f6e98',
93
+ [Chain.Maya]: 'cosmos:maya-mainnet-v1',
94
+ [Chain.Optimism]: 'eip155:10',
95
+ [Chain.Osmosis]: 'cosmos:osmosis-1',
96
+ [Chain.Polygon]: 'eip155:137',
97
+ [Chain.Ripple]: 'ripple:unknown',
98
+ [Chain.THORChain]: 'cosmos:thorchain-mainnet-v1',
99
+ [Chain.Zcash]: 'bip122:0000000000196a45',
100
+ };
101
+
102
+ // Inverse mapping from Network ID to Chain enum
103
+ export const NetworkIdToChain: Record<string, Chain> = {};
104
+ for (const chain in Chain) {
105
+ const networkId = ChainToNetworkId[Chain[chain]];
106
+ NetworkIdToChain[networkId] = Chain[chain];
107
+ }
108
+
19
109
  type ChainNameType = keyof typeof Chain;
20
110
 
21
111
  export enum ContractAddress {
@@ -31,20 +121,26 @@ export enum ContractAddress {
31
121
  export enum DerivationPath {
32
122
  ARB = "m/44'/60'/0'/0",
33
123
  AVAX = "m/44'/60'/0'/0",
124
+ BASE = "m/44'/60'/0'/0",
34
125
  BCH = "m/44'/145'/0'/0",
35
126
  BNB = "m/44'/714'/0'/0",
36
127
  BSC = "m/44'/60'/0'/0",
37
128
  BTC = "m/84'/0'/0'/0",
38
129
  DOGE = "m/44'/3'/0'/0",
39
130
  DASH = "m/44'/5'/0'/0",
131
+ DGB = "m/44'/20'/0'/0",
40
132
  ETH = "m/44'/60'/0'/0",
133
+ EOS = "m/44'/194'/0'/0",
41
134
  GAIA = "m/44'/118'/0'/0",
42
135
  KUJI = "m/44'/118'/0'/0",
43
136
  LTC = "m/84'/2'/0'/0",
44
137
  MATIC = "m/44'/60'/0'/0",
45
138
  MAYA = "m/44'/931'/0'/0",
46
139
  OP = "m/44'/60'/0'/0",
140
+ OSMO = "m/44'/118'/0'/0",
141
+ XRP = "m/44'/144'/0'/0",
47
142
  THOR = "m/44'/931'/0'/0",
143
+ ZEC = "m/44'/133'/0'/0",
48
144
  }
49
145
 
50
146
  export type DerivationPathArray = [number, number, number, number, number];
@@ -52,12 +148,15 @@ export type DerivationPathArray = [number, number, number, number, number];
52
148
  export const NetworkDerivationPath: Record<Chain, DerivationPathArray> = {
53
149
  ARB: [44, 60, 0, 0, 0],
54
150
  AVAX: [44, 60, 0, 0, 0],
151
+ BASE: [44, 60, 0, 0, 0],
55
152
  BCH: [44, 145, 0, 0, 0],
56
153
  BNB: [44, 714, 0, 0, 0],
57
154
  BSC: [44, 60, 0, 0, 0],
58
155
  BTC: [84, 0, 0, 0, 0],
59
156
  DASH: [44, 5, 0, 0, 0],
157
+ DGB: [44, 20, 0, 0, 0],
60
158
  DOGE: [44, 3, 0, 0, 0],
159
+ EOS: [44, 194, 0, 0, 0],
61
160
  ETH: [44, 60, 0, 0, 0],
62
161
  GAIA: [44, 118, 0, 0, 0],
63
162
  KUJI: [44, 118, 0, 0, 0],
@@ -65,7 +164,10 @@ export const NetworkDerivationPath: Record<Chain, DerivationPathArray> = {
65
164
  MATIC: [44, 60, 0, 0, 0],
66
165
  MAYA: [44, 931, 0, 0, 0],
67
166
  OP: [44, 60, 0, 0, 0],
167
+ OSMO: [44, 118, 0, 0, 0],
168
+ XRP: [44, 144, 0, 0, 0],
68
169
  THOR: [44, 931, 0, 0, 0],
170
+ ZEC: [44, 133, 0, 0, 0],
69
171
  };
70
172
 
71
173
  export enum BaseDecimal {
@@ -76,20 +178,26 @@ export enum BaseDecimal {
76
178
  BSC = 18,
77
179
  BTC = 8,
78
180
  DASH = 8,
181
+ DGB = 8,
79
182
  DOGE = 8,
80
183
  ETH = 18,
184
+ EOS = 6,
81
185
  GAIA = 6,
82
186
  KUJI = 6,
83
187
  LTC = 8,
84
188
  MATIC = 18,
85
189
  MAYA = 10,
86
190
  OP = 18,
191
+ OSMO = 6,
192
+ XRP = 6,
87
193
  THOR = 8,
194
+ ZEC = 8,
88
195
  }
89
196
 
90
197
  export type EVMChain =
91
198
  | Chain.Ethereum
92
199
  | Chain.Avalanche
200
+ | Chain.Base
93
201
  | Chain.BinanceSmartChain
94
202
  | Chain.Arbitrum
95
203
  | Chain.Optimism
@@ -100,41 +208,64 @@ export const EVMChainList: EVMChain[] = [
100
208
  Chain.Avalanche,
101
209
  Chain.BinanceSmartChain,
102
210
  Chain.Arbitrum,
211
+ // Chain.Base,
103
212
  Chain.Optimism,
104
213
  Chain.Polygon,
105
214
  ];
106
215
 
107
216
  export type UTXOChain = Chain.Bitcoin | Chain.BitcoinCash | Chain.Dogecoin | Chain.Litecoin;
108
217
 
109
- export const UTXOChainList: Chain[] = [
218
+ export const UTXOChainList: UTXOChain[] = [
110
219
  Chain.Bitcoin,
111
220
  Chain.BitcoinCash,
112
221
  Chain.Dash,
222
+ Chain.Digibyte,
113
223
  Chain.Dogecoin,
114
224
  Chain.Litecoin,
225
+ Chain.Zcash,
115
226
  ];
116
227
 
117
228
  export type CosmosChain =
118
229
  | Chain.Cosmos
230
+ | Chain.Osmosis
119
231
  | Chain.THORChain
120
232
  | Chain.Binance
121
233
  | Chain.Maya
122
234
  | Chain.Kujira;
123
235
 
124
- export const CosmosChainList: CosmosChain[] = [Chain.Cosmos, Chain.THORChain, Chain.Binance];
236
+ export const CosmosChainList: CosmosChain[] = [
237
+ Chain.Cosmos,
238
+ Chain.THORChain,
239
+ Chain.Binance,
240
+ Chain.Osmosis,
241
+ ];
242
+
243
+ export const TCSupportedChainList = [
244
+ Chain.Avalanche,
245
+ Chain.Binance,
246
+ Chain.BinanceSmartChain,
247
+ Chain.Bitcoin,
248
+ Chain.BitcoinCash,
249
+ Chain.Cosmos,
250
+ Chain.Dogecoin,
251
+ Chain.Ethereum,
252
+ Chain.Litecoin,
253
+ Chain.THORChain,
254
+ ];
125
255
 
126
256
  export enum ChainId {
127
257
  Arbitrum = '42161',
128
258
  ArbitrumHex = '0xa4b1',
129
259
  Avalanche = '43114',
130
260
  AvalancheHex = '0xa86a',
261
+ Base = '8453',
131
262
  Binance = 'Binance-Chain-Tigris',
132
263
  BinanceSmartChain = '56',
133
264
  BinanceSmartChainHex = '0x38',
134
265
  Bitcoin = 'bitcoin',
135
266
  BitcoinCash = 'bitcoincash',
136
267
  Cosmos = 'cosmoshub-4',
137
- dash = 'dash',
268
+ Dash = 'dash',
138
269
  Dogecoin = 'dogecoin',
139
270
  Kujira = 'kaiyo-1',
140
271
  Ethereum = '1',
@@ -144,28 +275,31 @@ export enum ChainId {
144
275
  MayaStagenet = 'mayachain-stagenet-v1',
145
276
  Optimism = '10',
146
277
  OptimismHex = '0xa',
278
+ Osmosis = 'osmosis-1',
147
279
  Polygon = '137',
148
280
  PolygonHex = '0x89',
149
281
  THORChain = 'thorchain-mainnet-v1',
150
282
  THORChainStagenet = 'thorchain-stagenet-v2',
151
283
  }
152
284
 
285
+ //TODO move these to pioneer proxy
153
286
  export enum RPCUrl {
154
287
  Arbitrum = 'https://arb1.arbitrum.io/rpc',
155
288
  Avalanche = 'https://node-router.thorswap.net/avalanche-c',
156
- Binance = '',
289
+ Binance = 'https://base.llamarpc.com',
157
290
  BinanceSmartChain = 'https://bsc-dataseed.binance.org',
158
291
  Bitcoin = 'https://node-router.thorswap.net/bitcoin',
159
292
  BitcoinCash = 'https://node-router.thorswap.net/bitcoin-cash',
160
293
  Cosmos = 'https://node-router.thorswap.net/cosmos/rpc',
161
294
  Kujira = 'https://rpc-kujira.synergynodes.com/',
162
- Dash = 'todo', //@todo find public rpc
295
+ Dash = 'https://dash.nownodes.io',
163
296
  Dogecoin = 'https://node-router.thorswap.net/dogecoin',
164
297
  Ethereum = 'https://node-router.thorswap.net/ethereum',
165
298
  Litecoin = 'https://node-router.thorswap.net/litecoin',
166
299
  Maya = 'https://tendermint.mayachain.info',
167
300
  MayaStagenet = 'https://stagenet.tendermint.mayachain.info',
168
301
  Optimism = 'https://mainnet.optimism.io',
302
+ Osmosis = 'https://rpc-osmosis.keplr.app',
169
303
  Polygon = 'https://polygon-rpc.com',
170
304
  THORChain = 'https://rpc.thorswap.net',
171
305
  THORChainStagenet = 'https://stagenet-rpc.ninerealms.com',
@@ -178,7 +312,7 @@ export enum ApiUrl {
178
312
  MayanodeStagenet = 'https://stagenet.mayanode.mayachain.info',
179
313
  ThornodeMainnet = 'https://thornode.thorswap.net',
180
314
  ThornodeStagenet = 'https://stagenet-thornode.ninerealms.com',
181
- ThorswapApi = 'https://api.thorswap.finance',
315
+ ThorswapApi = 'https://api.thorswap.net',
182
316
  ThorswapStatic = 'https://static.thorswap.net',
183
317
  }
184
318
 
@@ -233,6 +367,7 @@ export const ChainIdToChain: Record<ChainId, Chain> = {
233
367
  [ChainId.BitcoinCash]: Chain.BitcoinCash,
234
368
  [ChainId.Bitcoin]: Chain.Bitcoin,
235
369
  [ChainId.Cosmos]: Chain.Cosmos,
370
+ [ChainId.Base]: Chain.Base,
236
371
  [ChainId.Dash]: Chain.Dash,
237
372
  [ChainId.Dogecoin]: Chain.Dogecoin,
238
373
  [ChainId.EthereumHex]: Chain.Ethereum,
@@ -243,6 +378,7 @@ export const ChainIdToChain: Record<ChainId, Chain> = {
243
378
  [ChainId.Maya]: Chain.Maya,
244
379
  [ChainId.OptimismHex]: Chain.Optimism,
245
380
  [ChainId.Optimism]: Chain.Optimism,
381
+ [ChainId.Osmosis]: Chain.Osmosis,
246
382
  [ChainId.PolygonHex]: Chain.Polygon,
247
383
  [ChainId.Polygon]: Chain.Polygon,
248
384
  [ChainId.THORChainStagenet]: Chain.THORChain,
@@ -256,13 +392,20 @@ export const ChainToExplorerUrl: Record<Chain, string> = {
256
392
  [Chain.Binance]: 'https://explorer.binance.org',
257
393
  [Chain.BitcoinCash]: 'https://www.blockchain.com/bch',
258
394
  [Chain.Bitcoin]: 'https://blockstream.info',
395
+ [Chain.Base]: 'https://basescan.org',
259
396
  [Chain.Cosmos]: 'https://cosmos.bigdipper.live',
397
+ [Chain.Dash]: 'https://blockchair.com/dash',
398
+ [Chain.Digibyte]: 'https://chainz.cryptoid.info/dgb',
260
399
  [Chain.Dogecoin]: 'https://blockchair.com/dogecoin',
261
400
  [Chain.Kujira]: 'https://finder.kujira.network/kaiyo-1',
401
+ [Chain.EOS]: 'https://eosauthority.com/',
262
402
  [Chain.Ethereum]: 'https://etherscan.io',
263
403
  [Chain.Litecoin]: 'https://ltc.bitaps.com',
264
404
  [Chain.Maya]: 'https://www.mayascan.org',
265
405
  [Chain.Optimism]: 'https://optimistic.etherscan.io',
406
+ [Chain.Osmosis]: 'https://www.mintscan.io/osmosis',
266
407
  [Chain.Polygon]: 'https://polygonscan.com',
267
- [Chain.THORChain]: 'https://viewblock.io/thorchain',
408
+ [Chain.Ripple]: 'https://xrpscan.com',
409
+ [Chain.THORChain]: 'https://runescan.io',
410
+ [Chain.Zcash]: 'https://z.cash/ecosystem/zcash-explorer',
268
411
  };