evm v0.1.14 EVM.Interface.AccountInterface protocol
Interface for interacting with accounts.
Link to this section Summary
Link to this section Types
Link to this section Functions
    
      
      Link to this function
    
    add_wei(t, address, value)
    
    
    
      
        
          
    
  
  add_wei(t, EVM.address, integer) :: nil | EVM.Wei.t
    
      
      Link to this function
    
    create_contract(t, sender, originator, available_gas, gas_price, endowment, init_code, stack_depth, block_header)
    
    
    
      
        
          
    
  
  create_contract(t, EVM.address, EVM.address, EVM.Gas.t, EVM.Gas.gas_price, EVM.Wei.t, EVM.MachineCode.t, integer, Header.t) :: {t, EVM.Gas.t, EVM.SubState.t}
    
      
      Link to this function
    
    get_account_balance(t, address)
    
    
    
      
        
          
    
  
  get_account_balance(t, EVM.address) :: nil | EVM.Wei.t
    
      
      Link to this function
    
    get_account_nonce(mock_account_interface, address)
    
    
    
      
        
          
    
  
  get_account_nonce(EVM.Interface.AccountInterface.t, EVM.address) :: integer
    
      
      Link to this function
    
    get_storage(t, address, key)
    
    
    
      
        
          
    
  
  get_storage(t, EVM.address, integer) :: {:ok, integer} | :account_not_found | :key_not_found
    
      
      Link to this function
    
    increment_account_nonce(t, address)
    
    
    
      
        
          
    
  
  increment_account_nonce(t, EVM.address) :: t
    
      
      Link to this function
    
    message_call(t, sender, originator, recipient, contract, available_gas, gas_price, value, apparent_value, data, stack_depth, block_header)
    
    
    
      
        
          
    
  
  message_call(t, EVM.address, EVM.address, EVM.address, EVM.address, EVM.Gas.t, EVM.Gas.gas_price, EVM.Wei.t, EVM.Wei.t, binary, integer, Header.t) :: {t, EVM.Gas.t, EVM.SubState.t, EVM.VM.output}
    
      
      Link to this function
    
    new_contract_address(t, address, nonce)
    
    
    
      
        
          
    
  
  new_contract_address(t, EVM.address, integer) :: EVM.address
    
      
      Link to this function
    
    put_storage(t, address, key, value)
    
    
    
      
        
          
    
  
  put_storage(t, EVM.address, integer, integer) :: t
    
      
      Link to this function
    
    transfer(t, from, to, value)
    
    
    
      
        
          
    
  
  transfer(t, EVM.address, EVM.address, integer) :: nil | EVM.Wei.t