Skip to content

Conversation

@y3fers0n
Copy link
Contributor

Fixes #4325

Description

  • Use message length instead of constant number.
  • Added new test case with different message length

How to test

Tests included. Signing a Tron message and verifying the address is recoverable

Types of changes

  • Bug fix

Checklist

  • Create pull request as draft initially, unless its complete.
  • Add tests to cover changes as needed.
  • Update documentation as needed.
  • If there is a related Issue, mention it in the description.

If you're adding a new blockchain

  • I have read the guidelines for adding a new blockchain.

@y3fers0n y3fers0n changed the title fix: tron message sign fix: tron message signing Mar 21, 2025
Copy link
Collaborator

@gupnik gupnik left a comment

Choose a reason for hiding this comment

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

Thanks @y3fers0n for the PR.

I compared with the output from tronweb and it matches correctly 👍

@satoshiotomakan satoshiotomakan merged commit 2c1e0fe into trustwallet:master Mar 24, 2025
12 checks passed
b00f pushed a commit to pactus-project/wallet-core that referenced this pull request Mar 25, 2025
satoshiotomakan added a commit that referenced this pull request Mar 28, 2025
* 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 <[email protected]>
Co-authored-by: Yeferson Licet <[email protected]>
satoshiotomakan added a commit that referenced this pull request Mar 28, 2025
* 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 <[email protected]>
Co-authored-by: Yeferson Licet <[email protected]>
satoshiotomakan added a commit that referenced this pull request Apr 2, 2025
* 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 <[email protected]>
Co-authored-by: Yeferson Licet <[email protected]>
satoshiotomakan added a commit that referenced this pull request Apr 9, 2025
* 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 <[email protected]>
Co-authored-by: Yeferson Licet <[email protected]>
zkrypt-crossbar pushed a commit to Cramiumlabs/wallet-core that referenced this pull request Jun 15, 2025
zkrypt-crossbar pushed a commit to Cramiumlabs/wallet-core that referenced this pull request Jun 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Tron] Invalid message signature due to fixed length

3 participants