SingleExecModule.sol 673 Bytes
Newer Older
vicotor's avatar
vicotor committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.12;

import {
    EnumerableSet
} from "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
import {TaskModuleBase} from "./TaskModuleBase.sol";
import {LibEvents} from "../libraries/LibEvents.sol";

contract SingleExecModule is TaskModuleBase {
    using EnumerableSet for EnumerableSet.Bytes32Set;

    /// @inheritdoc TaskModuleBase
    function postExecCall(
        bytes32 _taskId,
        address _taskCreator,
        address,
        bytes calldata
    ) external override {
        _createdTasks[_taskCreator].remove(_taskId);

        emit LibEvents.TaskCancelled(_taskId, _taskCreator);
    }
}