Crate guillotine_ffi

Crate guillotine_ffi 

Source
Expand description

§guillotine-rs

Safe Rust bindings for the Guillotine EVM - a high-performance Ethereum Virtual Machine implementation written in Zig.

§Example

use guillotine_ffi::{Evm, EvmBuilder};
use alloy_primitives::{Address, U256};
 
// Create EVM instance
let mut evm = EvmBuilder::new().build()?;
 
// Set up account
let account = Address::from([0x11; 20]);
evm.set_balance(account, U256::from(1_000_000))?;
 
// Execute transaction
let result = evm.transact()
    .from(account)
    .to(Address::from([0x22; 20]))
    .value(U256::from(1000))
    .gas_limit(21000)
    .execute()?;

Structs§

Address
An Ethereum address, 20 bytes in length.
Bytes
Wrapper type around bytes::Bytes to support “0x” prefixed hex strings.
Evm
Safe Rust wrapper for Guillotine EVM
EvmBuilder
Builder for configuring EVM instances
ExecutionResult
Result of executing a transaction on the EVM
Log
An EVM log entry
TransactionBuilder
Transaction builder for fluent transaction construction

Enums§

CallType
Call type for EVM operations

Functions§

address_from_hex
Utility function to create an address from hex string
bytecode_from_hex
Utility function to parse bytecode from hex string
initialize
Initialize the FFI layer. Call this once at the start of your program.

Type Aliases§

B256
32-byte fixed byte-array type.
U256
256-bit unsigned integer type, consisting of 4, 64-bit limbs.