FaucetClient
FaucetClient
class FaucetClient
init(faucetUrl:)
convenience init(faucetUrl: String)
Construct a new FaucetClient with the given faucet service URL. This
FaucetClient expects that the service provides two endpoints:
/v1/gas and /v1/status. As such, do not provide the request
endpoint, just the top level service endpoint.
- /v1/gas is used to request gas
- /v1/status/task-uuid is used to check the status of the request
request(address:)
func request(address: Address) async throws -> String?
Request gas from the faucet. Note that this will return the UUID of the
request and not wait until the token is received. Use
request_and_wait to wait for the token.
requestAndWait(address:)
func requestAndWait(address: Address) async throws -> FaucetReceipt?
Request gas from the faucet and wait until the request is completed and
token is transferred. Returns FaucetReceipt if the request is
successful, which contains the list of tokens transferred, and the
transaction digest.
Note that the faucet is heavily rate-limited, so calling repeatedly the faucet would likely result in a 429 code or 502 code.
If you intend to use the transferred tokens with the graphql client,
consider using request_and_wait_for_finalized instead to ensure
the tokens are available in the indexer.
requestAndWaitForFinalized(address:client:)
func requestAndWaitForFinalized(address: Address, client: GraphQlClient) async throws -> FaucetReceipt?
Request gas from the faucet and wait until the request is completed and
token is transferred and finalized on the ledger. Returns
FaucetReceipt if the request is successful, which contains the
list of tokens transferred, and the transaction digest.
This is a convenience method that combines request_and_wait and
waiting for the funding transactions to be finalized using the provided
GraphQL Client.
requestStatus(id:)
func requestStatus(id: String) async throws -> BatchSendStatus?
Check the faucet request status.
Possible statuses are defined in: BatchSendStatusType
newLocalnet()
static func newLocalnet() -> FaucetClient
Create a new Faucet client connected to a localnet faucet.