Skip to content

Commit b3f55f6

Browse files
committed
Rename semantic module to abstract
We used "semantic" so as not to clash with the reserved Rust keyword "abstract", however there is a language feature to deal with such name clashes - the raw identifier syntax `r#foo`. Use `r#abstract` and rename the `policy/semantic.rs` file to `policy/abstract.rs`. There is more re-naming to do to complete the semantic -> abstract change but here we _only_ do the module name to ease review.
1 parent 0232152 commit b3f55f6

File tree

8 files changed

+23
-22
lines changed

8 files changed

+23
-22
lines changed

src/descriptor/bare.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use crate::expression::{self, FromTree};
1818
use crate::miniscript::context::{ScriptContext, ScriptContextError};
1919
use crate::miniscript::satisfy::{Placeholder, Satisfaction, Witness};
2020
use crate::plan::AssetProvider;
21-
use crate::policy::{semantic, Liftable};
21+
use crate::policy::{r#abstract, Liftable};
2222
use crate::prelude::*;
2323
use crate::util::{varint_len, witness_to_scriptsig};
2424
use crate::{
@@ -165,7 +165,7 @@ impl<Pk: MiniscriptKey> fmt::Display for Bare<Pk> {
165165
}
166166

167167
impl<Pk: MiniscriptKey> Liftable<Pk> for Bare<Pk> {
168-
fn lift(&self) -> Result<semantic::Policy<Pk>, Error> { self.ms.lift() }
168+
fn lift(&self) -> Result<r#abstract::Policy<Pk>, Error> { self.ms.lift() }
169169
}
170170

171171
impl_from_tree!(
@@ -362,8 +362,8 @@ impl<Pk: MiniscriptKey> fmt::Display for Pkh<Pk> {
362362
}
363363

364364
impl<Pk: MiniscriptKey> Liftable<Pk> for Pkh<Pk> {
365-
fn lift(&self) -> Result<semantic::Policy<Pk>, Error> {
366-
Ok(semantic::Policy::Key(self.pk.clone()))
365+
fn lift(&self) -> Result<r#abstract::Policy<Pk>, Error> {
366+
Ok(r#abstract::Policy::Key(self.pk.clone()))
367367
}
368368
}
369369

src/descriptor/segwitv0.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use crate::expression::{self, FromTree};
1616
use crate::miniscript::context::{ScriptContext, ScriptContextError};
1717
use crate::miniscript::satisfy::{Placeholder, Satisfaction, Witness};
1818
use crate::plan::AssetProvider;
19-
use crate::policy::{semantic, Liftable};
19+
use crate::policy::{r#abstract, Liftable};
2020
use crate::prelude::*;
2121
use crate::util::varint_len;
2222
use crate::{
@@ -220,7 +220,7 @@ pub enum WshInner<Pk: MiniscriptKey> {
220220
}
221221

222222
impl<Pk: MiniscriptKey> Liftable<Pk> for Wsh<Pk> {
223-
fn lift(&self) -> Result<semantic::Policy<Pk>, Error> {
223+
fn lift(&self) -> Result<r#abstract::Policy<Pk>, Error> {
224224
match self.inner {
225225
WshInner::SortedMulti(ref smv) => smv.lift(),
226226
WshInner::Ms(ref ms) => ms.lift(),
@@ -469,8 +469,8 @@ impl<Pk: MiniscriptKey> fmt::Display for Wpkh<Pk> {
469469
}
470470

471471
impl<Pk: MiniscriptKey> Liftable<Pk> for Wpkh<Pk> {
472-
fn lift(&self) -> Result<semantic::Policy<Pk>, Error> {
473-
Ok(semantic::Policy::Key(self.pk.clone()))
472+
fn lift(&self) -> Result<r#abstract::Policy<Pk>, Error> {
473+
Ok(r#abstract::Policy::Key(self.pk.clone()))
474474
}
475475
}
476476

src/descriptor/sh.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use crate::expression::{self, FromTree};
2020
use crate::miniscript::context::ScriptContext;
2121
use crate::miniscript::satisfy::{Placeholder, Satisfaction};
2222
use crate::plan::AssetProvider;
23-
use crate::policy::{semantic, Liftable};
23+
use crate::policy::{r#abstract, Liftable};
2424
use crate::prelude::*;
2525
use crate::util::{varint_len, witness_to_scriptsig};
2626
use crate::{
@@ -49,10 +49,10 @@ pub enum ShInner<Pk: MiniscriptKey> {
4949
}
5050

5151
impl<Pk: MiniscriptKey> Liftable<Pk> for Sh<Pk> {
52-
fn lift(&self) -> Result<semantic::Policy<Pk>, Error> {
52+
fn lift(&self) -> Result<r#abstract::Policy<Pk>, Error> {
5353
match self.inner {
5454
ShInner::Wsh(ref wsh) => wsh.lift(),
55-
ShInner::Wpkh(ref pk) => Ok(semantic::Policy::Key(pk.as_inner().clone())),
55+
ShInner::Wpkh(ref pk) => Ok(r#abstract::Policy::Key(pk.as_inner().clone())),
5656
ShInner::SortedMulti(ref smv) => smv.lift(),
5757
ShInner::Ms(ref ms) => ms.lift(),
5858
}

src/descriptor/sortedmulti.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ use crate::miniscript::decode::Terminal;
1616
use crate::miniscript::limits::MAX_PUBKEYS_PER_MULTISIG;
1717
use crate::miniscript::satisfy::{Placeholder, Satisfaction};
1818
use crate::plan::AssetProvider;
19+
use crate::policy::r#abstract;
1920
use crate::prelude::*;
2021
use crate::{
2122
errstr, expression, policy, script_num_size, Error, ForEachKey, Miniscript, MiniscriptKey,
@@ -196,12 +197,12 @@ impl<Pk: MiniscriptKey, Ctx: ScriptContext> SortedMultiVec<Pk, Ctx> {
196197
}
197198

198199
impl<Pk: MiniscriptKey, Ctx: ScriptContext> policy::Liftable<Pk> for SortedMultiVec<Pk, Ctx> {
199-
fn lift(&self) -> Result<policy::semantic::Policy<Pk>, Error> {
200-
let ret = policy::semantic::Policy::Threshold(
200+
fn lift(&self) -> Result<r#abstract::Policy<Pk>, Error> {
201+
let ret = r#abstract::Policy::Threshold(
201202
self.k,
202203
self.pks
203204
.iter()
204-
.map(|k| policy::semantic::Policy::Key(k.clone()))
205+
.map(|k| r#abstract::Policy::Key(k.clone()))
205206
.collect(),
206207
);
207208
Ok(ret)

src/descriptor/tr.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use crate::expression::{self, FromTree};
1616
use crate::miniscript::satisfy::{Placeholder, Satisfaction, SchnorrSigType, Witness};
1717
use crate::miniscript::Miniscript;
1818
use crate::plan::AssetProvider;
19-
use crate::policy::semantic::Policy;
19+
use crate::policy::r#abstract::Policy;
2020
use crate::policy::Liftable;
2121
use crate::prelude::*;
2222
use crate::util::{varint_len, witness_size};

src/policy/semantic.rs renamed to src/policy/abstract.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ use core::{fmt, str};
1010

1111
use bitcoin::{absolute, Sequence};
1212

13-
use super::concrete::PolicyError;
14-
use super::ENTAILMENT_MAX_TERMINALS;
13+
use crate::policy::concrete::PolicyError;
14+
use crate::policy::ENTAILMENT_MAX_TERMINALS;
1515
use crate::prelude::*;
1616
use crate::{errstr, expression, AbsLockTime, Error, ForEachKey, MiniscriptKey, Translator};
1717

@@ -93,7 +93,7 @@ impl<Pk: MiniscriptKey> Policy<Pk> {
9393
/// use std::collections::HashMap;
9494
/// use std::str::FromStr;
9595
/// use miniscript::bitcoin::{hashes::hash160, PublicKey};
96-
/// use miniscript::{translate_hash_fail, policy::semantic::Policy, Translator};
96+
/// use miniscript::{translate_hash_fail, policy::r#abstract::Policy, Translator};
9797
/// let alice_pk = "02c79ef3ede6d14f72a00d0e49b4becfb152197b64c0707425c4f231df29500ee7";
9898
/// let bob_pk = "03d008a849fbf474bd17e9d2c1a827077a468150e58221582ec3410ab309f5afe4";
9999
/// let placeholder_policy = Policy::<String>::from_str("and(pk(alice_pk),pk(bob_pk))").unwrap();

src/policy/concrete.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -557,7 +557,7 @@ impl<Pk: MiniscriptKey> ForEachKey<Pk> for Policy<Pk> {
557557
impl<Pk: MiniscriptKey> Policy<Pk> {
558558
/// Converts a policy using one kind of public key to another type of public key.
559559
///
560-
/// For example usage please see [`crate::policy::semantic::Policy::translate_pk`].
560+
/// For example usage please see [`crate::policy::abstract::Policy::translate_pk`].
561561
pub fn translate_pk<Q, E, T>(&self, t: &mut T) -> Result<Policy<Q>, E>
562562
where
563563
T: Translator<Pk, Q, E>,

src/policy/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,20 @@ use core::fmt;
1313
#[cfg(feature = "std")]
1414
use std::error;
1515

16+
pub mod r#abstract;
1617
#[cfg(feature = "compiler")]
1718
pub mod compiler;
1819
pub mod concrete;
19-
pub mod semantic;
2020

2121
pub use self::concrete::Policy as Concrete;
22-
pub use self::semantic::Policy as Semantic;
22+
pub use self::r#abstract::Policy as Semantic;
2323
use crate::descriptor::Descriptor;
2424
use crate::miniscript::{Miniscript, ScriptContext};
2525
use crate::sync::Arc;
2626
use crate::{Error, MiniscriptKey, Terminal};
2727

2828
/// Policy entailment algorithm maximum number of terminals allowed.
29-
const ENTAILMENT_MAX_TERMINALS: usize = 20;
29+
pub(crate) const ENTAILMENT_MAX_TERMINALS: usize = 20;
3030

3131
/// Trait describing script representations which can be lifted into
3232
/// an abstract policy, by discarding information.

0 commit comments

Comments
 (0)