solc/types

Types

pub type ABIParameter {
  ABIParameter(
    name: String,
    type_: String,
    internal_type: String,
    indexed: option.Option(Bool),
  )
}

Constructors

  • ABIParameter(
      name: String,
      type_: String,
      internal_type: String,
      indexed: option.Option(Bool),
    )
pub type ABIType {
  ABIFunction(
    name: String,
    inputs: List(ABIParameter),
    outputs: List(ABIParameter),
    state_mutability: String,
  )
  ABIEvent(
    name: String,
    inputs: List(ABIParameter),
    anonymous: Bool,
  )
  ABIConstructor(
    inputs: List(ABIParameter),
    state_mutability: String,
  )
  ABIFallback(state_mutability: String)
  ABIReceive(state_mutability: String)
}

Constructors

  • ABIFunction(
      name: String,
      inputs: List(ABIParameter),
      outputs: List(ABIParameter),
      state_mutability: String,
    )
  • ABIEvent(
      name: String,
      inputs: List(ABIParameter),
      anonymous: Bool,
    )
  • ABIConstructor(
      inputs: List(ABIParameter),
      state_mutability: String,
    )
  • ABIFallback(state_mutability: String)
  • ABIReceive(state_mutability: String)
pub type Bytecode {
  Bytecode(
    object: String,
    link_references: dict.Dict(String, List(LinkReference)),
    source_map: option.Option(String),
  )
}

Constructors

pub type CompilationError {
  CompilationError(
    severity: String,
    message: String,
    formatted_message: option.Option(String),
    source_location: option.Option(SourceLocation),
    error_code: option.Option(String),
  )
}

Constructors

pub type CompilationInput {
  CompilationInput(
    language: String,
    sources: dict.Dict(String, Source),
    settings: CompilationSettings,
  )
}

Constructors

pub type CompilationOutput {
  CompilationOutput(
    sources: option.Option(dict.Dict(String, SourceInfo)),
    contracts: option.Option(
      dict.Dict(String, dict.Dict(String, Contract)),
    ),
    errors: option.Option(List(CompilationError)),
  )
}

Constructors

pub type CompilationSettings {
  CompilationSettings(
    output_selection: OutputSelection,
    optimizer: option.Option(OptimizerSettings),
    evm_version: option.Option(String),
    libraries: option.Option(dict.Dict(String, String)),
    remappings: option.Option(List(String)),
  )
}

Constructors

pub type Contract {
  Contract(abi: List(ABIType), evm: EVM, metadata: String)
}

Constructors

  • Contract(abi: List(ABIType), evm: EVM, metadata: String)
pub type CreationGas {
  CreationGas(
    code_deposit_cost: String,
    execution_cost: String,
    total_cost: String,
  )
}

Constructors

  • CreationGas(
      code_deposit_cost: String,
      execution_cost: String,
      total_cost: String,
    )
pub type EVM {
  EVM(
    bytecode: Bytecode,
    deployed_bytecode: option.Option(Bytecode),
    gas_estimates: option.Option(GasEstimates),
    method_identifiers: dict.Dict(String, String),
  )
}

Constructors

pub type GasEstimates {
  GasEstimates(
    creation: option.Option(CreationGas),
    external: dict.Dict(String, String),
  )
}

Constructors

pub type LinkReference {
  LinkReference(start: Int, length: Int)
}

Constructors

  • LinkReference(start: Int, length: Int)
pub type OptimizerSettings {
  OptimizerSettings(enabled: Bool, runs: Int)
}

Constructors

  • OptimizerSettings(enabled: Bool, runs: Int)
pub type OutputSelection {
  OutputSelection(
    selections: dict.Dict(String, dict.Dict(String, List(String))),
  )
}

Constructors

pub type SolcError {
  DownloadError(String)
  CompilationFailed(String)
  FFIError(String)
  InvalidInput(String)
  VersionNotFound(String)
}

Constructors

  • DownloadError(String)
  • CompilationFailed(String)
  • FFIError(String)
  • InvalidInput(String)
  • VersionNotFound(String)
pub type SolcVersion =
  String
pub type SolcWrapper {
  SolcWrapper(
    version: fn() -> String,
    license: fn() -> String,
    compile: fn(String) -> Result(CompilationOutput, SolcError),
  )
}

Constructors

pub type Source {
  Source(content: String)
}

Constructors

  • Source(content: String)
pub type SourceInfo {
  SourceInfo(id: Int, ast: option.Option(json.Json))
}

Constructors

pub type SourceLocation {
  SourceLocation(file: String, start: Int, end: Int)
}

Constructors

  • SourceLocation(file: String, start: Int, end: Int)
Search Document