Wavesplatform Waves Versions Save

⛓️ Reference Waves Blockchain Node (client) implementation on Scala

v1.4.15

1 year ago

This release is intended for Testnet and Stagenet only, it is not ready for Mainnet yet!

In this release

Protocol Enhancements

This release includes several consensus improvements implemented as hard forks which are bound to feature #​19 "Block Reward Distribution".

  • With WEP-14 activation, block rewards would be shared between three beneficiaries: block miner, Waves DAO, and XTN buy-back contract. New RIDE stdlib version 7 adds the rewards field to BlockInfo structure. This field holds the list of tuples of beneficiary address and the amount they receive. Beneficiary addresses for Testnet and Stagenet are predefined in the functionality settings.
  • Sync invoke action limit has been fixed to match the root contract version. After feature 19 activation, even if there is a V5 contract in invocation chain started by a V6 contract, V6 global limits will apply for the whole invocation chain.

Activation

To activate the improvements listed above, please vote for feature #​19 on Testnet and Stagenet!

Update notes

There's no need to rebuild state when upgrading from 1.4.14.

SHA256 Checksums

f605a65ea4b556c23b6a7c91d557bb9c91ca5a65144a718a2e860a9a16c9c651  waves-grpc-server-testnet_1.4.15_all.deb
add15b0d6fd25a6d03809ffd844fab6a4f6a817b36e3ca79b756a1504082e45b  waves-testnet_1.4.15_all.deb
eefe5b4fc380b95751084ea82ff2319d64bf9d371dc730f17550d04afabd3e21  waves-grpc-server-stagenet_1.4.15_all.deb
2635d88665a472959528974c4cf73087d86235ffbda7fbe936c4b75175c1111d  waves-stagenet_1.4.15_all.deb
bc57b1c40e513ceb666ee3f048afcf51ff2a4c2eeb02a1e423d8ea90add2f828  waves-all-1.4.15.jar
37e68a4b8a6b4082358d1acaf07fffa0f979bd289c9321f6051562579eb641a5  waves-grpc-server-1.4.15.tgz

v1.4.14

1 year ago

In this release

This is an optional release that includes numerous improvements and bug fixes.

  • Added a new field to the asset details, which holds the sequence number of an asset within a block. This field (together with issue height) can be used to identify which of the two assets was issued earlier reliably. To take advantage of this new field, the blockchain needs to be re-imported. The new field is available in REST API, gRPC API and Blockchain Updates.
  • Added new fields to BU events: VRF, features activated with the block, and script set by the transaction.
  • Added support for mining with several addresses not derived from a single seed. If any base58-encoded private keys are specified in the waves.miner.private-keys setting, only those keys are used to sign blocks (wallet contents are ignored).
  • Fixed an issue with script compaction, which incorrectly replaced references to global names in some cases.
  • Fixed /utils/script/evaluate route to take payments attached to the transaction into the account when executing the call and to support Accept: application/json; large-significand-format=string header.
  • Known transaction cache is reset on each microblock instead of each block, which will speed up transaction propagation.
  • Fixed signal handling in docker container. Containers that were started in non-interactive mode (without -i flag) will cleanly shut down on Ctrl+C. This also allows capturing thread dumps by sending QUIT signal to a running container (docker kill -s QUIT $CONTAINER_ID).

Update notes

Unless you rely on asset ordering, there's no need to re-import blockchain when updating from 1.4.13.

SHA256 Checksums

8c89081e3a67bbcde25e821e10f3084e1c9f1ae404241d7dc39344b6c5f760e3  waves-grpc-server_1.4.14_all.deb
d87dbf6d845884bed792bf4b5c47c26bb7444652e88c2715d0bf8ecd5225541a  waves_1.4.14_all.deb
fd3e4cbdd98b1ec18c5cd94b7591f5a8c5d1ce82559b0fa5725b83590ba6e6d0  waves-grpc-server-testnet_1.4.14_all.deb
b786de890113a2fde5884ba2f65e38417c99784610c50e3109863ee090728c43  waves-testnet_1.4.14_all.deb
49cdd96c9ba7fa2a5e164df593747256578c68b503d48164af8543e16e1e8ab5  waves-grpc-server-stagenet_1.4.14_all.deb
fff93d586d930fa2f1316ec0e19bf02c439e228873605176d4996b3071974844  waves-stagenet_1.4.14_all.deb
61427f97bd5fb24c0071dbbc419093a447317e9d67cba703eeb938b4c20a3ade  waves-all-1.4.14.jar
7eb9000a2901299d1bc9f4564804e0313d18d67cf422edeef6d58c14cef4ab5a  waves-grpc-server-1.4.14.tgz

v1.4.13

1 year ago

In this release

This release brings MetaMask and other consensus fixes to Mainnet. After the activation of the feature #​18 all Protocol changes become available. This release is mandatory for all nodes: outdated nodes will shut down when new feature is activated, which is expected to happen on February, 18th, given sufficient miners support.

Protocol Enhancements

This release includes several consensus improvements implemented as hard forks which are bound to feature #​18 "Consensus and MetaMask improvements".

  • Improved support for orders and transactions signed by MetaMask and by Ledger devices via MetaMask.
  • Improved support for SetScript transactions containing longer scripts in RIDE.
  • Genesis block signer will no longer get block reward even if feature #​18 is pre-activated.

Other Improvements

  • Fixed NFT order in /assets/nft/{address}/limit/{limit}: the tokens are listed in the order they were received by the account, beginning with the most recent one. If you use your node to retrieve NFT list and rely on correct NFT order, you need to re-import blockchain for the fix to have effect.
  • /utils/script/evaluate shows state changes when transaction-like invocation is evaluated. Also default complexity limit has been increased to 52000 to match invocation complexity limit.
  • Added a new setting waves.utx.always-unlimited-execution. When enabled, all script invocations are evaluated completely, not up to the fail-free limit. This functionality is turned off by default.
  • Misc improvements and optimisations in RIDE compiler.
  • Added support for alternative commands in docker image, e.g.
    docker run -it wavesplatform/wavesnode:1.4.13 import -c /etc/waves/waves.conf -i https://blockchain.wavesnodes.com/mainnet_last
    

Activation

To activate the improvements listed above, please vote for feature #​18 on Mainnet!

Update notes

Unless you rely on proper NFT order described above, there's no need to re-import state when upgrading from 1.4.11.

SHA256 Checksums

3518809f4bea4dfa0174f21465da00c2df40bf3d49577ba579be74b7fe76f1b9  waves-grpc-server_1.4.13_all.deb
c7398da1cebfb28f3ebb456f11d178c2f754909e201957aa4ea1fd7e5168a915  waves_1.4.13_all.deb
e5153a68ba8e816806f3b200e9d5d30d2d00a673d01102684af7a5258860e995  waves-grpc-server-testnet_1.4.13_all.deb
774fff0b88e8814624fc90d3bfa2a9c6d2cb1c0b10109c875d18e810eb05bfb3  waves-testnet_1.4.13_all.deb
48f779f5c0585ff1a9e526ec28c5ab31d032a401f053751ba81eba7572d77266  waves-grpc-server-stagenet_1.4.13_all.deb
9342c633a2506254ff2b84fda13686925236b1dfc10584843c38df120a5ac9ba  waves-stagenet_1.4.13_all.deb
d83fa784d51ec3517f694770531c08fd955b2804f71bbef2d97a029929484fb6  waves-all-1.4.13.jar
9cac8c80368cba7cd66d5208ebe858ec608692587589ce7bec073167bdd33689  waves-grpc-server-1.4.13.tgz

v1.4.12

1 year ago

This release is intended for Testnet and Stagenet only, it is not ready for Mainnet yet!

In This Release

Protocol Enhancements

This release includes several consensus improvements implemented as hard forks which are bound to feature # 18 "Consensus and MetaMask improvements".

  • Improved support for orders and transactions signed by MetaMask and by Ledger devices via MetaMask.
  • Improved support for SetScript transactions containing longer scripts in RIDE.
  • Genesis block signer will no longer get block reward even if feature # 14 is pre-activated.

Other Improvements

  • Fixed NFT order in /assets/nft/{address}/limit/{limit}: the tokens are listed in the order they were received by the account, beginning with the most recent one. If you use your node to retrieve NFT list and rely on correct NFT order, you need to re-import blockchain for the fix to have effect.
  • Added a new setting waves.utx.always-unlimited-execution. When enabled, all script invocations are evaluated completely, not up to the fail-free limit. This functionality is turned off by default.
  • Default /utils/script/evaluate complexity limit has been increased to 52000 to match invocation complexity limit.
  • Misc improvements in RIDE compiler.

Activation

To activate the improvements listed above, please vote for feature # 18 on Testnet and Stagenet!

Update notes

Unless you rely on proper NFT order described above, there's no need to re-import state when upgrading from 1.4.11.

SHA256 Checksums

ae5a9942a4819cbc24ec277de6ad4ca4b7e3755badea7c90de9dc596c676e6a1  waves-grpc-server-testnet_1.4.12_all.deb
0574bdaca295e9d174bdfa9095a7656742d91464591424cec65e7a13b1aa9ee0  waves-testnet_1.4.12_all.deb
4a7711de5a31f43a8db6a6875cce9abfbf066cd357291081053f893805045699  waves-grpc-server-stagenet_1.4.12_all.deb
dd64ef980f4c5b93566886024e9560a03a046280fa64a992364c4ca671f30abb  waves-stagenet_1.4.12_all.deb
c030686c8b9fa32702c11d68879916ea6ce5df6d5a8da1212e4180f19e83ccbc  waves-all-1.4.12.jar
d2cd9e55a06e10ba994a816be97401e0808cdb1cd752fa851471fe53d0b09ab5  waves-grpc-server-1.4.12.tgz

v1.4.11

1 year ago

In this release

This release improves node performance and prevents miners from generating empty blocks under heavy load. This release is strongly recommended for all node operators, especially miners.

InvokeScript transaction support in /utils/script/evaluate/{address}

This release adds support for evaluating transactions with /utils/script/evaluate/{address} endpoind. Transaction JSON can be specified in the request body. Neither proofs nor attached payments are validated; transaction sender, ID and other fields are retrieved from the supplied JSON. dApp field is ignored, the function is evaluated in the context of {address}. This functionality simplifies debugging contracts: no private key is required to simulate transaction processing.

RIDE compiler improvements

  • Improved error messages make it easier to find out what's actually wrong with the code, and where exactly an error has occured.
  • DApp meta is returned in JS and Java API.

Update notes

There's no need to re-import state when updating from 1.4.10.

SHA256 Checksums

2616718a09f11299930d7182279bf0ba87e835a8ec1867e0cc33f82e1f45096f  waves-grpc-server_1.4.11_all.deb
2a7b0759d733f9d93f91772450935e026e4a872d4081c3f8d5a2b8cd9f4d94e5  waves_1.4.11_all.deb
69fae275d2d18f682054d886e9f31fe368fdb43c703cba32fd900ff53a8f9688  waves-grpc-server-testnet_1.4.11_all.deb
6689aedf462035db17e3efd3cb197e3761815abd53c6c67dc988a6ea3835256d  waves-testnet_1.4.11_all.deb
ad5ee3092007cc041f783f224644a9e8e06ba1d3ab1bc1cfc1bdcb234480969c  waves-grpc-server-stagenet_1.4.11_all.deb
788c60e9c235318c8cdbf49f4aa1117eb333502b349effd3c72185b1cc93b049  waves-stagenet_1.4.11_all.deb
de521da2b444e06b1f63349e834bc39b8ee0a20bca74c0a0c499d30b216b9167  waves-all-1.4.11.jar
3f4cf8412001c2d0f67ac60c0ce88402b6fc38397a48b02c331a7565efddc49d  waves-grpc-server-1.4.11.tgz

v1.4.10

1 year ago

In this release

This is a mandatory release which resolves an issue with transaction validation, as well as improves block processing performace for blocks containing excessive number of transactions.

An issue with docker containers introduced in 1.4.9 has also been fixed. There's no need to explicitly specify waves.directory in custom waves.conf unless you need to store data files in the non-default directory.

Update notes

There's no need to re-import blockchain when updating from v1.4.9.

SHA256 Checksums

179b6ca4a5d728b285d8e8c6c10bb4fb4f3c186baeb79ce344830a88c2a85aba  waves-grpc-server_1.4.10_all.deb
89dd85b14a1ba8a588f9e740921eb0307679e142bc96f0cdcdc0041bfdbf3855  waves_1.4.10_all.deb
01a70b01b14a81c8902ae961fb51f406c0438e81de0d89892df2397d6007b4f0  waves-grpc-server-testnet_1.4.10_all.deb
93f142ba5863c11c26ff5f08c2e089c296fed87cb4bcc89f2d6adace6edf7777  waves-testnet_1.4.10_all.deb
62e7436118dd3cf80cedb703bdbd34f7e37e10760a4a78ed399468ebdf82b2ce  waves-grpc-server-stagenet_1.4.10_all.deb
987fd4b24fccc72c09404dfe4f7f452b0ac7ac23e671d432b4ac489c96235f3f  waves-stagenet_1.4.10_all.deb
816b7d820776daaabf9ba2a5c9bf7233e3c90ac6de88d60a546626771d0d5c0b  waves-all-1.4.10.jar
45eae9ede9b752865b88d28602976513b8f2939cb136bc61992fd53275cb2dd9  waves-grpc-server-1.4.10.tgz

v1.4.9

1 year ago

In this release

This is a mandatory release containing important fixes for the synchronization process implementation, as well as other improvements an optimizations. This release is recommended for everyone, so please update your nodes!

Other notable improvements:

  • RIDE:
    • improved *Value() functions error message
    • temp variable is used when handling an error in exactAs macro
    • fixed OOP-style invocation for function families
    • fixed transaction type matching
  • REST API:
    • /utils/evaluate/ supports calling compacted dApp functions
    • /debug/stateHash response has been extended with height and version
    • improved error messages for wrong transfer transaction attachment sizes, exchange transaction prices and dApp script execution
    • added missing documentation
    • added limitations on the input data of the following methods:
      • /assets/details - max asset ids number limited, can be configured in waves.rest-api.asset-details-limit (100 by default)
      • /addresses/data/{address}- max keys number limited, can be configured in waves.rest-api.data-keys-request-limit (1000 by default)
      • /blocks/address/{address}/{start}/{end} - max blocks number between start and end limited, can be configured in waves.rest-api.blocks-request-limit (100 by default)
      • /blocks/seq/{start}/{end} - max blocks number between start and end limited, can be configured in waves.rest-api.blocks-request-limit (100 by default)
      • /blocks/headers/seq/{start}/{end} - max blocks number between start and end limited, can be configured in waves.rest-api.blocks-request-limit (100 by default)
      • /blocks/delay/{blockId}/{blocksNum} - blocksNum limited, max value is 10000
      • /transactions/info/ - max transaction ids number limited, can be configured in waves.rest-api.transactions-by-address-limit (1000 by default)
      • /transactions/merkleProof - max transaction ids number limited, can be configured in waves.rest-api.transactions-by-address-limit (1000 by default)
  • Blockchain Updates: transfer action recipient field will contain recipient address instead of public key hash
  • Metmamask interoperability improvements.

Update notes

There's no need to re-import blockchain when updating from v1.4.8.

Updating Docker containers

If you are using a custom waves.conf configuration file, please add the following setting:

waves.directory = ${WVDATA}

This setting is needed so that the node will pick up proper data directories.

SHA256 Checksums

05606ba6797da5921a37fa6858a0e59cea4ba47fbc5345fce1083bb2525ed099  waves-all-1.4.9.jar
de9a84f1cd6796bb335d50e9ab7440e699237ed6bccd2fc2e912bf55fe7a5aec  waves-grpc-server-1.4.9.tgz
2413f8aa8184a7276acea3025ca80f5a16c2198b90d66ca4e1f3b83efac03627  waves-grpc-server-stagenet_1.4.9_all.deb
1bdaae891f45fdfb9dba5c91bda614a2172707d9bcd8c94c792ef85ea1212008  waves-grpc-server-testnet_1.4.9_all.deb
a4859cf0d0e0597c8581535e0160980b2b19c31c40eea721d1983f2fa220d9cf  waves-grpc-server_1.4.9_all.deb
2b29fddfbd95c9459d0c53b392faeddbb09a06baffe7f3948219ed6882e560d8  waves-stagenet_1.4.9_all.deb
0ce9249449b4af0e7aa7b93b809ce54f56dc8af5d60ef3c517a5d07b4e99478f  waves-testnet_1.4.9_all.deb
ce2f11a4a4cc989384766eb28398f14c1075afc80e243cd3d86d32da67c4f3f8  waves_1.4.9_all.deb

v1.4.8

1 year ago

In this release

This release fixes several issues and is recommended for all miners and node operators.

  • Tuples and nested lists can now be used as function call arguments in /utils/evaluate.
  • Transaction packing and UTX cleanup process has been improved for both mining and non-mining nodes.

Please be aware that the deprecated /debug/stateChanges/info/{id} REST API method is now redirecting to /transactions/info/{id} and will be removed in one of the future versions.

Update notes

There's no need to re-import blockchain when updating from v1.4.7.

SHA256 Checksums

53bc85f82a7b33347d2822193fa49d98497b5bc2fc9b22d1a22691fc0a77ca81  waves-all-1.4.8.jar
d2f37dc217bef3ca4896f117e93e46483af93a5d3dfa76edb03569b28e0d1f55  waves-grpc-server-1.4.8.tgz
3177fadefd14794b2b2bcd3ad1b77b60dacf48275a70a1bd371d61579570b70b  waves-grpc-server-stagenet_1.4.8_all.deb
2b67835a9fe54e30ae0f1278e4e6ff3855243280cdb8bf8d06107704db0047db  waves-grpc-server-testnet_1.4.8_all.deb
9f5813396ba6983e2ab05927864595c8c3d7cdbd826c82a3cf0b43fbf794c31d  waves-grpc-server_1.4.8_all.deb
64f398599544293f9607b185fc75e1fbbb1845ff42380104e4dd388396b1c3d2  waves-stagenet_1.4.8_all.deb
13149f925dc2a3633ea3ae47ac84a0bb03076ce7d2c0d05687e79964496bfaf0  waves-testnet_1.4.8_all.deb
c585ec711df22d71e77bee76e9e401236d218bde0b545a4364322762bc543d56  waves_1.4.8_all.deb

v1.4.7

1 year ago

In this release

This is a mandatory release. Mainnet nodes need to be updated before feature #​17 is activated, which will happen at height 3180000 (approx. on Jun 27 2022 05:37 UTC).

This release also includes the following changes:

  • Default microblock interval has been decreased from 5 seconds to 2 seconds.
  • A special value for waves.rest-api.cors-headers.access-control-allow-origin setting, origin-from-request, has been added. When set, the node will send Access-Control-Allow-Origin: response header with the value taken from the Origin: request header. This allows to use a single node instance with multiple origins. See docs for details.

SHA256 Checksums

1370649165da1d2a6b2f2a8031352195e6661614398ac08d7639285375757902  waves-all-1.4.7.jar
d1e76c39be0bd1d1a9d2a487b7e0c6ae38229a2a1ded9003f0225e982fe07efc  waves-grpc-server-1.4.7.tgz
53fa60375af62da3cfd4ea8db16452df87474c45f135660f6410c613c743d2fa  waves-grpc-server-stagenet_1.4.7_all.deb
e3c3a7906fdc34002c7833a446f7e500f303d1ecdb04b29054c16a8f6ce0d70e  waves-grpc-server-testnet_1.4.7_all.deb
20e969d07f9de30015cde3a579f4d6b82d79365614e2e819dbee41fc3f402b74  waves-grpc-server_1.4.7_all.deb
94f930bcce48894f4355622ed7fd06ebb8e1be9218c403b45ea761634714fdfe  waves-stagenet_1.4.7_all.deb
a4bb12fddd97e1ad7e926d824b6570b31ee124c4251c96d89094e732a7099f0e  waves-testnet_1.4.7_all.deb
01cfd1b24896de768227ac837d7e6f6a47998190efd25486557b11a1aa384a32  waves_1.4.7_all.deb

v1.4.6

1 year ago

In this release

This release is an accumulation of all previous 1.4.x releases. Now it's available for Mainnet. After the activation of the feature #​17 all Protocol changes become available.

Protocol Enhancements

  • Added support for Ethereum transactions that perform token transfers or dApp script invocations. Thanks to this, MetaMask users can sign transactions and send them to the Waves blockchain. More details
  • Added support for orders with ECDSA signature in Exchange transactions. Thanks to this, users can sign orders with MetaMask. More details
  • Added the priceMode parameter of order version 4. The parameter enables price mode similar to order version 3.
  • Changed the minimum fee for a Set Script transaction: now the minimum fee depends on the script size.
  • Weak public keys can no longer be used to sign transactions.

Ride

  • Issued version 6 of the Ride Standard library.

  • The maximum complexity of a callable function of a dApp script in Standard library version 6 is changed to 52 000.

  • The maximum total complexity of all callable functions and asset scripts within a transaction depends on the version of Standard library in the first dApp script invoked:

    • If the first dApp script uses version 6, the total complexity is limited by 52 000.
    • If the first dApp script uses version 5, the total complexity is limited by 26 000. If script version 6 functions are invoked next, their complexity can exceed 10,000 and is limited only by the total complexity of the transaction.

    The sender's account script complexity is not included in that limit.

  • New complexity estimation rules reduce overall script complexity.

  • The maximum size of a dApp script is increased to 160 Kbytes regardless of the Standard library version.

  • The maximum total number of ScriptTransfer, Lease, LeaseCancel script actions executed by all callable functions in a single transaction is 100.

    The maximum total number of Issue, Reissue, Burn, SponsorFee script actions executed by all callable functions in a single transaction is 30.

  • Callable functions no longer accept arguments of type Union.

  • Added the following built-in functions:

  • Changed the limitation on the second parameter of drop, dropRight, take, takeRight string functions and byte array functions.

  • Changed the limitations on input and output data size for the built-in string functions makeString and split; their complexity reduced to 1. Added the range of similar functions with different complexity depending on the data size.

  • Changed the complexity of certain built-in functions. The complexity is given in the [Ride v6] Built-in functions article.

  • Introduced a limit on the total number of payments attached to dApp script invocations in a single transaction: a maximum of 100. The limit does not depend on the Standard library versions used.

Node REST API

Breaking Changes

  • Added support for Ethereum transactions that perform token transfers or dApp script invocations. JSON representation of a transaction depends on its content:

    Example transfer by Ethereum transaction
    {
      "type": 18,
      "id": "C4Fwdsygb6uL6iZ2dd6dHCdnw5FB2oZNCdpQ1F5kQ7Q9",
      "fee": 210000,
      "feeAssetId": null,
      "timestamp": 1634807137059,
      "version": 1,
      "chainId": 83,
      "bytes": "0xf87486017ca21943238502540be4008303345094ae50afd342b8f397bcd1c2af3fd658d5080674058806f05b59d3b200008081caa0e87f0e273e8ad894ab196198747a0363b66c5bd056f1e09bb6f8b18f6c11dbafa07dd6b2ac30d2d1ac1196a34a8db5adbd8f69b8f349b15f45c6bbf4040de7519d",
      "sender": "3MTPx4QwYZg78QwAw4Pdm3feBpwe9qMzL5X",
      "senderPublicKey": "2ZWaWoMYAdkKfUUYwKng29Dgq1ggBPYtbsrvKBxxKcP3SkpXy1USEJiPPL6U7H7ECD3bD3QcZy2mmtN9EzsK2SHV",
      "height": 1040780,
      "applicationStatus": "succeeded",
      "payload": {
        "type": "transfer",
        "recipient": "3MgUB2QfTH8jMLYwuNrYq2SSUJdGcjvBk6n",
        "asset": null,
        "amount": 50000000
      }
    
    Example script invocation by Ethereum transaction
    {
      "type": 18,
      "id": "2Y67uLthNfzEBpEJFyrP7MKqPYTFYjM5nz2NnETZVUYU",
      "fee": 500000,
      "feeAssetId": null,
      "timestamp": 1634881836984,
      "version": 1,
      "chainId": 83,
      "bytes": "0xf9011186017ca68d17b88502540be4008307a120940ea8e14f313237aac31995f9c19a7e0f78c1cc2b80b8a409abf90e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000064672696461790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081caa0ecb7124f915bd366186a6451aabdde3fbf0db94caa78a6b8d6115bb5ce6407d8a077ab1e756d343b9927c3c4add5c797915aef2de112576213d6a30ce5e040ba3c",
      "sender": "3MRejoFLZ6FsXRjVEzBpnQ27s61FDLLDGxh",
      "senderPublicKey": "3nFhfAYDSRS4UrU22HaAuFT4YHZD5Et3vy7fBTcTxefuAVXs8pHRR4pvpAzvMbmskwjWB7PxFKqPNsioRVZ9mxaa",
      "height": 1042032,
      "applicationStatus": "succeeded",
      "payload": {
        "type": "invocation",
        "dApp": "3MRuzZVauiiX2DGwNyP8Tv7idDGUy1VG5bJ",
        "call": {
          "function": "saveString",
          "args": [
            {
              "type": "string",
              "value": "Friday"
            }
          ]
        },
        "payment": [],
        "stateChanges": {
          "data": [
            {
              "key": "str_1042032",
              "type": "string",
              "value": "Friday"
            }
          ],
          "transfers": [],
          "issues": [],
          "reissues": [],
          "burns": [],
          "sponsorFees": [],
          "leases": [],
          "leaseCancels": [],
          "invokes": []
        }
      }
    }
    

    Features of the Ethereum transaction JSON representation:

    • sender contains Waves address base58 encoded,
    • senderPublicKey is 64 bytes base58 encoded,
    • bytes contains the entire Ethereum transaction bytes, including the ECDSA signature, HEX encoded.
    • proofs array is missing.
  • Added support for Exchange transactions containing an order (or both orders) with an ECDSA signature.

    Example order with ECDSA signature.
    "order1": {
       "version": 4,
       "id": "2Wx5ctbaU9GqQYXtEkqsin6drfu6SuADdwAyvuYnwai9",
       "sender": "3FzoJXUesFqzf4nmMYejpUDYmFJvkwEiQG6",
       "senderPublicKey": "5BQPcwDXaZexgonPb8ipDrLRXY3RHn1kFLP9fqp1s6M6xiRhC4LvsAq2HueXCMzkpuXsrLnuBA3SdkJyuhNZXMCd",
       "matcherPublicKey": "9BUoYQYq7K38mkk61q8aMH9kD9fKSVL1Fib7FbH6nUkQ",
       "assetPair": {
          "amountAsset": "5fQPsn8hoaVddFG26cWQ5QFdqxWtUPNaZ9zH2E6LYzFn",
          "priceAsset": null
       },
       "orderType": "buy",
       "amount": 1,
       "price": 100,
       "timestamp": 1,
       "expiration": 123,
       "matcherFee": 100000,
       "signature": "",
       "proofs": [],
       "matcherFeeAssetId": null,
       "eip712Signature": "0xe5ff562bfb0296e95b631365599c87f1c5002597bf56a131f289765275d2580f5344c62999404c37cd858ea037328ac91eca16ad1ce69c345ebb52fde70b66251c"
    }
    

    Features JSON representation of an order with ECDSA signature:

    • sender contains Waves address base58 encoded,
    • senderPublicKey is 64 bytes base58 encoded,
    • eip712Signature contains an ECDSA signature HEX encoded,
    • proofs array is missing.

Activation

To activate the improvements listed above, vote for feature #​17 “Ride V6, MetaMask support”. The next voting interval starts at height 3160001 (at around 09:30 UTC on June, 13th)

Update Notes

  • Blockchain Updates users will need to update their clients and reimport blockchain to rebuild BU database so that new order metadata is available.
  • All Testnet & Stagenet nodes must be updated to version 1.4.6, otherwise they may end up on a fork.

SHA256 Checksums

9ace49683aa95517e86df0a8904c0636aa6614652c1ee25c9930f548d10d34cc  waves-all-1.4.6.jar
f22d1a0737803ba8cce1941eca6bcc64a86a27db65ab0c12dda967ee4ab16742  waves-grpc-server-1.4.6.tgz
4546af3cbbdae84d0b81ccc7cb8f6ec6cff696aa17e5136efab983c026ba7134  waves-grpc-server_1.4.6_all.deb
e10dcc64638be20f962a75e44e1aae72b9c07004c35bc71caa1b955c6cfd1ccb  waves_1.4.6_all.deb
189d47e058b9f1752e7f940543193b63a6f362db0e52e9cfa157a7e17eb05be8  waves-grpc-server-stagenet_1.4.6_all.deb
b65411ee6b7feda405603db3ccb8f1f610234bf31b909078e062b9af3b7ec451  waves-stagenet_1.4.6_all.deb
f3bdbf5af67e810e4f76e349e1f7d3a1fc968f68f790430df96c5ff63b716890  waves-grpc-server-testnet_1.4.6_all.deb
64f1fd06b1a83489a30227cc5cb29f6ad9f002e6861ad0153456fd06a91e40c5  waves-testnet_1.4.6_all.deb