Open
Conversation
* Add deinit for KMP iOS and JVM targets * Add deinit for JS target * Add deinit for JS target * Fix JVM native name * Reuse one thread on JVM --------- Co-authored-by: satoshiotomakan <127754187+satoshiotomakan@users.noreply.github.com>
* Fix kmp issue: memory leak found in Base58.decode in iOS * Remove unused functions * Fix failed test cases * Revert "Fix failed test cases" This reverts commit 57eee39. * Revert val -> value argument name refactoring * Output better indentation * Revert changes in TWEthereumAbiFunction.h * Fix inconsistent naming --------- Co-authored-by: satoshiotomakan <127754187+satoshiotomakan@users.noreply.github.com>
* feat(ton): Add support for TON 24-words mnemonic in Rust * feat(ton): Add tw_ton_wallet FFIs * feat(ton): Add TWTONWallet FFI in C++ * feat(ton): Add tonMnemonic StoredKey type * feat(ton): Add StoredKey TON tests * feat(ton): Add TWStoredKey TON tests * feat(ton): Add TONWallet support in Swift * TODO add iOS tests * feat(ton): Add `KeyStore` iOS tests * feat(ton): Add TONWallet support in JavaScript * Add `KeyStore` TypeScript tests * feat(ton): Remove `TonMnemonic` structure, replace with a `validate_mnemonic_words` function * [CI] Trigger CI * feat(ton): Fix rustfmt * feat(ton): Fix C++ build * feat(ton): Fix C++ build * feat(ton): Fix C++ build * feat(ton): Fix C++ address analyzer * feat(ton): Fix C++ tests * feat(ton): Add Android tests * feat(ton): Bump `actions/upload-artifact` to v4 * Bump `dawidd6/action-download-artifact` to v6 * feat(eth): Fix PR comments
* [Chore]: Add GenericPhantomReference.java * [Chore]: Fix unnecessary null assertion in WalletCoreLibLoader.kt
* Fix Java JVM leak * clean * apply to jni * [Misc]: Upgrade Rust toolchain to `nightly-2025-01-16` * [Misc]: Fix Clippy warnings --------- Co-authored-by: Satoshi Otomakan <satoshiotomakan8@gmail.com>
Binary size comparison➡️ aarch64-apple-ios: - 14.33 MB
+ 15.25 MB +937 KB➡️ aarch64-apple-ios-sim: - 14.33 MB
+ 15.25 MB +938 KB➡️ aarch64-linux-android: - 18.76 MB
+ 20.10 MB +1373 KB➡️ armv7-linux-androideabi: - 16.18 MB
+ 17.31 MB +1153 KB➡️ wasm32-unknown-emscripten: - 13.67 MB
+ 14.85 MB +1207 KB |
* Generate FFI headers in include/TrustWalletCore/Generated folder * Adds is_generated flag in type_decl and use that for jni generation * Trigger Build * Minor fix * Fix in CPP code gen as well * Fix for wasm * Fix for kotlin * Handle Generated folder in kotlin build --------- Co-authored-by: Sergei Boiko <127754187+satoshiotomakan@users.noreply.github.com>
* Use Path API * Tries to fix cocoa pods release * Uses include paths * Fixes cocoapods build as well * Bumps docker version
* feat(eip7702): Add Biz Smart Contract Account Type (#4319) * fix(eip7702): Add `UserOperationMode` * Add `erc4337.biz_account.abi.json` ABI * fix(eip7702): Add `test_barz_transfer_erc7702_eoa` test * fix(eip7702): Fix `Biz.execute4337Ops()` * fix(eip7702): Minor changes * fix(eip7702): Rename `UserOperationMode` to `SCAccountType` * fix: tron message sign (#4326) * Adds ability to specify the curve while constructing Private Key (#4324) * Adds ability to specify the curve while constructing Private Key * Adds signing functions without a curve * Migrates to new API * Use TWCoinTypeCurve * Adds Curve * Adds FFI Tests for Private Key V2 APIs * Migrates Swift tests to new API * Migrates Kotlin tests to V2 API * Migrates WASM tests * Migrates C++ tests to V2 APIs * Removes deprecated APIs and migrates all to new ones --------- Co-authored-by: Sergei Boiko <127754187+satoshiotomakan@users.noreply.github.com> Co-authored-by: Yeferson Licet <111311418+y3fers0n@users.noreply.github.com>
* feat(eip7702): Add Biz Smart Contract Account Type (#4319) * fix(eip7702): Add `UserOperationMode` * Add `erc4337.biz_account.abi.json` ABI * fix(eip7702): Add `test_barz_transfer_erc7702_eoa` test * fix(eip7702): Fix `Biz.execute4337Ops()` * fix(eip7702): Minor changes * fix(eip7702): Rename `UserOperationMode` to `SCAccountType` * fix: tron message sign (#4326) * Adds ability to specify the curve while constructing Private Key (#4324) * Adds ability to specify the curve while constructing Private Key * Adds signing functions without a curve * Migrates to new API * Use TWCoinTypeCurve * Adds Curve --------- Co-authored-by: Sergei Boiko <127754187+satoshiotomakan@users.noreply.github.com> Co-authored-by: Yeferson Licet <111311418+y3fers0n@users.noreply.github.com>
* feat(eip7702): Add Biz Smart Contract Account Type (#4319) * fix(eip7702): Add `UserOperationMode` * Add `erc4337.biz_account.abi.json` ABI * fix(eip7702): Add `test_barz_transfer_erc7702_eoa` test * fix(eip7702): Fix `Biz.execute4337Ops()` * fix(eip7702): Minor changes * fix(eip7702): Rename `UserOperationMode` to `SCAccountType` * fix: tron message sign (#4326) * Adds ability to specify the curve while constructing Private Key (#4324) * Adds ability to specify the curve while constructing Private Key * Adds signing functions without a curve * Migrates to new API * Use TWCoinTypeCurve * Adds Curve * feat(eip7702): Add `SetCode` transaction type (#4336) * fix(eip7702): Add `SetCode` transaction type * fix(eip7702): Add `Biz.executeBatch` function call * Add `AuthorizationSigner` * fix(eip7702): Fix Authorization list RLP encoding * fix(eip7702): Add `Biz.execute` and `Biz.executeBatch` tests * fix(eip7702): Add android test * [CI] Trigger CI * feat(biz): Adjust `Barz.getEncodedHash` according to the latest changes in Biz contract (#4342) * fix(biz): Adjust `Barz.getEncodedHash` according to the latest Biz changes * fix(biz): Adjust Android test * chore(dependencies): Update `gtest` to 1.16.0 (#4343) * [ETH]: Makes factory and paymaster optional while serialising UserOpV07 (#4345) * Uses updated API --------- Co-authored-by: Sergei Boiko <127754187+satoshiotomakan@users.noreply.github.com> Co-authored-by: Yeferson Licet <111311418+y3fers0n@users.noreply.github.com>
* Migrates PrivateKey and PublicKey implementation to Rust * Migrates PublicKey zilliqa schnorr to rust * Migrates Zillqa Private Key to rust * Removes todo * Makes clippy happy * Minor fix * Adds Rust Tests * Fixes address santization issue * Fixes doctests * Adds Zilliqa Schnorr as a separate curve and remove separate signing/verifying APIs for zillqa * FMT * Addresses review comments * Fixes C++ Tests * Derive ZeroizeOnDrop trait on Zillqa Private Key * Cleanup public key data * Adds Tests * FMT * Use CByteArrayWrapper * Addresses review comments * Addresses review comment * Removes doc test * Only allow valid Cardano keys and make TWHDWalletGetMasterKey return an optional
* feat(eip7702): Add Biz Smart Contract Account Type (#4319) * fix(eip7702): Add `UserOperationMode` * Add `erc4337.biz_account.abi.json` ABI * fix(eip7702): Add `test_barz_transfer_erc7702_eoa` test * fix(eip7702): Fix `Biz.execute4337Ops()` * fix(eip7702): Minor changes * fix(eip7702): Rename `UserOperationMode` to `SCAccountType` * fix: tron message sign (#4326) * Adds ability to specify the curve while constructing Private Key (#4324) * Adds ability to specify the curve while constructing Private Key * Adds signing functions without a curve * Migrates to new API * Use TWCoinTypeCurve * Adds Curve * feat(eip7702): Add `SetCode` transaction type (#4336) * fix(eip7702): Add `SetCode` transaction type * fix(eip7702): Add `Biz.executeBatch` function call * Add `AuthorizationSigner` * fix(eip7702): Fix Authorization list RLP encoding * fix(eip7702): Add `Biz.execute` and `Biz.executeBatch` tests * fix(eip7702): Add android test * [CI] Trigger CI * feat(biz): Adjust `Barz.getEncodedHash` according to the latest changes in Biz contract (#4342) * fix(biz): Adjust `Barz.getEncodedHash` according to the latest Biz changes * fix(biz): Adjust Android test * chore(dependencies): Update `gtest` to 1.16.0 (#4343) * [ETH]: Makes factory and paymaster optional while serialising UserOpV07 (#4345) * feat(biz): Allow to call `Biz.execute` when EOA is delegated already (#4351) * fix(biz): Allow to call `Biz.execute` when EOA is delegated already * feature(biz): Adopt C++ tests * feat(biz): Add and fix android tests * feat(biz): Fix ios tests * chore(aa): Rename `Execute` and `Batch` to `AAExecute` and `AABatch` correspondingly * chore(scw): Rename `AABatch` and `AAExecute` to `SCWalletBatch` and `SCWalletExecute` * chore(uov7): Serialize UserOperation numbers as hex 0x prefixed (#4353) --------- Co-authored-by: Sergei Boiko <127754187+satoshiotomakan@users.noreply.github.com> Co-authored-by: Yeferson Licet <111311418+y3fers0n@users.noreply.github.com>
* Migrates `scrypt.c` to Rust * Migrates to v4 cache * Revert "Migrates to v4 cache" This reverts commit 6113eb5. * Updates sccache action * Uses correct version * Fixes FFI test * Adds keystore to default * Fixes Tests * Clippy fix * Updates memory for wasm * Actually use the config * Renames tw_keystore to tw_crypto and updates test * FMT
* Migrates `scrypt.c` to Rust * Migrates to v4 cache * Revert "Migrates to v4 cache" This reverts commit 6113eb5. * Updates sccache action * Uses correct version * Fixes FFI test * Adds keystore to default * Fixes Tests * Clippy fix * Updates memory for wasm * Actually use the config * Renames tw_keystore to tw_crypto and updates test * FMT * Migrates `pbkdf2.c` to rust * Addresses review comment * Minor * Use tw_ffi to expose FFIs * Use FFI generator * Trigger Build * Uses non null data * Renames
* Replaces `aeskey.c` with Rust implementation via FFI * Migrates TWAES as well * Adds AES CBC * Trigger Build * Fixes tests * Adds tests * Add C++ tests for CBC * Adds more C++ Tests * Addresses review comments * Addresses remaining review comments * Minor * Fix iOS Tests * Fix API
* Replaces `bip39.c` with Rust implementation via FFI * Makes clippy happy and minor fix * Minor fix * Minor * Adds support for Nonnull<TWString> in code generator * Fixes sample go * Tries to fix memory leak * Use `toStringOrDefault()` * Addresses review comments * Further changes * Uses reference from BIP32 crate to obtain the seed * Minor * Minor
* Adds derivation for various curves * Adds FFI integration * Adds ability to provide hashers in FFI * Trigger Build * FMT * Fix clippy * Fixes ffi issues * FMT * Minor fix * Minor * Fixes sonar cube issues * More sonarqube fixes * Fix memory leaks * Fixes another memory leak * Minor * Minor * Addresses review comments and adds tests * FMT * Makes clippy happy * Addresses review comments * Minor * Uses zeroize for tweak * Addresses review comment * Clippy fix
* Adds derivation for various curves * Adds FFI integration * Adds ability to provide hashers in FFI * Trigger Build * FMT * Fix clippy * Fixes ffi issues * FMT * Minor fix * Minor * Fixes sonar cube issues * More sonarqube fixes * Fix memory leaks * Fixes another memory leak * Minor * Minor * Addresses review comments and adds tests * FMT * Makes clippy happy * Initial setup * Remove from scripts * Removes trezor crypto * Minor * Minor * Fixes test * Fixes * Fixes * Minor * Fix sonarqube issue * Fix sonarqube issues * Address review comments
* Merge branch 'dev' of github.com:trustwallet/wallet-core into dev # Conflicts: # src/PrivateKey.cpp # src/PrivateKey.h * Tries to fix memory leak * More memory leak fixes * More fixes * Fix * Fix hd_node_public as well * Fix wasm test * Fix path for TWEthereum * Fix Barz Path as well * Fixes flutter build * Update coverage
* Adds max output size constraint in pbkdf2 and scrypt * Fixes ed25519 derivation paths and wipes data after usage * Restrict max input size as well * Minor * Removes BIP39 dependency * Makes clippy happy * Addresses review comments * FMT
…se cryptoxide directly) (#4481) * Normalisation and derivation fixes * Minor * Removes dependency on ed25519-bip32 * FMT * Clippy * Add iv check * Use ios 18.0 in CI * Use ios 18.6 * Add switch xcode step
* Normalisation and derivation fixes * Minor * Removes dependency on ed25519-bip32 * FMT * Clippy * Add iv check * Use ios 18.0 in CI * Use ios 18.6 * Add switch xcode step * Fix pubkey derivation and zeroize TWString/TWData * Clippy * Add xcode switch in kotlin sample CI * Fix pubkey derivation * Fix C++ zerozing, use sodium comparison and minor fixes * FMT * Remove switch step * Fix issues * Adds remaining fixes * Fix tests * Minor fixes * Update code coverage threshold for now * Use memzero * Fix --------- Co-authored-by: Sergei Boiko <127754187+satoshiotomakan@users.noreply.github.com>
* fiux(ci): Use `iPhone 16` in ios-release (#4493) * Throw exception rather than SIGSEGV (#4443) * Throw exception rather than SIGSEGV * Fix test cases * Add NULL checker for exceptionClass * feat(Plasma): Add Plasma Mainnet (#4499) * feat(plasma): Add Plasma Mainnet * feat(plasma): Add mobile tests * [Solana]: Adds ability to transfer tokens to the feepayer (#4503) * Initial setup * Minor updates * Restructure * fix(barz): Replace u32 parameters with i32 (#4504) * Disallow to use unsigned integer parameters within class methods * fix(data): Allocate empty array on `tw_data_create_with_bytes` if data is NULL (#4508) * fix(data): Allocate empty array on `tw_data_create_with_bytes` if data is NULL * fix(data): Add TWData test * feat(Biz): Add helper functions to support `BizPasskeySessionAccount` (#4516) * feat(biz-passkey): Add `TWBarzEncodeRegisterSessionCall` FFI * feat(biz-passkey): Add `TWBarzEncodeRemoveSessionCall` FFI * feat(biz-passkey): Add `TWBarzEncodePasskeySessionNonce` FFI * feat(biz-passkey): Add `TWBarzEncodeExecuteWithPasskeySessionCall` FFI * refactor(barz): Move some functions to TWBiz and TWEip7702 modules * feat(biz): Add WebAuthn * feat(biz): Add `TWWebAuthnGetMessageHash` and `TWWebAuthnGetFormattedSignature` * feat(biz): Fix C++ and Mobile * Rename `TWWebAuthn` module to `TWWebAuthnSolidity` * feat(biz): Adjust `executeWithPasskeySession` arguments * feat(biz): Fix fmt * feat(biz): Add Biz Android tests * feat(biz): Add final Biz Android test * feat(biz): Fix lints * feat(biz): Minor change * feat(biz): fmt * feat(solana): Add `SolanaTransaction.insertTransferInstruction()` (#4523) * feat(solana): Add `transfer_to_fee_payer` instruction * feat(solana): Add `tw_solana_transaction_insert_transfer_instruction` FFI * feat(solana): Add a note comment * feat(solana): Add one more comment * feat(zcash): Add support for TEX address (#4527) * feat(zcash): Add `TexAddress` in Rust * feat(zcash): Add successfully broadcasted transaction test * feat(zcash): Add successfully broadcasted transaction C++ test * feat(zcash): Fix C++ tests * feat(zcash): Reuse code in `TexAddress::isValid` * feat(zcash): Fix `TexAddress:isValid` * [Solana]: Renames fee recipient token account for clarity (#4528) * [Solana]: Renames fee recipient token account for clarity * Fix typo * Feature: Add trade and secured fields to THORChain Asset (#4500) * my tracked commit * MsgInstantiateContract * revert formatting * test * Tests fixes and broadcast * cargo fmt * remove unused * feat: add trade and secured fields to Thorchain Asset - Add trade and secured boolean fields to Asset proto message - Update ThorchainAsset struct in Rust with new fields - Update asset initialization in tx_builder.rs - Matches Thorchain blockchain Asset struct definition --------- Co-authored-by: gupnik <mail.guptanikhil@gmail.com> * feat(kusama-asset-hub): Add ability to force to use `ChargeAssetTxPayment` (#4541) * feat(kusama-asset-hub): Add ability to force to use `ChargeAssetTxPayment` for native tip * feat(kusama-asset-hub): Add a unit test * feat(monad): Add Monad testnet (#4543) * feat(monad): Update Monad to mainnet (#4550) * TODO update explorer * feat(monad): Update block explorer (#4553) * feat(monad): Update explorer * feat(monad): Update explorer schema * Fix incorrect value of NO_PAD constant (#4487) Co-authored-by: Sergei Boiko <127754187+satoshiotomakan@users.noreply.github.com> * fix(public-key): Fix `PublicKey::verify` by adding signature length validation (#4565) * fix(public-key): Fix `PublicKey::verify` by adding signature length validation * fix(public-key): Fix PR comments * Fix Reveal Operations for Seoul Protocol (#4557) * Since the Seoul protocol, reveal operations require the presence of a boolean for whether or not the proof field is present. This is required when manually forging bytes. Added. * Fix TezosTests.swift * Fix TezosTests.swift * Update tests * Update tests * Fix TezosCompiler.CompileWithSignatures * Fix TezosCompiler.CompileWithSignatures * fix(tezos): Fix Tezos compile test * fix(tezos): Fix Tezos signing test * fix(tezos): Add mainnet test transaction --------- Co-authored-by: gupnik <nikhil.g@trustwallet.com> Co-authored-by: Sergei Boiko <satoshiotomakan8@gmail.com> * fix(public-key): Check zilliqa schnorr signature size (#4571) * fix(public-key): Check zilliqa schnorr signature size * Replace assert macros with proper checks * fix(public-key): Address a PR comment * fix(public-key): Address a PR comments * fix(public-key): Fix a bug in PublicKey constructor * feat(pczt): Add implementation of PCZT signing (#4576) * feat(pczt): Add implementation of PCZT signing * feat(pczt): Add a successfully broadcasted tx test * feat(pczt): Address PR comments * fix(webauthn): Fix buffer out of bounds (#4577) * fix(webauthn): Fix buffer out of bounds * fix(webauthn): Fix `TWWebAuthnGetRSValues` implicit Data conversion * fix(webauthn): Extra checks for algorithm, and public key parts * fix(webauthn): Test common buffer overflows * fix(webauthn): Check `crv` and `kty` parameters * fix(private-key): Add PrivateKey Data move constructor * chore(noexcept): Remove wrong noexcept * fix(private-key): Zeroize memory on move `operator=` * fix(private-key): Avoid cleaning private key if self-assign * fix(aes): Add iv size validation (#4580) * fix(aes): Add iv size validation * fix(aes): Add unit tests * Update Dockerfile to install cbindgen with --locked and provide explicit links to clang binaries (#4568) * install cbindgen with --locked * add explicit links to clang/clang++ since CMake will not use the ENV --------- Co-authored-by: Sergei Boiko <127754187+satoshiotomakan@users.noreply.github.com> * feat(stable-account): Add `TWDerivationSmartChainStableAccount` derivation type (#4585) * fix(overflow): Fix integer overflows in `BinaryEncoding` and `Pactus` (#4592) * fix(binary-coding): Avoid unsigned integer overflow * fix(pactus): Avoid unsigned integer overflow * feat(tron): Add `raw_data_hex` parameter in JSON transaction representation (#4593) * feat(tron): Add `raw_data_hex` parameter in JSON transaction representation * feat(tron): Fix iOS test * feat(biz): Add `Biz.signExecuteWithSignatureCall` and `BizPasskeySession.signExecuteWithSignatureCall` (#4594) * feat(biz): Add `Biz.SignExecuteWithSignatureCall` * Add new `BizPasskeySession` module * feat(biz): Add `Biz.SignExecuteWithSignatureCall` * Finish `BizPasskeySession` module separation * feat(biz): Fix android tests * feat(biz): Address PR review comments * chore(codeowners): Add onchain-corex-enabling team to CODEOWNERS (#4600) * fix(ethereum-abi): Fix Ethereum ABI type parsing recursion + chore actions and toolchain (#4597) * fix(ethereum-abi): Fix Ethereum ABI type parsing recursion * fix(ethereum-abi): Freeze community github actions * chore(rust): Bump rust toolchain version to nightly-2025-12-11 * chore(wasm): Try to update emsdk to 4.0.22 * chore(rust): Decrease code coverage to 94.1 due to a recent toolchain update * chore(rust): Freeze `actions` hashes --------- Co-authored-by: Sergei Boiko <satoshiotomakan8@gmail.com> Co-authored-by: Sergei <> * chore(actions): Replace unverified actions with GH scripts (#4604) * chore(actions): Replace unverified actions with GH scripts * chore(actions): Update rust toolchain in Dockerfile * fix(bitcoin-v2): Fail if `max_amount_output` provided with `outputs` or `change_output` at a time (#4607) * fix(bitcoin-v2): Fail if `max_amount_output` provided with `outputs` or `change_output` at a time * fix(bitcoin-v2): PR notes * fix(cbor): Fix Cbor Map with odd elements number decoding (#4610) * fix(cbor): Fix Cbor Map with odd elements number decoding * fix(cbor): Change test name * chore(sync): Fix merge conflicts Breaking changes: * The following FFIs take i32 instead of u32 due to Kotlin bindings limitations: `tw_hd_node_create_with_seed`, `tw_hd_node_create_with_extended_private_key`, `tw_hd_node_derive_from_path`, `tw_hd_node_extended_private_key`, `tw_hd_node_extended_public_key`, `tw_hd_node_public_create_with_extended_public_key`, `tw_hd_node_public_derive_from_path`, `tw_mnemonic_generate`, `tw_mnemonic_get_word`, `tw_pbkdf2_hmac_sha512`, `tw_ecdsa_pubkey_hash` * `crypto_scrypt` FFI is no longer marked as `tw_ffi` to avoid changing u32 and usize argument types to i32 * chore(sync): Increase test coverage * Add Bitcoin PSBT compile test * Add `PrivateKey.CopyAssignmentOperator` and `PrivateKey.MoveAssignmentOperator` tests * Copy Rust TWMnemonic tests to C++ * Copy Rust Biz tests to C++ * Copy Rust BizPasskeySession tests to C++ * chore(sync): Push missing PSBT implementation + remove unused code * chore(sync): Fix Biz android tests --------- Co-authored-by: Sergei Boiko <127754187+satoshiotomakan@users.noreply.github.com> Co-authored-by: 10gic <github10gic@proton.me> Co-authored-by: gupnik <nikhil.g@trustwallet.com> Co-authored-by: Enrique Souza <enriquesouza@live.com> Co-authored-by: gupnik <mail.guptanikhil@gmail.com> Co-authored-by: Corey Soreff <csoreff@gmail.com> Co-authored-by: Sergei Boiko <satoshiotomakan8@gmail.com> Co-authored-by: Joey Yandle <xoloki@gmail.com>
chore(sync): Fix Dev<->Master conflicts
…er code with Rust's bindings (#4626) * fix(random): * TODO consider refactoring WASM Random.cpp * chore(sync): Fix JNI * fix(random): Replace platform-specific randomizer code with Rust's rand crate * fix(random): Minor change * chore(random): `random_buffer` takes `Data&` instead of raw pointers * fix(random): Change `CByteArrayMut::as_mut` to return Option * fix(random): Rename `CByteArrayMut` as `CByteArrayRefMut`
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR introduces significant changes for C++ to Rust migration in Wallet Core:
Scrypt,PBKDF2andAES CTR/CBChave been migrated to RustMnemoniccreation/validations have been migrated to Rusta. Uses
bip39crated with version2.1.0a. Uses
bip32with version0.5.3b. Uses
ed25519-bip32with version0.4.1Progress
scrypt.cto Rust #4366pbkdf2.cto rust #4367aeskey.cwith Rust implementation via FFI #4377bip39.cwith Rust implementation via FFI #4384Breaking changes
PrivateKeyconstruction now requires a curve to be provided.TWCurveZILLIQASchnorrhas been introduced. Accordingly, the special APIs for zilliqa signing and verification have been removed. The standard APIs can be used instead with the new curve.enum TWCurve { + TWCurveZILLIQASchnorr } enum TWPublicKeyType { + TWPublicKeyTypeZILLIQASchnorr = 10, } - TW_EXPORT_METHOD - TWData* _Nullable TWPrivateKeySignZilliqaSchnorr(struct TWPrivateKey* _Nonnull pk, TWData* _Nonnull message); - TW_EXPORT_METHOD - bool TWPublicKeyVerifyZilliqaSchnorr(struct TWPublicKey *_Nonnull pk, TWData *_Nonnull signature, TWData *_Nonnull message);isValidchecks for both PrivateKey and PublicKey have been made stricter by ensuring that they can actually be constructed from the provided data.TWHDWalletGetMasterKeynow returns a nullable private key.iterationsanddkLenasint32_t:iterationsanddkLenasint32_t: