Skip to main content

FaucetClientProtocol

FaucetClientProtocol Objects

class FaucetClientProtocol(typing.Protocol)

request

async def request(address: Address) -> typing.Optional[str]

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.

request_and_wait

async def request_and_wait(address: Address) -> typing.Optional[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.

request_and_wait_for_finalized

async def request_and_wait_for_finalized(
address: Address,
client: GraphQlClient) -> typing.Optional[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.

request_status

async def request_status(id: str) -> typing.Optional[BatchSendStatus]

Check the faucet request status.

Possible statuses are defined in: BatchSendStatusType