Commit Graph

260 Commits

Author SHA1 Message Date
Ravin Perera
f97d7de530 Moved h32 hash type from hpfs to util. (#204) 2020-12-23 21:58:49 +05:30
Ravin Perera
c25ebe66f4 Util helper func simplification. (#203) 2020-12-23 21:49:13 +05:30
Ravin Perera
8dc20bdab0 Naming changes and reintroducing key prefix to contract libraries. (#202) 2020-12-23 19:23:46 +05:30
Savinda Senevirathne
e835e18d18 New config file structure. (#201) 2020-12-23 18:52:58 +05:30
Ravin Perera
1a954ad96e Implemented output signature checks. (#200) 2020-12-22 16:55:44 +05:30
Savinda Senevirathne
cc7cae60a9 Provide error message when cannot bind to listening ports at startup. (#199) 2020-12-21 16:43:39 +05:30
Ravin Perera
08f09a1e6a Minor library improvements. (#198) 2020-12-21 11:56:04 +05:30
ravinsp
13c6b81b60 Fixed state sync abandon stale requests issue. 2020-12-18 06:26:46 +05:30
Chalith Desaman
21482a3f8a Input nonce expiry based on max ledger sequence no. (#197) 2020-12-17 17:19:27 +05:30
Chalith Desaman
229af3e294 hpfs binary update (#196) 2020-12-16 11:33:09 +05:30
Chalith Desaman
99668be944 Added version to the ledger file structure. (#195) 2020-12-15 13:01:11 +05:30
priyadharsun
9df8248af7 strdup memory cleanup in hpcore. (#194)
* strdup memory cleanup in hpcore.
* Updated hpfs binary.
2020-12-14 14:34:26 +05:30
Ravin Perera
bfbf41fb32 Fixed issue in ledger sync top ledger removal. (#193)
* History response ledger removal fix.
* Consensus code refactor.
2020-12-14 12:35:07 +05:30
Savinda Senevirathne
17313dae29 Comm session race conditions. (#192) 2020-12-11 16:36:04 +05:30
Ravin Perera
f2ed9040c0 User protocol upgrade and js client lib. (#191)
* Unified js client lib for browser and nodejs.
* Client lib multiple connections support.
* Implemented server challenge response.
* Contract guid and version validation.
* Server key validation.
* User json message encoding improvements.
2020-12-11 11:02:58 +05:30
Chalith Desaman
b77a3fc924 Validate peer state response content against the hash. (#190) 2020-12-10 17:32:18 +05:30
Chalith Desaman
b86efb2d9b Recursively deleting directories during state sync. (#189) 2020-12-09 13:43:34 +05:30
Savinda Senevirathne
0bc53fe23c Review UNL message rules. (#188) 2020-12-09 13:34:40 +05:30
Ravin Perera
fe9e276f8d Consensus deadlock fixes and reliability improvements. (#187)
* Consensus time vote improvements.
* Skipped self proposal in Observer mode.
* Added docker cluster script params.
* Added state/lcl sync abandon threshold.
* Added pubkey display for cluster script.
* Added proposal latency log.
* Added sync completion check to prevent deadlocks.
2020-12-08 15:17:27 +05:30
Savinda Senevirathne
7bf0475b6f Subject unl list to consensus. (#186)
* Unl hash in consensus proposals.
* Unl syncing and sync request serving.
* Adding unl hash to the ledger block.
2020-12-08 15:05:38 +05:30
Chalith Desaman
a87e8a0c7e Subject UNL changeset to consensus. (#183) 2020-12-07 13:06:58 +05:30
Ravin Perera
da0eb08512 SIGTERM handler and minor startup improvements. (#185)
* SIGTERM handler and stderr usage.
* Create-contract state seed dir creation.
2020-12-06 10:38:35 +05:30
Ravin Perera
b2fd8ae4b5 Contract and client library improvements. (#184)
* Added tty check to contract libs.
* Javascript browser-native client.
* Removed hex encoding in user json outputs.
* Updated file contract for new contract library.
2020-12-05 09:08:24 +05:30
Savinda Senevirathne
a421f13d91 Introduce consensus/npl public/private flags to config. (#182)
Npl messages are forwarded and broadcasted only to trusted nodes if npl flag is set to private. If public, messages are broadcasted to all the connected peers.
Consensus proposals are forwarded and broadcasted only to trusted nodes if consensus flag is set to private. If public, proposals are broadcasted to all the connected peers.
2020-12-03 08:12:56 +05:30
Savinda Senevirathne
f3055822ed Introduce pubkey/unl tracking to Peer sessions. (#181)
* Adding pubkey in binary to comm sessions and is_unl flag to peer sessions.
* Removing display_name overloads and populating pubkey in user session.
* Changing peer session lookup key from uniqueid to pubkey (binary).
2020-12-02 13:05:06 +05:30
Ravin Perera
596fd2b43c Added contract id verification. (#180)
* Added contract id config.
* Verify contract id with user/peer challenge.
* Updated cluster scripts.
* Updated node client lib for contract id verification.
2020-12-01 16:08:41 +05:30
Chalith Desaman
de71b97371 Stopped skipping self pub key from the config unl (#179) 2020-12-01 14:23:28 +05:30
Chalith Desaman
48cde30de6 Validating hpfs and hpws binary paths on startup (#178) 2020-12-01 10:43:00 +05:30
Chalith Desaman
12335d09c4 Skip ledger truncation when full history is enabled (#177)
* Skip ledger truncation when full history is enabled.
* Skip clearing ledger if full history is enabled.
2020-11-30 22:21:56 +05:30
Ravin Perera
dfe42f827b Refactored node contract lib control flow. (#176) 2020-11-30 17:39:07 +05:30
Chalith Desaman
2f5d95ae7a Save raw inputs alongside the ledger (#167)
* Saving raw inputs in the ledger.
* Store full history in separate folder.

* Moved full history fb structs to a seperate fbs file

* Removed raw_inputs from the proposal

* Fixed code comments

* Saving raw user input string

* Code refactoring

* Resolved PR comments
2020-11-30 15:42:20 +05:30
Savinda Senevirathne
e90e9bb5dd Limiting NPL message broadcasting and forwarding to trusted nodes. (#173)
* Limiting NPL message broadcasting and forwarding to trusted nodes.
* Error fix in read_iosocket.
2020-11-30 11:11:40 +05:30
Ravin Perera
efbd775fa1 Refactored C contract lib interface. (#175) 2020-11-30 10:03:06 +05:30
Ravin Perera
332e5a4750 User input json/bson format improvements. (#174)
* Removed hex encoding in json input container.
* Refactored client lib exports.
2020-11-28 21:24:35 +05:30
Ravin Perera
79b55258de Poll-based contract output reading. (#172) 2020-11-27 15:57:36 +05:30
Ravin Perera
80392cc995 Persisted contract UNL updates in config file. (#171)
* Refactored config loading and saving.
* Aded unl update persistance.
2020-11-27 09:06:17 +05:30
Ravin Perera
4de1bb2393 Already submitted input detection. (#170)
* Added same nonce/sig for input comparison.
* Added status response withholding for already submitted inputs.
2020-11-26 23:27:40 +05:30
Ravin Perera
d476f787a7 Introduced UNL update control message. (#169) 2020-11-26 22:26:12 +05:30
Savinda Senevirathne
993eb11971 hpfs state hash checkpoint binary update. (#168) 2020-11-26 20:37:57 +05:30
Ravin Perera
bb223b1e3a JSON message parsing for contract control messages. (#166) 2020-11-26 09:31:39 +05:30
Ravin Perera
c41b37fd52 Request missing history when behind the ledger cap. (#165) 2020-11-25 16:11:46 +05:30
Ravin Perera
29425095e0 User nonce validation and expiration. (#164) 2020-11-25 07:10:07 +05:30
Ravin Perera
9339e09026 Updated hpfs binary with log file block alignment improvements. (#163) 2020-11-24 21:48:13 +05:30
Chalith Desaman
459799760b Added element limits for queue and lists (#162) 2020-11-24 13:17:53 +05:30
Ravin Perera
d9517b6164 Reorganized util and hpws source files. (#161) 2020-11-23 23:18:42 +05:30
Ravin Perera
86e2e1211c Introduced consensus round nonce and reintroduced stage 0. (#160)
* Reintroduced stage 0.
* Introduced round nonce for reduced lcl predictability.
2020-11-23 23:00:13 +05:30
Ravin Perera
9c1f62dbde Migrated user inputs from domain sockets to memfd. (#159) 2020-11-23 21:52:05 +05:30
Savinda Senevirathne
bf710c6bde Idle connection timeout config for both peer and user connections. (#158) 2020-11-20 19:48:45 +05:30
Savinda Senevirathne
fe24ef2388 Introduce peer requirement announcement. (#156) 2020-11-20 16:01:46 +05:30
Ravin Perera
beedfb2709 C contract library and NodeJS library improvements. (#157) 2020-11-20 10:48:57 +05:30