mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2025-01-10 11:41:21 +00:00
5aac06f04e
* begin move * use same import path * imports * regen protos * regen * no rename * generate ssz * gaz * fmt * edit build file * imports * modify * remove generated files * remove protos * edit imports in prysm * beacon chain all builds * edit script * add generated pbs * add replace rules * license for ethereumapis protos * change visibility * fmt * update build files to gaz ignore * use proper form * edit imports * wrap block * revert scripts * revert go mod
58 lines
1.7 KiB
Protocol Buffer
58 lines
1.7 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package prysm.beacon.db;
|
|
|
|
import "proto/eth/v1alpha1/beacon_block.proto";
|
|
import "proto/beacon/p2p/v1/types.proto";
|
|
|
|
option go_package = "github.com/prysmaticlabs/prysm/proto/beacon/db";
|
|
|
|
// ETH1ChainData is a container which holds all the relevant eth1
|
|
// information
|
|
message ETH1ChainData {
|
|
LatestETH1Data current_eth1_data = 1 ;
|
|
ChainStartData chainstart_data = 2;
|
|
ethereum.beacon.p2p.v1.BeaconState beacon_state = 3;
|
|
SparseMerkleTrie trie = 4;
|
|
repeated DepositContainer deposit_containers = 5;
|
|
}
|
|
|
|
// LatestETH1Data contains the current state of the eth1 chain.
|
|
message LatestETH1Data {
|
|
uint64 block_height = 2;
|
|
uint64 block_time = 3;
|
|
bytes block_hash = 4;
|
|
uint64 last_requested_block = 5;
|
|
}
|
|
|
|
// ChainStartData contains all the information related to chainstart.
|
|
message ChainStartData {
|
|
bool chainstarted = 1;
|
|
uint64 genesis_time = 2;
|
|
uint64 genesis_block = 3;
|
|
ethereum.eth.v1alpha1.Eth1Data eth1_data = 4;
|
|
repeated ethereum.eth.v1alpha1.Deposit chainstart_deposits = 5;
|
|
}
|
|
|
|
// SparseMerkleTrie is used to describe the model of our deposit trie.
|
|
message SparseMerkleTrie {
|
|
uint64 depth = 1;
|
|
repeated TrieLayer layers = 2;
|
|
repeated bytes original_items = 3;
|
|
}
|
|
|
|
// TrieLayer is used to represent each layer in the deposit tree due to
|
|
// the lack of protobuf support for multi-dimensional arrays.(Ex: 3d,4d,...)
|
|
message TrieLayer {
|
|
repeated bytes layer = 1;
|
|
}
|
|
|
|
// DepositContainer defines a container that can be used to store
|
|
// deposit related information for a particular deposit.
|
|
message DepositContainer {
|
|
int64 index = 1;
|
|
uint64 eth1_block_height = 2;
|
|
ethereum.eth.v1alpha1.Deposit deposit = 3;
|
|
bytes deposit_root = 4;
|
|
}
|