Skip to content

Commit

Permalink
[#4] Remove use of nonce from Protocol mediator for module
Browse files Browse the repository at this point in the history
  • Loading branch information
akshay-ap committed Jun 23, 2023
1 parent bb6607a commit 1d7ae7f
Showing 1 changed file with 7 additions and 19 deletions.
26 changes: 7 additions & 19 deletions contracts/SafeProtocolMediator.sol
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,24 @@ import {Ownable2Step} from "@openzeppelin/contracts/access/Ownable2Step.sol";
* @notice TODO
*/
contract SafeProtocolMediator is ISafeProtocolMediator, Ownable2Step {
mapping(address => uint) public nonces;

struct MoudleAccessInfo {
bool enabled;
bool rootAddressGranted;
// TODO: Add deadline for validity
}

/**
* @notice Mapping of a mapping what stores information about modules that are enabled per Safe.
* address (Safe address) => address (component address) => EnabledMoudleInfo
*/
mapping(address => mapping(address => MoudleAccessInfo)) public enabledComponents;
struct MoudleAccessInfo {
bool enabled;
bool rootAddressGranted;
// TODO: Add deadline for validity
}

// Events
event ActionsExecuted(address safe, bytes32 metaHash);
event RootAccessActionsExecuted(address safe, bytes32 metaHash);
event ModuleEnabled(address safe, address module, bool allowRootAccess);
event ModuleDisabled(address safe, address module);

// Errors
error InvalidNonce(address sender, uint256 nonce);
error ModuleRequiresRootAccess(address sender);
error MoudleNotEnabled(address module);
Expand Down Expand Up @@ -70,12 +69,6 @@ contract SafeProtocolMediator is ISafeProtocolMediator, Ownable2Step {
revert ModuleEnabledOnlyForRootAccess(msg.sender);
}

if (nonces[msg.sender] != transaction.nonce) {
revert InvalidNonce(msg.sender, transaction.nonce);
}

nonces[msg.sender]++;

data = new bytes[](transaction.actions.length);
for (uint256 i = 0; i < transaction.actions.length; ++i) {
SafeProtocolAction memory safeProtocolAction = transaction.actions[i];
Expand Down Expand Up @@ -111,11 +104,6 @@ contract SafeProtocolMediator is ISafeProtocolMediator, Ownable2Step {
revert ModuleRequiresRootAccess(msg.sender);
}

if (nonces[msg.sender] != rootAccess.nonce) {
revert InvalidNonce(msg.sender, rootAccess.nonce);
}

nonces[msg.sender]++;
data = "";
success = safe.execTransactionFromModule(safeProtocolAction.to, safeProtocolAction.value, safeProtocolAction.data, 1);
}
Expand Down

0 comments on commit 1d7ae7f

Please sign in to comment.