mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-22 14:28:07 +00:00
fix(core/eos): review usages of write_bytes_unchecked
This commit is contained in:
parent
6acc1cd6ab
commit
5b5ed8cce1
@ -67,8 +67,7 @@ async def process_action(
|
||||
await process_unknown_action(ctx, w, action)
|
||||
|
||||
writers.write_action_common(sha, action.common)
|
||||
writers.write_variant32(sha, len(w))
|
||||
writers.write_bytes_unchecked(sha, w)
|
||||
writers.write_bytes_prefixed(sha, w)
|
||||
|
||||
|
||||
async def process_unknown_action(
|
||||
|
@ -32,7 +32,7 @@ async def sign_tx(ctx: wire.Context, msg: EosSignTx, keychain: Keychain) -> EosS
|
||||
await _init(ctx, sha, msg)
|
||||
await _actions(ctx, sha, msg.num_actions)
|
||||
writers.write_variant32(sha, 0)
|
||||
writers.write_bytes_unchecked(sha, bytearray(32))
|
||||
writers.write_bytes_fixed(sha, bytearray(32), 32)
|
||||
|
||||
digest = sha.get_digest()
|
||||
signature = secp256k1.sign(
|
||||
@ -43,7 +43,7 @@ async def sign_tx(ctx: wire.Context, msg: EosSignTx, keychain: Keychain) -> EosS
|
||||
|
||||
|
||||
async def _init(ctx: wire.Context, sha: HashWriter, msg: EosSignTx) -> None:
|
||||
writers.write_bytes_unchecked(sha, msg.chain_id)
|
||||
writers.write_bytes_fixed(sha, msg.chain_id, 32)
|
||||
writers.write_header(sha, msg.header)
|
||||
writers.write_variant32(sha, 0)
|
||||
writers.write_variant32(sha, msg.num_actions)
|
||||
|
@ -1,4 +1,7 @@
|
||||
from protobuf import dump_uvarint
|
||||
|
||||
from apps.common.writers import (
|
||||
write_bytes_fixed,
|
||||
write_bytes_unchecked,
|
||||
write_uint8,
|
||||
write_uint16_le,
|
||||
@ -31,7 +34,7 @@ def write_auth(w: Writer, auth: EosAuthorization) -> None:
|
||||
write_variant32(w, len(auth.keys))
|
||||
for key in auth.keys:
|
||||
write_variant32(w, key.type)
|
||||
write_bytes_unchecked(w, key.key)
|
||||
write_bytes_fixed(w, key.key, 33)
|
||||
write_uint16_le(w, key.weight)
|
||||
|
||||
write_variant32(w, len(auth.accounts))
|
||||
@ -59,8 +62,7 @@ def write_action_transfer(w: Writer, msg: EosActionTransfer) -> None:
|
||||
write_uint64_le(w, msg.sender)
|
||||
write_uint64_le(w, msg.receiver)
|
||||
write_asset(w, msg.quantity)
|
||||
write_variant32(w, len(msg.memo))
|
||||
write_bytes_unchecked(w, msg.memo)
|
||||
write_bytes_prefixed(w, msg.memo)
|
||||
|
||||
|
||||
def write_action_buyram(w: Writer, msg: EosActionBuyRam) -> None:
|
||||
@ -154,12 +156,9 @@ def write_asset(w: Writer, asset: EosAsset) -> None:
|
||||
|
||||
|
||||
def write_variant32(w: Writer, value: int) -> None:
|
||||
variant = bytearray()
|
||||
while True:
|
||||
b = value & 0x7F
|
||||
value >>= 7
|
||||
b |= (value > 0) << 7
|
||||
variant.append(b)
|
||||
if value == 0:
|
||||
break
|
||||
write_bytes_unchecked(w, bytes(variant))
|
||||
dump_uvarint(w.extend, value)
|
||||
|
||||
|
||||
def write_bytes_prefixed(w: Writer, data: bytes) -> None:
|
||||
write_variant32(w, len(data))
|
||||
write_bytes_unchecked(w, data)
|
||||
|
Loading…
Reference in New Issue
Block a user