Skip to content
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

[#19232] - Fix derivation path generation #19531

Merged
merged 9 commits into from
May 24, 2024

Conversation

ulisesmac
Copy link
Contributor

@ulisesmac ulisesmac commented Apr 4, 2024

fixes #19232
fixes #19472

Summary

The original issue was about fixing derivation paths (#19232)
but while trying to solve it, I found more bugs that didn't let me proceed, so now this PR is fixing everything.

Please keep in mind that:

is still an issue, we need to clarify some things with desktop, but it's too much for this PR.

Fixes in this PR

  • ✅ The derivation path for derived accounts is incremented correctly, even if a derived account is removed.
  • ✅ Now new keypairs are actually and properly generated.
  • ✅ Now we can create derived accounts for new keypairs and they properly start at the zero index (m/44'/60'/0'/0/0) and they are incremented according to its keypair (again, keep in mind these accounts cannot be removed).

Also refactored the code, e.g I moved some code to events, updated the related tests, improve the name of some events, etc.

Platforms

  • Android
  • iOS

Steps to test

Derivation Path

  • Open Status
  • Create a new account
  • Go to wallet tab -> Add some new derived accounts for the existing (default) keypair
  • Remove some of them
  • Add new accounts

All should work as expected, so that #19232 is no longer reproducible.

Keypair generation and derived accounts

  • Open Status

  • Create a new account

  • Go to wallet tab -> Add some new derived accounts for the existing (default) keypair

  • Add as many keypairs as you wish
    To do this:

    1. Press on "Edit"

    2. Press on +

    3. Generate new keypair

  • Add derived accounts for those new keypairs
    Note: the UI to pick the keypair sometimes may not work as expected make sure the keypair is being properly selected, this is a different issue

Everything should work and the derivation paths are incremented according to the keypair selected.

NOTE for QA: @churik Has more context on these issues, since we already talked about it.

status: ready

@ulisesmac ulisesmac requested review from J-Son89, OmarBasem and a team April 4, 2024 22:42
@ulisesmac ulisesmac self-assigned this Apr 4, 2024
@status-github-bot status-github-bot bot added this to REVIEW in Pipeline for QA Apr 4, 2024
@status-im-auto
Copy link
Member

status-im-auto commented Apr 4, 2024

Jenkins Builds

Click to see older builds (67)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ d3472e1 #1 2024-04-04 22:50:52 ~8 min android 🤖apk 📲
✔️ d3472e1 #1 2024-04-04 22:50:53 ~8 min android-e2e 🤖apk 📲
✔️ d3472e1 #1 2024-04-04 22:52:31 ~10 min ios 📱ipa 📲
d33b0dc #2 2024-04-08 23:56:55 ~2 min tests 📄log
✔️ d33b0dc #2 2024-04-09 00:01:32 ~7 min android-e2e 🤖apk 📲
✔️ d33b0dc #2 2024-04-09 00:01:44 ~7 min android 🤖apk 📲
✔️ d33b0dc #2 2024-04-09 00:03:05 ~8 min ios 📱ipa 📲
e7185bf #3 2024-04-11 01:59:59 ~2 min tests 📄log
✔️ e7185bf #3 2024-04-11 02:05:21 ~7 min android-e2e 🤖apk 📲
✔️ e7185bf #3 2024-04-11 02:05:24 ~8 min android 🤖apk 📲
✔️ e7185bf #3 2024-04-11 02:06:52 ~9 min ios 📱ipa 📲
8f51bab #4 2024-04-16 15:26:35 ~2 min tests 📄log
✔️ 8f51bab #4 2024-04-16 15:31:50 ~7 min android-e2e 🤖apk 📲
✔️ 8f51bab #4 2024-04-16 15:32:00 ~8 min android 🤖apk 📲
✔️ 8f51bab #4 2024-04-16 15:33:46 ~9 min ios 📱ipa 📲
6297318 #5 2024-04-19 09:41:23 ~2 min tests 📄log
✔️ 6297318 #5 2024-04-19 09:46:28 ~7 min android-e2e 🤖apk 📲
✔️ 6297318 #5 2024-04-19 09:46:34 ~7 min android 🤖apk 📲
✔️ 6297318 #5 2024-04-19 09:48:18 ~9 min ios 📱ipa 📲
5bb42e5 #6 2024-04-19 14:31:35 ~2 min tests 📄log
✔️ 5bb42e5 #6 2024-04-19 14:36:25 ~7 min android-e2e 🤖apk 📲
✔️ 5bb42e5 #6 2024-04-19 14:36:33 ~7 min android 🤖apk 📲
✔️ 5bb42e5 #6 2024-04-19 14:38:57 ~9 min ios 📱ipa 📲
1d5c0ee #7 2024-05-17 16:21:23 ~2 min tests 📄log
✔️ 1d5c0ee #7 2024-05-17 16:26:36 ~7 min android-e2e 🤖apk 📲
✔️ 1d5c0ee #7 2024-05-17 16:26:41 ~7 min android 🤖apk 📲
✔️ 1d5c0ee #7 2024-05-17 16:27:39 ~8 min ios 📱ipa 📲
93c3c1e #8 2024-05-17 22:22:18 ~2 min tests 📄log
✔️ 93c3c1e #8 2024-05-17 22:27:23 ~8 min android-e2e 🤖apk 📲
✔️ 93c3c1e #8 2024-05-17 22:27:55 ~8 min ios 📱ipa 📲
✔️ 93c3c1e #8 2024-05-17 22:28:16 ~8 min android 🤖apk 📲
d465cbd #10 2024-05-20 15:30:14 ~3 min tests 📄log
✔️ d465cbd #10 2024-05-20 15:34:28 ~7 min android-e2e 🤖apk 📲
✔️ d465cbd #10 2024-05-20 15:34:33 ~7 min android 🤖apk 📲
✔️ d465cbd #10 2024-05-20 15:37:42 ~10 min ios 📱ipa 📲
693d175 #11 2024-05-20 19:18:52 ~2 min tests 📄log
✔️ 693d175 #11 2024-05-20 19:23:27 ~7 min android-e2e 🤖apk 📲
✔️ 693d175 #11 2024-05-20 19:23:29 ~7 min android 🤖apk 📲
✔️ 693d175 #11 2024-05-20 19:25:02 ~8 min ios 📱ipa 📲
e442a1c #12 2024-05-20 19:45:12 ~2 min tests 📄log
✔️ e442a1c #12 2024-05-20 19:50:16 ~7 min android-e2e 🤖apk 📲
✔️ e442a1c #12 2024-05-20 19:50:24 ~7 min android 🤖apk 📲
✔️ e442a1c #12 2024-05-20 19:51:06 ~8 min ios 📱ipa 📲
c78bd68 #13 2024-05-20 22:26:47 ~2 min tests 📄log
✔️ c78bd68 #13 2024-05-20 22:30:15 ~5 min android 🤖apk 📲
✔️ c78bd68 #13 2024-05-20 22:31:09 ~6 min android-e2e 🤖apk 📲
✔️ c78bd68 #13 2024-05-20 22:33:12 ~8 min ios 📱ipa 📲
649a2e2 #14 2024-05-21 16:12:29 ~2 min tests 📄log
✔️ 649a2e2 #14 2024-05-21 16:17:45 ~7 min android-e2e 🤖apk 📲
✔️ 649a2e2 #14 2024-05-21 16:17:55 ~8 min android 🤖apk 📲
✔️ 649a2e2 #14 2024-05-21 16:18:32 ~8 min ios 📱ipa 📲
5bbc9d5 #15 2024-05-21 16:53:04 ~2 min tests 📄log
✔️ 5bbc9d5 #15 2024-05-21 16:58:33 ~8 min android-e2e 🤖apk 📲
✔️ 5bbc9d5 #15 2024-05-21 16:58:39 ~8 min android 🤖apk 📲
✔️ 5bbc9d5 #15 2024-05-21 16:59:13 ~8 min ios 📱ipa 📲
✔️ 1a6d3a3 #16 2024-05-21 18:05:39 ~4 min tests 📄log
✔️ 1a6d3a3 #16 2024-05-21 18:09:34 ~8 min android-e2e 🤖apk 📲
✔️ 1a6d3a3 #16 2024-05-21 18:09:41 ~8 min android 🤖apk 📲
✔️ 1a6d3a3 #16 2024-05-21 18:10:08 ~8 min ios 📱ipa 📲
✔️ 5818b9f #17 2024-05-22 17:56:09 ~4 min tests 📄log
✔️ 5818b9f #17 2024-05-22 18:00:17 ~8 min android-e2e 🤖apk 📲
✔️ 5818b9f #17 2024-05-22 18:00:23 ~8 min android 🤖apk 📲
✔️ 5818b9f #17 2024-05-22 18:00:29 ~8 min ios 📱ipa 📲
✔️ 7a35b18 #18 2024-05-23 16:18:57 ~4 min tests 📄log
✔️ 7a35b18 #18 2024-05-23 16:22:43 ~8 min android-e2e 🤖apk 📲
✔️ 7a35b18 #18 2024-05-23 16:22:46 ~8 min android 🤖apk 📲
✔️ 7a35b18 #18 2024-05-23 16:23:07 ~8 min ios 📱ipa 📲
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ cc1a9ad #19 2024-05-24 15:23:23 ~8 min android 🤖apk 📲
✔️ cc1a9ad #19 2024-05-24 15:23:23 ~8 min android-e2e 🤖apk 📲
✔️ cc1a9ad #19 2024-05-24 15:23:53 ~8 min ios 📱ipa 📲
✔️ cc1a9ad #20 2024-05-24 15:42:32 ~3 min tests 📄log
✔️ 1e50005 #21 2024-05-24 15:49:25 ~4 min tests 📄log
✔️ 1e50005 #20 2024-05-24 15:53:29 ~8 min android-e2e 🤖apk 📲
✔️ 1e50005 #20 2024-05-24 15:53:36 ~8 min android 🤖apk 📲
✔️ 1e50005 #20 2024-05-24 15:54:00 ~8 min ios 📱ipa 📲

@J-Son89
Copy link
Member

J-Son89 commented Apr 5, 2024

@OmarBasem - since this pr is around derivation paths and you have a lot of knowledge in that area, do you think you could give it a quick happy path test on the functionality added?
Just install the pr build and report back if things worked/didn't work etc, nothing too strenuous of a test, like 5/ 10 mins checking 👍
If you don't have time today/next few days, perhaps someone else in @status-im/wallet-mobile-devs can take a look.
(let's try limit ourselves to helping test 1 pr per week for the moment, so if you've already tested one / or are testing a pr then please let others volunteer)

Copy link
Member

@OmarBasem OmarBasem left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your PR @ulisesmac!

I have tried testing out the PR. I tried to create a new keypair and a new account and it worked fine. But when I tried to create another account using one of the existing keypairs it did not work. After I enter the password it gets stuck -- nothing happens.

IMG_4506.MP4

src/status_im/contexts/wallet/create_account/view.cljs Outdated Show resolved Hide resolved
@ulisesmac
Copy link
Contributor Author

ulisesmac commented Apr 5, 2024

Thanks for your PR @ulisesmac!

I have tried testing out the PR. I tried to create a new keypair and a new account and it worked fine. But when I tried to create another account using one of the existing keypairs it did not work. After I enter the password it gets stuck -- nothing happens.

@OmarBasem thank you so much for spotting this issue!

Yeah, makes sense, since I'm not considering that case, I thought it wasn't implemented. I'll revisit the implementation and fix it.

@ulisesmac
Copy link
Contributor Author

Thanks for your PR @ulisesmac!

I have tried testing out the PR. I tried to create a new keypair and a new account and it worked fine. But when I tried to create another account using one of the existing keypairs it did not work. After I enter the password it gets stuck -- nothing happens.
IMG_4506.MP4

Hey @OmarBasem @J-Son89 , a quick update on it, I'm currently working on it.

The new account generation based on a keypair is incomplete or buggy in develop. No matter if we pick any keypair, the code always generates an account for the root/main/primary? keypair stored, the one for our main account.

Besides the account creation, I think the keypair picker needs a lot of work, sometimes it's confusing what is being picked.

Screencast.from.2024-04-08.17-42-34.webm

It took me a while to realize what the problems were and how to properly use it, as said before, I'm working on actually creating an account given a selected keypair.

TBH I believe this is kind of a separate issue, but I don't want to merge this implementation without being complete, also because it'll require an immediate follow-up, so I'm addressing it in this PR. 👍

@ulisesmac ulisesmac marked this pull request as draft April 8, 2024 23:53
@ulisesmac ulisesmac force-pushed the 19232-fix-derivation-path-creation branch from d3472e1 to d33b0dc Compare April 8, 2024 23:54
@OmarBasem
Copy link
Member

OmarBasem commented Apr 9, 2024

The new account generation based on a keypair is incomplete or buggy in develop.

@ulisesmac it is working fine for me on develop. It was QA'ed in this PR #19333. Creating account from new keypair or an existing keypair works as expected.

@J-Son89
Copy link
Member

J-Son89 commented Apr 9, 2024

The new account generation based on a keypair is incomplete or buggy in develop.

@ulisesmac it is working fine for me on develop. It was QA'ed in this PR #19333. Creating account from new keypair or an existing keypair works as expected.

yeah it's a little unclear to me what issues exactly you are pointing to @ulisesmac ? 🤔
It's more design related?

@ulisesmac
Copy link
Contributor Author

@OmarBasem @J-Son89

It's unclear for me what is the correct flow to derive an address for a keypair. I'll explain develop behaviour with a (replicable) example.

Expected(?) (Status Desktop behaves like this):

  1. User adds account to Primary KP
    -> new acc in Primary KP with deriv. path m/44'/60'/0'/0/1
  2. User adds account to Primary KP
    -> new acc in Primary KP with deriv. path m/44'/60'/0'/0/2
  3. User creates a Secondary KP
    -> new acc in Secondary KP with deriv. path m/44'/60'/0'/0/0
  4. User adds account to Secondary KP
    -> new acc in Secondary KP with deriv. path m/44'/60'/0'/0/1
  5. User adds account to Secondary KP
    -> new acc in Secondary KP with deriv. path m/44'/60'/0'/0/2
  6. User adds account to Primary KP
    -> new acc in Primary KP with deriv. path m/44'/60'/0'/0/3

Current (status mobile behavior):

  1. User adds account to Primary KP
    -> new acc in Primary KP with deriv. path m/44'/60'/0'/0/1
  2. User adds account to Primary KP
    -> new acc in Primary KP with deriv. path m/44'/60'/0'/0/2
  3. User creates a Secondary KP
    -> new acc in Secondary KP with deriv. path m/44'/60'/0'/0/3 ⚠️
  4. User adds account to Secondary KP
    -> new acc in Secondary KP with deriv. path m/44'/60'/0'/0/4 ⚠️
  5. User adds account to Secondary KP
    -> new acc in Secondary KP with deriv. path m/44'/60'/0'/0/5 ⚠️
  6. User adds account to Primary KP
    -> new acc in Primary KP with deriv. path m/44'/60'/0'/0/6 ⚠️

And all accounts marked with ⚠️ are generated in the same way we generate accounts for Primary KP, so the Secondary KP is just another set of Primary KP addresses. If we attempt to generate the missing m/44'/60'/0'/0/3 Primary KP address, we'll get an exception saying it has been already created.

@ulisesmac
Copy link
Contributor Author

@J-Son89 @OmarBasem
Just to provide more context, I found this problem been already reported:

@OmarBasem
Copy link
Member

@ulisesmac I think you are referring to a different issue. Creating a new account from a new keypair or an existing keypair works as expected on develop. Whether the derivation path is accurate or not shouldn't affect the functionality.

@ulisesmac ulisesmac force-pushed the 19232-fix-derivation-path-creation branch 2 times, most recently from 8f51bab to 6297318 Compare April 19, 2024 09:38
@ulisesmac ulisesmac force-pushed the 19232-fix-derivation-path-creation branch 5 times, most recently from 649a2e2 to 5bbc9d5 Compare May 21, 2024 16:50
@qoqobolo qoqobolo self-assigned this May 22, 2024
@qoqobolo qoqobolo moved this from E2E Tests to IN TESTING in Pipeline for QA May 22, 2024
@qoqobolo
Copy link
Contributor

Hi @ulisesmac, thanks a lot for the fixes!
I started testing and now need your clarification/confirmation on the fix for #19232 and how we should generate a derivation path for a newly created account after removing a previous one.


Case:

  1. Create a new profile
  2. Go to wallet > Add some new derived accounts for the existing (default) keypair, e.g Acc1 (derivation path m/44'/60'/0'/0/1) and Acc2 (m/44'/60'/0'/0/2)
  3. Remove Acc1 (m/44'/60'/0'/0/1)
  4. Add Acc3

The expected result in the issue is saying:

"The Derivation path for the newly created account should be the same as it was when the account was removed"
i.e. in our case, it should be m/44'/60'/0'/0/1 for Acc3

Could you please confirm, that is NOT correct?

IIRC we asked you about this on the offsite, and your answer was that if the account is removed, we should continue to generate new accounts with derivation paths in the same order, that is for Acc3 it should be m/44'/60'/0'/0/3 (and that's how it works both in nightly and PR)


I'm asking for a clarification again because the description of this PR indicates that #19232 is fixed and you mentioned there that

The derivation path for derived accounts is incremented correctly, even if a derived account is removed.

However, I don't see any changes in this PR compared to nightly. And on the other hand, it looks expected to me.

PR:

video_2024-05-22_15-59-27.mp4

Does it mean that only the part of the issue where the UI froze when creating a new account was fixed?
Please help me solve this puzzle :)

I'll update the issue description if needed just to make it clear.
Thanks!

@ulisesmac
Copy link
Contributor Author

Hi @qoqobolo
Thanks for testing!

Sorry for not being clear enough in this PR, I'll explain it with more detail.

I started testing and now need your clarification/confirmation on the fix for #19232 and how we should generate a derivation path for a newly created account after removing a previous one.

Case:

1. Create a new profile

2. Go to wallet > Add some new derived accounts for the existing (default) keypair, e.g Acc1 (derivation path m/44'/60'/0'/0/1) and Acc2 (m/44'/60'/0'/0/2)

3. Remove Acc1 (m/44'/60'/0'/0/1)

4. Add Acc3

Yeah, I think these steps aren't not enough to replicate the issue

The expected result in the issue is saying:

"The Derivation path for the newly created account should be the same as it was when the account was removed" i.e. in our case, it should be m/44'/60'/0'/0/1 for Acc3

Could you please confirm, that is NOT correct?

Exactly, this is NOT correct.
The expected result should be m/44'/60'/0'/0/3 for Acc 3

IIRC we asked you about this on the offsite, and your answer was that if the account is removed, we should continue to generate new accounts with derivation paths in the same order, that is for Acc3 it should be m/44'/60'/0'/0/3 (and that's how it works both in nightly and PR)

Yeah, m/44'/60'/0'/0/3 should be the next expected derivation path, I confirmed it with Alisher some weeks ago.

and that's how it works both in nightly and PR

Maybe that's because of the specific case you tested, but they don't behave the same, I recorded a video showing the error in the latest of develop:

Screencast.from.2024-05-22.10-35-26.webm

And this is the same case in this PR:

Screencast.from.2024-05-22.10-42-38.webm

Does it mean that only the part of the issue where the UI froze when creating a new account was fixed? Please help me solve this puzzle :)

Yes, I fixed the UI freezing, but the issue's description isn't correct, sorry, I should've updated it to properly describe the problem.


Now, regarding to this PR, the issue shown in the first video I shared becomes worse when we generate new keypairs, the derivation path just makes no sense when deriving new accounts for new keypairs. This is being fixed in this PR.

Additionally, in develop it looks as if we are generating new keypairs, but we are not, so this PR also fixes the keypair generation, this fix is very important, but I'm not sure what you can do to test that there ARE NOT new keypairs added in develop.

It can be seen as an internal fix in the app, the important thing is that now new keypairs and new derived accounts are working.

@ulisesmac ulisesmac force-pushed the 19232-fix-derivation-path-creation branch from 1a6d3a3 to 5818b9f Compare May 22, 2024 17:51
@qoqobolo
Copy link
Contributor

@ulisesmac thank you very much for the detailed explanation! Everything is clear and I see that the issue is deeper than it seemed before

Additionally, in develop it looks as if we are generating new keypairs, but we are not, so this PR also fixes the keypair generation, this fix is very important, but I'm not sure what you can do to test that there ARE NOT new keypairs added in develop.

Yes, unfortunately, I don't know either but if you checked it yourself, it should be enough.

Regarding testing the PR, I've checked the following cases:

  1. removing Acc 2 and adding Acc 4 (that we mentioned above)
  2. creating a new key pair and adding new derived accounts for it (without removing them due to Inability to remove eth accounts which created by key pair generation flow or imported by seed phrase #19375)
  3. cases 1 and 2 on a profile recovered from a seed phrase
  4. cases 1 and 2 on synced devices (there is an interesting issue: if you create a new keypair on a primary device, you can't add a new derived account for it on a secondary device. But it also exists in develop, I'll investigate and log it separately)

What I couldn't test is the same cases for the Import keypair using recovery phrase scenario. Please check this question on Discord when you're online, will wait for your answer (in case you have some context) and log it as well if needed.

And let me know if you have smth else in mind that I can test.
Thank you!

Copy link
Contributor

@mohsen-ghafouri mohsen-ghafouri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove key pair works fine with this PR. thanks

@ulisesmac
Copy link
Contributor Author

4. cases 1 and 2 on synced devices (there is an interesting issue: if you create a new keypair on a primary device, you can't add a new derived account for it on a secondary device. But it also exists in develop, I'll investigate and log it separately)

This one is very interesting, I guess that's because you need to provide the seed phrase for every new keypair you added. and probably you are not able to send transactions too.

I think those flows are being covered by the Wallet Settings team, but just guessing that's the issue.

CC: @smohamedjavid any idea of what might be the issue here?

@ulisesmac
Copy link
Contributor Author

What I couldn't test is the same cases for the Import keypair using recovery phrase scenario. Please check this question on Discord when you're online, will wait for your answer (in case you have some context) and log it as well if needed.

@qoqobolo

Yeah, we already clarified that and we'll open an issue for it, basically it wasn't properly updated in a past PR and it also needs some fixes that are being done in this PR.

The test cases are good enough, thanks for taking the time! 👍

@smohamedjavid
Copy link
Member

You are right @ulisesmac.

  1. cases 1 and 2 on synced devices (there is an interesting issue: if you create a new keypair on a primary device, you can't add a new derived account for it on a secondary device. But it also exists in develop, I'll investigate and log it separately)

@qoqobolo - If the primary device creates any new keypair, the secondary device will get only the key pair details without the keystore file. The secondary device should import the missing keypair from the device it was created (primary device in our case) or import using the Recovery phrase or Private key to perform any transactions on those accounts.

P.S. A sneak peek of the feature. We can check the missing keypairs in settings profile > wallet > key pairs and accounts. We need to enable the feature flag keypairs-and-accounts under settings.

@qoqobolo
Copy link
Contributor

@ulisesmac @smohamedjavid thanks for your clarifications guys!

@ulisesmac no issues from my side, PR can be merged, thanks again for the amazing work!

@qoqobolo qoqobolo moved this from IN TESTING to MERGE in Pipeline for QA May 24, 2024
@churik
Copy link
Member

churik commented May 24, 2024

@ulisesmac @qoqobolo
thank you for providing clear explanations, it really matters in particular case!

Amazing work!!!

@ulisesmac ulisesmac merged commit 49a41f4 into develop May 24, 2024
6 checks passed
Pipeline for QA automation moved this from MERGE to DONE May 24, 2024
@ulisesmac ulisesmac deleted the 19232-fix-derivation-path-creation branch May 24, 2024 16:03
J-Son89 added a commit that referenced this pull request May 24, 2024
Fix hidden hook usage

Improve logging for unsupported collectibles

Fix re-rendering of collectibles in flat-list

chore: clean up implementation and speed up animation

remove apply animations to style

chore: use default opacity

chore: use default opacity

chore: add issue to todo

chore: use flex

chore: flex

Avatars/Community Avatar Component (#20147)

Avatars/dApp Avatar Component (#20145)

Update eth-archival pokt url

Remove not implemented Notification settings from community longtap m… (#20169)

pick between JSC & Hermes for Android (#20171)

We implement both `JSC` and `Hermes` in build phase of `Android` which increases our `APK` size by ~ `2 MB`.
This was fine before but currently we have to get below the `100 MB` limit.

This commit implements the preferred engine after inferring `hermesEnabled`  property from gradle.properties
This property is modified at build time for release here
https://github.com/status-im/status-mobile/blob/178d62bd276afffef5fe7a3f773e390d83336d9c/nix/mobile/android/build.nix#L17
and set for debug here
https://github.com/status-im/status-mobile/blob/178d62bd276afffef5fe7a3f773e390d83336d9c/Makefile#L280

Which should further reduce the `APK` size by `2 MB`.

[#19232] - Fix derivation path generation and keypair creation (#19531)

* Add more default dependencies to slide button

* Fix wallet account creation: derivation paths and keypairs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: DONE
9 participants