neo_solidity/cli/cli_parts/
cli_defs.rs

1const 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}