hinto.janai
a3da860e5d
fix docs
2024-07-05 19:36:03 -04:00
hinto.janai
57a98e58a0
json: add FlushCache
, AddAuxPow
2024-07-04 20:52:42 -04:00
hinto.janai
6f1289507f
json: add GetMinerData
, PruneBlockchain
, CalcPow
2024-07-04 20:41:06 -04:00
hinto.janai
e19dfb40ee
json: add GetTransactionPoolBacklog
, GetOutputDistribution
2024-07-04 17:33:03 -04:00
hinto.janai
32730272ea
json: add SyncInfo
2024-07-03 20:34:45 -04:00
hinto.janai
255c5540aa
json: add GetFeeEstimate
, GetAlternateChains
, RelayTx
2024-07-03 20:28:43 -04:00
hinto.janai
b592ee0bf8
json: add GetVersion
, GetCoinbaseTxSum
, GetOutputHistogram
, FlushTransactionPool
, Banned
2024-07-03 20:13:26 -04:00
hinto.janai
ea7f6fb2a5
json: define GetInfo
, define ban types
2024-07-03 19:45:52 -04:00
hinto.janai
4bad15965e
add more defaults
2024-07-03 17:43:39 -04:00
hinto.janai
352ab2015a
add struct ConnectionInfo
, add macro for misc types
2024-07-03 17:23:37 -04:00
hinto.janai
e5c833c996
json: add get_block
, get_block_headers_range
2024-07-03 16:58:19 -04:00
hinto.janai
d0981da311
support serde/epee default values
2024-07-03 16:40:21 -04:00
hinto.janai
72bd1673d6
add misc.rs
for root misc types
2024-07-03 15:57:04 -04:00
hinto.janai
e1dcd8e724
rpc: fix macro usage
2024-07-02 21:21:53 -04:00
hinto.janai
0227c1b793
base: remove unneeded base types
2024-07-02 21:21:47 -04:00
hinto.janai
2d54d2a19a
macros: split type generator macro up
2024-07-02 21:21:33 -04:00
hinto.janai
9a90d5be40
fix clippy
2024-07-01 21:04:24 -04:00
hinto.janai
c7ec8c7d9b
rpc: fix doc links
2024-07-01 20:58:15 -04:00
hinto.janai
1a90c75f42
rpc: use feature flags in misc types
2024-07-01 20:53:16 -04:00
hinto.janai
a85d4b845a
rpc: use feature flags in type generator macro
2024-07-01 20:53:06 -04:00
hinto.janai
161eeb7be9
rpc: add/doc feature flags
2024-07-01 20:52:57 -04:00
hinto-janai
6ce177aeca
storage: add key sorting ( #198 )
...
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
* 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
dependabot[bot]
7e9891de5b
build(deps): bump curve25519-dalek from 4.1.2 to 4.1.3 ( #197 )
...
Audit / audit (push) Has been cancelled
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
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 / typo (push) Waiting to run
CI / fmt (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
* 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 )
...
Audit / audit (push) Has been cancelled
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
* 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) 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
* 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) 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
* 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) 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
cargo update
2024-06-18 22:43:35 +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
hinto-janai
1bc05366b0
docs: update README.md
& SECURITY.md
( #143 )
...
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
* 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
acd5380256
Fix clippy & Cargo update ( #161 )
...
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
* fix clippy
* run cargo update
* fix cargo deny
* remove duplicate `#[test]`
2024-06-13 19:08:34 +01:00
hinto-janai
25b5b63349
ci: update actions/cache
-> v4
( #158 )
2024-06-13 16:37:26 +01:00
hinto-janai
a3e34c3ba8
rpc: implement json-rpc
crate ( #148 )
...
* 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
jomuel
663c852b13
Fast sync (WIP) ( #155 )
...
* Fast sync (work in progress)
* Cargo.lock
* Add missing hashes file
* clippy warnings
* Stub of database tool to create the fast sync hashes
* Command line arg for target height, error handling
* Cargo.lock
* fmt and unused imports
* fmt
* Add license information to consensus/fast-sync/Cargo.toml
Co-authored-by: Boog900 <boog900@tutanota.com>
* Order imports in consensus/fast-sync/src/create.rs
Co-authored-by: Boog900 <boog900@tutanota.com>
* beautify hex generation function & fmt
* Reorder imports consensus/fast-sync/src/fast_sync.rs
2024-06-09 14:24:44 +01:00
hinto-janai
e0736d1807
books: add user-book
template ( #154 )
...
* add user-book
* add `A-book-user` to labeler
2024-06-07 22:04:27 +01:00
0e5555d4d4
Consensus: block batch prepper ( #151 )
...
* add block batch prepper
* Apply suggestions from code review
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* review comments
* review comments
* fix doc
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-06-07 21:23:48 +01:00
07f61bdb9c
Consensus: fix panic in batch verifier ( #152 )
...
* fix panic in batch verifier
* docs
* review comments
* Update consensus/rules/src/batch_verifier.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-06-07 13:34:53 +01:00
hinto-janai
6df67bb9d3
rpc: add initial crates ( #146 )
...
* add `rpc/` crates
* rpc: fix `monero-rpc-server` -> `monero-rpc-types`
* rpc: add skeleton `rpc/json-rpc`
* remove `cuprate-rpc-server`, add `json-rpc`
2024-06-05 15:35:08 +01:00
0622237d19
Consensus: use cuprate-types
types ( #145 )
...
* move consensus database to /types
* fix `storage` builds
* unify `VerifiedBlockInformation`
* fix docs
* change `Database` trait wording
* order imports
* service -> blockchain
* Apply suggestions from code review
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* fix typo
* fix key_images_spent
* add back todo
* fix tests
* service -> blockchain 2
* update docs
* update docs 2
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-06-04 18:19:35 +01:00
b510739701
P2P: Network init ( #130 )
...
* 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
* fix doc
* 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
* Apply suggestions from code review
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* Update p2p/monero-p2p/src/services.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-06-04 18:19:25 +01:00