Commit Graph

2740 Commits

Author SHA1 Message Date
ghassmo
fa4ea153cf bin/taud: allow to pass None to due in update function 2022-03-17 05:32:28 +04:00
Dastan-glitch
f81f1734c4 bin/tau-cli: some clean-ups 2022-03-16 22:52:07 -04:00
parazyd
92a4410e31 Miscellaneous fixes and 'make fix'. 2022-03-16 22:30:54 +01:00
parazyd
c7d0d4ca32 Update crate version dependencies throughout the codebase. 2022-03-16 22:30:54 +01:00
parazyd
deab6241dd runtime: Implement initial webassembly runtime prototype for smart contracts. 2022-03-16 22:30:53 +01:00
Dastan-glitch
dad30e05b3 bin/tau-cli: add update subcommand (edit a task) 2022-03-16 20:15:27 -04:00
ghassmo
04b73fdcd2 bin/taud: a little fix 2022-03-16 20:14:10 +04:00
lunar-mining
560acab1b6 ui: render msgs as a vec![Spans]. finish first version of dnetview.
Previously, we were trying to render messages using a seperate widget
called Paragraph. This would enable us to put msgs on the right of the
screen using the enum Alignment.

However, rendering msgs as a seperate widget meant we had to keep track
of the position of other widgets in order to align properly. This quickly
became highly complex.

Instead, we have now rendered all the data in a single widget called List.
List is composed of a ListItem which is composed of Spans. Spans
indiciate a seperate line whereas Span is a grapheme on a single line.

We render addrs and msgs on the same line as follows:

    lines.push(Spans::from(vec![addr, msgs])

Where lines is a Vec<Spans> that initializes ListItem.

We are currently aligning the msgs Span with empty spaces, which is the
method used by tui-rs/example/list.rs. Ideally we would use some variant
of Alignment for this so we don't have variation between screen sizes.
2022-03-16 08:49:38 +01:00
ghassmo
a64f1133cb bin/taud: clean up 2022-03-16 09:21:12 +04:00
ghassmo
702305bbf0 bin/taud: minor changes 2022-03-16 07:44:12 +04:00
Dastan-glitch
7a4e85de96 bin/tau-cli: Add list subcommand 2022-03-15 17:50:00 -04:00
Dastan-glitch
fd58d2c093 bin/ircd: update clap version 2022-03-15 17:43:37 -04:00
narodnik
18ed156e65 ec endomorphism tests 2022-03-15 14:12:01 +01:00
lunar-mining
72205bc1f0 ui: render connection data (no msgs)
render is working properly as of this commit. we still do not render
msgs, as using a different alignment requires more complexity.
2022-03-15 14:08:22 +01:00
lunar-mining
0086435862 ui: dramatically simplify.
removed all structs and now simply printing connection data under the
related node ID.

for now there is zero formatting: we simply print the info.
2022-03-15 14:08:22 +01:00
narodnik
9a6a22137a ec: frobenius map 2022-03-15 11:35:35 +01:00
narodnik
41855cd4a3 rename script/research/elliptic_curves/ to script/research/ec/ 2022-03-15 10:35:35 +01:00
narodnik
c8b042813f ec: hasse interval 2022-03-15 10:18:30 +01:00
narodnik
5ba1f3edf2 example of cracking EC group 2022-03-15 09:59:10 +01:00
parazyd
c89db12c71 bin: Implement vanity address search tool as threadpool experiment. 2022-03-14 22:12:42 +01:00
ghassmo
e019472a05 bin/taud: add get_state, set_state, and set_comment rpc functions 2022-03-14 18:15:13 +04:00
lunar-mining
a43c8a84bd ui: better names.
ListObject -> NodeBox
NetFrame -> ConnectBox
NetWidget -> InfoBox
2022-03-14 11:47:58 +01:00
lunar-mining
4f79726875 ui() bug fix.
replace

    if foo.to_str().is_empty()

with

    if foo.to_str() == "Empty"
2022-03-14 10:49:08 +01:00
lunar-mining
73af3e4d02 poll() bug fix.
do not discard empty values on outgoing connections.
2022-03-14 10:49:08 +01:00
ghassmo
9c1b5d139e bin/taud: save the task at the end of parsing update params 2022-03-14 02:33:45 +04:00
ghassmo
456cee39dd bin/dnetview: cargo fmt 2022-03-14 01:44:50 +04:00
ghassmo
6027d98136 bin/taud: update 'list' function & add update rpc function 2022-03-14 01:44:24 +04:00
lunar-mining
a4f0904e46 ui() bug fix.
get_and_draw_outbound():
    * loop through the slots of every outbound connection, instead of
      just the first value (&connect.outbound[0])
    * recursively initialize and draw new widgets for each node instead
    of writing everything to the same vectors and frame.

get_and_draw_inbound()
    * recursively initialize and draw new widgets for each node instead
    of writing everything to the same vectors and frame.
2022-03-13 22:20:57 +01:00
lunar-mining
33f299f8c6 poll() bug fix.
write "Null" to Outbound object instead of empty String when the channel
is "Null".
2022-03-13 22:18:56 +01:00
lunar-mining
e6dce6d3f7 poll: fix match error due to quotation marks around str
serde_json deserializes strings with quotation marks, and you can have
to explicitly convert them using to_str() to extract the inner value.
2022-03-13 20:15:45 +01:00
lunar-mining
964c033752 ui: renamed ListWidget to ListObject 2022-03-13 13:37:25 +01:00
lunar-mining
2b408b5d88 ui: organize functions into structs
for now we have the following hierarchy:

    ListObject
    NetFrame
    NetWidget

where ListObject is composed of NetFrame's and NetFrame is composed of
NetWidget's.
2022-03-13 13:37:25 +01:00
lunar-mining
4bcf0024b3 poll: fixed bug that was discarding data from inbound connections
this line was silently crashing:

    let inbound_connect: InboundInfo = serde_json::from_value(inbound_connected.clone())?;

we resolve this by parsing the data manually.
2022-03-13 13:37:25 +01:00
ghassmo
c5b7d97bf1 bin/taud: add 'list' rpc function 2022-03-13 08:43:47 +04:00
ghassmo
e7a13acea9 bin/taud: add tests to main 2022-03-13 08:22:43 +04:00
ghassmo
ba1c841315 bin/taud: finish internal functions for TaskInfo and MonthTasks 2022-03-13 07:32:20 +04:00
aggstam
e82befb679 script/research/streamlet_rust: Modified structures based on doc/src/architecture/blockchain.md 2022-03-12 15:16:47 +02:00
lunar-mining
0756fbefb9 ui: generalize and tidy render functions
we reduce boilerplate by creating a new generic function called draw().
variables are initialized in draw_outbound(), draw_inbound(), and
draw_manual() and are then sent to draw().

dynamic resizing is enabled by returning the total frame length like so:

    let len = draw_outbound(...)
    let len = draw_inbound(..., len)

it would be cleaner to store this value in a struct. however this is non
trivial to implement.

ui::ui() cannot be async and therefore cannot use mutexes due to its use
in the following non-async function from external library tui::Terminal:

    terminal.draw(|f| {
        ui::ui(f, view.clone());
    })?;

however ui::ui() is called within the async function render(), which
means values set inside ui::ui() may be overwritten during async calls.
2022-03-12 11:43:55 +01:00
Dastan-glitch
8e59ba44b6 bin/tau-cli: configuring due and send it as timestamp 2022-03-11 23:19:06 -05:00
ghassmo
66c715d7b7 bin/taud: split the code into separate modules 2022-03-12 00:43:32 +04:00
ghassmo
81def80d17 bin/taud: add generic load/save functions for json dataset 2022-03-12 00:12:54 +04:00
ghassmo
1da5edf4af bin/taud: add find_free_id function 2022-03-11 22:52:19 +04:00
parazyd
f172f62250 cargo +nightly fmt. 2022-03-11 16:57:43 +01:00
parazyd
fa7a6eb0ad doc: Restore .gitignore. 2022-03-11 16:57:27 +01:00
lunar-mining
0a2cd81afe ui: check whether msg is sent or recv and display on the right
this is a quick fix to display info properly and ui.rs still needs a major cleanup and refactor.
2022-03-11 09:40:23 +01:00
lunar-mining
c522218159 poll: bug fix on external_addr parsing
let external_addr = addr.as_str().unwrap()

^ this line was crashing when we receive a Null value for external_addr.
we now set the string value to "Null" if external_addr.is_null()
2022-03-11 08:32:12 +01:00
Dastan-glitch
ea4261007b bin/tau-cli: switch assign and project to vectors 2022-03-10 23:06:12 -05:00
Dastan-glitch
15890f4d65 bin/tau-cli: reading title and desc from user input if not specified in the command 2022-03-10 22:55:51 -05:00
ghassmo
ab52c593e0 bin/taud: Runs the executor when start 2022-03-11 01:07:35 +04:00
Dastan-glitch
3c05ed70fc bin/tau-cli: remove Client struct and imple and adding optional feature on some subcommands 2022-03-10 16:38:13 -05:00