-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Shielding parentchain transfers #1378
Conversation
# Conflicts: # Cargo.lock # core/parentchain/indirect-calls-executor/src/event_filter.rs # core/parentchain/indirect-calls-executor/src/executor.rs # enclave-runtime/Cargo.lock # enclave-runtime/src/test/top_pool_tests.rs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this goes into the right direction, but the executor mustn't be aware of the business logic specifics. :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the very late review. :)
Nice, this looks quite good now! According to your judgement, what is missing in this PR?
I will merge master into this branch, as the breaking changes with the api-client might confuse you a bit.
# Conflicts: # Cargo.lock # core-primitives/types/src/parentchain.rs # core/parentchain/indirect-calls-executor/src/filter_metadata.rs # enclave-runtime/Cargo.lock
CI M6 fails because choosing //Alice as the vault account disturbs other tests that use //Alice for other purposes. concretely, demo_shielding_unshielding fails because unshielding to //Alice triggers the new shielding logic (which panics, which it shouldn't, but that's for further investigation) |
these cyclic dependencies are a PITA.
|
…rentchain-transfers
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All in all, locks good. With some minor modifications to trait definitions, I think we can make the code more ergonomic in the codebase. As associated types don't have to be mentioned usually, when a trait is put as a trait bound.
closes #1252
Built ontop of #1355
Adding in initial shielding using Alices account on Parentchain.
Involves refactoring:
ita_parentchain_interface
crate where all listeners are moved to now (extrinsic and event triggering).testing
run node on host:
run sidechain
once producing sidechain blocks, use js/apps to send funds from Bob to Alice
shielding for
....ita_stf::trusted_cal[....] balance_shield([...]
check shielded balance for Bob
should return the amount you sent
q.e.d.