Releases: wavesplatform/Waves
Version 1.2.8 (Stagenet)
In this release
This is a hotfix release, which contains an important bugfix. We encourage all stagenet miners to update their nodes and re-import (or re-download) the blockchain.
Ride
- Fixed error occuring while using of state read functions
SHA256 Checksums
73743d8914bb79c2291f14e91f54a982a425e39f74bb57c54e89856b1949b0b7 grpc-server-stagenet-1.2.8.tgz
0ef5b0e57d580783704284cb54c97cf84d50cf39e3636217cc9bfd4ddac7672e grpc-server-stagenet_1.2.8_all.deb
d070d72388f42d3436e6aa32029795105c1d31984d76f63c4864b429dfbc169d waves-all-1.2.8.jar
f951bba38ca9e937a5336f5027a5e099344c3dcc8a2b566db586f5904e5ec2f2 waves-stagenet_1.2.8_all.deb
Version 1.2.7 (Stagenet)
In this release
Node Changes
- When miner forges a key block which references non-last microblock, discarded microblocks are kept as-is in a priority pool, so that new transactions observe their effects during validation when being added to the UTX pool.
- FPoS parameters have been tweaked to bring average block delays closer to 60 seconds.
- When importing blockchain, you can now specify
-i -
to read blockchain data from standard input, or-i https://example.com/blockchain-file
to load blockchain data from URL. - REST API returns state changes preserving their original order.
transactionHeightById
performance has been improved.
RIDE Changes
- The complexity of new account script and verifier function of dApp script cannot exceed 2000, regardless of the Standard library version.
- Added the following built-in functions:
- bn256groth16Verify range of functions that verify the zero-knowledge proof zk-SNARK
- removeByIndex that removes an element from the list by index
- Changed the complexity for the sigVerify_NKb functions, added the sigVerify_8Kb function.
- Deleted the extract function from Standard library version 4.
Update Notes
Stagenet has been rolled back to height 375402.
This release once again changed underlying storage structure, so you will need to re-import blockchain. There's a known issue with an importer which prevents the process from terminating. As a workaround, you can specify -Dakka.daemonic=true
on the command line. It is safe to kill importer process when height 375402 is reached.
SHA256 Checksums
00034491cd97de2c77dc2cd9576295c8ef49a8defcc32922b1f31ef61b104ec8 grpc-server-stagenet-1.2.7.tgz
1e4d2a34c4c54f912feee2f7a81adc2d8f16593aa3bc830ca825c497042af13a grpc-server-stagenet_1.2.7_all.deb
740a667e5595fbfeab210bc824b24232c709142ba8233f8723b5c83fb13854e3 waves-all-1.2.7.jar
2c457af1fa82725f89de8e618de82cfcea06e0f554c92258ebdc9b7190e0f750 waves-stagenet_1.2.7_all.deb
Version 1.2.6 (Stagenet)
In This Release
This release introduces free complexity limit which will prevent some InvokeScript transactions from being failed. If contract script throws (or fails) before 1500 units of complexity is consumed, InvokeScript transaction becomes invalid and is discarded instead of becoming failed, and no fee is charged.
Node Changes
- Transfer and mass transfer attachment type has been reverted to a simple byte string.
- When mining microblocks, miner validates transactions in advance, so that when the time comes to sign and broadcast the microblock, all transactions to be included in this microblock are already validated. This will bring microblock intervals closer to target values in some cases.
- Import can run even if some extensions are enabled.
- When order V3 fee asset is a smart asset, the asset's script complexity counts towards total Exchange transaction complexity.
Ride Changes
- Added the Tuple data type.
- Changed the complexity of certain built-in functions and operators. Changes are listed in the Built-in Functions article.
- Fixes for match-case expression: only one default case allowed, case variable name cannot be the same as the type name
Update Notes
Due to attachment-related schema changes stagenet has been rolled back to height 376334. When updating to this release, please delete the state and re-sync your node or re-import blockchain from scratch.
SHA256 Checksums
3bbb170bc9ef36ab2929ef5d660b889b2f43e381c934a30714228cdb6e93fdfc grpc-server-stagenet-1.2.6.tgz
ae2a08c099493bd9531495c517850db074bbaa9cabc309d28941fdb7dc696423 grpc-server-stagenet_1.2.6_all.deb
8d4967c4ffedcaf9182110b42a7098fadccdf6487a0dfdcb9d302f8d9f9c5b95 waves-all-1.2.6.jar
f2cf7b531ff4340b0c6b1bb886342b2dc749669f168852d426c344fc802cbdac waves-stagenet_1.2.6_all.deb
Version 1.1.11 (Mainnet + Testnet)
In this release
This release is recommended for all miners.
- LevelDB has been updated to version 1.22.1. This version fixes data corruption issue which caused nodes to get stuck. No more "negative asset balance" or "block time less than expected" errors, yay!
- Accessing
this
when dApp is invoked by an alias has temporarily been disabled. This functionality will return in 1.2.x.
There's no need to rebuild state when updating from 1.1.x.
SHA256 Checksums
f9b53ea4c876db9c2c5a49169ac3e1051fd5ae5641ef013bd04d1775917233b2 grpc-server-1.1.11.tgz
946c5f957e20818d5d13e465a8cd5e7ed45c65f39dc447f90275f26979c409d6 grpc-server-testnet-1.1.11.tgz
0d6ff77f9c520d184818b3518e263673e775e562dd20a24ed2579b70a4cd1a48 grpc-server-testnet_1.1.11_all.deb
13dad088b3288b8c65bc2f3912bd5bbaf5fd1a80699899b7835be15dbcdc402c grpc-server_1.1.11_all.deb
8b76fe384afd0b1c98640151ec85576eed29632817e7d3852377a6e37994efd7 waves-all-1.1.11.jar
4da488794845ac570d0e0165570ed19f14975adebcef114d9cb4d918d3796c17 waves-testnet_1.1.11_all.deb
b7dba25814e3cf9587c9c916a9154b5fda9d09f512fbbea441352a1a83399820 waves_1.1.11_all.deb
Version 1.2.5 (Stagenet)
In This Release
RIDE Changes
-
Added the following built-in functions:
- ecrecover that recovers the public key from hash of signed message and ECDSA signature
- makeString that returns all the elements of the list in a string using the separator string
- containsElement that tests whether the list contains a given value as an element
- indexOf that returns the index of the first occurrence of given value
- lastIndexOf that returns the index of the last occurrence of given value
- min/max that return the minimum/maximum element of the list
-
Added SponsorFee action for a callable function of dApp script.
-
Issue object can be created without nonce and compiledScript parameters.
-
Rewrote assetBalance and wavesBalance functions. assetBalance function returns account balance only for asset (not Waves). wavesBalance function returns all types of account balance.
-
Rewrote assetInfo function. Added name and description fields to function result.
-
The maximum data size is changed. See documentation for more info.
Node Changes
- Rollback improvements:
- Asset changes caused by issue/reissue/burn/sponsor actions from InvokeScript are now discarded during rollback
- Performance has been improved for scenarios when addresses had many assets (which is the case for most Mainnet addresses)
- Minimum SponsorFee transaction fee has been decreased to 0.001 waves.
- gRPC API tweaks: NFT list method, improved block filters.
- Improved logging during rollback and block application.
- Improved Swagger documentation.
Update Notes
Due to the changes in RIDE described above, Stagenet has been rolled back to height 380928. When updating from v1.2.4, you will need to manually rebuild the state.
SHA256 Checksums
dfa726cc65167c10b24cd2736a7825740c3d84e5c59cb0a74b95c3d7ebcd14c7 grpc-server-stagenet-1.2.5.tgz
dbf17d120b9d5f6ab8c5db3918f8b731eaebaa4ee70e8dfe08c66d980c0bef69 grpc-server-stagenet_1.2.5_all.deb
6a7402cac0a0a33202a0af77ba71cb145fd7ca1afa0c7b913938ca3109704f9d waves-all-1.2.5.jar
a56c71f1b91c14f9eda5e3951fb96c53f799140ca9771999eb1d7f4193d29eff waves-stagenet_1.2.5_all.deb
Version 1.2.4 (Stagenet)
In This Release
Failed transactions
- Invoke script transactions and Exchange transactions are saved on the blockchain and a fee is charged for them even if the dApp script or the asset script failed, provided that the sender's signature or account script verification passed.
RIDE Changes
- The maximum complexity of account script and verifier function of dApp script is changed to 3000.
The maximum complexity of asset script and callable function of dApp script remains 4000.
REST API Changes
-
Added the applicationStatus field to the following endpoints:
- GET /transactions/info/{id}
- GET /transactions/status
- POST /transactions/status
"applicationStatus": "scriptExecutionFailed" means that the dApp script or the asset script failed.
-
The following endpoints return the errorMessage structure indicating script failure reason for failed transactions:
- /debug/stateChanges/address/{address}/limit/{limit}
- /debug/stateChanges/info/{id}
-
The following endpoints, in addition to the total script complexity, provide the complexity of each callable function and the verifier function of dApp scripts:
- GET /addresses/scriptInfo/{address}
- POST /utils/script/compileCode
- POST /utils/script/estimate
Update Notes
When updating to these release, you will need to rebuild the node's state. Also due to consensus changes listed above, Stagenet will be rolled back to height 375204.
To get the correct blockchain please use import file.
SHA256 Checksums
74f54d33dc644ef0b1a44579d8f03b97569a18ca628a1a42b99a5f6d2bc7ba30 grpc-server-stagenet-1.2.4.tgz
c7490ab1bb775fb1c433c4834b607880584ffcd80ca2835b1fc3167c05c0d063 grpc-server-stagenet_1.2.4_all.deb
6c16a986394d3652013914723346d375416b8076403bd010e3a5774f38c69a9c waves-all-1.2.4.jar
c015a7e2828941aba51c9d3ec1dccbd2358107f6edb0834a300a78536c75e102 waves-stagenet_1.2.4_all.deb
Version 1.1.10 (Mainnet + Testnet)
In This Release
This is a maintenance release which adds limitations on value size in Ride to prevent script execution slowdown. For more info on these limitations, please see the docs.
We encourage all miners to update. There's no need to rebuild the state when updating from 1.1.x.
SHA256 Checksums
487f6bad65b5ffc9a4505b23f6b11257c0bf0f4b5405cc8f76730dfbc4983ac3 grpc-server-1.1.10.tgz
6daabc2c34e3b6267e1763aa8ebc30eae1717de01279d9e3c07fb38b6286a332 grpc-server_1.1.10_all.deb
21d3b3eac8345f614b0f19251cf75ecf4f32840743824ce89520bdc4e6c41bef waves-all-1.1.10.jar
320a5e08da17dd384eaca93ef889af4b8e2ff05f7dc964e9150bb5c0d0a7cd9e waves_1.1.10_all.deb
3bd658eb4b3de357af35b4ffdc442a98880367cbd2395719b377163a66682ad3 waves-testnet_1.1.10_all.deb
82353269863593356454175e37e32ff13a87f88d6ad47b73b5469cd9e968711f grpc-server-testnet_1.1.10_all.deb
Version 1.2.3 (Stagenet)
In This Release
RIDE Changes
- List of primitives can now be used as an argument of a
@Callable
function - Complexity for the hashing and verification functions has changed. When data size is known in advance, new "cheaper" functions can be used, which limit input argument size but have smaller complexity.
transferTransactionFromProtoBytes(b: ByteVector): TransferTransaction|Unit
can now be used to parse a new transfer transaction from bytes
Node Changes
The following consensus changes will take effect once Block V5 feature is activated:
- Block header hash will be used instead of block signature as the block unique identifier. REST API methods expecting block signatures (e.g.
/blocks/signature/{signature}
) will accept block IDs for now. In the next release, we'll add dedicated methods with straightforward naming. - In Exchange transaction of version 3,
BUY
andSELL
orders can be specified in any order - When building merkle tree, if the level contains an odd number of elements, the last element will now be hashed with an array of a single zero byte.
Also an extensive storage refactoring has been carried out. This will improve node performance and reduce import times.
Update Notes
When updating to these release, you will need to rebuild the node's state. Also due to consensus changes listed above, Stagenet will be rolled back to height 264700.
SHA256 Checksums
d15f1fd6acd40aff7acd1a029d1955f792cada65c138cf461a78b79b3df24d9e grpc-server-stagenet-1.2.3.tgz
78013f1742c49ef505f60c93d3f66e0084518b51c70d488ac64c8ae787103a38 grpc-server-stagenet_1.2.3_all.deb
48d7eb0161e34bee1807263663e54e4c52a8066a061b99334ad084470ff3ebe3 waves-all-1.2.3.jar
e6acbfaf8ee88b900b8378f6608dc6441df6aa332c026d109c55169cf09f8eeb waves-stagenet_1.2.3_all.deb
Version 1.1.9 (Mainnet + Testnet)
In this release
This release contains an important bugfix. We encourage all mainnet miners to update before noon of February, 28th (UTC). See below for details.
InvokeScript transaction fee fix
Consider the following scenario: account issues an asset A and sponsors fees in this asset. This account then sends an InvokeScript transaction and wants to pay fees in A. When transaction is mined, this account's waves balance is decreased by fee amount, as expected. However, due to the bug, istead of remaning unchanged, A asset balance is increased by fee amount.
We have implemented a patch which will run at height 1950100 (approx. 2020-02-28T12:00Z). This patch will fix asset balance discrepancies. It is important to update all mining mainnet nodes before this height.
Testnet rollback
Unfortunately, we will have to roll testnet back to height 894105 (block timestamp 2020-02-11T03:45:17Z). We are planning to perform the rollback at 2020-03-02T10:00Z. Please postpone your upgrade until this scheduled rollback time. To fix balance discrepancies you will need to reimport blockchain.
SHA256 Checksums
691a35ed36aeca8762043c2364f1a475f948dbacb93083b30b38876b561205af grpc-server-1.1.9.tgz
2b953f42f7c170799a05a4069905e935b8568da7b65a8d06f02d40e9c8a6be35 grpc-server-testnet-1.1.9.tgz
1c713719164b521d6556d4451e0240286bfa413389e803cd2973f671f85ba744 grpc-server-testnet_1.1.9_all.deb
9a45390356ff2f0ecbe2040d79a51bbd89ed295124e973897c407afeb4a4286f grpc-server_1.1.9_all.deb
70d3fcf0ab67896b5649f9d311aa07880ef66c119490761e8a90e91380359c24 waves-all-1.1.9.jar
f6ec9822080e0151cd196dab5462a9385c1ebb3b392e69c73e56efc5349385ea waves-testnet_1.1.9_all.deb
d49d9516c41b801357f975f53b6bfc3fc4e11c464636fd898e243aa0cceb6e74 waves_1.1.9_all.deb
Version 1.1.8 (Mainnet + Testnet)
In this release
Dedicated discarded transaction queue
When the node appends a new key block which references one of older microblocks (not the most recent one), it will now store transactions from discarded microblock(s) in a dedicated queue. If it is this node's turn to mine the new block, the miner will first attempt to pack transactions from this queue into the new microblock. This change will improve the reliability of the network, because transaction ordering will be preserved across microforks, which implies that "dependent" transactions will less likely be discarded.
This change also affects the way miner mines key blocks. If NG is activated, the miner will never attempt to include any transactions in the key block. Actually, this was the default behavior since the beginning of NG, but in this release we have removed max-transactions-in-key-block
setting.
REST API Improvements
- Swagger UI version has been updated. Besides new looks, this update brings a fixes XSS vulnerability (see #2693). We have also updated API schema with proper request and response model definitions.
- Fixed an issue which resulted in an "Error is unknown" response when broadcasting transactions
This is a maintenance release, however we encourage all miners to update due to improvements in the way dependent transactions are handled. There's no need to rebuild state when upgrading from 1.1.x.
SHA256 Checksums
f5e5daf1cb2aa1de3449134e471dec2acbb8be2499c4cb694b7da9c5bbc9aa63 grpc-server-1.1.8.tgz
cba7847ccc4bd76608642bb617da434534198cbb54c1cb446defd795764916af grpc-server-testnet-1.1.8.tgz
c718393d313564a18c6d23de8bbf3660826e939a535b7c6391e0a8317f94b013 grpc-server-testnet_1.1.8_all.deb
5b90422798e08b4e1589ce87c8a475dc82d820dd87a06758ac4ba2f7da5d1f5c grpc-server_1.1.8_all.deb
9387d10e5468acf9c8e6426b0e5dba98d3adef4e7e80f9758a6db537a6269346 waves-all-1.1.8.jar
36d7228457109dcd37d55fd9f9a2ec6f1608bb1d4f50fe50a145fb84e588c4c9 waves-testnet_1.1.8_all.deb
cb30a2e0e89d0cefd17c78e98d8bd0736b688b275f0e9cea8c5b8f945aec276b waves_1.1.8_all.deb