The core protocol of WoopChain
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
woop/api/client/service/proto/client.proto

54 lines
1.6 KiB

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;
}