messageScheme {// The virtual address of the scheme.aelf.Addressvirtual_address=1;// The total weight of the scheme.int64total_shares=2;// The manager of the scheme.aelf.Addressmanager=3;// The current period.int64current_period=4;// Sub schemes information.repeatedSchemeBeneficiarySharesub_schemes=5;// Whether you can directly remove the beneficiary.boolcan_remove_beneficiary_directly=6;// Period of profit distribution.int64profit_receiving_due_period_count=7;// Whether all the schemes balance will be distributed during distribution each period.boolis_release_all_balance_every_time_by_default=8;// The is of the scheme.aelf.Hashscheme_id=9;// Delay distribute period.int32delay_distribute_period_count=10;// Record the scheme's current total share for deferred distribution of benefits, period -> total shares.map<int64, int64>cached_delay_total_shares=11;// The received token symbols.repeatedstringreceived_token_symbols=12;}
message ProfitDetail {
// The start period number.
int64 start_period = 1;
// The end period number.
int64 end_period = 2;
// The weight of the proceeds on the current period of the scheme.
int64 shares = 3;
// The last period number that the beneficiary received the profit.
int64 last_profit_period = 4;
// Whether the weight has been removed.
bool is_weight_removed = 5;
aelf.Hash id = 6;
}
message BeneficiaryShare {
// The address of beneficiary.
aelf.Address beneficiary = 1;
// The profit weight of the beneficiary in the scheme.
int64 shares = 2;
}
message SchemeBeneficiaryShare {
// The id of the sub scheme.
aelf.Hash scheme_id = 1;
// The weight of the sub scheme.
int64 shares = 2;
}