Versions in this module Expand all Collapse all v0 v0.0.3 Sep 4, 2024 v0.0.2 Sep 3, 2024 v0.0.1 Sep 2, 2024 Changes in this version + const AddressSize + const Async + const AsyncCrossShard + const Callback + const CallbackCrossShard + const DefaultCallGraphLockedGas + const FakeCallbackName + const LeafLabel + const Sync + var CallbackData = []byte("callbackData") + var CallbackKey = []byte("callbackKey.....................") + var ChildAddress = MakeTestSCAddressWithDefaultVM("childSC") + var ChildCompilationCostDestCtx uint64 + var ChildCompilationCostSameCtx uint64 + var ChildData = []byte("childData") + var ChildFinish = []byte("childFinish") + var ChildKey = []byte("childKey........................") + var ChildKeyB = []byte("childKeyB........................") + var ChildTransferReceiver = []byte("\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x0fchildTransferReceiver.") + var DCDTTestTokenName = []byte("TTT-010101") + var DCDTTransferGasCost = uint64(1) + var DefaultCodeMetadata = []byte + var DefaultVMType = []byte + var ErrAccountNotFound = errors.New("account not found") + var ErrAsyncCallFail = fmt.Errorf("async call fail") + var ErrAsyncCallbackFail = fmt.Errorf("callback fail") + var ErrAsyncRegisterFail = fmt.Errorf("unable to register async call") + var ErrSyncCallFail = fmt.Errorf("sync call fail") + var GasProvided = uint64(1000000) + var LogGraph = logger.GetOrCreate("vm/graph") + var NephewAddress = MakeTestSCAddressWithDefaultVM("NephewAddress") + var OriginalCallerCallback = []byte("originalCallerCallback") + var OriginalCallerChild = []byte("originalCallerChild") + var OriginalCallerParent = []byte("originalCallerParent") + var ParentAddress = MakeTestSCAddressWithDefaultVM("parentSC") + var ParentCompilationCostDestCtx uint64 + var ParentCompilationCostSameCtx uint64 + var ParentDataA = []byte("parentDataA") + var ParentDataB = []byte("parentDataB") + var ParentFinishA = []byte("parentFinishA") + var ParentFinishB = []byte("parentFinishB") + var ParentKeyA = []byte("parentKeyA......................") + var ParentKeyB = []byte("parentKeyB......................") + var ParentTransferData = []byte("parentTransferData") + var ParentTransferReceiver = []byte("\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x0fparentTransferReceiver") + var ParentTransferValue = int64(42) + var RecursiveIterationBigCounterKey = []byte("recursiveIterationBigCounter....") + var RecursiveIterationCounterKey = []byte("recursiveIterationCounter.......") + var SCAddressPrefix = []byte("\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x0f") + var TestCallbackPrefix = "callback_" + var TestContextCallbackFunction = "contextCallback" + var TestReturnDataSuffix = "_returnData" + var ThirdPartyAddress = []byte("\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x0fthirdPartyAddress.....") + var UserAddress = MakeTestSCAddressWithDefaultVM("userAccount") + var UserAddress2 = []byte("userAccount2....................") + var VaultAddress = []byte("\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x0fvaultAddress..........") + var WasmVirtualMachine = []byte + func AddFinishData(vmOutput *vmcommon.VMOutput, data []byte) + func AddNewOutputTransfer(vmOutput *vmcommon.VMOutput, index uint32, sender []byte, address []byte, ...) *vmcommon.OutputAccount + func AddTestSmartContractToWorld(world *worldmock.MockWorld, identifier string, code []byte) *worldmock.Account + func BlockchainHookStubForCall(code []byte, balance *big.Int) *contextmock.BlockchainHookStub + func BlockchainHookStubForCallSigSegv(code []byte, balance *big.Int) *contextmock.BlockchainHookStub + func BlockchainHookStubForContracts(contracts []*InstanceTestSmartContract) *contextmock.BlockchainHookStub + func BlockchainHookStubForTwoSCs(parentCode []byte, childCode []byte, parentSCBalance *big.Int, ...) *contextmock.BlockchainHookStub + func CreateSvg(file string, graphviz *gographviz.Graph) + func CreateSvgWithLocation(folder string, file string, graphviz *gographviz.Graph) + func DefaultTestContractCallInput() *vmcommon.ContractCallInput + func DefaultTestContractCreateInput() *vmcommon.ContractCreateInput + func GenerateSVGforGraph(callGraph *TestCallGraph, folder string, name string) + func GetSCCode(fileName string) []byte + func GetTestSCCode(scName string, prefixToTestSCs ...string) []byte + func GetTestSCCodeModule(scName string, moduleName string, prefixToTestSCs string) []byte + func MakeEmptyVMOutput() *vmcommon.VMOutput + func MakeTestSCAddress(identifier string) []byte + func MakeTestSCAddressWithDefaultVM(identifier string) []byte + func MakeTestSCAddressWithVMType(identifier string, vmType []byte) []byte + func SimpleWasteGasMockMethod(instanceMock *mock.InstanceMock, gas uint64) func() *mock.InstanceMock + func ToGraphviz(graph *TestCallGraph, showGasEdgeLabels bool) *gographviz.Graph + func WasteGasWithReturnDataMockMethod(instanceMock *mock.InstanceMock, gas uint64, returnData []byte) func() *mock.InstanceMock + type AssertResultsFunc func(world *worldmock.MockWorld, verify *VMOutputVerifier) + type AssertResultsWithStartNodeFunc func(startNode *TestCallNode, world *worldmock.MockWorld, verify *VMOutputVerifier, ...) + type CallFinishDataItem struct + CallID []byte + CallbackAsyncInitiatorCallID []byte + ContractAndFunction string + FailError error + GasProvided uint64 + GasRemaining uint64 + IsCrossShard bool + OriginalCallerAddr []byte + type CallsFinishData struct + Data []*CallFinishDataItem + type ContractCallInputBuilder struct + CurrentDCDTTransferIndex int + func CreateTestContractCallInputBuilder() *ContractCallInputBuilder + func (contractInput *ContractCallInputBuilder) Build() *vmcommon.ContractCallInput + func (contractInput *ContractCallInputBuilder) NextDCDTTransfer() *ContractCallInputBuilder + func (contractInput *ContractCallInputBuilder) WithArguments(arguments ...[]byte) *ContractCallInputBuilder + func (contractInput *ContractCallInputBuilder) WithAsyncArguments(arguments *vmcommon.AsyncArguments) *ContractCallInputBuilder + func (contractInput *ContractCallInputBuilder) WithCallType(callType vm.CallType) *ContractCallInputBuilder + func (contractInput *ContractCallInputBuilder) WithCallValue(value int64) *ContractCallInputBuilder + func (contractInput *ContractCallInputBuilder) WithCallerAddr(address []byte) *ContractCallInputBuilder + func (contractInput *ContractCallInputBuilder) WithCurrentTxHash(txHash []byte) *ContractCallInputBuilder + func (contractInput *ContractCallInputBuilder) WithDCDTTokenName(dcdtTokenName []byte) *ContractCallInputBuilder + func (contractInput *ContractCallInputBuilder) WithDCDTValue(dcdtValue *big.Int) *ContractCallInputBuilder + func (contractInput *ContractCallInputBuilder) WithFunction(function string) *ContractCallInputBuilder + func (contractInput *ContractCallInputBuilder) WithGasLocked(gas uint64) *ContractCallInputBuilder + func (contractInput *ContractCallInputBuilder) WithGasProvided(gas uint64) *ContractCallInputBuilder + func (contractInput *ContractCallInputBuilder) WithPrevTxHash(txHash []byte) *ContractCallInputBuilder + func (contractInput *ContractCallInputBuilder) WithRecipientAddr(address []byte) *ContractCallInputBuilder + type ContractCreateInputBuilder struct + func CreateTestContractCreateInputBuilder() *ContractCreateInputBuilder + func (contractInput *ContractCreateInputBuilder) Build() *vmcommon.ContractCreateInput + func (contractInput *ContractCreateInputBuilder) WithArguments(arguments ...[]byte) *ContractCreateInputBuilder + func (contractInput *ContractCreateInputBuilder) WithCallValue(callValue int64) *ContractCreateInputBuilder + func (contractInput *ContractCreateInputBuilder) WithCallerAddr(address []byte) *ContractCreateInputBuilder + func (contractInput *ContractCreateInputBuilder) WithContractCode(code []byte) *ContractCreateInputBuilder + func (contractInput *ContractCreateInputBuilder) WithContractCodeMetadata(codemetadata []byte) *ContractCreateInputBuilder + func (contractInput *ContractCreateInputBuilder) WithGasProvided(gas uint64) *ContractCreateInputBuilder + type CrossShardCall struct + AsyncData []byte + CallType vm.CallType + CallerAddress []byte + Data []byte + ParentsPath []*TestCallNode + StartNode *TestCallNode + type CrossShardCallsQueue struct + Data []*CrossShardCall + func NewCrossShardCallQueue() *CrossShardCallsQueue + func (queue *CrossShardCallsQueue) CanExecuteLocalCallback(callbackNode *TestCallNode) bool + func (queue *CrossShardCallsQueue) Dequeue() *CrossShardCall + func (queue *CrossShardCallsQueue) Enqueue(callerAddress []byte, startNode *TestCallNode, callType vm.CallType, ...) + func (queue *CrossShardCallsQueue) IsEmpty() bool + func (queue *CrossShardCallsQueue) Len() int + func (queue *CrossShardCallsQueue) Less(i, j int) bool + func (queue *CrossShardCallsQueue) Requeue(crossShardCall *CrossShardCall) + func (queue *CrossShardCallsQueue) Swap(i, j int) + func (queue *CrossShardCallsQueue) Top() *CrossShardCall + type InstanceCallTestTemplate struct + func BuildInstanceCallTest(tb testing.TB) *InstanceCallTestTemplate + func (template *InstanceCallTestTemplate) AndAssertResults(...) + func (template *InstanceCallTestTemplate) AndAssertResultsWithoutReset(...) + func (template *InstanceCallTestTemplate) GetVMHost() vmhost.VMHost + func (template *InstanceCallTestTemplate) WithContracts(usedContracts ...*InstanceTestSmartContract) *InstanceCallTestTemplate + func (template *InstanceCallTestTemplate) WithExecutorFactory(executorFactory executor.ExecutorAbstractFactory) *InstanceCallTestTemplate + func (template *InstanceCallTestTemplate) WithExecutorLogs(executorLogger executorwrapper.ExecutorLogger) *InstanceCallTestTemplate + func (template *InstanceCallTestTemplate) WithGasSchedule(gasSchedule config.GasScheduleMap) *InstanceCallTestTemplate + func (template *InstanceCallTestTemplate) WithInput(input *vmcommon.ContractCallInput) *InstanceCallTestTemplate + func (template *InstanceCallTestTemplate) WithSetup(setup func(vmhost.VMHost, *contextmock.BlockchainHookStub)) *InstanceCallTestTemplate + func (template *InstanceCallTestTemplate) WithWasmerSIGSEGVPassthrough(passthrough bool) *InstanceCallTestTemplate + type InstanceCreatorTestTemplate struct + func BuildInstanceCreatorTest(tb testing.TB) *InstanceCreatorTestTemplate + func (template *InstanceCreatorTestTemplate) AndAssertResults(assertResults func(*contextmock.BlockchainHookStub, *VMOutputVerifier)) + func (template *InstanceCreatorTestTemplate) AndAssertResultsWithoutReset(assertResults func(*contextmock.BlockchainHookStub, *VMOutputVerifier)) + func (template *InstanceCreatorTestTemplate) RunTest(reset bool) (*contextmock.BlockchainHookStub, *vmcommon.VMOutput, error) + func (template *InstanceCreatorTestTemplate) WithAddress(address []byte) *InstanceCreatorTestTemplate + func (template *InstanceCreatorTestTemplate) WithExecutorFactory(factory executor.ExecutorAbstractFactory) *InstanceCreatorTestTemplate + func (template *InstanceCreatorTestTemplate) WithExecutorLogs(executorLogger executorwrapper.ExecutorLogger) *InstanceCreatorTestTemplate + func (template *InstanceCreatorTestTemplate) WithInput(input *vmcommon.ContractCreateInput) *InstanceCreatorTestTemplate + func (template *InstanceCreatorTestTemplate) WithSetup(setup func(vmhost.VMHost, *contextmock.BlockchainHookStub)) *InstanceCreatorTestTemplate + func (template *InstanceCreatorTestTemplate) WithWasmerSIGSEGVPassthrough(passthrough bool) *InstanceCreatorTestTemplate + type InstanceTestSmartContract struct + func CreateInstanceContract(address []byte) *InstanceTestSmartContract + func (mockSC *InstanceTestSmartContract) WithBalance(balance int64) *InstanceTestSmartContract + func (mockSC *InstanceTestSmartContract) WithCode(code []byte) *InstanceTestSmartContract + func (mockSC *InstanceTestSmartContract) WithCodeMetadata(metadata []byte) *InstanceTestSmartContract + func (mockSC *InstanceTestSmartContract) WithConfig(testConfig *TestConfig) *InstanceTestSmartContract + func (mockSC *InstanceTestSmartContract) WithOwner(owner []byte) *InstanceTestSmartContract + type MockBuiltin struct + ProcessBuiltinFunctionCall func(acntSnd, _ vmcommon.UserAccountHandler, vmInput *vmcommon.ContractCallInput) (*vmcommon.VMOutput, error) + func (m *MockBuiltin) IsActive() bool + func (m *MockBuiltin) IsInterfaceNil() bool + func (m *MockBuiltin) ProcessBuiltinFunction(acntSnd, acntRcv vmcommon.UserAccountHandler, ...) (*vmcommon.VMOutput, error) + func (m *MockBuiltin) SetNewGasConfig(gasCost *vmcommon.GasCost) + type MockInstancesTestTemplate struct + func BuildMockInstanceCallTest(tb testing.TB) *MockInstancesTestTemplate + func (callerTest *MockInstancesTestTemplate) AndAssertResults(assertResults AssertResultsFunc) (*vmcommon.VMOutput, error) + func (callerTest *MockInstancesTestTemplate) AndAssertResultsWithWorld(world *worldmock.MockWorld, createAccount bool, startNode *TestCallNode, ...) (*vmcommon.VMOutput, error) + func (callerTest *MockInstancesTestTemplate) AndCreateAndAssertResults(assertResults AssertResultsFunc) (*vmcommon.VMOutput, error) + func (callerTest *MockInstancesTestTemplate) RunTest(world *worldmock.MockWorld, createContractAccounts bool, testType TestType) (vmhost.VMHost, *vmcommon.VMOutput, error) + func (callerTest *MockInstancesTestTemplate) WithContracts(usedContracts ...MockTestSmartContract) *MockInstancesTestTemplate + func (callerTest *MockInstancesTestTemplate) WithInput(input *vmcommon.ContractCallInput) *MockInstancesTestTemplate + func (callerTest *MockInstancesTestTemplate) WithSetup(setup SetupFunction) *MockInstancesTestTemplate + func (callerTest *MockInstancesTestTemplate) WithWasmerSIGSEGVPassthrough(wasmerSIGSEGVPassthrough bool) *MockInstancesTestTemplate + type MockTestSmartContract struct + func CreateMockContract(address []byte) *MockTestSmartContract + func CreateMockContractOnShard(address []byte, shardID uint32) *MockTestSmartContract + func CreateMockContractsFromAsyncTestCallGraph(callGraph *TestCallGraph, callsFinishData *CallsFinishData, ...) []MockTestSmartContract + func (mockSC *MockTestSmartContract) GetShardID() uint32 + func (mockSC *MockTestSmartContract) GetVMType() []byte + func (mockSC *MockTestSmartContract) Initialize(t testing.TB, host vmhost.VMHost, imb *mock.ExecutorMock, ...) + func (mockSC *MockTestSmartContract) WithBalance(balance int64) *MockTestSmartContract + func (mockSC *MockTestSmartContract) WithCodeHash(codeHash []byte) *MockTestSmartContract + func (mockSC *MockTestSmartContract) WithCodeMetadata(codeMetadata []byte) *MockTestSmartContract + func (mockSC *MockTestSmartContract) WithConfig(config *TestConfig) *MockTestSmartContract + func (mockSC *MockTestSmartContract) WithMethods(initMethods ...func(*mock.InstanceMock, interface{})) MockTestSmartContract + func (mockSC *MockTestSmartContract) WithOwnerAddress(ownerAddress []byte) *MockTestSmartContract + func (mockSC *MockTestSmartContract) WithShardID(shardID uint32) *MockTestSmartContract + func (mockSC *MockTestSmartContract) WithVMType(vmType []byte) *MockTestSmartContract + type RuntimeConfigOfCall struct + type SetupFunction func(vmhost.VMHost, *worldmock.MockWorld) + type StoreEntry struct + func CreateStoreEntry(address []byte) *StoreEntry + func (storeEntry *StoreEntry) IgnoreValue() StoreEntry + func (storeEntry *StoreEntry) WithKey(key []byte) *StoreEntry + func (storeEntry *StoreEntry) WithValue(value []byte) StoreEntry + type TestCall struct + CallID []byte + ContractAddress []byte + FunctionName string + OriginalContractID string + func (call *TestCall) ToString() string + type TestCallEdge struct + Callback string + CallbackFail bool + ErrFail error + Fail bool + GasLimit uint64 + GasLocked uint64 + GasUsed uint64 + GasUsedByCallback uint64 + ID uint + Label string + To *TestCallNode + Type TestCallEdgeType + func (edge *TestCallEdge) IsFailFail() bool + func (edge *TestCallEdge) SetCallbackFail() *TestCallEdge + func (edge *TestCallEdge) SetFail() *TestCallEdge + func (edge *TestCallEdge) SetFailWithExpectedError(expectedError error) *TestCallEdge + func (edge *TestCallEdge) SetGasLimit(gasLimit uint64) *TestCallEdge + func (edge *TestCallEdge) SetGasLocked(gasLocked uint64) *TestCallEdge + func (edge *TestCallEdge) SetGasUsed(gasUsed uint64) *TestCallEdge + func (edge *TestCallEdge) SetGasUsedByCallback(gasUsedByCallback uint64) *TestCallEdge + type TestCallEdgeType int + type TestCallGraph struct + Crypto crypto.VMCrypto + Nodes []*TestCallNode + StartNode *TestCallNode + func CreateGraphTestAsyncCallIndirectFail() *TestCallGraph + func CreateGraphTestAsyncCallIndirectFailCrossShard() *TestCallGraph + func CreateGraphTestAsyncCallbackIndirectFail() *TestCallGraph + func CreateGraphTestAsyncCallbackIndirectFailCrossShard() *TestCallGraph + func CreateGraphTestAsyncCallsAsync() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncBothCallbacksFail() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncBothCallbacksFailCrossLocal() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncBothCallbacksFailCrossShard() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncBothCallbacksFailLocalCross() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncCrossLocal() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncCrossShard() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncFirstCallbackFail() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncFirstCallbackFailCrossLocal() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncFirstCallbackFailCrossShard() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncFirstCallbackFailLocalCross() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncFirstFail() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncFirstFailCrossLocal() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncFirstFailCrossShard() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncFirstFailLocalCross() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncFirstNoCallback() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncFirstNoCallbackCrossLocal() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncFirstNoCallbackCrossShard() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncFirstNoCallbackLocalCross() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncLocalCross() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncSecondCallbackFail() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncSecondCallbackFailCrossLocal() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncSecondCallbackFailCrossShard() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncSecondCallbackFailLocalCross() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncSecondFail() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncSecondFailCrossLocal() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncSecondFailCrossShard() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncSecondFailLocalCross() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncSecondNoCallback() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncSecondNoCallbackCrossLocal() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncSecondNoCallbackCrossShard() *TestCallGraph + func CreateGraphTestAsyncCallsAsyncSecondNoCallbackLocalCross() *TestCallGraph + func CreateGraphTestAsyncCallsCrossShard2() *TestCallGraph + func CreateGraphTestAsyncCallsCrossShard3() *TestCallGraph + func CreateGraphTestAsyncCallsCrossShard4() *TestCallGraph + func CreateGraphTestAsyncCallsCrossShard5() *TestCallGraph + func CreateGraphTestAsyncCallsCrossShard6() *TestCallGraph + func CreateGraphTestAsyncCallsCrossShard7() *TestCallGraph + func CreateGraphTestAsyncCallsCrossShard8() *TestCallGraph + func CreateGraphTestAsyncCallsCrossShard9() *TestCallGraph + func CreateGraphTestCallbackCallsAsyncCallbackFailCrossCross() *TestCallGraph + func CreateGraphTestCallbackCallsAsyncCallbackFailCrossLocal() *TestCallGraph + func CreateGraphTestCallbackCallsAsyncCallbackFailLocalCross() *TestCallGraph + func CreateGraphTestCallbackCallsAsyncCallbackFailLocalLocal() *TestCallGraph + func CreateGraphTestCallbackCallsAsyncCrossCross() *TestCallGraph + func CreateGraphTestCallbackCallsAsyncCrossLocal() *TestCallGraph + func CreateGraphTestCallbackCallsAsyncFailCrossCross() *TestCallGraph + func CreateGraphTestCallbackCallsAsyncFailCrossLocal() *TestCallGraph + func CreateGraphTestCallbackCallsAsyncFailLocalCross() *TestCallGraph + func CreateGraphTestCallbackCallsAsyncFailLocalLocal() *TestCallGraph + func CreateGraphTestCallbackCallsAsyncLocalCross() *TestCallGraph + func CreateGraphTestCallbackCallsAsyncLocalLocal() *TestCallGraph + func CreateGraphTestCallbackCallsSync() *TestCallGraph + func CreateGraphTestDifferentTypeOfCallsToSameFunction() *TestCallGraph + func CreateGraphTestOneAsyncCall() *TestCallGraph + func CreateGraphTestOneAsyncCallCrossShard() *TestCallGraph + func CreateGraphTestOneAsyncCallCrossShard2() *TestCallGraph + func CreateGraphTestOneAsyncCallCustomGasLocked() *TestCallGraph + func CreateGraphTestOneAsyncCallFail() *TestCallGraph + func CreateGraphTestOneAsyncCallFailCrossShard() *TestCallGraph + func CreateGraphTestOneAsyncCallFailNoCallbackCrossShard() *TestCallGraph + func CreateGraphTestOneAsyncCallNoCallback() *TestCallGraph + func CreateGraphTestOneAsyncCallNoCallbackCrossShard() *TestCallGraph + func CreateGraphTestOneAsyncCallNoCallbackFail() *TestCallGraph + func CreateGraphTestOneAsyncCallbackFail() *TestCallGraph + func CreateGraphTestOneAsyncCallbackFailCrossShard() *TestCallGraph + func CreateGraphTestSameContractWithDifferentSubCallsCrossCross() *TestCallGraph + func CreateGraphTestSameContractWithDifferentSubCallsCrossLocal() *TestCallGraph + func CreateGraphTestSameContractWithDifferentSubCallsLocalCross() *TestCallGraph + func CreateGraphTestSameContractWithDifferentSubCallsLocalLocal() *TestCallGraph + func CreateGraphTestSyncAndAsync1() *TestCallGraph + func CreateGraphTestSyncAndAsync10() *TestCallGraph + func CreateGraphTestSyncAndAsync11() *TestCallGraph + func CreateGraphTestSyncAndAsync2() *TestCallGraph + func CreateGraphTestSyncAndAsync3() *TestCallGraph + func CreateGraphTestSyncAndAsync4() *TestCallGraph + func CreateGraphTestSyncAndAsync5() *TestCallGraph + func CreateGraphTestSyncAndAsync6() *TestCallGraph + func CreateGraphTestSyncAndAsync7() *TestCallGraph + func CreateGraphTestSyncAndAsync8() *TestCallGraph + func CreateGraphTestSyncAndAsync9() *TestCallGraph + func CreateGraphTestSyncCalls() *TestCallGraph + func CreateGraphTestSyncCalls2() *TestCallGraph + func CreateGraphTestSyncCallsFailPropagation() *TestCallGraph + func CreateGraphTestTwoAsyncCalls() *TestCallGraph + func CreateGraphTestTwoAsyncCallsBothCallbacksFail() *TestCallGraph + func CreateGraphTestTwoAsyncCallsBothCallbacksFailCrossLocal() *TestCallGraph + func CreateGraphTestTwoAsyncCallsBothCallbacksFailCrossShard() *TestCallGraph + func CreateGraphTestTwoAsyncCallsBothCallbacksFailLocalCross() *TestCallGraph + func CreateGraphTestTwoAsyncCallsBothFail() *TestCallGraph + func CreateGraphTestTwoAsyncCallsBothFailCrossLocal() *TestCallGraph + func CreateGraphTestTwoAsyncCallsBothFailCrossShard() *TestCallGraph + func CreateGraphTestTwoAsyncCallsBothFailLocalCross() *TestCallGraph + func CreateGraphTestTwoAsyncCallsCrossLocal() *TestCallGraph + func CreateGraphTestTwoAsyncCallsCrossShard() *TestCallGraph + func CreateGraphTestTwoAsyncCallsFirstCallbackFail() *TestCallGraph + func CreateGraphTestTwoAsyncCallsFirstCallbackFailCrossLocal() *TestCallGraph + func CreateGraphTestTwoAsyncCallsFirstCallbackFailCrossShard() *TestCallGraph + func CreateGraphTestTwoAsyncCallsFirstCallbackFailLocalCross() *TestCallGraph + func CreateGraphTestTwoAsyncCallsFirstFail() *TestCallGraph + func CreateGraphTestTwoAsyncCallsFirstFailCrossLocal() *TestCallGraph + func CreateGraphTestTwoAsyncCallsFirstFailCrossShard() *TestCallGraph + func CreateGraphTestTwoAsyncCallsFirstFailLocalCross() *TestCallGraph + func CreateGraphTestTwoAsyncCallsFirstNoCallback() *TestCallGraph + func CreateGraphTestTwoAsyncCallsFirstNoCallbackCrossLocal() *TestCallGraph + func CreateGraphTestTwoAsyncCallsFirstNoCallbackCrossShard() *TestCallGraph + func CreateGraphTestTwoAsyncCallsLocalCross() *TestCallGraph + func CreateGraphTestTwoAsyncCallsSecondCallbackFail() *TestCallGraph + func CreateGraphTestTwoAsyncCallsSecondCallbackFailCrossLocal() *TestCallGraph + func CreateGraphTestTwoAsyncCallsSecondCallbackFailCrossShard() *TestCallGraph + func CreateGraphTestTwoAsyncCallsSecondCallbackFailLocalCross() *TestCallGraph + func CreateGraphTestTwoAsyncCallsSecondFail() *TestCallGraph + func CreateGraphTestTwoAsyncCallsSecondFailCrossLocal() *TestCallGraph + func CreateGraphTestTwoAsyncCallsSecondFailCrossShard() *TestCallGraph + func CreateGraphTestTwoAsyncCallsSecondFailLocalCross() *TestCallGraph + func CreateGraphTestTwoAsyncCallsSecondNoCallback() *TestCallGraph + func CreateGraphTestTwoAsyncCallsSecondNoCallbackCrossLocal() *TestCallGraph + func CreateGraphTestTwoAsyncCallsSecondNoCallbackCrossShard() *TestCallGraph + func CreateGraphTestTwoAsyncFirstNoCallbackCallsLocalCross() *TestCallGraph + func CreateGraphTestTwoAsyncSecondNoCallbackCallsLocalCross() *TestCallGraph + func CreateTestCallGraph() *TestCallGraph + func MakeGraphAndImage(graph *TestCallGraph) *TestCallGraph + func (graph *TestCallGraph) AddAsyncCrossShardEdge(from *TestCallNode, to *TestCallNode, callBack string, group string) *TestCallEdge + func (graph *TestCallGraph) AddAsyncEdge(from *TestCallNode, to *TestCallNode, callBack string, group string) *TestCallEdge + func (graph *TestCallGraph) AddNode(contractID string, functionName string) *TestCallNode + func (graph *TestCallGraph) AddNodeCopy(node *TestCallNode) *TestCallNode + func (graph *TestCallGraph) AddStartNode(contractID string, functionName string, gasLimit uint64, gasUsed uint64) *TestCallNode + func (graph *TestCallGraph) AddSyncEdge(from *TestCallNode, to *TestCallNode) *TestCallEdge + func (graph *TestCallGraph) AssignExecutionRounds(_ *testing.T) + func (graph *TestCallGraph) ComputeGasGraphFromExecutionGraph() *TestCallGraph + func (graph *TestCallGraph) ComputeRemainingGasAfterCallbacks() + func (graph *TestCallGraph) ComputeRemainingGasBeforeCallbacks(_ *testing.T) + func (graph *TestCallGraph) CreateExecutionGraphFromCallGraph() *TestCallGraph + func (graph *TestCallGraph) DfsFromNodeUntilFailures(parent *TestCallNode, node *TestCallNode, incomingEdge *TestCallEdge, ...) *TestCallNode + func (graph *TestCallGraph) DfsGraph(processNode processNodeFunc, followCrossShardEdges bool) + func (graph *TestCallGraph) DfsGraphFromNode(startNode *TestCallNode, processNode processNodeFunc, visits map[uint]bool, ...) + func (graph *TestCallGraph) DfsGraphFromNodePostOrder(startNode *TestCallNode, ...) + func (graph *TestCallGraph) FindNode(contractAddress []byte, functionName string) *TestCallNode + func (graph *TestCallGraph) GetStartNode() *TestCallNode + func (graph *TestCallGraph) PropagateSyncFailures() + type TestCallNode struct + AdjacentEdges []*TestCallEdge + Call *TestCall + CrtTxHash []byte + ErrFail error + ExecutionRound int + Fail bool + GasAccumulated uint64 + GasLimit uint64 + GasLocked uint64 + GasRemaining uint64 + GasUsed uint64 + ID uint + IncomingEdge *TestCallEdge + IsStartNode bool + Label string + MaxSubtreeExecutionRound int + NonGasEdgeCounter int64 + Parent *TestCallNode + ShardID uint32 + VisualLabel string + func (node *TestCallNode) GetEdges() []*TestCallEdge + func (node *TestCallNode) GetIncomingEdgeType() TestCallEdgeType + func (node *TestCallNode) HasCallback() bool + func (node *TestCallNode) HasFailSyncEdge() bool + func (node *TestCallNode) IsAsync() bool + func (node *TestCallNode) IsCallback() bool + func (node *TestCallNode) IsGasLeaf() bool + func (node *TestCallNode) IsIncomingEdgeFail() bool + func (node *TestCallNode) IsLeaf() bool + func (node *TestCallNode) IsSync() bool + func (node *TestCallNode) WillNotExecute() bool + type TestCallPath struct + type TestConfig struct + AoTPreparePerByteCost uint64 + AsyncCallStepCost uint64 + CallbackDCDTTokensToTransfer uint64 + CallbackFails bool + ChildAddress []byte + ChildBalance int64 + ChildCalls int + CompilePerByteCost uint64 + ContractToBeUpdatedAddress []byte + DCDTTokensToTransfer uint64 + DeployedContractAddress []byte + ErrorCallback string + GasLockCost uint64 + GasProvided uint64 + GasProvidedForInit uint64 + GasProvidedToCallback uint64 + GasProvidedToChild uint64 + GasToLock uint64 + GasUsedByCallback uint64 + GasUsedByChild uint64 + GasUsedByInit uint64 + GasUsedByParent uint64 + HasCallback bool + IsFlagEnabled bool + IsLegacyAsync bool + NephewAddress []byte + Owner []byte + ParentAddress []byte + ParentBalance int64 + RecursiveChildCalls int + SuccessCallback string + ThirdPartyAddress []byte + TransferFromChildToParent int64 + TransferFromParentToChild int64 + TransferToThirdParty int64 + TransferToVault int64 + VaultAddress []byte + func (config *TestConfig) GetChildAddress() []byte + func (config *TestConfig) GetThirdPartyAddress() []byte + func (config *TestConfig) GetVaultAddress() []byte + type TestHostBuilder struct + func NewTestHostBuilder(tb testing.TB) *TestHostBuilder + func (thb *TestHostBuilder) Build() vmhost.VMHost + func (thb *TestHostBuilder) WithBlockchainHook(blockchainHook vmcommon.BlockchainHook) *TestHostBuilder + func (thb *TestHostBuilder) WithBuiltinFunctions() *TestHostBuilder + func (thb *TestHostBuilder) WithExecutorFactory(executorFactory executor.ExecutorAbstractFactory) *TestHostBuilder + func (thb *TestHostBuilder) WithExecutorLogs(executorLogger executorwrapper.ExecutorLogger) *TestHostBuilder + func (thb *TestHostBuilder) WithGasSchedule(gasSchedule config.GasScheduleMap) *TestHostBuilder + func (thb *TestHostBuilder) WithWasmerSIGSEGVPassthrough(wasmerSIGSEGVPassthrough bool) *TestHostBuilder + type TestType int + const CreateTest + const RunTest + type TransferEntry struct + func CreateTransferEntry(senderAddress []byte, receiverAddress []byte, index uint32) *TransferEntry + func (transferEntry *TransferEntry) IgnoreDataItems(ignoredDataArguments ...int) *TransferEntry + func (transferEntry *TransferEntry) WithCallType(callType vm.CallType) *TransferEntry + func (transferEntry *TransferEntry) WithData(data []byte) *TransferEntry + func (transferEntry *TransferEntry) WithGasLimit(gas uint64) *TransferEntry + func (transferEntry *TransferEntry) WithGasLocked(gas uint64) *TransferEntry + func (transferEntry *TransferEntry) WithValue(value *big.Int) TransferEntry + type VMOutputVerifier struct + AllErrors vmhost.WrappableError + T testing.TB + VmOutput *vmcommon.VMOutput + func NewVMOutputVerifier(t testing.TB, vmOutput *vmcommon.VMOutput, err error) *VMOutputVerifier + func NewVMOutputVerifierWithAllErrors(t testing.TB, vmOutput *vmcommon.VMOutput, err error, allErrors error) *VMOutputVerifier + func (v *VMOutputVerifier) Balance(address []byte, balance int64) *VMOutputVerifier + func (v *VMOutputVerifier) BalanceDelta(address []byte, balanceDelta int64) *VMOutputVerifier + func (v *VMOutputVerifier) BytesAddedToStorage(address []byte, bytesAdded int) *VMOutputVerifier + func (v *VMOutputVerifier) BytesDeletedFromStorage(address []byte, bytesDelted int) *VMOutputVerifier + func (v *VMOutputVerifier) Code(address []byte, code []byte) *VMOutputVerifier + func (v *VMOutputVerifier) CodeDeployerAddress(address []byte, codeDeployerAddress []byte) *VMOutputVerifier + func (v *VMOutputVerifier) CodeMetadata(address []byte, codeMetadata []byte) *VMOutputVerifier + func (v *VMOutputVerifier) ContractInvalid() *VMOutputVerifier + func (v *VMOutputVerifier) ContractNotFound() *VMOutputVerifier + func (v *VMOutputVerifier) DeletedAccounts(deletedAccounts ...[]byte) *VMOutputVerifier + func (v *VMOutputVerifier) ExecutionFailed() *VMOutputVerifier + func (v *VMOutputVerifier) FunctionNotFound() *VMOutputVerifier + func (v *VMOutputVerifier) GasRemaining(gas uint64) *VMOutputVerifier + func (v *VMOutputVerifier) GasUsed(address []byte, gas uint64) *VMOutputVerifier + func (v *VMOutputVerifier) HasRuntimeErrorAndInfo(message string, otherInfo string) *VMOutputVerifier + func (v *VMOutputVerifier) HasRuntimeErrors(messages ...string) *VMOutputVerifier + func (v *VMOutputVerifier) Logs(logs ...vmcommon.LogEntry) *VMOutputVerifier + func (v *VMOutputVerifier) Nonce(address []byte, nonce uint64) *VMOutputVerifier + func (v *VMOutputVerifier) Ok() *VMOutputVerifier + func (v *VMOutputVerifier) OutOfGas() *VMOutputVerifier + func (v *VMOutputVerifier) Print() *VMOutputVerifier + func (v *VMOutputVerifier) ReturnCode(code vmcommon.ReturnCode) *VMOutputVerifier + func (v *VMOutputVerifier) ReturnData(returnData ...[]byte) *VMOutputVerifier + func (v *VMOutputVerifier) ReturnDataContains(element []byte) *VMOutputVerifier + func (v *VMOutputVerifier) ReturnDataDoesNotContain(element []byte) *VMOutputVerifier + func (v *VMOutputVerifier) ReturnMessage(message string) *VMOutputVerifier + func (v *VMOutputVerifier) ReturnMessageContains(message string) *VMOutputVerifier + func (v *VMOutputVerifier) Storage(expectedEntries ...StoreEntry) *VMOutputVerifier + func (v *VMOutputVerifier) Transfers(transfers ...TransferEntry) *VMOutputVerifier + func (v *VMOutputVerifier) UserError() *VMOutputVerifier