SYMBOL INDEX (288 symbols across 18 files) FILE: pakala/analyzer.py class BaseAnalyzer (line 22) | class BaseAnalyzer(object): method __init__ (line 28) | def __init__(self, max_wei_to_send, min_wei_to_receive, block="latest"): method hex_addr (line 44) | def hex_addr(self): method _read_storage_key (line 49) | def _read_storage_key(self, key): method _fill_actual_storage (line 52) | def _fill_actual_storage(self): method _read_storage (line 84) | def _read_storage(self, state, key): method check_state (line 117) | def check_state(self, state, path=None): class Analyzer (line 204) | class Analyzer(BaseAnalyzer): method __init__ (line 207) | def __init__(self, address, caller, *args, **kwargs): FILE: pakala/claripy_sha3.py function Sha3 (line 16) | def Sha3(x): function _symbolize_hashes (line 20) | def _symbolize_hashes(ast, hashes): function _no_sha3_symbol (line 41) | def _no_sha3_symbol(ast): function _this_sha3_symbol (line 53) | def _this_sha3_symbol(ast, symbol): function _no_sha3_symbols (line 61) | def _no_sha3_symbols(constraints): function _hash_depth (line 65) | def _hash_depth(hashes, hash_symbol): function get_claripy_solver (line 75) | def get_claripy_solver(): class Solver (line 80) | class Solver: method __init__ (line 83) | def __init__(self, claripy_solver=None, hashes=None): method branch (line 87) | def branch(self): method add (line 90) | def add(self, constraints, **kwargs): method satisfiable (line 98) | def satisfiable(self, extra_constraints=(), **kwargs): method eval (line 108) | def eval(self, e, n, extra_constraints=(), **kwargs): method batch_eval (line 116) | def batch_eval(self, e, n, extra_constraints=(), **kwargs): method max (line 119) | def max(self, e, extra_constraints=(), **kwargs): method min (line 127) | def min(self, e, extra_constraints=(), **kwargs): method solution (line 135) | def solution(self, e, v, extra_constraints=(), **kwargs): method _hash_constraints (line 143) | def _hash_constraints(self, extra_constraints, hashes, pairs_done=None): method replace (line 215) | def replace(self, r): method regenerate_hash_symbols (line 224) | def regenerate_hash_symbols(self): method combine (line 239) | def combine(self, others): method downsize (line 259) | def downsize(self): method simplify (line 262) | def simplify(self): method __repr__ (line 265) | def __repr__(self): method as_dict (line 271) | def as_dict(self): method constraints (line 275) | def constraints(self): FILE: pakala/cli.py function err_exit (line 36) | def err_exit(message): function ethWeiAmount (line 41) | def ethWeiAmount(arg): function addressOrStdin (line 50) | def addressOrStdin(s): function main (line 158) | def main(): FILE: pakala/env.py class Env (line 27) | class Env(object): method __init__ (line 28) | def __init__(self, code, **kwargs): method __repr__ (line 41) | def __repr__(self): method as_dict (line 48) | def as_dict(self): method clean_copy (line 51) | def clean_copy(self): method extra_constraints (line 73) | def extra_constraints(self): method solution_string (line 80) | def solution_string(self, solver): function replace (line 92) | def replace(old_env, new_env, var): FILE: pakala/memory.py function _slice (line 14) | def _slice(v, start, end): class Memory (line 21) | class Memory(object): method __init__ (line 24) | def __init__(self): method __str__ (line 27) | def __str__(self): method __hash__ (line 30) | def __hash__(self): method _default (line 33) | def _default(self, addr, size): method read (line 36) | def read(self, addr, size): method write (line 70) | def write(self, addr, size, value): method copy_from (line 109) | def copy_from(self, other, start_self, start_other, size): method size (line 119) | def size(self): method copy (line 125) | def copy(self): class CalldataMemory (line 134) | class CalldataMemory(Memory): method _default (line 137) | def _default(self, addr, size): method write (line 140) | def write(self, *args, **kwargs): method copy_from (line 143) | def copy_from(self, *args, **kwargs): class CalldataMemoryView (line 147) | class CalldataMemoryView(object): method __init__ (line 151) | def __init__(self, mem, addr, size): method __hash__ (line 156) | def __hash__(self): method size (line 160) | def size(self): method __getitem__ (line 163) | def __getitem__(self, item): FILE: pakala/recursive_analyzer.py function is_function (line 37) | def is_function(state, function): function with_new_env (line 41) | def with_new_env(state): class RecursiveAnalyzer (line 59) | class RecursiveAnalyzer(analyzer.BaseAnalyzer): method __init__ (line 60) | def __init__(self, *args, **kwargs): method address (line 75) | def address(self): method caller (line 79) | def caller(self): method _search_path (line 82) | def _search_path(self, composite_state, path): method _append_state (line 115) | def _append_state(self, composite_state, state): method check_states (line 201) | def check_states(self, states, timeout, max_depth): FILE: pakala/sm.py class MultipleSolutionsError (line 49) | class MultipleSolutionsError(ValueError): function bool_to_bv (line 53) | def bool_to_bv(b): class SymbolicMachine (line 57) | class SymbolicMachine: method __init__ (line 61) | def __init__(self, env, fuzz=True): method add_branch (line 82) | def add_branch(self, state): method add_for_fuzzing (line 108) | def add_for_fuzzing(self, state, variable, tries): method exec_branch (line 153) | def exec_branch(self, state): # pylint:disable=invalid-name method execute (line 683) | def execute(self, timeout_sec): method add_outcome (line 776) | def add_outcome(self, state): method add_partial_outcome (line 782) | def add_partial_outcome(self, state): method get_coverage (line 788) | def get_coverage(self): FILE: pakala/state.py class State (line 11) | class State(object): method __init__ (line 16) | def __init__(self, env=None): method __repr__ (line 40) | def __repr__(self): method _as_dict (line 53) | def _as_dict(self): method debug_string (line 63) | def debug_string(self): method clean (line 83) | def clean(self): method replace (line 90) | def replace(self, r): method __hash__ (line 109) | def __hash__(self): method stack_push (line 134) | def stack_push(self, x): method stack_pop (line 139) | def stack_pop(self): method is_interesting (line 144) | def is_interesting(self): method copy (line 149) | def copy(self): method __eq__ (line 164) | def __eq__(self, other): method __ne__ (line 167) | def __ne__(self, other): FILE: pakala/summary.py class HumanSummarizer (line 17) | class HumanSummarizer: method __init__ (line 18) | def __init__(self, symbolic_machine): method states_by_method (line 30) | def states_by_method(self): method print_methods (line 44) | def print_methods(self): FILE: pakala/test_analyzer.py class TestCheckState (line 16) | class TestCheckState(unittest.TestCase): method setUp (line 17) | def setUp(self): method check_state (line 28) | def check_state(self, state): method get_call (line 31) | def get_call(self, value, to=None): method get_delegatecall (line 44) | def get_delegatecall(self, to=None): method test_nothing (line 56) | def test_nothing(self): method test_selfdestruct (line 59) | def test_selfdestruct(self): method test_send_back (line 63) | def test_send_back(self): method test_delegatecall (line 67) | def test_delegatecall(self): method test_delegatecall_to_other (line 71) | def test_delegatecall_to_other(self): method test_send_back_more (line 75) | def test_send_back_more(self): method test_send_back_if_impossible_block (line 79) | def test_send_back_if_impossible_block(self): method test_send_back_if_possible_block (line 91) | def test_send_back_if_possible_block(self): method test_send_back_nothing (line 103) | def test_send_back_nothing(self): method test_send_back_twice (line 107) | def test_send_back_twice(self): method test_send_back_fixed_amount (line 112) | def test_send_back_fixed_amount(self): method test_send_back_to_someone_else (line 116) | def test_send_back_to_someone_else(self): method test_send_all (line 122) | def test_send_all(self): method test_send_back_calldata (line 126) | def test_send_back_calldata(self): method test_send_back_negative_signed (line 131) | def test_send_back_negative_signed(self): method test_send_back_negative_unsigned (line 136) | def test_send_back_negative_unsigned(self): method test_send_all_and_selfdestruct (line 146) | def test_send_all_and_selfdestruct(self): method test_read_concrete (line 151) | def test_read_concrete(self): method test_non_exhaustive_storage (line 165) | def test_non_exhaustive_storage(self): method test_non_exhaustive_storage2 (line 180) | def test_non_exhaustive_storage2(self): method test_exhaustive_storage (line 194) | def test_exhaustive_storage(self): FILE: pakala/test_claripy_sha3.py class TestSha3Support (line 13) | class TestSha3Support(unittest.TestCase): method test_sha3_equality (line 14) | def test_sha3_equality(self): method test_sha3_unequality (line 20) | def test_sha3_unequality(self): method test_sha3_equality_different_length (line 26) | def test_sha3_equality_different_length(self): method test_solver_basic (line 32) | def test_solver_basic(self): method test_solver_arithmetics (line 58) | def test_solver_arithmetics(self): method test_solver_one_var (line 83) | def test_solver_one_var(self): method test_solver_recursive (line 95) | def test_solver_recursive(self): method test_solver_recursive_unbalanced (line 134) | def test_solver_recursive_unbalanced(self): method test_solver_three_symbols (line 153) | def test_solver_three_symbols(self): method test_solver_copy (line 170) | def test_solver_copy(self): method test_env_replace_merge (line 178) | def test_env_replace_merge(self): method test_env_replace_merge_with_recursive_hash (line 216) | def test_env_replace_merge_with_recursive_hash(self): method test_cannot_combine (line 254) | def test_cannot_combine(self): FILE: pakala/test_env.py class TestEnv (line 7) | class TestEnv(unittest.TestCase): method testReplace (line 8) | def testReplace(self): method testReplace2 (line 15) | def testReplace2(self): FILE: pakala/test_memory.py class TestMemory (line 11) | class TestMemory(unittest.TestCase): method setUp (line 12) | def setUp(self): method assertBEqual (line 15) | def assertBEqual(self, a, b): method assertBNotEqual (line 18) | def assertBNotEqual(self, a, b): method test_read_default (line 21) | def test_read_default(self): method overwrite (line 24) | def overwrite(self, a, b): method test_overwrite_same (line 31) | def test_overwrite_same(self): method test_overwrite_simple (line 34) | def test_overwrite_simple(self): method test_overwrite_left (line 37) | def test_overwrite_left(self): method test_overwrite_right (line 40) | def test_overwrite_right(self): method test_partial_overwrite_left (line 43) | def test_partial_overwrite_left(self): method test_partial_overwrite_right (line 52) | def test_partial_overwrite_right(self): method test_overwrite_inside (line 61) | def test_overwrite_inside(self): method test_successive_left (line 66) | def test_successive_left(self): method test_successive_right (line 71) | def test_successive_right(self): method test_successive (line 76) | def test_successive(self): method test_read (line 81) | def test_read(self): method test_read_write_size_0 (line 89) | def test_read_write_size_0(self): method test_size (line 100) | def test_size(self): method test_copy (line 105) | def test_copy(self): method test_hash (line 112) | def test_hash(self): method test_copy_from (line 128) | def test_copy_from(self): method test_overwrite_0 (line 147) | def test_overwrite_0(self): class TestCalldataMemory (line 161) | class TestCalldataMemory(unittest.TestCase): method setUp (line 162) | def setUp(self): method test_readonly (line 165) | def test_readonly(self): method test_read_default (line 171) | def test_read_default(self): FILE: pakala/test_recursive_analyzer.py class TestWithNewEnv (line 20) | class TestWithNewEnv(unittest.TestCase): method test_with_new_env (line 21) | def test_with_new_env(self): class TestCheckStates (line 67) | class TestCheckStates(unittest.TestCase): method setUp (line 74) | def setUp(self): method check_states (line 77) | def check_states(self, states, mock_storage=None): method get_call (line 86) | def get_call(self, value, to=None): method test_nothing (line 99) | def test_nothing(self): method test_simple (line 102) | def test_simple(self): method test_selfdestruct_simple (line 106) | def test_selfdestruct_simple(self): method test_call_simple (line 111) | def test_call_simple(self): method test_write_and_selfdestruct (line 116) | def test_write_and_selfdestruct(self): method test_sha3_key (line 135) | def test_sha3_key(self): method test_sha3_value1 (line 163) | def test_sha3_value1(self): method test_sha3_value2 (line 187) | def test_sha3_value2(self): method test_write_write_and_selfdestruct (line 210) | def test_write_write_and_selfdestruct(self): method test_send_after_write (line 243) | def test_send_after_write(self): method test_symbolic_storage (line 308) | def test_symbolic_storage(self): FILE: pakala/test_sm.py class TestSymbolicMachine (line 23) | class TestSymbolicMachine(unittest.TestCase): method setUp (line 26) | def setUp(self): method test_add_branch (line 36) | def test_add_branch(self): method test_add_for_fuzzing (line 57) | def test_add_for_fuzzing(self): method test_execute (line 75) | def test_execute(self): method test_get_coverage (line 78) | def test_get_coverage(self): class TestInstructions (line 83) | class TestInstructions(unittest.TestCase): method assertBEqual (line 84) | def assertBEqual(self, a, b): method run_code (line 87) | def run_code(self, code, env={}): method assert_stack (line 93) | def assert_stack(self, stack): method test_jumpdest (line 98) | def test_jumpdest(self): method test_add (line 101) | def test_add(self): method test_sub (line 107) | def test_sub(self): method test_mul (line 111) | def test_mul(self): method test_div (line 115) | def test_div(self): method test_sdiv (line 127) | def test_sdiv(self): method test_mod (line 133) | def test_mod(self): method test_smod (line 141) | def test_smod(self): method test_addmod (line 151) | def test_addmod(self): method test_mulmod (line 161) | def test_mulmod(self): method test_exp (line 171) | def test_exp(self): method test_shl (line 175) | def test_shl(self): method test_shr (line 185) | def test_shr(self): method test_sar (line 195) | def test_sar(self): method test_signextend (line 205) | def test_signextend(self): method test_lt (line 217) | def test_lt(self): method test_gt (line 227) | def test_gt(self): method test_slt (line 237) | def test_slt(self): method test_sgt (line 247) | def test_sgt(self): method test_eq (line 257) | def test_eq(self): method test_iszero (line 263) | def test_iszero(self): method test_and (line 269) | def test_and(self): method test_or (line 273) | def test_or(self): method test_xor (line 279) | def test_xor(self): method test_not (line 288) | def test_not(self): method test_byte (line 300) | def test_byte(self): method test_pc (line 316) | def test_pc(self): method test_gas (line 320) | def test_gas(self): method test_address (line 324) | def test_address(self): method test_balance (line 328) | def test_balance(self): method test_origin (line 335) | def test_origin(self): method test_caller (line 339) | def test_caller(self): method test_callvalue (line 343) | def test_callvalue(self): method test_blockhash (line 347) | def test_blockhash(self): method test_timestamp (line 351) | def test_timestamp(self): method test_number (line 355) | def test_number(self): method test_coinbase (line 359) | def test_coinbase(self): method test_difficulty (line 363) | def test_difficulty(self): method test_pop (line 367) | def test_pop(self): method test_jump (line 373) | def test_jump(self): method test_jumpi (line 384) | def test_jumpi(self): method test_push (line 416) | def test_push(self): method test_dup (line 422) | def test_dup(self): method test_swap (line 428) | def test_swap(self): method test_log (line 434) | def test_log(self): method test_sha3_empty (line 437) | def test_sha3_empty(self): method test_sha3_zeros (line 446) | def test_sha3_zeros(self): method test_sha3_a_mstore8 (line 455) | def test_sha3_a_mstore8(self): method test_sha3_a_mstore (line 465) | def test_sha3_a_mstore(self): method test_stop (line 475) | def test_stop(self): method test_return (line 479) | def test_return(self): method test_calldataload (line 483) | def test_calldataload(self): method test_calldatasize (line 489) | def test_calldatasize(self): method test_calldatacopy (line 492) | def test_calldatacopy(self): method test_codesize (line 515) | def test_codesize(self): method test_extcodesize_self (line 519) | def test_extcodesize_self(self): method test_extcodesize_other (line 523) | def test_extcodesize_other(self): method test_codecopy (line 535) | def test_codecopy(self): method test_mload (line 540) | def test_mload(self): method test_mstore (line 544) | def test_mstore(self): method test_mstore8 (line 570) | def test_mstore8(self): method test_msize (line 574) | def test_msize(self): method test_invalid_opcode (line 580) | def test_invalid_opcode(self): class TestOutcomes (line 585) | class TestOutcomes(unittest.TestCase): method assertBEqual (line 586) | def assertBEqual(self, a, b): method outcomes (line 589) | def outcomes(self, code, env={}): method test_sload_symbolic (line 595) | def test_sload_symbolic(self): method test_sstore_symbolic (line 605) | def test_sstore_symbolic(self): method test_sload (line 635) | def test_sload(self): method test_sstore (line 640) | def test_sstore(self): FILE: pakala/test_state.py class TestState (line 9) | class TestState(unittest.TestCase): method testHashWorks (line 10) | def testHashWorks(self): method testSameHashIfDifferentOrder (line 34) | def testSameHashIfDifferentOrder(self): method testReplace (line 50) | def testReplace(self): FILE: pakala/utils.py class CodeError (line 18) | class CodeError(Exception): class InterpreterError (line 22) | class InterpreterError(Exception): method __init__ (line 23) | def __init__(self, state, message): function bvv (line 28) | def bvv(v): function get_solver (line 32) | def get_solver(): function bvv_to_number (line 36) | def bvv_to_number(bvv): function number_to_address (line 43) | def number_to_address(number): FILE: solidity_tests/test_solidity.py class SolidityTest (line 31) | class SolidityTest(unittest.TestCase): method __init__ (line 32) | def __init__(self, filename): method shortDescription (line 36) | def shortDescription(self): method runTest (line 40) | def runTest(self): function load_tests (line 84) | def load_tests(loader, tests, pattern):