Skip to content

Commit 9ab4ed1

Browse files
committed
Move TemplateRequest and TemplateRules to appropriate module
1 parent 8b7e587 commit 9ab4ed1

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
@@ -149,3 +149,26 @@ impl fmt::Display for AddressType {
149149
fmt::Display::fmt(s, f)
150150
}
151151
}
152+
153+
/// Arg for the `getblocktemplate` method.
154+
///
155+
/// For Core versions 0.17 through to v28. For Core v29 and onwards use `v29::TemplateRequest`.
156+
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
157+
pub struct TemplateRequest {
158+
/// A list of strings.
159+
pub rules: Vec<TemplateRules>,
160+
}
161+
162+
/// Client side supported softfork deployment.
163+
#[derive(Copy, Clone, PartialEq, Eq, Debug, Deserialize, Serialize)]
164+
#[serde(rename_all = "lowercase")]
165+
pub enum TemplateRules {
166+
/// SegWit v0 supported.
167+
Segwit,
168+
/// Signet supported.
169+
Signet,
170+
/// CSV supported.
171+
Csv,
172+
/// Taproot supported.
173+
Taproot,
174+
}

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
@@ -17,7 +17,10 @@ use crate::client_sync::into_json;
1717
use crate::types::v23::*;
1818

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

2225
crate::define_jsonrpc_minreq_client!("v23");
2326
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] });

client/src/client_sync/v25.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::v25::*;
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!("v25");
2023
crate::impl_client_check_expected_server_version!({ [250200] });

client/src/client_sync/v26/mod.rs

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

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

2327
crate::define_jsonrpc_minreq_client!("v26");
2428
crate::impl_client_check_expected_server_version!({ [260000, 260100, 260200] });

client/src/client_sync/v27.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::v27::*;
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!("v27");
2023
crate::impl_client_check_expected_server_version!({ [270000, 270100, 270200] });

client/src/client_sync/v28/mod.rs

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

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

2125
crate::define_jsonrpc_minreq_client!("v28");
2226
crate::impl_client_check_expected_server_version!({ [280000] });

integration_test/tests/mining.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
use bitcoin::SignedAmount;
88
use integration_test::{Node, NodeExt as _, Wallet};
9-
use node::client::client_sync::{TemplateRequest, TemplateRules};
9+
use node::{TemplateRequest, TemplateRules};
1010
use node::vtype::*; // All the version specific types.
1111
use node::mtype;
1212

node/src/client_versions.rs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,52 +7,52 @@
77
#![allow(unused_imports)] // Not all users need the json types.
88

99
#[cfg(feature = "28_0")]
10-
pub use corepc_client::{client_sync::v28::{Client, AddressType}, types::v28 as vtype};
10+
pub use corepc_client::{client_sync::v28::{Client, AddressType, TemplateRequest, TemplateRules}, types::v28 as vtype};
1111

1212
#[cfg(all(feature = "27_2", not(feature = "28_0")))]
13-
pub use corepc_client::{client_sync::v27::{Client, AddressType}, types::v27 as vtype};
13+
pub use corepc_client::{client_sync::v27::{Client, AddressType, TemplateRequest, TemplateRules}, types::v27 as vtype};
1414

1515
#[cfg(all(feature = "27_1", not(feature = "27_2")))]
16-
pub use corepc_client::{client_sync::v27::{Client, AddressType}, types::v27 as vtype};
16+
pub use corepc_client::{client_sync::v27::{Client, AddressType, TemplateRequest, TemplateRules}, types::v27 as vtype};
1717

1818
#[cfg(all(feature = "27_0", not(feature = "27_1")))]
19-
pub use corepc_client::{client_sync::v27::{Client, AddressType}, types::v27 as vtype};
19+
pub use corepc_client::{client_sync::v27::{Client, AddressType, TemplateRequest, TemplateRules}, types::v27 as vtype};
2020

2121
#[cfg(all(feature = "26_2", not(feature = "27_0")))]
22-
pub use corepc_client::{client_sync::v26::{Client, AddressType}, types::v26 as vtype};
22+
pub use corepc_client::{client_sync::v26::{Client, AddressType, TemplateRequest, TemplateRules}, types::v26 as vtype};
2323

2424
#[cfg(all(feature = "26_1", not(feature = "26_2")))]
25-
pub use corepc_client::{client_sync::v26::{Client, AddressType}, types::v26 as vtype};
25+
pub use corepc_client::{client_sync::v26::{Client, AddressType, TemplateRequest, TemplateRules}, types::v26 as vtype};
2626

2727
#[cfg(all(feature = "26_0", not(feature = "26_1")))]
28-
pub use corepc_client::{client_sync::v26::{Client, AddressType}, types::v26 as vtype};
28+
pub use corepc_client::{client_sync::v26::{Client, AddressType, TemplateRequest, TemplateRules}, types::v26 as vtype};
2929

3030
#[cfg(all(feature = "25_2", not(feature = "26_0")))]
31-
pub use corepc_client::{client_sync::v25::{Client, AddressType}, types::v25 as vtype};
31+
pub use corepc_client::{client_sync::v25::{Client, AddressType, TemplateRequest, TemplateRules}, types::v25 as vtype};
3232

3333
#[cfg(all(feature = "24_2", not(feature = "25_2")))]
34-
pub use corepc_client::{client_sync::v24::{Client, AddressType}, types::v24 as vtype};
34+
pub use corepc_client::{client_sync::v24::{Client, AddressType, TemplateRequest, TemplateRules}, types::v24 as vtype};
3535

3636
#[cfg(all(feature = "23_2", not(feature = "24_2")))]
37-
pub use corepc_client::{client_sync::v23::{Client, AddressType}, types::v23 as vtype};
37+
pub use corepc_client::{client_sync::v23::{Client, AddressType, TemplateRequest, TemplateRules}, types::v23 as vtype};
3838

3939
#[cfg(all(feature = "22_1", not(feature = "23_2")))]
40-
pub use corepc_client::{client_sync::v22::{Client, AddressType}, types::v22 as vtype};
40+
pub use corepc_client::{client_sync::v22::{Client, AddressType, TemplateRequest, TemplateRules}, types::v22 as vtype};
4141

4242
#[cfg(all(feature = "0_21_2", not(feature = "22_1")))]
43-
pub use corepc_client::{client_sync::v21::{Client, AddressType}, types::v21 as vtype};
43+
pub use corepc_client::{client_sync::v21::{Client, AddressType, TemplateRequest, TemplateRules}, types::v21 as vtype};
4444

4545
#[cfg(all(feature = "0_20_2", not(feature = "0_21_2")))]
46-
pub use corepc_client::{client_sync::v20::{Client, AddressType}, types::v20 as vtype};
46+
pub use corepc_client::{client_sync::v20::{Client, AddressType, TemplateRequest, TemplateRules}, types::v20 as vtype};
4747

4848
#[cfg(all(feature = "0_19_1", not(feature = "0_20_2")))]
49-
pub use corepc_client::{client_sync::v19::{Client, AddressType}, types::v19 as vtype};
49+
pub use corepc_client::{client_sync::v19::{Client, AddressType, TemplateRequest, TemplateRules}, types::v19 as vtype};
5050

5151
#[cfg(all(feature = "0_18_1", not(feature = "0_19_1")))]
52-
pub use corepc_client::{client_sync::v18::{Client, AddressType}, types::v18 as vtype};
52+
pub use corepc_client::{client_sync::v18::{Client, AddressType, TemplateRequest, TemplateRules}, types::v18 as vtype};
5353

5454
#[cfg(all(feature = "0_17_2", not(feature = "0_18_1")))]
55-
pub use corepc_client::{client_sync::v17::{Client, AddressType}, types::v17 as vtype};
55+
pub use corepc_client::{client_sync::v17::{Client, AddressType, TemplateRequest, TemplateRules}, types::v17 as vtype};
5656

5757
/// This is meaningless but we need it otherwise we can't get far enough into
5858
/// the build process to trigger the `compile_error!` in `./versions.rs`.
@@ -74,4 +74,4 @@ pub use corepc_client::{client_sync::v17::{Client, AddressType}, types::v17 as v
7474
not(feature = "0_18_1"),
7575
not(feature = "0_17_2"),
7676
))]
77-
pub use corepc_client::{client_sync::v28::{Client, AddressType}, types::v28 as vtype};
77+
pub use corepc_client::{client_sync::v28::{Client, AddressType, TemplateRequest, TemplateRules}, types::v28 as vtype};

node/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ pub use {anyhow, serde_json, tempfile, which};
2424
#[doc(inline)]
2525
pub use self::{
2626
// Re-export `vtype` - the version specific types.
27-
client_versions::{vtype, Client, AddressType},
27+
client_versions::{vtype, Client, AddressType, TemplateRequest, TemplateRules},
2828
// Re-export the version string e.g., "28.0".
2929
versions::VERSION,
3030
// Re-export the model types as `mtype` to differentiate it from `vtype`.

0 commit comments

Comments
 (0)