Commit Graph

88 Commits

Author SHA1 Message Date
ChronosX88
041d6b2d2f
Code cleanup 2021-09-02 20:34:41 +03:00
ChronosX88
0dbcdbde70
Make Ethereum client as interface 2021-08-25 22:10:56 +03:00
ChronosX88
b9047797cc
Rename some consensus subsystem components, clean up init code 2021-08-24 22:41:48 +03:00
ChronosX88
c1cb7a72f7
Refactor cache subsystem for modularity 2021-08-24 22:36:42 +03:00
ChronosX88
656a7f2b29
Add states for submission/dispute to make dispute manager more persistent 2021-08-24 18:18:38 +03:00
ChronosX88
46716ed52d
fix small typo 2021-08-02 20:40:25 +03:00
ChronosX88
7e80654c87
Compare by block timestamp if stake is equal in block selection mechanism 2021-08-02 20:28:44 +03:00
ChronosX88
65afa056bb
FINALLY fix consensus desync issue!!! WOOHOOOOOOOO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2021-07-30 02:04:27 +03:00
ChronosX88
e8b220455e
Fix sync/race issues in consensus, refactor accepted blocks sorting 2021-07-29 00:48:01 +03:00
ChronosX88
cd671e6165
Change temporarily pubsub engine to FloodSub 2021-07-29 00:47:09 +03:00
ChronosX88
d179ffcd76
Implement consensus state change watching to fix stage race conditions 2021-07-27 02:00:15 +03:00
ChronosX88
5e0c7f02fa
Integrate Uber's Fx DI framework, refactor node init code massively 2021-07-22 00:56:58 +03:00
ChronosX88
550d69fb26
Fix approve count for PREPARE state in consensus 2021-07-20 01:40:49 +03:00
ChronosX88
a6cf757fcf
Implement handler for NewBlock message in SyncManager, refactor block validation architecture 2021-07-19 23:19:06 +03:00
ChronosX88
bb3bf032d5
Update go-libp2p-pex dependency to v1.1.2 2021-07-15 23:55:06 +03:00
ChronosX88
13951d5c32
Implement event bus for cross-communication between Dione components, overhaul logging part 2021-07-15 23:51:22 +03:00
ChronosX88
d7a1e87939
Make blockchain finally working! 2021-07-12 02:23:00 +03:00
ChronosX88
2845a04704
Fix small bugs/mistakes/typos 2021-07-11 03:32:58 +03:00
ChronosX88
5aadbab600
Refactor dispute manager to new blockchain architecture 2021-07-11 03:08:03 +03:00
ChronosX88
956de703e8
Implement submission for dione task from block transaction 2021-07-11 01:07:35 +03:00
ChronosX88
2952983c94
Fix some minor mistakes in various places 2021-06-15 00:45:35 +03:00
ChronosX88
29c38e80b7
Add missing send to ready channel in consensus state when mining new block 2021-06-11 14:43:48 +03:00
ChronosX88
ea9ceaeda9
Implement block validation at PREPREPARE stage 2021-06-11 14:40:39 +03:00
ChronosX88
ac2bf637a8
Simplify validation process of beacon entries 2021-06-10 23:31:44 +03:00
ChronosX88
ad45e0c554
Fix validation for PREPARE/COMMIT messages 2021-06-09 00:39:48 +03:00
ChronosX88
4e7294e046
Do massive overhaul of consensus part due to new architecture with blockchain, implement chain selection 2021-06-09 00:30:23 +03:00
ChronosX88
025bb9a6d1
Refactor pubsub package again, make it more flexible 2021-06-04 00:15:32 +03:00
ChronosX88
0695d23866
Refactor pubsub package 2021-06-03 00:19:52 +03:00
ChronosX88
2afe85853f
Implement mempool synchronization 2021-06-02 22:45:55 +03:00
ChronosX88
7f85330953
Implement basic mempool 2021-05-14 23:32:39 +03:00
ChronosX88
7e3fca5de5
Refactor cache package to be more general purpose component 2021-05-13 14:49:38 +03:00
ChronosX88
90d1e6d2ad
Fix unnecessary rebroadcast of received consensus message 2021-04-30 23:09:55 +03:00
ChronosX88
ae9c21baaf
Refactor and cleanup consensus code architecture 2021-04-30 22:55:12 +03:00
ChronosX88
c74ec4db26
Remove callback address/method id from NewOracleRequest event properties 2021-04-27 01:01:04 +03:00
ChronosX88
a4af71fb3f
Add error explanations for filecoin-specific checks when it's failed 2021-04-22 22:42:44 +03:00
ChronosX88
7c347b0963
Fix payload validation when chain checks returned error 2021-04-22 22:18:28 +03:00
ChronosX88
ed82d5cd7f
Fix stopping the timer when dispute is successfully finished 2021-04-21 22:38:23 +03:00
ChronosX88
708c0559c7
Fix NPE when receiving commit message of unknown consensus 2021-04-21 22:37:32 +03:00
ChronosX88
b1cfc81cf7
Implement customizing dispute vote window time in dione config 2021-04-21 00:38:54 +03:00
ChronosX88
f0ecad1cbf
Reduce params count for submission in DioneOracle contract, fix small stupid bugs in dione 2021-04-19 22:46:17 +03:00
ChronosX88
1b5f9a0d30
Fix some consensus code which was broken by refactoring 2021-04-16 00:01:27 +03:00
ChronosX88
35e7994da7
Implement basic version of dispute manager, slightly refactor consensus package 2021-03-15 23:39:52 +03:00
ChronosX88
3f0063219f
Integrate DioneOracle contract, cherry-pick event cache implementation from master branch 2021-03-05 22:29:09 +03:00
ChronosX88
63e297a03b
Fix filecoin tx unmarshalling 2020-12-12 16:44:01 +04:00
ChronosX88
b4f5f3fb7d
Add RWMutex to all consensus messages pools to prevent concurrent access to internal data in map 2020-12-07 20:01:10 +04:00
ChronosX88
2278277f76
Fix cbor marshalling/unmarshalling pubsub message (invalid UTF8 string), partly fix gossipsub (sadly, bootstrap node still doesn't see other messages in network) 2020-12-04 22:30:03 +04:00
ChronosX88
e3ce7f4175
Add warning when we don't have payload validation for specific request 2020-12-03 01:21:10 +04:00
ChronosX88
d6ab3503bc
Implement payload validation manager 2020-12-03 01:18:47 +04:00
ChronosX88
1cc5657ed1
Fix equal op in filecoin validation code 2020-12-02 18:27:50 +04:00
ChronosX88
56b8f311f3
Fix signature verify address issue 2020-12-02 18:25:06 +04:00