Skip to main content

lower_dar_with

Function lower_dar_with 

Source
pub fn lower_dar_with(
    dar: &Dar,
    external: &ExternalPackages,
) -> Result<(Crate, Vec<SkippedType>), DecodeError>
Expand description

The same, with packages that are already published as their own crates referenced instead of re-emitted.

A DAR’s dependency closure is shared: splice-api-token-holding-v1 sits under amulet, wallet and wallet-payments alike. Emitting it into each crate gives every crate its own Holding, and Rust treats those as unrelated types — a ContractId<Holding> obtained from one crate does not typecheck against the other, though both name the same interface in the same package.

Naming such a package here makes references to it point at the published crate, and leaves its modules out of the output entirely.

§Errors

As lower_dar.