UNPKG

@silvana-one/coordination

Version:

Silvana Coordination Client

91 lines 2.76 kB
"use server"; import { Ed25519Keypair } from "@mysten/sui/keypairs/ed25519"; export async function silvanaFaucet(params) { const { address, amount = 1 } = params; const response = await fetch(`${silvanaFaucetEndpoint()}/fund`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ address, amount, }), }); if (!response.ok) { throw new Error(`Failed to fund address: ${address} ${amount} ${response.status} ${response.statusText}`); } return response.json(); } export async function silvanaFaucetGetKey(params = { autoReturn: false, }) { const response = await fetch(`${silvanaFaucetEndpoint()}/get_key`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ auto_return: params.autoReturn, }), }); if (!response.ok) { throw new Error(`Failed to get key: ${response.status} ${response.statusText}`); } return response.json(); } export async function silvanaFaucetPingKey(params) { const { address } = params; if (!address) { return { message: "Address is required", success: false, }; } const response = await fetch(`${silvanaFaucetEndpoint()}/ping_key`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ address, }), }); if (!response.ok) { throw new Error(`Failed to return key: ${response.status} ${response.statusText}`); } return response.json(); } export async function silvanaFaucetReturnKey(params) { const address = params.address ?? (params.secretKey ? Ed25519Keypair.fromSecretKey(params.secretKey).toSuiAddress() : undefined); if (!address) { return { message: "Address or secret key is required", success: false, }; } const response = await fetch(`${silvanaFaucetEndpoint()}/return_key`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ address, }), }); if (!response.ok) { throw new Error(`Failed to return key: ${response.status} ${response.statusText}`); } return response.json(); } function silvanaFaucetEndpoint() { const silvanaFaucetEndpoint = process.env.SILVANA_FAUCET_ENDPOINT; if (!silvanaFaucetEndpoint) { throw new Error("SILVANA_FAUCET_ENDPOINT is not set"); } return silvanaFaucetEndpoint; } //# sourceMappingURL=faucet.js.map