Commit Graph

209 Commits

Author SHA1 Message Date
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
ChronosX88
6e87bbe644
Write basic unit test for DioneOracle smart contract 2021-04-27 01:03:23 +03:00
ChronosX88
301de34cc3
Remove delay for DioneDispute unit test 2021-04-27 01:01:20 +03:00
ChronosX88
c74ec4db26
Remove callback address/method id from NewOracleRequest event properties 2021-04-27 01:01:04 +03:00
ChronosX88
4395f94b68
Update .gitignore 2021-04-27 00:53:39 +03:00
ChronosX88
a4af71fb3f
Add error explanations for filecoin-specific checks when it's failed 2021-04-22 22:42:44 +03:00
ChronosX88
1633f28a7b
Update lotus dependency 2021-04-22 22:42:10 +03:00
ChronosX88
7c347b0963
Fix payload validation when chain checks returned error 2021-04-22 22:18:28 +03:00
ChronosX88
2b05af3037
Refactor contract deployment code 2021-04-22 21:30:51 +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
bfce1b715a
Add unit test for DioneDispute contract 2021-04-21 00:40:47 +03:00
ChronosX88
0114f53f6d
Fix slashMiner in DioneStaking 2021-04-21 00:40:27 +03:00
ChronosX88
4b3aa6df57
Fix unexpected reverts and implement customizable vote window time in DioneDispute contract 2021-04-21 00:39:47 +03:00
ChronosX88
b1cfc81cf7
Implement customizing dispute vote window time in dione config 2021-04-21 00:38:54 +03:00