hinto-janai
|
27767690ca
|
rpc: impl cuprate-rpc-interface (#233)
* 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
* types: custom epee - `BlockCompleteEntry`
* types: custom epee - `KeyImageSpentStatus`
* types: custom epee - `PoolInfoExtent`
* types: add `Status::Other(String)` variant
* types: custom epee - `TxEntry`, add `read_epee_field` macro
* bin: custom epee - `GetBlocks`
* types: add `serde.rs`
* misc: make `TxEntry` an `enum`, impl serde
* misc: `unimplemented!()` for `TxEntry`'s epee
* types: add `BlockCompleteEntry`
* rpc: replace `BlockCompleteEntry` with `cuprate-types`
* types: document `BlockCompleteEntry`
* bin: fix `number_of_fields` for `GetBlocksResponse`
* misc: add `Distribution`
* distribution: add todo
* misc fixes
* readme: add `(De)serialization invariants`
* distribution: compress variants
* types: add `block_complete_entry.rs`
* net: fix imports
* p2p: fix imports
* turn off default-features
* p2p: fix imports
* misc fixes
* Update net/wire/Cargo.toml
Co-authored-by: Boog900 <boog900@tutanota.com>
* distribution: module doc
* wire: re-export types
* test-utils: add `crate::rpc::types` module
* test-utils: conditional json doc-tests
* bin: use enum for `GetBlocksResponse`
* misc: use lowercase for stringify
* json: add test data, fix macro doc tests
* json: add all data
* other: add all data
* bin: add skeleton
* docs
* move type to correct file
* remove duplicated fields for custom epee
* rpc: `client/{client,constants}.rs` -> `client.rs`
* lib.rs: remove `clippy::module_inception`
* macros: add json doc test macro
* json: add some tests
* json: add doc-test for all types
* add all other JSON doc-tests
* move doc-test macros to files
* base: add doc-tests
* rpc: add `cuprate-rpc-interface` skeleton files
* traits
* json_rpc_method: add `.is_restricted()`
* add route fn signatures
* types: add rpc enums
* interface: routes, types
* interface: simplify routes
* rewrite interface fns
* types: remove `()` type alias, add `(restricted)`
* types: add `other::InPeers`
* interface: routes
* types: fix `is_restricted()`
* interface: reorder short-circuit bool
* clean up traits/bounds
* types: remove `axum` feature
* interface: cleanup unused imports
* interface: call handler in routes
* json: TODO distribution test
* interface: readme intro
* combine `RpcHandler` + `RpcService`, add `RpcDummyHandler`
* interface: readme docs + test
* `IsRestricted` -> `RpcCall`
* fix no input route problem
* interface: `RpcHandlerDummy` docs
* interface: crate docs
* replace `create_router` with `RouterBuilder`
* types: docs
* types: doc `JsonRpc{Request,Response}`
* types: readme docs
* interface: doc `route/`
* interface: fix `todo!()`
* interface: allow customizing HTTP method on route functions
* interface: fix tests
* fix derives
* Update rpc/interface/README.md
Co-authored-by: Boog900 <boog900@tutanota.com>
* Update rpc/interface/README.md
Co-authored-by: Boog900 <boog900@tutanota.com>
* interface: make `RpcHandler`'s `Future` generic
* interface: add JSON-RPC notification todo
* formatting
* interface: use associated type bound for `RpcHandler`'s `Future`
---------
Co-authored-by: Boog900 <boog900@tutanota.com>
|
2024-08-06 00:50:38 +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 |
|