Skip to content

EOS System Contracts v3.1.0-rc2 Release Notes

Pre-release
Pre-release
Compare
Choose a tag to compare
@arhag arhag released this 19 Aug 00:04
· 505 commits to main since this release
69b30f7

This is a RELEASE CANDIDATE for version 3.1.0. The latest STABLE release is v1.9.2.

Release 3.1.0-rc2 includes Ricardians specific to EOS in the generated ABI file for the core contract. Other contracts remain unchanged in behavior since the last stable release.

Read on for details.

Changes

The name of the repository was changed to reflect the fact that these system contracts are made specific to the needs of the EOS blockchain.

Core contract

Updated Ricardians

PRs

  • (31) [3.1] Updated ricardians


The Ricardians of the core contract now include the EOS User Agreement (EUA) as well as the Block Producer Agreement which is relevant to the regproducer and regproducer2 actions.

The text of the Ricardians is included in the generated ABI file for the core contract. Note that CDT v3.0.0-rc1 had a regression which prevented the Ricardians from being included within the generated ABI file. To ensure the ABI files include the Ricardians, use CDT v3.0.0-rc2 at a minimum to compile the contracts.

Building, compatibility, and upgrading

Building

Instructions for building the system contracts are provided in the README.

This release depends on on CDT 3.0 at a minimum. A release candidate for CDT 3.0.0 is available.

Building the tests also requires Leap 3.1 at a minimum. A release candidate for Leap 3.1.0 is available. Building the tests is optional; see README for how to build with or without tests.

For now, the Leap dependency must be satisfied with a build of Leap 3.1 from source. Alternatively, look into DUNE for another way to build the contracts without needing to build CDT or Leap from source.

Note that this release has also simplified the build.sh script and dropped some options. You can still run it with no options provided if you have CDT installed on your system and do not wish to build the tests. The script allows you to specify a custom location for CDT if you wish to use a build of CDT that you have not installed on your system. It also allows you to specify the build directory of Leap to also build the tests.

Compatibility

By default, the core contract adds additional requirements (beyond what existed in v1.9.2) that the blockchain has activated the following two protocol features: BLOCKCHAIN_PARAMETERS and CONFIGURABLE_WASM_LIMITS2.

The BLOCKCHAIN_PARAMETERS protocol feature dependency is required for the enhanced setparams action. You can choose to keep the old behavior of the setparams action (and avoid this dependency on the BLOCKCHAIN_PARAMETERS protocol feature) by passing -DSYSTEM_BLOCKCHAIN_PARAMETERS=OFF to cmake.

The CONFIGURABLE_WASM_LIMITS2 protocol feature dependency is required for the new wasmcfg action. You can avoid introducing the wasmcfg action (and avoid this dependency on the CONFIGURABLE_WASM_LIMITS2 protocol feature) by passing -DSYSTEM_CONFIGURABLE_WASM_LIMITS=OFF to cmake.

Upgrading

The core contract can be upgraded on an account with an already deployed v1.9.2 core contract, or v3.1.0-rc1 core contract, by simply deploying the .wasm and .abi files to the account. No additional actions need to be taken to complete the upgrade.

However, the blockchain must have first activated the necessary protocol features which includes BLOCKCHAIN_PARAMETERS and CONFIGURABLE_WASM_LIMITS2.

Further details on changes since last release

Contributors

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

Full list of changes since last release

PRs

  • (31) [3.1] Updated ricardians
  • (35) [3.1] Remove references to mandel; update dependencies to use new CDT and Leap; and overall cleanup
  • (36) Bump version to 3.1.0-rc2


Full Changelog: v3.1.0-rc1...v3.1.0-rc2