Skip to content

Commit 667653b

Browse files
Remove the 'multisig' field from SignatureRule
1 parent 0d8f5b3 commit 667653b

File tree

3 files changed

+13
-35
lines changed

3 files changed

+13
-35
lines changed

rust/signed_doc/src/validator/rules/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ impl Rules {
145145
collaborators: CollaboratorsRule::NotSpecified,
146146
content: ContentRule::new(&doc_spec.payload)?,
147147
kid: SignatureKidRule::new(&doc_spec.signers.roles)?,
148-
signature: SignatureRule { mutlisig: false },
148+
signature: SignatureRule {},
149149
ownership: DocumentOwnershipRule::new(&doc_spec.signers.update)?,
150150
};
151151
let doc_type = doc_spec.doc_type.parse()?;

rust/signed_doc/src/validator/rules/signature/mod.rs

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,7 @@ use crate::{
1414

1515
/// Signed Document signatures validation rule.
1616
#[derive(Debug)]
17-
pub(crate) struct SignatureRule {
18-
/// Allows multiple signatures.
19-
pub(crate) mutlisig: bool,
20-
}
17+
pub(crate) struct SignatureRule {}
2118

2219
impl SignatureRule {
2320
/// Verify document signatures.
@@ -41,18 +38,6 @@ impl SignatureRule {
4138
return Ok(false);
4239
}
4340

44-
if !self.mutlisig && doc.signatures().len() > 1 {
45-
doc.report().other(
46-
format!(
47-
"Multi-signature is not allowed, found {} signatures",
48-
doc.signatures().len()
49-
)
50-
.as_str(),
51-
"During Catalyst Signed Document signature validation",
52-
);
53-
return Ok(false);
54-
}
55-
5641
let sign_rules = doc
5742
.signatures()
5843
.iter()

rust/signed_doc/src/validator/rules/signature/tests.rs

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ fn metadata() -> serde_json::Value {
2727
})
2828
}
2929

30-
fn rule(mutlisig: bool) -> SignatureRule {
31-
SignatureRule { mutlisig }
30+
fn rule() -> SignatureRule {
31+
SignatureRule {}
3232
}
3333

3434
#[tokio::test]
@@ -51,13 +51,13 @@ async fn single_signature_validation_test() {
5151
let mut provider = TestCatalystProvider::default();
5252
provider.add_pk(kid.clone(), pk);
5353
assert!(
54-
rule(true).check(&signed_doc, &provider).await.unwrap(),
54+
rule().check(&signed_doc, &provider).await.unwrap(),
5555
"{:?}",
5656
signed_doc.problem_report()
5757
);
5858

5959
// case: empty provider
60-
assert!(!rule(true)
60+
assert!(!rule()
6161
.check(&signed_doc, &TestCatalystProvider::default())
6262
.await
6363
.unwrap());
@@ -71,7 +71,7 @@ async fn single_signature_validation_test() {
7171
.unwrap()
7272
.build()
7373
.unwrap();
74-
assert!(!rule(true).check(&invalid_doc, &provider).await.unwrap());
74+
assert!(!rule().check(&invalid_doc, &provider).await.unwrap());
7575

7676
// case: missing signatures
7777
let unsigned_doc = Builder::new()
@@ -86,7 +86,7 @@ async fn single_signature_validation_test() {
8686
.unwrap()
8787
.build()
8888
.unwrap();
89-
assert!(!rule(true).check(&unsigned_doc, &provider).await.unwrap());
89+
assert!(!rule().check(&unsigned_doc, &provider).await.unwrap());
9090
}
9191

9292
#[tokio::test]
@@ -112,33 +112,26 @@ async fn multiple_signatures_validation_test() {
112112

113113
assert!(!signed_doc.problem_report().is_problematic());
114114

115-
// case: multi-sig rule disabled
116-
let mut provider = TestCatalystProvider::default();
117-
provider.add_pk(kid1.clone(), pk1);
118-
provider.add_pk(kid2.clone(), pk2);
119-
provider.add_pk(kid3.clone(), pk3);
120-
assert!(!rule(false).check(&signed_doc, &provider).await.unwrap());
121-
122115
// case: all signatures valid
123116
let mut provider = TestCatalystProvider::default();
124117
provider.add_pk(kid1.clone(), pk1);
125118
provider.add_pk(kid2.clone(), pk2);
126119
provider.add_pk(kid3.clone(), pk3);
127-
assert!(rule(true).check(&signed_doc, &provider).await.unwrap());
120+
assert!(rule().check(&signed_doc, &provider).await.unwrap());
128121

129122
// case: partially available signatures
130123
let mut provider = TestCatalystProvider::default();
131124
provider.add_pk(kid1.clone(), pk1);
132125
provider.add_pk(kid2.clone(), pk2);
133-
assert!(!rule(true).check(&signed_doc, &provider).await.unwrap());
126+
assert!(!rule().check(&signed_doc, &provider).await.unwrap());
134127

135128
// case: with unrecognized provider
136129
let mut provider = TestCatalystProvider::default();
137130
provider.add_pk(kid_n.clone(), pk_n);
138-
assert!(!rule(true).check(&signed_doc, &provider).await.unwrap());
131+
assert!(!rule().check(&signed_doc, &provider).await.unwrap());
139132

140133
// case: no valid signatures available
141-
assert!(!rule(true)
134+
assert!(!rule()
142135
.check(&signed_doc, &TestCatalystProvider::default())
143136
.await
144137
.unwrap());
@@ -288,7 +281,7 @@ async fn special_cbor_cases() {
288281
.unwrap();
289282

290283
assert!(
291-
rule(true).check(&doc, &provider).await.unwrap(),
284+
rule().check(&doc, &provider).await.unwrap(),
292285
"[case: {}] {:?}",
293286
case.name,
294287
doc.problem_report()

0 commit comments

Comments
 (0)