Skip to content

Conversation

@init4samwise
Copy link

Summary

Add faucet functionality to the TypeScript SDK for requesting testnet tokens programmatically.

Features

  • createFaucetClient() factory function for creating faucet clients
  • requestTokens(address, assets?) to request USD and/or ETH testnet tokens
  • checkCooldown(addresses) to check rate limit status for up to 100 addresses
  • canRequest(address) convenience method to check if an address can request tokens
  • Comprehensive error handling with typed FaucetRequestError
  • Full TypeScript types for all API requests and responses

Usage

import { createFaucetClient } from "@signet-sh/sdk/faucet";

const faucet = createFaucetClient("https://faucet.pecorino.signet.sh");

// Request testnet tokens
const result = await faucet.requestTokens("0x...");
console.log(result.message);

// Check if can request more
const canDrip = await faucet.canRequest("0x...");

Testing

  • 15 unit tests covering all functionality
  • Mocked fetch for isolated testing
  • Tests for success, error, and edge cases

Closes ENG-1838

Add faucet functionality to the TypeScript SDK for requesting testnet tokens.

Features:
- createFaucetClient() factory function
- requestTokens() to drip USD and ETH tokens
- checkCooldown() to check rate limit status
- canRequest() convenience method
- Comprehensive error handling with FaucetRequestError
- Full TypeScript types for all API responses

Closes ENG-1838
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant