This repository has been archived by the owner on Jun 11, 2024. It is now read-only.
Version 4.0.0
Change Log
v4.0.0 (2020-11-11)
This release implements 4 LIPs as part of the Network Economics and Network Consensus phases:
Network Economics
- Change to byte based block size limit
- Establish block validity by applying transactions sequentially
- Replace static fee system by dynamic fee system
- Implement fee estimation algorithm for dynamic fee system
- Introduce minimum balance requirement for accounts
- Make multisignature accounts more flexible, prevent spamming, and prevent signature mutability
- Enable transaction invalidation by using nonces instead of timestamps
Network Consensus
- Uniform ordering of delegates list
- Introduce vote locking periods and new vote weight definition
- Use Randao-based scheme to include standby delegates and reorder delegate list
- Punish BFT violations
Released packages
- lisk-sdk@4.0.0
- lisk-elements@4.0.0
- lisk-commander@4.0.0
- lisk-framework@0.6.0
- @liskhq/lisk-api-client@4.0.0
- @liskhq/lisk-client@4.0.0
- @liskhq/lisk-cryptography@2.5.0
- @liskhq/lisk-chain@0.1.0
- @liskhq/lisk-bft@0.1.0
- @liskhq/lisk-dpos@0.1.0
- @liskhq/lisk-p2p@0.5.0
- @liskhq/lisk-passphrase@3.0.1
- @liskhq/lisk-transaction-pool@0.3.0
- @liskhq/lisk-transactions@4.0.0
- @liskhq/lisk-validator@0.4.0
LIPs
- Network Economics - Implement transaction pool version 3 #4841
- Network Economics - Implement dynamic fee system #4837
- Network Economics - Improve multi-signature solution #4836
- Network Consensus - Update DPoS voting system with BFT punishment #4915
Improvements
- Remove BigNum from the dependency #4573
- Migrate mocha unit test to jest #4892
- Update to use yarn for the monorepo management #4828
All the issues
### Closed issues: - Update all readme to remove crypti license [#5950](https://github.com//issues/5950) - API /transactions and /node/transactions sort by nonce [#5710](https://github.com//issues/5710) - Transaction with higher nonce is removed from TxPool [#5657](https://github.com//issues/5657) - Fix npm audit and deep scan issues [#5433](https://github.com//issues/5433) - API Delegates endpoint asc sort returns error [#5318](https://github.com//issues/5318) - buffer.readBigUint64BE is not a function [#5305](https://github.com//issues/5305) - Unused payload properties can increase overall parsing of the messages [#5212](https://github.com//issues/5212) - Notification Events [#5162](https://github.com//issues/5162) - Add test case for same sender and delegate POM transaction [#5157](https://github.com//issues/5157) - Forging should not stop even when all hashOnion is used [#5154](https://github.com//issues/5154) - Invalid error from transaction pool in case of invalid account nonce [#5151](https://github.com//issues/5151) - Fix floating promise [#5147](https://github.com//issues/5147) - Inconsistent response for delegate information on `/api/accounts` endpoint [#5141](https://github.com//issues/5141) - Missing required validation for some attributes of block headers in PoM transaction [#5139](https://github.com//issues/5139) - Endpoint /api/blocks should include seed reveal [#5136](https://github.com//issues/5136) - PoM transaction is accepted but the pomHeights is not updated for an account in the DB [#5134](https://github.com//issues/5134) - Endpoint for votes not validating filter [#5128](https://github.com//issues/5128) - Wrong selection for top 101 delegates as active delegates [#5123](https://github.com//issues/5123) - Improve error message for Unlock transaction [#5122](https://github.com//issues/5122) - Invalid reference of old config structure [#5120](https://github.com//issues/5120) - Sync fails on the height 103 [#5116](https://github.com//issues/5116) - Fast chain switching does not work for the future rounds [#5115](https://github.com//issues/5115) - Transaction is rejected during broadcast with no info [#5114](https://github.com//issues/5114) - Complete alpha testing for Network Consensus - Quality assurance [#5111](https://github.com//issues/5111) - Delegate should not punished by DPoS violation for first rounds [#5110](https://github.com//issues/5110) - Synchronizer is calling removed function getForgerPublicKeysForRound [#5109](https://github.com//issues/5109) - Incorrect subscription of the channel event [#5108](https://github.com//issues/5108) - Incorrect error message on the unlock transaction [#5107](https://github.com//issues/5107) - Unlocking is not displayed in the account/delegate [#5106](https://github.com//issues/5106) - HTTP API endpoint /api/delegates/forgers is not working properly [#5105](https://github.com//issues/5105) - Votes doesn't take LSK as amount [#5104](https://github.com//issues/5104) - Username should not be part of delegate object in accounts [#5103](https://github.com//issues/5103) - Update swagger schemas [#5098](https://github.com//issues/5098) - Add seedReveal to the block header schema [#5096](https://github.com//issues/5096) - Cleanup code related to multi-signature and in-memory channel events [#5095](https://github.com//issues/5095) - Fix variable naming with spelling mistakes [#5093](https://github.com//issues/5093) - Add reward property in the chain state [#5091](https://github.com//issues/5091) - Vote transaction does not handle the self-vote properly [#5077](https://github.com//issues/5077) - Remove old vote transaction [#5074](https://github.com//issues/5074) - Update maxTransctionsPerBlock to maxPayloadSize [#5071](https://github.com//issues/5071) - Update devnet genesis block to have 103 delegates [#5070](https://github.com//issues/5070) - Use consistent naming format for key in key-value table [#5064](https://github.com//issues/5064) - Grammar and punctuation issues in swagger.yml [#5061](https://github.com//issues/5061) - last block header while deleting a block should consider 2 blocks before [#5054](https://github.com//issues/5054) - Update sorting logic to feePriorty than fee in forger strategy [#5053](https://github.com//issues/5053) - DEFAULT_REPLACEMENT_FEE_DIFF should default to 10 in TransactionList [#5047](https://github.com//issues/5047) - Add more test scenarios to TxPool [#5046](https://github.com//issues/5046) - Add unit tests for min fee per bytes and name fee [#5045](https://github.com//issues/5045) - Quality assurance - Alpha testing for Network Economics phase [#5044](https://github.com//issues/5044) - Add test for apply transactions in specific order [#5040](https://github.com//issues/5040) - Add more detailed logging for transaction pool [#5034](https://github.com//issues/5034) - Improve error messages [#5033](https://github.com//issues/5033) - Invalid value specified for MIN_REMAINING_BALANCE [#5030](https://github.com//issues/5030) - PeerId is undefined while banning a peer in some cases [#5028](https://github.com//issues/5028) - Could not respond to peer request getHighestCommonBlock [#5026](https://github.com//issues/5026) - Default min entrance fee priority for transaction pool should be zero [#5025](https://github.com//issues/5025) - Do not log private information for blocks in the logger [#5023](https://github.com//issues/5023) - Signatures property in transation not checked for empty signature [#5021](https://github.com//issues/5021) - Invalid error message in TxPool for per account limit [#5017](https://github.com//issues/5017) - Update API client with latest changes to endpoints [#5015](https://github.com//issues/5015) - signMultiSignatureTransaction should not fail due to missing transaction id [#5012](https://github.com//issues/5012) - Remove transaction ID validation [#5009](https://github.com//issues/5009) - Serialize block and transaction data when sending over the network [#5007](https://github.com//issues/5007) - Add multisignature information to account endpoint [#5005](https://github.com//issues/5005) - Commander sign transaction should take care empty signature space [#5004](https://github.com//issues/5004) - Commander transaction:sign does not produce signatures in correct order [#5002](https://github.com//issues/5002) - verifyMultiSignatureTransaction should check undefiend error [#5001](https://github.com//issues/5001) - Commander transaction:sign should expect empty mandatory or optional keys [#5000](https://github.com//issues/5000) - Transaction create command for multi-signature does not work with flag [#4999](https://github.com//issues/4999) - TypeError: Do not know how to serialize a BigInt [#4998](https://github.com//issues/4998) - P2P Error occurred during synchronisation [#4996](https://github.com//issues/4996) - API node/transactions gives invalid response [#4995](https://github.com//issues/4995) - Endpoint /api/accounts is broken [#4994](https://github.com//issues/4994) - Processable transaction is not sorted properly [#4984](https://github.com//issues/4984) - Account endpoint is not returning the result [#4983](https://github.com//issues/4983) - Account limit should be respected in transaction pool [#4982](https://github.com//issues/4982) - Transaction pool should not reject unprocessable transactions [#4981](https://github.com//issues/4981) - Transaction pool should accept unprocessable transactions [#4980](https://github.com//issues/4980) - Promote should take promotable transactions to apply [#4979](https://github.com//issues/4979) - Transaction pool should be started in the application [#4978](https://github.com//issues/4978) - Burnt fee is not calculated correctly for genesis block [#4976](https://github.com//issues/4976) - Increase transaction releaseLimit [#4974](https://github.com//issues/4974) - Create PoM transaction create command [#4973](https://github.com//issues/4973) - Add missing implementation of transaction pool [#4968](https://github.com//issues/4968) - Remove `git add` from lint-staged task [#4965](https://github.com//issues/4965) - Update config/constant to use camel case instead of capital snake case [#4963](https://github.com//issues/4963) - Fix flag description of commander [#4962](https://github.com//issues/4962) - Remove network identifier from the constructor of transaction [#4961](https://github.com//issues/4961) - Remove transaction store from the state store [#4960](https://github.com//issues/4960) - Update lisk-transaction helpers to use new sign interface [#4953](https://github.com//issues/4953) - Intermittent "Peer networkId did not match our own" error [#4952](https://github.com//issues/4952) - Update state store interface to support new information [#4951](https://github.com//issues/4951) - Typesafe StateStorePrepare [#4949](https://github.com//issues/4949) - Remove multiple input handling from commander [#4945](https://github.com//issues/4945) - Update delegate, votes and voters HTTP API endpoints [#4944](https://github.com//issues/4944) - Update BFT library not to include standby delegates for the calculation [#4943](https://github.com//issues/4943) - Update DPoS library to generate forger list from voteWeight list [#4941](https://github.com//issues/4941) - Update DPoS library to have shuffle function [#4940](https://github.com//issues/4940) - Update DPoS library to calculate random seed [#4939](https://github.com//issues/4939) - Update DPoS library to snapshot totalVotesReceived to voteWeight in consensus state [#4938](https://github.com//issues/4938) - Update DPoS library to validate seedReveal value [#4937](https://github.com//issues/4937) - Update DPoS library to provide information of an address is standby delegate or not [#4936](https://github.com//issues/4936) - Update delegate list to be based on address [#4933](https://github.com//issues/4933) - Add network identifier in block signature [#4932](https://github.com//issues/4932) - Add seedReveal to the block header [#4931](https://github.com//issues/4931) - Create hash onion creation command [#4930](https://github.com//issues/4930) - Create an unlocking transaction command [#4929](https://github.com//issues/4929) - Update create vote transaction command [#4928](https://github.com//issues/4928) - Create a PoM transaction and helper function [#4927](https://github.com//issues/4927) - Create an unlocking transaction and helper function [#4926](https://github.com//issues/4926) - Update the current vote transaction and a helper function to the new protocol [#4925](https://github.com//issues/4925) - Update account with new properties [#4924](https://github.com//issues/4924) - Create protocol spec for selection of delegates [#4923](https://github.com//issues/4923) - Create protocol spec for shuffling of delegate [#4922](https://github.com//issues/4922) - Create protocol spec for calculation of random seed [#4921](https://github.com//issues/4921) - Create protocol spec for proof of misbehavior transaction [#4920](https://github.com//issues/4920) - Create protocol spec for unlocking transaction [#4919](https://github.com//issues/4919) - Create protocol spec for vote transaction [#4918](https://github.com//issues/4918) - signData, signDataWithPassphrase throws invalid error when missing passphrase [#4917](https://github.com//issues/4917) - Network Consensus - Update DPoS voting system with BFT punishment [#4915](https://github.com//issues/4915) - Add feePriorityQueue to TxPool [#4914](https://github.com//issues/4914) - Add command to get fee estimation [#4910](https://github.com//issues/4910) - Update dependency for all the packages [#4909](https://github.com//issues/4909) - Create command to sign transaction for multi-signature and non-multisignature account [#4908](https://github.com//issues/4908) - DPoS module unit tests are unstable [#4907](https://github.com//issues/4907) - Update base transaction sign function [#4906](https://github.com//issues/4906) - Create Commander command for multisignatures [#4905](https://github.com//issues/4905) - BatchError: deadlock detected in Transaction entity tests [#4903](https://github.com//issues/4903) - Migrate mocha unit test to jest [#4892](https://github.com//issues/4892) - Migrate mocha integration tests to jest [#4891](https://github.com//issues/4891) - Wrong signature serialization in MultiSig Registration [#4890](https://github.com//issues/4890) - Update create register multisignature transaction and sign multisignature functionalities [#4889](https://github.com//issues/4889) - Update commander to create new transactions [#4888](https://github.com//issues/4888) - Dev chain cannot restart after SIGTERM [#4885](https://github.com//issues/4885) - Remove unused mocha tests [#4882](https://github.com//issues/4882) - commander: creation transaction for custom network (betanet) return error [#4873](https://github.com//issues/4873) - Add transaction verification in transport to check nonce and signatures before entering tx-pool [#4870](https://github.com//issues/4870) - Add functionality to replace transaction in tx-pool with same nonce but higher fee priority [#4869](https://github.com//issues/4869) - Create a job to promote and evict transactions [#4868](https://github.com//issues/4868) - Data access getAccount functions should return Account Class instance [#4867](https://github.com//issues/4867) - Create a job to verify and move transaction from received to pending list [#4865](https://github.com//issues/4865) - Create a new interface for transaction pool [#4864](https://github.com//issues/4864) - Add fill block functionality in forger module [#4862](https://github.com//issues/4862) - Create remove transactions functionality in the transaction pool [#4861](https://github.com//issues/4861) - Benchmark default parameters of transaction pool [#4860](https://github.com//issues/4860) - Create add transactions functionality in the transaction pool [#4859](https://github.com//issues/4859) - Integrate new transaction pool implementation and cleanup [#4856](https://github.com//issues/4856) - Create transaction list class [#4855](https://github.com//issues/4855) - Create priority queue structure with maxHeap and minHeap [#4854](https://github.com//issues/4854) - Create get all transactions from the transaction pool to provide to Actions and HTTP API [#4853](https://github.com//issues/4853) - Remove number of transactions per block validation from `lisk-chain` and update maxPayloadLength constant [#4851](https://github.com//issues/4851) - Add nonce in the account class, and add nonce verification in the base transaction [#4850](https://github.com//issues/4850) - Remove reward/fee destribution from the lisk-dpos library and move to the lisk-chain to calculate per block [#4849](https://github.com//issues/4849) - Add MIN_REMAINING_BALANCE static property in the base transaction, and verify after updating the account [#4848](https://github.com//issues/4848) - Add fee and nonce, and remove timestamp in the getBasicBytes calculation [#4847](https://github.com//issues/4847) - Update fee validation with new minFeePerByte and nameFee properties [#4846](https://github.com//issues/4846) - Remove transaction independent verify and total spending checks [#4845](https://github.com//issues/4845) - Remove HTTP API and socket.io endpoints for signatures and multi-signature [#4844](https://github.com//issues/4844) - Remove handling signatures from the transport and framework actions [#4843](https://github.com//issues/4843) - Remove multi-signature and signature handling from transaction-pool [#4842](https://github.com//issues/4842) - Network Economics - Implement transaction pool version 3 [#4841](https://github.com//issues/4841) - Remove second signature registration transaction [#4840](https://github.com//issues/4840) - Update multi-signature registration transaction [#4839](https://github.com//issues/4839) - Remove signature and signSignature, and multi-signature handling from Base Transaction, and replace with signatures verification [#4838](https://github.com//issues/4838) - Network Economics - Implement dynamic fee system [#4837](https://github.com//issues/4837) - Network Economics - Improve multi-signature solution [#4836](https://github.com//issues/4836) - Update to use yarn for the monorepo management [#4828](https://github.com//issues/4828) - Expose new actions from application/node [#4827](https://github.com//issues/4827) - Framework should emit an event on new block and delete block [#4826](https://github.com//issues/4826) - Emit event new block and delete block with accounts [#4825](https://github.com//issues/4825) - Emit account state change events from framework [#4824](https://github.com//issues/4824) - Invalid imports in p2p-lib [#4813](https://github.com//issues/4813) - Console logger should not require bunyan to parse [#4812](https://github.com//issues/4812) - Remove lodash dependency from chain library [#4810](https://github.com//issues/4810) - Remove direct storage dependency on synchronizer test [#4809](https://github.com//issues/4809) - Reduce technical debt before continuing with Network Economics/Consensus phase [#4806](https://github.com//issues/4806) - Block header cached should be refilled if goes over certain threshold [#4793](https://github.com//issues/4793) - Peer Banning is not executed correctly and related tests are outdated. [#4789](https://github.com//issues/4789) - Application errors during start [#4786](https://github.com//issues/4786) - Remove global reference [#4784](https://github.com//issues/4784) - Move loader to synchronizer [#4783](https://github.com//issues/4783) - Commander build fails with TypeError [#4781](https://github.com//issues/4781) - Remove logger and use debug in lisk libraries [#4774](https://github.com//issues/4774) - Replace the usage of _lastBlock with getter lastBlock [#4772](https://github.com//issues/4772) - Rename lisk-blocks library to lisk-chain [#4771](https://github.com//issues/4771) - Update framework node to use data access for read operation from blocks library [#4770](https://github.com//issues/4770) - Change lisk-blocks to lisk-chain [#4766](https://github.com//issues/4766) - Jest coverage path is not up to date [#4756](https://github.com//issues/4756) - Commander is not showing the coverage [#4753](https://github.com//issues/4753) - Adjust the framework structure for better organisation and seperation of concern [#4751](https://github.com//issues/4751) - Remove scope property from chain [#4748](https://github.com//issues/4748) - Locale should be specified when using toLocaleString [#4747](https://github.com//issues/4747) - Create Account class and consistently use outside of lisk-blocks [#4746](https://github.com//issues/4746) - Change state store account/chain state get and getOrDefault to async [#4745](https://github.com//issues/4745) - Lisk elements tests failing on development [#4743](https://github.com//issues/4743) - Create lisk-blocks data access layer function for `getFirstBlockIdOfLastRounds` [#4741](https://github.com//issues/4741) - Update BFT to use blocks instance to obtain block header data [#4737](https://github.com//issues/4737) - BFT fails, forging stops when restarting a node [#4727](https://github.com//issues/4727) - One usage of BigNum is still present [#4725](https://github.com//issues/4725) - Create DB read functions in lisk-blocks which are used in chain module [#4723](https://github.com//issues/4723) - Add badges to lisk sdk [#4720](https://github.com//issues/4720) - Move chain module to the application level [#4710](https://github.com//issues/4710) - Consolidate all the blocks/states data access to lisk-chain [#4709](https://github.com//issues/4709) - Migrate pending elements libraries to typescript and Jest [#4705](https://github.com//issues/4705) - Update lisk-bft to use lisk-dpos to require as module [#4701](https://github.com//issues/4701) - Add contribution guidelines to node logs [#4693](https://github.com//issues/4693) - Lisk-elements browsertests are not working [#4692](https://github.com//issues/4692) - Split Block slots implementation in correct domain [#4690](https://github.com//issues/4690) - Update lisk-client and lisk-elements to Jest and cleanup settings [#4683](https://github.com//issues/4683) - Convert lisk-passphrase mocha test to jest [#4682](https://github.com//issues/4682) - Convert lisk-transaction-pool mocha test to jest [#4681](https://github.com//issues/4681) - Convert lisk-validator mocha test to jest [#4680](https://github.com//issues/4680) - Convert lisk-transactions mocha test to jest [#4679](https://github.com//issues/4679) - Convert lisk-api-client mocha test to jest [#4678](https://github.com//issues/4678) - Convert lisk-cryptography mocha test to jest [#4677](https://github.com//issues/4677) - Convert lisk-constants mocha test to jest [#4675](https://github.com//issues/4675) - Update the specs of specs output format to be consistent [#4672](https://github.com//issues/4672) - Update lisk-bft to Typescript [#4670](https://github.com//issues/4670) - Update lisk-dpos to Typescript [#4669](https://github.com//issues/4669) - Remove nethash from the code [#4663](https://github.com//issues/4663) - P2P improve ban/unban and blacklisting functionalities [#4644](https://github.com//issues/4644) - P2P move PeerServer logic to it is own class [#4638](https://github.com//issues/4638) - Move blocks, bft and dpos submodules to elements [#4636](https://github.com//issues/4636) - Add multi signature protocol specs [#4604](https://github.com//issues/4604) - Remove BigNum from the dependency [#4573](https://github.com//issues/4573) - Missing declarations for npm modules [#4551](https://github.com//issues/4551) - Remove "delegateMinHeightActive" property from block headers [#4413](https://github.com//issues/4413) - Create blocks header cache in block module [#4318](https://github.com//issues/4318) - Update Dpos module to consistently use state store [#4136](https://github.com//issues/4136) - Refactor and clean the interfaces for BaseTransaction [#3867](https://github.com//issues/3867) - Refine the application config JSON structure [#3520](https://github.com//issues/3520) - Move network communication functionality to the application level [#3358](https://github.com//issues/3358) - Remove istanbul-middleware from the application [#2919](https://github.com//issues/2919)Merged pull requests:
- Remove crypti license - Closes #5950 #5952 (shuse2)
- Add nonce sort on the node/transactions #5719 (shuse2)
- Keep higher nonce transaction in the pool - Closes #5657 #5661 (ishantiw)
- Add buffer library and inject into client package - Closes #5305 #5417 (shuse2)
- Improve error message on fee replacement - Closes #5151 #5168 (shuse2)
- Add edge case test for pom transaction - Closes #5157 #5159 (mitsuaki-u)
- Update to allow forge block when seedreveal is used up - Closes #5154 #5156 (shuse2)
- Fix floating async - Closes #5147 #5148 (shuse2)
- Fix inconsistent account api response - Closes #5141 #5142 (shuse2)
- Missing required validation for some attributes of block headers in PoM transaction - Closes #5139 #5140 (nazarhussain)
- Update transport constants - Closes #4974 #5138 (shuse2)
- Add seed reveal to blocks API - Closes #5136 #5137 (shuse2)
- Assign a new array to fields to new Account object - Closes #5134 #5135 (ishantiw)
- Update create vote command to use LSK - Closes #5104 #5132 (mitsuaki-u)
- Update account response to include unlocking - Closes #5106 #5131 (shuse2)
- Update FCS to check active delegate or not with 2 rounds setting #5130 (shuse2)
- Endpoint for votes not validating filter - Closes #5128 #5129 (pablitovicente)
- Update error message for punishment and waiting period - Closes #5122 #5127 (shuse2)
- Wrong selection for top 101 delegates as active delegates - Closes #5123 #5126 (nazarhussain)
- Fix error message - Closes #5120 #5125 (shuse2)
- Update API account endpoint for username - Closes #5103 #5121 (mitsuaki-u)
- Update FCS to only trigger for the same round - Closes #5115 #5119 (shuse2)
- Fix error message on delegate not found - Closes #5114 #5118 (shuse2)
- Delegate should not punished by DPoS violation for first rounds - Closes #5110 #5117 (ManuGowda)
- Remove call to getForgerPublicKeysForRound - Closes #5109 and #5105 #5113 (shuse2)
- Incorrect subscription of the channel event - Closes #5108 #5112 (ManuGowda)
- Update swagger schemas - Closes #5098 #5102 (pablitovicente)
- Fix to have schema for seed reveal - Closes #5096 #5101 (shuse2)
- BFT to exclude standby delegate - Closes #4943 #5100 (ishantiw)
- Create Proof-of-Misbheavior transaction - Closes #4927 #5099 (mitsuaki-u)
- Cleanup code related to multi-signature and in-memory channel events - Closes #5095 #5097 (ManuGowda)
- Fix variable naming with spelling mistakes - Closes #5093 #5094 (ManuGowda)
- Add lastReward property to the chain state - Closes #5091 #5092 (shuse2)
- Add command to create pom transaction - Closes #4973 #5090 (shuse2)
- Implement isStandbyDelegate function in DPoS - Closes #4936 #5089 (ishantiw)
- Update config structure - Closes #3520 #5086 (shuse2)
- Update DPoS library to validate seedReveal value - Closes #4937 #5085 (ManuGowda)
- Update DPoS library to calculate random seed - Closes #4939 #5084 (nazarhussain)
- Update delegate, votes and voters HTTP API endpoints - Closes #4944 #5083 (pablitovicente)
- Remove old vote transaction and exception handling - Closes #5074 #5082 (shuse2)
- Update maxTransctionsPerBlock to maxPayloadSize - Closes #5071 #5081 (pablitovicente)
- Add shuffleDelegateListBasedOnRandomSeed function - Closes #4940 #5080 (ishantiw)
- Fix handling of self-vote - Closes #5077 #5079 (shuse2)
- Fix small issues in output of random seed generator - Closes #5063 #5078 (nazarhussain)
- Update devnet genesis block - Closes #5070 #5076 (shuse2)
- Use consistent naming format for key in key-value table - Closes #5064 #5075 (ManuGowda)
- Remove network identifier from the constructor of transaction - Closes #4961 #5073 (ManuGowda)
- Update create vote transaction command - Closes #4928 #5072 (pablitovicente)
- Create an unlocking transaction command - Closes #4929 #5069 (ManuGowda)
- Protocol spec for uniform delegate shuffling - Closes #4922 #5068 (ishantiw)
- Create proof-of-misbehavior transaction protocol specs - Closes #4920 #5067 (mitsuaki-u)
- Update forgers list to take from vote weights list - Closes #4941 #5066 (shuse2)
- Fix grammar issues in swagger - Closes #5061 #5065 (chris529)
- Create protocol spec for calculation of random seed - Closes #4921 #5063 (nazarhussain)
- Add seed reveal in the block header - Closes #4931 #5062 (shuse2)
- Add vote weight snapshot - Closes #4938 #5060 (shuse2)
- Add protocol spec for forger selection - Closes #4923 #5059 (shuse2)
- Add network identifier in block signature - Closes #4932 #5057 (shuse2)
- Update sorting logic to feePriorty than fee in forger strategy - Closes #5053 #5056 (nazarhussain)
- Fix to get last blocks with offset when deleting a block - Closes #5054 #5055 (shuse2)
- Add test scenarios txpool - Closes #5046 #5052 (ishantiw)
- Add hash onion function - Closes #4930 #5051 (shuse2)
- Add tests for transaction minFee - Closes #5045 #5050 (mitsuaki-u)
- Add unlock transaction - Closes #4926 #5049 (shuse2)
- Add new vote transaction - Closes #4925 #5048 (shuse2)
- Add protocol spec for unlock transaction - Closes #4919 #5043 (shuse2)
- Add vote protocol spec - Closes #4918 #5042 (shuse2)
- Add integration test for transaction order - Closes #5040 #5041 (shuse2)
- Fix not to expose serialize format outside of chain library - Closes #4867 #5039 (shuse2)
- Remove unnecessary methods - Closes #3867 #5038 (shuse2)
- Remove transaction state store - Closes #4960 #5037 (shuse2)
- Update transaction pool to emit remove event and log - Closes #5034 #5036 (shuse2)
- Improve error messages - Closes #5033 #5035 (pablitovicente)
- Invalid value specified for MIN_REMAINING_BALANCE - Close #5030 #5032 (nazarhussain)
- Fix getHighestCommonBlock and getBlockFromId handling - Closes #5026 #5031 (shuse2)
- Fix variable and the condition for incoming payload - Closes #5028 #5029 (ishantiw)
- Default min entrance fee priority for transaction pool should be zero - Closes #5025 #5027 (nazarhussain)
- Signatures property in transation not checked for empty signature - Closes #5021 #5024 (pablitovicente)
- Update error message - Closes #5017 #5022 (shuse2)
- Remove transaction id validation - Closes #5009 #5020 (mitsuaki-u)
- Commander sign transaction should take care empty signature space - Closes #5004 #5018 (pablitovicente)
- Update API client with latest changes to endpoints - Closes #5015 #5016 (ManuGowda)
- Commander transaction:sign does not produce signatures in correct order - Closes #5002 #5014 (pablitovicente)
- Add multisignature information to account endpoint - Closes #5005 #5013 (ManuGowda)
- Fix to allow to sign with only mandatory or optional - Closes #5000 #5011 (shuse2)
- Fix commander to allow -t flag for multisig - Closes #4999 #5010 (shuse2)
- Serialize block data when sending over the network - Closes #5007 #5008 (ishantiw)
- verifyMultiSignatureTransaction should check undefiend error - Closes #5001 #5006 (pablitovicente)
- Handle block data to log properly and fix event log - Closes #4998 #5003 (ishantiw)
- API node/transactions gives invalid response - Closes #4995 #4997 (ManuGowda)
- Separate chain and consensus state, and update transaction - Closes #4951 #4992 (shuse2)
- Update Framework and Lisk-chain to have updated account - Closes #4924 #4991 (shuse2)
- Fix data consistency with list and pool - Closes #4982 #4990 (shuse2)
- Update to call transaction apply with promotable while promoting - Closes #4979 #4989 (shuse2)
- Fix string comparison for nonce - Closes #4980 #4988 (shuse2)
- Fix to start/stop transaction pool in application/node - Closes #4978 #4987 (shuse2)
- Fix sorting for bigint - Closes #4984 #4986 (shuse2)
- Fix usage of await in account endpoint - Closes #4983 #4985 (shuse2)
- Fix genesis block being calculated for burnt fee - Closes #4976 #4977 (shuse2)
- Update api transaction pool - Closes #4853 #4975 (shuse2)
- Create Commander command for multisignatures - Closes #4905 #4972 (nazarhussain)
- Integrate new transaction pool implementation and cleanup - Closes #4856 #4971 (ManuGowda)
- Update config to be consistently camelCase - Closes #4963 #4970 (shuse2)
- Add transaction pool missing functions - Closes #4968 #4969 (shuse2)
- Fix flag description - Closes #4962 #4967 (shuse2)
- Remove
git add
from lint-staged task - Closes #4965 #4966 (ManuGowda) - Implement removeTransaction function in TxPool - Closes #4861 #4964 (ishantiw)
- Update lisk-transaction helpers to use new sign interface - Closes #4953 #4959 (pablitovicente)
- Add fill block functionality in forger module - Closes #4862 #4958 (nazarhussain)
- Add job for promoting and evicting transaction in pool - Closes #4868 #4957 (mitsuaki-u)
- Add fee priority queue - Closes #4914 #4956 (ishantiw)
- Create command to sign transaction for multi-signature and non-multisignature account - Closes #4908 #4955 (ManuGowda)
- Fix to always choose distinct voted delegate list - Closes #4907 #4954 (shuse2)
- Remove complex source handling - Closes #4945 #4948 (shuse2)
- signData, signDataWithPassphrase throws invalid error when missing passphrase - Closes #4917 #4947 (ManuGowda)
- Update base transaction sign to support passing multiple passphrases #4946 (pablitovicente)
- Migrate mocha unit test to jest - Closes #4892 #4916 (nazarhussain)
- Implement addTransaction of TxPool #4912 (ishantiw)
- Update dependencies - Closes #4909 #4911 (shuse2)
- BatchError: deadlock detected in Transaction entity tests - Closes #4903 #4904 (nazarhussain)
- Migrate mocha integration tests to jest - Closes #4891 #4902 (shuse2)
- Update register multisignature utility #4901 (pablitovicente)
- Remove signature and signSignature, and multi-signature handling from Base Transaction, and replace with signatures verification - Closes #4838 #4900 (ManuGowda)
- Add new txpool interface - Closes #4864 #4899 (shuse2)
- Add min balance check for recipient - Closes #4848 #4898 (shuse2)
- Update commander with dynamic fee and nonce - Closes #4888 #4897 (mitsuaki-u)
- Create TransactionList to manage transactions based on nonce - Closes #4855 #4896 (shuse2)
- Add min heap and max heap data structure - Closes #4854 #4895 (shuse2)
- Dynamic Fee and Nonce - Closes #4846 and #4847 #4887 (mitsuaki-u)
- Add nonce in the account class, and add nonce verification in the base transaction - Closes #4850 #4886 (nazarhussain)
- Remove numberOfTransactions and maxTransactionsPerBlock - Closes #4851 #4884 (ishantiw)
- Remove outdated tests in mocha - Closes #4882 #4883 (shuse2)
- Remove usage of storage from synchroniser tests - Closes #4809 #4881 (ishantiw)
- Add MIN_REMAINING_BALANCE static property in the base transaction, and verify after updating the account - Closes #4848 #4880 (nazarhussain)
- Remove multi signature handling from transaction pool and transport - Closes #4842 and #4843 #4879 (shuse2)
- Remove transaction independent verify and total spending checks - Closes #4845 #4878 (shuse2)
- Remove second signature registration transaction - Closes #4840 #4877 (ManuGowda)
- Remove HTTP API and socket.io endpoints for signatures and multi-signature - Closes #4844 #4876 (nazarhussain)
- Move reward fee distribution to lisk-chain - Closes #4849 #4875 (shuse2)
- Update multi-signature registration transaction - Closes #4839 #4874 (pablitovicente)
- Updating CONTRIBUTING_GUIDE #4871 (sridharmeganathan)
- Jest integration cleanup fix #4835 (fchavant)
- Move test app functionalities to sample app - Closes #4833 #4834 (shuse2)
- Add data access actions to framework - Closes #4827 #4832 (mitsuaki-u)
- Framework should emit an event on new block and delete block - Closes #4826 #4831 (pablitovicente)
- Emit event new block and delete block with accounts - Closes #4825 #4830 (pablitovicente)
- Add and update yarn, lerna setup - Closes #4828 #4829 (shuse2)
- Improve console logging - Closes #4812 #4823 (shuse2)
- Block header cached should be refilled if goes over certain threshold - Closes #4793 #4822 (pablitovicente)
- Merge 3.0.2 development #4821 (shuse2)
- Replace lodash usage in lisk-chain - Closes #4810 #4820 (mitsuaki-u)
- Add badges to lisk-sdk - Closes #4720 #4815 (ishantiw)
- Update all the imports in p2p tests - Closes #4813 #4814 (ishantiw)
- Remove getFirstBlockIdOfLastRounds and SQL file - Closes #4741 #4807 (mitsuaki-u)
- Remove istanbul-middleware from the application - Closes #2919 #4805 (pablitovicente)
- Locale should be specified when using toLocaleString - Closes #4747 #4804 (pablitovicente)
- Move loader functionality to Synchronizer - Closes #4783 #4802 (ishantiw)
- Remove global reference - Closes #4784 #4799 (pablitovicente)
- Remove logger and use debug in lisk libraries - Closes #4774 #4798 (ManuGowda)
- Change lisk-blocks to lisk-chain - Closes #4766 #4795 (ManuGowda)
- Update to use blocks and dpos in BFT - Closes #4737 #4794 (shuse2)
- Update framework persistence reads - Closes #4770 #4790 (mitsuaki-u)
- Create account class - Closes #4746 #4788 (ishantiw)
- Fix commander tsbuild setup - Closes #4781 #4782 (shuse2)
- Update pull request (PULL_REQUEST_TEMPLATE.md) template without review checklist #4773 (sridharmeganathan)
- P2P add PeerServer class - Closes #4638 & #4789 #4767 (valamidev)
- Move chain module to the application level - Closes #4710 #4765 (nazarhussain)
- Change state store account/chain state get and getOrDefault to async - Closes #4745 #4758 (pablitovicente)
- Add initialization of node and network object directly from application - Closes #4710 #4757 (nazarhussain)
- Update coverage path - Closes #4756 #4755 (shuse2)
- Fix commander coverage - Closes #4753 #4754 (shuse2)
- Adjust the framework structure for better organisation and seperation of concern - Closes #4751 #4752 (nazarhussain)
- Remove scope property from chain - Closes #4748 #4750 (pablitovicente)
- Update lisk-dpos to use state store consistently- Closes #4136 #4749 (shuse2)
- Lisk elements tests failing on development - Closes #4743 #4744 (ManuGowda)
- Adjust the file structure to move modules/chain to contoller/node - Closes #4710 #4742 (nazarhussain)
- BFT fails, forging stops when restarting a node - Closes #4727 #4740 (nazarhussain)
- Split Block slots implementation in correct domain - Closes #4690 #4739 (pablitovicente)
- Move network to app level #4733 (ishantiw)
- Update the specs of specs output format to be consistent - Closes #4672 #4731 (nazarhussain)
- DB Read access from lisk-blocks - Closes #4723 and #4318 #4730 (mitsuaki-u)
- One usage of BigNum is still present - Closes #4725 #4726 (pablitovicente)
- P2P improve peerBook and Peer banning #4722 (valamidev)
- Remove nethash from the code - Closes #4663 #4721 (pablitovicente)
- Remove browser test compatibility - Closes #4692 #4719 (shuse2)
- Remove bignum library - Closes #4573 #4712 (shuse2)
- Update lisk-bft to Typescript - Closes #4670 #4711 (nazarhussain)
- Fix DeepScan found issues - Closes #4707 #4708 (pablitovicente)
- Update lisk-elements/client jest and cleanup - Closes #4683 #4706 (shuse2)
- Update lisk-dpos to Typescript - Closes #4669 #4704 (ManuGowda)
- Update lisk-bft to use lisk-dpos to require as module - Closes #4701 #4703 (ManuGowda)
- Convert lisk-cryptography tests to jest - Closes #4677 #4698 (valamidev)
- Convert lisk-transaction-pool tests to jest - Closes #4681 #4697 (valamidev)
- Add log with contribution guidelines - Closes #4693 #4694 (michielmulders)
- Convert lisk-passphrase tests to jest - Closes #4682 #4691 (valamidev)
- Convert lisk-transactions to jest - Closes #4679 #4689 (shuse2)
- Convert lisk-validator tests to jest - Closes #4680 #4688 (mitsuaki-u)
- Convert lisk-constant mocha tests to jest - Closes #4675 #4685 (mitsuaki-u)
- Update api client to jest - Closes #4678 #4684 (shuse2)
- Move the libraries into lisk-elements - Closes #4636 #4637 (shuse2)
- Multi signature protocol specs - Closes #4604 #4608 (pablitovicente)