Boog900
74b63d6c47
Merge branch 'main' into cuprated
Audit / audit (push) Has been cancelled
Deny / audit (push) Has been cancelled
2024-07-05 17:12:43 +01:00
d5c8eba1d8
P2P: API Improvements ( #168 )
...
Deny / audit (push) Has been cancelled
Doc / 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
Doc / deploy (push) Has been cancelled
* start handshaker builder
* finish builder
* remove borsh requirement
* fix poll_ready :/
* add more docs to builder
* more docs
* fix clippy
* merge fixes
* fix doc test
* fix imports
* cargo fmt
* split `PeerRequest` and `PeerResponse` enums up.
This splits them both into a protocol and admin enum
* add request handler file
* integrate request handler into connection
* fix docs
* doc updates
* add more docs
* fix docs
* misc changes
* review fixes
* fix merge
* add dummy file
* fix docs
* Update p2p/dandelion-tower/src/router.rs
* fix docs
2024-07-04 21:05:22 +01:00
hinto-janai
71131a4836
ci: fix doc.yml
( #213 )
...
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
* types: remove borsh/serde
* blockchain: re-add optional serde
* doc.yml: remove `-D warnings`
2024-07-04 15:52:51 +01:00
hinto-janai
a8b58fa4db
ci: add doc.yml
( #203 )
...
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
* ci: add `doc.yml`
* update `{CONTRIBUTING,README}.md`
* readme: formatting
2024-07-03 22:38:47 +01:00
Boog900
415425a576
Merge branch 'main' into cuprated
2024-07-03 01:57:41 +01:00
7c8466f4ba
Storage: add blockchain history requests ( #206 )
...
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
Audit / audit (push) Has been cancelled
Deny / audit (push) Has been cancelled
* Add database requests for chain history
* misc fixes
* review comments
* fix clippy
* add link and fix typo
* Apply suggestions from code review
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* add comment
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-07-02 23:08:19 +01:00
hinto-janai
6ce177aeca
storage: add key sorting ( #198 )
...
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
* database: modify `trait Key`, don't blanket impl
* heed: create `KeyHeed<T>` wrapper type
* fix backend/tests
* blockchain: `impl Key PreRctOutputId`
* database: `StorableStr`, docs, tests
* key: docs, cleanup
* fixes
* heed: simplify types
* storable: remove doc
* heed: use `INTEGER_KEY` instead of custom compare fn
* add docs, tests
* database: document `create_db` invariant
* key: `Lexicographic` -> `Default`
* redb: fix `clear_db` behavior
* fix docs
2024-07-01 20:24:48 +01:00
fb1f071faf
P2P: fix block downloader test ( #205 )
...
make sure timeout is non-zero
2024-07-01 20:23:59 +01:00
f91be58a7f
P2P: Fix freeze in D++ ( #204 )
...
* Fix d++ router freeze
* update docs
* fix imports
* fix clippy
* Update p2p/dandelion-tower/src/lib.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-07-01 20:23:40 +01:00
Boog900
c5ef28596e
Merge branch 'main' into cuprated
Audit / audit (push) Has been cancelled
Deny / audit (push) Has been cancelled
2024-06-29 19:22:52 +01:00
dependabot[bot]
7e9891de5b
build(deps): bump curve25519-dalek from 4.1.2 to 4.1.3 ( #197 )
...
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
Bumps [curve25519-dalek](https://github.com/dalek-cryptography/curve25519-dalek ) from 4.1.2 to 4.1.3.
- [Release notes](https://github.com/dalek-cryptography/curve25519-dalek/releases )
- [Commits](https://github.com/dalek-cryptography/curve25519-dalek/compare/curve25519-4.1.2...curve25519-4.1.3 )
---
updated-dependencies:
- dependency-name: curve25519-dalek
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-26 22:59:11 +01:00
hinto-janai
a438279aa8
storage: split cuprate-blockchain
<-> cuprate-database
( #160 )
...
* storage: port some code `cuprate-blockchain` -> `database`
* database: remove `Tables` references
* database: remove old `cuprate-blockchain` type references
* find/replace `cuprate_blockchain` -> `database`, add `create_db()`
* database: fix redb
* database: use readme for docs, link in `lib.rs`
* database: fix `open_db_ro`, `open_db_rw`, `create_db` behavior
* database: add open table tests
* database: fix tests, remove blockchain specific references
* database: remove `ReaderThreads`, make `db_directory` mandatory
* initial `cuprate-blockchain` split
* fix doc links
* rename, fix database config
* blockchain: create `crate::open()`, `OpenTables::create_tables()`
* more compat fixes
* fix imports
* fix conflicts
* align cargo.toml
* docs
* fixes
* add `unused_crate_dependencies` lint, fix
* blockchain: add open table tests
2024-06-26 22:51:06 +01:00
hinto-janai
e405786a73
rpc: start cuprate-rpc-types
( #147 )
...
* rpc: add `monero-rpc-types`
* lib.rs: add lints
* add base files, deps
* fix macro generation, doc test
* add `strum`, add `misc` module
* document struct generation macro
* add `GetHeight`
* lib.rs: create re-export macro
* macro changes, add few more types
* docs
* `monero-rpc-types` -> `cuprate-rpc-types`
* fix modules
* specify commit in macro, add () type aliases
* macro docs, fixes
* add `Status::Other(String)`
* add TODO for `strum`
* Update rpc/types/Cargo.toml
Co-authored-by: Boog900 <boog900@tutanota.com>
* add `BinaryString`
* add `ResponseBase`
* add `CORE_RPC_*` constants
* fix status; use `CORE_RPC_*` constants
* cargo.toml: add `epee_encoding`
* rpc: add epee_encoding impl for `Status`
* macro: add epee_encoding for every type
* remove `strum`
* add response bases
* add `CORE_RPC_STATUS_UNKNOWN`
* add response/request bases for epee
* create `base` module
* use different type for macro example
* move base / root types around
* docs, status serde test
* status: use `Status::Unknown` for `epee_default_value`
* json: add missing fields to `GetBlockTemplateRequest`
not sure I missed these
cc73fe7116/src/rpc/core_rpc_server_commands_defs.h (L947-L950)
---------
Co-authored-by: Boog900 <boog900@tutanota.com>
2024-06-26 22:24:05 +01:00
5c08d1a0e2
Consensus: fix Rx VM initialization ( #190 )
...
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
* fix Rx VM initialization
* fix imports
* Apply suggestions from code review
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* use checked_sub
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-06-25 01:55:04 +01:00
hinto-janai
4b93dbec4c
workspace: enforce crate/directory naming scheme ( #164 )
...
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
Audit / audit (push) Has been cancelled
Deny / audit (push) Has been cancelled
* rename all directories and crates
* fix all `use`
* fix doc link
* `dandelion/` -> `dandelion-tower/`
* fix epee-encoding test
* fix `json-rpc`
* fix pruning
* crate import fixes
* fix leftover merge conflicts
* fix `epee-encoding`
2024-06-24 02:30:47 +01:00
519d871ccb
books: move in protocol book ( #169 )
...
* add protocol bool
* update url
* fix typos
* Cuprate's protocol book -> Monero
* Apply suggestions from code review
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* fix typo
* POW -> PoW
* revert weird line changes
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-06-24 01:23:39 +01:00
hinto-janai
fe1d5faac9
contributing: expand issue/PR sections, re-format ( #186 )
...
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
* contributing.md: expand tracking issue/pr section
* add tracking issue section
* re-format sections
* typos
* fix links
* add `.github/pull_request_template.md`
* add `Pull request title and description` section
* wording
2024-06-22 01:33:29 +01:00
10aac8cbb2
P2P: Block downloader ( #132 )
...
* impl async buffer
* clippy
* p2p changes
* clippy
* a few more docs
* init cuprate-p2p
* remove some unrelated code and add some docs
* start documenting client_pool.rs
* add more docs
* typo
* fix docs
* use JoinSet in connection maintainer
* small changes
* add peer sync state svc
* add broadcast svc
* add more docs
* add some tests
* add a test
* fix merge
* add another test
* unify PeerDisconnectFut and add more docs
* start network init
* add an inbound connection server
* remove crate doc for now
* fix address book docs
* fix leak in client pool
* correct comment
* fix merge + add some docs
* review comments
* init block downloader
* fix doc
* initial chain search
* add chain_tracker
* move block downloader to struct
* spawn task whe getting blocks
* check for free peers and handle batch response
* add test bin
* working block downloader
* dynamic batch sizes
* dandelion_tower -> dandelion-tower
* fix async-buffer builds
* check if incoming peers are banned
* add interface methods
* update docs
* use a JoinSet for background network tasks
* dynamic batch size changes
* Keep a longer of queue of blocks to get
* more checks on incoming data
* fix merge
* fix imports
* add more docs
* add some limits on messages
* keep peers that dont have the current need data
* fix clippy
* fix .lock
* fix stopping the block downloader
* clean up API and add more docs
* tracing + bug fixes
* fix panic
* doc changes
* remove test_init
* remove spammy log
* fix previous merge
* add a test
* fix test
* remove test unwrap
* order imports correctly
* clean up test
* add a timeout
* fix tests
* review fixes
* make `BlockDownloader` pub
* make `initial_chain_search` pub
* make `block_downloader` private
* Apply suggestions from code review
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* split some sections into separate modules
* split chain requests
* sort imports
* check previous ID is correct
* fix typos
* Apply suggestions from code review
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-06-22 01:29:40 +01:00
hinto-janai
ff1172f2ab
epee: make {read,write}_varint
public, create write_{bytes,container}
( #185 )
...
* make `{read,write}_varint` public, create `write_{container,bytes}`
* add doc tests to varint functions
* `write_container` -> `write_iterator`
* add `write_{iterator,bytes}` doc test
* fix `write_iterator()` doc
2024-06-22 01:25:21 +01:00
hinto-janai
f6c4e4e9a8
repo: add Tracking Issue
issue template ( #182 )
...
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
* add `tracking_issue.md`
* fix `{bug,proposal}.md`
* format `tracking_issue.md`
2024-06-20 23:27:09 +01:00
hinto-janai
bef2a2cbd4
epee: unseal trait EpeeValue
( #184 )
...
* unseal `trait EpeeValue`
* fix `container_as_blob.rs`
* clippy
* epee-encoding: remove `sealed`
2024-06-20 23:20:13 +01:00
b76042a4e4
Cargo update ( #171 )
...
Audit / audit (push) Has been cancelled
CI / fmt (push) Has been cancelled
CI / typo (push) Has been cancelled
Deny / audit (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
cargo update
2024-06-18 22:43:35 +01:00
Boog900
410a528f57
fix build
Audit / audit (push) Has been cancelled
Deny / audit (push) Has been cancelled
2024-06-14 23:04:27 +01:00
jomuel
c837f2f48e
Fast sync part 2 ( #156 )
...
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
* boilerplate
* Cargo.lock
* Stub of block validation
* Block validation (diff by @dllud)
* Cargo.lock
* Complete implementation of block validation request
* Apply suggestions from code review
Co-authored-by: Boog900 <boog900@tutanota.com>
* More suggestions
* Update consensus/fast-sync/src/fast_sync.rs
* Update consensus/fast-sync/src/fast_sync.rs
---------
Co-authored-by: Boog900 <boog900@tutanota.com>
2024-06-14 23:00:18 +01:00
hinto-janai
f07d08942f
contributing: add & format sections ( #150 )
...
* update contributing
* formatting
* add documentation section and user-book
* add crate names section
* formatting
* add `A-help-wanted` label
* add monerod binary note
2024-06-14 22:35:15 +01:00
Boog900
008e46c683
add syncer
2024-06-14 22:24:23 +01:00
hinto-janai
1bc05366b0
docs: update README.md
& SECURITY.md
( #143 )
...
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
* reduce cuprate banner size
* update readme
* update `SECURITY.md
* formatting
* readme: add todo
* update license section
* add user book, current about
* formatting
* formatting
2024-06-14 18:33:43 +01:00
hinto-janai
86c01ab95a
contributing: add crate naming rules ( #144 )
...
* contributing.md: add crate naming rules
* Update CONTRIBUTING.md
Co-authored-by: SyntheticBird <118022351+SyntheticBird45@users.noreply.github.com>
* edit contributing for https://github.com/Cuprate/cuprate/pull/144#discussion_r1638344193
* `monero-wire` -> `wire/`, `cuprate-monero-wire` -> `cuprate-wire`
---------
Co-authored-by: SyntheticBird <118022351+SyntheticBird45@users.noreply.github.com>
2024-06-14 18:30:53 +01:00
Boog900
d1288b141a
Merge branch 'block-downloader' into cuprated
2024-06-14 17:47:28 +01:00
Boog900
cfe5bea453
fix tests
Audit / audit (push) Has been cancelled
Deny / audit (push) Has been cancelled
2024-06-13 23:07:35 +01:00
Boog900
3e87556411
add a timeout
2024-06-13 22:12:41 +01:00
Boog900
3a7a8563e6
Merge branch 'main' into block-downloader
2024-06-13 22:05:58 +01:00
Boog900
6d83cda90f
clean up test
2024-06-13 22:04:58 +01:00
acd5380256
Fix clippy & Cargo update ( #161 )
...
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
* fix clippy
* run cargo update
* fix cargo deny
* remove duplicate `#[test]`
2024-06-13 19:08:34 +01:00
Boog900
3d995c5af5
order imports correctly
2024-06-13 16:44:07 +01:00
hinto-janai
25b5b63349
ci: update actions/cache
-> v4
( #158 )
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
2024-06-13 16:37:26 +01:00
Boog900
efbe18b242
remove test unwrap
2024-06-13 15:54:13 +01:00
Boog900
18d4b77070
fix test
2024-06-13 14:36:11 +01:00
Boog900
dd9e63d408
add a test
Audit / audit (push) Waiting to run
Deny / audit (push) Waiting to run
2024-06-13 03:15:47 +01:00
hinto-janai
a3e34c3ba8
rpc: implement json-rpc
crate ( #148 )
...
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
* rpc: add `json-rpc` from https://github.com/Cuprate/cuprate/pull/43
Maintains all the changes made in that branch
* workspace: add `rpc/json-rpc`
* json-rpc: fix cargo.toml
* add todo
* satisfy clippy
* `method/params` -> `body` switch, adjust input types
* add test helpers, test tagged enums and flatten structs
* fix id type `None` <-> `Some(Id::Null)` difference
* lib.rs: add docs
* impl `Version`
* impl `Id`
* impl `Request`
* impl `Response`
* impl `ErrorCode`
* impl `ErrorObject`
* fixes
* add monero jsonrpc tests
* response: add id test
* add display docs to `ErrorObject`
* remove `#[inline]`
* add id null test
* cleanup
* code: clarify Monero's error code usage in docs
* id: fix macro indentation
* readme: fix `Response` -> `Request`
* request: add `lowercase` test
* tests: formatting, more string tests
* readme: add `Serialization changes`
* code: ugly `match` -> `if`
* response: manual deserialization impl
- lowercase keys only
- enforce either `result/error` but not both
* remove unneeded clone bounds
* readme: add implementation comparison tests
* request/response: more tests
* readme: formatting, assert error messages are expected
* request: add unknown field test
* request/response: add unknown field and unicode test
2024-06-12 02:12:31 +01:00
Boog900
cefd8a7a3f
fix previous merge
2024-06-12 01:46:17 +01:00
Boog900
c5a493a186
remove spammy log
Audit / audit (push) Has been cancelled
Deny / audit (push) Has been cancelled
2024-06-12 01:38:37 +01:00
Boog900
712e9723b2
remove test_init
2024-06-12 01:25:14 +01:00
Boog900
8fb1406490
doc changes
2024-06-12 01:24:36 +01:00
Boog900
002df61ac0
fix panic
2024-06-12 00:23:56 +01:00
Boog900
4ef809e85f
tracing + bug fixes
2024-06-12 00:06:59 +01:00
Boog900
e81593beff
clean up API and add more docs
2024-06-11 02:41:05 +01:00
Boog900
7d33ab25b4
fix stopping the block downloader
Audit / audit (push) Has been cancelled
Deny / audit (push) Has been cancelled
2024-06-10 22:12:14 +01:00
Boog900
bd1b7ff6c5
fix .lock
2024-06-10 20:01:45 +01:00
f043e0b71a
Merge branch 'main' into block-downloader
2024-06-10 18:59:24 +00:00