Copy # Type 0 legacy transaction:
import blxr_rlp
from bxcommon . messages . eth . serializers . transaction import Transaction
from bxcommon . utils import convert
tx_contents = {
' nonce ' : ' 0x21 ' ,
' gasPrice ' : ' 0x46c7cfe5b3 ' ,
' gas ' : ' 0xc62d ' ,
' to ' : ' 0xdac17f958d2ee523a2206206994597c13d831ec7 ' ,
' value ' : ' 0x0 ' ,
' input ' : ' 0xa9059cbb000000000000000000000000a1ff1a11cac7c4f183c6fcb9554a7249fca271d5000000000000000000000000000000000000000000000000000000033e87f780 ' ,
' v ' : ' 0x25 ' ,
' r ' : ' 0xc79b76b082ab0a24c98119097e87a4dad6e1dceb6b0c2c65d9267beb6da1cbeb ' ,
' s ' : ' 0x433e77847d7e4f53805dedbc7f9954464f7b44a09fca9cbf75209b1bc14192bf ' ,
}
transaction = Transaction . from_json_with_validation ( tx_contents )
raw_transaction = convert . bytes_to_hex ( blxr_rlp . encode ( transaction ))
print ( raw_transaction )
# f8a921...4192bf
"""
# Type 2 dynamic fee transaction:
import blxr_rlp
from bxcommon.messages.eth.serializers.transaction import DynamicFeeTransaction
from bxcommon.utils import convert
tx_contents = {
'nonce': '0x1adcf8',
'gasPrice': None,
'maxFeePerGas': '0x746a528800',
'maxPriorityFeePerGas': '0x77359400',
'gas': '0x5208',
'to': '0x4c20d6c790dcd8474df3ec22dd199ff03e0fcd7d',
'value': '0x9928e2912b8a000',
'input': '0x',
'v': '0x0',
'r': '0x5683c39ded7133bfe5caf572644e3822c761c894347cd5323cf605fa28f3c752',
's': '0x4c8a80b282b5872e233f582ece775830a10556b96c18513f0d5b37d1171d60a3',
'chainId': '0x1',
'accessList': [],
'type': '0x2'
}
transaction = DynamicFeeTransaction.from_json_with_validation(tx_contents)
raw_transaction = blxr_rlp.decode_lazy(blxr_rlp.encode(transaction)).hex()
print(raw_transaction)
# 02f876...1d60a3
"""