GenesisConfig.java
package com.syntifi.near.api.model.protocol;
import java.util.Collection;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.syntifi.near.api.model.network.Validator;
import lombok.Getter;
import lombok.Setter;
/**
* @author Alexandre Carvalho
* @author Andre Bertolace
* @since 0.0.1
*/
@Getter
@Setter
public class GenesisConfig {
@JsonProperty("protocol_version")
private long protocolVersion;
@JsonProperty("genesis_time")
private String genesisTime;
@JsonProperty("chain_id")
private String chainId;
@JsonProperty("genesis_height")
private long genesisHeight;
@JsonProperty("num_block_producer_seats")
private long numBlockProducerSeats;
@JsonProperty("num_block_producer_seats_per_shard")
private Collection<Long> numBlockProducerSeatsPerShard;
@JsonProperty("avg_hidden_validator_seats_per_shard")
private Collection<Long> avgHiddenValidatorSeatsPerShard;
@JsonProperty("dynamic_resharding")
private boolean dynamicResharding;
@JsonProperty("protocol_upgrade_stake_threshold")
private Collection<Long> protocolUpgradeStakeThreshold;
@JsonProperty("protocol_upgrade_num_epochs")
private long protocolUpgradeNumEpochs;
@JsonProperty("epoch_length")
private long epochLength;
@JsonProperty("gas_limit")
private long gasLimit;
@JsonProperty("min_gas_price")
private String minGasPrice;
@JsonProperty("max_gas_price")
private String maxGasPrice;
@JsonProperty("block_producer_kickout_threshold")
private long blockProducerKickoutThreshold;
@JsonProperty("chunk_producer_kickout_threshold")
private long chunkProducerKickoutThreshold;
@JsonProperty("online_min_threshold")
private Collection<Long> onlineMinThreshold;
@JsonProperty("online_max_threshold")
private Collection<Long> onlineMaxThreshold;
@JsonProperty("gas_price_adjustment_rate")
private Collection<Long> gasPriceAdjustmentRate;
@JsonProperty("runtime_config")
@JsonInclude(value = Include.NON_NULL)
private RuntimeConfig runtimeConfig;
@JsonProperty("validators")
private Collection<Validator> validators;
@JsonProperty("transaction_validity_period")
private long transactionValidityPeriod;
@JsonProperty("protocol_reward_rate")
private Collection<Long> protocolRewardRate;
@JsonProperty("max_inflation_rate")
private Collection<Long> maxInflationRate;
@JsonProperty("total_supply")
private String totalSupply;
@JsonProperty("num_blocks_per_year")
private long numBlocksPerYear;
@JsonProperty("protocol_treasury_account")
private String protocolTreasuryAccount;
@JsonProperty("fishermen_threshold")
private String fishermenThreshold;
@JsonProperty("minimum_stake_divisor")
private long minimumStakeDivisor;
@JsonProperty("shard_layout")
private ShardLayout shardLayout;
@JsonProperty("simple_nightshade_shard_layout")
private SimpleNightShadeShardLayout simpleNightshadeShardLayout;
@JsonProperty("minimum_stake_ratio")
private Collection<Long> minimumStakeRatio;
}