smartContract

package
v1.0.106 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 17, 2020 License: GPL-3.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetLatestTestError added in v1.0.103

func GetLatestTestError(scProcessorAsInterface interface{}) error

GetLatestTestError should only be used in tests! It locates the latest error in the collection of smart contracts results

func NewSmartContractProcessor

func NewSmartContractProcessor(args ArgsNewSmartContractProcessor) (*scProcessor, error)

NewSmartContractProcessor create a smart contract processor creates and interprets VM data

Types

type ArgsNewSmartContractProcessor

type ArgsNewSmartContractProcessor struct {
	VmContainer      process.VirtualMachinesContainer
	ArgsParser       process.ArgumentsParser
	Hasher           hashing.Hasher
	Marshalizer      marshal.Marshalizer
	AccountsDB       state.AccountsAdapter
	TempAccounts     process.TemporaryAccountsHandler
	PubkeyConv       state.PubkeyConverter
	Coordinator      sharding.Coordinator
	ScrForwarder     process.IntermediateTransactionHandler
	TxFeeHandler     process.TransactionFeeHandler
	EconomicsFee     process.FeeHandler
	TxTypeHandler    process.TxTypeHandler
	GasHandler       process.GasHandler
	BuiltInFunctions process.BuiltInFunctionContainer
	TxLogsProcessor  process.TransactionLogProcessor
}

ArgsNewSmartContractProcessor defines the arguments needed for new smart contract processor

type SCQueryService

type SCQueryService struct {
	// contains filtered or unexported fields
}

SCQueryService can execute Get functions over SC to fetch stored values

func NewSCQueryService

func NewSCQueryService(
	vmContainer process.VirtualMachinesContainer,
	economicsFee process.FeeHandler,
) (*SCQueryService, error)

NewSCQueryService returns a new instance of SCQueryService

func (*SCQueryService) ComputeScCallGasLimit

func (service *SCQueryService) ComputeScCallGasLimit(tx *transaction.Transaction) (uint64, error)

ComputeScCallGasLimit will estimate how many gas a transaction will consume

func (*SCQueryService) ExecuteQuery

func (service *SCQueryService) ExecuteQuery(query *process.SCQuery) (*vmcommon.VMOutput, error)

ExecuteQuery returns the VMOutput resulted upon running the function on the smart contract

func (*SCQueryService) IsInterfaceNil

func (service *SCQueryService) IsInterfaceNil() bool

IsInterfaceNil returns true if there is no value under the interface

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL