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