hinto-janai
3c86c5ed76
cuprated: disable STDIN if not terminal ( #415 )
...
* check terminal
* await ctrl_c
* add exit msg
* rm
2025-03-23 00:57:28 +00:00
b97bbab593
Cuprated: Fix reorgs ( #408 )
...
* 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
hinto-janai
97e3c07b23
cuprated: update killswitch timestamp ( #391 )
...
* update killswitch timestamp
* update sanity ts
* update
* update
2025-03-11 21:19:58 +00:00
1549a88618
cuprated: Add fast sync ( #389 )
...
* 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 ( #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 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 ( #384 )
...
* 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 ( #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 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 (#393 )
...
* 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 ( #394 )
...
* apply
* typo
* fix path
2025-03-06 01:35:14 +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
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
hinto-janai
9842535e86
cuprated: killswitch
and version
module ( #365 )
...
* 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
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
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
c54bb0c8b2
P2P: Change ClientPool
to PeerSet
( #337 )
...
* add WeakClient
* todo
* client pool -> peer set
* more peer set changes
* fix cuprated builds
* add docs
* more docs + better disconnect handling
* more docs
* fix imports
* review fixes
2024-11-20 01:37:52 +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
978d72b6c1
Move consensus context service into a subcrate. ( #318 )
...
Co-authored-by: Boog900 <boog900@tutanota.com>
2024-10-17 00:17:58 +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
8be369846e
cuprated: Blockchain Manager ( #274 )
...
* 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
* improve interface globals
* manger -> manager
* enums instead of bools
* move chain service to separate file
* more review fixes
* add link to issue
* fix syncer + update comment
* fmt
2024-10-08 18:26:07 +01:00
hinto-janai
12bbadd749
cuprated: add constants
& statics
modules ( #301 )
...
* add modules
* docs
* test
* rename
* tabs -> spaces
2024-09-28 01:41:34 +01:00
hinto-janai
92800810d9
cuprated: initial RPC module skeleton ( #262 )
...
* readme
* cuprated: add all workspace deps
* cuprated: add lints
* !!
* add state, fn signatures
* fixes
* error signatures
* interface: handle json-rpc concepts
* split rpc calls into 3 `Service`s
* interface: extract out to `RpcService`
* fix merge
* remove crate lints
* use `BoxFuture`
* rpc/interface: impl `thiserror::Error`
* split state from main handler struct
* cleanup
* fix imports
* replace `RpcError` with `anyhow::Error`
* interface: update error
* cuprated: update error type
2024-09-08 15:52:17 +01:00
7207fbd17b
Binaries: add cuprated skeleton ( #258 )
...
* add cuprated skeleton
* fmt and add deny exception
2024-08-20 23:56:18 +01:00
hinto-janai
4876e159e7
repo: add skeleton directories, fix labels ( #139 )
...
* `database/` -> `storage/`, create skeleton `storage/` crates
* add skeleton root directories
* books: add skeleton
* ci: fix labeler.yml
* fix CONTRIBUTING.md
* fix workspace Cargo.toml
* fix `storage/`
* rename helper fs fn, `cuprate_database` -> `cuprate_blockchain`
* fix Cargo.toml
* cuprate-blockchain: revert find-and-replace
Since it has to be ported to the book anyway, there's not much
reason to update this and create review diffs.
* labeler.yml: remove `A-docs` from `books/` changes
Although books are documentation,
the `A-books` label already exists for this
2024-05-29 02:18:30 +01:00