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", so this trait is not object safe.

Implementors§