Boog900
1afe3e4dc8
fix builds on certain archs
2024-01-10 01:49:35 +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
Boog900
92652b26a2
add cli args to RPC scanning binary
2023-12-08 15:36:45 +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
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
3a52b346e1
add tests to context sub-services + fix issues in other tests
...
+ fmt + clippy.
2023-10-29 00:39:58 +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
0cac022605
batch the retrieval of outputs
2023-10-26 03:16:03 +01: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
21f1448343
add more config options for the verifier
2023-10-15 20:35:33 +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
0000ee96b3
Clean up some of the rpc code
2023-09-07 21:38:56 +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