From 874bbde5213dd219e548f71c6487d647a9b8bd21 Mon Sep 17 00:00:00 2001 From: Priyam Anand Date: Fri, 30 Jan 2026 12:46:39 +0530 Subject: [PATCH] chore: added execution context for merkl module --- src/modules/merkl/MerklModule.sol | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/modules/merkl/MerklModule.sol b/src/modules/merkl/MerklModule.sol index 2fbdae2..24bf4d4 100644 --- a/src/modules/merkl/MerklModule.sol +++ b/src/modules/merkl/MerklModule.sol @@ -3,6 +3,8 @@ pragma solidity ^0.8.13; import {IDistributor} from "./IDistributor.sol"; import {DataTypes} from "../../common/DataTypes.sol"; +import {Errors} from "../../common/Errors.sol"; +import {SuperloopStorage} from "../../core/lib/SuperloopStorage.sol"; /** * @title MerklModule @@ -36,9 +38,18 @@ contract MerklModule { * @notice Executes the claim operation * @param params The parameters for the claim operation */ - function execute(DataTypes.MerklClaimParams memory params) external { + function execute(DataTypes.MerklClaimParams memory params) external onlyExecutionContext { distributor.claim(params.users, params.tokens, params.amounts, params.proofs); emit MerklRewardClaimed(params.users, params.tokens, params.amounts); } + + modifier onlyExecutionContext() { + require(_isExecutionContext(), Errors.NOT_IN_EXECUTION_CONTEXT); + _; + } + + function _isExecutionContext() internal view returns (bool) { + return SuperloopStorage.isInExecutionContext(); + } }