mirror of
https://github.com/hinto-janai/cuprate.git
synced 2024-11-17 00:07:53 +00:00
add CORE_RPC_*
constants
This commit is contained in:
parent
1b326067c3
commit
7117386339
3 changed files with 67 additions and 0 deletions
56
rpc/types/src/constants.rs
Normal file
56
rpc/types/src/constants.rs
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
//! TODO
|
||||||
|
|
||||||
|
// From: <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server_commands_defs.h#L83-L89>
|
||||||
|
//
|
||||||
|
// ```
|
||||||
|
// When making *any* change here, bump minor
|
||||||
|
// If the change is incompatible, then bump major and set minor to 0
|
||||||
|
// This ensures CORE_RPC_VERSION always increases, that every change
|
||||||
|
// has its own version, and that clients can just test major to see
|
||||||
|
// whether they can talk to a given daemon without having to know in
|
||||||
|
// advance which version they will stop working with
|
||||||
|
// Don't go over 32767 for any of these
|
||||||
|
// ```
|
||||||
|
//
|
||||||
|
// What this means for Cuprate: just follow `monerod`.
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------- Import
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------- Status
|
||||||
|
/// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server_commands_defs.h#L78>
|
||||||
|
pub const CORE_RPC_STATUS_OK: &str = "OK";
|
||||||
|
|
||||||
|
/// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server_commands_defs.h#L79>
|
||||||
|
pub const CORE_RPC_STATUS_BUSY: &str = "BUSY";
|
||||||
|
|
||||||
|
/// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server_commands_defs.h#L80>
|
||||||
|
pub const CORE_RPC_STATUS_NOT_MINING: &str = "NOT MINING";
|
||||||
|
|
||||||
|
/// <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server_commands_defs.h#L81>
|
||||||
|
pub const CORE_RPC_STATUS_PAYMENT_REQUIRED: &str = "PAYMENT REQUIRED";
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------- Versions
|
||||||
|
/// RPC major version.
|
||||||
|
///
|
||||||
|
/// See: <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server_commands_defs.h#L90>.
|
||||||
|
pub const CORE_RPC_VERSION_MAJOR: u32 = 3;
|
||||||
|
|
||||||
|
/// RPC miror version.
|
||||||
|
///
|
||||||
|
/// See: <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server_commands_defs.h#L91>.
|
||||||
|
pub const CORE_RPC_VERSION_MINOR: u32 = 14;
|
||||||
|
|
||||||
|
/// RPC version.
|
||||||
|
///
|
||||||
|
/// See: <https://github.com/monero-project/monero/blob/cc73fe71162d564ffda8e549b79a350bca53c454/src/rpc/core_rpc_server_commands_defs.h#L92-L93>.
|
||||||
|
///
|
||||||
|
/// ```rust
|
||||||
|
/// assert_eq!(cuprate_rpc_types::CORE_RPC_VERSION, 196_622);
|
||||||
|
/// ```
|
||||||
|
pub const CORE_RPC_VERSION: u32 = (CORE_RPC_VERSION_MAJOR << 16) | CORE_RPC_VERSION_MINOR;
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------- Tests
|
||||||
|
#[cfg(test)]
|
||||||
|
mod test {
|
||||||
|
// use super::*;
|
||||||
|
}
|
|
@ -93,11 +93,19 @@
|
||||||
clippy::too_many_lines
|
clippy::too_many_lines
|
||||||
)
|
)
|
||||||
)]
|
)]
|
||||||
|
// TODO: remove me after finishing impl
|
||||||
|
#![allow(dead_code)]
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------- Use
|
//---------------------------------------------------------------------------------------------------- Use
|
||||||
|
mod constants;
|
||||||
mod macros;
|
mod macros;
|
||||||
mod status;
|
mod status;
|
||||||
|
|
||||||
|
pub use constants::{
|
||||||
|
CORE_RPC_STATUS_BUSY, CORE_RPC_STATUS_NOT_MINING, CORE_RPC_STATUS_OK,
|
||||||
|
CORE_RPC_STATUS_PAYMENT_REQUIRED, CORE_RPC_VERSION, CORE_RPC_VERSION_MAJOR,
|
||||||
|
CORE_RPC_VERSION_MINOR,
|
||||||
|
};
|
||||||
pub use status::Status;
|
pub use status::Status;
|
||||||
|
|
||||||
pub mod bin;
|
pub mod bin;
|
||||||
|
|
|
@ -11,6 +11,9 @@ use strum::{
|
||||||
// Do we need `strum`? Are there other types
|
// Do we need `strum`? Are there other types
|
||||||
// (maybe outside of this crate) that will use it?
|
// (maybe outside of this crate) that will use it?
|
||||||
|
|
||||||
|
// TODO:
|
||||||
|
// These may be JSON-RPC 2.0 messages.
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------- Status
|
//---------------------------------------------------------------------------------------------------- Status
|
||||||
/// RPC response status.
|
/// RPC response status.
|
||||||
///
|
///
|
||||||
|
|
Loading…
Reference in a new issue