Documentation
¶
Overview ¶
Package counter implements buffered position-based editing of byte slices.
Package mock provides lightweight contract call tracing and logging
Index ¶
- Variables
- func AddGasConsumption(packageName string, code []byte) ([]byte, error)
- func ConsumeGas(amount int64)
- func Enter(contract core.Address, function string)
- func Exit(contract core.Address, function string)
- func GetCaller() core.Address
- func GetCurrentContract() core.Address
- func GetGas() int64
- func GetUsedGas() int64
- func InitGas(initialGas int64)
- func RefundGas(amount int64)
- func ResetGas(initialGas int64)
- type Block
- type Buffer
- type File
Constants ¶
This section is empty.
Variables ¶
var ( GasImportPath = "github.com/govm-net/vm/mock" GasPackageNickName = "" GasPackageName = "mock" GasConsumeGasFunc = "ConsumeGas" )
Functions ¶
func AddGasConsumption ¶
AddGasConsumption 添加gas消耗
func GetCaller ¶
GetCaller returns the address of the contract that called the current contract This correctly handles the case where a contract calls its own functions Returns an empty address if there's no caller (e.g., top-level call)
func GetCurrentContract ¶
GetCurrentContract returns the address of the currently executing contract Returns an empty address if the call stack is empty
Types ¶
type Block ¶
type Block struct {
// contains filtered or unexported fields
}
Block represents the information about a basic block to be recorded in the analysis. Note: Our definition of basic block is based on control structures; we don't break apart && and ||. We could but it doesn't seem important enough to bother.
type Buffer ¶
type Buffer struct {
// contains filtered or unexported fields
}
A Buffer is a queue of edits to apply to a given byte slice.
func NewBuffer ¶
NewBuffer returns a new buffer to accumulate changes to an initial data slice. The returned buffer maintains a reference to the data, so the caller must ensure the data is not modified until after the Buffer is done being used.