Commit graph

344 commits

Author SHA1 Message Date
Boog900
0662a125e1
update CI 2024-01-22 22:32:43 +00:00
Boog900
f894ff6f1b
p2p: add handshake timeouts 2024-01-22 18:18:15 +00:00
Boog900
81eec5cbbb
consensus: add more difficulty tests 2024-01-22 18:17:34 +00:00
Boog900
29e2c4b2db
helper: fix doc test 2024-01-22 02:09:09 +00:00
Boog900
ed598e374e
remove empty cuprate bin and common 2024-01-22 01:56:34 +00:00
Boog900
b20b6fdee1
remove primitive-types for crypto-bigint
we already have crypto-bigint in our tree
2024-01-21 15:18:25 +00:00
Boog900
b9334b6a90
clean up dependencies 2024-01-21 14:46:03 +00:00
hinto-janai
50894bef89
helper/ (#45)
* add `/helper/`

* add `num.rs`

* add `sys.rs`

* add `crypto.rs`

* add lints and mod to `lib.rs`

* `sys` -> `time`, add more free functions

straight from https://docs.rs/readable/latest/readable/time/index.html

* num: add `Number/Float` types, `cmp_float()`, `cmp_float_nan()`

* `common/src/tower_utils.rs` -> `helper/src/asynch.rs`

* gate modules with `#[cfg(feature = "...")]`

* add `thread.rs`

* cargo fmt

* thread: test out of 100

* add `atomic.rs`

* atomic: fix `fetch_update()`

* atomic: impl `fetch_*()` for atomic floats

* `#[no_std]` where possible

* asynch: remove `InstaFuture`

https://docs.rs/futures/latest/futures/future/fn.ready.html

* crypto: remove `check_point()`

* thread: return percent computation without static

* thread: add `low_priority_thread()`

https://docs.rs/lpt

* add rayon_spawn_async, remove crypto

* remove current_time_try

---------

Co-authored-by: Boog900 <54e72d8a-345f-4599-bd90-c6b9bc7d0ec5@aleeas.com>
2024-01-21 00:04:09 +00:00
Boog900
d10b9d3f8b
fmt 2024-01-19 23:56:06 +00:00
Boog900
78244a9d16
use static for big const arrays 2024-01-19 23:52:03 +00:00
Boog900
0f2ec54c02
consensus: add some more ltw tests 2024-01-19 23:46:24 +00:00
hinto-janai
33550735db
CONTRIBUTING.md (#44)
* add `CONTRIBUTING.md`

* fill contributing sections

---------

Co-authored-by: Boog900 <54e72d8a-345f-4599-bd90-c6b9bc7d0ec5@aleeas.com>
2024-01-19 16:07:05 +00:00
Boog900
bb2292289f
consensus: organize tests 2024-01-19 00:35:22 +00:00
Boog900
b14e740d2d
monero-wire: fix some message decoding 2024-01-17 16:31:57 +00:00
Boog900
0cc2acc816
monero-p2p: tell client message was sent after sending message.
Otherwise, the message might not be sent
2024-01-13 15:56:22 +00:00
Boog900
f7149863ae
levin: don't error when there isn't enough capacity 2024-01-13 14:41:19 +00:00
Boog900
a0b9280801
fix message requesting in Connection 2024-01-13 13:22:34 +00:00
Boog900
478a8c1545
return the Client after a handshake 2024-01-13 00:07:35 +00:00
Boog900
5e8221183e
re-write p2p handshaker 2024-01-12 00:02:25 +00:00
Boog900
d6495cdb01
fix rx seed initialization from previous commit 2024-01-10 23:55:17 +00:00
Boog900
2c4ab3cc85
add instruction on how to run scan_chain 2024-01-10 14:45:37 +00:00
Boog900
1afe3e4dc8
fix builds on certain archs 2024-01-10 01:49:35 +00:00
Boog900
a30f418247
fix clippy 2024-01-09 22:58:01 +00:00
Boog900
7cf7ea1693
Make RX VM an option for calculate_pow_hash
This means we don't have to init the dataset
if it's not needed
2024-01-09 22:39:29 +00:00
Boog900
730bc8fb42
link transaction rules to monero-book 2024-01-08 01:26:44 +00:00
Boog900
13957a5e7f
link rules to monero-book.
need to do transactions.
2024-01-07 01:15:33 +00:00
Boog900
40e64cc9c3
integrate RandomX, plus some other misc changes. 2024-01-05 22:36:57 +00:00
Boog900
5d6fb3f6b9
integrate ringCT rules into the RPC scanner. 2023-12-27 23:50:18 +00:00
Boog900
f037532610
add ringCT rules 2023-12-24 21:07:28 +00:00
Boog900
84343a8297
move RPC scanning cache to borsh 2023-12-18 14:36:22 +00:00
Boog900
e264a40feb
remove InstaFuture for Ready
Also renames some functions so it's clear as to what they do https://github.com/Cuprate/cuprate/pull/45#issuecomment-1859054439
2023-12-17 14:50:08 +00:00
Boog900
cf5e909f1b
cargo update 2023-12-17 14:32:03 +00:00
Boog900
376a41deb2
fmt + clippy + fix tests 2023-12-17 14:27:07 +00:00
Boog900
b0588fad2b
change cuprate-consensus to use monero-consensus 2023-12-17 14:27:06 +00:00
Boog900
b01314ff70
Move contextual data to monero-consensus 2023-12-17 14:27:04 +00:00
Boog900
3eea0b73bd
Split consensus rules into separate crate. 2023-12-17 14:26:54 +00:00
Luke Parker
fbd324c45d
Commit Cargo.lock (#47)
Pins versions, preventing publish updates from being automatically applied.

Implications for #39, which at one point mentions the ability to use
`cargo vendor` for some reason?
2023-12-17 14:19:12 +00:00
Boog900
92652b26a2
add cli args to RPC scanning binary 2023-12-08 15:36:45 +00:00
Boog900
2c4cc1fb93
move address book to separate crate.
Also changes the address book to use the network zone trait
2023-12-08 15:03:01 +00:00
Boog900
34dd105a0c
make CI more strict 2023-12-03 00:29:12 +00:00
Boog900
f3d96ca2ce
move more tasks to rayon and change some returned
futures to be explicit instead of Boxed
2023-12-02 22:57:34 +00:00
8557073c15
p2p changes (#38)
* start re-working p2p to work with change monero-wire

* start re-working p2p to work with change monero-wire

adds back some changes from #22

* change the peer module to use the new API + fix a couple bugs

* remove peer set for now

* add try_from/from conversion between `Message` and
`Request`/`Response`

* Allow specifying other parameters in levin-cuprate

* add new `LevinCommand` enum and clean up monero-wire message de/encoding

* fix issues with merge

* start splitting up p2p crate into smaller crates.

* add monerod action from serai to test network code

* remove tracing in tests
2023-11-30 18:09:05 +00:00
Boog900
343e979e82
Use a connection task for RPC connections. 2023-11-18 14:00:33 +00:00
hinto-janai
10b7400b17
Update workspace Cargo.toml (#36)
* add dependencies to workspace

* add workspace build profiles

* add potential dependencies
2023-11-16 01:10:46 +00:00
Boog900
484b418faf
add batch preparing for blocks. 2023-11-11 01:55:15 +00:00
Boog900
f025513950
cache sorted long and short term block weights 2023-11-08 00:28:15 +00:00
Boog900
9471ca5d6a
consensus: use a custom spawn function when using rayon in async code.
Before we were using tokio's `spawn_blocking`, which wasn't ideal as this put tasks in a queue to be put on rayon's pool.

Instead, now we create an oneshot and use rayon::spawn.
2023-11-07 23:52:56 +00:00
Boog900
b49878ac6b
fix doc comment 2023-11-06 02:19:49 +00:00
Boog900
fc7b676f7b
consensus: add a tx pool trait.
This means we don't have to rely on people giving the verifier the correct txs for a block.

Also allows some speedup as we can put the fetching of outputs on a different task.
2023-11-05 18:44:41 +00:00
Boog900
34bb293f95
keep track of blockchain context validity internally. 2023-10-31 02:59:31 +00:00