Skip to content

Releases: trustwallet/wallet-core

4.0.3

31 Oct 13:41
72c67be
Compare
Choose a tag to compare

What's Changed

Full Changelog: 4.0.1...4.0.3

4.0.1

20 Oct 12:08
b08c6f3
Compare
Choose a tag to compare

What's Changed

Full Changelog: 4.0.0...4.0.1

4.0.0

13 Oct 12:42
b530432
Compare
Choose a tag to compare
4.0.0 Pre-release
Pre-release

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:

  1. Elliptic Curves in Rust: We've successfully migrated most of the currently supported elliptic curves to Rust. Implementation details are as follows:
  2. 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.
  3. 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.
  4. 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 and Theta no longer support JSON signing. Initially, the chains inherited Ethereum::Entry, but Entry::signJSON was not overridden with the chain specific implementation.
  • UserOperation signed transaction (JSON representation) now has the sender: 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 using TWEthereumAbiEncodeFunction through Protobuf interface instead.
  • TWEthereumAbiDecodeOutput. Consider using TWEthereumAbiDecodeParams through Protobuf interface instead.
  • TWEthereumAbiDecodeCall. Consider using TWEthereumAbiDecodeContractCall through Protobuf interface instead.
  • TWEthereumAbiValueDecodeValue, TWEthereumAbiValueDecodeArray and all TWEthereumAbiValueDecode*. Consider using TWEthereumAbiDecodeValue through Protobuf interface instead.

3.3.2

13 Oct 08:29
c5ead67
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.2.21...3.3.2

3.3.1-dev

09 Oct 11:40
9f08ce0
Compare
Choose a tag to compare
3.3.1-dev Pre-release
Pre-release

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:

  1. Elliptic Curves in Rust: We've successfully migrated most of the currently supported elliptic curves to Rust. Implementation details are as follows:
  2. 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.
  3. 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.
  4. 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 and Theta no longer support JSON signing. Initially, the chains inherited Ethereum::Entry, but Entry::signJSON was not overridden with the chain specific implementation.
  • UserOperation signed transaction (JSON representation) now has the sender: 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 using TWEthereumAbiEncodeFunction through Protobuf interface instead.
  • TWEthereumAbiDecodeOutput. Consider using TWEthereumAbiDecodeParams through Protobuf interface instead.
  • TWEthereumAbiDecodeCall. Consider using TWEthereumAbiDecodeContractCall through Protobuf interface instead.
  • TWEthereumAbiValueDecodeValue, TWEthereumAbiValueDecodeArray and all TWEthereumAbiValueDecode*. Consider using TWEthereumAbiDecodeValue through Protobuf interface instead.

3.3.0-dev

09 Oct 09:35
4ffd26e
Compare
Choose a tag to compare
3.3.0-dev Pre-release
Pre-release

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:

  1. Elliptic Curves in Rust: We've successfully migrated most of the currently supported elliptic curves to Rust. Implementation details are as follows:
  2. 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.
  3. 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.
  4. 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 and Theta no longer support JSON signing. Initially, the chains inherited Ethereum::Entry, but Entry::signJSON was not overridden with the chain specific implementation.
  • UserOperation signed transaction (JSON representation) now has the sender: 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 using TWEthereumAbiEncodeFunction through Protobuf interface instead.
  • TWEthereumAbiDecodeOutput. Consider using TWEthereumAbiDecodeParams through Protobuf interface instead.
  • TWEthereumAbiDecodeCall. Consider using TWEthereumAbiDecodeContractCall through Protobuf interface instead.
  • TWEthereumAbiValueDecodeValue, TWEthereumAbiValueDecodeArray and all TWEthereumAbiValueDecode*. Consider using TWEthereumAbiDecodeValue through Protobuf interface instead.

3.2.21

29 Sep 10:01
5d0063c
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.2.20...3.2.21

3.2.20

06 Sep 11:13
defedb6
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.2.19...3.2.20

3.2.19

05 Sep 14:02
c3cc9d4
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.2.18...3.2.19

3.2.18

01 Sep 15:55
a369164
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.2.17...3.2.18