Skip to content
This repository has been archived by the owner on Aug 30, 2022. It is now read-only.

EOSIO.Contracts v1.7.0-rc1 Release Notes

Pre-release
Pre-release
Compare
Choose a tag to compare
@blockone-devops blockone-devops released this 29 Apr 18:10
· 158 commits to release/1.7.x since this release
841dfa1

This is a RELEASE CANDIDATE for version 1.7.0 of EOSIO.Contracts. The latest STABLE release is v1.6.0.

The EOSIO.Contracts v1.7.0-rc1 is required to support EOSIO v1.8.0-rc1 and should be deployed only after the PREACTIVATE_FEATURE consensus protocol upgrade has been activated on the EOSIO chain.

System contract

This release adds a new action activate to the system contract (#220). The activate action pre-activates (which then subsequently activates at the start of the next block) the protocol feature represented by the digest (hash) provided in the action data.

The implementation of the activate action requires linking against a new intrinsic function which is only made available after the PREACTIVATE_FEATURE protocol feature is activated on the EOSIO blockchain. This means that until that protocol feature is activated, it will not be possible to deploy this system contract to the chain.

In addition, the implementation of the Bancor algorithm behind buying and sell RAM has been simplified while maintaining the same behavior (#222). Both mathematical and empirical analyses have shown that the change in the implementation does not materially change the behavior of the actions to buy and sell RAM.

Token contract

After activation of the RESTRICT_ACTION_TO_SELF protocol feature, the eosio.token::issue action will no longer be able send an inline transfer when issuing tokens to an account other than the issuer. In preparation for this change in capabilities, the eosio.token::issue action's behavior has been modified to explicitly disallow issuing tokens to any account other than the issuer (#232). Token managers who use the eosio.token reference contract and wish to continue issuing tokens to other accounts will need to replace the single eosio.token::issue action with a transaction with two actions: one that first issues tokens to the issuer and then the second one that transfer that same quantity of tokens from the issuer to the intended recipient.

Bios contract

The same activate action added to the system contract has also been added to the bios contract (#220). The bios contract also has a new action reqactivated which asserts that the protocol feature represented by the provided digest has been activated.

Other changes

  • (#188) Created Buildkite Pipeline with Docker Build
  • (#202) Producer pay vars update
  • (#201) Fix/update votes
  • (#197) Contracts Pipeline: Add Test Steps and Use Pre-Built EOSIO Docker Images
  • (#223) Annotate all public EOSIO system contracts' classes, structs, methods, actions
  • (#230) Change add_eosio_test to add_eosio_test_executable
  • (#228) Fix broken links in README.md
  • (#226) fix description comment typo
  • (#231) Added ctest Error Handling
  • (#218) Deleted docker files and scripts used by old contracts pipeline

Dependencies

This release depends on eosio.cdt v1.6.x and eosio v1.8.x. To compile the contracts in this release, first build and install eosio.cdt v1.6.1 and eosio v1.8.0-rc1.

Thanks!

Special thanks to the community contributors that submitted patches for this release:

Disclaimer: Block.one makes its contribution on a voluntary basis as a member of the EOSIO community and is not responsible for ensuring the overall performance of the software or any related applications. We make no representation, warranty, guarantee or undertaking in respect of the releases described here, the related GitHub release, the EOSIO software or any related documentation, whether expressed or implied, including but not limited to the warranties or merchantability, fitness for a particular purpose and noninfringement. In no event shall we be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or documentation or the use or other dealings in the software or documentation. Any test results or performance figures are indicative and will not reflect performance under all conditions. Any reference to any third party or third-party product, resource or service is not an endorsement or recommendation by Block.one. We are not responsible, and disclaim any and all responsibility and liability, for your use of or reliance on any of these resources. Third-party resources may be updated, changed or terminated at any time, so the information here may be out of date or inaccurate. Any person using or offering this software in connection with providing software, goods or services to third parties shall advise such third parties of these license terms, disclaimers and exclusions of liability.