Releases: integritee-network/worker
Docker v0.13.2-dev
Dev release v0.13.2-dev
Docker v0.13.1-dev
Dev release v0.13.1-dev
Docker v0.13.0-dev
Dev release v0.13.0-dev
SDK v0.12.0
This release contains the changes from v0.11.0
to v0.12.0
.
Upgrade Priority
The changes motivating this priority level are:
- ⚡ breaks parentchain interface
#1272
‼️ HIGH - Validate and access all parentchain events in enclave - ⚡ breaks parentchain interface
#1390
‼️ HIGH - Integrate pallet teerex refactoring
Upgrade Challenge Level
The changes motivating this challenge level are:
- ⚡ breaks parentchain interface
#1272
‼️ HIGH - Validate and access all parentchain events in enclave - ⚡ breaks parentchain interface
#1390
‼️ HIGH - Integrate pallet teerex refactoring
Changes
App-Libs
Client
- ✅ easy merge
#1159
Low - Fetch quotes from marblerun prometheus rest api endpoint - ✅ easy merge
#1200
Low - Restore debuggability - ✅ easy merge
#1263
Low - Update api-client to tag v0.9.0 - ✅ easy merge
#1265
Low - Update api-client to tag v0.10.0 - 📢 attention required
#1183
Low - Integritee-cli: separate into library and binary - ✅ easy merge
#1320
Low - Add missing return to avoid closing the connection twice
Core
- ✅ easy merge
#1218
Low - Fix unchecked indexing in decode_hex - ✅ easy merge
#1223
Low - Refactor indirect executor: make interpetation of parentchain extrinsics configurable - ✅ easy merge
#1234
Low - Polkadot v0.9.39 - 📢 attention required
#1287
Low - Minor light-client refactor - ✅ easy merge
#1288
Low - Configurable light-client db - ✅ easy merge
#1286
Low - Enable remote attesation (epid) in the ci - ✅ easy merge
#1318
Low - Allow setting a base path for shielding-key file io - ✅ easy merge
#1321
Low - Introduce signing key repo and allow setting the base path of the signing key file io - 🔥 breaks public rpc api
#1324
Low - Allow setting path of the state key (aes) - ✅ easy merge
#1325
Low - Allow setting thebasepath
by addingstatedir
abstraction that helps with fs operations relevant for the state - ✅ easy merge
#1327
Low - Add basepath to sidechain db - ✅ easy merge
#1330
Low - Add base path to light-client initialization - 🔥 breaks public rpc api
#1333
Low - Fix backup of light-client db and introduce light-client-db subdirectory - ✅ easy merge
#1331
Low - Introduce cli for a configurable data-dir - ✅ easy merge
#1347
Low - [integritee-service] fix clean-reset flag - ✅ easy merge
#1349
Low - [integritee-service] introduce getters forrunconfig
and make fields private - ✅ easy merge
#1399
Low - Provision light-client in mutual remote attestation - ⚡ breaks parentchain interface
#1390
‼️ HIGH - Integrate pallet teerex refactoring - ✅ easy merge
#1415
Low - Fix skip-ra with dcap
EVM Feature
Offchain
Sidechain
- ✅ easy merge
#1261
Low - Try fix flaky m6; set sidechain block production rate to 1 second - 📢 attention required
#1264
❗️ Medium - Pass events and events proof to enclave - ⚡ breaks parentchain interface
#1272
‼️ HIGH - Validate and access all parentchain events in enclave - ✅ easy merge
#1328
Low - Last slot is no longer persisted to file but just a static ref
Teeracle
- ✅ easy merge
#1204
Low - Teeracle: change coingecko root certificate as they moved to let's encrypt - ✅ easy merge
#1283
Low - Teeracle: have updates run at start as well - ✅ easy merge
#1348
Low - Reregister teeracle after a cli configurable period
Misc
There are other misc. changes. You can expand the list below to view them all.
Other misc. changes
- 🔥 breaks public rpc api
#1182
Low - Several improvements for the local-setup - ✅ easy merge
#1159
Low - Fetch quotes from marblerun prometheus rest api endpoint - ✅ easy merge
#1204
Low - Teeracle: change coingecko root certificate as they moved to let's encrypt - ✅ easy merge
#1200
Low - Restore debuggability - ✅ easy merge
#1207
Low - Bumpintegritee-dev
image, switch to ubuntu 22.04 jammy - ✅ easy merge
#1218
Low - Fix unchecked indexing in decode_hex - ✅ easy merge
#1223
Low - Refactor indirect executor: make interpetation of parentchain extrinsics configurable - ✅ easy merge
#1234
Low - Polkadot v0.9.39 - ✅ easy merge
#1261
Low - Try fix flaky m6; set sidechain block production rate to 1 second - ✅ easy merge
#1201
Low - Attesteer rpc additions - ✅ easy merge
#1263
Low - Update api-client to tag v0.9.0 - ✅ easy merge
#1265
Low - Update api-client to tag v0.10.0 - 📢 attention required
#1264
❗️ Medium - Pass events and events proof to enclave - ✅ easy merge
#1283
Low - Teeracle: have updates run at start as well - ✅ easy merge
#1280
Low - Using docker cache - 📢 attention required
#1287
Low - Minor light-client refactor - 📢 attention required
#1183
Low - Integritee-cli: separate into library and binary - ✅ easy merge
#1288
Low - Configurable light-client db - ✅ easy merge
#1286
Low - Enable remote attesation (epid) in the ci - ⚡ breaks parentchain interface
#1272
‼️ HIGH - Validate and access all parentchain events in enclave - ✅ easy merge
#1318
Low - Allow setting a base path for shielding-key file io - ✅ easy merge
#1320
Low - Add missing return to avoid closing the connection twice - ✅ easy merge
#1321
Low - Introduce signing key repo and allow setting the base path of the signing key file io - 🔥 breaks public rpc api
#1324
Low - Allow setting path of the state key (aes) - ✅ easy merge
#1325
Low - Allow setting thebasepath
by addingstatedir
abstraction that helps with fs operations relevant for the state - ✅ easy merge
#1327
Low - Add basepath to ...
Docker v0.12.2-dev
v0.12.2-dev teeracle docker release
Docker v0.12.1-dev
v0.12.1-dev teeracle docker release
0.12.0
This release aims to have a production mode built teeracle in dockerhub.
SDK v0.11.0
This release contains the changes from v0.10.0
to v0.11.0
.
Upgrade Priority
❗️ Medium: This is a medium priority release and you should upgrade in a timely manner.
The changes motivating this priority level are:
- ✅ easy merge
#1033
❗️ Medium - Update cached nonce when creating extrinsic for registering enclave with ra - ✅ easy merge
#963
❗️ Medium - Generate and reset events withsp-io::append()
andsp_io::clear_prefix()
- 📢 attention required
#1013
❗️ Medium - Propose every nth block as finality candidate instead of all the blocks - ✅ easy merge
#1083
❗️ Medium - Fix state provisioning bug when reading large byte buffers - 📢 attention required
#1077
❗️ Medium - Keep state in-memory, write snapshots to file
Upgrade Challenge Level
The changes motivating this challenge level are:
- ⚡ breaks parentchain interface
#1010
Low - Add block number to processedparentchainblock event - ⚡ breaks parentchain interface
#1174
Low - Add a proof of execution to shield funds trusted call
Changes
App-Libs
- 📢 attention required
#1012
Low - Introduce stf-interface - ✅ easy merge
#1052
Low - Core-primitives: add new cratesgx-runtime-primitives
- ✅ easy merge
#1112
Low - Stf primitives extraction - 🔥 breaks public rpc api
#1146
Low - Allow execution of public getters - ⚡ breaks parentchain interface
#1174
Low - Add a proof of execution to shield funds trusted call
Client
- ⚡ breaks parentchain interface
#1010
Low - Add block number to processedparentchainblock event - ✅ easy merge
#1059
Low - Enhance benchmark to use increasing nonce - ✅ easy merge
#1116
Low - Skip spid/ra_api_key files if--skip-ra
is active - 🔥 breaks public rpc api
#1152
Low - Improve nonce handling in stf execution
Core
- ✅ easy merge
#1005
Low - Set crate version to 0.9.0 to be consistent with sdk release 0.9.0. - ✅ easy merge
#1002
Low - Update polkadot-v0.9.28 - ✅ easy merge
#1008
Low - Remove aura dev settingallow_delayed_proposal
- ✅ easy merge
#1030
Low - Implementnext_key
in sgxsp-io
- ✅ easy merge
#1033
❗️ Medium - Update cached nonce when creating extrinsic for registering enclave with ra - 🔥 breaks public rpc api
#1034
Low - Web-socket server: take certs and keys directly, rather than file paths - ✅ easy merge
#971
Low - Add attestation handler component - ✅ easy merge
#1054
Low - Consolidateperform_ra
andmock_register_enclave_xt
- ✅ easy merge
#1061
Low - Removed unused dependencies in crates - ✅ easy merge
#1038
Low - Refactoring of in-memory state i/o - ✅ easy merge
#1069
Low - Refactoring: remove obsolete getter execution, fix dependencies - ✅ easy merge
#1083
❗️ Medium - Fix state provisioning bug when reading large byte buffers - ✅ easy merge
#1087
Low - Investigate and fix sidechain integration test failures - 📢 attention required
#1076
Low - Bump teaclave-sdk to v1.1.6-testing #1074 - 📢 attention required
#1077
❗️ Medium - Keep state in-memory, write snapshots to file - ✅ easy merge
#1053
Low - Update polkadot-v0.9.29 - ✅ easy merge
#1078
Low - Introduce parentchainhandlers inside the enclave - ✅ easy merge
#1095
Low - State handling refactoring: reduce state cloning - 📢 attention required
#1103
Low - Tn/dcap rebased - 📢 attention required
#1131
Low - Update depenencies topolkadot-v0.9.36
- ✅ easy merge
#1133
Low - Bump rust-sgx-sdk to master - ✅ easy merge
#1137
Low - Adjust nonce in stfenclavesigner based on pending tx - ✅ easy merge
#1143
Low - Avoid hardcoded call index when executing trusted calls - ✅ easy merge
#1148
Low - Improve metadata handling - ✅ easy merge
#1153
Low - Seal state to preserve it after disconnection - 📢 attention required
#1134
Low - Collateral handling for dcap - ✅ easy merge
#1157
Low - Prevent an out-of-bounds access in case the certs slice is empty - ✅ easy merge
#1155
Low - Refactoring attempt for indirect-calls-executor
EVM Feature
Offchain
- ✅ easy merge
#963
❗️ Medium - Generate and reset events withsp-io::append()
andsp_io::clear_prefix()
Sidechain
- 📢 attention required
#1013
❗️ Medium - Propose every nth block as finality candidate instead of all the blocks - ✅ easy merge
#1169
Low - Do not error out when searching peers
Teeracle
- ✅ easy merge
#1072
Low - Generic oracle refactor
Misc
There are other misc. changes. You can expand the list below to view them all.
Other misc. changes
- ✅ easy merge
#1005
Low - Set crate version to 0.9.0 to be consistent with sdk release 0.9.0. - ✅ easy merge
#1002
Low - Update polkadot-v0.9.28 - ✅ easy merge
#1008
Low - Remove aura dev settingallow_delayed_proposal
- ⚡ breaks parentchain interface
#1010
Low - Add block number to processedparentchainblock event - ✅ easy merge
#998
Low - Add cargo.toml formatting with taplo - ✅ easy merge
#1030
Low - Implementnext_key
in sgxsp-io
- 📢 attention required
#1012
Low - Introduce stf-interface - ✅ easy merge
#1033
❗️ Medium - Update cached nonce when creating extrinsic for registering enclave with ra - 🔥 breaks public rpc api
#1034
Low - Web-socket server: take certs and keys directly, rather than file paths - ✅ easy merge
#963
❗️ Medium - Generate and reset events withsp-io::append()
andsp_io::clear_prefix()
- ✅ easy merge
#971
Low - Add attestation handler component - ✅ easy merge
#1054
Low - Consolidateperform_ra
andmock_register_enclave_xt
- ✅ easy merge
#1061
Low - Removed unused dependencies in crates - ✅ easy merge
#1059
Low - Enhance benchmark to use increasin...
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
](https://github.com/integritee-network/worker...
SDK v0.9.0
Release branch: https://github.com/integritee-network/worker/tree/sdk-v0.9.0-polkadot-v0.9.26
For more information on how to use this sdk, check out : https://docs.integritee.network/4-development/4.4-sdk
What's Changed since 0.0.1
- fix CI by @brenzi in #194
- remove rm lock file command from make clean by @haerdib in #233
- Sidechain by @brenzi in #224
- Attestation: Switch to new API version for RA by @electronix in #157
- Shielding fix by @haerdib in #235
- Make unit tests independent on shard number in directory by @haerdib in #239
- add result variable to alice account balance check by @haerdib in #236
- 234 fix shielding by @haerdib in #238
- fix nonce of shielding by @haerdib in #240
- Add root funds by @haerdib in #241
- [Makefile] Fix propagation of SGX_MODE to worker build. by @clangenb in #258
- Multi worker setup by @clangenb in #262
- Extract config from cli + some cleanup by @clangenb in #263
- update rust sgx sdk by @haerdib in #265
- Add GitHub actions by @clangenb in #266
- Unify primitives + remove bin2 by @clangenb in #267
- Api client extensions: SubstrateeRegistryApi + AcountApi + ChainApi by @clangenb in #268
- Bump deps by @clangenb in #276
- PoC: Broadcast blocks by @clangenb in #277
- Fix warning by @clangenb in #280
- Introduce enclave error by @clangenb in #290
- ci should fail upon PR containing clippy warnings by @haerdib in #294
- [enclave] increase TCSNUM to 8 by @clangenb in #310
- Review of OCall API Draft in Enclave by @murerfel in #283
- [GA] add M8 and M6 integration tests by @clangenb in #309
- Fix remote attestation, call 'get_ias_socket()' a second time for the… by @murerfel in #317
- Worker OCall Abstraction, PoC by @murerfel in #293
- [GA] disambiguate m6/m8 logs by @clangenb in #318
- worker ocall abstraction onchain by @murerfel in #299
- Add Ipfs Ocall API and impl to the ocall bridge by @murerfel in #311
- Add direct invocation Ocall API and impl to the ocall bridge by @murerfel in #312
- Fully abstract and implement the EnclaveApi, (i.e. E-Call API) by @murerfel in #313
- add fmt check by @haerdib in #305
- update to substrate commit df1165d7b47d43f7b5032512ad41ac8ab2ead117 by @haerdib in #324
- Refactor OCalls in Enclave to use abstracted OCall API traits (#279) by @murerfel in #320
- Move WorkerRequest and WorkerResponse to worker primitives by @murerfel in #322
- Get state does not sync with layer one chain by @murerfel in #325
- Introduce 'test' feature, endow accounts in STF only in test feature by @murerfel in #326
- Extract substratee storage keys by @clangenb in #328
- Minor refactorings after sifting through the 'produce_blocks' code by @murerfel in #330
- extract storage proof to substratee-storage by @clangenb in #332
- simplify onchain storage access by @clangenb in #334
- Onchain validateer fetch and onchain mock by @clangenb in #336
- cleanup substratee worker primitives by @clangenb in #338
- [enclave/sidechain] move ocall_api to its own crate. by @clangenb in #340
- extract onchain-storage to its own crate + extract onchain-storage-mock to test-utils by @clangenb in #341
- extract side chain crate by @clangenb in #342
- move block, singedblock to sidechain-primitives by @clangenb in #344
- Substrate update v4.0.0 dev rebase by @haerdib in #347
- GA: bump node + remove broken cargo cache by @clangenb in #354
- Bh hot fix by @haerdib in #357
- Worker primitives are made SGX compatible, with all modules (including rpc) by @murerfel in #358
- Extract sgx-io out of the enclave by @clangenb in #360
- [chain relay] update justifications by @haerdib in #365
- extract aes crypto to crate and add StateCrypto trait by @clangenb in #363
- Feat/cl extract ed25591 by @clangenb in #370
- [sidechain/primitives] change SidechainBlock.timestamp type to u64 + use millisecs as timestamp by @clangenb in #371
- refactor chain-relay to standalone light-client crate and make it more generic by @clangenb in #377
- make enclave pre-funding generic by @echevrier in #376
- worker and crate name rebranding by @echevrier in #378
- Add Sidechain Block Storage by @haerdib in #380
- [local-setup] change shard purging logic for new sidechain_db by @clangenb in #384
- Enclave OcallApi Revamp by @clangenb in #382
- Crate renaming continued: changes for primitives/core and client. by @echevrier in #391
- [GA] bump node artifact. by @echevrier in #394
- [cli] fix symlink by @clangenb in #395
- move
OpaqueCall
to itp_types and useOpaqueExtrinsic
consistently by @clangenb in #396 - [SidechainBlocks] use edd25519::Public in blocks + minor improvents by @clangenb in #397
- Run RPC server entirely inside enclave, use TLS encryption by @murerfel in #362
- Aura Preparation by @clangenb in #402
- Fix interval block production by @clangenb in #405
- Move rsa3072 out of enclave and implement SealedIO and ShieldingCrypto by @echevrier in #403
- New REST client crate, based on http_req and rustls by @murerfel in #409
- [ita-stf] improvements around state types by @clangenb in #411
- fix needles compilation of sgx-deps by @clangenb in #414
- Fix build for SGX_DEBUG=1 by @murerfel in #419
- [enclave-runtime/tests] cleanup by @clangenb in #420
- Refactor RPC author as facade by @murerfel in #425
- RPC Author encapsulates top pool and mutex access by @murerfel in #426
- [itp-types] remove re-export of sidechain-primitives in itp-types by @clangenb in #428
- Aura skeleton for sidechain by @clangenb in #427
- Change the id of teerex pallet and clean code by @echevrier in #437
- Fix potential panic in slot derivation. by @clangenb in #440
- Introduce abstractions for RSA seal, TOP pool and state by @murerfel in #430
- [sidechain] don't discard blocks if block production took too long. by @clangenb i...