daml-json 0.2.2

Daml Ledger JSON API
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use once_cell::sync::OnceCell;

use daml_lf::element::DamlArchive;
use daml_lf::DarFile;

/// Load a dar and convert to an owned `DamlArchive`
pub fn daml_archive(path: &str) -> &'static DamlArchive<'static> {
    static INSTANCE: OnceCell<DamlArchive<'_>> = OnceCell::new();
    INSTANCE.get_or_init(|| {
        let dar = DarFile::from_file(path).unwrap_or_else(|_| panic!("dar file not found: {}", path));
        dar.to_owned_archive().expect("failed to convert dar to owned archive")
    })
}