|
|
@ -1,5 +1,3 @@
|
|
|
|
from protobuf import dump_uvarint
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from apps.common.writers import (
|
|
|
|
from apps.common.writers import (
|
|
|
|
write_bytes_fixed,
|
|
|
|
write_bytes_fixed,
|
|
|
|
write_bytes_unchecked,
|
|
|
|
write_bytes_unchecked,
|
|
|
@ -7,6 +5,7 @@ from apps.common.writers import (
|
|
|
|
write_uint16_le,
|
|
|
|
write_uint16_le,
|
|
|
|
write_uint32_le,
|
|
|
|
write_uint32_le,
|
|
|
|
write_uint64_le,
|
|
|
|
write_uint64_le,
|
|
|
|
|
|
|
|
write_uvarint,
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
if False:
|
|
|
|
if False:
|
|
|
@ -33,19 +32,19 @@ if False:
|
|
|
|
|
|
|
|
|
|
|
|
def write_auth(w: Writer, auth: EosAuthorization) -> None:
|
|
|
|
def write_auth(w: Writer, auth: EosAuthorization) -> None:
|
|
|
|
write_uint32_le(w, auth.threshold)
|
|
|
|
write_uint32_le(w, auth.threshold)
|
|
|
|
write_variant32(w, len(auth.keys))
|
|
|
|
write_uvarint(w, len(auth.keys))
|
|
|
|
for key in auth.keys:
|
|
|
|
for key in auth.keys:
|
|
|
|
write_variant32(w, key.type)
|
|
|
|
write_uvarint(w, key.type)
|
|
|
|
write_bytes_fixed(w, key.key, 33)
|
|
|
|
write_bytes_fixed(w, key.key, 33)
|
|
|
|
write_uint16_le(w, key.weight)
|
|
|
|
write_uint16_le(w, key.weight)
|
|
|
|
|
|
|
|
|
|
|
|
write_variant32(w, len(auth.accounts))
|
|
|
|
write_uvarint(w, len(auth.accounts))
|
|
|
|
for account in auth.accounts:
|
|
|
|
for account in auth.accounts:
|
|
|
|
write_uint64_le(w, account.account.actor)
|
|
|
|
write_uint64_le(w, account.account.actor)
|
|
|
|
write_uint64_le(w, account.account.permission)
|
|
|
|
write_uint64_le(w, account.account.permission)
|
|
|
|
write_uint16_le(w, account.weight)
|
|
|
|
write_uint16_le(w, account.weight)
|
|
|
|
|
|
|
|
|
|
|
|
write_variant32(w, len(auth.waits))
|
|
|
|
write_uvarint(w, len(auth.waits))
|
|
|
|
for wait in auth.waits:
|
|
|
|
for wait in auth.waits:
|
|
|
|
write_uint32_le(w, wait.wait_sec)
|
|
|
|
write_uint32_le(w, wait.wait_sec)
|
|
|
|
write_uint16_le(w, wait.weight)
|
|
|
|
write_uint16_le(w, wait.weight)
|
|
|
@ -55,9 +54,9 @@ def write_header(hasher: Writer, header: EosTxHeader) -> None:
|
|
|
|
write_uint32_le(hasher, header.expiration)
|
|
|
|
write_uint32_le(hasher, header.expiration)
|
|
|
|
write_uint16_le(hasher, header.ref_block_num)
|
|
|
|
write_uint16_le(hasher, header.ref_block_num)
|
|
|
|
write_uint32_le(hasher, header.ref_block_prefix)
|
|
|
|
write_uint32_le(hasher, header.ref_block_prefix)
|
|
|
|
write_variant32(hasher, header.max_net_usage_words)
|
|
|
|
write_uvarint(hasher, header.max_net_usage_words)
|
|
|
|
write_uint8(hasher, header.max_cpu_usage_ms)
|
|
|
|
write_uint8(hasher, header.max_cpu_usage_ms)
|
|
|
|
write_variant32(hasher, header.delay_sec)
|
|
|
|
write_uvarint(hasher, header.delay_sec)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def write_action_transfer(w: Writer, msg: EosActionTransfer) -> None:
|
|
|
|
def write_action_transfer(w: Writer, msg: EosActionTransfer) -> None:
|
|
|
@ -106,7 +105,7 @@ def write_action_refund(w: Writer, msg: EosActionRefund) -> None:
|
|
|
|
def write_action_voteproducer(w: Writer, msg: EosActionVoteProducer) -> None:
|
|
|
|
def write_action_voteproducer(w: Writer, msg: EosActionVoteProducer) -> None:
|
|
|
|
write_uint64_le(w, msg.voter)
|
|
|
|
write_uint64_le(w, msg.voter)
|
|
|
|
write_uint64_le(w, msg.proxy)
|
|
|
|
write_uint64_le(w, msg.proxy)
|
|
|
|
write_variant32(w, len(msg.producers))
|
|
|
|
write_uvarint(w, len(msg.producers))
|
|
|
|
for producer in msg.producers:
|
|
|
|
for producer in msg.producers:
|
|
|
|
write_uint64_le(w, producer)
|
|
|
|
write_uint64_le(w, producer)
|
|
|
|
|
|
|
|
|
|
|
@ -146,7 +145,7 @@ def write_action_newaccount(w: Writer, msg: EosActionNewAccount) -> None:
|
|
|
|
def write_action_common(w: Writer, msg: EosActionCommon) -> None:
|
|
|
|
def write_action_common(w: Writer, msg: EosActionCommon) -> None:
|
|
|
|
write_uint64_le(w, msg.account)
|
|
|
|
write_uint64_le(w, msg.account)
|
|
|
|
write_uint64_le(w, msg.name)
|
|
|
|
write_uint64_le(w, msg.name)
|
|
|
|
write_variant32(w, len(msg.authorization))
|
|
|
|
write_uvarint(w, len(msg.authorization))
|
|
|
|
for authorization in msg.authorization:
|
|
|
|
for authorization in msg.authorization:
|
|
|
|
write_uint64_le(w, authorization.actor)
|
|
|
|
write_uint64_le(w, authorization.actor)
|
|
|
|
write_uint64_le(w, authorization.permission)
|
|
|
|
write_uint64_le(w, authorization.permission)
|
|
|
@ -157,10 +156,6 @@ def write_asset(w: Writer, asset: EosAsset) -> None:
|
|
|
|
write_uint64_le(w, asset.symbol)
|
|
|
|
write_uint64_le(w, asset.symbol)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def write_variant32(w: Writer, value: int) -> None:
|
|
|
|
|
|
|
|
dump_uvarint(w.extend, value)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def write_bytes_prefixed(w: Writer, data: bytes) -> None:
|
|
|
|
def write_bytes_prefixed(w: Writer, data: bytes) -> None:
|
|
|
|
write_variant32(w, len(data))
|
|
|
|
write_uvarint(w, len(data))
|
|
|
|
write_bytes_unchecked(w, data)
|
|
|
|
write_bytes_unchecked(w, data)
|
|
|
|