const Wallet = require('../wallet'); const CoinTransaction = require('../wallet/CoinTransaction'); const MetaDataTransaction = require('../wallet/MetaDataTransaction'); //const MetaDataPool= require('../wallet/metaData-Pool'); const { MaxNumOfCoinTransactions, MaxNumOfMetadataTransactions} = require('../config'); var TransactionPointer; var NumberOfClearedCoins; var NumberOfClearedMeta; class Miner { constructor(blockchain, transactionPool, wallet, p2pServer) { this.blockchain = blockchain; this.transactionPool = transactionPool; this.wallet = wallet; this.p2pServer = p2pServer; } mine() { //const validCoinTransactions = this.transactionPool.validCoinTransactions(); Temeperarly changed without checking transaction validity var SelectedCoinTransactions = this.transactionPool.cointransactions.slice(0, MaxNumOfCoinTransactions); var SelectedMetadataTransactions = this.transactionPool.metaDataTransactions.slice(0, MaxNumOfMetadataTransactions); //const validTransactions = validCoinTransactions.Concat(validMetaDataTransactions); // SelectedCoinTransactions = validCoinTransactions.splice (0, MaxNumOfCoinTransactions); //this will return only limited number of transactions to be stored // for (TransactionPointer=0; TransactionPointerMaxNumOfCoinTransactions){ // this.transactionPool.clearCoin();// clears only selected cointransactions this.transactionPool.clearCoin(SelectedCoinTransactions.length-1); this.transactionPool.clearMeta(SelectedMetadataTransactions.length); this.p2pServer.broadcastClearCoinTransactions(); this.p2pServer.broadcastClearMetadataTransactions(); SelectedCoinTransactions = []; SelectedMetadataTransactions =[]; // } // else { // this.transactionPool.clearAll(); // this.p2pServer.broadcastClearAllTransactions(); // } return block; } } //module.exports = {NumberOfClearedCoins, NumberOfClearedMeta}; module.exports = Miner;