Crate contract_build
source ·Expand description
contract-build
A crate for building ink!
smart contracts. Used by
cargo-contract
.
Usage
use contract_build::{
ManifestPath,
Verbosity,
BuildArtifacts,
BuildMode,
Features,
Network,
OptimizationPasses,
OutputType,
UnstableFlags,
};
let manifest_path = ManifestPath::new("my-contract/Cargo.toml").unwrap();
let args = contract_build::ExecuteArgs {
manifest_path,
verbosity: Verbosity::Default,
build_mode: BuildMode::Release,
features: Features::default(),
network: Network::Online,
build_artifact: BuildArtifacts::All,
unstable_flags: UnstableFlags::default(),
optimization_passes: Some(OptimizationPasses::default()),
keep_debug_symbols: false,
lint: false,
output_type: OutputType::Json,
skip_wasm_validation: false,
};
contract_build::execute(args);
Re-exports
pub use self::metadata::BuildInfo;
pub use self::metadata::MetadataResult;
pub use self::metadata::WasmOptSettings;
pub use self::util::DEFAULT_KEY_COL_WIDTH;
Modules
Macros
Prints to stdout if
verbosity.is_verbose()
is true
.Pretty print name value, name right aligned with colour.
Structs
Result of the build process.
Track and display the current and total number of steps.
Relevant metadata obtained from Cargo.toml.
Arguments to use when executing
build
or check
commands.Define the standard
cargo
features args to be passed through.Create, amend and save a copy of the specified
Cargo.toml
.Path to a
Cargo.toml
fileResult of the optimization process.
Subset of cargo profile settings to configure defaults for building contracts
Make a copy of a cargo workspace, maintaining only the directory structure and manifest
files. Relative paths to source files and non-workspace dependencies are rewritten to absolute
paths to the original locations.
Enums
Describes which artifacts to generate
The mode to build the contract in.
Use network connection to build contracts and generate metadata or use cached dependencies only.
The type of output to display at the end of a build.
Denotes if output should be printed to stdout.
Functions
Checks whether the supplied
ink_version
already contains the debug feature.Returns the blake2 hash of the code slice.
Executes build of the smart contract which produces a Wasm binary that is ready for deploying.
Creates a new contract project from the template.