hinto.janai
7a94952e14
copy #98
2024-10-21 17:01:11 -04:00
hinto.janai
1c462e3c95
add fixme
2024-10-09 20:17:58 -04:00
hinto.janai
2e3e36c840
add to crates.md
2024-10-09 19:46:13 -04:00
hinto.janai
eb617b30f8
json-rpc benchmarks
2024-10-09 17:42:56 -04:00
hinto.janai
cab2011613
lib readme
2024-10-09 17:23:32 -04:00
hinto.janai
fe6c395d40
Merge branch 'main' into benches
2024-10-09 17:09:37 -04:00
hinto.janai
828cbbac27
docs
Audit / audit (push) Has been cancelled
Deny / audit (push) Has been cancelled
2024-10-08 20:49:13 -04:00
hinto.janai
8c9d159124
fix clippy
2024-10-08 20:35:00 -04:00
hinto.janai
9a0b6138b5
docs, tracing
2024-10-08 20:19:22 -04:00
hinto-janai
9923d8d69d
cuprated: internal signatures required for RPC ( #297 )
...
CI / fmt (push) Has been cancelled
CI / typo (push) Has been cancelled
CI / ci (macos-latest, stable, bash) (push) Has been cancelled
CI / ci (ubuntu-latest, stable, bash) (push) Has been cancelled
CI / ci (windows-latest, stable-x86_64-pc-windows-gnu, msys2 {0}) (push) Has been cancelled
Doc / build (push) Has been cancelled
Doc / deploy (push) Has been cancelled
* 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
185c2ee25a
add cuprate-criterion-example
Audit / audit (push) Waiting to run
Deny / audit (push) Waiting to run
2024-10-08 17:42:21 -04:00
hinto.janai
897396ee1a
Merge branch 'main' into benches
2024-10-08 17:16:06 -04:00
8be369846e
cuprated: Blockchain Manager ( #274 )
...
CI / fmt (push) Waiting to run
CI / typo (push) Waiting to run
CI / ci (macos-latest, stable, bash) (push) Waiting to run
CI / ci (ubuntu-latest, stable, bash) (push) Waiting to run
CI / ci (windows-latest, stable-x86_64-pc-windows-gnu, msys2 {0}) (push) Waiting to run
Doc / build (push) Waiting to run
Doc / deploy (push) Blocked by required conditions
Audit / audit (push) Has been cancelled
Deny / audit (push) Has been cancelled
* 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
Dmitry Holodov
00bdd6ffaa
cryptonight in pure Rust ( #271 )
...
* removed FORCE_USE_HEAP to from c code
* removed unused headers
* simplifying C code to better understand it
* more c code simplifications
* removed conditional code for the v4 register size
* got one version of keccak working
* not so important hash_process unwound
* got keccak working using the sha3 lib
* hash state unions created
* slow hash through VARIANT1_PORTABLE_INIT is working
* variant 2 init working
* ported version of random_math_init compiling, but not yet passing tests
* fixed hash algorithm, tests working
* formatting
* more macro reduction
* monero AES working in Rust
* fixed AES key expansion expected key size
* first 75% of slow hash converted and working correctly
* adjusted key format for aesb_single_round
* converted some macros to functions
* variant2_integer_math working with test cases
* broke sqrt out of variant2_integer_math for code coverage
* variant2_portable_shuffle_add working with unit tests
* added skein and jh hashes
* 524287 iteration loop producing correct results
* all tests working in Rust
* subarray macros added
* aes simplifications
* code cleanups
* code cleanups part 2
* removed unused blake C code as prep for port to rust
* original blake algorithm in pure rust is working
* converted macro in compress to a lamda
* added module documentation for blake256
* Gave Blake256 a Digest trait
* adding more documentation
* more documentation and cleanup
* more slow hash tests
* removed C code
* misc refactoring
* fix
* lint fix
* additional linting
* downgraded deps to latest stable versions
* made thiserror a workspace dep
* removed commented dead code
* lint fixes
* fixed lint issues in test code
* limited util macro scopes to the crate
* Reformatted dependencies using:
group_imports = "StdExternalCrate"
reorder_modules = true
reorder_impl_items = true
imports_granularity = "crate"
* converted util macros to inline functions
* hex dep comes from workspace
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* panic subarray tests
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* updates to doc comments
* removes extra parens in hash_v4.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* early return to remove indentation in hash_v2.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* gropuing expect annotations in hash_v2.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* use matches macro to simplify code hash_v4.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* remove extra paren in hash_v4.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* eary return to remove indentation in hash_v2.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* minor comment fixes
* early loop continue to remove indentation in hash_v4.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* convert non-capturing llamda to fn in hash_v2.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* another lamda to fn conversion in hash_v2.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* llamda to fn conversion in cnaes.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* 2nd llamda to fn conversion in cnaes.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* test lamdas in lib.rs are now functions
* round_fwd optimized
* added myself as an author
* fixed place that needed wrapping_add
* clippy allow->expect change needed after merging master
* moving state to u128
* round_fwd changes sped up fuzzer by 10%
* 1st working version using u128 for long state
* text converted to u128 array
* removed LongState union
* simplified long_state's initialization
* aes round keys now use u128
* CRYPTONIGHT_SBOX is now u32 instead of u8
* cleaner hash_v4 loop unrolling semantics (same peformance)
* switched to a better maintained loop unrolling macro
2024-10-08 16:03:56 +01:00
hinto.janai
6525307744
book
Audit / audit (push) Waiting to run
Deny / audit (push) Waiting to run
2024-10-07 20:48:51 -04:00
ca882512fc
P2P: move seed nodes to config ( #306 )
...
* move seed nodes to config
* fix tests
2024-10-07 23:36:46 +01:00
hinto-janai
80bfe0a34c
types: JSON representation types ( #300 )
...
* add `cuprate_types::json`
* docs
* `Option` -> flattened enums + prefix structs
* output enum
* docs
* todo!() epee impl
* cuprate-rpc-types: add comments
* cuprate-rpc-types: common `TxEntry` fields into prefix struct
* remove epee
* docs
* add `hex` module
* `From` serai types
* cleanup
* proofs
* tx from impls
* fix tx timelock
* add block value tests
* add ringct types
* add tx_v1, tx_rct_3 test
* clsag bulletproofs tx test
* clsag bulletproofs plus tx test
* docs
* fix hex bytes
* typo
* docs
2024-10-05 01:47:44 +01:00
hinto.janai
24d176ff14
example, docs
Audit / audit (push) Has been cancelled
Deny / audit (push) Has been cancelled
2024-10-04 17:37:38 -04:00
hinto.janai
7bac741d5f
name changes, bin impl
Audit / audit (push) Waiting to run
Deny / audit (push) Waiting to run
2024-10-03 21:36:32 -04:00
hinto.janai
39fe790553
Merge branch 'main' into benches
2024-10-03 20:05:34 -04:00
hinto-janai
a003e0588d
Add constants/
crate ( #280 )
...
Architecture mdBook / build (push) Has been cancelled
Audit / audit (push) Has been cancelled
CI / fmt (push) Has been cancelled
CI / typo (push) Has been cancelled
CI / ci (macos-latest, stable, bash) (push) Has been cancelled
CI / ci (ubuntu-latest, stable, bash) (push) Has been cancelled
CI / ci (windows-latest, stable-x86_64-pc-windows-gnu, msys2 {0}) (push) Has been cancelled
Deny / audit (push) Has been cancelled
Doc / build (push) Has been cancelled
Doc / deploy (push) Has been cancelled
* 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
521bf877db
P2P: give the protocol handler access to the peer info ( #302 )
...
Audit / audit (push) Waiting to run
CI / fmt (push) Waiting to run
CI / typo (push) Waiting to run
CI / ci (macos-latest, stable, bash) (push) Waiting to run
CI / ci (ubuntu-latest, stable, bash) (push) Waiting to run
CI / ci (windows-latest, stable-x86_64-pc-windows-gnu, msys2 {0}) (push) Waiting to run
Deny / audit (push) Waiting to run
Doc / build (push) Waiting to run
Doc / deploy (push) Blocked by required conditions
* give the protocol handler access to the peer info
* add trait alias
* clippy + fmt
* update doc
* simplify trait aliases
* use tower `Shared`
* clean import
* fmt
* Update Cargo.toml
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* fix merge
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-09-30 23:19:53 +01:00
6da9d2d734
P2P: remove peer sync service ( #299 )
...
* remove peer sync service
* change `p2p` to not use the peer sync service
* fmt & clippy
* doc updates
* review fixes
* add a little more detail to comment
2024-09-30 22:15:48 +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
a072d44a0d
P2P: fix connection disconnect on Client
drop ( #298 )
...
fix connection disconnect on `Client` drop
2024-09-25 20:56:57 +01:00
hinto-janai
88605b081f
books/architecture: port database design document ( #267 )
...
Architecture mdBook / build (push) Has been cancelled
CI / fmt (push) Has been cancelled
CI / typo (push) Has been cancelled
CI / ci (macos-latest, stable, bash) (push) Has been cancelled
CI / ci (ubuntu-latest, stable, bash) (push) Has been cancelled
CI / ci (windows-latest, stable-x86_64-pc-windows-gnu, msys2 {0}) (push) Has been cancelled
Doc / build (push) Has been cancelled
Doc / deploy (push) Has been cancelled
* 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 )
...
Audit / audit (push) Has been cancelled
CI / fmt (push) Has been cancelled
CI / typo (push) Has been cancelled
CI / ci (macos-latest, stable, bash) (push) Has been cancelled
CI / ci (ubuntu-latest, stable, bash) (push) Has been cancelled
CI / ci (windows-latest, stable-x86_64-pc-windows-gnu, msys2 {0}) (push) Has been cancelled
Deny / audit (push) Has been cancelled
Doc / build (push) Has been cancelled
Doc / deploy (push) Has been cancelled
cargo upgrade
Co-authored-by: Boog900 <boog900@tutanota.com>
2024-09-22 19:34:20 +01:00
hinto-janai
848a6a71c4
p2p/p2p-core: enable workspace lints ( #288 )
...
Audit / audit (push) Has been cancelled
CI / fmt (push) Has been cancelled
CI / typo (push) Has been cancelled
CI / ci (macos-latest, stable, bash) (push) Has been cancelled
CI / ci (ubuntu-latest, stable, bash) (push) Has been cancelled
CI / ci (windows-latest, stable-x86_64-pc-windows-gnu, msys2 {0}) (push) Has been cancelled
Deny / audit (push) Has been cancelled
Doc / build (push) Has been cancelled
Doc / deploy (push) Has been cancelled
* p2p-core: enable workspace lints
* fmt
* fix tests
* fixes
* fixes
* fixes
* expect reason
2024-09-21 01:37:06 +01:00
hinto-janai
f4c88b6f05
p2p: enable workspace lints ( #289 )
...
* p2p: enable workspace lints
* fmt
* fixes
* fixes
* fixes
* review fixes
2024-09-21 01:36:39 +01:00
hinto-janai
c840053854
consensus: enable workspace lints ( #295 )
...
* consensus: enable workspace lints
* rules/fast-sync: enable workspace lints
* typos
* fixes
* `PoW` -> proof-of-work
2024-09-21 01:32:03 +01:00
hinto-janai
57af45e01d
epee-encoding: enable workspace lints ( #294 )
...
* epee-encoding: enable workspace lints
* fmt
* fixes
* fixes
* fmt
2024-09-20 15:13:55 +01:00
hinto-janai
5588671501
levin: enable workspace lints ( #292 )
...
* levin: enable workspace lints
* use `drop()`
* dep fixes
2024-09-20 15:11:27 +01:00
hinto-janai
19150df355
p2p/dandelion-tower: enable workspace lints ( #287 )
...
* dandelion-tower: add/fix workspace lints
* fmt
* fixes
* todos
* fixes
* fixes
* expect reason
2024-09-20 14:36:34 +01:00
Asurar
e7c6bba63d
Database: Split BlockBlobs
table + Miscellaneous fixes ( #290 )
...
Audit / audit (push) Waiting to run
CI / fmt (push) Waiting to run
CI / typo (push) Waiting to run
CI / ci (macos-latest, stable, bash) (push) Waiting to run
CI / ci (ubuntu-latest, stable, bash) (push) Waiting to run
CI / ci (windows-latest, stable-x86_64-pc-windows-gnu, msys2 {0}) (push) Waiting to run
Deny / audit (push) Waiting to run
Doc / build (push) Waiting to run
Doc / deploy (push) Blocked by required conditions
* 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
e3a918bca5
wire: enable workspace lints ( #291 )
...
* wire: enable workspace lints
* revert match arm formatting
2024-09-18 23:19:32 +01:00
hinto-janai
a1267619ef
p2p/address-book: enable workspace lints ( #286 )
...
* address-book: enable workspace lints
* fix
* fixes
2024-09-18 23:18:31 +01:00
hinto-janai
2afc0e8373
test-utils: enable workspace lints ( #283 )
...
* test-utils: enable workspace lints + fix
* `allow` -> `expect`
* fixes
2024-09-18 23:14:31 +01:00
hinto-janai
b9842fcb18
fixed-bytes: enable workspace lints ( #293 )
2024-09-18 23:12:35 +01:00
hinto-janai
8b4b403c5c
pruning: enable workspace lints ( #284 )
...
pruning: enable/fix workspace lints
2024-09-18 22:44:23 +01:00
hinto-janai
6502729d8c
lints: replace allow
with expect
( #285 )
...
Audit / audit (push) Waiting to run
CI / fmt (push) Waiting to run
CI / typo (push) Waiting to run
CI / ci (macos-latest, stable, bash) (push) Waiting to run
CI / ci (ubuntu-latest, stable, bash) (push) Waiting to run
CI / ci (windows-latest, stable-x86_64-pc-windows-gnu, msys2 {0}) (push) Waiting to run
Deny / audit (push) Waiting to run
Doc / build (push) Waiting to run
Doc / deploy (push) Blocked by required conditions
* 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
Asurar
2291a96795
P2P: Add latest clearnet mainnet seed nodes. ( #281 )
...
Add Monerod latest clearnet mainnet seed nodes
2024-09-14 14:01:43 +01:00
90027143f0
consensus: misc fixes ( #276 )
...
CI / fmt (push) Has been cancelled
CI / typo (push) Has been cancelled
CI / ci (macos-latest, stable, bash) (push) Has been cancelled
CI / ci (ubuntu-latest, stable, bash) (push) Has been cancelled
CI / ci (windows-latest, stable-x86_64-pc-windows-gnu, msys2 {0}) (push) Has been cancelled
Doc / build (push) Has been cancelled
Doc / deploy (push) Has been cancelled
* fix decoy checks + fee calculation
* fmt
2024-09-10 01:18:26 +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
Asurar
967537fae1
P2P: Implement incoming ping request handling over maximum inbound limit ( #277 )
...
Implement incoming ping request handling over maximum inbound limit
- If the maximum inbound connection semaphore reach its limit, `inbound_server` fn will
open a tokio task to check if the node wanted to ping us. If it is the case we respond, otherwise
drop the connection.
- Added some documentation to the `inbound_server` fn.
2024-09-09 23:12:06 +01:00
hinto-janai
01625535fa
book/architecture: add resource index ( #268 )
...
Architecture mdBook / build (push) Has been cancelled
Audit / audit (push) Has been cancelled
CI / fmt (push) Has been cancelled
CI / typo (push) Has been cancelled
CI / ci (macos-latest, stable, bash) (push) Has been cancelled
CI / ci (ubuntu-latest, stable, bash) (push) Has been cancelled
CI / ci (windows-latest, stable-x86_64-pc-windows-gnu, msys2 {0}) (push) Has been cancelled
Deny / audit (push) Has been cancelled
Doc / build (push) Has been cancelled
Doc / deploy (push) Has been cancelled
* resource index
* index
* cap
* cleanup
2024-09-08 18:31:58 +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
hinto-janai
4653ac5884
rpc/interface: separate RpcHandler
into 3 tower::Service
s ( #266 )
...
CI / typo (push) Has been cancelled
CI / ci (macos-latest, stable, bash) (push) Has been cancelled
CI / fmt (push) Has been cancelled
CI / ci (ubuntu-latest, stable, bash) (push) Has been cancelled
CI / ci (windows-latest, stable-x86_64-pc-windows-gnu, msys2 {0}) (push) Has been cancelled
Doc / build (push) Has been cancelled
Doc / deploy (push) Has been cancelled
* apply diff
* cleanup
* fix test
2024-09-05 16:53:16 +01:00
hinto-janai
0941f68efc
helper: fix clippy ( #265 )
...
Audit / audit (push) Has been cancelled
CI / fmt (push) Has been cancelled
CI / typo (push) Has been cancelled
CI / ci (macos-latest, stable, bash) (push) Has been cancelled
CI / ci (ubuntu-latest, stable, bash) (push) Has been cancelled
CI / ci (windows-latest, stable-x86_64-pc-windows-gnu, msys2 {0}) (push) Has been cancelled
Deny / audit (push) Has been cancelled
Doc / build (push) Has been cancelled
Doc / deploy (push) Has been cancelled
* helper: fix lints
* fix tests
2024-09-02 22:46:11 +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