Releases: trustwallet/wallet-core
Releases · trustwallet/wallet-core
4.0.3
What's Changed
- [Celestia]: Add celestia like cosmos by @weixuefeng in #3510
- [Scroll]: Update scroll chainId by @zzq0826 in #3514
- [CI]: Fix linux-ci by @Milerius in #3519
- [Sec]: Zeroize mnemonic by @satoshiotomakan in #3520
- [Eth]: Fix EIP712 message hashing when fixed byte array is 0x0 by @satoshiotomakan in #3522
Full Changelog: 4.0.1...4.0.3
4.0.1
What's Changed
- [Scroll] Update rpc and block explorer for mainnet by @hewigovens in #3490
- [Crypto]: Fix salsa20_8(B) when compiled with -Os optimisation level by @satoshiotomakan in #3491
Full Changelog: 4.0.0...4.0.1
4.0.0
What's Changed
4.0.0
release introduces several sweeping changes to the Wallet Core, primarily centering on the shift from C++ to Rust for improved performance, security, and maintenance:
- Elliptic Curves in Rust: We've successfully migrated most of the currently supported elliptic curves to Rust. Implementation details are as follows:
secp256k1
- using RustCrypto: k256ed25519
,ed25519-blake2b
,ed25519-cardano-extended
- using curve25519-daleknistp256p1
- using RustCrypto/p256
- Wallet Core Redesign: Exploiting Rust's robust type system, the Wallet Core design has been massively enhanced to promote easier implementation of features and long-term code maintainability.
- Ethereum Transition: We've shifted the main Ethereum functionality from C++ to Rust. The implementation encompasses Ethereum's basic operations, RLP and ABI interfaces, as well as EIP712 message signing. As it stands now, the Ethereum transition is fully executed.
- Bitcoin Transition: Progress is underway to move Bitcoin functionality from C++ to Rust. So far, this involves Bitcoin's basic operations and interface redesign. Pending tasks include:
- Establishing a bridge between the legacy and new Bitcoin protobuf interfaces for seamless transition.
- Shifting all tests to Rust.
- Implementing other Bitcoin-related functionality in Rust.
Progress
Breaking changes
VeChain
andTheta
no longer support JSON signing. Initially, the chains inheritedEthereum::Entry
, butEntry::signJSON
was not overridden with the chain specific implementation.UserOperation
signed transaction (JSON representation) now has thesender: Address
field normalized with EIP55 checksum.- Removed
Ethereum::RLP::decode
functionality as it's not used in C++. - Ethereum and all EVM-compatible chains no longer support
TWTransactionCompilerBuildInput
.
Deprecated
TWEthereumAbiFunction
and all methods.TWEthereumAbiEncode
. Consider usingTWEthereumAbiEncodeFunction
through Protobuf interface instead.TWEthereumAbiDecodeOutput
. Consider usingTWEthereumAbiDecodeParams
through Protobuf interface instead.TWEthereumAbiDecodeCall
. Consider usingTWEthereumAbiDecodeContractCall
through Protobuf interface instead.TWEthereumAbiValueDecodeValue
,TWEthereumAbiValueDecodeArray
and allTWEthereumAbiValueDecode*
. Consider usingTWEthereumAbiDecodeValue
through Protobuf interface instead.
3.3.2
What's Changed
- fix typos by @i-fix-typos in #3462
- [Security/Legacy]: Fix security findings by @satoshiotomakan in #3477
- [Greenfield]: Update to mainnet by @satoshiotomakan in #3484
New Contributors
- @i-fix-typos made their first contribution in #3462
Full Changelog: 3.2.21...3.3.2
3.3.1-dev
What's Changed
This dev
release introduces several sweeping changes to the Wallet Core, primarily centering on the shift from C++ to Rust for improved performance, security, and maintenance:
- Elliptic Curves in Rust: We've successfully migrated most of the currently supported elliptic curves to Rust. Implementation details are as follows:
secp256k1
- using RustCrypto: k256ed25519
,ed25519-blake2b
,ed25519-cardano-extended
- using curve25519-daleknistp256p1
- using RustCrypto/p256
- Wallet Core Redesign: Exploiting Rust's robust type system, the Wallet Core design has been massively enhanced to promote easier implementation of features and long-term code maintainability.
- Ethereum Transition: We've shifted the main Ethereum functionality from C++ to Rust. The implementation encompasses Ethereum's basic operations, RLP and ABI interfaces, as well as EIP712 message signing. As it stands now, the Ethereum transition is fully executed.
- Bitcoin Transition: Progress is underway to move Bitcoin functionality from C++ to Rust. So far, this involves Bitcoin's basic operations and interface redesign. Pending tasks include:
- Establishing a bridge between the legacy and new Bitcoin protobuf interfaces for seamless transition.
- Shifting all tests to Rust.
- Implementing other Bitcoin-related functionality in Rust.
Progress
Breaking changes
VeChain
andTheta
no longer support JSON signing. Initially, the chains inheritedEthereum::Entry
, butEntry::signJSON
was not overridden with the chain specific implementation.UserOperation
signed transaction (JSON representation) now has thesender: Address
field normalized with EIP55 checksum.- Removed
Ethereum::RLP::decode
functionality as it's not used in C++. - Ethereum and all EVM-compatible chains no longer support
TWTransactionCompilerBuildInput
.
Deprecated
TWEthereumAbiFunction
and all methods.TWEthereumAbiEncode
. Consider usingTWEthereumAbiEncodeFunction
through Protobuf interface instead.TWEthereumAbiDecodeOutput
. Consider usingTWEthereumAbiDecodeParams
through Protobuf interface instead.TWEthereumAbiDecodeCall
. Consider usingTWEthereumAbiDecodeContractCall
through Protobuf interface instead.TWEthereumAbiValueDecodeValue
,TWEthereumAbiValueDecodeArray
and allTWEthereumAbiValueDecode*
. Consider usingTWEthereumAbiDecodeValue
through Protobuf interface instead.
3.3.0-dev
What's Changed
This dev
release introduces several sweeping changes to the Wallet Core, primarily centering on the shift from C++ to Rust for improved performance, security, and maintenance:
- Elliptic Curves in Rust: We've successfully migrated most of the currently supported elliptic curves to Rust. Implementation details are as follows:
secp256k1
- using RustCrypto: k256ed25519
,ed25519-blake2b
,ed25519-cardano-extended
- using curve25519-daleknistp256p1
- using RustCrypto/p256
- Wallet Core Redesign: Exploiting Rust's robust type system, the Wallet Core design has been massively enhanced to promote easier implementation of features and long-term code maintainability.
- Ethereum Transition: We've shifted the main Ethereum functionality from C++ to Rust. The implementation encompasses Ethereum's basic operations, RLP and ABI interfaces, as well as EIP712 message signing. As it stands now, the Ethereum transition is fully executed.
- Bitcoin Transition: Progress is underway to move Bitcoin functionality from C++ to Rust. So far, this involves Bitcoin's basic operations and interface redesign. Pending tasks include:
- Establishing a bridge between the legacy and new Bitcoin protobuf interfaces for seamless transition.
- Shifting all tests to Rust.
- Implementing other Bitcoin-related functionality in Rust.
Progress
Breaking changes
VeChain
andTheta
no longer support JSON signing. Initially, the chains inheritedEthereum::Entry
, butEntry::signJSON
was not overridden with the chain specific implementation.UserOperation
signed transaction (JSON representation) now has thesender: Address
field normalized with EIP55 checksum.- Removed
Ethereum::RLP::decode
functionality as it's not used in C++. - Ethereum and all EVM-compatible chains no longer support
TWTransactionCompilerBuildInput
.
Deprecated
TWEthereumAbiFunction
and all methods.TWEthereumAbiEncode
. Consider usingTWEthereumAbiEncodeFunction
through Protobuf interface instead.TWEthereumAbiDecodeOutput
. Consider usingTWEthereumAbiDecodeParams
through Protobuf interface instead.TWEthereumAbiDecodeCall
. Consider usingTWEthereumAbiDecodeContractCall
through Protobuf interface instead.TWEthereumAbiValueDecodeValue
,TWEthereumAbiValueDecodeArray
and allTWEthereumAbiValueDecode*
. Consider usingTWEthereumAbiDecodeValue
through Protobuf interface instead.
3.2.21
What's Changed
- [ZenEON]: Add support for ZenEON EVM-compatible chain by @satoshiotomakan in #3418
- Fix typos by @omahs in #3438
- [BSC]: Thorswap BSC support by @Milerius in #3429
New Contributors
Full Changelog: 3.2.20...3.2.21
3.2.20
What's Changed
- Fix Metis Coin type by @vcoolish in #3395
- [Mantle]: Add Mantle EVM-compatible chain by @satoshiotomakan in #3417
Full Changelog: 3.2.19...3.2.20
3.2.19
What's Changed
- [Kotlin] JVM support by @MaximPestryakov in #3407
- [Build] Configure JNI build for use in Java on Linux/MacOS by @satoshiotomakan in #3411
- [Kotlin] JVM support (part 2 by @MaximPestryakov in #3415
Full Changelog: 3.2.18...3.2.19
3.2.18
What's Changed
- [Evmos]: Fix signing, prehash, compile for Native Evmos by @satoshiotomakan in #3406
Full Changelog: 3.2.17...3.2.18