Problem: (CRO-215) Client does not handle unencrypted transaction in a block (deposit and unbond)#227
Problem: (CRO-215) Client does not handle unencrypted transaction in a block (deposit and unbond)#227tomtau merged 3 commits intocrypto-com:masterfrom devashishdxt:unencrypted-tx
Conversation
…a block (deposit and unbond) Solution: Modified `BlockHandler` and `ManualSynchronizer` to handle unencrypted transactions
Codecov Report
@@ Coverage Diff @@
## master #227 +/- ##
==========================================
+ Coverage 78.79% 79.02% +0.22%
==========================================
Files 91 91
Lines 8924 8961 +37
==========================================
+ Hits 7032 7081 +49
+ Misses 1892 1880 -12
|
tomtau
left a comment
There was a problem hiding this comment.
looks good, I've just posted two suggestions, but they could be done later
|
|
||
| /// Synchronizes transaction index for given view key with Crypto.com Chain (from last known height) | ||
| pub fn sync(&self, view_key: &PublicKey, private_key: &PrivateKey) -> Result<()> { | ||
| pub fn sync( |
There was a problem hiding this comment.
I'm wondering, as these parts are now being rewritten -- could the manual sync make use of batch requests? (perhaps in a different PR)
From recent TM versions, one could make use of https://www.jsonrpc.org/specification#batch https://godoc.org/github.com/tendermint/tendermint/rpc/client
so instead of one JSON-RPC call at a time, one could submit several in an array in one HTTP request
There was a problem hiding this comment.
yes
using batch will increase sync speed dramatically
also other approaches which eth is using
make headers download first,
multiple downloading simulatneously. (like bit-torrent)
this is too complicated, we can try in next phase.
There was a problem hiding this comment.
also sync is the most challenging part in blockchain networking.
for client-index, we're collecting only interested blocks which user's tx lives, so different from traditional blockchain sync.
There was a problem hiding this comment.
This can and should be done. Will do this in future PRs.
422: Problem: duplicate code between tx-validation and tx-query enclaves r=tomtau a=tomtau Solution: extracted out the common unsealing code into a library shared between tx-validation and tx-query 425: Bump kvdb-memorydb from 0.1.0 to 0.1.2 r=tomtau a=dependabot-preview[bot] Bumps [kvdb-memorydb](https://github.com/paritytech/parity-common) from 0.1.0 to 0.1.2. <details> <summary>Commits</summary> - [`28781a0`](paritytech/parity-common@28781a0) Bump parking_lot version ([#227](https://github-redirect.dependabot.com/paritytech/parity-common/issues/227)) - See full diff in [compare view](paritytech/parity-common@kvdb-web-v0.1.0...kvdb-memorydb-v0.1.2) </details> <br /> [](https://dependabot.com/compatibility-score.html?dependency-name=kvdb-memorydb&package-manager=cargo&previous-version=0.1.0&new-version=0.1.2) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired) Finally, you can contact us by mentioning @dependabot. </details> Co-authored-by: Tomas Tauber <2410580+tomtau@users.noreply.github.com> Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
425: Bump kvdb-memorydb from 0.1.0 to 0.1.2 r=tomtau a=dependabot-preview[bot] Bumps [kvdb-memorydb](https://github.com/paritytech/parity-common) from 0.1.0 to 0.1.2. <details> <summary>Commits</summary> - [`28781a0`](paritytech/parity-common@28781a0) Bump parking_lot version ([#227](https://github-redirect.dependabot.com/paritytech/parity-common/issues/227)) - See full diff in [compare view](paritytech/parity-common@kvdb-web-v0.1.0...kvdb-memorydb-v0.1.2) </details> <br /> [](https://dependabot.com/compatibility-score.html?dependency-name=kvdb-memorydb&package-manager=cargo&previous-version=0.1.0&new-version=0.1.2) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired) Finally, you can contact us by mentioning @dependabot. </details> Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
422: Problem: duplicate code between tx-validation and tx-query enclaves r=tomtau a=tomtau Solution: extracted out the common unsealing code into a library shared between tx-validation and tx-query 425: Bump kvdb-memorydb from 0.1.0 to 0.1.2 r=tomtau a=dependabot-preview[bot] Bumps [kvdb-memorydb](https://github.com/paritytech/parity-common) from 0.1.0 to 0.1.2. <details> <summary>Commits</summary> - [`28781a0`](paritytech/parity-common@28781a0) Bump parking_lot version ([#227](https://github-redirect.dependabot.com/paritytech/parity-common/issues/227)) - See full diff in [compare view](paritytech/parity-common@kvdb-web-v0.1.0...kvdb-memorydb-v0.1.2) </details> <br /> [](https://dependabot.com/compatibility-score.html?dependency-name=kvdb-memorydb&package-manager=cargo&previous-version=0.1.0&new-version=0.1.2) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired) Finally, you can contact us by mentioning @dependabot. </details> Co-authored-by: Tomas Tauber <2410580+tomtau@users.noreply.github.com> Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
422: Problem: duplicate code between tx-validation and tx-query enclaves r=tomtau a=tomtau Solution: extracted out the common unsealing code into a library shared between tx-validation and tx-query 425: Bump kvdb-memorydb from 0.1.0 to 0.1.2 r=tomtau a=dependabot-preview[bot] Bumps [kvdb-memorydb](https://github.com/paritytech/parity-common) from 0.1.0 to 0.1.2. <details> <summary>Commits</summary> - [`28781a0`](paritytech/parity-common@28781a0) Bump parking_lot version ([#227](https://github-redirect.dependabot.com/paritytech/parity-common/issues/227)) - See full diff in [compare view](paritytech/parity-common@kvdb-web-v0.1.0...kvdb-memorydb-v0.1.2) </details> <br /> [](https://dependabot.com/compatibility-score.html?dependency-name=kvdb-memorydb&package-manager=cargo&previous-version=0.1.0&new-version=0.1.2) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired) Finally, you can contact us by mentioning @dependabot. </details> 429: Problem: no test of prefix merkle trie determinism r=tomtau a=tomtau Solution: added a basic quickcheck property to check trie root after insertions in different order Co-authored-by: Tomas Tauber <2410580+tomtau@users.noreply.github.com> Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
422: Problem: duplicate code between tx-validation and tx-query enclaves r=tomtau a=tomtau Solution: extracted out the common unsealing code into a library shared between tx-validation and tx-query 425: Bump kvdb-memorydb from 0.1.0 to 0.1.2 r=tomtau a=dependabot-preview[bot] Bumps [kvdb-memorydb](https://github.com/paritytech/parity-common) from 0.1.0 to 0.1.2. <details> <summary>Commits</summary> - [`28781a0`](paritytech/parity-common@28781a0) Bump parking_lot version ([#227](https://github-redirect.dependabot.com/paritytech/parity-common/issues/227)) - See full diff in [compare view](paritytech/parity-common@kvdb-web-v0.1.0...kvdb-memorydb-v0.1.2) </details> <br /> [](https://dependabot.com/compatibility-score.html?dependency-name=kvdb-memorydb&package-manager=cargo&previous-version=0.1.0&new-version=0.1.2) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired) Finally, you can contact us by mentioning @dependabot. </details> 426: Bump sgx_tstd from `5c20ac3` to `bcb3c7a` r=tomtau a=dependabot-preview[bot] Bumps [sgx_tstd](https://github.com/baidu/rust-sgx-sdk) from `5c20ac3` to `bcb3c7a`. <details> <summary>Commits</summary> - [`bcb3c7a`](apache/teaclave-sgx-sdk@bcb3c7a) Bug fix on urts/ustdc - See full diff in [compare view](apache/teaclave-sgx-sdk@5c20ac3...bcb3c7a) </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired) Finally, you can contact us by mentioning @dependabot. </details> Co-authored-by: Tomas Tauber <2410580+tomtau@users.noreply.github.com> Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
441: Bump ethbloom from 0.7.0 to 0.8.0 r=devashishdxt a=dependabot-preview[bot] Bumps [ethbloom](https://github.com/paritytech/parity-common) from 0.7.0 to 0.8.0. <details> <summary>Commits</summary> - [`1e9f990`](paritytech/parity-common@1e9f990) update rand to 0.7 (breaking change) ([#217](https://github-redirect.dependabot.com/paritytech/parity-common/issues/217)) - [`f884d77`](paritytech/parity-common@f884d77) Fix deprecation warning ([#168](https://github-redirect.dependabot.com/paritytech/parity-common/issues/168)) - [`b0ec18d`](paritytech/parity-common@b0ec18d) Fix typos ([#229](https://github-redirect.dependabot.com/paritytech/parity-common/issues/229)) - [`28781a0`](paritytech/parity-common@28781a0) Bump parking_lot version ([#227](https://github-redirect.dependabot.com/paritytech/parity-common/issues/227)) - [`bf0ba84`](paritytech/parity-common@bf0ba84) [kvdb-web] bump futures-preview to 0.3.0-alpha.18 ([#225](https://github-redirect.dependabot.com/paritytech/parity-common/issues/225)) - [`31b6479`](paritytech/parity-common@31b6479) [kvdb-web] indexeddb implementation ([#202](https://github-redirect.dependabot.com/paritytech/parity-common/issues/202)) - [`085d18b`](paritytech/parity-common@085d18b) [kvdb-memorydb] Migrated code to 2018 edition, updated parking_lot ([#222](https://github-redirect.dependabot.com/paritytech/parity-common/issues/222)) - [`baf1df9`](paritytech/parity-common@baf1df9) Migrated code to 2018 edition, updated dependencies ([#221](https://github-redirect.dependabot.com/paritytech/parity-common/issues/221)) - [`6a580c1`](paritytech/parity-common@6a580c1) Bump version ([#219](https://github-redirect.dependabot.com/paritytech/parity-common/issues/219)) - [`67a9e7d`](paritytech/parity-common@67a9e7d) Find PendingIterator in Transaction Pool ([#218](https://github-redirect.dependabot.com/paritytech/parity-common/issues/218)) - Additional commits viewable in [compare view](paritytech/parity-common@ethbloom-v0.7.0...ethbloom-v0.8.0) </details> <br /> [](https://dependabot.com/compatibility-score.html?dependency-name=ethbloom&package-manager=cargo&previous-version=0.7.0&new-version=0.8.0) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired) Finally, you can contact us by mentioning @dependabot. </details> Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Solution: Modified
BlockHandlerandManualSynchronizerto handle unencrypted transactions