Params is a module-wide configuration structure that stores system parameters and defines overall functioning of the peggy module. Detailed specification for each parameter can be found in the Parameters section.
Paramsspace("peggy") -> legacy_amino(params)
# Validator Info
# Ethereum Address by Validator
Stores each Validator's corresponding delegate Ethereum address indexed by the validator's account address.
| ||Ethereum address|| ||Protobuf encoded|
# Validator by Ethereum Address
Stores each Validator's account address indexed by Ethereum address.
| ||Validator address|| ||Protobuf encoded|
Stored in two possible ways, first with a height and second without (unsafe). Unsafe is used for testing and export and import of state. Currently Peggy.sol is hardcoded to only accept batches with a single token type and only pay rewards in that same token type.
| ||A batch of outgoing transactions|| ||Protobuf encoded|
This is the validator set of the bridge.
Stored in two possible ways, first with a height and second without (unsafe). Unsafe is used for testing and export and import of state.
| ||Validator set|| ||Protobuf encoded|
The latest validator set slash nonce. This is used to track which validator set needs to be slashed and which already has been.
| ||Nonce||uint64||encoded via big endian|
The latest validator set nonce, this value is updated on every write.
| ||Nonce|| ||encoded via big endian|
# Valset Confirmation
When a validator signs over a validator set this is considered a
valSetConfirmation, these are saved via the current nonce and the orchestrator address.
| ||Validator Confirmation|| ||Protobuf encoded|
When a validator confirms a batch it is added to the confirm batch store. It is stored using the orchestrator, token contract and nonce as the key.
| ||Validator Batch Confirmation|| ||Protobuf encoded|
When a validator would like to delegate their voting power to another key. The value is stored using the orchestrator address as the key
| ||Orchestrator address assigned by a validator|| ||Protobuf encoded|
A validator has an associated counter chain address.
| ||Ethereum address assigned by a validator|| ||Protobuf encoded|
Sets an outgoing transactions into the applications transaction pool to be included into a batch.
| ||User created transaction to be included in a batch|| ||Protobuf encoded|
Represents the latest slashed block height. There is always only a singe value stored.
| ||Latest height a batch slashing occurred|| ||Big endian encoded|
# TokenContract & Denom
A denom that is originally from a counter chain will be from a contract. The token contract and denom are stored in two ways. First, the denom is used as the key and the value is the token contract. Second, the contract is used as the key, the value is the denom the token contract represents.
| ||Token contract address|| ||stored in byte format|
| ||Latest height a batch slashing occurred|| ||stored in byte format|
The last observed event nonce. This is set when
TryAttestation() is called. There is always only a single value held in this store.
| ||Last observed event nonce|| ||Big endian encoded|
This is the last observed height on ethereum. There will always only be a single value stored in this store.
| ||Last observed Ethereum Height|| ||Protobuf encoded|
| ||Attestation of occurred events/claims|| ||Protobuf encoded|