hinto.janai
9ba17f8c7f
Merge branch 'main' into helper-bench
Deny / audit (push) Has been cancelled
2024-11-28 08:59:45 -05:00
hinto-janai
01150ab84c
rpc/types: fix epee deserialization for GetBlocksResponse
( #345 )
...
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
Deny / audit (push) Waiting to run
Architecture mdBook / build (push) Has been cancelled
* header + flatten
* fix optional values
* `fn error() -> String` -> `error!() -> &'static str`
* extract out `PoolInfo`
* fix cargo hack
2024-11-27 23:04:58 +00:00
hinto-janai
caa08d5eaa
benches: initial implementation ( #196 )
...
* add readme
* readme, basic examples
* name changes, bin impl
* example, docs
* book
* add `cuprate-criterion-example`
* docs, tracing
* fix clippy
* docs
* lib readme
* json-rpc benchmarks
* add to crates.md
* add `fixme`
* fix `cargo b` failing
this `cfg()` existing makes a regular workspace `cargo b` fail
* fix cargo.toml
2024-11-25 20:10:42 +00:00
hinto-janai
f3c1a5c2aa
Fix #346 ( #347 )
...
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
Deny / audit (push) Has been cancelled
Doc / build (push) Has been cancelled
Doc / deploy (push) Has been cancelled
fixes
2024-11-21 22:32:48 +00:00
Dmitry Holodov
4b925b8c78
ZMQ PUB/SUB JSON Types ( #330 )
2024-11-21 01:08:24 +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
e8598a082d
books/architecture: add Monero oddities
( #343 )
...
* add `oddities/`
* swap `Expected`, `Why`
2024-11-18 15:21:52 +00:00
241088e273
Wire: fix IPv4 Endianness ( #342 )
...
* fix IPv4 Endianness
* fix import order
2024-11-17 20:32:41 +00:00
hinto-janai
0f1ad6db1b
Cargo.toml: move commas ( #340 )
...
Deny / 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
Doc / build (push) Has been cancelled
Doc / deploy (push) Has been cancelled
cargo.toml: move comma
2024-11-13 11:01:15 +00:00
5a5f88cb13
types: fix pruned BlockCompleteEntry
( #338 )
...
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
Deny / audit (push) Has been cancelled
Doc / build (push) Has been cancelled
Doc / deploy (push) Has been cancelled
fix pruned `BlockCompleteEntry`
2024-11-11 23:16:08 +00:00
525e20e841
Fix ci and loosen version requirements ( #335 )
...
* add deny exception + loosen version requirements
* add a comment
* remove `expect`
2024-11-04 15:22:43 +00:00
SyntheticBird
b6c4adc83a
p2p: Implement P2P Bucket data structure ( #329 )
...
Implements P2P Bucket data structure
This commit implements a "Bucket" data structure that is a collection
of data that discriminates its items into "buckets" (vector of size N)
following a defined function.
- Implements Bucket data structure and Bucketable trait
- Implements Bucketable for Ipv4Addr
- Added the crate to the workspace dependencies
- Added arrayvec as a dependency
2024-11-02 00:45:56 +00:00
hinto-janai
372cab24d7
cuprated: internal signatures required for RPC pt. 2 ( #320 )
...
CI / ci (macos-latest, stable, bash) (push) Has been cancelled
Audit / audit (push) Has been cancelled
CI / fmt (push) Has been cancelled
CI / typo (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
* 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 )
...
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
* 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
hinto.janai
c8c1c2ef36
Merge branch 'benches' into helper-bench
Audit / audit (push) Has been cancelled
Deny / audit (push) Has been cancelled
2024-10-25 20:35:14 -04:00
hinto.janai
9ea41c3a05
Merge branch 'main' into helper-bench
2024-10-25 20:35:09 -04:00
hinto.janai
54354f7e9b
Merge branch 'main' into benches
Audit / audit (push) Has been cancelled
Deny / audit (push) Has been cancelled
2024-10-25 20:25:44 -04:00
SyntheticBird
63216aecae
workspace: Defines cuprate members as workspace dependencies ( #326 )
...
Deny / 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
Audit / audit (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
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
4b350e897d
consensus-context: enable workspace lints ( #321 )
...
enable lints, fix 1.82 clippy
2024-10-22 17:35:54 +01:00
hinto.janai
1cada331f0
fix cargo b
failing
...
this `cfg()` existing makes a regular workspace `cargo b` fail
2024-10-21 20:12:22 -04:00
hinto.janai
e1a6f82e92
add benches/criterion/cuprate-helper
2024-10-18 20:11:47 -04:00
SyntheticBird
978d72b6c1
Move consensus context service into a subcrate. ( #318 )
...
Architecture mdBook / build (push) Has been cancelled
Audit / audit (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
CI / fmt (push) Has been cancelled
Doc / build (push) Has been cancelled
Doc / deploy (push) Has been cancelled
Co-authored-by: Boog900 <boog900@tutanota.com>
2024-10-17 00:17:58 +01:00
hinto-janai
f9b847b227
types: HardFork
improvements ( #309 )
...
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
* apply diffs
* review fixes
2024-10-11 23:57:43 +01:00
hinto-janai
d43f12ea3f
rpc-types: fix HardForkInfoRequest
( #310 )
...
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
* apply diffs
* fix tests
2024-10-11 18:51:16 +01: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