syntax = "proto3";

package proto;

option java_package = "com.hederahashgraph.api.proto.java";
option java_multiple_files = true;

import "BasicTypes.proto";
import "QueryHeader.proto";
import "ResponseHeader.proto";

/* Get all the accounts that are proxy staking to this account. For each of them, give the amount currently staked. This is not yet implemented, but will be in a future version of the API. */
message CryptoGetStakersQuery {
    QueryHeader header = 1; // standard info sent from client to node, including the signed payment, and what kind of response is requested (cost, state proof, both, or neither).
    AccountID accountID = 2; // the account for which the records should be retrieved
}

/* information about a single account that is proxy staking */
message ProxyStaker {
    AccountID accountID = 1; // the account that is proxy staking
    int64 amount = 2; // number of hbars that are currently proxy staked
}

/* all of the accounts proxy staking to a given account, and the amounts proxy staked */
message AllProxyStakers {
    AccountID accountID = 1; // the account that is being proxy staked to
    repeated ProxyStaker proxyStaker = 2; // each of the proxy staking accounts, and the amount they are proxy staking
}
/* Response when the client sends the node CryptoGetStakersQuery */
message CryptoGetStakersResponse {
    ResponseHeader header = 1; //standard response from node to client, including the requested fields: cost, or state proof, or both, or neither
    AllProxyStakers stakers = 3; // list of accounts proxy staking to this account, and the amount each is currently proxy staking
}
