syntax = "proto3"; package client; // Client is the service used for any client-facing requests. service ClientService { rpc FetchAccountState(FetchAccountStateRequest) returns (FetchAccountStateResponse) {} rpc GetFreeToken(GetFreeTokenRequest) returns (GetFreeTokenResponse) {} rpc GetStakingContractInfo(StakingContractInfoRequest) returns (StakingContractInfoResponse) {} } // FetchAccountStateRequest is the request to fetch an account's balance and nonce. message FetchAccountStateRequest { // The account address bytes address = 1; } // FetchAccountStateResponse is the response of FetchAccountStateRequest. message FetchAccountStateResponse { // The balance of the account (big.Int) bytes balance = 1; // The nonce of the account uint64 nonce = 2; } // GetFreeTokenRequest is the request to get free token from the faucet smart contract. message GetFreeTokenRequest { // The account address to receive the free token bytes address = 1; } // GetFreeTokenResponse is the response of GetFreeTokenRequest. message GetFreeTokenResponse { // The transaction Id that requests free token from the faucet. bytes txId = 1; } // StakingContractInfoRequest is the request to necessary info for stkaing. message StakingContractInfoRequest { // The account address bytes address = 1; } // StakingContractInfoResponse is the response of GetStakingContractInfo. message StakingContractInfoResponse { // Contract address. string contract_address = 1; // The balance of the staking account. bytes balance = 2; // The nonce of the staking account. uint64 nonce = 3; }