MCPcopy Create free account

hub / github.com/Jesserc/gevm / functions

Functions137 in github.com/Jesserc/gevm

↓ 114 callersMethodPop
()
gevm/stack.go:29
↓ 72 callersMethoddeductGas
(gas uint64)
gevm/evm.go:86
↓ 60 callersMethodPush
(value *uint256.Int)
gevm/stack.go:22
↓ 19 callersFunctioncalcMemoryGasCost
calcMemoryCost calculates the gas cost for memory expansion in the EVM. The cost is based on the number of 32-byte words required to store the given s
gevm/common.go:19
↓ 16 callersMethodStore
(offset uint64, value []byte)
gevm/memory.go:26
↓ 14 callersMethodLen
()
gevm/memory.go:83
↓ 14 callersMethodRun
()
gevm/evm.go:101
↓ 12 callersMethodAccess
(offset, size uint64)
gevm/memory.go:7
↓ 9 callersFunctiontoWordSize
toWordSize returns the number of 32-byte words required to hold a given size in bytes. In the EVM, 1 word is equal to 32 bytes. The function ensures t
gevm/common.go:10
↓ 8 callersMethodAddLog
(topics []common.Hash, data []byte)
gevm/log.go:18
↓ 6 callersFunctioncalcLogGasCost
(topicCount, size, memExpansionCost uint64)
gevm/common.go:59
↓ 5 callersMethodLoad
(offset uint64)
gevm/memory.go:22
↓ 5 callersFunctiongetData
getData returns a slice from the data based on the start and size and pads up to size with zero's. This function is overflow safe.
gevm/common.go:66
↓ 4 callersMethodStore
(key int, value common.Hash)
gevm/storage.go:24
↓ 4 callersMethodString
()
gevm/log.go:22
↓ 3 callersMethodGet
Get does the same thing as Load, except that it doesn't mark the storage slot as 'warm'. It is used in the 'calcSstoreGasCost' function in 'common.go'
gevm/storage.go:35
↓ 3 callersMethodLoad
(key int)
gevm/storage.go:12
↓ 3 callersMethodLoad
(key int)
gevm/transient.go:11
↓ 3 callersFunctionNewTransientStorage
()
gevm/transient.go:26
↓ 3 callersMethodStore
(key int, value common.Hash)
gevm/transient.go:18
↓ 3 callersMethodStore32
(offset uint64, value []byte)
gevm/memory.go:54
↓ 2 callersMethodGas
()
gevm/opcodes.go:522
↓ 2 callersFunctionNewBlock
NewBlock creates a new block instance.
gevm/evm.go:68
↓ 2 callersFunctionNewEVM
(sender common.Address, gas, value, chainID, gasLimit uint64, code, calldata []byte, blockInfo *Block)
gevm/evm.go:157
↓ 2 callersFunctionNewLogRecord
()
gevm/log.go:35
↓ 2 callersFunctionNewMemory
()
gevm/memory.go:87
↓ 2 callersFunctionNewStack
()
gevm/stack.go:69
↓ 2 callersFunctionNewStorage
()
gevm/storage.go:39
↓ 2 callersMethodPeek
()
gevm/stack.go:38
↓ 2 callersMethodToString
()
gevm/stack.go:46
↓ 2 callersFunctioncalcSstoreGasCost
calcSstoreGasCost calculates the gas cost for the SSTORE operation in the EVM. This is a bit simplified compared to the actual implementation in Ethe
gevm/common.go:27
↓ 2 callersFunctionsetupEVM
()
gevm/instructions_test.go:12
↓ 1 callersMethodClear
()
gevm/transient.go:22
↓ 1 callersMethodData
()
gevm/memory.go:79
↓ 1 callersMethodDynamicGas
DynamicGas returns the gas cost for a given opcode.
gevm/evm.go:15
↓ 1 callersFunctionLogEVMLogs
(totalGasUsed uint64, evm *EVM)
gevm/evm.go:200
↓ 1 callersFunctionNewJumpTable
NewJumpTable creates and returns a new JumpTable for the EVM.
gevm/jump_table.go:7
↓ 1 callersMethodaddRefund
(refund uint64)
gevm/evm.go:146
↓ 1 callersMethodcontinueExecution
continueExecution checks if the EVM should continue execution.
gevm/evm.go:94
↓ 1 callersFunctiondupN
(evm *EVM, n uint8)
gevm/instructions.go:534
↓ 1 callersFunctiongenerateDupNFunc
(index uint8)
gevm/instructions.go:918
↓ 1 callersFunctiongeneratePushNFunc
This is used in jump_table.go
gevm/instructions.go:906
↓ 1 callersFunctiongenerateSwapNFunc
(index uint8)
gevm/instructions.go:912
↓ 1 callersFunctionlogEVMState
(evm *EVM, op Opcode, gasCost uint64, currentPC uint64)
gevm/evm.go:188
↓ 1 callersFunctionpushN
(evm *EVM, n uint64)
gevm/instructions.go:517
↓ 1 callersFunctionswapN
(evm *EVM, n uint8)
gevm/instructions.go:556
MethodData
()
gevm/stack.go:65
MethodString
()
gevm/opcodes.go:221
FunctionTestCalcLogGasCost
(t *testing.T)
gevm/common_test.go:66
FunctionTestCalcMemoryGasCost
(t *testing.T)
gevm/common_test.go:43
FunctionTestCalcSstoreGasCost
(t *testing.T)
gevm/storage_test.go:117
FunctionTestEVMOperations
Table-driven tests for EVM operations
gevm/instructions_test.go:18
FunctionTestGetData
(t *testing.T)
gevm/common_test.go:88
FunctionTestLogRecord
(t *testing.T)
gevm/log_test.go:10
FunctionTestMemory
(t *testing.T)
gevm/memory_test.go:10
FunctionTestNewJumpTable
(t *testing.T)
gevm/jump_table_test.go:7
FunctionTestOpcodeGas
(t *testing.T)
gevm/opcodes_test.go:27
FunctionTestOpcodeString
(t *testing.T)
gevm/opcodes_test.go:9
FunctionTestStack
(t *testing.T)
gevm/stack_test.go:10
FunctionTestStorage
(t *testing.T)
gevm/storage_test.go:10
FunctionTestToWordSize
(t *testing.T)
gevm/common_test.go:10
FunctionTestTransientStorage
(t *testing.T)
gevm/transient_test.go:10
Function_byte
(evm *EVM)
gevm/instructions.go:202
Function_return
(evm *EVM)
gevm/instructions.go:758
Functionadd
Arithmetic
gevm/instructions.go:18
Functionaddmod
(evm *EVM)
gevm/instructions.go:75
Functionaddress
Ethereum environment (calldata, code, others) operations
gevm/instructions.go:264
Functionand
Bitwise Operations
gevm/instructions.go:174
Functionbalance
This is a mocked version and doesn't behave exactly as it would in a real EVM. balance pushes a mocked balance value onto the stack.
gevm/instructions.go:273
Functionbasefee
(evm *EVM)
gevm/instructions.go:485
Functionblockhash
blockhash pushes a mocked hash of the current block onto the stack. Normally, this would be the hash of one of the 256 most recent blocks given by a
gevm/instructions.go:447
Functioncalldatacopy
(evm *EVM)
gevm/instructions.go:323
Functioncalldataload
(evm *EVM)
gevm/instructions.go:312
Functioncalldatasize
(evm *EVM)
gevm/instructions.go:305
Functioncaller
This is a mocked version and doesn't behave exactly as it would in a real EVM. caller pushes a mocked address of the current transaction caller in a
gevm/instructions.go:293
Functioncallvalue
(evm *EVM)
gevm/instructions.go:299
Functionchainid
(evm *EVM)
gevm/instructions.go:498
Functioncodecopy
(evm *EVM)
gevm/instructions.go:349
Functioncodesize
(evm *EVM)
gevm/instructions.go:342
Functioncoinbase
coinbase pushes a block’s beneficiary address onto the stack.
gevm/instructions.go:464
Functiondiv
(evm *EVM)
gevm/instructions.go:39
Functioneq
(evm *EVM)
gevm/instructions.go:151
Functionexp
(evm *EVM)
gevm/instructions.go:91
Functionextcodecopy
This is a mocked version and doesn't behave exactly as it would in a real EVM. extcodecopy copies a zero-length mocked byte slice to memory.
gevm/instructions.go:397
Functionextcodesize
This is a mocked version and doesn't behave exactly as it would in a real EVM. extcodesize pushes a mocked code size (0) of an external account onto
gevm/instructions.go:387
Functiongas
remaining gas (after this instruction).
gevm/instructions.go:377
Functiongaslimit
(evm *EVM)
gevm/instructions.go:492
Functiongasprice
gasprice pushes a mocked gas price (0) onto the stack.
gevm/instructions.go:369
Functiongt
(evm *EVM)
gevm/instructions.go:129
Functioninvalid
Execution control
gevm/instructions.go:743
Functioniszero
(evm *EVM)
gevm/instructions.go:162
Functionjump
Jump operations
gevm/instructions.go:703
Functionjumpdest
(evm *EVM)
gevm/instructions.go:737
Functionjumpi
(evm *EVM)
gevm/instructions.go:713
Functionkeccak256
Hash function
gevm/instructions.go:231
Functionlog0
Logging
gevm/instructions.go:768
Functionlog1
(evm *EVM)
gevm/instructions.go:794
Functionlog2
(evm *EVM)
gevm/instructions.go:821
Functionlog3
(evm *EVM)
gevm/instructions.go:849
Functionlog4
(evm *EVM)
gevm/instructions.go:877
next →1–100 of 137, ranked by callers