diff --git a/pkg/core/blockchainer/blockchainer.go b/pkg/core/blockchainer/blockchainer.go index 318ad2b72..dfbd4b39a 100644 --- a/pkg/core/blockchainer/blockchainer.go +++ b/pkg/core/blockchainer/blockchainer.go @@ -22,7 +22,6 @@ type Blockchainer interface { AddHeaders(...*block.Header) error AddBlock(*block.Block) error AddStateRoot(r *state.MPTRoot) error - BlockHeight() uint32 CalculateClaimable(value *big.Int, startHeight, endHeight uint32) *big.Int Close() HeaderHeight() uint32 diff --git a/pkg/core/mempool/feer.go b/pkg/core/mempool/feer.go index b2333f755..cc86de243 100644 --- a/pkg/core/mempool/feer.go +++ b/pkg/core/mempool/feer.go @@ -10,4 +10,5 @@ import ( type Feer interface { FeePerByte() int64 GetUtilityTokenBalance(util.Uint160) *big.Int + BlockHeight() uint32 } diff --git a/pkg/core/mempool/mem_pool.go b/pkg/core/mempool/mem_pool.go index 883890c8f..060b7f3d6 100644 --- a/pkg/core/mempool/mem_pool.go +++ b/pkg/core/mempool/mem_pool.go @@ -5,7 +5,6 @@ import ( "math/big" "sort" "sync" - "time" "github.com/nspcc-dev/neo-go/pkg/core/transaction" "github.com/nspcc-dev/neo-go/pkg/util" @@ -30,8 +29,8 @@ var ( // item represents a transaction in the the Memory pool. type item struct { - txn *transaction.Transaction - timeStamp time.Time + txn *transaction.Transaction + blockStamp uint32 } // items is a slice of item. @@ -148,8 +147,8 @@ func checkBalance(tx *transaction.Transaction, balance utilityBalanceAndFees) er // Add tries to add given transaction to the Pool. func (mp *Pool) Add(t *transaction.Transaction, fee Feer) error { var pItem = item{ - txn: t, - timeStamp: time.Now().UTC(), + txn: t, + blockStamp: fee.BlockHeight(), } mp.lock.Lock() if mp.containsKey(t.Hash()) { diff --git a/pkg/core/mempool/mem_pool_test.go b/pkg/core/mempool/mem_pool_test.go index d297efbb4..e2a1f670c 100644 --- a/pkg/core/mempool/mem_pool_test.go +++ b/pkg/core/mempool/mem_pool_test.go @@ -23,6 +23,10 @@ func (fs *FeerStub) FeePerByte() int64 { return fs.feePerByte } +func (fs *FeerStub) BlockHeight() uint32 { + return 0 +} + func (fs *FeerStub) GetUtilityTokenBalance(uint160 util.Uint160) *big.Int { return balance } diff --git a/pkg/rpc/server/server_helper_test.go b/pkg/rpc/server/server_helper_test.go index 391fdf7da..d10b473ee 100644 --- a/pkg/rpc/server/server_helper_test.go +++ b/pkg/rpc/server/server_helper_test.go @@ -91,6 +91,10 @@ func (fs *FeerStub) FeePerByte() int64 { return 0 } +func (fs *FeerStub) BlockHeight() uint32 { + return 0 +} + func (fs *FeerStub) GetUtilityTokenBalance(acc util.Uint160) *big.Int { return big.NewInt(1000000 * native.GASFactor) }