aboutsummaryrefslogtreecommitdiffstats
path: root/dex/downloader
Commit message (Collapse)AuthorAgeFilesLines
* dex: Add a flag to GetBlockHeadersMsg and GetBlockBodiesMsg (#188)Sonic2019-04-093-10/+10
| | | | | | | | | * dex: Add a flag to GetBlockHeadersMsg and GetBlockBodiesMsg So that we can dispatch the response msg to fetcher or downloader easily. * fixup! dex: Add a flag to GetBlockHeadersMsg and GetBlockBodiesMsg
* consensus: dexcon: snapshot round height when finalizing block (#170)Wei-Ning Huang2019-04-091-9/+0
| | | | Instead of having BP to send a tx to register the round height, just modify the state when finalizing block.
* core, dex/downloader: polish headers verification and blocks insertion logic ↵Sonic2019-04-093-32/+217
| | | | | | | | (#168) Refactor GenerateDexonChain function, move governance tx logic to the user of GenerateDexonChain (testchain_test.go) and move fake node set code to FakeDexcon.
* dex/downloader: fix bug when syncing (#106)Sonic2019-04-091-2/+13
| | | | | Since blocks will interleave around round change, we will probably need to verify blocks at previous round.
* dex: replace total difficulty with block number (#73)Sonic2019-04-094-87/+67
| | | | | | | In dexon, we don't "mine" and the blockchain won't and shouldn't fork, so there is no difficulty concept, just replace it with block number. Note: this commit only replace total difficulty related logic and code in dex, dex/downloader package.
* Fix lintWei-Ning Huang2019-04-092-8/+8
|
* dex/downloader: fix testsSonic2019-04-092-242/+114
|
* core, dex, downloader: refactor governanceSonic2019-04-091-109/+33
|
* core, dex, dex/downloader: restore insertChain to upstream versionSonic2019-04-091-6/+6
| | | | | Also rename InsertChain2, insertChain2, InsertHeaderChain2, ValidateHeaderChain2
* dex: implement downloader for dexSonic2019-04-097-72/+391
| | | | | | | | | | | 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.
* dex: copy fetcher and downloader from ethSonic2019-04-0912-0/+5871