{
  "_format": "hh-sol-artifact-1",
  "contractName": "TimeLockedActionMock",
  "sourceName": "contracts/test/actions/TimeLockedActionMock.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "admin",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "registry",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "who",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes4",
          "name": "what",
          "type": "bytes4"
        }
      ],
      "name": "Authorized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "Executed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "smartVault",
          "type": "address"
        }
      ],
      "name": "SmartVaultSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "period",
          "type": "uint256"
        }
      ],
      "name": "TimeLockSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "who",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes4",
          "name": "what",
          "type": "bytes4"
        }
      ],
      "name": "Unauthorized",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "ANY_ADDRESS",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "NAMESPACE",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "who",
          "type": "address"
        },
        {
          "internalType": "bytes4",
          "name": "what",
          "type": "bytes4"
        }
      ],
      "name": "authorize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "call",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "who",
          "type": "address"
        },
        {
          "internalType": "bytes4",
          "name": "what",
          "type": "bytes4"
        }
      ],
      "name": "isAuthorized",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "nextResetTime",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "period",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "registry",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newSmartVault",
          "type": "address"
        }
      ],
      "name": "setSmartVault",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "newPeriod",
          "type": "uint256"
        }
      ],
      "name": "setTimeLock",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "smartVault",
      "outputs": [
        {
          "internalType": "contract ISmartVault",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "who",
          "type": "address"
        },
        {
          "internalType": "bytes4",
          "name": "what",
          "type": "bytes4"
        }
      ],
      "name": "unauthorize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a060405234801561001057600080fd5b5060405161099e38038061099e83398101604081905261002f916100fe565b6001600160a01b03811660805281818181610051826324cfc3cf60e21b610076565b61006282633323521b60e11b610076565b505060018055505042600455506101319050565b6001600160a01b0382166000818152602081815260408083206001600160e01b0319861680855290835292819020805460ff19166001179055519182527f7f06c1c34ad47198873da9dcde2e40904035d41b23da3a9132df674a75022df7910160405180910390a25050565b80516001600160a01b03811681146100f957600080fd5b919050565b6000806040838503121561011157600080fd5b61011a836100e2565b9150610128602084016100e2565b90509250929050565b60805161085261014c60003960006101c401526108526000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80635bcb318a11610081578063933f0f3c1161005b578063933f0f3c146101e6578063d9972b96146101f9578063ef78d4fd1461021c57600080fd5b80635bcb318a146101995780636646a436146101ac5780637b103999146101bf57600080fd5b80633f81a192116100b25780633f81a1921461011257806344ba1fca146101525780634fd49efd1461017957600080fd5b806313e3b57c146100d9578063221d6195146100ee57806328b5e32b1461010a575b600080fd5b6100ec6100e7366004610752565b610225565b005b6100f760045481565b6040519081526020015b60405180910390f35b6100ec610347565b61012d73ffffffffffffffffffffffffffffffffffffffff81565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610101565b6100f77ff66b632ae3b479ef109dee46eb319414289a8426a08b64d81aad232941f9d22a81565b60025461012d9073ffffffffffffffffffffffffffffffffffffffff1681565b6100ec6101a736600461076d565b610351565b6100ec6101ba366004610786565b6103ba565b61012d7f000000000000000000000000000000000000000000000000000000000000000081565b6100ec6101f4366004610786565b6103f6565b61020c610207366004610786565b61042e565b6040519015158152602001610101565b6100f760035481565b610253336000357fffffffff00000000000000000000000000000000000000000000000000000000166104e6565b60025473ffffffffffffffffffffffffffffffffffffffff16156102d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f534d4152545f5641554c545f414c52454144595f53455400000000000000000060448201526064015b60405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f6a7abc646862eeb16d8760c0c56dff37a2d2c6b012a3419910005e57e503a08790600090a250565b61034f610556565b565b61037f336000357fffffffff00000000000000000000000000000000000000000000000000000000166104e6565b60038190556040518181527f4125541ade93d50c45b554d8fe959ce2870fa4ed3da5e2d60d1d01be7ccbd4f19060200160405180910390a150565b6103e8336000357fffffffff00000000000000000000000000000000000000000000000000000000166104e6565b6103f282826105d4565b5050565b610424336000357fffffffff00000000000000000000000000000000000000000000000000000000166104e6565b6103f28282610681565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081527f50c7a3d1a23c7ff4a61d37c3f2c4aeb36cf60b43ee893723db201d3eb941cbad602052604081205460ff16806104dd575073ffffffffffffffffffffffffffffffffffffffff83166000908152602081815260408083207fffffffff000000000000000000000000000000000000000000000000000000008616845290915290205460ff165b90505b92915050565b6104f0828261042e565b6103f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f415554485f53454e4445525f4e4f545f414c4c4f57454400000000000000000060448201526064016102cf565b6004544210156105c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f54494d455f4c4f434b5f4e4f545f45585049524544000000000000000000000060448201526064016102cf565b6003546105cf90426107e2565b600455565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055519182527fa2e97b9eea8d1168700e334304edd057dff89c0384ca6f920c73cc3e48c8e52391015b60405180910390a25050565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055519182527f7f06c1c34ad47198873da9dcde2e40904035d41b23da3a9132df674a75022df79101610675565b803573ffffffffffffffffffffffffffffffffffffffff8116811461074d57600080fd5b919050565b60006020828403121561076457600080fd5b6104dd82610729565b60006020828403121561077f57600080fd5b5035919050565b6000806040838503121561079957600080fd5b6107a283610729565b915060208301357fffffffff00000000000000000000000000000000000000000000000000000000811681146107d757600080fd5b809150509250929050565b808201808211156104e0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea26469706673582212202ac231f390d05b04e0aeeea581c24ea19a93d708a3e720d7cc4e10dcc1918d7564736f6c63430008110033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80635bcb318a11610081578063933f0f3c1161005b578063933f0f3c146101e6578063d9972b96146101f9578063ef78d4fd1461021c57600080fd5b80635bcb318a146101995780636646a436146101ac5780637b103999146101bf57600080fd5b80633f81a192116100b25780633f81a1921461011257806344ba1fca146101525780634fd49efd1461017957600080fd5b806313e3b57c146100d9578063221d6195146100ee57806328b5e32b1461010a575b600080fd5b6100ec6100e7366004610752565b610225565b005b6100f760045481565b6040519081526020015b60405180910390f35b6100ec610347565b61012d73ffffffffffffffffffffffffffffffffffffffff81565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610101565b6100f77ff66b632ae3b479ef109dee46eb319414289a8426a08b64d81aad232941f9d22a81565b60025461012d9073ffffffffffffffffffffffffffffffffffffffff1681565b6100ec6101a736600461076d565b610351565b6100ec6101ba366004610786565b6103ba565b61012d7f000000000000000000000000000000000000000000000000000000000000000081565b6100ec6101f4366004610786565b6103f6565b61020c610207366004610786565b61042e565b6040519015158152602001610101565b6100f760035481565b610253336000357fffffffff00000000000000000000000000000000000000000000000000000000166104e6565b60025473ffffffffffffffffffffffffffffffffffffffff16156102d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f534d4152545f5641554c545f414c52454144595f53455400000000000000000060448201526064015b60405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f6a7abc646862eeb16d8760c0c56dff37a2d2c6b012a3419910005e57e503a08790600090a250565b61034f610556565b565b61037f336000357fffffffff00000000000000000000000000000000000000000000000000000000166104e6565b60038190556040518181527f4125541ade93d50c45b554d8fe959ce2870fa4ed3da5e2d60d1d01be7ccbd4f19060200160405180910390a150565b6103e8336000357fffffffff00000000000000000000000000000000000000000000000000000000166104e6565b6103f282826105d4565b5050565b610424336000357fffffffff00000000000000000000000000000000000000000000000000000000166104e6565b6103f28282610681565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081527f50c7a3d1a23c7ff4a61d37c3f2c4aeb36cf60b43ee893723db201d3eb941cbad602052604081205460ff16806104dd575073ffffffffffffffffffffffffffffffffffffffff83166000908152602081815260408083207fffffffff000000000000000000000000000000000000000000000000000000008616845290915290205460ff165b90505b92915050565b6104f0828261042e565b6103f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f415554485f53454e4445525f4e4f545f414c4c4f57454400000000000000000060448201526064016102cf565b6004544210156105c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f54494d455f4c4f434b5f4e4f545f45585049524544000000000000000000000060448201526064016102cf565b6003546105cf90426107e2565b600455565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055519182527fa2e97b9eea8d1168700e334304edd057dff89c0384ca6f920c73cc3e48c8e52391015b60405180910390a25050565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055519182527f7f06c1c34ad47198873da9dcde2e40904035d41b23da3a9132df674a75022df79101610675565b803573ffffffffffffffffffffffffffffffffffffffff8116811461074d57600080fd5b919050565b60006020828403121561076457600080fd5b6104dd82610729565b60006020828403121561077f57600080fd5b5035919050565b6000806040838503121561079957600080fd5b6107a283610729565b915060208301357fffffffff00000000000000000000000000000000000000000000000000000000811681146107d757600080fd5b809150509250929050565b808201808211156104e0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea26469706673582212202ac231f390d05b04e0aeeea581c24ea19a93d708a3e720d7cc4e10dcc1918d7564736f6c63430008110033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
