[][src]Struct ethcontract_generate::Builder

pub struct Builder { /* fields omitted */ }

Builder for generating contract code. Note that no code is generated until the builder is finalized with generate or output.

Implementations

impl Builder[src]

pub fn new<P>(artifact_path: P) -> Self where
    P: AsRef<Path>, 
[src]

Creates a new builder given the path to a contract's truffle artifact JSON file.

pub fn from_source_url<S>(source_url: S) -> Result<Self> where
    S: AsRef<str>, 
[src]

Creates a new builder from a source URL.

pub fn with_source(source: Source) -> Self[src]

Creates a new builder with the given artifact JSON source.

pub fn with_runtime_crate_name<S>(self, name: S) -> Self where
    S: Into<String>, 
[src]

Sets the crate name for the runtime crate. This setting is usually only needed if the crate was renamed in the Cargo manifest.

pub fn with_visibility_modifier<S>(self, vis: Option<S>) -> Self where
    S: Into<String>, 
[src]

Sets an optional visibility modifier for the generated module and contract re-export.

pub fn with_contract_mod_override<S>(self, name: Option<S>) -> Self where
    S: Into<String>, 
[src]

Sets the optional contract module name override.

pub fn with_contract_name_override<S>(self, name: Option<S>) -> Self where
    S: Into<String>, 
[src]

Sets the optional contract name override. This setting is needed when using a artifact JSON source that does not provide a contract name such as Etherscan.

pub fn add_deployment(self, network_id: u32, address: Address) -> Self[src]

Manually adds specifies the deployed address of a contract for a given network. Note that manually specified deployments take precedence over deployments in the Truffle artifact (in the networks property of the artifact).

This is useful for integration test scenarios where the address of a contract on the test node is deterministic (for example using ganache-cli -d) but the contract address is not part of the Truffle artifact; or to override a deployment included in a Truffle artifact.

pub fn add_deployment_str<S>(self, network_id: u32, address: S) -> Self where
    S: AsRef<str>, 
[src]

Manually adds specifies the deployed address as a string of a contract for a given network. See Builder::add_deployment for more information.

Panics

This method panics if the specified address string is invalid. See parse_address for more information on the address string format.

pub fn add_method_alias<S1, S2>(self, signature: S1, alias: S2) -> Self where
    S1: Into<String>,
    S2: Into<String>, 
[src]

Manually adds a solidity method alias to specify what the method name will be in Rust. For solidity methods without an alias, the snake cased method name will be used.

pub fn with_rustfmt(self, rustfmt: bool) -> Self[src]

Specify whether or not to format the code using a locally installed copy of rustfmt.

Note that in case rustfmt does not exist or produces an error, the unformatted code will be used.

pub fn add_event_derive<S>(self, derive: S) -> Self where
    S: Into<String>, 
[src]

Add a custom derive to the derives for event structs and enums.

This makes it possible to for example derive serde::Serialize and serde::Deserialize for events.

Examples

use ethcontract_generate::Builder;
let builder = Builder::new("path")
    .add_event_derive("serde::Serialize")
    .add_event_derive("serde::Deserialize");

pub fn generate(self) -> Result<ContractBindings>[src]

Generates the contract bindings.

Auto Trait Implementations

impl RefUnwindSafe for Builder

impl Send for Builder

impl Sync for Builder

impl Unpin for Builder

impl UnwindSafe for Builder

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,