Commit graph

103 commits

Author SHA1 Message Date
Boog900
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
Boog900
e1eaaf80d9
fix CI: Install dependencies (#33)
install boost, remove all targets except ubuntu
2023-10-29 01:11:55 +00:00
Boog900
7f5035ece2
Merge Add CI Actions (#31) 2023-10-29 00:42:37 +00:00
Boog900
7559532408
fix cryptonight builds with -O3 or -Ofast
taken from: https://github.com/monero-project/monero/pull/9042
2023-10-29 01:02:12 +01:00
Boog900
3a52b346e1
add tests to context sub-services + fix issues in other tests
+ fmt + clippy.
2023-10-29 00:39:58 +01:00
Boog900
2440ccbd8d
remove randomX lib 2023-10-29 00:08:37 +01:00
Boog900
216bedaf06
stop batching transactions across blocks when a hard-fork happens..
in the batch.
2023-10-27 00:55:08 +01:00
Boog900
d0bd17c560
use BufWritter to save the cache 2023-10-27 00:55:05 +01:00
Boog900
65378b0523
Merge pull request #30 from hinto-janai/main
add `hinto-janai.asc`
2023-10-26 12:07:13 +00:00
Boog900
0cac022605
batch the retrieval of outputs 2023-10-26 03:16:03 +01:00
hinto.janai
39b029f3e7
add CI actions 2023-10-25 21:07:13 -04:00
hinto.janai
049cec184f
add hinto-janai.asc 2023-10-25 20:39:57 -04:00
Boog900
cb7d8b7b5e
fix cumulative diff calculations + sort timestamps before getting median
we were not accounting for the genesis blocks difficulty of 1.
2023-10-24 23:35:24 +01:00
Boog900
2033a2d16c
add rules for blocks
TODO: the tests need re-ordering they are just all chucked in at the moment.
2023-10-24 23:02:19 +01:00
Boog900
b727062e97
finish rules for v1 txs - clean up is needed 2023-10-24 20:18:46 +01:00
Boog900
9b7f778f60
fix getting the median timestamp
we were excluding the genesis block
2023-10-24 15:34:41 +01:00
Boog900
edccf83481
add saving cache to disk. 2023-10-24 02:25:11 +01:00
Boog900
6bfc4da4e4
cache more blockchain data to reduce number of RPC calls 2023-10-23 22:24:02 +01:00
Boog900
eeefe49d63
add block/ tx verifier svc 2023-10-23 19:14:40 +01:00
Boog900
50f9458528
move hardforks, weights and pow cache to single context with unified API 2023-10-22 17:27:37 +01:00
Boog900
387278b821
add more consensus rules. 2023-10-20 01:04:26 +01:00
Boog900
ac87f9998e
add error handling to cryptonight.
Also remove the variant enum for separate functions.
2023-10-18 12:52:43 +01:00
Boog900
21f1448343
add more config options for the verifier 2023-10-15 20:35:33 +01:00
Boog900
55b7699a82
add tests to cryptonight crate 2023-10-15 18:56:25 +01:00
Boog900
bfbafa4ed5
change epee-encoding to monero-epee-bin-serde 2023-10-09 21:10:16 +01:00
Boog900
20f6af7951
use get_blocks_by_height.bin in RPC 2023-10-05 17:54:19 +01:00
Boog900
88b646c5a3
add back monero-epee-bin-serde
I am now a maintainer of monero-rs, so I can keep this maintained and not using serde was annoying.
2023-10-05 14:24:42 +01:00
Boog900
f60bb1a678
init scan chain code 2023-10-04 14:50:13 +01:00
Boog900
d5595b7eaf
add logic to build all caches synchronously 2023-10-03 22:10:31 +01:00
Boog900
eb3c727b4d
add effective median weight calculations
+ more rpc speedup for the rest of the consensus lib
2023-10-02 21:07:11 +01:00
Boog900
d7798328b6
consensus: add block weight calculations + rcp speedup
Instead of asking for one block at a time, we ask for batches of blocks, which significantly speeds up getting blocks.
2023-09-28 12:21:06 +01:00
Boog900
545189f523
random-x: add dataset/ cache 2023-09-17 19:01:56 +01:00
Boog900
f9c2794af2
Add aes generators/ hash to random-x 2023-09-16 18:46:44 +01:00
Boog900
57630ed9fb
init random-x module
super scaler program generation/ execution is complete.
2023-09-14 00:23:10 +01:00
Boog900
0000ee96b3
Clean up some of the rpc code 2023-09-07 21:38:56 +01:00
Boog900
b243ff0021
Remove CryptoNight V3
there is no v3 monero goes straight from v2 -> v4 I can only guess this is because of the way monero calculates what variant to use:

5900ed3706/src/cryptonote_core/cryptonote_tx_utils.cpp (L702)
2023-09-07 21:24:33 +01:00
Boog900
b4711c7118
add references to monero protocol docs
+ skip genesis block in DifficultyCalculator
2023-09-06 19:50:49 +01:00
Boog900
ab3c496bbd
add difficulty calculations 2023-09-06 15:54:49 +01:00
Boog900
367ea1a837
add method to init the hard fork struct at a certain height. 2023-09-05 19:49:01 +01:00
Boog900
a56d8ea87f
fetch block headers in parallel and support multiple rpc endpoints
this significantly speeds up initiating the hardfork struct
2023-09-05 19:13:46 +01:00
Boog900
42548f733d
add cryptonight bindings 2023-09-05 11:56:07 +01:00
Boog900
2f08978e67
init consensus rules crate 2023-09-03 23:50:38 +01:00