Function evmole::function_arguments

source ·
pub fn function_arguments(
    code: &[u8],
    selector: &Selector,
    gas_limit: u32,
) -> String
Expand description

Extracts function arguments

§Arguments

  • code - A slice of deployed contract bytecode
  • selector - A function selector
  • gas_limit - Maximum allowed gas usage; set to 0 to use defaults

§Examples

use evmole::function_arguments;
use hex::decode;

let code = decode("6080604052348015600e575f80fd5b50600436106030575f3560e01c80632125b65b146034578063b69ef8a8146044575b5f80fd5b6044603f3660046046565b505050565b005b5f805f606084860312156057575f80fd5b833563ffffffff811681146069575f80fd5b925060208401356001600160a01b03811681146083575f80fd5b915060408401356001600160e01b0381168114609d575f80fd5b80915050925092509256").unwrap();
let selector = [0x21, 0x25, 0xb6, 0x5b];

let arguments: String = function_arguments(&code, &selector, 0);

assert_eq!(arguments, "uint32,address,uint224");