mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-30 20:14:49 +00:00
feat: add s9pk inspect commitment subcommand
This commit is contained in:
@@ -17,6 +17,7 @@ use crate::s9pk::manifest::{HardwareRequirements, Manifest};
|
|||||||
use crate::s9pk::merkle_archive::source::multi_cursor_file::MultiCursorFile;
|
use crate::s9pk::merkle_archive::source::multi_cursor_file::MultiCursorFile;
|
||||||
use crate::s9pk::v2::SIG_CONTEXT;
|
use crate::s9pk::v2::SIG_CONTEXT;
|
||||||
use crate::s9pk::v2::pack::ImageConfig;
|
use crate::s9pk::v2::pack::ImageConfig;
|
||||||
|
use crate::sign::commitment::merkle_archive::MerkleArchiveCommitment;
|
||||||
use crate::util::io::{TmpDir, create_file, open_file};
|
use crate::util::io::{TmpDir, create_file, open_file};
|
||||||
use crate::util::serde::{HandlerExtSerde, apply_expr};
|
use crate::util::serde::{HandlerExtSerde, apply_expr};
|
||||||
use crate::util::{Apply, Invoke};
|
use crate::util::{Apply, Invoke};
|
||||||
@@ -131,6 +132,13 @@ fn inspect() -> ParentHandler<CliContext, S9pkPath> {
|
|||||||
.with_display_serializable()
|
.with_display_serializable()
|
||||||
.with_about("about.display-s9pk-manifest"),
|
.with_about("about.display-s9pk-manifest"),
|
||||||
)
|
)
|
||||||
|
.subcommand(
|
||||||
|
"commitment",
|
||||||
|
from_fn_async(inspect_commitment)
|
||||||
|
.with_inherited(only_parent)
|
||||||
|
.with_display_serializable()
|
||||||
|
.with_about("about.display-s9pk-root-sighash-and-maxsize"),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Deserialize, Serialize, Parser, TS)]
|
#[derive(Deserialize, Serialize, Parser, TS)]
|
||||||
@@ -262,6 +270,15 @@ async fn inspect_manifest(
|
|||||||
Ok(s9pk.as_manifest().clone())
|
Ok(s9pk.as_manifest().clone())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fn inspect_commitment(
|
||||||
|
_: CliContext,
|
||||||
|
_: Empty,
|
||||||
|
S9pkPath { s9pk: s9pk_path }: S9pkPath,
|
||||||
|
) -> Result<MerkleArchiveCommitment, Error> {
|
||||||
|
let s9pk = super::S9pk::open(&s9pk_path, None).await?;
|
||||||
|
s9pk.as_archive().commitment().await
|
||||||
|
}
|
||||||
|
|
||||||
async fn convert(ctx: CliContext, S9pkPath { s9pk: s9pk_path }: S9pkPath) -> Result<(), Error> {
|
async fn convert(ctx: CliContext, S9pkPath { s9pk: s9pk_path }: S9pkPath) -> Result<(), Error> {
|
||||||
let mut s9pk = super::load(
|
let mut s9pk = super::load(
|
||||||
MultiCursorFile::from(open_file(&s9pk_path).await?),
|
MultiCursorFile::from(open_file(&s9pk_path).await?),
|
||||||
|
|||||||
Reference in New Issue
Block a user