Commit Graph

28 Commits

Author SHA1 Message Date
Asanka Indrajith
95683035b9 LCL history request and response. (#59)
Detect and request missing lcl history from another random node.
Sending lcl history response to a asked node.
Getting lcl history response and applying it.
Delete lcl that exceeds max ledger sequence.
2019-11-19 07:50:33 -05:00
Ravin Perera
83189556de Refactored user I/O with signed inputs and NUPs. (#53) 2019-11-03 22:45:23 +05:30
Ravin Perera
cb364cc420 Compilation time improvements. (#52)
* Precompiled header for all common library headers (with cmake 3.16rc3).
* Divided cmake build into shared libraries.
* Added gold linker support.
* Separated websockets lambda expressions to an independent file.
2019-11-02 14:46:21 +05:30
Ravin Perera
7b78387cef Switched to specific libsodium crypto funcs. 2019-11-01 15:23:29 +05:30
Asanka Indrajith
b598025346 Loading and saving ledger and lcl consensus. (#51)
* Ledger saving, loading, consensus with ledger sequence number.
* std terminate exception handler.
2019-11-01 15:21:25 +05:30
Ravin Perera
93d4abfd2a Updated hashing algorithm. 2019-10-30 18:35:08 +05:30
Ravin Perera
5ea2bef62a Improved user inputs handling in consensus (#46)
Updated flatbuffer proposal raw_inputs, raw_outputs data structure.
Improved user inputs handling in consensus.
2019-10-28 00:17:35 +05:30
Asanka Indrajith
d6acee4e09 Basic consensus implementation (#45)
Consensus for user connections, user inputs, contract outputs and time.
2019-10-26 11:46:32 -04:00
Asanka Indrajith
7ed1466ad9 p2p connection, message handling, validation and serialization (#38)
Implement basic peer to peer connection establishment and maintenance.
Message serialization and parsing using FlatBuffer(Including defining message schema).
Validating incoming proposal messages.
2019-10-21 08:32:25 -04:00
Ravin Perera
2d5d8960c0 Boost log integration. (#37) 2019-10-20 21:45:59 +05:30
Ravin Perera
da9c5de9d0 Removed keytype config field in favour of key prefix. 2019-10-17 10:18:51 +05:30
Ravin Perera
0fb9ebf79f Changed base64 to hex encoding. 2019-10-17 00:17:15 +05:30
Ravin Perera
8b003aeaa2 Switched to binary pubkeys from base64 for internal user data (#29)
* String copy optmisations.
* User pubkey binary.
2019-10-16 06:45:49 +05:30
Ravin Perera
56c3e3ee93 Optimized string passing with string_view. 2019-10-14 17:03:11 +05:30
Ravin Perera
ebf13209e1 Code consistency improvements (#21)
Fully-qualified namespace accessors
Updated function out param order
reinterpret_cast
2019-10-11 20:08:53 +05:30
Ravin Perera
f64cdc6ad0 Implemented user connection challenge handshake (#20)
Implemented user connection challenge handshake.
Optimized user challenge message processing.
2019-10-11 17:29:45 +05:30
Ravidu Lashan
070994277d Added key type to the config file (#17)
Added key type to the config
2019-10-10 15:33:42 +05:30
Ravin Perera
d8581f7ce9 General code optmisations and cleanup. (#15)
Updated `version_compare` based on this issue: #13 
Got rid of `replace_string_contents` helper func.
Replaced #define macros with static consts.
Moved comments from headers to source files.
2019-10-10 12:57:46 +05:30
Ravin Perera
374424f98f Code comments and consistency improvements. (#12) 2019-10-09 22:26:08 +05:30
Ravin Perera
d1d59ddf63 Refactored conf and crypto namespaces. 2019-10-05 09:42:47 +05:30
Ravin Perera
e109e1be47 Improved contract loading validation. 2019-10-04 17:02:17 +05:30
Ravin Perera
8c8793da21 Added user challenge generation and verification. 2019-10-04 15:12:46 +05:30
Ravin Perera
e3c1f85034 Reogranised usr files and updated readme. 2019-10-03 18:21:46 +05:30
Ravin Perera
040bc76c95 Replaced custom base64 code with sodium base64 helpers. 2019-10-01 14:48:55 +05:30
Ravin Perera
15019d4e96 Added config file schema and signing key validation. 2019-09-30 14:40:16 +05:30
Ravin Perera
1a8672b656 Added base64 sign/verify methods. 2019-09-27 17:17:54 +05:30
Ravin Perera
36fae44008 Added contract-based config file. (#4)
Added contract-based config file and command line flow. Added contract creation and rekey support.
2019-09-27 15:55:49 +05:30
Ravin Perera
0382475de1 Implemented config and crypto infrastructure (#2)
Added config file read/write infrastructure with RapidJSON.
Added key pair generation and sign/verify helper with libsodium.
2019-09-26 19:05:23 +05:30