Move RpcSignatureStatus into its own module
And fixup some imports from previous commits.
This commit is contained in:
@ -64,6 +64,7 @@ pub mod rpc_pubsub;
|
|||||||
pub mod rpc_pubsub_service;
|
pub mod rpc_pubsub_service;
|
||||||
pub mod rpc_request;
|
pub mod rpc_request;
|
||||||
pub mod rpc_service;
|
pub mod rpc_service;
|
||||||
|
pub mod rpc_status;
|
||||||
pub mod rpc_subscriptions;
|
pub mod rpc_subscriptions;
|
||||||
pub mod service;
|
pub mod service;
|
||||||
pub mod sigverify;
|
pub mod sigverify;
|
||||||
|
30
src/rpc.rs
30
src/rpc.rs
@ -3,6 +3,7 @@
|
|||||||
use crate::bank::{self, Bank, BankError};
|
use crate::bank::{self, Bank, BankError};
|
||||||
use crate::cluster_info::ClusterInfo;
|
use crate::cluster_info::ClusterInfo;
|
||||||
use crate::packet::PACKET_DATA_SIZE;
|
use crate::packet::PACKET_DATA_SIZE;
|
||||||
|
use crate::rpc_status::RpcSignatureStatus;
|
||||||
use crate::storage_stage::StorageState;
|
use crate::storage_stage::StorageState;
|
||||||
use bincode::{deserialize, serialize};
|
use bincode::{deserialize, serialize};
|
||||||
use bs58;
|
use bs58;
|
||||||
@ -15,7 +16,6 @@ use solana_sdk::signature::Signature;
|
|||||||
use solana_sdk::transaction::Transaction;
|
use solana_sdk::transaction::Transaction;
|
||||||
use std::mem;
|
use std::mem;
|
||||||
use std::net::{SocketAddr, UdpSocket};
|
use std::net::{SocketAddr, UdpSocket};
|
||||||
use std::str::FromStr;
|
|
||||||
use std::sync::{Arc, RwLock};
|
use std::sync::{Arc, RwLock};
|
||||||
use std::thread::sleep;
|
use std::thread::sleep;
|
||||||
use std::time::{Duration, Instant};
|
use std::time::{Duration, Instant};
|
||||||
@ -123,31 +123,6 @@ pub struct Meta {
|
|||||||
}
|
}
|
||||||
impl Metadata for Meta {}
|
impl Metadata for Meta {}
|
||||||
|
|
||||||
#[derive(Copy, Clone, PartialEq, Serialize, Debug)]
|
|
||||||
pub enum RpcSignatureStatus {
|
|
||||||
AccountInUse,
|
|
||||||
AccountLoadedTwice,
|
|
||||||
Confirmed,
|
|
||||||
GenericFailure,
|
|
||||||
ProgramRuntimeError,
|
|
||||||
SignatureNotFound,
|
|
||||||
}
|
|
||||||
impl FromStr for RpcSignatureStatus {
|
|
||||||
type Err = Error;
|
|
||||||
|
|
||||||
fn from_str(s: &str) -> Result<RpcSignatureStatus> {
|
|
||||||
match s {
|
|
||||||
"AccountInUse" => Ok(RpcSignatureStatus::AccountInUse),
|
|
||||||
"AccountLoadedTwice" => Ok(RpcSignatureStatus::AccountLoadedTwice),
|
|
||||||
"Confirmed" => Ok(RpcSignatureStatus::Confirmed),
|
|
||||||
"GenericFailure" => Ok(RpcSignatureStatus::GenericFailure),
|
|
||||||
"ProgramRuntimeError" => Ok(RpcSignatureStatus::ProgramRuntimeError),
|
|
||||||
"SignatureNotFound" => Ok(RpcSignatureStatus::SignatureNotFound),
|
|
||||||
_ => Err(Error::parse_error()),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[rpc]
|
#[rpc]
|
||||||
pub trait RpcSol {
|
pub trait RpcSol {
|
||||||
type Metadata;
|
type Metadata;
|
||||||
@ -356,11 +331,12 @@ mod tests {
|
|||||||
use crate::bank::Bank;
|
use crate::bank::Bank;
|
||||||
use crate::cluster_info::NodeInfo;
|
use crate::cluster_info::NodeInfo;
|
||||||
use crate::genesis_block::GenesisBlock;
|
use crate::genesis_block::GenesisBlock;
|
||||||
use jsonrpc_core::Response;
|
use jsonrpc_core::{MetaIoHandler, Response};
|
||||||
use solana_sdk::hash::{hash, Hash};
|
use solana_sdk::hash::{hash, Hash};
|
||||||
use solana_sdk::signature::{Keypair, KeypairUtil};
|
use solana_sdk::signature::{Keypair, KeypairUtil};
|
||||||
use solana_sdk::system_transaction::SystemTransaction;
|
use solana_sdk::system_transaction::SystemTransaction;
|
||||||
use std::net::{IpAddr, Ipv4Addr, SocketAddr};
|
use std::net::{IpAddr, Ipv4Addr, SocketAddr};
|
||||||
|
use std::thread;
|
||||||
|
|
||||||
fn start_rpc_handler_with_tx(pubkey: Pubkey) -> (MetaIoHandler<Meta>, Meta, Hash, Keypair) {
|
fn start_rpc_handler_with_tx(pubkey: Pubkey) -> (MetaIoHandler<Meta>, Meta, Hash, Keypair) {
|
||||||
let (genesis_block, alice) = GenesisBlock::new(10_000);
|
let (genesis_block, alice) = GenesisBlock::new(10_000);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
//! The `pubsub` module implements a threaded subscription service on client RPC request
|
//! The `pubsub` module implements a threaded subscription service on client RPC request
|
||||||
|
|
||||||
use crate::bank::Bank;
|
use crate::bank::Bank;
|
||||||
use crate::rpc::RpcSignatureStatus;
|
use crate::rpc_status::RpcSignatureStatus;
|
||||||
use crate::rpc_subscriptions::RpcSubscriptions;
|
use crate::rpc_subscriptions::RpcSubscriptions;
|
||||||
use bs58;
|
use bs58;
|
||||||
use jsonrpc_core::futures::Future;
|
use jsonrpc_core::futures::Future;
|
||||||
@ -215,11 +215,13 @@ mod tests {
|
|||||||
use crate::genesis_block::GenesisBlock;
|
use crate::genesis_block::GenesisBlock;
|
||||||
use jsonrpc_core::futures::sync::mpsc;
|
use jsonrpc_core::futures::sync::mpsc;
|
||||||
use jsonrpc_core::Response;
|
use jsonrpc_core::Response;
|
||||||
|
use jsonrpc_pubsub::{PubSubHandler, Session};
|
||||||
use solana_sdk::budget_program;
|
use solana_sdk::budget_program;
|
||||||
use solana_sdk::budget_transaction::BudgetTransaction;
|
use solana_sdk::budget_transaction::BudgetTransaction;
|
||||||
use solana_sdk::signature::{Keypair, KeypairUtil};
|
use solana_sdk::signature::{Keypair, KeypairUtil};
|
||||||
use solana_sdk::system_transaction::SystemTransaction;
|
use solana_sdk::system_transaction::SystemTransaction;
|
||||||
use std::thread::sleep;
|
use std::thread::sleep;
|
||||||
|
use std::time::Duration;
|
||||||
use tokio::prelude::{Async, Stream};
|
use tokio::prelude::{Async, Stream};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
30
src/rpc_status.rs
Normal file
30
src/rpc_status.rs
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
//! The `rpc_status` module defines transaction status codes
|
||||||
|
|
||||||
|
use jsonrpc_core::{Error, Result};
|
||||||
|
use std::str::FromStr;
|
||||||
|
|
||||||
|
#[derive(Copy, Clone, PartialEq, Serialize, Debug)]
|
||||||
|
pub enum RpcSignatureStatus {
|
||||||
|
AccountInUse,
|
||||||
|
AccountLoadedTwice,
|
||||||
|
Confirmed,
|
||||||
|
GenericFailure,
|
||||||
|
ProgramRuntimeError,
|
||||||
|
SignatureNotFound,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl FromStr for RpcSignatureStatus {
|
||||||
|
type Err = Error;
|
||||||
|
|
||||||
|
fn from_str(s: &str) -> Result<RpcSignatureStatus> {
|
||||||
|
match s {
|
||||||
|
"AccountInUse" => Ok(RpcSignatureStatus::AccountInUse),
|
||||||
|
"AccountLoadedTwice" => Ok(RpcSignatureStatus::AccountLoadedTwice),
|
||||||
|
"Confirmed" => Ok(RpcSignatureStatus::Confirmed),
|
||||||
|
"GenericFailure" => Ok(RpcSignatureStatus::GenericFailure),
|
||||||
|
"ProgramRuntimeError" => Ok(RpcSignatureStatus::ProgramRuntimeError),
|
||||||
|
"SignatureNotFound" => Ok(RpcSignatureStatus::SignatureNotFound),
|
||||||
|
_ => Err(Error::parse_error()),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,7 +1,7 @@
|
|||||||
//! The `pubsub` module implements a threaded subscription service on client RPC request
|
//! The `pubsub` module implements a threaded subscription service on client RPC request
|
||||||
|
|
||||||
use crate::bank::{self, BankError};
|
use crate::bank::{self, BankError};
|
||||||
use crate::rpc::RpcSignatureStatus;
|
use crate::rpc_status::RpcSignatureStatus;
|
||||||
use jsonrpc_core::futures::Future;
|
use jsonrpc_core::futures::Future;
|
||||||
use jsonrpc_pubsub::typed::Sink;
|
use jsonrpc_pubsub::typed::Sink;
|
||||||
use jsonrpc_pubsub::SubscriptionId;
|
use jsonrpc_pubsub::SubscriptionId;
|
||||||
@ -121,7 +121,9 @@ impl RpcSubscriptions {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
use crate::bank::Bank;
|
||||||
use crate::genesis_block::GenesisBlock;
|
use crate::genesis_block::GenesisBlock;
|
||||||
|
use jsonrpc_pubsub::typed::Subscriber;
|
||||||
use solana_sdk::budget_program;
|
use solana_sdk::budget_program;
|
||||||
use solana_sdk::signature::{Keypair, KeypairUtil};
|
use solana_sdk::signature::{Keypair, KeypairUtil};
|
||||||
use solana_sdk::system_transaction::SystemTransaction;
|
use solana_sdk::system_transaction::SystemTransaction;
|
||||||
|
@ -4,12 +4,13 @@ use chrono::prelude::*;
|
|||||||
use clap::ArgMatches;
|
use clap::ArgMatches;
|
||||||
use serde_json;
|
use serde_json;
|
||||||
use serde_json::json;
|
use serde_json::json;
|
||||||
use solana::rpc::{RpcSignatureStatus, RPC_PORT};
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
use solana::rpc_mock::{request_airdrop_transaction, MockRpcClient as RpcClient};
|
use solana::rpc_mock::{request_airdrop_transaction, MockRpcClient as RpcClient};
|
||||||
#[cfg(not(test))]
|
#[cfg(not(test))]
|
||||||
use solana::rpc_request::RpcClient;
|
use solana::rpc_request::RpcClient;
|
||||||
use solana::rpc_request::{get_rpc_request_str, RpcRequest};
|
use solana::rpc_request::{get_rpc_request_str, RpcRequest};
|
||||||
|
use solana::rpc_service::RPC_PORT;
|
||||||
|
use solana::rpc_status::RpcSignatureStatus;
|
||||||
#[cfg(not(test))]
|
#[cfg(not(test))]
|
||||||
use solana_drone::drone::request_airdrop_transaction;
|
use solana_drone::drone::request_airdrop_transaction;
|
||||||
use solana_drone::drone::DRONE_PORT;
|
use solana_drone::drone::DRONE_PORT;
|
||||||
|
Reference in New Issue
Block a user