hinto-janai
0910c0a231
rpc: use ByteArrayVec
and ContainerAsBlob
( #227 )
...
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
Deny / audit (push) Has been cancelled
Doc / build (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
* fixed-bytes: add `serde`, document feature flags
* fixed-bytes: add derives
* rpc: add `as _` syntax to macro
* rpc: use `ByteArrayVec` and `ContainerAsBlob` for binary types
* fixed-bytes: re-add derives
* rpc-types: dedup default value within macro
* readme: fixed bytes section
2024-07-13 01:26:11 +01:00
hinto-janai
5aeb8af4b4
rpc: implement other JSON types ( #221 )
...
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
* `serde/epee` feature flags
* modify type generator macros
* add `defaults.rs`
* add `free.rs`
* add `misc` module
* modify `base.rs`, `contants.rs`
* remove `binary_string.rs`, `status.rs`
* fix macro usage
* impl `other.rs`
* base: re-add `AccessRequestBase`
* fix default functions
* tx_entry: fix link
* other: fix default functions
* Update rpc/types/src/other.rs
Co-authored-by: Boog900 <boog900@tutanota.com>
* Update rpc/types/src/other.rs
Co-authored-by: Boog900 <boog900@tutanota.com>
---------
Co-authored-by: Boog900 <boog900@tutanota.com>
2024-07-10 22:31:56 +01:00
hinto-janai
303c165df7
rpc: implement .bin
types ( #220 )
...
* `serde/epee` feature flags
* modify type generator macros
* add `defaults.rs`
* add `free.rs`
* add `misc` module
* modify `base.rs`, `contants.rs`
* remove `binary_string.rs`, `status.rs`
* fix macro usage
* impl `bin.rs`
* base: re-add `AccessRequestBase`
* fix default functions
* tx_entry: fix link
* bin: fix default functions
2024-07-10 21:19:19 +01:00
hinto-janai
ecbb5ad3dc
rpc: implement /json_rpc
types ( #219 )
...
* `serde/epee` feature flags
* modify type generator macros
* add `defaults.rs`
* add `free.rs`
* add `misc` module
* modify `base.rs`, `contants.rs`
* remove `binary_string.rs`, `status.rs`
* fix macro usage
* impl `json.rs`
* base: re-add `AccessRequestBase`
* fix default functions
* tx_entry: fix link
* json: fix default functions
* json: fix `on_get_block_hash`, `submit_block`
* json: `status` -> `block_id`
* json: fix `SubmitBlockRequest`
* json: fix `OnGetBlockHashResponse`
The serialized `result` field will come from our `json-rpc` crate,
so the inner type should be a `transparent` string.
* json: `Response` -> `ResponseBase` for `SubmitBlock`
* Update rpc/types/src/json.rs
Co-authored-by: Boog900 <boog900@tutanota.com>
* json: fix `SubmitBlockRequest` doc test
---------
Co-authored-by: Boog900 <boog900@tutanota.com>
2024-07-10 21:12:40 +01:00
hinto-janai
136abf7edd
rpc: feature flags, macro changes, misc setup ( #218 )
...
* `serde/epee` feature flags
* modify type generator macros
* add `defaults.rs`
* add `free.rs`
* add `misc` module
* modify `base.rs`, `contants.rs`
* remove `binary_string.rs`, `status.rs`
* fix macro usage
* base: re-add `AccessRequestBase`
* fix default functions
* tx_entry: fix link
2024-07-09 22:58:02 +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
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
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
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
hinto-janai
6df67bb9d3
rpc: add initial crates ( #146 )
...
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 `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
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