Commit graph

412 commits

Author SHA1 Message Date
hinto.janai
bd07f140fa
doc 2025-04-15 20:29:26 -04:00
hinto.janai
c03bb64078
docs 2025-04-15 20:23:13 -04:00
hinto.janai
38c692ff04
fix tests 2025-04-15 19:58:20 -04:00
hinto.janai
1b57675c6e
impl p2p port 2025-04-15 19:39:00 -04:00
hinto.janai
f6b2e420e6
fix toml 2025-04-15 19:21:55 -04:00
hinto.janai
f4b407fa73
split 2025-04-15 18:44:27 -04:00
hinto.janai
7b75701207
split config 2025-04-15 18:13:30 -04:00
hinto.janai
c5785a0cdf
warn 2025-04-15 17:46:57 -04:00
hinto.janai
f2cd20231a
move 2025-04-15 17:25:24 -04:00
hinto.janai
1c3cc7e4ce
comments 2025-04-15 17:12:02 -04:00
hinto.janai
386f3039b5
docs 2025-04-15 16:47:23 -04:00
hinto.janai
a65e041fb3
Merge branch 'main' into rpc-server 2025-04-15 16:20:47 -04:00
hinto-janai
95aca1d4a5
ci: fix release.yml ()
gen config
2025-04-09 16:01:19 +01:00
hinto-janai
b169557ff2
ci: fix deny ()
`cargo update -p tokio`
2025-04-09 15:07:37 +01:00
hinto-janai
56d3459782
cuprated: v0.0.2 version + changelog ()
* update

* !!

* update

* version
2025-04-09 15:05:45 +01:00
hinto-janai
159016f10e
cuprated: update killswitch timestamp for v0.0.2 ()
* update

* Update binaries/cuprated/src/killswitch.rs

Co-authored-by: Boog900 <boog900@tutanota.com>

---------

Co-authored-by: Boog900 <boog900@tutanota.com>
2025-04-09 15:03:56 +01:00
hinto-janai
51b56b0a8b
cuprated/database: fix error mappings + msg ()
* add

* dbi

* err

* log and panic
2025-04-09 01:18:01 +01:00
hinto-janai
550d8598e4
books: user-book for cuprated 0.0.2 ()
* title

* fixes

* add `--version` table

* add types

* config docs

* add macro docs

* fix

* case

* Update binaries/cuprated/src/config.rs

---------

Co-authored-by: Boog900 <boog900@tutanota.com>
2025-04-09 01:12:05 +01:00
hinto-janai
3ef6a96d04
ci: fix clippy ()
* cargo clippy

* fix

* remove `needless_continue`

* readd `continue`
2025-04-08 20:13:11 +01:00
hinto-janai
d3b7ca3e65
cuprated: RPC handlers ()
* import diffs

* small fixes, hardfork changes

* lints

* hard_fork

* apply diffs

* review fixes

* binaries/cuprated/src/rpc/request: `pub(super)` -> `pub(crate)`

* add `BlockChainContextService`, `on_get_block_hash`

* map `tower::BoxError` to `anyhow::Error`

* get_block

* connection_info

* hard_fork_info

* set_bans

* get_bans

* banned

* flush_transaction_pool

* get_output_histogram

* get_coinbase_tx_sum

* get_version

* get_fee_estimate

* get_alternate_chains

* relay_tx

* response_base: `fn` -> `const`

* get_transaction_pool_backlog

* prune

* calc_pow

* add_aux_pow

* get_tx_ids_loose

* generate_blocks

* get_info

* sync_info

* get_miner_data

* `BlockchainManagerRequest` docs

* docs, `ConnectionInfo`, `AddressType`

* sig docs, remove `HardForks` request

* clean imports

* fix `on_get_block_hash`, `generate_blocks`, `get_block_headers_range`

* fix `get_info`, `banned`

* fix `sync_info`

* fix `get_miner_data`

* initial `add_aux_pow` impl

* fix `calculate_pow`

* add_aux_pow

* `get_output_distribution`

* checkup

* `find_nonce()` + `add_aux_pow` async wrapper

* fixes

* `helper::block_header`

* review fixes

* fixes

* doc fix

* p2p: remove tmp `AddressBookRequest::NextNeededPruningSeed`

* lint/todo fixes

* fix bans

* merge diffs from https://github.com/Cuprate/cuprate/pull/272

* `cuprate_types::rpc`, `from` module for `cuprate_rpc_types`

* `rpc-types` -> `types` pt. 2

* type fixes, move fn to `-helper`

* clippy fix

* rpc: move json-rpc types away from macros

* !!

* move types, fix orphan impl + cyclic dependency

* architecture book

* fix json-rpc handlers

* remove `::<N>`

* fix clippy

* fix type defaults, use `Hex`

* return defaults, hex test

* json_rpc: get_block_template

* `/get_transactions`

* `/is_key_image_spent`

* !!

* `/get_transactions` hex

* most of `/send_raw_transaction`

* `/send_raw_transaction`, `/save_bc`, response_base

* `/peerlist`

* `/get_transaction_pool`

* `/get_transaction_pool_stats`

* finish other draft

* get_blocks_by_height, shared::get_outs

* `/get_o_indexes.bin`

* `/get_output_distribution.bin`

* clippy

* `/get_blocks.bin`

* rpc-interface: add restricted invariant comments

* restricted json-rpc error

* get_output_distribution

* module cleanup

* txpool: all_hashes

* `HexVec`

* fix `get_txid` for `/get_outs`

miner transaction was not accounted for

* fix doc tests

* fix conflict

* json-rpc fixes

* `get_transaction_pool_hashes` fix

* rpc/interface: fix cargo hack

* review fixes

* cargo hack fix

* use `monero_address`

* Update binaries/cuprated/src/rpc/handlers/json_rpc.rs

Co-authored-by: Boog900 <boog900@tutanota.com>

* Update binaries/cuprated/src/rpc/handlers/json_rpc.rs

Co-authored-by: Boog900 <boog900@tutanota.com>

* review fixes

* fix `get_hashes`

* fix `is_key_image_spent`

* fix key image types

* fixes

* fix book

* output timelock fix + `blockchain_context()`

* fix

* fix

* fix

* fix getblocks.bin

* `cuprate_types` doc

* output fix

* fixme

* rct output fix

* fix cast

* clippy

---------

Co-authored-by: Boog900 <boog900@tutanota.com>
2025-04-08 17:09:43 +01:00
hinto-janai
8292da4e06
cuprated: fast_sync_hashes.bin -> 3384832 ()
3384832
2025-04-08 16:19:00 +01:00
03363e393d
cuprated: auto config docs ()
* auto config docs

* fmt & change arg

* fix clippy

* add comment_out functionality

* remove config files + gen in mdbook build

* review fixes

* Update books/user/src/config.md

Co-authored-by: hinto-janai <hinto.janai@protonmail.com>

---------

Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2025-04-05 15:33:56 +01:00
hinto-janai
57cd96ed6c
storage: replace println with tracing ()
* replace `println` with `tracing`

* fix

* remove feature

* !
2025-04-02 16:08:28 +01:00
hinto.janai
9ed9b61f34
add layers 2025-04-01 21:45:39 -04:00
hinto.janai
0f35406ce1
add init fn 2025-03-28 20:58:43 -04:00
hinto.janai
305fc862dc
add rpc server 2025-03-28 16:45:37 -04:00
hinto-janai
3c86c5ed76
cuprated: disable STDIN if not terminal ()
* check terminal

* await ctrl_c

* add exit msg

* rm
2025-03-23 00:57:28 +00:00
hinto-janai
f60aa82420
ci: fix deny ()
update
2025-03-21 20:57:52 +00:00
b97bbab593
Cuprated: Fix reorgs ()
* fix reorgs

* fix off by 1 and add a test

* commit file

* docs

* remove unneeded fn

* fix tests
2025-03-21 17:52:10 +00:00
c5cbe51300
fast-sync: add tests ()
fast sync tests
2025-03-19 15:52:05 +00:00
jermanuts
e84f5c151f
Readme and user book: Fix links ()
* User book: https link to CCS

* Readme: fix contribution and security link

* rust link https
2025-03-13 22:11:04 +00:00
hinto-janai
21ad35d44a
books: user book fixes pt. 2 ()
fix download links
2025-03-12 01:12:25 +00:00
hinto-janai
11d4f290c3
books: user book fixes ()
* typo

* summary

* update url
2025-03-11 23:46:34 +00:00
hinto-janai
fcbf260747
workspace: initial release cycle files ()
* initial files

* hashes

* ci: more targets

* release.yml

* moves

* remove commit list

* typo

* add linux arm to `monerod-download`

* update

* fast sync

* remove `cuprated.service`

* update

* changes

* move contributing
2025-03-11 23:15:53 +00:00
hinto-janai
bd17f615b2
books: add user-book for cuprated v0.0.1 ()
* apply

* add sections

* typo

* faq

* faq

* comments

* review

* update
2025-03-11 22:19:21 +00:00
hinto-janai
97e3c07b23
cuprated: update killswitch timestamp ()
* update killswitch timestamp

* update sanity ts

* update

* update
2025-03-11 21:19:58 +00:00
hinto-janai
7d18098b4c
clippy: add doc-valid-idents ()
apply
2025-03-08 18:48:47 +00:00
hinto-janai
d5dd70a47b
readme: Documentation -> Books & Crates ()
* apply

* fix links
2025-03-08 18:47:54 +00:00
1549a88618
cuprated: Add fast sync ()
* add specific method for context

* add new statemachine for tx verification

* fix consensus crates build

* working builds

* fix CI

* add docs

* fix CI

* fix docs

* fix clippy

* cleanup

* add docs to `blockchain_context`

* fix doc tests

* add output cache

* new monero-serai

* todo

* todo

* Revert "new monero-serai"

This reverts commit fe3f6acc676fe59e794d5f92f07f76445db35199.

* use indexmap to request outputs

* clean up

* fix typos

* fix CI

* fix cargo hack

* fix reorgs

* check if a block is already present before adding it to the alt block cache

* fmt

* update to new monero oxide API

* fmt & fix cache

* update config values

* fix tests

* add fast sync

* fix start_height check

* disable kill switch for now

* add fast sync config options

* add docs

* wait for all blocks to download before starting the syncer again.

* fix permit

* typo

* fix import order

* fmt

* add docs + order imports

* fix clippy

* review fixes

* rename top -> stop
2025-03-08 01:54:34 +00:00
5c2b56c78e
Update to experimental monero oxide api ()
* add specific method for context

* add new statemachine for tx verification

* fix consensus crates build

* working builds

* fix CI

* add docs

* fix CI

* fix docs

* fix clippy

* cleanup

* add docs to `blockchain_context`

* fix doc tests

* add output cache

* new monero-serai

* todo

* todo

* Revert "new monero-serai"

This reverts commit fe3f6acc676fe59e794d5f92f07f76445db35199.

* use indexmap to request outputs

* clean up

* fix typos

* fix CI

* fix cargo hack

* fix reorgs

* check if a block is already present before adding it to the alt block cache

* fmt

* update to new monero oxide API

* fmt & fix cache

* update config values

* fix tests

* fix no-std builds
2025-03-06 19:03:25 +00:00
2dc258e4c8
Consensus: Fix reorgs ()
* add specific method for context

* add new statemachine for tx verification

* fix consensus crates build

* working builds

* fix CI

* add docs

* fix CI

* fix docs

* fix clippy

* cleanup

* add docs to `blockchain_context`

* fix doc tests

* add output cache

* new monero-serai

* todo

* todo

* Revert "new monero-serai"

This reverts commit fe3f6acc676fe59e794d5f92f07f76445db35199.

* use indexmap to request outputs

* clean up

* fix typos

* fix CI

* fix cargo hack

* fix reorgs

* check if a block is already present before adding it to the alt block cache

* fmt
2025-03-06 16:40:52 +00:00
6a9356b552
consensus: Batch get outputs ()
* add specific method for context

* add new statemachine for tx verification

* fix consensus crates build

* working builds

* fix CI

* add docs

* fix CI

* fix docs

* fix clippy

* cleanup

* add docs to `blockchain_context`

* fix doc tests

* add output cache

* new monero-serai

* todo

* todo

* Revert "new monero-serai"

This reverts commit fe3f6acc676fe59e794d5f92f07f76445db35199.

* use indexmap to request outputs

* clean up

* fix typos

* fix CI

* fix cargo hack

* update doc comment

* fix non-rct miner tx error

* Apply suggestions from code review

Co-authored-by: hinto-janai <hinto.janai@protonmail.com>

* Update storage/database/src/backend/redb/env.rs

Co-authored-by: hinto-janai <hinto.janai@protonmail.com>

---------

Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2025-03-06 16:17:09 +00:00
ba708a78d5
cuprated: add startup delay if config is missing ()
* add startup delay if config is missing

* clean up

* fix typos

* fix imports + add small comment

* fmt
2025-03-06 03:52:03 +00:00
hinto-janai
f554be73b9
cuprated: config versioning + backwards compat test ()
* apply

* typo

* fix path
2025-03-06 01:35:14 +00:00
hinto-janai
d795b51e4d
ci: remove dependency installs, set OS versions ()
* remove boost deps

* fix

* readd some windows deps

* windows-2019

* update OSs, `randomx-rs` commit

* !!

* ubuntu-22.04
2025-03-05 03:23:38 +00:00
1c04634396
P2P: fix deadlock ()
* fix deadlock

* fix ci

* clean up + docs

* fmt

* remove extra tick

* fix typos
2025-03-04 21:36:27 +00:00
Yichi Zhang
4f3d11be1d
Modify wrong code ()
Modify_inconsistency
2025-02-27 15:19:12 +00:00
hinto-janai
7e8e62135c
database: SyncMode changes ()
apply
2025-01-29 14:41:30 +00:00
d8d1e34266
Consensus: Improve API ()
* add specific method for context

* add new statemachine for tx verification

* fix consensus crates build

* working builds

* fix CI

* add docs

* fix CI

* fix docs

* fix clippy

* cleanup

* add docs to `blockchain_context`

* fix doc tests

* review fixes

* fix cargo doc
2025-01-28 22:25:20 +00:00
hinto-janai
9842535e86
cuprated: killswitch and version module ()
* add cuprated skeleton

* fmt and add deny exception

* add main chain batch handler

* add blockchain init

* very rough block manager

* misc changes

* move more config values

* add new tables & types

* add function to fully add an alt block

* resolve current todo!s

* add new requests

* WIP: starting re-orgs

* add last service request

* commit Cargo.lock

* add test

* more docs + cleanup + alt blocks request

* clippy + fmt

* document types

* move tx_fee to helper

* more doc updates

* fmt

* fix imports

* remove config files

* fix merge errors

* fix generated coins

* handle more p2p requests + alt blocks

* clean up handler code

* add function for incoming blocks

* add docs to handler functions

* broadcast new blocks + add commands

* add fluffy block handler

* fix new block handling

* small cleanup

* increase outbound peer count

* fix merge

* clean up the blockchain manger

* add more docs + cleanup imports

* fix typo

* fix doc

* remove unrelated changes

* add `get_objects` handler

* add `get_chain` handler

* add `fluffy_missing_txs` handler

* add `new_fluffy_block` handler

* improve interface globals

* manger -> manager

* enums instead of bools

* move chain service to separate file

* more review fixes

* sort imports + docs

* init config

* init dandelion integration

* add dandelion start function

* finish incoming tx handler

* Add tx blob hash table

* Add missing txpool requests

* handle duplicate stem txs

* check txpool on incoming block

* add request to remove tx in new blocks from the pool

* tell the txpool about incoming blocks

* fix merge

* typos

* remove blockchain height from txpool

* fix merge

* fix merge

* handle incoming txs in p2p request handler

* split sections

* finish initial config.

* fix clap

* misc changes

* fix doc

* fix test & clippy

* fix test 2

* try fix windows

* testing

* testing 2

* fix windows test

* fix windows: the remix.

* Allow `IncomingTxHandler` to be given later

* add p2p clearnet init

* fix build

* misc changes

* review comments

* fix imports

* rename & fix default config file

* fix cargo hack

* enable serde on `cuprate-helper`

* changes from matrix chats

* fix ci

* fix doc

* fix doc test

* doc updates

* more doc updates

* sort imports

* add startup code

* d -> h

* add file logging

* fix stem peer service

* todo

* remove `get_range`

* change usages of `get_range`

* clippy

* cargo update

* fix test + update comment

* manually set numb threads for each pool

* fix address book saves

* add more data to status

* fix config

* cleanup main + logging

* add more info to output when changing log level

* cleanup commands

* fix small issue in block downloader  more misc clean up

* cross block bp(+) batch verification

* add message when syncing is done

* Revert "cross block bp(+) batch verification"

This reverts commit 764c4663a0.

* fix fmt & clippy

* move `io_loop` to commands

* cuprated: killswitch module

* use `const` for major version

* `|| -> !`

* spacing

* fixes

* fixes

* fixes

---------

Co-authored-by: Boog900 <54e72d8a-345f-4599-bd90-c6b9bc7d0ec5@aleeas.com>
Co-authored-by: Boog900 <boog900@tutanota.com>
2025-01-21 19:02:10 +00:00