Skip to content

@ManuGowda ManuGowda released this May 6, 2021

Change Log

5.0.5 (2021-05-06)

Full Changelog

Released packages

Patch releases

  • lisk-sdk@5.0.5
  • lisk-commander@5.0.2
  • lisk-framework@0.7.5
  • lisk-elements@5.0.5
  • @liskhq/lisk-api-client@5.0.4
  • @liskhq/lisk-bft@0.2.3
  • @liskhq/lisk-chain@0.2.2
  • @liskhq/lisk-client@5.0.5
  • @liskhq/lisk-codec@0.1.2
  • @liskhq/lisk-cryptography@3.0.2
  • @liskhq/lisk-genesis@0.1.2
  • @liskhq/lisk-p2p@0.6.2
  • @liskhq/lisk-transaction-pool@0.4.2
  • @liskhq/lisk-transactions@5.0.3
  • @liskhq/lisk-tree@0.1.2
  • @liskhq/lisk-validator@0.5.2
  • @liskhq/lisk-framework-forger-plugin@0.1.5
  • @liskhq/lisk-framework-http-api-plugin@0.1.5
  • @liskhq/lisk-framework-monitor-plugin@0.1.5
  • @liskhq/lisk-framework-report-misbehavior-plugin@0.1.5

Bugs

  • Fail to calculate random seed on migrated nodes #6381
  • Forging fails when genesis block timestamp is in the future #6356
  • Update node onConnect procedure #6336
  • With the sentry node setup, forging node do not get block on time #6300
All the issues

Closed issues

  • Fail to calculate random seed on migrated nodes #6381
  • Forging fails when genesis block timestamp is in the future #6356
  • Update node onConnect procedure #6336
  • With the sentry node setup, forging node do not get block on time #6300
  • Rename cryptography function name regarding base32 address #6283

Merged pull requests

Assets 2

@shuse2 shuse2 released this Mar 24, 2021

Change Log

5.0.4 (2021-03-24)

Full Changelog

Released packages

This release fixes a number of bugs and induces a breaking change in the P2P protocol. Due to a change in P2P message encoding, applications built using older versions of lisk-p2p are no longer compatible with this release (peers operating older versions will be banned due to a malformed message format). Applications built using older versions of the Lisk SDK v5 will therefore need to be updated.

Patch releases

  • lisk-sdk@5.0.4
  • lisk-commander@5.0.1
  • lisk-framework@0.7.4
  • lisk-elements@5.0.4
  • @liskhq/lisk-api-client@5.0.3
  • @liskhq/lisk-bft@0.2.2
  • @liskhq/lisk-chain@0.2.1
  • @liskhq/lisk-client@5.0.4
  • @liskhq/lisk-codec@0.1.1
  • @liskhq/lisk-cryptography@3.0.1
  • @liskhq/lisk-genesis@0.1.1
  • @liskhq/lisk-p2p@0.6.1
  • @liskhq/lisk-transaction-pool@0.4.1
  • @liskhq/lisk-transactions@5.0.2
  • @liskhq/lisk-tree@0.1.1
  • @liskhq/lisk-validator@0.5.1
  • @liskhq/lisk-framework-forger-plugin@0.1.4
  • @liskhq/lisk-framework-http-api-plugin@0.1.4
  • @liskhq/lisk-framework-monitor-plugin@0.1.4
  • @liskhq/lisk-framework-report-misbehavior-plugin@0.1.4

Bugs

  • The prefix parameter of getAddressFromBase32Address does not work #6185
  • Private IP check logic is wrong #6192
  • P2P message formats are inconsistent #6193
  • NodeInfo options do not have the field number #6190
All the issues

Closed issues

  • P2P communication in binary cannot be decoded in other client #6265
  • Update postBlock and postTransactionsAnnouncement channel communication to hex #6254
  • P2P communication is broken due to change in message format #6251
  • Codec validateSchema should check for the field number existence #6191
  • P2P message formats are inconsistent #6193
  • NodeInfo options do not have the field number #6190
  • Private IP check logic is wrong #6192
  • The prefix parameter of getAddressFromBase32Address does not work #6185

Merged pull requests

Assets 2

@shuse2 shuse2 released this Jan 11, 2021

Change Log

v5.0.3 (2021-01-11)

Full Changelog

Released packages

Patch releases

  • lisk-sdk@5.0.3
  • lisk-elements@5.0.3
  • lisk-framework@0.7.3
  • @liskhq/lisk-client@5.0.3
  • @liskhq/lisk-transactions@5.0.1
  • @liskhq/lisk-framework-forger-plugin@0.1.3
  • @liskhq/lisk-framework-http-api-plugin@0.1.3
  • @liskhq/lisk-framework-monitor-plugin@0.1.3
  • @liskhq/lisk-framework-report-misbehavior-plugin@0.1.3

Bugs

  • Expose getBytes functions from lisk-transactions #6058
All the issues

Closed issues

  • Update nodejs version to use LTS (12.20.1) #6052
  • Expose getBytes functions from lisk-transactions #6058

Merged pull requests

Assets 2

@shuse2 shuse2 released this Jan 11, 2021

Change Log

v5.0.2 (2021-01-11)

Full Changelog

Released packages

Patch releases

  • lisk-sdk@5.0.2
  • lisk-elements@5.0.2
  • lisk-framework@0.7.2
  • @liskhq/lisk-bft@0.2.1
  • @liskhq/lisk-client@5.0.2
  • @liskhq/lisk-framework-forger-plugin@0.1.2
  • @liskhq/lisk-framework-http-api-plugin@0.1.2
  • @liskhq/lisk-framework-monitor-plugin@0.1.2
  • @liskhq/lisk-framework-report-misbehavior-plugin@0.1.2

Bugs

  • Standby delegate often has reduced reward #6047
  • Lisk Client for browser #4163
All the issues

Closed issues

  • Add browser field in package.json #3348
  • Lisk Client for browser #4163
  • Standby delegate often has reduced reward #6047

Merged pull requests

Assets 2

@shuse2 shuse2 released this Dec 14, 2020

Change Log

v5.0.1 (2020-12-14)

Full Changelog

Released packages

Patch releases

  • lisk-sdk@5.0.1
  • lisk-elements@5.0.1
  • lisk-framework@0.7.1
  • @liskhq/lisk-api-client@5.0.1
  • @liskhq/lisk-client@5.0.1
  • @liskhq/lisk-framework-forger-plugin@0.1.1
  • @liskhq/lisk-framework-http-api-plugin@0.1.1
  • @liskhq/lisk-framework-monitor-plugin@0.1.1
  • @liskhq/lisk-framework-report-misbehavior-plugin@0.1.1

Bugs

  • HTTP status code when client IP is not allowed #6037
  • Application crashes when some specific actions are called over a limit #6034
  • Relative rootPath keeps node from booting #6035
  • WSClient from lisk-api-client needs to be usable from browser #6036
All the issues

Closed issues

  • HTTP status code when client IP is not allowed #6037
  • Application crashes when some specific actions are called over a limit #6034
  • Relative rootPath keeps node from booting #6035
  • WSClient from lisk-api-client needs to be usable from browser #6036

Merged pull requests

Assets 2

@shuse2 shuse2 released this Dec 2, 2020

Change Log

v5.0.0 (2020-12-01)

Full Changelog

This release implements 12 LIPs as part of the Network Longevity phase:

Network Longevity

Released Packages

  • lisk-sdk@5.0.0
  • lisk-elements@5.0.0
  • lisk-framework@0.7.0
  • lisk-commander@5.0.0
  • @liskhq/lisk-cryptography@3.0.0
  • @liskhq/lisk-db@0.1.0
  • @liskhq/lisk-passphrase@3.0.1
  • @liskhq/lisk-utils@0.1.0
  • @liskhq/lisk-transaction-pool@0.4.0
  • @liskhq/lisk-tree@0.1.0
  • @liskhq/lisk-validator@0.5.0
  • @liskhq/lisk-codec@0.1.0
  • @liskhq/lisk-chain@0.2.0
  • @liskhq/lisk-p2p@0.6.0
  • @liskhq/lisk-transactions@5.0.0
  • @liskhq/lisk-api-client@5.0.0
  • @liskhq/lisk-bft@0.2.0
  • @liskhq/lisk-genesis@0.1.0
  • @liskhq/lisk-client@5.0.0
  • @liskhq/lisk-framework-forger-plugin@0.1.0
  • @liskhq/lisk-framework-http-api-plugin@0.1.0
  • @liskhq/lisk-framework-monitor-plugin@0.1.0
  • @liskhq/lisk-framework-report-misbehavior-plugin@0.1.0

Improvements

All the issues

Closed issues:

  • Update lisk-sdk README #6032
  • Lisk Commander build contains npm-shrinkwrap with dev dependencies #6030
  • Report misbehavior fails when delegate has zero balance #6027
  • Unformatted JSON-RPC request crashes the application #6026
  • Update sodium native and buffer packages #6024
  • APIClient event is outdated and type in incorrect #6021
  • when using app:network:event, the content must be validated #6019
  • Update default nodejs version to 12.20.0 #6018
  • Use api-client in framework plugins #6016
  • Fix inconsistency in base32 address function #6014
  • Update action and event handler to simplify the interface #6012
  • lisk-api-client does not resolve asset name #6006
  • Framework IPC channel action invoke missing check in error handling #6002
  • Fix codec to be able to decode/encode empty object #6000
  • Framework readme has non-existing event information #5999
  • Update lisk-transaction readme #5997
  • When action fails it doesn't return the actual error #5996
  • Lisk Commander cannot find module 'globby' #5995
  • Timeout for action "monitor:getForkStats" in API Client when node is syncing #5986
  • Wrong logic for nonce validation on transaction.create #5983
  • Add functional test for actions and events using APIClient #5979
  • IPCClient should be able to connect to running node #5975
  • Export api client from elements, client and sdk #5971
  • Remove ipc property from config #5965
  • Remove unused event declaration from application #5963
  • Remove peers HTTP API functional test #5958
  • Complete alpha testing for SDK 5.0 #5957
  • Add JSON format conversion function to APIClient #5955
  • Update getForgers endpoint to include full validator properties #5954
  • Update Pom plugin to expose endpoint in action and remove http server #5945
  • Update monitor plugin to expose all non-prometheus endpoints to actions #5944
  • Update forger plugin to use action and events #5943
  • Fix prometheus api data #5941
  • Rename transaction fee util names #5938
  • Scope globally declared variables to root describe #5934
  • Rename non constructor variables to camelCase #5933
  • Implement WSClient connection for APIClient #5928
  • Implement account namespace for APIClient #5927
  • Implement block namespace for APIClient #5926
  • Implement node namespace for APIClient #5925
  • Implement transaction namespace for APIClient #5924
  • Implement IPCClient connection and base functions for APIClient #5923
  • Add basic scaffold and types for APIClient #5922
  • Integrate WS server with controller and enable channel communication #5921
  • Add WS server on framework and update application config #5920
  • Improve tool sets for UI development #5919
  • Update actions/events communication format to JSON-RPC #5918
  • Exported configuration file is missing few required TS attributes. #5907
  • Export monitoring and report misbehavior plugins from sdk #5900
  • Add shared state to Monitor Plugin #5898
  • Refactor BFT to expose a function to check contradicting block header #5894
  • BFT should initialize maxHeightPrevoted to genesis block height #5893
  • Test PoM plugin to detect forks in network #5890
  • Loading a plugin as child process failed which is not exported from an npm package #5888
  • Create API endpoint for Prometheus (api/prometheus/metrics) #5887
  • Create GET (api/stats/forks) for forks events with block header #5886
  • Create GET api/stats/network for Peer connection statistics #5885
  • GET /api/stats/transactions propagation endpoint #5884
  • Create report misbehavior plugin #5883
  • Create periodic job to clean up old blockheaders in PoM plugin #5881
  • Create API endpoint for submitting password to PoM plugin #5880
  • Create PoM transaction with conflicting blockheaders in PoM plugin #5879
  • Add functionality to find conflicting block for new blocks in PoM plugin #5878
  • Add functionality for adding new blocks in PoM plugin #5877
  • Create package for the PoM plugin and setup default configs #5876
  • Update nodejs version to use LTS (12.19.0) #5874
  • Use codec to encode and decode previously forged info #5873
  • Remove unused custom diff logic #5865
  • Include meta property in HTTP api response #5864
  • Reject outbound connection if it sends unexpected messages #5861
  • Message validation required when handling incoming payload #5857
  • ReadError: Database is not open #5851
  • Remove unnecessary senderAddress from asset apply interface #5850
  • Invalid module id validation error message #5849
  • Validate module asset at the time of registration #5848
  • Validate module at the time of registration #5847
  • Application should start with minimum configuration possible #5846
  • Genesis block and config is not up-to-date #5845
  • Add rate limit on getLastBlock, getBlocksFromId and getHighestCommonBlock #5844
  • Add getUnlockings action on dpos module #5843
  • Create base32 and binary address conversion functions #5842
  • hash-onion and passphrase:encrypt and passphrase:decrypt should also exist in commander #5840
  • Update updateForgerStatus to be more safe #5839
  • Save diff every block and when deleting block throw error if diff does not exist #5837
  • Block synchronizer should validate block when received #5835
  • Chain state is not rollbacked correctly #5833
  • Synchronizer can run twice at the same time #5828
  • Update framework readme #5827
  • getTransaction endpoint returns invalid amount of transactions #5824
  • Remove unused roundLength from lisk-genesis #5821
  • Validate module id when registration #5815
  • Hash-onion config should be validated #5813
  • Fix DPoS error messages and remove unwanted validation #5809
  • Error: 'The value of "value' is out of range" when querying HTTP API for large block height #5808
  • Error Failed to restore blocks from blocks temp table when starting fresh node #5807
  • RateLimit counter for getPeers should be reset #5804
  • Non existing event from peers are not banned #5801
  • lisk-genesis create genesis block function does not order address by length #5800
  • Controller.pid is not deleted #5798
  • Error log for transaction verification should show internal error #5797
  • Error getting transactions from network at new node start #5796
  • Update asset names #5795
  • Deleting blocks while syncing happen in incorrect order #5794
  • Delegate without valid hash onion is unable to forge #5793
  • Error transaction id string is unreadable format #5786
  • DPoS should not ban or accept punishment during bootstrap period #5780
  • SDK package is not exporting correct config #5775
  • Chain module is not emitting updated account on delete #5774
  • Next forging time is shown in ms #5773
  • chain library should sort the genesis account considering the length #5768
  • Update README for all packages #5766
  • Allow signing with same passphrase multiple times #5762
  • Missing peer banning for a few scenarios #5761
  • Add TxPool config options to the app config #5760
  • Tests missing in network related to banning and previous peers #5759
  • PoM transaction for delegate with balance lower than block reward is not accepted #5758
  • Swagger spec for BlockHeader does not match with response #5757
  • Unlock transaction with invalid unlock height should fail with correct error #5755
  • Vote transaction does not affect the voter balance #5751
  • Remove "LSK" from balance error message #5749
  • Spellcheck and fix the grammatical errors #5746
  • Error occurred during synchronization #5742
  • Consistently use networkIdentifier instead of networkID #5739
  • Update senderID to senderAddress #5738
  • Delegate already registered error for non-delegate accounts #5734
  • Complete alpha testing for SDK 5.0 #5732
  • Swagger schema validation failure for plugin apis #5730
  • Fix duplicate entries in configuration #5727
  • Extend DPoS module tests coverage #5726
  • API api/delegates does not show registered delegates #5723
  • API api/voters does not capture the votes received #5722
  • Get api/forgers meta data should show count #5721
  • Extend Keys module test coverage #5720
  • Return readable error message format KVStore #5718
  • Unnecessary username validation for delegate registration #5717
  • Remove baseFee property from base asset #5715
  • Test Lisk client compatibility with client-side environments #5714
  • HTTP Plugin validation rejects valid transaction #5713
  • Submitting a transaction with below minFee requirement gives txPool feePriority error #5712
  • Rename validateTransactionSchema to validateTransaction #5708
  • Buffer JSON format is written in file log #5707
  • Update to use hex for representation of buffer in string #5706
  • Fee not collected from sender for any transaction #5704
  • Check all TODO and FIXME comments #5701
  • Add missing consensus related tests #5700
  • P2P throws unhandled error with invalid data #5699
  • Fastchain switching fails to process block #5698
  • Processor should check block version statically #5691
  • Remove redundant checks from lisk-chain #5690
  • Framework folder structure should follow class structure #5689
  • BFT property is not calculated #5688
  • Call stack error while processing large number of accounts in genesis block #5687
  • Keys module validation errors for genesis block provide wrong account index #5685
  • Endpoint /api/blocks returns invalid error message #5684
  • Cleanup commander pallets #5682
  • Add support to export JSON object for genesis block in lisk-genesis #5680
  • Add optional flag in MerkleTree to use pre-hashed leaf values #5675
  • Add utility function getMinFee to lisk-transactions library #5673
  • StateStoreMock should be defined in lisk-chain for testing #5672
  • Add action to return registered module and assets along with name #5671
  • Update rootPath in controller config to dataPath #5667
  • Expose essential schema from framework #5665
  • Improve coverage and tests in general for token module #5663
  • Transaction with higher nonce is removed from TxPool #5657
  • Create a new event VALIDATOR_CHANGED in lisk-chain #5656
  • Improve coverage and tests in general for keys module #5653
  • Type of genesis block is not consistent #5649
  • Fix outdated lisk-coded protocol spec #5647
  • Initial min active height for validator should be genesisBlockHeight + 1 #5646
  • Add support for module action and events #5645
  • Update network identifier to use block id instead of transaction root #5644
  • Update lisk-genesis to support on-chain architecture #5640
  • Update variable names of module interface #5639
  • Add del on state store account #5631
  • Expose legacy address from cryptography #5625
  • Expose required interface for module development #5623
  • Update transaction-pool to support on-chain architecture #5619
  • Update nvm version to use LTS #5616
  • Update protocol spec to support on-chain architecture #5615
  • Cleanup unused code and integration tests #5614
  • Update lisk-bft to support on-chain architecture #5613
  • Update framework/node to support on-chain architecture #5612
  • Update application to support on-chain architecture #5611
  • Update processor to handle on-chain architecture hooks #5610
  • Update lisk-chain to support the on-chain architecture #5609
  • Create DPoS module #5608
  • Create Keys module #5607
  • Create Sequence module #5606
  • Create Token module #5605
  • Create BaseModule and BaseAsset with module skeletons #5604
  • Introduce on-chain architecture #5603
  • Transaction validate function should decode asset before validating #5601
  • Plugins data should be associated to the data path of the application #5598
  • HTTP Plugin error handling incorrect for POST /api/transactions #5594
  • Add interface startAndListen to IPCChannel #5585
  • /api/peers should not include Buffer result #5583
  • isEncryptedPassphrase does not accept all valid bip39 passwords #5582
  • Move /api/forgers to HTTP API plugin #5576
  • Wrong calculation for votesReceived forging info #5574
  • Update transaction create, sign, signature functions #5571
  • Add an action to calculate next forging time for delegates #5570
  • Add Stop function in job queue #5567
  • Remove duplicate lisk-utils functionalities #5566
  • Add validator, utils, codec and tree to lisk-client package and db, utils, p2p from SDK and elements #5565
  • /api/blocks?height=10 should return data as an array #5564
  • Remove lodash from framework #5563
  • unload() not being called in plugins when running plugins as child process #5562
  • Cleanup round calculation in forger plugin #5559
  • Fix unlock transaction validate asset error path #5557
  • Add an action to expose all the delegates #5556
  • Invalid BigInt check for uint32 #5554
  • Save forgers missed block information #5552
  • External types d.ts is not published to the repo #5551
  • lastBlockId should be type bytes #5544
  • Expose decodeBlock from base plugin #5541
  • Fast chain switching fails on the common block #5531
  • Higher nonce transactions are rejected by pool #5529
  • Update application state to have only fields that are required in framework #5528
  • Rename wsPort -> port in framework for websocket port #5527
  • Add temporal complete diff save #5522
  • Update genesis block and config reading to use fromJSON function #5513
  • Update child process IPC communication integration test #5512
  • Update P2P examples #5511
  • Remove all references of public actions feature from controller #5509
  • Restarting the synchronization should successfully restart the synchronization #5508
  • Fail to reload temp blocks because of maxPrevoteHeight #5507
  • While syncing it fails to process block because of maxHeightPrevoted #5506
  • Remove diff stored on finality and not store when equal #5505
  • Update SDK exported libraries #5501
  • Schema issue with protocol-spec generator for multisignature #5498
  • Add getSchema action on framework #5497
  • Block synchronization mechanism error #5496
  • Add index file to application and controller #5494
  • Remove usage of treeStructure in Merkle Tree #5491
  • Node should restart without error #5490
  • Consolidate devnet config and place it in lisk-sdk root folder #5488
  • Synchronization should end successfully #5486
  • Peer should not be banned by getTransactions endpoint #5484
  • Apply format (prettier) for all the files #5478
  • Remove modules/http_api and enable eslint rules on framework #5477
  • Update eslint version #5476
  • Create and export toJSON and toObject from lisk-codec #5473
  • Rename protocolVersion to networkVersion #5472
  • Remove public key from account state and all the usage of public key #5471
  • Add functional test setup for http api plugin #5460
  • Define and update swagger.yml #5459
  • Codec should be able to encode/decode genesis block asset #5454
  • Use lastBlockHeaders from state store in bft #5453
  • Update dev-dependencies for all the packages #5449
  • Move communityIdentifier from genesis block to configuration #5447
  • Update jest coverage setting #5446
  • Redefine exposed actions from the framework #5440
  • Fix npm audit and deep scan issues #5433
  • Improved and more readable validation error format from Lisk SDK #5432
  • Expose data access accounts interface to return buffer #5428
  • Decode fail when fieldNumber and type are identical in the nested case #5426
  • Getting multiple data using data access should not throw #5425
  • Decode fail with optional fields #5420
  • Redefine P2P communication and message formats after using lisk-codec #5419
  • Update all regexpr to be valid and match valid data #5418
  • Update the regex for application version to be flexible and just follow semantic versioning #5416
  • Update diff data structure to comply with lisk-codec #5411
  • Refactor code and improve unit/integration tests #5404
  • Make all lisk-cryptography functions to consistently use Buffer for keys #5403
  • Possible issue in transaction ordering or test setup #5400
  • Update lisk-codec interface type #5395
  • Add validation keyword for data type #5394
  • Create lisk-utils package #5392
  • Update SDK badge style #5391
  • Update all config and logs to use Base64 instead of hex #5390
  • Update event name to be consistent across SDK #5389
  • Implement genesis block validation function in lisk-genesis #5386
  • Update framework to use updated schema #5378
  • Update commander to use updated cryptography and block header schema #5377
  • Update BFT to use updated block header schema #5376
  • Update DPoS library to use new block header schema #5375
  • Update transaction pool to adapt to the new schema #5373
  • Update generic and specific schema validation in lisk-transactions #5370
  • Update all transaction related protocol spec #5368
  • Improve diff function performance #5364
  • Add extra protocol-spec and tests for lisk-codec #5360
  • Update lisk-cryptography to treat address, public/private key as buffer #5358
  • Update lisk-db to use value as Buffer #5357
  • Add schema validation on lisk-codec #5356
  • Add JSON decode and encode for the lisk-codec #5354
  • Benchmark lisk-tree performance #5349
  • Update database key constant usage to unified format #5345
  • Update reader/writer interface to support the decode #5343
  • Implement constructor for Merkle Tree Class #5340
  • Update all protocol-specs to follow new address format #5335
  • Refactor remaining tests in the framework #5331
  • Update configurator not to use stdin and stdout #5330
  • Logs are not saved under the rootPath #5329
  • Remove crypti copyright from readme for new packages #5325
  • Remove rebuild module from the framework #5320
  • Improve framework/controller code base to better adopt typescript #5312
  • Transport has wrong constructor interface #5306
  • Benchmark encode/decode performance #5303
  • Update lisk-validator to check the new address format #5301
  • Create protocol spec for Base32 address format #5300
  • Create GET /api/stats/blocks propagation endpoint #5295
  • Create package for the monitor plugin and setup default configs #5291
  • Send notification on missedBlock, createdBlock and node start and node stop #5290
  • Create GET /api/voters #5289
  • Create PATCH /api/forging endpoint #5288
  • Create GET /api/forging/info endpoint #5287
  • Add synchronization mechanism with framework #5286
  • Add event listers to keep track of registered forger information #5285
  • Create package for the forging helper plugin and setup default configs #5284
  • Update genesis block for devnet #5283
  • Update lisk-bft to handle bootstrap period #5282
  • Update lisk-dpos to handle bootstrap period #5281
  • Replace epochTime with genesis block timestamp #5280
  • Remove current genesis block specific handling from the framework and lisk-chain #5279
  • Create BlockProcessorV0 which handles the genesis block #5278
  • Implement genesis block creation function in lisk-genesis #5277
  • Create lisk-genesis package in elements #5276
  • Implement diff calculation function in the lisk-chain #5275
  • Remove undo steps from everywhere #5274
  • Save the calculated BFT properties on the consensus state #5273
  • Use the diff stored in the database when deleting the block #5272
  • Take the diff from the StateStore of lisk-chain and store them in the database #5271
  • Update lisk-transactions to use encoded data #5270
  • Update lisk-p2p to communicate with encoded data #5269
  • Update framework transport to return and receive encoded data #5268
  • Update lisk-bft to use encoded data #5267
  • Update lisk-dpos to use encoded data #5266
  • Update framework forger to store encoded data #5265
  • Update lisk-chain to use encoded data to store #5264
  • Update lisk-validator to check against dataType #5263
  • Measure embedded database performance #5261
  • Remove postgresql related code and tests #5260
  • Update delegate registration to save and use username and address in blockchain.db #5259
  • Update network module to use node.db #5258
  • Update lisk-chain data_access layer #5257
  • Update GET /api/forgers endpoint #5256
  • Update GET /api/delegates?limit=xxx&offset=yyy endpoint #5255
  • Update GET /api/peers?limit=xxx&offset=yyy&state=zzz endpoint #5254
  • Update GET /api/node/transactions?limit=xxx&offset=yyy endpoint #5253
  • Add GET /api/node/info endpoint #5252
  • Update GET /api/transactions/:id and POST /api/transactions endpoints #5251
  • Update GET /api/accounts/:address endpoint #5250
  • Update GET /api/blocks?height=x and GET /api/blocks/:id endpoints #5249
  • Setup new plugin structure for HTTP API plugin #5248
  • Remove lisk-core specific commands and move to core #5245
  • Create database instances and save them in one folder #5243
  • Create utility to get a range pointer #5242
  • Create lisk-db package in elements #5241
  • Create protocol spec for lisk-codec #5240
  • Create function to read array #5239
  • Change to embedded database system #5238
  • Create function to write array #5237
  • Support recursive decoding of objects #5236
  • Support recursive encoding of objects #5235
  • Network Longevity - Define new block schema and processing for genesis block #5234
  • Create function to read keys #5233
  • Remove undo steps #5232
  • Create signedVarInt reader #5230
  • Create signedVarInt writer #5229
  • Create function to write keys #5228
  • Create string reader #5227
  • Create string writer #5226
  • Create bytes reader #5225
  • Create bytes writer #5224
  • Create boolean writer #5223
  • Create boolean reader #5222
  • Create VarInt reader #5221
  • Create VarInt writer #5219
  • Create function to traverse buffer for decoding #5218
  • Create function to traverse the object for encoding #5217
  • Create monitor plugin #5216
  • Create forger plugin #5215
  • Create Codec library in Elements #5214
  • Simplify HTTP API module and separate from framework #5213
  • Update commander to be network agnostic #5211
  • Update block schema to include transactionRoot #5210
  • Update PoM protocol-specs to include transactionRoot #5209
  • Create protocol-specs to verify transactionRoot of blocks #5208
  • Implement verifyProofOfInclusion for Merkle Tree #5207
  • Implement generateProofOfInclusion for Merkle Tree #5206
  • Implement Merkle Tree append method #5205
  • Network Longevity - Implement merkle tree library, lisk-tree #5204
  • Implement Merkle Tree Class with interface #5203
  • Implement Codec class with interface #5201
  • Network Longevity - Implement generic serialization library, lisk-codec #5200
  • Update application root files to be typescript #5197
  • Update application/schema to be typescript #5196
  • Update application/node root files to be typescript #5195
  • Update application/utils to be typescript #5194
  • Update application/node/transport to be typescript #5193
  • Update application/node/synchronizer to be typescript #5192
  • Update application/node/processor to be typescript #5191
  • Update application/node/forger to be typescript #5190
  • Update application/network to be typescript #5189
  • Update controller to be typescript #5188
  • Update to only use 1 IPC socket file #5187
  • Expose IPCChannel from the framework and SDK #5186
  • Fix cleanup socket files after application stop #5185
  • Unify all generated files to specific folder #5184
  • Support IPC communication to framework #5183
  • Migrate framework to be TypeScript #5182
  • Support UI encoded Base32 address format #5177
  • Update blockID to use full SHA-256 hash #5176
  • Update transactionID to use full SHA-256 hash #5175
  • Update Lisk address calculation and its references #5171
  • Remove pre-hashing for block and transaction signatures #5170
  • Network Longevity - Implement new address and ID system #5167
  • Issues after adding typescript configuration to framework #5158
  • Add typescript setup for framework #5145
  • Broken links in the project readme file #5144
  • Update transactions to be first order function #5088
  • Add fail safe delegate banning mechanism #5058
  • Update DPoS library to ban when conditions are met #4942
  • Update DPoS library to calculate last forged height #4935
  • Update DPoS library to calculate consecutiveMissedBlocks #4934
  • Add tests for application actions and events #4894
  • Add integration test for lisk-chain library #4791
  • Remove tslint and use typescript-eslint #4696
  • Replace controller/validator with lisk-validator #4610
  • Cleanup lisk-validator #3825
  • Improve validator in framework to separate default and validation #3815
  • ChildProcessChannel can not subscribe #3674
  • Missing events for module unloading lifecycle as specified in LIP #3632
  • Fix plugin loading in child process and prevent application from crash if child process crashes #3142
  • Integration test ChildProcessChannel class and InMemoryChannel class #3118

Merged pull requests:

Assets 2
Nov 27, 2020
⬆️ Bump version
Nov 25, 2020
⬆️ Bump version

@shuse2 shuse2 released this Nov 11, 2020

Change Log

v4.0.0 (2020-11-11)

Full Changelog

This release implements 4 LIPs as part of the Network Economics and Network Consensus phases:

Network Economics
Network Consensus

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:

Assets 2