diff --git a/rustdocs/elko/all.html b/rustdocs/elko/all.html index 6be90fd11..1cb89121a 100644 --- a/rustdocs/elko/all.html +++ b/rustdocs/elko/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Structs

Enums

Type Aliases

Constants

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

Type Aliases

Constants

\ No newline at end of file diff --git a/rustdocs/elko/build/index.html b/rustdocs/elko/build/index.html index 451ab94dd..c770094ec 100644 --- a/rustdocs/elko/build/index.html +++ b/rustdocs/elko/build/index.html @@ -1,2 +1,2 @@ -elko::build - Rust

Module elko::build

source ·
Expand description

Command Build.

+elko::build - Rust

Module elko::build

source ·
Expand description

Command Build.

Structs§

  • Build zink project to EVM bytecode.
\ No newline at end of file diff --git a/rustdocs/elko/build/struct.Build.html b/rustdocs/elko/build/struct.Build.html index 1726bd442..13151bad2 100644 --- a/rustdocs/elko/build/struct.Build.html +++ b/rustdocs/elko/build/struct.Build.html @@ -1,4 +1,4 @@ -Build in elko::build - Rust

Struct elko::build::Build

source ·
pub struct Build {
+Build in elko::build - Rust

Struct elko::build::Build

source ·
pub struct Build {
     pub input: Option<PathBuf>,
     pub output: Option<PathBuf>,
     pub out_dir: Option<PathBuf>,
diff --git a/rustdocs/elko/index.html b/rustdocs/elko/index.html
index a50239bc6..fa4995868 100644
--- a/rustdocs/elko/index.html
+++ b/rustdocs/elko/index.html
@@ -1,2 +1,2 @@
-elko - Rust

Crate elko

source ·
Expand description

Zink package manager.

+elko - Rust

Crate elko

source ·
Expand description

Zink package manager.

Modules§

Structs§

  • Build zink project to EVM bytecode.
  • Compile WASM to EVM bytecode.
  • Create a new zink project.
\ No newline at end of file diff --git a/rustdocs/elko/new/constant.ADDITION.html b/rustdocs/elko/new/constant.ADDITION.html index 1ddfaa08b..754a16afe 100644 --- a/rustdocs/elko/new/constant.ADDITION.html +++ b/rustdocs/elko/new/constant.ADDITION.html @@ -1,4 +1,4 @@ -ADDITION in elko::new - Rust

Constant elko::new::ADDITION

source ·
const ADDITION: &str = r#"
+ADDITION in elko::new - Rust

Constant elko::new::ADDITION

source ·
const ADDITION: &str = r#"
 //! ${name}
 #![no_std]
 
diff --git a/rustdocs/elko/new/constant.NAME.html b/rustdocs/elko/new/constant.NAME.html
index 9ff965364..7e30f1beb 100644
--- a/rustdocs/elko/new/constant.NAME.html
+++ b/rustdocs/elko/new/constant.NAME.html
@@ -1 +1 @@
-NAME in elko::new - Rust

Constant elko::new::NAME

source ·
const NAME: &str = "${name}";
\ No newline at end of file +NAME in elko::new - Rust

Constant elko::new::NAME

source ·
const NAME: &str = "${name}";
\ No newline at end of file diff --git a/rustdocs/elko/new/constant.README.html b/rustdocs/elko/new/constant.README.html index 1edc43b63..63a2d4578 100644 --- a/rustdocs/elko/new/constant.README.html +++ b/rustdocs/elko/new/constant.README.html @@ -1,4 +1,4 @@ -README in elko::new - Rust

Constant elko::new::README

source ·
const README: &str = r#"
+README in elko::new - Rust

Constant elko::new::README

source ·
const README: &str = r#"
 # ${name}
 
 > An EVM contract written in Rust with [The Zink Project][zink].
diff --git a/rustdocs/elko/new/index.html b/rustdocs/elko/new/index.html
index 3a6851816..cd90091b7 100644
--- a/rustdocs/elko/new/index.html
+++ b/rustdocs/elko/new/index.html
@@ -1,2 +1,2 @@
-elko::new - Rust

Module elko::new

source ·
Expand description

Command New

+elko::new - Rust

Module elko::new

source ·
Expand description

Command New

Structs§

  • Create a new zink project.

Constants§

\ No newline at end of file diff --git a/rustdocs/elko/new/struct.New.html b/rustdocs/elko/new/struct.New.html index b2a766c28..0ec8754a1 100644 --- a/rustdocs/elko/new/struct.New.html +++ b/rustdocs/elko/new/struct.New.html @@ -1,4 +1,4 @@ -New in elko::new - Rust

Struct elko::new::New

source ·
pub struct New {
+New in elko::new - Rust

Struct elko::new::New

source ·
pub struct New {
     path: PathBuf,
     name: Option<String>,
 }
Expand description

Create a new zink project.

diff --git a/rustdocs/elko/struct.Build.html b/rustdocs/elko/struct.Build.html index 9eaa3e64c..6a93872d4 100644 --- a/rustdocs/elko/struct.Build.html +++ b/rustdocs/elko/struct.Build.html @@ -1,4 +1,4 @@ -Build in elko - Rust

Struct elko::Build

source ·
pub struct Build {
+Build in elko - Rust

Struct elko::Build

source ·
pub struct Build {
     pub input: Option<PathBuf>,
     pub output: Option<PathBuf>,
     pub out_dir: Option<PathBuf>,
diff --git a/rustdocs/elko/struct.Compile.html b/rustdocs/elko/struct.Compile.html
index 4bc5642b5..ea2cf5ecb 100644
--- a/rustdocs/elko/struct.Compile.html
+++ b/rustdocs/elko/struct.Compile.html
@@ -1,4 +1,4 @@
-Compile in elko - Rust

Struct elko::Compile

source ·
pub struct Compile {
+Compile in elko - Rust

Struct elko::Compile

source ·
pub struct Compile {
     abi: bool,
     input: PathBuf,
     output: Option<PathBuf>,
diff --git a/rustdocs/elko/struct.New.html b/rustdocs/elko/struct.New.html
index 4d6eb6382..4fecdc07c 100644
--- a/rustdocs/elko/struct.New.html
+++ b/rustdocs/elko/struct.New.html
@@ -1,4 +1,4 @@
-New in elko - Rust

Struct elko::New

source ·
pub struct New {
+New in elko - Rust

Struct elko::New

source ·
pub struct New {
     path: PathBuf,
     name: Option<String>,
 }
Expand description

Create a new zink project.

diff --git a/rustdocs/elko/utils/enum.Error.html b/rustdocs/elko/utils/enum.Error.html index 047a56938..4df517eea 100644 --- a/rustdocs/elko/utils/enum.Error.html +++ b/rustdocs/elko/utils/enum.Error.html @@ -1,4 +1,4 @@ -Error in elko::utils - Rust

Enum elko::utils::Error

source ·
pub enum Error {
+Error in elko::utils - Rust

Enum elko::utils::Error

source ·
pub enum Error {
     Anyhow(Error),
     CargoMetadata(Error),
     Etc(Error),
diff --git a/rustdocs/elko/utils/index.html b/rustdocs/elko/utils/index.html
index cb79e8baa..03d4b8d91 100644
--- a/rustdocs/elko/utils/index.html
+++ b/rustdocs/elko/utils/index.html
@@ -1,2 +1,2 @@
-elko::utils - Rust

Module elko::utils

source ·
Expand description

CLI Utils

+elko::utils - Rust

Module elko::utils

source ·
Expand description

CLI Utils

Modules§

  • manifest 🔒
    Cargo Manifest for the zink project.
  • result 🔒
    Zinkup result
  • wasm 🔒
    WASM Builder

Structs§

Enums§

Type Aliases§

\ No newline at end of file diff --git a/rustdocs/elko/utils/manifest/index.html b/rustdocs/elko/utils/manifest/index.html index 3205bce6a..5c0565433 100644 --- a/rustdocs/elko/utils/manifest/index.html +++ b/rustdocs/elko/utils/manifest/index.html @@ -1,2 +1,2 @@ -elko::utils::manifest - Rust

Module elko::utils::manifest

source ·
Expand description

Cargo Manifest for the zink project.

+elko::utils::manifest - Rust

Module elko::utils::manifest

source ·
Expand description

Cargo Manifest for the zink project.

Structs§

\ No newline at end of file diff --git a/rustdocs/elko/utils/manifest/struct.Dependencies.html b/rustdocs/elko/utils/manifest/struct.Dependencies.html index 0bc27d5ea..5b293571c 100644 --- a/rustdocs/elko/utils/manifest/struct.Dependencies.html +++ b/rustdocs/elko/utils/manifest/struct.Dependencies.html @@ -1,4 +1,4 @@ -Dependencies in elko::utils::manifest - Rust

Struct elko::utils::manifest::Dependencies

source ·
pub struct Dependencies {
+Dependencies in elko::utils::manifest - Rust

Struct elko::utils::manifest::Dependencies

source ·
pub struct Dependencies {
     pub zink: Version,
 }
Expand description

Dependencies of the cargo project.

Fields§

§zink: Version

Zink dependency.

diff --git a/rustdocs/elko/utils/manifest/struct.Lib.html b/rustdocs/elko/utils/manifest/struct.Lib.html index 2344f646e..40f83e943 100644 --- a/rustdocs/elko/utils/manifest/struct.Lib.html +++ b/rustdocs/elko/utils/manifest/struct.Lib.html @@ -1,4 +1,4 @@ -Lib in elko::utils::manifest - Rust

Struct elko::utils::manifest::Lib

source ·
pub struct Lib {
+Lib in elko::utils::manifest - Rust

Struct elko::utils::manifest::Lib

source ·
pub struct Lib {
     pub crate_type: Vec<String>,
 }
Expand description

Lib section of cargo manifest.

Fields§

§crate_type: Vec<String>

The crate type of cargo project.

diff --git a/rustdocs/elko/utils/manifest/struct.Manifest.html b/rustdocs/elko/utils/manifest/struct.Manifest.html index 9375155a4..e462465e3 100644 --- a/rustdocs/elko/utils/manifest/struct.Manifest.html +++ b/rustdocs/elko/utils/manifest/struct.Manifest.html @@ -1,4 +1,4 @@ -Manifest in elko::utils::manifest - Rust

Struct elko::utils::manifest::Manifest

source ·
pub struct Manifest {
+Manifest in elko::utils::manifest - Rust

Struct elko::utils::manifest::Manifest

source ·
pub struct Manifest {
     pub package: Package,
     pub lib: Lib,
     pub dependencies: Dependencies,
diff --git a/rustdocs/elko/utils/manifest/struct.Package.html b/rustdocs/elko/utils/manifest/struct.Package.html
index 7bd1e2212..28389dbff 100644
--- a/rustdocs/elko/utils/manifest/struct.Package.html
+++ b/rustdocs/elko/utils/manifest/struct.Package.html
@@ -1,4 +1,4 @@
-Package in elko::utils::manifest - Rust

Struct elko::utils::manifest::Package

source ·
pub struct Package {
+Package in elko::utils::manifest - Rust

Struct elko::utils::manifest::Package

source ·
pub struct Package {
     pub name: String,
     pub version: Version,
     pub authors: Vec<String>,
diff --git a/rustdocs/elko/utils/result/enum.Error.html b/rustdocs/elko/utils/result/enum.Error.html
index 99d91088b..c7eb47853 100644
--- a/rustdocs/elko/utils/result/enum.Error.html
+++ b/rustdocs/elko/utils/result/enum.Error.html
@@ -1,4 +1,4 @@
-Error in elko::utils::result - Rust

Enum elko::utils::result::Error

source ·
pub enum Error {
+Error in elko::utils::result - Rust

Enum elko::utils::result::Error

source ·
pub enum Error {
     Anyhow(Error),
     CargoMetadata(Error),
     Etc(Error),
diff --git a/rustdocs/elko/utils/result/index.html b/rustdocs/elko/utils/result/index.html
index 27707540c..4fa5febca 100644
--- a/rustdocs/elko/utils/result/index.html
+++ b/rustdocs/elko/utils/result/index.html
@@ -1,2 +1,2 @@
-elko::utils::result - Rust

Module elko::utils::result

source ·
Expand description

Zinkup result

+elko::utils::result - Rust

Module elko::utils::result

source ·
Expand description

Zinkup result

Enums§

Type Aliases§

\ No newline at end of file diff --git a/rustdocs/elko/utils/result/type.Result.html b/rustdocs/elko/utils/result/type.Result.html index d550ffd85..bf35bc4f9 100644 --- a/rustdocs/elko/utils/result/type.Result.html +++ b/rustdocs/elko/utils/result/type.Result.html @@ -1,4 +1,4 @@ -Result in elko::utils::result - Rust

Type Alias elko::utils::result::Result

source ·
pub type Result<T> = Result<T, Error>;
Expand description

Zinkc result

+Result in elko::utils::result - Rust

Type Alias elko::utils::result::Result

source ·
pub type Result<T> = Result<T, Error>;
Expand description

Zinkc result

Aliased Type§

enum Result<T> {
     Ok(T),
     Err(Error),
diff --git a/rustdocs/elko/utils/struct.Manifest.html b/rustdocs/elko/utils/struct.Manifest.html
index 01b151f1f..3678a4fe1 100644
--- a/rustdocs/elko/utils/struct.Manifest.html
+++ b/rustdocs/elko/utils/struct.Manifest.html
@@ -1,4 +1,4 @@
-Manifest in elko::utils - Rust

Struct elko::utils::Manifest

source ·
pub struct Manifest {
+Manifest in elko::utils - Rust

Struct elko::utils::Manifest

source ·
pub struct Manifest {
     pub package: Package,
     pub lib: Lib,
     pub dependencies: Dependencies,
diff --git a/rustdocs/elko/utils/struct.WasmBuilder.html b/rustdocs/elko/utils/struct.WasmBuilder.html
index 24fd96d96..a24e3e9e4 100644
--- a/rustdocs/elko/utils/struct.WasmBuilder.html
+++ b/rustdocs/elko/utils/struct.WasmBuilder.html
@@ -1,4 +1,4 @@
-WasmBuilder in elko::utils - Rust

Struct elko::utils::WasmBuilder

source ·
pub struct WasmBuilder {
+WasmBuilder in elko::utils - Rust

Struct elko::utils::WasmBuilder

source ·
pub struct WasmBuilder {
     metadata: Metadata,
     package: Package,
     output: Option<PathBuf>,
diff --git a/rustdocs/elko/utils/type.Result.html b/rustdocs/elko/utils/type.Result.html
index 3b6edfde5..2e5387d34 100644
--- a/rustdocs/elko/utils/type.Result.html
+++ b/rustdocs/elko/utils/type.Result.html
@@ -1,4 +1,4 @@
-Result in elko::utils - Rust

Type Alias elko::utils::Result

source ·
pub type Result<T> = Result<T, Error>;
Expand description

Zinkc result

+Result in elko::utils - Rust

Type Alias elko::utils::Result

source ·
pub type Result<T> = Result<T, Error>;
Expand description

Zinkc result

Aliased Type§

enum Result<T> {
     Ok(T),
     Err(Error),
diff --git a/rustdocs/elko/utils/wasm/index.html b/rustdocs/elko/utils/wasm/index.html
index ed6be7e7d..cd5413885 100644
--- a/rustdocs/elko/utils/wasm/index.html
+++ b/rustdocs/elko/utils/wasm/index.html
@@ -1,2 +1,2 @@
-elko::utils::wasm - Rust

Module elko::utils::wasm

source ·
Expand description

WASM Builder

+elko::utils::wasm - Rust

Module elko::utils::wasm

source ·
Expand description

WASM Builder

Structs§

\ No newline at end of file diff --git a/rustdocs/elko/utils/wasm/struct.WasmBuilder.html b/rustdocs/elko/utils/wasm/struct.WasmBuilder.html index 30af08cc0..4bb033837 100644 --- a/rustdocs/elko/utils/wasm/struct.WasmBuilder.html +++ b/rustdocs/elko/utils/wasm/struct.WasmBuilder.html @@ -1,4 +1,4 @@ -WasmBuilder in elko::utils::wasm - Rust

Struct elko::utils::wasm::WasmBuilder

source ·
pub struct WasmBuilder {
+WasmBuilder in elko::utils::wasm - Rust

Struct elko::utils::wasm::WasmBuilder

source ·
pub struct WasmBuilder {
     metadata: Metadata,
     package: Package,
     output: Option<PathBuf>,
diff --git a/rustdocs/evm_opcodes/all.html b/rustdocs/evm_opcodes/all.html
index a8e1a869b..9b22a4f2b 100644
--- a/rustdocs/evm_opcodes/all.html
+++ b/rustdocs/evm_opcodes/all.html
@@ -1 +1 @@
-List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/rustdocs/evm_opcodes/enum.Group.html b/rustdocs/evm_opcodes/enum.Group.html index b88e327d1..c9916b4bf 100644 --- a/rustdocs/evm_opcodes/enum.Group.html +++ b/rustdocs/evm_opcodes/enum.Group.html @@ -1,4 +1,4 @@ -Group in evm_opcodes - Rust

Enum evm_opcodes::Group

source ·
pub enum Group {
+Group in evm_opcodes - Rust

Enum evm_opcodes::Group

source ·
pub enum Group {
     StopArithmetic,
     ComparisonBitwiseLogic,
     Sha3,
diff --git a/rustdocs/evm_opcodes/enum.ShangHai.html b/rustdocs/evm_opcodes/enum.ShangHai.html
index b8c6c5a89..d61e95f31 100644
--- a/rustdocs/evm_opcodes/enum.ShangHai.html
+++ b/rustdocs/evm_opcodes/enum.ShangHai.html
@@ -1,4 +1,4 @@
-ShangHai in evm_opcodes - Rust

Enum evm_opcodes::ShangHai

source ·
pub enum ShangHai {
+ShangHai in evm_opcodes - Rust

Enum evm_opcodes::ShangHai

source ·
pub enum ShangHai {
 
Show 141 variants Data(u8), STOP, ADD, diff --git a/rustdocs/evm_opcodes/enum.Upgrade.html b/rustdocs/evm_opcodes/enum.Upgrade.html index 796a0cd9c..7576838fd 100644 --- a/rustdocs/evm_opcodes/enum.Upgrade.html +++ b/rustdocs/evm_opcodes/enum.Upgrade.html @@ -1,4 +1,4 @@ -Upgrade in evm_opcodes - Rust

Enum evm_opcodes::Upgrade

source ·
pub enum Upgrade {
+Upgrade in evm_opcodes - Rust

Enum evm_opcodes::Upgrade

source ·
pub enum Upgrade {
     Frontier,
     Byzantium,
     Constantinople,
diff --git a/rustdocs/evm_opcodes/index.html b/rustdocs/evm_opcodes/index.html
index 3e62dfd47..183852820 100644
--- a/rustdocs/evm_opcodes/index.html
+++ b/rustdocs/evm_opcodes/index.html
@@ -1,2 +1,2 @@
-evm_opcodes - Rust

Crate evm_opcodes

source ·
Expand description

Ethereum virtual machine opcode

+evm_opcodes - Rust

Crate evm_opcodes

source ·
Expand description

Ethereum virtual machine opcode

Modules§

  • shanghai 🔒
    Instructions for ShangHai (上海).

Macros§

Enums§

Traits§

  • Ethereum virtual machine opcode.
\ No newline at end of file diff --git a/rustdocs/evm_opcodes/macro.for_each_shanghai_operator.html b/rustdocs/evm_opcodes/macro.for_each_shanghai_operator.html index 9920c1075..f8cac70cb 100644 --- a/rustdocs/evm_opcodes/macro.for_each_shanghai_operator.html +++ b/rustdocs/evm_opcodes/macro.for_each_shanghai_operator.html @@ -1,4 +1,4 @@ -for_each_shanghai_operator in evm_opcodes - Rust

Macro evm_opcodes::for_each_shanghai_operator

source ·
macro_rules! for_each_shanghai_operator {
+for_each_shanghai_operator in evm_opcodes - Rust

Macro evm_opcodes::for_each_shanghai_operator

source ·
macro_rules! for_each_shanghai_operator {
     ($mac:ident) => { ... };
 }
Expand description

For each ShangHai operator.

\ No newline at end of file diff --git a/rustdocs/evm_opcodes/macro.opcodes.html b/rustdocs/evm_opcodes/macro.opcodes.html index ff5588922..ab9c67fa8 100644 --- a/rustdocs/evm_opcodes/macro.opcodes.html +++ b/rustdocs/evm_opcodes/macro.opcodes.html @@ -1,4 +1,4 @@ -opcodes in evm_opcodes - Rust

Macro evm_opcodes::opcodes

source ·
macro_rules! opcodes {
+opcodes in evm_opcodes - Rust

Macro evm_opcodes::opcodes

source ·
macro_rules! opcodes {
     ($name:ident, $desc:literal) => { ... };
     {
         $version:ident,
diff --git a/rustdocs/evm_opcodes/shanghai/enum.ShangHai.html b/rustdocs/evm_opcodes/shanghai/enum.ShangHai.html
index c277c92e6..c58d97962 100644
--- a/rustdocs/evm_opcodes/shanghai/enum.ShangHai.html
+++ b/rustdocs/evm_opcodes/shanghai/enum.ShangHai.html
@@ -1,4 +1,4 @@
-ShangHai in evm_opcodes::shanghai - Rust

Enum evm_opcodes::shanghai::ShangHai

source ·
pub enum ShangHai {
+ShangHai in evm_opcodes::shanghai - Rust

Enum evm_opcodes::shanghai::ShangHai

source ·
pub enum ShangHai {
 
Show 141 variants Data(u8), STOP, ADD, diff --git a/rustdocs/evm_opcodes/shanghai/index.html b/rustdocs/evm_opcodes/shanghai/index.html index a702f4e24..7fa2aba95 100644 --- a/rustdocs/evm_opcodes/shanghai/index.html +++ b/rustdocs/evm_opcodes/shanghai/index.html @@ -1,2 +1,2 @@ -evm_opcodes::shanghai - Rust

Module evm_opcodes::shanghai

source ·
Expand description

Instructions for ShangHai (上海).

+evm_opcodes::shanghai - Rust

Module evm_opcodes::shanghai

source ·
Expand description

Instructions for ShangHai (上海).

Enums§

  • Ethereum virtual machine opcode.
\ No newline at end of file diff --git a/rustdocs/evm_opcodes/trait.OpCode.html b/rustdocs/evm_opcodes/trait.OpCode.html index 9e3dcce68..4834149f8 100644 --- a/rustdocs/evm_opcodes/trait.OpCode.html +++ b/rustdocs/evm_opcodes/trait.OpCode.html @@ -1,4 +1,4 @@ -OpCode in evm_opcodes - Rust

Trait evm_opcodes::OpCode

source ·
pub trait OpCode: From<u8> + Into<u8> {
+OpCode in evm_opcodes - Rust

Trait evm_opcodes::OpCode

source ·
pub trait OpCode: From<u8> + Into<u8> {
     // Required methods
     fn stack_in(&self) -> u16;
     fn stack_out(&self) -> u16;
diff --git a/rustdocs/help.html b/rustdocs/help.html
index a8940a47a..86b06e9fa 100644
--- a/rustdocs/help.html
+++ b/rustdocs/help.html
@@ -1 +1 @@
-Help

Rustdoc help

Back
\ No newline at end of file +Help

Rustdoc help

Back
\ No newline at end of file diff --git a/rustdocs/index.html b/rustdocs/index.html index f8fb74210..84df66e6c 100644 --- a/rustdocs/index.html +++ b/rustdocs/index.html @@ -1,2 +1,2 @@ -Index of crates
+Index of crates
\ No newline at end of file diff --git a/rustdocs/search-index.js b/rustdocs/search-index.js index 70424a1b9..7759ded47 100644 --- a/rustdocs/search-index.js +++ b/rustdocs/search-index.js @@ -1,4 +1,4 @@ -var searchIndex = new Map(JSON.parse('[["elko",{"t":"FFFONNNNCNNOONNNNNOONOCOOOONNNNNNCFNNNNNNONNNNNONOONNNNNNSSFSNNNNNNNNNNNNNOONNNNNNPPPGPPFPIFOOCOOOOOCCFFFFONNNNNNNNNNNNNNNNNNNNONNNNONNNNONNNNNNNNNNNNONOONNNNNNNNNNNNNNNNNNNNOOPPPGPPPINNNNNNNNNNNNNNNNNFNNNNNNONNONOONNNNNN","n":["Build","Compile","New","abi","augment_args","augment_args_for_update","borrow","borrow_mut","build","command","command_for_update","config","dispatcher","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","input","","into","name","new","out_dir","output","","path","run","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","utils","Build","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","config","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","input","into","out_dir","output","run","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","ADDITION","NAME","New","README","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","name","","path","run","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","Anyhow","CargoMetadata","Err","Error","Etc","Io","Manifest","Ok","Result","WasmBuilder","dependencies","lib","manifest","metadata","out_dir","output","package","","result","wasm","Dependencies","Lib","Manifest","Package","authors","borrow","","","","borrow_mut","","","","clone","","","","clone_into","","","","clone_to_uninit","","","","crate_type","default","","","","dependencies","deserialize","","","","edition","fmt","","","","from","","","","into","","","","lib","name","","package","serialize","","","","to_owned","","","","try_from","","","","try_into","","","","type_id","","","","version","zink","Anyhow","CargoMetadata","Err","Error","Etc","Io","Ok","Result","borrow","borrow_mut","fmt","","from","","","","","header","in_current_span","into","source","to_string","try_from","try_into","type_id","WasmBuilder","borrow","borrow_mut","build","compile","from","into","metadata","new","out_dir","","output","","package","post","try_from","try_into","type_id","with_out_dir","with_output"],"q":[[0,"elko"],[34,"elko::build"],[57,"elko::new"],[82,"elko::utils"],[102,"elko::utils::manifest"],[176,"elko::utils::result"],[201,"elko::utils::wasm"],[221,"clap_builder::builder::command"],[222,"zinkc::cli"],[223,"core::fmt"],[224,"core::result"],[225,"clap_builder::parser::matches::arg_matches"],[226,"clap_builder::error"],[227,"clap_builder::util::id"],[228,"core::option"],[229,"anyhow"],[230,"core::any"],[231,"clap_builder"],[232,"alloc::string"],[233,"serde::de"],[234,"serde::ser"],[235,"std::io::error"],[236,"etc::error"],[237,"cargo_metadata::errors"],[238,"color_eyre::section"],[239,"core::marker"],[240,"core::error"],[241,"std::path"],[242,"core::convert"]],"i":"```h0000`00An111111011Bf`1120222222``1111111111111111111111````000000000000000000000Ch0Dl`11`0``C`0`Dj0001``````Bj0BlBn421042104210421041210442104221042104210444242104210421042104210420665`665`66666666666666666`3333333333333333333","f":"````{bb}0{d{{d{c}}}{}}{{{d{f}}}{{d{fc}}}{}}`{{}b}0``{{{d{h}}{d{fj}}}{{A`{ln}}}}{cc{}}{{{d{Ab}}}{{A`{hAd}}}}{{{d{fAb}}}{{A`{hAd}}}}{{}{{Ah{Af}}}}``{{}c{}}``````{{{d{h}}}{{A`{lAj}}}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{dAl}{{{d{fh}}{d{Ab}}}{{A`{lAd}}}}{{{d{fh}}{d{fAb}}}{{A`{lAd}}}}``??>=<<`{{{d{An}}{d{fj}}}B`};{{{d{Ab}}}{{A`{AnBb}}}}{{{d{fAb}}}{{A`{AnBb}}}}:`9``{{{d{An}}}{{Bd{l}}}}876{{{d{fAn}}{d{Ab}}}{{A`{lBb}}}}{{{d{fAn}}{d{fAb}}}{{A`{lBb}}}}````{bb}0{d{{d{c}}}{}}{{{d{f}}}{{d{fc}}}{}}{{}b}0{{{d{Bf}}{d{fj}}}B`}{cc{}}{{{d{Ab}}}{{A`{BfBb}}}}{{{d{fAb}}}{{A`{BfBb}}}}{{}{{Ah{Af}}}}{{}c{}}{{{d{Bf}}}{{Bd{Bh}}}}``{{{d{Bf}}}{{Bd{l}}}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{dAl}{{{d{fBf}}{d{Ab}}}{{A`{lBb}}}}{{{d{fBf}}{d{fAb}}}{{A`{lBb}}}}`````````````````````````????>>>>{{{d{Bj}}}Bj}{{{d{Bl}}}Bl}{{{d{Bn}}}Bn}{{{d{C`}}}C`}{{d{d{fc}}}l{}}000{dl}000`{{}Bj}{{}Bl}{{}Bn}{{}C`}`{c{{A`{Bj}}}Cb}{c{{A`{Bl}}}Cb}{c{{A`{Bn}}}Cb}{c{{A`{C`}}}Cb}`{{{d{Bj}}{d{fj}}}B`}{{{d{Bl}}{d{fj}}}B`}{{{d{Bn}}{d{fj}}}B`}{{{d{C`}}{d{fj}}}B`}{cc{}}000{{}c{}}000`{{{d{fC`}}{d{Cd}}}{{d{fC`}}}}``{{{d{Bj}}c}A`Cf}{{{d{Bl}}c}A`Cf}{{{d{Bn}}c}A`Cf}{{{d{C`}}c}A`Cf}{dc{}}000{c{{A`{e}}}{}{}}000{{}{{A`{c}}}{}}000{dAl}000``````````{d{{d{c}}}{}}{{{d{f}}}{{d{fc}}}{}}{{{d{Ch}}{d{fj}}}B`}0={CjCh}{ClCh}{CnCh}{AjCh}{c{{D`{ce}}}{DbDdDf}{}}{{}}{{}c{}}{{{d{Ch}}}{{Ah{{d{Dh}}}}}}{dBh}>=<`;:{{{d{Dj}}}{{Dl{l}}}}0{cc{}}4`{c{{Dl{Dj}}}{{E`{Dn}}}}{{{d{Dj}}}{{Dl{Dn}}}}`0``3{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{dAl}{{{d{fDj}}c}{{d{fDj}}}{{E`{Dn}}}}0","D":"K`","p":[[5,"Command",221],[1,"reference"],[0,"mut"],[5,"Compile",0,222],[5,"Formatter",223],[1,"unit"],[5,"Error",223],[6,"Result",224],[5,"ArgMatches",225],[5,"Error",226],[5,"Id",227],[6,"Option",228],[5,"Error",229],[5,"TypeId",230],[5,"Build",34],[8,"Result",223],[8,"Error",231],[8,"Result",229],[5,"New",57],[5,"String",232],[5,"Package",102],[5,"Lib",102],[5,"Dependencies",102],[5,"Manifest",102],[10,"Deserializer",233],[1,"str"],[10,"Serializer",234],[6,"Error",176],[5,"Error",235],[6,"Error",236],[6,"Error",237],[5,"IndentedSection",238],[10,"Display",223],[10,"Send",239],[10,"Sync",239],[10,"Error",240],[5,"WasmBuilder",201],[8,"Result",176],[5,"PathBuf",241],[10,"Into",242]],"r":[[0,34],[1,222],[2,57],[85,176],[88,102],[90,176],[91,201]],"b":[[186,"impl-Display-for-Error"],[187,"impl-Debug-for-Error"],[189,"impl-From%3CError%3E-for-Error"],[190,"impl-From%3CError%3E-for-Error"],[191,"impl-From%3CError%3E-for-Error"],[192,"impl-From%3CError%3E-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAIUAHQAEAAQACgABAA0AAQAQAAIAFAAAABoAAQAdAAQAJAAFACsAAAAtAAIANQAGAD0ABwBGAAIATAAAAE4ABABgAAMAbAATAIEAAwCGAAMAiwADAJsAEwC5AAMAvgAFAMUABADLAAEA0QAAANQAAADWAAEA2QACAA=="}],["evm_opcodes",{"t":"PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPGPPPPPPPPPPPPPPPPPPPPPPPPPKPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPGPPPPPGPNNNNNNNNNNNNNNNNQNNMMNNQNNCMMMNNNNNNNNPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPGPPNNNNNNNNNNNNNNNNNNNNNN","n":["ADD","ADDMOD","ADDRESS","AND","BALANCE","BLOCKHASH","BYTE","Berlin","BlockInformation","Byzantium","CALL","CALLCODE","CALLDATACOPY","CALLDATALOAD","CALLDATASIZE","CALLER","CALLVALUE","CODECOPY","CODESIZE","COINBASE","CREATE","CREATE2","ComparisonBitwiseLogic","Constantinople","DELEGATECALL","DIFFICULTY","DIV","DUP1","DUP10","DUP11","DUP12","DUP13","DUP14","DUP15","DUP16","DUP2","DUP3","DUP4","DUP5","DUP6","DUP7","DUP8","DUP9","Data","Duplication","EQ","EXP","EXTCODECOPY","EXTCODESIZE","EnvironmentalInformation","Exchange","Frontier","GAS","GASLIMIT","GASPRICE","GT","Group","INVALID","ISZERO","Istanbul","JUMP","JUMPDEST","JUMPI","LOG0","LOG1","LOG2","LOG3","LOG4","LT","Logging","London","MLOAD","MOD","MSIZE","MSTORE","MSTORE8","MUL","MULMOD","NOT","NUMBER","OR","ORIGIN","OpCode","PC","POP","PUSH0","PUSH1","PUSH10","PUSH11","PUSH12","PUSH13","PUSH14","PUSH15","PUSH16","PUSH17","PUSH18","PUSH19","PUSH2","PUSH20","PUSH21","PUSH22","PUSH23","PUSH24","PUSH25","PUSH26","PUSH27","PUSH28","PUSH29","PUSH3","PUSH30","PUSH31","PUSH32","PUSH4","PUSH5","PUSH6","PUSH7","PUSH8","PUSH9","Push","RETURN","RETURNDATACOPY","RETURNDATASIZE","REVERT","SAR","SDIV","SELFDESTRUCT","SGT","SHA3","SHL","SHR","SIGNEXTEND","SLOAD","SLT","SMOD","SSTORE","STATICCALL","STOP","SUB","SWAP1","SWAP10","SWAP11","SWAP12","SWAP13","SWAP14","SWAP15","SWAP16","SWAP2","SWAP3","SWAP4","SWAP5","SWAP6","SWAP7","SWAP8","SWAP9","Sha3","ShangHai","Shanghai","StackMemoryStorageFlow","StopArithmetic","System","TIMESTAMP","Upgrade","XOR","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","cmp","","eq","","fmt","","for_each_shanghai_operator","from","","gas","group","into","","opcodes","partial_cmp","","shanghai","since","stack_in","stack_out","to_owned","","try_from","","try_into","","type_id","","ADD","ADDMOD","ADDRESS","AND","BALANCE","BLOCKHASH","BYTE","CALL","CALLCODE","CALLDATACOPY","CALLDATALOAD","CALLDATASIZE","CALLER","CALLVALUE","CODECOPY","CODESIZE","COINBASE","CREATE","CREATE2","DELEGATECALL","DIFFICULTY","DIV","DUP1","DUP10","DUP11","DUP12","DUP13","DUP14","DUP15","DUP16","DUP2","DUP3","DUP4","DUP5","DUP6","DUP7","DUP8","DUP9","Data","EQ","EXP","EXTCODECOPY","EXTCODESIZE","GAS","GASLIMIT","GASPRICE","GT","INVALID","ISZERO","JUMP","JUMPDEST","JUMPI","LOG0","LOG1","LOG2","LOG3","LOG4","LT","MLOAD","MOD","MSIZE","MSTORE","MSTORE8","MUL","MULMOD","NOT","NUMBER","OR","ORIGIN","PC","POP","PUSH0","PUSH1","PUSH10","PUSH11","PUSH12","PUSH13","PUSH14","PUSH15","PUSH16","PUSH17","PUSH18","PUSH19","PUSH2","PUSH20","PUSH21","PUSH22","PUSH23","PUSH24","PUSH25","PUSH26","PUSH27","PUSH28","PUSH29","PUSH3","PUSH30","PUSH31","PUSH32","PUSH4","PUSH5","PUSH6","PUSH7","PUSH8","PUSH9","RETURN","RETURNDATACOPY","RETURNDATASIZE","REVERT","SAR","SDIV","SELFDESTRUCT","SGT","SHA3","SHL","SHR","SIGNEXTEND","SLOAD","SLT","SMOD","SSTORE","STATICCALL","STOP","SUB","SWAP1","SWAP10","SWAP11","SWAP12","SWAP13","SWAP14","SWAP15","SWAP16","SWAP2","SWAP3","SWAP4","SWAP5","SWAP6","SWAP7","SWAP8","SWAP9","ShangHai","TIMESTAMP","XOR","borrow","borrow_mut","clone","clone_into","clone_to_uninit","cmp","eq","fmt","from","","from_str","gas","group","into","partial_cmp","since","stack_in","stack_out","to_owned","try_from","try_into","type_id"],"q":[[0,"evm_opcodes"],[201,"evm_opcodes::shanghai"],[365,"core::cmp"],[366,"core::fmt"],[367,"core::option"],[368,"core::result"],[369,"core::any"]],"i":"An000000hf12222222222220122222222222222222222022220012222`2212222222220122222222222`222222222222222222222222222222222220222222222222222222222222222222222220`10002`20101010101010101`01Ad012`12`000121212123333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333`333333333333333333333333","f":"```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{f}}}f}{{{b{h}}}h}{{b{b{dc}}}j{}}0{bj}0{{{b{f}}{b{f}}}l}{{{b{h}}{b{h}}}l}{{{b{f}}{b{f}}}n}{{{b{h}}{b{h}}}n}{{{b{f}}{b{dA`}}}Ab}{{{b{h}}{b{dA`}}}Ab}`{cc{}}0{{{b{Ad}}}Af}{{{b{Ad}}}f}{{}c{}}0`{{{b{f}}{b{f}}}{{Ah{l}}}}{{{b{h}}{b{h}}}{{Ah{l}}}}`{{{b{Ad}}}h}55{bc{}}0{c{{Aj{e}}}{}{}}0{{}{{Aj{c}}}{}}0{bAl}0``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{An}}}An}{{b{b{dc}}}j{}}{bj}{{{b{An}}{b{An}}}l}{{{b{An}}{b{An}}}n}{{{b{An}}{b{dA`}}}Ab}{B`An}{cc{}}{{{b{Bb}}}{{Aj{Anc}}}{}}{{{b{An}}}Af}{{{b{An}}}f}{{}c{}}{{{b{An}}{b{An}}}{{Ah{l}}}}{{{b{An}}}h}44{bc{}}{c{{Aj{e}}}{}{}}{{}{{Aj{c}}}{}}{bAl}","D":"BH`","p":[[1,"reference"],[0,"mut"],[6,"Group",0],[6,"Upgrade",0],[1,"unit"],[6,"Ordering",365],[1,"bool"],[5,"Formatter",366],[8,"Result",366],[10,"OpCode",0],[1,"u16"],[6,"Option",367],[6,"Result",368],[5,"TypeId",369],[6,"ShangHai",201],[1,"u8"],[1,"str"]],"r":[[155,201]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAC0ABgCkAA8AvAABAMIABwBYAQgAYgECAGYBBwA="}],["sol_abi",{"t":"FFPPGPPPCCOOOOOOFPPGNNNNNNNNNNNNNNNNNNNNNNNONNOONNNNNNNNNONNFPPGPPPNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNONN","n":["Abi","Arg","Int32","Int64","Param","UInt32","UInt64","Unknown","abi","arg","inputs","name","","outputs","ty","","Abi","Constructor","Function","Type","as_ref","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","default","","deserialize","","fmt","","","from","","","","from_str","inputs","into","","name","outputs","serialize","","to_owned","","to_string","try_from","","try_into","","ty","type_id","","Arg","Int32","Int64","Param","UInt32","UInt64","Unknown","as_ref","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","default","","deserialize","","fmt","","","from","","","","from_str","into","","name","serialize","","to_owned","","to_string","try_from","","try_into","","ty","type_id",""],"q":[[0,"sol_abi"],[16,"sol_abi::abi"],[60,"sol_abi::arg"],[105,"core::result"],[106,"serde::de"],[107,"core::fmt"],[108,"syn::item"],[109,"serde::ser"],[110,"alloc::string"],[111,"core::any"],[112,"syn::ty"],[113,"alloc::boxed"]],"i":"``An0`000``j0B`110`b0`0202020202020202002200022022202002020220`33`33331313131313131313313333131131331313113","f":"````````````````````{{{d{b}}}{{d{f}}}}{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{j}}}j}{{{d{b}}}b}{{d{d{hc}}}l{}}0{dl}0{{}j}{{}b}{c{{n{j}}}A`}{c{{n{b}}}A`}{{{d{j}}{d{hAb}}}Ad}{{{d{b}}{d{hAb}}}Ad}0{{{d{Af}}}j}{cc{}}0{{{d{f}}}b}{{{d{f}}}{{n{bc}}}{}}`{{}c{}}0``{{{d{j}}c}nAh}{{{d{b}}c}nAh}{dc{}}0{dAj}{c{{n{e}}}{}{}}0{{}{{n{c}}}{}}0`{dAl}0```````{{{d{An}}}{{d{f}}}}{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{B`}}}B`}{{{d{An}}}An}{{d{d{hc}}}l{}}0{dl}0{{}B`}{{}An}{c{{n{B`}}}A`}{c{{n{An}}}A`}{{{d{B`}}{d{hAb}}}Ad}{{{d{An}}{d{hAb}}}Ad}0{cc{}}{{{d{{Bd{Bb}}}}}An}{{{d{f}}}An}2{{{d{f}}}{{n{Anc}}}{}}{{}c{}}0`{{{d{B`}}c}nAh}{{{d{An}}c}nAh}{dc{}}0{dAj}{c{{n{e}}}{}{}}0{{}{{n{c}}}{}}0`{dAl}0","D":"Ed","p":[[6,"Type",16],[1,"reference"],[1,"str"],[0,"mut"],[5,"Abi",16],[1,"unit"],[6,"Result",105],[10,"Deserializer",106],[5,"Formatter",107],[8,"Result",107],[5,"Signature",108],[10,"Serializer",109],[5,"String",110],[5,"TypeId",111],[6,"Param",60],[5,"Arg",60],[6,"Type",112],[5,"Box",113]],"r":[[0,16],[1,60],[4,60]],"b":[[36,"impl-Debug-for-Type"],[37,"impl-Display-for-Type"],[83,"impl-Display-for-Param"],[84,"impl-Debug-for-Param"],[86,"impl-From%3C%26Box%3CType%3E%3E-for-Param"],[87,"impl-From%3C%26str%3E-for-Param"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAD8ACQAVABIAKgABADEACAA7AAEARAARAFcAAQBaAAAAXgAIAGgAAQA="}],["zabi",{"t":"FNNNNNNNNNNNNNNNNCNCCNNNNNNNNNNPGPPPINNNNNNNNNNNNNHH","n":["Abi","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","fmt","","from","","from_bytes","from_hex","from_str","hex_impl","into","result","selector","","serialize","signature","to_bytes","to_hex","to_owned","to_string","try_from","try_into","type_id","Err","Error","Hex","Ok","Postcard","Result","borrow","borrow_mut","fmt","","from","","","into","source","to_string","try_from","try_into","type_id","keccak256","parse"],"q":[[0,"zabi"],[31,"zabi::result"],[50,"zabi::selector"],[52,"core::result"],[53,"serde::de"],[54,"core::fmt"],[55,"syn::item"],[56,"postcard::error"],[57,"core::convert"],[58,"serde::ser"],[59,"alloc::string"],[60,"alloc::vec"],[61,"core::any"],[62,"hex::error"],[63,"core::error"],[64,"core::option"]],"i":"`f000000000000000`0``0000000000Al`Bj10`0000000000000``","f":"`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{f}}}f}{{b{b{dc}}}h{}}{bh}{{}f}{{{b{f}}}{{b{c}}}{}}{{{b{df}}}{{b{dc}}}{}}{c{{j{f}}}l}{{{b{f}}{b{dn}}}A`}0{{{b{Ab}}}f}{cc{}}{c{{Ad{f}}}{{Aj{{Ah{Af}}}}}}{c{{Al{f}}}{{Aj{An}}}}{{{b{An}}}{{Al{f}}}}`{{}c{}}``{{{b{f}}}{{B`{Af}}}}{{{b{f}}c}jBb}{{{b{f}}}Bd}{{{b{f}}}{{Ad{{Bf{Af}}}}}}{{{b{f}}}{{Al{Bd}}}}{bc{}}{bBd}{c{{j{e}}}{}{}}{{}{{j{c}}}{}}{bBh}``````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Bj}}{b{dn}}}A`}0{cc{}}{BlBj}{BnBj}{{}c{}}{{{b{Bj}}}{{Cb{{b{C`}}}}}};:98{{{b{{Ah{Af}}}}}{{B`{Af}}}}0","D":"Bl","p":[[1,"reference"],[0,"mut"],[5,"Abi",0],[1,"unit"],[6,"Result",52],[10,"Deserializer",53],[5,"Formatter",54],[8,"Result",54],[5,"Signature",55],[8,"Result",56],[1,"u8"],[1,"slice"],[10,"AsRef",57],[8,"Result",31],[1,"str"],[1,"array"],[10,"Serializer",58],[5,"String",59],[5,"Vec",60],[5,"TypeId",61],[6,"Error",31],[6,"FromHexError",62],[6,"Error",56],[10,"Error",63],[6,"Option",64]],"r":[],"b":[[10,"impl-Display-for-Abi"],[11,"impl-Debug-for-Abi"],[39,"impl-Debug-for-Error"],[40,"impl-Display-for-Error"],[42,"impl-From%3CFromHexError%3E-for-Error"],[43,"impl-From%3CError%3E-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAB4ABwACAAsAEQABABcAAAAbAAQAJgADACsAAQAuAAQA"}],["zingen",{"t":"PFSPPIPFFFFGPPFPPPPGPPPFPPPPPPPPPPPPFPPPFFPFPPIPPPPPPOCOOCOOOCCOOOOOOOOOOOCOCOCOOOOOOCOOOOOOOOOOCCCFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNOQNNNNOONNNNFNNNNNONNNNNNNEEEEECCCCFFNNNNONNNNNNNNNNNNNNNNNONNNNNONNOONNNNNNNNNFNNNNONONNONNNFOONNNONNNONNNNNONNNFNNNNNNNNNNNNNNNNNNNNONNNNONNONNNNNNNOONNONONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPFFGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNONONNNNNNNNNONNNPPGEPPNNNNNNNNNNNNNNCCCNNNNHHFNNNNNNNONNNNNONONNNNNNNNNNNNNNNFGFPPNNNNNNNNNNNNNNNNNNNOONNNNNNNNNONNNNNNNONNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNCNNNNCCNNNCNNNCNNNNONNCNONCNNNNNNNPPPPPPPPGPPPPPPPPPPPPPPPPPPPIPPPPPPNNNNNNNNNNNNNFNNNNNNNQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCCQCCQFPFPFFFGFPRKKCONNNNNNNNNNNNNNNCONNNNNNNONNNNNNCCQONNNNNMMNNNNNNNNNNNNOSRKKNNQMMFNNNNNNNNNNNNNNNNFFNONNNNNNNNNNNNNNNNNNNNNNOPPGPNNNNNNNNNNNNNNNNNNNNNN","n":["Abi","Assembler","BUFFER_LIMIT","BinaryReader","Block","Buffer","BufferOverflow","Code","Constructor","ControlStack","ControlStackFrame","ControlStackFrameType","ControlStackUnderflow","DataNotFound","Dispatcher","DuplicateFunc","DuplicateJump","Else","Err","Error","ExtFuncNotFound","FuncNotFound","FuncNotImported","Function","HostFuncNotFound","If","ImportedFuncNotFound","InvalidDataOffset","InvalidDataSize","InvalidDepth","InvalidElseBlock","InvalidFunctionSignature","InvalidLocalIndex","InvalidMP","InvalidPC","InvalidSelector","JumpTable","LabelMismatch","LocalIndexOutOfRange","LocalNotOnStack","LocalSlot","Locals","Loop","MacroAssembler","MemoryOutOfBounds","Ok","Result","SelectorNotFound","StackIndexOutOfRange","StackNotBalanced","StackOverflow","StackUnderflow","UnsupportedHostFunc","abi","asm","","","backtrace","","buffer","code","codegen","control","","env","","func","funcs","","gas","init_code","inner","","is_main","jump","","local","locals","masm","","","mp","offset","original_pc_offset","original_sp","result","","runtime_bytecode","sp","","stack","table","","ty","","","validator","visitor","wasm","Assembler","_add","_addmod","_address","_and","_balance","_blockhash","_byte","_call","_callcode","_calldatacopy","_calldataload","_calldatasize","_caller","_callvalue","_codecopy","_codesize","_coinbase","_create","_create2","_delegatecall","_difficulty","_div","_dup1","_dup10","_dup11","_dup12","_dup13","_dup14","_dup15","_dup16","_dup2","_dup3","_dup4","_dup5","_dup6","_dup7","_dup8","_dup9","_eq","_exp","_extcodecopy","_extcodesize","_gas","_gaslimit","_gasprice","_gt","_invalid","_iszero","_jump","_jumpdest","_jumpi","_log0","_log1","_log2","_log3","_log4","_lt","_mload","_mod","_msize","_mstore","_mstore8","_mul","_mulmod","_not","_number","_or","_origin","_pc","_pop","_push0","_push1","_push10","_push11","_push12","_push13","_push14","_push15","_push16","_push17","_push18","_push19","_push2","_push20","_push21","_push22","_push23","_push24","_push25","_push26","_push27","_push28","_push29","_push3","_push30","_push31","_push32","_push4","_push5","_push6","_push7","_push8","_push9","_return","_returndatacopy","_returndatasize","_revert","_sar","_sdiv","_selfdestruct","_sgt","_sha3","_shl","_shr","_signextend","_sload","_slt","_smod","_sstore","_staticcall","_stop","_sub","_swap1","_swap10","_swap11","_swap12","_swap13","_swap14","_swap15","_swap16","_swap2","_swap3","_swap4","_swap5","_swap6","_swap7","_swap8","_swap9","_timestamp","_xor","borrow","borrow_mut","buffer","","buffer_mut","clone","clone_into","clone_to_uninit","decrement_mp","decrement_sp","default","emit","emit_op","emitn","from","gas","impl_opcodes","increment_gas","increment_mp","increment_sp","into","mp","sp","to_owned","try_from","try_into","type_id","Backtrace","borrow","borrow_mut","default","fmt","from","instrs","into","pop","popn","push","try_from","try_into","type_id","Code","Constructor","Dispatcher","ExtFunc","Function","code","constructor","dispatcher","function","Code","ExtFunc","borrow","","borrow_mut","","bytecode","clone","","clone_into","","clone_to_uninit","","default","eq","equivalent","","","finish","fmt","","from","","funcs","","hash","into","","new","offset","","offset_of","shift","stack_in","stack_out","to_owned","","try_add_func","try_from","","try_into","","type_id","","Constructor","borrow","borrow_mut","finish","from","init_code","into","masm","new","return_instr_length","runtime_bytecode","try_from","try_into","type_id","Dispatcher","abi","asm","borrow","borrow_mut","emit_selector","env","ext_return","finish","from","funcs","into","load_abi","new","process","query_func","table","try_from","try_into","type_id","Function","_block","_br","_br_if","_br_table","_call","_call_indirect","_else","_end","_global_get","_global_set","_if","_local_get","_local_get_calldata","_local_get_var","_local_set","_local_tee","_loop","_nop","_select","_unreachable","backtrace","borrow","borrow_mut","call_imported","call_internal","control","emit_locals","emit_operators","env","finish","from","handle_call_return","handle_frame_popping","handle_jumpdest","handle_return","into","is_main","locals","log","log_data","masm","new","table","try_from","try_into","ty","type_id","visit_any_convert_extern","visit_array_copy","visit_array_fill","visit_array_get","visit_array_get_s","visit_array_get_u","visit_array_init_data","visit_array_init_elem","visit_array_len","visit_array_new","visit_array_new_data","visit_array_new_default","visit_array_new_elem","visit_array_new_fixed","visit_array_set","visit_atomic_fence","visit_block","visit_br","visit_br_if","visit_br_on_cast","visit_br_on_cast_fail","visit_br_on_non_null","visit_br_on_null","visit_br_table","visit_call","visit_call_indirect","visit_call_ref","visit_catch","visit_catch_all","visit_data_drop","visit_delegate","visit_drop","visit_elem_drop","visit_else","visit_end","visit_extern_convert_any","visit_f32_abs","visit_f32_add","visit_f32_ceil","visit_f32_const","visit_f32_convert_i32_s","visit_f32_convert_i32_u","visit_f32_convert_i64_s","visit_f32_convert_i64_u","visit_f32_copysign","visit_f32_demote_f64","visit_f32_div","visit_f32_eq","visit_f32_floor","visit_f32_ge","visit_f32_gt","visit_f32_le","visit_f32_load","visit_f32_lt","visit_f32_max","visit_f32_min","visit_f32_mul","visit_f32_ne","visit_f32_nearest","visit_f32_neg","visit_f32_reinterpret_i32","visit_f32_sqrt","visit_f32_store","visit_f32_sub","visit_f32_trunc","visit_f32x4_abs","visit_f32x4_add","visit_f32x4_ceil","visit_f32x4_convert_i32x4_s","visit_f32x4_convert_i32x4_u","visit_f32x4_demote_f64x2_zero","visit_f32x4_div","visit_f32x4_eq","visit_f32x4_extract_lane","visit_f32x4_floor","visit_f32x4_ge","visit_f32x4_gt","visit_f32x4_le","visit_f32x4_lt","visit_f32x4_max","visit_f32x4_min","visit_f32x4_mul","visit_f32x4_ne","visit_f32x4_nearest","visit_f32x4_neg","visit_f32x4_pmax","visit_f32x4_pmin","visit_f32x4_relaxed_madd","visit_f32x4_relaxed_max","visit_f32x4_relaxed_min","visit_f32x4_relaxed_nmadd","visit_f32x4_replace_lane","visit_f32x4_splat","visit_f32x4_sqrt","visit_f32x4_sub","visit_f32x4_trunc","visit_f64_abs","visit_f64_add","visit_f64_ceil","visit_f64_const","visit_f64_convert_i32_s","visit_f64_convert_i32_u","visit_f64_convert_i64_s","visit_f64_convert_i64_u","visit_f64_copysign","visit_f64_div","visit_f64_eq","visit_f64_floor","visit_f64_ge","visit_f64_gt","visit_f64_le","visit_f64_load","visit_f64_lt","visit_f64_max","visit_f64_min","visit_f64_mul","visit_f64_ne","visit_f64_nearest","visit_f64_neg","visit_f64_promote_f32","visit_f64_reinterpret_i64","visit_f64_sqrt","visit_f64_store","visit_f64_sub","visit_f64_trunc","visit_f64x2_abs","visit_f64x2_add","visit_f64x2_ceil","visit_f64x2_convert_low_i32x4_s","visit_f64x2_convert_low_i32x4_u","visit_f64x2_div","visit_f64x2_eq","visit_f64x2_extract_lane","visit_f64x2_floor","visit_f64x2_ge","visit_f64x2_gt","visit_f64x2_le","visit_f64x2_lt","visit_f64x2_max","visit_f64x2_min","visit_f64x2_mul","visit_f64x2_ne","visit_f64x2_nearest","visit_f64x2_neg","visit_f64x2_pmax","visit_f64x2_pmin","visit_f64x2_promote_low_f32x4","visit_f64x2_relaxed_madd","visit_f64x2_relaxed_max","visit_f64x2_relaxed_min","visit_f64x2_relaxed_nmadd","visit_f64x2_replace_lane","visit_f64x2_splat","visit_f64x2_sqrt","visit_f64x2_sub","visit_f64x2_trunc","visit_global_get","visit_global_set","visit_i16x8_abs","visit_i16x8_add","visit_i16x8_add_sat_s","visit_i16x8_add_sat_u","visit_i16x8_all_true","visit_i16x8_avgr_u","visit_i16x8_bitmask","visit_i16x8_eq","visit_i16x8_extadd_pairwise_i8x16_s","visit_i16x8_extadd_pairwise_i8x16_u","visit_i16x8_extend_high_i8x16_s","visit_i16x8_extend_high_i8x16_u","visit_i16x8_extend_low_i8x16_s","visit_i16x8_extend_low_i8x16_u","visit_i16x8_extmul_high_i8x16_s","visit_i16x8_extmul_high_i8x16_u","visit_i16x8_extmul_low_i8x16_s","visit_i16x8_extmul_low_i8x16_u","visit_i16x8_extract_lane_s","visit_i16x8_extract_lane_u","visit_i16x8_ge_s","visit_i16x8_ge_u","visit_i16x8_gt_s","visit_i16x8_gt_u","visit_i16x8_le_s","visit_i16x8_le_u","visit_i16x8_lt_s","visit_i16x8_lt_u","visit_i16x8_max_s","visit_i16x8_max_u","visit_i16x8_min_s","visit_i16x8_min_u","visit_i16x8_mul","visit_i16x8_narrow_i32x4_s","visit_i16x8_narrow_i32x4_u","visit_i16x8_ne","visit_i16x8_neg","visit_i16x8_q15mulr_sat_s","visit_i16x8_relaxed_dot_i8x16_i7x16_s","visit_i16x8_relaxed_laneselect","visit_i16x8_relaxed_q15mulr_s","visit_i16x8_replace_lane","visit_i16x8_shl","visit_i16x8_shr_s","visit_i16x8_shr_u","visit_i16x8_splat","visit_i16x8_sub","visit_i16x8_sub_sat_s","visit_i16x8_sub_sat_u","visit_i31_get_s","visit_i31_get_u","visit_i32_add","visit_i32_and","visit_i32_atomic_load","visit_i32_atomic_load16_u","visit_i32_atomic_load8_u","visit_i32_atomic_rmw16_add_u","visit_i32_atomic_rmw16_and_u","visit_i32_atomic_rmw16_cmpxchg_u","visit_i32_atomic_rmw16_or_u","visit_i32_atomic_rmw16_sub_u","visit_i32_atomic_rmw16_xchg_u","visit_i32_atomic_rmw16_xor_u","visit_i32_atomic_rmw8_add_u","visit_i32_atomic_rmw8_and_u","visit_i32_atomic_rmw8_cmpxchg_u","visit_i32_atomic_rmw8_or_u","visit_i32_atomic_rmw8_sub_u","visit_i32_atomic_rmw8_xchg_u","visit_i32_atomic_rmw8_xor_u","visit_i32_atomic_rmw_add","visit_i32_atomic_rmw_and","visit_i32_atomic_rmw_cmpxchg","visit_i32_atomic_rmw_or","visit_i32_atomic_rmw_sub","visit_i32_atomic_rmw_xchg","visit_i32_atomic_rmw_xor","visit_i32_atomic_store","visit_i32_atomic_store16","visit_i32_atomic_store8","visit_i32_clz","visit_i32_const","visit_i32_ctz","visit_i32_div_s","visit_i32_div_u","visit_i32_eq","visit_i32_eqz","visit_i32_extend16_s","visit_i32_extend8_s","visit_i32_ge_s","visit_i32_ge_u","visit_i32_gt_s","visit_i32_gt_u","visit_i32_le_s","visit_i32_le_u","visit_i32_load","visit_i32_load16_s","visit_i32_load16_u","visit_i32_load8_s","visit_i32_load8_u","visit_i32_lt_s","visit_i32_lt_u","visit_i32_mul","visit_i32_ne","visit_i32_or","visit_i32_popcnt","visit_i32_reinterpret_f32","visit_i32_rem_s","visit_i32_rem_u","visit_i32_rotl","visit_i32_rotr","visit_i32_shl","visit_i32_shr_s","visit_i32_shr_u","visit_i32_store","visit_i32_store16","visit_i32_store8","visit_i32_sub","visit_i32_trunc_f32_s","visit_i32_trunc_f32_u","visit_i32_trunc_f64_s","visit_i32_trunc_f64_u","visit_i32_trunc_sat_f32_s","visit_i32_trunc_sat_f32_u","visit_i32_trunc_sat_f64_s","visit_i32_trunc_sat_f64_u","visit_i32_wrap_i64","visit_i32_xor","visit_i32x4_abs","visit_i32x4_add","visit_i32x4_all_true","visit_i32x4_bitmask","visit_i32x4_dot_i16x8_s","visit_i32x4_eq","visit_i32x4_extadd_pairwise_i16x8_s","visit_i32x4_extadd_pairwise_i16x8_u","visit_i32x4_extend_high_i16x8_s","visit_i32x4_extend_high_i16x8_u","visit_i32x4_extend_low_i16x8_s","visit_i32x4_extend_low_i16x8_u","visit_i32x4_extmul_high_i16x8_s","visit_i32x4_extmul_high_i16x8_u","visit_i32x4_extmul_low_i16x8_s","visit_i32x4_extmul_low_i16x8_u","visit_i32x4_extract_lane","visit_i32x4_ge_s","visit_i32x4_ge_u","visit_i32x4_gt_s","visit_i32x4_gt_u","visit_i32x4_le_s","visit_i32x4_le_u","visit_i32x4_lt_s","visit_i32x4_lt_u","visit_i32x4_max_s","visit_i32x4_max_u","visit_i32x4_min_s","visit_i32x4_min_u","visit_i32x4_mul","visit_i32x4_ne","visit_i32x4_neg","visit_i32x4_relaxed_dot_i8x16_i7x16_add_s","visit_i32x4_relaxed_laneselect","visit_i32x4_relaxed_trunc_f32x4_s","visit_i32x4_relaxed_trunc_f32x4_u","visit_i32x4_relaxed_trunc_f64x2_s_zero","visit_i32x4_relaxed_trunc_f64x2_u_zero","visit_i32x4_replace_lane","visit_i32x4_shl","visit_i32x4_shr_s","visit_i32x4_shr_u","visit_i32x4_splat","visit_i32x4_sub","visit_i32x4_trunc_sat_f32x4_s","visit_i32x4_trunc_sat_f32x4_u","visit_i32x4_trunc_sat_f64x2_s_zero","visit_i32x4_trunc_sat_f64x2_u_zero","visit_i64_add","visit_i64_and","visit_i64_atomic_load","visit_i64_atomic_load16_u","visit_i64_atomic_load32_u","visit_i64_atomic_load8_u","visit_i64_atomic_rmw16_add_u","visit_i64_atomic_rmw16_and_u","visit_i64_atomic_rmw16_cmpxchg_u","visit_i64_atomic_rmw16_or_u","visit_i64_atomic_rmw16_sub_u","visit_i64_atomic_rmw16_xchg_u","visit_i64_atomic_rmw16_xor_u","visit_i64_atomic_rmw32_add_u","visit_i64_atomic_rmw32_and_u","visit_i64_atomic_rmw32_cmpxchg_u","visit_i64_atomic_rmw32_or_u","visit_i64_atomic_rmw32_sub_u","visit_i64_atomic_rmw32_xchg_u","visit_i64_atomic_rmw32_xor_u","visit_i64_atomic_rmw8_add_u","visit_i64_atomic_rmw8_and_u","visit_i64_atomic_rmw8_cmpxchg_u","visit_i64_atomic_rmw8_or_u","visit_i64_atomic_rmw8_sub_u","visit_i64_atomic_rmw8_xchg_u","visit_i64_atomic_rmw8_xor_u","visit_i64_atomic_rmw_add","visit_i64_atomic_rmw_and","visit_i64_atomic_rmw_cmpxchg","visit_i64_atomic_rmw_or","visit_i64_atomic_rmw_sub","visit_i64_atomic_rmw_xchg","visit_i64_atomic_rmw_xor","visit_i64_atomic_store","visit_i64_atomic_store16","visit_i64_atomic_store32","visit_i64_atomic_store8","visit_i64_clz","visit_i64_const","visit_i64_ctz","visit_i64_div_s","visit_i64_div_u","visit_i64_eq","visit_i64_eqz","visit_i64_extend16_s","visit_i64_extend32_s","visit_i64_extend8_s","visit_i64_extend_i32_s","visit_i64_extend_i32_u","visit_i64_ge_s","visit_i64_ge_u","visit_i64_gt_s","visit_i64_gt_u","visit_i64_le_s","visit_i64_le_u","visit_i64_load","visit_i64_load16_s","visit_i64_load16_u","visit_i64_load32_s","visit_i64_load32_u","visit_i64_load8_s","visit_i64_load8_u","visit_i64_lt_s","visit_i64_lt_u","visit_i64_mul","visit_i64_ne","visit_i64_or","visit_i64_popcnt","visit_i64_reinterpret_f64","visit_i64_rem_s","visit_i64_rem_u","visit_i64_rotl","visit_i64_rotr","visit_i64_shl","visit_i64_shr_s","visit_i64_shr_u","visit_i64_store","visit_i64_store16","visit_i64_store32","visit_i64_store8","visit_i64_sub","visit_i64_trunc_f32_s","visit_i64_trunc_f32_u","visit_i64_trunc_f64_s","visit_i64_trunc_f64_u","visit_i64_trunc_sat_f32_s","visit_i64_trunc_sat_f32_u","visit_i64_trunc_sat_f64_s","visit_i64_trunc_sat_f64_u","visit_i64_xor","visit_i64x2_abs","visit_i64x2_add","visit_i64x2_all_true","visit_i64x2_bitmask","visit_i64x2_eq","visit_i64x2_extend_high_i32x4_s","visit_i64x2_extend_high_i32x4_u","visit_i64x2_extend_low_i32x4_s","visit_i64x2_extend_low_i32x4_u","visit_i64x2_extmul_high_i32x4_s","visit_i64x2_extmul_high_i32x4_u","visit_i64x2_extmul_low_i32x4_s","visit_i64x2_extmul_low_i32x4_u","visit_i64x2_extract_lane","visit_i64x2_ge_s","visit_i64x2_gt_s","visit_i64x2_le_s","visit_i64x2_lt_s","visit_i64x2_mul","visit_i64x2_ne","visit_i64x2_neg","visit_i64x2_relaxed_laneselect","visit_i64x2_replace_lane","visit_i64x2_shl","visit_i64x2_shr_s","visit_i64x2_shr_u","visit_i64x2_splat","visit_i64x2_sub","visit_i8x16_abs","visit_i8x16_add","visit_i8x16_add_sat_s","visit_i8x16_add_sat_u","visit_i8x16_all_true","visit_i8x16_avgr_u","visit_i8x16_bitmask","visit_i8x16_eq","visit_i8x16_extract_lane_s","visit_i8x16_extract_lane_u","visit_i8x16_ge_s","visit_i8x16_ge_u","visit_i8x16_gt_s","visit_i8x16_gt_u","visit_i8x16_le_s","visit_i8x16_le_u","visit_i8x16_lt_s","visit_i8x16_lt_u","visit_i8x16_max_s","visit_i8x16_max_u","visit_i8x16_min_s","visit_i8x16_min_u","visit_i8x16_narrow_i16x8_s","visit_i8x16_narrow_i16x8_u","visit_i8x16_ne","visit_i8x16_neg","visit_i8x16_popcnt","visit_i8x16_relaxed_laneselect","visit_i8x16_relaxed_swizzle","visit_i8x16_replace_lane","visit_i8x16_shl","visit_i8x16_shr_s","visit_i8x16_shr_u","visit_i8x16_shuffle","visit_i8x16_splat","visit_i8x16_sub","visit_i8x16_sub_sat_s","visit_i8x16_sub_sat_u","visit_i8x16_swizzle","visit_if","visit_local_get","visit_local_set","visit_local_tee","visit_loop","visit_memory_atomic_notify","visit_memory_atomic_wait32","visit_memory_atomic_wait64","visit_memory_copy","visit_memory_discard","visit_memory_fill","visit_memory_grow","visit_memory_init","visit_memory_size","visit_nop","visit_ref_as_non_null","visit_ref_cast_non_null","visit_ref_cast_nullable","visit_ref_eq","visit_ref_func","visit_ref_i31","visit_ref_is_null","visit_ref_null","visit_ref_test_non_null","visit_ref_test_nullable","visit_rethrow","visit_return","visit_return_call","visit_return_call_indirect","visit_return_call_ref","visit_select","visit_struct_get","visit_struct_get_s","visit_struct_get_u","visit_struct_new","visit_struct_new_default","visit_struct_set","visit_table_copy","visit_table_fill","visit_table_get","visit_table_grow","visit_table_init","visit_table_set","visit_table_size","visit_throw","visit_throw_ref","visit_try","visit_try_table","visit_typed_select","visit_unreachable","visit_v128_and","visit_v128_andnot","visit_v128_any_true","visit_v128_bitselect","visit_v128_const","visit_v128_load","visit_v128_load16_lane","visit_v128_load16_splat","visit_v128_load16x4_s","visit_v128_load16x4_u","visit_v128_load32_lane","visit_v128_load32_splat","visit_v128_load32_zero","visit_v128_load32x2_s","visit_v128_load32x2_u","visit_v128_load64_lane","visit_v128_load64_splat","visit_v128_load64_zero","visit_v128_load8_lane","visit_v128_load8_splat","visit_v128_load8x8_s","visit_v128_load8x8_u","visit_v128_not","visit_v128_or","visit_v128_store","visit_v128_store16_lane","visit_v128_store32_lane","visit_v128_store64_lane","visit_v128_store8_lane","visit_v128_xor","Block","ControlStack","ControlStackFrame","ControlStackFrameType","Else","If","Loop","borrow","","","borrow_mut","","","clone","","clone_into","","clone_to_uninit","","default","depth","eq","equivalent","","","fmt","from","","","into","","","label_from_depth","mark_else","new","original_pc_offset","original_sp","pc_offset","pop","push","result","","ret_ty","stack","to_owned","","try_from","","","try_into","","","ty","","type_id","","","ExtFunc","Func","Jump","JumpTable","Label","Offset","borrow","borrow_mut","clone","clone_into","clone_to_uninit","eq","equivalent","","","fmt","from","into","is_label","is_offset","pc","relocate","table","to_owned","try_from","try_into","type_id","offset","pc","JumpTable","borrow","borrow_mut","call","call_offset","clone","clone_into","clone_to_uninit","code","code_offset","default","ext","fmt","from","func","into","jump","label","merge","offset","relocate","shift_func_target","shift_label_pc","shift_label_target","shift_pc","shift_target","shift_targets","target","to_owned","try_from","try_into","type_id","LocalSlot","LocalSlotType","Locals","Parameter","Variable","borrow","","","borrow_mut","","","default","eq","equivalent","","","fmt","","","from","","","get","get_mut","inner","","into","","","is_empty","len","new","offset_of","push","size","sp","try_from","","","try_into","","","ty","","type_id","","","val_ty","MacroAssembler","MemoryInfo","_abs","_ceil","_clz","_convert_i32_s","_convert_i32_u","_convert_i64_s","_convert_i64_u","_copysign","_ctz","_drop","_eqz","_f32_const","_f32_demote_f64","_f32_reinterpret_i32","_f64_const","_f64_promote_f32","_f64_reinterpret_i64","_floor","_ge","_gt","_i32_const","_i32_reinterpret_f32","_i32_wrap_i64","_i64_const","_i64_extend_i32_s","_i64_extend_i32_u","_i64_reinterpret_f64","_le","_load","_load16","_load32","_load8","_lt","_max","_memory_grow","_memory_size","_min","_ne","_nearest","_neg","_popcnt","_return","_rotl","_rotr","_sge","_sgt","_sle","_sload","_slt","_sqrt","_sstore","_store","_store16","_store32","_store8","_sub","_trunc","_trunc_f32","_trunc_f64","asm","borrow","","borrow_mut","","call_return","cmp","default","deref","deref_mut","dup","embed","float","from","","handle_empty_return","integer","into","","main_return","memory","memory_write","memory_write_at","memory_write_bytes","mp_offset","offset","pc_offset","push","ret","shift_stack","size","sp","stack","swap","try_from","","try_into","","type_id","","Abi","BinaryReader","BufferOverflow","ControlStackUnderflow","DataNotFound","DuplicateFunc","DuplicateJump","Err","Error","ExtFuncNotFound","FuncNotFound","FuncNotImported","HostFuncNotFound","ImportedFuncNotFound","InvalidDataOffset","InvalidDataSize","InvalidDepth","InvalidElseBlock","InvalidFunctionSignature","InvalidLocalIndex","InvalidMP","InvalidPC","InvalidSelector","LabelMismatch","LocalIndexOutOfRange","LocalNotOnStack","MemoryOutOfBounds","Ok","Result","SelectorNotFound","StackIndexOutOfRange","StackNotBalanced","StackOverflow","StackUnderflow","UnsupportedHostFunc","borrow","borrow_mut","fmt","","from","","","into","source","to_string","try_from","try_into","type_id","ValidateThenVisit","borrow","borrow_mut","from","into","try_from","try_into","type_id","validate_then_visit","visit_any_convert_extern","visit_array_copy","visit_array_fill","visit_array_get","visit_array_get_s","visit_array_get_u","visit_array_init_data","visit_array_init_elem","visit_array_len","visit_array_new","visit_array_new_data","visit_array_new_default","visit_array_new_elem","visit_array_new_fixed","visit_array_set","visit_atomic_fence","visit_block","visit_br","visit_br_if","visit_br_on_cast","visit_br_on_cast_fail","visit_br_on_non_null","visit_br_on_null","visit_br_table","visit_call","visit_call_indirect","visit_call_ref","visit_catch","visit_catch_all","visit_data_drop","visit_delegate","visit_drop","visit_elem_drop","visit_else","visit_end","visit_extern_convert_any","visit_f32_abs","visit_f32_add","visit_f32_ceil","visit_f32_const","visit_f32_convert_i32_s","visit_f32_convert_i32_u","visit_f32_convert_i64_s","visit_f32_convert_i64_u","visit_f32_copysign","visit_f32_demote_f64","visit_f32_div","visit_f32_eq","visit_f32_floor","visit_f32_ge","visit_f32_gt","visit_f32_le","visit_f32_load","visit_f32_lt","visit_f32_max","visit_f32_min","visit_f32_mul","visit_f32_ne","visit_f32_nearest","visit_f32_neg","visit_f32_reinterpret_i32","visit_f32_sqrt","visit_f32_store","visit_f32_sub","visit_f32_trunc","visit_f32x4_abs","visit_f32x4_add","visit_f32x4_ceil","visit_f32x4_convert_i32x4_s","visit_f32x4_convert_i32x4_u","visit_f32x4_demote_f64x2_zero","visit_f32x4_div","visit_f32x4_eq","visit_f32x4_extract_lane","visit_f32x4_floor","visit_f32x4_ge","visit_f32x4_gt","visit_f32x4_le","visit_f32x4_lt","visit_f32x4_max","visit_f32x4_min","visit_f32x4_mul","visit_f32x4_ne","visit_f32x4_nearest","visit_f32x4_neg","visit_f32x4_pmax","visit_f32x4_pmin","visit_f32x4_relaxed_madd","visit_f32x4_relaxed_max","visit_f32x4_relaxed_min","visit_f32x4_relaxed_nmadd","visit_f32x4_replace_lane","visit_f32x4_splat","visit_f32x4_sqrt","visit_f32x4_sub","visit_f32x4_trunc","visit_f64_abs","visit_f64_add","visit_f64_ceil","visit_f64_const","visit_f64_convert_i32_s","visit_f64_convert_i32_u","visit_f64_convert_i64_s","visit_f64_convert_i64_u","visit_f64_copysign","visit_f64_div","visit_f64_eq","visit_f64_floor","visit_f64_ge","visit_f64_gt","visit_f64_le","visit_f64_load","visit_f64_lt","visit_f64_max","visit_f64_min","visit_f64_mul","visit_f64_ne","visit_f64_nearest","visit_f64_neg","visit_f64_promote_f32","visit_f64_reinterpret_i64","visit_f64_sqrt","visit_f64_store","visit_f64_sub","visit_f64_trunc","visit_f64x2_abs","visit_f64x2_add","visit_f64x2_ceil","visit_f64x2_convert_low_i32x4_s","visit_f64x2_convert_low_i32x4_u","visit_f64x2_div","visit_f64x2_eq","visit_f64x2_extract_lane","visit_f64x2_floor","visit_f64x2_ge","visit_f64x2_gt","visit_f64x2_le","visit_f64x2_lt","visit_f64x2_max","visit_f64x2_min","visit_f64x2_mul","visit_f64x2_ne","visit_f64x2_nearest","visit_f64x2_neg","visit_f64x2_pmax","visit_f64x2_pmin","visit_f64x2_promote_low_f32x4","visit_f64x2_relaxed_madd","visit_f64x2_relaxed_max","visit_f64x2_relaxed_min","visit_f64x2_relaxed_nmadd","visit_f64x2_replace_lane","visit_f64x2_splat","visit_f64x2_sqrt","visit_f64x2_sub","visit_f64x2_trunc","visit_global_get","visit_global_set","visit_i16x8_abs","visit_i16x8_add","visit_i16x8_add_sat_s","visit_i16x8_add_sat_u","visit_i16x8_all_true","visit_i16x8_avgr_u","visit_i16x8_bitmask","visit_i16x8_eq","visit_i16x8_extadd_pairwise_i8x16_s","visit_i16x8_extadd_pairwise_i8x16_u","visit_i16x8_extend_high_i8x16_s","visit_i16x8_extend_high_i8x16_u","visit_i16x8_extend_low_i8x16_s","visit_i16x8_extend_low_i8x16_u","visit_i16x8_extmul_high_i8x16_s","visit_i16x8_extmul_high_i8x16_u","visit_i16x8_extmul_low_i8x16_s","visit_i16x8_extmul_low_i8x16_u","visit_i16x8_extract_lane_s","visit_i16x8_extract_lane_u","visit_i16x8_ge_s","visit_i16x8_ge_u","visit_i16x8_gt_s","visit_i16x8_gt_u","visit_i16x8_le_s","visit_i16x8_le_u","visit_i16x8_lt_s","visit_i16x8_lt_u","visit_i16x8_max_s","visit_i16x8_max_u","visit_i16x8_min_s","visit_i16x8_min_u","visit_i16x8_mul","visit_i16x8_narrow_i32x4_s","visit_i16x8_narrow_i32x4_u","visit_i16x8_ne","visit_i16x8_neg","visit_i16x8_q15mulr_sat_s","visit_i16x8_relaxed_dot_i8x16_i7x16_s","visit_i16x8_relaxed_laneselect","visit_i16x8_relaxed_q15mulr_s","visit_i16x8_replace_lane","visit_i16x8_shl","visit_i16x8_shr_s","visit_i16x8_shr_u","visit_i16x8_splat","visit_i16x8_sub","visit_i16x8_sub_sat_s","visit_i16x8_sub_sat_u","visit_i31_get_s","visit_i31_get_u","visit_i32_add","visit_i32_and","visit_i32_atomic_load","visit_i32_atomic_load16_u","visit_i32_atomic_load8_u","visit_i32_atomic_rmw16_add_u","visit_i32_atomic_rmw16_and_u","visit_i32_atomic_rmw16_cmpxchg_u","visit_i32_atomic_rmw16_or_u","visit_i32_atomic_rmw16_sub_u","visit_i32_atomic_rmw16_xchg_u","visit_i32_atomic_rmw16_xor_u","visit_i32_atomic_rmw8_add_u","visit_i32_atomic_rmw8_and_u","visit_i32_atomic_rmw8_cmpxchg_u","visit_i32_atomic_rmw8_or_u","visit_i32_atomic_rmw8_sub_u","visit_i32_atomic_rmw8_xchg_u","visit_i32_atomic_rmw8_xor_u","visit_i32_atomic_rmw_add","visit_i32_atomic_rmw_and","visit_i32_atomic_rmw_cmpxchg","visit_i32_atomic_rmw_or","visit_i32_atomic_rmw_sub","visit_i32_atomic_rmw_xchg","visit_i32_atomic_rmw_xor","visit_i32_atomic_store","visit_i32_atomic_store16","visit_i32_atomic_store8","visit_i32_clz","visit_i32_const","visit_i32_ctz","visit_i32_div_s","visit_i32_div_u","visit_i32_eq","visit_i32_eqz","visit_i32_extend16_s","visit_i32_extend8_s","visit_i32_ge_s","visit_i32_ge_u","visit_i32_gt_s","visit_i32_gt_u","visit_i32_le_s","visit_i32_le_u","visit_i32_load","visit_i32_load16_s","visit_i32_load16_u","visit_i32_load8_s","visit_i32_load8_u","visit_i32_lt_s","visit_i32_lt_u","visit_i32_mul","visit_i32_ne","visit_i32_or","visit_i32_popcnt","visit_i32_reinterpret_f32","visit_i32_rem_s","visit_i32_rem_u","visit_i32_rotl","visit_i32_rotr","visit_i32_shl","visit_i32_shr_s","visit_i32_shr_u","visit_i32_store","visit_i32_store16","visit_i32_store8","visit_i32_sub","visit_i32_trunc_f32_s","visit_i32_trunc_f32_u","visit_i32_trunc_f64_s","visit_i32_trunc_f64_u","visit_i32_trunc_sat_f32_s","visit_i32_trunc_sat_f32_u","visit_i32_trunc_sat_f64_s","visit_i32_trunc_sat_f64_u","visit_i32_wrap_i64","visit_i32_xor","visit_i32x4_abs","visit_i32x4_add","visit_i32x4_all_true","visit_i32x4_bitmask","visit_i32x4_dot_i16x8_s","visit_i32x4_eq","visit_i32x4_extadd_pairwise_i16x8_s","visit_i32x4_extadd_pairwise_i16x8_u","visit_i32x4_extend_high_i16x8_s","visit_i32x4_extend_high_i16x8_u","visit_i32x4_extend_low_i16x8_s","visit_i32x4_extend_low_i16x8_u","visit_i32x4_extmul_high_i16x8_s","visit_i32x4_extmul_high_i16x8_u","visit_i32x4_extmul_low_i16x8_s","visit_i32x4_extmul_low_i16x8_u","visit_i32x4_extract_lane","visit_i32x4_ge_s","visit_i32x4_ge_u","visit_i32x4_gt_s","visit_i32x4_gt_u","visit_i32x4_le_s","visit_i32x4_le_u","visit_i32x4_lt_s","visit_i32x4_lt_u","visit_i32x4_max_s","visit_i32x4_max_u","visit_i32x4_min_s","visit_i32x4_min_u","visit_i32x4_mul","visit_i32x4_ne","visit_i32x4_neg","visit_i32x4_relaxed_dot_i8x16_i7x16_add_s","visit_i32x4_relaxed_laneselect","visit_i32x4_relaxed_trunc_f32x4_s","visit_i32x4_relaxed_trunc_f32x4_u","visit_i32x4_relaxed_trunc_f64x2_s_zero","visit_i32x4_relaxed_trunc_f64x2_u_zero","visit_i32x4_replace_lane","visit_i32x4_shl","visit_i32x4_shr_s","visit_i32x4_shr_u","visit_i32x4_splat","visit_i32x4_sub","visit_i32x4_trunc_sat_f32x4_s","visit_i32x4_trunc_sat_f32x4_u","visit_i32x4_trunc_sat_f64x2_s_zero","visit_i32x4_trunc_sat_f64x2_u_zero","visit_i64_add","visit_i64_and","visit_i64_atomic_load","visit_i64_atomic_load16_u","visit_i64_atomic_load32_u","visit_i64_atomic_load8_u","visit_i64_atomic_rmw16_add_u","visit_i64_atomic_rmw16_and_u","visit_i64_atomic_rmw16_cmpxchg_u","visit_i64_atomic_rmw16_or_u","visit_i64_atomic_rmw16_sub_u","visit_i64_atomic_rmw16_xchg_u","visit_i64_atomic_rmw16_xor_u","visit_i64_atomic_rmw32_add_u","visit_i64_atomic_rmw32_and_u","visit_i64_atomic_rmw32_cmpxchg_u","visit_i64_atomic_rmw32_or_u","visit_i64_atomic_rmw32_sub_u","visit_i64_atomic_rmw32_xchg_u","visit_i64_atomic_rmw32_xor_u","visit_i64_atomic_rmw8_add_u","visit_i64_atomic_rmw8_and_u","visit_i64_atomic_rmw8_cmpxchg_u","visit_i64_atomic_rmw8_or_u","visit_i64_atomic_rmw8_sub_u","visit_i64_atomic_rmw8_xchg_u","visit_i64_atomic_rmw8_xor_u","visit_i64_atomic_rmw_add","visit_i64_atomic_rmw_and","visit_i64_atomic_rmw_cmpxchg","visit_i64_atomic_rmw_or","visit_i64_atomic_rmw_sub","visit_i64_atomic_rmw_xchg","visit_i64_atomic_rmw_xor","visit_i64_atomic_store","visit_i64_atomic_store16","visit_i64_atomic_store32","visit_i64_atomic_store8","visit_i64_clz","visit_i64_const","visit_i64_ctz","visit_i64_div_s","visit_i64_div_u","visit_i64_eq","visit_i64_eqz","visit_i64_extend16_s","visit_i64_extend32_s","visit_i64_extend8_s","visit_i64_extend_i32_s","visit_i64_extend_i32_u","visit_i64_ge_s","visit_i64_ge_u","visit_i64_gt_s","visit_i64_gt_u","visit_i64_le_s","visit_i64_le_u","visit_i64_load","visit_i64_load16_s","visit_i64_load16_u","visit_i64_load32_s","visit_i64_load32_u","visit_i64_load8_s","visit_i64_load8_u","visit_i64_lt_s","visit_i64_lt_u","visit_i64_mul","visit_i64_ne","visit_i64_or","visit_i64_popcnt","visit_i64_reinterpret_f64","visit_i64_rem_s","visit_i64_rem_u","visit_i64_rotl","visit_i64_rotr","visit_i64_shl","visit_i64_shr_s","visit_i64_shr_u","visit_i64_store","visit_i64_store16","visit_i64_store32","visit_i64_store8","visit_i64_sub","visit_i64_trunc_f32_s","visit_i64_trunc_f32_u","visit_i64_trunc_f64_s","visit_i64_trunc_f64_u","visit_i64_trunc_sat_f32_s","visit_i64_trunc_sat_f32_u","visit_i64_trunc_sat_f64_s","visit_i64_trunc_sat_f64_u","visit_i64_xor","visit_i64x2_abs","visit_i64x2_add","visit_i64x2_all_true","visit_i64x2_bitmask","visit_i64x2_eq","visit_i64x2_extend_high_i32x4_s","visit_i64x2_extend_high_i32x4_u","visit_i64x2_extend_low_i32x4_s","visit_i64x2_extend_low_i32x4_u","visit_i64x2_extmul_high_i32x4_s","visit_i64x2_extmul_high_i32x4_u","visit_i64x2_extmul_low_i32x4_s","visit_i64x2_extmul_low_i32x4_u","visit_i64x2_extract_lane","visit_i64x2_ge_s","visit_i64x2_gt_s","visit_i64x2_le_s","visit_i64x2_lt_s","visit_i64x2_mul","visit_i64x2_ne","visit_i64x2_neg","visit_i64x2_relaxed_laneselect","visit_i64x2_replace_lane","visit_i64x2_shl","visit_i64x2_shr_s","visit_i64x2_shr_u","visit_i64x2_splat","visit_i64x2_sub","visit_i8x16_abs","visit_i8x16_add","visit_i8x16_add_sat_s","visit_i8x16_add_sat_u","visit_i8x16_all_true","visit_i8x16_avgr_u","visit_i8x16_bitmask","visit_i8x16_eq","visit_i8x16_extract_lane_s","visit_i8x16_extract_lane_u","visit_i8x16_ge_s","visit_i8x16_ge_u","visit_i8x16_gt_s","visit_i8x16_gt_u","visit_i8x16_le_s","visit_i8x16_le_u","visit_i8x16_lt_s","visit_i8x16_lt_u","visit_i8x16_max_s","visit_i8x16_max_u","visit_i8x16_min_s","visit_i8x16_min_u","visit_i8x16_narrow_i16x8_s","visit_i8x16_narrow_i16x8_u","visit_i8x16_ne","visit_i8x16_neg","visit_i8x16_popcnt","visit_i8x16_relaxed_laneselect","visit_i8x16_relaxed_swizzle","visit_i8x16_replace_lane","visit_i8x16_shl","visit_i8x16_shr_s","visit_i8x16_shr_u","visit_i8x16_shuffle","visit_i8x16_splat","visit_i8x16_sub","visit_i8x16_sub_sat_s","visit_i8x16_sub_sat_u","visit_i8x16_swizzle","visit_if","visit_local_get","visit_local_set","visit_local_tee","visit_loop","visit_memory_atomic_notify","visit_memory_atomic_wait32","visit_memory_atomic_wait64","visit_memory_copy","visit_memory_discard","visit_memory_fill","visit_memory_grow","visit_memory_init","visit_memory_size","visit_nop","visit_op_when_unreachable","visit_ref_as_non_null","visit_ref_cast_non_null","visit_ref_cast_nullable","visit_ref_eq","visit_ref_func","visit_ref_i31","visit_ref_is_null","visit_ref_null","visit_ref_test_non_null","visit_ref_test_nullable","visit_rethrow","visit_return","visit_return_call","visit_return_call_indirect","visit_return_call_ref","visit_select","visit_struct_get","visit_struct_get_s","visit_struct_get_u","visit_struct_new","visit_struct_new_default","visit_struct_set","visit_table_copy","visit_table_fill","visit_table_get","visit_table_grow","visit_table_init","visit_table_set","visit_table_size","visit_throw","visit_throw_ref","visit_try","visit_try_table","visit_typed_select","visit_unreachable","visit_v128_and","visit_v128_andnot","visit_v128_any_true","visit_v128_bitselect","visit_v128_const","visit_v128_load","visit_v128_load16_lane","visit_v128_load16_splat","visit_v128_load16x4_s","visit_v128_load16x4_u","visit_v128_load32_lane","visit_v128_load32_splat","visit_v128_load32_zero","visit_v128_load32x2_s","visit_v128_load32x2_u","visit_v128_load64_lane","visit_v128_load64_splat","visit_v128_load64_zero","visit_v128_load8_lane","visit_v128_load8_splat","visit_v128_load8x8_s","visit_v128_load8x8_u","visit_v128_not","visit_v128_or","visit_v128_store","visit_v128_store16_lane","visit_v128_store32_lane","visit_v128_store64_lane","visit_v128_store8_lane","visit_v128_xor","call","control","handlers","impl_visit_operator","local","log","map_wasm_operators","Data","EmitABI","Env","Evm","Exports","Function","Functions","HostFunc","Imports","NoOp","Output","ToLSBytes","Type","abi","body","borrow","","","borrow_mut","","","clone","","","clone_into","","","clone_to_uninit","","","data","","default","","","deref","","deref_mut","","exports","fmt","","","from","","","func","host","impl_deref","imports","into","","","is_emit_abi","selectors","size","to_ls_bytes","to_owned","","","try_from","","","try_into","","","type_id","","","validator","ALIGNMENT_MASK","Output","ToLSBytes","Type","align","","offset","size","to_ls_bytes","Data","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","fmt","from","into","load","to_owned","try_from","try_into","type_id","Function","Functions","add","body","borrow","","borrow_mut","","default","deref","deref_mut","drain_selectors","from","","index","into","","into_funcs","remove_constructor","sig","try_from","","try_into","","type_id","","validator","EmitABI","Evm","HostFunc","NoOp","borrow","borrow_mut","clone","clone_into","clone_to_uninit","cmp","compare","eq","equivalent","","","fmt","from","into","partial_cmp","stack_in","stack_out","to_owned","try_from","","try_into","type_id"],"q":[[0,"zingen"],[99,"zingen::asm"],[267,"zingen::backtrace"],[281,"zingen::codegen"],[290,"zingen::codegen::code"],[334,"zingen::codegen::constructor"],[348,"zingen::codegen::dispatcher"],[368,"zingen::codegen::function"],[988,"zingen::control"],[1045,"zingen::jump"],[1072,"zingen::jump::relocate"],[1074,"zingen::jump::table"],[1106,"zingen::local"],[1154,"zingen::masm"],[1255,"zingen::result"],[1303,"zingen::validator"],[1885,"zingen::visitor"],[1892,"zingen::wasm"],[1962,"zingen::wasm::abi"],[1971,"zingen::wasm::data"],[1988,"zingen::wasm::func"],[2015,"zingen::wasm::host"],[2041,"evm_opcodes::shanghai"],[2042,"core::result"],[2043,"core::any"],[2044,"core::fmt"],[2045,"alloc::vec"],[2046,"core::convert"],[2047,"core::hash"],[2048,"core::option"],[2049,"wasmparser::readers::core::types"],[2050,"zabi"],[2051,"wasmparser::readers::core::operators"],[2052,"wasmparser::readers::core::code"],[2053,"wasmparser::validator::core"],[2054,"wasmparser::validator::func"],[2055,"smallvec"],[2056,"core::ops::function"],[2057,"zabi::result"],[2058,"wasmparser::binary_reader"],[2059,"core::error"],[2060,"alloc::string"],[2061,"core::cmp"]],"i":"Hh``0Fn`1`````11`110j`222`212222222222`222``1`20`222222Cf`0Gn`DfdCl``24204Bf2CbGhGd6`4`6`2653Ed0`0362G`:8813````777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777`7777777777`Al000000000000```````````6Bh7007070707000077070770707777700707707070`6666666666666`<<<<<<<<<<<<<<<<<<<`:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::>```>>>>32>32>3>3>322>>>>>>32>32223333223322>3>32>3223>32Gb0``0000000000000000```0000```9999999999999999999999999999999```Gf00760766000007607666760766676677076076770767``============================================================H`>0>>`>>>>``0>>`0>>`>>>>0>>`>0>`>0>0>0>Hh000000j`1111111111111111110`1111111111111111111`Ib000000`000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000`00000000000000000000000000000000000000000000000000000000000000000````````Jd`0`````0In```ChIjIlD`210210210210`021021210210210```021021Hb53213213213214`5``00`05`J`000000000000000``Cj66060000060660006606060688`88888888888888888888888","f":"````````````````````````````````````````````````````````````````````````````````````````````````````{{{f{bd}}}{{j{h}}}}0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{d}}}{{f{{n{l}}}}}}`{{{f{bd}}}{{f{bA`}}}}{{{f{d}}}d}{{f{f{bc}}}h{}}{fh}{{{f{bd}}Ab}{{j{h}}}}{{{f{bd}}l}{{j{h}}}}{{}d}{{{f{bd}}l}h}{{{f{bd}}Ad}{{j{h}}}}{{{f{bd}}{f{{n{l}}}}}h}{cc{}}``{{{f{bd}}Af}h}76{{}c{}}``{fc{}}{c{{Ah{e}}}{}{}}{{}{{Ah{c}}}{}}{fAj}`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{}Al}{{{f{Al}}{f{bAn}}}B`}:`8{{{f{bAl}}}{{Bb{l}}}}{{{f{bAl}}Ab}{{Bb{{Bb{l}}}}}}{{{f{bAl}}c}h{{Bd{{n{l}}}}}}987```````````6655`{{{f{Bf}}}Bf}{{{f{Bh}}}Bh}{{f{f{bc}}}h{}}0{fh}0{{}Bf}{{{f{Bh}}{f{Bh}}}Bj}{{f{f{c}}}Bj{}}00{{{f{Bf}}}{{Bb{l}}}}{{{f{Bf}}{f{bAn}}}B`}{{{f{Bh}}{f{bAn}}}B`}{cc{}}0{{{f{Bf}}}{{Bb{Bh}}}}`{{{f{Bh}}{f{bc}}}hBl}{{}c{}}09{{{f{Bf}}}Ab}`{{{f{Bf}}{f{Bh}}}{{C`{Bn}}}}{{{f{bBf}}Bn}h}``{fc{}}0{{{f{bBf}}Bh}h}{c{{Ah{e}}}{}{}}0{{}{{Ah{c}}}{}}0{fAj}0`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{bCb}}}{{j{A`}}}}>`;`{{{C`{Cd}}A`}{{j{Cb}}}}{{AbAb}Ab}`765```43{{{f{bCf}}{f{Ch}}Bj}{{j{h}}}}`{{{f{bCf}}{f{Cd}}}{{j{h}}}}{{{f{bCf}}Cj{f{bCl}}}{{j{{Bb{l}}}}}}{cc{}}`{{}c{}}{{{f{bCf}}{f{Ch}}}{{j{Cn}}}}{{D`{f{Cj}}}{{j{Cf}}}}{{{f{bCf}}AbBj}{{j{Bj}}}}{{{f{Cf}}{f{Db}}}{{j{Dd}}}}`{c{{Ah{e}}}{}{}}{{}{{Ah{c}}}{}}{fAj}`{{{f{bDf}}Dh}{{j{h}}}}{{{f{bDf}}Dd}{{j{h}}}}0{{{f{bDf}}Dj}{{j{h}}}}1{{{f{bDf}}DdDdl}{{j{h}}}}{{{f{bDf}}}{{j{h}}}}03343{{{f{bDf}}Ab}{{j{h}}}}0445111`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}66`{{{f{bDf}}{f{bDl}}{f{b{E`{Dn}}}}}{{j{h}}}}{{{f{bDf}}{f{bEb}}{f{b{E`{Dn}}}}}{{j{h}}}}`{{Df{f{bCl}}Bn}{{j{A`}}}}{cc{}}7{{{f{bDf}}Ed}{{j{h}}}}{{{f{bDf}}Bn}{{j{h}}}}9{{}c{}}``9{{{f{bDf}}}{{j{{Eh{EfEf}}}}}}`{{D`CdBj}{{j{Df}}}}`{c{{Ah{e}}}{}{}}{{}{{Ah{c}}}{}}`{fAj}{{{f{bDf}}}c{}}{{{f{bDf}}DdDd}c{}}{{{f{bDf}}Dd}c{}}0001120101102{{{f{bDf}}Dh}c{}}11{{{f{bDf}}DdEjEj}c{}}022{{{f{bDf}}Dj}c{}}3{{{f{bDf}}DdDdl}c{}}4464464666666{{{f{bDf}}El}c{}}777777777777{{{f{bDf}}En}c{}}88888888808888888888{{{f{bDf}}l}c{}}9999999999999999909999999{{{f{bDf}}F`}c{}}:::::::::::2::::::::::2:::::::::1::::::::::::::::::1::::88::::::::::::::::::11:::::::::::::::::::::1:::::::::::222222222222222222222222222:{{{f{bDf}}Ef}c{}};;;;;;;;;;;;;33333;;;;;;;;;;;;;;333;;;;;;;;;;;;;;;;;;;;;;;;;;;2;;;;;;;;;;;;;;;;;;;;;2;;;;;;;;;;;333333333333333333333333333333333333;{{{f{bDf}}Fb}c{}}<<<<<<<<<<<<<<<<4444444<<<<<<<<<<<<<<4444<<<<<<<<<<<<<<<<<<<<<<<3<<<<<<<<3<<<<<<<<<<<<<33<<<<<<<<<<<<<<<<<<<3<<<{{{f{bDf}}{Fd{l}}}c{}}=====:;;;:555<;;{{{f{bDf}}Ddl}c{}}=0>>{{{f{bDf}}Ff}c{}}0?=??000=?=>=?>>>==>>===>===?<{{{f{bDf}}Fh}c{}}{{{f{bDf}}Fj}c{}}{{{f{bDf}}}c{}}0000{{{f{bDf}}Fl}c{}};{{{f{bDf}}Enl}c{}}<<<0<<<<0<<0<<<22<00002```````{f{{f{c}}}{}}00{{{f{b}}}{{f{bc}}}{}}00{{{f{Fn}}}Fn}{{{f{Ed}}}Ed}{{f{f{bc}}}h{}}0{fh}0{{}G`}{{{f{G`}}}Ab}{{{f{Fn}}{f{Fn}}}Bj}{{f{f{c}}}Bj{}}00{{{f{Fn}}{f{bAn}}}B`}{cc{}}00{{}c{}}00{{{f{G`}}Dd}{{j{Bn}}}}{{{f{bG`}}}{{j{Ed}}}}{{FnBnlDh}Ed}``{{{f{Ed}}}Bn}2{{{f{bG`}}Ed}h}{{{f{Ed}}}Dh}`{{{f{G`}}Ab}{{j{Dh}}}}`{fc{}}0{c{{Ah{e}}}{}{}}00{{}{{Ah{c}}}{}}00{{{f{G`}}Ab}{{j{Fn}}}}`{fAj}00``````{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{Gb}}}Gb}{{f{f{bc}}}h{}}{fh}{{{f{Gb}}{f{Gb}}}Bj}{{f{f{c}}}Bj{}}00{{{f{Gb}}{f{bAn}}}B`}{cc{}}{{}c{}}{{{f{Gb}}}Bj}0```?>=;{Bn{{j{Bn}}}}{{{f{bA`}}BnBnBn}{{j{h}}}}`<;{{{f{bCl}}BnDd}h}{{{f{bCl}}DdBn}{{j{h}}}}{{{f{Cl}}}Cl}<;`{{{f{bCl}}Bn}h}{{}Cl}{{{f{bCl}}BnBh}h}{{{f{Cl}}{f{bAn}}}B`};`:`{{{f{bCl}}BnBn}h}{{{f{bCl}}ClBn}{{j{h}}}}1{{{f{bCl}}{f{bA`}}}{{j{h}}}}{{{f{bCl}}BnBn}{{j{h}}}}0000{{{f{bCl}}}{{j{h}}}}{{{f{bCl}}{f{Gb}}}{{j{Bn}}}}{fc{}}{c{{Ah{e}}}{}{}}{{}{{Ah{c}}}{}}{fAj}`````{f{{f{c}}}{}}00{{{f{b}}}{{f{bc}}}{}}00{{}Gd}{{{f{Gf}}{f{Gf}}}Bj}{{f{f{c}}}Bj{}}00{{{f{Gf}}{f{bAn}}}B`}{{{f{Gh}}{f{bAn}}}B`}{{{f{Gd}}{f{bAn}}}B`}{cc{}}00{{{f{Gd}}Ab}{{j{{f{Gh}}}}}}{{{f{bGd}}Ab}{{j{{f{bGh}}}}}}``{{}c{}}00{{{f{Gd}}}Bj}{{{f{Gd}}}Ab}{{FjGfAb}Gh}{{{f{Gd}}Ab}{{j{{Gj{{Fd{l}}}}}}}}{{{f{bGd}}c}h{{Gl{Gh}}}}{{{f{Gh}}}Ab}`{c{{Ah{e}}}{}{}}00{{}{{Ah{c}}}{}}00{{{f{Gh}}}{{f{Gf}}}}`{fAj}00{{{f{Gh}}}{{f{Fj}}}}``{{{f{bGn}}}{{j{h}}}}0000000000{{{f{bGn}}El}{{j{h}}}}11{{{f{bGn}}F`}{{j{h}}}}22222{{{f{bGn}}Ef}{{j{h}}}}33{{{f{bGn}}Fb}{{j{h}}}}4444444444{{{f{bGn}}Ddl}{{j{h}}}}055555555555555555555555`{f{{f{c}}}{}}0{{{f{b}}}{{f{bc}}}{}}0{{{f{bGn}}{f{{n{Fj}}}}}{{j{h}}}}`{{}Gn}{{{f{Gn}}}{{f{c}}}{}}{{{f{bGn}}}{{f{bc}}}{}}{{{f{bGn}}l}{{j{h}}}}``{cc{}}0=`{{}c{}}06`{{{f{bGn}}c}{{j{H`}}}Hb}{{{f{bGn}}{f{{n{l}}}}}{{j{h}}}}{{{f{bGn}}{f{{n{l}}}}}{{j{H`}}}}{{{f{Gn}}c}{{j{{Gj{{Fd{l}}}}}}}{{Hf{Ab}{{Hd{{j{Ab}}}}}}}}`{{{f{Gn}}}Bn}3`{{{f{bGn}}lBj}{{j{h}}}}`{{{f{Gn}}}l}`9{c{{Ah{e}}}{}{}}0{{}{{Ah{c}}}{}}0{fAj}0```````````````````````````````````{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{Hh}}{f{bAn}}}B`}0>{HjHh}{HlHh}?{{{f{Hh}}}{{C`{{f{Hn}}}}}}{fI`}987`65{cc{}}{{}c{}};:9`{{{f{b{Ib{c}}}}}e{{If{}{{Hd{{Id{h}}}}}}}{}}{{{f{b{Ib{c}}}}DdDd}e{{If{}{{Hd{{Id{h}}}}}}}{}}{{{f{b{Ib{c}}}}Dd}e{{If{}{{Hd{{Id{h}}}}}}}{}}0001120101102{{{f{b{Ib{c}}}}Dh}e{{If{}{{Hd{{Id{h}}}}}}}{}}11{{{f{b{Ib{c}}}}DdEjEj}e{{If{}{{Hd{{Id{h}}}}}}}{}}022{{{f{b{Ib{c}}}}Dj}e{{If{}{{Hd{{Id{h}}}}}}}{}}3{{{f{b{Ib{c}}}}DdDdl}e{{If{}{{Hd{{Id{h}}}}}}}{}}4464464666666{{{f{b{Ib{c}}}}El}e{{If{}{{Hd{{Id{h}}}}}}}{}}777777777777{{{f{b{Ib{c}}}}En}e{{If{}{{Hd{{Id{h}}}}}}}{}}88888888808888888888{{{f{b{Ib{c}}}}l}e{{If{}{{Hd{{Id{h}}}}}}}{}}9999999999999999909999999{{{f{b{Ib{c}}}}F`}e{{If{}{{Hd{{Id{h}}}}}}}{}}:::::::::::2::::::::::2:::::::::1::::::::::::::::::1::::88::::::::::::::::::11:::::::::::::::::::::1:::::::::::222222222222222222222222222:{{{f{b{Ib{c}}}}Ef}e{{If{}{{Hd{{Id{h}}}}}}}{}};;;;;;;;;;;;;33333;;;;;;;;;;;;;;333;;;;;;;;;;;;;;;;;;;;;;;;;;;2;;;;;;;;;;;;;;;;;;;;;2;;;;;;;;;;;333333333333333333333333333333333333;{{{f{b{Ib{c}}}}Fb}e{{If{}{{Hd{{Id{h}}}}}}}{}}<<<<<<<<<<<<<<<<4444444<<<<<<<<<<<<<<4444<<<<<<<<<<<<<<<<<<<<<<<3<<<<<<<<3<<<<<<<<<<<<<33<<<<<<<<<<<<<<<<<<<3<<<{{{f{b{Ib{c}}}}{Fd{l}}}e{{If{}{{Hd{{Id{h}}}}}}}{}}=====:;;;:555<;;{{{f{b{Ib{c}}}}Ddl}e{{If{}{{Hd{{Id{h}}}}}}}{}}=0>{IhBj}?{{{f{b{Ib{c}}}}Ff}e{{If{}{{Hd{{Id{h}}}}}}}{}}0{{{f{b{Ib{c}}}}}e{{If{}{{Hd{{Id{h}}}}}}}{}}?00111?0?{{{f{b{Ib{c}}}}DdDd}e{{If{}{{Hd{{Id{h}}}}}}}{}}{{{f{b{Ib{c}}}}Dd}e{{If{}{{Hd{{Id{h}}}}}}}{}}2111001100010002{{{f{b{Ib{c}}}}Dh}e{{If{}{{Hd{{Id{h}}}}}}}{}}{{{f{b{Ib{c}}}}Fh}e{{If{}{{Hd{{Id{h}}}}}}}{}}{{{f{b{Ib{c}}}}Fj}e{{If{}{{Hd{{Id{h}}}}}}}{}}55555{{{f{b{Ib{c}}}}Fl}e{{If{}{{Hd{{Id{h}}}}}}}{}}?{{{f{b{Ib{c}}}}Enl}e{{If{}{{Hd{{Id{h}}}}}}}{}}{{{f{b{Ib{c}}}}En}e{{If{}{{Hd{{Id{h}}}}}}}{}}0010000100100088011118``````````````````````{f{{f{c}}}{}}00{{{f{b}}}{{f{bc}}}{}}00{{{f{Ij}}}Ij}{{{f{Il}}}Il}{{{f{D`}}}D`}{{f{f{bc}}}h{}}00{fh}00``{{}Ij}{{}Il}{{}D`}{{{f{Ij}}}{{f{c}}}{}}{{{f{Il}}}{{f{c}}}{}}{{{f{bIj}}}{{f{bc}}}{}}{{{f{bIl}}}{{f{bc}}}{}}`{{{f{Ij}}{f{bAn}}}B`}{{{f{Il}}{f{bAn}}}B`}{{{f{D`}}{f{bAn}}}B`}{cc{}}00````{{}c{}}00{{{f{Ij}}Dd}Bj}{{{f{Il}}}{{Bb{Dd}}}}{{{f{Hb}}}Ab}{{{f{{In{}{{Hd{c}}}}}}}c{{Bd{{n{l}}}}}}{fc{}}00{c{{Ah{e}}}{}{}}00{{}{{Ah{c}}}{}}00{fAj}00`````55`54`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{J`}}}J`}{{f{f{bc}}}h{}}{fh}{{}J`}{{{f{J`}}}{{f{c}}}{}}{{{f{bJ`}}}{{f{bc}}}{}}{{{f{J`}}{f{bAn}}}B`}{cc{}}{{}c{}}{{{f{J`}}EfAb}{{j{{Bb{l}}}}}}?>=<``{{{f{bCj}}{E`{Dn}}Jb}h}`<<;;{{}Cj}{{{f{Cj}}}{{f{c}}}{}}{{{f{bCj}}}{{f{bc}}}{}}{{{f{bCj}}{f{Il}}}Cj}77{{{f{Ch}}}Dd}77{Cj{{Bb{Ch}}}}{{{f{bCj}}{f{Il}}}{{C`{Cd}}}}{{{f{Ch}}}{{j{Cd}}}}{c{{Ah{e}}}{}{}}0{{}{{Ah{c}}}{}}0{fAj}0`````{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{Jd}}}Jd}{{f{f{bc}}}h{}}{fh}{{{f{Jd}}{f{Jd}}}Jf}{{f{f{c}}}Jf{}}{{{f{Jd}}{f{Jd}}}Bj}{{f{f{c}}}Bj{}}00{{{f{Jd}}{f{bAn}}}B`}{cc{}}{{}c{}}{{{f{Jd}}{f{Jd}}}{{C`{Jf}}}}{{{f{Jd}}}l}0{fc{}}{{{Eh{{f{Db}}{f{Db}}}}}{{j{Jd}}}}{c{{Ah{e}}}{}{}}{{}{{Ah{c}}}{}}{fAj}","D":"DOh","p":[[0,"mut"],[5,"Assembler",99],[1,"reference"],[1,"unit"],[8,"Result",1255],[1,"u8"],[1,"slice"],[8,"Buffer",0],[1,"usize"],[6,"ShangHai",2041],[1,"u128"],[6,"Result",2042],[5,"TypeId",2043],[5,"Backtrace",267],[5,"Formatter",2044],[8,"Result",2044],[5,"Vec",2045],[10,"AsRef",2046],[5,"Code",290],[5,"ExtFunc",290],[1,"bool"],[10,"Hasher",2047],[1,"u16"],[6,"Option",2048],[5,"Constructor",334],[5,"FuncType",2049],[5,"Dispatcher",348],[5,"Function",1988],[5,"Functions",1988],[5,"JumpTable",1074],[5,"Abi",2050],[5,"Env",1892],[1,"str"],[1,"u32"],[5,"Function",368],[6,"BlockType",2051],[5,"BrTable",2051],[5,"LocalsReader",2052],[5,"ValidatorResources",2053],[5,"FuncValidator",2054],[5,"OperatorsReader",2051],[5,"ControlStackFrame",988],[1,"i32"],[1,"tuple"],[5,"RefType",2049],[5,"Ieee32",2051],[5,"MemArg",2051],[5,"Ieee64",2051],[1,"i64"],[1,"array"],[6,"HeapType",2049],[5,"TryTable",2051],[6,"ValType",2049],[5,"V128",2051],[6,"ControlStackFrameType",988],[5,"ControlStack",988],[6,"Jump",1045],[5,"Locals",1106],[6,"LocalSlotType",1106],[5,"LocalSlot",1106],[5,"SmallVec",2055],[10,"Into",2046],[5,"MacroAssembler",1154],[5,"MemoryInfo",1154],[10,"Type",1962],[17,"Output"],[10,"Fn",2056],[6,"Error",1255],[6,"Error",2057],[5,"BinaryReaderError",2058],[10,"Error",2059],[5,"String",2060],[5,"ValidateThenVisit",1303],[8,"Result",2058],[10,"VisitOperator",2051],[6,"Operator",2051],[5,"Imports",1892],[5,"Exports",1892],[10,"ToLSBytes",1962],[5,"Data",1971],[5,"FunctionBody",2052],[6,"HostFunc",2015],[6,"Ordering",2061]],"r":[[1,99],[7,290],[8,334],[9,988],[10,988],[11,988],[14,348],[19,1255],[23,368],[36,1074],[40,1106],[41,1106],[43,1154],[46,1255],[281,290],[282,334],[283,348],[284,290],[285,368],[1048,1074],[1892,1971],[1897,1988],[1898,1988],[1899,2015],[1903,1962],[1904,1962]],"b":[[1292,"impl-Display-for-Error"],[1293,"impl-Debug-for-Error"],[1295,"impl-From%3CError%3E-for-Error"],[1296,"impl-From%3CBinaryReaderError%3E-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAH0FPQBJAAAA8QABAPYAAgD7AAAAAQEAAAgBAwANAQMAFwEHACUBAwAqAQoANgEBADwBAABGAQEASQEFAFABAQBaAQIAYAEBAGsBAABuAQIAhwEBAJ0BAQCgATwC5AMMAPIDBAAJBAcAEwQCABkEAAAcBAkALQQDADQEAQA4BAIAPQQAAD8EAABPBAMAWAQNAGwEAAB1BAAAdwQFAH8EAgDBBAMAxgQDANAEAADiBAUACwUDABAFAQATBQQAGQUBAB0FQAJ0Bw4AhQcGAI0HAgCVBwAAngcLALEHAAC1BwgAwQcDAMkHBgDZBwUA5AcLAPIHAAD1BwQA"}],["zink",{"t":"KKYTTKCXCXCMMMCXKQMKTNNNNNNNNNNCHCHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHTKMCM","n":["Asm","Event","","NAME","STORAGE_KEY","Storage","asm","constructor","event","external","ffi","get","push","set","storage","","Asm","impl_asm","push","Event","NAME","log0","","log1","","log2","","log3","","log4","","asm","emit_abi","evm","push_i16","push_i32","push_i64","push_i8","push_u16","push_u32","push_u64","push_u8","sload_i16","sload_i32","sload_i64","sload_i8","sload_u16","sload_u32","sload_u64","sload_u8","log0","log1","log2","log3","log4","push0","push1","push10","push11","push12","push13","push14","push15","push16","push17","push18","push19","push2","push20","push21","push22","push23","push24","push25","push26","push27","push28","push29","push3","push30","push31","push32","push4","push5","push6","push7","push8","push9","sload","sstore","STORAGE_KEY","Storage","get","mapping","set"],"q":[[0,"zink"],[16,"zink::asm"],[19,"zink::event"],[31,"zink::ffi"],[34,"zink::ffi::asm"],[50,"zink::ffi::evm"],[90,"zink::storage"],[95,"zink_codegen"]],"i":"```fn``````0b1````0`22222222222```````````````````````````````````````````````````````````1`1`1","f":"```````````{{}cb}{bd}{cdb}````1``{{{h{f}}}d}0{{{h{f}}{h{{l{j}}}}}d}0{{{h{f}}{h{{l{j}}}}{h{{l{j}}}}}d}0{{{h{f}}{h{{l{j}}}}{h{{l{j}}}}{h{{l{j}}}}}d}0{{{h{f}}{h{{l{j}}}}{h{{l{j}}}}{h{{l{j}}}}{h{{l{j}}}}}d}0`````````````````````````````````````````````````````````````7`5","D":"Jb","p":[[10,"Asm",16],[1,"unit"],[10,"Event",19],[1,"reference"],[1,"u8"],[1,"slice"],[10,"Storage",90]],"r":[[0,16],[1,19],[2,95],[5,90],[7,95],[9,95],[15,95]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAA4ABAAEAAEAEgAAABUACgBbAAAA"}],["zink_codegen",{"t":"YCXCXCCXHHHJH","n":["Event","constructor","","event","external","selector","storage","","parse","","external","IOTA","parse"],"q":[[0,"zink_codegen"],[8,"zink_codegen::constructor"],[9,"zink_codegen::event"],[10,"zink_codegen::selector"],[11,"zink_codegen::storage"],[13,"syn::item"],[14,"proc_macro2"],[15,"syn::derive"],[16,"proc_macro"]],"i":"`````````````","f":"````````{bd}{fh}{bh}`{jd}","D":"Ah","p":[[5,"ItemFn",13],[5,"TokenStream",14],[5,"DeriveInput",15],[5,"TokenStream",16],[5,"ItemType",13]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAEAEAAAAAcADAA="}],["zinkc",{"t":"PFPPPFFPGPPIOOCOOCCCOOOCCOOCFONNOONNNNNONNNNNFONNNNNNONNNNNONONNNNNNFONNONNNONNNNNONNNFNNNNNNNNNONNNNNNNNNNNNFNNNONNONONONNNNNNNNNPPPPPGPPINNNNNNNNNNNNNNNNH","n":["Anyhow","Artifact","BinaryReader","BufferOverflow","Codegen","Compiler","Config","Err","Error","InvalidDataOffset","Ok","Result","abi","","artifact","buffer","bytecode","cli","compiler","config","","","dispatcher","parser","result","runtime_bytecode","table","utils","Artifact","abi","borrow","borrow_mut","bytecode","config","default","deserialize","fmt","from","into","runtime_bytecode","serialize","try_from","","try_into","type_id","Compile","abi","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","dispatcher","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","input","into","output","run","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","Compiler","abi","borrow","borrow_mut","buffer","compile","compile_dispatcher","compile_func","config","default","emit_buffer","from","into","new","table","try_from","try_into","type_id","Config","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","default","deserialize","dispatcher","","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","serialize","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","Parser","borrow","borrow_mut","data","","default","exports","","from","funcs","imports","","into","parse","remove_constructor","to_env","to_func_env","try_from","","try_into","type_id","Anyhow","BinaryReader","BufferOverflow","Codegen","Err","Error","InvalidDataOffset","Ok","Result","borrow","borrow_mut","fmt","","from","","","","header","in_current_span","into","source","to_string","try_from","try_into","type_id","wasm_opt"],"q":[[0,"zinkc"],[28,"zinkc::artifact"],[45,"zinkc::cli"],[68,"zinkc::compiler"],[86,"zinkc::config"],[109,"zinkc::parser"],[130,"zinkc::result"],[155,"zinkc::utils"],[156,"core::result"],[157,"serde::de"],[158,"core::fmt"],[159,"serde::ser"],[160,"wasmparser::readers::core::types"],[161,"core::option"],[162,"core::any"],[163,"clap_builder::builder::command"],[164,"clap_builder::parser::matches::arg_matches"],[165,"clap_builder"],[166,"clap_builder::util::id"],[167,"anyhow"],[168,"zingen::wasm"],[169,"zingen::wasm::func"],[170,"zingen::codegen::function"],[171,"wasmparser::readers::core::data"],[172,"wasmparser::readers"],[173,"zingen::wasm::data"],[174,"wasmparser::readers::core::exports"],[175,"wasmparser::readers::core::imports"],[176,"wasmparser::binary_reader"],[177,"zingen::result"],[178,"color_eyre::section"],[179,"core::marker"],[180,"core::error"],[181,"alloc::string"],[182,"std::path"],[183,"core::convert"]],"i":"Dl`000``Bn`10`fAb`01```10Cj``21``2222222222222222`An000000000000000000000`22222222222222222`1111111111111111111111`C`000000000000000000066665`65`6666666666666666`","f":"``````````````````````````````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}``{{}f}{c{{h{f}}}j}{{{b{f}}{b{dl}}}n}{cc{}}{{}c{}}`{{{b{f}}c}hA`}{c{{h{e}}}{}{}}{{{Ah{Ab{Af{Ad}}}}}{{h{fc}}}{}}{{}{{h{c}}}{}}{bAj}``{AlAl}0<;{{}Al}0`{{{b{An}}{b{dl}}}n}9{{{b{B`}}}{{h{AnBb}}}}{{{b{dB`}}}{{h{AnBb}}}}{{}{{Af{Bd}}}}`;`{{{b{An}}}{{Bh{Bf}}}}:87{{{b{dAn}}{b{B`}}}{{h{BfBb}}}}{{{b{dAn}}{b{dB`}}}{{h{BfBb}}}}``{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}`{{Ab{b{{Bl{Bj}}}}}{{Bn{f}}}}{{{b{dAb}}{b{dC`}}}{{Bn{Bf}}}}{{{b{dAb}}CbCd}{{Bn{Bf}}}}`{{}Ab}{{{b{dAb}}CfCh}{{Bn{Bf}}}}{cc{}}{{}c{}}{CjAb}`{c{{h{e}}}{}{}}{{}{{h{c}}}{}}{bAj}`{AlAl}0=<{{}Al}0{{}Cj}{c{{h{Cj}}}j}{{CjCl}Cj}`{{{b{Cj}}{b{dl}}}n};{{{b{B`}}}{{h{CjBb}}}}{{{b{dB`}}}{{h{CjBb}}}}{{}{{Af{Bd}}}}={{{b{Cj}}c}hA`}<;:{{{b{dCj}}{b{B`}}}{{h{BfBb}}}}{{{b{dCj}}{b{dB`}}}{{h{BfBb}}}}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{{D`{Cn}}}}}{{Bn{Db}}}}`{{}C`}{{{b{{D`{Dd}}}}}{{Bn{Df}}}}`{cc{}}`{{{b{{D`{Dh}}}}}{{Bn{Dj}}}}`{{}c{}}{{{b{dC`}}{b{{Bl{Bj}}}}}{{Bn{Bf}}}}{{{b{dC`}}}{{Af{Ad}}}}{{{b{C`}}}Cb}0{c{{h{e}}}{}{}}{{{b{{Bl{Bj}}}}}{{Bn{C`}}}}{{}{{h{c}}}{}}{bAj}`````````>={{{b{Dl}}{b{dl}}}n}0:{DnDl}{E`Dl}{EbDl}{c{{Ed{ce}}}{EfEhEj}{}}{{}}={{{b{Dl}}}{{Af{{b{El}}}}}}{bEn};98{{ce}{{Bh{Bf}}}{{Fb{F`}}}{{Fb{F`}}}}","D":"Jf","p":[[1,"reference"],[0,"mut"],[5,"Artifact",28],[6,"Result",156],[10,"Deserializer",157],[5,"Formatter",158],[8,"Result",158],[10,"Serializer",159],[5,"Compiler",68],[5,"FuncType",160],[6,"Option",161],[1,"tuple"],[5,"TypeId",162],[5,"Command",163],[5,"Compile",45],[5,"ArgMatches",164],[8,"Error",165],[5,"Id",166],[1,"unit"],[8,"Result",167],[1,"u8"],[1,"slice"],[8,"Result",130],[5,"Parser",109],[5,"Env",168],[5,"Function",169],[1,"u32"],[5,"Function",170],[5,"Config",86],[1,"bool"],[5,"Data",171],[5,"SectionLimited",172],[5,"Data",173],[5,"Export",174],[5,"Exports",168],[5,"Import",175],[5,"Imports",168],[6,"Error",130],[5,"Error",167],[5,"BinaryReaderError",176],[6,"Error",177],[5,"IndentedSection",178],[10,"Display",158],[10,"Send",179],[10,"Sync",179],[10,"Error",180],[5,"String",181],[5,"Path",182],[10,"AsRef",183]],"r":[[1,28],[5,68],[6,86],[8,130],[11,130]],"b":[[141,"impl-Debug-for-Error"],[142,"impl-Display-for-Error"],[144,"impl-From%3CError%3E-for-Error"],[145,"impl-From%3CBinaryReaderError%3E-for-Error"],[146,"impl-From%3CError%3E-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEkAFwAfAAEAIwACACkABAAwAAUANwAAADkAAgBAAAQARwABAE4AAABUAAIAWAAHAGIAAABkAAIAaAAFAG8AAQByAAEAdQAAAHcAAAB5AAAAfwADAIwAAwCRAAQAlwAEAA=="}],["zinkc_filetests",{"t":"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTFNNNNNNQNNOONNNNO","n":["BR_IF_AS_BLOCK_LAST","CALL_AS_IF","CALL_DUMMY","CALL_PARAMS","I32ADD_LOCALS","I32ADD_PARAMS","I32ADD_TEE","I32SUB_LOCALS","I32SUB_PARAMS","I64ADD_LOCALS","I64ADD_PARAMS","I64ADD_TEE","I64SUB_LOCALS","I64SUB_PARAMS","IF_BASIC","IF_SINGULAR","LOG_LOG0","LOG_LOG1","LOG_LOG2","LOG_LOG3","LOG_LOG4","LOOP_AS_BR_IF","LOOP_SINGULAR","RECURSION_FIBONACCI","SELECT_PARAMS","STORAGE_BASIC","STORAGE_DISPATCHER","STORAGE_LOAD","STORAGE_STORE","Test","borrow","borrow_mut","clone","clone_into","clone_to_uninit","from","impl_tests","into","load","module","name","to_owned","try_from","try_into","type_id","wasm"],"q":[[0,"zinkc_filetests"],[46,"anyhow"],[47,"core::result"],[48,"core::any"]],"i":"f0000000000000000000000000000`000000`000000000","f":"``````````````````````````````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{f}}}f}{{b{b{dc}}}h{}}{bh}{cc{}}`{{}c{}}{{{b{j}}{b{j}}}{{l{f}}}}``{bc{}}{c{{n{e}}}{}{}}{{}{{n{c}}}{}}{bA`}`","D":"Dl","p":[[1,"reference"],[0,"mut"],[5,"Test",0],[1,"unit"],[1,"str"],[8,"Result",46],[6,"Result",47],[5,"TypeId",48]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAgAAgAfAAQAKgADAA=="}],["zint",{"t":"PKPPFPPPPPFPPGFPPPPPPPPPPPGPPPPPPPINNOONNNNCNNNNNNCONNNNNNNNCNNNNOONNEONNHEOCOHOMNNMNNNNNNOKQMMFONNNNNNONNNNNNNNNNNOSSFSFONNNNNNNNNNNNNNOOONNNOOONNNNNNNNFFNNNNNNNNNNOOHHNNNNNNH","n":["Basic","Bytes32","CallNotAllowedInsideStatic","CallTooDeep","Contract","CreateCollision","CreateContractSizeLimit","CreateContractStartingWithEF","CreateInitCodeSizeLimit","EOFFunctionStackOverflow","EVM","EofAuxDataOverflow","EofAuxDataTooSmall","HaltReason","Info","InvalidEXTCALLTarget","InvalidFEOpcode","InvalidJump","InvalidOperand","Memory","MemoryLimit","NonceOverflow","NotActivated","OpcodeNotFound","OutOfFunds","OutOfGas","OutOfGasError","OutOfOffset","OverflowPayment","Precompile","PrecompileError","StackOverflow","StackUnderflow","StateChangeDuringStaticCall","U256","__clone_box","","address","artifact","borrow","","borrow_mut","","bytes","clone","","clone_into","","clone_to_uninit","","contract","dispatcher","eq","","equivalent","","","","","","evm","fmt","","from","","gas","halt","hash","","hex","inner","into","","keccak256","log","logs","lookup","ret","setup_logger","storage","to_bytes32","to_owned","","to_vec","try_from","","try_into","","type_id","","wasm","Bytes32","impl_bytes32","to_bytes32","to_vec","Contract","artifact","borrow","borrow_mut","bytecode","compile","current","default","dispatcher","encode","execute","from","","into","json_abi","pure","search","try_from","try_into","type_id","wasm","ALICE","CONTRACT","EVM","GAS_LIMIT","Info","address","borrow","","borrow_mut","","call","calldata","contract","db","default","","deploy","fmt","from","","gas","halt","inner","interp","into","","logs","ret","storage","try_from","","","","try_into","","type_id","","Manifest","Package","borrow","","borrow_mut","","deserialize","","from","","into","","name","package","pkg_name","target_dir","try_from","","try_into","","type_id","","wasm"],"q":[[0,"zint"],[91,"zint::bytes"],[95,"zint::contract"],[116,"zint::evm"],[153,"zint::lookup"],[176,"dyn_clone::sealed"],[177,"revm_primitives::result"],[178,"core::fmt"],[179,"core::result"],[180,"core::hash"],[181,"alloc::vec"],[182,"core::any"],[183,"anyhow"],[184,"core::convert"],[185,"alloc::string"],[186,"revm::db::in_memory_db"],[187,"revm_primitives::env"],[188,"serde::de"],[189,"std::path"],[190,"alloy_primitives::aliases"],[191,"zabi::selector"]],"i":"l`j0`00000`00``00011100000`0010000`01BjBd2323`232323`023222333`23231123`C`34``2`2`2An4504545452``00`22222222222222222222`````31313111113131333111333313331313``CnDb1010101001``101010`","f":"```````````````````````````````````{{bd}f}0``{b{{b{c}}}{}}0{{{b{h}}}{{b{hc}}}{}}0`{{{b{j}}}j}{{{b{l}}}l}{{b{b{hc}}}f{}}0{bf}0``{{{b{j}}{b{j}}}n}{{{b{l}}{b{l}}}n}{{b{b{c}}}n{}}00000`{{{b{j}}{b{hA`}}}{{Ad{fAb}}}}{{{b{l}}{b{hA`}}}{{Ad{fAb}}}}{cc{}}0``{{{b{j}}{b{hc}}}fAf}{{{b{l}}{b{hc}}}fAf}``{{}c{}}0{{{b{{Aj{Ah}}}}}{{Al{Ah}}}}````{{}f}`{{{b{An}}}{{Al{Ah}}}}{bc{}}0{{{b{An}}}{{B`{Ah}}}}{c{{Ad{e}}}{}{}}0{{}{{Ad{c}}}{}}0{bBb}0```53``{b{{b{c}}}{}}{{{b{h}}}{{b{hc}}}{}}{{{b{Bd}}}{{b{{Aj{Ah}}}}}}{Bd{{Bf{Bd}}}}{{}{{Bf{Bd}}}}{{}Bd}`{{{b{Bd}}e}{{Bf{{B`{Ah}}}}}An{{Bh{{Aj{c}}}}}}{{{b{hBd}}e}{{Bf{Bj}}}An{{Bh{{Aj{c}}}}}}{cc{}}{cBd{{Bh{{Aj{Ah}}}}}}{{}c{}}{{{b{Bd}}}{{Bf{Bl}}}}{BdBd}{{{b{Bn}}}{{Bf{Bd}}}}{c{{Ad{e}}}{}{}}{{}{{Ad{c}}}{}}{bBb}```````{b{{b{c}}}{}}0{{{b{h}}}{{b{hc}}}{}}0{{{b{hC`}}{Al{Ah}}}{{Bf{Bj}}}}{{{b{hC`}}{b{{Aj{Ah}}}}}{{b{hC`}}}}{{C`{b{{Aj{Ah}}}}}C`}{{{b{hC`}}}{{b{hCb}}}}{{}C`}{{}Bj}{{{b{hC`}}{b{{Aj{Ah}}}}}{{Bf{Bj}}}}{{{b{Bj}}{b{hA`}}}Cd}{cc{}}0```{{{b{{Aj{Ah}}}}{b{{Aj{Ah}}}}}{{Bf{Bj}}}}{{}c{}}0```??{{{Cj{CfCh}}}{{Bf{Bj}}}}{Cl{{Bf{Bj}}}}{{}{{Ad{c}}}{}}0{bBb}0``{b{{b{c}}}{}}0{{{b{h}}}{{b{hc}}}{}}0{c{{Ad{Cn}}}D`}{c{{Ad{Db}}}D`}::88``{{}{{Bf{Bl}}}}{{}{{Bf{Dd}}}}{c{{Ad{e}}}{}{}}08877{{{b{Bn}}}{{Bf{Dd}}}}","D":"Jh","p":[[1,"reference"],[5,"Private",176],[1,"unit"],[0,"mut"],[6,"HaltReason",0,177],[6,"OutOfGasError",0,177],[1,"bool"],[5,"Formatter",178],[5,"Error",178],[6,"Result",179],[10,"Hasher",180],[1,"u8"],[1,"slice"],[1,"array"],[10,"Bytes32",91],[5,"Vec",181],[5,"TypeId",182],[5,"Contract",95],[8,"Result",183],[10,"AsRef",184],[5,"Info",116],[5,"String",185],[1,"str"],[5,"EVM",116],[8,"InMemoryDB",186],[8,"Result",178],[5,"ResultAndState",177],[8,"TransactTo",187],[1,"tuple"],[6,"ExecutionResult",177],[5,"Manifest",153],[10,"Deserializer",188],[5,"Package",153],[5,"PathBuf",189]],"r":[[1,91],[4,95],[10,116],[13,177],[14,116],[26,177],[34,190],[73,191]],"b":[[147,"impl-TryFrom%3C(ResultAndState,+TxKind)%3E-for-Info"],[148,"impl-TryFrom%3CExecutionResult%3E-for-Info"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFwAGAABAAAAAwABAAYAAAARABEAJAABACgAAwAtAAUANQAHAD4AAQBEAAMASwAAAFIAAQBVAAUAYgABAGcAAABsAAAAcQACAHsAAwCCAAIAhgAAAIsAAACSAAcAnAAFAKoABQA="}]]')); +var searchIndex = new Map(JSON.parse('[["elko",{"t":"FFFONNNNCNNOONNNNNOONOCOOOONNNNNNCFNNNNNNONNNNNONOONNNNNNSSFSNNNNNNNNNNNNNOONNNNNNPPPGPPFPIFOOCOOOOOCCFFFFONNNNNNNNNNNNNNNNNNNNONNNNONNNNONNNNNNNNNNNNONOONNNNNNNNNNNNNNNNNNNNOOPPPGPPPINNNNNNNNNNNNNNNNNFNNNNNNONNONOONNNNNN","n":["Build","Compile","New","abi","augment_args","augment_args_for_update","borrow","borrow_mut","build","command","command_for_update","config","dispatcher","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","input","","into","name","new","out_dir","output","","path","run","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","utils","Build","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","config","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","input","into","out_dir","output","run","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","ADDITION","NAME","New","README","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","name","","path","run","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","Anyhow","CargoMetadata","Err","Error","Etc","Io","Manifest","Ok","Result","WasmBuilder","dependencies","lib","manifest","metadata","out_dir","output","package","","result","wasm","Dependencies","Lib","Manifest","Package","authors","borrow","","","","borrow_mut","","","","clone","","","","clone_into","","","","clone_to_uninit","","","","crate_type","default","","","","dependencies","deserialize","","","","edition","fmt","","","","from","","","","into","","","","lib","name","","package","serialize","","","","to_owned","","","","try_from","","","","try_into","","","","type_id","","","","version","zink","Anyhow","CargoMetadata","Err","Error","Etc","Io","Ok","Result","borrow","borrow_mut","fmt","","from","","","","","header","in_current_span","into","source","to_string","try_from","try_into","type_id","WasmBuilder","borrow","borrow_mut","build","compile","from","into","metadata","new","out_dir","","output","","package","post","try_from","try_into","type_id","with_out_dir","with_output"],"q":[[0,"elko"],[34,"elko::build"],[57,"elko::new"],[82,"elko::utils"],[102,"elko::utils::manifest"],[176,"elko::utils::result"],[201,"elko::utils::wasm"],[221,"clap_builder::builder::command"],[222,"zinkc::cli"],[223,"core::fmt"],[224,"core::result"],[225,"clap_builder::parser::matches::arg_matches"],[226,"clap_builder::error"],[227,"clap_builder::util::id"],[228,"core::option"],[229,"anyhow"],[230,"core::any"],[231,"clap_builder"],[232,"alloc::string"],[233,"serde::de"],[234,"serde::ser"],[235,"std::io::error"],[236,"etc::error"],[237,"cargo_metadata::errors"],[238,"color_eyre::section"],[239,"core::marker"],[240,"core::error"],[241,"std::path"],[242,"core::convert"]],"i":"```h0000`00An111111011Bf`1120222222``1111111111111111111111````000000000000000000000Ch0Dl`11`0``C`0`Dj0001``````Bj0BlBn421042104210421041210442104221042104210444242104210421042104210420665`665`66666666666666666`3333333333333333333","f":"````{bb}0{d{{d{c}}}{}}{{{d{f}}}{{d{fc}}}{}}`{{}b}0``{{{d{h}}{d{fj}}}{{A`{ln}}}}{cc{}}{{{d{Ab}}}{{A`{hAd}}}}{{{d{fAb}}}{{A`{hAd}}}}{{}{{Ah{Af}}}}``{{}c{}}``````{{{d{h}}}{{A`{lAj}}}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{dAl}{{{d{fh}}{d{Ab}}}{{A`{lAd}}}}{{{d{fh}}{d{fAb}}}{{A`{lAd}}}}``??>=<<`{{{d{An}}{d{fj}}}B`};{{{d{Ab}}}{{A`{AnBb}}}}{{{d{fAb}}}{{A`{AnBb}}}}:`9``{{{d{An}}}{{Bd{l}}}}876{{{d{fAn}}{d{Ab}}}{{A`{lBb}}}}{{{d{fAn}}{d{fAb}}}{{A`{lBb}}}}````{bb}0{d{{d{c}}}{}}{{{d{f}}}{{d{fc}}}{}}{{}b}0{{{d{Bf}}{d{fj}}}B`}{cc{}}{{{d{Ab}}}{{A`{BfBb}}}}{{{d{fAb}}}{{A`{BfBb}}}}{{}{{Ah{Af}}}}{{}c{}}{{{d{Bf}}}{{Bd{Bh}}}}``{{{d{Bf}}}{{Bd{l}}}}{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{dAl}{{{d{fBf}}{d{Ab}}}{{A`{lBb}}}}{{{d{fBf}}{d{fAb}}}{{A`{lBb}}}}`````````````````````````????>>>>{{{d{Bj}}}Bj}{{{d{Bl}}}Bl}{{{d{Bn}}}Bn}{{{d{C`}}}C`}{{d{d{fc}}}l{}}000{dl}000`{{}Bj}{{}Bl}{{}Bn}{{}C`}`{c{{A`{Bj}}}Cb}{c{{A`{Bl}}}Cb}{c{{A`{Bn}}}Cb}{c{{A`{C`}}}Cb}`{{{d{Bj}}{d{fj}}}B`}{{{d{Bl}}{d{fj}}}B`}{{{d{Bn}}{d{fj}}}B`}{{{d{C`}}{d{fj}}}B`}{cc{}}000{{}c{}}000`{{{d{fC`}}{d{Cd}}}{{d{fC`}}}}``{{{d{Bj}}c}A`Cf}{{{d{Bl}}c}A`Cf}{{{d{Bn}}c}A`Cf}{{{d{C`}}c}A`Cf}{dc{}}000{c{{A`{e}}}{}{}}000{{}{{A`{c}}}{}}000{dAl}000``````````{d{{d{c}}}{}}{{{d{f}}}{{d{fc}}}{}}{{{d{Ch}}{d{fj}}}B`}0={CjCh}{ClCh}{CnCh}{AjCh}{c{{D`{ce}}}{DbDdDf}{}}{{}}{{}c{}}{{{d{Ch}}}{{Ah{{d{Dh}}}}}}{dBh}>=<`;:{{{d{Dj}}}{{Dl{l}}}}0{cc{}}4`{c{{Dl{Dj}}}{{E`{Dn}}}}{{{d{Dj}}}{{Dl{Dn}}}}`0``3{c{{A`{e}}}{}{}}{{}{{A`{c}}}{}}{dAl}{{{d{fDj}}c}{{d{fDj}}}{{E`{Dn}}}}0","D":"K`","p":[[5,"Command",221],[1,"reference"],[0,"mut"],[5,"Compile",0,222],[5,"Formatter",223],[1,"unit"],[5,"Error",223],[6,"Result",224],[5,"ArgMatches",225],[5,"Error",226],[5,"Id",227],[6,"Option",228],[5,"Error",229],[5,"TypeId",230],[5,"Build",34],[8,"Result",223],[8,"Error",231],[8,"Result",229],[5,"New",57],[5,"String",232],[5,"Package",102],[5,"Lib",102],[5,"Dependencies",102],[5,"Manifest",102],[10,"Deserializer",233],[1,"str"],[10,"Serializer",234],[6,"Error",176],[5,"Error",235],[6,"Error",236],[6,"Error",237],[5,"IndentedSection",238],[10,"Display",223],[10,"Send",239],[10,"Sync",239],[10,"Error",240],[5,"WasmBuilder",201],[8,"Result",176],[5,"PathBuf",241],[10,"Into",242]],"r":[[0,34],[1,222],[2,57],[85,176],[88,102],[90,176],[91,201]],"b":[[186,"impl-Display-for-Error"],[187,"impl-Debug-for-Error"],[189,"impl-From%3CError%3E-for-Error"],[190,"impl-From%3CError%3E-for-Error"],[191,"impl-From%3CError%3E-for-Error"],[192,"impl-From%3CError%3E-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAIUAHQAEAAQACgABAA0AAQAQAAIAFAAAABoAAQAdAAQAJAAFACsAAAAtAAIANQAGAD0ABwBGAAIATAAAAE4ABABgAAMAbAATAIEAAwCGAAMAiwADAJsAEwC5AAMAvgAFAMUABADLAAEA0QAAANQAAADWAAEA2QACAA=="}],["evm_opcodes",{"t":"PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPGPPPPPPPPPPPPPPPPPPPPPPPPPKPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPGPPPPPGPNNNNNNNNNNNNNNNNQNNMMNNQNNCMMMNNNNNNNNPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPGPPNNNNNNNNNNNNNNNNNNNNNN","n":["ADD","ADDMOD","ADDRESS","AND","BALANCE","BLOCKHASH","BYTE","Berlin","BlockInformation","Byzantium","CALL","CALLCODE","CALLDATACOPY","CALLDATALOAD","CALLDATASIZE","CALLER","CALLVALUE","CODECOPY","CODESIZE","COINBASE","CREATE","CREATE2","ComparisonBitwiseLogic","Constantinople","DELEGATECALL","DIFFICULTY","DIV","DUP1","DUP10","DUP11","DUP12","DUP13","DUP14","DUP15","DUP16","DUP2","DUP3","DUP4","DUP5","DUP6","DUP7","DUP8","DUP9","Data","Duplication","EQ","EXP","EXTCODECOPY","EXTCODESIZE","EnvironmentalInformation","Exchange","Frontier","GAS","GASLIMIT","GASPRICE","GT","Group","INVALID","ISZERO","Istanbul","JUMP","JUMPDEST","JUMPI","LOG0","LOG1","LOG2","LOG3","LOG4","LT","Logging","London","MLOAD","MOD","MSIZE","MSTORE","MSTORE8","MUL","MULMOD","NOT","NUMBER","OR","ORIGIN","OpCode","PC","POP","PUSH0","PUSH1","PUSH10","PUSH11","PUSH12","PUSH13","PUSH14","PUSH15","PUSH16","PUSH17","PUSH18","PUSH19","PUSH2","PUSH20","PUSH21","PUSH22","PUSH23","PUSH24","PUSH25","PUSH26","PUSH27","PUSH28","PUSH29","PUSH3","PUSH30","PUSH31","PUSH32","PUSH4","PUSH5","PUSH6","PUSH7","PUSH8","PUSH9","Push","RETURN","RETURNDATACOPY","RETURNDATASIZE","REVERT","SAR","SDIV","SELFDESTRUCT","SGT","SHA3","SHL","SHR","SIGNEXTEND","SLOAD","SLT","SMOD","SSTORE","STATICCALL","STOP","SUB","SWAP1","SWAP10","SWAP11","SWAP12","SWAP13","SWAP14","SWAP15","SWAP16","SWAP2","SWAP3","SWAP4","SWAP5","SWAP6","SWAP7","SWAP8","SWAP9","Sha3","ShangHai","Shanghai","StackMemoryStorageFlow","StopArithmetic","System","TIMESTAMP","Upgrade","XOR","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","cmp","","eq","","fmt","","for_each_shanghai_operator","from","","gas","group","into","","opcodes","partial_cmp","","shanghai","since","stack_in","stack_out","to_owned","","try_from","","try_into","","type_id","","ADD","ADDMOD","ADDRESS","AND","BALANCE","BLOCKHASH","BYTE","CALL","CALLCODE","CALLDATACOPY","CALLDATALOAD","CALLDATASIZE","CALLER","CALLVALUE","CODECOPY","CODESIZE","COINBASE","CREATE","CREATE2","DELEGATECALL","DIFFICULTY","DIV","DUP1","DUP10","DUP11","DUP12","DUP13","DUP14","DUP15","DUP16","DUP2","DUP3","DUP4","DUP5","DUP6","DUP7","DUP8","DUP9","Data","EQ","EXP","EXTCODECOPY","EXTCODESIZE","GAS","GASLIMIT","GASPRICE","GT","INVALID","ISZERO","JUMP","JUMPDEST","JUMPI","LOG0","LOG1","LOG2","LOG3","LOG4","LT","MLOAD","MOD","MSIZE","MSTORE","MSTORE8","MUL","MULMOD","NOT","NUMBER","OR","ORIGIN","PC","POP","PUSH0","PUSH1","PUSH10","PUSH11","PUSH12","PUSH13","PUSH14","PUSH15","PUSH16","PUSH17","PUSH18","PUSH19","PUSH2","PUSH20","PUSH21","PUSH22","PUSH23","PUSH24","PUSH25","PUSH26","PUSH27","PUSH28","PUSH29","PUSH3","PUSH30","PUSH31","PUSH32","PUSH4","PUSH5","PUSH6","PUSH7","PUSH8","PUSH9","RETURN","RETURNDATACOPY","RETURNDATASIZE","REVERT","SAR","SDIV","SELFDESTRUCT","SGT","SHA3","SHL","SHR","SIGNEXTEND","SLOAD","SLT","SMOD","SSTORE","STATICCALL","STOP","SUB","SWAP1","SWAP10","SWAP11","SWAP12","SWAP13","SWAP14","SWAP15","SWAP16","SWAP2","SWAP3","SWAP4","SWAP5","SWAP6","SWAP7","SWAP8","SWAP9","ShangHai","TIMESTAMP","XOR","borrow","borrow_mut","clone","clone_into","clone_to_uninit","cmp","eq","fmt","from","","from_str","gas","group","into","partial_cmp","since","stack_in","stack_out","to_owned","try_from","try_into","type_id"],"q":[[0,"evm_opcodes"],[201,"evm_opcodes::shanghai"],[365,"core::cmp"],[366,"core::fmt"],[367,"core::option"],[368,"core::result"],[369,"core::any"]],"i":"An000000hf12222222222220122222222222222222222022220012222`2212222222220122222222222`222222222222222222222222222222222220222222222222222222222222222222222220`10002`20101010101010101`01Ad012`12`000121212123333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333`333333333333333333333333","f":"```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````{b{{b{c}}}{}}0{{{b{d}}}{{b{dc}}}{}}0{{{b{f}}}f}{{{b{h}}}h}{{b{b{dc}}}j{}}0{bj}0{{{b{f}}{b{f}}}l}{{{b{h}}{b{h}}}l}{{{b{f}}{b{f}}}n}{{{b{h}}{b{h}}}n}{{{b{f}}{b{dA`}}}Ab}{{{b{h}}{b{dA`}}}Ab}`{cc{}}0{{{b{Ad}}}Af}{{{b{Ad}}}f}{{}c{}}0`{{{b{f}}{b{f}}}{{Ah{l}}}}{{{b{h}}{b{h}}}{{Ah{l}}}}`{{{b{Ad}}}h}55{bc{}}0{c{{Aj{e}}}{}{}}0{{}{{Aj{c}}}{}}0{bAl}0``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{An}}}An}{{b{b{dc}}}j{}}{bj}{{{b{An}}{b{An}}}l}{{{b{An}}{b{An}}}n}{{{b{An}}{b{dA`}}}Ab}{B`An}{cc{}}{{{b{Bb}}}{{Aj{Anc}}}{}}{{{b{An}}}Af}{{{b{An}}}f}{{}c{}}{{{b{An}}{b{An}}}{{Ah{l}}}}{{{b{An}}}h}44{bc{}}{c{{Aj{e}}}{}{}}{{}{{Aj{c}}}{}}{bAl}","D":"BH`","p":[[1,"reference"],[0,"mut"],[6,"Group",0],[6,"Upgrade",0],[1,"unit"],[6,"Ordering",365],[1,"bool"],[5,"Formatter",366],[8,"Result",366],[10,"OpCode",0],[1,"u16"],[6,"Option",367],[6,"Result",368],[5,"TypeId",369],[6,"ShangHai",201],[1,"u8"],[1,"str"]],"r":[[155,201]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAC0ABgCkAA8AvAABAMIABwBYAQgAYgECAGYBBwA="}],["sol_abi",{"t":"FFPPGPPPCCOOOOOOFPPGNNNNNNNNNNNNNNNNNNNNNNNONNOONNNNNNNNNONNFPPGPPPNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNONN","n":["Abi","Arg","Int32","Int64","Param","UInt32","UInt64","Unknown","abi","arg","inputs","name","","outputs","ty","","Abi","Constructor","Function","Type","as_ref","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","default","","deserialize","","fmt","","","from","","","","from_str","inputs","into","","name","outputs","serialize","","to_owned","","to_string","try_from","","try_into","","ty","type_id","","Arg","Int32","Int64","Param","UInt32","UInt64","Unknown","as_ref","borrow","","borrow_mut","","clone","","clone_into","","clone_to_uninit","","default","","deserialize","","fmt","","","from","","","","from_str","into","","name","serialize","","to_owned","","to_string","try_from","","try_into","","ty","type_id",""],"q":[[0,"sol_abi"],[16,"sol_abi::abi"],[60,"sol_abi::arg"],[105,"core::result"],[106,"serde::de"],[107,"core::fmt"],[108,"syn::item"],[109,"serde::ser"],[110,"alloc::string"],[111,"core::any"],[112,"syn::ty"],[113,"alloc::boxed"]],"i":"``An0`000``j0B`110`b0`0202020202020202002200022022202002020220`33`33331313131313131313313333131131331313113","f":"````````````````````{{{d{b}}}{{d{f}}}}{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{j}}}j}{{{d{b}}}b}{{d{d{hc}}}l{}}0{dl}0{{}j}{{}b}{c{{n{j}}}A`}{c{{n{b}}}A`}{{{d{j}}{d{hAb}}}Ad}{{{d{b}}{d{hAb}}}Ad}0{{{d{Af}}}j}{cc{}}0{{{d{f}}}b}{{{d{f}}}{{n{bc}}}{}}`{{}c{}}0``{{{d{j}}c}nAh}{{{d{b}}c}nAh}{dc{}}0{dAj}{c{{n{e}}}{}{}}0{{}{{n{c}}}{}}0`{dAl}0```````{{{d{An}}}{{d{f}}}}{d{{d{c}}}{}}0{{{d{h}}}{{d{hc}}}{}}0{{{d{B`}}}B`}{{{d{An}}}An}{{d{d{hc}}}l{}}0{dl}0{{}B`}{{}An}{c{{n{B`}}}A`}{c{{n{An}}}A`}{{{d{B`}}{d{hAb}}}Ad}{{{d{An}}{d{hAb}}}Ad}0{cc{}}{{{d{{Bd{Bb}}}}}An}{{{d{f}}}An}2{{{d{f}}}{{n{Anc}}}{}}{{}c{}}0`{{{d{B`}}c}nAh}{{{d{An}}c}nAh}{dc{}}0{dAj}{c{{n{e}}}{}{}}0{{}{{n{c}}}{}}0`{dAl}0","D":"Ed","p":[[6,"Type",16],[1,"reference"],[1,"str"],[0,"mut"],[5,"Abi",16],[1,"unit"],[6,"Result",105],[10,"Deserializer",106],[5,"Formatter",107],[8,"Result",107],[5,"Signature",108],[10,"Serializer",109],[5,"String",110],[5,"TypeId",111],[6,"Param",60],[5,"Arg",60],[6,"Type",112],[5,"Box",113]],"r":[[0,16],[1,60],[4,60]],"b":[[36,"impl-Debug-for-Type"],[37,"impl-Display-for-Type"],[83,"impl-Display-for-Param"],[84,"impl-Debug-for-Param"],[86,"impl-From%3C%26Box%3CType%3E%3E-for-Param"],[87,"impl-From%3C%26str%3E-for-Param"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAD8ACQAVABIAKgABADEACAA7AAEARAARAFcAAQBaAAAAXgAIAGgAAQA="}],["zabi",{"t":"FNNNNNNNNNNNNNNNNCNCCNNNNNNNNNNPGPPPINNNNNNNNNNNNNHH","n":["Abi","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","deserialize","fmt","","from","","from_bytes","from_hex","from_str","hex_impl","into","result","selector","","serialize","signature","to_bytes","to_hex","to_owned","to_string","try_from","try_into","type_id","Err","Error","Hex","Ok","Postcard","Result","borrow","borrow_mut","fmt","","from","","","into","source","to_string","try_from","try_into","type_id","keccak256","parse"],"q":[[0,"zabi"],[31,"zabi::result"],[50,"zabi::selector"],[52,"core::result"],[53,"serde::de"],[54,"core::fmt"],[55,"syn::item"],[56,"postcard::error"],[57,"core::convert"],[58,"serde::ser"],[59,"alloc::string"],[60,"alloc::vec"],[61,"core::any"],[62,"hex::error"],[63,"core::error"],[64,"core::option"]],"i":"`f000000000000000`0``0000000000Al`Bj10`0000000000000``","f":"`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{f}}}f}{{b{b{dc}}}h{}}{bh}{{}f}{{{b{f}}}{{b{c}}}{}}{{{b{df}}}{{b{dc}}}{}}{c{{j{f}}}l}{{{b{f}}{b{dn}}}A`}0{{{b{Ab}}}f}{cc{}}{c{{Ad{f}}}{{Aj{{Ah{Af}}}}}}{c{{Al{f}}}{{Aj{An}}}}{{{b{An}}}{{Al{f}}}}`{{}c{}}``{{{b{f}}}{{B`{Af}}}}{{{b{f}}c}jBb}{{{b{f}}}Bd}{{{b{f}}}{{Ad{{Bf{Af}}}}}}{{{b{f}}}{{Al{Bd}}}}{bc{}}{bBd}{c{{j{e}}}{}{}}{{}{{j{c}}}{}}{bBh}``````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{Bj}}{b{dn}}}A`}0{cc{}}{BlBj}{BnBj}{{}c{}}{{{b{Bj}}}{{Cb{{b{C`}}}}}};:98{{{b{{Ah{Af}}}}}{{B`{Af}}}}0","D":"Bl","p":[[1,"reference"],[0,"mut"],[5,"Abi",0],[1,"unit"],[6,"Result",52],[10,"Deserializer",53],[5,"Formatter",54],[8,"Result",54],[5,"Signature",55],[8,"Result",56],[1,"u8"],[1,"slice"],[10,"AsRef",57],[8,"Result",31],[1,"str"],[1,"array"],[10,"Serializer",58],[5,"String",59],[5,"Vec",60],[5,"TypeId",61],[6,"Error",31],[6,"FromHexError",62],[6,"Error",56],[10,"Error",63],[6,"Option",64]],"r":[],"b":[[10,"impl-Display-for-Abi"],[11,"impl-Debug-for-Abi"],[39,"impl-Debug-for-Error"],[40,"impl-Display-for-Error"],[42,"impl-From%3CFromHexError%3E-for-Error"],[43,"impl-From%3CError%3E-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAB4ABwACAAsAEQABABcAAAAbAAQAJgADACsAAQAuAAQA"}],["zingen",{"t":"PFSPPIPFFFFGPPFPPPPGPPPFPPPIPPPPPPPPPFPPPFFPFPPIPPPPPPOCOOCOOOCCOOOOOOOOOOCOCOCOOOOOOCOOOOOOOOOCCCFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNOQNNNNOONNNNFNNNNNONNNNNNNEEEEEECCCCFFNNNNONNNNNNNNNNNNNNNNNONNNNNONNOONNNNNNNNNFINNNNNNNNNNONNNNNNFOONNNONNNONNNNNONNNFNNNNNNNNNNNNNNNNNNNNONNNNONNONNNNNNNOONNONONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPFFGPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNONONNNNNNNNNONNNPPGEPPNNNNNNNNNNNNNNCCCNNNNHHFNNNNNNNONNNNNONONNNNNNNNNNNNNNNFGFPPNNNNNNNNNNNNNNNNNNNOONNNNNNNNNONNNNNNNONNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNCNNNNCCNNNNCNNNCNNNNONNCNONCNNNNNNNNPPPPPPPPGPPPPPPPPPPPPPPPPPPPIPPPPPPNNNNNNNNNNNNNFNNNNNNNQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCCQCCQFPFPFFFGFPRKKCONNNNNNNNNNNNNNNCONNNNNNNONNNNNNCCQONNNNNMMNNNNNNNNNNNNOSRKKNNQMMFNNNNNNNNNNNNNNNNFFNONNNNNNNNNNNNNNNNNNNNNOPPGPNNNNNNNNNNNNNNNNNNNNNN","n":["Abi","Assembler","BUFFER_LIMIT","BinaryReader","Block","Buffer","BufferOverflow","Code","Constructor","ControlStack","ControlStackFrame","ControlStackFrameType","ControlStackUnderflow","DataNotFound","Dispatcher","DuplicateFunc","DuplicateJump","Else","Err","Error","ExtFuncNotFound","FuncNotFound","FuncNotImported","Function","HostFuncNotFound","If","ImportedFuncNotFound","InitStorage","InvalidDataOffset","InvalidDataSize","InvalidDepth","InvalidElseBlock","InvalidFunctionSignature","InvalidLocalIndex","InvalidMP","InvalidPC","InvalidSelector","JumpTable","LabelMismatch","LocalIndexOutOfRange","LocalNotOnStack","LocalSlot","Locals","Loop","MacroAssembler","MemoryOutOfBounds","Ok","Result","SelectorNotFound","StackIndexOutOfRange","StackNotBalanced","StackOverflow","StackUnderflow","UnsupportedHostFunc","abi","asm","","","backtrace","","buffer","code","codegen","control","","env","","func","funcs","","gas","inner","","is_main","jump","","local","locals","masm","","","mp","offset","original_pc_offset","original_sp","result","","sp","","stack","table","","ty","","","validator","visitor","wasm","Assembler","_add","_addmod","_address","_and","_balance","_blockhash","_byte","_call","_callcode","_calldatacopy","_calldataload","_calldatasize","_caller","_callvalue","_codecopy","_codesize","_coinbase","_create","_create2","_delegatecall","_difficulty","_div","_dup1","_dup10","_dup11","_dup12","_dup13","_dup14","_dup15","_dup16","_dup2","_dup3","_dup4","_dup5","_dup6","_dup7","_dup8","_dup9","_eq","_exp","_extcodecopy","_extcodesize","_gas","_gaslimit","_gasprice","_gt","_invalid","_iszero","_jump","_jumpdest","_jumpi","_log0","_log1","_log2","_log3","_log4","_lt","_mload","_mod","_msize","_mstore","_mstore8","_mul","_mulmod","_not","_number","_or","_origin","_pc","_pop","_push0","_push1","_push10","_push11","_push12","_push13","_push14","_push15","_push16","_push17","_push18","_push19","_push2","_push20","_push21","_push22","_push23","_push24","_push25","_push26","_push27","_push28","_push29","_push3","_push30","_push31","_push32","_push4","_push5","_push6","_push7","_push8","_push9","_return","_returndatacopy","_returndatasize","_revert","_sar","_sdiv","_selfdestruct","_sgt","_sha3","_shl","_shr","_signextend","_sload","_slt","_smod","_sstore","_staticcall","_stop","_sub","_swap1","_swap10","_swap11","_swap12","_swap13","_swap14","_swap15","_swap16","_swap2","_swap3","_swap4","_swap5","_swap6","_swap7","_swap8","_swap9","_timestamp","_xor","borrow","borrow_mut","buffer","","buffer_mut","clone","clone_into","clone_to_uninit","decrement_mp","decrement_sp","default","emit","emit_op","emitn","fmt","from","gas","impl_opcodes","increment_gas","increment_mp","increment_sp","into","mp","sp","to_owned","try_from","try_into","type_id","Backtrace","borrow","borrow_mut","default","fmt","from","instrs","into","pop","popn","push","try_from","try_into","type_id","Code","Constructor","Dispatcher","ExtFunc","Function","InitStorage","code","constructor","dispatcher","function","Code","ExtFunc","borrow","","borrow_mut","","bytecode","clone","","clone_into","","clone_to_uninit","","default","eq","equivalent","","","finish","fmt","","from","","funcs","","hash","into","","new","offset","","offset_of","shift","stack_in","stack_out","to_owned","","try_add_func","try_from","","try_into","","type_id","","Constructor","InitStorage","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","finish","fmt","from","into","masm","runtime_bytcode_offset","storage","to_owned","try_from","try_into","type_id","Dispatcher","abi","asm","borrow","borrow_mut","emit_selector","env","ext_return","finish","from","funcs","into","load_abi","new","process","query_func","table","try_from","try_into","type_id","Function","_block","_br","_br_if","_br_table","_call","_call_indirect","_else","_end","_global_get","_global_set","_if","_local_get","_local_get_calldata","_local_get_var","_local_set","_local_tee","_loop","_nop","_select","_unreachable","backtrace","borrow","borrow_mut","call_imported","call_internal","control","emit_locals","emit_operators","env","finish","from","handle_call_return","handle_frame_popping","handle_jumpdest","handle_return","into","is_main","locals","log","log_data","masm","new","table","try_from","try_into","ty","type_id","visit_any_convert_extern","visit_array_copy","visit_array_fill","visit_array_get","visit_array_get_s","visit_array_get_u","visit_array_init_data","visit_array_init_elem","visit_array_len","visit_array_new","visit_array_new_data","visit_array_new_default","visit_array_new_elem","visit_array_new_fixed","visit_array_set","visit_atomic_fence","visit_block","visit_br","visit_br_if","visit_br_on_cast","visit_br_on_cast_fail","visit_br_on_non_null","visit_br_on_null","visit_br_table","visit_call","visit_call_indirect","visit_call_ref","visit_catch","visit_catch_all","visit_data_drop","visit_delegate","visit_drop","visit_elem_drop","visit_else","visit_end","visit_extern_convert_any","visit_f32_abs","visit_f32_add","visit_f32_ceil","visit_f32_const","visit_f32_convert_i32_s","visit_f32_convert_i32_u","visit_f32_convert_i64_s","visit_f32_convert_i64_u","visit_f32_copysign","visit_f32_demote_f64","visit_f32_div","visit_f32_eq","visit_f32_floor","visit_f32_ge","visit_f32_gt","visit_f32_le","visit_f32_load","visit_f32_lt","visit_f32_max","visit_f32_min","visit_f32_mul","visit_f32_ne","visit_f32_nearest","visit_f32_neg","visit_f32_reinterpret_i32","visit_f32_sqrt","visit_f32_store","visit_f32_sub","visit_f32_trunc","visit_f32x4_abs","visit_f32x4_add","visit_f32x4_ceil","visit_f32x4_convert_i32x4_s","visit_f32x4_convert_i32x4_u","visit_f32x4_demote_f64x2_zero","visit_f32x4_div","visit_f32x4_eq","visit_f32x4_extract_lane","visit_f32x4_floor","visit_f32x4_ge","visit_f32x4_gt","visit_f32x4_le","visit_f32x4_lt","visit_f32x4_max","visit_f32x4_min","visit_f32x4_mul","visit_f32x4_ne","visit_f32x4_nearest","visit_f32x4_neg","visit_f32x4_pmax","visit_f32x4_pmin","visit_f32x4_relaxed_madd","visit_f32x4_relaxed_max","visit_f32x4_relaxed_min","visit_f32x4_relaxed_nmadd","visit_f32x4_replace_lane","visit_f32x4_splat","visit_f32x4_sqrt","visit_f32x4_sub","visit_f32x4_trunc","visit_f64_abs","visit_f64_add","visit_f64_ceil","visit_f64_const","visit_f64_convert_i32_s","visit_f64_convert_i32_u","visit_f64_convert_i64_s","visit_f64_convert_i64_u","visit_f64_copysign","visit_f64_div","visit_f64_eq","visit_f64_floor","visit_f64_ge","visit_f64_gt","visit_f64_le","visit_f64_load","visit_f64_lt","visit_f64_max","visit_f64_min","visit_f64_mul","visit_f64_ne","visit_f64_nearest","visit_f64_neg","visit_f64_promote_f32","visit_f64_reinterpret_i64","visit_f64_sqrt","visit_f64_store","visit_f64_sub","visit_f64_trunc","visit_f64x2_abs","visit_f64x2_add","visit_f64x2_ceil","visit_f64x2_convert_low_i32x4_s","visit_f64x2_convert_low_i32x4_u","visit_f64x2_div","visit_f64x2_eq","visit_f64x2_extract_lane","visit_f64x2_floor","visit_f64x2_ge","visit_f64x2_gt","visit_f64x2_le","visit_f64x2_lt","visit_f64x2_max","visit_f64x2_min","visit_f64x2_mul","visit_f64x2_ne","visit_f64x2_nearest","visit_f64x2_neg","visit_f64x2_pmax","visit_f64x2_pmin","visit_f64x2_promote_low_f32x4","visit_f64x2_relaxed_madd","visit_f64x2_relaxed_max","visit_f64x2_relaxed_min","visit_f64x2_relaxed_nmadd","visit_f64x2_replace_lane","visit_f64x2_splat","visit_f64x2_sqrt","visit_f64x2_sub","visit_f64x2_trunc","visit_global_get","visit_global_set","visit_i16x8_abs","visit_i16x8_add","visit_i16x8_add_sat_s","visit_i16x8_add_sat_u","visit_i16x8_all_true","visit_i16x8_avgr_u","visit_i16x8_bitmask","visit_i16x8_eq","visit_i16x8_extadd_pairwise_i8x16_s","visit_i16x8_extadd_pairwise_i8x16_u","visit_i16x8_extend_high_i8x16_s","visit_i16x8_extend_high_i8x16_u","visit_i16x8_extend_low_i8x16_s","visit_i16x8_extend_low_i8x16_u","visit_i16x8_extmul_high_i8x16_s","visit_i16x8_extmul_high_i8x16_u","visit_i16x8_extmul_low_i8x16_s","visit_i16x8_extmul_low_i8x16_u","visit_i16x8_extract_lane_s","visit_i16x8_extract_lane_u","visit_i16x8_ge_s","visit_i16x8_ge_u","visit_i16x8_gt_s","visit_i16x8_gt_u","visit_i16x8_le_s","visit_i16x8_le_u","visit_i16x8_lt_s","visit_i16x8_lt_u","visit_i16x8_max_s","visit_i16x8_max_u","visit_i16x8_min_s","visit_i16x8_min_u","visit_i16x8_mul","visit_i16x8_narrow_i32x4_s","visit_i16x8_narrow_i32x4_u","visit_i16x8_ne","visit_i16x8_neg","visit_i16x8_q15mulr_sat_s","visit_i16x8_relaxed_dot_i8x16_i7x16_s","visit_i16x8_relaxed_laneselect","visit_i16x8_relaxed_q15mulr_s","visit_i16x8_replace_lane","visit_i16x8_shl","visit_i16x8_shr_s","visit_i16x8_shr_u","visit_i16x8_splat","visit_i16x8_sub","visit_i16x8_sub_sat_s","visit_i16x8_sub_sat_u","visit_i31_get_s","visit_i31_get_u","visit_i32_add","visit_i32_and","visit_i32_atomic_load","visit_i32_atomic_load16_u","visit_i32_atomic_load8_u","visit_i32_atomic_rmw16_add_u","visit_i32_atomic_rmw16_and_u","visit_i32_atomic_rmw16_cmpxchg_u","visit_i32_atomic_rmw16_or_u","visit_i32_atomic_rmw16_sub_u","visit_i32_atomic_rmw16_xchg_u","visit_i32_atomic_rmw16_xor_u","visit_i32_atomic_rmw8_add_u","visit_i32_atomic_rmw8_and_u","visit_i32_atomic_rmw8_cmpxchg_u","visit_i32_atomic_rmw8_or_u","visit_i32_atomic_rmw8_sub_u","visit_i32_atomic_rmw8_xchg_u","visit_i32_atomic_rmw8_xor_u","visit_i32_atomic_rmw_add","visit_i32_atomic_rmw_and","visit_i32_atomic_rmw_cmpxchg","visit_i32_atomic_rmw_or","visit_i32_atomic_rmw_sub","visit_i32_atomic_rmw_xchg","visit_i32_atomic_rmw_xor","visit_i32_atomic_store","visit_i32_atomic_store16","visit_i32_atomic_store8","visit_i32_clz","visit_i32_const","visit_i32_ctz","visit_i32_div_s","visit_i32_div_u","visit_i32_eq","visit_i32_eqz","visit_i32_extend16_s","visit_i32_extend8_s","visit_i32_ge_s","visit_i32_ge_u","visit_i32_gt_s","visit_i32_gt_u","visit_i32_le_s","visit_i32_le_u","visit_i32_load","visit_i32_load16_s","visit_i32_load16_u","visit_i32_load8_s","visit_i32_load8_u","visit_i32_lt_s","visit_i32_lt_u","visit_i32_mul","visit_i32_ne","visit_i32_or","visit_i32_popcnt","visit_i32_reinterpret_f32","visit_i32_rem_s","visit_i32_rem_u","visit_i32_rotl","visit_i32_rotr","visit_i32_shl","visit_i32_shr_s","visit_i32_shr_u","visit_i32_store","visit_i32_store16","visit_i32_store8","visit_i32_sub","visit_i32_trunc_f32_s","visit_i32_trunc_f32_u","visit_i32_trunc_f64_s","visit_i32_trunc_f64_u","visit_i32_trunc_sat_f32_s","visit_i32_trunc_sat_f32_u","visit_i32_trunc_sat_f64_s","visit_i32_trunc_sat_f64_u","visit_i32_wrap_i64","visit_i32_xor","visit_i32x4_abs","visit_i32x4_add","visit_i32x4_all_true","visit_i32x4_bitmask","visit_i32x4_dot_i16x8_s","visit_i32x4_eq","visit_i32x4_extadd_pairwise_i16x8_s","visit_i32x4_extadd_pairwise_i16x8_u","visit_i32x4_extend_high_i16x8_s","visit_i32x4_extend_high_i16x8_u","visit_i32x4_extend_low_i16x8_s","visit_i32x4_extend_low_i16x8_u","visit_i32x4_extmul_high_i16x8_s","visit_i32x4_extmul_high_i16x8_u","visit_i32x4_extmul_low_i16x8_s","visit_i32x4_extmul_low_i16x8_u","visit_i32x4_extract_lane","visit_i32x4_ge_s","visit_i32x4_ge_u","visit_i32x4_gt_s","visit_i32x4_gt_u","visit_i32x4_le_s","visit_i32x4_le_u","visit_i32x4_lt_s","visit_i32x4_lt_u","visit_i32x4_max_s","visit_i32x4_max_u","visit_i32x4_min_s","visit_i32x4_min_u","visit_i32x4_mul","visit_i32x4_ne","visit_i32x4_neg","visit_i32x4_relaxed_dot_i8x16_i7x16_add_s","visit_i32x4_relaxed_laneselect","visit_i32x4_relaxed_trunc_f32x4_s","visit_i32x4_relaxed_trunc_f32x4_u","visit_i32x4_relaxed_trunc_f64x2_s_zero","visit_i32x4_relaxed_trunc_f64x2_u_zero","visit_i32x4_replace_lane","visit_i32x4_shl","visit_i32x4_shr_s","visit_i32x4_shr_u","visit_i32x4_splat","visit_i32x4_sub","visit_i32x4_trunc_sat_f32x4_s","visit_i32x4_trunc_sat_f32x4_u","visit_i32x4_trunc_sat_f64x2_s_zero","visit_i32x4_trunc_sat_f64x2_u_zero","visit_i64_add","visit_i64_and","visit_i64_atomic_load","visit_i64_atomic_load16_u","visit_i64_atomic_load32_u","visit_i64_atomic_load8_u","visit_i64_atomic_rmw16_add_u","visit_i64_atomic_rmw16_and_u","visit_i64_atomic_rmw16_cmpxchg_u","visit_i64_atomic_rmw16_or_u","visit_i64_atomic_rmw16_sub_u","visit_i64_atomic_rmw16_xchg_u","visit_i64_atomic_rmw16_xor_u","visit_i64_atomic_rmw32_add_u","visit_i64_atomic_rmw32_and_u","visit_i64_atomic_rmw32_cmpxchg_u","visit_i64_atomic_rmw32_or_u","visit_i64_atomic_rmw32_sub_u","visit_i64_atomic_rmw32_xchg_u","visit_i64_atomic_rmw32_xor_u","visit_i64_atomic_rmw8_add_u","visit_i64_atomic_rmw8_and_u","visit_i64_atomic_rmw8_cmpxchg_u","visit_i64_atomic_rmw8_or_u","visit_i64_atomic_rmw8_sub_u","visit_i64_atomic_rmw8_xchg_u","visit_i64_atomic_rmw8_xor_u","visit_i64_atomic_rmw_add","visit_i64_atomic_rmw_and","visit_i64_atomic_rmw_cmpxchg","visit_i64_atomic_rmw_or","visit_i64_atomic_rmw_sub","visit_i64_atomic_rmw_xchg","visit_i64_atomic_rmw_xor","visit_i64_atomic_store","visit_i64_atomic_store16","visit_i64_atomic_store32","visit_i64_atomic_store8","visit_i64_clz","visit_i64_const","visit_i64_ctz","visit_i64_div_s","visit_i64_div_u","visit_i64_eq","visit_i64_eqz","visit_i64_extend16_s","visit_i64_extend32_s","visit_i64_extend8_s","visit_i64_extend_i32_s","visit_i64_extend_i32_u","visit_i64_ge_s","visit_i64_ge_u","visit_i64_gt_s","visit_i64_gt_u","visit_i64_le_s","visit_i64_le_u","visit_i64_load","visit_i64_load16_s","visit_i64_load16_u","visit_i64_load32_s","visit_i64_load32_u","visit_i64_load8_s","visit_i64_load8_u","visit_i64_lt_s","visit_i64_lt_u","visit_i64_mul","visit_i64_ne","visit_i64_or","visit_i64_popcnt","visit_i64_reinterpret_f64","visit_i64_rem_s","visit_i64_rem_u","visit_i64_rotl","visit_i64_rotr","visit_i64_shl","visit_i64_shr_s","visit_i64_shr_u","visit_i64_store","visit_i64_store16","visit_i64_store32","visit_i64_store8","visit_i64_sub","visit_i64_trunc_f32_s","visit_i64_trunc_f32_u","visit_i64_trunc_f64_s","visit_i64_trunc_f64_u","visit_i64_trunc_sat_f32_s","visit_i64_trunc_sat_f32_u","visit_i64_trunc_sat_f64_s","visit_i64_trunc_sat_f64_u","visit_i64_xor","visit_i64x2_abs","visit_i64x2_add","visit_i64x2_all_true","visit_i64x2_bitmask","visit_i64x2_eq","visit_i64x2_extend_high_i32x4_s","visit_i64x2_extend_high_i32x4_u","visit_i64x2_extend_low_i32x4_s","visit_i64x2_extend_low_i32x4_u","visit_i64x2_extmul_high_i32x4_s","visit_i64x2_extmul_high_i32x4_u","visit_i64x2_extmul_low_i32x4_s","visit_i64x2_extmul_low_i32x4_u","visit_i64x2_extract_lane","visit_i64x2_ge_s","visit_i64x2_gt_s","visit_i64x2_le_s","visit_i64x2_lt_s","visit_i64x2_mul","visit_i64x2_ne","visit_i64x2_neg","visit_i64x2_relaxed_laneselect","visit_i64x2_replace_lane","visit_i64x2_shl","visit_i64x2_shr_s","visit_i64x2_shr_u","visit_i64x2_splat","visit_i64x2_sub","visit_i8x16_abs","visit_i8x16_add","visit_i8x16_add_sat_s","visit_i8x16_add_sat_u","visit_i8x16_all_true","visit_i8x16_avgr_u","visit_i8x16_bitmask","visit_i8x16_eq","visit_i8x16_extract_lane_s","visit_i8x16_extract_lane_u","visit_i8x16_ge_s","visit_i8x16_ge_u","visit_i8x16_gt_s","visit_i8x16_gt_u","visit_i8x16_le_s","visit_i8x16_le_u","visit_i8x16_lt_s","visit_i8x16_lt_u","visit_i8x16_max_s","visit_i8x16_max_u","visit_i8x16_min_s","visit_i8x16_min_u","visit_i8x16_narrow_i16x8_s","visit_i8x16_narrow_i16x8_u","visit_i8x16_ne","visit_i8x16_neg","visit_i8x16_popcnt","visit_i8x16_relaxed_laneselect","visit_i8x16_relaxed_swizzle","visit_i8x16_replace_lane","visit_i8x16_shl","visit_i8x16_shr_s","visit_i8x16_shr_u","visit_i8x16_shuffle","visit_i8x16_splat","visit_i8x16_sub","visit_i8x16_sub_sat_s","visit_i8x16_sub_sat_u","visit_i8x16_swizzle","visit_if","visit_local_get","visit_local_set","visit_local_tee","visit_loop","visit_memory_atomic_notify","visit_memory_atomic_wait32","visit_memory_atomic_wait64","visit_memory_copy","visit_memory_discard","visit_memory_fill","visit_memory_grow","visit_memory_init","visit_memory_size","visit_nop","visit_ref_as_non_null","visit_ref_cast_non_null","visit_ref_cast_nullable","visit_ref_eq","visit_ref_func","visit_ref_i31","visit_ref_is_null","visit_ref_null","visit_ref_test_non_null","visit_ref_test_nullable","visit_rethrow","visit_return","visit_return_call","visit_return_call_indirect","visit_return_call_ref","visit_select","visit_struct_get","visit_struct_get_s","visit_struct_get_u","visit_struct_new","visit_struct_new_default","visit_struct_set","visit_table_copy","visit_table_fill","visit_table_get","visit_table_grow","visit_table_init","visit_table_set","visit_table_size","visit_throw","visit_throw_ref","visit_try","visit_try_table","visit_typed_select","visit_unreachable","visit_v128_and","visit_v128_andnot","visit_v128_any_true","visit_v128_bitselect","visit_v128_const","visit_v128_load","visit_v128_load16_lane","visit_v128_load16_splat","visit_v128_load16x4_s","visit_v128_load16x4_u","visit_v128_load32_lane","visit_v128_load32_splat","visit_v128_load32_zero","visit_v128_load32x2_s","visit_v128_load32x2_u","visit_v128_load64_lane","visit_v128_load64_splat","visit_v128_load64_zero","visit_v128_load8_lane","visit_v128_load8_splat","visit_v128_load8x8_s","visit_v128_load8x8_u","visit_v128_not","visit_v128_or","visit_v128_store","visit_v128_store16_lane","visit_v128_store32_lane","visit_v128_store64_lane","visit_v128_store8_lane","visit_v128_xor","Block","ControlStack","ControlStackFrame","ControlStackFrameType","Else","If","Loop","borrow","","","borrow_mut","","","clone","","clone_into","","clone_to_uninit","","default","depth","eq","equivalent","","","fmt","from","","","into","","","label_from_depth","mark_else","new","original_pc_offset","original_sp","pc_offset","pop","push","result","","ret_ty","stack","to_owned","","try_from","","","try_into","","","ty","","type_id","","","ExtFunc","Func","Jump","JumpTable","Label","Offset","borrow","borrow_mut","clone","clone_into","clone_to_uninit","eq","equivalent","","","fmt","from","into","is_label","is_offset","pc","relocate","table","to_owned","try_from","try_into","type_id","offset","pc","JumpTable","borrow","borrow_mut","call","call_offset","clone","clone_into","clone_to_uninit","code","code_offset","default","ext","fmt","from","func","into","jump","label","merge","offset","relocate","shift_func_target","shift_label_pc","shift_label_target","shift_pc","shift_target","shift_targets","target","to_owned","try_from","try_into","type_id","LocalSlot","LocalSlotType","Locals","Parameter","Variable","borrow","","","borrow_mut","","","default","eq","equivalent","","","fmt","","","from","","","get","get_mut","inner","","into","","","is_empty","len","new","offset_of","push","size","sp","try_from","","","try_into","","","ty","","type_id","","","val_ty","MacroAssembler","MemoryInfo","_abs","_ceil","_clz","_convert_i32_s","_convert_i32_u","_convert_i64_s","_convert_i64_u","_copysign","_ctz","_drop","_eqz","_f32_const","_f32_demote_f64","_f32_reinterpret_i32","_f64_const","_f64_promote_f32","_f64_reinterpret_i64","_floor","_ge","_gt","_i32_const","_i32_reinterpret_f32","_i32_wrap_i64","_i64_const","_i64_extend_i32_s","_i64_extend_i32_u","_i64_reinterpret_f64","_le","_load","_load16","_load32","_load8","_lt","_max","_memory_grow","_memory_size","_min","_ne","_nearest","_neg","_popcnt","_return","_rotl","_rotr","_sge","_sgt","_sle","_sload","_slt","_sqrt","_sstore","_store","_store16","_store32","_store8","_sub","_trunc","_trunc_f32","_trunc_f64","asm","borrow","","borrow_mut","","call_return","clone","clone_into","clone_to_uninit","cmp","default","deref","deref_mut","dup","embed","float","fmt","from","","handle_empty_return","integer","into","","main_return","memory","memory_write","memory_write_at","memory_write_bytes","mp_offset","offset","pc_offset","push","ret","shift_stack","size","sp","stack","swap","to_owned","try_from","","try_into","","type_id","","Abi","BinaryReader","BufferOverflow","ControlStackUnderflow","DataNotFound","DuplicateFunc","DuplicateJump","Err","Error","ExtFuncNotFound","FuncNotFound","FuncNotImported","HostFuncNotFound","ImportedFuncNotFound","InvalidDataOffset","InvalidDataSize","InvalidDepth","InvalidElseBlock","InvalidFunctionSignature","InvalidLocalIndex","InvalidMP","InvalidPC","InvalidSelector","LabelMismatch","LocalIndexOutOfRange","LocalNotOnStack","MemoryOutOfBounds","Ok","Result","SelectorNotFound","StackIndexOutOfRange","StackNotBalanced","StackOverflow","StackUnderflow","UnsupportedHostFunc","borrow","borrow_mut","fmt","","from","","","into","source","to_string","try_from","try_into","type_id","ValidateThenVisit","borrow","borrow_mut","from","into","try_from","try_into","type_id","validate_then_visit","visit_any_convert_extern","visit_array_copy","visit_array_fill","visit_array_get","visit_array_get_s","visit_array_get_u","visit_array_init_data","visit_array_init_elem","visit_array_len","visit_array_new","visit_array_new_data","visit_array_new_default","visit_array_new_elem","visit_array_new_fixed","visit_array_set","visit_atomic_fence","visit_block","visit_br","visit_br_if","visit_br_on_cast","visit_br_on_cast_fail","visit_br_on_non_null","visit_br_on_null","visit_br_table","visit_call","visit_call_indirect","visit_call_ref","visit_catch","visit_catch_all","visit_data_drop","visit_delegate","visit_drop","visit_elem_drop","visit_else","visit_end","visit_extern_convert_any","visit_f32_abs","visit_f32_add","visit_f32_ceil","visit_f32_const","visit_f32_convert_i32_s","visit_f32_convert_i32_u","visit_f32_convert_i64_s","visit_f32_convert_i64_u","visit_f32_copysign","visit_f32_demote_f64","visit_f32_div","visit_f32_eq","visit_f32_floor","visit_f32_ge","visit_f32_gt","visit_f32_le","visit_f32_load","visit_f32_lt","visit_f32_max","visit_f32_min","visit_f32_mul","visit_f32_ne","visit_f32_nearest","visit_f32_neg","visit_f32_reinterpret_i32","visit_f32_sqrt","visit_f32_store","visit_f32_sub","visit_f32_trunc","visit_f32x4_abs","visit_f32x4_add","visit_f32x4_ceil","visit_f32x4_convert_i32x4_s","visit_f32x4_convert_i32x4_u","visit_f32x4_demote_f64x2_zero","visit_f32x4_div","visit_f32x4_eq","visit_f32x4_extract_lane","visit_f32x4_floor","visit_f32x4_ge","visit_f32x4_gt","visit_f32x4_le","visit_f32x4_lt","visit_f32x4_max","visit_f32x4_min","visit_f32x4_mul","visit_f32x4_ne","visit_f32x4_nearest","visit_f32x4_neg","visit_f32x4_pmax","visit_f32x4_pmin","visit_f32x4_relaxed_madd","visit_f32x4_relaxed_max","visit_f32x4_relaxed_min","visit_f32x4_relaxed_nmadd","visit_f32x4_replace_lane","visit_f32x4_splat","visit_f32x4_sqrt","visit_f32x4_sub","visit_f32x4_trunc","visit_f64_abs","visit_f64_add","visit_f64_ceil","visit_f64_const","visit_f64_convert_i32_s","visit_f64_convert_i32_u","visit_f64_convert_i64_s","visit_f64_convert_i64_u","visit_f64_copysign","visit_f64_div","visit_f64_eq","visit_f64_floor","visit_f64_ge","visit_f64_gt","visit_f64_le","visit_f64_load","visit_f64_lt","visit_f64_max","visit_f64_min","visit_f64_mul","visit_f64_ne","visit_f64_nearest","visit_f64_neg","visit_f64_promote_f32","visit_f64_reinterpret_i64","visit_f64_sqrt","visit_f64_store","visit_f64_sub","visit_f64_trunc","visit_f64x2_abs","visit_f64x2_add","visit_f64x2_ceil","visit_f64x2_convert_low_i32x4_s","visit_f64x2_convert_low_i32x4_u","visit_f64x2_div","visit_f64x2_eq","visit_f64x2_extract_lane","visit_f64x2_floor","visit_f64x2_ge","visit_f64x2_gt","visit_f64x2_le","visit_f64x2_lt","visit_f64x2_max","visit_f64x2_min","visit_f64x2_mul","visit_f64x2_ne","visit_f64x2_nearest","visit_f64x2_neg","visit_f64x2_pmax","visit_f64x2_pmin","visit_f64x2_promote_low_f32x4","visit_f64x2_relaxed_madd","visit_f64x2_relaxed_max","visit_f64x2_relaxed_min","visit_f64x2_relaxed_nmadd","visit_f64x2_replace_lane","visit_f64x2_splat","visit_f64x2_sqrt","visit_f64x2_sub","visit_f64x2_trunc","visit_global_get","visit_global_set","visit_i16x8_abs","visit_i16x8_add","visit_i16x8_add_sat_s","visit_i16x8_add_sat_u","visit_i16x8_all_true","visit_i16x8_avgr_u","visit_i16x8_bitmask","visit_i16x8_eq","visit_i16x8_extadd_pairwise_i8x16_s","visit_i16x8_extadd_pairwise_i8x16_u","visit_i16x8_extend_high_i8x16_s","visit_i16x8_extend_high_i8x16_u","visit_i16x8_extend_low_i8x16_s","visit_i16x8_extend_low_i8x16_u","visit_i16x8_extmul_high_i8x16_s","visit_i16x8_extmul_high_i8x16_u","visit_i16x8_extmul_low_i8x16_s","visit_i16x8_extmul_low_i8x16_u","visit_i16x8_extract_lane_s","visit_i16x8_extract_lane_u","visit_i16x8_ge_s","visit_i16x8_ge_u","visit_i16x8_gt_s","visit_i16x8_gt_u","visit_i16x8_le_s","visit_i16x8_le_u","visit_i16x8_lt_s","visit_i16x8_lt_u","visit_i16x8_max_s","visit_i16x8_max_u","visit_i16x8_min_s","visit_i16x8_min_u","visit_i16x8_mul","visit_i16x8_narrow_i32x4_s","visit_i16x8_narrow_i32x4_u","visit_i16x8_ne","visit_i16x8_neg","visit_i16x8_q15mulr_sat_s","visit_i16x8_relaxed_dot_i8x16_i7x16_s","visit_i16x8_relaxed_laneselect","visit_i16x8_relaxed_q15mulr_s","visit_i16x8_replace_lane","visit_i16x8_shl","visit_i16x8_shr_s","visit_i16x8_shr_u","visit_i16x8_splat","visit_i16x8_sub","visit_i16x8_sub_sat_s","visit_i16x8_sub_sat_u","visit_i31_get_s","visit_i31_get_u","visit_i32_add","visit_i32_and","visit_i32_atomic_load","visit_i32_atomic_load16_u","visit_i32_atomic_load8_u","visit_i32_atomic_rmw16_add_u","visit_i32_atomic_rmw16_and_u","visit_i32_atomic_rmw16_cmpxchg_u","visit_i32_atomic_rmw16_or_u","visit_i32_atomic_rmw16_sub_u","visit_i32_atomic_rmw16_xchg_u","visit_i32_atomic_rmw16_xor_u","visit_i32_atomic_rmw8_add_u","visit_i32_atomic_rmw8_and_u","visit_i32_atomic_rmw8_cmpxchg_u","visit_i32_atomic_rmw8_or_u","visit_i32_atomic_rmw8_sub_u","visit_i32_atomic_rmw8_xchg_u","visit_i32_atomic_rmw8_xor_u","visit_i32_atomic_rmw_add","visit_i32_atomic_rmw_and","visit_i32_atomic_rmw_cmpxchg","visit_i32_atomic_rmw_or","visit_i32_atomic_rmw_sub","visit_i32_atomic_rmw_xchg","visit_i32_atomic_rmw_xor","visit_i32_atomic_store","visit_i32_atomic_store16","visit_i32_atomic_store8","visit_i32_clz","visit_i32_const","visit_i32_ctz","visit_i32_div_s","visit_i32_div_u","visit_i32_eq","visit_i32_eqz","visit_i32_extend16_s","visit_i32_extend8_s","visit_i32_ge_s","visit_i32_ge_u","visit_i32_gt_s","visit_i32_gt_u","visit_i32_le_s","visit_i32_le_u","visit_i32_load","visit_i32_load16_s","visit_i32_load16_u","visit_i32_load8_s","visit_i32_load8_u","visit_i32_lt_s","visit_i32_lt_u","visit_i32_mul","visit_i32_ne","visit_i32_or","visit_i32_popcnt","visit_i32_reinterpret_f32","visit_i32_rem_s","visit_i32_rem_u","visit_i32_rotl","visit_i32_rotr","visit_i32_shl","visit_i32_shr_s","visit_i32_shr_u","visit_i32_store","visit_i32_store16","visit_i32_store8","visit_i32_sub","visit_i32_trunc_f32_s","visit_i32_trunc_f32_u","visit_i32_trunc_f64_s","visit_i32_trunc_f64_u","visit_i32_trunc_sat_f32_s","visit_i32_trunc_sat_f32_u","visit_i32_trunc_sat_f64_s","visit_i32_trunc_sat_f64_u","visit_i32_wrap_i64","visit_i32_xor","visit_i32x4_abs","visit_i32x4_add","visit_i32x4_all_true","visit_i32x4_bitmask","visit_i32x4_dot_i16x8_s","visit_i32x4_eq","visit_i32x4_extadd_pairwise_i16x8_s","visit_i32x4_extadd_pairwise_i16x8_u","visit_i32x4_extend_high_i16x8_s","visit_i32x4_extend_high_i16x8_u","visit_i32x4_extend_low_i16x8_s","visit_i32x4_extend_low_i16x8_u","visit_i32x4_extmul_high_i16x8_s","visit_i32x4_extmul_high_i16x8_u","visit_i32x4_extmul_low_i16x8_s","visit_i32x4_extmul_low_i16x8_u","visit_i32x4_extract_lane","visit_i32x4_ge_s","visit_i32x4_ge_u","visit_i32x4_gt_s","visit_i32x4_gt_u","visit_i32x4_le_s","visit_i32x4_le_u","visit_i32x4_lt_s","visit_i32x4_lt_u","visit_i32x4_max_s","visit_i32x4_max_u","visit_i32x4_min_s","visit_i32x4_min_u","visit_i32x4_mul","visit_i32x4_ne","visit_i32x4_neg","visit_i32x4_relaxed_dot_i8x16_i7x16_add_s","visit_i32x4_relaxed_laneselect","visit_i32x4_relaxed_trunc_f32x4_s","visit_i32x4_relaxed_trunc_f32x4_u","visit_i32x4_relaxed_trunc_f64x2_s_zero","visit_i32x4_relaxed_trunc_f64x2_u_zero","visit_i32x4_replace_lane","visit_i32x4_shl","visit_i32x4_shr_s","visit_i32x4_shr_u","visit_i32x4_splat","visit_i32x4_sub","visit_i32x4_trunc_sat_f32x4_s","visit_i32x4_trunc_sat_f32x4_u","visit_i32x4_trunc_sat_f64x2_s_zero","visit_i32x4_trunc_sat_f64x2_u_zero","visit_i64_add","visit_i64_and","visit_i64_atomic_load","visit_i64_atomic_load16_u","visit_i64_atomic_load32_u","visit_i64_atomic_load8_u","visit_i64_atomic_rmw16_add_u","visit_i64_atomic_rmw16_and_u","visit_i64_atomic_rmw16_cmpxchg_u","visit_i64_atomic_rmw16_or_u","visit_i64_atomic_rmw16_sub_u","visit_i64_atomic_rmw16_xchg_u","visit_i64_atomic_rmw16_xor_u","visit_i64_atomic_rmw32_add_u","visit_i64_atomic_rmw32_and_u","visit_i64_atomic_rmw32_cmpxchg_u","visit_i64_atomic_rmw32_or_u","visit_i64_atomic_rmw32_sub_u","visit_i64_atomic_rmw32_xchg_u","visit_i64_atomic_rmw32_xor_u","visit_i64_atomic_rmw8_add_u","visit_i64_atomic_rmw8_and_u","visit_i64_atomic_rmw8_cmpxchg_u","visit_i64_atomic_rmw8_or_u","visit_i64_atomic_rmw8_sub_u","visit_i64_atomic_rmw8_xchg_u","visit_i64_atomic_rmw8_xor_u","visit_i64_atomic_rmw_add","visit_i64_atomic_rmw_and","visit_i64_atomic_rmw_cmpxchg","visit_i64_atomic_rmw_or","visit_i64_atomic_rmw_sub","visit_i64_atomic_rmw_xchg","visit_i64_atomic_rmw_xor","visit_i64_atomic_store","visit_i64_atomic_store16","visit_i64_atomic_store32","visit_i64_atomic_store8","visit_i64_clz","visit_i64_const","visit_i64_ctz","visit_i64_div_s","visit_i64_div_u","visit_i64_eq","visit_i64_eqz","visit_i64_extend16_s","visit_i64_extend32_s","visit_i64_extend8_s","visit_i64_extend_i32_s","visit_i64_extend_i32_u","visit_i64_ge_s","visit_i64_ge_u","visit_i64_gt_s","visit_i64_gt_u","visit_i64_le_s","visit_i64_le_u","visit_i64_load","visit_i64_load16_s","visit_i64_load16_u","visit_i64_load32_s","visit_i64_load32_u","visit_i64_load8_s","visit_i64_load8_u","visit_i64_lt_s","visit_i64_lt_u","visit_i64_mul","visit_i64_ne","visit_i64_or","visit_i64_popcnt","visit_i64_reinterpret_f64","visit_i64_rem_s","visit_i64_rem_u","visit_i64_rotl","visit_i64_rotr","visit_i64_shl","visit_i64_shr_s","visit_i64_shr_u","visit_i64_store","visit_i64_store16","visit_i64_store32","visit_i64_store8","visit_i64_sub","visit_i64_trunc_f32_s","visit_i64_trunc_f32_u","visit_i64_trunc_f64_s","visit_i64_trunc_f64_u","visit_i64_trunc_sat_f32_s","visit_i64_trunc_sat_f32_u","visit_i64_trunc_sat_f64_s","visit_i64_trunc_sat_f64_u","visit_i64_xor","visit_i64x2_abs","visit_i64x2_add","visit_i64x2_all_true","visit_i64x2_bitmask","visit_i64x2_eq","visit_i64x2_extend_high_i32x4_s","visit_i64x2_extend_high_i32x4_u","visit_i64x2_extend_low_i32x4_s","visit_i64x2_extend_low_i32x4_u","visit_i64x2_extmul_high_i32x4_s","visit_i64x2_extmul_high_i32x4_u","visit_i64x2_extmul_low_i32x4_s","visit_i64x2_extmul_low_i32x4_u","visit_i64x2_extract_lane","visit_i64x2_ge_s","visit_i64x2_gt_s","visit_i64x2_le_s","visit_i64x2_lt_s","visit_i64x2_mul","visit_i64x2_ne","visit_i64x2_neg","visit_i64x2_relaxed_laneselect","visit_i64x2_replace_lane","visit_i64x2_shl","visit_i64x2_shr_s","visit_i64x2_shr_u","visit_i64x2_splat","visit_i64x2_sub","visit_i8x16_abs","visit_i8x16_add","visit_i8x16_add_sat_s","visit_i8x16_add_sat_u","visit_i8x16_all_true","visit_i8x16_avgr_u","visit_i8x16_bitmask","visit_i8x16_eq","visit_i8x16_extract_lane_s","visit_i8x16_extract_lane_u","visit_i8x16_ge_s","visit_i8x16_ge_u","visit_i8x16_gt_s","visit_i8x16_gt_u","visit_i8x16_le_s","visit_i8x16_le_u","visit_i8x16_lt_s","visit_i8x16_lt_u","visit_i8x16_max_s","visit_i8x16_max_u","visit_i8x16_min_s","visit_i8x16_min_u","visit_i8x16_narrow_i16x8_s","visit_i8x16_narrow_i16x8_u","visit_i8x16_ne","visit_i8x16_neg","visit_i8x16_popcnt","visit_i8x16_relaxed_laneselect","visit_i8x16_relaxed_swizzle","visit_i8x16_replace_lane","visit_i8x16_shl","visit_i8x16_shr_s","visit_i8x16_shr_u","visit_i8x16_shuffle","visit_i8x16_splat","visit_i8x16_sub","visit_i8x16_sub_sat_s","visit_i8x16_sub_sat_u","visit_i8x16_swizzle","visit_if","visit_local_get","visit_local_set","visit_local_tee","visit_loop","visit_memory_atomic_notify","visit_memory_atomic_wait32","visit_memory_atomic_wait64","visit_memory_copy","visit_memory_discard","visit_memory_fill","visit_memory_grow","visit_memory_init","visit_memory_size","visit_nop","visit_op_when_unreachable","visit_ref_as_non_null","visit_ref_cast_non_null","visit_ref_cast_nullable","visit_ref_eq","visit_ref_func","visit_ref_i31","visit_ref_is_null","visit_ref_null","visit_ref_test_non_null","visit_ref_test_nullable","visit_rethrow","visit_return","visit_return_call","visit_return_call_indirect","visit_return_call_ref","visit_select","visit_struct_get","visit_struct_get_s","visit_struct_get_u","visit_struct_new","visit_struct_new_default","visit_struct_set","visit_table_copy","visit_table_fill","visit_table_get","visit_table_grow","visit_table_init","visit_table_set","visit_table_size","visit_throw","visit_throw_ref","visit_try","visit_try_table","visit_typed_select","visit_unreachable","visit_v128_and","visit_v128_andnot","visit_v128_any_true","visit_v128_bitselect","visit_v128_const","visit_v128_load","visit_v128_load16_lane","visit_v128_load16_splat","visit_v128_load16x4_s","visit_v128_load16x4_u","visit_v128_load32_lane","visit_v128_load32_splat","visit_v128_load32_zero","visit_v128_load32x2_s","visit_v128_load32x2_u","visit_v128_load64_lane","visit_v128_load64_splat","visit_v128_load64_zero","visit_v128_load8_lane","visit_v128_load8_splat","visit_v128_load8x8_s","visit_v128_load8x8_u","visit_v128_not","visit_v128_or","visit_v128_store","visit_v128_store16_lane","visit_v128_store32_lane","visit_v128_store64_lane","visit_v128_store8_lane","visit_v128_xor","call","control","handlers","impl_visit_operator","local","log","map_wasm_operators","Data","EmitABI","Env","Evm","Exports","Function","Functions","HostFunc","Imports","NoOp","Output","ToLSBytes","Type","abi","body","borrow","","","borrow_mut","","","clone","","","clone_into","","","clone_to_uninit","","","data","","default","","","deref","","deref_mut","","exports","fmt","","","from","","","func","host","impl_deref","imports","into","","","is_emit_abi","selectors","size","to_ls_bytes","to_owned","","","try_from","","","try_into","","","type_id","","","validator","ALIGNMENT_MASK","Output","ToLSBytes","Type","align","","offset","size","to_ls_bytes","Data","borrow","borrow_mut","clone","clone_into","clone_to_uninit","default","deref","deref_mut","fmt","from","into","load","to_owned","try_from","try_into","type_id","Function","Functions","add","body","borrow","","borrow_mut","","default","deref","deref_mut","drain_selectors","from","","index","into","","into_funcs","sig","try_from","","try_into","","type_id","","validator","EmitABI","Evm","HostFunc","NoOp","borrow","borrow_mut","clone","clone_into","clone_to_uninit","cmp","compare","eq","equivalent","","","fmt","from","into","partial_cmp","stack_in","stack_out","to_owned","try_from","","try_into","type_id"],"q":[[0,"zingen"],[98,"zingen::asm"],[267,"zingen::backtrace"],[281,"zingen::codegen"],[291,"zingen::codegen::code"],[335,"zingen::codegen::constructor"],[354,"zingen::codegen::dispatcher"],[374,"zingen::codegen::function"],[994,"zingen::control"],[1051,"zingen::jump"],[1078,"zingen::jump::relocate"],[1080,"zingen::jump::table"],[1112,"zingen::local"],[1160,"zingen::masm"],[1266,"zingen::result"],[1314,"zingen::validator"],[1896,"zingen::visitor"],[1903,"zingen::wasm"],[1973,"zingen::wasm::abi"],[1982,"zingen::wasm::data"],[1999,"zingen::wasm::func"],[2025,"zingen::wasm::host"],[2051,"evm_opcodes::shanghai"],[2052,"core::fmt"],[2053,"core::result"],[2054,"core::any"],[2055,"alloc::vec"],[2056,"core::convert"],[2057,"core::hash"],[2058,"core::option"],[2059,"wasmparser::readers::core::types"],[2060,"zabi"],[2061,"wasmparser::readers::core::operators"],[2062,"wasmparser::readers::core::code"],[2063,"wasmparser::validator::core"],[2064,"wasmparser::validator::func"],[2065,"smallvec"],[2066,"core::ops::function"],[2067,"zabi::result"],[2068,"wasmparser::binary_reader"],[2069,"core::error"],[2070,"alloc::string"],[2071,"core::cmp"]],"i":"Hj``0G``1`````11`110j`222`212`222222222`222``1`20`222222Cf`0H``DhdCn``24204Bf2GjGf5`3`5`5Cb53Ef0`063Gb:8814````7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777`7777777777`B`000000000000````````````6Bh7007070707000077070770707777700707707070``44444444444444444`<<<<<<<<<<<<<<<<<<<`:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::>```>>>>32>32>3>3>322>>>>>>32>32223333223322>3>32>3223>32Gd0``0000000000000000```0000```9999999999999999999999999999999```Gh00870877000008708777870877787788087087880878``============================================================Hb>0>>>>>`>>>>``>0>>`0>>`>>>>0>>`>0>`>>0>0>0>Hj000000j`1111111111111111110`1111111111111111111`Id000000`000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000`00000000000000000000000000000000000000000000000000000000000000000````````Jf`0`````0J````ChIlInDb210210210210`021021210210210```021021Hd53213213213214`5``00`05`Jb000000000000000``Cl6606000006066006606060688`88888888888888888888888","f":"```````````````````````````````````````````````````````````````````````````````````````````````````{{{f{bd}}}{{j{h}}}}0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{d}}}{{f{{n{l}}}}}}`{{{f{bd}}}{{f{bA`}}}}{{{f{d}}}d}{{f{f{bc}}}h{}}{fh}{{{f{bd}}Ab}{{j{h}}}}{{{f{bd}}l}{{j{h}}}}{{}d}{{{f{bd}}l}h}{{{f{bd}}Ad}{{j{h}}}}{{{f{bd}}{f{{n{l}}}}}h}{{{f{d}}{f{bAf}}}Ah}{cc{}}``{{{f{bd}}Aj}h}87{{}c{}}``{fc{}}{c{{Al{e}}}{}{}}{{}{{Al{c}}}{}}{fAn}`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{}B`}{{{f{B`}}{f{bAf}}}Ah}:`8{{{f{bB`}}}{{Bb{l}}}}{{{f{bB`}}Ab}{{Bb{{Bb{l}}}}}}{{{f{bB`}}c}h{{Bd{{n{l}}}}}}987````````````6655`{{{f{Bf}}}Bf}{{{f{Bh}}}Bh}{{f{f{bc}}}h{}}0{fh}0{{}Bf}{{{f{Bh}}{f{Bh}}}Bj}{{f{f{c}}}Bj{}}00{{{f{Bf}}}{{Bb{l}}}}{{{f{Bf}}{f{bAf}}}Ah}{{{f{Bh}}{f{bAf}}}Ah}{cc{}}0{{{f{Bf}}}{{Bb{Bh}}}}`{{{f{Bh}}{f{bc}}}hBl}{{}c{}}09{{{f{Bf}}}Ab}`{{{f{Bf}}{f{Bh}}}{{C`{Bn}}}}{{{f{bBf}}Bn}h}``{fc{}}0{{{f{bBf}}Bh}h}{c{{Al{e}}}{}{}}0{{}{{Al{c}}}{}}0{fAn}0``{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{Cb}}}Cb}{{f{f{bc}}}h{}}{fh}{{}Cb}{{{f{Cb}}A`}{{j{A`}}}}{{{f{Cb}}{f{bAf}}}Ah}{cc{}}{{}c{}}`{{AbAb}Ab}{{{f{bCb}}Cd}{{j{h}}}}{fc{}}?>=```<;{{{f{bCf}}{f{Ch}}Bj}{{j{h}}}}`{{{f{bCf}}{f{Cj}}}{{j{h}}}}{{{f{bCf}}Cl{f{bCn}}}{{j{{Bb{l}}}}}}7`6{{{f{bCf}}{f{Ch}}}{{j{D`}}}}{{Db{f{Cl}}}{{j{Cf}}}}{{{f{bCf}}AbBj}{{j{Bj}}}}{{{f{Cf}}{f{Dd}}}{{j{Df}}}}`{c{{Al{e}}}{}{}}{{}{{Al{c}}}{}}{fAn}`{{{f{bDh}}Dj}{{j{h}}}}{{{f{bDh}}Df}{{j{h}}}}0{{{f{bDh}}Dl}{{j{h}}}}1{{{f{bDh}}DfDfl}{{j{h}}}}{{{f{bDh}}}{{j{h}}}}03343{{{f{bDh}}Ab}{{j{h}}}}0445111`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}66`{{{f{bDh}}{f{bDn}}{f{b{Eb{E`}}}}}{{j{h}}}}{{{f{bDh}}{f{bEd}}{f{b{Eb{E`}}}}}{{j{h}}}}`{{Dh{f{bCn}}Bn}{{j{A`}}}}{cc{}}7{{{f{bDh}}Ef}{{j{h}}}}{{{f{bDh}}Bn}{{j{h}}}}9{{}c{}}``9{{{f{bDh}}}{{j{{Ej{EhEh}}}}}}`{{DbCjBj}{{j{Dh}}}}`{c{{Al{e}}}{}{}}{{}{{Al{c}}}{}}`{fAn}{{{f{bDh}}}c{}}{{{f{bDh}}DfDf}c{}}{{{f{bDh}}Df}c{}}0001120101102{{{f{bDh}}Dj}c{}}11{{{f{bDh}}DfElEl}c{}}022{{{f{bDh}}Dl}c{}}3{{{f{bDh}}DfDfl}c{}}4464464666666{{{f{bDh}}En}c{}}777777777777{{{f{bDh}}F`}c{}}88888888808888888888{{{f{bDh}}l}c{}}9999999999999999909999999{{{f{bDh}}Fb}c{}}:::::::::::2::::::::::2:::::::::1::::::::::::::::::1::::88::::::::::::::::::11:::::::::::::::::::::1:::::::::::222222222222222222222222222:{{{f{bDh}}Eh}c{}};;;;;;;;;;;;;33333;;;;;;;;;;;;;;333;;;;;;;;;;;;;;;;;;;;;;;;;;;2;;;;;;;;;;;;;;;;;;;;;2;;;;;;;;;;;333333333333333333333333333333333333;{{{f{bDh}}Fd}c{}}<<<<<<<<<<<<<<<<4444444<<<<<<<<<<<<<<4444<<<<<<<<<<<<<<<<<<<<<<<3<<<<<<<<3<<<<<<<<<<<<<33<<<<<<<<<<<<<<<<<<<3<<<{{{f{bDh}}{Ff{l}}}c{}}=====:;;;:555<;;{{{f{bDh}}Dfl}c{}}=0>>{{{f{bDh}}Fh}c{}}0?=??000=?=>=?>>>==>>===>===?<{{{f{bDh}}Fj}c{}}{{{f{bDh}}Fl}c{}}{{{f{bDh}}}c{}}0000{{{f{bDh}}Fn}c{}};{{{f{bDh}}F`l}c{}}<<<0<<<<0<<0<<<22<00002```````{f{{f{c}}}{}}00{{{f{b}}}{{f{bc}}}{}}00{{{f{G`}}}G`}{{{f{Ef}}}Ef}{{f{f{bc}}}h{}}0{fh}0{{}Gb}{{{f{Gb}}}Ab}{{{f{G`}}{f{G`}}}Bj}{{f{f{c}}}Bj{}}00{{{f{G`}}{f{bAf}}}Ah}{cc{}}00{{}c{}}00{{{f{Gb}}Df}{{j{Bn}}}}{{{f{bGb}}}{{j{Ef}}}}{{G`BnlDj}Ef}``{{{f{Ef}}}Bn}2{{{f{bGb}}Ef}h}{{{f{Ef}}}Dj}`{{{f{Gb}}Ab}{{j{Dj}}}}`{fc{}}0{c{{Al{e}}}{}{}}00{{}{{Al{c}}}{}}00{{{f{Gb}}Ab}{{j{G`}}}}`{fAn}00``````{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{Gd}}}Gd}{{f{f{bc}}}h{}}{fh}{{{f{Gd}}{f{Gd}}}Bj}{{f{f{c}}}Bj{}}00{{{f{Gd}}{f{bAf}}}Ah}{cc{}}{{}c{}}{{{f{Gd}}}Bj}0```?>=;{Bn{{j{Bn}}}}{{{f{bA`}}BnBnBn}{{j{h}}}}`<;{{{f{bCn}}BnDf}h}{{{f{bCn}}DfBn}{{j{h}}}}{{{f{Cn}}}Cn}<;`{{{f{bCn}}Bn}h}{{}Cn}{{{f{bCn}}BnBh}h}{{{f{Cn}}{f{bAf}}}Ah};`:`{{{f{bCn}}BnBn}h}{{{f{bCn}}CnBn}{{j{h}}}}1{{{f{bCn}}{f{bA`}}}{{j{h}}}}{{{f{bCn}}BnBn}{{j{h}}}}0000{{{f{bCn}}}{{j{h}}}}{{{f{bCn}}{f{Gd}}}{{j{Bn}}}}{fc{}}{c{{Al{e}}}{}{}}{{}{{Al{c}}}{}}{fAn}`````{f{{f{c}}}{}}00{{{f{b}}}{{f{bc}}}{}}00{{}Gf}{{{f{Gh}}{f{Gh}}}Bj}{{f{f{c}}}Bj{}}00{{{f{Gh}}{f{bAf}}}Ah}{{{f{Gj}}{f{bAf}}}Ah}{{{f{Gf}}{f{bAf}}}Ah}{cc{}}00{{{f{Gf}}Ab}{{j{{f{Gj}}}}}}{{{f{bGf}}Ab}{{j{{f{bGj}}}}}}``{{}c{}}00{{{f{Gf}}}Bj}{{{f{Gf}}}Ab}{{FlGhAb}Gj}{{{f{Gf}}Ab}{{j{{Gl{{Ff{l}}}}}}}}{{{f{bGf}}c}h{{Gn{Gj}}}}{{{f{Gj}}}Ab}`{c{{Al{e}}}{}{}}00{{}{{Al{c}}}{}}00{{{f{Gj}}}{{f{Gh}}}}`{fAn}00{{{f{Gj}}}{{f{Fl}}}}``{{{f{bH`}}}{{j{h}}}}0000000000{{{f{bH`}}En}{{j{h}}}}11{{{f{bH`}}Fb}{{j{h}}}}22222{{{f{bH`}}Eh}{{j{h}}}}33{{{f{bH`}}Fd}{{j{h}}}}4444444444{{{f{bH`}}Dfl}{{j{h}}}}055555555555555555555555`{f{{f{c}}}{}}0{{{f{b}}}{{f{bc}}}{}}0{{{f{bH`}}{f{{n{Fl}}}}}{{j{h}}}}{{{f{H`}}}H`}{{f{f{bc}}}h{}}{fh}`{{}H`}{{{f{H`}}}{{f{c}}}{}}{{{f{bH`}}}{{f{bc}}}{}}{{{f{bH`}}l}{{j{h}}}}``{{{f{H`}}{f{bAf}}}Ah}{cc{}}0{{{f{bH`}}}{{j{h}}}}`{{}c{}}0;`{{{f{bH`}}c}{{j{Hb}}}Hd}{{{f{bH`}}{f{{n{l}}}}}{{j{h}}}}{{{f{bH`}}{f{{n{l}}}}}{{j{Hb}}}}{{{f{H`}}c}{{j{{Gl{{Ff{l}}}}}}}{{Hh{Ab}{{Hf{{j{Ab}}}}}}}}`{{{f{H`}}}Bn}3`{{{f{bH`}}lBj}{{j{h}}}}`{{{f{H`}}}l}`;{fc{}}{c{{Al{e}}}{}{}}0{{}{{Al{c}}}{}}0{fAn}0```````````````````````````````````{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{Hj}}{f{bAf}}}Ah}0{HlHj}{HnHj}{cc{}}{{}c{}}{{{f{Hj}}}{{C`{{f{I`}}}}}}{fIb};:9`8732;:9`{{{f{b{Id{c}}}}}e{{Ih{}{{Hf{{If{h}}}}}}}{}}{{{f{b{Id{c}}}}DfDf}e{{Ih{}{{Hf{{If{h}}}}}}}{}}{{{f{b{Id{c}}}}Df}e{{Ih{}{{Hf{{If{h}}}}}}}{}}0001120101102{{{f{b{Id{c}}}}Dj}e{{Ih{}{{Hf{{If{h}}}}}}}{}}11{{{f{b{Id{c}}}}DfElEl}e{{Ih{}{{Hf{{If{h}}}}}}}{}}022{{{f{b{Id{c}}}}Dl}e{{Ih{}{{Hf{{If{h}}}}}}}{}}3{{{f{b{Id{c}}}}DfDfl}e{{Ih{}{{Hf{{If{h}}}}}}}{}}4464464666666{{{f{b{Id{c}}}}En}e{{Ih{}{{Hf{{If{h}}}}}}}{}}777777777777{{{f{b{Id{c}}}}F`}e{{Ih{}{{Hf{{If{h}}}}}}}{}}88888888808888888888{{{f{b{Id{c}}}}l}e{{Ih{}{{Hf{{If{h}}}}}}}{}}9999999999999999909999999{{{f{b{Id{c}}}}Fb}e{{Ih{}{{Hf{{If{h}}}}}}}{}}:::::::::::2::::::::::2:::::::::1::::::::::::::::::1::::88::::::::::::::::::11:::::::::::::::::::::1:::::::::::222222222222222222222222222:{{{f{b{Id{c}}}}Eh}e{{Ih{}{{Hf{{If{h}}}}}}}{}};;;;;;;;;;;;;33333;;;;;;;;;;;;;;333;;;;;;;;;;;;;;;;;;;;;;;;;;;2;;;;;;;;;;;;;;;;;;;;;2;;;;;;;;;;;333333333333333333333333333333333333;{{{f{b{Id{c}}}}Fd}e{{Ih{}{{Hf{{If{h}}}}}}}{}}<<<<<<<<<<<<<<<<4444444<<<<<<<<<<<<<<4444<<<<<<<<<<<<<<<<<<<<<<<3<<<<<<<<3<<<<<<<<<<<<<33<<<<<<<<<<<<<<<<<<<3<<<{{{f{b{Id{c}}}}{Ff{l}}}e{{Ih{}{{Hf{{If{h}}}}}}}{}}=====:;;;:555<;;{{{f{b{Id{c}}}}Dfl}e{{Ih{}{{Hf{{If{h}}}}}}}{}}=0>{IjBj}?{{{f{b{Id{c}}}}Fh}e{{Ih{}{{Hf{{If{h}}}}}}}{}}0{{{f{b{Id{c}}}}}e{{Ih{}{{Hf{{If{h}}}}}}}{}}?00111?0?{{{f{b{Id{c}}}}DfDf}e{{Ih{}{{Hf{{If{h}}}}}}}{}}{{{f{b{Id{c}}}}Df}e{{Ih{}{{Hf{{If{h}}}}}}}{}}2111001100010002{{{f{b{Id{c}}}}Dj}e{{Ih{}{{Hf{{If{h}}}}}}}{}}{{{f{b{Id{c}}}}Fj}e{{Ih{}{{Hf{{If{h}}}}}}}{}}{{{f{b{Id{c}}}}Fl}e{{Ih{}{{Hf{{If{h}}}}}}}{}}55555{{{f{b{Id{c}}}}Fn}e{{Ih{}{{Hf{{If{h}}}}}}}{}}?{{{f{b{Id{c}}}}F`l}e{{Ih{}{{Hf{{If{h}}}}}}}{}}{{{f{b{Id{c}}}}F`}e{{Ih{}{{Hf{{If{h}}}}}}}{}}0010000100100088011118``````````````````````{f{{f{c}}}{}}00{{{f{b}}}{{f{bc}}}{}}00{{{f{Il}}}Il}{{{f{In}}}In}{{{f{Db}}}Db}{{f{f{bc}}}h{}}00{fh}00``{{}Il}{{}In}{{}Db}{{{f{Il}}}{{f{c}}}{}}{{{f{In}}}{{f{c}}}{}}{{{f{bIl}}}{{f{bc}}}{}}{{{f{bIn}}}{{f{bc}}}{}}`{{{f{Il}}{f{bAf}}}Ah}{{{f{In}}{f{bAf}}}Ah}{{{f{Db}}{f{bAf}}}Ah}{cc{}}00````{{}c{}}00{{{f{Il}}Df}Bj}{{{f{In}}}{{Bb{Df}}}}{{{f{Hd}}}Ab}{{{f{{J`{}{{Hf{c}}}}}}}c{{Bd{{n{l}}}}}}{fc{}}00{c{{Al{e}}}{}{}}00{{}{{Al{c}}}{}}00{fAn}00`````55`54`{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{Jb}}}Jb}{{f{f{bc}}}h{}}{fh}{{}Jb}{{{f{Jb}}}{{f{c}}}{}}{{{f{bJb}}}{{f{bc}}}{}}{{{f{Jb}}{f{bAf}}}Ah}{cc{}}{{}c{}}{{{f{Jb}}EhAb}{{j{{Bb{l}}}}}}?>=<``{{{f{bCl}}{Eb{E`}}Jd}h}`<<;;{{}Cl}{{{f{Cl}}}{{f{c}}}{}}{{{f{bCl}}}{{f{bc}}}{}}{{{f{bCl}}{f{In}}}Cl}77{{{f{Ch}}}Df}77{Cl{{Bb{Ch}}}}{{{f{Ch}}}{{j{Cj}}}}{c{{Al{e}}}{}{}}0{{}{{Al{c}}}{}}0{fAn}0`````{f{{f{c}}}{}}{{{f{b}}}{{f{bc}}}{}}{{{f{Jf}}}Jf}{{f{f{bc}}}h{}}{fh}{{{f{Jf}}{f{Jf}}}Jh}{{f{f{c}}}Jh{}}{{{f{Jf}}{f{Jf}}}Bj}{{f{f{c}}}Bj{}}00{{{f{Jf}}{f{bAf}}}Ah}{cc{}}{{}c{}}{{{f{Jf}}{f{Jf}}}{{C`{Jh}}}}{{{f{Jf}}}l}0{fc{}}{c{{Al{e}}}{}{}}{{{Ej{{f{Dd}}{f{Dd}}}}}{{j{Jf}}}}{{}{{Al{c}}}{}}{fAn}","D":"DOb","p":[[0,"mut"],[5,"Assembler",98],[1,"reference"],[1,"unit"],[8,"Result",1266],[1,"u8"],[1,"slice"],[8,"Buffer",0],[1,"usize"],[6,"ShangHai",2051],[5,"Formatter",2052],[8,"Result",2052],[1,"u128"],[6,"Result",2053],[5,"TypeId",2054],[5,"Backtrace",267],[5,"Vec",2055],[10,"AsRef",2056],[5,"Code",291],[5,"ExtFunc",291],[1,"bool"],[10,"Hasher",2057],[1,"u16"],[6,"Option",2058],[5,"Constructor",335],[8,"InitStorage",335],[5,"Dispatcher",354],[5,"Function",1999],[5,"FuncType",2059],[5,"Functions",1999],[5,"JumpTable",1080],[5,"Abi",2060],[5,"Env",1903],[1,"str"],[1,"u32"],[5,"Function",374],[6,"BlockType",2061],[5,"BrTable",2061],[5,"LocalsReader",2062],[5,"ValidatorResources",2063],[5,"FuncValidator",2064],[5,"OperatorsReader",2061],[5,"ControlStackFrame",994],[1,"i32"],[1,"tuple"],[5,"RefType",2059],[5,"Ieee32",2061],[5,"MemArg",2061],[5,"Ieee64",2061],[1,"i64"],[1,"array"],[6,"HeapType",2059],[5,"TryTable",2061],[6,"ValType",2059],[5,"V128",2061],[6,"ControlStackFrameType",994],[5,"ControlStack",994],[6,"Jump",1051],[5,"Locals",1112],[6,"LocalSlotType",1112],[5,"LocalSlot",1112],[5,"SmallVec",2065],[10,"Into",2056],[5,"MacroAssembler",1160],[5,"MemoryInfo",1160],[10,"Type",1973],[17,"Output"],[10,"Fn",2066],[6,"Error",1266],[6,"Error",2067],[5,"BinaryReaderError",2068],[10,"Error",2069],[5,"String",2070],[5,"ValidateThenVisit",1314],[8,"Result",2068],[10,"VisitOperator",2061],[6,"Operator",2061],[5,"Imports",1903],[5,"Exports",1903],[10,"ToLSBytes",1973],[5,"Data",1982],[5,"FunctionBody",2062],[6,"HostFunc",2025],[6,"Ordering",2071]],"r":[[1,98],[7,291],[8,335],[9,994],[10,994],[11,994],[14,354],[19,1266],[23,374],[27,335],[37,1080],[41,1112],[42,1112],[44,1160],[47,1266],[281,291],[282,335],[283,354],[284,291],[285,374],[286,335],[1054,1080],[1903,1982],[1908,1999],[1909,1999],[1910,2025],[1914,1973],[1915,1973]],"b":[[1303,"impl-Display-for-Error"],[1304,"impl-Debug-for-Error"],[1305,"impl-From%3CError%3E-for-Error"],[1306,"impl-From%3CBinaryReaderError%3E-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAIoFPwBJAAAA8AABAPUAAgD6AAAA/gAAAAEBAAAIAQMADQEDABcBCAAmAQMAKwEKADcBAQA9AQAARwEBAEoBBQBSAQUAWQEAAF8BAwBmAQEAcQEAAHQBAgCNAQEAowEBAKYBPALqAwwA+AMEAA8EBwAZBAIAHwQAACIECQAzBAMAOgQBAD4EAgBDBAAARQQAAFUEAwBeBA0AcgQAAHsEAAB9BAUAhQQCAMcEAwDMBAYA1gQAANoEAADsBAYAFgUFAB4FBAAkBQEAKAVAAn8HDgCQBwYAmAcCAKAHAACpBwsAvAcAAMAHCADMBwMA1AcGAOMHBQDuBwsA/AcAAP8HBAA="}],["zink",{"t":"KKYTTKCCXCMMMCXKQMKTNNNNNNNNNNCHCHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHTKMCM","n":["Asm","Event","","NAME","STORAGE_KEY","Storage","asm","event","external","ffi","get","push","set","storage","","Asm","impl_asm","push","Event","NAME","log0","","log1","","log2","","log3","","log4","","asm","emit_abi","evm","push_i16","push_i32","push_i64","push_i8","push_u16","push_u32","push_u64","push_u8","sload_i16","sload_i32","sload_i64","sload_i8","sload_u16","sload_u32","sload_u64","sload_u8","log0","log1","log2","log3","log4","push0","push1","push10","push11","push12","push13","push14","push15","push16","push17","push18","push19","push2","push20","push21","push22","push23","push24","push25","push26","push27","push28","push29","push3","push30","push31","push32","push4","push5","push6","push7","push8","push9","sload","sstore","STORAGE_KEY","Storage","get","mapping","set"],"q":[[0,"zink"],[15,"zink::asm"],[18,"zink::event"],[30,"zink::ffi"],[33,"zink::ffi::asm"],[49,"zink::ffi::evm"],[89,"zink::storage"],[94,"zink_codegen"]],"i":"```fn`````0b1````0`22222222222```````````````````````````````````````````````````````````1`1`1","f":"``````````{{}cb}{bd}{cdb}````1``{{{h{f}}}d}0{{{h{f}}{h{{l{j}}}}}d}0{{{h{f}}{h{{l{j}}}}{h{{l{j}}}}}d}0{{{h{f}}{h{{l{j}}}}{h{{l{j}}}}{h{{l{j}}}}}d}0{{{h{f}}{h{{l{j}}}}{h{{l{j}}}}{h{{l{j}}}}{h{{l{j}}}}}d}0`````````````````````````````````````````````````````````````7`5","D":"J`","p":[[10,"Asm",15],[1,"unit"],[10,"Event",18],[1,"reference"],[1,"u8"],[1,"slice"],[10,"Storage",89]],"r":[[0,15],[1,18],[2,94],[5,89],[8,94],[14,94]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAA4ABAAEAAEAEQAAABQACgBaAAAA"}],["zink_codegen",{"t":"YCXCCXHHJH","n":["Event","event","external","selector","storage","","parse","external","IOTA","parse"],"q":[[0,"zink_codegen"],[6,"zink_codegen::event"],[7,"zink_codegen::selector"],[8,"zink_codegen::storage"],[10,"syn::derive"],[11,"proc_macro"],[12,"syn::item"],[13,"proc_macro2"]],"i":"``````````","f":"``````{bd}{fd}`{hj}","D":"Ab","p":[[5,"DeriveInput",10],[5,"TokenStream",11],[5,"ItemFn",12],[5,"ItemType",12],[5,"TokenStream",13]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAEAEAAAAAUACQA="}],["zinkc",{"t":"PFPPPFFFPGIPPIOOCNNOCNNNCCOONONNNNOCCONONNNNCFONNONNNNNONNNNFONNNNNNONNNNNONONNNNNNFONNNONNNONNNNNONNNFNNNNNNNNNONNNNNNNNNNNNFNNNONNONONONNNNNNNNPPPPPGPPINNNNNNNNNNNNNNNNH","n":["Anyhow","Artifact","BinaryReader","BufferOverflow","Codegen","Compiler","Config","Constructor","Err","Error","InitStorage","InvalidDataOffset","Ok","Result","abi","","artifact","borrow","borrow_mut","buffer","cli","clone","clone_into","clone_to_uninit","compiler","config","","","default","dispatcher","finish","fmt","from","into","masm","parser","result","runtime_bytecode","storage","table","to_owned","try_from","try_into","type_id","utils","Artifact","abi","borrow","borrow_mut","config","default","deserialize","fmt","from","into","runtime_bytecode","serialize","try_from","try_into","type_id","Compile","abi","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","dispatcher","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","input","into","output","run","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","Compiler","abi","artifact","borrow","borrow_mut","buffer","compile","compile_dispatcher","compile_func","config","default","emit_buffer","from","into","new","table","try_from","try_into","type_id","Config","augment_args","augment_args_for_update","borrow","borrow_mut","command","command_for_update","default","deserialize","dispatcher","","fmt","from","from_arg_matches","from_arg_matches_mut","group_id","into","serialize","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","Parser","borrow","borrow_mut","data","","default","exports","","from","funcs","imports","","into","parse","to_env","to_func_env","try_from","","try_into","type_id","Anyhow","BinaryReader","BufferOverflow","Codegen","Err","Error","InvalidDataOffset","Ok","Result","borrow","borrow_mut","fmt","","from","","","","header","in_current_span","into","source","to_string","try_from","try_into","type_id","wasm_opt"],"q":[[0,"zinkc"],[45,"zinkc::artifact"],[60,"zinkc::cli"],[83,"zinkc::compiler"],[102,"zinkc::config"],[125,"zinkc::parser"],[145,"zinkc::result"],[170,"zinkc::utils"],[171,"zingen::codegen::constructor"],[172,"smallvec"],[173,"zingen::result"],[174,"core::result"],[175,"core::fmt"],[176,"std::collections::hash::map"],[177,"core::any"],[178,"serde::de"],[179,"serde::ser"],[180,"clap_builder::builder::command"],[181,"clap_builder::parser::matches::arg_matches"],[182,"clap_builder"],[183,"clap_builder::util::id"],[184,"core::option"],[185,"anyhow"],[186,"zingen::wasm"],[187,"zingen::wasm::func"],[188,"zingen::codegen::function"],[189,"wasmparser::readers::core::data"],[190,"wasmparser::readers"],[191,"zingen::wasm::data"],[192,"wasmparser::readers::core::exports"],[193,"wasmparser::readers::core::imports"],[194,"wasmparser::binary_reader"],[195,"color_eyre::section"],[196,"core::marker"],[197,"core::error"],[198,"alloc::string"],[199,"std::path"],[200,"core::convert"]],"i":"Ed`000```Cd``10`AlCb`f01`000``210Db11111``3121111``33333333333333`Bf000000000000000000000`333333333333333333`1111111111111111111111`Ch00000000000000000077776`76`7777777777777777`","f":"`````````````````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}``{{{b{f}}}f}{{b{b{dc}}}h{}}{bh}````{{}f}`{{{b{f}}{n{{l{j}}}}}{{Ab{{n{{l{j}}}}A`}}}}{{{b{f}}{b{dAd}}}{{Ab{hAf}}}}{cc{}}{{}c{}}````{{{b{df}}{Ah{{n{{l{j}}}}{n{{l{j}}}}}}}{{Ab{hA`}}}}`{bc{}}{c{{Ab{e}}}{}{}}{{}{{Ab{c}}}{}}{bAj}```>=`{{}Al}{c{{Ab{Al}}}An}{{{b{Al}}{b{dAd}}}B`}98`{{{b{Al}}c}AbBb}654``{BdBd}0{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{}Bd}0`{{{b{Bf}}{b{dAd}}}B`}?{{{b{Bh}}}{{Ab{BfBj}}}}{{{b{dBh}}}{{Ab{BfBj}}}}{{}{{Bn{Bl}}}}`{{}c{}}`{{{b{Bf}}}{{C`{h}}}}{c{{Ab{e}}}{}{}}{{}{{Ab{c}}}{}}{bAj}{{{b{dBf}}{b{Bh}}}{{Ab{hBj}}}}{{{b{dBf}}{b{dBh}}}{{Ab{hBj}}}}``{Cb{{Cd{Al}}}}>=`{{Cb{b{{Cf{j}}}}}{{Cd{Al}}}}{{{b{dCb}}{b{dCh}}}{{Cd{h}}}}{{{b{dCb}}CjCl}{{Cd{h}}}}`{{}Cb}{{{b{dCb}}CnD`}{{Cd{h}}}}{cc{}}={DbCb}`<;:`{BdBd}0{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{}Bd}0{{}Db}{c{{Ab{Db}}}An}{{DbDd}Db}`{{{b{Db}}{b{dAd}}}B`}9{{{b{Bh}}}{{Ab{DbBj}}}}{{{b{dBh}}}{{Ab{DbBj}}}}{{}{{Bn{Bl}}}}{{}c{}}{{{b{Db}}c}AbBb}{c{{Ab{e}}}{}{}}{{}{{Ab{c}}}{}}{bAj}{{{b{dDb}}{b{Bh}}}{{Ab{hBj}}}}{{{b{dDb}}{b{dBh}}}{{Ab{hBj}}}}`{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{{Dh{Df}}}}}{{Cd{Dj}}}}`{{}Ch}{{{b{{Dh{Dl}}}}}{{Cd{Dn}}}}`{cc{}}`{{{b{{Dh{E`}}}}}{{Cd{Eb}}}}`={{{b{dCh}}{b{{Cf{j}}}}}{{Cd{h}}}}{{{b{Ch}}}Cj}0={{{b{{Cf{j}}}}}{{Cd{Ch}}}}=<`````````98{{{b{Ed}}{b{dAd}}}B`}05{EfEd}{EhEd}{A`Ed}{c{{Ej{ce}}}{ElEnF`}{}}{{}}{{}c{}}{{{b{Ed}}}{{Bn{{b{Fb}}}}}}{bFd}{c{{Ab{e}}}{}{}}{{}{{Ab{c}}}{}}{bAj}{{ce}{{C`{h}}}{{Fh{Ff}}}{{Fh{Ff}}}}","D":"Jn","p":[[1,"reference"],[0,"mut"],[5,"Constructor",0,171],[1,"unit"],[1,"u8"],[1,"array"],[5,"SmallVec",172],[6,"Error",173],[6,"Result",174],[5,"Formatter",175],[5,"Error",175],[5,"HashMap",176],[5,"TypeId",177],[5,"Artifact",45],[10,"Deserializer",178],[8,"Result",175],[10,"Serializer",179],[5,"Command",180],[5,"Compile",60],[5,"ArgMatches",181],[8,"Error",182],[5,"Id",183],[6,"Option",184],[8,"Result",185],[5,"Compiler",83],[8,"Result",145],[1,"slice"],[5,"Parser",125],[5,"Env",186],[5,"Function",187],[1,"u32"],[5,"Function",188],[5,"Config",102],[1,"bool"],[5,"Data",189],[5,"SectionLimited",190],[5,"Data",191],[5,"Export",192],[5,"Exports",186],[5,"Import",193],[5,"Imports",186],[6,"Error",145],[5,"Error",185],[5,"BinaryReaderError",194],[5,"IndentedSection",195],[10,"Display",175],[10,"Send",196],[10,"Sync",196],[10,"Error",197],[5,"String",198],[5,"Path",199],[10,"AsRef",200]],"r":[[1,45],[5,83],[6,102],[7,171],[9,145],[10,171],[13,145]],"b":[[156,"impl-Debug-for-Error"],[157,"impl-Display-for-Error"],[159,"impl-From%3CError%3E-for-Error"],[160,"impl-From%3CBinaryReaderError%3E-for-Error"],[161,"impl-From%3CError%3E-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFQAHQASAAEAFgACAB0AAAAgAAAAIwAAACkAAwAwAAEAMwACADkAAwA/AAUARgAAAEgAAgBPAAQAVwABAF4AAABkAAIAaAAHAHIAAAB0AAIAeAAFAH8AAQCCAAEAhQAAAIcAAACJAAAAjgADAJsAAwCgAAQApgAEAA=="}],["zinkc_filetests",{"t":"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTFNNNNNNQNNOONNNNO","n":["BR_IF_AS_BLOCK_LAST","CALL_AS_IF","CALL_DUMMY","CALL_PARAMS","I32ADD_LOCALS","I32ADD_PARAMS","I32ADD_TEE","I32SUB_LOCALS","I32SUB_PARAMS","I64ADD_LOCALS","I64ADD_PARAMS","I64ADD_TEE","I64SUB_LOCALS","I64SUB_PARAMS","IF_BASIC","IF_SINGULAR","LOG_LOG0","LOG_LOG1","LOG_LOG2","LOG_LOG3","LOG_LOG4","LOOP_AS_BR_IF","LOOP_SINGULAR","RECURSION_FIBONACCI","SELECT_PARAMS","STORAGE_BASIC","STORAGE_DISPATCHER","STORAGE_LOAD","STORAGE_STORE","Test","borrow","borrow_mut","clone","clone_into","clone_to_uninit","from","impl_tests","into","load","module","name","to_owned","try_from","try_into","type_id","wasm"],"q":[[0,"zinkc_filetests"],[46,"anyhow"],[47,"core::result"],[48,"core::any"]],"i":"f0000000000000000000000000000`000000`000000000","f":"``````````````````````````````{b{{b{c}}}{}}{{{b{d}}}{{b{dc}}}{}}{{{b{f}}}f}{{b{b{dc}}}h{}}{bh}{cc{}}`{{}c{}}{{{b{j}}{b{j}}}{{l{f}}}}``{bc{}}{c{{n{e}}}{}{}}{{}{{n{c}}}{}}{bA`}`","D":"Dl","p":[[1,"reference"],[0,"mut"],[5,"Test",0],[1,"unit"],[1,"str"],[8,"Result",46],[6,"Result",47],[5,"TypeId",48]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAgAAgAfAAQAKgADAA=="}],["zint",{"t":"PKPPFPPPPPFPPGFPPPPPPPPPPPGPPPPPPPINNOONNNNCNNNNNNOCONNNNNNNNCNNNNOONNEONNHEOCOHOMNNMNNNNNNOKQMMFONNNNNONNONNNNNNNNNNNOSSFSFONNNNNNNNNNNNNNOOONNNOOONNNNNNNNFFNNNNNNNNNNOOHHNNNNNNH","n":["Basic","Bytes32","CallNotAllowedInsideStatic","CallTooDeep","Contract","CreateCollision","CreateContractSizeLimit","CreateContractStartingWithEF","CreateInitCodeSizeLimit","EOFFunctionStackOverflow","EVM","EofAuxDataOverflow","EofAuxDataTooSmall","HaltReason","Info","InvalidEXTCALLTarget","InvalidFEOpcode","InvalidJump","InvalidOperand","Memory","MemoryLimit","NonceOverflow","NotActivated","OpcodeNotFound","OutOfFunds","OutOfGas","OutOfGasError","OutOfOffset","OverflowPayment","Precompile","PrecompileError","StackOverflow","StackUnderflow","StateChangeDuringStaticCall","U256","__clone_box","","address","artifact","borrow","","borrow_mut","","bytes","clone","","clone_into","","clone_to_uninit","","constructor","contract","dispatcher","eq","","equivalent","","","","","","evm","fmt","","from","","gas","halt","hash","","hex","inner","into","","keccak256","log","logs","lookup","ret","setup_logger","storage","to_bytes32","to_owned","","to_vec","try_from","","try_into","","type_id","","wasm","Bytes32","impl_bytes32","to_bytes32","to_vec","Contract","artifact","borrow","borrow_mut","bytecode","compile","construct","constructor","current","default","dispatcher","encode","execute","from","","into","json_abi","pure","search","try_from","try_into","type_id","wasm","ALICE","CONTRACT","EVM","GAS_LIMIT","Info","address","borrow","","borrow_mut","","call","calldata","contract","db","default","","deploy","fmt","from","","gas","halt","inner","interp","into","","logs","ret","storage","try_from","","","","try_into","","type_id","","Manifest","Package","borrow","","borrow_mut","","deserialize","","from","","into","","name","package","pkg_name","target_dir","try_from","","try_into","","type_id","","wasm"],"q":[[0,"zint"],[92,"zint::bytes"],[96,"zint::contract"],[119,"zint::evm"],[156,"zint::lookup"],[179,"dyn_clone::sealed"],[180,"revm_primitives::result"],[181,"core::fmt"],[182,"core::result"],[183,"core::hash"],[184,"alloc::vec"],[185,"core::any"],[186,"anyhow"],[187,"zingen::codegen::constructor"],[188,"core::convert"],[189,"alloc::string"],[190,"revm::db::in_memory_db"],[191,"revm_primitives::env"],[192,"serde::de"],[193,"std::path"],[194,"alloy_primitives::aliases"],[195,"zabi::selector"]],"i":"l`j0`00000`00``00011100000`0010000`01BlBd2323`2323230`023222333`23231123`Cb34``2`2`2An4504545452``00`2222222222222222222222`````31313111113131333111333313331313``D`Dd1010101001``101010`","f":"```````````````````````````````````{{bd}f}0``{b{{b{c}}}{}}0{{{b{h}}}{{b{hc}}}{}}0`{{{b{j}}}j}{{{b{l}}}l}{{b{b{hc}}}f{}}0{bf}0```{{{b{j}}{b{j}}}n}{{{b{l}}{b{l}}}n}{{b{b{c}}}n{}}00000`{{{b{j}}{b{hA`}}}{{Ad{fAb}}}}{{{b{l}}{b{hA`}}}{{Ad{fAb}}}}{cc{}}0``{{{b{j}}{b{hc}}}fAf}{{{b{l}}{b{hc}}}fAf}``{{}c{}}0{{{b{{Aj{Ah}}}}}{{Al{Ah}}}}````{{}f}`{{{b{An}}}{{Al{Ah}}}}{bc{}}0{{{b{An}}}{{B`{Ah}}}}{c{{Ad{e}}}{}{}}0{{}{{Ad{c}}}{}}0{bBb}0```53``{b{{b{c}}}{}}{{{b{h}}}{{b{hc}}}{}}{{{b{Bd}}}{{Bf{{B`{Ah}}}}}}{Bd{{Bf{Bd}}}}{{{b{hBd}}Bh}{{Bf{{b{hBd}}}}}}`{{}{{Bf{Bd}}}}{{}Bd}`{{{b{Bd}}e}{{Bf{{B`{Ah}}}}}An{{Bj{{Aj{c}}}}}}{{{b{hBd}}e}{{Bf{Bl}}}An{{Bj{{Aj{c}}}}}}{cc{}}{cBd{{Bj{{Aj{Ah}}}}}}{{}c{}}{{{b{Bd}}}{{Bf{Bn}}}}{BdBd}{{{b{C`}}}{{Bf{Bd}}}}{c{{Ad{e}}}{}{}}{{}{{Ad{c}}}{}}{bBb}```````{b{{b{c}}}{}}0{{{b{h}}}{{b{hc}}}{}}0{{{b{hCb}}{Al{Ah}}}{{Bf{Bl}}}}{{{b{hCb}}{b{{Aj{Ah}}}}}{{b{hCb}}}}{{Cb{b{{Aj{Ah}}}}}Cb}{{{b{hCb}}}{{b{hCd}}}}{{}Cb}{{}Bl}{{{b{hCb}}{b{{Aj{Ah}}}}}{{Bf{Bl}}}}{{{b{Bl}}{b{hA`}}}Cf}{cc{}}0```{{{b{{Aj{Ah}}}}{b{{Aj{Ah}}}}}{{Bf{Bl}}}}{{}c{}}0```??{{{Cl{ChCj}}}{{Bf{Bl}}}}{Cn{{Bf{Bl}}}}{{}{{Ad{c}}}{}}0{bBb}0``{b{{b{c}}}{}}0{{{b{h}}}{{b{hc}}}{}}0{c{{Ad{D`}}}Db}{c{{Ad{Dd}}}Db}::88``{{}{{Bf{Bn}}}}{{}{{Bf{Df}}}}{c{{Ad{e}}}{}{}}08877{{{b{C`}}}{{Bf{Df}}}}","D":"Jn","p":[[1,"reference"],[5,"Private",179],[1,"unit"],[0,"mut"],[6,"HaltReason",0,180],[6,"OutOfGasError",0,180],[1,"bool"],[5,"Formatter",181],[5,"Error",181],[6,"Result",182],[10,"Hasher",183],[1,"u8"],[1,"slice"],[1,"array"],[10,"Bytes32",92],[5,"Vec",184],[5,"TypeId",185],[5,"Contract",96],[8,"Result",186],[8,"InitStorage",187],[10,"AsRef",188],[5,"Info",119],[5,"String",189],[1,"str"],[5,"EVM",119],[8,"InMemoryDB",190],[8,"Result",181],[5,"ResultAndState",180],[8,"TransactTo",191],[1,"tuple"],[6,"ExecutionResult",180],[5,"Manifest",156],[10,"Deserializer",192],[5,"Package",156],[5,"PathBuf",193]],"r":[[1,92],[4,96],[10,119],[13,180],[14,119],[26,180],[34,194],[74,195]],"b":[[150,"impl-TryFrom%3C(ResultAndState,+TxKind)%3E-for-Info"],[151,"impl-TryFrom%3CExecutionResult%3E-for-Info"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFwAGAABAAAAAwABAAYAAAARABEAJAABACgAAwAtAAUANgAHAD8AAQBFAAMATAAAAFMAAQBWAAUAYwABAGoAAABvAAAAdAACAH4AAwCFAAIAiQAAAI4AAACVAAcAnwAFAK0ABQA="}]]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); -//{"start":39,"fragment_lengths":[5824,5453,2528,2130,49538,1688,597,5427,1188,4698]} \ No newline at end of file +//{"start":39,"fragment_lengths":[5824,5453,2528,2130,49838,1664,531,5992,1188,4836]} \ No newline at end of file diff --git a/rustdocs/search.desc/zingen/zingen-desc-0-.js b/rustdocs/search.desc/zingen/zingen-desc-0-.js index 05bac92d2..3ae119184 100644 --- a/rustdocs/search.desc/zingen/zingen-desc-0-.js +++ b/rustdocs/search.desc/zingen/zingen-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("zingen", 0, "Code generation library for zink.\nFailed to parse function ABI.\nLow level assembler implementation for EVM.\nMaximum size of a evm bytecode in bytes.\nFailed to parse WASM with binary reader.\nThe block control stack frame.\nCode generation buffer.\nFailed to push more data to the buffer.\nCode section for EVM.\nContract constructor.\nThe control stack.\nHolds the necessary metadata to support the smission of …\nThe type of the control stack frame.\nFailed to pop control stack frame.\nData not found in data section.\nCode generator for EVM dispatcher.\nFailed to register program counter to function index.\nFailed to merge jump table.\nThe else control stack frame.\nContains the error value\nCodegen error\nFailed to find ext function index in jump table.\nFailed to find function index in jump table.\nFailed to find function index in jump table.\nThe code generation abstraction.\nFailed to find host function in compiler.\nThe if control stack frame.\nFailed to find imported function by index in jump table.\nFailed to get data from the provided offset.\nFailed to get data from the provided offset.\nFailed to get frame info of the given depth.\nFailed to mark else block for if block.\nFailed parse function signature.\nFailed to get local with given index.\nFailed to get the offset of the given memory pointer.\nFailed to construct program counter for jump.\nFailed to parse function selector.\nJump table implementation.\nFailed to patch jump destination.\nFailed to define local variable since the index is out of …\nFailed to get local variables.\nA local slot.\nSolidity’s implementation uses 16 slots for locals. ref: …\nThe loop control stack frame.\nEVM MacroAssembler.\nFailed to index data on memory.\nContains the success value\nCodegen result\nFailed to find function selectors.0\nFailed to index data on stack.\nFailed to pop stack.\nFailed to increment stack pointer.\nFailed to decrement stack pointer.\nFailed to queue host functions.\nABI for the current function\nLow level assembler implementation for EVM.\nCode buffer\nLow level assembler.\nBacktrace support for the code generation.\nThe backtrace.\nBuffer of the assembler.\nCode section.\nCode generators\nData structures for control flow emission.\nControl stack frames.\nWASM environment\nWASM environment.\nFunction table.\nModule functions\nFunction table.\nGas counter.\nCode buffer.\nThe type contained by this local slot.\nIf this function is the main function.\nJump table implementation.\nJump table.\nWASM local slot.\nThe defined locals for a function.\nMacroAssembler used by the code generation.\nCode generator.\nThe macro assembler.\nMemory pointer for byte offset.\nThe offset of the code section\nThe program counter offset at the beginning of if.\nOriginal stack pointer.\nCodegen results\nThe return values of the block.\nRuntime bytecode.\nStack pointer, maximum 1024 items.\nStack pointer of the local slot.\nStack frames for control flow.\nJump table\nThe jump table.\nThe function type.\nThe type of the control stack frame.\nThe type of this local slot.\nPre-visitor for parsing WASM.\nThis module is the central place for machine code emission.\nWASM related primitives.\nLow level assembler implementation for EVM.\nEmit ADD\nEmit ADDMOD\nEmit ADDRESS\nEmit AND\nEmit BALANCE\nEmit BLOCKHASH\nEmit BYTE\nEmit CALL\nEmit CALLCODE\nEmit CALLDATACOPY\nEmit CALLDATALOAD\nEmit CALLDATASIZE\nEmit CALLER\nEmit CALLVALUE\nEmit CODECOPY\nEmit CODESIZE\nEmit COINBASE\nEmit CREATE\nEmit CREATE2\nEmit DELEGATECALL\nEmit DIFFICULTY\nEmit DIV\nEmit DUP1\nEmit DUP10\nEmit DUP11\nEmit DUP12\nEmit DUP13\nEmit DUP14\nEmit DUP15\nEmit DUP16\nEmit DUP2\nEmit DUP3\nEmit DUP4\nEmit DUP5\nEmit DUP6\nEmit DUP7\nEmit DUP8\nEmit DUP9\nEmit EQ\nEmit EXP\nEmit EXTCODECOPY\nEmit EXTCODESIZE\nEmit GAS\nEmit GASLIMIT\nEmit GASPRICE\nEmit GT\nEmit INVALID\nEmit ISZERO\nEmit JUMP\nEmit JUMPDEST\nEmit JUMPI\nEmit LOG0\nEmit LOG1\nEmit LOG2\nEmit LOG3\nEmit LOG4\nEmit LT\nEmit MLOAD\nEmit MOD\nEmit MSIZE\nEmit MSTORE\nEmit MSTORE8\nEmit MUL\nEmit MULMOD\nEmit NOT\nEmit NUMBER\nEmit OR\nEmit ORIGIN\nEmit PC\nEmit POP\nEmit PUSH0\nEmit PUSH1\nEmit PUSH10\nEmit PUSH11\nEmit PUSH12\nEmit PUSH13\nEmit PUSH14\nEmit PUSH15\nEmit PUSH16\nEmit PUSH17\nEmit PUSH18\nEmit PUSH19\nEmit PUSH2\nEmit PUSH20\nEmit PUSH21\nEmit PUSH22\nEmit PUSH23\nEmit PUSH24\nEmit PUSH25\nEmit PUSH26\nEmit PUSH27\nEmit PUSH28\nEmit PUSH29\nEmit PUSH3\nEmit PUSH30\nEmit PUSH31\nEmit PUSH32\nEmit PUSH4\nEmit PUSH5\nEmit PUSH6\nEmit PUSH7\nEmit PUSH8\nEmit PUSH9\nEmit RETURN\nEmit RETURNDATACOPY\nEmit RETURNDATASIZE\nEmit REVERT\nEmit SAR\nEmit SDIV\nEmit SELFDESTRUCT\nEmit SGT\nEmit SHA3\nEmit SHL\nEmit SHR\nEmit SIGNEXTEND\nEmit SLOAD\nEmit SLT\nEmit SMOD\nEmit SSTORE\nEmit STATICCALL\nEmit STOP\nEmit SUB\nEmit SWAP1\nEmit SWAP10\nEmit SWAP11\nEmit SWAP12\nEmit SWAP13\nEmit SWAP14\nEmit SWAP15\nEmit SWAP16\nEmit SWAP2\nEmit SWAP3\nEmit SWAP4\nEmit SWAP5\nEmit SWAP6\nEmit SWAP7\nEmit SWAP8\nEmit SWAP9\nEmit TIMESTAMP\nEmit XOR\nBuffer of the assembler.\nBuffer of the assembler.\nMutable buffer of the assembler.\nDecrement memory pointer\nDecrement stack pointer\nEmit a byte.\nEmit a single opcode.\nEmit n bytes.\nReturns the argument unchanged.\nGas counter.\nIncrement the gas counter.\nIncrement memory pointer\nIncrement stack pointer\nCalls U::from(self).\nMemory pointer for byte offset.\nStack pointer, maximum 1024 items.\nBacktrace implementation for the code generation.\nReturns the argument unchanged.\nCompiled instructions.\nCalls U::from(self).\nPops the last instruction from the backtrace.\nPop the last n operands from the backtrace.\nPushes a new instruction set to the backtrace.\nTable for the code section.\nContract constructor.\nCode generator for EVM dispatcher.\nCode generation implementation.\nCode section for EVM.\nExternal function in code section.\nThe bytecode of the external function.\nGet the bytecode of the code section.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet the functions in the code section.\nFunction table.\nCalls U::from(self).\nCalls U::from(self).\nCreate a new code section.\nGet the current offset of the code section.\nThe offset of the code section\nGet the offset of a function.\nShift the code section.\nStack output.\nStack input.\nAdd a function to the code section.\nContract constructor.\nConcat the constructor code.\nReturns the argument unchanged.\nCode buffer.\nCalls U::from(self).\nCode generator.\nCreate a new constructor.\nReturns the length of instructions.\nRuntime bytecode.\nCode generator for EVM dispatcher.\nABI for the current function\nCode buffer\nEmit selector to buffer.\nWASM environment\nEmit return of ext function.\nEmit compiled code to the given buffer.\nReturns the argument unchanged.\nModule functions\nCalls U::from(self).\nLoad function ABI.\nCreate dispatcher with functions.\nQuery exported function from selector.\nJump table\nThe code generation abstraction.\nThe begeinning of a block construct. A sequence of …\nBranch to a given label in an enclosing construct.\nPerforms a conditional branch if i32 is non-zero.\nA jump table which jumps to a label in an enclosing …\nThe call instruction calls a function specified by its …\nThe call indirect instruction calls a function indirectly …\nMarks an else block of an if.\nHandle the end of instructions for different situations.\nThis instruction gets the value of a variable.\nThis instruction sets the value of a variable.\nThe beginning of an if construct with an implicit block.\nThis instruction gets the value of a variable.\nLocal get from calldata.\nLocal get for variables.\nThis instruction sets the value of a variable.\nThis _local_tee is like _local_set, but it also returns …\nA block with a label which may be used to form loops.\nPerform nothing in EVM bytecode.\nThe select instruction selects one of its first two …\nMark as invalid for now.\nThe backtrace.\nCall imported functions\nCall internal functions\nControl stack frames.\nEmit function locals\nEmit function operators.\nWASM environment.\nFinish code generation.\nReturns the argument unchanged.\nHandle the return of a call.\nHandle the popping of a frame.\nHandle jumpdest.\nHandle the end of the function.\nCalls U::from(self).\nIf this function is the main function.\nThe defined locals for a function.\nLog a message with topics.\nParse log data from the bytecode.\nThe macro assembler.\nCreate a new code generator.\nThe jump table.\nThe function type.\nThe block control stack frame.\nThe control stack.\nHolds the necessary metadata to support the smission of …\nThe type of the control stack frame.\nThe else control stack frame.\nThe if control stack frame.\nThe loop control stack frame.\nThe total depth of the control stack.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nGet the label of the control stack frame at given depth.\nMark the else block of an if.\nCreate a new control stack frame.\nThe program counter offset at the beginning of if.\nOriginal stack pointer.\nGet the offset of the original program counter.\nPop a control stack frame.\nPush a control stack frame.\nGet the result type of the control stack frame.\nThe return values of the block.\nGet the return type of the control stack frame at given …\nStack frames for control flow.\nGet the type of the control stack frame at given depth.\nThe type of the control stack frame.\nExternal function.\nJump to function.\nJump types\nJump to the given label, the label here is the original …\noffset to the program counter.\nReturns the argument unchanged.\nCalls U::from(self).\nIf the target is a label.\nIf the target is fixed to offset of the program counter.\nProgram counter handlers.\nProgram Relocations\nJump Table\nGet the offset of the program counter for relocation.\nRelocate program counter to buffer.\nJump table implementation.\nRegister a function.\nRegister program counter to the function table.\nCode section.\nRegister the start of the program counter of the code …\nRegister a external function.\nReturns the argument unchanged.\nFunction table.\nCalls U::from(self).\nJump table.\nRegister a label.\nMerge two jump tables.\nRegister a label.\nRelocate program counter to all registered labels.\nShift program counter for functions.\nShift program counter for labels.\nShift target program counter for labels.\nShift program counter for all items.\nShift the program counter of targets with given ptr and …\nShift the target program counters.\nGet the target of a jump.\nA local slot.\nThe type of a local slot.\nSolidity’s implementation uses 16 slots for locals. ref: …\nA function parameter.\nA local variable.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet local from index.\nGet mutate local from index.\nThe type contained by this local slot.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nIf the locals are empty.\nGet the length of locals\nCreate a new local slot.\nGet the lower significant bytes of the byte offset of a …\nPush a local slot.\nStack pointer of the local slot.\nGet the type of this local slot.\nThe type of this local slot.\nGet the value type of this local slot.\nEVM MacroAssembler.\nInfo for memory position.\nAbsolute value\nCeiling operator\nsign-agnostic count leading zero bits\nConvert a signed 32-bit integer to a (32-bit/64-bit) float\nConvert an unsigned 32-bit integer to a (32-bit/64-bit) …\nConvert a signed 32-bit integer to a (32-bit/64-bit) float\nConvert a unsigned 32-bit integer to a (32-bit/64-bit) …\nIf z1 and z2 have the same sign, return z1, otherwise …\nsign-agnostic count leading zero bits\nThe drop instruction simply throw away a single operand.\nSimple not operator\nPush a 32-bit float value on the stack.\nTruncate a 64-bit float to a signed 32-bit integer.\nConvert a 32-bit float to a signed 32-bit integer.\nPush a 64-bit float value on the stack.\nTruncate a 64-bit float to an unsigned 32-bit integer.\nConvert a 64-bit float to a signed 64-bit integer.\nFloor operator\nGreater than or equal comparison.\nGreater than comparison.\nPush a 32-bit integer value on the stack.\nConvert a signed 32-bit integer to a 32-bit float.\nwrap a 64-bit integer to a 32-bit integer.\nPush a 64-bit integer value on the stack.\nExtend a signed 32-bit integer to a 64-bit integer.\nExtend an unsigned 32-bit integer to a 64-bit integer.\nConvert a signed 64-bit integer to a 64-bit float.\nGreater than or equal comparison.\nLoad n bytes to extend self as another number type.\nLoad 2 bytes to extend self as another number type.\nLoad 4 bytes to extend self as another number type.\nLoad 1 byte to extend self as another number type.\nless than comparison.\nMaximum of two values\nThe memory grow instruction grows memory by a given delta …\nThe memory size instruction returns the current size of …\nMinimum of two values\nSign-agnostic compare unequal.\nRound to nearest integer, ties to even.\nNegation\nsign-agnostic count number of one bits\nReturn zero or more values from the function.\nsign-agnostic rotate left\nsign-agnostic rotate right\nGreater than or equal comparison.\nGreater than and equal comparison.\nGreater than or equal comparison.\nFunction sload from EVM which is not available in WASM.\nless than or equal comparison.\nSquare root\nFunction sstore from EVM which is not available in WASM.\nStore n bytes in memory.\nWrap self to i16 and store 2 bytes\nWrap self to i32 and store 4 bytes\nWrap self to i8 and store 1 byte\nSub two numbers.\nRound to nearest integer towards zero\nTruncate a 32-bit float to an integer\nTruncate a 64-bit float to an integer\nLow level assembler.\nHandle the return of a call.\nDuplicate stack item by target index.\nEmbedded Function implementations\nFloat Instructions\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn with nothing.\nCalls U::from(self).\nCalls U::from(self).\nHandle the end of the main function.\nMemory Instructions\nStore data in memory with at current memory byte pointer.\nStore data in memory at offset.\nWrite bytes to memory.\nGet byte offset of the memory pointer.\nMemory offset.\nGet the current program counter offset.\nPlace n bytes on stack.\nReturn handlers\nShift the program counter to the bottom or the top of the …\nMemory size\nGet the stack pointer.\nStack Instructions\nSwap memory by target index.\nFailed to parse function ABI.\nFailed to parse WASM with binary reader.\nFailed to push more data to the buffer.\nFailed to pop control stack frame.\nData not found in data section.\nFailed to register program counter to function index.\nFailed to merge jump table.\nContains the error value\nCodegen error\nFailed to find ext function index in jump table.\nFailed to find function index in jump table.\nFailed to find function index in jump table.\nFailed to find host function in compiler.\nFailed to find imported function by index in jump table.\nFailed to get data from the provided offset.\nFailed to get data from the provided offset.\nFailed to get frame info of the given depth.\nFailed to mark else block for if block.\nFailed parse function signature.\nFailed to get local with given index.\nFailed to get the offset of the given memory pointer.\nFailed to construct program counter for jump.\nFailed to parse function selector.\nFailed to patch jump destination.\nFailed to define local variable since the index is out of …\nFailed to get local variables.\nFailed to index data on memory.\nContains the success value\nCodegen result\nFailed to find function selectors.0\nFailed to index data on stack.\nFailed to pop stack.\nFailed to increment stack pointer.\nFailed to decrement stack pointer.\nFailed to queue host functions.\nReturns the argument unchanged.\nCalls U::from(self).\nA pre-visitor that validates the WASM and then visits it.\nReturns the argument unchanged.\nCalls U::from(self).\ncall instructions\nControl flow visitors\nCase handlers\nA macro to define unsupported WebAssembly operators.\nLocal instructions\nSystem instructions\nImplement arithmetic operators for types.\nData section conversion\nEmit ABI to the compiler.\nA struct that holds the environment wasm module.\nEVM assemble operations.\nWASM export section\nFunction with validator.\nWASM Functions by indexes.\nEVM built-in function.\nWASM import section\nNo operations, this only covers push_$ty at the moment.\nOutput buffer\nGet the offset of this type in the lowest significant …\nWASM type size for the stack representation of EVM.\nWASM ABI\nFunction body.\nDataset in code generation\nWASM data slots\nWASM exports\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nFunction handler\nHost functions\nWASM imports\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nIf the function is emit_abi.\nGet all function selectors\nSize in bytes.\nConvert self to the lowest significant bytes.\nFunction validator.\nThe alignment mask for 32 bytes (32 - 1).\nOutput buffer\nGet the offset of this type in the lowest significant …\nWASM type size for the stack representation of EVM.\nAlignment the size of this type to bytes32 for the stack …\nAlignment the size of this type to bytes32 for the stack …\nSize in bytes.\nConvert self to the lowest significant bytes.\nData section conversion\nReturns the argument unchanged.\nCalls U::from(self).\nLoad data from offset and size\nFunction with validator.\nWASM Functions by indexes.\nAdd function to the list.\nFunction body.\nRemove all selector functions\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet function index.\nCalls U::from(self).\nCalls U::from(self).\nGet all functions\nRemove constructor function\nGet the function signature.\nFunction validator.\nEmit ABI to the compiler.\nEVM assemble operations.\nEVM built-in function.\nNo operations, this only covers push_$ty at the moment.\nReturns the argument unchanged.\nCalls U::from(self).\nStack input size.\nStack output size.") \ No newline at end of file +searchState.loadedDescShard("zingen", 0, "Code generation library for zink.\nFailed to parse function ABI.\nLow level assembler implementation for EVM.\nMaximum size of a evm bytecode in bytes.\nFailed to parse WASM with binary reader.\nThe block control stack frame.\nCode generation buffer.\nFailed to push more data to the buffer.\nCode section for EVM.\nContract constructor.\nThe control stack.\nHolds the necessary metadata to support the smission of …\nThe type of the control stack frame.\nFailed to pop control stack frame.\nData not found in data section.\nCode generator for EVM dispatcher.\nFailed to register program counter to function index.\nFailed to merge jump table.\nThe else control stack frame.\nContains the error value\nCodegen error\nFailed to find ext function index in jump table.\nFailed to find function index in jump table.\nFailed to find function index in jump table.\nThe code generation abstraction.\nFailed to find host function in compiler.\nThe if control stack frame.\nFailed to find imported function by index in jump table.\nInitial storage of contracts\nFailed to get data from the provided offset.\nFailed to get data from the provided offset.\nFailed to get frame info of the given depth.\nFailed to mark else block for if block.\nFailed parse function signature.\nFailed to get local with given index.\nFailed to get the offset of the given memory pointer.\nFailed to construct program counter for jump.\nFailed to parse function selector.\nJump table implementation.\nFailed to patch jump destination.\nFailed to define local variable since the index is out of …\nFailed to get local variables.\nA local slot.\nSolidity’s implementation uses 16 slots for locals. ref: …\nThe loop control stack frame.\nEVM MacroAssembler.\nFailed to index data on memory.\nContains the success value\nCodegen result\nFailed to find function selectors.0\nFailed to index data on stack.\nFailed to pop stack.\nFailed to increment stack pointer.\nFailed to decrement stack pointer.\nFailed to queue host functions.\nABI for the current function\nLow level assembler implementation for EVM.\nCode buffer\nLow level assembler.\nBacktrace support for the code generation.\nThe backtrace.\nBuffer of the assembler.\nCode section.\nCode generators\nData structures for control flow emission.\nControl stack frames.\nWASM environment\nWASM environment.\nFunction table.\nModule functions\nFunction table.\nGas counter.\nThe type contained by this local slot.\nIf this function is the main function.\nJump table implementation.\nJump table.\nWASM local slot.\nThe defined locals for a function.\nMacroAssembler used by the code generation.\nThe macro assembler.\nCode generator.\nMemory pointer for byte offset.\nThe offset of the code section\nThe program counter offset at the beginning of if.\nOriginal stack pointer.\nCodegen results\nThe return values of the block.\nStack pointer, maximum 1024 items.\nStack pointer of the local slot.\nStack frames for control flow.\nJump table\nThe jump table.\nThe function type.\nThe type of the control stack frame.\nThe type of this local slot.\nPre-visitor for parsing WASM.\nThis module is the central place for machine code emission.\nWASM related primitives.\nLow level assembler implementation for EVM.\nEmit ADD\nEmit ADDMOD\nEmit ADDRESS\nEmit AND\nEmit BALANCE\nEmit BLOCKHASH\nEmit BYTE\nEmit CALL\nEmit CALLCODE\nEmit CALLDATACOPY\nEmit CALLDATALOAD\nEmit CALLDATASIZE\nEmit CALLER\nEmit CALLVALUE\nEmit CODECOPY\nEmit CODESIZE\nEmit COINBASE\nEmit CREATE\nEmit CREATE2\nEmit DELEGATECALL\nEmit DIFFICULTY\nEmit DIV\nEmit DUP1\nEmit DUP10\nEmit DUP11\nEmit DUP12\nEmit DUP13\nEmit DUP14\nEmit DUP15\nEmit DUP16\nEmit DUP2\nEmit DUP3\nEmit DUP4\nEmit DUP5\nEmit DUP6\nEmit DUP7\nEmit DUP8\nEmit DUP9\nEmit EQ\nEmit EXP\nEmit EXTCODECOPY\nEmit EXTCODESIZE\nEmit GAS\nEmit GASLIMIT\nEmit GASPRICE\nEmit GT\nEmit INVALID\nEmit ISZERO\nEmit JUMP\nEmit JUMPDEST\nEmit JUMPI\nEmit LOG0\nEmit LOG1\nEmit LOG2\nEmit LOG3\nEmit LOG4\nEmit LT\nEmit MLOAD\nEmit MOD\nEmit MSIZE\nEmit MSTORE\nEmit MSTORE8\nEmit MUL\nEmit MULMOD\nEmit NOT\nEmit NUMBER\nEmit OR\nEmit ORIGIN\nEmit PC\nEmit POP\nEmit PUSH0\nEmit PUSH1\nEmit PUSH10\nEmit PUSH11\nEmit PUSH12\nEmit PUSH13\nEmit PUSH14\nEmit PUSH15\nEmit PUSH16\nEmit PUSH17\nEmit PUSH18\nEmit PUSH19\nEmit PUSH2\nEmit PUSH20\nEmit PUSH21\nEmit PUSH22\nEmit PUSH23\nEmit PUSH24\nEmit PUSH25\nEmit PUSH26\nEmit PUSH27\nEmit PUSH28\nEmit PUSH29\nEmit PUSH3\nEmit PUSH30\nEmit PUSH31\nEmit PUSH32\nEmit PUSH4\nEmit PUSH5\nEmit PUSH6\nEmit PUSH7\nEmit PUSH8\nEmit PUSH9\nEmit RETURN\nEmit RETURNDATACOPY\nEmit RETURNDATASIZE\nEmit REVERT\nEmit SAR\nEmit SDIV\nEmit SELFDESTRUCT\nEmit SGT\nEmit SHA3\nEmit SHL\nEmit SHR\nEmit SIGNEXTEND\nEmit SLOAD\nEmit SLT\nEmit SMOD\nEmit SSTORE\nEmit STATICCALL\nEmit STOP\nEmit SUB\nEmit SWAP1\nEmit SWAP10\nEmit SWAP11\nEmit SWAP12\nEmit SWAP13\nEmit SWAP14\nEmit SWAP15\nEmit SWAP16\nEmit SWAP2\nEmit SWAP3\nEmit SWAP4\nEmit SWAP5\nEmit SWAP6\nEmit SWAP7\nEmit SWAP8\nEmit SWAP9\nEmit TIMESTAMP\nEmit XOR\nBuffer of the assembler.\nBuffer of the assembler.\nMutable buffer of the assembler.\nDecrement memory pointer\nDecrement stack pointer\nEmit a byte.\nEmit a single opcode.\nEmit n bytes.\nReturns the argument unchanged.\nGas counter.\nIncrement the gas counter.\nIncrement memory pointer\nIncrement stack pointer\nCalls U::from(self).\nMemory pointer for byte offset.\nStack pointer, maximum 1024 items.\nBacktrace implementation for the code generation.\nReturns the argument unchanged.\nCompiled instructions.\nCalls U::from(self).\nPops the last instruction from the backtrace.\nPop the last n operands from the backtrace.\nPushes a new instruction set to the backtrace.\nTable for the code section.\nContract constructor.\nCode generator for EVM dispatcher.\nCode generation implementation.\nCode section for EVM.\nExternal function in code section.\nThe bytecode of the external function.\nGet the bytecode of the code section.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet the functions in the code section.\nFunction table.\nCalls U::from(self).\nCalls U::from(self).\nCreate a new code section.\nGet the current offset of the code section.\nThe offset of the code section\nGet the offset of a function.\nShift the code section.\nStack output.\nStack input.\nAdd a function to the code section.\nContract constructor.\nInitial storage of contracts\nConcat the constructor code.\nReturns the argument unchanged.\nCalls U::from(self).\nCode generator.\nReturns the offset of runtime bytecode.\npreset storage for the contract\nCode generator for EVM dispatcher.\nABI for the current function\nCode buffer\nEmit selector to buffer.\nWASM environment\nEmit return of ext function.\nEmit compiled code to the given buffer.\nReturns the argument unchanged.\nModule functions\nCalls U::from(self).\nLoad function ABI.\nCreate dispatcher with functions.\nQuery exported function from selector.\nJump table\nThe code generation abstraction.\nThe begeinning of a block construct. A sequence of …\nBranch to a given label in an enclosing construct.\nPerforms a conditional branch if i32 is non-zero.\nA jump table which jumps to a label in an enclosing …\nThe call instruction calls a function specified by its …\nThe call indirect instruction calls a function indirectly …\nMarks an else block of an if.\nHandle the end of instructions for different situations.\nThis instruction gets the value of a variable.\nThis instruction sets the value of a variable.\nThe beginning of an if construct with an implicit block.\nThis instruction gets the value of a variable.\nLocal get from calldata.\nLocal get for variables.\nThis instruction sets the value of a variable.\nThis _local_tee is like _local_set, but it also returns …\nA block with a label which may be used to form loops.\nPerform nothing in EVM bytecode.\nThe select instruction selects one of its first two …\nMark as invalid for now.\nThe backtrace.\nCall imported functions\nCall internal functions\nControl stack frames.\nEmit function locals\nEmit function operators.\nWASM environment.\nFinish code generation.\nReturns the argument unchanged.\nHandle the return of a call.\nHandle the popping of a frame.\nHandle jumpdest.\nHandle the end of the function.\nCalls U::from(self).\nIf this function is the main function.\nThe defined locals for a function.\nLog a message with topics.\nParse log data from the bytecode.\nThe macro assembler.\nCreate a new code generator.\nThe jump table.\nThe function type.\nThe block control stack frame.\nThe control stack.\nHolds the necessary metadata to support the smission of …\nThe type of the control stack frame.\nThe else control stack frame.\nThe if control stack frame.\nThe loop control stack frame.\nThe total depth of the control stack.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nGet the label of the control stack frame at given depth.\nMark the else block of an if.\nCreate a new control stack frame.\nThe program counter offset at the beginning of if.\nOriginal stack pointer.\nGet the offset of the original program counter.\nPop a control stack frame.\nPush a control stack frame.\nGet the result type of the control stack frame.\nThe return values of the block.\nGet the return type of the control stack frame at given …\nStack frames for control flow.\nGet the type of the control stack frame at given depth.\nThe type of the control stack frame.\nExternal function.\nJump to function.\nJump types\nJump to the given label, the label here is the original …\noffset to the program counter.\nReturns the argument unchanged.\nCalls U::from(self).\nIf the target is a label.\nIf the target is fixed to offset of the program counter.\nProgram counter handlers.\nProgram Relocations\nJump Table\nGet the offset of the program counter for relocation.\nRelocate program counter to buffer.\nJump table implementation.\nRegister a function.\nRegister program counter to the function table.\nCode section.\nRegister the start of the program counter of the code …\nRegister a external function.\nReturns the argument unchanged.\nFunction table.\nCalls U::from(self).\nJump table.\nRegister a label.\nMerge two jump tables.\nRegister a label.\nRelocate program counter to all registered labels.\nShift program counter for functions.\nShift program counter for labels.\nShift target program counter for labels.\nShift program counter for all items.\nShift the program counter of targets with given ptr and …\nShift the target program counters.\nGet the target of a jump.\nA local slot.\nThe type of a local slot.\nSolidity’s implementation uses 16 slots for locals. ref: …\nA function parameter.\nA local variable.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet local from index.\nGet mutate local from index.\nThe type contained by this local slot.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nIf the locals are empty.\nGet the length of locals\nCreate a new local slot.\nGet the lower significant bytes of the byte offset of a …\nPush a local slot.\nStack pointer of the local slot.\nGet the type of this local slot.\nThe type of this local slot.\nGet the value type of this local slot.\nEVM MacroAssembler.\nInfo for memory position.\nAbsolute value\nCeiling operator\nsign-agnostic count leading zero bits\nConvert a signed 32-bit integer to a (32-bit/64-bit) float\nConvert an unsigned 32-bit integer to a (32-bit/64-bit) …\nConvert a signed 32-bit integer to a (32-bit/64-bit) float\nConvert a unsigned 32-bit integer to a (32-bit/64-bit) …\nIf z1 and z2 have the same sign, return z1, otherwise …\nsign-agnostic count leading zero bits\nThe drop instruction simply throw away a single operand.\nSimple not operator\nPush a 32-bit float value on the stack.\nTruncate a 64-bit float to a signed 32-bit integer.\nConvert a 32-bit float to a signed 32-bit integer.\nPush a 64-bit float value on the stack.\nTruncate a 64-bit float to an unsigned 32-bit integer.\nConvert a 64-bit float to a signed 64-bit integer.\nFloor operator\nGreater than or equal comparison.\nGreater than comparison.\nPush a 32-bit integer value on the stack.\nConvert a signed 32-bit integer to a 32-bit float.\nwrap a 64-bit integer to a 32-bit integer.\nPush a 64-bit integer value on the stack.\nExtend a signed 32-bit integer to a 64-bit integer.\nExtend an unsigned 32-bit integer to a 64-bit integer.\nConvert a signed 64-bit integer to a 64-bit float.\nGreater than or equal comparison.\nLoad n bytes to extend self as another number type.\nLoad 2 bytes to extend self as another number type.\nLoad 4 bytes to extend self as another number type.\nLoad 1 byte to extend self as another number type.\nless than comparison.\nMaximum of two values\nThe memory grow instruction grows memory by a given delta …\nThe memory size instruction returns the current size of …\nMinimum of two values\nSign-agnostic compare unequal.\nRound to nearest integer, ties to even.\nNegation\nsign-agnostic count number of one bits\nReturn zero or more values from the function.\nsign-agnostic rotate left\nsign-agnostic rotate right\nGreater than or equal comparison.\nGreater than and equal comparison.\nGreater than or equal comparison.\nFunction sload from EVM which is not available in WASM.\nless than or equal comparison.\nSquare root\nFunction sstore from EVM which is not available in WASM.\nStore n bytes in memory.\nWrap self to i16 and store 2 bytes\nWrap self to i32 and store 4 bytes\nWrap self to i8 and store 1 byte\nSub two numbers.\nRound to nearest integer towards zero\nTruncate a 32-bit float to an integer\nTruncate a 64-bit float to an integer\nLow level assembler.\nHandle the return of a call.\nDuplicate stack item by target index.\nEmbedded Function implementations\nFloat Instructions\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn with nothing.\nCalls U::from(self).\nCalls U::from(self).\nHandle the end of the main function.\nMemory Instructions\nStore data in memory with at current memory byte pointer.\nStore data in memory at offset.\nWrite bytes to memory.\nGet byte offset of the memory pointer.\nMemory offset.\nGet the current program counter offset.\nPlace n bytes on stack.\nReturn handlers\nShift the program counter to the bottom or the top of the …\nMemory size\nGet the stack pointer.\nStack Instructions\nSwap memory by target index.\nFailed to parse function ABI.\nFailed to parse WASM with binary reader.\nFailed to push more data to the buffer.\nFailed to pop control stack frame.\nData not found in data section.\nFailed to register program counter to function index.\nFailed to merge jump table.\nContains the error value\nCodegen error\nFailed to find ext function index in jump table.\nFailed to find function index in jump table.\nFailed to find function index in jump table.\nFailed to find host function in compiler.\nFailed to find imported function by index in jump table.\nFailed to get data from the provided offset.\nFailed to get data from the provided offset.\nFailed to get frame info of the given depth.\nFailed to mark else block for if block.\nFailed parse function signature.\nFailed to get local with given index.\nFailed to get the offset of the given memory pointer.\nFailed to construct program counter for jump.\nFailed to parse function selector.\nFailed to patch jump destination.\nFailed to define local variable since the index is out of …\nFailed to get local variables.\nFailed to index data on memory.\nContains the success value\nCodegen result\nFailed to find function selectors.0\nFailed to index data on stack.\nFailed to pop stack.\nFailed to increment stack pointer.\nFailed to decrement stack pointer.\nFailed to queue host functions.\nReturns the argument unchanged.\nCalls U::from(self).\nA pre-visitor that validates the WASM and then visits it.\nReturns the argument unchanged.\nCalls U::from(self).\ncall instructions\nControl flow visitors\nCase handlers\nA macro to define unsupported WebAssembly operators.\nLocal instructions\nSystem instructions\nImplement arithmetic operators for types.\nData section conversion\nEmit ABI to the compiler.\nA struct that holds the environment wasm module.\nEVM assemble operations.\nWASM export section\nFunction with validator.\nWASM Functions by indexes.\nEVM built-in function.\nWASM import section\nNo operations, this only covers push_$ty at the moment.\nOutput buffer\nGet the offset of this type in the lowest significant …\nWASM type size for the stack representation of EVM.\nWASM ABI\nFunction body.\nDataset in code generation\nWASM data slots\nWASM exports\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nFunction handler\nHost functions\nWASM imports\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nIf the function is emit_abi.\nGet all function selectors\nSize in bytes.\nConvert self to the lowest significant bytes.\nFunction validator.\nThe alignment mask for 32 bytes (32 - 1).\nOutput buffer\nGet the offset of this type in the lowest significant …\nWASM type size for the stack representation of EVM.\nAlignment the size of this type to bytes32 for the stack …\nAlignment the size of this type to bytes32 for the stack …\nSize in bytes.\nConvert self to the lowest significant bytes.\nData section conversion\nReturns the argument unchanged.\nCalls U::from(self).\nLoad data from offset and size\nFunction with validator.\nWASM Functions by indexes.\nAdd function to the list.\nFunction body.\nRemove all selector functions\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet function index.\nCalls U::from(self).\nCalls U::from(self).\nGet all functions\nGet the function signature.\nFunction validator.\nEmit ABI to the compiler.\nEVM assemble operations.\nEVM built-in function.\nNo operations, this only covers push_$ty at the moment.\nReturns the argument unchanged.\nCalls U::from(self).\nStack input size.\nStack output size.") \ No newline at end of file diff --git a/rustdocs/search.desc/zink/zink-desc-0-.js b/rustdocs/search.desc/zink/zink-desc-0-.js index 6138f4e42..734960a83 100644 --- a/rustdocs/search.desc/zink/zink-desc-0-.js +++ b/rustdocs/search.desc/zink/zink-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("zink", 0, "Zink library for developing smart contracts for …\nTypes implemented this trait are able to be pushed on …\nZink event interface\nEvent logging interface\nStorage trait. Currently not for public use\nAssembly trait implementation.\nMark the function as constructor\nPublic traits for the EVM interfaces\nMark the function as an external entry point.\nZink FFI.\nGet value from storage.\nPush self on the stack.\nSet value to storage.\nZink storage implementation.\nOrder-based storage macro. Currently only i32 is supported\nTypes implemented this trait are able to be pushed on …\nPush self on the stack.\nZink event interface\nAssembly FFI.\nEmit ABI to host state.\nEVM FFI.\nPush a 16-bit signed integer to the stack.\nPush a 32-bit signed integer to the stack.\nPush a 64-bit signed integer to the stack.\nPush a 8-bit signed integer to the stack.\nPush a 16-bit unsigned integer to the stack.\nPush a 32-bit unsigned integer to the stack.\nPush a 64-bit unsigned integer to the stack.\nPush a 8-bit unsigned integer to the stack.\nLoad a 16-bit signed integer from the storage.\nLoad a 32-bit signed integer from the storage.\nLoad a 64-bit signed integer from the storage.\nLoad a 8-bit signed integer from the storage.\nLoad a 16-bit unsigned integer from the storage.\nLoad a 32-bit unsigned integer from the storage.\nLoad a 64-bit unsigned integer from the storage.\nLoad a 8-bit unsigned integer from the storage.\nAppend log record with no topics\nAppend log record with one topics\nAppend log record with two topics\nAppend log record with three topics\nAppend log record with four topics\nPush 1 byte to the stack.\nPush 1 byte to the stack.\nPush 10 bytes to the stack.\nPush 11 bytes to the stack.\nPush 12 bytes to the stack.\nPush 13 bytes to the stack.\nPush 14 bytes to the stack.\nPush 15 bytes to the stack.\nPush 16 bytes to the stack.\nPush 17 bytes to the stack.\nPush 18 bytes to the stack.\nPush 19 bytes to the stack.\nPush 2 bytes to the stack.\nPush 20 bytes to the stack.\nPush 21 bytes to the stack.\nPush 22 bytes to the stack.\nPush 23 bytes to the stack.\nPush 24 bytes to the stack.\nPush 25 bytes to the stack.\nPush 26 bytes to the stack.\nPush 27 bytes to the stack.\nPush 28 bytes to the stack.\nPush 29 bytes to the stack.\nPush 3 bytes to the stack.\nPush 30 bytes to the stack.\nPush 31 bytes to the stack.\nPush 32 bytes to the stack.\nPush 4 bytes to the stack.\nPush 5 bytes to the stack.\nPush 6 bytes to the stack.\nPush 7 bytes to the stack.\nPush 8 bytes to the stack.\nPush 9 bytes to the stack.\nLoad a value from the storage\nStore a value in the storage\nStorage trait. Currently not for public use\nGet value from storage.\nZink storage mapping implementation.\nSet value to storage.") \ No newline at end of file +searchState.loadedDescShard("zink", 0, "Zink library for developing smart contracts for …\nTypes implemented this trait are able to be pushed on …\nZink event interface\nEvent logging interface\nStorage trait. Currently not for public use\nAssembly trait implementation.\nPublic traits for the EVM interfaces\nMark the function as an external entry point.\nZink FFI.\nGet value from storage.\nPush self on the stack.\nSet value to storage.\nZink storage implementation.\nOrder-based storage macro. Currently only i32 is supported\nTypes implemented this trait are able to be pushed on …\nPush self on the stack.\nZink event interface\nAssembly FFI.\nEmit ABI to host state.\nEVM FFI.\nPush a 16-bit signed integer to the stack.\nPush a 32-bit signed integer to the stack.\nPush a 64-bit signed integer to the stack.\nPush a 8-bit signed integer to the stack.\nPush a 16-bit unsigned integer to the stack.\nPush a 32-bit unsigned integer to the stack.\nPush a 64-bit unsigned integer to the stack.\nPush a 8-bit unsigned integer to the stack.\nLoad a 16-bit signed integer from the storage.\nLoad a 32-bit signed integer from the storage.\nLoad a 64-bit signed integer from the storage.\nLoad a 8-bit signed integer from the storage.\nLoad a 16-bit unsigned integer from the storage.\nLoad a 32-bit unsigned integer from the storage.\nLoad a 64-bit unsigned integer from the storage.\nLoad a 8-bit unsigned integer from the storage.\nAppend log record with no topics\nAppend log record with one topics\nAppend log record with two topics\nAppend log record with three topics\nAppend log record with four topics\nPush 1 byte to the stack.\nPush 1 byte to the stack.\nPush 10 bytes to the stack.\nPush 11 bytes to the stack.\nPush 12 bytes to the stack.\nPush 13 bytes to the stack.\nPush 14 bytes to the stack.\nPush 15 bytes to the stack.\nPush 16 bytes to the stack.\nPush 17 bytes to the stack.\nPush 18 bytes to the stack.\nPush 19 bytes to the stack.\nPush 2 bytes to the stack.\nPush 20 bytes to the stack.\nPush 21 bytes to the stack.\nPush 22 bytes to the stack.\nPush 23 bytes to the stack.\nPush 24 bytes to the stack.\nPush 25 bytes to the stack.\nPush 26 bytes to the stack.\nPush 27 bytes to the stack.\nPush 28 bytes to the stack.\nPush 29 bytes to the stack.\nPush 3 bytes to the stack.\nPush 30 bytes to the stack.\nPush 31 bytes to the stack.\nPush 32 bytes to the stack.\nPush 4 bytes to the stack.\nPush 5 bytes to the stack.\nPush 6 bytes to the stack.\nPush 7 bytes to the stack.\nPush 8 bytes to the stack.\nPush 9 bytes to the stack.\nLoad a value from the storage\nStore a value in the storage\nStorage trait. Currently not for public use\nGet value from storage.\nZink storage mapping implementation.\nSet value to storage.") \ No newline at end of file diff --git a/rustdocs/search.desc/zink_codegen/zink_codegen-desc-0-.js b/rustdocs/search.desc/zink_codegen/zink_codegen-desc-0-.js index 825726492..0aa1381bd 100644 --- a/rustdocs/search.desc/zink_codegen/zink_codegen-desc-0-.js +++ b/rustdocs/search.desc/zink_codegen/zink_codegen-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("zink_codegen", 0, "Code generation library for the zink API\nEvent logging interface\nContract constructor.\nMark the function as constructor\nEvent interface generation\nMark the function as an external entry point.\nMacro for the function selector.\nOrder-based storage macro. Currently only i32 is supported\nParse function into contract constructor.\nExpand the event interface\nMark the function as external.\nParse storage attribute.") \ No newline at end of file +searchState.loadedDescShard("zink_codegen", 0, "Code generation library for the zink API\nEvent logging interface\nEvent interface generation\nMark the function as an external entry point.\nMacro for the function selector.\nOrder-based storage macro. Currently only i32 is supported\nExpand the event interface\nMark the function as external.\nParse storage attribute.") \ No newline at end of file diff --git a/rustdocs/search.desc/zinkc/zinkc-desc-0-.js b/rustdocs/search.desc/zinkc/zinkc-desc-0-.js index 8d9729e54..03c8d5813 100644 --- a/rustdocs/search.desc/zinkc/zinkc-desc-0-.js +++ b/rustdocs/search.desc/zinkc/zinkc-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("zinkc", 0, "Zink compiler.\nFailed to do sth.\nZink compiler artifact\nFailed to parse WASM with binary reader.\nFailed to push more data to the buffer.\nFailed in code generation.\nZink Compiler\nZink compiler configuration.\nContains the error value\nZinkc errors\nFailed to parse WASM data with data reader.\nContains the success value\nZinkc result\nContract ABIs\nABIs of the compiled contract.\nZink compiler artifact\nEVM bytecode buffer.\nBytecode of the contract.\nZink compiler command line interface.\nZink compiler\nZink compiler configuration.\nCompiler configuration.\nCompiler configuration.\nIf enable dispatcher.\nZink parser\nZinkc result\nRuntime bytecode of the contract.\nGlobal jump table.\nZink compiler utils\nZink compiler artifact\nContract ABIs\nBytecode of the contract.\nCompiler configuration.\nReturns the argument unchanged.\nCalls U::from(self).\nRuntime bytecode of the contract.\nCompile WASM to EVM bytecode.\nWrite ABI to disk.\nIf enable dispatcher.\nReturns the argument unchanged.\nThe path of the wasm file.\nCalls U::from(self).\nWrite output to \nRun compile.\nZink Compiler\nABIs of the compiled contract.\nEVM bytecode buffer.\nCompile wasm module to evm bytecode.\nCompile EVM dispatcher.\nCompile WASM function.\nCompiler configuration.\nEmit buffer to the inner buffer.\nReturns the argument unchanged.\nCalls U::from(self).\nCreate a new compiler from config.\nGlobal jump table.\nZink compiler configuration.\nWith dispatcher value.\nIf enable dispatcher.\nReturns the argument unchanged.\nCalls U::from(self).\nWASM module parser\nParse data section.\nParse export section\nReturns the argument unchanged.\nParse import section.\nCalls U::from(self).\nParse WASM module.\nReturns constructor if some.\nReturns full environment.\nReturns function environment.\nFailed to do sth.\nFailed to parse WASM with binary reader.\nFailed to push more data to the buffer.\nFailed in code generation.\nContains the error value\nZinkc errors\nFailed to parse WASM data with data reader.\nContains the success value\nZinkc result\nReturns the argument unchanged.\nCalls U::from(self).\nRun wasm-opt on the given WASM file.") \ No newline at end of file +searchState.loadedDescShard("zinkc", 0, "Zink compiler.\nFailed to do sth.\nZink compiler artifact\nFailed to parse WASM with binary reader.\nFailed to push more data to the buffer.\nFailed in code generation.\nZink Compiler\nZink compiler configuration.\nContract constructor.\nContains the error value\nZinkc errors\nInitial storage of contracts\nFailed to parse WASM data with data reader.\nContains the success value\nZinkc result\nContract ABIs\nABIs of the compiled contract.\nZink compiler artifact\nEVM bytecode buffer.\nZink compiler command line interface.\nZink compiler\nZink compiler configuration.\nCompiler configuration.\nCompiler configuration.\nIf enable dispatcher.\nConcat the constructor code.\nReturns the argument unchanged.\nCalls U::from(self).\nZink parser\nZinkc result\nRuntime bytecode of the contract.\npreset storage for the contract\nGlobal jump table.\nZink compiler utils\nZink compiler artifact\nContract ABIs\nCompiler configuration.\nReturns the argument unchanged.\nCalls U::from(self).\nRuntime bytecode of the contract.\nCompile WASM to EVM bytecode.\nWrite ABI to disk.\nIf enable dispatcher.\nReturns the argument unchanged.\nThe path of the wasm file.\nCalls U::from(self).\nWrite output to \nRun compile.\nZink Compiler\nABIs of the compiled contract.\nGenerate artifact\nEVM bytecode buffer.\nCompile wasm module to evm bytecode.\nCompile EVM dispatcher.\nCompile WASM function.\nCompiler configuration.\nEmit buffer to the inner buffer.\nReturns the argument unchanged.\nCalls U::from(self).\nCreate a new compiler from config.\nGlobal jump table.\nZink compiler configuration.\nWith dispatcher value.\nIf enable dispatcher.\nReturns the argument unchanged.\nCalls U::from(self).\nWASM module parser\nParse data section.\nParse export section\nReturns the argument unchanged.\nParse import section.\nCalls U::from(self).\nParse WASM module.\nReturns full environment.\nReturns function environment.\nFailed to do sth.\nFailed to parse WASM with binary reader.\nFailed to push more data to the buffer.\nFailed in code generation.\nContains the error value\nZinkc errors\nFailed to parse WASM data with data reader.\nContains the success value\nZinkc result\nReturns the argument unchanged.\nCalls U::from(self).\nRun wasm-opt on the given WASM file.") \ No newline at end of file diff --git a/rustdocs/search.desc/zint/zint-desc-0-.js b/rustdocs/search.desc/zint/zint-desc-0-.js index 54dd07b05..7aee44a17 100644 --- a/rustdocs/search.desc/zint/zint-desc-0-.js +++ b/rustdocs/search.desc/zint/zint-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("zint", 0, "Zink testing framework.\nTrait for converting type to bytes32.\nContract instance for testing.\nCreate init code size exceeds limit (runtime).\nError on created contract that begins with EF\nEIP-3860: Limit and meter initcode. Initcode size limit …\nEOF Subroutine stack overflow\nWrapper of full REVM\nAux data overflow, new aux data is larger than u16 max …\nAud data is smaller then already present data size.\nIndicates that the EVM has experienced an exceptional …\nInterp execution result info.\nCheck for target address validity is only done inside …\n256-bit unsigned integer type, consisting of 4, 64-bit …\nthe created contract address if any.\nThe artifact of the contract.\nUtils for bytes conversion.\nContract Instance\nIf enable dispatcher.\nWrapper of revm\nReturns the argument unchanged.\nReturns the argument unchanged.\nGas spent.\nTransaction halt reason.\nCalls U::from(self).\nCalls U::from(self).\nGenerate a keccak hash of the input (sha3)\nExecution logs.\nBinary lookup util\nReturn value.\nSet up the logger.\nThe storage.\nConvert type to the lowest significant bytes 32.\nConvert type to vec of bytes.\nThe source WASM of the contract.\nTrait for converting type to bytes32.\nImplement Bytes32 for types.\nConvert type to the lowest significant bytes 32.\nConvert type to vec of bytes.\nContract instance for testing.\nThe artifact of the contract.\nGet the bytecode of the contract.\nCompile WASM to EVM bytecode.\nLoad zink contract defined in the current package.\nIf enable dispatcher.\nEncode call data\nExecute the contract.\nReturns the argument unchanged.\nCalls U::from(self).\nGet the JSON ABI of the contract.\nDisable dispatcher.\nSearch for zink contract in the target directory.\nThe source WASM of the contract.\nAlice account address.\nContract address if any.\nWrapper of full REVM\nTransaction gas limit.\nInterp execution result info.\nthe created contract address if any.\nSend transaction to the provided address.\nFill the calldata of the present transaction.\nOverride the present contract\nInterpret runtime bytecode with provided arguments\nReturns the argument unchanged.\nReturns the argument unchanged.\nGas spent.\nTransaction halt reason.\nInterpret runtime bytecode with provided arguments\nCalls U::from(self).\nCalls U::from(self).\nExecution logs.\nReturn value.\nThe storage.\nCargo Manifest for parsing package.\nCargo Package for parsing package name.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nPackage name.\nThe package.\nGet the name of the current package.\nGet the current target directory.\nGet the wasm binary of the provided name from the target …") \ No newline at end of file +searchState.loadedDescShard("zint", 0, "Zink testing framework.\nTrait for converting type to bytes32.\nContract instance for testing.\nCreate init code size exceeds limit (runtime).\nError on created contract that begins with EF\nEIP-3860: Limit and meter initcode. Initcode size limit …\nEOF Subroutine stack overflow\nWrapper of full REVM\nAux data overflow, new aux data is larger than u16 max …\nAud data is smaller then already present data size.\nIndicates that the EVM has experienced an exceptional …\nInterp execution result info.\nCheck for target address validity is only done inside …\n256-bit unsigned integer type, consisting of 4, 64-bit …\nthe created contract address if any.\nThe artifact of the contract.\nUtils for bytes conversion.\nBytecode constructor\nContract Instance\nIf enable dispatcher.\nWrapper of revm\nReturns the argument unchanged.\nReturns the argument unchanged.\nGas spent.\nTransaction halt reason.\nCalls U::from(self).\nCalls U::from(self).\nGenerate a keccak hash of the input (sha3)\nExecution logs.\nBinary lookup util\nReturn value.\nSet up the logger.\nThe storage.\nConvert type to the lowest significant bytes 32.\nConvert type to vec of bytes.\nThe source WASM of the contract.\nTrait for converting type to bytes32.\nImplement Bytes32 for types.\nConvert type to the lowest significant bytes 32.\nConvert type to vec of bytes.\nContract instance for testing.\nThe artifact of the contract.\nGet the bytecode of the contract.\nCompile WASM to EVM bytecode.\nPreset the storage of the contract, similar with the …\nBytecode constructor\nLoad zink contract defined in the current package.\nIf enable dispatcher.\nEncode call data\nExecute the contract.\nReturns the argument unchanged.\nCalls U::from(self).\nGet the JSON ABI of the contract.\nDisable dispatcher.\nSearch for zink contract in the target directory.\nThe source WASM of the contract.\nAlice account address.\nContract address if any.\nWrapper of full REVM\nTransaction gas limit.\nInterp execution result info.\nthe created contract address if any.\nSend transaction to the provided address.\nFill the calldata of the present transaction.\nOverride the present contract\nInterpret runtime bytecode with provided arguments\nReturns the argument unchanged.\nReturns the argument unchanged.\nGas spent.\nTransaction halt reason.\nInterpret runtime bytecode with provided arguments\nCalls U::from(self).\nCalls U::from(self).\nExecution logs.\nReturn value.\nThe storage.\nCargo Manifest for parsing package.\nCargo Package for parsing package name.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nPackage name.\nThe package.\nGet the name of the current package.\nGet the current target directory.\nGet the wasm binary of the provided name from the target …") \ No newline at end of file diff --git a/rustdocs/settings.html b/rustdocs/settings.html index 46fb705ac..e956196c9 100644 --- a/rustdocs/settings.html +++ b/rustdocs/settings.html @@ -1 +1 @@ -Settings

Rustdoc settings

Back
\ No newline at end of file +Settings

Rustdoc settings

Back
\ No newline at end of file diff --git a/rustdocs/sol_abi/abi/enum.Type.html b/rustdocs/sol_abi/abi/enum.Type.html index 9a1ef5fe9..2b859a895 100644 --- a/rustdocs/sol_abi/abi/enum.Type.html +++ b/rustdocs/sol_abi/abi/enum.Type.html @@ -1,4 +1,4 @@ -Type in sol_abi::abi - Rust

Enum sol_abi::abi::Type

source ·
pub enum Type {
+Type in sol_abi::abi - Rust

Enum sol_abi::abi::Type

source ·
pub enum Type {
     Constructor,
     Function,
 }
Expand description

Solidity ABI type.

diff --git a/rustdocs/sol_abi/abi/index.html b/rustdocs/sol_abi/abi/index.html index 09166c342..b7f55bc96 100644 --- a/rustdocs/sol_abi/abi/index.html +++ b/rustdocs/sol_abi/abi/index.html @@ -1,2 +1,2 @@ -sol_abi::abi - Rust

Module sol_abi::abi

source ·
Expand description

Solidity ABI abstraction.

+sol_abi::abi - Rust

Module sol_abi::abi

source ·
Expand description

Solidity ABI abstraction.

Structs§

  • Solidity ABI abstraction.

Enums§

  • Solidity ABI type.
\ No newline at end of file diff --git a/rustdocs/sol_abi/abi/struct.Abi.html b/rustdocs/sol_abi/abi/struct.Abi.html index ea838a0eb..cf5fe6d46 100644 --- a/rustdocs/sol_abi/abi/struct.Abi.html +++ b/rustdocs/sol_abi/abi/struct.Abi.html @@ -1,4 +1,4 @@ -Abi in sol_abi::abi - Rust

Struct sol_abi::abi::Abi

source ·
pub struct Abi {
+Abi in sol_abi::abi - Rust

Struct sol_abi::abi::Abi

source ·
pub struct Abi {
     pub name: String,
     pub ty: Type,
     pub inputs: Vec<Arg>,
diff --git a/rustdocs/sol_abi/all.html b/rustdocs/sol_abi/all.html
index 6f8ae99cc..a299f16e8 100644
--- a/rustdocs/sol_abi/all.html
+++ b/rustdocs/sol_abi/all.html
@@ -1 +1 @@
-List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/rustdocs/sol_abi/arg/enum.Param.html b/rustdocs/sol_abi/arg/enum.Param.html index 989e32128..52f9e478d 100644 --- a/rustdocs/sol_abi/arg/enum.Param.html +++ b/rustdocs/sol_abi/arg/enum.Param.html @@ -1,4 +1,4 @@ -Param in sol_abi::arg - Rust

Enum sol_abi::arg::Param

source ·
pub enum Param {
+Param in sol_abi::arg - Rust

Enum sol_abi::arg::Param

source ·
pub enum Param {
     Int32,
     Int64,
     UInt32,
diff --git a/rustdocs/sol_abi/arg/index.html b/rustdocs/sol_abi/arg/index.html
index e648dee9d..f1f826ab4 100644
--- a/rustdocs/sol_abi/arg/index.html
+++ b/rustdocs/sol_abi/arg/index.html
@@ -1,2 +1,2 @@
-sol_abi::arg - Rust

Module sol_abi::arg

source ·
Expand description

Arg of solidity ABI.

+sol_abi::arg - Rust

Module sol_abi::arg

source ·
Expand description

Arg of solidity ABI.

Structs§

  • Arg of solidity ABI.

Enums§

  • The canonical type of the parameter.
\ No newline at end of file diff --git a/rustdocs/sol_abi/arg/struct.Arg.html b/rustdocs/sol_abi/arg/struct.Arg.html index 53d8d931b..00fde686e 100644 --- a/rustdocs/sol_abi/arg/struct.Arg.html +++ b/rustdocs/sol_abi/arg/struct.Arg.html @@ -1,4 +1,4 @@ -Arg in sol_abi::arg - Rust

Struct sol_abi::arg::Arg

source ·
pub struct Arg {
+Arg in sol_abi::arg - Rust

Struct sol_abi::arg::Arg

source ·
pub struct Arg {
     pub name: String,
     pub ty: Param,
 }
Expand description

Arg of solidity ABI.

diff --git a/rustdocs/sol_abi/enum.Param.html b/rustdocs/sol_abi/enum.Param.html index e3ea07e99..3394ec1a7 100644 --- a/rustdocs/sol_abi/enum.Param.html +++ b/rustdocs/sol_abi/enum.Param.html @@ -1,4 +1,4 @@ -Param in sol_abi - Rust

Enum sol_abi::Param

source ·
pub enum Param {
+Param in sol_abi - Rust

Enum sol_abi::Param

source ·
pub enum Param {
     Int32,
     Int64,
     UInt32,
diff --git a/rustdocs/sol_abi/index.html b/rustdocs/sol_abi/index.html
index aad6c25ee..b9f70bd80 100644
--- a/rustdocs/sol_abi/index.html
+++ b/rustdocs/sol_abi/index.html
@@ -1,3 +1,3 @@
-sol_abi - Rust

Crate sol_abi

source ·
Expand description

Solidity ABI implementation

+sol_abi - Rust

Crate sol_abi

source ·
Expand description

Solidity ABI implementation

https://docs.soliditylang.org/en/latest/abi-spec.html#json

Modules§

  • abi 🔒
    Solidity ABI abstraction.
  • arg 🔒
    Arg of solidity ABI.

Structs§

  • Solidity ABI abstraction.
  • Arg of solidity ABI.

Enums§

  • The canonical type of the parameter.
\ No newline at end of file diff --git a/rustdocs/sol_abi/struct.Abi.html b/rustdocs/sol_abi/struct.Abi.html index c50311d08..b9320a51f 100644 --- a/rustdocs/sol_abi/struct.Abi.html +++ b/rustdocs/sol_abi/struct.Abi.html @@ -1,4 +1,4 @@ -Abi in sol_abi - Rust

Struct sol_abi::Abi

source ·
pub struct Abi {
+Abi in sol_abi - Rust

Struct sol_abi::Abi

source ·
pub struct Abi {
     pub name: String,
     pub ty: Type,
     pub inputs: Vec<Arg>,
diff --git a/rustdocs/sol_abi/struct.Arg.html b/rustdocs/sol_abi/struct.Arg.html
index 938831786..51d1699fa 100644
--- a/rustdocs/sol_abi/struct.Arg.html
+++ b/rustdocs/sol_abi/struct.Arg.html
@@ -1,4 +1,4 @@
-Arg in sol_abi - Rust

Struct sol_abi::Arg

source ·
pub struct Arg {
+Arg in sol_abi - Rust

Struct sol_abi::Arg

source ·
pub struct Arg {
     pub name: String,
     pub ty: Param,
 }
Expand description

Arg of solidity ABI.

diff --git a/rustdocs/src-files.js b/rustdocs/src-files.js index ab05f3958..f1e9c36f3 100644 --- a/rustdocs/src-files.js +++ b/rustdocs/src-files.js @@ -1,3 +1,3 @@ -var srcIndex = new Map(JSON.parse('[["elko",["",[["utils",[],["manifest.rs","mod.rs","result.rs","wasm.rs"]]],["build.rs","lib.rs","new.rs"]]],["evm_opcodes",["",[],["lib.rs","shanghai.rs"]]],["sol_abi",["",[],["abi.rs","arg.rs","lib.rs"]]],["zabi",["",[],["lib.rs","result.rs","selector.rs"]]],["zingen",["",[["codegen",[],["code.rs","constructor.rs","dispatcher.rs","function.rs","mod.rs"]],["jump",[],["mod.rs","pc.rs","relocate.rs","table.rs"]],["masm",[],["cmp.rs","embed.rs","float.rs","integer.rs","memory.rs","mod.rs","ret.rs","stack.rs"]],["visitor",[],["call.rs","control.rs","handlers.rs","local.rs","log.rs","mod.rs"]],["wasm",[],["abi.rs","data.rs","func.rs","host.rs","mod.rs"]]],["asm.rs","backtrace.rs","control.rs","lib.rs","local.rs","result.rs","validator.rs"]]],["zink",["",[["ffi",[],["asm.rs","evm.rs","mod.rs"]],["storage",[],["mapping.rs","mod.rs"]]],["asm.rs","event.rs","lib.rs"]]],["zink_codegen",["",[],["constructor.rs","event.rs","lib.rs","selector.rs","storage.rs"]]],["zinkc",["",[],["artifact.rs","cli.rs","compiler.rs","config.rs","lib.rs","parser.rs","result.rs","utils.rs"]]],["zinkc_filetests",["",[],["lib.rs"]]],["zint",["",[],["bytes.rs","contract.rs","evm.rs","lib.rs","lookup.rs"]]]]')); +var srcIndex = new Map(JSON.parse('[["elko",["",[["utils",[],["manifest.rs","mod.rs","result.rs","wasm.rs"]]],["build.rs","lib.rs","new.rs"]]],["evm_opcodes",["",[],["lib.rs","shanghai.rs"]]],["sol_abi",["",[],["abi.rs","arg.rs","lib.rs"]]],["zabi",["",[],["lib.rs","result.rs","selector.rs"]]],["zingen",["",[["codegen",[],["code.rs","constructor.rs","dispatcher.rs","function.rs","mod.rs"]],["jump",[],["mod.rs","pc.rs","relocate.rs","table.rs"]],["masm",[],["cmp.rs","embed.rs","float.rs","integer.rs","memory.rs","mod.rs","ret.rs","stack.rs"]],["visitor",[],["call.rs","control.rs","handlers.rs","local.rs","log.rs","mod.rs"]],["wasm",[],["abi.rs","data.rs","func.rs","host.rs","mod.rs"]]],["asm.rs","backtrace.rs","control.rs","lib.rs","local.rs","result.rs","validator.rs"]]],["zink",["",[["ffi",[],["asm.rs","evm.rs","mod.rs"]],["storage",[],["mapping.rs","mod.rs"]]],["asm.rs","event.rs","lib.rs"]]],["zink_codegen",["",[],["event.rs","lib.rs","selector.rs","storage.rs"]]],["zinkc",["",[],["artifact.rs","cli.rs","compiler.rs","config.rs","lib.rs","parser.rs","result.rs","utils.rs"]]],["zinkc_filetests",["",[],["lib.rs"]]],["zint",["",[],["bytes.rs","contract.rs","evm.rs","lib.rs","lookup.rs"]]]]')); createSrcSidebar(); -//{"start":36,"fragment_lengths":[106,49,49,54,487,126,91,113,39,74]} \ No newline at end of file +//{"start":36,"fragment_lengths":[106,49,49,54,487,126,74,113,39,74]} \ No newline at end of file diff --git a/rustdocs/src/elko/build.rs.html b/rustdocs/src/elko/build.rs.html index 9c5cb4383..b3d9e9c8e 100644 --- a/rustdocs/src/elko/build.rs.html +++ b/rustdocs/src/elko/build.rs.html @@ -1,4 +1,4 @@ -build.rs - source
+build.rs - source
 1
 2
 3
@@ -134,7 +134,7 @@
         let artifact = Compiler::new(config).compile(&wasm)?;
         let dst = builder.output()?.with_extension("bin");
 
-        fs::write(dst, artifact.bytecode)?;
+        fs::write(dst, artifact.runtime_bytecode)?;
         Ok(())
     }
 }
diff --git a/rustdocs/src/elko/lib.rs.html b/rustdocs/src/elko/lib.rs.html
index 9edffae1f..1ce3d4250 100644
--- a/rustdocs/src/elko/lib.rs.html
+++ b/rustdocs/src/elko/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source
+lib.rs - source
 1
 2
 3
diff --git a/rustdocs/src/elko/new.rs.html b/rustdocs/src/elko/new.rs.html
index 003a1c96c..3d3dfec99 100644
--- a/rustdocs/src/elko/new.rs.html
+++ b/rustdocs/src/elko/new.rs.html
@@ -1,4 +1,4 @@
-new.rs - source
+new.rs - source
 1
 2
 3
diff --git a/rustdocs/src/elko/utils/manifest.rs.html b/rustdocs/src/elko/utils/manifest.rs.html
index 92c1627bb..6f74c6831 100644
--- a/rustdocs/src/elko/utils/manifest.rs.html
+++ b/rustdocs/src/elko/utils/manifest.rs.html
@@ -1,4 +1,4 @@
-manifest.rs - source
+manifest.rs - source
 1
 2
 3
diff --git a/rustdocs/src/elko/utils/mod.rs.html b/rustdocs/src/elko/utils/mod.rs.html
index 1c8ceb303..efdb60901 100644
--- a/rustdocs/src/elko/utils/mod.rs.html
+++ b/rustdocs/src/elko/utils/mod.rs.html
@@ -1,4 +1,4 @@
-mod.rs - source
+mod.rs - source
 1
 2
 3
diff --git a/rustdocs/src/elko/utils/result.rs.html b/rustdocs/src/elko/utils/result.rs.html
index adc56f35e..6ea182d1a 100644
--- a/rustdocs/src/elko/utils/result.rs.html
+++ b/rustdocs/src/elko/utils/result.rs.html
@@ -1,4 +1,4 @@
-result.rs - source
+result.rs - source
 1
 2
 3
diff --git a/rustdocs/src/elko/utils/wasm.rs.html b/rustdocs/src/elko/utils/wasm.rs.html
index 15f218c0d..7469942e2 100644
--- a/rustdocs/src/elko/utils/wasm.rs.html
+++ b/rustdocs/src/elko/utils/wasm.rs.html
@@ -1,4 +1,4 @@
-wasm.rs - source
+wasm.rs - source
 1
 2
 3
diff --git a/rustdocs/src/evm_opcodes/lib.rs.html b/rustdocs/src/evm_opcodes/lib.rs.html
index 3ad978c29..950501486 100644
--- a/rustdocs/src/evm_opcodes/lib.rs.html
+++ b/rustdocs/src/evm_opcodes/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source
+lib.rs - source
 1
 2
 3
diff --git a/rustdocs/src/evm_opcodes/shanghai.rs.html b/rustdocs/src/evm_opcodes/shanghai.rs.html
index 71b12d3ed..843f5823c 100644
--- a/rustdocs/src/evm_opcodes/shanghai.rs.html
+++ b/rustdocs/src/evm_opcodes/shanghai.rs.html
@@ -1,4 +1,4 @@
-shanghai.rs - source
+shanghai.rs - source
 1
 2
 3
diff --git a/rustdocs/src/sol_abi/abi.rs.html b/rustdocs/src/sol_abi/abi.rs.html
index cd877eef1..c217f1f80 100644
--- a/rustdocs/src/sol_abi/abi.rs.html
+++ b/rustdocs/src/sol_abi/abi.rs.html
@@ -1,4 +1,4 @@
-abi.rs - source
+abi.rs - source
 1
 2
 3
diff --git a/rustdocs/src/sol_abi/arg.rs.html b/rustdocs/src/sol_abi/arg.rs.html
index 511f03ed1..9c6ae77e7 100644
--- a/rustdocs/src/sol_abi/arg.rs.html
+++ b/rustdocs/src/sol_abi/arg.rs.html
@@ -1,4 +1,4 @@
-arg.rs - source
+arg.rs - source
 1
 2
 3
diff --git a/rustdocs/src/sol_abi/lib.rs.html b/rustdocs/src/sol_abi/lib.rs.html
index e6667a273..0e1d26057 100644
--- a/rustdocs/src/sol_abi/lib.rs.html
+++ b/rustdocs/src/sol_abi/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source
+lib.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zabi/lib.rs.html b/rustdocs/src/zabi/lib.rs.html
index 335606830..62be8a44f 100644
--- a/rustdocs/src/zabi/lib.rs.html
+++ b/rustdocs/src/zabi/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source
+lib.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zabi/result.rs.html b/rustdocs/src/zabi/result.rs.html
index e97daf1e0..26b1d50e9 100644
--- a/rustdocs/src/zabi/result.rs.html
+++ b/rustdocs/src/zabi/result.rs.html
@@ -1,4 +1,4 @@
-result.rs - source
+result.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zabi/selector.rs.html b/rustdocs/src/zabi/selector.rs.html
index d75541465..b39d29055 100644
--- a/rustdocs/src/zabi/selector.rs.html
+++ b/rustdocs/src/zabi/selector.rs.html
@@ -1,4 +1,4 @@
-selector.rs - source
+selector.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/asm.rs.html b/rustdocs/src/zingen/asm.rs.html
index 61b332d2c..0f32685ec 100644
--- a/rustdocs/src/zingen/asm.rs.html
+++ b/rustdocs/src/zingen/asm.rs.html
@@ -1,4 +1,4 @@
-asm.rs - source
+asm.rs - source
 1
 2
 3
@@ -149,7 +149,7 @@
 use opcodes::{for_each_shanghai_operator, OpCode as _, ShangHai as OpCode};
 
 /// Low level assembler implementation for EVM.
-#[derive(Default, Clone)]
+#[derive(Default, Clone, Debug)]
 pub struct Assembler {
     /// Buffer of the assembler.
     buffer: Buffer,
diff --git a/rustdocs/src/zingen/backtrace.rs.html b/rustdocs/src/zingen/backtrace.rs.html
index 9d61ae4f0..5fa8a23e3 100644
--- a/rustdocs/src/zingen/backtrace.rs.html
+++ b/rustdocs/src/zingen/backtrace.rs.html
@@ -1,4 +1,4 @@
-backtrace.rs - source
+backtrace.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/codegen/code.rs.html b/rustdocs/src/zingen/codegen/code.rs.html
index 00874d8c4..5a2e9297c 100644
--- a/rustdocs/src/zingen/codegen/code.rs.html
+++ b/rustdocs/src/zingen/codegen/code.rs.html
@@ -1,4 +1,4 @@
-code.rs - source
+code.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/codegen/constructor.rs.html b/rustdocs/src/zingen/codegen/constructor.rs.html
index 7c1c52c12..5dd4e7677 100644
--- a/rustdocs/src/zingen/codegen/constructor.rs.html
+++ b/rustdocs/src/zingen/codegen/constructor.rs.html
@@ -1,4 +1,4 @@
-constructor.rs - source
+constructor.rs - source
 1
 2
 3
@@ -72,166 +72,78 @@
 71
 72
 73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
//! Contract constructor.
+74
//! Contract constructor.
 
-use crate::{wasm::ToLSBytes, Buffer, Function, JumpTable, MacroAssembler, Result};
-use wasmparser::FuncType;
+use crate::{wasm::ToLSBytes, Buffer, MacroAssembler, Result};
+use smallvec::SmallVec;
+use std::collections::HashMap;
+
+/// Initial storage of contracts
+pub type InitStorage = HashMap<SmallVec<[u8; 32]>, SmallVec<[u8; 32]>>;
 
 /// Contract constructor.
-///
-/// # Bytecode
-/// - `CREATE` instruction
-/// - `INIT_CODE`
-///   - `INIT_LOGIC`
-///   - `RETURN RUNTIME_BYTECODE`
-/// - `RUNTIME_BYTECODE`
-///
-/// TODO: introduce ABI for constructor
+#[derive(Default, Debug, Clone)]
 pub struct Constructor {
     /// Code generator.
-    pub masm: MacroAssembler,
-    /// Code buffer.
-    pub init_code: Buffer,
-    /// Runtime bytecode.
-    pub runtime_bytecode: Buffer,
+    masm: MacroAssembler,
 }
 
 impl Constructor {
-    /// Create a new constructor.
-    pub fn new(constructor: Option<FuncType>, runtime_bytecode: Buffer) -> Result<Self> {
-        let mut init_code = Buffer::new();
-        if let Some(constructor) = constructor {
-            let codegen = Function::new(
-                Default::default(),
-                constructor,
-                // No `return` instruction in the generated code.
-                false,
-            )?;
-
-            let mut jump_table = JumpTable::default();
-            init_code = codegen.finish(&mut jump_table, 0)?;
-            jump_table.relocate(&mut init_code)?;
-        };
+    /// preset storage for the contract
+    pub fn storage(&mut self, mapping: InitStorage) -> Result<()> {
+        for (key, value) in mapping.into_iter() {
+            self.masm.push(&value)?;
+            self.masm.push(&key)?;
+            self.masm._sstore()?;
+        }
 
-        Ok(Self {
-            masm: MacroAssembler::default(),
-            init_code,
-            runtime_bytecode,
-        })
+        Ok(())
     }
 
     /// Concat the constructor code.
     ///
     /// Here we override the memory totally with
     /// the runtime bytecode.
-    pub fn finish(&mut self) -> Result<Buffer> {
-        let init_code_length = self.init_code.len();
-        let runtime_bytecode_length = self.runtime_bytecode.len();
-        let return_instr_length =
-            Self::return_instr_length(init_code_length, runtime_bytecode_length);
-
-        // Copy init code and runtime bytecode to memory from offset 0.
-        //
-        // 1. code size ( init_code + instr_return + runtime_bytecode )
-        // 2. byte offset of code which is fixed to N.
-        // 3. destination offset which is fixed to 0.
-        {
-            self.masm.push(
-                &(init_code_length + return_instr_length + runtime_bytecode_length).to_ls_bytes(),
-            )?;
-            // # SAFETY
-            //
-            // The length of the most significiant bytes of
-            // the bytecode offset is fixed to 1.
-            self.masm
-                .push(&((self.masm.pc_offset() as usize + 9).to_ls_bytes()))?;
-            self.masm._push0()?;
-            self.masm._codecopy()?;
-        }
+    pub fn finish(&self, runtime_bytecode: Buffer) -> Result<Buffer> {
+        let init_code = self.masm.buffer();
+        let init_code_len = init_code.len();
+        let runtime_bytecode_len = runtime_bytecode.len();
+        let runtime_bytecode_size = runtime_bytecode_len.to_ls_bytes();
+        let runtime_bytecode_offset =
+            Self::runtime_bytcode_offset(init_code_len, runtime_bytecode_size.len());
 
-        // Process instruction `CREATE`
-        {
-            self.masm._push0()?;
-            self.masm._push0()?;
-            self.masm._push0()?;
-            self.masm._calldataload()?;
-            self.masm._create()?;
-        }
-
-        self.masm.buffer_mut().extend_from_slice(&self.init_code);
+        let mut masm = self.masm.clone();
 
-        // Process `RETURN`.
-        //
-        // 1. size of the runtime bytecode
-        // 2. offset of the runtime bytecode in memory
-        {
-            self.masm.push(&runtime_bytecode_length.to_ls_bytes())?;
-            self.masm
-                .push(&(init_code_length + return_instr_length).to_ls_bytes())?;
-            self.masm.asm._return()?;
-        }
+        // 1. copy runtime bytecode to memory
+        masm.push(&runtime_bytecode_size)?; // code size
+        masm.push(&runtime_bytecode_offset.to_ls_bytes())?; // code offset
+        masm._push0()?; // dest offset in memory
+        masm._codecopy()?;
 
-        self.masm
-            .buffer_mut()
-            .extend_from_slice(&self.runtime_bytecode);
+        // 2. return runtime bytecode
+        masm.push(&runtime_bytecode_size)?; // code size
+        masm._push0()?; // memory offset
+        masm.asm._return()?;
+        masm.buffer_mut().extend_from_slice(&runtime_bytecode);
 
-        Ok(self.masm.buffer().into())
+        Ok(masm.buffer().into())
     }
 
-    /// Returns the length of instructions.
-    fn return_instr_length(init_code_length: usize, runtime_bytecode_length: usize) -> usize {
-        let mut expected_length =
-            runtime_bytecode_length.to_ls_bytes().len() + init_code_length.to_ls_bytes().len() + 3;
-
-        if init_code_length < 0xff && init_code_length + expected_length > 0xff {
-            expected_length += 1;
+    /// Returns the offset of runtime bytecode.
+    ///
+    /// [
+    ///   init_code,
+    ///   pushn, runtime_bytecode_size, pushn + <offset>, push0, code_copy
+    ///   pushn, runtime_bytecode_size, push0, return,
+    ///   <OFFSET>
+    /// ]
+    fn runtime_bytcode_offset(init_code_len: usize, runtime_bytecode_size_len: usize) -> usize {
+        let mut offset = init_code_len + runtime_bytecode_size_len * 2 + 8;
+        if (offset <= 0xff) && (offset + offset.to_ls_bytes().len() > 0xff) {
+            offset += 1;
         }
 
-        expected_length
+        offset
     }
 }
 
\ No newline at end of file diff --git a/rustdocs/src/zingen/codegen/dispatcher.rs.html b/rustdocs/src/zingen/codegen/dispatcher.rs.html index b818d4248..27f892498 100644 --- a/rustdocs/src/zingen/codegen/dispatcher.rs.html +++ b/rustdocs/src/zingen/codegen/dispatcher.rs.html @@ -1,4 +1,4 @@ -dispatcher.rs - source
+dispatcher.rs - source
 1
 2
 3
@@ -364,7 +364,7 @@
             [jumpdest, ret].concat()
         };
 
-        *self.asm = asm;
+        self.asm = asm;
         let ret = ExtFunc {
             bytecode,
             stack_in: 0,
@@ -423,7 +423,7 @@
             let ret = self.asm.buffer()[asm.buffer().len()..].to_vec();
             [jumpdest, ret].concat()
         };
-        *self.asm = asm;
+        self.asm = asm;
         let ret = ExtFunc {
             bytecode,
             stack_in: len,
diff --git a/rustdocs/src/zingen/codegen/function.rs.html b/rustdocs/src/zingen/codegen/function.rs.html
index 2ef440158..89ffd8338 100644
--- a/rustdocs/src/zingen/codegen/function.rs.html
+++ b/rustdocs/src/zingen/codegen/function.rs.html
@@ -1,4 +1,4 @@
-function.rs - source
+function.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/codegen/mod.rs.html b/rustdocs/src/zingen/codegen/mod.rs.html
index 56823bfe3..b4e0d293e 100644
--- a/rustdocs/src/zingen/codegen/mod.rs.html
+++ b/rustdocs/src/zingen/codegen/mod.rs.html
@@ -1,4 +1,4 @@
-mod.rs - source
+mod.rs - source
 1
 2
 3
@@ -30,7 +30,7 @@
 
 pub use self::{
     code::{Code, ExtFunc},
-    constructor::Constructor,
+    constructor::{Constructor, InitStorage},
     dispatcher::Dispatcher,
     function::Function,
 };
diff --git a/rustdocs/src/zingen/control.rs.html b/rustdocs/src/zingen/control.rs.html
index 668a6185a..2a19f6b8e 100644
--- a/rustdocs/src/zingen/control.rs.html
+++ b/rustdocs/src/zingen/control.rs.html
@@ -1,4 +1,4 @@
-control.rs - source
+control.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/jump/mod.rs.html b/rustdocs/src/zingen/jump/mod.rs.html
index 7cd41b8fa..f4b34e99b 100644
--- a/rustdocs/src/zingen/jump/mod.rs.html
+++ b/rustdocs/src/zingen/jump/mod.rs.html
@@ -1,4 +1,4 @@
-mod.rs - source
+mod.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/jump/pc.rs.html b/rustdocs/src/zingen/jump/pc.rs.html
index 2bae45ca2..cf5c60fb4 100644
--- a/rustdocs/src/zingen/jump/pc.rs.html
+++ b/rustdocs/src/zingen/jump/pc.rs.html
@@ -1,4 +1,4 @@
-pc.rs - source
+pc.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/jump/relocate.rs.html b/rustdocs/src/zingen/jump/relocate.rs.html
index bb6c0882b..060196443 100644
--- a/rustdocs/src/zingen/jump/relocate.rs.html
+++ b/rustdocs/src/zingen/jump/relocate.rs.html
@@ -1,4 +1,4 @@
-relocate.rs - source
+relocate.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/jump/table.rs.html b/rustdocs/src/zingen/jump/table.rs.html
index d0b2b8526..374192d78 100644
--- a/rustdocs/src/zingen/jump/table.rs.html
+++ b/rustdocs/src/zingen/jump/table.rs.html
@@ -1,4 +1,4 @@
-table.rs - source
+table.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/lib.rs.html b/rustdocs/src/zingen/lib.rs.html
index 6301fb79f..6f8a99e94 100644
--- a/rustdocs/src/zingen/lib.rs.html
+++ b/rustdocs/src/zingen/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source
+lib.rs - source
 1
 2
 3
@@ -36,7 +36,7 @@
 
 pub use crate::{
     asm::Assembler,
-    codegen::{Code, Constructor, Dispatcher, Function},
+    codegen::{Code, Constructor, Dispatcher, Function, InitStorage},
     control::{ControlStack, ControlStackFrame, ControlStackFrameType},
     jump::JumpTable,
     local::{LocalSlot, Locals},
diff --git a/rustdocs/src/zingen/local.rs.html b/rustdocs/src/zingen/local.rs.html
index 16e90d2e7..8d4210d67 100644
--- a/rustdocs/src/zingen/local.rs.html
+++ b/rustdocs/src/zingen/local.rs.html
@@ -1,4 +1,4 @@
-local.rs - source
+local.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/masm/cmp.rs.html b/rustdocs/src/zingen/masm/cmp.rs.html
index daa676daa..ceabb9f3d 100644
--- a/rustdocs/src/zingen/masm/cmp.rs.html
+++ b/rustdocs/src/zingen/masm/cmp.rs.html
@@ -1,4 +1,4 @@
-cmp.rs - source
+cmp.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/masm/embed.rs.html b/rustdocs/src/zingen/masm/embed.rs.html
index 4bc070a91..c5342a2ef 100644
--- a/rustdocs/src/zingen/masm/embed.rs.html
+++ b/rustdocs/src/zingen/masm/embed.rs.html
@@ -1,4 +1,4 @@
-embed.rs - source
+embed.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/masm/float.rs.html b/rustdocs/src/zingen/masm/float.rs.html
index 38748cf82..40efb9a18 100644
--- a/rustdocs/src/zingen/masm/float.rs.html
+++ b/rustdocs/src/zingen/masm/float.rs.html
@@ -1,4 +1,4 @@
-float.rs - source
+float.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/masm/integer.rs.html b/rustdocs/src/zingen/masm/integer.rs.html
index 831ce1f5c..5d2e42b3c 100644
--- a/rustdocs/src/zingen/masm/integer.rs.html
+++ b/rustdocs/src/zingen/masm/integer.rs.html
@@ -1,4 +1,4 @@
-integer.rs - source
+integer.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/masm/memory.rs.html b/rustdocs/src/zingen/masm/memory.rs.html
index 0e79fc6ae..dde5a1d88 100644
--- a/rustdocs/src/zingen/masm/memory.rs.html
+++ b/rustdocs/src/zingen/masm/memory.rs.html
@@ -1,4 +1,4 @@
-memory.rs - source
+memory.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/masm/mod.rs.html b/rustdocs/src/zingen/masm/mod.rs.html
index abf949699..619466a59 100644
--- a/rustdocs/src/zingen/masm/mod.rs.html
+++ b/rustdocs/src/zingen/masm/mod.rs.html
@@ -1,4 +1,4 @@
-mod.rs - source
+mod.rs - source
 1
 2
 3
@@ -252,7 +252,7 @@
 mod stack;
 
 /// EVM MacroAssembler.
-#[derive(Default)]
+#[derive(Default, Debug, Clone)]
 pub struct MacroAssembler {
     /// Low level assembler.
     pub(crate) asm: Assembler,
diff --git a/rustdocs/src/zingen/masm/ret.rs.html b/rustdocs/src/zingen/masm/ret.rs.html
index 17ef8c74c..9d8ab15e5 100644
--- a/rustdocs/src/zingen/masm/ret.rs.html
+++ b/rustdocs/src/zingen/masm/ret.rs.html
@@ -1,4 +1,4 @@
-ret.rs - source
+ret.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/masm/stack.rs.html b/rustdocs/src/zingen/masm/stack.rs.html
index 57b3ed4ac..55a5274e6 100644
--- a/rustdocs/src/zingen/masm/stack.rs.html
+++ b/rustdocs/src/zingen/masm/stack.rs.html
@@ -1,4 +1,4 @@
-stack.rs - source
+stack.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/result.rs.html b/rustdocs/src/zingen/result.rs.html
index 989e8ec7b..e1dda1e48 100644
--- a/rustdocs/src/zingen/result.rs.html
+++ b/rustdocs/src/zingen/result.rs.html
@@ -1,4 +1,4 @@
-result.rs - source
+result.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/validator.rs.html b/rustdocs/src/zingen/validator.rs.html
index 6b7f1fa93..2139b0d2a 100644
--- a/rustdocs/src/zingen/validator.rs.html
+++ b/rustdocs/src/zingen/validator.rs.html
@@ -1,4 +1,4 @@
-validator.rs - source
+validator.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/visitor/call.rs.html b/rustdocs/src/zingen/visitor/call.rs.html
index ae38c0fb6..5d3a244be 100644
--- a/rustdocs/src/zingen/visitor/call.rs.html
+++ b/rustdocs/src/zingen/visitor/call.rs.html
@@ -1,4 +1,4 @@
-call.rs - source
+call.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/visitor/control.rs.html b/rustdocs/src/zingen/visitor/control.rs.html
index 7df4a49bf..3fcf3d226 100644
--- a/rustdocs/src/zingen/visitor/control.rs.html
+++ b/rustdocs/src/zingen/visitor/control.rs.html
@@ -1,4 +1,4 @@
-control.rs - source
+control.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/visitor/handlers.rs.html b/rustdocs/src/zingen/visitor/handlers.rs.html
index c61b46318..8558f47b3 100644
--- a/rustdocs/src/zingen/visitor/handlers.rs.html
+++ b/rustdocs/src/zingen/visitor/handlers.rs.html
@@ -1,4 +1,4 @@
-handlers.rs - source
+handlers.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/visitor/local.rs.html b/rustdocs/src/zingen/visitor/local.rs.html
index e3a55010d..0e1316454 100644
--- a/rustdocs/src/zingen/visitor/local.rs.html
+++ b/rustdocs/src/zingen/visitor/local.rs.html
@@ -1,4 +1,4 @@
-local.rs - source
+local.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/visitor/log.rs.html b/rustdocs/src/zingen/visitor/log.rs.html
index 6715b8b9a..e9f47a88a 100644
--- a/rustdocs/src/zingen/visitor/log.rs.html
+++ b/rustdocs/src/zingen/visitor/log.rs.html
@@ -1,4 +1,4 @@
-log.rs - source
+log.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/visitor/mod.rs.html b/rustdocs/src/zingen/visitor/mod.rs.html
index e619c350e..63349779e 100644
--- a/rustdocs/src/zingen/visitor/mod.rs.html
+++ b/rustdocs/src/zingen/visitor/mod.rs.html
@@ -1,4 +1,4 @@
-mod.rs - source
+mod.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/wasm/abi.rs.html b/rustdocs/src/zingen/wasm/abi.rs.html
index 57edf2570..477100c80 100644
--- a/rustdocs/src/zingen/wasm/abi.rs.html
+++ b/rustdocs/src/zingen/wasm/abi.rs.html
@@ -1,4 +1,4 @@
-abi.rs - source
+abi.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/wasm/data.rs.html b/rustdocs/src/zingen/wasm/data.rs.html
index d6eb6fe48..7361e2ef1 100644
--- a/rustdocs/src/zingen/wasm/data.rs.html
+++ b/rustdocs/src/zingen/wasm/data.rs.html
@@ -1,4 +1,4 @@
-data.rs - source
+data.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/wasm/func.rs.html b/rustdocs/src/zingen/wasm/func.rs.html
index 93b247e0c..a1fd30de1 100644
--- a/rustdocs/src/zingen/wasm/func.rs.html
+++ b/rustdocs/src/zingen/wasm/func.rs.html
@@ -1,4 +1,4 @@
-func.rs - source
+func.rs - source
 1
 2
 3
@@ -86,18 +86,7 @@
 85
 86
 87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
//! Function handler
+88
//! Function handler
 use crate::{wasm::Exports, Error, Result};
 use std::{
     collections::BTreeMap,
@@ -153,17 +142,6 @@
         );
     }
 
-    /// Remove constructor function
-    pub fn remove_constructor(&mut self, exports: &Exports) -> Option<FuncType> {
-        for (index, export) in exports.iter() {
-            if export.as_str() == "constructor" {
-                return self.remove(index)?.sig().ok();
-            }
-        }
-
-        None
-    }
-
     /// Remove all selector functions
     pub fn drain_selectors(&mut self, exports: &Exports) -> Self {
         let mut functions = Self::default();
diff --git a/rustdocs/src/zingen/wasm/host.rs.html b/rustdocs/src/zingen/wasm/host.rs.html
index 81381be34..020eb58bf 100644
--- a/rustdocs/src/zingen/wasm/host.rs.html
+++ b/rustdocs/src/zingen/wasm/host.rs.html
@@ -1,4 +1,4 @@
-host.rs - source
+host.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zingen/wasm/mod.rs.html b/rustdocs/src/zingen/wasm/mod.rs.html
index a4f592d99..8d2dd2ce0 100644
--- a/rustdocs/src/zingen/wasm/mod.rs.html
+++ b/rustdocs/src/zingen/wasm/mod.rs.html
@@ -1,4 +1,4 @@
-mod.rs - source
+mod.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zink/asm.rs.html b/rustdocs/src/zink/asm.rs.html
index 36a4a2d8f..73c28404a 100644
--- a/rustdocs/src/zink/asm.rs.html
+++ b/rustdocs/src/zink/asm.rs.html
@@ -1,4 +1,4 @@
-asm.rs - source
+asm.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zink/event.rs.html b/rustdocs/src/zink/event.rs.html
index 391a6c908..fb3c20847 100644
--- a/rustdocs/src/zink/event.rs.html
+++ b/rustdocs/src/zink/event.rs.html
@@ -1,4 +1,4 @@
-event.rs - source
+event.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zink/ffi/asm.rs.html b/rustdocs/src/zink/ffi/asm.rs.html
index 3f85a368c..26183663a 100644
--- a/rustdocs/src/zink/ffi/asm.rs.html
+++ b/rustdocs/src/zink/ffi/asm.rs.html
@@ -1,4 +1,4 @@
-asm.rs - source
+asm.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zink/ffi/evm.rs.html b/rustdocs/src/zink/ffi/evm.rs.html
index 5ac6493d0..04364210a 100644
--- a/rustdocs/src/zink/ffi/evm.rs.html
+++ b/rustdocs/src/zink/ffi/evm.rs.html
@@ -1,4 +1,4 @@
-evm.rs - source
+evm.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zink/ffi/mod.rs.html b/rustdocs/src/zink/ffi/mod.rs.html
index 685c92f79..a20180593 100644
--- a/rustdocs/src/zink/ffi/mod.rs.html
+++ b/rustdocs/src/zink/ffi/mod.rs.html
@@ -1,4 +1,4 @@
-mod.rs - source
+mod.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zink/lib.rs.html b/rustdocs/src/zink/lib.rs.html
index 62c7128d2..57d5c4f1a 100644
--- a/rustdocs/src/zink/lib.rs.html
+++ b/rustdocs/src/zink/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source
+lib.rs - source
 1
 2
 3
@@ -26,7 +26,7 @@
 mod storage;
 
 pub use self::{asm::Asm, event::Event, storage::Storage};
-pub use zink_codegen::{constructor, external, storage, Event};
+pub use zink_codegen::{external, storage, Event};
 
 // Panic hook implementation
 #[cfg(target_arch = "wasm32")]
diff --git a/rustdocs/src/zink/storage/mapping.rs.html b/rustdocs/src/zink/storage/mapping.rs.html
index de607448b..4bb2dd174 100644
--- a/rustdocs/src/zink/storage/mapping.rs.html
+++ b/rustdocs/src/zink/storage/mapping.rs.html
@@ -1,3 +1,3 @@
-mapping.rs - source
+mapping.rs - source
 1
//! Zink storage mapping implementation.
 
\ No newline at end of file diff --git a/rustdocs/src/zink/storage/mod.rs.html b/rustdocs/src/zink/storage/mod.rs.html index 281efcdae..bc8f3abe9 100644 --- a/rustdocs/src/zink/storage/mod.rs.html +++ b/rustdocs/src/zink/storage/mod.rs.html @@ -1,4 +1,4 @@ -mod.rs - source
+mod.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zink_codegen/constructor.rs.html b/rustdocs/src/zink_codegen/constructor.rs.html
deleted file mode 100644
index 989b6fe3e..000000000
--- a/rustdocs/src/zink_codegen/constructor.rs.html
+++ /dev/null
@@ -1,41 +0,0 @@
-constructor.rs - source
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
//! Contract constructor.
-
-use proc_macro2::TokenStream;
-use quote::ToTokens;
-use syn::{parse_quote, ItemFn};
-
-/// Parse function into contract constructor.
-pub fn parse(input: ItemFn) -> TokenStream {
-    let block = input.block;
-    let inputs = input.sig.inputs;
-    let mut constructor: ItemFn = parse_quote! {
-        #[no_mangle]
-        pub extern "C" fn constructor( #inputs ) {
-            #block
-        }
-    };
-
-    constructor.attrs = input.attrs;
-    constructor.into_token_stream()
-}
-
\ No newline at end of file diff --git a/rustdocs/src/zink_codegen/event.rs.html b/rustdocs/src/zink_codegen/event.rs.html index 2ddfb2f43..fa6d5662d 100644 --- a/rustdocs/src/zink_codegen/event.rs.html +++ b/rustdocs/src/zink_codegen/event.rs.html @@ -1,4 +1,4 @@ -event.rs - source
+event.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zink_codegen/lib.rs.html b/rustdocs/src/zink_codegen/lib.rs.html
index 8ee4da3b2..5713b80e4 100644
--- a/rustdocs/src/zink_codegen/lib.rs.html
+++ b/rustdocs/src/zink_codegen/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source
+lib.rs - source
 1
 2
 3
@@ -77,20 +77,11 @@
 76
 77
 78
-79
-80
-81
-82
-83
-84
-85
-86
-87
//! Code generation library for the zink API
+79
//! Code generation library for the zink API
 
 use proc_macro::TokenStream;
 use syn::{parse_macro_input, DeriveInput, ItemFn, ItemType};
 
-mod constructor;
 mod event;
 mod selector;
 mod storage;
@@ -165,11 +156,4 @@
     let input = parse_macro_input!(input as ItemFn);
     selector::external(input)
 }
-
-/// Mark the function as constructor
-#[proc_macro_attribute]
-pub fn constructor(_args: TokenStream, input: TokenStream) -> TokenStream {
-    let input = parse_macro_input!(input as ItemFn);
-    constructor::parse(input).into()
-}
 
\ No newline at end of file diff --git a/rustdocs/src/zink_codegen/selector.rs.html b/rustdocs/src/zink_codegen/selector.rs.html index 9ac3135b2..bfed6659b 100644 --- a/rustdocs/src/zink_codegen/selector.rs.html +++ b/rustdocs/src/zink_codegen/selector.rs.html @@ -1,4 +1,4 @@ -selector.rs - source
+selector.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zink_codegen/storage.rs.html b/rustdocs/src/zink_codegen/storage.rs.html
index 290fc0748..5ed97f0da 100644
--- a/rustdocs/src/zink_codegen/storage.rs.html
+++ b/rustdocs/src/zink_codegen/storage.rs.html
@@ -1,4 +1,4 @@
-storage.rs - source
+storage.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zinkc/artifact.rs.html b/rustdocs/src/zinkc/artifact.rs.html
index 116acc246..77797e290 100644
--- a/rustdocs/src/zinkc/artifact.rs.html
+++ b/rustdocs/src/zinkc/artifact.rs.html
@@ -1,4 +1,4 @@
-artifact.rs - source
+artifact.rs - source
 1
 2
 3
@@ -14,42 +14,10 @@
 13
 14
 15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
//! Zink compiler artifact
+16
//! Zink compiler artifact
 
-use crate::{Compiler, Config};
-use wasmparser::FuncType;
+use crate::Config;
 use zabi::Abi;
-use zingen::Constructor;
 
 /// Zink compiler artifact
 #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
@@ -57,37 +25,9 @@
 pub struct Artifact {
     /// Contract ABIs
     pub abi: Vec<Abi>,
-    /// Bytecode of the contract.
-    pub bytecode: Vec<u8>,
     /// Compiler configuration.
     pub config: Config,
     /// Runtime bytecode of the contract.
     pub runtime_bytecode: Vec<u8>,
 }
-
-impl TryFrom<(Compiler, Option<FuncType>)> for Artifact {
-    type Error = anyhow::Error;
-
-    fn try_from(
-        (compiler, constructor): (Compiler, Option<FuncType>),
-    ) -> Result<Self, Self::Error> {
-        let Compiler {
-            abi,
-            buffer,
-            config,
-            ..
-        } = compiler;
-
-        let bytecode = Constructor::new(constructor, buffer.clone())?
-            .finish()?
-            .to_vec();
-
-        Ok(Self {
-            abi,
-            bytecode,
-            config,
-            runtime_bytecode: buffer.to_vec(),
-        })
-    }
-}
 
\ No newline at end of file diff --git a/rustdocs/src/zinkc/cli.rs.html b/rustdocs/src/zinkc/cli.rs.html index 9b52d1d4e..06e6be5a7 100644 --- a/rustdocs/src/zinkc/cli.rs.html +++ b/rustdocs/src/zinkc/cli.rs.html @@ -1,4 +1,4 @@ -cli.rs - source
+cli.rs - source
 1
 2
 3
@@ -94,7 +94,7 @@
         let artifact = compiler.compile(&fs::read(&self.input)?)?;
 
         output.parent().map(fs::create_dir_all);
-        fs::write(&output, artifact.bytecode)?;
+        fs::write(&output, artifact.runtime_bytecode)?;
 
         if !self.abi {
             return Ok(());
diff --git a/rustdocs/src/zinkc/compiler.rs.html b/rustdocs/src/zinkc/compiler.rs.html
index aa6df8f6f..0d80c256a 100644
--- a/rustdocs/src/zinkc/compiler.rs.html
+++ b/rustdocs/src/zinkc/compiler.rs.html
@@ -1,4 +1,4 @@
-compiler.rs - source
+compiler.rs - source
 1
 2
 3
@@ -107,7 +107,24 @@
 106
 107
 108
-109
//! Zink compiler
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
//! Zink compiler
 
 use crate::{parser::Parser, Artifact, Config, Error, Result};
 use zabi::Abi;
@@ -143,10 +160,9 @@
     /// Returns runtime bytecode.
     pub fn compile(mut self, wasm: &[u8]) -> Result<Artifact> {
         let mut parser = Parser::try_from(wasm)?;
-        let constructor = parser.remove_constructor();
 
-        self.compile_dispatcher(&mut parser)?;
         let env = parser.to_func_env();
+        self.compile_dispatcher(&mut parser)?;
         for func in parser.funcs.into_funcs() {
             self.compile_func(env.clone(), func)?;
         }
@@ -154,7 +170,25 @@
         self.table.code_offset(self.buffer.len() as u16);
         self.table.relocate(&mut self.buffer)?;
 
-        Artifact::try_from((self, constructor)).map_err(Into::into)
+        self.artifact()
+    }
+
+    /// Generate artifact
+    ///
+    /// yields runtime bytecode and construct bytecode
+    fn artifact(self) -> Result<Artifact> {
+        let Compiler {
+            abi,
+            buffer,
+            config,
+            ..
+        } = self;
+
+        Ok(Artifact {
+            abi,
+            config,
+            runtime_bytecode: buffer.to_vec(),
+        })
     }
 
     /// Compile EVM dispatcher.
diff --git a/rustdocs/src/zinkc/config.rs.html b/rustdocs/src/zinkc/config.rs.html
index 4d5f6043e..eff293ec1 100644
--- a/rustdocs/src/zinkc/config.rs.html
+++ b/rustdocs/src/zinkc/config.rs.html
@@ -1,4 +1,4 @@
-config.rs - source
+config.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zinkc/lib.rs.html b/rustdocs/src/zinkc/lib.rs.html
index 114995f88..e824cbc87 100644
--- a/rustdocs/src/zinkc/lib.rs.html
+++ b/rustdocs/src/zinkc/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source
+lib.rs - source
 1
 2
 3
@@ -15,7 +15,8 @@
 14
 15
 16
-17
//! Zink compiler.
+17
+18
//! Zink compiler.
 #![deny(missing_docs)]
 
 pub use crate::{
@@ -24,6 +25,7 @@
     config::Config,
     result::{Error, Result},
 };
+pub use zingen::{Constructor, InitStorage};
 
 mod artifact;
 pub mod cli;
diff --git a/rustdocs/src/zinkc/parser.rs.html b/rustdocs/src/zinkc/parser.rs.html
index e2effe74b..c6ba5495b 100644
--- a/rustdocs/src/zinkc/parser.rs.html
+++ b/rustdocs/src/zinkc/parser.rs.html
@@ -1,4 +1,4 @@
-parser.rs - source
+parser.rs - source
 1
 2
 3
@@ -132,18 +132,13 @@
 131
 132
 133
-134
-135
-136
-137
-138
-139
//! Zink parser
+134
//! Zink parser
 
 use crate::{Error, Result};
 use std::iter::IntoIterator;
 use wasmparser::{
-    Data, DataKind, Export, ExternalKind, FuncType, Import, Operator, Payload, SectionLimited,
-    TypeRef, ValidPayload, Validator,
+    Data, DataKind, Export, ExternalKind, Import, Operator, Payload, SectionLimited, TypeRef,
+    ValidPayload, Validator,
 };
 use zingen::wasm::{Data as DataSet, Env, Exports, Functions, HostFunc, Imports};
 
@@ -243,11 +238,6 @@
         Ok(imports)
     }
 
-    /// Returns constructor if some.
-    pub fn remove_constructor(&mut self) -> Option<FuncType> {
-        self.funcs.remove_constructor(&self.exports)
-    }
-
     /// Returns full environment.
     pub fn to_env(&self) -> Env {
         Env {
diff --git a/rustdocs/src/zinkc/result.rs.html b/rustdocs/src/zinkc/result.rs.html
index 7d649c355..ab51a27d1 100644
--- a/rustdocs/src/zinkc/result.rs.html
+++ b/rustdocs/src/zinkc/result.rs.html
@@ -1,4 +1,4 @@
-result.rs - source
+result.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zinkc/utils.rs.html b/rustdocs/src/zinkc/utils.rs.html
index ede316c92..749c81d7b 100644
--- a/rustdocs/src/zinkc/utils.rs.html
+++ b/rustdocs/src/zinkc/utils.rs.html
@@ -1,4 +1,4 @@
-utils.rs - source
+utils.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zinkc_filetests/lib.rs.html b/rustdocs/src/zinkc_filetests/lib.rs.html
index ae4453b0f..c14be906e 100644
--- a/rustdocs/src/zinkc_filetests/lib.rs.html
+++ b/rustdocs/src/zinkc_filetests/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source
+lib.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zint/bytes.rs.html b/rustdocs/src/zint/bytes.rs.html
index 0bf4cb8f4..6713178d1 100644
--- a/rustdocs/src/zint/bytes.rs.html
+++ b/rustdocs/src/zint/bytes.rs.html
@@ -1,4 +1,4 @@
-bytes.rs - source
+bytes.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zint/contract.rs.html b/rustdocs/src/zint/contract.rs.html
index 0fa3c74fe..a86f53ff8 100644
--- a/rustdocs/src/zint/contract.rs.html
+++ b/rustdocs/src/zint/contract.rs.html
@@ -1,4 +1,4 @@
-contract.rs - source
+contract.rs - source
 1
 2
 3
@@ -109,12 +109,26 @@
 108
 109
 110
-111
//! Contract Instance
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
//! Contract Instance
 
 use crate::{lookup, Bytes32, Info, EVM};
 use anyhow::{anyhow, Result};
 use std::fs;
-use zinkc::{Artifact, Compiler, Config};
+use zinkc::{Artifact, Compiler, Config, Constructor, InitStorage};
 
 /// Contract instance for testing.
 #[derive(Default)]
@@ -125,6 +139,8 @@
     pub artifact: Artifact,
     /// The source WASM of the contract.
     pub wasm: Vec<u8>,
+    /// Bytecode constructor
+    pub constructor: Constructor,
 }
 
 impl<T> From<T> for Contract
@@ -144,8 +160,21 @@
 
 impl Contract {
     /// Get the bytecode of the contract.
-    pub fn bytecode(&self) -> &[u8] {
-        &self.artifact.bytecode
+    pub fn bytecode(&self) -> Result<Vec<u8>> {
+        let bytecode = self
+            .constructor
+            .finish(self.artifact.runtime_bytecode.clone().into())
+            .map(|v| v.to_vec())?;
+
+        tracing::debug!("bytecode: {}", hex::encode(&bytecode));
+        Ok(bytecode)
+    }
+
+    /// Preset the storage of the contract, similar with the concept `constructor`
+    /// in solidity, but just in time.
+    pub fn construct(&mut self, storage: InitStorage) -> Result<&mut Self> {
+        self.constructor.storage(storage)?;
+        Ok(self)
     }
 
     /// Compile WASM to EVM bytecode.
@@ -155,7 +184,6 @@
         self.artifact = compiler.compile(&self.wasm)?;
 
         tracing::debug!("abi: {:#}", self.json_abi()?);
-        tracing::debug!("bytecode: {:?}", hex::encode(&self.artifact.bytecode));
         Ok(self)
     }
 
diff --git a/rustdocs/src/zint/evm.rs.html b/rustdocs/src/zint/evm.rs.html
index 0a9e69826..0cb763492 100644
--- a/rustdocs/src/zint/evm.rs.html
+++ b/rustdocs/src/zint/evm.rs.html
@@ -1,4 +1,4 @@
-evm.rs - source
+evm.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zint/lib.rs.html b/rustdocs/src/zint/lib.rs.html
index d4e9c1f30..2297c460f 100644
--- a/rustdocs/src/zint/lib.rs.html
+++ b/rustdocs/src/zint/lib.rs.html
@@ -1,4 +1,4 @@
-lib.rs - source
+lib.rs - source
 1
 2
 3
diff --git a/rustdocs/src/zint/lookup.rs.html b/rustdocs/src/zint/lookup.rs.html
index c855eabf6..7d832aa81 100644
--- a/rustdocs/src/zint/lookup.rs.html
+++ b/rustdocs/src/zint/lookup.rs.html
@@ -1,4 +1,4 @@
-lookup.rs - source
+lookup.rs - source
 1
 2
 3
diff --git a/rustdocs/trait.impl/core/clone/trait.Clone.js b/rustdocs/trait.impl/core/clone/trait.Clone.js
index b624f16b9..a3f8fc6d3 100644
--- a/rustdocs/trait.impl/core/clone/trait.Clone.js
+++ b/rustdocs/trait.impl/core/clone/trait.Clone.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["elko",[["impl Clone for Dependencies"],["impl Clone for Lib"],["impl Clone for Manifest"],["impl Clone for Package"]]],["evm_opcodes",[["impl Clone for Group"],["impl Clone for Upgrade"],["impl Clone for ShangHai"]]],["sol_abi",[["impl Clone for Type"],["impl Clone for Param"],["impl Clone for Abi"],["impl Clone for Arg"]]],["zabi",[["impl Clone for Abi"]]],["zingen",[["impl Clone for ControlStackFrameType"],["impl Clone for Jump"],["impl Clone for HostFunc"],["impl Clone for Assembler"],["impl Clone for Code"],["impl Clone for ExtFunc"],["impl Clone for ControlStackFrame"],["impl Clone for JumpTable"],["impl Clone for Data"],["impl Clone for Env"],["impl Clone for Exports"],["impl Clone for Imports"]]],["zinkc_filetests",[["impl Clone for Test"]]]]);
+    var implementors = Object.fromEntries([["elko",[["impl Clone for Dependencies"],["impl Clone for Lib"],["impl Clone for Manifest"],["impl Clone for Package"]]],["evm_opcodes",[["impl Clone for Group"],["impl Clone for Upgrade"],["impl Clone for ShangHai"]]],["sol_abi",[["impl Clone for Type"],["impl Clone for Param"],["impl Clone for Abi"],["impl Clone for Arg"]]],["zabi",[["impl Clone for Abi"]]],["zingen",[["impl Clone for ControlStackFrameType"],["impl Clone for Jump"],["impl Clone for HostFunc"],["impl Clone for Assembler"],["impl Clone for Code"],["impl Clone for ExtFunc"],["impl Clone for Constructor"],["impl Clone for ControlStackFrame"],["impl Clone for JumpTable"],["impl Clone for MacroAssembler"],["impl Clone for Data"],["impl Clone for Env"],["impl Clone for Exports"],["impl Clone for Imports"]]],["zinkc_filetests",[["impl Clone for Test"]]]]);
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[1124,793,1003,244,3242,280]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[1124,793,1003,244,3826,280]}
\ No newline at end of file
diff --git a/rustdocs/trait.impl/core/convert/trait.TryFrom.js b/rustdocs/trait.impl/core/convert/trait.TryFrom.js
index cb8f374aa..6c9ad285a 100644
--- a/rustdocs/trait.impl/core/convert/trait.TryFrom.js
+++ b/rustdocs/trait.impl/core/convert/trait.TryFrom.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["zingen",[["impl TryFrom<(&str, &str)> for HostFunc"]]],["zinkc",[["impl TryFrom<(Compiler, Option<FuncType>)> for Artifact"],["impl<'p> TryFrom<&'p [u8]> for Parser<'p>"]]],["zint",[["impl TryFrom<(ResultAndState, TxKind)> for Info"],["impl TryFrom<ExecutionResult> for Info"]]]]);
+    var implementors = Object.fromEntries([["zingen",[["impl TryFrom<(&str, &str)> for HostFunc"]]],["zinkc",[["impl<'p> TryFrom<&'p [u8]> for Parser<'p>"]]],["zint",[["impl TryFrom<(ResultAndState, TxKind)> for Info"],["impl TryFrom<ExecutionResult> for Info"]]]]);
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[504,976,576]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[504,413,576]}
\ No newline at end of file
diff --git a/rustdocs/trait.impl/core/default/trait.Default.js b/rustdocs/trait.impl/core/default/trait.Default.js
index 2667e3d10..1b376e9c4 100644
--- a/rustdocs/trait.impl/core/default/trait.Default.js
+++ b/rustdocs/trait.impl/core/default/trait.Default.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["elko",[["impl Default for Dependencies"],["impl Default for Lib"],["impl Default for Manifest"],["impl Default for Package"]]],["sol_abi",[["impl Default for Type"],["impl Default for Param"],["impl Default for Abi"],["impl Default for Arg"]]],["zabi",[["impl Default for Abi"]]],["zingen",[["impl Default for Assembler"],["impl Default for Backtrace"],["impl Default for Code"],["impl Default for ControlStack"],["impl Default for JumpTable"],["impl Default for Locals"],["impl Default for MacroAssembler"],["impl Default for Data"],["impl Default for Env"],["impl Default for Exports"],["impl Default for Imports"],["impl<'f> Default for Functions<'f>"]]],["zinkc",[["impl Default for Artifact"],["impl Default for Compiler"],["impl Default for Config"],["impl<'p> Default for Parser<'p>"]]],["zint",[["impl Default for Contract"],["impl Default for Info"],["impl<'e> Default for EVM<'e>"]]]]);
+    var implementors = Object.fromEntries([["elko",[["impl Default for Dependencies"],["impl Default for Lib"],["impl Default for Manifest"],["impl Default for Package"]]],["sol_abi",[["impl Default for Type"],["impl Default for Param"],["impl Default for Abi"],["impl Default for Arg"]]],["zabi",[["impl Default for Abi"]]],["zingen",[["impl Default for Assembler"],["impl Default for Backtrace"],["impl Default for Code"],["impl Default for Constructor"],["impl Default for ControlStack"],["impl Default for JumpTable"],["impl Default for Locals"],["impl Default for MacroAssembler"],["impl Default for Data"],["impl Default for Env"],["impl Default for Exports"],["impl Default for Imports"],["impl<'f> Default for Functions<'f>"]]],["zinkc",[["impl Default for Artifact"],["impl Default for Compiler"],["impl Default for Config"],["impl<'p> Default for Parser<'p>"]]],["zint",[["impl Default for Contract"],["impl Default for Info"],["impl<'e> Default for EVM<'e>"]]]]);
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[1164,1043,254,3368,1128,815]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[1164,1043,254,3681,1128,815]}
\ No newline at end of file
diff --git a/rustdocs/trait.impl/core/fmt/trait.Debug.js b/rustdocs/trait.impl/core/fmt/trait.Debug.js
index 31ff33283..0e8e1cc3d 100644
--- a/rustdocs/trait.impl/core/fmt/trait.Debug.js
+++ b/rustdocs/trait.impl/core/fmt/trait.Debug.js
@@ -1,9 +1,9 @@
 (function() {
-    var implementors = Object.fromEntries([["elko",[["impl Debug for Error"],["impl Debug for Build"],["impl Debug for New"],["impl Debug for Dependencies"],["impl Debug for Lib"],["impl Debug for Manifest"],["impl Debug for Package"]]],["evm_opcodes",[["impl Debug for Group"],["impl Debug for Upgrade"],["impl Debug for ShangHai"]]],["sol_abi",[["impl Debug for Type"],["impl Debug for Param"],["impl Debug for Abi"],["impl Debug for Arg"]]],["zabi",[["impl Debug for Error"],["impl Debug for Abi"]]],["zingen",[["impl Debug for ControlStackFrameType"],["impl Debug for Jump"],["impl Debug for LocalSlotType"],["impl Debug for Error"],["impl Debug for HostFunc"],["impl Debug for Backtrace"],["impl Debug for Code"],["impl Debug for ExtFunc"],["impl Debug for JumpTable"],["impl Debug for LocalSlot"],["impl Debug for Locals"],["impl Debug for Data"],["impl Debug for Env"],["impl Debug for Exports"],["impl Debug for Imports"]]],["zinkc",[["impl Debug for Error"],["impl Debug for Artifact"],["impl Debug for Compile"],["impl Debug for Config"]]],["zint",[["impl Debug for Info"]]]]);
+    var implementors = Object.fromEntries([["elko",[["impl Debug for Error"],["impl Debug for Build"],["impl Debug for New"],["impl Debug for Dependencies"],["impl Debug for Lib"],["impl Debug for Manifest"],["impl Debug for Package"]]],["evm_opcodes",[["impl Debug for Group"],["impl Debug for Upgrade"],["impl Debug for ShangHai"]]],["sol_abi",[["impl Debug for Type"],["impl Debug for Param"],["impl Debug for Abi"],["impl Debug for Arg"]]],["zabi",[["impl Debug for Error"],["impl Debug for Abi"]]],["zingen",[["impl Debug for ControlStackFrameType"],["impl Debug for Jump"],["impl Debug for LocalSlotType"],["impl Debug for Error"],["impl Debug for HostFunc"],["impl Debug for Assembler"],["impl Debug for Backtrace"],["impl Debug for Code"],["impl Debug for ExtFunc"],["impl Debug for Constructor"],["impl Debug for JumpTable"],["impl Debug for LocalSlot"],["impl Debug for Locals"],["impl Debug for MacroAssembler"],["impl Debug for Data"],["impl Debug for Env"],["impl Debug for Exports"],["impl Debug for Imports"]]],["zinkc",[["impl Debug for Error"],["impl Debug for Artifact"],["impl Debug for Compile"],["impl Debug for Config"]]],["zint",[["impl Debug for Info"]]]]);
     if (window.register_implementors) {
         window.register_implementors(implementors);
     } else {
         window.pending_implementors = implementors;
     }
 })()
-//{"start":57,"fragment_lengths":[1851,781,987,484,3951,1030,252]}
\ No newline at end of file
+//{"start":57,"fragment_lengths":[1851,781,987,484,4787,1030,252]}
\ No newline at end of file
diff --git a/rustdocs/type.impl/std/collections/hash/map/struct.HashMap.js b/rustdocs/type.impl/std/collections/hash/map/struct.HashMap.js
new file mode 100644
index 000000000..61e607bc1
--- /dev/null
+++ b/rustdocs/type.impl/std/collections/hash/map/struct.HashMap.js
@@ -0,0 +1,9 @@
+(function() {
+    var type_impls = Object.fromEntries([["zingen",[["
1.0.0 · source§

impl<K, V, S> Clone for HashMap<K, V, S>
where\n K: Clone,\n V: Clone,\n S: Clone,

source§

fn clone(&self) -> HashMap<K, V, S>

Returns a copy of the value. Read more
source§

fn clone_from(&mut self, source: &HashMap<K, V, S>)

Performs copy-assignment from source. Read more
","Clone","zingen::codegen::constructor::InitStorage"],["
1.0.0 · source§

impl<K, V, S> Debug for HashMap<K, V, S>
where\n K: Debug,\n V: Debug,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","zingen::codegen::constructor::InitStorage"],["
1.0.0 · source§

impl<K, V, S> Default for HashMap<K, V, S>
where\n S: Default,

source§

fn default() -> HashMap<K, V, S>

Creates an empty HashMap<K, V, S>, with the Default value for the hasher.

\n
","Default","zingen::codegen::constructor::InitStorage"],["
source§

impl<'de, K, V, S> Deserialize<'de> for HashMap<K, V, S>
where\n K: Deserialize<'de> + Eq + Hash,\n V: Deserialize<'de>,\n S: BuildHasher + Default,

source§

fn deserialize<D>(\n deserializer: D,\n) -> Result<HashMap<K, V, S>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","zingen::codegen::constructor::InitStorage"],["
1.4.0 · source§

impl<'a, K, V, S> Extend<(&'a K, &'a V)> for HashMap<K, V, S>
where\n K: Eq + Hash + Copy,\n V: Copy,\n S: BuildHasher,

source§

fn extend<T>(&mut self, iter: T)
where\n T: IntoIterator<Item = (&'a K, &'a V)>,

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, _: (&'a K, &'a V))

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
","Extend<(&'a K, &'a V)>","zingen::codegen::constructor::InitStorage"],["
1.0.0 · source§

impl<K, V, S> Extend<(K, V)> for HashMap<K, V, S>
where\n K: Eq + Hash,\n S: BuildHasher,

Inserts all new key-values from the iterator and replaces values with existing\nkeys with new values returned from the iterator.

\n
source§

fn extend<T>(&mut self, iter: T)
where\n T: IntoIterator<Item = (K, V)>,

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, _: (K, V))

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
","Extend<(K, V)>","zingen::codegen::constructor::InitStorage"],["
1.56.0 · source§

impl<K, V, const N: usize> From<[(K, V); N]> for HashMap<K, V>
where\n K: Eq + Hash,

source§

fn from(arr: [(K, V); N]) -> HashMap<K, V>

§Examples
\n
use std::collections::HashMap;\n\nlet map1 = HashMap::from([(1, 2), (3, 4)]);\nlet map2: HashMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
\n
","From<[(K, V); N]>","zingen::codegen::constructor::InitStorage"],["
1.0.0 · source§

impl<K, V, S> FromIterator<(K, V)> for HashMap<K, V, S>
where\n K: Eq + Hash,\n S: BuildHasher + Default,

source§

fn from_iter<T>(iter: T) -> HashMap<K, V, S>
where\n T: IntoIterator<Item = (K, V)>,

Creates a value from an iterator. Read more
","FromIterator<(K, V)>","zingen::codegen::constructor::InitStorage"],["
source§

impl<K, V> HashMap<K, V>

1.0.0 · source

pub fn new() -> HashMap<K, V>

Creates an empty HashMap.

\n

The hash map is initially created with a capacity of 0, so it will not allocate until it\nis first inserted into.

\n
§Examples
\n
use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();
\n
1.0.0 · source

pub fn with_capacity(capacity: usize) -> HashMap<K, V>

Creates an empty HashMap with at least the specified capacity.

\n

The hash map will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash map will not allocate.

\n
§Examples
\n
use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::with_capacity(10);
\n
",0,"zingen::codegen::constructor::InitStorage"],["
source§

impl<K, V, S> HashMap<K, V, S>
where\n S: BuildHasher,

source

pub fn raw_entry_mut(&mut self) -> RawEntryBuilderMut<'_, K, V, S>

🔬This is a nightly-only experimental API. (hash_raw_entry)

Creates a raw entry builder for the HashMap.

\n

Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched. After this, insertions into a vacant entry\nstill require an owned key to be provided.

\n

Raw entries are useful for such exotic situations as:

\n
    \n
  • Hash memoization
  • \n
  • Deferring the creation of an owned key until it is known to be required
  • \n
  • Using a search key that doesn’t work with the Borrow trait
  • \n
  • Using custom comparison logic without newtype wrappers
  • \n
\n

Because raw entries provide much more low-level control, it’s much easier\nto put the HashMap into an inconsistent state which, while memory-safe,\nwill cause the map to produce seemingly random results. Higher-level and\nmore foolproof APIs like entry should be preferred when possible.

\n

In particular, the hash used to initialize the raw entry must still be\nconsistent with the hash of the key that is ultimately stored in the entry.\nThis is because implementations of HashMap may need to recompute hashes\nwhen resizing, at which point only the keys are available.

\n

Raw entries give mutable access to the keys. This must not be used\nto modify how the key would compare or hash, as the map will not re-evaluate\nwhere the key should go, meaning the keys may become “lost” if their\nlocation does not reflect their state. For instance, if you change a key\nso that the map now contains keys which compare equal, search may start\nacting erratically, with two keys randomly masking each other. Implementations\nare free to assume this doesn’t happen (within the limits of memory-safety).

\n
source

pub fn raw_entry(&self) -> RawEntryBuilder<'_, K, V, S>

🔬This is a nightly-only experimental API. (hash_raw_entry)

Creates a raw immutable entry builder for the HashMap.

\n

Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched.

\n

This is useful for

\n
    \n
  • Hash memoization
  • \n
  • Using a search key that doesn’t work with the Borrow trait
  • \n
  • Using custom comparison logic without newtype wrappers
  • \n
\n

Unless you are in such a situation, higher-level and more foolproof APIs like\nget should be preferred.

\n

Immutable raw entries have very limited use; you might instead want raw_entry_mut.

\n
",0,"zingen::codegen::constructor::InitStorage"],["
source§

impl<K, V, S> HashMap<K, V, S>

1.7.0 (const: unstable) · source

pub fn with_hasher(hash_builder: S) -> HashMap<K, V, S>

Creates an empty HashMap which will use the given hash builder to hash\nkeys.

\n

The created map has the default initial capacity.

\n

Warning: hash_builder is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

\n

The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

\n
§Examples
\n
use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_hasher(s);\nmap.insert(1, 2);
\n
1.7.0 · source

pub fn with_capacity_and_hasher(capacity: usize, hasher: S) -> HashMap<K, V, S>

Creates an empty HashMap with at least the specified capacity, using\nhasher to hash the keys.

\n

The hash map will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash map will not allocate.

\n

Warning: hasher is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

\n

The hasher passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

\n
§Examples
\n
use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_capacity_and_hasher(10, s);\nmap.insert(1, 2);
\n
1.0.0 · source

pub fn capacity(&self) -> usize

Returns the number of elements the map can hold without reallocating.

\n

This number is a lower bound; the HashMap<K, V> might be able to hold\nmore, but is guaranteed to be able to hold at least this many.

\n
§Examples
\n
use std::collections::HashMap;\nlet map: HashMap<i32, i32> = HashMap::with_capacity(100);\nassert!(map.capacity() >= 100);
\n
1.0.0 · source

pub fn keys(&self) -> Keys<'_, K, V>

An iterator visiting all keys in arbitrary order.\nThe iterator element type is &'a K.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor key in map.keys() {\n    println!(\"{key}\");\n}
\n
§Performance
\n

In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.54.0 · source

pub fn into_keys(self) -> IntoKeys<K, V>

Creates a consuming iterator visiting all the keys in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<&str> = map.into_keys().collect();\n// The `IntoKeys` iterator produces keys in arbitrary order, so the\n// keys must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [\"a\", \"b\", \"c\"]);
\n
§Performance
\n

In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn values(&self) -> Values<'_, K, V>

An iterator visiting all values in arbitrary order.\nThe iterator element type is &'a V.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
\n
§Performance
\n

In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.10.0 · source

pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

An iterator visiting all values mutably in arbitrary order.\nThe iterator element type is &'a mut V.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values_mut() {\n    *val = *val + 10;\n}\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
\n
§Performance
\n

In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.54.0 · source

pub fn into_values(self) -> IntoValues<K, V>

Creates a consuming iterator visiting all the values in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is V.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<i32> = map.into_values().collect();\n// The `IntoValues` iterator produces values in arbitrary order, so\n// the values must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [1, 2, 3]);
\n
§Performance
\n

In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn iter(&self) -> Iter<'_, K, V>

An iterator visiting all key-value pairs in arbitrary order.\nThe iterator element type is (&'a K, &'a V).

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor (key, val) in map.iter() {\n    println!(\"key: {key} val: {val}\");\n}
\n
§Performance
\n

In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

An iterator visiting all key-value pairs in arbitrary order,\nwith mutable references to the values.\nThe iterator element type is (&'a K, &'a mut V).

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Update all values\nfor (_, val) in map.iter_mut() {\n    *val *= 2;\n}\n\nfor (key, val) in &map {\n    println!(\"key: {key} val: {val}\");\n}
\n
§Performance
\n

In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn len(&self) -> usize

Returns the number of elements in the map.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
\n
1.0.0 · source

pub fn is_empty(&self) -> bool

Returns true if the map contains no elements.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
\n
1.6.0 · source

pub fn drain(&mut self) -> Drain<'_, K, V>

Clears the map, returning all key-value pairs as an iterator. Keeps the\nallocated memory for reuse.

\n

If the returned iterator is dropped before being fully consumed, it\ndrops the remaining key-value pairs. The returned iterator keeps a\nmutable borrow on the map to optimize its implementation.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\n\nfor (k, v) in a.drain().take(1) {\n    assert!(k == 1 || k == 2);\n    assert!(v == \"a\" || v == \"b\");\n}\n\nassert!(a.is_empty());
\n
source

pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F>
where\n F: FnMut(&K, &mut V) -> bool,

🔬This is a nightly-only experimental API. (hash_extract_if)

Creates an iterator which uses a closure to determine if an element should be removed.

\n

If the closure returns true, the element is removed from the map and yielded.\nIf the closure returns false, or panics, the element remains in the map and will not be\nyielded.

\n

Note that extract_if lets you mutate every value in the filter closure, regardless of\nwhether you choose to keep or remove it.

\n

If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

\n
§Examples
\n

Splitting a map into even and odd keys, reusing the original map:

\n\n
#![feature(hash_extract_if)]\nuse std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet extracted: HashMap<i32, i32> = map.extract_if(|k, _v| k % 2 == 0).collect();\n\nlet mut evens = extracted.keys().copied().collect::<Vec<_>>();\nlet mut odds = map.keys().copied().collect::<Vec<_>>();\nevens.sort();\nodds.sort();\n\nassert_eq!(evens, vec![0, 2, 4, 6]);\nassert_eq!(odds, vec![1, 3, 5, 7]);
\n
1.18.0 · source

pub fn retain<F>(&mut self, f: F)
where\n F: FnMut(&K, &mut V) -> bool,

Retains only the elements specified by the predicate.

\n

In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in unsorted (and unspecified) order.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\nmap.retain(|&k, _| k % 2 == 0);\nassert_eq!(map.len(), 4);
\n
§Performance
\n

In the current implementation, this operation takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn clear(&mut self)

Clears the map, removing all key-value pairs. Keeps the allocated memory\nfor reuse.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
\n
1.9.0 · source

pub fn hasher(&self) -> &S

Returns a reference to the map’s BuildHasher.

\n
§Examples
\n
use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet map: HashMap<i32, i32> = HashMap::with_hasher(hasher);\nlet hasher: &RandomState = map.hasher();
\n
",0,"zingen::codegen::constructor::InitStorage"],["
source§

impl<K, V, S> HashMap<K, V, S>
where\n K: Eq + Hash,\n S: BuildHasher,

1.0.0 · source

pub fn reserve(&mut self, additional: usize)

Reserves capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

\n
§Panics
\n

Panics if the new allocation size overflows usize.

\n
§Examples
\n
use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();\nmap.reserve(10);
\n
1.57.0 · source

pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

Tries to reserve capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling try_reserve,\ncapacity will be greater than or equal to self.len() + additional if\nit returns Ok(()).\nDoes nothing if capacity is already sufficient.

\n
§Errors
\n

If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map: HashMap<&str, isize> = HashMap::new();\nmap.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");
\n
1.0.0 · source

pub fn shrink_to_fit(&mut self)

Shrinks the capacity of the map as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to_fit();\nassert!(map.capacity() >= 2);
\n
1.56.0 · source

pub fn shrink_to(&mut self, min_capacity: usize)

Shrinks the capacity of the map with a lower limit. It will drop\ndown no lower than the supplied limit while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

\n

If the current capacity is less than the lower limit, this is a no-op.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to(10);\nassert!(map.capacity() >= 10);\nmap.shrink_to(0);\nassert!(map.capacity() >= 2);
\n
1.0.0 · source

pub fn entry(&mut self, key: K) -> Entry<'_, K, V>

Gets the given key’s corresponding entry in the map for in-place manipulation.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut letters = HashMap::new();\n\nfor ch in \"a short treatise on fungi\".chars() {\n    letters.entry(ch).and_modify(|counter| *counter += 1).or_insert(1);\n}\n\nassert_eq!(letters[&'s'], 2);\nassert_eq!(letters[&'t'], 3);\nassert_eq!(letters[&'u'], 1);\nassert_eq!(letters.get(&'y'), None);
\n
1.0.0 · source

pub fn get<Q>(&self, k: &Q) -> Option<&V>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Returns a reference to the value corresponding to the key.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
\n
1.40.0 · source

pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Returns the key-value pair corresponding to the supplied key.

\n

The supplied key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
\n
source

pub fn get_many_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N],\n) -> Option<[&mut V; N]>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

🔬This is a nightly-only experimental API. (map_many_mut)

Attempts to get mutable references to N values in the map at once.

\n

Returns an array of length N with the results of each query. For soundness, at most one\nmutable reference will be returned to any value. None will be returned if any of the\nkeys are duplicates or missing.

\n
§Examples
\n
#![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);\n\n// Duplicate keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Athenæum\",\n]);\nassert_eq!(got, None);
\n
source

pub unsafe fn get_many_unchecked_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N],\n) -> Option<[&mut V; N]>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

🔬This is a nightly-only experimental API. (map_many_mut)

Attempts to get mutable references to N values in the map at once, without validating that\nthe values are unique.

\n

Returns an array of length N with the results of each query. None will be returned if\nany of the keys are missing.

\n

For a safe alternative see get_many_mut.

\n
§Safety
\n

Calling this method with overlapping keys is undefined behavior even if the resulting\nreferences are not used.

\n
§Examples
\n
#![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);
\n
1.0.0 · source

pub fn contains_key<Q>(&self, k: &Q) -> bool
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Returns true if the map contains a value for the specified key.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
\n
1.0.0 · source

pub fn get_mut<Q>(&mut self, k: &Q) -> Option<&mut V>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Returns a mutable reference to the value corresponding to the key.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
\n
1.0.0 · source

pub fn insert(&mut self, k: K, v: V) -> Option<V>

Inserts a key-value pair into the map.

\n

If the map did not have this key present, None is returned.

\n

If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
\n
source

pub fn try_insert(\n &mut self,\n key: K,\n value: V,\n) -> Result<&mut V, OccupiedError<'_, K, V>>

🔬This is a nightly-only experimental API. (map_try_insert)

Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

\n

If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(map_try_insert)]\n\nuse std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
\n
1.0.0 · source

pub fn remove<Q>(&mut self, k: &Q) -> Option<V>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
\n
1.27.0 · source

pub fn remove_entry<Q>(&mut self, k: &Q) -> Option<(K, V)>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Removes a key from the map, returning the stored key and value if the\nkey was previously in the map.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove(&1), None);
\n
",0,"zingen::codegen::constructor::InitStorage"],["
1.0.0 · source§

impl<K, Q, V, S> Index<&Q> for HashMap<K, V, S>
where\n K: Eq + Hash + Borrow<Q>,\n Q: Eq + Hash + ?Sized,\n S: BuildHasher,

source§

fn index(&self, key: &Q) -> &V

Returns a reference to the value corresponding to the supplied key.

\n
§Panics
\n

Panics if the key is not present in the HashMap.

\n
source§

type Output = V

The returned type after indexing.
","Index<&Q>","zingen::codegen::constructor::InitStorage"],["
source§

impl<'de, K, V, S, E> IntoDeserializer<'de, E> for HashMap<K, V, S>
where\n K: IntoDeserializer<'de, E> + Eq + Hash,\n V: IntoDeserializer<'de, E>,\n S: BuildHasher,\n E: Error,

source§

type Deserializer = MapDeserializer<'de, <HashMap<K, V, S> as IntoIterator>::IntoIter, E>

The type of the deserializer being converted into.
source§

fn into_deserializer(\n self,\n) -> <HashMap<K, V, S> as IntoDeserializer<'de, E>>::Deserializer

Convert this value into a deserializer.
","IntoDeserializer<'de, E>","zingen::codegen::constructor::InitStorage"],["
1.0.0 · source§

impl<K, V, S> IntoIterator for HashMap<K, V, S>

source§

fn into_iter(self) -> IntoIter<K, V>

Creates a consuming iterator, that is, one that moves each key-value\npair out of the map in arbitrary order. The map cannot be used after\ncalling this.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Not possible with .iter()\nlet vec: Vec<(&str, i32)> = map.into_iter().collect();
\n
source§

type Item = (K, V)

The type of the elements being iterated over.
source§

type IntoIter = IntoIter<K, V>

Which kind of iterator are we turning this into?
","IntoIterator","zingen::codegen::constructor::InitStorage"],["
1.0.0 · source§

impl<K, V, S> PartialEq for HashMap<K, V, S>
where\n K: Eq + Hash,\n V: PartialEq,\n S: BuildHasher,

source§

fn eq(&self, other: &HashMap<K, V, S>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
","PartialEq","zingen::codegen::constructor::InitStorage"],["
source§

impl<K, V, H> Serialize for HashMap<K, V, H>
where\n K: Serialize,\n V: Serialize,

source§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","zingen::codegen::constructor::InitStorage"],["
1.0.0 · source§

impl<K, V, S> Eq for HashMap<K, V, S>
where\n K: Eq + Hash,\n V: Eq,\n S: BuildHasher,

","Eq","zingen::codegen::constructor::InitStorage"],["
1.36.0 · source§

impl<K, V, S> UnwindSafe for HashMap<K, V, S>
where\n K: UnwindSafe,\n V: UnwindSafe,\n S: UnwindSafe,

","UnwindSafe","zingen::codegen::constructor::InitStorage"]]],["zinkc",[["
source§

impl<K, V, S> Clear for HashMap<K, V, S>
where\n K: Hash + Eq,\n S: BuildHasher,

source§

fn clear(&mut self)

Clear all data in self, retaining the allocated capacithy.
","Clear","zinkc::InitStorage"],["
1.0.0 · source§

impl<K, V, S> Clone for HashMap<K, V, S>
where\n K: Clone,\n V: Clone,\n S: Clone,

source§

fn clone(&self) -> HashMap<K, V, S>

Returns a copy of the value. Read more
source§

fn clone_from(&mut self, source: &HashMap<K, V, S>)

Performs copy-assignment from source. Read more
","Clone","zinkc::InitStorage"],["
1.0.0 · source§

impl<K, V, S> Debug for HashMap<K, V, S>
where\n K: Debug,\n V: Debug,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","zinkc::InitStorage"],["
1.0.0 · source§

impl<K, V, S> Default for HashMap<K, V, S>
where\n S: Default,

source§

fn default() -> HashMap<K, V, S>

Creates an empty HashMap<K, V, S>, with the Default value for the hasher.

\n
","Default","zinkc::InitStorage"],["
source§

impl<'de, K, V, S> Deserialize<'de> for HashMap<K, V, S>
where\n K: Deserialize<'de> + Eq + Hash,\n V: Deserialize<'de>,\n S: BuildHasher + Default,

source§

fn deserialize<D>(\n deserializer: D,\n) -> Result<HashMap<K, V, S>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","zinkc::InitStorage"],["
1.4.0 · source§

impl<'a, K, V, S> Extend<(&'a K, &'a V)> for HashMap<K, V, S>
where\n K: Eq + Hash + Copy,\n V: Copy,\n S: BuildHasher,

source§

fn extend<T>(&mut self, iter: T)
where\n T: IntoIterator<Item = (&'a K, &'a V)>,

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, _: (&'a K, &'a V))

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
","Extend<(&'a K, &'a V)>","zinkc::InitStorage"],["
1.0.0 · source§

impl<K, V, S> Extend<(K, V)> for HashMap<K, V, S>
where\n K: Eq + Hash,\n S: BuildHasher,

Inserts all new key-values from the iterator and replaces values with existing\nkeys with new values returned from the iterator.

\n
source§

fn extend<T>(&mut self, iter: T)
where\n T: IntoIterator<Item = (K, V)>,

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, _: (K, V))

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
","Extend<(K, V)>","zinkc::InitStorage"],["
1.56.0 · source§

impl<K, V, const N: usize> From<[(K, V); N]> for HashMap<K, V>
where\n K: Eq + Hash,

source§

fn from(arr: [(K, V); N]) -> HashMap<K, V>

§Examples
\n
use std::collections::HashMap;\n\nlet map1 = HashMap::from([(1, 2), (3, 4)]);\nlet map2: HashMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
\n
","From<[(K, V); N]>","zinkc::InitStorage"],["
1.0.0 · source§

impl<K, V, S> FromIterator<(K, V)> for HashMap<K, V, S>
where\n K: Eq + Hash,\n S: BuildHasher + Default,

source§

fn from_iter<T>(iter: T) -> HashMap<K, V, S>
where\n T: IntoIterator<Item = (K, V)>,

Creates a value from an iterator. Read more
","FromIterator<(K, V)>","zinkc::InitStorage"],["
source§

impl<K, V> HashMap<K, V>

1.0.0 · source

pub fn new() -> HashMap<K, V>

Creates an empty HashMap.

\n

The hash map is initially created with a capacity of 0, so it will not allocate until it\nis first inserted into.

\n
§Examples
\n
use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();
\n
1.0.0 · source

pub fn with_capacity(capacity: usize) -> HashMap<K, V>

Creates an empty HashMap with at least the specified capacity.

\n

The hash map will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash map will not allocate.

\n
§Examples
\n
use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::with_capacity(10);
\n
",0,"zinkc::InitStorage"],["
source§

impl<K, V, S> HashMap<K, V, S>
where\n S: BuildHasher,

source

pub fn raw_entry_mut(&mut self) -> RawEntryBuilderMut<'_, K, V, S>

🔬This is a nightly-only experimental API. (hash_raw_entry)

Creates a raw entry builder for the HashMap.

\n

Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched. After this, insertions into a vacant entry\nstill require an owned key to be provided.

\n

Raw entries are useful for such exotic situations as:

\n
    \n
  • Hash memoization
  • \n
  • Deferring the creation of an owned key until it is known to be required
  • \n
  • Using a search key that doesn’t work with the Borrow trait
  • \n
  • Using custom comparison logic without newtype wrappers
  • \n
\n

Because raw entries provide much more low-level control, it’s much easier\nto put the HashMap into an inconsistent state which, while memory-safe,\nwill cause the map to produce seemingly random results. Higher-level and\nmore foolproof APIs like entry should be preferred when possible.

\n

In particular, the hash used to initialize the raw entry must still be\nconsistent with the hash of the key that is ultimately stored in the entry.\nThis is because implementations of HashMap may need to recompute hashes\nwhen resizing, at which point only the keys are available.

\n

Raw entries give mutable access to the keys. This must not be used\nto modify how the key would compare or hash, as the map will not re-evaluate\nwhere the key should go, meaning the keys may become “lost” if their\nlocation does not reflect their state. For instance, if you change a key\nso that the map now contains keys which compare equal, search may start\nacting erratically, with two keys randomly masking each other. Implementations\nare free to assume this doesn’t happen (within the limits of memory-safety).

\n
source

pub fn raw_entry(&self) -> RawEntryBuilder<'_, K, V, S>

🔬This is a nightly-only experimental API. (hash_raw_entry)

Creates a raw immutable entry builder for the HashMap.

\n

Raw entries provide the lowest level of control for searching and\nmanipulating a map. They must be manually initialized with a hash and\nthen manually searched.

\n

This is useful for

\n
    \n
  • Hash memoization
  • \n
  • Using a search key that doesn’t work with the Borrow trait
  • \n
  • Using custom comparison logic without newtype wrappers
  • \n
\n

Unless you are in such a situation, higher-level and more foolproof APIs like\nget should be preferred.

\n

Immutable raw entries have very limited use; you might instead want raw_entry_mut.

\n
",0,"zinkc::InitStorage"],["
source§

impl<K, V, S> HashMap<K, V, S>

1.7.0 (const: unstable) · source

pub fn with_hasher(hash_builder: S) -> HashMap<K, V, S>

Creates an empty HashMap which will use the given hash builder to hash\nkeys.

\n

The created map has the default initial capacity.

\n

Warning: hash_builder is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

\n

The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

\n
§Examples
\n
use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_hasher(s);\nmap.insert(1, 2);
\n
1.7.0 · source

pub fn with_capacity_and_hasher(capacity: usize, hasher: S) -> HashMap<K, V, S>

Creates an empty HashMap with at least the specified capacity, using\nhasher to hash the keys.

\n

The hash map will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash map will not allocate.

\n

Warning: hasher is normally randomly generated, and\nis designed to allow HashMaps to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

\n

The hasher passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

\n
§Examples
\n
use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut map = HashMap::with_capacity_and_hasher(10, s);\nmap.insert(1, 2);
\n
1.0.0 · source

pub fn capacity(&self) -> usize

Returns the number of elements the map can hold without reallocating.

\n

This number is a lower bound; the HashMap<K, V> might be able to hold\nmore, but is guaranteed to be able to hold at least this many.

\n
§Examples
\n
use std::collections::HashMap;\nlet map: HashMap<i32, i32> = HashMap::with_capacity(100);\nassert!(map.capacity() >= 100);
\n
1.0.0 · source

pub fn keys(&self) -> Keys<'_, K, V>

An iterator visiting all keys in arbitrary order.\nThe iterator element type is &'a K.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor key in map.keys() {\n    println!(\"{key}\");\n}
\n
§Performance
\n

In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.54.0 · source

pub fn into_keys(self) -> IntoKeys<K, V>

Creates a consuming iterator visiting all the keys in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<&str> = map.into_keys().collect();\n// The `IntoKeys` iterator produces keys in arbitrary order, so the\n// keys must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [\"a\", \"b\", \"c\"]);
\n
§Performance
\n

In the current implementation, iterating over keys takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn values(&self) -> Values<'_, K, V>

An iterator visiting all values in arbitrary order.\nThe iterator element type is &'a V.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
\n
§Performance
\n

In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.10.0 · source

pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

An iterator visiting all values mutably in arbitrary order.\nThe iterator element type is &'a mut V.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor val in map.values_mut() {\n    *val = *val + 10;\n}\n\nfor val in map.values() {\n    println!(\"{val}\");\n}
\n
§Performance
\n

In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.54.0 · source

pub fn into_values(self) -> IntoValues<K, V>

Creates a consuming iterator visiting all the values in arbitrary order.\nThe map cannot be used after calling this.\nThe iterator element type is V.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nlet mut vec: Vec<i32> = map.into_values().collect();\n// The `IntoValues` iterator produces values in arbitrary order, so\n// the values must be sorted to test them against a sorted array.\nvec.sort_unstable();\nassert_eq!(vec, [1, 2, 3]);
\n
§Performance
\n

In the current implementation, iterating over values takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn iter(&self) -> Iter<'_, K, V>

An iterator visiting all key-value pairs in arbitrary order.\nThe iterator element type is (&'a K, &'a V).

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\nfor (key, val) in map.iter() {\n    println!(\"key: {key} val: {val}\");\n}
\n
§Performance
\n

In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

An iterator visiting all key-value pairs in arbitrary order,\nwith mutable references to the values.\nThe iterator element type is (&'a K, &'a mut V).

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Update all values\nfor (_, val) in map.iter_mut() {\n    *val *= 2;\n}\n\nfor (key, val) in &map {\n    println!(\"key: {key} val: {val}\");\n}
\n
§Performance
\n

In the current implementation, iterating over map takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn len(&self) -> usize

Returns the number of elements in the map.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
\n
1.0.0 · source

pub fn is_empty(&self) -> bool

Returns true if the map contains no elements.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut a = HashMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
\n
1.6.0 · source

pub fn drain(&mut self) -> Drain<'_, K, V>

Clears the map, returning all key-value pairs as an iterator. Keeps the\nallocated memory for reuse.

\n

If the returned iterator is dropped before being fully consumed, it\ndrops the remaining key-value pairs. The returned iterator keeps a\nmutable borrow on the map to optimize its implementation.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\n\nfor (k, v) in a.drain().take(1) {\n    assert!(k == 1 || k == 2);\n    assert!(v == \"a\" || v == \"b\");\n}\n\nassert!(a.is_empty());
\n
source

pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F>
where\n F: FnMut(&K, &mut V) -> bool,

🔬This is a nightly-only experimental API. (hash_extract_if)

Creates an iterator which uses a closure to determine if an element should be removed.

\n

If the closure returns true, the element is removed from the map and yielded.\nIf the closure returns false, or panics, the element remains in the map and will not be\nyielded.

\n

Note that extract_if lets you mutate every value in the filter closure, regardless of\nwhether you choose to keep or remove it.

\n

If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

\n
§Examples
\n

Splitting a map into even and odd keys, reusing the original map:

\n\n
#![feature(hash_extract_if)]\nuse std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet extracted: HashMap<i32, i32> = map.extract_if(|k, _v| k % 2 == 0).collect();\n\nlet mut evens = extracted.keys().copied().collect::<Vec<_>>();\nlet mut odds = map.keys().copied().collect::<Vec<_>>();\nevens.sort();\nodds.sort();\n\nassert_eq!(evens, vec![0, 2, 4, 6]);\nassert_eq!(odds, vec![1, 3, 5, 7]);
\n
1.18.0 · source

pub fn retain<F>(&mut self, f: F)
where\n F: FnMut(&K, &mut V) -> bool,

Retains only the elements specified by the predicate.

\n

In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in unsorted (and unspecified) order.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\nmap.retain(|&k, _| k % 2 == 0);\nassert_eq!(map.len(), 4);
\n
§Performance
\n

In the current implementation, this operation takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

\n
1.0.0 · source

pub fn clear(&mut self)

Clears the map, removing all key-value pairs. Keeps the allocated memory\nfor reuse.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut a = HashMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
\n
1.9.0 · source

pub fn hasher(&self) -> &S

Returns a reference to the map’s BuildHasher.

\n
§Examples
\n
use std::collections::HashMap;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet map: HashMap<i32, i32> = HashMap::with_hasher(hasher);\nlet hasher: &RandomState = map.hasher();
\n
",0,"zinkc::InitStorage"],["
source§

impl<K, V, S> HashMap<K, V, S>
where\n K: Eq + Hash,\n S: BuildHasher,

1.0.0 · source

pub fn reserve(&mut self, additional: usize)

Reserves capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

\n
§Panics
\n

Panics if the new allocation size overflows usize.

\n
§Examples
\n
use std::collections::HashMap;\nlet mut map: HashMap<&str, i32> = HashMap::new();\nmap.reserve(10);
\n
1.57.0 · source

pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

Tries to reserve capacity for at least additional more elements to be inserted\nin the HashMap. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling try_reserve,\ncapacity will be greater than or equal to self.len() + additional if\nit returns Ok(()).\nDoes nothing if capacity is already sufficient.

\n
§Errors
\n

If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map: HashMap<&str, isize> = HashMap::new();\nmap.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");
\n
1.0.0 · source

pub fn shrink_to_fit(&mut self)

Shrinks the capacity of the map as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to_fit();\nassert!(map.capacity() >= 2);
\n
1.56.0 · source

pub fn shrink_to(&mut self, min_capacity: usize)

Shrinks the capacity of the map with a lower limit. It will drop\ndown no lower than the supplied limit while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

\n

If the current capacity is less than the lower limit, this is a no-op.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map: HashMap<i32, i32> = HashMap::with_capacity(100);\nmap.insert(1, 2);\nmap.insert(3, 4);\nassert!(map.capacity() >= 100);\nmap.shrink_to(10);\nassert!(map.capacity() >= 10);\nmap.shrink_to(0);\nassert!(map.capacity() >= 2);
\n
1.0.0 · source

pub fn entry(&mut self, key: K) -> Entry<'_, K, V>

Gets the given key’s corresponding entry in the map for in-place manipulation.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut letters = HashMap::new();\n\nfor ch in \"a short treatise on fungi\".chars() {\n    letters.entry(ch).and_modify(|counter| *counter += 1).or_insert(1);\n}\n\nassert_eq!(letters[&'s'], 2);\nassert_eq!(letters[&'t'], 3);\nassert_eq!(letters[&'u'], 1);\nassert_eq!(letters.get(&'y'), None);
\n
1.0.0 · source

pub fn get<Q>(&self, k: &Q) -> Option<&V>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Returns a reference to the value corresponding to the key.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
\n
1.40.0 · source

pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Returns the key-value pair corresponding to the supplied key.

\n

The supplied key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
\n
source

pub fn get_many_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N],\n) -> Option<[&mut V; N]>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

🔬This is a nightly-only experimental API. (map_many_mut)

Attempts to get mutable references to N values in the map at once.

\n

Returns an array of length N with the results of each query. For soundness, at most one\nmutable reference will be returned to any value. None will be returned if any of the\nkeys are duplicates or missing.

\n
§Examples
\n
#![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);\n\n// Duplicate keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Athenæum\",\n]);\nassert_eq!(got, None);
\n
source

pub unsafe fn get_many_unchecked_mut<Q, const N: usize>(\n &mut self,\n ks: [&Q; N],\n) -> Option<[&mut V; N]>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

🔬This is a nightly-only experimental API. (map_many_mut)

Attempts to get mutable references to N values in the map at once, without validating that\nthe values are unique.

\n

Returns an array of length N with the results of each query. None will be returned if\nany of the keys are missing.

\n

For a safe alternative see get_many_mut.

\n
§Safety
\n

Calling this method with overlapping keys is undefined behavior even if the resulting\nreferences are not used.

\n
§Examples
\n
#![feature(map_many_mut)]\nuse std::collections::HashMap;\n\nlet mut libraries = HashMap::new();\nlibraries.insert(\"Bodleian Library\".to_string(), 1602);\nlibraries.insert(\"Athenæum\".to_string(), 1807);\nlibraries.insert(\"Herzogin-Anna-Amalia-Bibliothek\".to_string(), 1691);\nlibraries.insert(\"Library of Congress\".to_string(), 1800);\n\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"Library of Congress\",\n]);\nassert_eq!(\n    got,\n    Some([\n        &mut 1807,\n        &mut 1800,\n    ]),\n);\n\n// Missing keys result in None\nlet got = libraries.get_many_mut([\n    \"Athenæum\",\n    \"New York Public Library\",\n]);\nassert_eq!(got, None);
\n
1.0.0 · source

pub fn contains_key<Q>(&self, k: &Q) -> bool
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Returns true if the map contains a value for the specified key.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
\n
1.0.0 · source

pub fn get_mut<Q>(&mut self, k: &Q) -> Option<&mut V>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Returns a mutable reference to the value corresponding to the key.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
\n
1.0.0 · source

pub fn insert(&mut self, k: K, v: V) -> Option<V>

Inserts a key-value pair into the map.

\n

If the map did not have this key present, None is returned.

\n

If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
\n
source

pub fn try_insert(\n &mut self,\n key: K,\n value: V,\n) -> Result<&mut V, OccupiedError<'_, K, V>>

🔬This is a nightly-only experimental API. (map_try_insert)

Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

\n

If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

\n
§Examples
\n

Basic usage:

\n\n
#![feature(map_try_insert)]\n\nuse std::collections::HashMap;\n\nlet mut map = HashMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
\n
1.0.0 · source

pub fn remove<Q>(&mut self, k: &Q) -> Option<V>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
\n
1.27.0 · source

pub fn remove_entry<Q>(&mut self, k: &Q) -> Option<(K, V)>
where\n K: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

Removes a key from the map, returning the stored key and value if the\nkey was previously in the map.

\n

The key may be any borrowed form of the map’s key type, but\nHash and Eq on the borrowed form must match those for\nthe key type.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet mut map = HashMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove(&1), None);
\n
",0,"zinkc::InitStorage"],["
1.0.0 · source§

impl<K, Q, V, S> Index<&Q> for HashMap<K, V, S>
where\n K: Eq + Hash + Borrow<Q>,\n Q: Eq + Hash + ?Sized,\n S: BuildHasher,

source§

fn index(&self, key: &Q) -> &V

Returns a reference to the value corresponding to the supplied key.

\n
§Panics
\n

Panics if the key is not present in the HashMap.

\n
source§

type Output = V

The returned type after indexing.
","Index<&Q>","zinkc::InitStorage"],["
source§

impl<'de, K, V, S, E> IntoDeserializer<'de, E> for HashMap<K, V, S>
where\n K: IntoDeserializer<'de, E> + Eq + Hash,\n V: IntoDeserializer<'de, E>,\n S: BuildHasher,\n E: Error,

source§

type Deserializer = MapDeserializer<'de, <HashMap<K, V, S> as IntoIterator>::IntoIter, E>

The type of the deserializer being converted into.
source§

fn into_deserializer(\n self,\n) -> <HashMap<K, V, S> as IntoDeserializer<'de, E>>::Deserializer

Convert this value into a deserializer.
","IntoDeserializer<'de, E>","zinkc::InitStorage"],["
1.0.0 · source§

impl<K, V, S> IntoIterator for HashMap<K, V, S>

source§

fn into_iter(self) -> IntoIter<K, V>

Creates a consuming iterator, that is, one that moves each key-value\npair out of the map in arbitrary order. The map cannot be used after\ncalling this.

\n
§Examples
\n
use std::collections::HashMap;\n\nlet map = HashMap::from([\n    (\"a\", 1),\n    (\"b\", 2),\n    (\"c\", 3),\n]);\n\n// Not possible with .iter()\nlet vec: Vec<(&str, i32)> = map.into_iter().collect();
\n
source§

type Item = (K, V)

The type of the elements being iterated over.
source§

type IntoIter = IntoIter<K, V>

Which kind of iterator are we turning this into?
","IntoIterator","zinkc::InitStorage"],["
1.0.0 · source§

impl<K, V, S> PartialEq for HashMap<K, V, S>
where\n K: Eq + Hash,\n V: PartialEq,\n S: BuildHasher,

source§

fn eq(&self, other: &HashMap<K, V, S>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
","PartialEq","zinkc::InitStorage"],["
source§

impl<K, V, H> Serialize for HashMap<K, V, H>
where\n K: Serialize,\n V: Serialize,

source§

fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","zinkc::InitStorage"],["
1.0.0 · source§

impl<K, V, S> Eq for HashMap<K, V, S>
where\n K: Eq + Hash,\n V: Eq,\n S: BuildHasher,

","Eq","zinkc::InitStorage"],["
1.36.0 · source§

impl<K, V, S> UnwindSafe for HashMap<K, V, S>
where\n K: UnwindSafe,\n V: UnwindSafe,\n S: UnwindSafe,

","UnwindSafe","zinkc::InitStorage"]]]]); + if (window.register_type_impls) { + window.register_type_impls(type_impls); + } else { + window.pending_type_impls = type_impls; + } +})() +//{"start":55,"fragment_lengths":[131871,133270]} \ No newline at end of file diff --git a/rustdocs/zabi/all.html b/rustdocs/zabi/all.html index ed14384b1..bc6755033 100644 --- a/rustdocs/zabi/all.html +++ b/rustdocs/zabi/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Structs

Enums

Functions

Type Aliases

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

Functions

Type Aliases

\ No newline at end of file diff --git a/rustdocs/zabi/hex_impl/index.html b/rustdocs/zabi/hex_impl/index.html index 2bfc9136b..a96b5ce07 100644 --- a/rustdocs/zabi/hex_impl/index.html +++ b/rustdocs/zabi/hex_impl/index.html @@ -1 +1 @@ -zabi::hex_impl - Rust

Module zabi::hex_impl

source ·
\ No newline at end of file +zabi::hex_impl - Rust

Module zabi::hex_impl

source ·
\ No newline at end of file diff --git a/rustdocs/zabi/index.html b/rustdocs/zabi/index.html index d777ba528..61fab1237 100644 --- a/rustdocs/zabi/index.html +++ b/rustdocs/zabi/index.html @@ -1,3 +1,3 @@ -zabi - Rust

Crate zabi

source ·
Expand description

Zink ABI implementation

+zabi - Rust

Crate zabi

source ·
Expand description

Zink ABI implementation

Currently just a wrapper of solidity ABI.

Modules§

Structs§

  • Function ABI.
\ No newline at end of file diff --git a/rustdocs/zabi/result/enum.Error.html b/rustdocs/zabi/result/enum.Error.html index 28e6220a2..f43974a8e 100644 --- a/rustdocs/zabi/result/enum.Error.html +++ b/rustdocs/zabi/result/enum.Error.html @@ -1,4 +1,4 @@ -Error in zabi::result - Rust

Enum zabi::result::Error

source ·
pub enum Error {
+Error in zabi::result - Rust

Enum zabi::result::Error

source ·
pub enum Error {
     Postcard(Error),
     Hex(FromHexError),
 }
Expand description

ABI error

diff --git a/rustdocs/zabi/result/index.html b/rustdocs/zabi/result/index.html index d8c379069..dc395bcc3 100644 --- a/rustdocs/zabi/result/index.html +++ b/rustdocs/zabi/result/index.html @@ -1,2 +1,2 @@ -zabi::result - Rust

Module zabi::result

source ·
Expand description

Abi results

+zabi::result - Rust

Module zabi::result

source ·
Expand description

Abi results

Enums§

Type Aliases§

\ No newline at end of file diff --git a/rustdocs/zabi/result/type.Result.html b/rustdocs/zabi/result/type.Result.html index fc77534d0..67b4eece4 100644 --- a/rustdocs/zabi/result/type.Result.html +++ b/rustdocs/zabi/result/type.Result.html @@ -1,4 +1,4 @@ -Result in zabi::result - Rust

Type Alias zabi::result::Result

source ·
pub type Result<T> = Result<T, Error>;
Expand description

ABI result

+Result in zabi::result - Rust

Type Alias zabi::result::Result

source ·
pub type Result<T> = Result<T, Error>;
Expand description

ABI result

Aliased Type§

enum Result<T> {
     Ok(T),
     Err(Error),
diff --git a/rustdocs/zabi/selector/fn.keccak256.html b/rustdocs/zabi/selector/fn.keccak256.html
index 6067ca26a..d0293582e 100644
--- a/rustdocs/zabi/selector/fn.keccak256.html
+++ b/rustdocs/zabi/selector/fn.keccak256.html
@@ -1,2 +1,2 @@
-keccak256 in zabi::selector - Rust

Function zabi::selector::keccak256

source ·
pub fn keccak256(input: &[u8]) -> [u8; 32]
Expand description

Generate a keccak hash of the input (sha3)

+keccak256 in zabi::selector - Rust

Function zabi::selector::keccak256

source ·
pub fn keccak256(input: &[u8]) -> [u8; 32]
Expand description

Generate a keccak hash of the input (sha3)

\ No newline at end of file diff --git a/rustdocs/zabi/selector/fn.parse.html b/rustdocs/zabi/selector/fn.parse.html index 42f552d0d..2d1cc50e1 100644 --- a/rustdocs/zabi/selector/fn.parse.html +++ b/rustdocs/zabi/selector/fn.parse.html @@ -1,2 +1,2 @@ -parse in zabi::selector - Rust

Function zabi::selector::parse

source ·
pub fn parse(bytes: &[u8]) -> [u8; 4]
Expand description

Parse selector from bytes.

+parse in zabi::selector - Rust

Function zabi::selector::parse

source ·
pub fn parse(bytes: &[u8]) -> [u8; 4]
Expand description

Parse selector from bytes.

\ No newline at end of file diff --git a/rustdocs/zabi/selector/index.html b/rustdocs/zabi/selector/index.html index c3cee0f24..d1016c89d 100644 --- a/rustdocs/zabi/selector/index.html +++ b/rustdocs/zabi/selector/index.html @@ -1,2 +1,2 @@ -zabi::selector - Rust

Module zabi::selector

source ·
Expand description

Zink ABI utils

+zabi::selector - Rust

Module zabi::selector

source ·
Expand description

Zink ABI utils

Functions§

  • Generate a keccak hash of the input (sha3)
  • Parse selector from bytes.
\ No newline at end of file diff --git a/rustdocs/zabi/struct.Abi.html b/rustdocs/zabi/struct.Abi.html index 354869563..e3bccb667 100644 --- a/rustdocs/zabi/struct.Abi.html +++ b/rustdocs/zabi/struct.Abi.html @@ -1,4 +1,4 @@ -Abi in zabi - Rust

Struct zabi::Abi

source ·
pub struct Abi(pub(crate) Abi);
Expand description

Function ABI.

+Abi in zabi - Rust

Struct zabi::Abi

source ·
pub struct Abi(pub(crate) Abi);
Expand description

Function ABI.

Tuple Fields§

§0: Abi

Implementations§

source§

impl Abi

source

pub fn signature(&self) -> String

Get function signature.

source

pub fn selector(&self) -> [u8; 4]

Get function selector.

source§

impl Abi

source

pub fn to_hex(&self) -> Result<String>

Convert Abi to hex string.

diff --git a/rustdocs/zingen/all.html b/rustdocs/zingen/all.html index 22a738494..7f20908b7 100644 --- a/rustdocs/zingen/all.html +++ b/rustdocs/zingen/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/rustdocs/zingen/asm/index.html b/rustdocs/zingen/asm/index.html index bd8aa9543..d7bb14a80 100644 --- a/rustdocs/zingen/asm/index.html +++ b/rustdocs/zingen/asm/index.html @@ -1,3 +1,3 @@ -zingen::asm - Rust

Module zingen::asm

source ·
Expand description

Low level assembler implementation for EVM.

+zingen::asm - Rust

Module zingen::asm

source ·
Expand description

Low level assembler implementation for EVM.

TODO: refactor this module with Result as outputs. (issue-21)

Macros§

Structs§

  • Low level assembler implementation for EVM.
\ No newline at end of file diff --git a/rustdocs/zingen/asm/macro.impl_opcodes.html b/rustdocs/zingen/asm/macro.impl_opcodes.html index 951cec891..cc19abc2c 100644 --- a/rustdocs/zingen/asm/macro.impl_opcodes.html +++ b/rustdocs/zingen/asm/macro.impl_opcodes.html @@ -1,3 +1,3 @@ -impl_opcodes in zingen::asm - Rust

Macro zingen::asm::impl_opcodes

source ·
macro_rules! impl_opcodes {
+impl_opcodes in zingen::asm - Rust

Macro zingen::asm::impl_opcodes

source ·
macro_rules! impl_opcodes {
     ($($name:ident => $opcode:ident),+) => { ... };
 }
\ No newline at end of file diff --git a/rustdocs/zingen/asm/struct.Assembler.html b/rustdocs/zingen/asm/struct.Assembler.html index f4b3f917d..db5a364a7 100644 --- a/rustdocs/zingen/asm/struct.Assembler.html +++ b/rustdocs/zingen/asm/struct.Assembler.html @@ -1,4 +1,4 @@ -Assembler in zingen::asm - Rust

Struct zingen::asm::Assembler

source ·
pub struct Assembler {
+Assembler in zingen::asm - Rust

Struct zingen::asm::Assembler

source ·
pub struct Assembler {
     buffer: Buffer,
     gas: u128,
     pub mp: usize,
@@ -164,7 +164,7 @@
 
source

pub fn _revert(&mut self) -> Result<()>

Emit REVERT

source

pub fn _invalid(&mut self) -> Result<()>

Emit INVALID

source

pub fn _selfdestruct(&mut self) -> Result<()>

Emit SELFDESTRUCT

-

Trait Implementations§

source§

impl Clone for Assembler

source§

fn clone(&self) -> Assembler

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Default for Assembler

source§

fn default() -> Assembler

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for Assembler

source§

fn clone(&self) -> Assembler

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Assembler

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Assembler

source§

fn default() -> Assembler

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where diff --git a/rustdocs/zingen/backtrace/index.html b/rustdocs/zingen/backtrace/index.html index 35bd3964d..5e122918f 100644 --- a/rustdocs/zingen/backtrace/index.html +++ b/rustdocs/zingen/backtrace/index.html @@ -1,2 +1,2 @@ -zingen::backtrace - Rust

Module zingen::backtrace

source ·
Expand description

Backtrace support for the code generation.

+zingen::backtrace - Rust

Module zingen::backtrace

source ·
Expand description

Backtrace support for the code generation.

Structs§

  • Backtrace implementation for the code generation.
\ No newline at end of file diff --git a/rustdocs/zingen/backtrace/struct.Backtrace.html b/rustdocs/zingen/backtrace/struct.Backtrace.html index e0222bfbc..67ef54331 100644 --- a/rustdocs/zingen/backtrace/struct.Backtrace.html +++ b/rustdocs/zingen/backtrace/struct.Backtrace.html @@ -1,4 +1,4 @@ -Backtrace in zingen::backtrace - Rust

Struct zingen::backtrace::Backtrace

source ·
pub struct Backtrace {
+Backtrace in zingen::backtrace - Rust

Struct zingen::backtrace::Backtrace

source ·
pub struct Backtrace {
     instrs: BTreeMap<usize, Vec<u8>>,
 }
Expand description

Backtrace implementation for the code generation.

TODO: full implementation (#21)

diff --git a/rustdocs/zingen/codegen/code/index.html b/rustdocs/zingen/codegen/code/index.html index 28cb9785c..26d4f15e8 100644 --- a/rustdocs/zingen/codegen/code/index.html +++ b/rustdocs/zingen/codegen/code/index.html @@ -1,2 +1,2 @@ -zingen::codegen::code - Rust

Module zingen::codegen::code

source ·
Expand description

Table for the code section.

+zingen::codegen::code - Rust

Module zingen::codegen::code

source ·
Expand description

Table for the code section.

Structs§

  • Code section for EVM.
  • External function in code section.
\ No newline at end of file diff --git a/rustdocs/zingen/codegen/code/struct.Code.html b/rustdocs/zingen/codegen/code/struct.Code.html index 5a9e308af..5810cc7f9 100644 --- a/rustdocs/zingen/codegen/code/struct.Code.html +++ b/rustdocs/zingen/codegen/code/struct.Code.html @@ -1,4 +1,4 @@ -Code in zingen::codegen::code - Rust

Struct zingen::codegen::code::Code

source ·
pub struct Code {
+Code in zingen::codegen::code - Rust

Struct zingen::codegen::code::Code

source ·
pub struct Code {
     offset: usize,
     funcs: IndexMap<ExtFunc, usize>,
 }
Expand description

Code section for EVM.

diff --git a/rustdocs/zingen/codegen/code/struct.ExtFunc.html b/rustdocs/zingen/codegen/code/struct.ExtFunc.html index 762aafcd7..bcbaf8dba 100644 --- a/rustdocs/zingen/codegen/code/struct.ExtFunc.html +++ b/rustdocs/zingen/codegen/code/struct.ExtFunc.html @@ -1,4 +1,4 @@ -ExtFunc in zingen::codegen::code - Rust

Struct zingen::codegen::code::ExtFunc

source ·
pub struct ExtFunc {
+ExtFunc in zingen::codegen::code - Rust

Struct zingen::codegen::code::ExtFunc

source ·
pub struct ExtFunc {
     pub stack_out: u8,
     pub stack_in: u8,
     pub bytecode: Vec<u8>,
diff --git a/rustdocs/zingen/codegen/constructor/index.html b/rustdocs/zingen/codegen/constructor/index.html
index bebbc9236..16a780b7f 100644
--- a/rustdocs/zingen/codegen/constructor/index.html
+++ b/rustdocs/zingen/codegen/constructor/index.html
@@ -1,2 +1,2 @@
-zingen::codegen::constructor - Rust

Module zingen::codegen::constructor

source ·
Expand description

Contract constructor.

-

Structs§

\ No newline at end of file +zingen::codegen::constructor - Rust

Module zingen::codegen::constructor

source ·
Expand description

Contract constructor.

+

Structs§

Type Aliases§

\ No newline at end of file diff --git a/rustdocs/zingen/codegen/constructor/sidebar-items.js b/rustdocs/zingen/codegen/constructor/sidebar-items.js index 46ebbcfe3..2f98a90de 100644 --- a/rustdocs/zingen/codegen/constructor/sidebar-items.js +++ b/rustdocs/zingen/codegen/constructor/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"struct":["Constructor"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"struct":["Constructor"],"type":["InitStorage"]}; \ No newline at end of file diff --git a/rustdocs/zingen/codegen/constructor/struct.Constructor.html b/rustdocs/zingen/codegen/constructor/struct.Constructor.html index 013f261a7..1443c05ed 100644 --- a/rustdocs/zingen/codegen/constructor/struct.Constructor.html +++ b/rustdocs/zingen/codegen/constructor/struct.Constructor.html @@ -1,45 +1,34 @@ -Constructor in zingen::codegen::constructor - Rust

Struct zingen::codegen::constructor::Constructor

source ·
pub struct Constructor {
-    pub masm: MacroAssembler,
-    pub init_code: Buffer,
-    pub runtime_bytecode: Buffer,
+Constructor in zingen::codegen::constructor - Rust

Struct zingen::codegen::constructor::Constructor

source ·
pub struct Constructor {
+    masm: MacroAssembler,
 }
Expand description

Contract constructor.

-

§Bytecode

-
    -
  • CREATE instruction
  • -
  • INIT_CODE -
      -
    • INIT_LOGIC
    • -
    • RETURN RUNTIME_BYTECODE
    • -
    -
  • -
  • RUNTIME_BYTECODE
  • -
-

TODO: introduce ABI for constructor

Fields§

§masm: MacroAssembler

Code generator.

-
§init_code: Buffer

Code buffer.

-
§runtime_bytecode: Buffer

Runtime bytecode.

-

Implementations§

source§

impl Constructor

source

pub fn new( - constructor: Option<FuncType>, - runtime_bytecode: Buffer, -) -> Result<Self>

Create a new constructor.

-
source

pub fn finish(&mut self) -> Result<Buffer>

Concat the constructor code.

+

Implementations§

source§

impl Constructor

source

pub fn storage(&mut self, mapping: InitStorage) -> Result<()>

preset storage for the contract

+
source

pub fn finish(&self, runtime_bytecode: Buffer) -> Result<Buffer>

Concat the constructor code.

Here we override the memory totally with the runtime bytecode.

-
source

fn return_instr_length( - init_code_length: usize, - runtime_bytecode_length: usize, -) -> usize

Returns the length of instructions.

-

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

source

fn runtime_bytcode_offset( + init_code_len: usize, + runtime_bytecode_size_len: usize, +) -> usize

Returns the offset of runtime bytecode.

+

[ +init_code, +pushn, runtime_bytecode_size, pushn + , push0, code_copy +pushn, runtime_bytecode_size, push0, return, + +]

+

Trait Implementations§

source§

impl Clone for Constructor

source§

fn clone(&self) -> Constructor

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Constructor

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Constructor

source§

fn default() -> Constructor

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where + T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

-
source§

impl<T, U> TryFrom<U> for T
where +

source§

impl<T> ToOwned for T
where + T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a diff --git a/rustdocs/zingen/codegen/constructor/type.InitStorage.html b/rustdocs/zingen/codegen/constructor/type.InitStorage.html new file mode 100644 index 000000000..dcb858e17 --- /dev/null +++ b/rustdocs/zingen/codegen/constructor/type.InitStorage.html @@ -0,0 +1,2 @@ +InitStorage in zingen::codegen::constructor - Rust

Type Alias zingen::codegen::constructor::InitStorage

source ·
pub type InitStorage = HashMap<SmallVec<[u8; 32]>, SmallVec<[u8; 32]>>;
Expand description

Initial storage of contracts

+

Aliased Type§

struct InitStorage { /* private fields */ }
\ No newline at end of file diff --git a/rustdocs/zingen/codegen/dispatcher/index.html b/rustdocs/zingen/codegen/dispatcher/index.html index 4b42e63e2..c9997c311 100644 --- a/rustdocs/zingen/codegen/dispatcher/index.html +++ b/rustdocs/zingen/codegen/dispatcher/index.html @@ -1,2 +1,2 @@ -zingen::codegen::dispatcher - Rust

Module zingen::codegen::dispatcher

source ·
Expand description

Code generator for EVM dispatcher.

+zingen::codegen::dispatcher - Rust

Module zingen::codegen::dispatcher

source ·
Expand description

Code generator for EVM dispatcher.

Structs§

\ No newline at end of file diff --git a/rustdocs/zingen/codegen/dispatcher/struct.Dispatcher.html b/rustdocs/zingen/codegen/dispatcher/struct.Dispatcher.html index c1dffd5b0..53eb95b1b 100644 --- a/rustdocs/zingen/codegen/dispatcher/struct.Dispatcher.html +++ b/rustdocs/zingen/codegen/dispatcher/struct.Dispatcher.html @@ -1,4 +1,4 @@ -Dispatcher in zingen::codegen::dispatcher - Rust

Struct zingen::codegen::dispatcher::Dispatcher

source ·
pub struct Dispatcher {
+Dispatcher in zingen::codegen::dispatcher - Rust

Struct zingen::codegen::dispatcher::Dispatcher

source ·
pub struct Dispatcher {
     pub abi: Vec<Abi>,
     pub asm: MacroAssembler,
     pub env: Env,
diff --git a/rustdocs/zingen/codegen/function/index.html b/rustdocs/zingen/codegen/function/index.html
index 89efed08d..f2995f5ff 100644
--- a/rustdocs/zingen/codegen/function/index.html
+++ b/rustdocs/zingen/codegen/function/index.html
@@ -1,2 +1,2 @@
-zingen::codegen::function - Rust

Module zingen::codegen::function

source ·
Expand description

Code generation implementation.

+zingen::codegen::function - Rust

Module zingen::codegen::function

source ·
Expand description

Code generation implementation.

Structs§

  • The code generation abstraction.
\ No newline at end of file diff --git a/rustdocs/zingen/codegen/function/struct.Function.html b/rustdocs/zingen/codegen/function/struct.Function.html index 818bd3d3d..32db2d30d 100644 --- a/rustdocs/zingen/codegen/function/struct.Function.html +++ b/rustdocs/zingen/codegen/function/struct.Function.html @@ -1,4 +1,4 @@ -Function in zingen::codegen::function - Rust

Struct zingen::codegen::function::Function

source ·
pub struct Function {
+Function in zingen::codegen::function - Rust

Struct zingen::codegen::function::Function

source ·
pub struct Function {
     pub backtrace: Backtrace,
     pub control: ControlStack,
     pub env: Env,
diff --git a/rustdocs/zingen/codegen/index.html b/rustdocs/zingen/codegen/index.html
index 6ea991325..34b051731 100644
--- a/rustdocs/zingen/codegen/index.html
+++ b/rustdocs/zingen/codegen/index.html
@@ -1,8 +1,8 @@
-zingen::codegen - Rust

Module zingen::codegen

source ·
Expand description

Code generators

+zingen::codegen - Rust

Module zingen::codegen

source ·
Expand description

Code generators

  • CONSTRUCTOR
  • DISPATCHER
  • FUNCTION
  • CODE
-

Re-exports§

Modules§

  • code 🔒
    Table for the code section.
  • Contract constructor.
  • dispatcher 🔒
    Code generator for EVM dispatcher.
  • function 🔒
    Code generation implementation.
\ No newline at end of file +

Re-exports§

Modules§

  • code 🔒
    Table for the code section.
  • Contract constructor.
  • dispatcher 🔒
    Code generator for EVM dispatcher.
  • function 🔒
    Code generation implementation.
\ No newline at end of file diff --git a/rustdocs/zingen/constant.BUFFER_LIMIT.html b/rustdocs/zingen/constant.BUFFER_LIMIT.html index 2ecba55d8..be724c264 100644 --- a/rustdocs/zingen/constant.BUFFER_LIMIT.html +++ b/rustdocs/zingen/constant.BUFFER_LIMIT.html @@ -1,2 +1,2 @@ -BUFFER_LIMIT in zingen - Rust

Constant zingen::BUFFER_LIMIT

source ·
pub const BUFFER_LIMIT: usize = 0x6000;
Expand description

Maximum size of a evm bytecode in bytes.

+BUFFER_LIMIT in zingen - Rust

Constant zingen::BUFFER_LIMIT

source ·
pub const BUFFER_LIMIT: usize = 0x6000;
Expand description

Maximum size of a evm bytecode in bytes.

\ No newline at end of file diff --git a/rustdocs/zingen/control/enum.ControlStackFrameType.html b/rustdocs/zingen/control/enum.ControlStackFrameType.html index c843a3abd..be82e9e93 100644 --- a/rustdocs/zingen/control/enum.ControlStackFrameType.html +++ b/rustdocs/zingen/control/enum.ControlStackFrameType.html @@ -1,4 +1,4 @@ -ControlStackFrameType in zingen::control - Rust

Enum zingen::control::ControlStackFrameType

source ·
#[repr(u8)]
pub enum ControlStackFrameType { +ControlStackFrameType in zingen::control - Rust

Enum zingen::control::ControlStackFrameType

source ·
#[repr(u8)]
pub enum ControlStackFrameType { If(bool), Else, Loop, diff --git a/rustdocs/zingen/control/index.html b/rustdocs/zingen/control/index.html index 25a44bbc2..6f9ab9596 100644 --- a/rustdocs/zingen/control/index.html +++ b/rustdocs/zingen/control/index.html @@ -1,3 +1,3 @@ -zingen::control - Rust

Module zingen::control

source ·
Expand description

Data structures for control flow emission.

+zingen::control - Rust

Module zingen::control

source ·
Expand description

Data structures for control flow emission.

Structs§

Enums§

\ No newline at end of file diff --git a/rustdocs/zingen/control/struct.ControlStack.html b/rustdocs/zingen/control/struct.ControlStack.html index b51777e58..2ecd80fac 100644 --- a/rustdocs/zingen/control/struct.ControlStack.html +++ b/rustdocs/zingen/control/struct.ControlStack.html @@ -1,4 +1,4 @@ -ControlStack in zingen::control - Rust

Struct zingen::control::ControlStack

source ·
pub struct ControlStack {
+ControlStack in zingen::control - Rust

Struct zingen::control::ControlStack

source ·
pub struct ControlStack {
     stack: SmallVec<[ControlStackFrame; 32]>,
 }
Expand description

The control stack.

Fields§

§stack: SmallVec<[ControlStackFrame; 32]>

Stack frames for control flow.

diff --git a/rustdocs/zingen/control/struct.ControlStackFrame.html b/rustdocs/zingen/control/struct.ControlStackFrame.html index f2bfd6f75..31e5f12fd 100644 --- a/rustdocs/zingen/control/struct.ControlStackFrame.html +++ b/rustdocs/zingen/control/struct.ControlStackFrame.html @@ -1,4 +1,4 @@ -ControlStackFrame in zingen::control - Rust

Struct zingen::control::ControlStackFrame

source ·
pub struct ControlStackFrame {
+ControlStackFrame in zingen::control - Rust

Struct zingen::control::ControlStackFrame

source ·
pub struct ControlStackFrame {
     pub ty: ControlStackFrameType,
     pub original_pc_offset: u16,
     result: BlockType,
diff --git a/rustdocs/zingen/enum.ControlStackFrameType.html b/rustdocs/zingen/enum.ControlStackFrameType.html
index efb410426..10dc8e345 100644
--- a/rustdocs/zingen/enum.ControlStackFrameType.html
+++ b/rustdocs/zingen/enum.ControlStackFrameType.html
@@ -1,4 +1,4 @@
-ControlStackFrameType in zingen - Rust

Enum zingen::ControlStackFrameType

source ·
#[repr(u8)]
pub enum ControlStackFrameType { +ControlStackFrameType in zingen - Rust

Enum zingen::ControlStackFrameType

source ·
#[repr(u8)]
pub enum ControlStackFrameType { If(bool), Else, Loop, diff --git a/rustdocs/zingen/enum.Error.html b/rustdocs/zingen/enum.Error.html index c54bfe23c..6901af090 100644 --- a/rustdocs/zingen/enum.Error.html +++ b/rustdocs/zingen/enum.Error.html @@ -1,4 +1,4 @@ -Error in zingen - Rust

Enum zingen::Error

source ·
pub enum Error {
+Error in zingen - Rust

Enum zingen::Error

source ·
pub enum Error {
 
Show 31 variants Abi(Error), BinaryReader(BinaryReaderError), BufferOverflow(usize), diff --git a/rustdocs/zingen/index.html b/rustdocs/zingen/index.html index 08e6a64f9..25920b654 100644 --- a/rustdocs/zingen/index.html +++ b/rustdocs/zingen/index.html @@ -1,4 +1,4 @@ -zingen - Rust

Crate zingen

source ·
Expand description

Code generation library for zink.

+zingen - Rust

Crate zingen

source ·
Expand description

Code generation library for zink.

Modules§

  • asm 🔒
    Low level assembler implementation for EVM.
  • backtrace 🔒
    Backtrace support for the code generation.
  • codegen 🔒
    Code generators
  • control 🔒
    Data structures for control flow emission.
  • jump 🔒
    Jump table implementation.
  • local 🔒
    WASM local slot.
  • masm 🔒
    MacroAssembler used by the code generation.
  • result 🔒
    Codegen results
  • validator 🔒
    Pre-visitor for parsing WASM.
  • visitor 🔒
    This module is the central place for machine code emission.
  • WASM related primitives.

Structs§

Enums§

Constants§

Type Aliases§

\ No newline at end of file +ref: https://docs.soliditylang.org/en/v0.8.20/internals/optimizer.html#stackcompressor
  • EVM MacroAssembler.
  • Enums§

    Constants§

    Type Aliases§

    \ No newline at end of file diff --git a/rustdocs/zingen/jump/enum.Jump.html b/rustdocs/zingen/jump/enum.Jump.html index 27e3164d3..2ba8b0a1e 100644 --- a/rustdocs/zingen/jump/enum.Jump.html +++ b/rustdocs/zingen/jump/enum.Jump.html @@ -1,4 +1,4 @@ -Jump in zingen::jump - Rust

    Enum zingen::jump::Jump

    source ·
    pub enum Jump {
    +Jump in zingen::jump - Rust

    Enum zingen::jump::Jump

    source ·
    pub enum Jump {
         Offset(u16),
         Label(u16),
         Func(u32),
    diff --git a/rustdocs/zingen/jump/index.html b/rustdocs/zingen/jump/index.html
    index 7815d68cf..fac907910 100644
    --- a/rustdocs/zingen/jump/index.html
    +++ b/rustdocs/zingen/jump/index.html
    @@ -1,2 +1,2 @@
    -zingen::jump - Rust

    Module zingen::jump

    source ·
    Expand description

    Jump table implementation.

    +zingen::jump - Rust

    Module zingen::jump

    source ·
    Expand description

    Jump table implementation.

    Re-exports§

    Modules§

    • pc 🔒
      Program counter handlers.
    • relocate 🔒
      Program Relocations
    • table 🔒
      Jump Table

    Enums§

    \ No newline at end of file diff --git a/rustdocs/zingen/jump/pc/index.html b/rustdocs/zingen/jump/pc/index.html index 27ff4403f..00b627368 100644 --- a/rustdocs/zingen/jump/pc/index.html +++ b/rustdocs/zingen/jump/pc/index.html @@ -1,2 +1,2 @@ -zingen::jump::pc - Rust

    Module zingen::jump::pc

    source ·
    Expand description

    Program counter handlers.

    +zingen::jump::pc - Rust

    Module zingen::jump::pc

    source ·
    Expand description

    Program counter handlers.

    \ No newline at end of file diff --git a/rustdocs/zingen/jump/relocate/fn.offset.html b/rustdocs/zingen/jump/relocate/fn.offset.html index 64d9548ba..17d6a5485 100644 --- a/rustdocs/zingen/jump/relocate/fn.offset.html +++ b/rustdocs/zingen/jump/relocate/fn.offset.html @@ -1,2 +1,2 @@ -offset in zingen::jump::relocate - Rust

    Function zingen::jump::relocate::offset

    source ·
    pub fn offset(original_pc: u16) -> Result<u16>
    Expand description

    Get the offset of the program counter for relocation.

    +offset in zingen::jump::relocate - Rust

    Function zingen::jump::relocate::offset

    source ·
    pub fn offset(original_pc: u16) -> Result<u16>
    Expand description

    Get the offset of the program counter for relocation.

    \ No newline at end of file diff --git a/rustdocs/zingen/jump/relocate/fn.pc.html b/rustdocs/zingen/jump/relocate/fn.pc.html index ec256b6ad..913429058 100644 --- a/rustdocs/zingen/jump/relocate/fn.pc.html +++ b/rustdocs/zingen/jump/relocate/fn.pc.html @@ -1,4 +1,4 @@ -pc in zingen::jump::relocate - Rust

    Function zingen::jump::relocate::pc

    source ·
    fn pc(
    +pc in zingen::jump::relocate - Rust

    Function zingen::jump::relocate::pc

    source ·
    fn pc(
         buffer: &mut Buffer,
         original_pc: u16,
         target_pc: u16,
    diff --git a/rustdocs/zingen/jump/relocate/index.html b/rustdocs/zingen/jump/relocate/index.html
    index 643e87c3c..8a007af38 100644
    --- a/rustdocs/zingen/jump/relocate/index.html
    +++ b/rustdocs/zingen/jump/relocate/index.html
    @@ -1,2 +1,2 @@
    -zingen::jump::relocate - Rust

    Module zingen::jump::relocate

    source ·
    Expand description

    Program Relocations

    +zingen::jump::relocate - Rust

    Module zingen::jump::relocate

    source ·
    Expand description

    Program Relocations

    Functions§

    • Get the offset of the program counter for relocation.
    • pc 🔒
      Relocate program counter to buffer.
    \ No newline at end of file diff --git a/rustdocs/zingen/jump/table/index.html b/rustdocs/zingen/jump/table/index.html index c72d88c31..a08c26087 100644 --- a/rustdocs/zingen/jump/table/index.html +++ b/rustdocs/zingen/jump/table/index.html @@ -1,2 +1,2 @@ -zingen::jump::table - Rust

    Module zingen::jump::table

    source ·
    Expand description

    Jump Table

    +zingen::jump::table - Rust

    Module zingen::jump::table

    source ·
    Expand description

    Jump Table

    Structs§

    \ No newline at end of file diff --git a/rustdocs/zingen/jump/table/struct.JumpTable.html b/rustdocs/zingen/jump/table/struct.JumpTable.html index 1a568fced..ce373344e 100644 --- a/rustdocs/zingen/jump/table/struct.JumpTable.html +++ b/rustdocs/zingen/jump/table/struct.JumpTable.html @@ -1,4 +1,4 @@ -JumpTable in zingen::jump::table - Rust

    Struct zingen::jump::table::JumpTable

    source ·
    pub struct JumpTable {
    +JumpTable in zingen::jump::table - Rust

    Struct zingen::jump::table::JumpTable

    source ·
    pub struct JumpTable {
         pub(crate) jump: BTreeMap<u16, Jump>,
         pub(crate) func: BTreeMap<u32, u16>,
         pub(crate) code: Code,
    diff --git a/rustdocs/zingen/local/enum.LocalSlotType.html b/rustdocs/zingen/local/enum.LocalSlotType.html
    index be6516e60..041ed9e31 100644
    --- a/rustdocs/zingen/local/enum.LocalSlotType.html
    +++ b/rustdocs/zingen/local/enum.LocalSlotType.html
    @@ -1,4 +1,4 @@
    -LocalSlotType in zingen::local - Rust

    Enum zingen::local::LocalSlotType

    source ·
    pub enum LocalSlotType {
    +LocalSlotType in zingen::local - Rust

    Enum zingen::local::LocalSlotType

    source ·
    pub enum LocalSlotType {
         Parameter,
         Variable,
     }
    Expand description

    The type of a local slot.

    diff --git a/rustdocs/zingen/local/index.html b/rustdocs/zingen/local/index.html index 3e73eb39e..ddbde9732 100644 --- a/rustdocs/zingen/local/index.html +++ b/rustdocs/zingen/local/index.html @@ -1,3 +1,3 @@ -zingen::local - Rust

    Module zingen::local

    source ·
    Expand description

    WASM local slot.

    +zingen::local - Rust

    Module zingen::local

    source ·
    Expand description

    WASM local slot.

    Structs§

    Enums§

    \ No newline at end of file diff --git a/rustdocs/zingen/local/struct.LocalSlot.html b/rustdocs/zingen/local/struct.LocalSlot.html index 561430eb5..865139679 100644 --- a/rustdocs/zingen/local/struct.LocalSlot.html +++ b/rustdocs/zingen/local/struct.LocalSlot.html @@ -1,4 +1,4 @@ -LocalSlot in zingen::local - Rust

    Struct zingen::local::LocalSlot

    source ·
    pub struct LocalSlot {
    +LocalSlot in zingen::local - Rust

    Struct zingen::local::LocalSlot

    source ·
    pub struct LocalSlot {
         inner: ValType,
         ty: LocalSlotType,
         pub sp: usize,
    diff --git a/rustdocs/zingen/local/struct.Locals.html b/rustdocs/zingen/local/struct.Locals.html
    index ac48632a2..b39d6457c 100644
    --- a/rustdocs/zingen/local/struct.Locals.html
    +++ b/rustdocs/zingen/local/struct.Locals.html
    @@ -1,4 +1,4 @@
    -Locals in zingen::local - Rust

    Struct zingen::local::Locals

    source ·
    pub struct Locals {
    +Locals in zingen::local - Rust

    Struct zingen::local::Locals

    source ·
    pub struct Locals {
         inner: SmallVec<[LocalSlot; 16]>,
     }
    Expand description

    Solidity’s implementation uses 16 slots for locals. ref: https://docs.soliditylang.org/en/v0.8.20/internals/optimizer.html#stackcompressor

    diff --git a/rustdocs/zingen/masm/cmp/index.html b/rustdocs/zingen/masm/cmp/index.html index 7ef8c9483..d30386d9a 100644 --- a/rustdocs/zingen/masm/cmp/index.html +++ b/rustdocs/zingen/masm/cmp/index.html @@ -1 +1 @@ -zingen::masm::cmp - Rust

    Module zingen::masm::cmp

    source ·
    \ No newline at end of file +zingen::masm::cmp - Rust

    Module zingen::masm::cmp

    source ·
    \ No newline at end of file diff --git a/rustdocs/zingen/masm/embed/index.html b/rustdocs/zingen/masm/embed/index.html index f3521853f..db66e668c 100644 --- a/rustdocs/zingen/masm/embed/index.html +++ b/rustdocs/zingen/masm/embed/index.html @@ -1,2 +1,2 @@ -zingen::masm::embed - Rust

    Module zingen::masm::embed

    source ·
    Expand description

    Embedded Function implementations

    +zingen::masm::embed - Rust

    Module zingen::masm::embed

    source ·
    Expand description

    Embedded Function implementations

    \ No newline at end of file diff --git a/rustdocs/zingen/masm/float/index.html b/rustdocs/zingen/masm/float/index.html index f3f87accd..808f96e8e 100644 --- a/rustdocs/zingen/masm/float/index.html +++ b/rustdocs/zingen/masm/float/index.html @@ -1,2 +1,2 @@ -zingen::masm::float - Rust

    Module zingen::masm::float

    source ·
    Expand description

    Float Instructions

    +zingen::masm::float - Rust

    Module zingen::masm::float

    source ·
    Expand description

    Float Instructions

    \ No newline at end of file diff --git a/rustdocs/zingen/masm/index.html b/rustdocs/zingen/masm/index.html index 3774ef7f1..001b899c1 100644 --- a/rustdocs/zingen/masm/index.html +++ b/rustdocs/zingen/masm/index.html @@ -1,2 +1,2 @@ -zingen::masm - Rust

    Module zingen::masm

    source ·
    Expand description

    MacroAssembler used by the code generation.

    +zingen::masm - Rust

    Module zingen::masm

    source ·
    Expand description

    MacroAssembler used by the code generation.

    Modules§

    • cmp 🔒
    • embed 🔒
      Embedded Function implementations
    • float 🔒
      Float Instructions
    • integer 🔒
    • memory 🔒
      Memory Instructions
    • ret 🔒
      Return handlers
    • stack 🔒
      Stack Instructions

    Structs§

    \ No newline at end of file diff --git a/rustdocs/zingen/masm/integer/index.html b/rustdocs/zingen/masm/integer/index.html index 3f21254d7..47d7fda97 100644 --- a/rustdocs/zingen/masm/integer/index.html +++ b/rustdocs/zingen/masm/integer/index.html @@ -1 +1 @@ -zingen::masm::integer - Rust

    Module zingen::masm::integer

    source ·
    \ No newline at end of file +zingen::masm::integer - Rust

    Module zingen::masm::integer

    source ·
    \ No newline at end of file diff --git a/rustdocs/zingen/masm/memory/index.html b/rustdocs/zingen/masm/memory/index.html index c4408b8fb..aad7f97b1 100644 --- a/rustdocs/zingen/masm/memory/index.html +++ b/rustdocs/zingen/masm/memory/index.html @@ -1,2 +1,2 @@ -zingen::masm::memory - Rust

    Module zingen::masm::memory

    source ·
    Expand description

    Memory Instructions

    +zingen::masm::memory - Rust

    Module zingen::masm::memory

    source ·
    Expand description

    Memory Instructions

    \ No newline at end of file diff --git a/rustdocs/zingen/masm/ret/index.html b/rustdocs/zingen/masm/ret/index.html index 3fc49c898..71e87262c 100644 --- a/rustdocs/zingen/masm/ret/index.html +++ b/rustdocs/zingen/masm/ret/index.html @@ -1,2 +1,2 @@ -zingen::masm::ret - Rust

    Module zingen::masm::ret

    source ·
    Expand description

    Return handlers

    +zingen::masm::ret - Rust

    Module zingen::masm::ret

    source ·
    Expand description

    Return handlers

    \ No newline at end of file diff --git a/rustdocs/zingen/masm/stack/index.html b/rustdocs/zingen/masm/stack/index.html index da2274ebf..b7b0ddaa0 100644 --- a/rustdocs/zingen/masm/stack/index.html +++ b/rustdocs/zingen/masm/stack/index.html @@ -1,2 +1,2 @@ -zingen::masm::stack - Rust

    Module zingen::masm::stack

    source ·
    Expand description

    Stack Instructions

    +zingen::masm::stack - Rust

    Module zingen::masm::stack

    source ·
    Expand description

    Stack Instructions

    \ No newline at end of file diff --git a/rustdocs/zingen/masm/struct.MacroAssembler.html b/rustdocs/zingen/masm/struct.MacroAssembler.html index f2d4a3f5c..cd10c562d 100644 --- a/rustdocs/zingen/masm/struct.MacroAssembler.html +++ b/rustdocs/zingen/masm/struct.MacroAssembler.html @@ -1,4 +1,4 @@ -MacroAssembler in zingen::masm - Rust

    Struct zingen::masm::MacroAssembler

    source ·
    pub struct MacroAssembler {
    +MacroAssembler in zingen::masm - Rust

    Struct zingen::masm::MacroAssembler

    source ·
    pub struct MacroAssembler {
         pub(crate) asm: Assembler,
     }
    Expand description

    EVM MacroAssembler.

    Fields§

    §asm: Assembler

    Low level assembler.

    @@ -267,17 +267,19 @@
    source

    pub fn _revert(&mut self) -> Result<()>

    Emit REVERT

    source

    pub fn _invalid(&mut self) -> Result<()>

    Emit INVALID

    source

    pub fn _selfdestruct(&mut self) -> Result<()>

    Emit SELFDESTRUCT

    -

    Trait Implementations§

    source§

    impl Default for MacroAssembler

    source§

    fn default() -> MacroAssembler

    Returns the “default value” for a type. Read more
    source§

    impl Deref for MacroAssembler

    source§

    type Target = Assembler

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for MacroAssembler

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for MacroAssembler

    source§

    fn clone(&self) -> MacroAssembler

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MacroAssembler

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for MacroAssembler

    source§

    fn default() -> MacroAssembler

    Returns the “default value” for a type. Read more
    source§

    impl Deref for MacroAssembler

    source§

    type Target = Assembler

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for MacroAssembler

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + T: ?Sized,
    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where + T: Clone,

    source§

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    🔬This is a nightly-only experimental API. (clone_to_uninit)
    Performs copy-assignment from self to dst. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    source§

    impl<T, U> TryFrom<U> for T
    where +

    source§

    impl<T> ToOwned for T
    where + T: Clone,

    source§

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where U: TryFrom<T>,

    source§

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a diff --git a/rustdocs/zingen/masm/struct.MemoryInfo.html b/rustdocs/zingen/masm/struct.MemoryInfo.html index 70fd31799..046a8a77d 100644 --- a/rustdocs/zingen/masm/struct.MemoryInfo.html +++ b/rustdocs/zingen/masm/struct.MemoryInfo.html @@ -1,4 +1,4 @@ -MemoryInfo in zingen::masm - Rust

    Struct zingen::masm::MemoryInfo

    source ·
    pub struct MemoryInfo {
    +MemoryInfo in zingen::masm - Rust

    Struct zingen::masm::MemoryInfo

    source ·
    pub struct MemoryInfo {
         pub offset: SmallVec<[u8; 8]>,
         pub size: usize,
     }
    Expand description

    Info for memory position.

    diff --git a/rustdocs/zingen/result/enum.Error.html b/rustdocs/zingen/result/enum.Error.html index 039cd3ed0..c9eccf3a7 100644 --- a/rustdocs/zingen/result/enum.Error.html +++ b/rustdocs/zingen/result/enum.Error.html @@ -1,4 +1,4 @@ -Error in zingen::result - Rust

    Enum zingen::result::Error

    source ·
    pub enum Error {
    +Error in zingen::result - Rust

    Enum zingen::result::Error

    source ·
    pub enum Error {
     
    Show 31 variants Abi(Error), BinaryReader(BinaryReaderError), BufferOverflow(usize), diff --git a/rustdocs/zingen/result/index.html b/rustdocs/zingen/result/index.html index 76829a922..7bf2231bb 100644 --- a/rustdocs/zingen/result/index.html +++ b/rustdocs/zingen/result/index.html @@ -1,2 +1,2 @@ -zingen::result - Rust

    Module zingen::result

    source ·
    Expand description

    Codegen results

    +zingen::result - Rust

    Module zingen::result

    source ·
    Expand description

    Codegen results

    Enums§

    Type Aliases§

    \ No newline at end of file diff --git a/rustdocs/zingen/result/type.Result.html b/rustdocs/zingen/result/type.Result.html index d5e4f4ab5..d91ee1a39 100644 --- a/rustdocs/zingen/result/type.Result.html +++ b/rustdocs/zingen/result/type.Result.html @@ -1,4 +1,4 @@ -Result in zingen::result - Rust

    Type Alias zingen::result::Result

    source ·
    pub type Result<T> = Result<T, Error>;
    Expand description

    Codegen result

    +Result in zingen::result - Rust

    Type Alias zingen::result::Result

    source ·
    pub type Result<T> = Result<T, Error>;
    Expand description

    Codegen result

    Aliased Type§

    enum Result<T> {
         Ok(T),
         Err(Error),
    diff --git a/rustdocs/zingen/sidebar-items.js b/rustdocs/zingen/sidebar-items.js
    index dd04638d7..d6f0790fc 100644
    --- a/rustdocs/zingen/sidebar-items.js
    +++ b/rustdocs/zingen/sidebar-items.js
    @@ -1 +1 @@
    -window.SIDEBAR_ITEMS = {"constant":["BUFFER_LIMIT"],"enum":["ControlStackFrameType","Error"],"mod":["asm","backtrace","codegen","control","jump","local","masm","result","validator","visitor","wasm"],"struct":["Assembler","Code","Constructor","ControlStack","ControlStackFrame","Dispatcher","Function","JumpTable","LocalSlot","Locals","MacroAssembler"],"type":["Buffer","Result"]};
    \ No newline at end of file
    +window.SIDEBAR_ITEMS = {"constant":["BUFFER_LIMIT"],"enum":["ControlStackFrameType","Error"],"mod":["asm","backtrace","codegen","control","jump","local","masm","result","validator","visitor","wasm"],"struct":["Assembler","Code","Constructor","ControlStack","ControlStackFrame","Dispatcher","Function","JumpTable","LocalSlot","Locals","MacroAssembler"],"type":["Buffer","InitStorage","Result"]};
    \ No newline at end of file
    diff --git a/rustdocs/zingen/struct.Assembler.html b/rustdocs/zingen/struct.Assembler.html
    index b850ac0a2..7a7a8886b 100644
    --- a/rustdocs/zingen/struct.Assembler.html
    +++ b/rustdocs/zingen/struct.Assembler.html
    @@ -1,4 +1,4 @@
    -Assembler in zingen - Rust

    Struct zingen::Assembler

    source ·
    pub struct Assembler {
    +Assembler in zingen - Rust

    Struct zingen::Assembler

    source ·
    pub struct Assembler {
         buffer: Buffer,
         gas: u128,
         pub mp: usize,
    @@ -164,7 +164,7 @@
     
    source

    pub fn _revert(&mut self) -> Result<()>

    Emit REVERT

    source

    pub fn _invalid(&mut self) -> Result<()>

    Emit INVALID

    source

    pub fn _selfdestruct(&mut self) -> Result<()>

    Emit SELFDESTRUCT

    -

    Trait Implementations§

    source§

    impl Clone for Assembler

    source§

    fn clone(&self) -> Assembler

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Default for Assembler

    source§

    fn default() -> Assembler

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for Assembler

    source§

    fn clone(&self) -> Assembler

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Assembler

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Assembler

    source§

    fn default() -> Assembler

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where diff --git a/rustdocs/zingen/struct.Code.html b/rustdocs/zingen/struct.Code.html index 212e1cdec..628151c25 100644 --- a/rustdocs/zingen/struct.Code.html +++ b/rustdocs/zingen/struct.Code.html @@ -1,4 +1,4 @@ -Code in zingen - Rust

    Struct zingen::Code

    source ·
    pub struct Code {
    +Code in zingen - Rust

    Struct zingen::Code

    source ·
    pub struct Code {
         offset: usize,
         funcs: IndexMap<ExtFunc, usize>,
     }
    Expand description

    Code section for EVM.

    diff --git a/rustdocs/zingen/struct.Constructor.html b/rustdocs/zingen/struct.Constructor.html index eb26dc66c..13ea6a2a8 100644 --- a/rustdocs/zingen/struct.Constructor.html +++ b/rustdocs/zingen/struct.Constructor.html @@ -1,45 +1,34 @@ -Constructor in zingen - Rust

    Struct zingen::Constructor

    source ·
    pub struct Constructor {
    -    pub masm: MacroAssembler,
    -    pub init_code: Buffer,
    -    pub runtime_bytecode: Buffer,
    +Constructor in zingen - Rust

    Struct zingen::Constructor

    source ·
    pub struct Constructor {
    +    masm: MacroAssembler,
     }
    Expand description

    Contract constructor.

    -

    §Bytecode

    -
      -
    • CREATE instruction
    • -
    • INIT_CODE -
        -
      • INIT_LOGIC
      • -
      • RETURN RUNTIME_BYTECODE
      • -
      -
    • -
    • RUNTIME_BYTECODE
    • -
    -

    TODO: introduce ABI for constructor

    Fields§

    §masm: MacroAssembler

    Code generator.

    -
    §init_code: Buffer

    Code buffer.

    -
    §runtime_bytecode: Buffer

    Runtime bytecode.

    -

    Implementations§

    source§

    impl Constructor

    source

    pub fn new( - constructor: Option<FuncType>, - runtime_bytecode: Buffer, -) -> Result<Self>

    Create a new constructor.

    -
    source

    pub fn finish(&mut self) -> Result<Buffer>

    Concat the constructor code.

    +

    Implementations§

    source§

    impl Constructor

    source

    pub fn storage(&mut self, mapping: InitStorage) -> Result<()>

    preset storage for the contract

    +
    source

    pub fn finish(&self, runtime_bytecode: Buffer) -> Result<Buffer>

    Concat the constructor code.

    Here we override the memory totally with the runtime bytecode.

    -
    source

    fn return_instr_length( - init_code_length: usize, - runtime_bytecode_length: usize, -) -> usize

    Returns the length of instructions.

    -

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    source

    fn runtime_bytcode_offset( + init_code_len: usize, + runtime_bytecode_size_len: usize, +) -> usize

    Returns the offset of runtime bytecode.

    +

    [ +init_code, +pushn, runtime_bytecode_size, pushn + , push0, code_copy +pushn, runtime_bytecode_size, push0, return, + +]

    +

    Trait Implementations§

    source§

    impl Clone for Constructor

    source§

    fn clone(&self) -> Constructor

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Constructor

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Constructor

    source§

    fn default() -> Constructor

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where + T: Clone,

    source§

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    🔬This is a nightly-only experimental API. (clone_to_uninit)
    Performs copy-assignment from self to dst. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    source§

    impl<T, U> TryFrom<U> for T
    where +

    source§

    impl<T> ToOwned for T
    where + T: Clone,

    source§

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where U: TryFrom<T>,

    source§

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a diff --git a/rustdocs/zingen/struct.ControlStack.html b/rustdocs/zingen/struct.ControlStack.html index 57796438d..895877f6a 100644 --- a/rustdocs/zingen/struct.ControlStack.html +++ b/rustdocs/zingen/struct.ControlStack.html @@ -1,4 +1,4 @@ -ControlStack in zingen - Rust

    Struct zingen::ControlStack

    source ·
    pub struct ControlStack {
    +ControlStack in zingen - Rust

    Struct zingen::ControlStack

    source ·
    pub struct ControlStack {
         stack: SmallVec<[ControlStackFrame; 32]>,
     }
    Expand description

    The control stack.

    Fields§

    §stack: SmallVec<[ControlStackFrame; 32]>

    Stack frames for control flow.

    diff --git a/rustdocs/zingen/struct.ControlStackFrame.html b/rustdocs/zingen/struct.ControlStackFrame.html index 42609aae2..0700b7db6 100644 --- a/rustdocs/zingen/struct.ControlStackFrame.html +++ b/rustdocs/zingen/struct.ControlStackFrame.html @@ -1,4 +1,4 @@ -ControlStackFrame in zingen - Rust

    Struct zingen::ControlStackFrame

    source ·
    pub struct ControlStackFrame {
    +ControlStackFrame in zingen - Rust

    Struct zingen::ControlStackFrame

    source ·
    pub struct ControlStackFrame {
         pub ty: ControlStackFrameType,
         pub original_pc_offset: u16,
         result: BlockType,
    diff --git a/rustdocs/zingen/struct.Dispatcher.html b/rustdocs/zingen/struct.Dispatcher.html
    index b4c456e48..8d0597838 100644
    --- a/rustdocs/zingen/struct.Dispatcher.html
    +++ b/rustdocs/zingen/struct.Dispatcher.html
    @@ -1,4 +1,4 @@
    -Dispatcher in zingen - Rust

    Struct zingen::Dispatcher

    source ·
    pub struct Dispatcher {
    +Dispatcher in zingen - Rust

    Struct zingen::Dispatcher

    source ·
    pub struct Dispatcher {
         pub abi: Vec<Abi>,
         pub asm: MacroAssembler,
         pub env: Env,
    diff --git a/rustdocs/zingen/struct.Function.html b/rustdocs/zingen/struct.Function.html
    index 9c670a382..1473fc505 100644
    --- a/rustdocs/zingen/struct.Function.html
    +++ b/rustdocs/zingen/struct.Function.html
    @@ -1,4 +1,4 @@
    -Function in zingen - Rust

    Struct zingen::Function

    source ·
    pub struct Function {
    +Function in zingen - Rust

    Struct zingen::Function

    source ·
    pub struct Function {
         pub backtrace: Backtrace,
         pub control: ControlStack,
         pub env: Env,
    diff --git a/rustdocs/zingen/struct.JumpTable.html b/rustdocs/zingen/struct.JumpTable.html
    index 160985175..d660fe311 100644
    --- a/rustdocs/zingen/struct.JumpTable.html
    +++ b/rustdocs/zingen/struct.JumpTable.html
    @@ -1,4 +1,4 @@
    -JumpTable in zingen - Rust

    Struct zingen::JumpTable

    source ·
    pub struct JumpTable {
    +JumpTable in zingen - Rust

    Struct zingen::JumpTable

    source ·
    pub struct JumpTable {
         pub(crate) jump: BTreeMap<u16, Jump>,
         pub(crate) func: BTreeMap<u32, u16>,
         pub(crate) code: Code,
    diff --git a/rustdocs/zingen/struct.LocalSlot.html b/rustdocs/zingen/struct.LocalSlot.html
    index f3deefbb1..f4faa62ce 100644
    --- a/rustdocs/zingen/struct.LocalSlot.html
    +++ b/rustdocs/zingen/struct.LocalSlot.html
    @@ -1,4 +1,4 @@
    -LocalSlot in zingen - Rust

    Struct zingen::LocalSlot

    source ·
    pub struct LocalSlot {
    +LocalSlot in zingen - Rust

    Struct zingen::LocalSlot

    source ·
    pub struct LocalSlot {
         inner: ValType,
         ty: LocalSlotType,
         pub sp: usize,
    diff --git a/rustdocs/zingen/struct.Locals.html b/rustdocs/zingen/struct.Locals.html
    index 40e863ade..c69c088fc 100644
    --- a/rustdocs/zingen/struct.Locals.html
    +++ b/rustdocs/zingen/struct.Locals.html
    @@ -1,4 +1,4 @@
    -Locals in zingen - Rust

    Struct zingen::Locals

    source ·
    pub struct Locals {
    +Locals in zingen - Rust

    Struct zingen::Locals

    source ·
    pub struct Locals {
         inner: SmallVec<[LocalSlot; 16]>,
     }
    Expand description

    Solidity’s implementation uses 16 slots for locals. ref: https://docs.soliditylang.org/en/v0.8.20/internals/optimizer.html#stackcompressor

    diff --git a/rustdocs/zingen/struct.MacroAssembler.html b/rustdocs/zingen/struct.MacroAssembler.html index cc471a432..4a12721ac 100644 --- a/rustdocs/zingen/struct.MacroAssembler.html +++ b/rustdocs/zingen/struct.MacroAssembler.html @@ -1,4 +1,4 @@ -MacroAssembler in zingen - Rust

    Struct zingen::MacroAssembler

    source ·
    pub struct MacroAssembler {
    +MacroAssembler in zingen - Rust

    Struct zingen::MacroAssembler

    source ·
    pub struct MacroAssembler {
         pub(crate) asm: Assembler,
     }
    Expand description

    EVM MacroAssembler.

    Fields§

    §asm: Assembler

    Low level assembler.

    @@ -267,17 +267,19 @@
    source

    pub fn _revert(&mut self) -> Result<()>

    Emit REVERT

    source

    pub fn _invalid(&mut self) -> Result<()>

    Emit INVALID

    source

    pub fn _selfdestruct(&mut self) -> Result<()>

    Emit SELFDESTRUCT

    -

    Trait Implementations§

    source§

    impl Default for MacroAssembler

    source§

    fn default() -> MacroAssembler

    Returns the “default value” for a type. Read more
    source§

    impl Deref for MacroAssembler

    source§

    type Target = Assembler

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for MacroAssembler

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for MacroAssembler

    source§

    fn clone(&self) -> MacroAssembler

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for MacroAssembler

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for MacroAssembler

    source§

    fn default() -> MacroAssembler

    Returns the “default value” for a type. Read more
    source§

    impl Deref for MacroAssembler

    source§

    type Target = Assembler

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl DerefMut for MacroAssembler

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where - T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + T: ?Sized,
    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where + T: Clone,

    source§

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    🔬This is a nightly-only experimental API. (clone_to_uninit)
    Performs copy-assignment from self to dst. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of From<T> for U chooses to do.

    -
    source§

    impl<T, U> TryFrom<U> for T
    where +

    source§

    impl<T> ToOwned for T
    where + T: Clone,

    source§

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where U: TryFrom<T>,

    source§

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a diff --git a/rustdocs/zingen/type.Buffer.html b/rustdocs/zingen/type.Buffer.html index 9d822f1fd..7df718a97 100644 --- a/rustdocs/zingen/type.Buffer.html +++ b/rustdocs/zingen/type.Buffer.html @@ -1,2 +1,2 @@ -Buffer in zingen - Rust

    Type Alias zingen::Buffer

    source ·
    pub type Buffer = SmallVec<[u8; 24576]>;
    Expand description

    Code generation buffer.

    +Buffer in zingen - Rust

    Type Alias zingen::Buffer

    source ·
    pub type Buffer = SmallVec<[u8; 24576]>;
    Expand description

    Code generation buffer.

    Aliased Type§

    struct Buffer { /* private fields */ }
    \ No newline at end of file diff --git a/rustdocs/zingen/type.InitStorage.html b/rustdocs/zingen/type.InitStorage.html new file mode 100644 index 000000000..1430bdeba --- /dev/null +++ b/rustdocs/zingen/type.InitStorage.html @@ -0,0 +1,2 @@ +InitStorage in zingen - Rust

    Type Alias zingen::InitStorage

    source ·
    pub type InitStorage = HashMap<SmallVec<[u8; 32]>, SmallVec<[u8; 32]>>;
    Expand description

    Initial storage of contracts

    +

    Aliased Type§

    struct InitStorage { /* private fields */ }
    \ No newline at end of file diff --git a/rustdocs/zingen/type.Result.html b/rustdocs/zingen/type.Result.html index db0706f77..da230388c 100644 --- a/rustdocs/zingen/type.Result.html +++ b/rustdocs/zingen/type.Result.html @@ -1,4 +1,4 @@ -Result in zingen - Rust

    Type Alias zingen::Result

    source ·
    pub type Result<T> = Result<T, Error>;
    Expand description

    Codegen result

    +Result in zingen - Rust

    Type Alias zingen::Result

    source ·
    pub type Result<T> = Result<T, Error>;
    Expand description

    Codegen result

    Aliased Type§

    enum Result<T> {
         Ok(T),
         Err(Error),
    diff --git a/rustdocs/zingen/validator/fn.visit_op_when_unreachable.html b/rustdocs/zingen/validator/fn.visit_op_when_unreachable.html
    index 582d09554..3a2df3fca 100644
    --- a/rustdocs/zingen/validator/fn.visit_op_when_unreachable.html
    +++ b/rustdocs/zingen/validator/fn.visit_op_when_unreachable.html
    @@ -1 +1 @@
    -visit_op_when_unreachable in zingen::validator - Rust

    Function zingen::validator::visit_op_when_unreachable

    source ·
    fn visit_op_when_unreachable(op: Operator<'_>) -> bool
    \ No newline at end of file +visit_op_when_unreachable in zingen::validator - Rust

    Function zingen::validator::visit_op_when_unreachable

    source ·
    fn visit_op_when_unreachable(op: Operator<'_>) -> bool
    \ No newline at end of file diff --git a/rustdocs/zingen/validator/index.html b/rustdocs/zingen/validator/index.html index aeda76a9b..084063fd1 100644 --- a/rustdocs/zingen/validator/index.html +++ b/rustdocs/zingen/validator/index.html @@ -1,2 +1,2 @@ -zingen::validator - Rust

    Module zingen::validator

    source ·
    Expand description

    Pre-visitor for parsing WASM.

    +zingen::validator - Rust

    Module zingen::validator

    source ·
    Expand description

    Pre-visitor for parsing WASM.

    Macros§

    Structs§

    Functions§

    \ No newline at end of file diff --git a/rustdocs/zingen/validator/macro.validate_then_visit.html b/rustdocs/zingen/validator/macro.validate_then_visit.html index d4a98dc2f..39018f872 100644 --- a/rustdocs/zingen/validator/macro.validate_then_visit.html +++ b/rustdocs/zingen/validator/macro.validate_then_visit.html @@ -1,3 +1,3 @@ -validate_then_visit in zingen::validator - Rust

    Macro zingen::validator::validate_then_visit

    source ·
    macro_rules! validate_then_visit {
    +validate_then_visit in zingen::validator - Rust

    Macro zingen::validator::validate_then_visit

    source ·
    macro_rules! validate_then_visit {
         ($( @$proposal:ident $op:ident $({ $($arg:ident: $argty:ty),* })? => $visit:ident)*) => { ... };
     }
    \ No newline at end of file diff --git a/rustdocs/zingen/validator/struct.ValidateThenVisit.html b/rustdocs/zingen/validator/struct.ValidateThenVisit.html index b1d8fc863..2761b29fc 100644 --- a/rustdocs/zingen/validator/struct.ValidateThenVisit.html +++ b/rustdocs/zingen/validator/struct.ValidateThenVisit.html @@ -1,4 +1,4 @@ -ValidateThenVisit in zingen::validator - Rust

    Struct zingen::validator::ValidateThenVisit

    source ·
    pub struct ValidateThenVisit<'a, T>(pub T, pub &'a mut Function);
    Expand description

    A pre-visitor that validates the WASM and then visits it.

    +ValidateThenVisit in zingen::validator - Rust

    Struct zingen::validator::ValidateThenVisit

    source ·
    pub struct ValidateThenVisit<'a, T>(pub T, pub &'a mut Function);
    Expand description

    A pre-visitor that validates the WASM and then visits it.

    Tuple Fields§

    §0: T§1: &'a mut Function

    Trait Implementations§

    source§

    impl<'a, T> VisitOperator<'a> for ValidateThenVisit<'_, T>
    where T: VisitOperator<'a, Output = Result<()>>,

    source§

    type Output = Result<Result<(), Error>, Error>

    The result type of the visitor.
    source§

    fn visit_unreachable(&mut self) -> Self::Output

    source§

    fn visit_nop(&mut self) -> Self::Output

    source§

    fn visit_block(&mut self, blockty: BlockType) -> Self::Output

    source§

    fn visit_loop(&mut self, blockty: BlockType) -> Self::Output

    source§

    fn visit_if(&mut self, blockty: BlockType) -> Self::Output

    source§

    fn visit_else(&mut self) -> Self::Output

    source§

    fn visit_try_table(&mut self, try_table: TryTable) -> Self::Output

    source§

    fn visit_throw(&mut self, tag_index: u32) -> Self::Output

    source§

    fn visit_throw_ref(&mut self) -> Self::Output

    source§

    fn visit_try(&mut self, blockty: BlockType) -> Self::Output

    source§

    fn visit_catch(&mut self, tag_index: u32) -> Self::Output

    source§

    fn visit_rethrow(&mut self, relative_depth: u32) -> Self::Output

    source§

    fn visit_delegate(&mut self, relative_depth: u32) -> Self::Output

    source§

    fn visit_catch_all(&mut self) -> Self::Output

    source§

    fn visit_end(&mut self) -> Self::Output

    source§

    fn visit_br(&mut self, relative_depth: u32) -> Self::Output

    source§

    fn visit_br_if(&mut self, relative_depth: u32) -> Self::Output

    source§

    fn visit_br_table(&mut self, targets: BrTable<'a>) -> Self::Output

    source§

    fn visit_return(&mut self) -> Self::Output

    source§

    fn visit_call(&mut self, function_index: u32) -> Self::Output

    source§

    fn visit_call_indirect( &mut self, diff --git a/rustdocs/zingen/visitor/call/index.html b/rustdocs/zingen/visitor/call/index.html index b027cff65..43a118bb5 100644 --- a/rustdocs/zingen/visitor/call/index.html +++ b/rustdocs/zingen/visitor/call/index.html @@ -1,2 +1,2 @@ -zingen::visitor::call - Rust

    Module zingen::visitor::call

    source ·
    Expand description

    call instructions

    +zingen::visitor::call - Rust

    Module zingen::visitor::call

    source ·
    Expand description

    call instructions

    \ No newline at end of file diff --git a/rustdocs/zingen/visitor/control/index.html b/rustdocs/zingen/visitor/control/index.html index 5310493a6..34ef552a5 100644 --- a/rustdocs/zingen/visitor/control/index.html +++ b/rustdocs/zingen/visitor/control/index.html @@ -1,2 +1,2 @@ -zingen::visitor::control - Rust

    Module zingen::visitor::control

    source ·
    Expand description

    Control flow visitors

    +zingen::visitor::control - Rust

    Module zingen::visitor::control

    source ·
    Expand description

    Control flow visitors

    \ No newline at end of file diff --git a/rustdocs/zingen/visitor/handlers/index.html b/rustdocs/zingen/visitor/handlers/index.html index f18873507..e74ba6a70 100644 --- a/rustdocs/zingen/visitor/handlers/index.html +++ b/rustdocs/zingen/visitor/handlers/index.html @@ -1,2 +1,2 @@ -zingen::visitor::handlers - Rust

    Module zingen::visitor::handlers

    source ·
    Expand description

    Case handlers

    +zingen::visitor::handlers - Rust

    Module zingen::visitor::handlers

    source ·
    Expand description

    Case handlers

    \ No newline at end of file diff --git a/rustdocs/zingen/visitor/index.html b/rustdocs/zingen/visitor/index.html index 5ef277e97..c642e16d9 100644 --- a/rustdocs/zingen/visitor/index.html +++ b/rustdocs/zingen/visitor/index.html @@ -1,4 +1,4 @@ -zingen::visitor - Rust

    Module zingen::visitor

    source ·
    Expand description

    This module is the central place for machine code emission.

    +zingen::visitor - Rust

    Module zingen::visitor

    source ·
    Expand description

    This module is the central place for machine code emission.

    It defines an implementation of wasmparser’s Visitor trait for Function; which defines a visitor per op-code, which validates and dispatches to the corresponding machine code emitter.

    diff --git a/rustdocs/zingen/visitor/local/index.html b/rustdocs/zingen/visitor/local/index.html index c387b3fec..59fc6bf50 100644 --- a/rustdocs/zingen/visitor/local/index.html +++ b/rustdocs/zingen/visitor/local/index.html @@ -1,2 +1,2 @@ -zingen::visitor::local - Rust

    Module zingen::visitor::local

    source ·
    Expand description

    Local instructions

    +zingen::visitor::local - Rust

    Module zingen::visitor::local

    source ·
    Expand description

    Local instructions

    \ No newline at end of file diff --git a/rustdocs/zingen/visitor/log/index.html b/rustdocs/zingen/visitor/log/index.html index 4fcac9f2b..c5e39f4da 100644 --- a/rustdocs/zingen/visitor/log/index.html +++ b/rustdocs/zingen/visitor/log/index.html @@ -1,2 +1,2 @@ -zingen::visitor::log - Rust

    Module zingen::visitor::log

    source ·
    Expand description

    System instructions

    +zingen::visitor::log - Rust

    Module zingen::visitor::log

    source ·
    Expand description

    System instructions

    \ No newline at end of file diff --git a/rustdocs/zingen/visitor/macro.impl_visit_operator.html b/rustdocs/zingen/visitor/macro.impl_visit_operator.html index 930ce38e3..eadd4368a 100644 --- a/rustdocs/zingen/visitor/macro.impl_visit_operator.html +++ b/rustdocs/zingen/visitor/macro.impl_visit_operator.html @@ -1,4 +1,4 @@ -impl_visit_operator in zingen::visitor - Rust

    Macro zingen::visitor::impl_visit_operator

    source ·
    macro_rules! impl_visit_operator {
    +impl_visit_operator in zingen::visitor - Rust

    Macro zingen::visitor::impl_visit_operator

    source ·
    macro_rules! impl_visit_operator {
         ( @mvp $op:ident $({ $($arg:ident: $argty:ty),* })? => $visit:ident $($rest:tt)* ) => { ... };
         ( @$proposal:ident $op:ident $({ $($arg:ident: $argty:ty),* })? => $visit:ident $($rest:tt)* ) => { ... };
         () => { ... };
    diff --git a/rustdocs/zingen/visitor/macro.map_wasm_operators.html b/rustdocs/zingen/visitor/macro.map_wasm_operators.html
    index 39891bc97..2dabd082a 100644
    --- a/rustdocs/zingen/visitor/macro.map_wasm_operators.html
    +++ b/rustdocs/zingen/visitor/macro.map_wasm_operators.html
    @@ -1,4 +1,4 @@
    -map_wasm_operators in zingen::visitor - Rust

    Macro zingen::visitor::map_wasm_operators

    source ·
    macro_rules! map_wasm_operators {
    +map_wasm_operators in zingen::visitor - Rust

    Macro zingen::visitor::map_wasm_operators

    source ·
    macro_rules! map_wasm_operators {
         (@basic $ty:tt, $wasm:tt, $evm:tt $($arg:ident: $argty:ty),*) => { ... };
         (@integer32 $wasm:tt, $evm:tt $($arg:ident: $argty:ty),*) => { ... };
         (@integer64 $wasm:tt, $evm:tt $($arg:ident: $argty:ty),*) => { ... };
    diff --git a/rustdocs/zingen/wasm/abi/constant.ALIGNMENT_MASK.html b/rustdocs/zingen/wasm/abi/constant.ALIGNMENT_MASK.html
    index 8c0c75019..53fdb5e7b 100644
    --- a/rustdocs/zingen/wasm/abi/constant.ALIGNMENT_MASK.html
    +++ b/rustdocs/zingen/wasm/abi/constant.ALIGNMENT_MASK.html
    @@ -1,2 +1,2 @@
    -ALIGNMENT_MASK in zingen::wasm::abi - Rust

    Constant zingen::wasm::abi::ALIGNMENT_MASK

    source ·
    const ALIGNMENT_MASK: usize = 31;
    Expand description

    The alignment mask for 32 bytes (32 - 1).

    +ALIGNMENT_MASK in zingen::wasm::abi - Rust

    Constant zingen::wasm::abi::ALIGNMENT_MASK

    source ·
    const ALIGNMENT_MASK: usize = 31;
    Expand description

    The alignment mask for 32 bytes (32 - 1).

    \ No newline at end of file diff --git a/rustdocs/zingen/wasm/abi/index.html b/rustdocs/zingen/wasm/abi/index.html index 94eae8af9..35344b778 100644 --- a/rustdocs/zingen/wasm/abi/index.html +++ b/rustdocs/zingen/wasm/abi/index.html @@ -1,3 +1,3 @@ -zingen::wasm::abi - Rust

    Module zingen::wasm::abi

    source ·
    Expand description

    WASM ABI

    +zingen::wasm::abi - Rust

    Module zingen::wasm::abi

    source ·
    Expand description

    WASM ABI

    Macros§

    Constants§

    Traits§

    • Get the offset of this type in the lowest significant bytes.
    • WASM type size for the stack representation of EVM.
    \ No newline at end of file diff --git a/rustdocs/zingen/wasm/abi/macro.offset.html b/rustdocs/zingen/wasm/abi/macro.offset.html index 43bf50a1c..0f49bfd33 100644 --- a/rustdocs/zingen/wasm/abi/macro.offset.html +++ b/rustdocs/zingen/wasm/abi/macro.offset.html @@ -1,4 +1,4 @@ -offset in zingen::wasm::abi - Rust

    Macro zingen::wasm::abi::offset

    source ·
    macro_rules! offset {
    +offset in zingen::wasm::abi - Rust

    Macro zingen::wasm::abi::offset

    source ·
    macro_rules! offset {
         ($number:ident, $size:expr) => { ... };
         ($(($number:ident, $size:expr)),+) => { ... };
     }
    \ No newline at end of file diff --git a/rustdocs/zingen/wasm/abi/trait.ToLSBytes.html b/rustdocs/zingen/wasm/abi/trait.ToLSBytes.html index dda2e9edb..c6694bb63 100644 --- a/rustdocs/zingen/wasm/abi/trait.ToLSBytes.html +++ b/rustdocs/zingen/wasm/abi/trait.ToLSBytes.html @@ -1,4 +1,4 @@ -ToLSBytes in zingen::wasm::abi - Rust

    Trait zingen::wasm::abi::ToLSBytes

    source ·
    pub trait ToLSBytes {
    +ToLSBytes in zingen::wasm::abi - Rust

    Trait zingen::wasm::abi::ToLSBytes

    source ·
    pub trait ToLSBytes {
         type Output: AsRef<[u8]>;
     
         // Required method
    diff --git a/rustdocs/zingen/wasm/abi/trait.Type.html b/rustdocs/zingen/wasm/abi/trait.Type.html
    index 971670177..71b400836 100644
    --- a/rustdocs/zingen/wasm/abi/trait.Type.html
    +++ b/rustdocs/zingen/wasm/abi/trait.Type.html
    @@ -1,4 +1,4 @@
    -Type in zingen::wasm::abi - Rust

    Trait zingen::wasm::abi::Type

    source ·
    pub trait Type {
    +Type in zingen::wasm::abi - Rust

    Trait zingen::wasm::abi::Type

    source ·
    pub trait Type {
         // Required method
         fn size(&self) -> usize;
     
    diff --git a/rustdocs/zingen/wasm/data/index.html b/rustdocs/zingen/wasm/data/index.html
    index 265634363..13de92b60 100644
    --- a/rustdocs/zingen/wasm/data/index.html
    +++ b/rustdocs/zingen/wasm/data/index.html
    @@ -1,2 +1,2 @@
    -zingen::wasm::data - Rust

    Module zingen::wasm::data

    source ·
    Expand description

    Dataset in code generation

    +zingen::wasm::data - Rust

    Module zingen::wasm::data

    source ·
    Expand description

    Dataset in code generation

    Structs§

    • Data section conversion
    \ No newline at end of file diff --git a/rustdocs/zingen/wasm/data/struct.Data.html b/rustdocs/zingen/wasm/data/struct.Data.html index 018c7943e..036bc7234 100644 --- a/rustdocs/zingen/wasm/data/struct.Data.html +++ b/rustdocs/zingen/wasm/data/struct.Data.html @@ -1,4 +1,4 @@ -Data in zingen::wasm::data - Rust

    Struct zingen::wasm::data::Data

    source ·
    pub struct Data(BTreeMap<i32, Vec<u8>>);
    Expand description

    Data section conversion

    +Data in zingen::wasm::data - Rust

    Struct zingen::wasm::data::Data

    source ·
    pub struct Data(BTreeMap<i32, Vec<u8>>);
    Expand description

    Data section conversion

    NOTE: current only support constant expression.

    Tuple Fields§

    §0: BTreeMap<i32, Vec<u8>>

    Implementations§

    source§

    impl Data

    source

    pub fn load(&self, offset: i32, size: usize) -> Result<Vec<u8>>

    Load data from offset and size

    Methods from Deref<Target = BTreeMap<i32, Vec<u8>>>§

    1.0.0 · source

    pub fn clear(&mut self)

    Clears the map, removing all elements.

    diff --git a/rustdocs/zingen/wasm/enum.HostFunc.html b/rustdocs/zingen/wasm/enum.HostFunc.html index d95c774af..88140971c 100644 --- a/rustdocs/zingen/wasm/enum.HostFunc.html +++ b/rustdocs/zingen/wasm/enum.HostFunc.html @@ -1,4 +1,4 @@ -HostFunc in zingen::wasm - Rust

    Enum zingen::wasm::HostFunc

    source ·
    pub enum HostFunc {
    +HostFunc in zingen::wasm - Rust

    Enum zingen::wasm::HostFunc

    source ·
    pub enum HostFunc {
         Evm(ShangHai),
         NoOp,
         EmitABI,
    diff --git a/rustdocs/zingen/wasm/func/index.html b/rustdocs/zingen/wasm/func/index.html
    index 2b1f8ffc0..bf48ba6fe 100644
    --- a/rustdocs/zingen/wasm/func/index.html
    +++ b/rustdocs/zingen/wasm/func/index.html
    @@ -1,2 +1,2 @@
    -zingen::wasm::func - Rust

    Module zingen::wasm::func

    source ·
    Expand description

    Function handler

    +zingen::wasm::func - Rust

    Module zingen::wasm::func

    source ·
    Expand description

    Function handler

    Structs§

    \ No newline at end of file diff --git a/rustdocs/zingen/wasm/func/struct.Function.html b/rustdocs/zingen/wasm/func/struct.Function.html index e93659e03..c4d923a49 100644 --- a/rustdocs/zingen/wasm/func/struct.Function.html +++ b/rustdocs/zingen/wasm/func/struct.Function.html @@ -1,4 +1,4 @@ -Function in zingen::wasm::func - Rust

    Struct zingen::wasm::func::Function

    source ·
    pub struct Function<'f> {
    +Function in zingen::wasm::func - Rust

    Struct zingen::wasm::func::Function

    source ·
    pub struct Function<'f> {
         pub validator: FuncValidator<ValidatorResources>,
         pub body: FunctionBody<'f>,
     }
    Expand description

    Function with validator.

    diff --git a/rustdocs/zingen/wasm/func/struct.Functions.html b/rustdocs/zingen/wasm/func/struct.Functions.html index f672dcbcb..c7b139a53 100644 --- a/rustdocs/zingen/wasm/func/struct.Functions.html +++ b/rustdocs/zingen/wasm/func/struct.Functions.html @@ -1,12 +1,11 @@ -Functions in zingen::wasm::func - Rust

    Struct zingen::wasm::func::Functions

    source ·
    pub struct Functions<'f>(BTreeMap<u32, Function<'f>>);
    Expand description

    WASM Functions by indexes.

    -

    Tuple Fields§

    §0: BTreeMap<u32, Function<'f>>

    Implementations§

    source§

    impl<'f> Functions<'f>

    source

    pub fn add( +Functions in zingen::wasm::func - Rust

    Struct zingen::wasm::func::Functions

    source ·
    pub struct Functions<'f>(BTreeMap<u32, Function<'f>>);
    Expand description

    WASM Functions by indexes.

    +

    Tuple Fields§

    §0: BTreeMap<u32, Function<'f>>

    Implementations§

    source§

    impl<'f> Functions<'f>

    source

    pub fn add( &mut self, validator: FuncValidator<ValidatorResources>, function: FunctionBody<'f>, )

    Add function to the list.

    -
    source

    pub fn remove_constructor(&mut self, exports: &Exports) -> Option<FuncType>

    Remove constructor function

    -
    source

    pub fn drain_selectors(&mut self, exports: &Exports) -> Self

    Remove all selector functions

    -
    source

    pub fn into_funcs(self) -> Vec<Function<'f>>

    Get all functions

    +
    source

    pub fn drain_selectors(&mut self, exports: &Exports) -> Self

    Remove all selector functions

    +
    source

    pub fn into_funcs(self) -> Vec<Function<'f>>

    Get all functions

    Methods from Deref<Target = BTreeMap<u32, Function<'f>>>§

    1.0.0 · source

    pub fn clear(&mut self)

    Clears the map, removing all elements.

    §Examples
    use std::collections::BTreeMap;
    @@ -581,7 +580,7 @@ 
    §Exampleslet mut cursor = map.upper_bound_mut(Bound::Unbounded); assert_eq!(cursor.peek_prev(), Some((&4, &mut "d"))); assert_eq!(cursor.peek_next(), None);
    -

    Trait Implementations§

    source§

    impl<'f> Default for Functions<'f>

    source§

    fn default() -> Functions<'f>

    Returns the “default value” for a type. Read more
    source§

    impl<'f> Deref for Functions<'f>

    source§

    type Target = BTreeMap<u32, Function<'f>>

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl<'f> DerefMut for Functions<'f>

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.

    Auto Trait Implementations§

    §

    impl<'f> Freeze for Functions<'f>

    §

    impl<'f> RefUnwindSafe for Functions<'f>

    §

    impl<'f> Send for Functions<'f>

    §

    impl<'f> Sync for Functions<'f>

    §

    impl<'f> Unpin for Functions<'f>

    §

    impl<'f> UnwindSafe for Functions<'f>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl<'f> Default for Functions<'f>

    source§

    fn default() -> Functions<'f>

    Returns the “default value” for a type. Read more
    source§

    impl<'f> Deref for Functions<'f>

    source§

    type Target = BTreeMap<u32, Function<'f>>

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl<'f> DerefMut for Functions<'f>

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.

    Auto Trait Implementations§

    §

    impl<'f> Freeze for Functions<'f>

    §

    impl<'f> RefUnwindSafe for Functions<'f>

    §

    impl<'f> Send for Functions<'f>

    §

    impl<'f> Sync for Functions<'f>

    §

    impl<'f> Unpin for Functions<'f>

    §

    impl<'f> UnwindSafe for Functions<'f>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/rustdocs/zingen/wasm/host/enum.HostFunc.html b/rustdocs/zingen/wasm/host/enum.HostFunc.html index 794e5e508..b0afad60f 100644 --- a/rustdocs/zingen/wasm/host/enum.HostFunc.html +++ b/rustdocs/zingen/wasm/host/enum.HostFunc.html @@ -1,4 +1,4 @@ -HostFunc in zingen::wasm::host - Rust

    Enum zingen::wasm::host::HostFunc

    source ·
    pub enum HostFunc {
    +HostFunc in zingen::wasm::host - Rust

    Enum zingen::wasm::host::HostFunc

    source ·
    pub enum HostFunc {
         Evm(ShangHai),
         NoOp,
         EmitABI,
    diff --git a/rustdocs/zingen/wasm/host/index.html b/rustdocs/zingen/wasm/host/index.html
    index 8cd16dffd..ba1fee49b 100644
    --- a/rustdocs/zingen/wasm/host/index.html
    +++ b/rustdocs/zingen/wasm/host/index.html
    @@ -1,2 +1,2 @@
    -zingen::wasm::host - Rust

    Module zingen::wasm::host

    source ·
    Expand description

    Host functions

    +zingen::wasm::host - Rust

    Module zingen::wasm::host

    source ·
    Expand description

    Host functions

    Enums§

    \ No newline at end of file diff --git a/rustdocs/zingen/wasm/index.html b/rustdocs/zingen/wasm/index.html index 0e38a2e34..87cbfd6b1 100644 --- a/rustdocs/zingen/wasm/index.html +++ b/rustdocs/zingen/wasm/index.html @@ -1,3 +1,3 @@ -zingen::wasm - Rust

    Module zingen::wasm

    source ·
    Expand description

    WASM related primitives.

    +zingen::wasm - Rust

    Module zingen::wasm

    source ·
    Expand description

    WASM related primitives.

    Modules§

    • abi 🔒
      WASM ABI
    • data 🔒
      Dataset in code generation
    • func 🔒
      Function handler
    • host 🔒
      Host functions

    Macros§

    Structs§

    • Data section conversion
    • A struct that holds the environment wasm module.
    • WASM export section
    • Function with validator.
    • WASM Functions by indexes.
    • WASM import section

    Enums§

    Traits§

    • Get the offset of this type in the lowest significant bytes.
    • WASM type size for the stack representation of EVM.
    \ No newline at end of file diff --git a/rustdocs/zingen/wasm/macro.impl_deref.html b/rustdocs/zingen/wasm/macro.impl_deref.html index 6cbcc4d65..d23e9a959 100644 --- a/rustdocs/zingen/wasm/macro.impl_deref.html +++ b/rustdocs/zingen/wasm/macro.impl_deref.html @@ -1,4 +1,4 @@ -impl_deref in zingen::wasm - Rust

    Macro zingen::wasm::impl_deref

    source ·
    macro_rules! impl_deref {
    +impl_deref in zingen::wasm - Rust

    Macro zingen::wasm::impl_deref

    source ·
    macro_rules! impl_deref {
         ($doc:literal, $name:ident, $target:ty) => { ... };
         ($(($doc:literal, $name:ident, $target:ty)),*) => { ... };
     }
    \ No newline at end of file diff --git a/rustdocs/zingen/wasm/struct.Data.html b/rustdocs/zingen/wasm/struct.Data.html index 3471616bf..60f7dd21b 100644 --- a/rustdocs/zingen/wasm/struct.Data.html +++ b/rustdocs/zingen/wasm/struct.Data.html @@ -1,4 +1,4 @@ -Data in zingen::wasm - Rust

    Struct zingen::wasm::Data

    source ·
    pub struct Data(BTreeMap<i32, Vec<u8>>);
    Expand description

    Data section conversion

    +Data in zingen::wasm - Rust

    Struct zingen::wasm::Data

    source ·
    pub struct Data(BTreeMap<i32, Vec<u8>>);
    Expand description

    Data section conversion

    NOTE: current only support constant expression.

    Tuple Fields§

    §0: BTreeMap<i32, Vec<u8>>

    Implementations§

    source§

    impl Data

    source

    pub fn load(&self, offset: i32, size: usize) -> Result<Vec<u8>>

    Load data from offset and size

    Methods from Deref<Target = BTreeMap<i32, Vec<u8>>>§

    1.0.0 · source

    pub fn clear(&mut self)

    Clears the map, removing all elements.

    diff --git a/rustdocs/zingen/wasm/struct.Env.html b/rustdocs/zingen/wasm/struct.Env.html index 3a39a8d7a..72f2cc477 100644 --- a/rustdocs/zingen/wasm/struct.Env.html +++ b/rustdocs/zingen/wasm/struct.Env.html @@ -1,4 +1,4 @@ -Env in zingen::wasm - Rust

    Struct zingen::wasm::Env

    source ·
    pub struct Env {
    +Env in zingen::wasm - Rust

    Struct zingen::wasm::Env

    source ·
    pub struct Env {
         pub imports: Imports,
         pub exports: Exports,
         pub data: Data,
    diff --git a/rustdocs/zingen/wasm/struct.Exports.html b/rustdocs/zingen/wasm/struct.Exports.html
    index ea2ab610c..7c98d5fb8 100644
    --- a/rustdocs/zingen/wasm/struct.Exports.html
    +++ b/rustdocs/zingen/wasm/struct.Exports.html
    @@ -1,4 +1,4 @@
    -Exports in zingen::wasm - Rust

    Struct zingen::wasm::Exports

    source ·
    pub struct Exports(BTreeMap<u32, String>);
    Expand description

    WASM export section

    +Exports in zingen::wasm - Rust

    Struct zingen::wasm::Exports

    source ·
    pub struct Exports(BTreeMap<u32, String>);
    Expand description

    WASM export section

    Tuple Fields§

    §0: BTreeMap<u32, String>

    Implementations§

    source§

    impl Exports

    source

    pub fn selectors(&self) -> Vec<u32>

    Get all function selectors

    Methods from Deref<Target = BTreeMap<u32, String>>§

    1.0.0 · source

    pub fn clear(&mut self)

    Clears the map, removing all elements.

    §Examples
    diff --git a/rustdocs/zingen/wasm/struct.Function.html b/rustdocs/zingen/wasm/struct.Function.html index ecddb2a6a..7ed11bd69 100644 --- a/rustdocs/zingen/wasm/struct.Function.html +++ b/rustdocs/zingen/wasm/struct.Function.html @@ -1,4 +1,4 @@ -Function in zingen::wasm - Rust

    Struct zingen::wasm::Function

    source ·
    pub struct Function<'f> {
    +Function in zingen::wasm - Rust

    Struct zingen::wasm::Function

    source ·
    pub struct Function<'f> {
         pub validator: FuncValidator<ValidatorResources>,
         pub body: FunctionBody<'f>,
     }
    Expand description

    Function with validator.

    diff --git a/rustdocs/zingen/wasm/struct.Functions.html b/rustdocs/zingen/wasm/struct.Functions.html index ea751fcf9..d71dcf259 100644 --- a/rustdocs/zingen/wasm/struct.Functions.html +++ b/rustdocs/zingen/wasm/struct.Functions.html @@ -1,12 +1,11 @@ -Functions in zingen::wasm - Rust

    Struct zingen::wasm::Functions

    source ·
    pub struct Functions<'f>(BTreeMap<u32, Function<'f>>);
    Expand description

    WASM Functions by indexes.

    -

    Tuple Fields§

    §0: BTreeMap<u32, Function<'f>>

    Implementations§

    source§

    impl<'f> Functions<'f>

    source

    pub fn add( +Functions in zingen::wasm - Rust

    Struct zingen::wasm::Functions

    source ·
    pub struct Functions<'f>(BTreeMap<u32, Function<'f>>);
    Expand description

    WASM Functions by indexes.

    +

    Tuple Fields§

    §0: BTreeMap<u32, Function<'f>>

    Implementations§

    source§

    impl<'f> Functions<'f>

    source

    pub fn add( &mut self, validator: FuncValidator<ValidatorResources>, function: FunctionBody<'f>, )

    Add function to the list.

    -
    source

    pub fn remove_constructor(&mut self, exports: &Exports) -> Option<FuncType>

    Remove constructor function

    -
    source

    pub fn drain_selectors(&mut self, exports: &Exports) -> Self

    Remove all selector functions

    -
    source

    pub fn into_funcs(self) -> Vec<Function<'f>>

    Get all functions

    +
    source

    pub fn drain_selectors(&mut self, exports: &Exports) -> Self

    Remove all selector functions

    +
    source

    pub fn into_funcs(self) -> Vec<Function<'f>>

    Get all functions

    Methods from Deref<Target = BTreeMap<u32, Function<'f>>>§

    1.0.0 · source

    pub fn clear(&mut self)

    Clears the map, removing all elements.

    §Examples
    use std::collections::BTreeMap;
    @@ -581,7 +580,7 @@ 
    §Exampleslet mut cursor = map.upper_bound_mut(Bound::Unbounded); assert_eq!(cursor.peek_prev(), Some((&4, &mut "d"))); assert_eq!(cursor.peek_next(), None);
    -

    Trait Implementations§

    source§

    impl<'f> Default for Functions<'f>

    source§

    fn default() -> Functions<'f>

    Returns the “default value” for a type. Read more
    source§

    impl<'f> Deref for Functions<'f>

    source§

    type Target = BTreeMap<u32, Function<'f>>

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl<'f> DerefMut for Functions<'f>

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.

    Auto Trait Implementations§

    §

    impl<'f> Freeze for Functions<'f>

    §

    impl<'f> RefUnwindSafe for Functions<'f>

    §

    impl<'f> Send for Functions<'f>

    §

    impl<'f> Sync for Functions<'f>

    §

    impl<'f> Unpin for Functions<'f>

    §

    impl<'f> UnwindSafe for Functions<'f>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl<'f> Default for Functions<'f>

    source§

    fn default() -> Functions<'f>

    Returns the “default value” for a type. Read more
    source§

    impl<'f> Deref for Functions<'f>

    source§

    type Target = BTreeMap<u32, Function<'f>>

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl<'f> DerefMut for Functions<'f>

    source§

    fn deref_mut(&mut self) -> &mut Self::Target

    Mutably dereferences the value.

    Auto Trait Implementations§

    §

    impl<'f> Freeze for Functions<'f>

    §

    impl<'f> RefUnwindSafe for Functions<'f>

    §

    impl<'f> Send for Functions<'f>

    §

    impl<'f> Sync for Functions<'f>

    §

    impl<'f> Unpin for Functions<'f>

    §

    impl<'f> UnwindSafe for Functions<'f>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/rustdocs/zingen/wasm/struct.Imports.html b/rustdocs/zingen/wasm/struct.Imports.html index 7b3ebcbea..83116fdec 100644 --- a/rustdocs/zingen/wasm/struct.Imports.html +++ b/rustdocs/zingen/wasm/struct.Imports.html @@ -1,4 +1,4 @@ -Imports in zingen::wasm - Rust

    Struct zingen::wasm::Imports

    source ·
    pub struct Imports(BTreeMap<u32, HostFunc>);
    Expand description

    WASM import section

    +Imports in zingen::wasm - Rust

    Struct zingen::wasm::Imports

    source ·
    pub struct Imports(BTreeMap<u32, HostFunc>);
    Expand description

    WASM import section

    Tuple Fields§

    §0: BTreeMap<u32, HostFunc>

    Implementations§

    source§

    impl Imports

    source

    pub fn is_emit_abi(&self, index: u32) -> bool

    If the function is emit_abi.

    Methods from Deref<Target = BTreeMap<u32, HostFunc>>§

    1.0.0 · source

    pub fn clear(&mut self)

    Clears the map, removing all elements.

    §Examples
    diff --git a/rustdocs/zingen/wasm/trait.ToLSBytes.html b/rustdocs/zingen/wasm/trait.ToLSBytes.html index c42436efe..0367e529e 100644 --- a/rustdocs/zingen/wasm/trait.ToLSBytes.html +++ b/rustdocs/zingen/wasm/trait.ToLSBytes.html @@ -1,4 +1,4 @@ -ToLSBytes in zingen::wasm - Rust

    Trait zingen::wasm::ToLSBytes

    source ·
    pub trait ToLSBytes {
    +ToLSBytes in zingen::wasm - Rust

    Trait zingen::wasm::ToLSBytes

    source ·
    pub trait ToLSBytes {
         type Output: AsRef<[u8]>;
     
         // Required method
    diff --git a/rustdocs/zingen/wasm/trait.Type.html b/rustdocs/zingen/wasm/trait.Type.html
    index e50ec936f..e4340e294 100644
    --- a/rustdocs/zingen/wasm/trait.Type.html
    +++ b/rustdocs/zingen/wasm/trait.Type.html
    @@ -1,4 +1,4 @@
    -Type in zingen::wasm - Rust

    Trait zingen::wasm::Type

    source ·
    pub trait Type {
    +Type in zingen::wasm - Rust

    Trait zingen::wasm::Type

    source ·
    pub trait Type {
         // Required method
         fn size(&self) -> usize;
     
    diff --git a/rustdocs/zink/all.html b/rustdocs/zink/all.html
    index 59aeef6ec..c18dd3749 100644
    --- a/rustdocs/zink/all.html
    +++ b/rustdocs/zink/all.html
    @@ -1 +1 @@
    -List of all items in this crate
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/rustdocs/zink/asm/index.html b/rustdocs/zink/asm/index.html index 04a68243f..d651b2853 100644 --- a/rustdocs/zink/asm/index.html +++ b/rustdocs/zink/asm/index.html @@ -1,2 +1,2 @@ -zink::asm - Rust

    Module zink::asm

    source ·
    Expand description

    Assembly trait implementation.

    +zink::asm - Rust

    Module zink::asm

    source ·
    Expand description

    Assembly trait implementation.

    Macros§

    Traits§

    • Types implemented this trait are able to be pushed on stack.
    \ No newline at end of file diff --git a/rustdocs/zink/asm/macro.impl_asm.html b/rustdocs/zink/asm/macro.impl_asm.html index 470180cda..55e093214 100644 --- a/rustdocs/zink/asm/macro.impl_asm.html +++ b/rustdocs/zink/asm/macro.impl_asm.html @@ -1,4 +1,4 @@ -impl_asm in zink::asm - Rust

    Macro zink::asm::impl_asm

    source ·
    macro_rules! impl_asm {
    +impl_asm in zink::asm - Rust

    Macro zink::asm::impl_asm

    source ·
    macro_rules! impl_asm {
         ($ty:ident) => { ... };
         ($len:expr) => { ... };
         ($($ty:tt),+) => { ... };
    diff --git a/rustdocs/zink/asm/trait.Asm.html b/rustdocs/zink/asm/trait.Asm.html
    index 207857762..2d8de5ea9 100644
    --- a/rustdocs/zink/asm/trait.Asm.html
    +++ b/rustdocs/zink/asm/trait.Asm.html
    @@ -1,4 +1,4 @@
    -Asm in zink::asm - Rust

    Trait zink::asm::Asm

    source ·
    pub trait Asm {
    +Asm in zink::asm - Rust

    Trait zink::asm::Asm

    source ·
    pub trait Asm {
         // Required method
         fn push(self);
     }
    Expand description

    Types implemented this trait are able to be pushed on stack.

    diff --git a/rustdocs/zink/attr.constructor.html b/rustdocs/zink/attr.constructor.html deleted file mode 100644 index 5332f6e62..000000000 --- a/rustdocs/zink/attr.constructor.html +++ /dev/null @@ -1,2 +0,0 @@ -constructor in zink - Rust

    Attribute Macro zink::constructor

    #[constructor]
    Expand description

    Mark the function as constructor

    -
    \ No newline at end of file diff --git a/rustdocs/zink/attr.external.html b/rustdocs/zink/attr.external.html index 696658632..9cfb111a6 100644 --- a/rustdocs/zink/attr.external.html +++ b/rustdocs/zink/attr.external.html @@ -1,2 +1,2 @@ -external in zink - Rust

    Attribute Macro zink::external

    #[external]
    Expand description

    Mark the function as an external entry point.

    +external in zink - Rust

    Attribute Macro zink::external

    #[external]
    Expand description

    Mark the function as an external entry point.

    \ No newline at end of file diff --git a/rustdocs/zink/attr.storage.html b/rustdocs/zink/attr.storage.html index 8a2611325..f571a7905 100644 --- a/rustdocs/zink/attr.storage.html +++ b/rustdocs/zink/attr.storage.html @@ -1,4 +1,4 @@ -storage in zink - Rust

    Attribute Macro zink::storage

    #[storage]
    Expand description

    Order-based storage macro. +storage in zink - Rust

    Attribute Macro zink::storage

    #[storage]
    Expand description

    Order-based storage macro. Currently only i32 is supported

    use zink::storage;
    diff --git a/rustdocs/zink/derive.Event.html b/rustdocs/zink/derive.Event.html
    index d8e527a7e..fd67bc676 100644
    --- a/rustdocs/zink/derive.Event.html
    +++ b/rustdocs/zink/derive.Event.html
    @@ -1,4 +1,4 @@
    -Event in zink - Rust

    Derive Macro zink::Event

    #[derive(Event)]
    Expand description

    Event logging interface

    +Event in zink - Rust

    Derive Macro zink::Event

    #[derive(Event)]
    Expand description

    Event logging interface

    use zink::Event;
     
    diff --git a/rustdocs/zink/event/index.html b/rustdocs/zink/event/index.html
    index d8db0b48e..17c8f6839 100644
    --- a/rustdocs/zink/event/index.html
    +++ b/rustdocs/zink/event/index.html
    @@ -1,2 +1,2 @@
    -zink::event - Rust

    Module zink::event

    source ·
    Expand description

    Public traits for the EVM interfaces

    +zink::event - Rust

    Module zink::event

    source ·
    Expand description

    Public traits for the EVM interfaces

    Traits§

    • Zink event interface
    \ No newline at end of file diff --git a/rustdocs/zink/event/trait.Event.html b/rustdocs/zink/event/trait.Event.html index 51a914222..f76f14ee2 100644 --- a/rustdocs/zink/event/trait.Event.html +++ b/rustdocs/zink/event/trait.Event.html @@ -1,4 +1,4 @@ -Event in zink::event - Rust

    Trait zink::event::Event

    source ·
    pub trait Event {
    +Event in zink::event - Rust

    Trait zink::event::Event

    source ·
    pub trait Event {
         const NAME: &'static [u8];
     
         // Provided methods
    diff --git a/rustdocs/zink/ffi/asm/fn.push_i16.html b/rustdocs/zink/ffi/asm/fn.push_i16.html
    index 82b1b0db0..a2927ed03 100644
    --- a/rustdocs/zink/ffi/asm/fn.push_i16.html
    +++ b/rustdocs/zink/ffi/asm/fn.push_i16.html
    @@ -1,2 +1,2 @@
    -push_i16 in zink::ffi::asm - Rust

    Function zink::ffi::asm::push_i16

    source ·
    pub unsafe extern "C" fn push_i16(val: i16)
    Expand description

    Push a 16-bit signed integer to the stack.

    +push_i16 in zink::ffi::asm - Rust

    Function zink::ffi::asm::push_i16

    source ·
    pub unsafe extern "C" fn push_i16(val: i16)
    Expand description

    Push a 16-bit signed integer to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/asm/fn.push_i32.html b/rustdocs/zink/ffi/asm/fn.push_i32.html index 87b5091c1..e44b183f3 100644 --- a/rustdocs/zink/ffi/asm/fn.push_i32.html +++ b/rustdocs/zink/ffi/asm/fn.push_i32.html @@ -1,2 +1,2 @@ -push_i32 in zink::ffi::asm - Rust

    Function zink::ffi::asm::push_i32

    source ·
    pub unsafe extern "C" fn push_i32(val: i32)
    Expand description

    Push a 32-bit signed integer to the stack.

    +push_i32 in zink::ffi::asm - Rust

    Function zink::ffi::asm::push_i32

    source ·
    pub unsafe extern "C" fn push_i32(val: i32)
    Expand description

    Push a 32-bit signed integer to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/asm/fn.push_i64.html b/rustdocs/zink/ffi/asm/fn.push_i64.html index d226fc6a2..2b440abd1 100644 --- a/rustdocs/zink/ffi/asm/fn.push_i64.html +++ b/rustdocs/zink/ffi/asm/fn.push_i64.html @@ -1,2 +1,2 @@ -push_i64 in zink::ffi::asm - Rust

    Function zink::ffi::asm::push_i64

    source ·
    pub unsafe extern "C" fn push_i64(val: i64)
    Expand description

    Push a 64-bit signed integer to the stack.

    +push_i64 in zink::ffi::asm - Rust

    Function zink::ffi::asm::push_i64

    source ·
    pub unsafe extern "C" fn push_i64(val: i64)
    Expand description

    Push a 64-bit signed integer to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/asm/fn.push_i8.html b/rustdocs/zink/ffi/asm/fn.push_i8.html index 357d07846..61db3a467 100644 --- a/rustdocs/zink/ffi/asm/fn.push_i8.html +++ b/rustdocs/zink/ffi/asm/fn.push_i8.html @@ -1,2 +1,2 @@ -push_i8 in zink::ffi::asm - Rust

    Function zink::ffi::asm::push_i8

    source ·
    pub unsafe extern "C" fn push_i8(val: i8)
    Expand description

    Push a 8-bit signed integer to the stack.

    +push_i8 in zink::ffi::asm - Rust

    Function zink::ffi::asm::push_i8

    source ·
    pub unsafe extern "C" fn push_i8(val: i8)
    Expand description

    Push a 8-bit signed integer to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/asm/fn.push_u16.html b/rustdocs/zink/ffi/asm/fn.push_u16.html index d95ec6cee..9ee5c4d59 100644 --- a/rustdocs/zink/ffi/asm/fn.push_u16.html +++ b/rustdocs/zink/ffi/asm/fn.push_u16.html @@ -1,2 +1,2 @@ -push_u16 in zink::ffi::asm - Rust

    Function zink::ffi::asm::push_u16

    source ·
    pub unsafe extern "C" fn push_u16(val: u16)
    Expand description

    Push a 16-bit unsigned integer to the stack.

    +push_u16 in zink::ffi::asm - Rust

    Function zink::ffi::asm::push_u16

    source ·
    pub unsafe extern "C" fn push_u16(val: u16)
    Expand description

    Push a 16-bit unsigned integer to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/asm/fn.push_u32.html b/rustdocs/zink/ffi/asm/fn.push_u32.html index 8dedfd376..f4691fb68 100644 --- a/rustdocs/zink/ffi/asm/fn.push_u32.html +++ b/rustdocs/zink/ffi/asm/fn.push_u32.html @@ -1,2 +1,2 @@ -push_u32 in zink::ffi::asm - Rust

    Function zink::ffi::asm::push_u32

    source ·
    pub unsafe extern "C" fn push_u32(val: u32)
    Expand description

    Push a 32-bit unsigned integer to the stack.

    +push_u32 in zink::ffi::asm - Rust

    Function zink::ffi::asm::push_u32

    source ·
    pub unsafe extern "C" fn push_u32(val: u32)
    Expand description

    Push a 32-bit unsigned integer to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/asm/fn.push_u64.html b/rustdocs/zink/ffi/asm/fn.push_u64.html index fb8476489..267119479 100644 --- a/rustdocs/zink/ffi/asm/fn.push_u64.html +++ b/rustdocs/zink/ffi/asm/fn.push_u64.html @@ -1,2 +1,2 @@ -push_u64 in zink::ffi::asm - Rust

    Function zink::ffi::asm::push_u64

    source ·
    pub unsafe extern "C" fn push_u64(val: u64)
    Expand description

    Push a 64-bit unsigned integer to the stack.

    +push_u64 in zink::ffi::asm - Rust

    Function zink::ffi::asm::push_u64

    source ·
    pub unsafe extern "C" fn push_u64(val: u64)
    Expand description

    Push a 64-bit unsigned integer to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/asm/fn.push_u8.html b/rustdocs/zink/ffi/asm/fn.push_u8.html index e4a9352d3..01c4a14d4 100644 --- a/rustdocs/zink/ffi/asm/fn.push_u8.html +++ b/rustdocs/zink/ffi/asm/fn.push_u8.html @@ -1,2 +1,2 @@ -push_u8 in zink::ffi::asm - Rust

    Function zink::ffi::asm::push_u8

    source ·
    pub unsafe extern "C" fn push_u8(val: u8)
    Expand description

    Push a 8-bit unsigned integer to the stack.

    +push_u8 in zink::ffi::asm - Rust

    Function zink::ffi::asm::push_u8

    source ·
    pub unsafe extern "C" fn push_u8(val: u8)
    Expand description

    Push a 8-bit unsigned integer to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/asm/fn.sload_i16.html b/rustdocs/zink/ffi/asm/fn.sload_i16.html index b1785469d..e2b20ee34 100644 --- a/rustdocs/zink/ffi/asm/fn.sload_i16.html +++ b/rustdocs/zink/ffi/asm/fn.sload_i16.html @@ -1,2 +1,2 @@ -sload_i16 in zink::ffi::asm - Rust

    Function zink::ffi::asm::sload_i16

    source ·
    pub unsafe extern "C" fn sload_i16() -> i16
    Expand description

    Load a 16-bit signed integer from the storage.

    +sload_i16 in zink::ffi::asm - Rust

    Function zink::ffi::asm::sload_i16

    source ·
    pub unsafe extern "C" fn sload_i16() -> i16
    Expand description

    Load a 16-bit signed integer from the storage.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/asm/fn.sload_i32.html b/rustdocs/zink/ffi/asm/fn.sload_i32.html index fb90fe150..80224cd3d 100644 --- a/rustdocs/zink/ffi/asm/fn.sload_i32.html +++ b/rustdocs/zink/ffi/asm/fn.sload_i32.html @@ -1,2 +1,2 @@ -sload_i32 in zink::ffi::asm - Rust

    Function zink::ffi::asm::sload_i32

    source ·
    pub unsafe extern "C" fn sload_i32() -> i32
    Expand description

    Load a 32-bit signed integer from the storage.

    +sload_i32 in zink::ffi::asm - Rust

    Function zink::ffi::asm::sload_i32

    source ·
    pub unsafe extern "C" fn sload_i32() -> i32
    Expand description

    Load a 32-bit signed integer from the storage.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/asm/fn.sload_i64.html b/rustdocs/zink/ffi/asm/fn.sload_i64.html index 9a978fcd4..925445bcb 100644 --- a/rustdocs/zink/ffi/asm/fn.sload_i64.html +++ b/rustdocs/zink/ffi/asm/fn.sload_i64.html @@ -1,2 +1,2 @@ -sload_i64 in zink::ffi::asm - Rust

    Function zink::ffi::asm::sload_i64

    source ·
    pub unsafe extern "C" fn sload_i64() -> i64
    Expand description

    Load a 64-bit signed integer from the storage.

    +sload_i64 in zink::ffi::asm - Rust

    Function zink::ffi::asm::sload_i64

    source ·
    pub unsafe extern "C" fn sload_i64() -> i64
    Expand description

    Load a 64-bit signed integer from the storage.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/asm/fn.sload_i8.html b/rustdocs/zink/ffi/asm/fn.sload_i8.html index 5ef9b1481..4a6d9d07a 100644 --- a/rustdocs/zink/ffi/asm/fn.sload_i8.html +++ b/rustdocs/zink/ffi/asm/fn.sload_i8.html @@ -1,2 +1,2 @@ -sload_i8 in zink::ffi::asm - Rust

    Function zink::ffi::asm::sload_i8

    source ·
    pub unsafe extern "C" fn sload_i8() -> i8
    Expand description

    Load a 8-bit signed integer from the storage.

    +sload_i8 in zink::ffi::asm - Rust

    Function zink::ffi::asm::sload_i8

    source ·
    pub unsafe extern "C" fn sload_i8() -> i8
    Expand description

    Load a 8-bit signed integer from the storage.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/asm/fn.sload_u16.html b/rustdocs/zink/ffi/asm/fn.sload_u16.html index cbf40f232..8bd3bd7b8 100644 --- a/rustdocs/zink/ffi/asm/fn.sload_u16.html +++ b/rustdocs/zink/ffi/asm/fn.sload_u16.html @@ -1,2 +1,2 @@ -sload_u16 in zink::ffi::asm - Rust

    Function zink::ffi::asm::sload_u16

    source ·
    pub unsafe extern "C" fn sload_u16() -> u16
    Expand description

    Load a 16-bit unsigned integer from the storage.

    +sload_u16 in zink::ffi::asm - Rust

    Function zink::ffi::asm::sload_u16

    source ·
    pub unsafe extern "C" fn sload_u16() -> u16
    Expand description

    Load a 16-bit unsigned integer from the storage.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/asm/fn.sload_u32.html b/rustdocs/zink/ffi/asm/fn.sload_u32.html index 15fdc55b1..2dc400655 100644 --- a/rustdocs/zink/ffi/asm/fn.sload_u32.html +++ b/rustdocs/zink/ffi/asm/fn.sload_u32.html @@ -1,2 +1,2 @@ -sload_u32 in zink::ffi::asm - Rust

    Function zink::ffi::asm::sload_u32

    source ·
    pub unsafe extern "C" fn sload_u32() -> u32
    Expand description

    Load a 32-bit unsigned integer from the storage.

    +sload_u32 in zink::ffi::asm - Rust

    Function zink::ffi::asm::sload_u32

    source ·
    pub unsafe extern "C" fn sload_u32() -> u32
    Expand description

    Load a 32-bit unsigned integer from the storage.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/asm/fn.sload_u64.html b/rustdocs/zink/ffi/asm/fn.sload_u64.html index 973387b87..935523930 100644 --- a/rustdocs/zink/ffi/asm/fn.sload_u64.html +++ b/rustdocs/zink/ffi/asm/fn.sload_u64.html @@ -1,2 +1,2 @@ -sload_u64 in zink::ffi::asm - Rust

    Function zink::ffi::asm::sload_u64

    source ·
    pub unsafe extern "C" fn sload_u64() -> u64
    Expand description

    Load a 64-bit unsigned integer from the storage.

    +sload_u64 in zink::ffi::asm - Rust

    Function zink::ffi::asm::sload_u64

    source ·
    pub unsafe extern "C" fn sload_u64() -> u64
    Expand description

    Load a 64-bit unsigned integer from the storage.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/asm/fn.sload_u8.html b/rustdocs/zink/ffi/asm/fn.sload_u8.html index fa4c99f8a..921867df2 100644 --- a/rustdocs/zink/ffi/asm/fn.sload_u8.html +++ b/rustdocs/zink/ffi/asm/fn.sload_u8.html @@ -1,2 +1,2 @@ -sload_u8 in zink::ffi::asm - Rust

    Function zink::ffi::asm::sload_u8

    source ·
    pub unsafe extern "C" fn sload_u8() -> u8
    Expand description

    Load a 8-bit unsigned integer from the storage.

    +sload_u8 in zink::ffi::asm - Rust

    Function zink::ffi::asm::sload_u8

    source ·
    pub unsafe extern "C" fn sload_u8() -> u8
    Expand description

    Load a 8-bit unsigned integer from the storage.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/asm/index.html b/rustdocs/zink/ffi/asm/index.html index f160e431c..e61401067 100644 --- a/rustdocs/zink/ffi/asm/index.html +++ b/rustdocs/zink/ffi/asm/index.html @@ -1,2 +1,2 @@ -zink::ffi::asm - Rust

    Module zink::ffi::asm

    source ·
    Expand description

    Assembly FFI.

    +zink::ffi::asm - Rust

    Module zink::ffi::asm

    source ·
    Expand description

    Assembly FFI.

    Functions§

    • Push a 8-bit signed integer to the stack.
    • Push a 16-bit signed integer to the stack.
    • Push a 32-bit signed integer to the stack.
    • Push a 64-bit signed integer to the stack.
    • Push a 8-bit unsigned integer to the stack.
    • Push a 16-bit unsigned integer to the stack.
    • Push a 32-bit unsigned integer to the stack.
    • Push a 64-bit unsigned integer to the stack.
    • Load a 8-bit signed integer from the storage.
    • Load a 16-bit signed integer from the storage.
    • Load a 32-bit signed integer from the storage.
    • Load a 64-bit signed integer from the storage.
    • Load a 8-bit unsigned integer from the storage.
    • Load a 16-bit unsigned integer from the storage.
    • Load a 32-bit unsigned integer from the storage.
    • Load a 64-bit unsigned integer from the storage.
    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.log0.html b/rustdocs/zink/ffi/evm/fn.log0.html index 288c3407b..3114214b0 100644 --- a/rustdocs/zink/ffi/evm/fn.log0.html +++ b/rustdocs/zink/ffi/evm/fn.log0.html @@ -1,2 +1,2 @@ -log0 in zink::ffi::evm - Rust

    Function zink::ffi::evm::log0

    source ·
    pub unsafe extern "C" fn log0(name: &'static [u8])
    Expand description

    Append log record with no topics

    +log0 in zink::ffi::evm - Rust

    Function zink::ffi::evm::log0

    source ·
    pub unsafe extern "C" fn log0(name: &'static [u8])
    Expand description

    Append log record with no topics

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.log1.html b/rustdocs/zink/ffi/evm/fn.log1.html index e9146176d..fed8ce7e0 100644 --- a/rustdocs/zink/ffi/evm/fn.log1.html +++ b/rustdocs/zink/ffi/evm/fn.log1.html @@ -1,4 +1,4 @@ -log1 in zink::ffi::evm - Rust

    Function zink::ffi::evm::log1

    source ·
    pub unsafe extern "C" fn log1(
    +log1 in zink::ffi::evm - Rust

    Function zink::ffi::evm::log1

    source ·
    pub unsafe extern "C" fn log1(
         name: &'static [u8],
         topic1: &'static [u8],
     )
    Expand description

    Append log record with one topics

    diff --git a/rustdocs/zink/ffi/evm/fn.log2.html b/rustdocs/zink/ffi/evm/fn.log2.html index 40f8da6d4..f0a4d7834 100644 --- a/rustdocs/zink/ffi/evm/fn.log2.html +++ b/rustdocs/zink/ffi/evm/fn.log2.html @@ -1,4 +1,4 @@ -log2 in zink::ffi::evm - Rust

    Function zink::ffi::evm::log2

    source ·
    pub unsafe extern "C" fn log2(
    +log2 in zink::ffi::evm - Rust

    Function zink::ffi::evm::log2

    source ·
    pub unsafe extern "C" fn log2(
         name: &'static [u8],
         topic1: &'static [u8],
         topic2: &'static [u8],
    diff --git a/rustdocs/zink/ffi/evm/fn.log3.html b/rustdocs/zink/ffi/evm/fn.log3.html
    index 396011d6b..25782f7bd 100644
    --- a/rustdocs/zink/ffi/evm/fn.log3.html
    +++ b/rustdocs/zink/ffi/evm/fn.log3.html
    @@ -1,4 +1,4 @@
    -log3 in zink::ffi::evm - Rust

    Function zink::ffi::evm::log3

    source ·
    pub unsafe extern "C" fn log3(
    +log3 in zink::ffi::evm - Rust

    Function zink::ffi::evm::log3

    source ·
    pub unsafe extern "C" fn log3(
         name: &'static [u8],
         topic1: &'static [u8],
         topic2: &'static [u8],
    diff --git a/rustdocs/zink/ffi/evm/fn.log4.html b/rustdocs/zink/ffi/evm/fn.log4.html
    index 0c5d77ed8..cd095fb0b 100644
    --- a/rustdocs/zink/ffi/evm/fn.log4.html
    +++ b/rustdocs/zink/ffi/evm/fn.log4.html
    @@ -1,4 +1,4 @@
    -log4 in zink::ffi::evm - Rust

    Function zink::ffi::evm::log4

    source ·
    pub unsafe extern "C" fn log4(
    +log4 in zink::ffi::evm - Rust

    Function zink::ffi::evm::log4

    source ·
    pub unsafe extern "C" fn log4(
         name: &'static [u8],
         topic1: &'static [u8],
         topic2: &'static [u8],
    diff --git a/rustdocs/zink/ffi/evm/fn.push0.html b/rustdocs/zink/ffi/evm/fn.push0.html
    index 0c178f2f0..e6b50bd4f 100644
    --- a/rustdocs/zink/ffi/evm/fn.push0.html
    +++ b/rustdocs/zink/ffi/evm/fn.push0.html
    @@ -1,2 +1,2 @@
    -push0 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push0

    source ·
    pub unsafe extern "C" fn push0()
    Expand description

    Push 1 byte to the stack.

    +push0 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push0

    source ·
    pub unsafe extern "C" fn push0()
    Expand description

    Push 1 byte to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push1.html b/rustdocs/zink/ffi/evm/fn.push1.html index 29f749a3d..0a1e9669d 100644 --- a/rustdocs/zink/ffi/evm/fn.push1.html +++ b/rustdocs/zink/ffi/evm/fn.push1.html @@ -1,2 +1,2 @@ -push1 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push1

    source ·
    pub unsafe extern "C" fn push1(val: i32)
    Expand description

    Push 1 byte to the stack.

    +push1 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push1

    source ·
    pub unsafe extern "C" fn push1(val: i32)
    Expand description

    Push 1 byte to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push10.html b/rustdocs/zink/ffi/evm/fn.push10.html index 745ef353d..bea86d9ba 100644 --- a/rustdocs/zink/ffi/evm/fn.push10.html +++ b/rustdocs/zink/ffi/evm/fn.push10.html @@ -1,2 +1,2 @@ -push10 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push10

    source ·
    pub unsafe extern "C" fn push10(val: i32)
    Expand description

    Push 10 bytes to the stack.

    +push10 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push10

    source ·
    pub unsafe extern "C" fn push10(val: i32)
    Expand description

    Push 10 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push11.html b/rustdocs/zink/ffi/evm/fn.push11.html index 94be248c0..b658218ce 100644 --- a/rustdocs/zink/ffi/evm/fn.push11.html +++ b/rustdocs/zink/ffi/evm/fn.push11.html @@ -1,2 +1,2 @@ -push11 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push11

    source ·
    pub unsafe extern "C" fn push11(val: i32)
    Expand description

    Push 11 bytes to the stack.

    +push11 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push11

    source ·
    pub unsafe extern "C" fn push11(val: i32)
    Expand description

    Push 11 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push12.html b/rustdocs/zink/ffi/evm/fn.push12.html index 7246d0075..5057db870 100644 --- a/rustdocs/zink/ffi/evm/fn.push12.html +++ b/rustdocs/zink/ffi/evm/fn.push12.html @@ -1,2 +1,2 @@ -push12 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push12

    source ·
    pub unsafe extern "C" fn push12(val: i32)
    Expand description

    Push 12 bytes to the stack.

    +push12 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push12

    source ·
    pub unsafe extern "C" fn push12(val: i32)
    Expand description

    Push 12 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push13.html b/rustdocs/zink/ffi/evm/fn.push13.html index d7556a076..4aad0c022 100644 --- a/rustdocs/zink/ffi/evm/fn.push13.html +++ b/rustdocs/zink/ffi/evm/fn.push13.html @@ -1,2 +1,2 @@ -push13 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push13

    source ·
    pub unsafe extern "C" fn push13(val: i32)
    Expand description

    Push 13 bytes to the stack.

    +push13 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push13

    source ·
    pub unsafe extern "C" fn push13(val: i32)
    Expand description

    Push 13 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push14.html b/rustdocs/zink/ffi/evm/fn.push14.html index ae10fd891..97951509d 100644 --- a/rustdocs/zink/ffi/evm/fn.push14.html +++ b/rustdocs/zink/ffi/evm/fn.push14.html @@ -1,2 +1,2 @@ -push14 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push14

    source ·
    pub unsafe extern "C" fn push14(val: i32)
    Expand description

    Push 14 bytes to the stack.

    +push14 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push14

    source ·
    pub unsafe extern "C" fn push14(val: i32)
    Expand description

    Push 14 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push15.html b/rustdocs/zink/ffi/evm/fn.push15.html index 1d46d61d5..1459eb9f4 100644 --- a/rustdocs/zink/ffi/evm/fn.push15.html +++ b/rustdocs/zink/ffi/evm/fn.push15.html @@ -1,2 +1,2 @@ -push15 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push15

    source ·
    pub unsafe extern "C" fn push15(val: i32)
    Expand description

    Push 15 bytes to the stack.

    +push15 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push15

    source ·
    pub unsafe extern "C" fn push15(val: i32)
    Expand description

    Push 15 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push16.html b/rustdocs/zink/ffi/evm/fn.push16.html index d91a5c2dc..370ee01bf 100644 --- a/rustdocs/zink/ffi/evm/fn.push16.html +++ b/rustdocs/zink/ffi/evm/fn.push16.html @@ -1,2 +1,2 @@ -push16 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push16

    source ·
    pub unsafe extern "C" fn push16(val: i32)
    Expand description

    Push 16 bytes to the stack.

    +push16 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push16

    source ·
    pub unsafe extern "C" fn push16(val: i32)
    Expand description

    Push 16 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push17.html b/rustdocs/zink/ffi/evm/fn.push17.html index 983df8c5f..43e8bb33b 100644 --- a/rustdocs/zink/ffi/evm/fn.push17.html +++ b/rustdocs/zink/ffi/evm/fn.push17.html @@ -1,2 +1,2 @@ -push17 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push17

    source ·
    pub unsafe extern "C" fn push17(val: i32)
    Expand description

    Push 17 bytes to the stack.

    +push17 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push17

    source ·
    pub unsafe extern "C" fn push17(val: i32)
    Expand description

    Push 17 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push18.html b/rustdocs/zink/ffi/evm/fn.push18.html index 0e51fed1d..caeaf2170 100644 --- a/rustdocs/zink/ffi/evm/fn.push18.html +++ b/rustdocs/zink/ffi/evm/fn.push18.html @@ -1,2 +1,2 @@ -push18 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push18

    source ·
    pub unsafe extern "C" fn push18(val: i32)
    Expand description

    Push 18 bytes to the stack.

    +push18 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push18

    source ·
    pub unsafe extern "C" fn push18(val: i32)
    Expand description

    Push 18 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push19.html b/rustdocs/zink/ffi/evm/fn.push19.html index 166bce808..13f0f9e6a 100644 --- a/rustdocs/zink/ffi/evm/fn.push19.html +++ b/rustdocs/zink/ffi/evm/fn.push19.html @@ -1,2 +1,2 @@ -push19 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push19

    source ·
    pub unsafe extern "C" fn push19(val: i32)
    Expand description

    Push 19 bytes to the stack.

    +push19 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push19

    source ·
    pub unsafe extern "C" fn push19(val: i32)
    Expand description

    Push 19 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push2.html b/rustdocs/zink/ffi/evm/fn.push2.html index e21dc20e2..e80ca1614 100644 --- a/rustdocs/zink/ffi/evm/fn.push2.html +++ b/rustdocs/zink/ffi/evm/fn.push2.html @@ -1,2 +1,2 @@ -push2 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push2

    source ·
    pub unsafe extern "C" fn push2(val: i32)
    Expand description

    Push 2 bytes to the stack.

    +push2 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push2

    source ·
    pub unsafe extern "C" fn push2(val: i32)
    Expand description

    Push 2 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push20.html b/rustdocs/zink/ffi/evm/fn.push20.html index 4b0bd44e1..f0cf61ec8 100644 --- a/rustdocs/zink/ffi/evm/fn.push20.html +++ b/rustdocs/zink/ffi/evm/fn.push20.html @@ -1,2 +1,2 @@ -push20 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push20

    source ·
    pub unsafe extern "C" fn push20(val: i32)
    Expand description

    Push 20 bytes to the stack.

    +push20 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push20

    source ·
    pub unsafe extern "C" fn push20(val: i32)
    Expand description

    Push 20 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push21.html b/rustdocs/zink/ffi/evm/fn.push21.html index f3b6c1867..c854be7f3 100644 --- a/rustdocs/zink/ffi/evm/fn.push21.html +++ b/rustdocs/zink/ffi/evm/fn.push21.html @@ -1,2 +1,2 @@ -push21 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push21

    source ·
    pub unsafe extern "C" fn push21(val: i32)
    Expand description

    Push 21 bytes to the stack.

    +push21 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push21

    source ·
    pub unsafe extern "C" fn push21(val: i32)
    Expand description

    Push 21 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push22.html b/rustdocs/zink/ffi/evm/fn.push22.html index c442bb703..91a822530 100644 --- a/rustdocs/zink/ffi/evm/fn.push22.html +++ b/rustdocs/zink/ffi/evm/fn.push22.html @@ -1,2 +1,2 @@ -push22 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push22

    source ·
    pub unsafe extern "C" fn push22(val: i32)
    Expand description

    Push 22 bytes to the stack.

    +push22 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push22

    source ·
    pub unsafe extern "C" fn push22(val: i32)
    Expand description

    Push 22 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push23.html b/rustdocs/zink/ffi/evm/fn.push23.html index 0b03d08ae..4222dfe66 100644 --- a/rustdocs/zink/ffi/evm/fn.push23.html +++ b/rustdocs/zink/ffi/evm/fn.push23.html @@ -1,2 +1,2 @@ -push23 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push23

    source ·
    pub unsafe extern "C" fn push23(val: i32)
    Expand description

    Push 23 bytes to the stack.

    +push23 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push23

    source ·
    pub unsafe extern "C" fn push23(val: i32)
    Expand description

    Push 23 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push24.html b/rustdocs/zink/ffi/evm/fn.push24.html index 5fb680185..e52292b9f 100644 --- a/rustdocs/zink/ffi/evm/fn.push24.html +++ b/rustdocs/zink/ffi/evm/fn.push24.html @@ -1,2 +1,2 @@ -push24 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push24

    source ·
    pub unsafe extern "C" fn push24(val: i32)
    Expand description

    Push 24 bytes to the stack.

    +push24 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push24

    source ·
    pub unsafe extern "C" fn push24(val: i32)
    Expand description

    Push 24 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push25.html b/rustdocs/zink/ffi/evm/fn.push25.html index c1a8f711e..491315538 100644 --- a/rustdocs/zink/ffi/evm/fn.push25.html +++ b/rustdocs/zink/ffi/evm/fn.push25.html @@ -1,2 +1,2 @@ -push25 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push25

    source ·
    pub unsafe extern "C" fn push25(val: i32)
    Expand description

    Push 25 bytes to the stack.

    +push25 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push25

    source ·
    pub unsafe extern "C" fn push25(val: i32)
    Expand description

    Push 25 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push26.html b/rustdocs/zink/ffi/evm/fn.push26.html index dd6d3447d..b9dd7cf17 100644 --- a/rustdocs/zink/ffi/evm/fn.push26.html +++ b/rustdocs/zink/ffi/evm/fn.push26.html @@ -1,2 +1,2 @@ -push26 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push26

    source ·
    pub unsafe extern "C" fn push26(val: i32)
    Expand description

    Push 26 bytes to the stack.

    +push26 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push26

    source ·
    pub unsafe extern "C" fn push26(val: i32)
    Expand description

    Push 26 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push27.html b/rustdocs/zink/ffi/evm/fn.push27.html index fc7e227c1..526a20ce2 100644 --- a/rustdocs/zink/ffi/evm/fn.push27.html +++ b/rustdocs/zink/ffi/evm/fn.push27.html @@ -1,2 +1,2 @@ -push27 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push27

    source ·
    pub unsafe extern "C" fn push27(val: i32)
    Expand description

    Push 27 bytes to the stack.

    +push27 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push27

    source ·
    pub unsafe extern "C" fn push27(val: i32)
    Expand description

    Push 27 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push28.html b/rustdocs/zink/ffi/evm/fn.push28.html index 562233983..2186f5fe9 100644 --- a/rustdocs/zink/ffi/evm/fn.push28.html +++ b/rustdocs/zink/ffi/evm/fn.push28.html @@ -1,2 +1,2 @@ -push28 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push28

    source ·
    pub unsafe extern "C" fn push28(val: i32)
    Expand description

    Push 28 bytes to the stack.

    +push28 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push28

    source ·
    pub unsafe extern "C" fn push28(val: i32)
    Expand description

    Push 28 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push29.html b/rustdocs/zink/ffi/evm/fn.push29.html index f7290e829..6038053a2 100644 --- a/rustdocs/zink/ffi/evm/fn.push29.html +++ b/rustdocs/zink/ffi/evm/fn.push29.html @@ -1,2 +1,2 @@ -push29 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push29

    source ·
    pub unsafe extern "C" fn push29(val: i32)
    Expand description

    Push 29 bytes to the stack.

    +push29 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push29

    source ·
    pub unsafe extern "C" fn push29(val: i32)
    Expand description

    Push 29 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push3.html b/rustdocs/zink/ffi/evm/fn.push3.html index 936ae4329..aac64c884 100644 --- a/rustdocs/zink/ffi/evm/fn.push3.html +++ b/rustdocs/zink/ffi/evm/fn.push3.html @@ -1,2 +1,2 @@ -push3 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push3

    source ·
    pub unsafe extern "C" fn push3(val: i32)
    Expand description

    Push 3 bytes to the stack.

    +push3 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push3

    source ·
    pub unsafe extern "C" fn push3(val: i32)
    Expand description

    Push 3 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push30.html b/rustdocs/zink/ffi/evm/fn.push30.html index 273440d2b..0b35a77e9 100644 --- a/rustdocs/zink/ffi/evm/fn.push30.html +++ b/rustdocs/zink/ffi/evm/fn.push30.html @@ -1,2 +1,2 @@ -push30 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push30

    source ·
    pub unsafe extern "C" fn push30(val: i32)
    Expand description

    Push 30 bytes to the stack.

    +push30 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push30

    source ·
    pub unsafe extern "C" fn push30(val: i32)
    Expand description

    Push 30 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push31.html b/rustdocs/zink/ffi/evm/fn.push31.html index dcbf9d995..0c8c46ff9 100644 --- a/rustdocs/zink/ffi/evm/fn.push31.html +++ b/rustdocs/zink/ffi/evm/fn.push31.html @@ -1,2 +1,2 @@ -push31 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push31

    source ·
    pub unsafe extern "C" fn push31(val: i32)
    Expand description

    Push 31 bytes to the stack.

    +push31 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push31

    source ·
    pub unsafe extern "C" fn push31(val: i32)
    Expand description

    Push 31 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push32.html b/rustdocs/zink/ffi/evm/fn.push32.html index ce2ed2042..61cc34ad6 100644 --- a/rustdocs/zink/ffi/evm/fn.push32.html +++ b/rustdocs/zink/ffi/evm/fn.push32.html @@ -1,2 +1,2 @@ -push32 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push32

    source ·
    pub unsafe extern "C" fn push32(val: i32)
    Expand description

    Push 32 bytes to the stack.

    +push32 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push32

    source ·
    pub unsafe extern "C" fn push32(val: i32)
    Expand description

    Push 32 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push4.html b/rustdocs/zink/ffi/evm/fn.push4.html index 2292cf095..ad1bec0df 100644 --- a/rustdocs/zink/ffi/evm/fn.push4.html +++ b/rustdocs/zink/ffi/evm/fn.push4.html @@ -1,2 +1,2 @@ -push4 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push4

    source ·
    pub unsafe extern "C" fn push4(val: i32)
    Expand description

    Push 4 bytes to the stack.

    +push4 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push4

    source ·
    pub unsafe extern "C" fn push4(val: i32)
    Expand description

    Push 4 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push5.html b/rustdocs/zink/ffi/evm/fn.push5.html index 1c2090fd6..a65710481 100644 --- a/rustdocs/zink/ffi/evm/fn.push5.html +++ b/rustdocs/zink/ffi/evm/fn.push5.html @@ -1,2 +1,2 @@ -push5 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push5

    source ·
    pub unsafe extern "C" fn push5(val: i32)
    Expand description

    Push 5 bytes to the stack.

    +push5 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push5

    source ·
    pub unsafe extern "C" fn push5(val: i32)
    Expand description

    Push 5 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push6.html b/rustdocs/zink/ffi/evm/fn.push6.html index 81ee763dc..742ffb9ef 100644 --- a/rustdocs/zink/ffi/evm/fn.push6.html +++ b/rustdocs/zink/ffi/evm/fn.push6.html @@ -1,2 +1,2 @@ -push6 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push6

    source ·
    pub unsafe extern "C" fn push6(val: i32)
    Expand description

    Push 6 bytes to the stack.

    +push6 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push6

    source ·
    pub unsafe extern "C" fn push6(val: i32)
    Expand description

    Push 6 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push7.html b/rustdocs/zink/ffi/evm/fn.push7.html index 0ebed63af..1b9fede93 100644 --- a/rustdocs/zink/ffi/evm/fn.push7.html +++ b/rustdocs/zink/ffi/evm/fn.push7.html @@ -1,2 +1,2 @@ -push7 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push7

    source ·
    pub unsafe extern "C" fn push7(val: i32)
    Expand description

    Push 7 bytes to the stack.

    +push7 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push7

    source ·
    pub unsafe extern "C" fn push7(val: i32)
    Expand description

    Push 7 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push8.html b/rustdocs/zink/ffi/evm/fn.push8.html index 1c049d55f..1711d7547 100644 --- a/rustdocs/zink/ffi/evm/fn.push8.html +++ b/rustdocs/zink/ffi/evm/fn.push8.html @@ -1,2 +1,2 @@ -push8 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push8

    source ·
    pub unsafe extern "C" fn push8(val: i32)
    Expand description

    Push 8 bytes to the stack.

    +push8 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push8

    source ·
    pub unsafe extern "C" fn push8(val: i32)
    Expand description

    Push 8 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.push9.html b/rustdocs/zink/ffi/evm/fn.push9.html index f4b590578..bbea34467 100644 --- a/rustdocs/zink/ffi/evm/fn.push9.html +++ b/rustdocs/zink/ffi/evm/fn.push9.html @@ -1,2 +1,2 @@ -push9 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push9

    source ·
    pub unsafe extern "C" fn push9(val: i32)
    Expand description

    Push 9 bytes to the stack.

    +push9 in zink::ffi::evm - Rust

    Function zink::ffi::evm::push9

    source ·
    pub unsafe extern "C" fn push9(val: i32)
    Expand description

    Push 9 bytes to the stack.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.sload.html b/rustdocs/zink/ffi/evm/fn.sload.html index d0da2e98a..48ff515bd 100644 --- a/rustdocs/zink/ffi/evm/fn.sload.html +++ b/rustdocs/zink/ffi/evm/fn.sload.html @@ -1,2 +1,2 @@ -sload in zink::ffi::evm - Rust

    Function zink::ffi::evm::sload

    source ·
    pub unsafe extern "C" fn sload()
    Expand description

    Load a value from the storage

    +sload in zink::ffi::evm - Rust

    Function zink::ffi::evm::sload

    source ·
    pub unsafe extern "C" fn sload()
    Expand description

    Load a value from the storage

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/fn.sstore.html b/rustdocs/zink/ffi/evm/fn.sstore.html index 5747fd856..bcd29814d 100644 --- a/rustdocs/zink/ffi/evm/fn.sstore.html +++ b/rustdocs/zink/ffi/evm/fn.sstore.html @@ -1,2 +1,2 @@ -sstore in zink::ffi::evm - Rust

    Function zink::ffi::evm::sstore

    source ·
    pub unsafe extern "C" fn sstore()
    Expand description

    Store a value in the storage

    +sstore in zink::ffi::evm - Rust

    Function zink::ffi::evm::sstore

    source ·
    pub unsafe extern "C" fn sstore()
    Expand description

    Store a value in the storage

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/evm/index.html b/rustdocs/zink/ffi/evm/index.html index 73d599c82..2c6cea9d3 100644 --- a/rustdocs/zink/ffi/evm/index.html +++ b/rustdocs/zink/ffi/evm/index.html @@ -1,2 +1,2 @@ -zink::ffi::evm - Rust

    Module zink::ffi::evm

    source ·
    Expand description

    EVM FFI.

    +zink::ffi::evm - Rust

    Module zink::ffi::evm

    source ·
    Expand description

    EVM FFI.

    Functions§

    • log0
      Append log record with no topics
    • log1
      Append log record with one topics
    • log2
      Append log record with two topics
    • log3
      Append log record with three topics
    • log4
      Append log record with four topics
    • Push 1 byte to the stack.
    • Push 1 byte to the stack.
    • Push 2 bytes to the stack.
    • Push 3 bytes to the stack.
    • Push 4 bytes to the stack.
    • Push 5 bytes to the stack.
    • Push 6 bytes to the stack.
    • Push 7 bytes to the stack.
    • Push 8 bytes to the stack.
    • Push 9 bytes to the stack.
    • Push 10 bytes to the stack.
    • Push 11 bytes to the stack.
    • Push 12 bytes to the stack.
    • Push 13 bytes to the stack.
    • Push 14 bytes to the stack.
    • Push 15 bytes to the stack.
    • Push 16 bytes to the stack.
    • Push 17 bytes to the stack.
    • Push 18 bytes to the stack.
    • Push 19 bytes to the stack.
    • Push 20 bytes to the stack.
    • Push 21 bytes to the stack.
    • Push 22 bytes to the stack.
    • Push 23 bytes to the stack.
    • Push 24 bytes to the stack.
    • Push 25 bytes to the stack.
    • Push 26 bytes to the stack.
    • Push 27 bytes to the stack.
    • Push 28 bytes to the stack.
    • Push 29 bytes to the stack.
    • Push 30 bytes to the stack.
    • Push 31 bytes to the stack.
    • Push 32 bytes to the stack.
    • Load a value from the storage
    • Store a value in the storage
    \ No newline at end of file diff --git a/rustdocs/zink/ffi/fn.emit_abi.html b/rustdocs/zink/ffi/fn.emit_abi.html index d760fbf95..eb24d87c4 100644 --- a/rustdocs/zink/ffi/fn.emit_abi.html +++ b/rustdocs/zink/ffi/fn.emit_abi.html @@ -1,2 +1,2 @@ -emit_abi in zink::ffi - Rust

    Function zink::ffi::emit_abi

    source ·
    pub unsafe extern "C" fn emit_abi(ptr: u32, len: u32)
    Expand description

    Emit ABI to host state.

    +emit_abi in zink::ffi - Rust

    Function zink::ffi::emit_abi

    source ·
    pub unsafe extern "C" fn emit_abi(ptr: u32, len: u32)
    Expand description

    Emit ABI to host state.

    \ No newline at end of file diff --git a/rustdocs/zink/ffi/index.html b/rustdocs/zink/ffi/index.html index 384880a0d..b18b7d4c1 100644 --- a/rustdocs/zink/ffi/index.html +++ b/rustdocs/zink/ffi/index.html @@ -1,2 +1,2 @@ -zink::ffi - Rust

    Module zink::ffi

    source ·
    Expand description

    Zink FFI.

    +zink::ffi - Rust

    Module zink::ffi

    source ·
    Expand description

    Zink FFI.

    Modules§

    Functions§

    \ No newline at end of file diff --git a/rustdocs/zink/index.html b/rustdocs/zink/index.html index a5608df8c..6345264ed 100644 --- a/rustdocs/zink/index.html +++ b/rustdocs/zink/index.html @@ -1,3 +1,3 @@ -zink - Rust

    Crate zink

    source ·
    Expand description

    Zink library for developing smart contracts for blockchains.

    -

    Modules§

    • asm 🔒
      Assembly trait implementation.
    • event 🔒
      Public traits for the EVM interfaces
    • Zink FFI.
    • storage 🔒
      Zink storage implementation.

    Traits§

    • Types implemented this trait are able to be pushed on stack.
    • Zink event interface
    • Storage trait. Currently not for public use

    Attribute Macros§

    • Mark the function as constructor
    • Mark the function as an external entry point.
    • Order-based storage macro. +zink - Rust

      Crate zink

      source ·
      Expand description

      Zink library for developing smart contracts for blockchains.

      +

      Modules§

      • asm 🔒
        Assembly trait implementation.
      • event 🔒
        Public traits for the EVM interfaces
      • Zink FFI.
      • storage 🔒
        Zink storage implementation.

      Traits§

      • Types implemented this trait are able to be pushed on stack.
      • Zink event interface
      • Storage trait. Currently not for public use

      Attribute Macros§

      • Mark the function as an external entry point.
      • Order-based storage macro. Currently only i32 is supported

      Derive Macros§

      • Event logging interface
      \ No newline at end of file diff --git a/rustdocs/zink/sidebar-items.js b/rustdocs/zink/sidebar-items.js index 6c8ccbefd..de1b3b6a9 100644 --- a/rustdocs/zink/sidebar-items.js +++ b/rustdocs/zink/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"attr":["constructor","external","storage"],"derive":["Event"],"mod":["asm","event","ffi","storage"],"trait":["Asm","Event","Storage"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"attr":["external","storage"],"derive":["Event"],"mod":["asm","event","ffi","storage"],"trait":["Asm","Event","Storage"]}; \ No newline at end of file diff --git a/rustdocs/zink/storage/index.html b/rustdocs/zink/storage/index.html index 32034ec28..4a221eb43 100644 --- a/rustdocs/zink/storage/index.html +++ b/rustdocs/zink/storage/index.html @@ -1,2 +1,2 @@ -zink::storage - Rust

      Module zink::storage

      source ·
      Expand description

      Zink storage implementation.

      +zink::storage - Rust

      Module zink::storage

      source ·
      Expand description

      Zink storage implementation.

      Modules§

      • mapping 🔒
        Zink storage mapping implementation.

      Traits§

      • Storage trait. Currently not for public use
      \ No newline at end of file diff --git a/rustdocs/zink/storage/mapping/index.html b/rustdocs/zink/storage/mapping/index.html index 67fa12044..6a4693490 100644 --- a/rustdocs/zink/storage/mapping/index.html +++ b/rustdocs/zink/storage/mapping/index.html @@ -1,2 +1,2 @@ -zink::storage::mapping - Rust

      Module zink::storage::mapping

      source ·
      Expand description

      Zink storage mapping implementation.

      +zink::storage::mapping - Rust

      Module zink::storage::mapping

      source ·
      Expand description

      Zink storage mapping implementation.

      \ No newline at end of file diff --git a/rustdocs/zink/storage/trait.Storage.html b/rustdocs/zink/storage/trait.Storage.html index 7420a290f..363979e05 100644 --- a/rustdocs/zink/storage/trait.Storage.html +++ b/rustdocs/zink/storage/trait.Storage.html @@ -1,4 +1,4 @@ -Storage in zink::storage - Rust

      Trait zink::storage::Storage

      source ·
      pub trait Storage<T: Asm> {
      +Storage in zink::storage - Rust

      Trait zink::storage::Storage

      source ·
      pub trait Storage<T: Asm> {
           const STORAGE_KEY: i32;
       
           // Required methods
      diff --git a/rustdocs/zink/trait.Asm.html b/rustdocs/zink/trait.Asm.html
      index 801ba8d39..380208e75 100644
      --- a/rustdocs/zink/trait.Asm.html
      +++ b/rustdocs/zink/trait.Asm.html
      @@ -1,4 +1,4 @@
      -Asm in zink - Rust

      Trait zink::Asm

      source ·
      pub trait Asm {
      +Asm in zink - Rust

      Trait zink::Asm

      source ·
      pub trait Asm {
           // Required method
           fn push(self);
       }
      Expand description

      Types implemented this trait are able to be pushed on stack.

      diff --git a/rustdocs/zink/trait.Event.html b/rustdocs/zink/trait.Event.html index cf3a5dc82..938bda655 100644 --- a/rustdocs/zink/trait.Event.html +++ b/rustdocs/zink/trait.Event.html @@ -1,4 +1,4 @@ -Event in zink - Rust

      Trait zink::Event

      source ·
      pub trait Event {
      +Event in zink - Rust

      Trait zink::Event

      source ·
      pub trait Event {
           const NAME: &'static [u8];
       
           // Provided methods
      diff --git a/rustdocs/zink/trait.Storage.html b/rustdocs/zink/trait.Storage.html
      index 6fae28e7d..a365c9cd5 100644
      --- a/rustdocs/zink/trait.Storage.html
      +++ b/rustdocs/zink/trait.Storage.html
      @@ -1,4 +1,4 @@
      -Storage in zink - Rust

      Trait zink::Storage

      source ·
      pub trait Storage<T: Asm> {
      +Storage in zink - Rust

      Trait zink::Storage

      source ·
      pub trait Storage<T: Asm> {
           const STORAGE_KEY: i32;
       
           // Required methods
      diff --git a/rustdocs/zink_codegen/all.html b/rustdocs/zink_codegen/all.html
      index f81e36ea9..60646d798 100644
      --- a/rustdocs/zink_codegen/all.html
      +++ b/rustdocs/zink_codegen/all.html
      @@ -1 +1 @@
      -List of all items in this crate
      \ No newline at end of file +List of all items in this crate

      List of all items

      Attribute Macros

      Derive Macros

      Functions

      Statics

      \ No newline at end of file diff --git a/rustdocs/zink_codegen/attr.constructor.html b/rustdocs/zink_codegen/attr.constructor.html deleted file mode 100644 index de9337c1e..000000000 --- a/rustdocs/zink_codegen/attr.constructor.html +++ /dev/null @@ -1,2 +0,0 @@ -constructor in zink_codegen - Rust

      Attribute Macro zink_codegen::constructor

      source ·
      #[constructor]
      Expand description

      Mark the function as constructor

      -
      \ No newline at end of file diff --git a/rustdocs/zink_codegen/attr.external.html b/rustdocs/zink_codegen/attr.external.html index 97ac0f376..159cea9c5 100644 --- a/rustdocs/zink_codegen/attr.external.html +++ b/rustdocs/zink_codegen/attr.external.html @@ -1,2 +1,2 @@ -external in zink_codegen - Rust

      Attribute Macro zink_codegen::external

      source ·
      #[external]
      Expand description

      Mark the function as an external entry point.

      +external in zink_codegen - Rust

      Attribute Macro zink_codegen::external

      source ·
      #[external]
      Expand description

      Mark the function as an external entry point.

      \ No newline at end of file diff --git a/rustdocs/zink_codegen/attr.storage.html b/rustdocs/zink_codegen/attr.storage.html index e982a4355..2d7b27b9e 100644 --- a/rustdocs/zink_codegen/attr.storage.html +++ b/rustdocs/zink_codegen/attr.storage.html @@ -1,4 +1,4 @@ -storage in zink_codegen - Rust

      Attribute Macro zink_codegen::storage

      source ·
      #[storage]
      Expand description

      Order-based storage macro. +storage in zink_codegen - Rust

      Attribute Macro zink_codegen::storage

      source ·
      #[storage]
      Expand description

      Order-based storage macro. Currently only i32 is supported

      use zink::storage;
      diff --git a/rustdocs/zink_codegen/constructor/fn.parse.html b/rustdocs/zink_codegen/constructor/fn.parse.html
      deleted file mode 100644
      index ced397459..000000000
      --- a/rustdocs/zink_codegen/constructor/fn.parse.html
      +++ /dev/null
      @@ -1,2 +0,0 @@
      -parse in zink_codegen::constructor - Rust

      Function zink_codegen::constructor::parse

      source ·
      pub fn parse(input: ItemFn) -> TokenStream
      Expand description

      Parse function into contract constructor.

      -
      \ No newline at end of file diff --git a/rustdocs/zink_codegen/constructor/index.html b/rustdocs/zink_codegen/constructor/index.html deleted file mode 100644 index 04a27a806..000000000 --- a/rustdocs/zink_codegen/constructor/index.html +++ /dev/null @@ -1,2 +0,0 @@ -zink_codegen::constructor - Rust

      Module zink_codegen::constructor

      source ·
      Expand description

      Contract constructor.

      -

      Functions§

      • Parse function into contract constructor.
      \ No newline at end of file diff --git a/rustdocs/zink_codegen/constructor/sidebar-items.js b/rustdocs/zink_codegen/constructor/sidebar-items.js deleted file mode 100644 index 9eb499cfa..000000000 --- a/rustdocs/zink_codegen/constructor/sidebar-items.js +++ /dev/null @@ -1 +0,0 @@ -window.SIDEBAR_ITEMS = {"fn":["parse"]}; \ No newline at end of file diff --git a/rustdocs/zink_codegen/derive.Event.html b/rustdocs/zink_codegen/derive.Event.html index 693d76b84..0398d6a70 100644 --- a/rustdocs/zink_codegen/derive.Event.html +++ b/rustdocs/zink_codegen/derive.Event.html @@ -1,4 +1,4 @@ -Event in zink_codegen - Rust

      Derive Macro zink_codegen::Event

      source ·
      #[derive(Event)]
      Expand description

      Event logging interface

      +Event in zink_codegen - Rust

      Derive Macro zink_codegen::Event

      source ·
      #[derive(Event)]
      Expand description

      Event logging interface

      use zink::Event;
       
      diff --git a/rustdocs/zink_codegen/event/fn.parse.html b/rustdocs/zink_codegen/event/fn.parse.html
      index f6e75bfbb..f8e3955e4 100644
      --- a/rustdocs/zink_codegen/event/fn.parse.html
      +++ b/rustdocs/zink_codegen/event/fn.parse.html
      @@ -1,2 +1,2 @@
      -parse in zink_codegen::event - Rust

      Function zink_codegen::event::parse

      source ·
      pub fn parse(item: DeriveInput) -> TokenStream
      Expand description

      Expand the event interface

      +parse in zink_codegen::event - Rust

      Function zink_codegen::event::parse

      source ·
      pub fn parse(item: DeriveInput) -> TokenStream
      Expand description

      Expand the event interface

      \ No newline at end of file diff --git a/rustdocs/zink_codegen/event/index.html b/rustdocs/zink_codegen/event/index.html index 033c3292c..f4ce42990 100644 --- a/rustdocs/zink_codegen/event/index.html +++ b/rustdocs/zink_codegen/event/index.html @@ -1,2 +1,2 @@ -zink_codegen::event - Rust

      Module zink_codegen::event

      source ·
      Expand description

      Event interface generation

      +zink_codegen::event - Rust

      Module zink_codegen::event

      source ·
      Expand description

      Event interface generation

      Functions§

      • Expand the event interface
      \ No newline at end of file diff --git a/rustdocs/zink_codegen/index.html b/rustdocs/zink_codegen/index.html index dd4581ce8..94e49bbec 100644 --- a/rustdocs/zink_codegen/index.html +++ b/rustdocs/zink_codegen/index.html @@ -1,3 +1,3 @@ -zink_codegen - Rust

      Crate zink_codegen

      source ·
      Expand description

      Code generation library for the zink API

      -

      Modules§

      Attribute Macros§

      • Mark the function as constructor
      • Mark the function as an external entry point.
      • Order-based storage macro. +zink_codegen - Rust

        Crate zink_codegen

        source ·
        Expand description

        Code generation library for the zink API

        +

        Modules§

        Attribute Macros§

        • Mark the function as an external entry point.
        • Order-based storage macro. Currently only i32 is supported

        Derive Macros§

        • Event logging interface
        \ No newline at end of file diff --git a/rustdocs/zink_codegen/selector/fn.external.html b/rustdocs/zink_codegen/selector/fn.external.html index 5c58a2798..242373b4c 100644 --- a/rustdocs/zink_codegen/selector/fn.external.html +++ b/rustdocs/zink_codegen/selector/fn.external.html @@ -1,2 +1,2 @@ -external in zink_codegen::selector - Rust

        Function zink_codegen::selector::external

        source ·
        pub fn external(item: ItemFn) -> TokenStream
        Expand description

        Mark the function as external.

        +external in zink_codegen::selector - Rust

        Function zink_codegen::selector::external

        source ·
        pub fn external(item: ItemFn) -> TokenStream
        Expand description

        Mark the function as external.

        \ No newline at end of file diff --git a/rustdocs/zink_codegen/selector/index.html b/rustdocs/zink_codegen/selector/index.html index b9f4c25b4..5edf4ee19 100644 --- a/rustdocs/zink_codegen/selector/index.html +++ b/rustdocs/zink_codegen/selector/index.html @@ -1,2 +1,2 @@ -zink_codegen::selector - Rust

        Module zink_codegen::selector

        source ·
        Expand description

        Macro for the function selector.

        +zink_codegen::selector - Rust

        Module zink_codegen::selector

        source ·
        Expand description

        Macro for the function selector.

        Functions§

        \ No newline at end of file diff --git a/rustdocs/zink_codegen/sidebar-items.js b/rustdocs/zink_codegen/sidebar-items.js index 39f150039..92f84a693 100644 --- a/rustdocs/zink_codegen/sidebar-items.js +++ b/rustdocs/zink_codegen/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"attr":["constructor","external","storage"],"derive":["Event"],"mod":["constructor","event","selector","storage"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"attr":["external","storage"],"derive":["Event"],"mod":["event","selector","storage"]}; \ No newline at end of file diff --git a/rustdocs/zink_codegen/storage/fn.parse.html b/rustdocs/zink_codegen/storage/fn.parse.html index 16de3a2ad..33cf96173 100644 --- a/rustdocs/zink_codegen/storage/fn.parse.html +++ b/rustdocs/zink_codegen/storage/fn.parse.html @@ -1,4 +1,4 @@ -parse in zink_codegen::storage - Rust

        Function zink_codegen::storage::parse

        source ·
        pub fn parse(input: ItemType) -> TokenStream
        Expand description

        Parse storage attribute.

        +parse in zink_codegen::storage - Rust

        Function zink_codegen::storage::parse

        source ·
        pub fn parse(input: ItemType) -> TokenStream
        Expand description

        Parse storage attribute.

        Method get unwraps the ptr as the original type, mainly mainly for passing the compilation checks at the moment, and it works for WASM in real cases as well.

        diff --git a/rustdocs/zink_codegen/storage/index.html b/rustdocs/zink_codegen/storage/index.html index f14d3ec71..8583b51ed 100644 --- a/rustdocs/zink_codegen/storage/index.html +++ b/rustdocs/zink_codegen/storage/index.html @@ -1 +1 @@ -zink_codegen::storage - Rust

        Module zink_codegen::storage

        source ·

        Statics§

        Functions§

        • Parse storage attribute.
        \ No newline at end of file +zink_codegen::storage - Rust

        Module zink_codegen::storage

        source ·

        Statics§

        Functions§

        • Parse storage attribute.
        \ No newline at end of file diff --git a/rustdocs/zink_codegen/storage/static.IOTA.html b/rustdocs/zink_codegen/storage/static.IOTA.html index 5f868a2c1..c910855e5 100644 --- a/rustdocs/zink_codegen/storage/static.IOTA.html +++ b/rustdocs/zink_codegen/storage/static.IOTA.html @@ -1 +1 @@ -IOTA in zink_codegen::storage - Rust

        Static zink_codegen::storage::IOTA

        source ·
        static IOTA: AtomicI32
        \ No newline at end of file +IOTA in zink_codegen::storage - Rust

        Static zink_codegen::storage::IOTA

        source ·
        static IOTA: AtomicI32
        \ No newline at end of file diff --git a/rustdocs/zinkc/all.html b/rustdocs/zinkc/all.html index 7d79ab561..fe81f037f 100644 --- a/rustdocs/zinkc/all.html +++ b/rustdocs/zinkc/all.html @@ -1 +1 @@ -List of all items in this crate
        \ No newline at end of file +List of all items in this crate
        \ No newline at end of file diff --git a/rustdocs/zinkc/artifact/index.html b/rustdocs/zinkc/artifact/index.html index 8fa8c156d..ebd45be37 100644 --- a/rustdocs/zinkc/artifact/index.html +++ b/rustdocs/zinkc/artifact/index.html @@ -1,2 +1,2 @@ -zinkc::artifact - Rust

        Module zinkc::artifact

        source ·
        Expand description

        Zink compiler artifact

        +zinkc::artifact - Rust

        Module zinkc::artifact

        source ·
        Expand description

        Zink compiler artifact

        Structs§

        \ No newline at end of file diff --git a/rustdocs/zinkc/artifact/struct.Artifact.html b/rustdocs/zinkc/artifact/struct.Artifact.html index 81d2c65ad..a4f41e23e 100644 --- a/rustdocs/zinkc/artifact/struct.Artifact.html +++ b/rustdocs/zinkc/artifact/struct.Artifact.html @@ -1,18 +1,14 @@ -Artifact in zinkc::artifact - Rust

        Struct zinkc::artifact::Artifact

        source ·
        pub struct Artifact {
        +Artifact in zinkc::artifact - Rust

        Struct zinkc::artifact::Artifact

        source ·
        pub struct Artifact {
             pub abi: Vec<Abi>,
        -    pub bytecode: Vec<u8>,
             pub config: Config,
             pub runtime_bytecode: Vec<u8>,
         }
        Expand description

        Zink compiler artifact

        Fields§

        §abi: Vec<Abi>

        Contract ABIs

        -
        §bytecode: Vec<u8>

        Bytecode of the contract.

        §config: Config

        Compiler configuration.

        §runtime_bytecode: Vec<u8>

        Runtime bytecode of the contract.

        -

        Trait Implementations§

        source§

        impl Debug for Artifact

        source§

        fn fmt(&self, f: &mut Formatter<'_>) -> Result

        Formats the value using the given formatter. Read more
        source§

        impl Default for Artifact

        source§

        fn default() -> Artifact

        Returns the “default value” for a type. Read more
        source§

        impl<'de> Deserialize<'de> for Artifact

        source§

        fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
        where - __D: Deserializer<'de>,

        Deserialize this value from the given Serde deserializer. Read more
        source§

        impl Serialize for Artifact

        source§

        fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
        where - __S: Serializer,

        Serialize this value into the given Serde serializer. Read more
        source§

        impl TryFrom<(Compiler, Option<FuncType>)> for Artifact

        source§

        type Error = Error

        The type returned in the event of a conversion error.
        source§

        fn try_from( - (compiler, constructor): (Compiler, Option<FuncType>), -) -> Result<Self, Self::Error>

        Performs the conversion.

        Auto Trait Implementations§

        Blanket Implementations§

        source§

        impl<T> Any for T
        where +

        Trait Implementations§

        source§

        impl Debug for Artifact

        source§

        fn fmt(&self, f: &mut Formatter<'_>) -> Result

        Formats the value using the given formatter. Read more
        source§

        impl Default for Artifact

        source§

        fn default() -> Artifact

        Returns the “default value” for a type. Read more
        source§

        impl<'de> Deserialize<'de> for Artifact

        source§

        fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
        where + __D: Deserializer<'de>,

        Deserialize this value from the given Serde deserializer. Read more
        source§

        impl Serialize for Artifact

        source§

        fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
        where + __S: Serializer,

        Serialize this value into the given Serde serializer. Read more

        Auto Trait Implementations§

        Blanket Implementations§

        source§

        impl<T> Any for T
        where T: 'static + ?Sized,

        source§

        fn type_id(&self) -> TypeId

        Gets the TypeId of self. Read more
        source§

        impl<T> Borrow<T> for T
        where T: ?Sized,

        source§

        fn borrow(&self) -> &T

        Immutably borrows from an owned value. Read more
        source§

        impl<T> BorrowMut<T> for T
        where T: ?Sized,

        source§

        fn borrow_mut(&mut self) -> &mut T

        Mutably borrows from an owned value. Read more
        source§

        impl<T> From<T> for T

        source§

        fn from(t: T) -> T

        Returns the argument unchanged.

        @@ -35,8 +31,8 @@ ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

    Set the foreground color to a specific RGB value.
    §

    fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

    Set the background color to a specific RGB value.
    §

    fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

    Sets the foreground color to an RGB value.
    §

    fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

    Sets the background color to an RGB value.
    §

    fn style(&self, style: Style) -> Styled<&Self>

    Apply a runtime-determined style
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    source§

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + U: Into<T>,

    source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    source§

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where diff --git a/rustdocs/zinkc/cli/index.html b/rustdocs/zinkc/cli/index.html index 12dd89bb5..bc6e510fc 100644 --- a/rustdocs/zinkc/cli/index.html +++ b/rustdocs/zinkc/cli/index.html @@ -1,2 +1,2 @@ -zinkc::cli - Rust

    Module zinkc::cli

    source ·
    Expand description

    Zink compiler command line interface.

    +zinkc::cli - Rust

    Module zinkc::cli

    source ·
    Expand description

    Zink compiler command line interface.

    Structs§

    • Compile WASM to EVM bytecode.
    \ No newline at end of file diff --git a/rustdocs/zinkc/cli/struct.Compile.html b/rustdocs/zinkc/cli/struct.Compile.html index e7eed716f..84a277a7b 100644 --- a/rustdocs/zinkc/cli/struct.Compile.html +++ b/rustdocs/zinkc/cli/struct.Compile.html @@ -1,4 +1,4 @@ -Compile in zinkc::cli - Rust

    Struct zinkc::cli::Compile

    source ·
    pub struct Compile {
    +Compile in zinkc::cli - Rust

    Struct zinkc::cli::Compile

    source ·
    pub struct Compile {
         abi: bool,
         input: PathBuf,
         output: Option<PathBuf>,
    diff --git a/rustdocs/zinkc/compiler/index.html b/rustdocs/zinkc/compiler/index.html
    index e08fefbf5..6ad7562df 100644
    --- a/rustdocs/zinkc/compiler/index.html
    +++ b/rustdocs/zinkc/compiler/index.html
    @@ -1,2 +1,2 @@
    -zinkc::compiler - Rust

    Module zinkc::compiler

    source ·
    Expand description

    Zink compiler

    +zinkc::compiler - Rust

    Module zinkc::compiler

    source ·
    Expand description

    Zink compiler

    Structs§

    \ No newline at end of file diff --git a/rustdocs/zinkc/compiler/struct.Compiler.html b/rustdocs/zinkc/compiler/struct.Compiler.html index 47ca11475..0157a5ffb 100644 --- a/rustdocs/zinkc/compiler/struct.Compiler.html +++ b/rustdocs/zinkc/compiler/struct.Compiler.html @@ -1,4 +1,4 @@ -Compiler in zinkc::compiler - Rust

    Struct zinkc::compiler::Compiler

    source ·
    pub struct Compiler {
    +Compiler in zinkc::compiler - Rust

    Struct zinkc::compiler::Compiler

    source ·
    pub struct Compiler {
         pub(crate) abi: Vec<Abi>,
         pub(crate) buffer: Buffer,
         pub config: Config,
    @@ -8,14 +8,16 @@
     
    §buffer: Buffer

    EVM bytecode buffer.

    §config: Config

    Compiler configuration.

    §table: JumpTable

    Global jump table.

    -

    Implementations§

    source§

    impl Compiler

    source

    pub fn new(config: Config) -> Self

    Create a new compiler from config.

    -
    source

    pub fn compile(self, wasm: &[u8]) -> Result<Artifact>

    Compile wasm module to evm bytecode.

    +

    Implementations§

    source§

    impl Compiler

    source

    pub fn new(config: Config) -> Self

    Create a new compiler from config.

    +
    source

    pub fn compile(self, wasm: &[u8]) -> Result<Artifact>

    Compile wasm module to evm bytecode.

    Returns runtime bytecode.

    -
    source

    fn compile_dispatcher(&mut self, parser: &mut Parser<'_>) -> Result<()>

    Compile EVM dispatcher.

    +
    source

    fn artifact(self) -> Result<Artifact>

    Generate artifact

    +

    yields runtime bytecode and construct bytecode

    +
    source

    fn compile_dispatcher(&mut self, parser: &mut Parser<'_>) -> Result<()>

    Compile EVM dispatcher.

    Drain selectors anyway, if dispatcher is enabled, compile dispatcher.

    -
    source

    fn compile_func(&mut self, env: Env, func: Function<'_>) -> Result<()>

    Compile WASM function.

    -
    source

    fn emit_buffer(&mut self, func_index: u32, codegen: Function) -> Result<()>

    Emit buffer to the inner buffer.

    +
    source

    fn compile_func(&mut self, env: Env, func: Function<'_>) -> Result<()>

    Compile WASM function.

    +
    source

    fn emit_buffer(&mut self, func_index: u32, codegen: Function) -> Result<()>

    Emit buffer to the inner buffer.

    Trait Implementations§

    source§

    impl Default for Compiler

    source§

    fn default() -> Compiler

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where diff --git a/rustdocs/zinkc/config/index.html b/rustdocs/zinkc/config/index.html index e1f01cb60..37ef4d41f 100644 --- a/rustdocs/zinkc/config/index.html +++ b/rustdocs/zinkc/config/index.html @@ -1,2 +1,2 @@ -zinkc::config - Rust

    Module zinkc::config

    source ·
    Expand description

    Zink compiler configuration.

    +zinkc::config - Rust

    Module zinkc::config

    source ·
    Expand description

    Zink compiler configuration.

    Structs§

    • Zink compiler configuration.
    \ No newline at end of file diff --git a/rustdocs/zinkc/config/struct.Config.html b/rustdocs/zinkc/config/struct.Config.html index 5bd00e167..bb21d4b60 100644 --- a/rustdocs/zinkc/config/struct.Config.html +++ b/rustdocs/zinkc/config/struct.Config.html @@ -1,4 +1,4 @@ -Config in zinkc::config - Rust

    Struct zinkc::config::Config

    source ·
    pub struct Config {
    +Config in zinkc::config - Rust

    Struct zinkc::config::Config

    source ·
    pub struct Config {
         pub dispatcher: bool,
     }
    Expand description

    Zink compiler configuration.

    Fields§

    §dispatcher: bool

    If enable dispatcher.

    diff --git a/rustdocs/zinkc/enum.Error.html b/rustdocs/zinkc/enum.Error.html index 1def3935d..5062180f2 100644 --- a/rustdocs/zinkc/enum.Error.html +++ b/rustdocs/zinkc/enum.Error.html @@ -1,4 +1,4 @@ -Error in zinkc - Rust

    Enum zinkc::Error

    source ·
    pub enum Error {
    +Error in zinkc - Rust

    Enum zinkc::Error

    source ·
    pub enum Error {
         Anyhow(Error),
         BinaryReader(BinaryReaderError),
         BufferOverflow(usize),
    diff --git a/rustdocs/zinkc/index.html b/rustdocs/zinkc/index.html
    index 21b00172d..50c588c15 100644
    --- a/rustdocs/zinkc/index.html
    +++ b/rustdocs/zinkc/index.html
    @@ -1,2 +1,2 @@
    -zinkc - Rust

    Crate zinkc

    source ·
    Expand description

    Zink compiler.

    -

    Modules§

    • artifact 🔒
      Zink compiler artifact
    • Zink compiler command line interface.
    • compiler 🔒
      Zink compiler
    • config 🔒
      Zink compiler configuration.
    • parser 🔒
      Zink parser
    • result 🔒
      Zinkc result
    • Zink compiler utils

    Structs§

    Enums§

    Type Aliases§

    \ No newline at end of file +zinkc - Rust

    Crate zinkc

    source ·
    Expand description

    Zink compiler.

    +

    Modules§

    • artifact 🔒
      Zink compiler artifact
    • Zink compiler command line interface.
    • compiler 🔒
      Zink compiler
    • config 🔒
      Zink compiler configuration.
    • parser 🔒
      Zink parser
    • result 🔒
      Zinkc result
    • Zink compiler utils

    Structs§

    Enums§

    Type Aliases§

    \ No newline at end of file diff --git a/rustdocs/zinkc/parser/index.html b/rustdocs/zinkc/parser/index.html index afbb5a87c..a3ced6c3e 100644 --- a/rustdocs/zinkc/parser/index.html +++ b/rustdocs/zinkc/parser/index.html @@ -1,2 +1,2 @@ -zinkc::parser - Rust

    Module zinkc::parser

    source ·
    Expand description

    Zink parser

    +zinkc::parser - Rust

    Module zinkc::parser

    source ·
    Expand description

    Zink parser

    Structs§

    \ No newline at end of file diff --git a/rustdocs/zinkc/parser/struct.Parser.html b/rustdocs/zinkc/parser/struct.Parser.html index 32fa99d56..46da45672 100644 --- a/rustdocs/zinkc/parser/struct.Parser.html +++ b/rustdocs/zinkc/parser/struct.Parser.html @@ -1,17 +1,16 @@ -Parser in zinkc::parser - Rust

    Struct zinkc::parser::Parser

    source ·
    pub struct Parser<'p> {
    +Parser in zinkc::parser - Rust

    Struct zinkc::parser::Parser

    source ·
    pub struct Parser<'p> {
         pub imports: Imports,
         pub data: Data,
         pub funcs: Functions<'p>,
         pub exports: Exports,
     }
    Expand description

    WASM module parser

    -

    Fields§

    §imports: Imports§data: Data§funcs: Functions<'p>§exports: Exports

    Implementations§

    source§

    impl<'p> Parser<'p>

    source

    pub fn parse(&mut self, wasm: &'p [u8]) -> Result<()>

    Parse WASM module.

    +

    Fields§

    §imports: Imports§data: Data§funcs: Functions<'p>§exports: Exports

    Implementations§

    source§

    impl<'p> Parser<'p>

    source

    pub fn parse(&mut self, wasm: &'p [u8]) -> Result<()>

    Parse WASM module.

    source

    pub fn data(reader: &SectionLimited<'_, Data<'_>>) -> Result<DataSet>

    Parse data section.

    source

    pub fn exports(reader: &SectionLimited<'_, Export<'_>>) -> Result<Exports>

    Parse export section

    source

    pub fn imports(reader: &SectionLimited<'_, Import<'_>>) -> Result<Imports>

    Parse import section.

    -
    source

    pub fn remove_constructor(&mut self) -> Option<FuncType>

    Returns constructor if some.

    -
    source

    pub fn to_env(&self) -> Env

    Returns full environment.

    -
    source

    pub fn to_func_env(&self) -> Env

    Returns function environment.

    -

    Trait Implementations§

    source§

    impl<'p> Default for Parser<'p>

    source§

    fn default() -> Parser<'p>

    Returns the “default value” for a type. Read more
    source§

    impl<'p> TryFrom<&'p [u8]> for Parser<'p>

    source§

    type Error = Error

    The type returned in the event of a conversion error.
    source§

    fn try_from(wasm: &'p [u8]) -> Result<Self>

    Performs the conversion.

    Auto Trait Implementations§

    §

    impl<'p> Freeze for Parser<'p>

    §

    impl<'p> RefUnwindSafe for Parser<'p>

    §

    impl<'p> Send for Parser<'p>

    §

    impl<'p> Sync for Parser<'p>

    §

    impl<'p> Unpin for Parser<'p>

    §

    impl<'p> UnwindSafe for Parser<'p>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    source

    pub fn to_env(&self) -> Env

    Returns full environment.

    +
    source

    pub fn to_func_env(&self) -> Env

    Returns function environment.

    +

    Trait Implementations§

    source§

    impl<'p> Default for Parser<'p>

    source§

    fn default() -> Parser<'p>

    Returns the “default value” for a type. Read more
    source§

    impl<'p> TryFrom<&'p [u8]> for Parser<'p>

    source§

    type Error = Error

    The type returned in the event of a conversion error.
    source§

    fn try_from(wasm: &'p [u8]) -> Result<Self>

    Performs the conversion.

    Auto Trait Implementations§

    §

    impl<'p> Freeze for Parser<'p>

    §

    impl<'p> RefUnwindSafe for Parser<'p>

    §

    impl<'p> Send for Parser<'p>

    §

    impl<'p> Sync for Parser<'p>

    §

    impl<'p> Unpin for Parser<'p>

    §

    impl<'p> UnwindSafe for Parser<'p>

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/rustdocs/zinkc/result/enum.Error.html b/rustdocs/zinkc/result/enum.Error.html index 80b7fa618..50b3af917 100644 --- a/rustdocs/zinkc/result/enum.Error.html +++ b/rustdocs/zinkc/result/enum.Error.html @@ -1,4 +1,4 @@ -Error in zinkc::result - Rust

    Enum zinkc::result::Error

    source ·
    pub enum Error {
    +Error in zinkc::result - Rust

    Enum zinkc::result::Error

    source ·
    pub enum Error {
         Anyhow(Error),
         BinaryReader(BinaryReaderError),
         BufferOverflow(usize),
    diff --git a/rustdocs/zinkc/result/index.html b/rustdocs/zinkc/result/index.html
    index c1c68c80a..5fb758247 100644
    --- a/rustdocs/zinkc/result/index.html
    +++ b/rustdocs/zinkc/result/index.html
    @@ -1,2 +1,2 @@
    -zinkc::result - Rust

    Module zinkc::result

    source ·
    Expand description

    Zinkc result

    +zinkc::result - Rust

    Module zinkc::result

    source ·
    Expand description

    Zinkc result

    Enums§

    Type Aliases§

    \ No newline at end of file diff --git a/rustdocs/zinkc/result/type.Result.html b/rustdocs/zinkc/result/type.Result.html index 5c9ff63dd..7b117bb6d 100644 --- a/rustdocs/zinkc/result/type.Result.html +++ b/rustdocs/zinkc/result/type.Result.html @@ -1,4 +1,4 @@ -Result in zinkc::result - Rust

    Type Alias zinkc::result::Result

    source ·
    pub type Result<T> = Result<T, Error>;
    Expand description

    Zinkc result

    +Result in zinkc::result - Rust

    Type Alias zinkc::result::Result

    source ·
    pub type Result<T> = Result<T, Error>;
    Expand description

    Zinkc result

    Aliased Type§

    enum Result<T> {
         Ok(T),
         Err(Error),
    diff --git a/rustdocs/zinkc/sidebar-items.js b/rustdocs/zinkc/sidebar-items.js
    index 6e57f3304..253c11943 100644
    --- a/rustdocs/zinkc/sidebar-items.js
    +++ b/rustdocs/zinkc/sidebar-items.js
    @@ -1 +1 @@
    -window.SIDEBAR_ITEMS = {"enum":["Error"],"mod":["artifact","cli","compiler","config","parser","result","utils"],"struct":["Artifact","Compiler","Config"],"type":["Result"]};
    \ No newline at end of file
    +window.SIDEBAR_ITEMS = {"enum":["Error"],"mod":["artifact","cli","compiler","config","parser","result","utils"],"struct":["Artifact","Compiler","Config","Constructor"],"type":["InitStorage","Result"]};
    \ No newline at end of file
    diff --git a/rustdocs/zinkc/struct.Artifact.html b/rustdocs/zinkc/struct.Artifact.html
    index 1ea3ace02..82fbd0b15 100644
    --- a/rustdocs/zinkc/struct.Artifact.html
    +++ b/rustdocs/zinkc/struct.Artifact.html
    @@ -1,18 +1,14 @@
    -Artifact in zinkc - Rust

    Struct zinkc::Artifact

    source ·
    pub struct Artifact {
    +Artifact in zinkc - Rust

    Struct zinkc::Artifact

    source ·
    pub struct Artifact {
         pub abi: Vec<Abi>,
    -    pub bytecode: Vec<u8>,
         pub config: Config,
         pub runtime_bytecode: Vec<u8>,
     }
    Expand description

    Zink compiler artifact

    Fields§

    §abi: Vec<Abi>

    Contract ABIs

    -
    §bytecode: Vec<u8>

    Bytecode of the contract.

    §config: Config

    Compiler configuration.

    §runtime_bytecode: Vec<u8>

    Runtime bytecode of the contract.

    -

    Trait Implementations§

    source§

    impl Debug for Artifact

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Artifact

    source§

    fn default() -> Artifact

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Artifact

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Artifact

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl TryFrom<(Compiler, Option<FuncType>)> for Artifact

    source§

    type Error = Error

    The type returned in the event of a conversion error.
    source§

    fn try_from( - (compiler, constructor): (Compiler, Option<FuncType>), -) -> Result<Self, Self::Error>

    Performs the conversion.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Debug for Artifact

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Artifact

    source§

    fn default() -> Artifact

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for Artifact

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Serialize for Artifact

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -35,8 +31,8 @@ ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

    Set the foreground color to a specific RGB value.
    §

    fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

    Set the background color to a specific RGB value.
    §

    fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

    Sets the foreground color to an RGB value.
    §

    fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

    Sets the background color to an RGB value.
    §

    fn style(&self, style: Style) -> Styled<&Self>

    Apply a runtime-determined style
    source§

    impl<T, U> TryFrom<U> for T
    where - U: Into<T>,

    source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where - U: TryFrom<T>,

    source§

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + U: Into<T>,

    source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    source§

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    source§

    impl<T> DeserializeOwned for T
    where diff --git a/rustdocs/zinkc/struct.Compiler.html b/rustdocs/zinkc/struct.Compiler.html index 5265490fb..05c9bde06 100644 --- a/rustdocs/zinkc/struct.Compiler.html +++ b/rustdocs/zinkc/struct.Compiler.html @@ -1,4 +1,4 @@ -Compiler in zinkc - Rust

    Struct zinkc::Compiler

    source ·
    pub struct Compiler {
    +Compiler in zinkc - Rust

    Struct zinkc::Compiler

    source ·
    pub struct Compiler {
         pub(crate) abi: Vec<Abi>,
         pub(crate) buffer: Buffer,
         pub config: Config,
    @@ -8,14 +8,16 @@
     
    §buffer: Buffer

    EVM bytecode buffer.

    §config: Config

    Compiler configuration.

    §table: JumpTable

    Global jump table.

    -

    Implementations§

    source§

    impl Compiler

    source

    pub fn new(config: Config) -> Self

    Create a new compiler from config.

    -
    source

    pub fn compile(self, wasm: &[u8]) -> Result<Artifact>

    Compile wasm module to evm bytecode.

    +

    Implementations§

    source§

    impl Compiler

    source

    pub fn new(config: Config) -> Self

    Create a new compiler from config.

    +
    source

    pub fn compile(self, wasm: &[u8]) -> Result<Artifact>

    Compile wasm module to evm bytecode.

    Returns runtime bytecode.

    -
    source

    fn compile_dispatcher(&mut self, parser: &mut Parser<'_>) -> Result<()>

    Compile EVM dispatcher.

    +
    source

    fn artifact(self) -> Result<Artifact>

    Generate artifact

    +

    yields runtime bytecode and construct bytecode

    +
    source

    fn compile_dispatcher(&mut self, parser: &mut Parser<'_>) -> Result<()>

    Compile EVM dispatcher.

    Drain selectors anyway, if dispatcher is enabled, compile dispatcher.

    -
    source

    fn compile_func(&mut self, env: Env, func: Function<'_>) -> Result<()>

    Compile WASM function.

    -
    source

    fn emit_buffer(&mut self, func_index: u32, codegen: Function) -> Result<()>

    Emit buffer to the inner buffer.

    +
    source

    fn compile_func(&mut self, env: Env, func: Function<'_>) -> Result<()>

    Compile WASM function.

    +
    source

    fn emit_buffer(&mut self, func_index: u32, codegen: Function) -> Result<()>

    Emit buffer to the inner buffer.

    Trait Implementations§

    source§

    impl Default for Compiler

    source§

    fn default() -> Compiler

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where diff --git a/rustdocs/zinkc/struct.Config.html b/rustdocs/zinkc/struct.Config.html index d7988ed2c..bcbc86cef 100644 --- a/rustdocs/zinkc/struct.Config.html +++ b/rustdocs/zinkc/struct.Config.html @@ -1,4 +1,4 @@ -Config in zinkc - Rust

    Struct zinkc::Config

    source ·
    pub struct Config {
    +Config in zinkc - Rust

    Struct zinkc::Config

    source ·
    pub struct Config {
         pub dispatcher: bool,
     }
    Expand description

    Zink compiler configuration.

    Fields§

    §dispatcher: bool

    If enable dispatcher.

    diff --git a/rustdocs/zinkc/struct.Constructor.html b/rustdocs/zinkc/struct.Constructor.html new file mode 100644 index 000000000..e73cd1b9e --- /dev/null +++ b/rustdocs/zinkc/struct.Constructor.html @@ -0,0 +1,43 @@ +Constructor in zinkc - Rust

    Struct zinkc::Constructor

    source ·
    pub struct Constructor {
    +    masm: MacroAssembler,
    +}
    Expand description

    Contract constructor.

    +

    Fields§

    §masm: MacroAssembler

    Implementations§

    source§

    impl Constructor

    source

    pub fn storage( + &mut self, + mapping: HashMap<SmallVec<[u8; 32]>, SmallVec<[u8; 32]>>, +) -> Result<(), Error>

    preset storage for the contract

    +
    source

    pub fn finish( + &self, + runtime_bytecode: SmallVec<[u8; 24576]>, +) -> Result<SmallVec<[u8; 24576]>, Error>

    Concat the constructor code.

    +

    Here we override the memory totally with +the runtime bytecode.

    +

    Trait Implementations§

    source§

    impl Clone for Constructor

    source§

    fn clone(&self) -> Constructor

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Constructor

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl Default for Constructor

    source§

    fn default() -> Constructor

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where + T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where + T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> CloneToUninit for T
    where + T: Clone,

    source§

    unsafe fn clone_to_uninit(&self, dst: *mut T)

    🔬This is a nightly-only experimental API. (clone_to_uninit)
    Performs copy-assignment from self to dst. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    §

    impl<T> Instrument for T

    §

    fn instrument(self, span: Span) -> Instrumented<Self>

    Instruments this type with the provided [Span], returning an +Instrumented wrapper. Read more
    §

    fn in_current_span(self) -> Instrumented<Self>

    Instruments this type with the current Span, returning an +Instrumented wrapper. Read more
    source§

    impl<T, U> Into<U> for T
    where + U: From<T>,

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

    That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

    +
    §

    impl<D> OwoColorize for D

    §

    fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>
    where + C: Color,

    Set the foreground color generically Read more
    §

    fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>
    where + C: Color,

    Set the background color generically. Read more
    §

    fn black<'a>(&'a self) -> FgColorDisplay<'a, Black, Self>

    Change the foreground color to black
    §

    fn on_black<'a>(&'a self) -> BgColorDisplay<'a, Black, Self>

    Change the background color to black
    §

    fn red<'a>(&'a self) -> FgColorDisplay<'a, Red, Self>

    Change the foreground color to red
    §

    fn on_red<'a>(&'a self) -> BgColorDisplay<'a, Red, Self>

    Change the background color to red
    §

    fn green<'a>(&'a self) -> FgColorDisplay<'a, Green, Self>

    Change the foreground color to green
    §

    fn on_green<'a>(&'a self) -> BgColorDisplay<'a, Green, Self>

    Change the background color to green
    §

    fn yellow<'a>(&'a self) -> FgColorDisplay<'a, Yellow, Self>

    Change the foreground color to yellow
    §

    fn on_yellow<'a>(&'a self) -> BgColorDisplay<'a, Yellow, Self>

    Change the background color to yellow
    §

    fn blue<'a>(&'a self) -> FgColorDisplay<'a, Blue, Self>

    Change the foreground color to blue
    §

    fn on_blue<'a>(&'a self) -> BgColorDisplay<'a, Blue, Self>

    Change the background color to blue
    §

    fn magenta<'a>(&'a self) -> FgColorDisplay<'a, Magenta, Self>

    Change the foreground color to magenta
    §

    fn on_magenta<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>

    Change the background color to magenta
    §

    fn purple<'a>(&'a self) -> FgColorDisplay<'a, Magenta, Self>

    Change the foreground color to purple
    §

    fn on_purple<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>

    Change the background color to purple
    §

    fn cyan<'a>(&'a self) -> FgColorDisplay<'a, Cyan, Self>

    Change the foreground color to cyan
    §

    fn on_cyan<'a>(&'a self) -> BgColorDisplay<'a, Cyan, Self>

    Change the background color to cyan
    §

    fn white<'a>(&'a self) -> FgColorDisplay<'a, White, Self>

    Change the foreground color to white
    §

    fn on_white<'a>(&'a self) -> BgColorDisplay<'a, White, Self>

    Change the background color to white
    §

    fn default_color<'a>(&'a self) -> FgColorDisplay<'a, Default, Self>

    Change the foreground color to the terminal default
    §

    fn on_default_color<'a>(&'a self) -> BgColorDisplay<'a, Default, Self>

    Change the background color to the terminal default
    §

    fn bright_black<'a>(&'a self) -> FgColorDisplay<'a, BrightBlack, Self>

    Change the foreground color to bright black
    §

    fn on_bright_black<'a>(&'a self) -> BgColorDisplay<'a, BrightBlack, Self>

    Change the background color to bright black
    §

    fn bright_red<'a>(&'a self) -> FgColorDisplay<'a, BrightRed, Self>

    Change the foreground color to bright red
    §

    fn on_bright_red<'a>(&'a self) -> BgColorDisplay<'a, BrightRed, Self>

    Change the background color to bright red
    §

    fn bright_green<'a>(&'a self) -> FgColorDisplay<'a, BrightGreen, Self>

    Change the foreground color to bright green
    §

    fn on_bright_green<'a>(&'a self) -> BgColorDisplay<'a, BrightGreen, Self>

    Change the background color to bright green
    §

    fn bright_yellow<'a>(&'a self) -> FgColorDisplay<'a, BrightYellow, Self>

    Change the foreground color to bright yellow
    §

    fn on_bright_yellow<'a>(&'a self) -> BgColorDisplay<'a, BrightYellow, Self>

    Change the background color to bright yellow
    §

    fn bright_blue<'a>(&'a self) -> FgColorDisplay<'a, BrightBlue, Self>

    Change the foreground color to bright blue
    §

    fn on_bright_blue<'a>(&'a self) -> BgColorDisplay<'a, BrightBlue, Self>

    Change the background color to bright blue
    §

    fn bright_magenta<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>

    Change the foreground color to bright magenta
    §

    fn on_bright_magenta<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>

    Change the background color to bright magenta
    §

    fn bright_purple<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>

    Change the foreground color to bright purple
    §

    fn on_bright_purple<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>

    Change the background color to bright purple
    §

    fn bright_cyan<'a>(&'a self) -> FgColorDisplay<'a, BrightCyan, Self>

    Change the foreground color to bright cyan
    §

    fn on_bright_cyan<'a>(&'a self) -> BgColorDisplay<'a, BrightCyan, Self>

    Change the background color to bright cyan
    §

    fn bright_white<'a>(&'a self) -> FgColorDisplay<'a, BrightWhite, Self>

    Change the foreground color to bright white
    §

    fn on_bright_white<'a>(&'a self) -> BgColorDisplay<'a, BrightWhite, Self>

    Change the background color to bright white
    §

    fn bold<'a>(&'a self) -> BoldDisplay<'a, Self>

    Make the text bold
    §

    fn dimmed<'a>(&'a self) -> DimDisplay<'a, Self>

    Make the text dim
    §

    fn italic<'a>(&'a self) -> ItalicDisplay<'a, Self>

    Make the text italicized
    §

    fn underline<'a>(&'a self) -> UnderlineDisplay<'a, Self>

    Make the text italicized
    Make the text blink
    Make the text blink (but fast!)
    §

    fn reversed<'a>(&'a self) -> ReversedDisplay<'a, Self>

    Swap the foreground and background colors
    §

    fn hidden<'a>(&'a self) -> HiddenDisplay<'a, Self>

    Hide the text
    §

    fn strikethrough<'a>(&'a self) -> StrikeThroughDisplay<'a, Self>

    Cross out the text
    §

    fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>
    where + Color: DynColor,

    Set the foreground color at runtime. Only use if you do not know which color will be used at +compile-time. If the color is constant, use either OwoColorize::fg or +a color-specific method, such as OwoColorize::green, Read more
    §

    fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>
    where + Color: DynColor,

    Set the background color at runtime. Only use if you do not know what color to use at +compile-time. If the color is constant, use either OwoColorize::bg or +a color-specific method, such as OwoColorize::on_yellow, Read more
    §

    fn fg_rgb<const R: u8, const G: u8, const B: u8>( + &self, +) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

    Set the foreground color to a specific RGB value.
    §

    fn bg_rgb<const R: u8, const G: u8, const B: u8>( + &self, +) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

    Set the background color to a specific RGB value.
    §

    fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

    Sets the foreground color to an RGB value.
    §

    fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

    Sets the background color to an RGB value.
    §

    fn style(&self, style: Style) -> Styled<&Self>

    Apply a runtime-determined style
    source§

    impl<T> ToOwned for T
    where + T: Clone,

    source§

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where + U: Into<T>,

    source§

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where + U: TryFrom<T>,

    source§

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where + S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a +[WithDispatch] wrapper. Read more
    \ No newline at end of file diff --git a/rustdocs/zinkc/type.InitStorage.html b/rustdocs/zinkc/type.InitStorage.html new file mode 100644 index 000000000..7d1961ca4 --- /dev/null +++ b/rustdocs/zinkc/type.InitStorage.html @@ -0,0 +1,2 @@ +InitStorage in zinkc - Rust

    Type Alias zinkc::InitStorage

    source ·
    pub type InitStorage = HashMap<SmallVec<[u8; 32]>, SmallVec<[u8; 32]>>;
    Expand description

    Initial storage of contracts

    +

    Aliased Type§

    struct InitStorage { /* private fields */ }
    \ No newline at end of file diff --git a/rustdocs/zinkc/type.Result.html b/rustdocs/zinkc/type.Result.html index 2f17389bd..65a1d419a 100644 --- a/rustdocs/zinkc/type.Result.html +++ b/rustdocs/zinkc/type.Result.html @@ -1,4 +1,4 @@ -Result in zinkc - Rust

    Type Alias zinkc::Result

    source ·
    pub type Result<T> = Result<T, Error>;
    Expand description

    Zinkc result

    +Result in zinkc - Rust

    Type Alias zinkc::Result

    source ·
    pub type Result<T> = Result<T, Error>;
    Expand description

    Zinkc result

    Aliased Type§

    enum Result<T> {
         Ok(T),
         Err(Error),
    diff --git a/rustdocs/zinkc/utils/fn.wasm_opt.html b/rustdocs/zinkc/utils/fn.wasm_opt.html
    index e448f2b26..f5bf4b27f 100644
    --- a/rustdocs/zinkc/utils/fn.wasm_opt.html
    +++ b/rustdocs/zinkc/utils/fn.wasm_opt.html
    @@ -1,2 +1,2 @@
    -wasm_opt in zinkc::utils - Rust

    Function zinkc::utils::wasm_opt

    source ·
    pub fn wasm_opt(input: impl AsRef<Path>, output: impl AsRef<Path>) -> Result<()>
    Expand description

    Run wasm-opt on the given WASM file.

    +wasm_opt in zinkc::utils - Rust

    Function zinkc::utils::wasm_opt

    source ·
    pub fn wasm_opt(input: impl AsRef<Path>, output: impl AsRef<Path>) -> Result<()>
    Expand description

    Run wasm-opt on the given WASM file.

    \ No newline at end of file diff --git a/rustdocs/zinkc/utils/index.html b/rustdocs/zinkc/utils/index.html index dac8c9138..2dc3e64fa 100644 --- a/rustdocs/zinkc/utils/index.html +++ b/rustdocs/zinkc/utils/index.html @@ -1,2 +1,2 @@ -zinkc::utils - Rust

    Module zinkc::utils

    source ·
    Expand description

    Zink compiler utils

    +zinkc::utils - Rust

    Module zinkc::utils

    source ·
    Expand description

    Zink compiler utils

    Functions§

    • Run wasm-opt on the given WASM file.
    \ No newline at end of file diff --git a/rustdocs/zinkc_filetests/all.html b/rustdocs/zinkc_filetests/all.html index 116891e93..648fca9c5 100644 --- a/rustdocs/zinkc_filetests/all.html +++ b/rustdocs/zinkc_filetests/all.html @@ -1 +1 @@ -List of all items in this crate

    List of all items

    Structs

    Macros

    \ No newline at end of file +List of all items in this crate

    List of all items

    Structs

    Macros

    \ No newline at end of file diff --git a/rustdocs/zinkc_filetests/index.html b/rustdocs/zinkc_filetests/index.html index 1b5f6630e..c557c524e 100644 --- a/rustdocs/zinkc_filetests/index.html +++ b/rustdocs/zinkc_filetests/index.html @@ -1,2 +1,2 @@ -zinkc_filetests - Rust

    Crate zinkc_filetests

    source ·
    Expand description

    Zink filetests

    +zinkc_filetests - Rust

    Crate zinkc_filetests

    source ·
    Expand description

    Zink filetests

    Macros§

    Structs§

    \ No newline at end of file diff --git a/rustdocs/zinkc_filetests/macro.impl_tests.html b/rustdocs/zinkc_filetests/macro.impl_tests.html index 460185a5a..1475da511 100644 --- a/rustdocs/zinkc_filetests/macro.impl_tests.html +++ b/rustdocs/zinkc_filetests/macro.impl_tests.html @@ -1,4 +1,4 @@ -impl_tests in zinkc_filetests - Rust

    Macro zinkc_filetests::impl_tests

    source ·
    macro_rules! impl_tests {
    +impl_tests in zinkc_filetests - Rust

    Macro zinkc_filetests::impl_tests

    source ·
    macro_rules! impl_tests {
         (
             tests: $tests:tt,
             modules: [$($mod:expr),+]
    diff --git a/rustdocs/zinkc_filetests/struct.Test.html b/rustdocs/zinkc_filetests/struct.Test.html
    index b339de6ce..047085fe2 100644
    --- a/rustdocs/zinkc_filetests/struct.Test.html
    +++ b/rustdocs/zinkc_filetests/struct.Test.html
    @@ -1,4 +1,4 @@
    -Test in zinkc_filetests - Rust

    Struct zinkc_filetests::Test

    source ·
    pub struct Test {
    +Test in zinkc_filetests - Rust

    Struct zinkc_filetests::Test

    source ·
    pub struct Test {
         pub module: String,
         pub name: String,
         pub wasm: Vec<u8>,
    diff --git a/rustdocs/zint/all.html b/rustdocs/zint/all.html
    index 278c77903..e8b89fb74 100644
    --- a/rustdocs/zint/all.html
    +++ b/rustdocs/zint/all.html
    @@ -1 +1 @@
    -List of all items in this crate
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/rustdocs/zint/bytes/index.html b/rustdocs/zint/bytes/index.html index 35f2f4f7a..97c34b3d6 100644 --- a/rustdocs/zint/bytes/index.html +++ b/rustdocs/zint/bytes/index.html @@ -1,2 +1,2 @@ -zint::bytes - Rust

    Module zint::bytes

    source ·
    Expand description

    Utils for bytes conversion.

    +zint::bytes - Rust

    Module zint::bytes

    source ·
    Expand description

    Utils for bytes conversion.

    Macros§

    Traits§

    • Trait for converting type to bytes32.
    \ No newline at end of file diff --git a/rustdocs/zint/bytes/macro.impl_bytes32.html b/rustdocs/zint/bytes/macro.impl_bytes32.html index b255269de..8ff8d5a78 100644 --- a/rustdocs/zint/bytes/macro.impl_bytes32.html +++ b/rustdocs/zint/bytes/macro.impl_bytes32.html @@ -1,4 +1,4 @@ -impl_bytes32 in zint::bytes - Rust

    Macro zint::bytes::impl_bytes32

    source ·
    macro_rules! impl_bytes32 {
    +impl_bytes32 in zint::bytes - Rust

    Macro zint::bytes::impl_bytes32

    source ·
    macro_rules! impl_bytes32 {
         ($($ty:ident),+) => { ... };
     }
    Expand description

    Implement Bytes32 for types.

    \ No newline at end of file diff --git a/rustdocs/zint/bytes/trait.Bytes32.html b/rustdocs/zint/bytes/trait.Bytes32.html index a63df7ec9..e237e16bb 100644 --- a/rustdocs/zint/bytes/trait.Bytes32.html +++ b/rustdocs/zint/bytes/trait.Bytes32.html @@ -1,4 +1,4 @@ -Bytes32 in zint::bytes - Rust

    Trait zint::bytes::Bytes32

    source ·
    pub trait Bytes32: Sized {
    +Bytes32 in zint::bytes - Rust

    Trait zint::bytes::Bytes32

    source ·
    pub trait Bytes32: Sized {
         // Required methods
         fn to_bytes32(&self) -> [u8; 32];
         fn to_vec(&self) -> Vec<u8> ;
    diff --git a/rustdocs/zint/contract/index.html b/rustdocs/zint/contract/index.html
    index fc16c79a3..4e7f50d01 100644
    --- a/rustdocs/zint/contract/index.html
    +++ b/rustdocs/zint/contract/index.html
    @@ -1,2 +1,2 @@
    -zint::contract - Rust

    Module zint::contract

    source ·
    Expand description

    Contract Instance

    +zint::contract - Rust

    Module zint::contract

    source ·
    Expand description

    Contract Instance

    Structs§

    \ No newline at end of file diff --git a/rustdocs/zint/contract/struct.Contract.html b/rustdocs/zint/contract/struct.Contract.html index d57a579fa..d5efebf30 100644 --- a/rustdocs/zint/contract/struct.Contract.html +++ b/rustdocs/zint/contract/struct.Contract.html @@ -1,26 +1,30 @@ -Contract in zint::contract - Rust

    Struct zint::contract::Contract

    source ·
    pub struct Contract {
    +Contract in zint::contract - Rust

    Struct zint::contract::Contract

    source ·
    pub struct Contract {
         pub dispatcher: bool,
         pub artifact: Artifact,
         pub wasm: Vec<u8>,
    +    pub constructor: Constructor,
     }
    Expand description

    Contract instance for testing.

    Fields§

    §dispatcher: bool

    If enable dispatcher.

    §artifact: Artifact

    The artifact of the contract.

    §wasm: Vec<u8>

    The source WASM of the contract.

    -

    Implementations§

    source§

    impl Contract

    source

    pub fn bytecode(&self) -> &[u8]

    Get the bytecode of the contract.

    -
    source

    pub fn compile(self) -> Result<Self>

    Compile WASM to EVM bytecode.

    -
    source

    pub fn current() -> Result<Self>

    Load zink contract defined in the current +

    §constructor: Constructor

    Bytecode constructor

    +

    Implementations§

    source§

    impl Contract

    source

    pub fn bytecode(&self) -> Result<Vec<u8>>

    Get the bytecode of the contract.

    +
    source

    pub fn construct(&mut self, storage: InitStorage) -> Result<&mut Self>

    Preset the storage of the contract, similar with the concept constructor +in solidity, but just in time.

    +
    source

    pub fn compile(self) -> Result<Self>

    Compile WASM to EVM bytecode.

    +
    source

    pub fn current() -> Result<Self>

    Load zink contract defined in the current package.

    NOTE: This only works if the current contract is not an example.

    -
    source

    pub fn encode<Param>(&self, inputs: impl AsRef<[Param]>) -> Result<Vec<u8>>
    where +

    source

    pub fn encode<Param>(&self, inputs: impl AsRef<[Param]>) -> Result<Vec<u8>>
    where Param: Bytes32,

    Encode call data

    -
    source

    pub fn execute<Param>(&mut self, inputs: impl AsRef<[Param]>) -> Result<Info>
    where +

    source

    pub fn execute<Param>(&mut self, inputs: impl AsRef<[Param]>) -> Result<Info>
    where Param: Bytes32,

    Execute the contract.

    -
    source

    pub fn json_abi(&self) -> Result<String>

    Get the JSON ABI of the contract.

    -
    source

    pub fn pure(self) -> Self

    Disable dispatcher.

    -
    source

    pub fn search(name: &str) -> Result<Self>

    Search for zink contract in the target directory.

    -

    Trait Implementations§

    source§

    impl Default for Contract

    source§

    fn default() -> Contract

    Returns the “default value” for a type. Read more
    source§

    impl<T> From<T> for Contract
    where - T: AsRef<[u8]>,

    source§

    fn from(wasm: T) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    source

    pub fn json_abi(&self) -> Result<String>

    Get the JSON ABI of the contract.

    +
    source

    pub fn pure(self) -> Self

    Disable dispatcher.

    +
    source

    pub fn search(name: &str) -> Result<Self>

    Search for zink contract in the target directory.

    +

    Trait Implementations§

    source§

    impl Default for Contract

    source§

    fn default() -> Contract

    Returns the “default value” for a type. Read more
    source§

    impl<T> From<T> for Contract
    where + T: AsRef<[u8]>,

    source§

    fn from(wasm: T) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where @@ -126,4 +130,4 @@ U: TryFrom<T>,

    source§

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    \ No newline at end of file +[WithDispatch] wrapper. Read more
    \ No newline at end of file diff --git a/rustdocs/zint/enum.HaltReason.html b/rustdocs/zint/enum.HaltReason.html index 1c15c79a5..02a9d7168 100644 --- a/rustdocs/zint/enum.HaltReason.html +++ b/rustdocs/zint/enum.HaltReason.html @@ -1,4 +1,4 @@ -HaltReason in zint - Rust

    Enum zint::HaltReason

    pub enum HaltReason {
    +HaltReason in zint - Rust

    Enum zint::HaltReason

    pub enum HaltReason {
     
    Show 23 variants OutOfGas(OutOfGasError), OpcodeNotFound, InvalidFEOpcode, diff --git a/rustdocs/zint/enum.OutOfGasError.html b/rustdocs/zint/enum.OutOfGasError.html index 370c58365..f595351a5 100644 --- a/rustdocs/zint/enum.OutOfGasError.html +++ b/rustdocs/zint/enum.OutOfGasError.html @@ -1,4 +1,4 @@ -OutOfGasError in zint - Rust

    Enum zint::OutOfGasError

    pub enum OutOfGasError {
    +OutOfGasError in zint - Rust

    Enum zint::OutOfGasError

    pub enum OutOfGasError {
         Basic,
         MemoryLimit,
         Memory,
    diff --git a/rustdocs/zint/evm/constant.ALICE.html b/rustdocs/zint/evm/constant.ALICE.html
    index 889c7c8f5..7ac03e797 100644
    --- a/rustdocs/zint/evm/constant.ALICE.html
    +++ b/rustdocs/zint/evm/constant.ALICE.html
    @@ -1,2 +1,2 @@
    -ALICE in zint::evm - Rust

    Constant zint::evm::ALICE

    source ·
    pub const ALICE: [u8; 20];
    Expand description

    Alice account address.

    +ALICE in zint::evm - Rust

    Constant zint::evm::ALICE

    source ·
    pub const ALICE: [u8; 20];
    Expand description

    Alice account address.

    \ No newline at end of file diff --git a/rustdocs/zint/evm/constant.CONTRACT.html b/rustdocs/zint/evm/constant.CONTRACT.html index 3cd3dc2ed..8c0f012f5 100644 --- a/rustdocs/zint/evm/constant.CONTRACT.html +++ b/rustdocs/zint/evm/constant.CONTRACT.html @@ -1,2 +1,2 @@ -CONTRACT in zint::evm - Rust

    Constant zint::evm::CONTRACT

    source ·
    pub const CONTRACT: [u8; 20];
    Expand description

    Contract address if any.

    +CONTRACT in zint::evm - Rust

    Constant zint::evm::CONTRACT

    source ·
    pub const CONTRACT: [u8; 20];
    Expand description

    Contract address if any.

    \ No newline at end of file diff --git a/rustdocs/zint/evm/constant.GAS_LIMIT.html b/rustdocs/zint/evm/constant.GAS_LIMIT.html index 252b8f201..915ab4390 100644 --- a/rustdocs/zint/evm/constant.GAS_LIMIT.html +++ b/rustdocs/zint/evm/constant.GAS_LIMIT.html @@ -1,2 +1,2 @@ -GAS_LIMIT in zint::evm - Rust

    Constant zint::evm::GAS_LIMIT

    source ·
    const GAS_LIMIT: u64 = 1_000_000_000;
    Expand description

    Transaction gas limit.

    +GAS_LIMIT in zint::evm - Rust

    Constant zint::evm::GAS_LIMIT

    source ·
    const GAS_LIMIT: u64 = 1_000_000_000;
    Expand description

    Transaction gas limit.

    \ No newline at end of file diff --git a/rustdocs/zint/evm/index.html b/rustdocs/zint/evm/index.html index 62abc16e6..db4ab9af4 100644 --- a/rustdocs/zint/evm/index.html +++ b/rustdocs/zint/evm/index.html @@ -1,2 +1,2 @@ -zint::evm - Rust

    Module zint::evm

    source ·
    Expand description

    Wrapper of revm

    +zint::evm - Rust

    Module zint::evm

    source ·
    Expand description

    Wrapper of revm

    Structs§

    • Wrapper of full REVM
    • Interp execution result info.

    Constants§

    \ No newline at end of file diff --git a/rustdocs/zint/evm/struct.EVM.html b/rustdocs/zint/evm/struct.EVM.html index 22810c090..343bee18a 100644 --- a/rustdocs/zint/evm/struct.EVM.html +++ b/rustdocs/zint/evm/struct.EVM.html @@ -1,4 +1,4 @@ -EVM in zint::evm - Rust

    Struct zint::evm::EVM

    source ·
    pub struct EVM<'e> {
    +EVM in zint::evm - Rust

    Struct zint::evm::EVM

    source ·
    pub struct EVM<'e> {
         inner: Evm<'e, (), InMemoryDB>,
     }
    Expand description

    Wrapper of full REVM

    Fields§

    §inner: Evm<'e, (), InMemoryDB>

    Implementations§

    source§

    impl<'e> EVM<'e>

    source

    pub fn interp(runtime_bytecode: &[u8], input: &[u8]) -> Result<Info>

    Interpret runtime bytecode with provided arguments

    diff --git a/rustdocs/zint/evm/struct.Info.html b/rustdocs/zint/evm/struct.Info.html index 0749cde1b..ea2f26579 100644 --- a/rustdocs/zint/evm/struct.Info.html +++ b/rustdocs/zint/evm/struct.Info.html @@ -1,4 +1,4 @@ -Info in zint::evm - Rust

    Struct zint::evm::Info

    source ·
    pub struct Info {
    +Info in zint::evm - Rust

    Struct zint::evm::Info

    source ·
    pub struct Info {
         pub address: [u8; 20],
         pub gas: u64,
         pub ret: Vec<u8>,
    diff --git a/rustdocs/zint/fn.keccak256.html b/rustdocs/zint/fn.keccak256.html
    index d21f73995..848c6324e 100644
    --- a/rustdocs/zint/fn.keccak256.html
    +++ b/rustdocs/zint/fn.keccak256.html
    @@ -1,2 +1,2 @@
    -keccak256 in zint - Rust

    Function zint::keccak256

    source ·
    pub fn keccak256(input: &[u8]) -> [u8; 32]
    Expand description

    Generate a keccak hash of the input (sha3)

    +keccak256 in zint - Rust

    Function zint::keccak256

    source ·
    pub fn keccak256(input: &[u8]) -> [u8; 32]
    Expand description

    Generate a keccak hash of the input (sha3)

    \ No newline at end of file diff --git a/rustdocs/zint/fn.setup_logger.html b/rustdocs/zint/fn.setup_logger.html index a36b42f32..0af86ec5b 100644 --- a/rustdocs/zint/fn.setup_logger.html +++ b/rustdocs/zint/fn.setup_logger.html @@ -1,2 +1,2 @@ -setup_logger in zint - Rust

    Function zint::setup_logger

    source ·
    pub fn setup_logger()
    Expand description

    Set up the logger.

    +setup_logger in zint - Rust

    Function zint::setup_logger

    source ·
    pub fn setup_logger()
    Expand description

    Set up the logger.

    \ No newline at end of file diff --git a/rustdocs/zint/index.html b/rustdocs/zint/index.html index ae4da4e28..e9378c865 100644 --- a/rustdocs/zint/index.html +++ b/rustdocs/zint/index.html @@ -1,3 +1,3 @@ -zint - Rust

    Crate zint

    source ·
    Expand description

    Zink testing framework.

    +zint - Rust

    Crate zint

    source ·
    Expand description

    Zink testing framework.

    Re-exports§

    • pub use hex;
    • pub use tracing as log;

    Modules§

    • bytes 🔒
      Utils for bytes conversion.
    • contract 🔒
      Contract Instance
    • evm 🔒
      Wrapper of revm
    • lookup 🔒
      Binary lookup util

    Structs§

    • Contract instance for testing.
    • Wrapper of full REVM
    • Interp execution result info.

    Enums§

    • Indicates that the EVM has experienced an exceptional halt. This causes execution to immediately end with all gas being consumed.

    Traits§

    • Trait for converting type to bytes32.

    Functions§

    Type Aliases§

    • 256-bit [unsigned integer type][Uint], consisting of 4, 64-bit limbs.
    \ No newline at end of file diff --git a/rustdocs/zint/lookup/fn.pkg_name.html b/rustdocs/zint/lookup/fn.pkg_name.html index 7a7cc678a..389d21b36 100644 --- a/rustdocs/zint/lookup/fn.pkg_name.html +++ b/rustdocs/zint/lookup/fn.pkg_name.html @@ -1,2 +1,2 @@ -pkg_name in zint::lookup - Rust

    Function zint::lookup::pkg_name

    source ·
    pub fn pkg_name() -> Result<String>
    Expand description

    Get the name of the current package.

    +pkg_name in zint::lookup - Rust

    Function zint::lookup::pkg_name

    source ·
    pub fn pkg_name() -> Result<String>
    Expand description

    Get the name of the current package.

    \ No newline at end of file diff --git a/rustdocs/zint/lookup/fn.target_dir.html b/rustdocs/zint/lookup/fn.target_dir.html index 1fdf54639..3595d36a1 100644 --- a/rustdocs/zint/lookup/fn.target_dir.html +++ b/rustdocs/zint/lookup/fn.target_dir.html @@ -1,2 +1,2 @@ -target_dir in zint::lookup - Rust

    Function zint::lookup::target_dir

    source ·
    fn target_dir() -> Result<PathBuf>
    Expand description

    Get the current target directory.

    +target_dir in zint::lookup - Rust

    Function zint::lookup::target_dir

    source ·
    fn target_dir() -> Result<PathBuf>
    Expand description

    Get the current target directory.

    \ No newline at end of file diff --git a/rustdocs/zint/lookup/fn.wasm.html b/rustdocs/zint/lookup/fn.wasm.html index 8b6d8ee1c..2b9901b19 100644 --- a/rustdocs/zint/lookup/fn.wasm.html +++ b/rustdocs/zint/lookup/fn.wasm.html @@ -1,2 +1,2 @@ -wasm in zint::lookup - Rust

    Function zint::lookup::wasm

    source ·
    pub fn wasm(name: &str) -> Result<PathBuf>
    Expand description

    Get the wasm binary of the provided name from the target directory.

    +wasm in zint::lookup - Rust

    Function zint::lookup::wasm

    source ·
    pub fn wasm(name: &str) -> Result<PathBuf>
    Expand description

    Get the wasm binary of the provided name from the target directory.

    \ No newline at end of file diff --git a/rustdocs/zint/lookup/index.html b/rustdocs/zint/lookup/index.html index 83ff106c0..0742ac7d8 100644 --- a/rustdocs/zint/lookup/index.html +++ b/rustdocs/zint/lookup/index.html @@ -1,2 +1,2 @@ -zint::lookup - Rust

    Module zint::lookup

    source ·
    Expand description

    Binary lookup util

    +zint::lookup - Rust

    Module zint::lookup

    source ·
    Expand description

    Binary lookup util

    Structs§

    • Manifest 🔒
      Cargo Manifest for parsing package.
    • Package 🔒
      Cargo Package for parsing package name.

    Functions§

    • Get the name of the current package.
    • target_dir 🔒
      Get the current target directory.
    • Get the wasm binary of the provided name from the target directory.
    \ No newline at end of file diff --git a/rustdocs/zint/lookup/struct.Manifest.html b/rustdocs/zint/lookup/struct.Manifest.html index 581487b39..36a5f499b 100644 --- a/rustdocs/zint/lookup/struct.Manifest.html +++ b/rustdocs/zint/lookup/struct.Manifest.html @@ -1,4 +1,4 @@ -Manifest in zint::lookup - Rust

    Struct zint::lookup::Manifest

    source ·
    struct Manifest {
    +Manifest in zint::lookup - Rust

    Struct zint::lookup::Manifest

    source ·
    struct Manifest {
         pub package: Package,
     }
    Expand description

    Cargo Manifest for parsing package.

    Fields§

    §package: Package

    The package.

    diff --git a/rustdocs/zint/lookup/struct.Package.html b/rustdocs/zint/lookup/struct.Package.html index c5167075e..8002a40e4 100644 --- a/rustdocs/zint/lookup/struct.Package.html +++ b/rustdocs/zint/lookup/struct.Package.html @@ -1,4 +1,4 @@ -Package in zint::lookup - Rust

    Struct zint::lookup::Package

    source ·
    struct Package {
    +Package in zint::lookup - Rust

    Struct zint::lookup::Package

    source ·
    struct Package {
         pub name: String,
     }
    Expand description

    Cargo Package for parsing package name.

    Fields§

    §name: String

    Package name.

    diff --git a/rustdocs/zint/struct.Contract.html b/rustdocs/zint/struct.Contract.html index a6a5aca7e..6c06548f1 100644 --- a/rustdocs/zint/struct.Contract.html +++ b/rustdocs/zint/struct.Contract.html @@ -1,26 +1,30 @@ -Contract in zint - Rust

    Struct zint::Contract

    source ·
    pub struct Contract {
    +Contract in zint - Rust

    Struct zint::Contract

    source ·
    pub struct Contract {
         pub dispatcher: bool,
         pub artifact: Artifact,
         pub wasm: Vec<u8>,
    +    pub constructor: Constructor,
     }
    Expand description

    Contract instance for testing.

    Fields§

    §dispatcher: bool

    If enable dispatcher.

    §artifact: Artifact

    The artifact of the contract.

    §wasm: Vec<u8>

    The source WASM of the contract.

    -

    Implementations§

    source§

    impl Contract

    source

    pub fn bytecode(&self) -> &[u8]

    Get the bytecode of the contract.

    -
    source

    pub fn compile(self) -> Result<Self>

    Compile WASM to EVM bytecode.

    -
    source

    pub fn current() -> Result<Self>

    Load zink contract defined in the current +

    §constructor: Constructor

    Bytecode constructor

    +

    Implementations§

    source§

    impl Contract

    source

    pub fn bytecode(&self) -> Result<Vec<u8>>

    Get the bytecode of the contract.

    +
    source

    pub fn construct(&mut self, storage: InitStorage) -> Result<&mut Self>

    Preset the storage of the contract, similar with the concept constructor +in solidity, but just in time.

    +
    source

    pub fn compile(self) -> Result<Self>

    Compile WASM to EVM bytecode.

    +
    source

    pub fn current() -> Result<Self>

    Load zink contract defined in the current package.

    NOTE: This only works if the current contract is not an example.

    -
    source

    pub fn encode<Param>(&self, inputs: impl AsRef<[Param]>) -> Result<Vec<u8>>
    where +

    source

    pub fn encode<Param>(&self, inputs: impl AsRef<[Param]>) -> Result<Vec<u8>>
    where Param: Bytes32,

    Encode call data

    -
    source

    pub fn execute<Param>(&mut self, inputs: impl AsRef<[Param]>) -> Result<Info>
    where +

    source

    pub fn execute<Param>(&mut self, inputs: impl AsRef<[Param]>) -> Result<Info>
    where Param: Bytes32,

    Execute the contract.

    -
    source

    pub fn json_abi(&self) -> Result<String>

    Get the JSON ABI of the contract.

    -
    source

    pub fn pure(self) -> Self

    Disable dispatcher.

    -
    source

    pub fn search(name: &str) -> Result<Self>

    Search for zink contract in the target directory.

    -

    Trait Implementations§

    source§

    impl Default for Contract

    source§

    fn default() -> Contract

    Returns the “default value” for a type. Read more
    source§

    impl<T> From<T> for Contract
    where - T: AsRef<[u8]>,

    source§

    fn from(wasm: T) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    source

    pub fn json_abi(&self) -> Result<String>

    Get the JSON ABI of the contract.

    +
    source

    pub fn pure(self) -> Self

    Disable dispatcher.

    +
    source

    pub fn search(name: &str) -> Result<Self>

    Search for zink contract in the target directory.

    +

    Trait Implementations§

    source§

    impl Default for Contract

    source§

    fn default() -> Contract

    Returns the “default value” for a type. Read more
    source§

    impl<T> From<T> for Contract
    where + T: AsRef<[u8]>,

    source§

    fn from(wasm: T) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<T> Conv for T

    §

    fn conv<T>(self) -> T
    where @@ -126,4 +130,4 @@ U: TryFrom<T>,

    source§

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

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<T> WithSubscriber for T

    §

    fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
    where S: Into<Dispatch>,

    Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
    §

    fn with_current_subscriber(self) -> WithDispatch<Self>

    Attaches the current default Subscriber to this type, returning a -[WithDispatch] wrapper. Read more
    \ No newline at end of file +[WithDispatch] wrapper. Read more
    \ No newline at end of file diff --git a/rustdocs/zint/struct.EVM.html b/rustdocs/zint/struct.EVM.html index 378ba3395..ed63b1f28 100644 --- a/rustdocs/zint/struct.EVM.html +++ b/rustdocs/zint/struct.EVM.html @@ -1,4 +1,4 @@ -EVM in zint - Rust

    Struct zint::EVM

    source ·
    pub struct EVM<'e> {
    +EVM in zint - Rust

    Struct zint::EVM

    source ·
    pub struct EVM<'e> {
         inner: Evm<'e, (), InMemoryDB>,
     }
    Expand description

    Wrapper of full REVM

    Fields§

    §inner: Evm<'e, (), InMemoryDB>

    Implementations§

    source§

    impl<'e> EVM<'e>

    source

    pub fn interp(runtime_bytecode: &[u8], input: &[u8]) -> Result<Info>

    Interpret runtime bytecode with provided arguments

    diff --git a/rustdocs/zint/struct.Info.html b/rustdocs/zint/struct.Info.html index 1529dff4b..3d7904496 100644 --- a/rustdocs/zint/struct.Info.html +++ b/rustdocs/zint/struct.Info.html @@ -1,4 +1,4 @@ -Info in zint - Rust

    Struct zint::Info

    source ·
    pub struct Info {
    +Info in zint - Rust

    Struct zint::Info

    source ·
    pub struct Info {
         pub address: [u8; 20],
         pub gas: u64,
         pub ret: Vec<u8>,
    diff --git a/rustdocs/zint/trait.Bytes32.html b/rustdocs/zint/trait.Bytes32.html
    index 176d885bd..77a119531 100644
    --- a/rustdocs/zint/trait.Bytes32.html
    +++ b/rustdocs/zint/trait.Bytes32.html
    @@ -1,4 +1,4 @@
    -Bytes32 in zint - Rust

    Trait zint::Bytes32

    source ·
    pub trait Bytes32: Sized {
    +Bytes32 in zint - Rust

    Trait zint::Bytes32

    source ·
    pub trait Bytes32: Sized {
         // Required methods
         fn to_bytes32(&self) -> [u8; 32];
         fn to_vec(&self) -> Vec<u8> ;
    diff --git a/rustdocs/zint/type.U256.html b/rustdocs/zint/type.U256.html
    index e9b7231bf..ebeded999 100644
    --- a/rustdocs/zint/type.U256.html
    +++ b/rustdocs/zint/type.U256.html
    @@ -1,2 +1,2 @@
    -U256 in zint - Rust

    Type Alias zint::U256

    pub type U256 = Uint<256, 4>;
    Expand description

    256-bit [unsigned integer type][Uint], consisting of 4, 64-bit limbs.

    +U256 in zint - Rust

    Type Alias zint::U256

    pub type U256 = Uint<256, 4>;
    Expand description

    256-bit [unsigned integer type][Uint], consisting of 4, 64-bit limbs.

    Aliased Type§

    struct U256 { /* private fields */ }
    \ No newline at end of file