{
  "_format": "hh-sol-artifact-1",
  "contractName": "WithdrawalActionMock",
  "sourceName": "contracts/test/actions/WithdrawalActionMock.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": "recipient",
          "type": "address"
        }
      ],
      "name": "RecipientSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "smartVault",
          "type": "address"
        }
      ],
      "name": "SmartVaultSet",
      "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": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "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": "recipient",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "registry",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newRecipient",
          "type": "address"
        }
      ],
      "name": "setRecipient",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newSmartVault",
          "type": "address"
        }
      ],
      "name": "setSmartVault",
      "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": "0x60a060405234801561001057600080fd5b50604051610c4c380380610c4c83398101604081905261002f916100fa565b6001600160a01b03811660805281818181610051826324cfc3cf60e21b610072565b61006282633323521b60e11b610072565b5050600180555061012d92505050565b6001600160a01b0382166000818152602081815260408083206001600160e01b0319861680855290835292819020805460ff19166001179055519182527f7f06c1c34ad47198873da9dcde2e40904035d41b23da3a9132df674a75022df7910160405180910390a25050565b80516001600160a01b03811681146100f557600080fd5b919050565b6000806040838503121561010d57600080fd5b610116836100de565b9150610124602084016100de565b90509250929050565b608051610b0461014860003960006101db0152610b046000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80634fd49efd116100815780637b1039991161005b5780637b103999146101d6578063933f0f3c146101fd578063d9972b961461021057600080fd5b80634fd49efd146101835780636646a436146101a357806366d003ac146101b657600080fd5b80633bd9ef28116100b25780633bd9ef28146100f65780633f81a1921461010957806344ba1fca1461014e57600080fd5b806313e3b57c146100ce5780633bbed4a0146100e3575b600080fd5b6100e16100dc366004610977565b610233565b005b6100e16100f1366004610977565b610355565b6100e1610104366004610992565b61046f565b61012473ffffffffffffffffffffffffffffffffffffffff81565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101757ff66b632ae3b479ef109dee46eb319414289a8426a08b64d81aad232941f9d22a81565b604051908152602001610145565b6002546101249073ffffffffffffffffffffffffffffffffffffffff1681565b6100e16101b13660046109bc565b61048c565b6003546101249073ffffffffffffffffffffffffffffffffffffffff1681565b6101247f000000000000000000000000000000000000000000000000000000000000000081565b6100e161020b3660046109bc565b6104c4565b61022361021e3660046109bc565b6104fc565b6040519015158152602001610145565b610261336000357fffffffff00000000000000000000000000000000000000000000000000000000166105b4565b60025473ffffffffffffffffffffffffffffffffffffffff16156102e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f534d4152545f5641554c545f414c52454144595f53455400000000000000000060448201526064015b60405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f6a7abc646862eeb16d8760c0c56dff37a2d2c6b012a3419910005e57e503a08790600090a250565b610383336000357fffffffff00000000000000000000000000000000000000000000000000000000166105b4565b73ffffffffffffffffffffffffffffffffffffffff8116610400576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f524543495049454e545f5a45524f00000000000000000000000000000000000060448201526064016102dd565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f9d900d71c28433348acb1bec780a061608a96b149370abce77fd54ba2d47940190600090a250565b80156104835761047f8282610624565b5050565b61047f826106d8565b6104ba336000357fffffffff00000000000000000000000000000000000000000000000000000000166105b4565b61047f82826106ef565b6104f2336000357fffffffff00000000000000000000000000000000000000000000000000000000166105b4565b61047f828261079c565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081527f50c7a3d1a23c7ff4a61d37c3f2c4aeb36cf60b43ee893723db201d3eb941cbad602052604081205460ff16806105ab575073ffffffffffffffffffffffffffffffffffffffff83166000908152602081815260408083207fffffffff000000000000000000000000000000000000000000000000000000008616845290915290205460ff165b90505b92915050565b6105be82826104fc565b61047f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f415554485f53454e4445525f4e4f545f414c4c4f57454400000000000000000060448201526064016102dd565b600254600354604080516000815260208101918290527f9003afee0000000000000000000000000000000000000000000000000000000090915273ffffffffffffffffffffffffffffffffffffffff92831692639003afee926106909287928792169060248101610a18565b6020604051808303816000875af11580156106af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d39190610ab5565b505050565b60006106e382610844565b905061047f8282610624565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055519182527fa2e97b9eea8d1168700e334304edd057dff89c0384ca6f920c73cc3e48c8e52391015b60405180910390a25050565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055519182527f7f06c1c34ad47198873da9dcde2e40904035d41b23da3a9132df674a75022df79101610790565b6002546000906105ae90839073ffffffffffffffffffffffffffffffffffffffff16600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff8416036108b7575073ffffffffffffffffffffffffffffffffffffffff8116316105ae565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528416906370a0823190602401602060405180830381865afa158015610923573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109479190610ab5565b90506105ae565b803573ffffffffffffffffffffffffffffffffffffffff8116811461097257600080fd5b919050565b60006020828403121561098957600080fd5b6105ab8261094e565b600080604083850312156109a557600080fd5b6109ae8361094e565b946020939093013593505050565b600080604083850312156109cf57600080fd5b6109d88361094e565b915060208301357fffffffff0000000000000000000000000000000000000000000000000000000081168114610a0d57600080fd5b809150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff8087168352602086818501528186166040850152608060608501528451915081608085015260005b82811015610a735785810182015185820160a001528101610a57565b5050600060a0828501015260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505095945050505050565b600060208284031215610ac757600080fd5b505191905056fea264697066735822122006ada9ac82eaa84907b5c206d2da24e03e0cf9f3a76ff7c5814c3682efb258a964736f6c63430008110033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80634fd49efd116100815780637b1039991161005b5780637b103999146101d6578063933f0f3c146101fd578063d9972b961461021057600080fd5b80634fd49efd146101835780636646a436146101a357806366d003ac146101b657600080fd5b80633bd9ef28116100b25780633bd9ef28146100f65780633f81a1921461010957806344ba1fca1461014e57600080fd5b806313e3b57c146100ce5780633bbed4a0146100e3575b600080fd5b6100e16100dc366004610977565b610233565b005b6100e16100f1366004610977565b610355565b6100e1610104366004610992565b61046f565b61012473ffffffffffffffffffffffffffffffffffffffff81565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101757ff66b632ae3b479ef109dee46eb319414289a8426a08b64d81aad232941f9d22a81565b604051908152602001610145565b6002546101249073ffffffffffffffffffffffffffffffffffffffff1681565b6100e16101b13660046109bc565b61048c565b6003546101249073ffffffffffffffffffffffffffffffffffffffff1681565b6101247f000000000000000000000000000000000000000000000000000000000000000081565b6100e161020b3660046109bc565b6104c4565b61022361021e3660046109bc565b6104fc565b6040519015158152602001610145565b610261336000357fffffffff00000000000000000000000000000000000000000000000000000000166105b4565b60025473ffffffffffffffffffffffffffffffffffffffff16156102e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f534d4152545f5641554c545f414c52454144595f53455400000000000000000060448201526064015b60405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f6a7abc646862eeb16d8760c0c56dff37a2d2c6b012a3419910005e57e503a08790600090a250565b610383336000357fffffffff00000000000000000000000000000000000000000000000000000000166105b4565b73ffffffffffffffffffffffffffffffffffffffff8116610400576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f524543495049454e545f5a45524f00000000000000000000000000000000000060448201526064016102dd565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f9d900d71c28433348acb1bec780a061608a96b149370abce77fd54ba2d47940190600090a250565b80156104835761047f8282610624565b5050565b61047f826106d8565b6104ba336000357fffffffff00000000000000000000000000000000000000000000000000000000166105b4565b61047f82826106ef565b6104f2336000357fffffffff00000000000000000000000000000000000000000000000000000000166105b4565b61047f828261079c565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081527f50c7a3d1a23c7ff4a61d37c3f2c4aeb36cf60b43ee893723db201d3eb941cbad602052604081205460ff16806105ab575073ffffffffffffffffffffffffffffffffffffffff83166000908152602081815260408083207fffffffff000000000000000000000000000000000000000000000000000000008616845290915290205460ff165b90505b92915050565b6105be82826104fc565b61047f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f415554485f53454e4445525f4e4f545f414c4c4f57454400000000000000000060448201526064016102dd565b600254600354604080516000815260208101918290527f9003afee0000000000000000000000000000000000000000000000000000000090915273ffffffffffffffffffffffffffffffffffffffff92831692639003afee926106909287928792169060248101610a18565b6020604051808303816000875af11580156106af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d39190610ab5565b505050565b60006106e382610844565b905061047f8282610624565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055519182527fa2e97b9eea8d1168700e334304edd057dff89c0384ca6f920c73cc3e48c8e52391015b60405180910390a25050565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055519182527f7f06c1c34ad47198873da9dcde2e40904035d41b23da3a9132df674a75022df79101610790565b6002546000906105ae90839073ffffffffffffffffffffffffffffffffffffffff16600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff8416036108b7575073ffffffffffffffffffffffffffffffffffffffff8116316105ae565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528416906370a0823190602401602060405180830381865afa158015610923573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109479190610ab5565b90506105ae565b803573ffffffffffffffffffffffffffffffffffffffff8116811461097257600080fd5b919050565b60006020828403121561098957600080fd5b6105ab8261094e565b600080604083850312156109a557600080fd5b6109ae8361094e565b946020939093013593505050565b600080604083850312156109cf57600080fd5b6109d88361094e565b915060208301357fffffffff0000000000000000000000000000000000000000000000000000000081168114610a0d57600080fd5b809150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff8087168352602086818501528186166040850152608060608501528451915081608085015260005b82811015610a735785810182015185820160a001528101610a57565b5050600060a0828501015260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505095945050505050565b600060208284031215610ac757600080fd5b505191905056fea264697066735822122006ada9ac82eaa84907b5c206d2da24e03e0cf9f3a76ff7c5814c3682efb258a964736f6c63430008110033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
