Commit Graph

173 Commits

Author SHA1 Message Date
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
5645d1951b
Fix some typos 2021-07-11 01:07:04 +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
de5d9cf664
Implement making RPC request & creating DioneTask for holding result of oracle request in transaction payload 2021-06-10 23:32: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
012d4a68c3
Rename BlockPool to BlockChain 2021-06-05 00:19:45 +03:00
ChronosX88
34c88a8d01
Fix LatestBeaconRound in Drand 2021-06-05 00:14:24 +03:00
ChronosX88
2eae45ca38
Add watching new DRAND entries and fix drand entry validation 2021-06-05 00:07:04 +03:00
ChronosX88
8445baafdb
Implement handling new transactions announced on network in SyncManager 2021-06-04 00:21:14 +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
809c5f2a23
Fix mempool init in SyncManager 2021-06-02 22:48:56 +03:00
ChronosX88
2afe85853f
Implement mempool synchronization 2021-06-02 22:45:55 +03:00
ChronosX88
c0e69ff1d0
Implement GetAllTxs function in mempool 2021-05-31 22:24:07 +03:00
ChronosX88
00b041fbb0
Use gob encoding for struct marshalling in redis cache 2021-05-27 22:30:52 +03:00
ChronosX88
3366a71ac1
Change backend for in-memory cache to patrickmn/go-cache 2021-05-27 22:30:11 +03:00
ChronosX88
43871c6141
Add validation of tx hash when syncing 2021-05-27 00:29:37 +03:00
ChronosX88
b51a5ffe75
Implement sync manager, node p2p network rpc service, initial sync algorithm 2021-05-27 00:06:46 +03:00
ChronosX88
1759ecbc8f
Add blockchain config to Config struct 2021-05-26 23:59:05 +03:00
ChronosX88
155fe7bc71
Implement fetching block header by height in blockpool 2021-05-26 23:58:31 +03:00
ChronosX88
fb84ab8ad6
Add merkle proof of last block hash to BlockHeader, add merkle proof of tx hash to Transaction 2021-05-26 23:57:54 +03:00
ChronosX88
dde32e11dc
Implement indexes for blockpool database and auto maintaining of it 2021-05-25 18:32:06 +03:00
ChronosX88
6d50f37a12
Implement storing latest block hash in blockpool storage 2021-05-20 00:53:58 +03:00
ChronosX88
5e48c0d176
Move blockchain-related code into separate package 2021-05-19 23:55:00 +03:00
ChronosX88
3a53295fd2
Update .gitignore 2021-05-14 23:53:32 +03:00
ChronosX88
2cd62d0079
Implement basic blockpool 2021-05-14 23:32:49 +03:00
ChronosX88
7f85330953
Implement basic mempool 2021-05-14 23:32:39 +03:00
ChronosX88
d9a0fa9194
Change type of timestamp in transaction 2021-05-14 22:42:22 +03:00
ChronosX88
59aa9f5889
Add support of deadline (TTL) for values in Cache 2021-05-14 21:21:13 +03:00
ChronosX88
7e3fca5de5
Refactor cache package to be more general purpose component 2021-05-13 14:49:38 +03:00
ChronosX88
0bc8371f84
Implement block and transaction primitives 2021-05-12 22:34:14 +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
e0f004ea5d
Cover DioneStaking by 100% with unit tests 2021-04-28 23:13:22 +03:00
ChronosX88
8a07edcb06
Add missing asserts, add some events, fix vulnerability with transfering tokens 2021-04-28 23:12:51 +03:00
ChronosX88
b11eef4df1
Add one more test case for DioneOracle 2021-04-27 22:53:08 +03:00
ChronosX88
e0051ce982
Cover DioneDispute by 100% with unit tests 2021-04-27 22:11:34 +03:00
ChronosX88
7c3e726df1
Disallow beginning dispute when beginner isn't Dione miner 2021-04-27 22:10:13 +03:00
ChronosX88
0045c96940
Add hardhat-coverage and eth-gas-reporter Hardhat plugins 2021-04-27 22:09:37 +03:00
ChronosX88
6a389f1b5d
Add more unit tests for DioneDispute 2021-04-27 21:24:24 +03:00
ChronosX88
4c15285e74
Fix some things in DioneOracle unit test 2021-04-27 21:24:14 +03:00
ChronosX88
8dbd84e00b
Fix checking request deadline when submitting result in DioneOracle 2021-04-27 21:23:53 +03:00
ChronosX88
6a3349a9ee
Disallow voting in dispute for miner against whom dispute has beginned 2021-04-27 21:22:09 +03:00
ChronosX88
f8576cffea
[DioneDispute] Change type of sum property in Dispute struct, add missing checks and add minStake check 2021-04-27 21:10:40 +03:00
ChronosX88
857c21a232
Add more unit tests for DioneOracle, add enabling/disabling logging for contracts deployment 2021-04-27 18:52:28 +03:00