diff options
author | Sonic <sonic@dexon.org> | 2018-11-20 14:13:53 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@dexon.org> | 2019-04-09 21:32:53 +0800 |
commit | afc01df41cafd3a8b56db9f32e23da3bf0e6b7ef (patch) | |
tree | 28013bb14a19611adecda49d1dfbeb0a34dad66a /core | |
parent | 2113837c006aad6af75c09d37514591fd6863dbc (diff) | |
download | dexon-afc01df41cafd3a8b56db9f32e23da3bf0e6b7ef.tar dexon-afc01df41cafd3a8b56db9f32e23da3bf0e6b7ef.tar.gz dexon-afc01df41cafd3a8b56db9f32e23da3bf0e6b7ef.tar.bz2 dexon-afc01df41cafd3a8b56db9f32e23da3bf0e6b7ef.tar.lz dexon-afc01df41cafd3a8b56db9f32e23da3bf0e6b7ef.tar.xz dexon-afc01df41cafd3a8b56db9f32e23da3bf0e6b7ef.tar.zst dexon-afc01df41cafd3a8b56db9f32e23da3bf0e6b7ef.zip |
dex: implement downloader for dex
We need governance state to verify block's signature (randomness),
but in ethereum fast sync mode, eth downloader only downloads the whole
state of pivot block, so we don't have governance state to verify the
downloaded block that is before pivot block if we don't processing
transaction.
To avoid running transactions, dex downloader also downloads the
governance state (merkle proof and storage) at snapshot height of each round,
so that we can verify blocks in fast sync mode.
Diffstat (limited to 'core')
-rw-r--r-- | core/types/govstate.go | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/core/types/govstate.go b/core/types/govstate.go index 75f77cb0d..2c3dff933 100644 --- a/core/types/govstate.go +++ b/core/types/govstate.go @@ -13,3 +13,8 @@ type GovState struct { Proof [][]byte Storage [][2][]byte } + +type HeaderWithGovState struct { + *Header + GovState *GovState `rlp:"nil"` +} |