@@ -2,21 +2,72 @@ import { Ticker } from 'types/ticker'
22import { Network } from '../../types/network'
33import { Layer } from '../../oasis-nexus/api'
44import { faucets } from './externalLinks'
5+ import { TFunction } from 'i18next'
56
6- const faucetLinks : Partial < Record < Network , Partial < Record < Layer , Partial < Record < Ticker , string > > > > > > = {
7- testnet : {
8- consensus : { [ Ticker . TEST ] : faucets . oasisTestnet } ,
9- emerald : { [ Ticker . TEST ] : `${ faucets . oasisTestnet } ?paratime=emerald` } ,
10- sapphire : { [ Ticker . TEST ] : `${ faucets . oasisTestnet } ?paratime=sapphire` } ,
11- cipher : { [ Ticker . TEST ] : `${ faucets . oasisTestnet } ?paratime=cipher` } ,
12- pontusxdev : {
13- [ Ticker . EUROe ] : `mailto:contact@delta-dao.com?subject=${ encodeURIComponent ( 'Request test tokens for Pontus-X Devnet' ) } ` ,
14- } ,
15- pontusxtest : {
16- [ Ticker . EUROe ] : `mailto:contact@delta-dao.com?subject=${ encodeURIComponent ( 'Request test tokens for Pontus-X Testnet' ) } ` ,
17- } ,
18- } ,
7+ type FaucetInfo = {
8+ url : string
9+ description : string
10+ title : string
11+ label : string
1912}
2013
21- export const getFaucetLink = ( network : Network , layer : Layer , ticker : Ticker ) =>
22- faucetLinks [ network ] ?. [ layer ] ?. [ ticker ]
14+ export const getFaucetInfo = (
15+ t : TFunction ,
16+ network : Network ,
17+ layer : Layer ,
18+ ticker : Ticker ,
19+ ) : FaucetInfo | undefined => {
20+ const faucetLinks : Partial < Record < Network , Partial < Record < Layer , Partial < Record < Ticker , FaucetInfo > > > > > > = {
21+ testnet : {
22+ consensus : {
23+ [ Ticker . TEST ] : {
24+ url : faucets . oasisTestnet ,
25+ description : t ( 'testnetFaucet.description' ) ,
26+ title : t ( 'testnetFaucet.header' ) ,
27+ label : t ( 'testnetFaucet.request' ) ,
28+ } ,
29+ } ,
30+ emerald : {
31+ [ Ticker . TEST ] : {
32+ url : `${ faucets . oasisTestnet } ?paratime=emerald` ,
33+ description : t ( 'testnetFaucet.description' ) ,
34+ title : t ( 'testnetFaucet.header' ) ,
35+ label : t ( 'testnetFaucet.request' ) ,
36+ } ,
37+ } ,
38+ sapphire : {
39+ [ Ticker . TEST ] : {
40+ url : `${ faucets . oasisTestnet } ?paratime=sapphire` ,
41+ description : t ( 'testnetFaucet.description' ) ,
42+ title : t ( 'testnetFaucet.header' ) ,
43+ label : t ( 'testnetFaucet.request' ) ,
44+ } ,
45+ } ,
46+ cipher : {
47+ [ Ticker . TEST ] : {
48+ url : `${ faucets . oasisTestnet } ?paratime=cipher` ,
49+ description : t ( 'testnetFaucet.description' ) ,
50+ title : t ( 'testnetFaucet.header' ) ,
51+ label : t ( 'testnetFaucet.request' ) ,
52+ } ,
53+ } ,
54+ pontusxdev : {
55+ [ Ticker . EUROe ] : {
56+ url : `mailto:contact@delta-dao.com?subject=${ encodeURIComponent ( 'Request test tokens for Pontus-X Devnet' ) } ` ,
57+ description : t ( 'pontusx.testTokens.description' ) ,
58+ title : t ( 'pontusx.testTokens.header' ) ,
59+ label : t ( 'pontusx.testTokens.request' ) ,
60+ } ,
61+ } ,
62+ pontusxtest : {
63+ [ Ticker . EUROe ] : {
64+ url : `mailto:contact@delta-dao.com?subject=${ encodeURIComponent ( 'Request test tokens for Pontus-X Testnet' ) } ` ,
65+ description : t ( 'pontusx.testTokens.description' ) ,
66+ title : t ( 'pontusx.testTokens.header' ) ,
67+ label : t ( 'pontusx.testTokens.request' ) ,
68+ } ,
69+ } ,
70+ } ,
71+ }
72+ return faucetLinks [ network ] ?. [ layer ] ?. [ ticker ]
73+ }
0 commit comments