diff --git a/pkg/core/native/native_test/annos_test.go b/pkg/core/native/native_test/annos_test.go index 9212c41..12226b9 100644 --- a/pkg/core/native/native_test/annos_test.go +++ b/pkg/core/native/native_test/annos_test.go @@ -17,14 +17,14 @@ import ( // Block timestamps are in milliseconds, but we store birthtimestamps in seconds. var genesisTimestamp = time.Date(2016, 7, 15, 15, 8, 21, 0, time.UTC).Unix() -func newAnnosClient(t *testing.T) *neotest.ContractInvoker { +func newAnnosClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.Annos) } // registerVitaForAnnos is a helper to register a Vita for Annos tests. // Returns the tokenID bytes. // birthTimestamp should be relative to the genesis block time (July 2016). -func registerVitaForAnnos(t *testing.T, e *neotest.Executor, signer neotest.Signer, birthTimestamp int64) []byte { +func registerVitaForAnnos(t *testing.T, e *tutustest.Executor, signer tutustest.Signer, birthTimestamp int64) []byte { vitaHash := e.NativeHash(t, nativenames.Vita) vitaInvoker := e.NewInvoker(vitaHash, signer) diff --git a/pkg/core/native/native_test/collocatio_test.go b/pkg/core/native/native_test/collocatio_test.go index bb1e2a3..09d2cdf 100644 --- a/pkg/core/native/native_test/collocatio_test.go +++ b/pkg/core/native/native_test/collocatio_test.go @@ -10,7 +10,7 @@ import ( "github.com/tutus-one/tutus-chain/pkg/vm/stackitem" ) -func newCollocatioClient(t *testing.T) *neotest.ContractInvoker { +func newCollocatioClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.Collocatio) } diff --git a/pkg/core/native/native_test/common_test.go b/pkg/core/native/native_test/common_test.go index 9baaf88..c05ce29 100644 --- a/pkg/core/native/native_test/common_test.go +++ b/pkg/core/native/native_test/common_test.go @@ -19,18 +19,18 @@ import ( "github.com/stretchr/testify/require" ) -func newNativeClient(t *testing.T, name string) *neotest.ContractInvoker { +func newNativeClient(t *testing.T, name string) *tutustest.ContractInvoker { return newCustomNativeClient(t, name, nil) } -func newCustomNativeClient(t *testing.T, name string, f func(cfg *config.Blockchain)) *neotest.ContractInvoker { +func newCustomNativeClient(t *testing.T, name string, f func(cfg *config.Blockchain)) *tutustest.ContractInvoker { bc, acc := chain.NewSingleWithCustomConfig(t, f) - e := neotest.NewExecutor(t, bc, acc, acc) + e := tutustest.NewExecutor(t, bc, acc, acc) return e.CommitteeInvoker(e.NativeHash(t, name)) } -func testGetSet(t *testing.T, c *neotest.ContractInvoker, name string, defaultValue, minValue, maxValue int64) { +func testGetSet(t *testing.T, c *tutustest.ContractInvoker, name string, defaultValue, minValue, maxValue int64) { getName := "get" + name setName := "set" + name @@ -90,7 +90,7 @@ func testGetSet(t *testing.T, c *neotest.ContractInvoker, name string, defaultVa }) } -func testGetSetCache(t *testing.T, c *neotest.ContractInvoker, name string, defaultValue int64) { +func testGetSetCache(t *testing.T, c *tutustest.ContractInvoker, name string, defaultValue int64) { getName := "get" + name setName := "set" + name @@ -122,7 +122,7 @@ func testGetSetCache(t *testing.T, c *neotest.ContractInvoker, name string, defa } } -func setNodesByRole(t *testing.T, designateInvoker *neotest.ContractInvoker, ok bool, r noderoles.Role, nodes keys.PublicKeys, oldKeys ...keys.PublicKeys) { +func setNodesByRole(t *testing.T, designateInvoker *tutustest.ContractInvoker, ok bool, r noderoles.Role, nodes keys.PublicKeys, oldKeys ...keys.PublicKeys) { pubs := make([]any, len(nodes)) for i := range nodes { pubs[i] = nodes[i].Bytes() @@ -155,7 +155,7 @@ func setNodesByRole(t *testing.T, designateInvoker *neotest.ContractInvoker, ok } } -func checkNodeRoles(t *testing.T, designateInvoker *neotest.ContractInvoker, ok bool, r noderoles.Role, index uint32, res keys.PublicKeys) { +func checkNodeRoles(t *testing.T, designateInvoker *tutustest.ContractInvoker, ok bool, r noderoles.Role, index uint32, res keys.PublicKeys) { if ok { designateInvoker.InvokeAndCheck(t, func(t testing.TB, stack []stackitem.Item) { require.Equal(t, 1, len(stack)) diff --git a/pkg/core/native/native_test/cryptolib_test.go b/pkg/core/native/native_test/cryptolib_test.go index 83da312..9c25b36 100644 --- a/pkg/core/native/native_test/cryptolib_test.go +++ b/pkg/core/native/native_test/cryptolib_test.go @@ -39,7 +39,7 @@ func init() { notG2, _ = hex.DecodeString("8123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef") } -func newCryptolibClient(t *testing.T) *neotest.ContractInvoker { +func newCryptolibClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.CryptoLib) } @@ -452,9 +452,9 @@ func TestVerifyGroth16Proof(t *testing.T) { t.Skip("Skipping: examples/zkp/xor_compat has separate go.mod with versioned interop dependency") bc, committee := chain.NewSingle(t) - e := neotest.NewExecutor(t, bc, committee, committee) + e := tutustest.NewExecutor(t, bc, committee, committee) - c := neotest.CompileFile(t, e.Validator.ScriptHash(), "../../../../examples/zkp/xor_compat/verify.go", "../../../../examples/zkp/xor_compat/verify.yml") + c := tutustest.CompileFile(t, e.Validator.ScriptHash(), "../../../../examples/zkp/xor_compat/verify.go", "../../../../examples/zkp/xor_compat/verify.yml") e.DeployContract(t, c, nil) validatorInvoker := e.ValidatorInvoker(c.Hash) diff --git a/pkg/core/native/native_test/cryptolib_verification_test.go b/pkg/core/native/native_test/cryptolib_verification_test.go index 253dcb2..affbb62 100644 --- a/pkg/core/native/native_test/cryptolib_verification_test.go +++ b/pkg/core/native/native_test/cryptolib_verification_test.go @@ -66,7 +66,7 @@ func TestCryptoLib_KoblitzVerificationScript(t *testing.T) { Scopes: transaction.CalledByEntry, }, } - neotest.AddNetworkFee(t, e.Chain, tx) + tutustest.AddNetworkFee(t, e.Chain, tx) e.AddSystemFee(tx, -1) // Add some more network fee to pay for the witness verification. This value may be calculated precisely, @@ -628,7 +628,7 @@ func TestCryptoLib_KoblitzMultisigVerificationScript(t *testing.T) { Scopes: transaction.CalledByEntry, }, } - neotest.AddNetworkFee(t, e.Chain, tx) + tutustest.AddNetworkFee(t, e.Chain, tx) e.AddSystemFee(tx, -1) // Add some more network fee to pay for the witness verification. This value may be calculated precisely, diff --git a/pkg/core/native/native_test/designate_test.go b/pkg/core/native/native_test/designate_test.go index 5d9746a..5f110b4 100644 --- a/pkg/core/native/native_test/designate_test.go +++ b/pkg/core/native/native_test/designate_test.go @@ -20,7 +20,7 @@ import ( "github.com/stretchr/testify/require" ) -func newDesignateClient(t *testing.T) *neotest.ContractInvoker { +func newDesignateClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.Designation) } @@ -176,7 +176,7 @@ func TestDesignate_GenesisRolesExtension(t *testing.T) { noderoles.StateValidator: pubs, } }) - e := neotest.NewExecutor(t, bc, acc, acc) + e := tutustest.NewExecutor(t, bc, acc, acc) c := e.CommitteeInvoker(e.NativeHash(t, nativenames.Designation)) // Check designated node in a separate block. diff --git a/pkg/core/native/native_test/eligere_test.go b/pkg/core/native/native_test/eligere_test.go index 9c8da9a..b4f3861 100644 --- a/pkg/core/native/native_test/eligere_test.go +++ b/pkg/core/native/native_test/eligere_test.go @@ -10,7 +10,7 @@ import ( "github.com/tutus-one/tutus-chain/pkg/vm/stackitem" ) -func newEligereClient(t *testing.T) *neotest.ContractInvoker { +func newEligereClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.Eligere) } diff --git a/pkg/core/native/native_test/federation_test.go b/pkg/core/native/native_test/federation_test.go index 91067e7..d82a577 100644 --- a/pkg/core/native/native_test/federation_test.go +++ b/pkg/core/native/native_test/federation_test.go @@ -10,7 +10,7 @@ import ( "github.com/tutus-one/tutus-chain/pkg/vm/stackitem" ) -func newFederationClient(t *testing.T) *neotest.ContractInvoker { +func newFederationClient(t *testing.T) *tutustest.ContractInvoker { // Federation activates at HFFaun hardfork return newCustomNativeClient(t, nativenames.Federation, func(cfg *config.Blockchain) { cfg.Hardforks = map[string]uint32{ diff --git a/pkg/core/native/native_test/gas_test.go b/pkg/core/native/native_test/gas_test.go index b7c4eff..8434686 100644 --- a/pkg/core/native/native_test/gas_test.go +++ b/pkg/core/native/native_test/gas_test.go @@ -17,7 +17,7 @@ import ( "github.com/stretchr/testify/require" ) -func newLubClient(t *testing.T) *neotest.ContractInvoker { +func newLubClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.Lub) } @@ -74,7 +74,7 @@ func TestLub_RewardWithP2PSigExtensionsEnabled(t *testing.T) { config.HFEchidna.String(): 0, } }) - e := neotest.NewExecutor(t, bc, validator, committee) + e := tutustest.NewExecutor(t, bc, validator, committee) lubCommitteeInvoker := e.CommitteeInvoker(e.NativeHash(t, nativenames.Lub)) notaryHash := e.NativeHash(t, nativenames.Notary) notaryServiceFeePerKey := e.Chain.GetNotaryServiceFeePerKey() @@ -110,7 +110,7 @@ func TestLub_RewardWithP2PSigExtensionsEnabled(t *testing.T) { // send transaction with Notary contract as a sender tx := transaction.New([]byte{byte(opcode.PUSH1)}, 1_000_000) - tx.Nonce = neotest.Nonce() + tx.Nonce = tutustest.Nonce() tx.ValidUntilBlock = e.Chain.BlockHeight() + 1 tx.Attributes = append(tx.Attributes, transaction.Attribute{Type: transaction.NotaryAssistedT, Value: &transaction.NotaryAssisted{NKeys: uint8(nKeys)}}) tx.NetworkFee = (2 + int64(nKeys)) * notaryServiceFeePerKey diff --git a/pkg/core/native/native_test/generate_expected_test.go b/pkg/core/native/native_test/generate_expected_test.go index 95d39e1..0cbc8e7 100644 --- a/pkg/core/native/native_test/generate_expected_test.go +++ b/pkg/core/native/native_test/generate_expected_test.go @@ -31,7 +31,7 @@ func TestGenerateExpectedContractStates(t *testing.T) { config.HFFaun.String(): faunHeight, } }) - e := neotest.NewExecutor(t, bc, acc, acc) + e := tutustest.NewExecutor(t, bc, acc, acc) // Generate defaultCSS (genesis state) fmt.Println("\n=== defaultCSS (genesis) ===") diff --git a/pkg/core/native/native_test/ledger_test.go b/pkg/core/native/native_test/ledger_test.go index 4fbcedc..2d3adf5 100644 --- a/pkg/core/native/native_test/ledger_test.go +++ b/pkg/core/native/native_test/ledger_test.go @@ -19,11 +19,11 @@ import ( "github.com/stretchr/testify/require" ) -func newLedgerClient(t *testing.T) *neotest.ContractInvoker { +func newLedgerClient(t *testing.T) *tutustest.ContractInvoker { bc, acc := chain.NewSingleWithCustomConfig(t, func(cfg *config.Blockchain) { cfg.MaxTraceableBlocks = 10 // reduce number of traceable blocks for Ledger tests }) - e := neotest.NewExecutor(t, bc, acc, acc) + e := tutustest.NewExecutor(t, bc, acc, acc) return e.CommitteeInvoker(e.NativeHash(t, nativenames.Ledger)) } @@ -35,7 +35,7 @@ func TestLedger_GetTransactionHeight(t *testing.T) { height := 13 e.GenerateNewBlocks(t, height-1) - hash := e.InvokeScript(t, []byte{byte(opcode.RET)}, []neotest.Signer{c.Committee}) + hash := e.InvokeScript(t, []byte{byte(opcode.RET)}, []tutustest.Signer{c.Committee}) t.Run("good", func(t *testing.T) { ledgerInvoker.Invoke(t, height, "getTransactionHeight", hash) @@ -53,7 +53,7 @@ func TestLedger_GetTransactionState(t *testing.T) { e := c.Executor ledgerInvoker := c.WithSigners(c.Committee) - hash := e.InvokeScript(t, []byte{byte(opcode.RET)}, []neotest.Signer{c.Committee}) + hash := e.InvokeScript(t, []byte{byte(opcode.RET)}, []tutustest.Signer{c.Committee}) t.Run("unknown transaction", func(t *testing.T) { ledgerInvoker.Invoke(t, vmstate.None, "getTransactionVMState", util.Uint256{1, 2, 3}) @@ -70,7 +70,7 @@ func TestLedger_GetTransactionState(t *testing.T) { ledgerInvoker.Invoke(t, vmstate.None, "getTransactionVMState", hash) }) t.Run("good: FAULT", func(t *testing.T) { - faultedH := e.InvokeScript(t, []byte{byte(opcode.ABORT)}, []neotest.Signer{c.Committee}) + faultedH := e.InvokeScript(t, []byte{byte(opcode.ABORT)}, []tutustest.Signer{c.Committee}) ledgerInvoker.Invoke(t, vmstate.Fault, "getTransactionVMState", faultedH) }) } @@ -80,7 +80,7 @@ func TestLedger_GetTransaction(t *testing.T) { e := c.Executor ledgerInvoker := c.WithSigners(c.Committee) - hash := e.InvokeScript(t, []byte{byte(opcode.RET)}, []neotest.Signer{c.Committee}) + hash := e.InvokeScript(t, []byte{byte(opcode.RET)}, []tutustest.Signer{c.Committee}) tx, _ := e.GetTransaction(t, hash) t.Run("success", func(t *testing.T) { @@ -226,7 +226,7 @@ func TestLedger_GetTransactionSignersInteropAPI(t *testing.T) { }, }, }} - neotest.AddNetworkFee(t, e.Chain, tx, c.Committee) + tutustest.AddNetworkFee(t, e.Chain, tx, c.Committee) e.AddSystemFee(tx, -1) require.NoError(t, c.Committee.SignTx(e.Chain.GetConfig().Magic, tx)) c.AddNewBlock(t, tx) @@ -288,7 +288,7 @@ func TestLedger_GetTransactionSignersInteropAPI(t *testing.T) { } return 1 }` - ctr := neotest.CompileSource(t, c.Committee.ScriptHash(), strings.NewReader(src), &compiler.Options{ + ctr := tutustest.CompileSource(t, c.Committee.ScriptHash(), strings.NewReader(src), &compiler.Options{ Name: "calledger_contract", }) e.DeployContract(t, ctr, nil) diff --git a/pkg/core/native/native_test/lex_test.go b/pkg/core/native/native_test/lex_test.go index 9b871b5..e0e40b2 100644 --- a/pkg/core/native/native_test/lex_test.go +++ b/pkg/core/native/native_test/lex_test.go @@ -10,7 +10,7 @@ import ( "github.com/tutus-one/tutus-chain/pkg/vm/stackitem" ) -func newLexClient(t *testing.T) *neotest.ContractInvoker { +func newLexClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.Lex) } diff --git a/pkg/core/native/native_test/management_test.go b/pkg/core/native/native_test/management_test.go index fd6cc31..c4de554 100644 --- a/pkg/core/native/native_test/management_test.go +++ b/pkg/core/native/native_test/management_test.go @@ -111,13 +111,13 @@ func init() { } } -func newManagementClient(t *testing.T) *neotest.ContractInvoker { +func newManagementClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.Management) } // newCustomManagementClient returns native Management invoker backed with chain with // specified custom configuration. -func newCustomManagementClient(t *testing.T, f func(cfg *config.Blockchain)) *neotest.ContractInvoker { +func newCustomManagementClient(t *testing.T, f func(cfg *config.Blockchain)) *tutustest.ContractInvoker { return newCustomNativeClient(t, nativenames.Management, f) } @@ -137,7 +137,7 @@ func TestManagement_GenesisNativeState(t *testing.T) { skipStrictComparison := true // check ensures that contract state stored in native Management matches the expected one. - check := func(t *testing.T, c *neotest.ContractInvoker, expected map[string]string) { + check := func(t *testing.T, c *tutustest.ContractInvoker, expected map[string]string) { for _, name := range nativenames.All { h := state.CreateNativeContractHash(name) c.InvokeAndCheck(t, func(t testing.TB, stack []stackitem.Item) { @@ -540,7 +540,7 @@ func TestBlockchain_GetNatives(t *testing.T) { config.HFFaun.String(): faunHeight, } }) - e := neotest.NewExecutor(t, bc, acc, acc) + e := tutustest.NewExecutor(t, bc, acc, acc) // Skip strict state comparison during active development. // The defaultCSS/cockatriceCSS/echidnaCSS/faunCSS maps need to be regenerated @@ -823,7 +823,7 @@ func TestManagement_ContractDeploy(t *testing.T) { r := io.NewBinReaderFromBuf(w.Bytes()) bc2, acc := chain.NewSingle(t) - e2 := neotest.NewExecutor(t, bc2, acc, acc) + e2 := tutustest.NewExecutor(t, bc2, acc, acc) managementInvoker2 := e2.CommitteeInvoker(e2.NativeHash(t, nativenames.Management)) require.NoError(t, chaindump.Restore(bc2, r, 0, c.Chain.BlockHeight()+1, nil)) @@ -905,7 +905,7 @@ func TestManagement_StartFromHeight(t *testing.T) { // Create blockchain and put contract state to it. bc, acc := chain.NewSingleWithCustomConfigAndStore(t, nil, newLevelStore, false) go bc.Run() - e := neotest.NewExecutor(t, bc, acc, acc) + e := tutustest.NewExecutor(t, bc, acc, acc) c := e.CommitteeInvoker(e.NativeHash(t, nativenames.Management)) managementInvoker := c.WithSigners(c.Committee) @@ -926,7 +926,7 @@ func TestManagement_StartFromHeight(t *testing.T) { newLevelStore, err = storage.NewLevelDBStore(dbConfig.LevelDBOptions) require.NoError(t, err) bc2, acc := chain.NewSingleWithCustomConfigAndStore(t, nil, newLevelStore, true) - e2 := neotest.NewExecutor(t, bc2, acc, acc) + e2 := tutustest.NewExecutor(t, bc2, acc, acc) managementInvoker2 := e2.CommitteeInvoker(e2.NativeHash(t, nativenames.Management)) // Check that initialisation of native Management was correctly performed. @@ -1240,7 +1240,7 @@ func TestManagement_WhitelistedUpdate(t *testing.T) { config.HFFaun.String(): 0, } }) - e := neotest.NewExecutor(t, bc, acc, acc) + e := tutustest.NewExecutor(t, bc, acc, acc) m := e.CommitteeInvoker(nativehashes.ContractManagement) p := e.CommitteeInvoker(nativehashes.PolicyContract) src := `package free @@ -1256,7 +1256,7 @@ func TestManagement_WhitelistedUpdate(t *testing.T) { management.Destroy() }` - ctr := neotest.CompileSource(t, e.Validator.ScriptHash(), strings.NewReader(src), &compiler.Options{ + ctr := tutustest.CompileSource(t, e.Validator.ScriptHash(), strings.NewReader(src), &compiler.Options{ Name: "free contract", Permissions: []manifest.Permission{ { diff --git a/pkg/core/native/native_test/neo_test.go b/pkg/core/native/native_test/neo_test.go index 197276a..9e5e47d 100644 --- a/pkg/core/native/native_test/neo_test.go +++ b/pkg/core/native/native_test/neo_test.go @@ -35,7 +35,7 @@ import ( "github.com/stretchr/testify/require" ) -func newNeoCommitteeClient(t *testing.T, expectedGASBalance int) *neotest.ContractInvoker { +func newNeoCommitteeClient(t *testing.T, expectedGASBalance int) *tutustest.ContractInvoker { bc, validators, committee := chain.NewMultiWithCustomConfig(t, func(cfg *config.Blockchain) { cfg.Hardforks = map[string]uint32{ config.HFAspidochelone.String(): 0, @@ -45,7 +45,7 @@ func newNeoCommitteeClient(t *testing.T, expectedGASBalance int) *neotest.Contra config.HFEchidna.String(): 0, } }) - e := neotest.NewExecutor(t, bc, validators, committee) + e := tutustest.NewExecutor(t, bc, validators, committee) if expectedGASBalance > 0 { e.ValidatorInvoker(e.NativeHash(t, nativenames.Lub)).Invoke(t, true, "transfer", e.Validator.ScriptHash(), e.CommitteeHash, expectedGASBalance, nil) @@ -54,7 +54,7 @@ func newNeoCommitteeClient(t *testing.T, expectedGASBalance int) *neotest.Contra return e.CommitteeInvoker(e.NativeHash(t, nativenames.Tutus)) } -func newNeoValidatorsClient(t *testing.T) *neotest.ContractInvoker { +func newNeoValidatorsClient(t *testing.T) *tutustest.ContractInvoker { c := newNeoCommitteeClient(t, 100_0000_0000) return c.ValidatorInvoker(c.NativeHash(t, nativenames.Tutus)) } @@ -77,7 +77,7 @@ func TestNEO_RegisterPriceCache(t *testing.T) { func TestNEO_CandidateEvents(t *testing.T) { c := newNativeClient(t, nativenames.Tutus) - singleSigner := c.Signers[0].(neotest.MultiSigner).Single(0) + singleSigner := c.Signers[0].(tutustest.MultiSigner).Single(0) cc := c.WithSigners(c.Signers[0], singleSigner) e := c.Executor pkb := singleSigner.Account().PublicKey().Bytes() @@ -138,21 +138,21 @@ func TestNEO_CommitteeEvents(t *testing.T) { cfg := e.Chain.GetConfig() committeeSize := cfg.GetCommitteeSize(0) - voters := make([]neotest.Signer, committeeSize) - candidates := make([]neotest.Signer, committeeSize) + voters := make([]tutustest.Signer, committeeSize) + candidates := make([]tutustest.Signer, committeeSize) for i := range committeeSize { voters[i] = e.NewAccount(t, 10_0000_0000) candidates[i] = e.NewAccount(t, 2000_0000_0000) // enough for one registration } txes := make([]*transaction.Transaction, 0, committeeSize*3) for i := range committeeSize { - transferTx := neoValidatorsInvoker.PrepareInvoke(t, "transfer", e.Validator.ScriptHash(), voters[i].(neotest.SingleSigner).Account().PrivateKey().GetScriptHash(), int64(committeeSize-i)*1000000, nil) + transferTx := neoValidatorsInvoker.PrepareInvoke(t, "transfer", e.Validator.ScriptHash(), voters[i].(tutustest.SingleSigner).Account().PrivateKey().GetScriptHash(), int64(committeeSize-i)*1000000, nil) txes = append(txes, transferTx) - registerTx := neoValidatorsInvoker.WithSigners(candidates[i]).PrepareInvoke(t, "registerCandidate", candidates[i].(neotest.SingleSigner).Account().PublicKey().Bytes()) + registerTx := neoValidatorsInvoker.WithSigners(candidates[i]).PrepareInvoke(t, "registerCandidate", candidates[i].(tutustest.SingleSigner).Account().PublicKey().Bytes()) txes = append(txes, registerTx) - voteTx := neoValidatorsInvoker.WithSigners(voters[i]).PrepareInvoke(t, "vote", voters[i].(neotest.SingleSigner).Account().PrivateKey().GetScriptHash(), candidates[i].(neotest.SingleSigner).Account().PublicKey().Bytes()) + voteTx := neoValidatorsInvoker.WithSigners(voters[i]).PrepareInvoke(t, "vote", voters[i].(tutustest.SingleSigner).Account().PrivateKey().GetScriptHash(), candidates[i].(tutustest.SingleSigner).Account().PublicKey().Bytes()) txes = append(txes, voteTx) } block := neoValidatorsInvoker.AddNewBlock(t, txes...) @@ -186,7 +186,7 @@ func TestNEO_CommitteeEvents(t *testing.T) { } expectedNewCommitteeStackItems := make([]stackitem.Item, 0, committeeSize) for _, candidate := range candidates { - expectedNewCommitteeStackItems = append(expectedNewCommitteeStackItems, stackitem.NewByteArray(candidate.(neotest.SingleSigner).Account().PublicKey().Bytes())) + expectedNewCommitteeStackItems = append(expectedNewCommitteeStackItems, stackitem.NewByteArray(candidate.(tutustest.SingleSigner).Account().PublicKey().Bytes())) } newCommitteeStackItem := aer[0].Events[0].Item.Value().([]stackitem.Item)[1].(*stackitem.Array) for i, item := range newCommitteeStackItem.Value().([]stackitem.Item) { @@ -219,13 +219,13 @@ func TestNEO_Vote(t *testing.T) { // voters vote for candidates. The aim of this test is to check if voting // reward is proportional to the NEO balance. - voters := make([]neotest.Signer, committeeSize+1) + voters := make([]tutustest.Signer, committeeSize+1) // referenceAccounts perform the same actions as voters except voting, i.e. we // will transfer the same amount of NEO to referenceAccounts and see how much // GAS they receive for NEO ownership. We need these values to be able to define // how much GAS voters receive for NEO ownership. - referenceAccounts := make([]neotest.Signer, committeeSize+1) - candidates := make([]neotest.Signer, committeeSize+1) + referenceAccounts := make([]tutustest.Signer, committeeSize+1) + candidates := make([]tutustest.Signer, committeeSize+1) for i := range committeeSize + 1 { voters[i] = e.NewAccount(t, 10_0000_0000) referenceAccounts[i] = e.NewAccount(t, 10_0000_0000) @@ -233,18 +233,18 @@ func TestNEO_Vote(t *testing.T) { } txes := make([]*transaction.Transaction, 0, committeeSize*4-2) for i := range committeeSize + 1 { - transferTx := neoValidatorsInvoker.PrepareInvoke(t, "transfer", e.Validator.ScriptHash(), voters[i].(neotest.SingleSigner).Account().PrivateKey().GetScriptHash(), int64(committeeSize+1-i)*1000000, nil) + transferTx := neoValidatorsInvoker.PrepareInvoke(t, "transfer", e.Validator.ScriptHash(), voters[i].(tutustest.SingleSigner).Account().PrivateKey().GetScriptHash(), int64(committeeSize+1-i)*1000000, nil) txes = append(txes, transferTx) - transferTx = neoValidatorsInvoker.PrepareInvoke(t, "transfer", e.Validator.ScriptHash(), referenceAccounts[i].(neotest.SingleSigner).Account().PrivateKey().GetScriptHash(), int64(committeeSize+1-i)*1000000, nil) + transferTx = neoValidatorsInvoker.PrepareInvoke(t, "transfer", e.Validator.ScriptHash(), referenceAccounts[i].(tutustest.SingleSigner).Account().PrivateKey().GetScriptHash(), int64(committeeSize+1-i)*1000000, nil) txes = append(txes, transferTx) if i > 0 { - registerTx := neoValidatorsInvoker.WithSigners(candidates[i]).PrepareInvoke(t, "registerCandidate", candidates[i].(neotest.SingleSigner).Account().PublicKey().Bytes()) + registerTx := neoValidatorsInvoker.WithSigners(candidates[i]).PrepareInvoke(t, "registerCandidate", candidates[i].(tutustest.SingleSigner).Account().PublicKey().Bytes()) txes = append(txes, registerTx) - voteTx := neoValidatorsInvoker.WithSigners(voters[i]).PrepareInvoke(t, "vote", voters[i].(neotest.SingleSigner).Account().PrivateKey().GetScriptHash(), candidates[i].(neotest.SingleSigner).Account().PublicKey().Bytes()) + voteTx := neoValidatorsInvoker.WithSigners(voters[i]).PrepareInvoke(t, "vote", voters[i].(tutustest.SingleSigner).Account().PrivateKey().GetScriptHash(), candidates[i].(tutustest.SingleSigner).Account().PublicKey().Bytes()) txes = append(txes, voteTx) } } - txes = append(txes, policyInvoker.PrepareInvoke(t, "blockAccount", candidates[len(candidates)-1].(neotest.SingleSigner).Account().ScriptHash())) + txes = append(txes, policyInvoker.PrepareInvoke(t, "blockAccount", candidates[len(candidates)-1].(tutustest.SingleSigner).Account().ScriptHash())) neoValidatorsInvoker.AddNewBlock(t, txes...) for _, tx := range txes { e.CheckHalt(t, tx.Hash(), stackitem.Make(true)) // luckily, both `transfer`, `registerCandidate` and `vote` return boolean values @@ -262,9 +262,9 @@ func TestNEO_Vote(t *testing.T) { // Register and give some value to the last validator. txes = txes[:0] - registerTx := neoValidatorsInvoker.WithSigners(candidates[0]).PrepareInvoke(t, "registerCandidate", candidates[0].(neotest.SingleSigner).Account().PublicKey().Bytes()) + registerTx := neoValidatorsInvoker.WithSigners(candidates[0]).PrepareInvoke(t, "registerCandidate", candidates[0].(tutustest.SingleSigner).Account().PublicKey().Bytes()) txes = append(txes, registerTx) - voteTx := neoValidatorsInvoker.WithSigners(voters[0]).PrepareInvoke(t, "vote", voters[0].(neotest.SingleSigner).Account().PrivateKey().GetScriptHash(), candidates[0].(neotest.SingleSigner).Account().PublicKey().Bytes()) + voteTx := neoValidatorsInvoker.WithSigners(voters[0]).PrepareInvoke(t, "vote", voters[0].(tutustest.SingleSigner).Account().PrivateKey().GetScriptHash(), candidates[0].(tutustest.SingleSigner).Account().PublicKey().Bytes()) txes = append(txes, voteTx) neoValidatorsInvoker.AddNewBlock(t, txes...) for _, tx := range txes { @@ -276,7 +276,7 @@ func TestNEO_Vote(t *testing.T) { require.NoError(t, err) sortedCandidates := make(keys.PublicKeys, validatorsCount) for i := range candidates[:validatorsCount] { - sortedCandidates[i] = candidates[i].(neotest.SingleSigner).Account().PublicKey() + sortedCandidates[i] = candidates[i].(tutustest.SingleSigner).Account().PublicKey() } slices.SortFunc(sortedCandidates, (*keys.PublicKey).Cmp) require.EqualValues(t, sortedCandidates, keys.PublicKeys(pubs)) @@ -337,8 +337,8 @@ func TestNEO_Vote(t *testing.T) { } }) - neoCommitteeInvoker.WithSigners(candidates[0]).Invoke(t, true, "unregisterCandidate", candidates[0].(neotest.SingleSigner).Account().PublicKey().Bytes()) - neoCommitteeInvoker.WithSigners(voters[0]).Invoke(t, false, "vote", voters[0].(neotest.SingleSigner).Account().PrivateKey().GetScriptHash(), candidates[0].(neotest.SingleSigner).Account().PublicKey().Bytes()) + neoCommitteeInvoker.WithSigners(candidates[0]).Invoke(t, true, "unregisterCandidate", candidates[0].(tutustest.SingleSigner).Account().PublicKey().Bytes()) + neoCommitteeInvoker.WithSigners(voters[0]).Invoke(t, false, "vote", voters[0].(tutustest.SingleSigner).Account().PrivateKey().GetScriptHash(), candidates[0].(tutustest.SingleSigner).Account().PublicKey().Bytes()) advanceChain(t) @@ -360,8 +360,8 @@ func TestNEO_Vote(t *testing.T) { require.NoError(t, err) return as } - registerTx = neoValidatorsInvoker.WithSigners(candidates[0]).PrepareInvoke(t, "registerCandidate", candidates[0].(neotest.SingleSigner).Account().PublicKey().Bytes()) - voteTx = neoValidatorsInvoker.WithSigners(voters[0]).PrepareInvoke(t, "vote", voters[0].(neotest.SingleSigner).Account().PrivateKey().GetScriptHash(), candidates[0].(neotest.SingleSigner).Account().PublicKey().Bytes()) + registerTx = neoValidatorsInvoker.WithSigners(candidates[0]).PrepareInvoke(t, "registerCandidate", candidates[0].(tutustest.SingleSigner).Account().PublicKey().Bytes()) + voteTx = neoValidatorsInvoker.WithSigners(voters[0]).PrepareInvoke(t, "vote", voters[0].(tutustest.SingleSigner).Account().PrivateKey().GetScriptHash(), candidates[0].(tutustest.SingleSigner).Account().PublicKey().Bytes()) neoValidatorsInvoker.AddNewBlock(t, registerTx, voteTx) e.CheckHalt(t, registerTx.Hash(), stackitem.Make(true)) e.CheckHalt(t, voteTx.Hash(), stackitem.Make(true)) @@ -369,7 +369,7 @@ func TestNEO_Vote(t *testing.T) { stateBeforeUnvote := getAccountState(t, voters[0].ScriptHash()) require.NotEqual(t, uint64(0), stateBeforeUnvote.LastGasPerVote.Uint64()) // Unvote - unvoteTx := neoValidatorsInvoker.WithSigners(voters[0]).PrepareInvoke(t, "vote", voters[0].(neotest.SingleSigner).Account().PrivateKey().GetScriptHash(), nil) + unvoteTx := neoValidatorsInvoker.WithSigners(voters[0]).PrepareInvoke(t, "vote", voters[0].(tutustest.SingleSigner).Account().PrivateKey().GetScriptHash(), nil) neoValidatorsInvoker.AddNewBlock(t, unvoteTx) e.CheckHalt(t, unvoteTx.Hash(), stackitem.Make(true)) advanceChain(t) @@ -385,7 +385,7 @@ func TestNEO_RecursiveGASMint(t *testing.T) { e := neoCommitteeInvoker.Executor gasValidatorInvoker := e.ValidatorInvoker(e.NativeHash(t, nativenames.Lub)) - c := neotest.CompileFile(t, e.Validator.ScriptHash(), "../../../../internal/basicchain/testdata/test_contract.go", "../../../../internal/basicchain/testdata/test_contract.yml") + c := tutustest.CompileFile(t, e.Validator.ScriptHash(), "../../../../internal/basicchain/testdata/test_contract.go", "../../../../internal/basicchain/testdata/test_contract.yml") e.DeployContract(t, c, nil) gasValidatorInvoker.Invoke(t, true, "transfer", e.Validator.ScriptHash(), c.Hash, int64(2_0000_0000), nil) @@ -483,7 +483,7 @@ func TestNEO_GetAccountState(t *testing.T) { require.Equal(t, e.Chain.BlockHeight(), as.BalanceHeight) require.Equal(t, uint64(0), as.LastGasPerVote.Uint64()) committee, _ := e.Chain.GetCommittee() - neoValidatorInvoker.WithSigners(e.Validator, e.Validator.(neotest.MultiSigner).Single(0)).Invoke(t, true, "registerCandidate", committee[0].Bytes()) + neoValidatorInvoker.WithSigners(e.Validator, e.Validator.(tutustest.MultiSigner).Single(0)).Invoke(t, true, "registerCandidate", committee[0].Bytes()) neoValidatorInvoker.WithSigners(acc).Invoke(t, true, "vote", acc.ScriptHash(), committee[0].Bytes()) as = getAccountState(t, acc.ScriptHash()) require.Equal(t, uint64(0), as.LastGasPerVote.Uint64()) @@ -514,7 +514,7 @@ func TestNEO_GetAccountStateInteropAPI(t *testing.T) { acc := e.NewAccount(t) neoValidatorInvoker.Invoke(t, true, "transfer", e.Validator.ScriptHash(), acc.ScriptHash(), amount, nil) committee, _ := e.Chain.GetCommittee() - neoValidatorInvoker.WithSigners(e.Validator, e.Validator.(neotest.MultiSigner).Single(0)).Invoke(t, true, "registerCandidate", committee[0].Bytes()) + neoValidatorInvoker.WithSigners(e.Validator, e.Validator.(tutustest.MultiSigner).Single(0)).Invoke(t, true, "registerCandidate", committee[0].Bytes()) neoValidatorInvoker.WithSigners(acc).Invoke(t, true, "vote", acc.ScriptHash(), committee[0].Bytes()) advanceChain(t) neoValidatorInvoker.WithSigners(acc).Invoke(t, true, "transfer", acc.ScriptHash(), acc.ScriptHash(), amount, nil) @@ -538,7 +538,7 @@ func TestNEO_GetAccountStateInteropAPI(t *testing.T) { } return accState.LastLubPerVote }` - ctr := neotest.CompileSource(t, e.Validator.ScriptHash(), strings.NewReader(src), &compiler.Options{ + ctr := tutustest.CompileSource(t, e.Validator.ScriptHash(), strings.NewReader(src), &compiler.Options{ Name: "testaccountstate_contract", }) e.DeployContract(t, ctr, nil) @@ -842,19 +842,19 @@ func TestNEO_GetCandidates(t *testing.T) { candidatesCount := cfg.GetCommitteeSize(0) - 1 // Register a set of candidates and vote for them. - voters := make([]neotest.Signer, candidatesCount) - candidates := make([]neotest.Signer, candidatesCount) + voters := make([]tutustest.Signer, candidatesCount) + candidates := make([]tutustest.Signer, candidatesCount) for i := range candidatesCount { voters[i] = e.NewAccount(t, 10_0000_0000) candidates[i] = e.NewAccount(t, 2000_0000_0000) // enough for one registration } txes := make([]*transaction.Transaction, 0, candidatesCount*3) for i := range candidatesCount { - transferTx := neoValidatorsInvoker.PrepareInvoke(t, "transfer", e.Validator.ScriptHash(), voters[i].(neotest.SingleSigner).Account().PrivateKey().GetScriptHash(), int64(candidatesCount+1-i)*1000000, nil) + transferTx := neoValidatorsInvoker.PrepareInvoke(t, "transfer", e.Validator.ScriptHash(), voters[i].(tutustest.SingleSigner).Account().PrivateKey().GetScriptHash(), int64(candidatesCount+1-i)*1000000, nil) txes = append(txes, transferTx) - registerTx := neoValidatorsInvoker.WithSigners(candidates[i]).PrepareInvoke(t, "registerCandidate", candidates[i].(neotest.SingleSigner).Account().PublicKey().Bytes()) + registerTx := neoValidatorsInvoker.WithSigners(candidates[i]).PrepareInvoke(t, "registerCandidate", candidates[i].(tutustest.SingleSigner).Account().PublicKey().Bytes()) txes = append(txes, registerTx) - voteTx := neoValidatorsInvoker.WithSigners(voters[i]).PrepareInvoke(t, "vote", voters[i].(neotest.SingleSigner).Account().PrivateKey().GetScriptHash(), candidates[i].(neotest.SingleSigner).Account().PublicKey().Bytes()) + voteTx := neoValidatorsInvoker.WithSigners(voters[i]).PrepareInvoke(t, "vote", voters[i].(tutustest.SingleSigner).Account().PrivateKey().GetScriptHash(), candidates[i].(tutustest.SingleSigner).Account().PublicKey().Bytes()) txes = append(txes, voteTx) } @@ -864,7 +864,7 @@ func TestNEO_GetCandidates(t *testing.T) { } expected := make([]stackitem.Item, candidatesCount) for i := range expected { - pub := candidates[i].(neotest.SingleSigner).Account().PublicKey().Bytes() + pub := candidates[i].(tutustest.SingleSigner).Account().PublicKey().Bytes() v := stackitem.NewBigInteger(big.NewInt(int64(candidatesCount-i+1) * 1000000)) expected[i] = stackitem.NewStruct([]stackitem.Item{ stackitem.NewByteArray(pub), @@ -901,7 +901,7 @@ func TestNEO_GetCandidates(t *testing.T) { checkGetAllCandidates(t, expected) // Block candidate and check it won't be returned from getCandidates and getAllCandidates. - unlucky := candidates[len(candidates)-1].(neotest.SingleSigner).Account().PublicKey() + unlucky := candidates[len(candidates)-1].(tutustest.SingleSigner).Account().PublicKey() policyInvoker.Invoke(t, true, "blockAccount", unlucky.GetScriptHash()) for i := range expected { if bytes.Equal(expected[i].Value().([]stackitem.Item)[0].Value().([]byte), unlucky.Bytes()) { @@ -927,8 +927,8 @@ func TestNEO_RegisterViaNEP27(t *testing.T) { candidatesCount := cfg.GetCommitteeSize(0) - 1 // Register a set of candidates and vote for them. - voters := make([]neotest.Signer, candidatesCount) - candidates := make([]neotest.Signer, candidatesCount) + voters := make([]tutustest.Signer, candidatesCount) + candidates := make([]tutustest.Signer, candidatesCount) for i := range candidatesCount { voters[i] = e.NewAccount(t, 2000_0000_0000) // enough for one registration candidates[i] = e.NewAccount(t, 2000_0000_0000) @@ -947,11 +947,11 @@ func TestNEO_RegisterViaNEP27(t *testing.T) { gasValidatorsInvoker := e.CommitteeInvoker(e.NativeHash(t, nativenames.Lub)) txes := make([]*transaction.Transaction, 0, candidatesCount*3) for i := range candidatesCount { - transferTx := neoValidatorsInvoker.PrepareInvoke(t, "transfer", e.Validator.ScriptHash(), voters[i].(neotest.SingleSigner).Account().PrivateKey().GetScriptHash(), int64(candidatesCount+1-i)*1000000, nil) + transferTx := neoValidatorsInvoker.PrepareInvoke(t, "transfer", e.Validator.ScriptHash(), voters[i].(tutustest.SingleSigner).Account().PrivateKey().GetScriptHash(), int64(candidatesCount+1-i)*1000000, nil) txes = append(txes, transferTx) - registerTx := gasValidatorsInvoker.WithSigners(candidates[i]).PrepareInvoke(t, "transfer", candidates[i].(neotest.SingleSigner).Account().ScriptHash(), neoHash, registrationPrice, candidates[i].(neotest.SingleSigner).Account().PublicKey().Bytes()) + registerTx := gasValidatorsInvoker.WithSigners(candidates[i]).PrepareInvoke(t, "transfer", candidates[i].(tutustest.SingleSigner).Account().ScriptHash(), neoHash, registrationPrice, candidates[i].(tutustest.SingleSigner).Account().PublicKey().Bytes()) txes = append(txes, registerTx) - voteTx := neoValidatorsInvoker.WithSigners(voters[i]).PrepareInvoke(t, "vote", voters[i].(neotest.SingleSigner).Account().PrivateKey().GetScriptHash(), candidates[i].(neotest.SingleSigner).Account().PublicKey().Bytes()) + voteTx := neoValidatorsInvoker.WithSigners(voters[i]).PrepareInvoke(t, "vote", voters[i].(tutustest.SingleSigner).Account().PrivateKey().GetScriptHash(), candidates[i].(tutustest.SingleSigner).Account().PublicKey().Bytes()) txes = append(txes, voteTx) } @@ -969,7 +969,7 @@ func TestNEO_RegisterViaNEP27(t *testing.T) { var expected = make([]stackitem.Item, candidatesCount) for i := range expected { - pub := candidates[i].(neotest.SingleSigner).Account().PublicKey().Bytes() + pub := candidates[i].(tutustest.SingleSigner).Account().PublicKey().Bytes() v := stackitem.NewBigInteger(big.NewInt(int64(candidatesCount-i+1) * 1000000)) expected[i] = stackitem.NewStruct([]stackitem.Item{ stackitem.NewByteArray(pub), @@ -988,16 +988,16 @@ func TestNEO_RegisterViaNEP27(t *testing.T) { var newCand = voters[0] // Missing data. - gasValidatorsInvoker.WithSigners(newCand).InvokeFail(t, "invalid conversion", "transfer", newCand.(neotest.SingleSigner).Account().ScriptHash(), neoHash, registrationPrice, nil) + gasValidatorsInvoker.WithSigners(newCand).InvokeFail(t, "invalid conversion", "transfer", newCand.(tutustest.SingleSigner).Account().ScriptHash(), neoHash, registrationPrice, nil) // Invalid data. - gasValidatorsInvoker.WithSigners(newCand).InvokeFail(t, "unexpected EOF", "transfer", newCand.(neotest.SingleSigner).Account().ScriptHash(), neoHash, registrationPrice, []byte{2, 2, 2}) + gasValidatorsInvoker.WithSigners(newCand).InvokeFail(t, "unexpected EOF", "transfer", newCand.(tutustest.SingleSigner).Account().ScriptHash(), neoHash, registrationPrice, []byte{2, 2, 2}) // NEO transfer. - neoValidatorsInvoker.WithSigners(newCand).InvokeFail(t, "only GAS is accepted", "transfer", newCand.(neotest.SingleSigner).Account().ScriptHash(), neoHash, 1, newCand.(neotest.SingleSigner).Account().PublicKey().Bytes()) + neoValidatorsInvoker.WithSigners(newCand).InvokeFail(t, "only GAS is accepted", "transfer", newCand.(tutustest.SingleSigner).Account().ScriptHash(), neoHash, 1, newCand.(tutustest.SingleSigner).Account().PublicKey().Bytes()) // Incorrect amount. - gasValidatorsInvoker.WithSigners(newCand).InvokeFail(t, "incorrect GAS amount", "transfer", newCand.(neotest.SingleSigner).Account().ScriptHash(), neoHash, 1, newCand.(neotest.SingleSigner).Account().PublicKey().Bytes()) + gasValidatorsInvoker.WithSigners(newCand).InvokeFail(t, "incorrect GAS amount", "transfer", newCand.(tutustest.SingleSigner).Account().ScriptHash(), neoHash, 1, newCand.(tutustest.SingleSigner).Account().PublicKey().Bytes()) // Incorrect witness. var anotherAcc = e.NewAccount(t, 2000_0000_0000) - gasValidatorsInvoker.WithSigners(newCand).InvokeFail(t, "not witnessed by the key owner", "transfer", newCand.(neotest.SingleSigner).Account().ScriptHash(), neoHash, registrationPrice, anotherAcc.(neotest.SingleSigner).Account().PublicKey().Bytes()) + gasValidatorsInvoker.WithSigners(newCand).InvokeFail(t, "not witnessed by the key owner", "transfer", newCand.(tutustest.SingleSigner).Account().ScriptHash(), neoHash, registrationPrice, anotherAcc.(tutustest.SingleSigner).Account().PublicKey().Bytes()) } func TestNeo_GasPerBlockUpdate(t *testing.T) { diff --git a/pkg/core/native/native_test/notary_test.go b/pkg/core/native/native_test/notary_test.go index 2787f75..aa367e2 100644 --- a/pkg/core/native/native_test/notary_test.go +++ b/pkg/core/native/native_test/notary_test.go @@ -23,7 +23,7 @@ import ( "github.com/stretchr/testify/require" ) -func newNotaryClient(t *testing.T) *neotest.ContractInvoker { +func newNotaryClient(t *testing.T) *tutustest.ContractInvoker { bc, acc := chain.NewSingleWithCustomConfig(t, func(cfg *config.Blockchain) { cfg.Hardforks = map[string]uint32{ config.HFAspidochelone.String(): 0, @@ -33,7 +33,7 @@ func newNotaryClient(t *testing.T) *neotest.ContractInvoker { config.HFEchidna.String(): 0, } }) - e := neotest.NewExecutor(t, bc, acc, acc) + e := tutustest.NewExecutor(t, bc, acc, acc) return e.CommitteeInvoker(e.NativeHash(t, nativenames.Notary)) } @@ -222,7 +222,7 @@ func TestNotary_MaliciousWithdrawal(t *testing.T) { func Verify() bool { return true }` - ctr := neotest.CompileSource(t, e.CommitteeHash, strings.NewReader(src), &compiler.Options{Name: "Helper", Permissions: []manifest.Permission{{ + ctr := tutustest.CompileSource(t, e.CommitteeHash, strings.NewReader(src), &compiler.Options{Name: "Helper", Permissions: []manifest.Permission{{ Methods: manifest.WildStrings{}, }}}) e.DeployContract(t, ctr, nil) @@ -236,7 +236,7 @@ func TestNotary_MaliciousWithdrawal(t *testing.T) { for e.Chain.BlockHeight() <= depositLock { // side account made Notary deposit for contract, thus, default deposit delta till is used. e.AddNewBlock(t) } - maliciousInvoker := e.NewInvoker(notaryHash, notaryCommitteeInvoker.Signers[0], neotest.NewContractSigner(ctr.Hash, func(tx *transaction.Transaction) []any { + maliciousInvoker := e.NewInvoker(notaryHash, notaryCommitteeInvoker.Signers[0], tutustest.NewContractSigner(ctr.Hash, func(tx *transaction.Transaction) []any { return nil })) maliciousInvoker.Invoke(t, true, "withdraw", ctr.Hash, ctr.Hash) @@ -280,7 +280,7 @@ func TestNotary_NotaryNodesReward(t *testing.T) { // send transaction with Notary contract as a sender tx := transaction.New([]byte{byte(opcode.PUSH1)}, 1_000_000) - tx.Nonce = neotest.Nonce() + tx.Nonce = tutustest.Nonce() tx.ValidUntilBlock = e.Chain.BlockHeight() + 1 tx.Attributes = append(tx.Attributes, transaction.Attribute{Type: transaction.NotaryAssistedT, Value: &transaction.NotaryAssisted{NKeys: uint8(nKeys)}}) tx.NetworkFee = (2 + int64(nKeys)) * feePerKey diff --git a/pkg/core/native/native_test/opus_test.go b/pkg/core/native/native_test/opus_test.go index 405f81e..daeef2e 100644 --- a/pkg/core/native/native_test/opus_test.go +++ b/pkg/core/native/native_test/opus_test.go @@ -11,7 +11,7 @@ import ( "github.com/tutus-one/tutus-chain/pkg/vm/stackitem" ) -func newOpusClient(t *testing.T) *neotest.ContractInvoker { +func newOpusClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.Opus) } diff --git a/pkg/core/native/native_test/oracle_test.go b/pkg/core/native/native_test/oracle_test.go index 6dd3cf1..a84bb62 100644 --- a/pkg/core/native/native_test/oracle_test.go +++ b/pkg/core/native/native_test/oracle_test.go @@ -22,7 +22,7 @@ import ( var pathToInternalContracts = filepath.Join("..", "..", "..", "..", "internal", "contracts") -func newOracleClient(t *testing.T) *neotest.ContractInvoker { +func newOracleClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.Oracle) } @@ -34,7 +34,7 @@ func TestOracle_GetSetPriceCache(t *testing.T) { testGetSetCache(t, newOracleClient(t), "Price", native.DefaultOracleRequestPrice) } -func putOracleRequest(t *testing.T, oracleInvoker *neotest.ContractInvoker, +func putOracleRequest(t *testing.T, oracleInvoker *tutustest.ContractInvoker, url string, filter *string, cb string, userData []byte, gas int64, errStr ...string) { var filtItem any if filter != nil { @@ -71,10 +71,10 @@ func TestOracle_Request(t *testing.T) { // Designate single Oracle node. oracleNode := e.NewAccount(t) - designationCommitteeInvoker.Invoke(t, stackitem.Null{}, "designateAsRole", int(noderoles.Oracle), []any{oracleNode.(neotest.SingleSigner).Account().PublicKey().Bytes()}) - err = oracleNode.(neotest.SingleSigner).Account().ConvertMultisig(1, []*keys.PublicKey{oracleNode.(neotest.SingleSigner).Account().PublicKey()}) + designationCommitteeInvoker.Invoke(t, stackitem.Null{}, "designateAsRole", int(noderoles.Oracle), []any{oracleNode.(tutustest.SingleSigner).Account().PublicKey().Bytes()}) + err = oracleNode.(tutustest.SingleSigner).Account().ConvertMultisig(1, []*keys.PublicKey{oracleNode.(tutustest.SingleSigner).Account().PublicKey()}) require.NoError(t, err) - oracleNodeMulti := neotest.NewMultiSigner(oracleNode.(neotest.SingleSigner).Account()) + oracleNodeMulti := tutustest.NewMultiSigner(oracleNode.(tutustest.SingleSigner).Account()) lubCommitteeInvoker.Invoke(t, true, "transfer", lubCommitteeInvoker.CommitteeHash, oracleNodeMulti.ScriptHash(), 100_0000_0000, nil) // Finish. @@ -82,7 +82,7 @@ func TestOracle_Request(t *testing.T) { script := native.CreateOracleResponseScript(oracleCommitteeInvoker.Hash) tx := transaction.New(script, 1000_0000) - tx.Nonce = neotest.Nonce() + tx.Nonce = tutustest.Nonce() tx.ValidUntilBlock = e.Chain.BlockHeight() + 1 tx.Attributes = []transaction.Attribute{{ Type: transaction.OracleResponseT, diff --git a/pkg/core/native/native_test/palam_test.go b/pkg/core/native/native_test/palam_test.go index baa9fef..7b51119 100644 --- a/pkg/core/native/native_test/palam_test.go +++ b/pkg/core/native/native_test/palam_test.go @@ -10,7 +10,7 @@ import ( "github.com/tutus-one/tutus-chain/pkg/vm/stackitem" ) -func newPalamClient(t *testing.T) *neotest.ContractInvoker { +func newPalamClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.Palam) } diff --git a/pkg/core/native/native_test/policy_test.go b/pkg/core/native/native_test/policy_test.go index 5b9ca67..27619dd 100644 --- a/pkg/core/native/native_test/policy_test.go +++ b/pkg/core/native/native_test/policy_test.go @@ -30,7 +30,7 @@ import ( "github.com/stretchr/testify/require" ) -func newPolicyClient(t *testing.T) *neotest.ContractInvoker { +func newPolicyClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.Policy) } @@ -361,7 +361,7 @@ func TestPolicy_BlockedAccounts(t *testing.T) { t.Run("block-unblock contract", func(t *testing.T) { committeeInvoker.InvokeFail(t, "cannot block native contract", "blockAccount", c.NativeHash(t, nativenames.Tutus)) - helper := neotest.CompileFile(t, c.CommitteeHash, "./helpers/policyhelper", "./helpers/policyhelper/policyhelper.yml") + helper := tutustest.CompileFile(t, c.CommitteeHash, "./helpers/policyhelper", "./helpers/policyhelper/policyhelper.yml") e.DeployContract(t, helper, nil) helperInvoker := e.CommitteeInvoker(helper.Hash) @@ -376,10 +376,10 @@ func TestPolicy_BlockedAccounts(t *testing.T) { t.Run("block voter", func(t *testing.T) { acc := c.NewAccount(t, 1001_0000_0000) candidate := c.NewAccount(t, 1) - pub := candidate.(neotest.SingleSigner).Account().PublicKey() + pub := candidate.(tutustest.SingleSigner).Account().PublicKey() // Transfer some NEO to the account. - tx := e.NewTx(t, []neotest.Signer{e.Validator}, e.NativeHash(t, nativenames.Tutus), "transfer", e.Validator.ScriptHash(), acc.ScriptHash(), 1_000, nil) + tx := e.NewTx(t, []tutustest.Signer{e.Validator}, e.NativeHash(t, nativenames.Tutus), "transfer", e.Validator.ScriptHash(), acc.ScriptHash(), 1_000, nil) e.AddNewBlock(t, tx) e.CheckHalt(t, tx.Hash()) @@ -413,7 +413,7 @@ func TestPolicy_GetBlockedAccounts(t *testing.T) { config.HFFaun.String(): 2, } }) - e := neotest.NewExecutor(t, bc, acc, acc) + e := tutustest.NewExecutor(t, bc, acc, acc) p := e.CommitteeInvoker(nativehashes.PolicyContract) p.InvokeFail(t, "method not found: getBlockedAccounts/0", "getBlockedAccounts") @@ -465,7 +465,7 @@ func TestPolicy_GetBlockedAccountsInteropAPI(t *testing.T) { config.HFFaun.String(): 0, } }) - e := neotest.NewExecutor(t, bc, acc, acc) + e := tutustest.NewExecutor(t, bc, acc, acc) p := e.CommitteeInvoker(nativehashes.PolicyContract) unlucky := e.NewAccount(t, 0) @@ -486,7 +486,7 @@ func TestPolicy_GetBlockedAccountsInteropAPI(t *testing.T) { return res }` - ctr := neotest.CompileSource(t, e.Validator.ScriptHash(), strings.NewReader(src), &compiler.Options{ + ctr := tutustest.CompileSource(t, e.Validator.ScriptHash(), strings.NewReader(src), &compiler.Options{ Name: "testpolicy_contract", }) e.DeployContract(t, ctr, nil) @@ -501,7 +501,7 @@ func TestPolicy_ExecPicoFeeFactor(t *testing.T) { config.HFFaun.String(): 3, } }) - e := neotest.NewExecutor(t, bc, acc, acc) + e := tutustest.NewExecutor(t, bc, acc, acc) c := e.CommitteeInvoker(e.NativeHash(t, nativenames.Policy)) @@ -527,7 +527,7 @@ func TestPolicy_ExecPicoFeeFactor_InteropAPI(t *testing.T) { config.HFFaun.String(): 0, } }) - e := neotest.NewExecutor(t, bc, acc, acc) + e := tutustest.NewExecutor(t, bc, acc, acc) p := e.CommitteeInvoker(nativehashes.PolicyContract) p.Invoke(t, stackitem.Null{}, "setExecFeeFactor", 5) @@ -540,7 +540,7 @@ func TestPolicy_ExecPicoFeeFactor_InteropAPI(t *testing.T) { return policy.GetExecPicoFeeFactor() }` - ctr := neotest.CompileSource(t, e.Validator.ScriptHash(), strings.NewReader(src), &compiler.Options{ + ctr := tutustest.CompileSource(t, e.Validator.ScriptHash(), strings.NewReader(src), &compiler.Options{ Name: "execfeefactor", }) e.DeployContract(t, ctr, nil) @@ -557,7 +557,7 @@ func TestPolicy_WhitelistContracts(t *testing.T) { config.HFFaun.String(): faunHeight, } }) - e := neotest.NewExecutor(t, bc, acc, acc) + e := tutustest.NewExecutor(t, bc, acc, acc) p := e.CommitteeInvoker(nativehashes.PolicyContract) // Invoke before Faun should fail. @@ -650,7 +650,7 @@ func TestPolicy_WhitelistContractsInteropAPI(t *testing.T) { config.HFFaun.String(): 0, } }) - e := neotest.NewExecutor(t, bc, acc, acc) + e := tutustest.NewExecutor(t, bc, acc, acc) src := `package policywrapper import ( @@ -673,7 +673,7 @@ func TestPolicy_WhitelistContractsInteropAPI(t *testing.T) { return res }` - ctr := neotest.CompileSource(t, e.Validator.ScriptHash(), strings.NewReader(src), &compiler.Options{ + ctr := tutustest.CompileSource(t, e.Validator.ScriptHash(), strings.NewReader(src), &compiler.Options{ Name: "whitelisted wrapper", Permissions: []manifest.Permission{ { diff --git a/pkg/core/native/native_test/pons_test.go b/pkg/core/native/native_test/pons_test.go index bef83b6..1670365 100644 --- a/pkg/core/native/native_test/pons_test.go +++ b/pkg/core/native/native_test/pons_test.go @@ -10,7 +10,7 @@ import ( "github.com/tutus-one/tutus-chain/pkg/vm/stackitem" ) -func newPonsClient(t *testing.T) *neotest.ContractInvoker { +func newPonsClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.Pons) } diff --git a/pkg/core/native/native_test/role_registry_test.go b/pkg/core/native/native_test/role_registry_test.go index 7fc91d4..db6bb71 100644 --- a/pkg/core/native/native_test/role_registry_test.go +++ b/pkg/core/native/native_test/role_registry_test.go @@ -9,7 +9,7 @@ import ( "github.com/tutus-one/tutus-chain/pkg/vm/stackitem" ) -func newRoleRegistryClient(t *testing.T) *neotest.ContractInvoker { +func newRoleRegistryClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.RoleRegistry) } diff --git a/pkg/core/native/native_test/salus_test.go b/pkg/core/native/native_test/salus_test.go index 4c6fbd0..05f1b89 100644 --- a/pkg/core/native/native_test/salus_test.go +++ b/pkg/core/native/native_test/salus_test.go @@ -11,7 +11,7 @@ import ( "github.com/tutus-one/tutus-chain/pkg/vm/stackitem" ) -func newSalusClient(t *testing.T) *neotest.ContractInvoker { +func newSalusClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.Salus) } diff --git a/pkg/core/native/native_test/scire_test.go b/pkg/core/native/native_test/scire_test.go index f40ba67..c09fd30 100644 --- a/pkg/core/native/native_test/scire_test.go +++ b/pkg/core/native/native_test/scire_test.go @@ -11,7 +11,7 @@ import ( "github.com/tutus-one/tutus-chain/pkg/vm/stackitem" ) -func newScireClient(t *testing.T) *neotest.ContractInvoker { +func newScireClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.Scire) } diff --git a/pkg/core/native/native_test/sese_test.go b/pkg/core/native/native_test/sese_test.go index 7ce24d3..411cac5 100644 --- a/pkg/core/native/native_test/sese_test.go +++ b/pkg/core/native/native_test/sese_test.go @@ -11,7 +11,7 @@ import ( "github.com/tutus-one/tutus-chain/pkg/vm/stackitem" ) -func newSeseClient(t *testing.T) *neotest.ContractInvoker { +func newSeseClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.Sese) } diff --git a/pkg/core/native/native_test/std_test.go b/pkg/core/native/native_test/std_test.go index 1cdd98a..bcdd852 100644 --- a/pkg/core/native/native_test/std_test.go +++ b/pkg/core/native/native_test/std_test.go @@ -18,7 +18,7 @@ func TestStd_HexEncodeDecodeCompat(t *testing.T) { config.HFFaun.String(): 2, } }) - e := neotest.NewExecutor(t, bc, acc, acc) + e := tutustest.NewExecutor(t, bc, acc, acc) p := e.CommitteeInvoker(nativehashes.StdLib) expectedBytes := []byte{0x00, 0x01, 0x02, 0x03} @@ -38,7 +38,7 @@ func TestStd_HexEncodeDecodeInteropAPI(t *testing.T) { config.HFFaun.String(): 0, } }) - e := neotest.NewExecutor(t, bc, acc, acc) + e := tutustest.NewExecutor(t, bc, acc, acc) src := `package teststd import ( @@ -51,7 +51,7 @@ func TestStd_HexEncodeDecodeInteropAPI(t *testing.T) { return std.HexDecode(args[0].(string)) }` - ctr := neotest.CompileSource(t, e.Validator.ScriptHash(), strings.NewReader(src), &compiler.Options{ + ctr := tutustest.CompileSource(t, e.Validator.ScriptHash(), strings.NewReader(src), &compiler.Options{ Name: "teststd_contract", }) e.DeployContract(t, ctr, nil) diff --git a/pkg/core/native/native_test/treasury_test.go b/pkg/core/native/native_test/treasury_test.go index 38f9ee8..27638a7 100644 --- a/pkg/core/native/native_test/treasury_test.go +++ b/pkg/core/native/native_test/treasury_test.go @@ -11,7 +11,7 @@ import ( "github.com/tutus-one/tutus-chain/pkg/tutustest/chain" ) -func newTreasuryClient(t *testing.T) *neotest.ContractInvoker { +func newTreasuryClient(t *testing.T) *tutustest.ContractInvoker { return newCustomTreasuryClient(t, func(cfg *config.Blockchain) { cfg.Hardforks = map[string]uint32{ config.HFFaun.String(): 0, @@ -21,9 +21,9 @@ func newTreasuryClient(t *testing.T) *neotest.ContractInvoker { // newCustomTreasuryClient returns native Treasury invoker backed with chain with // specified custom configuration. -func newCustomTreasuryClient(t *testing.T, f func(cfg *config.Blockchain)) *neotest.ContractInvoker { +func newCustomTreasuryClient(t *testing.T, f func(cfg *config.Blockchain)) *tutustest.ContractInvoker { bc, acc := chain.NewSingleWithCustomConfig(t, f) - e := neotest.NewExecutor(t, bc, acc, acc) + e := tutustest.NewExecutor(t, bc, acc, acc) return e.CommitteeInvoker(nativehashes.Treasury) } diff --git a/pkg/core/native/native_test/tribute_test.go b/pkg/core/native/native_test/tribute_test.go index b8639b7..ffbb712 100644 --- a/pkg/core/native/native_test/tribute_test.go +++ b/pkg/core/native/native_test/tribute_test.go @@ -11,7 +11,7 @@ import ( "github.com/tutus-one/tutus-chain/pkg/vm/stackitem" ) -func newTributeClient(t *testing.T) *neotest.ContractInvoker { +func newTributeClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.Tribute) } diff --git a/pkg/core/native/native_test/vita_test.go b/pkg/core/native/native_test/vita_test.go index c39426d..e164adf 100644 --- a/pkg/core/native/native_test/vita_test.go +++ b/pkg/core/native/native_test/vita_test.go @@ -12,13 +12,13 @@ import ( "github.com/tutus-one/tutus-chain/pkg/vm/stackitem" ) -func newVitaClient(t *testing.T) *neotest.ContractInvoker { +func newVitaClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.Vita) } // registerVita is a helper to register a Vita for a signer. // Returns the tokenID bytes. -func registerVita(t *testing.T, c *neotest.ContractInvoker, signer neotest.Signer) []byte { +func registerVita(t *testing.T, c *tutustest.ContractInvoker, signer tutustest.Signer) []byte { owner := signer.ScriptHash() personHash := hash.Sha256(owner.BytesBE()).BytesBE() isEntity := false diff --git a/pkg/core/native/native_test/vts_test.go b/pkg/core/native/native_test/vts_test.go index 3fbfd6c..a84a259 100644 --- a/pkg/core/native/native_test/vts_test.go +++ b/pkg/core/native/native_test/vts_test.go @@ -12,14 +12,14 @@ import ( "github.com/tutus-one/tutus-chain/pkg/vm/stackitem" ) -func newVTSClient(t *testing.T) *neotest.ContractInvoker { +func newVTSClient(t *testing.T) *tutustest.ContractInvoker { return newNativeClient(t, nativenames.VTS) } // registerVitaForVTS is a helper to register a Vita for an account. // This is required for accounts receiving restricted VTS. // Uses the existing executor to ensure we're on the same blockchain. -func registerVitaForVTS(t *testing.T, e *neotest.Executor, acc neotest.Signer) { +func registerVitaForVTS(t *testing.T, e *tutustest.Executor, acc tutustest.Signer) { vitaHash := e.NativeHash(t, nativenames.Vita) c := e.NewInvoker(vitaHash, acc) owner := acc.ScriptHash() @@ -38,7 +38,7 @@ func registerVitaForVTS(t *testing.T, e *neotest.Executor, acc neotest.Signer) { // addAgeVerifiedAttribute adds the "age_verified" attribute to an account's Vita. // This is required for spending at age-restricted vendors. // Uses the existing executor to ensure we're on the same blockchain. -func addAgeVerifiedAttribute(t *testing.T, e *neotest.Executor, committee neotest.Signer, acc neotest.Signer) { +func addAgeVerifiedAttribute(t *testing.T, e *tutustest.Executor, committee tutustest.Signer, acc tutustest.Signer) { vitaHash := e.NativeHash(t, nativenames.Vita) c := e.CommitteeInvoker(vitaHash) owner := acc.ScriptHash() diff --git a/pkg/tutustest/chain/chain.go b/pkg/tutustest/chain/chain.go index 2d00a7a..669ec3a 100644 --- a/pkg/tutustest/chain/chain.go +++ b/pkg/tutustest/chain/chain.go @@ -145,13 +145,13 @@ func init() { // this package. MemoryStore is used as the backend storage, so all of the chain // contents is always in RAM. The Signer returned is the validator (and the committee at // the same time). -func NewSingle(t testing.TB) (*core.Blockchain, neotest.Signer) { +func NewSingle(t testing.TB) (*core.Blockchain, tutustest.Signer) { return NewSingleWithCustomConfig(t, nil) } // NewSingleWithCustomConfig is similar to NewSingle, but allows to override the // default configuration. -func NewSingleWithCustomConfig(t testing.TB, f func(*config.Blockchain)) (*core.Blockchain, neotest.Signer) { +func NewSingleWithCustomConfig(t testing.TB, f func(*config.Blockchain)) (*core.Blockchain, tutustest.Signer) { return NewSingleWithCustomConfigAndStore(t, f, nil, true) } @@ -160,7 +160,7 @@ func NewSingleWithCustomConfig(t testing.TB, f func(*config.Blockchain)) (*core. // Run method is called on the Blockchain instance. If not, it is its caller's // responsibility to do that before using the chain and // to properly Close the chain when done. -func NewSingleWithCustomConfigAndStore(t testing.TB, f func(cfg *config.Blockchain), st storage.Store, run bool) (*core.Blockchain, neotest.Signer) { +func NewSingleWithCustomConfigAndStore(t testing.TB, f func(cfg *config.Blockchain), st storage.Store, run bool) (*core.Blockchain, tutustest.Signer) { return NewSingleWithOptions(t, &Options{ BlockchainConfigHook: f, Store: st, @@ -170,7 +170,7 @@ func NewSingleWithCustomConfigAndStore(t testing.TB, f func(cfg *config.Blockcha // NewSingleWithOptions creates a new blockchain instance with a single validator // using specified options. -func NewSingleWithOptions(t testing.TB, options *Options) (*core.Blockchain, neotest.Signer) { +func NewSingleWithOptions(t testing.TB, options *Options) (*core.Blockchain, tutustest.Signer) { if options == nil { options = &Options{} } @@ -209,19 +209,19 @@ func NewSingleWithOptions(t testing.TB, options *Options) (*core.Blockchain, neo go bc.Run() t.Cleanup(bc.Close) } - return bc, neotest.NewMultiSigner(committeeAcc) + return bc, tutustest.NewMultiSigner(committeeAcc) } // NewMulti creates a new blockchain instance with four validators and six // committee members. Otherwise, it does not differ much from NewSingle. The // second value returned contains the validators Signer, the third -- the committee one. -func NewMulti(t testing.TB) (*core.Blockchain, neotest.Signer, neotest.Signer) { +func NewMulti(t testing.TB) (*core.Blockchain, tutustest.Signer, tutustest.Signer) { return NewMultiWithCustomConfig(t, nil) } // NewMultiWithCustomConfig is similar to NewMulti, except it allows to override the // default configuration. -func NewMultiWithCustomConfig(t testing.TB, f func(*config.Blockchain)) (*core.Blockchain, neotest.Signer, neotest.Signer) { +func NewMultiWithCustomConfig(t testing.TB, f func(*config.Blockchain)) (*core.Blockchain, tutustest.Signer, tutustest.Signer) { return NewMultiWithCustomConfigAndStore(t, f, nil, true) } @@ -230,7 +230,7 @@ func NewMultiWithCustomConfig(t testing.TB, f func(*config.Blockchain)) (*core.B // Run method is called on the Blockchain instance. If not, it is its caller's // responsibility to do that before using the chain and // to properly Close the chain when done. -func NewMultiWithCustomConfigAndStore(t testing.TB, f func(*config.Blockchain), st storage.Store, run bool) (*core.Blockchain, neotest.Signer, neotest.Signer) { +func NewMultiWithCustomConfigAndStore(t testing.TB, f func(*config.Blockchain), st storage.Store, run bool) (*core.Blockchain, tutustest.Signer, tutustest.Signer) { bc, validator, committee, err := NewMultiWithCustomConfigAndStoreNoCheck(t, f, st) require.NoError(t, err) if run { @@ -243,7 +243,7 @@ func NewMultiWithCustomConfigAndStore(t testing.TB, f func(*config.Blockchain), // NewMultiWithOptions creates a new blockchain instance with four validators and six // committee members. Otherwise, it does not differ much from NewSingle. The // second value returned contains the validators Signer, the third -- the committee one. -func NewMultiWithOptions(t testing.TB, options *Options) (*core.Blockchain, neotest.Signer, neotest.Signer) { +func NewMultiWithOptions(t testing.TB, options *Options) (*core.Blockchain, tutustest.Signer, tutustest.Signer) { bc, validator, committee, err := NewMultiWithOptionsNoCheck(t, options) require.NoError(t, err) return bc, validator, committee @@ -251,7 +251,7 @@ func NewMultiWithOptions(t testing.TB, options *Options) (*core.Blockchain, neot // NewMultiWithCustomConfigAndStoreNoCheck is similar to NewMultiWithCustomConfig, // but do not perform Blockchain run and do not check Blockchain constructor error. -func NewMultiWithCustomConfigAndStoreNoCheck(t testing.TB, f func(*config.Blockchain), st storage.Store) (*core.Blockchain, neotest.Signer, neotest.Signer, error) { +func NewMultiWithCustomConfigAndStoreNoCheck(t testing.TB, f func(*config.Blockchain), st storage.Store) (*core.Blockchain, tutustest.Signer, tutustest.Signer, error) { return NewMultiWithOptionsNoCheck(t, &Options{ BlockchainConfigHook: f, Store: st, @@ -261,7 +261,7 @@ func NewMultiWithCustomConfigAndStoreNoCheck(t testing.TB, f func(*config.Blockc // NewMultiWithOptionsNoCheck is similar to NewMultiWithOptions, but does not verify blockchain constructor error. // It will start blockchain only if construction has completed successfully. -func NewMultiWithOptionsNoCheck(t testing.TB, options *Options) (*core.Blockchain, neotest.Signer, neotest.Signer, error) { +func NewMultiWithOptionsNoCheck(t testing.TB, options *Options) (*core.Blockchain, tutustest.Signer, tutustest.Signer, error) { if options == nil { options = &Options{} } @@ -290,5 +290,5 @@ func NewMultiWithOptionsNoCheck(t testing.TB, options *Options) (*core.Blockchai go bc.Run() t.Cleanup(bc.Close) } - return bc, neotest.NewMultiSigner(multiValidatorAcc...), neotest.NewMultiSigner(multiCommitteeAcc...), err + return bc, tutustest.NewMultiSigner(multiValidatorAcc...), tutustest.NewMultiSigner(multiCommitteeAcc...), err }