Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into generate-rpc
Browse files Browse the repository at this point in the history
  • Loading branch information
oxarbitrage committed Sep 9, 2024
2 parents 2f9d28d + 554a37d commit a3943f1
Show file tree
Hide file tree
Showing 9 changed files with 91 additions and 30 deletions.
85 changes: 59 additions & 26 deletions openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ paths:
default: getinfo
id:
type: string
default: VuJXrxLSw8
default: QWlDS9bxlK
params:
type: array
items: {}
Expand Down Expand Up @@ -61,7 +61,7 @@ paths:
default: getblockchaininfo
id:
type: string
default: HDVqYXM9m6
default: XSg3wvZykA
params:
type: array
items: {}
Expand Down Expand Up @@ -99,7 +99,7 @@ paths:
default: getaddressbalance
id:
type: string
default: Xw5TDBKXGl
default: GEd1QJWprH
params:
type: array
items: {}
Expand Down Expand Up @@ -147,7 +147,7 @@ paths:
default: sendrawtransaction
id:
type: string
default: QaJv2bXyZu
default: nhQi7D6Oru
params:
type: array
items: {}
Expand Down Expand Up @@ -196,7 +196,7 @@ paths:
default: getblock
id:
type: string
default: k0DACJrgZs
default: qIEYMzgbJZ
params:
type: array
items: {}
Expand Down Expand Up @@ -239,7 +239,7 @@ paths:
default: getbestblockhash
id:
type: string
default: rIFaLhZwHF
default: P9UBS8IXXU
params:
type: array
items: {}
Expand Down Expand Up @@ -272,7 +272,7 @@ paths:
default: getbestblockheightandhash
id:
type: string
default: oxrhh1swvh
default: gQNhsomx7N
params:
type: array
items: {}
Expand Down Expand Up @@ -305,7 +305,7 @@ paths:
default: getrawmempool
id:
type: string
default: E7oUD34jk2
default: c2ScL31PtX
params:
type: array
items: {}
Expand Down Expand Up @@ -343,7 +343,7 @@ paths:
default: z_gettreestate
id:
type: string
default: Hp22XK728i
default: JQ0mENKbdm
params:
type: array
items: {}
Expand Down Expand Up @@ -393,7 +393,7 @@ paths:
default: z_getsubtreesbyindex
id:
type: string
default: Cs69hg68pl
default: bZUCv4t0f4
params:
type: array
items: {}
Expand Down Expand Up @@ -432,7 +432,7 @@ paths:
default: getrawtransaction
id:
type: string
default: iu395PEErc
default: I0FAejAi4r
params:
type: array
items: {}
Expand Down Expand Up @@ -480,7 +480,7 @@ paths:
default: getaddresstxids
id:
type: string
default: z3lOKfsQdp
default: '3fMzDHOglf'
params:
type: array
items: {}
Expand Down Expand Up @@ -528,7 +528,7 @@ paths:
default: getaddressutxos
id:
type: string
default: '7U4Q4dSxej'
default: LE2AR8Tr6X
params:
type: array
items: {}
Expand All @@ -554,6 +554,39 @@ paths:
error:
type: string
default: Invalid parameters
/stop:
post:
tags:
- control
description: Stop the running zebrad process.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
method:
type: string
default: stop
id:
type: string
default: PbxxqB0ZpF
params:
type: array
items: {}
default: '[]'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
result:
type: object
default: 'null'
/getblockcount:
post:
tags:
Expand All @@ -571,7 +604,7 @@ paths:
default: getblockcount
id:
type: string
default: '8yw3EX7Cwi'
default: WO6BAIKSCg
params:
type: array
items: {}
Expand Down Expand Up @@ -609,7 +642,7 @@ paths:
default: getblockhash
id:
type: string
default: ndDYksCl9E
default: vHpKNIQRLF
params:
type: array
items: {}
Expand Down Expand Up @@ -657,7 +690,7 @@ paths:
default: getblocktemplate
id:
type: string
default: lJi2hfxty1
default: L04jp5F2QW
params:
type: array
items: {}
Expand Down Expand Up @@ -695,7 +728,7 @@ paths:
default: submitblock
id:
type: string
default: '9fEFOdTQle'
default: Izn7vhiMaA
params:
type: array
items: {}
Expand Down Expand Up @@ -728,7 +761,7 @@ paths:
default: getmininginfo
id:
type: string
default: Dytpq4f3lF
default: SgyuBQbMik
params:
type: array
items: {}
Expand Down Expand Up @@ -761,7 +794,7 @@ paths:
default: getnetworksolps
id:
type: string
default: yX3woRnOaN
default: FXg2iH3eaX
params:
type: array
items: {}
Expand Down Expand Up @@ -794,7 +827,7 @@ paths:
default: getnetworkhashps
id:
type: string
default: AyAZMtbezv
default: '2PWjf8QqfI'
params:
type: array
items: {}
Expand Down Expand Up @@ -827,7 +860,7 @@ paths:
default: getpeerinfo
id:
type: string
default: nNcrsu3ZAR
default: OE9s5wkP0w
params:
type: array
items: {}
Expand Down Expand Up @@ -865,7 +898,7 @@ paths:
default: validateaddress
id:
type: string
default: LGyfO7zTjW
default: '6FS4iGA4Ht'
params:
type: array
items: {}
Expand Down Expand Up @@ -903,7 +936,7 @@ paths:
default: z_validateaddress
id:
type: string
default: '2Q09a2Nh4N'
default: utp8tN61yU
params:
type: array
items: {}
Expand Down Expand Up @@ -941,7 +974,7 @@ paths:
default: getblocksubsidy
id:
type: string
default: nv6lOWCRso
default: dgNZGo7lNa
params:
type: array
items: {}
Expand Down Expand Up @@ -984,7 +1017,7 @@ paths:
default: getdifficulty
id:
type: string
default: '2O3A0PF1SS'
default: KEJv30D2MI
params:
type: array
items: {}
Expand Down Expand Up @@ -1022,7 +1055,7 @@ paths:
default: z_listunifiedreceivers
id:
type: string
default: XYgGcDIx2X
default: lfBqvYghGm
params:
type: array
items: {}
Expand Down
25 changes: 25 additions & 0 deletions zebra-rpc/src/methods.rs
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,18 @@ pub trait Rpc {
&self,
address_strings: AddressStrings,
) -> BoxFuture<Result<Vec<GetAddressUtxos>>>;

#[rpc(name = "stop")]
/// Stop the running zebrad process.
///
/// # Notes
///
/// Only works if the network of the running zebrad process is `Regtest`.
///
/// zcashd reference: [`stop`](https://zcash.github.io/rpc/stop.html)
/// method: post
/// tags: control
fn stop(&self) -> Result<()>;
}

/// RPC method implementations.
Expand Down Expand Up @@ -1344,6 +1356,19 @@ where
}
.boxed()
}

fn stop(&self) -> Result<()> {
if self.network.is_regtest() {
// TODO: Use graceful termination in `stop` RPC (#8850)
std::process::exit(0);
} else {
Err(Error {
code: ErrorCode::MethodNotFound,
message: "stop is only available on regtest networks".to_string(),
data: None,
})
}
}
}

/// Returns the best chain tip height of `latest_chain_tip`,
Expand Down
1 change: 1 addition & 0 deletions zebra-state/src/service/finalized_state/zebra_db/block.rs
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,7 @@ impl ZebraDb {
///
/// - Propagates any errors from writing to the DB
/// - Propagates any errors from updating history and note commitment trees
#[allow(clippy::unwrap_in_result)]
pub(in super::super) fn write_block(
&mut self,
finalized: FinalizedBlock,
Expand Down
1 change: 1 addition & 0 deletions zebra-utils/src/bin/openapi-generator/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -543,6 +543,7 @@ fn get_default_properties(method_name: &str) -> Result<IndexMap<String, Property
)?,
// control
"getinfo" => default_property(type_, items.clone(), GetInfo::default())?,
"stop" => default_property(type_, items.clone(), ())?,
// transaction
"sendrawtransaction" => {
default_property(type_, items.clone(), SentTransactionHash::default())?
Expand Down
1 change: 1 addition & 0 deletions zebrad/src/components/mempool/downloads.rs
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,7 @@ where
///
/// Returns the action taken in response to the queue request.
#[instrument(skip(self, gossiped_tx), fields(txid = %gossiped_tx.id()))]
#[allow(clippy::unwrap_in_result)]
pub fn download_if_needed_and_verify(
&mut self,
gossiped_tx: Gossip,
Expand Down
2 changes: 1 addition & 1 deletion zebrad/tests/common/checkpoints.rs
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ pub async fn run(network: Network) -> Result<()> {
?zebra_rpc_address,
"waiting for zebrad to open its RPC port...",
);
zebrad.expect_stdout_line_matches(&format!("Opened RPC endpoint at {zebra_rpc_address}"))?;
zebrad.expect_stdout_line_matches(format!("Opened RPC endpoint at {zebra_rpc_address}"))?;

tracing::info!(
?network,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ pub(crate) async fn run() -> Result<()> {
let rpc_address = zebra_rpc_address.expect("getpeerinfo test must have RPC port");

// Wait until port is open.
zebrad.expect_stdout_line_matches(&format!("Opened RPC endpoint at {rpc_address}"))?;
zebrad.expect_stdout_line_matches(format!("Opened RPC endpoint at {rpc_address}"))?;

tracing::info!(?rpc_address, "zebrad opened its RPC port",);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ pub(crate) async fn run() -> Result<()> {
?rpc_address,
"spawned isolated zebrad with shorter chain, waiting for zebrad to open its RPC port..."
);
zebrad.expect_stdout_line_matches(&format!("Opened RPC endpoint at {rpc_address}"))?;
zebrad.expect_stdout_line_matches(format!("Opened RPC endpoint at {rpc_address}"))?;

tracing::info!(?rpc_address, "zebrad opened its RPC port",);

Expand Down
2 changes: 1 addition & 1 deletion zebrad/tests/common/lightwalletd/send_transaction_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ pub async fn run() -> Result<()> {
?zebra_rpc_address,
"spawned isolated zebrad with shorter chain, waiting for zebrad to open its RPC port..."
);
zebrad.expect_stdout_line_matches(&format!("Opened RPC endpoint at {zebra_rpc_address}"))?;
zebrad.expect_stdout_line_matches(format!("Opened RPC endpoint at {zebra_rpc_address}"))?;

tracing::info!(
?zebra_rpc_address,
Expand Down

0 comments on commit a3943f1

Please sign in to comment.