mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2024-11-22 09:29:38 +00:00
neotest: use real *core.Blockchain
Hiding it behind blockchainer.Blockchain doesn't improve the testing system, there is no other implementation of it that can fulfil all the needs of the neotest and at the same time this limits the functions available to tests.
This commit is contained in:
parent
b3c25b5a1f
commit
5b49636ebe
1 changed files with 8 additions and 8 deletions
|
@ -8,8 +8,8 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/nspcc-dev/neo-go/pkg/config/netmode"
|
"github.com/nspcc-dev/neo-go/pkg/config/netmode"
|
||||||
|
"github.com/nspcc-dev/neo-go/pkg/core"
|
||||||
"github.com/nspcc-dev/neo-go/pkg/core/block"
|
"github.com/nspcc-dev/neo-go/pkg/core/block"
|
||||||
"github.com/nspcc-dev/neo-go/pkg/core/blockchainer"
|
|
||||||
"github.com/nspcc-dev/neo-go/pkg/core/fee"
|
"github.com/nspcc-dev/neo-go/pkg/core/fee"
|
||||||
"github.com/nspcc-dev/neo-go/pkg/core/native"
|
"github.com/nspcc-dev/neo-go/pkg/core/native"
|
||||||
"github.com/nspcc-dev/neo-go/pkg/core/native/nativenames"
|
"github.com/nspcc-dev/neo-go/pkg/core/native/nativenames"
|
||||||
|
@ -29,7 +29,7 @@ import (
|
||||||
|
|
||||||
// Executor is a wrapper over chain state.
|
// Executor is a wrapper over chain state.
|
||||||
type Executor struct {
|
type Executor struct {
|
||||||
Chain blockchainer.Blockchainer
|
Chain *core.Blockchain
|
||||||
Validator Signer
|
Validator Signer
|
||||||
Committee Signer
|
Committee Signer
|
||||||
CommitteeHash util.Uint160
|
CommitteeHash util.Uint160
|
||||||
|
@ -37,7 +37,7 @@ type Executor struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewExecutor creates a new executor instance from the provided blockchain and committee.
|
// NewExecutor creates a new executor instance from the provided blockchain and committee.
|
||||||
func NewExecutor(t testing.TB, bc blockchainer.Blockchainer, validator, committee Signer) *Executor {
|
func NewExecutor(t testing.TB, bc *core.Blockchain, validator, committee Signer) *Executor {
|
||||||
checkMultiSigner(t, validator)
|
checkMultiSigner(t, validator)
|
||||||
checkMultiSigner(t, committee)
|
checkMultiSigner(t, committee)
|
||||||
|
|
||||||
|
@ -254,12 +254,12 @@ func (e *Executor) EnsureGASBalance(t testing.TB, acc util.Uint160, isOk func(ba
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewDeployTx returns a new deployment tx for the contract signed by the committee.
|
// NewDeployTx returns a new deployment tx for the contract signed by the committee.
|
||||||
func (e *Executor) NewDeployTx(t testing.TB, bc blockchainer.Blockchainer, c *Contract, data interface{}) *transaction.Transaction {
|
func (e *Executor) NewDeployTx(t testing.TB, bc *core.Blockchain, c *Contract, data interface{}) *transaction.Transaction {
|
||||||
return NewDeployTxBy(t, bc, e.Validator, c, data)
|
return NewDeployTxBy(t, bc, e.Validator, c, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewDeployTxBy returns a new deployment tx for the contract signed by the specified signer.
|
// NewDeployTxBy returns a new deployment tx for the contract signed by the specified signer.
|
||||||
func NewDeployTxBy(t testing.TB, bc blockchainer.Blockchainer, signer Signer, c *Contract, data interface{}) *transaction.Transaction {
|
func NewDeployTxBy(t testing.TB, bc *core.Blockchain, signer Signer, c *Contract, data interface{}) *transaction.Transaction {
|
||||||
rawManifest, err := json.Marshal(c.Manifest)
|
rawManifest, err := json.Marshal(c.Manifest)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
@ -284,7 +284,7 @@ func NewDeployTxBy(t testing.TB, bc blockchainer.Blockchainer, signer Signer, c
|
||||||
|
|
||||||
// AddSystemFee adds system fee to the transaction. If negative value specified,
|
// AddSystemFee adds system fee to the transaction. If negative value specified,
|
||||||
// then system fee is defined by test invocation.
|
// then system fee is defined by test invocation.
|
||||||
func AddSystemFee(bc blockchainer.Blockchainer, tx *transaction.Transaction, sysFee int64) {
|
func AddSystemFee(bc *core.Blockchain, tx *transaction.Transaction, sysFee int64) {
|
||||||
if sysFee >= 0 {
|
if sysFee >= 0 {
|
||||||
tx.SystemFee = sysFee
|
tx.SystemFee = sysFee
|
||||||
return
|
return
|
||||||
|
@ -294,7 +294,7 @@ func AddSystemFee(bc blockchainer.Blockchainer, tx *transaction.Transaction, sys
|
||||||
}
|
}
|
||||||
|
|
||||||
// AddNetworkFee adds network fee to the transaction.
|
// AddNetworkFee adds network fee to the transaction.
|
||||||
func AddNetworkFee(bc blockchainer.Blockchainer, tx *transaction.Transaction, signers ...Signer) {
|
func AddNetworkFee(bc *core.Blockchain, tx *transaction.Transaction, signers ...Signer) {
|
||||||
baseFee := bc.GetBaseExecFee()
|
baseFee := bc.GetBaseExecFee()
|
||||||
size := io.GetVarSize(tx)
|
size := io.GetVarSize(tx)
|
||||||
for _, sgr := range signers {
|
for _, sgr := range signers {
|
||||||
|
@ -362,7 +362,7 @@ func (e *Executor) AddBlockCheckHalt(t testing.TB, txs ...*transaction.Transacti
|
||||||
}
|
}
|
||||||
|
|
||||||
// TestInvoke creates a test VM with a dummy block and executes a transaction in it.
|
// TestInvoke creates a test VM with a dummy block and executes a transaction in it.
|
||||||
func TestInvoke(bc blockchainer.Blockchainer, tx *transaction.Transaction) (*vm.VM, error) {
|
func TestInvoke(bc *core.Blockchain, tx *transaction.Transaction) (*vm.VM, error) {
|
||||||
lastBlock, err := bc.GetBlock(bc.GetHeaderHash(int(bc.BlockHeight())))
|
lastBlock, err := bc.GetBlock(bc.GetHeaderHash(int(bc.BlockHeight())))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
Loading…
Reference in a new issue