Trait ethbind_rust::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, Global>, Error>
where R: RuntimeBinder;
}
Expand description
Programming language code generator supported by Ethbind
.
The implementation must support multi-round generation process.
Required Methods§
sourcefn begin<R>(&mut self, runtime_binder: &mut R, name: &str) -> Result<(), Error>where
R: RuntimeBinder,
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.
sourcefn end<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,
Close current generation contract round.
sourcefn generate_fn<R>(
&mut self,
runtime_binder: &mut R,
fn: &Function
) -> Result<(), Error>where
R: RuntimeBinder,
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.
sourcefn generate_deploy<R>(
&mut self,
runtime_binder: &mut R,
contructor: &Constructor,
deploy_bytes: &str
) -> 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,
Generate contract deploy method ,call this fn after call begin
at least once.
sourcefn generate_event<R>(
&mut self,
runtime_binder: &mut R,
event: &Event
) -> Result<(), Error>where
R: RuntimeBinder,
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.
sourcefn generate_error<R>(
&mut self,
runtime_binder: &mut R,
error: &Error
) -> Result<(), Error>where
R: RuntimeBinder,
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.