Skip to main content
How to

Enable forced transactions

Status

🚧 Forced transactions are not yet live. This documentation describes the intended design.

Enable forced transactions

Support for forced transaction submission is not enabled by default. To enable forced transaction submission for smart contracts on your Linea instance, you need to:

  1. Deploy the AddressFilter contract. It maintains a list of addresses that cannot participate in forced transactions. This is used for various purposes, including filtering EVM precompiles as destination addresses and ensuring compliance with regulatory obligations such as anti-money laundering (AML) and know-your-customer (KYC) requirements.
  2. Deploy the ForcedTransactionGateway contract. It is the user-facing contract that validates and submits forced transactions.
  3. Have the DEFAULT_ADMIN_ROLE or access to that administrator.
tip

Note that the AddressFilter contract is required to initiate your Linea instance, so this dependency should already be met.

Once both contracts are deployed, the user who has the DEFAULT_ADMIN_ROLE on the smart contract that performs the Linea Rollup and L1 Message Service access control operations must grant the relevant FORCED_TRANSACTION_SENDER_ROLE to the ForcedTransactionGateway contract, allowing the submission of forced transactions.

Next steps