Skip to content

SDK v0.10.0

Compare
Choose a tag to compare
@github-actions github-actions released this 05 Oct 08:07
· 11 commits to 35ff89aa98e0fa97a68e8a11867216392b17cfe7 since this release
6f8d6ba

This release contains the changes from v0.9.0 to v0.10.0.

Release branch: https://github.com/integritee-network/worker/tree/sdk-v0.10.0-polkadot-v0.9.27

Upgrade Priority

‼️ HIGH: This is a high priority release and you must upgrade as as soon as possible.

The changes motivating this priority level are:

  • ✅ easy merge #938 ‼️ HIGH - Use sgx_tstd thread local in environmental

Upgrade Challenge Level

‼️ Breaking Changes: This release contains breaking changes. Be sure to upgrade the affected interfaces.

The changes motivating this challenge level are:

  • 💥 breaking changes #902 Low - Move sgx-runtime crates into this repo

Important Note

Breaking RPC interface change

  • Getters are no longer sent using the author_submitXX functions, but with a new state_executeGetter RPC function. This function call will immediately return the result of the getter (instead of sending two responses, the first a confirmation that the getter was submitted into the TOP pool, and the second with the actual getter result).

  • The new state_executeGetter RPC function expects a Getter, not a TrustedOperation. The Getter is encoded, not encrypted. This is safe because the cli - rpc server connection is TLS protected.

  • TrustedGetter now returns DirectRequestStatus::Ok on success, instead of DirectRequestStatus::TrustedOperationStatus::Submitted, since the TOP pool is no longer involved:

Now:

RpcReturnValue {
    do_watch: false,
    value: state_getter_value.encode(),
    status: DirectRequestStatus::Ok,
}

Before:

RpcReturnValue {
    do_watch: false,
    value: state_getter_value.encode(),
    status: DirectRequestStatus::TrustedOperationStatus::Submitted,
}

introduced in PR #972. Check out https://github.com/integritee-network/worker/blob/420c0113587ba28543ab9bcf87c018681cd0bf90/cli/src/trusted_operation.rs#L58-L60 for an example call.

Changes

App-Libs

  • 💥 breaking changes #902 Low - Move sgx-runtime crates into this repo

Client

  • ✅ easy merge #888 Low - Benchmarks in docker setup
  • ✅ easy merge #944 Low - Extract evm calls from cli to seperate files
  • ✅ easy merge #952 Low - Extract benchmark calls from cli to sepearte module
  • 📢 attention required #954 Low - Refactor cli
  • 🔥 breaks public rpc api #972 ❗️ Medium - Execute getters immediately, not on a separate loop of top pool
  • ✅ easy merge #978 Low - Do not enforce teeracle and sidechain pallet inclusion in node-runtime

Core

  • ✅ easy merge #901 Low - Fix timing tests in time-utils
  • 📢 attention required #892 Low - Refactor node-api & re-introduce api-client types in this repository
  • ✅ easy merge #934 Low - Add some tests for sgx-externalities to demystify it.
  • 📢 attention required #921 Low - Add evm pallet coordinated by evm feature
  • ✅ easy merge #938 ‼️ HIGH - Use sgx_tstd thread local in environmental
  • ✅ easy merge #942 Low - Update polkadot to v0.9.27
  • 🔥 breaks public rpc api #951 Low - Remove needless invalid operationstatus response for getter queries
  • ✅ easy merge #943 Low - Replace beefy_merkle_tree file with substrate import
  • ✅ easy merge #960 Low - Remove obsolete get_state function
  • ✅ easy merge #967 Low - Access pallets directly and clean up helper functions
  • ✅ easy merge #983 Low - Rename sidechain block gossip to broadcast
  • ✅ easy merge #989 Low - Check remaining time before executing any calls
  • 📢 attention required #979 Low - Refactoring: remove top-pool-executor crate and send_state from top pool
  • ✅ easy merge #1005 Low - Set crate version to 0.9.0 to be consistent with sdk release 0.9.0.

EVM Feature

  • ✅ easy merge #937 Low - Include evm pallet to cli and smart contract demo
  • ✅ easy merge #968 Low - Add smart contract demo to ci

Offchain

Sidechain

  • ⚡ breaks parentchain interface #949 ❗️ Medium - Confirm sidechain blocks when importing instead of when proposing
  • ⚡ breaks parentchain interface #991 ❗️ Medium - Move sidechain verification crate to worker
  • ✅ easy merge #995 Low - Add sidechain block number to parentchain block sync output

Teeracle

  • 📢 attention required #913 Low - Move teeracle back to worker repository
  • ✅ easy merge #977 Low - Remove block syncing for teeracle.

Misc

There are other misc. changes. You can expand the list below to view them all.

Other misc. changes
  • ✅ easy merge #886 Low - Bugfix mrenclave println problem
  • ✅ easy merge #888 Low - Benchmarks in docker setup
  • ✅ easy merge #901 Low - Fix timing tests in time-utils
  • 📢 attention required #892 Low - Refactor node-api & re-introduce api-client types in this repository
  • 💥 breaking changes #902 Low - Move sgx-runtime crates into this repo
  • ✅ easy merge #884 Low - Github actions integration tests use docker image instead of python local setup
  • 📢 attention required #913 Low - Move teeracle back to worker repository
  • ✅ easy merge #934 Low - Add some tests for sgx-externalities to demystify it.
  • 📢 attention required #921 Low - Add evm pallet coordinated by evm feature
  • ✅ easy merge #937 Low - Include evm pallet to cli and smart contract demo
  • ✅ easy merge #938 ‼️ HIGH - Use sgx_tstd thread local in environmental
  • ✅ easy merge #942 Low - Update polkadot to v0.9.27
  • ✅ easy merge #944 Low - Extract evm calls from cli to seperate files
  • ✅ easy merge #952 Low - Extract benchmark calls from cli to sepearte module
  • 🔥 breaks public rpc api #951 Low - Remove needless invalid operationstatus response for getter queries
  • ✅ easy merge #943 Low - Replace beefy_merkle_tree file with substrate import
  • ✅ easy merge #960 Low - Remove obsolete get_state function
  • ✅ easy merge #959 Low - Update rust edition to 2021
  • 📢 attention required #954 Low - Refactor cli
  • ✅ easy merge #967 Low - Access pallets directly and clean up helper functions
  • ✅ easy merge #968 Low - Add smart contract demo to ci
  • ✅ easy merge #977 Low - Remove block syncing for teeracle.
  • 🔥 breaks public rpc api #972 ❗️ Medium - Execute getters immediately, not on a separate loop of top pool
  • ⚡ breaks parentchain interface #949 ❗️ Medium - Confirm sidechain blocks when importing instead of when proposing
  • ✅ easy merge #983 Low - Rename sidechain block gossip to broadcast
  • ✅ easy merge #989 Low - Check remaining time before executing any calls
  • ✅ easy merge #950 Low - Compile cli anytime
  • ✅ easy merge #978 Low - Do not enforce teeracle and sidechain pallet inclusion in node-runtime
  • 📢 attention required #979 Low - Refactoring: remove top-pool-executor crate and send_state from top pool
  • ⚡ breaks parentchain interface #991 ❗️ Medium - Move sidechain verification crate to worker
  • ✅ easy merge #995 Low - Add sidechain block number to parentchain block sync output
  • ✅ easy merge #1005 Low - Set crate version to 0.9.0 to be consistent with sdk release 0.9.0.