-
Notifications
You must be signed in to change notification settings - Fork 1
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
[MERGE ME] Split Sargon into many crates #318
Conversation
bb76f34
to
197faea
Compare
Split out HD crate
Split out module `Factors` and others into separate crates Split out module `Addresses` & `KeysCollector` into new crates
Merge at will @GhenadieVP |
I downgraded the bump to 1.2 so that that CI check passes |
…e for faster default developer experience.
Here are some measurements: BEFORE this PR ( AFTER/WITH this PR: That is a 63% reduction! |
@micbakos-rdx i hope you and @GhenadieVP can coordinate to merge this PR before your changes in:
Branch - or any other branch. Merge hell otherwise 🤪 |
If anyone sporadically gets test failures with this (or similar) message:
it is because crates in the same workspace do NOT share I think I've fixed it in: d81f018 but there might be some few more places left. |
Other changes: |
* Remove many unused dependencies * fix more FactorInstancesCache not using in-memory scenarios causing unit tests to fail. --------- Co-authored-by: Alexander Cyon <alex.cyon@gmail.com>
@GhenadieVP I merge some last minute improvements: https://github.com/radixdlt/sargon/pull/327/files I went through all An I forgot to mention in PR description: We are not using it and I think we won't use it. Removing it allowed me to not depend on OK so now I think this PR is ready to be merge from my perspective. As I wrote above merge at will :) Important I've not built Sargon locally and tried it in Android or iOS host. |
@CyonAlexRDX There is a breaking change: pub enum AccountOrAddressOf {
ProfileAccount { value: Account },
AddressOfExternalAccount { value: AccountAddress },
} is changed to: pub enum OwnedOrThirdPartyAccountAddress {
OwnedAccount { value: AccountAddress },
ThirdPartyAccount { value: AccountAddress },
} the issue is that the OwnedAccount is not an Account but just an address. I don't think that it should be the actual Account, having the AccountForDisplay form should be enough. The Host uses this information to display the info of the account, just having an address would require doing an async lookup on the profile. |
@CyonAlexRDX No worries I have updated my changes on top of this PR. |
A similar test that was sometimes failing in my branch was |
@GhenadieVP ah right ofc, we should use |
@micbakos-rdx did your branch contain this commit: 2d21cc2 |
@micbakos-rdx sorry you need to rebase again, since I merged: #329 @GhenadieVP i fixed the breaking change with AccountOrAddressOf and in this host PR I've fixed host: radixdlt/babylon-wallet-ios#1429 @micbakos-rdx you probably need minor adjustments in Android host too, see radixdlt/babylon-wallet-ios#1429 |
…center`, `signing` & account, persona (#330)
I progress ever further with #330 merged |
@GhenadieVP and even further! See #332 On that branch Speedups are near 10x that of main branch for common operations Let's sync tomorrow! I think we should merge it into this, and the this :) |
Also we should switch to only declare paths to our own crates once: |
Note
Mergable even if
check-version
andcode-coverage
checks fail.Important
the large git diff comes from many Cargo locks files from all new crates primary
Important
Sargon-uniffi crate is now NOT a "default member" of the workspace, meaning cargo checks will not include it, for faster checks. You can
cargo check --workspace
to include it. Orcargo test --workspace
to unit test its tests. The commandcargo run nextest --all
includes it, all other checks in CI/precommit will include it (I've verified this). Thecargo build -p sargon-uniffi
which we use in CD/build scripts will of course include it...Important
see README for how we bump / control version in all Cargo.toml files using
cargo ws
crate