MessageDataParser

class arbitrum_py.message.message_data_parser.SubmitRetryableMessageDataParser[source]

Bases: object

Parser for retryable message data from InboxMessageDelivered events.

This class provides functionality to parse event data emitted in InboxMessageDelivered events for messages of type L1MessageType_submitRetryableTx. It handles both string and bytes input formats and returns a structured representation of the message data.

static parse(event_data)[source]

Parse the event data from an InboxMessageDelivered event.

This method decodes the data field in InboxMessageDelivered for messages of kind L1MessageType_submitRetryableTx. It handles both hex string and bytes input formats.

Parameters:

event_data (Union[str, bytes]) – The data field from the InboxMessageDelivered event. Can be either a hex string (with or without ‘0x’ prefix) or bytes.

Returns:

A dictionary-like object containing the parsed data with the following fields:
  • destAddress (str): The destination address in checksum format

  • l2CallValue (int): The L2 call value in wei

  • l1Value (int): The L1 value in wei

  • maxSubmissionFee (int): The maximum submission fee in wei

  • excessFeeRefundAddress (str): The address for excess fee refund in checksum format

  • callValueRefundAddress (str): The address for call value refund in checksum format

  • gasLimit (int): The gas limit for the transaction

  • maxFeePerGas (int): The maximum fee per gas in wei

  • data (str): The call data as a hex string with ‘0x’ prefix

Return type:

CaseDict

Example

>>> parser = SubmitRetryableMessageDataParser()
>>> event_data = "0x..."  # hex string from event
>>> result = parser.parse(event_data)
>>> print(result.destAddress)  # '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'