Commit Graph

281 Commits

Author SHA1 Message Date
aggstam
8cff15a9b8 validator: handle proposals based on their version 2023-10-11 21:41:08 +03:00
y
6c1002a1ba timekeeper: improve wording about fields set to 0 2023-09-18 15:46:05 +00:00
y
63a6856ccd timekeeper: restore 0 check for slot 2023-09-18 15:46:05 +00:00
y
f67fc3df29 Add checks on TimeKeeperSafe methods 2023-09-18 15:46:05 +00:00
y
f85cd257a0 fix mistake in TimeKeeperSafe::current 2023-09-18 15:46:05 +00:00
y
6308a7e123 fix comments 2023-09-18 15:46:05 +00:00
y
5d62a10855 Add TimeKeeperSafe struct
Instead of checking if one of the TimeKeeper fields is 0 on every
operation (which adds overhead and protects only in the case of an
incoherent instantiation of the struct), add a new struct TimeKeeperSafe
that panics when created with bad values.

It is still possible that a developer can make a mistake and manually
initialize a TimeKeeper with bad values or else set its fields to bad
values. For now, we will accept this risk as it is not present in the
codebase.
2023-09-18 15:46:05 +00:00
y
c7814711e0 fmt 2023-09-18 15:46:05 +00:00
y
2f45588f57 util: fix division-by-zero panics
Added simple checks for division by zero in arithmetic operations in
util/time.rs
Added a unit test to check that a TimeKeeper with values of 0 in its
fields can call its methods without panicking.
2023-09-18 15:46:05 +00:00
parazyd
8fabd66160 research/snowball: Implement simulation of Snowball Avalanche consensus. 2023-09-05 12:24:04 +02:00
parazyd
70ff536034 util/ringbuffer: Implement indexing 2023-08-31 18:47:05 +02:00
x
662c9936c6 undo accidental commit to cli.rs 2023-08-30 13:59:49 +02:00
x
113978a6d4 darkirc: add p2p.get_info() 2023-08-30 13:27:06 +02:00
parazyd
ffe8643812 bin: Feature cleanup 2023-08-29 13:08:35 +02:00
parazyd
8f46f7b777 lib: Clean up library features. 2023-08-29 13:08:35 +02:00
parazyd
41bf60570a Implement standalone Makefiles for most of the bins and rework main Makefile. 2023-08-29 10:53:23 +02:00
parazyd
2d0e3b0d89 lib: Clean up imports 2023-08-24 15:29:16 +02:00
parazyd
98703d361a lib: Add necessary traits around for async serial. 2023-08-24 14:27:03 +02:00
x
f203b77281 Revert "bugfix: get_log_config(), the log level is set in TermLogger::new(), not in get_log_config() which simply controls the formatting."
This reverts commit 39db8099d9.
2023-08-23 09:41:58 +02:00
x
39db8099d9 bugfix: get_log_config(), the log level is set in TermLogger::new(), not in get_log_config() which simply controls the formatting. 2023-08-23 09:25:06 +02:00
parazyd
2b3859e194 util/parse: Delete unused truncate() function. 2023-08-22 19:59:51 +02:00
parazyd
a02e3475f6 lib: Remove async-std dependency. 2023-08-22 19:55:37 +02:00
parazyd
0f125fa2db net: Remove async-std dependency and prefer smol.
Also we now take the global executor and keep it around in P2p.
2023-08-22 15:07:48 +02:00
parazyd
21dd80ae99 rpc: Replace serde_json with tinyjson. 2023-08-20 18:53:52 +02:00
parazyd
1004b78ece util: Support conditional pretty-writing of JSON files. 2023-07-31 19:01:27 +02:00
parazyd
a4eb3e1e2b util/encoding: Add base64 encoder and decoder. 2023-07-27 10:58:20 +02:00
parazyd
d5b4cd9645 darkirc: Implement user modes and set +v for encrypted messages. 2023-07-19 18:23:32 +02:00
parazyd
bf2437ec2c util: Implement PCG for a deterministic PRNG used for testing and sim. 2023-07-19 13:56:56 +02:00
aggstam
9f81e693ed darkfid2/rpc: basic tx methods added 2023-07-18 19:00:52 +03:00
parazyd
968550a680 util: Clippy lints 2023-07-08 21:19:27 +02:00
aggstam
77067ac615 util/cli: fmt 2023-07-08 19:05:33 +03:00
aggstam
5d63d86083 chore: cleanup 2023-07-08 19:04:47 +03:00
parazyd
363a6cd998 vanityaddr: Remove indicatif dependency. 2023-07-08 18:01:23 +02:00
parazyd
ba25b08458 net: Add a function to map DnetInfo into a JSON map. 2023-07-08 16:21:49 +02:00
parazyd
021235b534 util/ringbuffer: Use const generic for size. 2023-07-08 16:21:49 +02:00
aggstam
a63a808992 util/cli/async_daemonize: use log_file to explicitly write to, impl signal handler using async signal hooks 2023-07-04 13:17:40 +03:00
parazyd
9102fbf33c util/ringbuffer: Implement back() method. 2023-06-29 13:06:54 +02:00
parazyd
0ac5d6026b util/cli: Make -v show the [INFO] log target, and -vv to actually debug.
Also disable file logging by default.
This needs to be done through config files.
2023-06-29 13:06:54 +02:00
aggstam
9054780c28 util/time/TimeKeeper: changed slot epoch calculation(increment by 1) 2023-06-06 23:51:36 +03:00
parazyd
08e92dbde3 util: Implement RingBuffer as exportable API 2023-06-06 16:09:30 +02:00
aggstam
53682169cd sdk: get_verifying_slot_epoch added 2023-06-05 21:59:39 +03:00
parazyd
6cddfac05f Replace num_cpus crate with stdlib alternative. 2023-05-19 09:59:55 +02:00
aggstam
1bd504eaa0 util/time/TimeKeeper: added verifying slot attribute that can be used by the runtime for validations 2023-05-17 16:03:24 +03:00
parazyd
6ff88f036a util: Remove net_name module. 2023-05-09 09:10:17 +02:00
Dastan-glitch
15724ef072 remove unneeded comments 2023-05-06 00:56:39 +03:00
Dastan-glitch
aa2fd4e023 use custom parser for Timestamp and do conversions in tau 2023-05-05 23:27:48 +03:00
Dastan-glitch
6da636adff util/time: custom timestamp parser 2023-05-01 23:31:16 +03:00
aggstam
040a5d5604 sdk/util: replaced get_system_time with get_blockchain_time, get_current_epoch and get_current_slot added 2023-04-29 01:52:15 +03:00
aggstam
ec3bc88fb7 util/time: simplyfied Timestamp 2023-04-29 01:39:41 +03:00
aggstam
01dad53892 consensus: created helper struct for all time related calculations, for easier access by the runtime 2023-04-29 00:52:11 +03:00