mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-07-13 10:08:08 +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.TxAck import TxAck
|
||||||
from trezor.messages.TxRequest import TxRequest
|
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 ..common import BITCOIN_NAMES
|
||||||
from ..keychain import with_keychain
|
from ..keychain import with_keychain
|
||||||
@ -14,14 +14,23 @@ if not utils.BITCOIN_ONLY:
|
|||||||
from . import bitcoinlike, decred, zcash
|
from . import bitcoinlike, decred, zcash
|
||||||
|
|
||||||
if False:
|
if False:
|
||||||
from typing import Type, Union
|
from typing import Optional, Union
|
||||||
|
from apps.common.seed import Keychain
|
||||||
|
from ..authorization import CoinJoinAuthorization
|
||||||
|
|
||||||
|
|
||||||
@with_keychain
|
@with_keychain
|
||||||
async def sign_tx(
|
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:
|
) -> 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:
|
if utils.BITCOIN_ONLY or coin.coin_name in BITCOIN_NAMES:
|
||||||
signer_class = bitcoin.Bitcoin
|
signer_class = bitcoin.Bitcoin
|
||||||
|
Loading…
Reference in New Issue
Block a user