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
889e15738b
Cleanup & Document consensus ( #65 )
...
* change monero-consensus to cuprate-consensus-rules
* document the context service
* remove the mutex on blockchain context
* comment the context caches
* add back tokio
* document block checks
* typo
* keep tha amount of outputs with a certain amount in the output cache
* typo
* nuke cross-block batch verification
* remove RPC scanner
* change how contextual data is got.
* fmt & clippy fixes
* typo
* cargo update
* restore Cargo.lock
* add a verify tx test.
+ fixes an issue with verifying signatures after BPs
* clippy
* remove bad test
* add mores tests and fix a couple bugs
* typos
* move tests and add some more
* typo
* remove scan_chain docs
* fix check for duplicate txs when duplicates are not sequential
* add a proptest for dup txs
* cache tx verification state
* doc updates + move `Vec` to `Arc<[]>`
* clippy
* misc changes
* Apply suggestions from code review
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
Co-authored-by: SyntheticBird <118022351+SyntheticBird45@users.noreply.github.com>
* fix fmt
* review changes
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
Co-authored-by: SyntheticBird <118022351+SyntheticBird45@users.noreply.github.com>
2024-05-31 01:52:12 +01:00
hinto-janai
d21160868c
books: add skeleton and docs ( #141 )
...
* update `books/`
* update CONTRIBUTING.md
* .gitignore: ignore built books
* add dummy `books/architecture/`
* remove some changes from CONTRIBUTING.md
out of scope, will be in another PR
* add docs/books to LICENSE
* formatting
2024-05-30 01:19:46 +01:00
hinto-janai
c50d9642be
storage: create Cargo.toml for {database, cuprate-txpool}
( #140 )
2024-05-29 20:00:29 +01:00
hinto-janai
d052fbedf1
repo: add issue templates ( #137 )
...
* add issue templates
* add `question.md`
* fix bug.md
* fix feature.md
* bug.md: fix spacing
2024-05-29 18:34:32 +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
hinto-janai
45656fe653
repo: adopt rust-lang
label system ( #136 )
...
* contributing: add `Keeping track of issues and PRs` section
* add `labeler.yml`
* more labels
* update labels
* update `.github/labeler.yml`
* update `CONTRIBUTING.md`
* doc `.github` files
* wording fix
* add `A-dependency`
2024-05-27 00:57:21 +01:00
hinto-janai
59a49b93ab
repo: update license ( #134 )
...
* add MIT license
* update LICENSE.md
* net: remove license files
* fix LICENSE-MIT formatting
use github formatting
2024-05-27 00:39:32 +01:00
hinto-janai
1e857416c9
database/helper: define static
s within functions ( #135 )
2024-05-24 02:16:39 +01:00
e8b20e6115
P2P: async buffer ( #109 )
...
* impl async buffer
* clippy
* review comments
2024-05-24 02:15:49 +01:00
0158c6671a
P2P: Peer sync state svc ( #128 )
...
* 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 a test
* fix merge
* add another test
* unify PeerDisconnectFut and add more docs
* Apply suggestions from code review
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* dif -> diff
* move comment
* Update pruning/src/lib.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* Apply suggestions from code review
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-05-22 01:56:39 +01:00
02cd963e57
P2P: Broadcast svc ( #129 )
...
* 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 broadcast svc
* add more docs
* add some tests
* Apply suggestions from code review
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* review comments
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-05-21 23:19:52 +01:00
c5fbbcc6e8
P2P Client Pool ( #121 )
...
* 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
* Apply suggestions from code review
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* review changes
* Update p2p/cuprate-p2p/src/connection_maintainer.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-05-17 14:52:51 +01:00
hinto-janai
38ede35468
database: more README docs ( #126 )
...
* tables: change order
* readme: add `Schema`
* readme: use type aliases
* readme: add `10. Known issues and tradeoffs`
* !!
* readme: add `The service` section
* readme: fill `Known issues and tradeoffs` section
* readme: fixes
* readme: fixes
* readme: review fixes
2024-05-15 16:58:18 +01:00
hinto-janai
d0ac94a813
ci: downgrade to gcc 13.2
for windows ( #127 )
2024-05-14 19:41:39 +01:00
SyntheticBird
31ce89412a
Removing old_database/
( #100 )
...
remove old db
2024-05-09 21:06:33 +01:00
75306babf8
dandelion++ lib ( #111 )
...
* init D++
* init D++ router
* working D++ router
* add test
* D++ tx pool
* add more txpool docs
* add a txpool builder
* add tracing
* add more docs
* fix doc
* reduce test epoch (windows CI fail)
* generate first state in config
Windows seems to not allows taking a big value from an instant
* extend tests
* clippy
* review comments + more docs
* Apply suggestions from code review
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* update Cargo.lock
* rename txpool.rs -> pool.rs
* review comments
* Update p2p/dandelion/src/tests/router.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* Update p2p/dandelion/src/router.rs
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-05-05 20:22:41 +01:00
hinto-janai
10d327ca13
ci: use dtolnay/rust-toolchain
( #124 )
...
* ci: don't cache `.cargo/`, `.rustup/`
* ci: use `dtolnay/rust-toolchain@master`
2024-05-05 15:22:05 +01:00
hinto-janai
fb3d41ccbb
database: final docs + cleanup ( #117 )
...
* re-apply 'main' merge + doc patches
* fix redb lints
* update readme
* add `lib.rs, ops, service` doc-test examples
* docs for `config`, `ops`, add doc-tests
* remove merge error
incorrect leftover code from previous merge
* doc top-level types
* docs: error, tables, types
* misc docs, TODO, FIXME, SOMEDAY fixes
* change clippy lints
* tests: add `tables_are_sorted()`
* move `tables_are_sorted()` test to `backend/tests.rs`
* readme formatting
* small fixes
* readme fixes
* docs: `helper/`
* docs: `types/`
* database/README.md fixes
* doc fixes
* types: doc fixes
* fixes
* all review changes
2024-05-05 15:21:28 +01:00
00c3692eac
P2p changes ( #118 )
...
* p2p changes
* clippy
* a few more docs
* review comments
* fix peer list bug
2024-05-02 22:58:22 +00:00
hinto-janai
9c27ba5791
database: impl service
fn bodies ( #113 )
...
* write: impl write_block()
* ops: add `get_block_info()`
* read: impl block fn's
* read: fix signatures
* service: wrap `ConcreteEnv` in `RwLock` and doc why
* heed: use `read-txn-no-tls` for `Send` read transactions
* service: remove RwLock, impl some read functions
* read: impl `outputs()`
* read: flatten indentation, add `thread_local()`
* read: impl `number_outputs_with_amount()`
* tests: add `AssertTableLen`
* ops: replace all table len asserts with `AssertTableLen`
* service: initial tests
* service: finish most tests
* service: fix bad block data in test
* tables: fix incorrect doc
* service: add `ReadRequest::Outputs` test
* read: use macros for set/getting `ThreadLocal`'s based on backend
* small fixes
* fix review
* small fixes
* read: fix ThreadLocal macros for `redb`
* read: move `Output` mapping to `crate::free`
it's needed in tests too
* service: check output value correctness in tests
* helper: add timelock <-> u64 mapping functions
* free: use `u64_to_timelock()`
* read: rct outputs
* read: fix variable name
* read: use ThreadLocal for both backends
* heed: use Mutex for `HeedTableRo`'s read tx
* block: add miner_tx
* heed: remove Table bound
oops
* Revert "heed: use Mutex for `HeedTableRo`'s read tx"
This reverts commit 7e8aae016c55802070ccf7d152aa8966984d7186.
* add `UnsafeSendable`
* read: use `UnsafeSendable` for `heed`, branch on backend
* read: safety docs
* cargo.toml: re-add `read-txn-no-tls` for heed
* ops: fix tests, remove miner_tx
* fix tx_idx calculation, account for RCT outputs in tests
* read: docs, fix `get_tables!()` for both backends
* fix clippy
* database: `unsafe trait DatabaseRo`
* tx: use correct tx_id
* free: remove miner_tx comment
* free: remove `amount` input for rct outputs
* ops: split `add_tx` inputs
* read: use `UnsafeSendable` for all backends
* heed: update safety comment
* move output functions `free` -> `ops`
* read: fix `chain_height()` handling
* remove serde on `UnsafeSendable`
* de-dup docs on `trait DatabaseRo`, `get_tables!()`
* Update database/src/unsafe_sendable.rs
Co-authored-by: Boog900 <boog900@tutanota.com>
---------
Co-authored-by: Boog900 <boog900@tutanota.com>
2024-05-01 18:52:20 +01:00
88f7d1f212
download monerod in CI ( #123 )
...
* download monerod in CI
* move action file
* add macOS arm support
* remove reqwest from workspace
* undo whitespace changes
* fix indentation
* update comments
* add monerod to .gitignore
* Apply suggestions from code review
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
* add back spacing
---------
Co-authored-by: hinto-janai <hinto.janai@protonmail.com>
2024-05-01 01:21:08 +01:00
SyntheticBird
0454f0ba2e
[Misc] Updating SyntheticBird's GPG Key ( #122 )
...
Updated SyntheticBird's GPG Key
I still have the old key but it's not the one I'm actively using for signing
nor distribute for communicating.
2024-04-30 20:09:53 +01:00
hinto-janai
3f2cc5144b
database: update backends ( #119 )
...
* `heed 0.20.0-alpha.9 -> 0.20.0`, `redb 2.0.0 -> 2.1.0`
* heed: fix
* redb: fix
2024-04-29 01:12:42 +01:00
hinto-janai
2ac90420c6
ci: fix windows/macos ( #116 )
...
* cryptonight: include homebrew directories
* test-utils: add arm macos to `monerod` downloader
* ci: install windows-gnu
2024-04-27 00:49:55 +01:00
hinto-janai
32a44a2503
test-utils: compare data against RPC ( #115 )
...
* cargo: add `pretty_assertions`
* test-utils: add tests to compare data against RPC data, and fix
* small fixes
* database: fix `cumulative_generated_coins` from test data
block had wrong data which offset all of the asserts
2024-04-25 19:58:45 +01:00