mirror of
https://github.com/hinto-janai/cuprate.git
synced 2024-11-16 15:58:14 +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
|
||||
)
|
||||
)]
|
||||
// TODO: remove me after finishing impl
|
||||
#![allow(dead_code)]
|
||||
|
||||
//---------------------------------------------------------------------------------------------------- Use
|
||||
mod constants;
|
||||
mod macros;
|
||||
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 mod bin;
|
||||
|
|
|
@ -11,6 +11,9 @@ use strum::{
|
|||
// Do we need `strum`? Are there other types
|
||||
// (maybe outside of this crate) that will use it?
|
||||
|
||||
// TODO:
|
||||
// These may be JSON-RPC 2.0 messages.
|
||||
|
||||
//---------------------------------------------------------------------------------------------------- Status
|
||||
/// RPC response status.
|
||||
///
|
||||
|
|
Loading…
Reference in a new issue