Skip to main content

Generator

Trait Generator 

Source
pub trait Generator {
    // Required methods
    fn begin<R>(
        &mut self,
        runtime_binder: &mut R,
        name: &str,
    ) -> Result<(), Error>
       where R: RuntimeBinder;
    fn end<R>(
        &mut self,
        runtime_binder: &mut R,
        name: &str,
    ) -> Result<(), Error>
       where R: RuntimeBinder;
    fn generate_fn<R>(
        &mut self,
        runtime_binder: &mut R,
        fn: &Function,
    ) -> Result<(), Error>
       where R: RuntimeBinder;
    fn generate_deploy<R>(
        &mut self,
        runtime_binder: &mut R,
        contructor: &Constructor,
        deploy_bytes: &str,
    ) -> Result<(), Error>
       where R: RuntimeBinder;
    fn generate_event<R>(
        &mut self,
        runtime_binder: &mut R,
        event: &Event,
    ) -> Result<(), Error>
       where R: RuntimeBinder;
    fn generate_error<R>(
        &mut self,
        runtime_binder: &mut R,
        error: &Error,
    ) -> Result<(), Error>
       where R: RuntimeBinder;
    fn finalize<R>(self, runtime_binder: &mut R) -> Result<Vec<Contract>, Error>
       where R: RuntimeBinder;
}
Expand description

Programming language code generator supported by Ethbind.

The implementation must support multi-round generation process.

Required Methods§

Source

fn begin<R>(&mut self, runtime_binder: &mut R, name: &str) -> Result<(), Error>
where R: RuntimeBinder,

Generatable or Executor call this fn to start a new contract generation round.

Source

fn end<R>(&mut self, runtime_binder: &mut R, name: &str) -> Result<(), Error>
where R: RuntimeBinder,

Close current generation contract round.

Source

fn generate_fn<R>( &mut self, runtime_binder: &mut R, fn: &Function, ) -> Result<(), Error>
where R: RuntimeBinder,

Generate contract method ,call this fn after call begin at least once.

Source

fn generate_deploy<R>( &mut self, runtime_binder: &mut R, contructor: &Constructor, deploy_bytes: &str, ) -> Result<(), Error>
where R: RuntimeBinder,

Generate contract deploy method ,call this fn after call begin at least once.

Source

fn generate_event<R>( &mut self, runtime_binder: &mut R, event: &Event, ) -> Result<(), Error>
where R: RuntimeBinder,

Generate event handle interface ,call this fn after call begin at least once.

Source

fn generate_error<R>( &mut self, runtime_binder: &mut R, error: &Error, ) -> Result<(), Error>
where R: RuntimeBinder,

Generate error handle interface ,call this fn after call begin at least once.

Source

fn finalize<R>(self, runtime_binder: &mut R) -> Result<Vec<Contract>, Error>
where R: RuntimeBinder,

Close generator and return generated contract codes.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§