Trigger and Function

The deposit_to_l2 job is triggered when an deposit-related transaction occurs or an event is produced. Specifically:

  • bridgeETHTo: When the transaction content involves depositing WETH to a specific L2 chain through a contract Screenshot of Deposit

  • depositERC20: When the transaction content involves depositing ERC20 to a specific L2 chain through a contract Screenshot of Deposit

def parse_deposit_transaction_function(
    transactions: List[Transaction],
    contract_set: set,
    chain_mapping: dict,
    sig_function_mapping: dict,
    sig_parse_mapping: dict,
) -> List[TokenDepositTransaction]:
    deposit_tokens = []
    for transaction in transactions:
        if transaction.to_address in contract_set:
            input_sig = transaction.input[0:10]
            if input_sig in sig_function_mapping:
                deposit_transaction = sig_parse_mapping[input_sig](
                    transaction=transaction,
                    chain_mapping=chain_mapping,
                    function=sig_function_mapping[input_sig],
                )
                deposit_tokens.append(deposit_transaction)
    return deposit_tokens

and the function to extract the deposit info from the transaction input data:

Meanwhile, after deposit_to_l2_job is triggered, the AddressTokenDeposit value is continuously aggregated by TokenDepositTransaction:

Last updated