neo_solidity/cli/cli_parts/
cli_defs.rs1const COMPILER_ID: &str = concat!("neo-solidity-", env!("CARGO_PKG_VERSION"));
2const COMPILER_EMAIL: &str = "Jimmy <jimmy@r3e.network>";
3const VERSION_STR: &str = env!("CARGO_PKG_VERSION");
4
5fn compiler_version_string_4() -> String {
6 let mut parts = VERSION_STR.split('.').map(|p| p.parse::<u32>().unwrap_or(0));
7 let major = parts.next().unwrap_or(0);
8 let minor = parts.next().unwrap_or(0);
9 let patch = parts.next().unwrap_or(0);
10 format!("{major}.{minor}.{patch}.0")
11}
12
13#[derive(Clone, Debug)]
14pub struct CompilationArtifacts {
15 pub metadata: ContractMetadata,
16 pub bytecode: Vec<u8>,
17 pub tokens: Vec<neo_solidity::neo::MethodToken>,
18 pub manifest: Value,
19 pub warnings: Vec<neo_solidity::solidity::Diagnostic>,
20}
21
22#[derive(Debug)]
23pub enum CompileError {
24 Diagnostics(Vec<neo_solidity::solidity::Diagnostic>),
25 Semantic(Vec<neo_solidity::solidity::Diagnostic>),
26 Ir(Vec<neo_solidity::ir::IrDiagnostic>),
27 Manifest(String),
28 Message(String),
29}