{
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "AddedOwner",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "approvedHash",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "ApproveHash",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "handler",
          "type": "address"
        }
      ],
      "name": "ChangedFallbackHandler",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "guard",
          "type": "address"
        }
      ],
      "name": "ChangedGuard",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "threshold",
          "type": "uint256"
        }
      ],
      "name": "ChangedThreshold",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "module",
          "type": "address"
        }
      ],
      "name": "DisabledModule",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "module",
          "type": "address"
        }
      ],
      "name": "EnabledModule",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "txHash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "payment",
          "type": "uint256"
        }
      ],
      "name": "ExecutionFailure",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "module",
          "type": "address"
        }
      ],
      "name": "ExecutionFromModuleFailure",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "module",
          "type": "address"
        }
      ],
      "name": "ExecutionFromModuleSuccess",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "txHash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "payment",
          "type": "uint256"
        }
      ],
      "name": "ExecutionSuccess",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "RemovedOwner",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "SafeReceived",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "initiator",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address[]",
          "name": "owners",
          "type": "address[]"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "threshold",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "initializer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "fallbackHandler",
          "type": "address"
        }
      ],
      "name": "SafeSetup",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "msgHash",
          "type": "bytes32"
        }
      ],
      "name": "SignMsg",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "VERSION",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_threshold",
          "type": "uint256"
        }
      ],
      "name": "addOwnerWithThreshold",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "hashToApprove",
          "type": "bytes32"
        }
      ],
      "name": "approveHash",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "approvedHashes",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_threshold",
          "type": "uint256"
        }
      ],
      "name": "changeThreshold",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "dataHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "signatures",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "requiredSignatures",
          "type": "uint256"
        }
      ],
      "name": "checkNSignatures",
      "outputs": [],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "dataHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "signatures",
          "type": "bytes"
        }
      ],
      "name": "checkSignatures",
      "outputs": [],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "prevModule",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "module",
          "type": "address"
        }
      ],
      "name": "disableModule",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "domainSeparator",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "module",
          "type": "address"
        }
      ],
      "name": "enableModule",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "internalType": "enum Enum.Operation",
          "name": "operation",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "safeTxGas",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "baseGas",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "gasPrice",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "gasToken",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "refundReceiver",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_nonce",
          "type": "uint256"
        }
      ],
      "name": "encodeTransactionData",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "internalType": "enum Enum.Operation",
          "name": "operation",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "safeTxGas",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "baseGas",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "gasPrice",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "gasToken",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "refundReceiver",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "signatures",
          "type": "bytes"
        }
      ],
      "name": "execTransaction",
      "outputs": [
        {
          "internalType": "bool",
          "name": "success",
          "type": "bool"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "internalType": "enum Enum.Operation",
          "name": "operation",
          "type": "uint8"
        }
      ],
      "name": "execTransactionFromModule",
      "outputs": [
        {
          "internalType": "bool",
          "name": "success",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "internalType": "enum Enum.Operation",
          "name": "operation",
          "type": "uint8"
        }
      ],
      "name": "execTransactionFromModuleReturnData",
      "outputs": [
        {
          "internalType": "bool",
          "name": "success",
          "type": "bool"
        },
        {
          "internalType": "bytes",
          "name": "returnData",
          "type": "bytes"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getChainId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "start",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "pageSize",
          "type": "uint256"
        }
      ],
      "name": "getModulesPaginated",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "array",
          "type": "address[]"
        },
        {
          "internalType": "address",
          "name": "next",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getOwners",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "offset",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "length",
          "type": "uint256"
        }
      ],
      "name": "getStorageAt",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getThreshold",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "internalType": "enum Enum.Operation",
          "name": "operation",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "safeTxGas",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "baseGas",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "gasPrice",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "gasToken",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "refundReceiver",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_nonce",
          "type": "uint256"
        }
      ],
      "name": "getTransactionHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "module",
          "type": "address"
        }
      ],
      "name": "isModuleEnabled",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "isOwner",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "nonce",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "prevOwner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_threshold",
          "type": "uint256"
        }
      ],
      "name": "removeOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "internalType": "enum Enum.Operation",
          "name": "operation",
          "type": "uint8"
        }
      ],
      "name": "requiredTxGas",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "handler",
          "type": "address"
        }
      ],
      "name": "setFallbackHandler",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "guard",
          "type": "address"
        }
      ],
      "name": "setGuard",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_owners",
          "type": "address[]"
        },
        {
          "internalType": "uint256",
          "name": "_threshold",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "internalType": "address",
          "name": "fallbackHandler",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "paymentToken",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "payment",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "paymentReceiver",
          "type": "address"
        }
      ],
      "name": "setup",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "signedMessages",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "targetContract",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "calldataPayload",
          "type": "bytes"
        }
      ],
      "name": "simulateAndRevert",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "prevOwner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "oldOwner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "swapOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": {
    "object": "0x",
    "sourceMap": "",
    "linkReferences": {}
  },
  "deployedBytecode": {
    "object": "0x",
    "sourceMap": "",
    "linkReferences": {}
  },
  "methodIdentifiers": {
    "VERSION()": "ffa1ad74",
    "addOwnerWithThreshold(address,uint256)": "0d582f13",
    "approveHash(bytes32)": "d4d9bdcd",
    "approvedHashes(address,bytes32)": "7d832974",
    "changeThreshold(uint256)": "694e80c3",
    "checkNSignatures(bytes32,bytes,bytes,uint256)": "12fb68e0",
    "checkSignatures(bytes32,bytes,bytes)": "934f3a11",
    "disableModule(address,address)": "e009cfde",
    "domainSeparator()": "f698da25",
    "enableModule(address)": "610b5925",
    "encodeTransactionData(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,uint256)": "e86637db",
    "execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)": "6a761202",
    "execTransactionFromModule(address,uint256,bytes,uint8)": "468721a7",
    "execTransactionFromModuleReturnData(address,uint256,bytes,uint8)": "5229073f",
    "getChainId()": "3408e470",
    "getModulesPaginated(address,uint256)": "cc2f8452",
    "getOwners()": "a0e67e2b",
    "getStorageAt(uint256,uint256)": "5624b25b",
    "getThreshold()": "e75235b8",
    "getTransactionHash(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,uint256)": "d8d11f78",
    "isModuleEnabled(address)": "2d9ad53d",
    "isOwner(address)": "2f54bf6e",
    "nonce()": "affed0e0",
    "removeOwner(address,address,uint256)": "f8dc5dd9",
    "requiredTxGas(address,uint256,bytes,uint8)": "c4ca3a9c",
    "setFallbackHandler(address)": "f08a0323",
    "setGuard(address)": "e19a9dd9",
    "setup(address[],uint256,address,bytes,address,address,uint256,address)": "b63e800d",
    "signedMessages(bytes32)": "5ae6bd37",
    "simulateAndRevert(address,bytes)": "b4faba09",
    "swapOwner(address,address,address)": "e318b52b"
  },
  "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"AddedOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"approvedHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ApproveHash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"}],\"name\":\"ChangedFallbackHandler\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"ChangedGuard\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"ChangedThreshold\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"DisabledModule\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"EnabledModule\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"}],\"name\":\"ExecutionFailure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"ExecutionFromModuleFailure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"ExecutionFromModuleSuccess\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"}],\"name\":\"ExecutionSuccess\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"RemovedOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"initiator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"owners\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"initializer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"fallbackHandler\",\"type\":\"address\"}],\"name\":\"SafeSetup\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"}],\"name\":\"SignMsg\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"addOwnerWithThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hashToApprove\",\"type\":\"bytes32\"}],\"name\":\"approveHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"approvedHashes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"changeThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"dataHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"requiredSignatures\",\"type\":\"uint256\"}],\"name\":\"checkNSignatures\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"dataHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"checkSignatures\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevModule\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"disableModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"domainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"enableModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"encodeTransactionData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"execTransaction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"execTransactionFromModule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"execTransactionFromModuleReturnData\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"start\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"pageSize\",\"type\":\"uint256\"}],\"name\":\"getModulesPaginated\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"array\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"next\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"getStorageAt\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"getTransactionHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"isModuleEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"removeOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"requiredTxGas\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"}],\"name\":\"setFallbackHandler\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"setGuard\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"fallbackHandler\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymentToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymentReceiver\",\"type\":\"address\"}],\"name\":\"setup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"signedMessages\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"targetContract\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"calldataPayload\",\"type\":\"bytes\"}],\"name\":\"simulateAndRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"swapOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"IGnosisSafe - Gnosis Safe Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"scripts/interfaces/IGnosisSafe.sol\":\"IGnosisSafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@cwia/=lib/clones-with-immutable-args/src/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":clones-with-immutable-args/=lib/clones-with-immutable-args/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"scripts/interfaces/IGnosisSafe.sol\":{\"keccak256\":\"0xb9a55c98ef4d6a18260d6432f633a4bd6c5f540bfa80c4dc89c5ec33fd9aeec5\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://e953fc0cb723a9197006697e372f1729af1de1860a9845f2574f98aa9add72aa\",\"dweb:/ipfs/QmTdBba1DFqPNcaBmEFDSN8JmR7xPKwWno2vqnhmBjoGMD\"]}},\"version\":1}",
  "metadata": {
    "compiler": {
      "version": "0.8.19+commit.7dd6d404"
    },
    "language": "Solidity",
    "output": {
      "abi": [
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "owner",
              "type": "address",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "AddedOwner",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "approvedHash",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "address",
              "name": "owner",
              "type": "address",
              "indexed": true
            }
          ],
          "type": "event",
          "name": "ApproveHash",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "handler",
              "type": "address",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "ChangedFallbackHandler",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "guard",
              "type": "address",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "ChangedGuard",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "threshold",
              "type": "uint256",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "ChangedThreshold",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "module",
              "type": "address",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "DisabledModule",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "module",
              "type": "address",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "EnabledModule",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "txHash",
              "type": "bytes32",
              "indexed": false
            },
            {
              "internalType": "uint256",
              "name": "payment",
              "type": "uint256",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "ExecutionFailure",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "module",
              "type": "address",
              "indexed": true
            }
          ],
          "type": "event",
          "name": "ExecutionFromModuleFailure",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "module",
              "type": "address",
              "indexed": true
            }
          ],
          "type": "event",
          "name": "ExecutionFromModuleSuccess",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "txHash",
              "type": "bytes32",
              "indexed": false
            },
            {
              "internalType": "uint256",
              "name": "payment",
              "type": "uint256",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "ExecutionSuccess",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "owner",
              "type": "address",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "RemovedOwner",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "sender",
              "type": "address",
              "indexed": true
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "SafeReceived",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "initiator",
              "type": "address",
              "indexed": true
            },
            {
              "internalType": "address[]",
              "name": "owners",
              "type": "address[]",
              "indexed": false
            },
            {
              "internalType": "uint256",
              "name": "threshold",
              "type": "uint256",
              "indexed": false
            },
            {
              "internalType": "address",
              "name": "initializer",
              "type": "address",
              "indexed": false
            },
            {
              "internalType": "address",
              "name": "fallbackHandler",
              "type": "address",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "SafeSetup",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "msgHash",
              "type": "bytes32",
              "indexed": true
            }
          ],
          "type": "event",
          "name": "SignMsg",
          "anonymous": false
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "VERSION",
          "outputs": [
            {
              "internalType": "string",
              "name": "",
              "type": "string"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "owner",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "_threshold",
              "type": "uint256"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "addOwnerWithThreshold"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "hashToApprove",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "approveHash"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "approvedHashes",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "_threshold",
              "type": "uint256"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "changeThreshold"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "dataHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "signatures",
              "type": "bytes"
            },
            {
              "internalType": "uint256",
              "name": "requiredSignatures",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "checkNSignatures"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "dataHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "internalType": "bytes",
              "name": "signatures",
              "type": "bytes"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "checkSignatures"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "prevModule",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "module",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "disableModule"
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "domainSeparator",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "module",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "enableModule"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "internalType": "enum Enum.Operation",
              "name": "operation",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "safeTxGas",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "baseGas",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "gasPrice",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "gasToken",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "refundReceiver",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "_nonce",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "encodeTransactionData",
          "outputs": [
            {
              "internalType": "bytes",
              "name": "",
              "type": "bytes"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "internalType": "enum Enum.Operation",
              "name": "operation",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "safeTxGas",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "baseGas",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "gasPrice",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "gasToken",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "refundReceiver",
              "type": "address"
            },
            {
              "internalType": "bytes",
              "name": "signatures",
              "type": "bytes"
            }
          ],
          "stateMutability": "payable",
          "type": "function",
          "name": "execTransaction",
          "outputs": [
            {
              "internalType": "bool",
              "name": "success",
              "type": "bool"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "internalType": "enum Enum.Operation",
              "name": "operation",
              "type": "uint8"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "execTransactionFromModule",
          "outputs": [
            {
              "internalType": "bool",
              "name": "success",
              "type": "bool"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "internalType": "enum Enum.Operation",
              "name": "operation",
              "type": "uint8"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "execTransactionFromModuleReturnData",
          "outputs": [
            {
              "internalType": "bool",
              "name": "success",
              "type": "bool"
            },
            {
              "internalType": "bytes",
              "name": "returnData",
              "type": "bytes"
            }
          ]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "getChainId",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "start",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "pageSize",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "getModulesPaginated",
          "outputs": [
            {
              "internalType": "address[]",
              "name": "array",
              "type": "address[]"
            },
            {
              "internalType": "address",
              "name": "next",
              "type": "address"
            }
          ]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "getOwners",
          "outputs": [
            {
              "internalType": "address[]",
              "name": "",
              "type": "address[]"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "offset",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "length",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "getStorageAt",
          "outputs": [
            {
              "internalType": "bytes",
              "name": "",
              "type": "bytes"
            }
          ]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "getThreshold",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "internalType": "enum Enum.Operation",
              "name": "operation",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "safeTxGas",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "baseGas",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "gasPrice",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "gasToken",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "refundReceiver",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "_nonce",
              "type": "uint256"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "getTransactionHash",
          "outputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "module",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "isModuleEnabled",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "owner",
              "type": "address"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "isOwner",
          "outputs": [
            {
              "internalType": "bool",
              "name": "",
              "type": "bool"
            }
          ]
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "nonce",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "prevOwner",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "owner",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "_threshold",
              "type": "uint256"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "removeOwner"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "value",
              "type": "uint256"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "internalType": "enum Enum.Operation",
              "name": "operation",
              "type": "uint8"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "requiredTxGas",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "handler",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "setFallbackHandler"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "guard",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "setGuard"
        },
        {
          "inputs": [
            {
              "internalType": "address[]",
              "name": "_owners",
              "type": "address[]"
            },
            {
              "internalType": "uint256",
              "name": "_threshold",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "to",
              "type": "address"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            },
            {
              "internalType": "address",
              "name": "fallbackHandler",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "paymentToken",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "payment",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "paymentReceiver",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "setup"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "signedMessages",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "targetContract",
              "type": "address"
            },
            {
              "internalType": "bytes",
              "name": "calldataPayload",
              "type": "bytes"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "simulateAndRevert"
        },
        {
          "inputs": [
            {
              "internalType": "address",
              "name": "prevOwner",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "oldOwner",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "newOwner",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "swapOwner"
        }
      ],
      "devdoc": {
        "kind": "dev",
        "methods": {},
        "version": 1
      },
      "userdoc": {
        "kind": "user",
        "methods": {},
        "version": 1
      }
    },
    "settings": {
      "remappings": [
        "@cwia/=lib/clones-with-immutable-args/src/",
        "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
        "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
        "@rari-capital/solmate/=lib/solmate/",
        "clones-with-immutable-args/=lib/clones-with-immutable-args/src/",
        "ds-test/=lib/forge-std/lib/ds-test/src/",
        "forge-std/=lib/forge-std/src/",
        "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
        "openzeppelin-contracts/=lib/openzeppelin-contracts/",
        "safe-contracts/=lib/safe-contracts/contracts/",
        "solmate/=lib/solmate/src/"
      ],
      "optimizer": {
        "enabled": true,
        "runs": 999999
      },
      "metadata": {
        "bytecodeHash": "none"
      },
      "compilationTarget": {
        "scripts/interfaces/IGnosisSafe.sol": "IGnosisSafe"
      },
      "libraries": {}
    },
    "sources": {
      "scripts/interfaces/IGnosisSafe.sol": {
        "keccak256": "0xb9a55c98ef4d6a18260d6432f633a4bd6c5f540bfa80c4dc89c5ec33fd9aeec5",
        "urls": [
          "bzz-raw://e953fc0cb723a9197006697e372f1729af1de1860a9845f2574f98aa9add72aa",
          "dweb:/ipfs/QmTdBba1DFqPNcaBmEFDSN8JmR7xPKwWno2vqnhmBjoGMD"
        ],
        "license": "LGPL-3.0-only"
      }
    },
    "version": 1
  },
  "storageLayout": {
    "storage": [],
    "types": {}
  },
  "userdoc": {
    "version": 1,
    "kind": "user"
  },
  "devdoc": {
    "version": 1,
    "kind": "dev",
    "title": "IGnosisSafe - Gnosis Safe Interface"
  },
  "ast": {
    "absolutePath": "scripts/interfaces/IGnosisSafe.sol",
    "id": 36017,
    "exportedSymbols": {
      "Enum": [
        35629
      ],
      "IGnosisSafe": [
        36016
      ]
    },
    "nodeType": "SourceUnit",
    "src": "42:5070:43",
    "nodes": [
      {
        "id": 35624,
        "nodeType": "PragmaDirective",
        "src": "42:24:43",
        "nodes": [],
        "literals": [
          "solidity",
          "^",
          "0.8",
          ".10"
        ]
      },
      {
        "id": 35629,
        "nodeType": "ContractDefinition",
        "src": "172:88:43",
        "nodes": [
          {
            "id": 35628,
            "nodeType": "EnumDefinition",
            "src": "201:57:43",
            "nodes": [],
            "canonicalName": "Enum.Operation",
            "members": [
              {
                "id": 35626,
                "name": "Call",
                "nameLocation": "226:4:43",
                "nodeType": "EnumValue",
                "src": "226:4:43"
              },
              {
                "id": 35627,
                "name": "DelegateCall",
                "nameLocation": "240:12:43",
                "nodeType": "EnumValue",
                "src": "240:12:43"
              }
            ],
            "name": "Operation",
            "nameLocation": "206:9:43"
          }
        ],
        "abstract": true,
        "baseContracts": [],
        "canonicalName": "Enum",
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": {
          "id": 35625,
          "nodeType": "StructuredDocumentation",
          "src": "68:104:43",
          "text": "@title Enum - Collection of enums used in Safe contracts.\n @author Richard Meissner - @rmeissner"
        },
        "fullyImplemented": true,
        "linearizedBaseContracts": [
          35629
        ],
        "name": "Enum",
        "nameLocation": "190:4:43",
        "scope": 36017,
        "usedErrors": []
      },
      {
        "id": 36016,
        "nodeType": "ContractDefinition",
        "src": "309:4802:43",
        "nodes": [
          {
            "id": 35634,
            "nodeType": "EventDefinition",
            "src": "337:32:43",
            "nodes": [],
            "anonymous": false,
            "eventSelector": "9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea26",
            "name": "AddedOwner",
            "nameLocation": "343:10:43",
            "parameters": {
              "id": 35633,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35632,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "owner",
                  "nameLocation": "362:5:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35634,
                  "src": "354:13:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35631,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "354:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "353:15:43"
            }
          },
          {
            "id": 35640,
            "nodeType": "EventDefinition",
            "src": "374:71:43",
            "nodes": [],
            "anonymous": false,
            "eventSelector": "f2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c",
            "name": "ApproveHash",
            "nameLocation": "380:11:43",
            "parameters": {
              "id": 35639,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35636,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "approvedHash",
                  "nameLocation": "408:12:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35640,
                  "src": "392:28:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 35635,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "392:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35638,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "owner",
                  "nameLocation": "438:5:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35640,
                  "src": "422:21:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35637,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "422:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "391:53:43"
            }
          },
          {
            "id": 35644,
            "nodeType": "EventDefinition",
            "src": "450:46:43",
            "nodes": [],
            "anonymous": false,
            "eventSelector": "5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b0",
            "name": "ChangedFallbackHandler",
            "nameLocation": "456:22:43",
            "parameters": {
              "id": 35643,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35642,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "handler",
                  "nameLocation": "487:7:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35644,
                  "src": "479:15:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35641,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "479:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "478:17:43"
            }
          },
          {
            "id": 35648,
            "nodeType": "EventDefinition",
            "src": "501:34:43",
            "nodes": [],
            "anonymous": false,
            "eventSelector": "1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa2",
            "name": "ChangedGuard",
            "nameLocation": "507:12:43",
            "parameters": {
              "id": 35647,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35646,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "guard",
                  "nameLocation": "528:5:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35648,
                  "src": "520:13:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35645,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "520:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "519:15:43"
            }
          },
          {
            "id": 35652,
            "nodeType": "EventDefinition",
            "src": "540:42:43",
            "nodes": [],
            "anonymous": false,
            "eventSelector": "610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c93",
            "name": "ChangedThreshold",
            "nameLocation": "546:16:43",
            "parameters": {
              "id": 35651,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35650,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "threshold",
                  "nameLocation": "571:9:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35652,
                  "src": "563:17:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35649,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "563:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "562:19:43"
            }
          },
          {
            "id": 35656,
            "nodeType": "EventDefinition",
            "src": "587:37:43",
            "nodes": [],
            "anonymous": false,
            "eventSelector": "aab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace4054276",
            "name": "DisabledModule",
            "nameLocation": "593:14:43",
            "parameters": {
              "id": 35655,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35654,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "module",
                  "nameLocation": "616:6:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35656,
                  "src": "608:14:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35653,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "608:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "607:16:43"
            }
          },
          {
            "id": 35660,
            "nodeType": "EventDefinition",
            "src": "629:36:43",
            "nodes": [],
            "anonymous": false,
            "eventSelector": "ecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f8440",
            "name": "EnabledModule",
            "nameLocation": "635:13:43",
            "parameters": {
              "id": 35659,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35658,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "module",
                  "nameLocation": "657:6:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35660,
                  "src": "649:14:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35657,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "649:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "648:16:43"
            }
          },
          {
            "id": 35666,
            "nodeType": "EventDefinition",
            "src": "670:56:43",
            "nodes": [],
            "anonymous": false,
            "eventSelector": "23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d23",
            "name": "ExecutionFailure",
            "nameLocation": "676:16:43",
            "parameters": {
              "id": 35665,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35662,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "txHash",
                  "nameLocation": "701:6:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35666,
                  "src": "693:14:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 35661,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "693:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35664,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "payment",
                  "nameLocation": "717:7:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35666,
                  "src": "709:15:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35663,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "709:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "692:33:43"
            }
          },
          {
            "id": 35670,
            "nodeType": "EventDefinition",
            "src": "731:57:43",
            "nodes": [],
            "anonymous": false,
            "eventSelector": "acd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd375",
            "name": "ExecutionFromModuleFailure",
            "nameLocation": "737:26:43",
            "parameters": {
              "id": 35669,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35668,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "module",
                  "nameLocation": "780:6:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35670,
                  "src": "764:22:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35667,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "764:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "763:24:43"
            }
          },
          {
            "id": 35674,
            "nodeType": "EventDefinition",
            "src": "793:57:43",
            "nodes": [],
            "anonymous": false,
            "eventSelector": "6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8",
            "name": "ExecutionFromModuleSuccess",
            "nameLocation": "799:26:43",
            "parameters": {
              "id": 35673,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35672,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "module",
                  "nameLocation": "842:6:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35674,
                  "src": "826:22:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35671,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "826:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "825:24:43"
            }
          },
          {
            "id": 35680,
            "nodeType": "EventDefinition",
            "src": "855:56:43",
            "nodes": [],
            "anonymous": false,
            "eventSelector": "442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e",
            "name": "ExecutionSuccess",
            "nameLocation": "861:16:43",
            "parameters": {
              "id": 35679,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35676,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "txHash",
                  "nameLocation": "886:6:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35680,
                  "src": "878:14:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 35675,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "878:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35678,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "payment",
                  "nameLocation": "902:7:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35680,
                  "src": "894:15:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35677,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "894:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "877:33:43"
            }
          },
          {
            "id": 35684,
            "nodeType": "EventDefinition",
            "src": "916:34:43",
            "nodes": [],
            "anonymous": false,
            "eventSelector": "f8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf",
            "name": "RemovedOwner",
            "nameLocation": "922:12:43",
            "parameters": {
              "id": 35683,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35682,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "owner",
                  "nameLocation": "943:5:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35684,
                  "src": "935:13:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35681,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "935:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "934:15:43"
            }
          },
          {
            "id": 35690,
            "nodeType": "EventDefinition",
            "src": "955:58:43",
            "nodes": [],
            "anonymous": false,
            "eventSelector": "3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d",
            "name": "SafeReceived",
            "nameLocation": "961:12:43",
            "parameters": {
              "id": 35689,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35686,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "sender",
                  "nameLocation": "990:6:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35690,
                  "src": "974:22:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35685,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "974:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35688,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "value",
                  "nameLocation": "1006:5:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35690,
                  "src": "998:13:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35687,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "998:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "973:39:43"
            }
          },
          {
            "id": 35703,
            "nodeType": "EventDefinition",
            "src": "1018:140:43",
            "nodes": [],
            "anonymous": false,
            "eventSelector": "141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8",
            "name": "SafeSetup",
            "nameLocation": "1024:9:43",
            "parameters": {
              "id": 35702,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35692,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "initiator",
                  "nameLocation": "1059:9:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35703,
                  "src": "1043:25:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35691,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1043:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35695,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "owners",
                  "nameLocation": "1080:6:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35703,
                  "src": "1070:16:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 35693,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "1070:7:43",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 35694,
                    "nodeType": "ArrayTypeName",
                    "src": "1070:9:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35697,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "threshold",
                  "nameLocation": "1096:9:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35703,
                  "src": "1088:17:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35696,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1088:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35699,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "initializer",
                  "nameLocation": "1115:11:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35703,
                  "src": "1107:19:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35698,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1107:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35701,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "fallbackHandler",
                  "nameLocation": "1136:15:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35703,
                  "src": "1128:23:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35700,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1128:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1033:124:43"
            }
          },
          {
            "id": 35707,
            "nodeType": "EventDefinition",
            "src": "1163:39:43",
            "nodes": [],
            "anonymous": false,
            "eventSelector": "e7f4675038f4f6034dfcbbb24c4dc08e4ebf10eb9d257d3d02c0f38d122ac6e4",
            "name": "SignMsg",
            "nameLocation": "1169:7:43",
            "parameters": {
              "id": 35706,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35705,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "msgHash",
                  "nameLocation": "1193:7:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35707,
                  "src": "1177:23:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 35704,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1177:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1176:25:43"
            }
          },
          {
            "id": 35712,
            "nodeType": "FunctionDefinition",
            "src": "1208:57:43",
            "nodes": [],
            "functionSelector": "ffa1ad74",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "VERSION",
            "nameLocation": "1217:7:43",
            "parameters": {
              "id": 35708,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1224:2:43"
            },
            "returnParameters": {
              "id": 35711,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35710,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 35712,
                  "src": "1250:13:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 35709,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1250:6:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1249:15:43"
            },
            "scope": 36016,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35719,
            "nodeType": "FunctionDefinition",
            "src": "1270:75:43",
            "nodes": [],
            "functionSelector": "0d582f13",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "addOwnerWithThreshold",
            "nameLocation": "1279:21:43",
            "parameters": {
              "id": 35717,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35714,
                  "mutability": "mutable",
                  "name": "owner",
                  "nameLocation": "1309:5:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35719,
                  "src": "1301:13:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35713,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1301:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35716,
                  "mutability": "mutable",
                  "name": "_threshold",
                  "nameLocation": "1324:10:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35719,
                  "src": "1316:18:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35715,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1316:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1300:35:43"
            },
            "returnParameters": {
              "id": 35718,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1344:0:43"
            },
            "scope": 36016,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35724,
            "nodeType": "FunctionDefinition",
            "src": "1350:53:43",
            "nodes": [],
            "functionSelector": "d4d9bdcd",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "approveHash",
            "nameLocation": "1359:11:43",
            "parameters": {
              "id": 35722,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35721,
                  "mutability": "mutable",
                  "name": "hashToApprove",
                  "nameLocation": "1379:13:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35724,
                  "src": "1371:21:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 35720,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1371:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1370:23:43"
            },
            "returnParameters": {
              "id": 35723,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1402:0:43"
            },
            "scope": 36016,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35733,
            "nodeType": "FunctionDefinition",
            "src": "1408:74:43",
            "nodes": [],
            "functionSelector": "7d832974",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "approvedHashes",
            "nameLocation": "1417:14:43",
            "parameters": {
              "id": 35729,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35726,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 35733,
                  "src": "1432:7:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35725,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1432:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35728,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 35733,
                  "src": "1441:7:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 35727,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1441:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1431:18:43"
            },
            "returnParameters": {
              "id": 35732,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35731,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 35733,
                  "src": "1473:7:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35730,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1473:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1472:9:43"
            },
            "scope": 36016,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35738,
            "nodeType": "FunctionDefinition",
            "src": "1487:54:43",
            "nodes": [],
            "functionSelector": "694e80c3",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "changeThreshold",
            "nameLocation": "1496:15:43",
            "parameters": {
              "id": 35736,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35735,
                  "mutability": "mutable",
                  "name": "_threshold",
                  "nameLocation": "1520:10:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35738,
                  "src": "1512:18:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35734,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1512:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1511:20:43"
            },
            "returnParameters": {
              "id": 35737,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1540:0:43"
            },
            "scope": 36016,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35749,
            "nodeType": "FunctionDefinition",
            "src": "1546:184:43",
            "nodes": [],
            "functionSelector": "12fb68e0",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "checkNSignatures",
            "nameLocation": "1555:16:43",
            "parameters": {
              "id": 35747,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35740,
                  "mutability": "mutable",
                  "name": "dataHash",
                  "nameLocation": "1589:8:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35749,
                  "src": "1581:16:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 35739,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1581:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35742,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "1620:4:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35749,
                  "src": "1607:17:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 35741,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1607:5:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35744,
                  "mutability": "mutable",
                  "name": "signatures",
                  "nameLocation": "1647:10:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35749,
                  "src": "1634:23:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 35743,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1634:5:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35746,
                  "mutability": "mutable",
                  "name": "requiredSignatures",
                  "nameLocation": "1675:18:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35749,
                  "src": "1667:26:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35745,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1667:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1571:128:43"
            },
            "returnParameters": {
              "id": 35748,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1729:0:43"
            },
            "scope": 36016,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35758,
            "nodeType": "FunctionDefinition",
            "src": "1735:101:43",
            "nodes": [],
            "functionSelector": "934f3a11",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "checkSignatures",
            "nameLocation": "1744:15:43",
            "parameters": {
              "id": 35756,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35751,
                  "mutability": "mutable",
                  "name": "dataHash",
                  "nameLocation": "1768:8:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35758,
                  "src": "1760:16:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 35750,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1760:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35753,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "1791:4:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35758,
                  "src": "1778:17:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 35752,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1778:5:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35755,
                  "mutability": "mutable",
                  "name": "signatures",
                  "nameLocation": "1810:10:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35758,
                  "src": "1797:23:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 35754,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1797:5:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1759:62:43"
            },
            "returnParameters": {
              "id": 35757,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1835:0:43"
            },
            "scope": 36016,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35765,
            "nodeType": "FunctionDefinition",
            "src": "1841:68:43",
            "nodes": [],
            "functionSelector": "e009cfde",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "disableModule",
            "nameLocation": "1850:13:43",
            "parameters": {
              "id": 35763,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35760,
                  "mutability": "mutable",
                  "name": "prevModule",
                  "nameLocation": "1872:10:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35765,
                  "src": "1864:18:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35759,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1864:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35762,
                  "mutability": "mutable",
                  "name": "module",
                  "nameLocation": "1892:6:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35765,
                  "src": "1884:14:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35761,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1884:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1863:36:43"
            },
            "returnParameters": {
              "id": 35764,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1908:0:43"
            },
            "scope": 36016,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35770,
            "nodeType": "FunctionDefinition",
            "src": "1914:59:43",
            "nodes": [],
            "functionSelector": "f698da25",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "domainSeparator",
            "nameLocation": "1923:15:43",
            "parameters": {
              "id": 35766,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1938:2:43"
            },
            "returnParameters": {
              "id": 35769,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35768,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 35770,
                  "src": "1964:7:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 35767,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1964:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1963:9:43"
            },
            "scope": 36016,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35775,
            "nodeType": "FunctionDefinition",
            "src": "1978:47:43",
            "nodes": [],
            "functionSelector": "610b5925",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "enableModule",
            "nameLocation": "1987:12:43",
            "parameters": {
              "id": 35773,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35772,
                  "mutability": "mutable",
                  "name": "module",
                  "nameLocation": "2008:6:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35775,
                  "src": "2000:14:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35771,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2000:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1999:16:43"
            },
            "returnParameters": {
              "id": 35774,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2024:0:43"
            },
            "scope": 36016,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35801,
            "nodeType": "FunctionDefinition",
            "src": "2030:362:43",
            "nodes": [],
            "functionSelector": "e86637db",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "encodeTransactionData",
            "nameLocation": "2039:21:43",
            "parameters": {
              "id": 35797,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35777,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "2078:2:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35801,
                  "src": "2070:10:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35776,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2070:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35779,
                  "mutability": "mutable",
                  "name": "value",
                  "nameLocation": "2098:5:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35801,
                  "src": "2090:13:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35778,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2090:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35781,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "2126:4:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35801,
                  "src": "2113:17:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 35780,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2113:5:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35784,
                  "mutability": "mutable",
                  "name": "operation",
                  "nameLocation": "2155:9:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35801,
                  "src": "2140:24:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_Operation_$35628",
                    "typeString": "enum Enum.Operation"
                  },
                  "typeName": {
                    "id": 35783,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 35782,
                      "name": "Enum.Operation",
                      "nameLocations": [
                        "2140:4:43",
                        "2145:9:43"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 35628,
                      "src": "2140:14:43"
                    },
                    "referencedDeclaration": 35628,
                    "src": "2140:14:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_Operation_$35628",
                      "typeString": "enum Enum.Operation"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35786,
                  "mutability": "mutable",
                  "name": "safeTxGas",
                  "nameLocation": "2182:9:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35801,
                  "src": "2174:17:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35785,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2174:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35788,
                  "mutability": "mutable",
                  "name": "baseGas",
                  "nameLocation": "2209:7:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35801,
                  "src": "2201:15:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35787,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2201:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35790,
                  "mutability": "mutable",
                  "name": "gasPrice",
                  "nameLocation": "2234:8:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35801,
                  "src": "2226:16:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35789,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2226:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35792,
                  "mutability": "mutable",
                  "name": "gasToken",
                  "nameLocation": "2260:8:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35801,
                  "src": "2252:16:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35791,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2252:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35794,
                  "mutability": "mutable",
                  "name": "refundReceiver",
                  "nameLocation": "2286:14:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35801,
                  "src": "2278:22:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35793,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2278:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35796,
                  "mutability": "mutable",
                  "name": "_nonce",
                  "nameLocation": "2318:6:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35801,
                  "src": "2310:14:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35795,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2310:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2060:270:43"
            },
            "returnParameters": {
              "id": 35800,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35799,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 35801,
                  "src": "2378:12:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 35798,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2378:5:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2377:14:43"
            },
            "scope": 36016,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35827,
            "nodeType": "FunctionDefinition",
            "src": "2397:368:43",
            "nodes": [],
            "functionSelector": "6a761202",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "execTransaction",
            "nameLocation": "2406:15:43",
            "parameters": {
              "id": 35823,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35803,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "2439:2:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35827,
                  "src": "2431:10:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35802,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2431:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35805,
                  "mutability": "mutable",
                  "name": "value",
                  "nameLocation": "2459:5:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35827,
                  "src": "2451:13:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35804,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2451:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35807,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "2487:4:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35827,
                  "src": "2474:17:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 35806,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2474:5:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35810,
                  "mutability": "mutable",
                  "name": "operation",
                  "nameLocation": "2516:9:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35827,
                  "src": "2501:24:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_Operation_$35628",
                    "typeString": "enum Enum.Operation"
                  },
                  "typeName": {
                    "id": 35809,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 35808,
                      "name": "Enum.Operation",
                      "nameLocations": [
                        "2501:4:43",
                        "2506:9:43"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 35628,
                      "src": "2501:14:43"
                    },
                    "referencedDeclaration": 35628,
                    "src": "2501:14:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_Operation_$35628",
                      "typeString": "enum Enum.Operation"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35812,
                  "mutability": "mutable",
                  "name": "safeTxGas",
                  "nameLocation": "2543:9:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35827,
                  "src": "2535:17:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35811,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2535:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35814,
                  "mutability": "mutable",
                  "name": "baseGas",
                  "nameLocation": "2570:7:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35827,
                  "src": "2562:15:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35813,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2562:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35816,
                  "mutability": "mutable",
                  "name": "gasPrice",
                  "nameLocation": "2595:8:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35827,
                  "src": "2587:16:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35815,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2587:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35818,
                  "mutability": "mutable",
                  "name": "gasToken",
                  "nameLocation": "2621:8:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35827,
                  "src": "2613:16:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35817,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2613:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35820,
                  "mutability": "mutable",
                  "name": "refundReceiver",
                  "nameLocation": "2647:14:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35827,
                  "src": "2639:22:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35819,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2639:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35822,
                  "mutability": "mutable",
                  "name": "signatures",
                  "nameLocation": "2684:10:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35827,
                  "src": "2671:23:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 35821,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2671:5:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2421:279:43"
            },
            "returnParameters": {
              "id": 35826,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35825,
                  "mutability": "mutable",
                  "name": "success",
                  "nameLocation": "2756:7:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35827,
                  "src": "2751:12:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 35824,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2751:4:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2750:14:43"
            },
            "scope": 36016,
            "stateMutability": "payable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35841,
            "nodeType": "FunctionDefinition",
            "src": "2770:193:43",
            "nodes": [],
            "functionSelector": "468721a7",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "execTransactionFromModule",
            "nameLocation": "2779:25:43",
            "parameters": {
              "id": 35837,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35829,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "2822:2:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35841,
                  "src": "2814:10:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35828,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2814:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35831,
                  "mutability": "mutable",
                  "name": "value",
                  "nameLocation": "2842:5:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35841,
                  "src": "2834:13:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35830,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2834:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35833,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "2870:4:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35841,
                  "src": "2857:17:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 35832,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2857:5:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35836,
                  "mutability": "mutable",
                  "name": "operation",
                  "nameLocation": "2899:9:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35841,
                  "src": "2884:24:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_Operation_$35628",
                    "typeString": "enum Enum.Operation"
                  },
                  "typeName": {
                    "id": 35835,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 35834,
                      "name": "Enum.Operation",
                      "nameLocations": [
                        "2884:4:43",
                        "2889:9:43"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 35628,
                      "src": "2884:14:43"
                    },
                    "referencedDeclaration": 35628,
                    "src": "2884:14:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_Operation_$35628",
                      "typeString": "enum Enum.Operation"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2804:110:43"
            },
            "returnParameters": {
              "id": 35840,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35839,
                  "mutability": "mutable",
                  "name": "success",
                  "nameLocation": "2954:7:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35841,
                  "src": "2949:12:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 35838,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2949:4:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2948:14:43"
            },
            "scope": 36016,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35857,
            "nodeType": "FunctionDefinition",
            "src": "2968:228:43",
            "nodes": [],
            "functionSelector": "5229073f",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "execTransactionFromModuleReturnData",
            "nameLocation": "2977:35:43",
            "parameters": {
              "id": 35851,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35843,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "3030:2:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35857,
                  "src": "3022:10:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35842,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3022:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35845,
                  "mutability": "mutable",
                  "name": "value",
                  "nameLocation": "3050:5:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35857,
                  "src": "3042:13:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35844,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3042:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35847,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "3078:4:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35857,
                  "src": "3065:17:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 35846,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "3065:5:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35850,
                  "mutability": "mutable",
                  "name": "operation",
                  "nameLocation": "3107:9:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35857,
                  "src": "3092:24:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_Operation_$35628",
                    "typeString": "enum Enum.Operation"
                  },
                  "typeName": {
                    "id": 35849,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 35848,
                      "name": "Enum.Operation",
                      "nameLocations": [
                        "3092:4:43",
                        "3097:9:43"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 35628,
                      "src": "3092:14:43"
                    },
                    "referencedDeclaration": 35628,
                    "src": "3092:14:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_Operation_$35628",
                      "typeString": "enum Enum.Operation"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3012:110:43"
            },
            "returnParameters": {
              "id": 35856,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35853,
                  "mutability": "mutable",
                  "name": "success",
                  "nameLocation": "3162:7:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35857,
                  "src": "3157:12:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 35852,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3157:4:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35855,
                  "mutability": "mutable",
                  "name": "returnData",
                  "nameLocation": "3184:10:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35857,
                  "src": "3171:23:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 35854,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "3171:5:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3156:39:43"
            },
            "scope": 36016,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35862,
            "nodeType": "FunctionDefinition",
            "src": "3201:54:43",
            "nodes": [],
            "functionSelector": "3408e470",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getChainId",
            "nameLocation": "3210:10:43",
            "parameters": {
              "id": 35858,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3220:2:43"
            },
            "returnParameters": {
              "id": 35861,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35860,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 35862,
                  "src": "3246:7:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35859,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3246:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3245:9:43"
            },
            "scope": 36016,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35874,
            "nodeType": "FunctionDefinition",
            "src": "3260:169:43",
            "nodes": [],
            "functionSelector": "cc2f8452",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getModulesPaginated",
            "nameLocation": "3269:19:43",
            "parameters": {
              "id": 35867,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35864,
                  "mutability": "mutable",
                  "name": "start",
                  "nameLocation": "3306:5:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35874,
                  "src": "3298:13:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35863,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3298:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35866,
                  "mutability": "mutable",
                  "name": "pageSize",
                  "nameLocation": "3329:8:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35874,
                  "src": "3321:16:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35865,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3321:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3288:55:43"
            },
            "returnParameters": {
              "id": 35873,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35870,
                  "mutability": "mutable",
                  "name": "array",
                  "nameLocation": "3408:5:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35874,
                  "src": "3391:22:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 35868,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "3391:7:43",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 35869,
                    "nodeType": "ArrayTypeName",
                    "src": "3391:9:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35872,
                  "mutability": "mutable",
                  "name": "next",
                  "nameLocation": "3423:4:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35874,
                  "src": "3415:12:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35871,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3415:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3390:38:43"
            },
            "scope": 36016,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35880,
            "nodeType": "FunctionDefinition",
            "src": "3434:62:43",
            "nodes": [],
            "functionSelector": "a0e67e2b",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getOwners",
            "nameLocation": "3443:9:43",
            "parameters": {
              "id": 35875,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3452:2:43"
            },
            "returnParameters": {
              "id": 35879,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35878,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 35880,
                  "src": "3478:16:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 35876,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "3478:7:43",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 35877,
                    "nodeType": "ArrayTypeName",
                    "src": "3478:9:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3477:18:43"
            },
            "scope": 36016,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35889,
            "nodeType": "FunctionDefinition",
            "src": "3501:91:43",
            "nodes": [],
            "functionSelector": "5624b25b",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getStorageAt",
            "nameLocation": "3510:12:43",
            "parameters": {
              "id": 35885,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35882,
                  "mutability": "mutable",
                  "name": "offset",
                  "nameLocation": "3531:6:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35889,
                  "src": "3523:14:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35881,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3523:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35884,
                  "mutability": "mutable",
                  "name": "length",
                  "nameLocation": "3547:6:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35889,
                  "src": "3539:14:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35883,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3539:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3522:32:43"
            },
            "returnParameters": {
              "id": 35888,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35887,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 35889,
                  "src": "3578:12:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 35886,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "3578:5:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3577:14:43"
            },
            "scope": 36016,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35894,
            "nodeType": "FunctionDefinition",
            "src": "3597:56:43",
            "nodes": [],
            "functionSelector": "e75235b8",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getThreshold",
            "nameLocation": "3606:12:43",
            "parameters": {
              "id": 35890,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3618:2:43"
            },
            "returnParameters": {
              "id": 35893,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35892,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 35894,
                  "src": "3644:7:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35891,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3644:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3643:9:43"
            },
            "scope": 36016,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35920,
            "nodeType": "FunctionDefinition",
            "src": "3658:354:43",
            "nodes": [],
            "functionSelector": "d8d11f78",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getTransactionHash",
            "nameLocation": "3667:18:43",
            "parameters": {
              "id": 35916,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35896,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "3703:2:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35920,
                  "src": "3695:10:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35895,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3695:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35898,
                  "mutability": "mutable",
                  "name": "value",
                  "nameLocation": "3723:5:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35920,
                  "src": "3715:13:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35897,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3715:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35900,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "3751:4:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35920,
                  "src": "3738:17:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 35899,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "3738:5:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35903,
                  "mutability": "mutable",
                  "name": "operation",
                  "nameLocation": "3780:9:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35920,
                  "src": "3765:24:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_Operation_$35628",
                    "typeString": "enum Enum.Operation"
                  },
                  "typeName": {
                    "id": 35902,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 35901,
                      "name": "Enum.Operation",
                      "nameLocations": [
                        "3765:4:43",
                        "3770:9:43"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 35628,
                      "src": "3765:14:43"
                    },
                    "referencedDeclaration": 35628,
                    "src": "3765:14:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_Operation_$35628",
                      "typeString": "enum Enum.Operation"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35905,
                  "mutability": "mutable",
                  "name": "safeTxGas",
                  "nameLocation": "3807:9:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35920,
                  "src": "3799:17:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35904,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3799:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35907,
                  "mutability": "mutable",
                  "name": "baseGas",
                  "nameLocation": "3834:7:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35920,
                  "src": "3826:15:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35906,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3826:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35909,
                  "mutability": "mutable",
                  "name": "gasPrice",
                  "nameLocation": "3859:8:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35920,
                  "src": "3851:16:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35908,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3851:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35911,
                  "mutability": "mutable",
                  "name": "gasToken",
                  "nameLocation": "3885:8:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35920,
                  "src": "3877:16:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35910,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3877:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35913,
                  "mutability": "mutable",
                  "name": "refundReceiver",
                  "nameLocation": "3911:14:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35920,
                  "src": "3903:22:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35912,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3903:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35915,
                  "mutability": "mutable",
                  "name": "_nonce",
                  "nameLocation": "3943:6:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35920,
                  "src": "3935:14:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35914,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3935:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3685:270:43"
            },
            "returnParameters": {
              "id": 35919,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35918,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 35920,
                  "src": "4003:7:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 35917,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4003:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4002:9:43"
            },
            "scope": 36016,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35927,
            "nodeType": "FunctionDefinition",
            "src": "4017:70:43",
            "nodes": [],
            "functionSelector": "2d9ad53d",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isModuleEnabled",
            "nameLocation": "4026:15:43",
            "parameters": {
              "id": 35923,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35922,
                  "mutability": "mutable",
                  "name": "module",
                  "nameLocation": "4050:6:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35927,
                  "src": "4042:14:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35921,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4042:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4041:16:43"
            },
            "returnParameters": {
              "id": 35926,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35925,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 35927,
                  "src": "4081:4:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 35924,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "4081:4:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4080:6:43"
            },
            "scope": 36016,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35934,
            "nodeType": "FunctionDefinition",
            "src": "4092:61:43",
            "nodes": [],
            "functionSelector": "2f54bf6e",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isOwner",
            "nameLocation": "4101:7:43",
            "parameters": {
              "id": 35930,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35929,
                  "mutability": "mutable",
                  "name": "owner",
                  "nameLocation": "4117:5:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35934,
                  "src": "4109:13:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35928,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4109:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4108:15:43"
            },
            "returnParameters": {
              "id": 35933,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35932,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 35934,
                  "src": "4147:4:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 35931,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "4147:4:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4146:6:43"
            },
            "scope": 36016,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35939,
            "nodeType": "FunctionDefinition",
            "src": "4158:49:43",
            "nodes": [],
            "functionSelector": "affed0e0",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "nonce",
            "nameLocation": "4167:5:43",
            "parameters": {
              "id": 35935,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4172:2:43"
            },
            "returnParameters": {
              "id": 35938,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35937,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 35939,
                  "src": "4198:7:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35936,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4198:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4197:9:43"
            },
            "scope": 36016,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35948,
            "nodeType": "FunctionDefinition",
            "src": "4212:84:43",
            "nodes": [],
            "functionSelector": "f8dc5dd9",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "removeOwner",
            "nameLocation": "4221:11:43",
            "parameters": {
              "id": 35946,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35941,
                  "mutability": "mutable",
                  "name": "prevOwner",
                  "nameLocation": "4241:9:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35948,
                  "src": "4233:17:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35940,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4233:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35943,
                  "mutability": "mutable",
                  "name": "owner",
                  "nameLocation": "4260:5:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35948,
                  "src": "4252:13:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35942,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4252:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35945,
                  "mutability": "mutable",
                  "name": "_threshold",
                  "nameLocation": "4275:10:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35948,
                  "src": "4267:18:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35944,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4267:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4232:54:43"
            },
            "returnParameters": {
              "id": 35947,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4295:0:43"
            },
            "scope": 36016,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35962,
            "nodeType": "FunctionDefinition",
            "src": "4301:176:43",
            "nodes": [],
            "functionSelector": "c4ca3a9c",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "requiredTxGas",
            "nameLocation": "4310:13:43",
            "parameters": {
              "id": 35958,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35950,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "4341:2:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35962,
                  "src": "4333:10:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35949,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4333:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35952,
                  "mutability": "mutable",
                  "name": "value",
                  "nameLocation": "4361:5:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35962,
                  "src": "4353:13:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35951,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4353:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35954,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "4389:4:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35962,
                  "src": "4376:17:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 35953,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "4376:5:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35957,
                  "mutability": "mutable",
                  "name": "operation",
                  "nameLocation": "4418:9:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35962,
                  "src": "4403:24:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_Operation_$35628",
                    "typeString": "enum Enum.Operation"
                  },
                  "typeName": {
                    "id": 35956,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 35955,
                      "name": "Enum.Operation",
                      "nameLocations": [
                        "4403:4:43",
                        "4408:9:43"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 35628,
                      "src": "4403:14:43"
                    },
                    "referencedDeclaration": 35628,
                    "src": "4403:14:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_Operation_$35628",
                      "typeString": "enum Enum.Operation"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4323:110:43"
            },
            "returnParameters": {
              "id": 35961,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35960,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 35962,
                  "src": "4468:7:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35959,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4468:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4467:9:43"
            },
            "scope": 36016,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35967,
            "nodeType": "FunctionDefinition",
            "src": "4482:54:43",
            "nodes": [],
            "functionSelector": "f08a0323",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setFallbackHandler",
            "nameLocation": "4491:18:43",
            "parameters": {
              "id": 35965,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35964,
                  "mutability": "mutable",
                  "name": "handler",
                  "nameLocation": "4518:7:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35967,
                  "src": "4510:15:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35963,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4510:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4509:17:43"
            },
            "returnParameters": {
              "id": 35966,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4535:0:43"
            },
            "scope": 36016,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35972,
            "nodeType": "FunctionDefinition",
            "src": "4541:42:43",
            "nodes": [],
            "functionSelector": "e19a9dd9",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setGuard",
            "nameLocation": "4550:8:43",
            "parameters": {
              "id": 35970,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35969,
                  "mutability": "mutable",
                  "name": "guard",
                  "nameLocation": "4567:5:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35972,
                  "src": "4559:13:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35968,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4559:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4558:15:43"
            },
            "returnParameters": {
              "id": 35971,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4582:0:43"
            },
            "scope": 36016,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35992,
            "nodeType": "FunctionDefinition",
            "src": "4588:268:43",
            "nodes": [],
            "functionSelector": "b63e800d",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setup",
            "nameLocation": "4597:5:43",
            "parameters": {
              "id": 35990,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35975,
                  "mutability": "mutable",
                  "name": "_owners",
                  "nameLocation": "4629:7:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35992,
                  "src": "4612:24:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 35973,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "4612:7:43",
                      "stateMutability": "nonpayable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 35974,
                    "nodeType": "ArrayTypeName",
                    "src": "4612:9:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35977,
                  "mutability": "mutable",
                  "name": "_threshold",
                  "nameLocation": "4654:10:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35992,
                  "src": "4646:18:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35976,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4646:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35979,
                  "mutability": "mutable",
                  "name": "to",
                  "nameLocation": "4682:2:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35992,
                  "src": "4674:10:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35978,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4674:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35981,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "4707:4:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35992,
                  "src": "4694:17:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 35980,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "4694:5:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35983,
                  "mutability": "mutable",
                  "name": "fallbackHandler",
                  "nameLocation": "4729:15:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35992,
                  "src": "4721:23:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35982,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4721:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35985,
                  "mutability": "mutable",
                  "name": "paymentToken",
                  "nameLocation": "4762:12:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35992,
                  "src": "4754:20:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35984,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4754:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35987,
                  "mutability": "mutable",
                  "name": "payment",
                  "nameLocation": "4792:7:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35992,
                  "src": "4784:15:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35986,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4784:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 35989,
                  "mutability": "mutable",
                  "name": "paymentReceiver",
                  "nameLocation": "4817:15:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 35992,
                  "src": "4809:23:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 35988,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4809:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4602:236:43"
            },
            "returnParameters": {
              "id": 35991,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4855:0:43"
            },
            "scope": 36016,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 35999,
            "nodeType": "FunctionDefinition",
            "src": "4861:65:43",
            "nodes": [],
            "functionSelector": "5ae6bd37",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "signedMessages",
            "nameLocation": "4870:14:43",
            "parameters": {
              "id": 35995,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35994,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 35999,
                  "src": "4885:7:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 35993,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "4885:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4884:9:43"
            },
            "returnParameters": {
              "id": 35998,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 35997,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 35999,
                  "src": "4917:7:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 35996,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4917:7:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4916:9:43"
            },
            "scope": 36016,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 36006,
            "nodeType": "FunctionDefinition",
            "src": "4931:90:43",
            "nodes": [],
            "functionSelector": "b4faba09",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "simulateAndRevert",
            "nameLocation": "4940:17:43",
            "parameters": {
              "id": 36004,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36001,
                  "mutability": "mutable",
                  "name": "targetContract",
                  "nameLocation": "4966:14:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 36006,
                  "src": "4958:22:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 36000,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4958:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 36003,
                  "mutability": "mutable",
                  "name": "calldataPayload",
                  "nameLocation": "4995:15:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 36006,
                  "src": "4982:28:43",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 36002,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "4982:5:43",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4957:54:43"
            },
            "returnParameters": {
              "id": 36005,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5020:0:43"
            },
            "scope": 36016,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 36015,
            "nodeType": "FunctionDefinition",
            "src": "5026:83:43",
            "nodes": [],
            "functionSelector": "e318b52b",
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "swapOwner",
            "nameLocation": "5035:9:43",
            "parameters": {
              "id": 36013,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36008,
                  "mutability": "mutable",
                  "name": "prevOwner",
                  "nameLocation": "5053:9:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 36015,
                  "src": "5045:17:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 36007,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5045:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 36010,
                  "mutability": "mutable",
                  "name": "oldOwner",
                  "nameLocation": "5072:8:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 36015,
                  "src": "5064:16:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 36009,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5064:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 36012,
                  "mutability": "mutable",
                  "name": "newOwner",
                  "nameLocation": "5090:8:43",
                  "nodeType": "VariableDeclaration",
                  "scope": 36015,
                  "src": "5082:16:43",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 36011,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5082:7:43",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5044:55:43"
            },
            "returnParameters": {
              "id": 36014,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5108:0:43"
            },
            "scope": 36016,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "abstract": false,
        "baseContracts": [],
        "canonicalName": "IGnosisSafe",
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": {
          "id": 35630,
          "nodeType": "StructuredDocumentation",
          "src": "262:47:43",
          "text": "@title IGnosisSafe - Gnosis Safe Interface"
        },
        "fullyImplemented": false,
        "linearizedBaseContracts": [
          36016
        ],
        "name": "IGnosisSafe",
        "nameLocation": "319:11:43",
        "scope": 36017,
        "usedErrors": []
      }
    ],
    "license": "LGPL-3.0-only"
  },
  "id": 43
}