Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/akatsuki105/ToyEVM
/ functions
Functions
131 in github.com/akatsuki105/ToyEVM
⨍
Functions
131
◇
Types & classes
4
↓ 78 callers
Method
push_asm
(&mut self, mnemonic: &str)
src/vm.rs:289
↓ 48 callers
Function
not_implement_panic
()
src/util.rs:33
↓ 42 callers
Method
pop
スタックからのpop
src/vm.rs:82
↓ 32 callers
Method
op_push
lengthバイトpushする
src/vm.rs:800
↓ 31 callers
Method
consume_gas
(&mut self, gas: usize)
src/vm.rs:251
↓ 28 callers
Method
push
スタックへのpush
src/vm.rs:76
↓ 27 callers
Function
str_to_bytes
(src: &str)
src/util.rs:10
↓ 20 callers
Method
set_code
コードをセットする
src/vm.rs:36
↓ 17 callers
Method
exec_transaction
トランザクションが終了するまでexecを繰り返す
src/vm.rs:260
↓ 16 callers
Method
op_dup
スタックの先頭をスタックのindex+1番目にコピーする
src/vm.rs:818
↓ 16 callers
Method
op_swap
スタックの先頭をスタックのindex+1番目と交換する
src/vm.rs:833
↓ 7 callers
Method
exec
EVMバイトコードを1命令実行する
src/vm.rs:89
↓ 5 callers
Method
set_input
インプットデータをセットする
src/vm.rs:41
↓ 2 callers
Function
calc_hash
(bytes: &Vec<u8>)
src/state.rs:127
↓ 2 callers
Method
calc_hash
計算方法がよくわからない とりあえず連結してhashとる
src/state.rs:47
↓ 2 callers
Method
get_account_state
(&mut self, address: &H160)
src/state.rs:57
↓ 2 callers
Function
h160_to_u256
convert H160 into U256
src/util.rs:49
↓ 2 callers
Function
to_h160
(s: &str)
src/util.rs:37
↓ 2 callers
Method
update_state
(&mut self)
src/state.rs:33
↓ 1 callers
Function
bytes_to_str
(src: Vec<u8>)
src/util.rs:15
↓ 1 callers
Function
deploy
deploy contract
src/main.rs:120
↓ 1 callers
Method
get_code
getter for code
src/state.rs:110
↓ 1 callers
Method
get_storage
getter for storage
src/state.rs:99
↓ 1 callers
Function
help
print help
src/main.rs:129
↓ 1 callers
Method
increment_nonce
(&mut self)
src/state.rs:84
↓ 1 callers
Method
op_add
0x01: operand1(スタック1番目) + operand2(スタック2番目)
src/vm.rs:302
↓ 1 callers
Method
op_addmod
(&mut self)
src/vm.rs:356
↓ 1 callers
Method
op_address
0x30: address of the executing contract
src/vm.rs:525
↓ 1 callers
Method
op_and
operand1(スタック1番目) & operand2(スタック2番目)
src/vm.rs:447
↓ 1 callers
Method
op_balance
0x31: Get balance of the given account.
src/vm.rs:533
↓ 1 callers
Method
op_blockhash
0x40:
src/vm.rs:640
↓ 1 callers
Method
op_byte
0x1a: operand2(スタック2番目)のoperand1バイト目を取る
src/vm.rs:486
↓ 1 callers
Method
op_call
0xf1:
src/vm.rs:885
↓ 1 callers
Method
op_callcode
0xf2:
src/vm.rs:891
↓ 1 callers
Method
op_calldatacopy
0x37:
src/vm.rs:575
↓ 1 callers
Method
op_calldataload
0x35: スタックからpopした値をstartとしてinputのstartの位置からstart+32の位置までの32byteのデータをstackにpush
src/vm.rs:558
↓ 1 callers
Method
op_calldatasize
0x36: inputに格納されたデータサイズをstackにpush
src/vm.rs:567
↓ 1 callers
Method
op_caller
(&mut self)
src/vm.rs:546
↓ 1 callers
Method
op_callvalue
(&mut self)
src/vm.rs:552
↓ 1 callers
Method
op_codecopy
0x39: コントラクトにデプロイされたコードをコピーする
src/vm.rs:587
↓ 1 callers
Method
op_codesize
0x38:
src/vm.rs:581
↓ 1 callers
Method
op_coinbase
0x41:
src/vm.rs:646
↓ 1 callers
Method
op_create
0xf0:
src/vm.rs:879
↓ 1 callers
Method
op_create2
0xf5:
src/vm.rs:914
↓ 1 callers
Method
op_delegatecall
0xf4:
src/vm.rs:908
↓ 1 callers
Method
op_difficulty
0x44:
src/vm.rs:664
↓ 1 callers
Method
op_div
0x04: operand1(スタック1番目) // operand2(スタック2番目)
src/vm.rs:332
↓ 1 callers
Method
op_eq
0x14: operand1(スタック1番目) == operand2(スタック2番目)
src/vm.rs:422
↓ 1 callers
Method
op_exp
0x0a: operand1(スタック1番目) ** operand2(スタック2番目)
src/vm.rs:367
↓ 1 callers
Method
op_extcodecopy
0x3c:
src/vm.rs:613
↓ 1 callers
Method
op_extcodehash
0x3f:
src/vm.rs:631
↓ 1 callers
Method
op_extcodesize
0x3b:
src/vm.rs:607
↓ 1 callers
Method
op_gas
0x5a:
src/vm.rs:784
↓ 1 callers
Method
op_gaslimit
0x45:
src/vm.rs:670
↓ 1 callers
Method
op_gasprice
0x3a:
src/vm.rs:601
↓ 1 callers
Method
op_gt
0x11: operand1(スタック1番目) > operand2(スタック2番目)
src/vm.rs:399
↓ 1 callers
Method
op_is_zero
0x15: operand1(スタック1番目) == 0
src/vm.rs:435
↓ 1 callers
Method
op_jump
0x56: スタックからdestinationをpopしてジャンプ
src/vm.rs:741
↓ 1 callers
Method
op_jumpdest
0x5b: 動的ジャンプを行う際にスタックからpopした値が示すアドレスにジャンプするが、そのアドレスではこのop_jumpdestがオペコードでなければならない<br/> このオペコードはそのマーカーとなるだけで単体では意味を持たない
src/vm.rs:791
↓ 1 callers
Method
op_jumpi
0x57: スタックからdestination, conditionをpop<br/> conditionが0以外ならdestinationにジャンプ
src/vm.rs:755
↓ 1 callers
Method
op_log0
0xa0:
src/vm.rs:846
↓ 1 callers
Method
op_log1
0xa1:
src/vm.rs:852
↓ 1 callers
Method
op_log2
0xa2:
src/vm.rs:858
↓ 1 callers
Method
op_log3
0xa3:
src/vm.rs:864
↓ 1 callers
Method
op_log4
0xa4:
src/vm.rs:870
↓ 1 callers
Method
op_lt
0x10: operand1(スタック1番目) < operand2(スタック2番目)
src/vm.rs:386
↓ 1 callers
Method
op_mload
0x51: スタックからpopしたstartを先頭アドレスしてstart+32までの32byteの値をメモリからロード
src/vm.rs:685
↓ 1 callers
Method
op_mod
(&mut self)
src/vm.rs:346
↓ 1 callers
Method
op_msize
0x59
src/vm.rs:778
↓ 1 callers
Method
op_mstore
0x52: スタックからstart, valueをpopし、startを先頭アドレスしてstart+32までの32byteのメモリ領域にvalueを格納する
src/vm.rs:698
↓ 1 callers
Method
op_mul
0x02: operand1(スタック1番目) * operand2(スタック2番目)
src/vm.rs:312
↓ 1 callers
Method
op_mulmod
(&mut self)
src/vm.rs:361
↓ 1 callers
Method
op_not
not operand1(スタック1番目)
src/vm.rs:477
↓ 1 callers
Method
op_number
0x43:
src/vm.rs:658
↓ 1 callers
Method
op_or
operand1(スタック1番目) | operand2(スタック2番目)
src/vm.rs:457
↓ 1 callers
Method
op_origin
(&mut self)
src/vm.rs:541
↓ 1 callers
Method
op_pc
0x58:
src/vm.rs:772
↓ 1 callers
Method
op_pop
0x50:
src/vm.rs:679
↓ 1 callers
Method
op_return
0xf3: スタックのoffsetからlength分のバイトデータを返り値として返す<br/> この命令を実行するとトランザクションは終了する?
src/vm.rs:898
↓ 1 callers
Method
op_returndatacopy
0x3e:
src/vm.rs:625
↓ 1 callers
Method
op_returndatasize
0x3d:
src/vm.rs:619
↓ 1 callers
Method
op_revert
0xfd:
src/vm.rs:926
↓ 1 callers
Method
op_sdiv
(&mut self)
src/vm.rs:341
↓ 1 callers
Method
op_selfdestruct
0xff:
src/vm.rs:932
↓ 1 callers
Method
op_sgt
(&mut self)
src/vm.rs:416
↓ 1 callers
Method
op_sha3
(&mut self)
src/vm.rs:516
↓ 1 callers
Method
op_sig_next_end
0x0b:
src/vm.rs:377
↓ 1 callers
Method
op_sload
0x54: スタックからpopした値をkeyとしてstorageから対応する値をロード
src/vm.rs:716
↓ 1 callers
Method
op_slt
(&mut self)
src/vm.rs:411
↓ 1 callers
Method
op_smod
(&mut self)
src/vm.rs:351
↓ 1 callers
Method
op_sstore
0x55: storageに書き込みを行う storage[operand1(スタック1番目)] = operand2(スタック2番目)
src/vm.rs:725
↓ 1 callers
Method
op_staticcall
0xfa:
src/vm.rs:920
↓ 1 callers
Method
op_stop
0x00: 何もしない
src/vm.rs:297
↓ 1 callers
Method
op_sub
0x03: operand1(スタック1番目) - operand2(スタック2番目)
src/vm.rs:322
↓ 1 callers
Method
op_timestamp
0x42:
src/vm.rs:652
↓ 1 callers
Method
op_xor
operand1(スタック1番目) ^ operand2(スタック2番目)
src/vm.rs:467
↓ 1 callers
Method
push_account_state
(&mut self, address: H160, account_state: AccountState)
src/state.rs:42
↓ 1 callers
Function
run
execute application
src/main.rs:22
↓ 1 callers
Method
set_storage
setter for storage
src/state.rs:105
↓ 1 callers
Function
slice_to_array
(s: &[u8])
src/util.rs:19
next →
1–100 of 131, ranked by callers