-
-
Notifications
You must be signed in to change notification settings - Fork 710
Generate Evolu keys #5220
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
base: main
Are you sure you want to change the base?
Generate Evolu keys #5220
Conversation
|
model | device_test | click_test | persistence_test |
---|---|---|---|
T2T1 | |||
T3B1 | |||
T3T1 | |||
T3W1 |
Latest CI run: 17157361698
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.
Pull Request Overview
This draft PR introduces Evolu key generation support using a Trezor device in debug mode. Key changes include adding Evolu-related message types and classes across Rust, Python, and core modules, implementing a CLI command for retrieving keys, and updating protocol definitions and build scripts accordingly.
- Added Evolu message enums and classes in both Rust and Python libraries.
- Integrated a new CLI command (trezorctl evolu get-keys) that triggers the Evolu key derivation process.
- Updated core modules, build scripts, and protocol files to support Evolu key functionality.
Reviewed Changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
rust/trezor-client/src/messages/generated.rs | Added Evolu message definitions for key handling. |
python/src/trezorlib/messages.py | Introduced Evolu message types and classes in the Python messages API. |
python/src/trezorlib/evolu.py | Implemented the get_evolu_keys function. |
python/src/trezorlib/cli/trezorctl.py | Registered the evolu CLI command. |
python/src/trezorlib/cli/evolu.py | Defined the CLI command for retrieving Evolu keys. |
core/src/trezor/messages.py | Added Evolu message classes (note: EvoluKeys.init is a placeholder). |
core/src/trezor/enums/init.py & MessageType.py | Included Evolu message type enums. |
core/src/apps/workflow_handlers.py | Mapped EvoluGetKeys message to its corresponding app handler. |
core/src/apps/evolu/get_keys.py | Implemented derivation logic for Evolu keys. |
core/src/apps/evolu/init.py | Restricted Evolu functionality to non-production builds. |
core/embed/upymod/qstrdefsport.h | Updated Q definitions to include evolu messages. |
core/SConscript.unix & core/SConscript.firmware | Extended source file lists to include evolu modules. |
common/protob/messages.proto & messages-evolu.proto | Added protocol definitions for EvoluGetKeys and EvoluKeys. |
Comments suppressed due to low confidence (1)
core/src/apps/evolu/get_keys.py:7
- This new Evolu key derivation functionality lacks accompanying tests. Please add test cases to verify the derivation logic and behavior of the new feature.
async def get_keys(_msg: EvoluGetKeys) -> EvoluKeys:
446a4f5
to
dd6c4ff
Compare
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.
Nit: could use link to the Evolu project somewhere, otherwise it's not very clear what it is.
cb12cfe
to
7cd60c8
Compare
I rebased on top of
|
7cd60c8
to
4a29495
Compare
4a29495
to
83697b7
Compare
This PR implements generating keys for evolu by Trezor device.
For now, the functionality is available only in Debug firmware, so use e.g. this command for
T3T1
:The following
trezorctl
command triggers the feature:The resulting id, write key and encryption key is returned formatted in hex:
Basic test against
"all all ... all"
seed included.TODO:
main
and update fixtures (new tests)