You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ink! projects can now declare their target ABI in their manifest file (i.e. Cargo.toml).
The specified ABI is then propagated into the build environment as a cfg flag ink_abi.
Motivation
Some definitions (and related dependencies) in ink! core crates are only relevant to specific ABIs.
As an example SolEncode and SolDecode implementations for Rust/ink! "primitive" types in ink_primitives and the related alloy_sol_types dependency are unnecessary when the ABI is "ink". The same may NOT be true though for SCALE trait implementations for ink! specific types because those may still be used in storage which is SCALE encoded.
However, this probably doesn't only apply to ink_primitives but to other ink! core crates as well (e.g. ink, ink_env, ink_e2e e.t.c)