forked from akash-network/console
-
Notifications
You must be signed in to change notification settings - Fork 0
/
chainDefinitions.ts
394 lines (391 loc) · 13.8 KB
/
chainDefinitions.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
import {
AkashBlock,
AkashMessage,
Bid,
Deployment,
DeploymentGroup,
DeploymentGroupResource,
Lease,
Provider,
ProviderAttribute,
ProviderAttributeSignature
} from "./dbSchemas/akash";
import { Block, Message } from "./dbSchemas/base";
import { Model, ModelCtor } from "sequelize-typescript";
import * as dotenv from "dotenv";
import { ProviderSnapshot } from "./dbSchemas/akash/providerSnapshot";
dotenv.config();
export interface ChainDef {
code: string;
rpcNodes: string[];
cosmosDirectoryId: string;
connectionString: string | undefined;
genesisFileUrl: string;
coinGeckoId: string | null;
logoUrlSVG?: string;
logoUrlPNG?: string;
customIndexers: string[];
bech32Prefix: string;
denom: string;
udenom: string;
startHeight?: number;
customBlockModel?: ModelCtor<Block>;
customMessageModel?: ModelCtor<Message>;
customModels?: ModelCtor<Model<any, any>>[];
}
export const chainDefinitions: { [key: string]: ChainDef } = {
akash: {
code: "akash",
rpcNodes: [
"http://akash.c29r3.xyz/rpc",
"https://akash-rpc.lavenderfive.com",
"https://rpc-akash.ecostake.com",
"https://rpc.akash.forbole.com",
"https://akash-rpc.polkachu.com",
"https://akash-mainnet-rpc.cosmonautstakes.com",
"https://rpc-akash-ia.cosmosia.notional.ventures",
"https://akash-rpc.kleomedes.network"
],
cosmosDirectoryId: "akash",
connectionString: process.env.AkashDatabaseCS,
genesisFileUrl: "https://raw.githubusercontent.com/akash-network/net/master/mainnet/genesis.json",
coinGeckoId: "akash-network",
logoUrlSVG: "https://raw.githubusercontent.com/cosmos/chain-registry/master/akash/images/akt.svg",
logoUrlPNG: "https://cloudmos.io/images/chains/akash.png",
customIndexers: ["AkashStatsIndexer"],
bech32Prefix: "akash",
denom: "akt",
udenom: "uakt",
customBlockModel: AkashBlock,
customMessageModel: AkashMessage,
customModels: [
AkashBlock,
AkashMessage,
Bid,
Deployment,
DeploymentGroup,
DeploymentGroupResource,
Lease,
Provider,
ProviderAttribute,
ProviderAttributeSignature,
ProviderSnapshot
]
},
akashTestnet: {
code: "akash-testnet",
rpcNodes: ["https://rpc.testnet-02.aksh.pw:443", "https://akash-testnet-rpc.cosmonautstakes.com:443"],
cosmosDirectoryId: "akash",
connectionString: process.env.AkashTestnetDatabaseCS,
genesisFileUrl: "https://raw.githubusercontent.com/akash-network/net/master/testnet-02/genesis.json",
coinGeckoId: "akash-network",
logoUrlSVG: "https://raw.githubusercontent.com/cosmos/chain-registry/master/akash/images/akt.svg",
logoUrlPNG: "https://cloudmos.io/images/chains/akash.png",
customIndexers: ["AkashStatsIndexer"],
bech32Prefix: "akash",
denom: "akt",
udenom: "uakt",
customBlockModel: AkashBlock,
customMessageModel: AkashMessage,
customModels: [
AkashBlock,
AkashMessage,
Bid,
Deployment,
DeploymentGroup,
DeploymentGroupResource,
Lease,
Provider,
ProviderAttribute,
ProviderAttributeSignature,
ProviderSnapshot
]
},
akashSandbox: {
code: "akash-sandbox",
rpcNodes: ["https://rpc.sandbox-01.aksh.pw"],
cosmosDirectoryId: "akash",
connectionString: process.env.AkashSandboxDatabaseCS,
genesisFileUrl: "https://raw.githubusercontent.com/akash-network/net/master/sandbox/genesis.json",
coinGeckoId: "akash-network",
logoUrlSVG: "https://raw.githubusercontent.com/cosmos/chain-registry/master/akash/images/akt.svg",
logoUrlPNG: "https://cloudmos.io/images/chains/akash.png",
customIndexers: ["AkashStatsIndexer"],
bech32Prefix: "akash",
denom: "akt",
udenom: "uakt",
customBlockModel: AkashBlock,
customMessageModel: AkashMessage,
customModels: [
AkashBlock,
AkashMessage,
Bid,
Deployment,
DeploymentGroup,
DeploymentGroupResource,
Lease,
Provider,
ProviderAttribute,
ProviderAttributeSignature,
ProviderSnapshot
]
},
passage: {
code: "passage",
rpcNodes: [
"https://rpc-passage.ecostake.com",
"https://rpc-passage-ia.cosmosia.notional.ventures",
"https://services.staketab.com/passage-rpc",
"https://passage-rpc.panthea.eu",
"https://passage-rpc.polkachu.com",
"https://rpc.passage.vitwit.com"
],
cosmosDirectoryId: "passage",
connectionString: process.env.PassageDatabaseCS,
genesisFileUrl: "https://raw.githubusercontent.com/envadiv/mainnet/main/passage-1/genesis.json",
coinGeckoId: null,
customIndexers: [],
bech32Prefix: "pasg",
denom: "pasg",
udenom: "upasg"
},
juno: {
code: "juno",
rpcNodes: [
"https://rpc-juno.ecostake.com",
"https://rpc.juno.pupmos.network",
"https://rpc.juno.interbloc.org",
"https://rpc-juno.itastakers.com",
"https://juno-rpc.polkachu.com",
"https://juno-rpc.lavenderfive.com:443",
"https://rpc.juno.chaintools.tech",
"https://rpc-juno-ia.cosmosia.notional.ventures",
"https://rpc-juno.whispernode.com",
"https://juno-rpc.reece.sh"
],
cosmosDirectoryId: "juno",
connectionString: process.env.JunoDatabaseCS,
genesisFileUrl: "https://raw.githubusercontent.com/CosmosContracts/mainnet/main/juno-1/genesis.json",
coinGeckoId: "juno-network",
logoUrlSVG: "https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/images/juno.svg",
logoUrlPNG: "https://cloudmos.io/images/chains/juno.png",
customIndexers: [],
bech32Prefix: "juno",
denom: "juno",
udenom: "ujuno",
startHeight: 9_426_289
},
cosmos: {
code: "cosmos",
rpcNodes: [
"https://rpc-cosmoshub.ecostake.com",
"https://rpc-cosmoshub.goldenratiostaking.net",
"https://cosmoshub-rpc.lavenderfive.com:443",
"https://rpc.cosmos.dragonstake.io",
"https://cosmos-rpc.icycro.org",
"https://cosmos-rpc.quickapi.com:443",
"https://cosmoshub.rpc.stakin.com",
"https://rpc-cosmoshub-ia.cosmosia.notional.ventures",
"https://rpc.cosmoshub.pupmos.network",
"https://cosmos-rpc.polkachu.com",
"https://rpc.cosmoshub.strange.love",
"https://cosmoshub.rpc.interchain.ivaldilabs.xyz",
"https://rpc.cosmos.silknodes.io",
"https://rpc.cosmos.network:443",
"https://rpc-cosmoshub.architectnodes.com",
"https://rpc-cosmoshub.blockapsis.com",
"https://rpc-cosmoshub.whispernode.com"
],
cosmosDirectoryId: "cosmoshub",
connectionString: process.env.CosmosDatabaseCS,
genesisFileUrl: "https://raw.githubusercontent.com/cosmos/mainnet/master/genesis/genesis.cosmoshub-4.json.gz",
coinGeckoId: "cosmos",
logoUrlSVG: "https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.svg",
logoUrlPNG: "https://cloudmos.io/images/chains/atom.png",
customIndexers: [],
bech32Prefix: "cosmos",
denom: "atom",
udenom: "uatom",
startHeight: 16_416_294
},
osmosis: {
code: "osmosis",
rpcNodes: [
"https://rpc-osmosis-ia.cosmosia.notional.ventures",
"https://osmosis.rpc.stakin-nodes.com",
"https://rpc-osmosis.ecostake.com",
"https://rpc.osmosis.zone",
"https://osmosis-rpc.polkachu.com",
"https://osmosis-rpc.quickapi.com:443",
"https://osmosis-rpc.ibs.team",
"https://osmosis-rpc.lavenderfive.com:443",
"https://rpc-osmosis.blockapsis.com",
"https://rpc.osmosis.silknodes.io",
"https://osmosis.rpc.chandrastation.com:443"
],
cosmosDirectoryId: "osmosis",
connectionString: process.env.OsmosisDatabaseCS,
genesisFileUrl: "https://github.com/osmosis-labs/networks/blob/main/osmosis-1/genesis.json",
coinGeckoId: "osmosis",
logoUrlSVG: "https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/images/osmo.svg",
logoUrlPNG: "https://cloudmos.io/images/chains/osmo.png",
customIndexers: [],
bech32Prefix: "osmo",
denom: "osmo",
udenom: "uosmo",
startHeight: 10_817_394
},
stargaze: {
code: "stargaze",
rpcNodes: [
"https://rpc.stargaze-apis.com",
"https://stargaze-rpc.polkachu.com",
"https://rpc-stargaze.pupmos.network",
"https://rpc-stargaze-ia.cosmosia.notional.ventures",
"https://rpc-stargaze.d-stake.xyz",
"https://rpc.stargaze.silentvalidator.com",
"https://stargaze-rpc.ibs.team"
],
cosmosDirectoryId: "stargaze",
connectionString: process.env.StargazeDatabaseCS,
genesisFileUrl: "https://raw.githubusercontent.com/public-awesome/mainnet/main/stargaze-1/genesis.tar.gz",
coinGeckoId: "stargaze",
logoUrlSVG: "https://raw.githubusercontent.com/cosmos/chain-registry/master/stargaze/images/stars.png",
logoUrlPNG: "https://cloudmos.io/images/chains/stars.png",
customIndexers: [],
bech32Prefix: "stars",
denom: "stars",
udenom: "ustars",
startHeight: 9_401_277
},
secret: {
code: "secret",
rpcNodes: [
"https://rpc.secret.forbole.com/",
"https://scrt-rpc.agoranodes.com",
"https://secretnetwork-rpc.stakely.io",
"https://rpc-secret.whispernode.com"
],
cosmosDirectoryId: "secretnetwork",
connectionString: process.env.SecretDatabaseCS,
genesisFileUrl: "https://raw.githubusercontent.com/enigmampc/SecretNetwork/master/secret-testnet-genesis.json",
coinGeckoId: "secret",
logoUrlSVG: "https://raw.githubusercontent.com/cosmos/chain-registry/master/secretnetwork/images/scrt.svg",
logoUrlPNG: "https://cloudmos.io/images/chains/scrt.png",
customIndexers: [],
bech32Prefix: "secret",
denom: "scrt",
udenom: "uscrt",
startHeight: 10_024_705
},
evmos: {
code: "evmos",
rpcNodes: [
"https://rpc.evmos.tcnetwork.io",
"https://tendermint.bd.evmos.org:26657",
"https://rpc.evmos.bh.rocks",
"https://rpc-evmos.ecostake.com",
"https://rpc.evmos.interbloc.org",
"https://rpc.evmos.nodestake.top",
"https://rpc-evmos.goldenratiostaking.net",
"https://rpc-evmos-ia.cosmosia.notional.ventures:443",
"https://rpc.evmos.silentvalidator.com/",
"https://evmos.rpc.stakin-nodes.com",
"https://rpc-evmos.architectnodes.com",
"https://rpc.evmos.chaintools.tech/",
"https://evmos-rpc.lavenderfive.com:443",
"https://rpc.evmos.silknodes.io/"
],
cosmosDirectoryId: "evmos",
connectionString: process.env.EvmosDatabaseCS,
genesisFileUrl: "https://archive.evmos.org/mainnet/genesis.json",
coinGeckoId: "evmos",
logoUrlSVG: "https://raw.githubusercontent.com/cosmos/chain-registry/master/evmos/images/evmos.svg",
logoUrlPNG: "https://cloudmos.io/images/chains/evmos.png",
customIndexers: [],
bech32Prefix: "evmos",
denom: "evmos",
udenom: "uevmos",
startHeight: 14_993_969
},
huahua: {
code: "huahua",
rpcNodes: [
"https://rpc-chihuahua-ia.cosmosia.notional.ventures/",
"https://rpc-chihuahua.ecostake.com",
"https://rpc.chihuahua.wtf/",
"https://rpc.huahua.bh.rocks",
"https://chihuahua-rpc.polkachu.com",
"https://chihuahua-rpc.kleomedes.network",
"https://rpc-chihuahua.pupmos.network/"
],
cosmosDirectoryId: "chihuahua",
connectionString: process.env.HuahuaDatabaseCS,
genesisFileUrl: "https://raw.githubusercontent.com/ChihuahuaChain/chihuahua/main/mainnet/genesis.json",
coinGeckoId: "chihuahua-chain",
logoUrlSVG: "https://raw.githubusercontent.com/cosmos/chain-registry/master/chihuahua/images/huahua.svg",
logoUrlPNG: "https://cloudmos.io/images/chains/huahua.png",
customIndexers: [],
bech32Prefix: "chihuahua",
denom: "HUAHUA",
udenom: "uhuahua",
startHeight: 8_612_168
},
stride: {
code: "stride",
rpcNodes: [
"https://stride.nodejumper.io:443",
"http://rpc-stride.nodeist.net",
"https://stride.rpc.kjnodes.com",
"https://rpc.stride.bh.rocks",
"https://stride-rpc.lavenderfive.com/",
"https://rpc.stride.silentvalidator.com/",
"https://stride-rpc.polkachu.com/",
"https://rpc-stride.pupmos.network",
"https://rpc-stride.architectnodes.com",
"https://stride.rpc.chandrastation.com",
"https://stride.rpc.interchain.ivaldilabs.xyz"
],
cosmosDirectoryId: "stride",
connectionString: process.env.StrideDatabaseCS,
genesisFileUrl: "https://raw.githubusercontent.com/Stride-Labs/testnet/main/mainnet/genesis.json",
coinGeckoId: "stride",
logoUrlSVG: "https://raw.githubusercontent.com/cosmos/chain-registry/master/stride/images/strd.svg",
logoUrlPNG: "https://cloudmos.io/images/chains/strd.png",
customIndexers: [],
bech32Prefix: "stride",
denom: "STRD",
udenom: "ustrd",
startHeight: 4_823_860
},
kujira: {
code: "kujira",
rpcNodes: [
"https://rpc-kujira.ecostake.com",
"https://rpc-kujira.nodeist.net",
"https://rpc-kujira.starsquid.io",
"https://rpc-kujira-ia.cosmosia.notional.ventures/",
"https://rpc.kujira.chaintools.tech/",
"https://kujira-rpc.ibs.team/",
"https://kujira.rpc.kjnodes.com",
"https://kuji-rpc.kleomedes.network",
"https://kujira-rpc.polkachu.com",
"https://kujira-rpc.wildsage.io",
// "https://rpc.kaiyo.kujira.setten.io",
"https://kujira-rpc.lavenderfive.com:443",
"https://rpc-kujira.whispernode.com"
],
cosmosDirectoryId: "kujira",
connectionString: process.env.KujiraDatabaseCS,
genesisFileUrl: "https://raw.githubusercontent.com/Team-Kujira/networks/master/mainnet/kaiyo-1.json",
coinGeckoId: "kujira",
logoUrlSVG: "https://raw.githubusercontent.com/cosmos/chain-registry/master/kujira/images/kuji.png",
logoUrlPNG: "https://cloudmos.io/images/chains/kuji.png",
customIndexers: [],
bech32Prefix: "kujira",
denom: "KUJI",
udenom: "ukuji",
startHeight: 12_975_265
}
};
export const activeChain = chainDefinitions[process.env.ActiveChain || "akash"];