Open Lu1zz opened 2 days ago
本次更改主要涉及对TON(The Open Network)区块链的支持。更新包括添加新的protobuf消息类型、功能和常量,以便于地址获取、消息签名和证明签名。此外,CLI工具也进行了扩展,以支持TON相关的命令和操作。这些更改增强了现有的Trezor硬件钱包功能,允许用户与TON区块链进行交互。
文件路径 | 更改摘要 |
---|---|
common/protob/check.py | 更新protobuf前缀检查逻辑,新增"Ton"前缀。 |
common/protob/messages-ton.proto | 新增TON相关的protobuf定义,包括多个枚举和消息类型。 |
common/protob/messages.proto | 添加Nexa和Ton协议的新消息类型。 |
core/SConscript.firmware | 增加TON应用的源文件路径配置。 |
core/embed/firmware/memory_H.ld | 在.linker脚本中添加新对象文件的引用。 |
core/embed/firmware/mpconfigport.h | 启用特殊数学函数支持的宏定义更新。 |
core/embed/unix/mpconfigport.h | 启用特殊数学函数支持的宏定义更新。 |
core/src/all_modules.py | 添加TON模块及其子模块的导入。 |
core/src/apps/ton/init.py | 新增TON应用的常量定义。 |
core/src/apps/ton/get_address.py | 新增异步函数get_address ,用于获取TON地址。 |
core/src/apps/ton/layout.py | 新增多个与交易确认和费用管理相关的函数。 |
core/src/apps/ton/sign_message.py | 新增异步函数sign_message ,用于签名TON消息。 |
core/src/apps/ton/sign_proof.py | 新增异步函数sign_proof ,用于签名TON证明。 |
core/src/apps/ton/tokens.py | 新增TokenInfo 类及相关函数。 |
core/src/apps/ton/tonsdk/boc/init.py | 更新模块导入和公共接口定义。 |
core/src/apps/ton/tonsdk/boc/_bit_string.py | 新增BitString 类,用于管理位序列。 |
core/src/apps/ton/tonsdk/boc/_builder.py | 新增Builder 类,用于构建位数据结构。 |
core/src/apps/ton/tonsdk/boc/_cell.py | 新增Cell 类,表示BOC格式的单元。 |
core/src/apps/ton/tonsdk/boc/_dict_builder.py | 新增DictBuilder 类,用于构建字典结构。 |
core/src/apps/ton/tonsdk/boc/dict/init.py | 更新模块导入,定义公共接口。 |
core/src/apps/ton/tonsdk/boc/dict/find_common_prefix.py | 新增find_common_prefix 函数,查找字符串的最长公共前缀。 |
core/src/apps/ton/tonsdk/boc/dict/serialize_dict.py | 新增一系列函数,用于字典序列化。 |
core/src/apps/ton/tonsdk/contract/init.py | 新增Contract 类,用于管理智能合约。 |
core/src/apps/ton/tonsdk/contract/token/ft/init.py | 导入JettonWallet 类,更新公共接口。 |
core/src/apps/ton/tonsdk/contract/token/ft/jetton_minter.py | 新增JettonMinter 类,管理代币铸造。 |
core/src/apps/ton/tonsdk/contract/token/ft/jetton_wallet.py | 新增JettonWallet 类,管理代币钱包操作。 |
core/src/apps/ton/tonsdk/contract/token/nft/init.py | 导入NFT相关类,更新公共接口。 |
core/src/apps/ton/tonsdk/contract/token/nft/nft_collection.py | 新增NFTCollection 类,管理NFT集合。 |
core/src/apps/ton/tonsdk/contract/token/nft/nft_item.py | 新增NFTItem 类,管理NFT项。 |
core/src/apps/ton/tonsdk/contract/token/nft/nft_sale.py | 新增NFTSale 类,管理NFT销售。 |
core/src/apps/ton/tonsdk/contract/token/nft/nft_utils.py | 新增与NFT相关的实用函数。 |
core/src/apps/ton/tonsdk/contract/wallet/init.py | 新增钱包版本枚举和钱包类。 |
core/src/apps/ton/tonsdk/contract/wallet/_wallet_contract.py | 新增WalletContract 类,管理钱包操作。 |
core/src/apps/ton/tonsdk/contract/wallet/_wallet_contract_v3.py | 新增V3钱包合约实现。 |
core/src/apps/ton/tonsdk/contract/wallet/_wallet_contract_v4.py | 新增V4钱包合约实现。 |
core/src/apps/ton/tonsdk/utils/init.py | 更新模块导入,定义公共接口。 |
core/src/apps/ton/tonsdk/utils/_address.py | 新增地址解析和处理功能。 |
core/src/apps/ton/tonsdk/utils/_utils.py | 新增字节数组和CRC计算的实用函数。 |
core/src/apps/workflow_handlers.py | 为TON协议添加新的消息处理功能。 |
core/src/trezor/enums/MessageType.py | 新增TON区块链相关的消息类型。 |
core/src/trezor/enums/TonWalletVersion.py | 新增V4R2 常量。 |
core/src/trezor/enums/TonWorkChain.py | 新增BASECHAIN 和MASTERCHAIN 常量。 |
core/src/trezor/enums/init.py | 新增TON钱包版本和工作链的枚举类。 |
core/src/trezor/lvglui/scrs/template.py | 新增TonMessage 和TonTransfer 类,处理TON交易显示。 |
core/src/trezor/messages.py | 新增TON相关的消息类。 |
core/src/trezor/strings.py | 新增format_customer_data 函数,处理客户数据格式。 |
core/src/trezor/ui/layouts/lvgl/init.py | 新增TON相关的确认函数。 |
core/src/trezor/ui/layouts/lvgl/altcoin.py | 新增confirm_total_ton 函数,处理TON交易确认。 |
python/src/trezorlib/cli/ton.py | 新增与TON区块链交互的CLI命令。 |
python/src/trezorlib/cli/trezorctl.py | 为TON命令添加命令别名。 |
python/src/trezorlib/messages.py | 新增TON相关的消息类。 |
python/src/trezorlib/ton.py | 新增与TON交互的函数。 |
sequenceDiagram
participant User
participant TrezorClient
participant TON
User->>TrezorClient: get_address()
TrezorClient->>TON: TonGetAddress
TON-->>TrezorClient: Address
TrezorClient-->>User: Address
User->>TrezorClient: sign_message()
TrezorClient->>TON: TonSignMessage
TON-->>TrezorClient: SignedMessage
TrezorClient-->>User: Signature
User->>TrezorClient: sign_proof()
TrezorClient->>TON: TonSignProof
TON-->>TrezorClient: SignedProof
TrezorClient-->>User: Signature
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Summary by CodeRabbit
版本更新说明
新功能
修复
文档