Skip to main content

ABI_VERSION

Constant ABI_VERSION 

Source
pub const ABI_VERSION: u32 = 1; // 1u32
Expand description

Version of the host/guest WASM ABI defined by this crate.

A WASM plugin or importer built with the wasm_plugin_main! / wasm_importer_main! macros exports this value as __rustledger_abi_version() -> u32. The host reads that export right after instantiating the module and refuses to run a guest whose version differs from its own — turning what used to be an opaque trap deep inside a later call (a guest built against an incompatible plugin-types) into a clear, actionable load-time error (issue #1234).

Bump this whenever a breaking change is made to the wire format or the export/call convention shared between host and guest (a changed PluginInput/ImporterInput shape, a renamed required export, a different packing scheme, …). It is intentionally a small standalone counter rather than the crate’s SemVer: most plugin-types releases do not touch the ABI, and a guest only needs to agree with the host on the ABI, not on the exact crate version.