@@ -5,15 +5,31 @@ use std::{str::FromStr as _, sync::LazyLock};
55use strum:: EnumString ;
66
77/// The amount of calibnet FIL to be dripped to the user.
8- static CALIBNET_DRIP_AMOUNT : LazyLock < TokenAmount > = LazyLock :: new ( || TokenAmount :: from_whole ( 5 ) ) ;
8+ static CALIBNET_DRIP_AMOUNT : LazyLock < TokenAmount > = LazyLock :: new ( || {
9+ TokenAmount :: from_nano (
10+ option_env ! ( "CALIBNET_DRIP_AMOUNT" )
11+ . and_then ( |s| s. parse :: < u64 > ( ) . ok ( ) )
12+ . unwrap_or ( 5_000_000_000 ) ,
13+ )
14+ } ) ;
915
1016/// The amount of mainnet FIL to be dripped to the user. This corresponds to 0.01 FIL.
11- static MAINNET_DRIP_AMOUNT : LazyLock < TokenAmount > =
12- LazyLock :: new ( || TokenAmount :: from_nano ( 10_000_000 ) ) ;
17+ static MAINNET_DRIP_AMOUNT : LazyLock < TokenAmount > = LazyLock :: new ( || {
18+ TokenAmount :: from_nano (
19+ option_env ! ( "MAINNET_DRIP_AMOUNT" )
20+ . and_then ( |s| s. parse :: < u64 > ( ) . ok ( ) )
21+ . unwrap_or ( 10_000_000 ) ,
22+ )
23+ } ) ;
1324
1425/// The amount of calibnet `USDFC` to be dripped to the user.
15- static CALIBNET_USDFC_DRIP_AMOUNT : LazyLock < TokenAmount > =
16- LazyLock :: new ( || TokenAmount :: from_whole ( 5 ) ) ;
26+ static CALIBNET_USDFC_DRIP_AMOUNT : LazyLock < TokenAmount > = LazyLock :: new ( || {
27+ TokenAmount :: from_nano (
28+ option_env ! ( "CALIBNET_USDFC_DRIP_AMOUNT" )
29+ . and_then ( |s| s. parse :: < u64 > ( ) . ok ( ) )
30+ . unwrap_or ( 5_000_000_000 ) ,
31+ )
32+ } ) ;
1733
1834/// Multiplier to determine the maximum amount of tokens that can be dripped per wallet every [`FaucetInfo::reset_limiter_seconds`].
1935const MAINNET_PER_WALLET_DRIP_MULTIPLIER : i64 = 1 ;
@@ -143,18 +159,19 @@ impl FaucetInfo {
143159 /// Returns the base URL for transactions on the given faucet. This is used to link to
144160 /// transaction details in the block explorer.
145161 pub fn transaction_base_url ( & self ) -> Option < url:: Url > {
146- match self {
162+ let url_str = match self {
147163 FaucetInfo :: MainnetFIL => {
148- option_env ! ( "FAUCET_TX_URL_MAINNET" ) . and_then ( |url| url :: Url :: parse ( url ) . ok ( ) )
164+ option_env ! ( "FAUCET_TX_URL_MAINNET" ) . unwrap_or ( "https://beryx.io/fil/mainnet/" )
149165 }
150166 FaucetInfo :: CalibnetFIL => {
151- option_env ! ( "FAUCET_TX_URL_CALIBNET" ) . and_then ( |url| url :: Url :: parse ( url ) . ok ( ) )
167+ option_env ! ( "FAUCET_TX_URL_CALIBNET" ) . unwrap_or ( "https://beryx.io/fil/calibration/" )
152168 }
153169 FaucetInfo :: CalibnetUSDFC => {
154- option_env ! ( "FAUCET_TX_URL_CALIBNET" ) . and_then ( |url| url:: Url :: parse ( url) . ok ( ) )
155170 //None // USDFC does not have a transaction base URL for now - to investigate later.
171+ option_env ! ( "FAUCET_TX_URL_CALIBNET" ) . unwrap_or ( "https://beryx.io/fil/calibration/" )
156172 }
157- }
173+ } ;
174+ url:: Url :: parse ( url_str) . ok ( )
158175 }
159176
160177 /// Returns the type of token for the given faucet. This is used to determine how the token
@@ -224,7 +241,7 @@ mod tests {
224241 assert_eq ! ( mainnet_faucet. unit( ) , "FIL" ) ;
225242 assert_eq ! ( mainnet_faucet. network( ) , Network :: Mainnet ) ;
226243 assert_eq ! ( mainnet_faucet. secret_key_name( ) , "SECRET_MAINNET_WALLET" ) ;
227- assert ! ( mainnet_faucet. transaction_base_url( ) . is_none ( ) ) ;
244+ assert ! ( mainnet_faucet. transaction_base_url( ) . is_some ( ) ) ;
228245 assert_eq ! ( mainnet_faucet. token_type( ) , TokenType :: Native ) ;
229246 assert_eq ! ( mainnet_faucet. chain_id( ) , 314 ) ;
230247 assert_eq ! ( mainnet_faucet. max_gas_limit( ) , 10_000_000 ) ;
@@ -251,7 +268,7 @@ mod tests {
251268 assert_eq ! ( calibnet_fil_faucet. unit( ) , "tFIL" ) ;
252269 assert_eq ! ( calibnet_fil_faucet. network( ) , Network :: Testnet ) ;
253270 assert_eq ! ( calibnet_fil_faucet. secret_key_name( ) , "SECRET_WALLET" ) ;
254- assert ! ( calibnet_fil_faucet. transaction_base_url( ) . is_none ( ) ) ;
271+ assert ! ( calibnet_fil_faucet. transaction_base_url( ) . is_some ( ) ) ;
255272 assert_eq ! ( calibnet_fil_faucet. token_type( ) , TokenType :: Native ) ;
256273 assert_eq ! ( calibnet_fil_faucet. chain_id( ) , 314159 ) ;
257274 assert_eq ! ( calibnet_fil_faucet. max_gas_limit( ) , 30_000_000 ) ;
@@ -284,7 +301,7 @@ mod tests {
284301 calibnet_usdfc_faucet. secret_key_name( ) ,
285302 "SECRET_CALIBNET_USDFC_WALLET"
286303 ) ;
287- assert ! ( calibnet_usdfc_faucet. transaction_base_url( ) . is_none ( ) ) ;
304+ assert ! ( calibnet_usdfc_faucet. transaction_base_url( ) . is_some ( ) ) ;
288305 assert_eq ! (
289306 calibnet_usdfc_faucet. token_type( ) ,
290307 TokenType :: Erc20 (
0 commit comments