mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-23 06:48:16 +00:00
core/bitcoin: Support preauthorization in SignTx message for CoinJoin.
This commit is contained in:
parent
97fc9b74ab
commit
b9cfecb8b8
@ -4,7 +4,7 @@ from trezor.messages.SignTx import SignTx
|
||||
from trezor.messages.TxAck import TxAck
|
||||
from trezor.messages.TxRequest import TxRequest
|
||||
|
||||
from apps.common import coininfo, paths, seed
|
||||
from apps.common import coininfo, paths
|
||||
|
||||
from ..common import BITCOIN_NAMES
|
||||
from ..keychain import with_keychain
|
||||
@ -14,14 +14,23 @@ if not utils.BITCOIN_ONLY:
|
||||
from . import bitcoinlike, decred, zcash
|
||||
|
||||
if False:
|
||||
from typing import Type, Union
|
||||
from typing import Optional, Union
|
||||
from apps.common.seed import Keychain
|
||||
from ..authorization import CoinJoinAuthorization
|
||||
|
||||
|
||||
@with_keychain
|
||||
async def sign_tx(
|
||||
ctx: wire.Context, msg: SignTx, keychain: seed.Keychain, coin: coininfo.CoinInfo
|
||||
ctx: wire.Context,
|
||||
msg: SignTx,
|
||||
keychain: Keychain,
|
||||
coin: coininfo.CoinInfo,
|
||||
authorization: Optional[CoinJoinAuthorization] = None,
|
||||
) -> TxRequest:
|
||||
approver = approvers.BasicApprover(msg, coin)
|
||||
if authorization:
|
||||
approver = approvers.CoinJoinApprover(msg, coin, authorization)
|
||||
else:
|
||||
approver = approvers.BasicApprover(msg, coin)
|
||||
|
||||
if utils.BITCOIN_ONLY or coin.coin_name in BITCOIN_NAMES:
|
||||
signer_class = bitcoin.Bitcoin
|
||||
|
Loading…
Reference in New Issue
Block a user