SDK v0.10.0
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
The changes motivating this priority level are:
- ✅ easy merge
#938
‼️ HIGH - Use sgx_tstd thread local in environmental
Upgrade Challenge Level
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 newstate_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 aGetter
, not aTrustedOperation
. TheGetter
is encoded, not encrypted. This is safe because the cli - rpc server connection is TLS protected. -
TrustedGetter now returns
DirectRequestStatus::Ok
on success, instead ofDirectRequestStatus::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 needlessinvalid operationstatus
response for getter queries - ✅ easy merge
#943
Low - Replacebeefy_merkle_tree
file with substrate import - ✅ easy merge
#960
Low - Remove obsoleteget_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 needlessinvalid operationstatus
response for getter queries - ✅ easy merge
#943
Low - Replacebeefy_merkle_tree
file with substrate import - ✅ easy merge
#960
Low - Remove obsoleteget_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.