From 29d321b5e11d2e1f8a88ff169e2c56830e88fba9 Mon Sep 17 00:00:00 2001 From: Anna Shaleva Date: Wed, 22 Apr 2020 20:42:38 +0300 Subject: [PATCH] *: drop miner transaction 1. Completely remove miner transaction 2. Change validation rule for block: block without transactions is valid. --- pkg/consensus/block_test.go | 2 +- pkg/consensus/consensus.go | 42 +---------- pkg/consensus/consensus_test.go | 23 +++--- pkg/consensus/payload_test.go | 4 +- pkg/consensus/prepare_request.go | 4 - pkg/consensus/recovery_message_test.go | 2 - pkg/core/block/block.go | 15 ---- pkg/core/block/block_test.go | 21 +----- pkg/core/blockchain.go | 7 +- pkg/core/blockchain_test.go | 2 +- pkg/core/helper_test.go | 67 +++-------------- pkg/core/mempool/mem_pool_test.go | 43 +++++++---- pkg/core/native_contract_test.go | 9 +-- pkg/core/transaction/miner.go | 38 ---------- pkg/core/transaction/miner_test.go | 21 ------ pkg/core/transaction/transaction.go | 5 -- pkg/core/transaction/transaction_test.go | 6 -- pkg/core/transaction/type.go | 5 -- pkg/core/util.go | 4 - pkg/core/util_test.go | 2 +- pkg/network/server.go | 3 - pkg/rpc/client/rpc_test.go | 91 ++++++++++++----------- pkg/rpc/server/server_test.go | 26 ++++--- pkg/rpc/server/testdata/testblocks.acc | Bin 205297 -> 113846 bytes 24 files changed, 128 insertions(+), 314 deletions(-) delete mode 100644 pkg/core/transaction/miner.go delete mode 100644 pkg/core/transaction/miner_test.go diff --git a/pkg/consensus/block_test.go b/pkg/consensus/block_test.go index b95072601..fb84ae629 100644 --- a/pkg/consensus/block_test.go +++ b/pkg/consensus/block_test.go @@ -48,7 +48,7 @@ func TestNeoBlock_Setters(t *testing.T) { b.SetPrevHash(util.Uint256{9, 8, 7}) require.Equal(t, util.Uint256{9, 8, 7}, b.PrevHash()) - txx := []block.Transaction{transaction.NewMinerTX()} + txx := []block.Transaction{transaction.NewIssueTX()} b.SetTransactions(txx) require.Equal(t, txx, b.Transactions()) } diff --git a/pkg/consensus/consensus.go b/pkg/consensus/consensus.go index 151160622..06774e0fb 100644 --- a/pkg/consensus/consensus.go +++ b/pkg/consensus/consensus.go @@ -2,7 +2,6 @@ package consensus import ( "errors" - "math/rand" "sort" "time" @@ -10,7 +9,6 @@ import ( "github.com/nspcc-dev/dbft/block" "github.com/nspcc-dev/dbft/crypto" "github.com/nspcc-dev/dbft/payload" - "github.com/nspcc-dev/neo-go/pkg/core" coreb "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/mempool" @@ -276,7 +274,6 @@ func (s *service) OnPayload(cp *Payload) { switch cp.Type() { case payload.PrepareRequestType: req := cp.GetPrepareRequest().(*prepareRequest) - s.txx.Add(&req.minerTx) s.lastProposal = req.transactionHashes } @@ -316,12 +313,6 @@ func (s *service) GetPayload(h util.Uint256) *Payload { } func (s *service) broadcast(p payload.ConsensusPayload) { - switch p.Type() { - case payload.PrepareRequestType: - pr := p.GetPrepareRequest().(*prepareRequest) - pr.minerTx = *s.txx.Get(pr.transactionHashes[0]).(*transaction.Transaction) - } - if err := p.(*Payload).Sign(s.dbft.Priv.(*privateKey)); err != nil { s.log.Warn("can't sign consensus payload", zap.Error(err)) } @@ -442,40 +433,11 @@ func (s *service) getVerifiedTx(count int) []block.Transaction { txx = s.Config.Chain.ApplyPolicyToTxSet(txx) } - res := make([]block.Transaction, len(txx)+1) - var netFee util.Fixed8 + res := make([]block.Transaction, len(txx)) for i := range txx { - res[i+1] = txx[i].Tx - netFee += txx[i].Fee + res[i] = txx[i].Tx } - var txOuts []transaction.Output - if netFee != 0 { - sh := s.wallet.GetChangeAddress() - if sh.Equals(util.Uint160{}) { - pk := s.dbft.Pub.(*publicKey) - sh = pk.GetScriptHash() - } - txOuts = []transaction.Output{{ - AssetID: core.UtilityTokenID(), - Amount: netFee, - ScriptHash: sh, - }} - } - for { - minerTx := transaction.NewMinerTX() - minerTx.Outputs = txOuts - minerTx.ValidUntilBlock = s.dbft.BlockIndex - minerTx.Nonce = rand.Uint32() - res[0] = minerTx - - if tx, _, _ := s.Chain.GetTransaction(res[0].Hash()); tx == nil { - break - } - } - - s.txx.Add(res[0]) - return res } diff --git a/pkg/consensus/consensus_test.go b/pkg/consensus/consensus_test.go index 01699a3ed..eaaacaa03 100644 --- a/pkg/consensus/consensus_test.go +++ b/pkg/consensus/consensus_test.go @@ -22,7 +22,7 @@ import ( func TestNewService(t *testing.T) { srv := newTestService(t) - tx := transaction.NewMinerTX() + tx := transaction.NewContractTX() tx.ValidUntilBlock = 1 addSender(t, tx) signTx(t, tx) @@ -30,8 +30,8 @@ func TestNewService(t *testing.T) { var txx []block.Transaction require.NotPanics(t, func() { txx = srv.getVerifiedTx(1) }) - require.Len(t, txx, 2) - require.Equal(t, tx, txx[1]) + require.Len(t, txx, 1) + require.Equal(t, tx, txx[0]) srv.Chain.Close() } @@ -39,7 +39,8 @@ func TestService_GetVerified(t *testing.T) { srv := newTestService(t) var txs []*transaction.Transaction for i := 0; i < 4; i++ { - tx := transaction.NewMinerTXWithNonce(123 + uint32(i)) + tx := transaction.NewContractTX() + tx.Nonce = 123 + uint32(i) tx.ValidUntilBlock = 1 txs = append(txs, tx) } @@ -52,7 +53,9 @@ func TestService_GetVerified(t *testing.T) { p := new(Payload) p.message = &message{} p.SetType(payload.PrepareRequestType) - p.SetPayload(&prepareRequest{transactionHashes: hashes, minerTx: *transaction.NewMinerTXWithNonce(999)}) + tx := transaction.NewContractTX() + tx.Nonce = 999 + p.SetPayload(&prepareRequest{transactionHashes: hashes}) p.SetValidatorIndex(1) priv, _ := getTestValidator(1) @@ -65,8 +68,8 @@ func TestService_GetVerified(t *testing.T) { t.Run("new transactions will be proposed in case of failure", func(t *testing.T) { txx := srv.getVerifiedTx(10) - require.Equal(t, 2, len(txx), "there is only 1 tx in mempool") - require.Equal(t, txs[3], txx[1]) + require.Equal(t, 1, len(txx), "there is only 1 tx in mempool") + require.Equal(t, txs[3], txx[0]) }) t.Run("more than half of the last proposal will be reused", func(t *testing.T) { @@ -117,7 +120,8 @@ func TestService_getTx(t *testing.T) { srv := newTestService(t) t.Run("transaction in mempool", func(t *testing.T) { - tx := transaction.NewMinerTXWithNonce(1234) + tx := transaction.NewContractTX() + tx.Nonce = 1234 tx.ValidUntilBlock = 1 addSender(t, tx) signTx(t, tx) @@ -133,7 +137,8 @@ func TestService_getTx(t *testing.T) { }) t.Run("transaction in local cache", func(t *testing.T) { - tx := transaction.NewMinerTXWithNonce(4321) + tx := transaction.NewContractTX() + tx.Nonce = 4321 tx.ValidUntilBlock = 1 h := tx.Hash() diff --git a/pkg/consensus/payload_test.go b/pkg/consensus/payload_test.go index 16d21a081..c5563beea 100644 --- a/pkg/consensus/payload_test.go +++ b/pkg/consensus/payload_test.go @@ -246,11 +246,9 @@ func randomPrepareRequest(t *testing.T) *prepareRequest { timestamp: rand.Uint64(), nonce: rand.Uint64(), transactionHashes: make([]util.Uint256, txCount), - minerTx: *transaction.NewMinerTX(), } - req.transactionHashes[0] = req.minerTx.Hash() - for i := 1; i < txCount; i++ { + for i := 0; i < txCount; i++ { req.transactionHashes[i] = random.Uint256() } req.nextConsensus = random.Uint160() diff --git a/pkg/consensus/prepare_request.go b/pkg/consensus/prepare_request.go index b9b5ec76d..fb1d314f9 100644 --- a/pkg/consensus/prepare_request.go +++ b/pkg/consensus/prepare_request.go @@ -2,7 +2,6 @@ package consensus import ( "github.com/nspcc-dev/dbft/payload" - "github.com/nspcc-dev/neo-go/pkg/core/transaction" "github.com/nspcc-dev/neo-go/pkg/io" "github.com/nspcc-dev/neo-go/pkg/util" ) @@ -12,7 +11,6 @@ type prepareRequest struct { timestamp uint64 nonce uint64 transactionHashes []util.Uint256 - minerTx transaction.Transaction nextConsensus util.Uint160 } @@ -24,7 +22,6 @@ func (p *prepareRequest) EncodeBinary(w *io.BinWriter) { w.WriteU64LE(p.nonce) w.WriteBytes(p.nextConsensus[:]) w.WriteArray(p.transactionHashes) - p.minerTx.EncodeBinary(w) } // DecodeBinary implements io.Serializable interface. @@ -33,7 +30,6 @@ func (p *prepareRequest) DecodeBinary(r *io.BinReader) { p.nonce = r.ReadU64LE() r.ReadBytes(p.nextConsensus[:]) r.ReadArray(&p.transactionHashes) - p.minerTx.DecodeBinary(r) } // Timestamp implements payload.PrepareRequest interface. diff --git a/pkg/consensus/recovery_message_test.go b/pkg/consensus/recovery_message_test.go index 195b392ee..203edf45c 100644 --- a/pkg/consensus/recovery_message_test.go +++ b/pkg/consensus/recovery_message_test.go @@ -5,7 +5,6 @@ import ( "github.com/nspcc-dev/dbft/crypto" "github.com/nspcc-dev/dbft/payload" - "github.com/nspcc-dev/neo-go/pkg/core/transaction" "github.com/nspcc-dev/neo-go/pkg/crypto/keys" "github.com/nspcc-dev/neo-go/pkg/util" "github.com/stretchr/testify/require" @@ -32,7 +31,6 @@ func TestRecoveryMessage_Setters(t *testing.T) { timestamp: 87, nonce: 321, transactionHashes: []util.Uint256{{1}}, - minerTx: *transaction.NewMinerTX(), nextConsensus: util.Uint160{1, 2}, } p1 := new(Payload) diff --git a/pkg/core/block/block.go b/pkg/core/block/block.go index 846069335..c06d0c6de 100644 --- a/pkg/core/block/block.go +++ b/pkg/core/block/block.go @@ -2,7 +2,6 @@ package block import ( "errors" - "fmt" "github.com/Workiva/go-datastructures/queue" "github.com/nspcc-dev/neo-go/pkg/core/transaction" @@ -57,20 +56,6 @@ func (b *Block) RebuildMerkleRoot() error { // Verify verifies the integrity of the block. func (b *Block) Verify() error { - // There has to be some transaction inside. - if len(b.Transactions) == 0 { - return errors.New("no transactions") - } - // The first TX has to be a miner transaction. - if b.Transactions[0].Type != transaction.MinerType { - return fmt.Errorf("the first transaction is %s", b.Transactions[0].Type) - } - // If the first TX is a minerTX then all others cant. - for _, tx := range b.Transactions[1:] { - if tx.Type == transaction.MinerType { - return fmt.Errorf("miner transaction %s is not the first one", tx.Hash().StringLE()) - } - } merkle, err := b.computeMerkleTree() if err != nil { return err diff --git a/pkg/core/block/block_test.go b/pkg/core/block/block_test.go index 534002903..f3461ffbd 100644 --- a/pkg/core/block/block_test.go +++ b/pkg/core/block/block_test.go @@ -84,7 +84,6 @@ func newDumbBlock() *Block { Nonce: 1111, }, Transactions: []*transaction.Transaction{ - transaction.NewMinerTX(), transaction.NewIssueTX(), }, } @@ -102,25 +101,9 @@ func TestBlockVerify(t *testing.T) { assert.Nil(t, block.RebuildMerkleRoot()) assert.Nil(t, block.Verify()) - block.Transactions = []*transaction.Transaction{ - transaction.NewIssueTX(), - transaction.NewMinerTX(), - } + block.Transactions = []*transaction.Transaction{} assert.NoError(t, block.RebuildMerkleRoot()) - assert.NotNil(t, block.Verify()) - - block.Transactions = []*transaction.Transaction{ - transaction.NewIssueTX(), - transaction.NewMinerTX(), - } - assert.NoError(t, block.RebuildMerkleRoot()) - assert.NotNil(t, block.Verify()) - block.Transactions = []*transaction.Transaction{ - transaction.NewMinerTX(), - transaction.NewIssueTX(), - transaction.NewIssueTX(), - } - assert.NotNil(t, block.Verify()) + assert.Nil(t, block.Verify()) } //TODO NEO3.0: Update binary diff --git a/pkg/core/blockchain.go b/pkg/core/blockchain.go index af99c5de1..06ca8a4d6 100644 --- a/pkg/core/blockchain.go +++ b/pkg/core/blockchain.go @@ -914,9 +914,6 @@ func (bc *Blockchain) GetBlock(hash util.Uint256) (*block.Block, error) { if err != nil { return nil, err } - if len(block.Transactions) == 0 { - return nil, fmt.Errorf("only header is available") - } for _, tx := range block.Transactions { stx, _, err := bc.dao.GetTransaction(tx.Hash()) if err != nil { @@ -1118,7 +1115,7 @@ func (bc *Blockchain) FeePerByte(t *transaction.Transaction) util.Fixed8 { // NetworkFee returns network fee. func (bc *Blockchain) NetworkFee(t *transaction.Transaction) util.Fixed8 { // https://github.com/neo-project/neo/blob/master-2.x/neo/Network/P2P/Payloads/ClaimTransaction.cs#L16 - if t.Type == transaction.ClaimType || t.Type == transaction.MinerType { + if t.Type == transaction.ClaimType { return 0 } @@ -1455,7 +1452,7 @@ func (bc *Blockchain) verifyResults(t *transaction.Transaction, results []*trans } switch t.Type { - case transaction.MinerType, transaction.ClaimType: + case transaction.ClaimType: for _, r := range resultsIssue { if r.AssetID != UtilityTokenID() { return errors.New("miner or claim tx issues non-utility tokens") diff --git a/pkg/core/blockchain_test.go b/pkg/core/blockchain_test.go index 9724d755f..a106d4fba 100644 --- a/pkg/core/blockchain_test.go +++ b/pkg/core/blockchain_test.go @@ -97,7 +97,7 @@ func TestScriptFromWitness(t *testing.T) { func TestGetHeader(t *testing.T) { bc := newTestChain(t) - tx := transaction.NewMinerTX() + tx := transaction.NewContractTX() tx.ValidUntilBlock = bc.BlockHeight() + 1 assert.Nil(t, addSender(tx)) assert.Nil(t, signTx(bc, tx)) diff --git a/pkg/core/helper_test.go b/pkg/core/helper_test.go index 8853e3571..ea0f00f60 100644 --- a/pkg/core/helper_test.go +++ b/pkg/core/helper_test.go @@ -83,17 +83,7 @@ func (bc *Blockchain) genBlocks(n int) ([]*block.Block, error) { lastHash := bc.topBlock.Load().(*block.Block).Hash() lastIndex := bc.topBlock.Load().(*block.Block).Index for i := 0; i < n; i++ { - minerTx := transaction.NewMinerTXWithNonce(uint32(1234 + i)) - minerTx.ValidUntilBlock = lastIndex + uint32(i) + 1 - err := addSender(minerTx) - if err != nil { - return nil, err - } - err = signTx(bc, minerTx) - if err != nil { - return nil, err - } - blocks[i] = newBlock(bc.config, uint32(i)+lastIndex+1, lastHash, minerTx) + blocks[i] = newBlock(bc.config, uint32(i)+lastIndex+1, lastHash) if err := bc.AddBlock(blocks[i]); err != nil { return blocks, err } @@ -146,7 +136,6 @@ func newDumbBlock() *block.Block { Nonce: 1111, }, Transactions: []*transaction.Transaction{ - {Type: transaction.MinerType}, {Type: transaction.IssueType}, }, } @@ -181,13 +170,6 @@ func TestCreateBasicChain(t *testing.T) { return testNonce } - // Creates new miner tx with specified validUntilBlock field - nextMinerTx := func(validUntilBlock uint32) *transaction.Transaction { - minerTx := transaction.NewMinerTXWithNonce(getNextNonce()) - minerTx.ValidUntilBlock = validUntilBlock - return minerTx - } - var neoAmount = util.Fixed8FromInt64(99999000) var neoRemainder = util.Fixed8FromInt64(100000000) - neoAmount bc := newTestChain(t) @@ -201,8 +183,8 @@ func TestCreateBasicChain(t *testing.T) { // use output of issue tx from genesis block as an input genesisBlock, err := bc.GetBlock(bc.GetHeaderHash(0)) require.NoError(t, err) - require.Equal(t, 5, len(genesisBlock.Transactions)) - h := genesisBlock.Transactions[3].Hash() + require.Equal(t, 4, len(genesisBlock.Transactions)) + h := genesisBlock.Transactions[2].Hash() txMoveNeo.AddInput(&transaction.Input{ PrevHash: h, PrevIndex: 0, @@ -225,12 +207,8 @@ func TestCreateBasicChain(t *testing.T) { Position: 1, }) txMoveNeo.Data = new(transaction.ContractTX) - - minerTx := nextMinerTx(validUntilBlock) - minerTx.Sender = neoOwner - - require.NoError(t, signTx(bc, minerTx, txMoveNeo)) - b := bc.newBlock(minerTx, txMoveNeo) + require.NoError(t, signTx(bc, txMoveNeo)) + b := bc.newBlock(txMoveNeo) require.NoError(t, bc.AddBlock(b)) t.Logf("txMoveNeo: %s", txMoveNeo.Hash().StringLE()) @@ -264,10 +242,7 @@ func TestCreateBasicChain(t *testing.T) { }) txNeoRound.Data = new(transaction.ContractTX) require.NoError(t, acc0.SignTx(txNeoRound)) - minerTx = nextMinerTx(validUntilBlock) - minerTx.Sender = priv0ScriptHash - require.NoError(t, acc0.SignTx(minerTx)) - b = bc.newBlock(minerTx, txNeoRound) + b = bc.newBlock(txNeoRound) require.NoError(t, bc.AddBlock(b)) t.Logf("txNeoRound: %s", txNeoRound.Hash().StringLE()) @@ -291,10 +266,7 @@ func TestCreateBasicChain(t *testing.T) { Position: 0, }) require.NoError(t, acc0.SignTx(txClaim)) - minerTx = nextMinerTx(validUntilBlock) - minerTx.Sender = priv0ScriptHash - require.NoError(t, acc0.SignTx(minerTx)) - b = bc.newBlock(minerTx, txClaim) + b = bc.newBlock(txClaim) require.NoError(t, bc.AddBlock(b)) t.Logf("txClaim: %s", txClaim.Hash().StringLE()) @@ -337,10 +309,7 @@ func TestCreateBasicChain(t *testing.T) { }) gasOwned -= invFee require.NoError(t, acc0.SignTx(txDeploy)) - minerTx = nextMinerTx(validUntilBlock) - minerTx.Sender = priv0ScriptHash - require.NoError(t, acc0.SignTx(minerTx)) - b = bc.newBlock(minerTx, txDeploy) + b = bc.newBlock(txDeploy) require.NoError(t, bc.AddBlock(b)) t.Logf("txDeploy: %s", txDeploy.Hash().StringLE()) @@ -353,10 +322,7 @@ func TestCreateBasicChain(t *testing.T) { txInv.ValidUntilBlock = validUntilBlock txInv.Sender = priv0ScriptHash require.NoError(t, acc0.SignTx(txInv)) - minerTx = nextMinerTx(validUntilBlock) - minerTx.Sender = priv0ScriptHash - require.NoError(t, acc0.SignTx(minerTx)) - b = bc.newBlock(minerTx, txInv) + b = bc.newBlock(txInv) require.NoError(t, bc.AddBlock(b)) t.Logf("txInv: %s", txInv.Hash().StringLE()) @@ -382,10 +348,7 @@ func TestCreateBasicChain(t *testing.T) { }) require.NoError(t, acc0.SignTx(txNeo0to1)) - minerTx = nextMinerTx(validUntilBlock) - minerTx.Sender = priv0ScriptHash - require.NoError(t, acc0.SignTx(minerTx)) - b = bc.newBlock(minerTx, txNeo0to1) + b = bc.newBlock(txNeo0to1) require.NoError(t, bc.AddBlock(b)) sh := hash.Hash160(avm) @@ -402,10 +365,7 @@ func TestCreateBasicChain(t *testing.T) { transferTx.Sender = priv0ScriptHash require.NoError(t, acc0.SignTx(transferTx)) - minerTx = nextMinerTx(validUntilBlock) - minerTx.Sender = priv0ScriptHash - require.NoError(t, acc0.SignTx(minerTx)) - b = bc.newBlock(minerTx, initTx, transferTx) + b = bc.newBlock(initTx, transferTx) require.NoError(t, bc.AddBlock(b)) transferTx = newNEP5Transfer(sh, priv0.GetScriptHash(), priv1.GetScriptHash(), 123) @@ -414,10 +374,7 @@ func TestCreateBasicChain(t *testing.T) { transferTx.Sender = priv0ScriptHash require.NoError(t, acc0.SignTx(transferTx)) - minerTx = nextMinerTx(validUntilBlock) - minerTx.Sender = priv0ScriptHash - require.NoError(t, acc0.SignTx(minerTx)) - b = bc.newBlock(minerTx, transferTx) + b = bc.newBlock(transferTx) require.NoError(t, bc.AddBlock(b)) if saveChain { diff --git a/pkg/core/mempool/mem_pool_test.go b/pkg/core/mempool/mem_pool_test.go index bf5f2486c..bd6bd47fb 100644 --- a/pkg/core/mempool/mem_pool_test.go +++ b/pkg/core/mempool/mem_pool_test.go @@ -36,7 +36,8 @@ func (fs *FeerStub) SystemFee(*transaction.Transaction) util.Fixed8 { func testMemPoolAddRemoveWithFeer(t *testing.T, fs Feer) { mp := NewMemPool(10) - tx := transaction.NewMinerTXWithNonce(0) + tx := transaction.NewContractTX() + tx.Nonce = 0 _, _, ok := mp.TryGetValue(tx.Hash()) require.Equal(t, false, ok) require.NoError(t, mp.Add(tx, fs)) @@ -72,8 +73,8 @@ func TestMemPoolAddRemoveWithInputsAndClaims(t *testing.T) { mpLessClaims := func(i, j int) bool { return mp.claims[i].Cmp(mp.claims[j]) < 0 } - - txm1 := transaction.NewMinerTXWithNonce(1) + txm1 := transaction.NewContractTX() + txm1.Nonce = 1 txc1, claim1 := newClaimTX() for i := 0; i < 5; i++ { txm1.Inputs = append(txm1.Inputs, transaction.Input{PrevHash: hash1, PrevIndex: uint16(100 - i)}) @@ -87,7 +88,8 @@ func TestMemPoolAddRemoveWithInputsAndClaims(t *testing.T) { assert.Equal(t, len(claim1.Claims), len(mp.claims)) assert.True(t, sort.SliceIsSorted(mp.claims, mpLessClaims)) - txm2 := transaction.NewMinerTXWithNonce(1) + txm2 := transaction.NewContractTX() + txm2.Nonce = 1 txc2, claim2 := newClaimTX() for i := 0; i < 10; i++ { txm2.Inputs = append(txm2.Inputs, transaction.Input{PrevHash: hash2, PrevIndex: uint16(i)}) @@ -128,19 +130,22 @@ func TestMemPoolAddRemoveWithInputsAndClaims(t *testing.T) { func TestMemPoolVerifyInputs(t *testing.T) { mp := NewMemPool(10) - tx := transaction.NewMinerTXWithNonce(1) + tx := transaction.NewContractTX() + tx.Nonce = 1 inhash1 := random.Uint256() tx.Inputs = append(tx.Inputs, transaction.Input{PrevHash: inhash1, PrevIndex: 0}) require.Equal(t, true, mp.Verify(tx)) require.NoError(t, mp.Add(tx, &FeerStub{})) - tx2 := transaction.NewMinerTXWithNonce(2) + tx2 := transaction.NewContractTX() + tx2.Nonce = 2 inhash2 := random.Uint256() tx2.Inputs = append(tx2.Inputs, transaction.Input{PrevHash: inhash2, PrevIndex: 0}) require.Equal(t, true, mp.Verify(tx2)) require.NoError(t, mp.Add(tx2, &FeerStub{})) - tx3 := transaction.NewMinerTXWithNonce(3) + tx3 := transaction.NewContractTX() + tx3.Nonce = 3 // Different index number, but the same PrevHash as in tx1. tx3.Inputs = append(tx3.Inputs, transaction.Input{PrevHash: inhash1, PrevIndex: 1}) require.Equal(t, true, mp.Verify(tx3)) @@ -211,7 +216,8 @@ func TestOverCapacity(t *testing.T) { mp := NewMemPool(mempoolSize) for i := 0; i < mempoolSize; i++ { - tx := transaction.NewMinerTXWithNonce(uint32(i)) + tx := transaction.NewContractTX() + tx.Nonce = uint32(i) require.NoError(t, mp.Add(tx, fs)) } txcnt := uint32(mempoolSize) @@ -231,7 +237,8 @@ func TestOverCapacity(t *testing.T) { // Fees are also prioritized. fs.netFee = util.Fixed8FromFloat(0.0001) for i := 0; i < mempoolSize-1; i++ { - tx := transaction.NewMinerTXWithNonce(txcnt) + tx := transaction.NewContractTX() + tx.Nonce = txcnt txcnt++ require.NoError(t, mp.Add(tx, fs)) require.Equal(t, mempoolSize, mp.Count()) @@ -239,7 +246,8 @@ func TestOverCapacity(t *testing.T) { } // Less prioritized txes are not allowed anymore. fs.netFee = util.Fixed8FromFloat(0.00001) - tx := transaction.NewMinerTXWithNonce(txcnt) + tx := transaction.NewContractTX() + tx.Nonce = txcnt txcnt++ require.Error(t, mp.Add(tx, fs)) require.Equal(t, mempoolSize, mp.Count()) @@ -250,7 +258,8 @@ func TestOverCapacity(t *testing.T) { // Low net fee, but higher per-byte fee is still a better combination. fs.perByteFee = util.Fixed8FromFloat(0.001) - tx = transaction.NewMinerTXWithNonce(txcnt) + tx = transaction.NewContractTX() + tx.Nonce = txcnt txcnt++ require.NoError(t, mp.Add(tx, fs)) require.Equal(t, mempoolSize, mp.Count()) @@ -259,7 +268,8 @@ func TestOverCapacity(t *testing.T) { // High priority always wins over low priority. fs.lowPriority = false for i := 0; i < mempoolSize; i++ { - tx := transaction.NewMinerTXWithNonce(txcnt) + tx := transaction.NewContractTX() + tx.Nonce = txcnt txcnt++ require.NoError(t, mp.Add(tx, fs)) require.Equal(t, mempoolSize, mp.Count()) @@ -267,7 +277,8 @@ func TestOverCapacity(t *testing.T) { } // Good luck with low priority now. fs.lowPriority = true - tx = transaction.NewMinerTXWithNonce(txcnt) + tx = transaction.NewContractTX() + tx.Nonce = txcnt require.Error(t, mp.Add(tx, fs)) require.Equal(t, mempoolSize, mp.Count()) require.Equal(t, true, sort.IsSorted(sort.Reverse(mp.verifiedTxes))) @@ -280,7 +291,8 @@ func TestGetVerified(t *testing.T) { txes := make([]*transaction.Transaction, 0, mempoolSize) for i := 0; i < mempoolSize; i++ { - tx := transaction.NewMinerTXWithNonce(uint32(i)) + tx := transaction.NewContractTX() + tx.Nonce = uint32(i) txes = append(txes, tx) require.NoError(t, mp.Add(tx, fs)) } @@ -305,7 +317,8 @@ func TestRemoveStale(t *testing.T) { txes1 := make([]*transaction.Transaction, 0, mempoolSize/2) txes2 := make([]*transaction.Transaction, 0, mempoolSize/2) for i := 0; i < mempoolSize; i++ { - tx := transaction.NewMinerTXWithNonce(uint32(i)) + tx := transaction.NewContractTX() + tx.Nonce = uint32(i) if i%2 == 0 { txes1 = append(txes1, tx) } else { diff --git a/pkg/core/native_contract_test.go b/pkg/core/native_contract_test.go index 4e17a36b6..90e422483 100644 --- a/pkg/core/native_contract_test.go +++ b/pkg/core/native_contract_test.go @@ -2,7 +2,6 @@ package core import ( "errors" - "math/rand" "testing" "github.com/nspcc-dev/neo-go/pkg/core/interop" @@ -90,13 +89,11 @@ func TestNativeContract_Invoke(t *testing.T) { emit.AppCallWithOperationAndArgs(w.BinWriter, tn.Metadata().Hash, "sum", int64(14), int64(28)) script := w.Bytes() tx := transaction.NewInvocationTX(script, 0) - mn := transaction.NewMinerTXWithNonce(rand.Uint32()) validUntil := chain.blockHeight + 1 tx.ValidUntilBlock = validUntil - mn.ValidUntilBlock = validUntil - require.NoError(t, addSender(tx, mn)) - require.NoError(t, signTx(chain, tx, mn)) - b := chain.newBlock(mn, tx) + require.NoError(t, addSender(tx)) + require.NoError(t, signTx(chain, tx)) + b := chain.newBlock(tx) require.NoError(t, chain.AddBlock(b)) res, err := chain.GetAppExecResult(tx.Hash()) diff --git a/pkg/core/transaction/miner.go b/pkg/core/transaction/miner.go deleted file mode 100644 index 6fc262d8d..000000000 --- a/pkg/core/transaction/miner.go +++ /dev/null @@ -1,38 +0,0 @@ -package transaction - -import ( - "math/rand" - - "github.com/nspcc-dev/neo-go/pkg/io" -) - -// MinerTX represents a miner transaction. -type MinerTX struct{} - -// NewMinerTX creates Transaction of MinerType type. -func NewMinerTX() *Transaction { - return NewMinerTXWithNonce(rand.Uint32()) -} - -// NewMinerTXWithNonce creates Transaction of MinerType type with specified nonce. -func NewMinerTXWithNonce(nonce uint32) *Transaction { - return &Transaction{ - Type: MinerType, - Version: 0, - Nonce: nonce, - Data: &MinerTX{}, - Attributes: []Attribute{}, - Inputs: []Input{}, - Outputs: []Output{}, - Scripts: []Witness{}, - Trimmed: false, - } -} - -// DecodeBinary implements Serializable interface. -func (tx *MinerTX) DecodeBinary(r *io.BinReader) { -} - -// EncodeBinary implements Serializable interface. -func (tx *MinerTX) EncodeBinary(w *io.BinWriter) { -} diff --git a/pkg/core/transaction/miner_test.go b/pkg/core/transaction/miner_test.go deleted file mode 100644 index b15814952..000000000 --- a/pkg/core/transaction/miner_test.go +++ /dev/null @@ -1,21 +0,0 @@ -package transaction - -// TODO NEO3.0: Update binary -/* -func TestEncodeDecodeMiner(t *testing.T) { - // transaction from mainnet a1f219dc6be4c35eca172e65e02d4591045220221b1543f1a4b67b9e9442c264 - rawtx := "0000fcd30e22000001e72d286979ee6cb1b7e65dfddfb2e384100b8d148e7758de42e4168b71792c60c8000000000000001f72e68b4e39602912106d53b229378a082784b200" - tx := decodeTransaction(rawtx, t) - assert.Equal(t, MinerType, tx.Type) - assert.IsType(t, tx.Data, &MinerTX{}) - assert.Equal(t, 0, int(tx.Version)) - assert.Equal(t, uint32(571397116), tx.Nonce) - - assert.Equal(t, "a1f219dc6be4c35eca172e65e02d4591045220221b1543f1a4b67b9e9442c264", tx.Hash().StringLE()) - - // Encode - data, err := testserdes.EncodeBinary(tx) - assert.NoError(t, err) - assert.Equal(t, rawtx, hex.EncodeToString(data)) -} -*/ diff --git a/pkg/core/transaction/transaction.go b/pkg/core/transaction/transaction.go index c404a5e29..160270ed2 100644 --- a/pkg/core/transaction/transaction.go +++ b/pkg/core/transaction/transaction.go @@ -148,9 +148,6 @@ func (t *Transaction) decodeData(r *io.BinReader) { case InvocationType: t.Data = &InvocationTX{Version: t.Version} t.Data.(*InvocationTX).DecodeBinary(r) - case MinerType: - t.Data = &MinerTX{} - t.Data.(*MinerTX).DecodeBinary(r) case ClaimType: t.Data = &ClaimTX{} t.Data.(*ClaimTX).DecodeBinary(r) @@ -335,8 +332,6 @@ func (t *Transaction) UnmarshalJSON(data []byte) error { } t.Sender = sender switch tx.Type { - case MinerType: - t.Data = &MinerTX{} case ClaimType: t.Data = &ClaimTX{ Claims: tx.Claims, diff --git a/pkg/core/transaction/transaction_test.go b/pkg/core/transaction/transaction_test.go index 9050026ee..78e0a9d94 100644 --- a/pkg/core/transaction/transaction_test.go +++ b/pkg/core/transaction/transaction_test.go @@ -120,12 +120,6 @@ func TestMarshalUnmarshalJSONContractTX(t *testing.T) { testserdes.MarshalUnmarshalJSON(t, tx, new(Transaction)) } -func TestMarshalUnmarshalJSONMinerTX(t *testing.T) { - tx := NewMinerTX() - - testserdes.MarshalUnmarshalJSON(t, tx, new(Transaction)) -} - func TestMarshalUnmarshalJSONClaimTX(t *testing.T) { tx := &Transaction{ Type: ClaimType, diff --git a/pkg/core/transaction/type.go b/pkg/core/transaction/type.go index 8c3ab94a8..bf5d34420 100644 --- a/pkg/core/transaction/type.go +++ b/pkg/core/transaction/type.go @@ -11,7 +11,6 @@ type TXType uint8 // Constants for all valid transaction types. const ( - MinerType TXType = 0x00 IssueType TXType = 0x01 ClaimType TXType = 0x02 RegisterType TXType = 0x40 @@ -22,8 +21,6 @@ const ( // String implements the stringer interface. func (t TXType) String() string { switch t { - case MinerType: - return "MinerTransaction" case IssueType: return "IssueTransaction" case ClaimType: @@ -58,8 +55,6 @@ func (t *TXType) UnmarshalJSON(data []byte) error { // TXTypeFromString searches for TXType by string name. func TXTypeFromString(jsonString string) (TXType, error) { switch jsonString = strings.TrimSpace(jsonString); jsonString { - case "MinerTransaction": - return MinerType, nil case "IssueTransaction": return IssueType, nil case "ClaimTransaction": diff --git a/pkg/core/util.go b/pkg/core/util.go index e0d0fedf0..1c998d724 100644 --- a/pkg/core/util.go +++ b/pkg/core/util.go @@ -59,9 +59,6 @@ func createGenesisBlock(cfg config.ProtocolConfiguration) (*block.Block, error) } scriptOut := hash.Hash160(rawScript) - minerTx := transaction.NewMinerTXWithNonce(2083236893) - minerTx.Sender = hash.Hash160([]byte{byte(opcode.PUSH1)}) - issueTx := transaction.NewIssueTX() // TODO NEO3.0: nonce should be constant to avoid variability of genesis block issueTx.Nonce = 0 @@ -83,7 +80,6 @@ func createGenesisBlock(cfg config.ProtocolConfiguration) (*block.Block, error) b := &block.Block{ Base: base, Transactions: []*transaction.Transaction{ - minerTx, &governingTokenTX, &utilityTokenTX, issueTx, diff --git a/pkg/core/util_test.go b/pkg/core/util_test.go index 7b033406a..5bf66555d 100644 --- a/pkg/core/util_test.go +++ b/pkg/core/util_test.go @@ -20,7 +20,7 @@ func TestGenesisBlockMainNet(t *testing.T) { // have been changed. Consequently, hash of the genesis block has been changed. // Update expected genesis block hash for better times. // Old hash is "d42561e3d30e15be6400b6df2f328e02d2bf6354c41dce433bc57687c82144bf" - expect := "4dce83edc5bb9cbdf23d37cfb81dd3c8fc0c331c608d2d893289ae36a62a41eb" + expect := "16ffda4cc6a9b0a0ca63f1571f7724418c43f014e2eb4e8614b4938ccf0f20f6" assert.Equal(t, expect, block.Hash().StringLE()) } diff --git a/pkg/network/server.go b/pkg/network/server.go index 729995067..638a86319 100644 --- a/pkg/network/server.go +++ b/pkg/network/server.go @@ -803,9 +803,6 @@ func (s *Server) relayBlock(b *block.Block) { // verifyAndPoolTX verifies the TX and adds it to the local mempool. func (s *Server) verifyAndPoolTX(t *transaction.Transaction) RelayReason { - if t.Type == transaction.MinerType { - return RelayInvalid - } if err := s.chain.PoolTx(t); err != nil { switch err { case core.ErrAlreadyExists: diff --git a/pkg/rpc/client/rpc_test.go b/pkg/rpc/client/rpc_test.go index 675d644d5..d56168c28 100644 --- a/pkg/rpc/client/rpc_test.go +++ b/pkg/rpc/client/rpc_test.go @@ -136,17 +136,17 @@ var rpcClientTestCases = map[string][]rpcClientTestCase{ invoke: func(c *Client) (interface{}, error) { return c.GetBlockByIndex(5) }, - serverResponse: `{"id":1,"jsonrpc":"2.0","result":"0000000062af8cd56d179044215cc8611f75bd96d896f1026c5b42994ae7707df8d82bd3c9f774f449fec7135b506faffaaeee603e2b82e01dec7d0f706789aa1bb983ae0ec7a25e0000000005000000e903736ceceeceae1806eee0e3ec61e7cce476ce01fd08010c408e48ace06fdd7d9bf536b6cb683f7edd336c60a707df8110f69121273fe7e0353e574c55abf2961ac4f7f2bfef44af07e6121f42e5e2115517b29060e3a7dd3e0c40d56609addaa61f06d9df159f7008ffb889d605742baaf7f95a8283469d6e5a4a76c5814f24efa0452e3c6723d88e43833e917551808d05aca8d46a17f25c72440c40fa0b66a2a41933e39685f7cbf45ba0cef286b3eed5f7d1cb60db4bac3a9c55212efb5b1f4a4c5512b2562f8e0a2ebfbc8951734ca53243ec963bd6839773f5910c40c1c0de79304d8ad7e204dceb880325694e5c34abb25ff23beb61e931ecf384e4f06c13a5ea56273c400ecac9408a3eb8e8cf3b0b358f7b2b6ac5120bb5c7763594130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb020057040000000000000000d5040000e903736ceceeceae1806eee0e3ec61e7cce476ce0500000000000001fd08010c40a9c72069ad0365a8f0787a236ec60293a9846172e9cdeaeb665586d6c72545bcfa694422f8ccd3e76bce7e27ac8099cc9b3f6322bcfeaf971c9b481a1a308a350c4048f7c2a176a7c8eb73f881aacb0a5bc52bb3b2eeeb2341031496aaadbc043dda02d8c79935ac27ecda0dc7c2561af056946e82ff1a819b56461ad32fce83ab960c4036a238579bbe505150f2ea2e4172eb83cfd614af00c1cfe36791a1eb12cb5565f37668fa09a0fcb2528fffe377c96ec9d63d18aa19a5d6c24c5c97034d1811250c4007c3826543bc03b3b6cecf48fb30ff24033c1aad7a946ac6c54e7fa90173ff3b0fe181936079fc0e7030bdde2b655ae3a7101b8a0bd85fc98de83bb72739a9ce94130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb"}`, + serverResponse: `{"id":1,"jsonrpc":"2.0","result":"000000005b25cf560918b13cc7a10071cf616426a103d58498171567aaa116af69179aa3c05c359ade4316392d69d5ca01f8860f8bdebbe1a8f752edd68d9a6a2d204fe752cca25e0000000005000000e903736ceceeceae1806eee0e3ec61e7cce476ce01fd08010c407f70912fdcd0ce9a70963110eb39ef73ed02512ea63bc1c55577474df8f364a874999b16666888f8a3ca69873054a31ab42dd1fee1ed8605ff65edb39797e34e0c40d59459cb1cc8270d9a813aa444852a5d7714aed0b25373ec07549349c6db32b6c8c2e43cdd7b1ad2a4154cb5ff1222d9d7010877016a59775abdd2c08f253c850c4048b65cb58e0d58f2dd0f5db3b195c5784933d6179d8317217ba46f9deac9a667bffb1afd0dd86bdae6267af4c2605f7401849a0b980fcecfeae95df7f5ca6e140c406d9b1942c5aa80070ad484b3dd76421a3f46327670bea94e3ecb3a94eef8843a75195b55872a7c503acb01ab368cdaa11a9e5fb80d55bbd6b861233ba84edcf894130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb020057040000000000008000d5040000e903736ceceeceae1806eee0e3ec61e7cce476ce0500000000000001fd08010c40ae62dadb95b21628921adb9ee14e8c1f20d68b9d6ffba218f8e403af70126449435a53525cd6f1d1c871e64a91025866cd8a413ec70e3cde0ddf62931aa22baa0c40c3e09fc8ad46789d645240634ef40bd180e0dba75beae07a37dc2e899b68b4b3b3a67d076ea9444ed143dbb3264702914a4662ff95859d32c9b5bb5bdc9ec1d60c40b2511115482bd860d85f57103fb8cce2cb45ba8461d4e164685b426cb5df1525e6f09dd7aa23db0fec2241bde7c925e22f3cba3824ea461455515dc2a1455f5e0c40c0aee2528e7fd75a0434f4d67da58507e8d349ca29e01e7eafa9f283e8b8c05d06587db7234f111730c14c8a4bfb7a1ffd9493b9696c71e68966c6bf4a832ab794130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb"}`, result: func(c *Client) interface{} { return &block.Block{} }, check: func(t *testing.T, c *Client, result interface{}) { res, ok := result.(*block.Block) require.True(t, ok) assert.Equal(t, uint32(0), res.Version) - assert.Equal(t, "424b08395ea83eb09604a6c8e76e95574b657e219fe2c3e2f1574176581bf7e9", res.Hash().StringLE()) - assert.Equal(t, "d32bd8f87d70e74a99425b6c02f196d896bd751f61c85c214490176dd58caf62", res.PrevHash.StringLE()) - assert.Equal(t, "ae83b91baa8967700f7dec1de0822b3e60eeaefaaf6f505b13c7fe49f474f7c9", res.MerkleRoot.StringLE()) + assert.Equal(t, "81b74dcfc3a42ef331eec2486231aba300ec9a95b024b0151214c76305d409bb", res.Hash().StringLE()) + assert.Equal(t, "a39a1769af16a1aa6715179884d503a1266461cf7100a1c73cb1180956cf255b", res.PrevHash.StringLE()) + assert.Equal(t, "e74f202d6a9a8dd6ed52f7a8e1bbde8b0f86f801cad5692d391643de9a355cc0", res.MerkleRoot.StringLE()) assert.Equal(t, 1, len(res.Transactions)) - assert.Equal(t, "ae63e96d984673b038c83cfcb94323e37bdab29a53921823544b50df9f7edb54", res.Transactions[0].Hash().StringLE()) + assert.Equal(t, "69d95138263dc54c07826ef1d76f9eb32ff6bf7fc3fc3281194b46ec7683ceb3", res.Transactions[0].Hash().StringLE()) }, }, { @@ -154,25 +154,25 @@ var rpcClientTestCases = map[string][]rpcClientTestCase{ invoke: func(c *Client) (i interface{}, err error) { return c.GetBlockByIndexVerbose(5) }, - serverResponse: `{"id":1,"jsonrpc":"2.0","result":{"hash":"0x424b08395ea83eb09604a6c8e76e95574b657e219fe2c3e2f1574176581bf7e9","size":977,"version":0,"nextblockhash":"0xc2ce96d861414ad229101cc9afaec4ae500f730a2180b54bd14a8dd6147bc8c3","previousblockhash":"0xd32bd8f87d70e74a99425b6c02f196d896bd751f61c85c214490176dd58caf62","merkleroot":"0xae83b91baa8967700f7dec1de0822b3e60eeaefaaf6f505b13c7fe49f474f7c9","time":1587726094,"index":5,"consensus_data":{"primary":0,"nonce":"0000000000000457"},"nextconsensus":"Ad1wDxzcRiRSryvJobNV211Tv7UUiziPXy","confirmations":203,"script":{"invocation":"0c408e48ace06fdd7d9bf536b6cb683f7edd336c60a707df8110f69121273fe7e0353e574c55abf2961ac4f7f2bfef44af07e6121f42e5e2115517b29060e3a7dd3e0c40d56609addaa61f06d9df159f7008ffb889d605742baaf7f95a8283469d6e5a4a76c5814f24efa0452e3c6723d88e43833e917551808d05aca8d46a17f25c72440c40fa0b66a2a41933e39685f7cbf45ba0cef286b3eed5f7d1cb60db4bac3a9c55212efb5b1f4a4c5512b2562f8e0a2ebfbc8951734ca53243ec963bd6839773f5910c40c1c0de79304d8ad7e204dceb880325694e5c34abb25ff23beb61e931ecf384e4f06c13a5ea56273c400ecac9408a3eb8e8cf3b0b358f7b2b6ac5120bb5c77635","verification":"130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb"},"tx":[{"sys_fee":"0","net_fee":"0","txid":"0xae63e96d984673b038c83cfcb94323e37bdab29a53921823544b50df9f7edb54","size":450,"type":"MinerTransaction","version":0,"nonce":1237,"sender":"Ad1wDxzcRiRSryvJobNV211Tv7UUiziPXy","valid_until_block":5,"attributes":[],"vin":[],"vout":[],"scripts":[{"invocation":"0c40a9c72069ad0365a8f0787a236ec60293a9846172e9cdeaeb665586d6c72545bcfa694422f8ccd3e76bce7e27ac8099cc9b3f6322bcfeaf971c9b481a1a308a350c4048f7c2a176a7c8eb73f881aacb0a5bc52bb3b2eeeb2341031496aaadbc043dda02d8c79935ac27ecda0dc7c2561af056946e82ff1a819b56461ad32fce83ab960c4036a238579bbe505150f2ea2e4172eb83cfd614af00c1cfe36791a1eb12cb5565f37668fa09a0fcb2528fffe377c96ec9d63d18aa19a5d6c24c5c97034d1811250c4007c3826543bc03b3b6cecf48fb30ff24033c1aad7a946ac6c54e7fa90173ff3b0fe181936079fc0e7030bdde2b655ae3a7101b8a0bd85fc98de83bb72739a9ce","verification":"130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb"}]}]}}`, + serverResponse: `{"id":1,"jsonrpc":"2.0","result":{"hash":"0x81b74dcfc3a42ef331eec2486231aba300ec9a95b024b0151214c76305d409bb","size":977,"version":0,"nextblockhash":"0xd08e408909ae24de3470a3f231f966e15719910cb7b1a30f356b3e784c1ddf6a","previousblockhash":"0xa39a1769af16a1aa6715179884d503a1266461cf7100a1c73cb1180956cf255b","merkleroot":"0xe74f202d6a9a8dd6ed52f7a8e1bbde8b0f86f801cad5692d391643de9a355cc0","time":1587727442,"index":5,"consensus_data":{"primary":0,"nonce":"0000000000000457"},"nextconsensus":"Ad1wDxzcRiRSryvJobNV211Tv7UUiziPXy","confirmations":203,"script":{"invocation":"0c407f70912fdcd0ce9a70963110eb39ef73ed02512ea63bc1c55577474df8f364a874999b16666888f8a3ca69873054a31ab42dd1fee1ed8605ff65edb39797e34e0c40d59459cb1cc8270d9a813aa444852a5d7714aed0b25373ec07549349c6db32b6c8c2e43cdd7b1ad2a4154cb5ff1222d9d7010877016a59775abdd2c08f253c850c4048b65cb58e0d58f2dd0f5db3b195c5784933d6179d8317217ba46f9deac9a667bffb1afd0dd86bdae6267af4c2605f7401849a0b980fcecfeae95df7f5ca6e140c406d9b1942c5aa80070ad484b3dd76421a3f46327670bea94e3ecb3a94eef8843a75195b55872a7c503acb01ab368cdaa11a9e5fb80d55bbd6b861233ba84edcf8","verification":"130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb"},"tx":[{"sys_fee":"0","net_fee":"0","txid":"0x69d95138263dc54c07826ef1d76f9eb32ff6bf7fc3fc3281194b46ec7683ceb3","size":450,"type":"ContractTransaction","version":0,"nonce":1237,"sender":"Ad1wDxzcRiRSryvJobNV211Tv7UUiziPXy","valid_until_block":5,"attributes":[],"vin":[],"vout":[],"scripts":[{"invocation":"0c40ae62dadb95b21628921adb9ee14e8c1f20d68b9d6ffba218f8e403af70126449435a53525cd6f1d1c871e64a91025866cd8a413ec70e3cde0ddf62931aa22baa0c40c3e09fc8ad46789d645240634ef40bd180e0dba75beae07a37dc2e899b68b4b3b3a67d076ea9444ed143dbb3264702914a4662ff95859d32c9b5bb5bdc9ec1d60c40b2511115482bd860d85f57103fb8cce2cb45ba8461d4e164685b426cb5df1525e6f09dd7aa23db0fec2241bde7c925e22f3cba3824ea461455515dc2a1455f5e0c40c0aee2528e7fd75a0434f4d67da58507e8d349ca29e01e7eafa9f283e8b8c05d06587db7234f111730c14c8a4bfb7a1ffd9493b9696c71e68966c6bf4a832ab7","verification":"130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb"}]}]}}`, result: func(c *Client) interface{} { - hash, err := util.Uint256DecodeStringLE("424b08395ea83eb09604a6c8e76e95574b657e219fe2c3e2f1574176581bf7e9") + hash, err := util.Uint256DecodeStringLE("81b74dcfc3a42ef331eec2486231aba300ec9a95b024b0151214c76305d409bb") if err != nil { panic(err) } - nextBlockHash, err := util.Uint256DecodeStringLE("c2ce96d861414ad229101cc9afaec4ae500f730a2180b54bd14a8dd6147bc8c3") + nextBlockHash, err := util.Uint256DecodeStringLE("d08e408909ae24de3470a3f231f966e15719910cb7b1a30f356b3e784c1ddf6a") if err != nil { panic(err) } - prevBlockHash, err := util.Uint256DecodeStringLE("d32bd8f87d70e74a99425b6c02f196d896bd751f61c85c214490176dd58caf62") + prevBlockHash, err := util.Uint256DecodeStringLE("a39a1769af16a1aa6715179884d503a1266461cf7100a1c73cb1180956cf255b") if err != nil { panic(err) } - merkleRoot, err := util.Uint256DecodeStringLE("ae83b91baa8967700f7dec1de0822b3e60eeaefaaf6f505b13c7fe49f474f7c9") + merkleRoot, err := util.Uint256DecodeStringLE("e74f202d6a9a8dd6ed52f7a8e1bbde8b0f86f801cad5692d391643de9a355cc0") if err != nil { panic(err) } - invScript, err := hex.DecodeString("0c408e48ace06fdd7d9bf536b6cb683f7edd336c60a707df8110f69121273fe7e0353e574c55abf2961ac4f7f2bfef44af07e6121f42e5e2115517b29060e3a7dd3e0c40d56609addaa61f06d9df159f7008ffb889d605742baaf7f95a8283469d6e5a4a76c5814f24efa0452e3c6723d88e43833e917551808d05aca8d46a17f25c72440c40fa0b66a2a41933e39685f7cbf45ba0cef286b3eed5f7d1cb60db4bac3a9c55212efb5b1f4a4c5512b2562f8e0a2ebfbc8951734ca53243ec963bd6839773f5910c40c1c0de79304d8ad7e204dceb880325694e5c34abb25ff23beb61e931ecf384e4f06c13a5ea56273c400ecac9408a3eb8e8cf3b0b358f7b2b6ac5120bb5c77635") + invScript, err := hex.DecodeString("0c407f70912fdcd0ce9a70963110eb39ef73ed02512ea63bc1c55577474df8f364a874999b16666888f8a3ca69873054a31ab42dd1fee1ed8605ff65edb39797e34e0c40d59459cb1cc8270d9a813aa444852a5d7714aed0b25373ec07549349c6db32b6c8c2e43cdd7b1ad2a4154cb5ff1222d9d7010877016a59775abdd2c08f253c850c4048b65cb58e0d58f2dd0f5db3b195c5784933d6179d8317217ba46f9deac9a667bffb1afd0dd86bdae6267af4c2605f7401849a0b980fcecfeae95df7f5ca6e140c406d9b1942c5aa80070ad484b3dd76421a3f46327670bea94e3ecb3a94eef8843a75195b55872a7c503acb01ab368cdaa11a9e5fb80d55bbd6b861233ba84edcf8") if err != nil { panic(err) } @@ -184,7 +184,7 @@ var rpcClientTestCases = map[string][]rpcClientTestCase{ if err != nil { panic(err) } - txInvScript, err := hex.DecodeString("0c40a9c72069ad0365a8f0787a236ec60293a9846172e9cdeaeb665586d6c72545bcfa694422f8ccd3e76bce7e27ac8099cc9b3f6322bcfeaf971c9b481a1a308a350c4048f7c2a176a7c8eb73f881aacb0a5bc52bb3b2eeeb2341031496aaadbc043dda02d8c79935ac27ecda0dc7c2561af056946e82ff1a819b56461ad32fce83ab960c4036a238579bbe505150f2ea2e4172eb83cfd614af00c1cfe36791a1eb12cb5565f37668fa09a0fcb2528fffe377c96ec9d63d18aa19a5d6c24c5c97034d1811250c4007c3826543bc03b3b6cecf48fb30ff24033c1aad7a946ac6c54e7fa90173ff3b0fe181936079fc0e7030bdde2b655ae3a7101b8a0bd85fc98de83bb72739a9ce") + txInvScript, err := hex.DecodeString("0c40ae62dadb95b21628921adb9ee14e8c1f20d68b9d6ffba218f8e403af70126449435a53525cd6f1d1c871e64a91025866cd8a413ec70e3cde0ddf62931aa22baa0c40c3e09fc8ad46789d645240634ef40bd180e0dba75beae07a37dc2e899b68b4b3b3a67d076ea9444ed143dbb3264702914a4662ff95859d32c9b5bb5bdc9ec1d60c40b2511115482bd860d85f57103fb8cce2cb45ba8461d4e164685b426cb5df1525e6f09dd7aa23db0fec2241bde7c925e22f3cba3824ea461455515dc2a1455f5e0c40c0aee2528e7fd75a0434f4d67da58507e8d349ca29e01e7eafa9f283e8b8c05d06587db7234f111730c14c8a4bfb7a1ffd9493b9696c71e68966c6bf4a832ab7") if err != nil { panic(err) } @@ -192,7 +192,8 @@ var rpcClientTestCases = map[string][]rpcClientTestCase{ if err != nil { panic(err) } - tx := transaction.NewMinerTXWithNonce(1237) + tx := transaction.NewContractTX() + tx.Nonce = 1237 tx.ValidUntilBlock = 5 tx.Sender = sender tx.Scripts = []transaction.Witness{ @@ -210,7 +211,7 @@ var rpcClientTestCases = map[string][]rpcClientTestCase{ NextBlockHash: &nextBlockHash, PreviousBlockHash: prevBlockHash, MerkleRoot: merkleRoot, - Time: 1587726094, + Time: 1587727442, Index: 5, NextConsensus: "Ad1wDxzcRiRSryvJobNV211Tv7UUiziPXy", Confirmations: 203, @@ -241,47 +242,47 @@ var rpcClientTestCases = map[string][]rpcClientTestCase{ } return c.GetBlockByHash(hash) }, - serverResponse: `{"id":1,"jsonrpc":"2.0","result":"0000000062af8cd56d179044215cc8611f75bd96d896f1026c5b42994ae7707df8d82bd3c9f774f449fec7135b506faffaaeee603e2b82e01dec7d0f706789aa1bb983ae0ec7a25e0000000005000000e903736ceceeceae1806eee0e3ec61e7cce476ce01fd08010c408e48ace06fdd7d9bf536b6cb683f7edd336c60a707df8110f69121273fe7e0353e574c55abf2961ac4f7f2bfef44af07e6121f42e5e2115517b29060e3a7dd3e0c40d56609addaa61f06d9df159f7008ffb889d605742baaf7f95a8283469d6e5a4a76c5814f24efa0452e3c6723d88e43833e917551808d05aca8d46a17f25c72440c40fa0b66a2a41933e39685f7cbf45ba0cef286b3eed5f7d1cb60db4bac3a9c55212efb5b1f4a4c5512b2562f8e0a2ebfbc8951734ca53243ec963bd6839773f5910c40c1c0de79304d8ad7e204dceb880325694e5c34abb25ff23beb61e931ecf384e4f06c13a5ea56273c400ecac9408a3eb8e8cf3b0b358f7b2b6ac5120bb5c7763594130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb020057040000000000000000d5040000e903736ceceeceae1806eee0e3ec61e7cce476ce0500000000000001fd08010c40a9c72069ad0365a8f0787a236ec60293a9846172e9cdeaeb665586d6c72545bcfa694422f8ccd3e76bce7e27ac8099cc9b3f6322bcfeaf971c9b481a1a308a350c4048f7c2a176a7c8eb73f881aacb0a5bc52bb3b2eeeb2341031496aaadbc043dda02d8c79935ac27ecda0dc7c2561af056946e82ff1a819b56461ad32fce83ab960c4036a238579bbe505150f2ea2e4172eb83cfd614af00c1cfe36791a1eb12cb5565f37668fa09a0fcb2528fffe377c96ec9d63d18aa19a5d6c24c5c97034d1811250c4007c3826543bc03b3b6cecf48fb30ff24033c1aad7a946ac6c54e7fa90173ff3b0fe181936079fc0e7030bdde2b655ae3a7101b8a0bd85fc98de83bb72739a9ce94130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb"}`, + serverResponse: `{"id":1,"jsonrpc":"2.0","result":"000000005b25cf560918b13cc7a10071cf616426a103d58498171567aaa116af69179aa3c05c359ade4316392d69d5ca01f8860f8bdebbe1a8f752edd68d9a6a2d204fe752cca25e0000000005000000e903736ceceeceae1806eee0e3ec61e7cce476ce01fd08010c407f70912fdcd0ce9a70963110eb39ef73ed02512ea63bc1c55577474df8f364a874999b16666888f8a3ca69873054a31ab42dd1fee1ed8605ff65edb39797e34e0c40d59459cb1cc8270d9a813aa444852a5d7714aed0b25373ec07549349c6db32b6c8c2e43cdd7b1ad2a4154cb5ff1222d9d7010877016a59775abdd2c08f253c850c4048b65cb58e0d58f2dd0f5db3b195c5784933d6179d8317217ba46f9deac9a667bffb1afd0dd86bdae6267af4c2605f7401849a0b980fcecfeae95df7f5ca6e140c406d9b1942c5aa80070ad484b3dd76421a3f46327670bea94e3ecb3a94eef8843a75195b55872a7c503acb01ab368cdaa11a9e5fb80d55bbd6b861233ba84edcf894130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb020057040000000000008000d5040000e903736ceceeceae1806eee0e3ec61e7cce476ce0500000000000001fd08010c40ae62dadb95b21628921adb9ee14e8c1f20d68b9d6ffba218f8e403af70126449435a53525cd6f1d1c871e64a91025866cd8a413ec70e3cde0ddf62931aa22baa0c40c3e09fc8ad46789d645240634ef40bd180e0dba75beae07a37dc2e899b68b4b3b3a67d076ea9444ed143dbb3264702914a4662ff95859d32c9b5bb5bdc9ec1d60c40b2511115482bd860d85f57103fb8cce2cb45ba8461d4e164685b426cb5df1525e6f09dd7aa23db0fec2241bde7c925e22f3cba3824ea461455515dc2a1455f5e0c40c0aee2528e7fd75a0434f4d67da58507e8d349ca29e01e7eafa9f283e8b8c05d06587db7234f111730c14c8a4bfb7a1ffd9493b9696c71e68966c6bf4a832ab794130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb"}`, result: func(c *Client) interface{} { return &block.Block{} }, check: func(t *testing.T, c *Client, result interface{}) { res, ok := result.(*block.Block) require.True(t, ok) assert.Equal(t, uint32(0), res.Version) - assert.Equal(t, "424b08395ea83eb09604a6c8e76e95574b657e219fe2c3e2f1574176581bf7e9", res.Hash().StringLE()) - assert.Equal(t, "d32bd8f87d70e74a99425b6c02f196d896bd751f61c85c214490176dd58caf62", res.PrevHash.StringLE()) - assert.Equal(t, "ae83b91baa8967700f7dec1de0822b3e60eeaefaaf6f505b13c7fe49f474f7c9", res.MerkleRoot.StringLE()) + assert.Equal(t, "81b74dcfc3a42ef331eec2486231aba300ec9a95b024b0151214c76305d409bb", res.Hash().StringLE()) + assert.Equal(t, "a39a1769af16a1aa6715179884d503a1266461cf7100a1c73cb1180956cf255b", res.PrevHash.StringLE()) + assert.Equal(t, "e74f202d6a9a8dd6ed52f7a8e1bbde8b0f86f801cad5692d391643de9a355cc0", res.MerkleRoot.StringLE()) assert.Equal(t, 1, len(res.Transactions)) - assert.Equal(t, "ae63e96d984673b038c83cfcb94323e37bdab29a53921823544b50df9f7edb54", res.Transactions[0].Hash().StringLE()) + assert.Equal(t, "69d95138263dc54c07826ef1d76f9eb32ff6bf7fc3fc3281194b46ec7683ceb3", res.Transactions[0].Hash().StringLE()) }, }, { name: "byHash_verbose_positive", invoke: func(c *Client) (i interface{}, err error) { - hash, err := util.Uint256DecodeStringLE("e9f71b58764157f1e2c3e29f217e654b57956ee7c8a60496b03ea85e39084b42") + hash, err := util.Uint256DecodeStringLE("bb09d40563c7141215b024b0959aec00a3ab316248c2ee31f32ea4c3cf4db781") if err != nil { panic(err) } return c.GetBlockByHashVerbose(hash) }, - serverResponse: `{"id":1,"jsonrpc":"2.0","result":{"hash":"0x424b08395ea83eb09604a6c8e76e95574b657e219fe2c3e2f1574176581bf7e9","size":977,"version":0,"nextblockhash":"0xc2ce96d861414ad229101cc9afaec4ae500f730a2180b54bd14a8dd6147bc8c3","previousblockhash":"0xd32bd8f87d70e74a99425b6c02f196d896bd751f61c85c214490176dd58caf62","merkleroot":"0xae83b91baa8967700f7dec1de0822b3e60eeaefaaf6f505b13c7fe49f474f7c9","time":1587726094,"index":5,"consensus_data":{"primary":0,"nonce":"0000000000000457"},"nextconsensus":"Ad1wDxzcRiRSryvJobNV211Tv7UUiziPXy","confirmations":203,"script":{"invocation":"0c408e48ace06fdd7d9bf536b6cb683f7edd336c60a707df8110f69121273fe7e0353e574c55abf2961ac4f7f2bfef44af07e6121f42e5e2115517b29060e3a7dd3e0c40d56609addaa61f06d9df159f7008ffb889d605742baaf7f95a8283469d6e5a4a76c5814f24efa0452e3c6723d88e43833e917551808d05aca8d46a17f25c72440c40fa0b66a2a41933e39685f7cbf45ba0cef286b3eed5f7d1cb60db4bac3a9c55212efb5b1f4a4c5512b2562f8e0a2ebfbc8951734ca53243ec963bd6839773f5910c40c1c0de79304d8ad7e204dceb880325694e5c34abb25ff23beb61e931ecf384e4f06c13a5ea56273c400ecac9408a3eb8e8cf3b0b358f7b2b6ac5120bb5c77635","verification":"130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb"},"tx":[{"sys_fee":"0","net_fee":"0","txid":"0xae63e96d984673b038c83cfcb94323e37bdab29a53921823544b50df9f7edb54","size":450,"type":"MinerTransaction","version":0,"nonce":1237,"sender":"Ad1wDxzcRiRSryvJobNV211Tv7UUiziPXy","valid_until_block":5,"attributes":[],"vin":[],"vout":[],"scripts":[{"invocation":"0c40a9c72069ad0365a8f0787a236ec60293a9846172e9cdeaeb665586d6c72545bcfa694422f8ccd3e76bce7e27ac8099cc9b3f6322bcfeaf971c9b481a1a308a350c4048f7c2a176a7c8eb73f881aacb0a5bc52bb3b2eeeb2341031496aaadbc043dda02d8c79935ac27ecda0dc7c2561af056946e82ff1a819b56461ad32fce83ab960c4036a238579bbe505150f2ea2e4172eb83cfd614af00c1cfe36791a1eb12cb5565f37668fa09a0fcb2528fffe377c96ec9d63d18aa19a5d6c24c5c97034d1811250c4007c3826543bc03b3b6cecf48fb30ff24033c1aad7a946ac6c54e7fa90173ff3b0fe181936079fc0e7030bdde2b655ae3a7101b8a0bd85fc98de83bb72739a9ce","verification":"130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb"}]}]}}`, + serverResponse: `{"id":1,"jsonrpc":"2.0","result":{"hash":"0x81b74dcfc3a42ef331eec2486231aba300ec9a95b024b0151214c76305d409bb","size":977,"version":0,"nextblockhash":"0xd08e408909ae24de3470a3f231f966e15719910cb7b1a30f356b3e784c1ddf6a","previousblockhash":"0xa39a1769af16a1aa6715179884d503a1266461cf7100a1c73cb1180956cf255b","merkleroot":"0xe74f202d6a9a8dd6ed52f7a8e1bbde8b0f86f801cad5692d391643de9a355cc0","time":1587727442,"index":5,"consensus_data":{"primary":0,"nonce":"0000000000000457"},"nextconsensus":"Ad1wDxzcRiRSryvJobNV211Tv7UUiziPXy","confirmations":203,"script":{"invocation":"0c407f70912fdcd0ce9a70963110eb39ef73ed02512ea63bc1c55577474df8f364a874999b16666888f8a3ca69873054a31ab42dd1fee1ed8605ff65edb39797e34e0c40d59459cb1cc8270d9a813aa444852a5d7714aed0b25373ec07549349c6db32b6c8c2e43cdd7b1ad2a4154cb5ff1222d9d7010877016a59775abdd2c08f253c850c4048b65cb58e0d58f2dd0f5db3b195c5784933d6179d8317217ba46f9deac9a667bffb1afd0dd86bdae6267af4c2605f7401849a0b980fcecfeae95df7f5ca6e140c406d9b1942c5aa80070ad484b3dd76421a3f46327670bea94e3ecb3a94eef8843a75195b55872a7c503acb01ab368cdaa11a9e5fb80d55bbd6b861233ba84edcf8","verification":"130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb"},"tx":[{"sys_fee":"0","net_fee":"0","txid":"0x69d95138263dc54c07826ef1d76f9eb32ff6bf7fc3fc3281194b46ec7683ceb3","size":450,"type":"ContractTransaction","version":0,"nonce":1237,"sender":"Ad1wDxzcRiRSryvJobNV211Tv7UUiziPXy","valid_until_block":5,"attributes":[],"vin":[],"vout":[],"scripts":[{"invocation":"0c40ae62dadb95b21628921adb9ee14e8c1f20d68b9d6ffba218f8e403af70126449435a53525cd6f1d1c871e64a91025866cd8a413ec70e3cde0ddf62931aa22baa0c40c3e09fc8ad46789d645240634ef40bd180e0dba75beae07a37dc2e899b68b4b3b3a67d076ea9444ed143dbb3264702914a4662ff95859d32c9b5bb5bdc9ec1d60c40b2511115482bd860d85f57103fb8cce2cb45ba8461d4e164685b426cb5df1525e6f09dd7aa23db0fec2241bde7c925e22f3cba3824ea461455515dc2a1455f5e0c40c0aee2528e7fd75a0434f4d67da58507e8d349ca29e01e7eafa9f283e8b8c05d06587db7234f111730c14c8a4bfb7a1ffd9493b9696c71e68966c6bf4a832ab7","verification":"130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb"}]}]}}`, result: func(c *Client) interface{} { - hash, err := util.Uint256DecodeStringLE("424b08395ea83eb09604a6c8e76e95574b657e219fe2c3e2f1574176581bf7e9") + hash, err := util.Uint256DecodeStringLE("81b74dcfc3a42ef331eec2486231aba300ec9a95b024b0151214c76305d409bb") if err != nil { panic(err) } - nextBlockHash, err := util.Uint256DecodeStringLE("c2ce96d861414ad229101cc9afaec4ae500f730a2180b54bd14a8dd6147bc8c3") + nextBlockHash, err := util.Uint256DecodeStringLE("d08e408909ae24de3470a3f231f966e15719910cb7b1a30f356b3e784c1ddf6a") if err != nil { panic(err) } - prevBlockHash, err := util.Uint256DecodeStringLE("d32bd8f87d70e74a99425b6c02f196d896bd751f61c85c214490176dd58caf62") + prevBlockHash, err := util.Uint256DecodeStringLE("a39a1769af16a1aa6715179884d503a1266461cf7100a1c73cb1180956cf255b") if err != nil { panic(err) } - merkleRoot, err := util.Uint256DecodeStringLE("ae83b91baa8967700f7dec1de0822b3e60eeaefaaf6f505b13c7fe49f474f7c9") + merkleRoot, err := util.Uint256DecodeStringLE("e74f202d6a9a8dd6ed52f7a8e1bbde8b0f86f801cad5692d391643de9a355cc0") if err != nil { panic(err) } - invScript, err := hex.DecodeString("0c408e48ace06fdd7d9bf536b6cb683f7edd336c60a707df8110f69121273fe7e0353e574c55abf2961ac4f7f2bfef44af07e6121f42e5e2115517b29060e3a7dd3e0c40d56609addaa61f06d9df159f7008ffb889d605742baaf7f95a8283469d6e5a4a76c5814f24efa0452e3c6723d88e43833e917551808d05aca8d46a17f25c72440c40fa0b66a2a41933e39685f7cbf45ba0cef286b3eed5f7d1cb60db4bac3a9c55212efb5b1f4a4c5512b2562f8e0a2ebfbc8951734ca53243ec963bd6839773f5910c40c1c0de79304d8ad7e204dceb880325694e5c34abb25ff23beb61e931ecf384e4f06c13a5ea56273c400ecac9408a3eb8e8cf3b0b358f7b2b6ac5120bb5c77635") + invScript, err := hex.DecodeString("0c407f70912fdcd0ce9a70963110eb39ef73ed02512ea63bc1c55577474df8f364a874999b16666888f8a3ca69873054a31ab42dd1fee1ed8605ff65edb39797e34e0c40d59459cb1cc8270d9a813aa444852a5d7714aed0b25373ec07549349c6db32b6c8c2e43cdd7b1ad2a4154cb5ff1222d9d7010877016a59775abdd2c08f253c850c4048b65cb58e0d58f2dd0f5db3b195c5784933d6179d8317217ba46f9deac9a667bffb1afd0dd86bdae6267af4c2605f7401849a0b980fcecfeae95df7f5ca6e140c406d9b1942c5aa80070ad484b3dd76421a3f46327670bea94e3ecb3a94eef8843a75195b55872a7c503acb01ab368cdaa11a9e5fb80d55bbd6b861233ba84edcf8") if err != nil { panic(err) } @@ -293,7 +294,7 @@ var rpcClientTestCases = map[string][]rpcClientTestCase{ if err != nil { panic(err) } - txInvScript, err := hex.DecodeString("0c40a9c72069ad0365a8f0787a236ec60293a9846172e9cdeaeb665586d6c72545bcfa694422f8ccd3e76bce7e27ac8099cc9b3f6322bcfeaf971c9b481a1a308a350c4048f7c2a176a7c8eb73f881aacb0a5bc52bb3b2eeeb2341031496aaadbc043dda02d8c79935ac27ecda0dc7c2561af056946e82ff1a819b56461ad32fce83ab960c4036a238579bbe505150f2ea2e4172eb83cfd614af00c1cfe36791a1eb12cb5565f37668fa09a0fcb2528fffe377c96ec9d63d18aa19a5d6c24c5c97034d1811250c4007c3826543bc03b3b6cecf48fb30ff24033c1aad7a946ac6c54e7fa90173ff3b0fe181936079fc0e7030bdde2b655ae3a7101b8a0bd85fc98de83bb72739a9ce") + txInvScript, err := hex.DecodeString("0c40ae62dadb95b21628921adb9ee14e8c1f20d68b9d6ffba218f8e403af70126449435a53525cd6f1d1c871e64a91025866cd8a413ec70e3cde0ddf62931aa22baa0c40c3e09fc8ad46789d645240634ef40bd180e0dba75beae07a37dc2e899b68b4b3b3a67d076ea9444ed143dbb3264702914a4662ff95859d32c9b5bb5bdc9ec1d60c40b2511115482bd860d85f57103fb8cce2cb45ba8461d4e164685b426cb5df1525e6f09dd7aa23db0fec2241bde7c925e22f3cba3824ea461455515dc2a1455f5e0c40c0aee2528e7fd75a0434f4d67da58507e8d349ca29e01e7eafa9f283e8b8c05d06587db7234f111730c14c8a4bfb7a1ffd9493b9696c71e68966c6bf4a832ab7") if err != nil { panic(err) } @@ -301,7 +302,8 @@ var rpcClientTestCases = map[string][]rpcClientTestCase{ if err != nil { panic(err) } - tx := transaction.NewMinerTXWithNonce(1237) + tx := transaction.NewContractTX() + tx.Nonce = 1237 tx.ValidUntilBlock = 5 tx.Sender = sender tx.Scripts = []transaction.Witness{ @@ -319,7 +321,7 @@ var rpcClientTestCases = map[string][]rpcClientTestCase{ NextBlockHash: &nextBlockHash, PreviousBlockHash: prevBlockHash, MerkleRoot: merkleRoot, - Time: 1587726094, + Time: 1587727442, Index: 5, NextConsensus: "Ad1wDxzcRiRSryvJobNV211Tv7UUiziPXy", Confirmations: 203, @@ -651,51 +653,52 @@ var rpcClientTestCases = map[string][]rpcClientTestCase{ { name: "positive", invoke: func(c *Client) (i interface{}, err error) { - hash, err := util.Uint256DecodeStringLE("675b5bd2a90a1f5e74b2e4386162240318f86534f4d3061722ba78b4fe10fe53") + hash, err := util.Uint256DecodeStringLE("b3ce8376ec464b198132fcc37fbff62fb39e6fd7f16e82074cc53d263851d969") if err != nil { panic(err) } return c.GetRawTransaction(hash) }, - serverResponse: `{"id":1,"jsonrpc":"2.0","result":"0000d5040000d60ac443bb800fb08261e75fa5925d747d4858610500000000000001fd040140947358ca2dd7543c3ff3f6ea1389a72c3d5ee99f47a9d0ef70bd84a9f57384e76271efc682f6741568c55907b1794b9f520f7d35f39382303bf0206945b5009a409f467419a886aebe6b482e6d5787981d98b58b82959a2858045bf5683665a5c25c502481b2d9655c902c5dcc147546bed58175c2ed16f328cc21e999e19741554063cab34f1613932947a1c346416b12b1ca724198016acc5fd760597539eed74f2069cfe2a8383e99595aefa3234d79d64a39e3f4c64e8cea800469a6f790999c408e2438fab244bdb79e67f6dab9cde0063e523bd0c175657a66e84897cd15eec8bf358661666679bf50334664872616faa366825f36873b16dd2add64c418cd5794534c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e4c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd624c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc24c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee6995450683073b3bb"}`, + serverResponse: `{"id":1,"jsonrpc":"2.0","result":"8000d5040000e903736ceceeceae1806eee0e3ec61e7cce476ce0500000000000001fd08010c40ae62dadb95b21628921adb9ee14e8c1f20d68b9d6ffba218f8e403af70126449435a53525cd6f1d1c871e64a91025866cd8a413ec70e3cde0ddf62931aa22baa0c40c3e09fc8ad46789d645240634ef40bd180e0dba75beae07a37dc2e899b68b4b3b3a67d076ea9444ed143dbb3264702914a4662ff95859d32c9b5bb5bdc9ec1d60c40b2511115482bd860d85f57103fb8cce2cb45ba8461d4e164685b426cb5df1525e6f09dd7aa23db0fec2241bde7c925e22f3cba3824ea461455515dc2a1455f5e0c40c0aee2528e7fd75a0434f4d67da58507e8d349ca29e01e7eafa9f283e8b8c05d06587db7234f111730c14c8a4bfb7a1ffd9493b9696c71e68966c6bf4a832ab794130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb"}`, result: func(c *Client) interface{} { return &transaction.Transaction{} }, check: func(t *testing.T, c *Client, result interface{}) { res, ok := result.(*transaction.Transaction) require.True(t, ok) assert.Equal(t, uint8(0), res.Version) - assert.Equal(t, "675b5bd2a90a1f5e74b2e4386162240318f86534f4d3061722ba78b4fe10fe53", res.Hash().StringBE()) - assert.Equal(t, transaction.MinerType, res.Type) + assert.Equal(t, "b3ce8376ec464b198132fcc37fbff62fb39e6fd7f16e82074cc53d263851d969", res.Hash().StringBE()) + assert.Equal(t, transaction.ContractType, res.Type) assert.Equal(t, false, res.Trimmed) }, }, { name: "verbose_positive", invoke: func(c *Client) (interface{}, error) { - hash, err := util.Uint256DecodeStringLE("265f271088384b2f696e34bea0c8e02cf226351800c0866c1586be521536e579") + hash, err := util.Uint256DecodeStringLE("b3ce8376ec464b198132fcc37fbff62fb39e6fd7f16e82074cc53d263851d969") if err != nil { panic(err) } return c.GetRawTransactionVerbose(hash) }, - serverResponse: `{"jsonrpc":"2.0","id":1,"result":{"sys_fee":"0","net_fee":"0","blockhash":"0x66d1c140fbdc0eaa47e69a6a9c5034ebc3a449db98da565191ab863d1a079906","confirmations":205,"blocktime":1587379353,"txid":"0x79e5361552be86156c86c000183526f22ce0c8a0be346e692f4b388810275f26","size":437,"type":"MinerTransaction","version":0,"nonce":1237,"sender":"AZ81H31DMWzbSnFDLFkzh9vHwaDLayV7fU","valid_until_block":5,"attributes":[],"vin":[],"vout":[],"scripts":[{"invocation":"40f50121bb6ec9d8e0d1c15eea66b2ff7b51bb1bc4b3da27d9eac1d46b59e6a319bb1db4eb710c7f1931b0c2deaa2389a0fc3fe8c761cec40906b7973450c43173402dc082417a6815e722216de0b857eda6c846bf435088d543d2ab89f1dd92488e87b4d2c6508b0db945cbe6968e85c1c6d57274bfc898e82876c5cb08613da5d64053100f0162a41709a37305c300e7d6ac0d46575aab98dade7375b8d9ca980086594f1288dc68da0e0e42913d1c68024f63442a79c9478971d3ad93c5467ec53040a1c3a772a88b09cba8cc8ec3b46c0c0db6ac86519a7fd7db29b43d34e804a22d8839eaeb35e2a1e05d591fbad4ae290b90c6dc02dddbe28b2b3bf0fec2a337dd","verification":"532102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd622102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc22103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee69954ae"}]}}`, + serverResponse: `{"jsonrpc":"2.0","id":1,"result":{"sys_fee":"0","net_fee":"0","blockhash":"0x81b74dcfc3a42ef331eec2486231aba300ec9a95b024b0151214c76305d409bb","confirmations":205,"blocktime":1587727442,"txid":"0x69d95138263dc54c07826ef1d76f9eb32ff6bf7fc3fc3281194b46ec7683ceb3","size":450,"type":"ContractTransaction","version":0,"nonce":1237,"sender":"Ad1wDxzcRiRSryvJobNV211Tv7UUiziPXy","valid_until_block":5,"attributes":[],"vin":[],"vout":[],"scripts":[{"invocation":"0c40ae62dadb95b21628921adb9ee14e8c1f20d68b9d6ffba218f8e403af70126449435a53525cd6f1d1c871e64a91025866cd8a413ec70e3cde0ddf62931aa22baa0c40c3e09fc8ad46789d645240634ef40bd180e0dba75beae07a37dc2e899b68b4b3b3a67d076ea9444ed143dbb3264702914a4662ff95859d32c9b5bb5bdc9ec1d60c40b2511115482bd860d85f57103fb8cce2cb45ba8461d4e164685b426cb5df1525e6f09dd7aa23db0fec2241bde7c925e22f3cba3824ea461455515dc2a1455f5e0c40c0aee2528e7fd75a0434f4d67da58507e8d349ca29e01e7eafa9f283e8b8c05d06587db7234f111730c14c8a4bfb7a1ffd9493b9696c71e68966c6bf4a832ab7","verification":"130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb"}]}}`, result: func(c *Client) interface{} { - blockHash, err := util.Uint256DecodeStringLE("66d1c140fbdc0eaa47e69a6a9c5034ebc3a449db98da565191ab863d1a079906") + blockHash, err := util.Uint256DecodeStringLE("81b74dcfc3a42ef331eec2486231aba300ec9a95b024b0151214c76305d409bb") if err != nil { panic(err) } - sender, err := address.StringToUint160("AZ81H31DMWzbSnFDLFkzh9vHwaDLayV7fU") + sender, err := address.StringToUint160("Ad1wDxzcRiRSryvJobNV211Tv7UUiziPXy") if err != nil { panic(err) } - invocation, err := hex.DecodeString("40f50121bb6ec9d8e0d1c15eea66b2ff7b51bb1bc4b3da27d9eac1d46b59e6a319bb1db4eb710c7f1931b0c2deaa2389a0fc3fe8c761cec40906b7973450c43173402dc082417a6815e722216de0b857eda6c846bf435088d543d2ab89f1dd92488e87b4d2c6508b0db945cbe6968e85c1c6d57274bfc898e82876c5cb08613da5d64053100f0162a41709a37305c300e7d6ac0d46575aab98dade7375b8d9ca980086594f1288dc68da0e0e42913d1c68024f63442a79c9478971d3ad93c5467ec53040a1c3a772a88b09cba8cc8ec3b46c0c0db6ac86519a7fd7db29b43d34e804a22d8839eaeb35e2a1e05d591fbad4ae290b90c6dc02dddbe28b2b3bf0fec2a337dd") + invocation, err := hex.DecodeString("0c40ae62dadb95b21628921adb9ee14e8c1f20d68b9d6ffba218f8e403af70126449435a53525cd6f1d1c871e64a91025866cd8a413ec70e3cde0ddf62931aa22baa0c40c3e09fc8ad46789d645240634ef40bd180e0dba75beae07a37dc2e899b68b4b3b3a67d076ea9444ed143dbb3264702914a4662ff95859d32c9b5bb5bdc9ec1d60c40b2511115482bd860d85f57103fb8cce2cb45ba8461d4e164685b426cb5df1525e6f09dd7aa23db0fec2241bde7c925e22f3cba3824ea461455515dc2a1455f5e0c40c0aee2528e7fd75a0434f4d67da58507e8d349ca29e01e7eafa9f283e8b8c05d06587db7234f111730c14c8a4bfb7a1ffd9493b9696c71e68966c6bf4a832ab7") if err != nil { panic(err) } - verification, err := hex.DecodeString("532102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd622102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc22103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee69954ae") + verification, err := hex.DecodeString("130c2102103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e0c2102a7bc55fe8684e0119768d104ba30795bdcc86619e864add26156723ed185cd620c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20c2103d90c07df63e690ce77912e10ab51acc944b66860237b608c4f8f8309e71ee699140b683073b3bb") if err != nil { panic(err) } - tx := transaction.NewMinerTXWithNonce(1237) + tx := transaction.NewContractTX() + tx.Nonce = 1237 tx.ValidUntilBlock = 5 tx.Sender = sender tx.Scripts = []transaction.Witness{ @@ -714,7 +717,7 @@ var rpcClientTestCases = map[string][]rpcClientTestCase{ NetFee: 0, Blockhash: blockHash, Confirmations: 205, - Timestamp: uint64(1587379353), + Timestamp: uint64(1587727442), }, } }, @@ -909,7 +912,7 @@ var rpcClientTestCases = map[string][]rpcClientTestCase{ { name: "positive", invoke: func(c *Client) (interface{}, error) { - return nil, c.SendRawTransaction(transaction.NewMinerTX()) + return nil, c.SendRawTransaction(transaction.NewContractTX()) }, serverResponse: `{"jsonrpc":"2.0","id":1,"result":true}`, result: func(c *Client) interface{} { @@ -1030,7 +1033,7 @@ var rpcClientErrorCases = map[string][]rpcClientErrorCase{ { name: "sendrawtransaction_bad_server_answer", invoke: func(c *Client) (interface{}, error) { - return nil, c.SendRawTransaction(transaction.NewMinerTX()) + return nil, c.SendRawTransaction(transaction.NewContractTX()) }, }, { @@ -1416,7 +1419,7 @@ var rpcClientErrorCases = map[string][]rpcClientErrorCase{ { name: "sendrawtransaction_unmarshalling_error", invoke: func(c *Client) (interface{}, error) { - return nil, c.SendRawTransaction(transaction.NewMinerTX()) + return nil, c.SendRawTransaction(transaction.NewContractTX()) }, }, { diff --git a/pkg/rpc/server/server_test.go b/pkg/rpc/server/server_test.go index 22e214490..77b669db6 100644 --- a/pkg/rpc/server/server_test.go +++ b/pkg/rpc/server/server_test.go @@ -53,12 +53,12 @@ var rpcTestCases = map[string][]rpcTestCase{ "getapplicationlog": { { name: "positive", - params: `["4108062977676178e8453a8ef84a702e01bb35af8a65c7529d04704fcb5f1e0e"]`, + params: `["fe1a3678b16eca35209acf85397708eb0f1668e4045ad4cd5d2453d3bc0a0a6d"]`, result: func(e *executor) interface{} { return &result.ApplicationLog{} }, check: func(t *testing.T, e *executor, acc interface{}) { res, ok := acc.(*result.ApplicationLog) require.True(t, ok) - expectedTxHash, err := util.Uint256DecodeStringLE("4108062977676178e8453a8ef84a702e01bb35af8a65c7529d04704fcb5f1e0e") + expectedTxHash, err := util.Uint256DecodeStringLE("fe1a3678b16eca35209acf85397708eb0f1668e4045ad4cd5d2453d3bc0a0a6d") require.NoError(t, err) assert.Equal(t, expectedTxHash, res.TxHash) assert.Equal(t, 1, len(res.Executions)) @@ -338,11 +338,11 @@ var rpcTestCases = map[string][]rpcTestCase{ assert.Equal(t, block.Hash(), res.Hash) for i := range res.Tx { tx := res.Tx[i] - require.Equal(t, transaction.MinerType, tx.Transaction.Type) + require.Equal(t, transaction.ContractType, tx.Transaction.Type) - miner := block.Transactions[i] + actualTx := block.Transactions[i] require.True(t, ok) - require.Equal(t, miner.Nonce, tx.Transaction.Nonce) + require.Equal(t, actualTx.Nonce, tx.Transaction.Nonce) require.Equal(t, block.Transactions[i].Hash(), tx.Transaction.Hash()) } }, @@ -743,7 +743,7 @@ var rpcTestCases = map[string][]rpcTestCase{ "sendrawtransaction": { { name: "positive", - params: `["80001300000075a94799633ed955dd85a8af314a5b435ab51903b00400000001eb15931b0544cbb9a283f934ab89a23e73cf90b9ca097bb327a0bcdcddf8ce2e010001f5bc5a9ac7b85a47be381260a06b5a1e7a667ce8f7d7c8baa5cfc6465571377a0030d3dec386230075a94799633ed955dd85a8af314a5b435ab5190301420c4082632495e555507a056eae951ad1893f27163dde40505340f6cf9578e20c3d7ec0c7e00f93cb2e770a7ce3e8a2910deabdd01fd966507a7a29106dd2add583ee290c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20b680a906ad4"]`, + params: `["80000b00000075a94799633ed955dd85a8af314a5b435ab51903b004000000011e4db58df4326140a371d0b0cabecea70226b93157dfb561c73ba8db599ebcb6010001f5bc5a9ac7b85a47be381260a06b5a1e7a667ce8f7d7c8baa5cfc6465571377a0030d3dec386230075a94799633ed955dd85a8af314a5b435ab5190301420c401b3040b6eea83bfbd555554c94e7a0e6077922769f3ac19c1183e14dfd1d6ef6a87658b5499921ac59ae2d2acac10d8f0f6147620e27616bb5b7305fb36b6ce0290c2102b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc20b680a906ad4"]`, result: func(e *executor) interface{} { v := true return &v @@ -857,7 +857,8 @@ func TestRPC(t *testing.T) { require.NoError(t, err) newTx := func() *transaction.Transaction { height := chain.BlockHeight() - tx := transaction.NewMinerTXWithNonce(height + 1) + tx := transaction.NewContractTX() + tx.Nonce = height + 1 tx.ValidUntilBlock = height + 10 tx.Sender = acc.PrivateKey().GetScriptHash() require.NoError(t, acc.SignTx(tx)) @@ -882,7 +883,7 @@ func TestRPC(t *testing.T) { t.Run("getrawtransaction", func(t *testing.T) { block, _ := chain.GetBlock(chain.GetHeaderHash(0)) - TXHash := block.Transactions[1].Hash() + TXHash := block.Transactions[0].Hash() rpc := fmt.Sprintf(`{"jsonrpc": "2.0", "id": 1, "method": "getrawtransaction", "params": ["%s"]}"`, TXHash.StringLE()) body := doRPCCall(rpc, handler, t) result := checkErrGetResult(t, body, false) @@ -894,7 +895,7 @@ func TestRPC(t *testing.T) { t.Run("getrawtransaction 2 arguments", func(t *testing.T) { block, _ := chain.GetBlock(chain.GetHeaderHash(0)) - TXHash := block.Transactions[1].Hash() + TXHash := block.Transactions[0].Hash() rpc := fmt.Sprintf(`{"jsonrpc": "2.0", "id": 1, "method": "getrawtransaction", "params": ["%s", 0]}"`, TXHash.StringLE()) body := doRPCCall(rpc, handler, t) result := checkErrGetResult(t, body, false) @@ -906,7 +907,7 @@ func TestRPC(t *testing.T) { t.Run("getrawtransaction 2 arguments, verbose", func(t *testing.T) { block, _ := chain.GetBlock(chain.GetHeaderHash(0)) - TXHash := block.Transactions[1].Hash() + TXHash := block.Transactions[0].Hash() rpc := fmt.Sprintf(`{"jsonrpc": "2.0", "id": 1, "method": "getrawtransaction", "params": ["%s", 1]}"`, TXHash.StringLE()) body := doRPCCall(rpc, handler, t) txOut := checkErrGetResult(t, body, false) @@ -979,7 +980,8 @@ func TestRPC(t *testing.T) { t.Run("gettxout", func(t *testing.T) { block, _ := chain.GetBlock(chain.GetHeaderHash(0)) - tx := block.Transactions[3] + require.Equal(t, 4, len(block.Transactions)) + tx := block.Transactions[2] rpc := fmt.Sprintf(`{"jsonrpc": "2.0", "id": 1, "method": "gettxout", "params": [%s, %d]}"`, `"`+tx.Hash().StringLE()+`"`, 0) body := doRPCCall(rpc, handler, t) @@ -1002,7 +1004,7 @@ func TestRPC(t *testing.T) { expected = append(expected, tx.Tx.Hash()) } for i := 0; i < 5; i++ { - tx := transaction.NewMinerTX() + tx := transaction.NewContractTX() assert.NoError(t, mp.Add(tx, &FeerStub{})) expected = append(expected, tx.Hash()) } diff --git a/pkg/rpc/server/testdata/testblocks.acc b/pkg/rpc/server/testdata/testblocks.acc index f09535357a0e6b19b6b56da87ea6f2282b0eb4f4..1885c851b4d677204000a2f7d78340405f5fff87 100644 GIT binary patch literal 113846 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