getFaucetUrl method
Get Faucet URL
This method returns the appropriate Faucet URL for funding an XRPL account based on the provided XRPL server URL. It handles different XRPL network URLs and selects the corresponding Faucet URL.
Parameters:
url
: The XRPL server URL.faucetHost
: (Optional) A custom Faucet host to use.
Returns: A String representing the Faucet URL for funding the XRPL account.
Throws:
- ArgumentError: If the provided XRPL server URL is not recognized or if it's not associated with a supported XRPL network.
Implementation
String getFaucetUrl(String url, [String? faucetHost]) {
if (faucetHost != null) {
return "https://$faucetHost/accounts";
}
if (url.contains("hooks-testnet-v3")) {
return RPCConst.hooksV3TestFaucetUrl;
}
if (url.contains("altnet") || url.contains("testnet")) {
return RPCConst.testFaucetUrl;
}
if (url.contains("amm")) {
return RPCConst.ammDevFaucetUrl;
}
if (url.contains("sidechain-net1")) {
return RPCConst.sidechainDevnetFaucetUrl;
}
if (url.contains("sidechain-net2")) {
throw ArgumentError(
"Cannot fund an account on an issuing chain. Accounts must be created via the bridge.");
}
if (url.contains("devnet")) {
return RPCConst.devFaucetUrl;
}
throw ArgumentError(
"Cannot fund an account with a client that is not on the testnet or devnet.");
}