go-ethereum/accounts/usbwallet
Daniel Liu 4e3bd78545
accounts/usbwallet: full 32bit chainId support for Trezor #17439 (#1419)
This fix allows Trezor to support full 32bit chainId in geth, with the
next version of firmware.

For `chainId > 2147483630` case, Trezor returns signature bit only.
- Trezor returns only signature parity for `chainId > 2147483630` case.
- for `chainId == 2147483630` case, Trezor returns `MAX_UINT32` or `0`,
but it doesn't matter.
  (`2147483630 * 2 + 35` = `4294967295`(`MAX_UINT32`))

chainId | returned signature_v | compatible issue
---------|------------------------|--------------------
0 < chainId <= 255 | chainId * 2 + 35 + v | no issue (firmware `1.6.2`
for Trezor one)
255 < chainId <= 2147483630 | chainId * 2 + 35 + v | ***fixed.***
*firmware `1.6.3`*
chainId > 2147483630 | v | *firmware `1.6.3`*

Please see also: full 32bit chainId support for Trezor
- Trezor one: https://github.com/trezor/trezor-mcu/pull/399 ***merged***
- Trezor model T: https://github.com/trezor/trezor-core/pull/311
***merged***

---------

Signed-off-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
Co-authored-by: HackyMiner <hackyminer@gmail.com>
Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
2025-09-03 15:48:01 +08:00
..
trezor all: remove deprecated protobuf dependencies (#30232) 2025-01-24 16:54:12 +08:00
hub.go accounts/usbwallet: fix ledger access for latest firmware and add Ledger Flex #31004 (#1414) 2025-09-03 15:45:34 +08:00
ledger.go accounts/usbwallet: support dynamic tx (#30180) 2025-01-24 16:54:12 +08:00
trezor.go accounts/usbwallet: full 32bit chainId support for Trezor #17439 (#1419) 2025-09-03 15:48:01 +08:00
wallet.go accounts/usbwallet: update hid library (#29176) 2025-01-24 16:54:12 +08:00