aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorSonic <sonic@dexon.org>2018-11-20 14:13:53 +0800
committerWei-Ning Huang <w@dexon.org>2019-04-09 13:49:57 +0800
commit02689340e9d9949d5ce86b52c9c08bbb8a3f5956 (patch)
tree2557319f59cdb809530f39b28e5b7a667ca3d9e7 /core
parent51e4ce9ac821021d3bcd494758b44840982b1831 (diff)
downloaddexon-02689340e9d9949d5ce86b52c9c08bbb8a3f5956.tar
dexon-02689340e9d9949d5ce86b52c9c08bbb8a3f5956.tar.gz
dexon-02689340e9d9949d5ce86b52c9c08bbb8a3f5956.tar.bz2
dexon-02689340e9d9949d5ce86b52c9c08bbb8a3f5956.tar.lz
dexon-02689340e9d9949d5ce86b52c9c08bbb8a3f5956.tar.xz
dexon-02689340e9d9949d5ce86b52c9c08bbb8a3f5956.tar.zst
dexon-02689340e9d9949d5ce86b52c9c08bbb8a3f5956.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.go5
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"`
+}