mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2025-05-09 03:13:13 +00:00
core, rpc: allow to store several AppExecResult for a single hash
It is required for we have several executions per block.
This commit is contained in:
parent
e700fb2c96
commit
7ca93e76ac
18 changed files with 384 additions and 178 deletions
|
@ -53,12 +53,13 @@ func (bc *Blockchain) setNodesByRole(t *testing.T, ok bool, r native.Role, nodes
|
|||
})
|
||||
require.NoError(t, bc.AddBlock(bc.newBlock(tx)))
|
||||
|
||||
aer, err := bc.GetAppExecResult(tx.Hash())
|
||||
aer, err := bc.GetAppExecResults(tx.Hash(), trigger.Application)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, 1, len(aer))
|
||||
if ok {
|
||||
require.Equal(t, vm.HaltState, aer.VMState)
|
||||
require.Equal(t, vm.HaltState, aer[0].VMState)
|
||||
} else {
|
||||
require.Equal(t, vm.FaultState, aer.VMState)
|
||||
require.Equal(t, vm.FaultState, aer[0].VMState)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -79,17 +80,18 @@ func (bc *Blockchain) getNodesByRole(t *testing.T, ok bool, r native.Role, index
|
|||
require.NoError(t, signTx(bc, tx))
|
||||
require.NoError(t, bc.AddBlock(bc.newBlock(tx)))
|
||||
|
||||
aer, err := bc.GetAppExecResult(tx.Hash())
|
||||
aer, err := bc.GetAppExecResults(tx.Hash(), trigger.Application)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, 1, len(aer))
|
||||
if ok {
|
||||
require.Equal(t, vm.HaltState, aer.VMState)
|
||||
require.Equal(t, 1, len(aer.Stack))
|
||||
arrItem := aer.Stack[0]
|
||||
require.Equal(t, vm.HaltState, aer[0].VMState)
|
||||
require.Equal(t, 1, len(aer[0].Stack))
|
||||
arrItem := aer[0].Stack[0]
|
||||
require.Equal(t, stackitem.ArrayT, arrItem.Type())
|
||||
arr := arrItem.(*stackitem.Array)
|
||||
require.Equal(t, resLen, arr.Len())
|
||||
} else {
|
||||
require.Equal(t, vm.FaultState, aer.VMState)
|
||||
require.Equal(t, vm.FaultState, aer[0].VMState)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue