Boog900
f15a754c50
update rust to 2024
2025-03-07 18:45:35 +00:00
Boog900
435c6b717f
fix clippy
2025-03-06 21:52:18 +00:00
Boog900
8c268aa841
fmt
2025-03-06 21:20:58 +00:00
Boog900
693b7a94df
Merge branch 'main' into fast-sync-clean
2025-03-06 21:20:11 +00:00
5c2b56c78e
Update to experimental monero oxide api ( #386 )
...
* 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 fe3f6acc67
.
* 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
6a9356b552
consensus: Batch get outputs ( #382 )
...
* 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 fe3f6acc67
.
* 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
1c04634396
P2P: fix deadlock ( #385 )
...
* fix deadlock
* fix ci
* clean up + docs
* fmt
* remove extra tick
* fix typos
2025-03-04 21:36:27 +00:00
Boog900
5d67c15ec3
add fast sync config options
2025-03-03 02:21:39 +00:00
Boog900
67dcc4ac15
add fast sync
2025-02-28 23:17:28 +00:00
Boog900
e1d1f616f1
update to new monero oxide API
2025-02-25 01:59:27 +00:00
Boog900
da884b3fc1
fix CI
2025-02-22 00:27:45 +00:00
Boog900
5054f4aa26
clean up
2025-02-22 00:03:31 +00:00
Boog900
6cb3ec15bc
Merge branch 'main' into batch-outputs
2025-02-09 23:58:23 +00:00
Boog900
241b7fce65
use indexmap to request outputs
2025-02-09 19:05:43 +00:00
Boog900
4e805b30fe
Revert "new monero-serai"
...
This reverts commit fe3f6acc67
.
2025-01-29 15:11:23 +00:00
hinto-janai
7e8e62135c
database: SyncMode
changes ( #377 )
...
apply
2025-01-29 14:41:30 +00:00
d8d1e34266
Consensus: Improve API ( #366 )
...
* 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
Boog900
51b4a3e495
todo
2025-01-26 23:20:00 +00:00
Boog900
26fbde22d8
todo
2025-01-25 22:36:09 +00:00
Boog900
fe3f6acc67
new monero-serai
2025-01-25 21:25:56 +00:00
Boog900
918d818581
add output cache
2025-01-24 03:39:57 +00:00
Boog900
2756d9613c
fix doc tests
2025-01-21 02:25:21 +00:00
Boog900
caab94c1ad
cleanup
2025-01-21 02:02:42 +00:00
Boog900
e884cd1c99
fix clippy
2025-01-20 22:19:46 +00:00
Boog900
6e8e580061
add docs
2025-01-20 21:52:34 +00:00
Boog900
da938b928b
fix CI
2025-01-19 23:31:46 +00:00
Boog900
b86e0a981f
Merge branch 'main' into imporve-consensus-api
2025-01-19 22:30:35 +00:00
Boog900
7228bda806
working builds
2025-01-19 22:15:30 +00:00
Boog900
14a53ca618
add new statemachine for tx verification
2025-01-19 02:17:44 +00:00
503ef11514
cuprated: Init ( #344 )
...
* 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
* review fixes
* fix clippy
* review fixes
2025-01-17 20:24:24 +00:00
hinto-janai
c817c3b889
workspace: Rust 1.84 ( #363 )
...
* apply
* ci: use stable rust for rustfmt
2025-01-16 15:43:42 +00:00
80369b82d2
Storage: remove get_range
( #359 )
...
* remove `get_range`
* change usages of `get_range`
* clippy
* cargo update
* fix test + update comment
2024-12-19 21:58:54 +00:00
7b8756fa80
cuprated: P2P protocol request handler ( #303 )
...
* 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 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
* Allow `IncomingTxHandler` to be given later
* add p2p clearnet init
* fix build
* misc changes
* doc updates
* more doc updates
* sort imports
* review changes
* Result -> DbResult
* use `NonZero`
* review fixes
* remove `rust-2024-compatibility` lint
2024-12-03 20:21:05 +00:00
ecd077b402
cuprated: config & args ( #304 )
...
* init config
* 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.
* 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
* move Cuprated.toml
* remove default.rs
* `size` -> `bytes`
* `addressbook_path` -> `address_book_path`
* fix config output
* fix ci
* Update binaries/cuprated/src/config/args.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-12-03 15:17:21 +00:00
hinto-janai
38541dbfda
workspace: add/fix 1.83 lints ( #353 )
...
* 1.83 `cargo clippy --fix`
* fix type complexity, add `DbResult`
* clippy fix
* redb fix
* Update consensus/context/src/difficulty.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
---------
Co-authored-by: Boog900 <boog900@tutanota.com>
2024-11-28 19:53:59 +00:00
hinto-janai
f3c1a5c2aa
Fix #346 ( #347 )
...
fixes
2024-11-21 22:32:48 +00:00
hinto-janai
372cab24d7
cuprated: internal signatures required for RPC pt. 2 ( #320 )
...
* apply diffs
* clippy
* fix tests
* rpc: fix tests
* remove `BlockchainManagerRequest::Overview`
* cuprated/p2p: fix `ConnectionInfo`
* move `CalculatePow`
* remove `AddAuxPow`
* move `Spans` and `NextNeededPruningSeed`
* factor types into `cuprate-types`
* scope cargo features
* fix/doc type serde
* Update binaries/cuprated/src/rpc/request/address_book.rs
Co-authored-by: Boog900 <boog900@tutanota.com>
* Update binaries/cuprated/src/rpc/request/blockchain_context.rs
Co-authored-by: Boog900 <boog900@tutanota.com>
* Update binaries/cuprated/src/rpc/request/blockchain_manager.rs
Co-authored-by: Boog900 <boog900@tutanota.com>
* fmt
* txpool: collapse `TxEntry`
* `ConnectionId`
* fix import
* fix bin
---------
Co-authored-by: Boog900 <boog900@tutanota.com>
2024-11-01 22:25:55 +00:00
44981f2b24
CI: add cargo hack ( #170 )
...
* add workflow
* fix errors
* fix workflow
* install dependencies
* fix more errors
* Update CONTRIBUTING.md
* Update CONTRIBUTING.md
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* fix hack + enable it for cuprate-database
* move hack to main CI
* fix docs
* fix ci formatting
* fix txpool tests
* fix CONTRIBUTING.md formatting
* service -> tower::Service
* review fixes
* review fixes
* fix CI
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-11-01 20:22:14 +00:00
b57ee2f4cf
cuprated: txpool ( #312 )
...
* 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
* add function to start the pool
* add cross network address
* pre-review changes
* fix CI
* review fixes
* review fixes
* abort on DB error
* fix clippy
2024-10-29 15:30:51 +00:00
SyntheticBird
63216aecae
workspace: Defines cuprate members as workspace dependencies ( #326 )
...
Defines cuprate members as workspace dependencies
- Defines cuprate members as workspace dependencies
- Changed all `path` import into `workspace = true`
Co-authored-by: Boog900 <boog900@tutanota.com>
2024-10-24 23:12:30 +01:00
SyntheticBird
b8e2d00af4
storage: Add common amounts commitment lookup table ( #323 )
...
Add common ammounts commitment lookup table
- Implements `compute_zero_commitment` function in `cuprate-helper::crypto` module.
- Added test that compare the function output with the correct calculation.
- Use of a constant-time algorithm for the lookup table.
- Added according documentation
2024-10-24 22:10:33 +01:00
hinto-janai
9923d8d69d
cuprated: internal signatures required for RPC ( #297 )
...
* add request methods
* add p2p messages
* add txpool msgs
* add blockchain_context msgs
* add blockchain msgs
* fmt
* blockchain_manager msgs
* blockchain manager msg types
* add DB fn signatures
* add statics module
* p2p msg changes, docs
* txpool docs/types
* blockchain docs/types
* `AlternateChains`, docs
* fixes
* remove blockchain write handle, fix docs
* remove `BlockchainReadRequest::Difficulty`
* remove `BlockchainReadRequest::MinerData`
* fix p2p ban types
* `CurrentRxVm` -> `CurrentRxVms`
* storage: remove `Clone` off write handle
* Update p2p/p2p-core/src/ban.rs
Co-authored-by: Boog900 <boog900@tutanota.com>
* fix merge
---------
Co-authored-by: Boog900 <boog900@tutanota.com>
2024-10-08 22:57:09 +01:00
hinto-janai
a003e0588d
Add constants/
crate ( #280 )
...
* add `constants/`
* ci: add `A-constants` labeler
* add modules, move `cuprate_helper::constants`
* add `genesis.rs`
* `rpc.rs` docs
* remove todos
* `CRYPTONOTE_MAX_BLOCK_HEIGHT`
* add genesis data for all networks
* features
* fix feature cfgs
* test fixes
* add to architecture book
* fix comment
* remove `genesis` add other constants
* fixes
* revert
* fix
2024-10-02 18:51:58 +01:00
hinto-janai
88605b081f
books/architecture: port database design document ( #267 )
...
* add chapters
* add files, intro
* db abstraction
* backends
* abstraction
* syncing
* serde
* issues
* common/types
* common/ops
* common/service
* service diagram
* service/resize
* service/thread-model
* service/shutdown
* storage/blockchain
* update md files
* cleanup
* fixes
* update for https://github.com/Cuprate/cuprate/pull/290
* review fix
2024-09-24 17:23:22 +01:00
hinto-janai
5eb712f4de
cargo upgrade
(#296 )
...
cargo upgrade
Co-authored-by: Boog900 <boog900@tutanota.com>
2024-09-22 19:34:20 +01:00
Asurar
e7c6bba63d
Database: Split BlockBlobs
table + Miscellaneous fixes ( #290 )
...
* Split `BlockBlobs` database table + misc fixes
- Split the `BlockBlobs` database table into two new tables: `BlockHeaderBlobs` and `BlockTxsHashes`.
- `add_block`, `pop_block` and `get_block_extended_header` have been edited consequently.
- `VerifiedBlockInformation` now have a `mining_tx_index: u64` field.
- Made `cuprate-helper`'s `thread` feature a dependency of the `service` feature
- Edited service test mapping of output. It is now a full iterator.
* fix fmt
* Update storage/blockchain/src/types.rs
Co-authored-by: Boog900 <boog900@tutanota.com>
* Update storage/blockchain/src/ops/block.rs
Co-authored-by: Boog900 <boog900@tutanota.com>
* fix warning
---------
Co-authored-by: Boog900 <boog900@tutanota.com>
2024-09-19 20:05:41 +01:00
4169c45c58
Blockchain: add alt-block handling ( #260 )
...
* 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
* fix fee
* Apply suggestions from code review
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* remove default features from `cuprate-helper`
* review fixes
* fix find_block
* add a test and fix some issues in chain history
* fix clippy
* fmt
* Apply suggestions from code review
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* add dev dep
* cargo update
* move `flush_alt_blocks`
* review fixes
* more review fixes
* fix clippy
* remove INVARIANT comments
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-09-19 16:55:28 +01:00
hinto-janai
6502729d8c
lints: replace allow
with expect
( #285 )
...
* cargo.toml: add `allow_attributes` lint
* fix lints
* fixes
* fmt
* fix docs
* fix docs
* fix expect msg
2024-09-18 21:31:08 +01:00
49d1344aa1
Storage: use saturating_add
for cumulative_generated_coins
( #275 )
...
* use `saturating_add` for `cumulative_generated_coins`
* cargo fmt
2024-09-10 01:15:04 +01:00
hinto-janai
eead49beb0
lints: opt in manual lint crates ( #263 )
...
* cargo.toml: transfer existing lints
* rpc/interface: lints
* rpc/json-rpc: lints
* rpc/types: lints
* storage/blockchain: lints
* rpc/types: fix lints
* cargo.toml: fix lint group priority
* storage/blockchain: fix lints
* fix misc lints
* storage/database: fixes
* storage/txpool: opt in lints + fixes
* types: opt in + fixes
* helper: opt in + fixes
* types: remove borsh
* rpc/interface: fix test
* test fixes
* database: fix lints
* fix lint
* tabs -> spaces
* blockchain: `config/` -> `config.rs`
2024-09-02 18:12:54 +01:00