Skip to content

Commit 25107e6

Browse files
committed
Merge remote-tracking branch 'origin/main' into feat/cat-sign-doc-validator
2 parents 7014694 + 9b9de32 commit 25107e6

File tree

8 files changed

+50
-46
lines changed

8 files changed

+50
-46
lines changed

rust/Cargo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,7 @@ unchecked_duration_subtraction = "deny"
6161
unreachable = "deny"
6262
missing_docs_in_private_items = "deny"
6363
arithmetic_side_effects = "deny"
64+
65+
# https://github.com/orxfun/orx-pseudo-default/issues/11
66+
[patch.crates-io]
67+
orx-pseudo-default = { git = "https://github.com/orxfun/orx-pseudo-default?rev=1.4.0", tag = "1.4.0" }

rust/Earthfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
VERSION 0.8
22

3-
IMPORT github.com/input-output-hk/catalyst-ci/earthly/rust:v3.2.28 AS rust-ci
3+
IMPORT github.com/input-output-hk/catalyst-ci/earthly/rust:v3.2.37 AS rust-ci
44

55
COPY_SRC:
66
FUNCTION

rust/deny.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ allow-git = [
5858
"https://github.com/txpipe/kes",
5959
"https://github.com/txpipe/curve25519-dalek",
6060
"https://github.com/input-output-hk/mithril",
61+
"https://github.com/orxfun/orx-pseudo-default",
6162
]
6263

6364
[licenses]

rust/signed_doc/Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,14 @@ workspace = true
1212

1313
[dependencies]
1414
rbac-registration = { version = "0.0.2", git = "https://github.com/input-output-hk/catalyst-libs.git", tag = "r20250128-01" }
15-
catalyst-types = { version = "0.0.1", git = "https://github.com/input-output-hk/catalyst-libs.git", tag = "r20250128-01" }
15+
catalyst-types = { version = "0.0.1", git = "https://github.com/input-output-hk/catalyst-libs.git", tag = "r20250204-00" }
1616
anyhow = "1.0.95"
1717
serde = { version = "1.0.217", features = ["derive"] }
1818
serde_json = "1.0.134"
1919
coset = "0.3.8"
2020
minicbor = { version = "0.25.1", features = ["half"] }
2121
brotli = "7.0.0"
2222
ed25519-dalek = { version = "2.1.1", features = ["pem", "rand_core"] }
23-
uuid = { version = "1.11.0", features = ["v4", "v7", "serde"] }
2423
hex = "0.4.3"
2524
strum = { version = "0.26.3", features = ["derive"] }
2625
clap = { version = "4.5.23", features = ["derive", "env"] }

rust/signed_doc/src/doc_types/mod.rs

Lines changed: 29 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
mod comment_document;
55
mod proposal_document;
66

7-
use catalyst_types::uuid::UuidV4;
8-
pub use comment_document::{CommentDocument, COMMENT_DOCUMENT_UUID_TYPE};
7+
use catalyst_types::uuid::{Uuid, UuidV4};
8+
pub use comment_document::CommentDocument;
99
pub use proposal_document::{ProposalDocument, PROPOSAL_DOCUMENT_UUID_TYPE};
1010

1111
/// Represents different types of documents.
@@ -46,47 +46,46 @@ pub enum DocumentType {
4646
}
4747

4848
/// Proposal template `UuidV4` type.
49-
const PROPOSAL_TEMPLATE_UUID_TYPE: uuid::Uuid =
50-
uuid::Uuid::from_u128(0x0CE8_AB38_9258_4FBC_A62E_7FAA_6E58_318F);
49+
const PROPOSAL_TEMPLATE_UUID_TYPE: Uuid =
50+
Uuid::from_u128(0x0CE8_AB38_9258_4FBC_A62E_7FAA_6E58_318F);
51+
/// Comment document `UuidV4` type.
52+
const COMMENT_DOCUMENT_UUID_TYPE: Uuid = Uuid::from_u128(0xB679_DED3_0E7C_41BA_89F8_DA62_A178_98EA);
5153
/// Comment template `UuidV4` type.
52-
const COMMENT_TEMPLATE_UUID_TYPE: uuid::Uuid =
53-
uuid::Uuid::from_u128(0x0B84_24D4_EBFD_46E3_9577_1775_A69D_290C);
54+
const COMMENT_TEMPLATE_UUID_TYPE: Uuid = Uuid::from_u128(0x0B84_24D4_EBFD_46E3_9577_1775_A69D_290C);
5455
/// Review document `UuidV4` type.
55-
const REVIEW_DOCUMENT_UUID_TYPE: uuid::Uuid =
56-
uuid::Uuid::from_u128(0xE4CA_F5F0_098B_45FD_94F3_0702_A457_3DB5);
56+
const REVIEW_DOCUMENT_UUID_TYPE: Uuid = Uuid::from_u128(0xE4CA_F5F0_098B_45FD_94F3_0702_A457_3DB5);
5757
/// Review template `UuidV4` type.
58-
const REVIEW_TEMPLATE_UUID_TYPE: uuid::Uuid =
59-
uuid::Uuid::from_u128(0xEBE5_D0BF_5D86_4577_AF4D_008F_DDBE_2EDC);
58+
const REVIEW_TEMPLATE_UUID_TYPE: Uuid = Uuid::from_u128(0xEBE5_D0BF_5D86_4577_AF4D_008F_DDBE_2EDC);
6059
/// Category parameters document `UuidV4` type.
61-
const CATEGORY_PARAMETERS_DOCUMENT_UUID_TYPE: uuid::Uuid =
62-
uuid::Uuid::from_u128(0x48C2_0109_362A_4D32_9BBA_E0A9_CF8B_45BE);
60+
const CATEGORY_PARAMETERS_DOCUMENT_UUID_TYPE: Uuid =
61+
Uuid::from_u128(0x48C2_0109_362A_4D32_9BBA_E0A9_CF8B_45BE);
6362
/// Category parameters template `UuidV4` type.
64-
const CATEGORY_PARAMETERS_TEMPLATE_UUID_TYPE: uuid::Uuid =
65-
uuid::Uuid::from_u128(0x65B1_E8B0_51F1_46A5_9970_72CD_F268_84BE);
63+
const CATEGORY_PARAMETERS_TEMPLATE_UUID_TYPE: Uuid =
64+
Uuid::from_u128(0x65B1_E8B0_51F1_46A5_9970_72CD_F268_84BE);
6665
/// Campaign parameters document `UuidV4` type.
67-
const CAMPAIGN_PARAMETERS_DOCUMENT_UUID_TYPE: uuid::Uuid =
68-
uuid::Uuid::from_u128(0x0110_EA96_A555_47CE_8408_36EF_E6ED_6F7C);
66+
const CAMPAIGN_PARAMETERS_DOCUMENT_UUID_TYPE: Uuid =
67+
Uuid::from_u128(0x0110_EA96_A555_47CE_8408_36EF_E6ED_6F7C);
6968
/// Campaign parameters template `UuidV4` type.
70-
const CAMPAIGN_PARAMETERS_TEMPLATE_UUID_TYPE: uuid::Uuid =
71-
uuid::Uuid::from_u128(0x7E8F_5FA2_44CE_49C8_BFD5_02AF_42C1_79A3);
69+
const CAMPAIGN_PARAMETERS_TEMPLATE_UUID_TYPE: Uuid =
70+
Uuid::from_u128(0x7E8F_5FA2_44CE_49C8_BFD5_02AF_42C1_79A3);
7271
/// Brand parameters document `UuidV4` type.
73-
const BRAND_PARAMETERS_DOCUMENT_UUID_TYPE: uuid::Uuid =
74-
uuid::Uuid::from_u128(0x3E48_08CC_C86E_467B_9702_D60B_AA9D_1FCA);
72+
const BRAND_PARAMETERS_DOCUMENT_UUID_TYPE: Uuid =
73+
Uuid::from_u128(0x3E48_08CC_C86E_467B_9702_D60B_AA9D_1FCA);
7574
/// Brand parameters template `UuidV4` type.
76-
const BRAND_PARAMETERS_TEMPLATE_UUID_TYPE: uuid::Uuid =
77-
uuid::Uuid::from_u128(0xFD3C_1735_80B1_4EEA_8D63_5F43_6D97_EA31);
75+
const BRAND_PARAMETERS_TEMPLATE_UUID_TYPE: Uuid =
76+
Uuid::from_u128(0xFD3C_1735_80B1_4EEA_8D63_5F43_6D97_EA31);
7877
/// Proposal action document `UuidV4` type.
79-
const PROPOSAL_ACTION_DOCUMENT_UUID_TYPE: uuid::Uuid =
80-
uuid::Uuid::from_u128(0x5E60_E623_AD02_4A1B_A1AC_406D_B978_EE48);
78+
const PROPOSAL_ACTION_DOCUMENT_UUID_TYPE: Uuid =
79+
Uuid::from_u128(0x5E60_E623_AD02_4A1B_A1AC_406D_B978_EE48);
8180
/// Public vote transaction v2 `UuidV4` type.
82-
const PUBLIC_VOTE_TX_V2_UUID_TYPE: uuid::Uuid =
83-
uuid::Uuid::from_u128(0x8DE5_586C_E998_4B95_8742_7BE3_C859_2803);
81+
const PUBLIC_VOTE_TX_V2_UUID_TYPE: Uuid =
82+
Uuid::from_u128(0x8DE5_586C_E998_4B95_8742_7BE3_C859_2803);
8483
/// Private vote transaction v2 `UuidV4` type.
85-
const PRIVATE_VOTE_TX_V2_UUID_TYPE: uuid::Uuid =
86-
uuid::Uuid::from_u128(0xE78E_E18D_F380_44C1_A852_80AA_6ECB_07FE);
84+
const PRIVATE_VOTE_TX_V2_UUID_TYPE: Uuid =
85+
Uuid::from_u128(0xE78E_E18D_F380_44C1_A852_80AA_6ECB_07FE);
8786
/// Immutable ledger block `UuidV4` type.
88-
const IMMUTABLE_LEDGER_BLOCK_UUID_TYPE: uuid::Uuid =
89-
uuid::Uuid::from_u128(0xD9E7_E6CE_2401_4D7D_9492_F4F7_C642_41C3);
87+
const IMMUTABLE_LEDGER_BLOCK_UUID_TYPE: Uuid =
88+
Uuid::from_u128(0xD9E7_E6CE_2401_4D7D_9492_F4F7_C642_41C3);
9089

9190
impl TryFrom<UuidV4> for DocumentType {
9291
type Error = anyhow::Error;

rust/signed_doc/src/doc_types/proposal_document.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
//! Proposal Document object implementation
22
//! <https://input-output-hk.github.io/catalyst-libs/architecture/08_concepts/catalyst_docs/proposal/#proposal-document>
33
4-
use catalyst_types::problem_report::ProblemReport;
4+
use catalyst_types::{problem_report::ProblemReport, uuid::Uuid};
55

66
use crate::{error::CatalystSignedDocError, CatalystSignedDocument};
77

88
/// Proposal document `UuidV4` type.
9-
pub const PROPOSAL_DOCUMENT_UUID_TYPE: uuid::Uuid =
10-
uuid::Uuid::from_u128(0x7808_D2BA_D511_40AF_84E8_C0D1_625F_DFDC);
9+
pub const PROPOSAL_DOCUMENT_UUID_TYPE: Uuid =
10+
Uuid::from_u128(0x7808_D2BA_D511_40AF_84E8_C0D1_625F_DFDC);
1111

1212
/// Proposal Document struct
1313
pub struct ProposalDocument {

rust/signed_doc/src/lib.rs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ use std::{
1717

1818
pub use builder::Builder;
1919
use catalyst_types::problem_report::ProblemReport;
20-
pub use catalyst_types::uuid::{UuidV4, UuidV7};
20+
pub use catalyst_types::uuid::{Uuid, UuidV4, UuidV7};
2121
pub use content::Content;
2222
use coset::{CborSerializable, Header};
2323
use error::CatalystSignedDocError;
2424
pub use metadata::{DocumentRef, ExtraFields, Metadata};
25-
pub use minicbor::{decode, encode, Decode, Decoder, Encode};
25+
pub use minicbor::{decode, encode, Decode, Decoder, Encode, Encoder};
2626
pub use rbac_registration::cardano::cip509::SimplePublicKeyType;
2727
pub use signature::{IdUri, Signatures};
2828
use utils::context::DecodeSignDocCtx;
@@ -106,7 +106,7 @@ impl CatalystSignedDocument {
106106

107107
/// Return a Document's signatures
108108
#[must_use]
109-
pub fn signatures(&self) -> &Signatures {
109+
pub(crate) fn signatures(&self) -> &Signatures {
110110
&self.inner.signatures
111111
}
112112

@@ -119,12 +119,7 @@ impl CatalystSignedDocument {
119119
/// Return a list of Document's author IDs (short form of Catalyst IDs).
120120
#[must_use]
121121
pub fn authors(&self) -> Vec<IdUri> {
122-
self.inner
123-
.signatures
124-
.kids()
125-
.into_iter()
126-
.map(|k| k.as_short_id())
127-
.collect()
122+
self.inner.signatures.authors()
128123
}
129124

130125
/// Verify document signatures.

rust/signed_doc/src/signature/mod.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,13 @@ impl Signatures {
2525
Self(Vec::new())
2626
}
2727

28-
/// List of signature Key IDs.
28+
/// Return a list of author IDs (short form of Catalyst IDs).
29+
#[must_use]
30+
pub fn authors(&self) -> Vec<IdUri> {
31+
self.kids().into_iter().map(|k| k.as_short_id()).collect()
32+
}
33+
34+
/// Return a list of Document's Catalyst IDs.
2935
#[must_use]
3036
pub fn kids(&self) -> Vec<IdUri> {
3137
self.0.iter().map(|sig| sig.kid.clone()).collect()

0 commit comments

Comments
 (0)