linea_getTransactionExclusionStatusV1
Queries a temporary database maintained by the transaction exclusion API service to check if a transaction was rejected by the sequencer, connected P2P node, or RPC nodes for exceeding data line limits that would prevent the prover from generating a proof.
You can only check for transaction rejection within seven days of the transaction attempt. Querying
transactions older than this will return a null
response.
If the transaction is rejected, the API call will succeed and provide the reason; otherwise, it
will return null
.
Parameters​
txHash
: [Required] The hash of the subject transaction.
Returns​
txHash
: The hash of the subject transaction.from
: The public address of the account that sent the transaction.nonce
: Number of transaction made by the sender, in hexadecimal format.txRejectionStage
: A string detailing the point at which the transaction was rejected. One of:SEQUENCER
: Rejected by the sequencer.RPC
: Rejected by an RPC node (e.g.https://rpc.linea.build
).P2P
: Rejected by a P2P-connected node (for example, a bootnode).
reasonMessage
: Explains why the transaction was rejected.blockNumber
: The block that the transaction was rejected from, in hexadecimal format. Only returned for transactions rejected by the sequencer.timestamp
: Time of rejection, in ISO 8601 format.
Example​
Request​
- curl
curl https://linea-mainnet.infura.io/v3/YOUR-API-KEY \
-X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": "1",
"method": "linea_getTransactionExclusionStatusV1",
"params": ["0x526e56101cf39c1e717cef9cedf6fdddb42684711abda35bae51136dbb350ad7"]
}'
Response​
- JSON
{
"jsonrpc": "2.0",
"id": "1",
"result": {
"txHash": "0x526e56101cf39c1e717cef9cedf6fdddb42684711abda35bae51136dbb350ad7",
"from": "0x4d144d7b9c96b26361d6ac74dd1d8267edca4fc2",
"nonce": "0x64",
"txRejectionStage": "SEQUENCER",
"reasonMessage": "Transaction line count for module ADD=402 is above the limit 70",
"blockNumber": "0x3039",
"timestamp": "2024-08-22T09:18:51Z"
}
}
This example is purely representative; the database retains transaction data for only seven days, so you'll be unable to reproduce this response with the above example.
If a transaction was not rejected for exceeding line limits, it will not be found in the database,
and a null
result is returned. For example:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
A similar null
result is also returned if the transaction is older than seven days.