UNPKG

cactus-agent

Version:
73 lines (54 loc) 2.06 kB
import {str, uint64} from "../../cactus/types/_python_types_"; import {TRPCAgent} from "../../../rpc"; import { ErrorResponse, GetFarmerResponse, GetPoolInfoResponse, PostFarmerRequest, PostFarmerResponse, PostPartialRequest, PostPartialResponse, PutFarmerRequest, PutFarmerResponse } from "../../cactus/protocols/pool_protocol"; import {FarmerRecord} from "../../cactus/pool/store"; export type TPoolInfoResponse = GetPoolInfoResponse; export async function pool_info(agent: TRPCAgent){ return agent.request<TPoolInfoResponse>("GET", "pool_info"); } export type TGetFarmerRequest = { launcher_id: str; authentication_token: str; signature: str; }; export type TGetFarmerResponse = GetFarmerResponse; export async function get_farmer(agent: TRPCAgent, data: TGetFarmerRequest){ return agent.request<TGetFarmerResponse>("GET", "farmer"); } export type TPostFarmerRequest = PostFarmerRequest; export type TPostFarmerResponse = PostFarmerResponse | ErrorResponse; export async function post_farmer(agent: TRPCAgent, data: TPostFarmerRequest){ return agent.request<TPostFarmerResponse>("POST", "farmer"); } export type TPutFarmerRequest = PutFarmerRequest; export type TPutFarmerResponse = PutFarmerResponse | ErrorResponse; export async function put_farmer(agent: TRPCAgent, data: TPutFarmerRequest){ return agent.request<TPutFarmerResponse>("PUT", "farmer"); } export type TPartialRequest = PostPartialRequest; export type TPartialResponse = PostPartialResponse | ErrorResponse; export async function partial(agent: TRPCAgent, data: TPartialRequest){ return agent.request<TPartialResponse>("POST", "partial", data); } export type TLoginRequest = { launcher_id: str; authentication_token: uint64; signature: str; }; export type TLoginResponse = { farmer_record: FarmerRecord; recent_partials: Array<[uint64, uint64]>; // Array of tuple [timestamp, difficulty] } | { }; export async function login(agent: TRPCAgent, data: TLoginRequest){ return agent.request<TLoginResponse>("GET", "login", data); }