Commit Graph

83 Commits

Author SHA1 Message Date
Ravin Perera
ef42d4c986 Ledger query results raw input/output support. (#277) 2021-03-30 15:44:20 +05:30
Ravin Perera
948113398c Ledger query infrastructure. (#275)
* Added json ledger query param parser.

* Added initial query response creation.

* Updated client lib.

* Implemented get ledger by seq no.

* Added ledger query execution wrappers.

* Included log record info.

* Fixed empty output hash issue.

* Added bson support.

* Added db file existance check.

* Added requesy/reply tracking for queries in client lib.

* Improved multi connection usage in client lib.

* Added genesis ledger query support.

* Updated naming convention of query result fields.

* Comments.

* Used sqlite bind() for query param.

* Used binary hashes in ledger sqlite db.

* Missing const.
2021-03-29 11:20:15 +05:30
Ravin Perera
31344fe266 Updated js client and contract libs. (#273)
* Updated js contract lib to for ES spec compatibility.
* Added 'ed' prefix to generated keys in js client lib.
* Fixed js client lib incorrect connection timeout tracking.
2021-03-23 09:42:48 +05:30
Chalith Desaman
b7e9301797 Formatting the hp config validation error message (#271)
* Formatting config validation error

* Camel case typo in js client lib

* Changed error message
2021-03-16 18:40:18 +05:30
Savinda Senevirathne
b45cdb999d Include hp version number on all required places. (#265)
* Adding HP version header to binary files and adding hp table to ledger.sqlite.

* Updating hp_version in user challenge message.

* Minor improvement.
2021-03-10 20:08:04 +05:30
adheeb-adb
473fd4183c User message with more details (#263)
* user message with more details

* PR fixes
2021-03-08 12:25:29 +05:30
Chalith Desaman
363116fc2a Added user input max ledger seq offset limit config (#256)
- Added new config for max input ledger offset inside contract section.
- Updated implementation of getting and updating patch config inside node and c contracts.
- Skip inputs if max ledger offset exceeds, when handling user inputs and nup messages.
2021-02-24 09:19:36 +05:30
Ravin Perera
6b8d60a404 Separated lcl string usage to sequence no and hash. (#251) 2021-02-18 18:28:38 +05:30
Ravin Perera
8eac87fb85 Added smart contract upgrade support. (#250)
Supports smart contract self-upgrades by allowing "post_exec.sh" script to be executed after consensus contract execution.
2021-02-18 17:25:42 +05:30
Ravin Perera
4c4e109233 Contract process resource limits. (#243) 2021-02-15 16:36:10 +05:30
ravinsp
3c6e718245 Minor fix in C contract lib. 2021-02-15 14:50:22 +05:30
Ravin Perera
0937ca0bbe Npl outputs round limit. (#242) 2021-02-15 14:50:03 +05:30
Ravin Perera
0de7983504 User outputs round limit. (#241)
Implemented user outputs round limit and upgraded the contract libraries to support the configs.
2021-02-15 14:23:47 +05:30
Ravin Perera
08680ee8d4 hpws upgrade with websocket protocol improvements. (#232)
* Updated hpws binary and header.
* Improved binary encoding support in client lib.
2021-02-01 22:31:28 +05:30
Ravin Perera
d34b7bce53 Performance metric collection scripts. (#230)
* Scripts to collect performance metrics.
* Added log level to hp client lib.
2021-01-31 18:08:32 +05:30
Chalith Desaman
eef6448f08 Handle unl change announcement in js client library. (#225) 2021-01-19 15:29:17 +05:30
Chalith Desaman
73f5eea451 Unl change announcement to connected users. (#224)
Introduced json and bson messages for unl list announcement.
When the unl set is modified send a json or bson unl list message (according to the user protocol) to all the connected users.
2021-01-19 11:33:27 +05:30
Chalith Desaman
cf02108576 Interface to read patch config from c contract lib. (#223) 2021-01-18 14:38:39 +05:30
Savinda Senevirathne
fa0c1e8130 Support config patch in c contract library. (#219) 2021-01-15 14:49:54 +05:30
Chalith Desaman
b15d8260cc Read patch config implementation for js contract lib. (#218) 2021-01-12 09:48:14 +05:30
Chalith Desaman
99c768360e Contract hpargs revamp. (#217) 2021-01-11 14:28:01 +05:30
Chalith Desaman
12a8252598 Patch config update method for js contract library (#214)
Load patch.cfg in js contract lib. 
Update values of the patch config. 
Common method with optional parameters.
2021-01-08 17:38:21 +05:30
Ravin Perera
8dc20bdab0 Naming changes and reintroducing key prefix to contract libraries. (#202) 2020-12-23 19:23:46 +05:30
Ravin Perera
1a954ad96e Implemented output signature checks. (#200) 2020-12-22 16:55:44 +05:30
Ravin Perera
08f09a1e6a Minor library improvements. (#198) 2020-12-21 11:56: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
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
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
Ravin Perera
dfe42f827b Refactored node contract lib control flow. (#176) 2020-11-30 17:39:07 +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
d476f787a7 Introduced UNL update control message. (#169) 2020-11-26 22:26:12 +05:30
Ravin Perera
bb223b1e3a JSON message parsing for contract control messages. (#166) 2020-11-26 09:31:39 +05:30
Ravin Perera
29425095e0 User nonce validation and expiration. (#164) 2020-11-25 07:10:07 +05:30
Ravin Perera
9c1f62dbde Migrated user inputs from domain sockets to memfd. (#159) 2020-11-23 21:52:05 +05:30
Ravin Perera
beedfb2709 C contract library and NodeJS library improvements. (#157) 2020-11-20 10:48:57 +05:30
priyadharsun
eb0012bc47 Change epoch milliseconds return type to uint64_t. (#155) 2020-11-19 12:54:33 +05:30
Savinda Senevirathne
9160b2ee15 Improve corebill and graylisting. (#154) 2020-11-19 08:40:15 +05:30
Chalith Desaman
f475dcb1fb Dynamic peer list implementation. (#152) 2020-11-18 12:58:58 +05:30
Ravin Perera
1608e9fc49 Contract execution refactor. (#153) 2020-11-18 07:16:17 +05:30
Ravin Perera
0098c3ddab Revamped NodeJS library examples. (#151) 2020-11-16 17:08:47 +05:30
priyadharsun
8f00c5e7d4 Introduced contract control channel with 'terminate' message (#147) 2020-11-10 14:09:24 +05:30
Chalith Desaman
49e30961bd Node js contract library AsyncCallbackEmitter implementation (#146) 2020-11-09 14:21:43 +05:30
Savinda Senevirathne
51173e37f2 Support message separation for multiple inputs from same user. (#142) 2020-11-06 10:55:40 +05:30
Savinda Senevirathne
7a4515865d Replaced contract I/O pipes with domain sockets. (#140) 2020-11-02 16:50:21 +05:30
Chalith Desaman
5f40aebf08 NPL message refactor. (#132)
* Implemented feeding and broadcasting npl messages from the contract execution in real-time.
* Replaced npl pipe with domain sockets.
* Refactored npl read and write in nodejs echo contract
2020-10-14 15:18:00 +05:30
Savinda Senevirathne
2fc93d4291 Migrating json parsing from rapidjson to jsoncons. (#112)
* Migrating JSON parsing from RapidJSNO library to jsoncons library

* updating readme file and removing RapidJSON headers
2020-08-31 14:05:42 +05:30
Ravin Perera
465573ad29 Updated nodejs contract lib for streamed input reading. (#110) 2020-08-21 15:27:25 +05:30
Ravin Perera
baf5d8b14a Fixed incorrect memory access issues. (#109) 2020-08-20 15:20:11 +05:30