parent
2e4c63f836
commit
710cb09663
@ -0,0 +1,41 @@
|
|||||||
|
from trezor.utils import unimport
|
||||||
|
from trezor import wire
|
||||||
|
|
||||||
|
|
||||||
|
async def confirm_output(output):
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
async def confirm_total(total_out, fee):
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
@unimport
|
||||||
|
async def layout_sign_tx(message, session_id):
|
||||||
|
from ..common.seed import get_root_node
|
||||||
|
from ..common import signtx
|
||||||
|
|
||||||
|
from trezor.messages import RequestType
|
||||||
|
from trezor.messages.TxRequest import TxRequest
|
||||||
|
from trezor.messages.wire_types import TxAck
|
||||||
|
|
||||||
|
root = await get_root_node(session_id)
|
||||||
|
|
||||||
|
signer = signtx.sign_tx(message, root)
|
||||||
|
res = None
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
req = signer.send(res)
|
||||||
|
except signtx.SigningError as e:
|
||||||
|
raise wire.FailureError(*e.args)
|
||||||
|
if isinstance(req, TxRequest):
|
||||||
|
if req.request_type == RequestType.TXFINISHED:
|
||||||
|
break
|
||||||
|
res = await wire.reply_message(session_id, req, TxAck)
|
||||||
|
elif isinstance(req, signtx.UiConfirmOutput):
|
||||||
|
res = await confirm_output(req.output)
|
||||||
|
elif isinstance(req, signtx.UiConfirmTotal):
|
||||||
|
res = await confirm_total(req.total_out, req.fee)
|
||||||
|
else:
|
||||||
|
raise ValueError('Invalid signing instruction')
|
||||||
|
return req
|
Loading…
Reference in new issue