Skip to content

Commit 257b445

Browse files
committed
Merge #151: Move TemplateRequest and TemplateRules into their proper module
9ab4ed1 Move TemplateRequest and TemplateRules to appropriate module (GideonBature) Pull request description: This pull request moves the `TemplateRequest` struct and `TemplateRules` enum, into their appropriate module to improve code organization and maintainability. ACKs for top commit: tcharding: ACK 9ab4ed1 Tree-SHA512: c89fe05230f1e806e0e1ade6c5d323a30326edee6bd3ad34e5cded36b6a3b317d1393616b3843438b5f81600b019e637365bed7c3f27b8a9bf4523e6a3b274b3
2 parents 8feadd4 + 9ab4ed1 commit 257b445

File tree

17 files changed

+89
-52
lines changed

17 files changed

+89
-52
lines changed

client/src/client_sync/mod.rs

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -259,24 +259,3 @@ pub struct WalletCreateFundedPsbtInput {
259259
txid: Txid,
260260
vout: u32,
261261
}
262-
263-
/// Arg for the `getblocktemplate` method.
264-
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
265-
pub struct TemplateRequest {
266-
/// A list of strings.
267-
pub rules: Vec<TemplateRules>,
268-
}
269-
270-
/// Client side supported softfork deployment.
271-
#[derive(Copy, Clone, PartialEq, Eq, Debug, Deserialize, Serialize)]
272-
#[serde(rename_all = "lowercase")]
273-
pub enum TemplateRules {
274-
/// SegWit v0 supported.
275-
Segwit,
276-
/// Signet supported.
277-
Signet,
278-
/// CSV supported.
279-
Csv,
280-
/// Taproot supported.
281-
Taproot,
282-
}

client/src/client_sync/v17/mining.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ macro_rules! impl_client_v17__getblocktemplate {
1616
impl Client {
1717
pub fn get_block_template(
1818
&self,
19-
request: &$crate::client_sync::TemplateRequest,
19+
request: &TemplateRequest,
2020
) -> Result<GetBlockTemplate> {
2121
self.call("getblocktemplate", &[into_json(request)?])
2222
}

client/src/client_sync/v17/mod.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,3 +151,26 @@ impl fmt::Display for AddressType {
151151
fmt::Display::fmt(s, f)
152152
}
153153
}
154+
155+
/// Arg for the `getblocktemplate` method.
156+
///
157+
/// For Core versions 0.17 through to v28. For Core v29 and onwards use `v29::TemplateRequest`.
158+
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
159+
pub struct TemplateRequest {
160+
/// A list of strings.
161+
pub rules: Vec<TemplateRules>,
162+
}
163+
164+
/// Client side supported softfork deployment.
165+
#[derive(Copy, Clone, PartialEq, Eq, Debug, Deserialize, Serialize)]
166+
#[serde(rename_all = "lowercase")]
167+
pub enum TemplateRules {
168+
/// SegWit v0 supported.
169+
Segwit,
170+
/// Signet supported.
171+
Signet,
172+
/// CSV supported.
173+
Csv,
174+
/// Taproot supported.
175+
Taproot,
176+
}

client/src/client_sync/v18/mod.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ use crate::client_sync::into_json;
1717
use crate::types::v18::*;
1818

1919
#[rustfmt::skip] // Keep public re-exports separate.
20-
pub use crate::client_sync::{v17::AddressType, WalletCreateFundedPsbtInput};
20+
pub use crate::client_sync::{
21+
v17::{AddressType, TemplateRequest, TemplateRules},
22+
WalletCreateFundedPsbtInput
23+
};
2124

2225
crate::define_jsonrpc_minreq_client!("v18");
2326
crate::impl_client_check_expected_server_version!({ [180100] });

client/src/client_sync/v19/mod.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ use crate::client_sync::into_json;
1717
use crate::types::v19::*;
1818

1919
#[rustfmt::skip] // Keep public re-exports separate.
20-
pub use crate::client_sync::{v17::AddressType, WalletCreateFundedPsbtInput};
20+
pub use crate::client_sync::{
21+
v17::{AddressType, TemplateRequest, TemplateRules},
22+
WalletCreateFundedPsbtInput
23+
};
2124

2225
crate::define_jsonrpc_minreq_client!("v19");
2326
crate::impl_client_check_expected_server_version!({ [190100] });

client/src/client_sync/v20.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ use crate::client_sync::into_json;
1414
use crate::types::v20::*;
1515

1616
#[rustfmt::skip] // Keep public re-exports separate.
17-
pub use crate::client_sync::{v17::AddressType, WalletCreateFundedPsbtInput};
17+
pub use crate::client_sync::{
18+
v17::{AddressType, TemplateRequest, TemplateRules},
19+
WalletCreateFundedPsbtInput
20+
};
1821

1922
crate::define_jsonrpc_minreq_client!("v20");
2023
crate::impl_client_check_expected_server_version!({ [200200] });

client/src/client_sync/v21/mod.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@ use crate::client_sync::into_json;
1616
use crate::types::v21::*;
1717

1818
#[rustfmt::skip] // Keep public re-exports separate.
19-
pub use crate::client_sync::{v17::AddressType, WalletCreateFundedPsbtInput};
19+
pub use crate::client_sync::{
20+
v17::{AddressType, TemplateRequest, TemplateRules},
21+
WalletCreateFundedPsbtInput
22+
};
2023

2124
crate::define_jsonrpc_minreq_client!("v21");
2225
crate::impl_client_check_expected_server_version!({ [210200] });

client/src/client_sync/v22/mod.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ use crate::client_sync::into_json;
1717
use crate::types::v22::*;
1818

1919
#[rustfmt::skip] // Keep public re-exports separate.
20-
pub use crate::client_sync::{v17::AddressType, WalletCreateFundedPsbtInput};
20+
pub use crate::client_sync::{
21+
v17::{AddressType, TemplateRequest, TemplateRules},
22+
WalletCreateFundedPsbtInput
23+
};
2124

2225
crate::define_jsonrpc_minreq_client!("v22");
2326
crate::impl_client_check_expected_server_version!({ [220100] });

client/src/client_sync/v23/mod.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@ use crate::client_sync::into_json;
1818
use crate::types::v23::*;
1919

2020
#[rustfmt::skip] // Keep public re-exports separate.
21-
pub use crate::client_sync::WalletCreateFundedPsbtInput;
21+
pub use crate::client_sync::{
22+
v17::{TemplateRequest, TemplateRules},
23+
WalletCreateFundedPsbtInput
24+
};
2225

2326
crate::define_jsonrpc_minreq_client!("v23");
2427
crate::impl_client_check_expected_server_version!({ [230200] });

client/src/client_sync/v24.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ use crate::client_sync::into_json;
1414
use crate::types::v24::*;
1515

1616
#[rustfmt::skip] // Keep public re-exports separate.
17-
pub use crate::client_sync::{v23::AddressType, WalletCreateFundedPsbtInput};
17+
pub use crate::client_sync::{
18+
v17::{TemplateRequest, TemplateRules},
19+
v23::AddressType, WalletCreateFundedPsbtInput
20+
};
1821

1922
crate::define_jsonrpc_minreq_client!("v24");
2023
crate::impl_client_check_expected_server_version!({ [240200] });

0 commit comments

Comments
 (0)