Skip to main content

FaucetClient

type FaucetClient

type FaucetClient struct {
// contains filtered or unexported fields
}

func FaucetClientNewLocalnet

func FaucetClientNewLocalnet() *FaucetClient

Create a new Faucet client connected to a `localnet` faucet.

func LiftFromExternalFaucetClient

func LiftFromExternalFaucetClient(handle uint64) *FaucetClient

func NewFaucetClient

func NewFaucetClient(faucetUrl string) *FaucetClient

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

func (*FaucetClient) Destroy

func (object *FaucetClient) Destroy()

func (*FaucetClient) Request

func (_self *FaucetClient) Request(address *Address) (*string, error)

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.

func (*FaucetClient) RequestAndWait

func (_self *FaucetClient) RequestAndWait(address *Address) (*FaucetReceipt, error)

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.

func (*FaucetClient) RequestAndWaitForFinalized

func (_self *FaucetClient) RequestAndWaitForFinalized(address *Address, client *GraphQlClient) (*FaucetReceipt, error)

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`.

func (*FaucetClient) RequestStatus

func (_self *FaucetClient) RequestStatus(id string) (*BatchSendStatus, error)

Check the faucet request status.

Possible statuses are defined in: `BatchSendStatusType`