{
  "contractName": "ProxyRegistry",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "oracleProxiesAllowance",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x23cc137a"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "unpause",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x3f4ba83a"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "paymentsProxiesAllowance",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x42f0a13a"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "paused",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x5c975abb"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x715018a6"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "pause",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x8456cb59"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x8da5cb5b"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "termsProxiesAllowance",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x9d4faab3"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "kernelProxiesAllowance",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xbd26e0df"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xf2fde38b"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "Pause",
      "type": "event",
      "signature": "0x6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff625"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "Unpause",
      "type": "event",
      "signature": "0x7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b33"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipRenounced",
      "type": "event",
      "signature": "0xf8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c64820"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event",
      "signature": "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_kernelProxy",
          "type": "address"
        },
        {
          "name": "_allowance",
          "type": "bool"
        }
      ],
      "name": "setKernelProxiesAllowance",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xb943bb99"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_paymentsProxy",
          "type": "address"
        },
        {
          "name": "_allowance",
          "type": "bool"
        }
      ],
      "name": "setPaymentsProxiesAllowance",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xfb46edb3"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_oracleProxy",
          "type": "address"
        },
        {
          "name": "_allowance",
          "type": "bool"
        }
      ],
      "name": "setOracleProxiesAllowance",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xc4a68d10"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_termsProxy",
          "type": "address"
        },
        {
          "name": "_allowance",
          "type": "bool"
        }
      ],
      "name": "setTermsProxiesAllowance",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x3cbede6b"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_proxy",
          "type": "address"
        }
      ],
      "name": "addressInProxies",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xa67fcc9d"
    }
  ],
  "bytecode": "0x608060405260008060146101000a81548160ff021916908315150217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e0d8061006d6000396000f3006080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323cc137a146100e05780633cbede6b1461013b5780633f4ba83a1461018a57806342f0a13a146101a15780635c975abb146101fc578063715018a61461022b5780638456cb59146102425780638da5cb5b146102595780639d4faab3146102b0578063a67fcc9d1461030b578063b943bb9914610366578063bd26e0df146103b5578063c4a68d1014610410578063f2fde38b1461045f578063fb46edb3146104a2575b600080fd5b3480156100ec57600080fd5b50610121600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104f1565b604051808215151515815260200191505060405180910390f35b34801561014757600080fd5b50610188600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610511565b005b34801561019657600080fd5b5061019f6105c7565b005b3480156101ad57600080fd5b506101e2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610685565b604051808215151515815260200191505060405180910390f35b34801561020857600080fd5b506102116106a5565b604051808215151515815260200191505060405180910390f35b34801561023757600080fd5b506102406106b8565b005b34801561024e57600080fd5b506102576107ba565b005b34801561026557600080fd5b5061026e61087a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102bc57600080fd5b506102f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061089f565b604051808215151515815260200191505060405180910390f35b34801561031757600080fd5b5061034c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108bf565b604051808215151515815260200191505060405180910390f35b34801561037257600080fd5b506103b3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610a3e565b005b3480156103c157600080fd5b506103f6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610af4565b604051808215151515815260200191505060405180910390f35b34801561041c57600080fd5b5061045d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610b14565b005b34801561046b57600080fd5b506104a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bca565b005b3480156104ae57600080fd5b506104ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610c31565b005b60036020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561056c57600080fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561062257600080fd5b600060149054906101000a900460ff16151561063d57600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60026020528060005260406000206000915054906101000a900460ff1681565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561071357600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561081557600080fd5b600060149054906101000a900460ff1615151561083157600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60046020528060005260406000206000915054906101000a900460ff1681565b600060011515600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480610970575060011515600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b806109cb575060011515600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b80610a26575060011515600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15610a345760019050610a39565b600090505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a9957600080fd5b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60016020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b6f57600080fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c2557600080fd5b610c2e81610ce7565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c8c57600080fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d2357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058208d7643d2c33acfe9183f821c8668e3551a4800ced815065f81ce50584aea96ac0029",
  "deployedBytecode": "0x6080604052600436106100db576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323cc137a146100e05780633cbede6b1461013b5780633f4ba83a1461018a57806342f0a13a146101a15780635c975abb146101fc578063715018a61461022b5780638456cb59146102425780638da5cb5b146102595780639d4faab3146102b0578063a67fcc9d1461030b578063b943bb9914610366578063bd26e0df146103b5578063c4a68d1014610410578063f2fde38b1461045f578063fb46edb3146104a2575b600080fd5b3480156100ec57600080fd5b50610121600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104f1565b604051808215151515815260200191505060405180910390f35b34801561014757600080fd5b50610188600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610511565b005b34801561019657600080fd5b5061019f6105c7565b005b3480156101ad57600080fd5b506101e2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610685565b604051808215151515815260200191505060405180910390f35b34801561020857600080fd5b506102116106a5565b604051808215151515815260200191505060405180910390f35b34801561023757600080fd5b506102406106b8565b005b34801561024e57600080fd5b506102576107ba565b005b34801561026557600080fd5b5061026e61087a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102bc57600080fd5b506102f1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061089f565b604051808215151515815260200191505060405180910390f35b34801561031757600080fd5b5061034c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108bf565b604051808215151515815260200191505060405180910390f35b34801561037257600080fd5b506103b3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610a3e565b005b3480156103c157600080fd5b506103f6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610af4565b604051808215151515815260200191505060405180910390f35b34801561041c57600080fd5b5061045d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610b14565b005b34801561046b57600080fd5b506104a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bca565b005b3480156104ae57600080fd5b506104ef600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610c31565b005b60036020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561056c57600080fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561062257600080fd5b600060149054906101000a900460ff16151561063d57600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60026020528060005260406000206000915054906101000a900460ff1681565b600060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561071357600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561081557600080fd5b600060149054906101000a900460ff1615151561083157600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60046020528060005260406000206000915054906101000a900460ff1681565b600060011515600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480610970575060011515600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b806109cb575060011515600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b80610a26575060011515600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15610a345760019050610a39565b600090505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a9957600080fd5b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60016020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b6f57600080fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c2557600080fd5b610c2e81610ce7565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c8c57600080fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d2357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058208d7643d2c33acfe9183f821c8668e3551a4800ced815065f81ce50584aea96ac0029",
  "sourceMap": "301:1446:22:-;;;268:5:28;247:26;;;;;;;;;;;;;;;;;;;;575:10:30;567:5;;:18;;;;;;;;;;;;;;;;;;301:1446:22;;;;;;",
  "deployedSourceMap": "301:1446:22:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;464:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;464:54:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1207:195;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1207:195:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;838:92:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;838:92:28;;;;;;402:56:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;402:56:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;247:26:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;247:26:28;;;;;;;;;;;;;;;;;;;;;;;;;;;827:111:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;827:111:30;;;;;;666:90:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;666:90:28;;;;;;238:20:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:30;;;;;;;;;;;;;;;;;;;;;;;;;;;524:53:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;524:53:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1408:337;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1408:337:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;584:199;;8:9:-1;5:2;;;30:1;27;20:12;5:2;584:199:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;342:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;342:54:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:199;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1002:199:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1100:103:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1100:103:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;789:207:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;789:207:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;464:54;;;;;;;;;;;;;;;;;;;;;;:::o;1207:195::-;719:5:30;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;1385:10:22;1348:21;:34;1370:11;1348:34;;;;;;;;;;;;;;;;:47;;;;;;;;;;;;;;;;;;1207:195;;:::o;838:92:28:-;719:5:30;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;568:6:28;;;;;;;;;;;560:15;;;;;;;;900:5;891:6;;:14;;;;;;;;;;;;;;;;;;916:9;;;;;;;;;;838:92::o;402:56:22:-;;;;;;;;;;;;;;;;;;;;;;:::o;247:26:28:-;;;;;;;;;;;;;:::o;827:111:30:-;719:5;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;903:5;;;;;;;;;;;884:25;;;;;;;;;;;;931:1;915:5;;:18;;;;;;;;;;;;;;;;;;827:111::o;666:90:28:-;719:5:30;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;416:6:28;;;;;;;;;;;415:7;407:16;;;;;;;;729:4;720:6;;:13;;;;;;;;;;;;;;;;;;744:7;;;;;;;;;;666:90::o;238:20:30:-;;;;;;;;;;;;;:::o;524:53:22:-;;;;;;;;;;;;;;;;;;;;;;:::o;1408:337::-;1470:4;1524;1490:38;;:22;:30;1513:6;1490:30;;;;;;;;;;;;;;;;;;;;;;;;;:38;;;:94;;;;1580:4;1544:40;;:24;:32;1569:6;1544:32;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;1490:94;:148;;;;1634:4;1600:38;;:22;:30;1623:6;1600:30;;;;;;;;;;;;;;;;;;;;;;;;;:38;;;1490:148;:201;;;;1687:4;1654:37;;:21;:29;1676:6;1654:29;;;;;;;;;;;;;;;;;;;;;;;;;:37;;;1490:201;1486:230;;;1712:4;1705:11;;;;1486:230;1733:5;1726:12;;1408:337;;;;:::o;584:199::-;719:5:30;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;766:10:22;727:22;:36;750:12;727:36;;;;;;;;;;;;;;;;:49;;;;;;;;;;;;;;;;;;584:199;;:::o;342:54::-;;;;;;;;;;;;;;;;;;;;;;:::o;1002:199::-;719:5:30;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;1184:10:22;1145:22;:36;1168:12;1145:36;;;;;;;;;;;;;;;;:49;;;;;;;;;;;;;;;;;;1002:199;;:::o;1100:103:30:-;719:5;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;1169:29;1188:9;1169:18;:29::i;:::-;1100:103;:::o;789:207:22:-;719:5:30;;;;;;;;;;;705:19;;:10;:19;;;697:28;;;;;;;;979:10:22;936:24;:40;961:14;936:40;;;;;;;;;;;;;;;;:53;;;;;;;;;;;;;;;;;;789:207;;:::o;1338:171:30:-;1429:1;1408:23;;:9;:23;;;;1400:32;;;;;;;;1471:9;1443:38;;1464:5;;;;;;;;;;;1443:38;;;;;;;;;;;;1495:9;1487:5;;:17;;;;;;;;;;;;;;;;;;1338:171;:::o",
  "source": "pragma solidity ^0.4.24;\n\n// External\nimport \"openzeppelin-solidity/contracts/lifecycle/Pausable.sol\";\n\n/**\n * This is the registry where all the proxy addresses that can be used in\n * the bets as a parameters are\n *\n * Author: Carlos Gonzalez -- Github: carlosgj94\n */\n/** @title Proxy Registry. */\n\ncontract ProxyRegistry is Pausable {\n    mapping(address => bool) public kernelProxiesAllowance;\n    mapping(address => bool) public paymentsProxiesAllowance;\n    mapping(address => bool) public oracleProxiesAllowance;\n    mapping(address => bool) public termsProxiesAllowance;\n\n    function setKernelProxiesAllowance(\n        address _kernelProxy,\n        bool _allowance\n    )\n        public\n        onlyOwner\n    {\n        kernelProxiesAllowance[_kernelProxy] = _allowance;\n    }\n\n    function setPaymentsProxiesAllowance(\n        address _paymentsProxy,\n        bool _allowance\n    )\n        public\n        onlyOwner\n    {\n        paymentsProxiesAllowance[_paymentsProxy] = _allowance;\n    }\n\n    function setOracleProxiesAllowance(\n        address _oracleProxy,\n        bool _allowance\n    )\n        public\n        onlyOwner\n    {\n        oracleProxiesAllowance[_oracleProxy] = _allowance;\n    }\n\n    function setTermsProxiesAllowance(\n        address _termsProxy,\n        bool _allowance\n    )\n        public\n        onlyOwner\n    {\n        termsProxiesAllowance[_termsProxy] = _allowance;\n    }\n\n    function addressInProxies(address _proxy) public view returns(bool) {\n        if (kernelProxiesAllowance[_proxy] == true ||\n            paymentsProxiesAllowance[_proxy] == true ||\n            oracleProxiesAllowance[_proxy] == true ||\n            termsProxiesAllowance[_proxy] == true)\n            return true;\n        return false;\n    }\n}\n",
  "sourcePath": "/Users/carlosgonzalezjuarez/Documents/Development/GuesserProtocol/contracts/ProxyRegistry.sol",
  "ast": {
    "absolutePath": "/Users/carlosgonzalezjuarez/Documents/Development/GuesserProtocol/contracts/ProxyRegistry.sol",
    "exportedSymbols": {
      "ProxyRegistry": [
        3678
      ]
    },
    "id": 3679,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 3558,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:22"
      },
      {
        "absolutePath": "openzeppelin-solidity/contracts/lifecycle/Pausable.sol",
        "file": "openzeppelin-solidity/contracts/lifecycle/Pausable.sol",
        "id": 3559,
        "nodeType": "ImportDirective",
        "scope": 3679,
        "sourceUnit": 4188,
        "src": "38:64:22",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 3560,
              "name": "Pausable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 4187,
              "src": "327:8:22",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Pausable_$4187",
                "typeString": "contract Pausable"
              }
            },
            "id": 3561,
            "nodeType": "InheritanceSpecifier",
            "src": "327:8:22"
          }
        ],
        "contractDependencies": [
          4187,
          4367
        ],
        "contractKind": "contract",
        "documentation": "@title Proxy Registry. ",
        "fullyImplemented": true,
        "id": 3678,
        "linearizedBaseContracts": [
          3678,
          4187,
          4367
        ],
        "name": "ProxyRegistry",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 3565,
            "name": "kernelProxiesAllowance",
            "nodeType": "VariableDeclaration",
            "scope": 3678,
            "src": "342:54:22",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
              "typeString": "mapping(address => bool)"
            },
            "typeName": {
              "id": 3564,
              "keyType": {
                "id": 3562,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "350:7:22",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "342:24:22",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                "typeString": "mapping(address => bool)"
              },
              "valueType": {
                "id": 3563,
                "name": "bool",
                "nodeType": "ElementaryTypeName",
                "src": "361:4:22",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 3569,
            "name": "paymentsProxiesAllowance",
            "nodeType": "VariableDeclaration",
            "scope": 3678,
            "src": "402:56:22",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
              "typeString": "mapping(address => bool)"
            },
            "typeName": {
              "id": 3568,
              "keyType": {
                "id": 3566,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "410:7:22",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "402:24:22",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                "typeString": "mapping(address => bool)"
              },
              "valueType": {
                "id": 3567,
                "name": "bool",
                "nodeType": "ElementaryTypeName",
                "src": "421:4:22",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 3573,
            "name": "oracleProxiesAllowance",
            "nodeType": "VariableDeclaration",
            "scope": 3678,
            "src": "464:54:22",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
              "typeString": "mapping(address => bool)"
            },
            "typeName": {
              "id": 3572,
              "keyType": {
                "id": 3570,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "472:7:22",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "464:24:22",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                "typeString": "mapping(address => bool)"
              },
              "valueType": {
                "id": 3571,
                "name": "bool",
                "nodeType": "ElementaryTypeName",
                "src": "483:4:22",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 3577,
            "name": "termsProxiesAllowance",
            "nodeType": "VariableDeclaration",
            "scope": 3678,
            "src": "524:53:22",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
              "typeString": "mapping(address => bool)"
            },
            "typeName": {
              "id": 3576,
              "keyType": {
                "id": 3574,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "532:7:22",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "524:24:22",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                "typeString": "mapping(address => bool)"
              },
              "valueType": {
                "id": 3575,
                "name": "bool",
                "nodeType": "ElementaryTypeName",
                "src": "543:4:22",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3592,
              "nodeType": "Block",
              "src": "717:66:22",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3590,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3586,
                        "name": "kernelProxiesAllowance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3565,
                        "src": "727:22:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                          "typeString": "mapping(address => bool)"
                        }
                      },
                      "id": 3588,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3587,
                        "name": "_kernelProxy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3579,
                        "src": "750:12:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "727:36:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3589,
                      "name": "_allowance",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3581,
                      "src": "766:10:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "727:49:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 3591,
                  "nodeType": "ExpressionStatement",
                  "src": "727:49:22"
                }
              ]
            },
            "documentation": null,
            "id": 3593,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 3584,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3583,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 4315,
                  "src": "703:9:22",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "703:9:22"
              }
            ],
            "name": "setKernelProxiesAllowance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3582,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3579,
                  "name": "_kernelProxy",
                  "nodeType": "VariableDeclaration",
                  "scope": 3593,
                  "src": "628:20:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3578,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "628:7:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3581,
                  "name": "_allowance",
                  "nodeType": "VariableDeclaration",
                  "scope": 3593,
                  "src": "658:15:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3580,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "658:4:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "618:61:22"
            },
            "payable": false,
            "returnParameters": {
              "id": 3585,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "717:0:22"
            },
            "scope": 3678,
            "src": "584:199:22",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3608,
              "nodeType": "Block",
              "src": "926:70:22",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3606,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3602,
                        "name": "paymentsProxiesAllowance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3569,
                        "src": "936:24:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                          "typeString": "mapping(address => bool)"
                        }
                      },
                      "id": 3604,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3603,
                        "name": "_paymentsProxy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3595,
                        "src": "961:14:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "936:40:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3605,
                      "name": "_allowance",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3597,
                      "src": "979:10:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "936:53:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 3607,
                  "nodeType": "ExpressionStatement",
                  "src": "936:53:22"
                }
              ]
            },
            "documentation": null,
            "id": 3609,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 3600,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3599,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 4315,
                  "src": "912:9:22",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "912:9:22"
              }
            ],
            "name": "setPaymentsProxiesAllowance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3598,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3595,
                  "name": "_paymentsProxy",
                  "nodeType": "VariableDeclaration",
                  "scope": 3609,
                  "src": "835:22:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3594,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "835:7:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3597,
                  "name": "_allowance",
                  "nodeType": "VariableDeclaration",
                  "scope": 3609,
                  "src": "867:15:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3596,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "867:4:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "825:63:22"
            },
            "payable": false,
            "returnParameters": {
              "id": 3601,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "926:0:22"
            },
            "scope": 3678,
            "src": "789:207:22",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3624,
              "nodeType": "Block",
              "src": "1135:66:22",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3622,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3618,
                        "name": "oracleProxiesAllowance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3573,
                        "src": "1145:22:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                          "typeString": "mapping(address => bool)"
                        }
                      },
                      "id": 3620,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3619,
                        "name": "_oracleProxy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3611,
                        "src": "1168:12:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "1145:36:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3621,
                      "name": "_allowance",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3613,
                      "src": "1184:10:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "1145:49:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 3623,
                  "nodeType": "ExpressionStatement",
                  "src": "1145:49:22"
                }
              ]
            },
            "documentation": null,
            "id": 3625,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 3616,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3615,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 4315,
                  "src": "1121:9:22",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1121:9:22"
              }
            ],
            "name": "setOracleProxiesAllowance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3614,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3611,
                  "name": "_oracleProxy",
                  "nodeType": "VariableDeclaration",
                  "scope": 3625,
                  "src": "1046:20:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3610,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1046:7:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3613,
                  "name": "_allowance",
                  "nodeType": "VariableDeclaration",
                  "scope": 3625,
                  "src": "1076:15:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3612,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1076:4:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1036:61:22"
            },
            "payable": false,
            "returnParameters": {
              "id": 3617,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1135:0:22"
            },
            "scope": 3678,
            "src": "1002:199:22",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3640,
              "nodeType": "Block",
              "src": "1338:64:22",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3638,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3634,
                        "name": "termsProxiesAllowance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3577,
                        "src": "1348:21:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                          "typeString": "mapping(address => bool)"
                        }
                      },
                      "id": 3636,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3635,
                        "name": "_termsProxy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3627,
                        "src": "1370:11:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "1348:34:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3637,
                      "name": "_allowance",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3629,
                      "src": "1385:10:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "1348:47:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 3639,
                  "nodeType": "ExpressionStatement",
                  "src": "1348:47:22"
                }
              ]
            },
            "documentation": null,
            "id": 3641,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 3632,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3631,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 4315,
                  "src": "1324:9:22",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1324:9:22"
              }
            ],
            "name": "setTermsProxiesAllowance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3630,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3627,
                  "name": "_termsProxy",
                  "nodeType": "VariableDeclaration",
                  "scope": 3641,
                  "src": "1250:19:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3626,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1250:7:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3629,
                  "name": "_allowance",
                  "nodeType": "VariableDeclaration",
                  "scope": 3641,
                  "src": "1279:15:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3628,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1279:4:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1240:60:22"
            },
            "payable": false,
            "returnParameters": {
              "id": 3633,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1338:0:22"
            },
            "scope": 3678,
            "src": "1207:195:22",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3676,
              "nodeType": "Block",
              "src": "1476:269:22",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 3670,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "id": 3664,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 3658,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 3652,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 3648,
                              "name": "kernelProxiesAllowance",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3565,
                              "src": "1490:22:22",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                                "typeString": "mapping(address => bool)"
                              }
                            },
                            "id": 3650,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 3649,
                              "name": "_proxy",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3643,
                              "src": "1513:6:22",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "1490:30:22",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "74727565",
                            "id": 3651,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1524:4:22",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          },
                          "src": "1490:38:22",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 3657,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 3653,
                              "name": "paymentsProxiesAllowance",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3569,
                              "src": "1544:24:22",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                                "typeString": "mapping(address => bool)"
                              }
                            },
                            "id": 3655,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 3654,
                              "name": "_proxy",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3643,
                              "src": "1569:6:22",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "1544:32:22",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "74727565",
                            "id": 3656,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1580:4:22",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          },
                          "src": "1544:40:22",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "1490:94:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "||",
                      "rightExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 3663,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3659,
                            "name": "oracleProxiesAllowance",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3573,
                            "src": "1600:22:22",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                              "typeString": "mapping(address => bool)"
                            }
                          },
                          "id": 3661,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 3660,
                            "name": "_proxy",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3643,
                            "src": "1623:6:22",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1600:30:22",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 3662,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1634:4:22",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        "src": "1600:38:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "src": "1490:148:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "id": 3669,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 3665,
                          "name": "termsProxiesAllowance",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3577,
                          "src": "1654:21:22",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                            "typeString": "mapping(address => bool)"
                          }
                        },
                        "id": 3667,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3666,
                          "name": "_proxy",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3643,
                          "src": "1676:6:22",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "1654:29:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "74727565",
                        "id": 3668,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1687:4:22",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      },
                      "src": "1654:37:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "1490:201:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 3673,
                  "nodeType": "IfStatement",
                  "src": "1486:230:22",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 3671,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1712:4:22",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "functionReturnParameters": 3647,
                    "id": 3672,
                    "nodeType": "Return",
                    "src": "1705:11:22"
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "66616c7365",
                    "id": 3674,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1733:5:22",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "false"
                  },
                  "functionReturnParameters": 3647,
                  "id": 3675,
                  "nodeType": "Return",
                  "src": "1726:12:22"
                }
              ]
            },
            "documentation": null,
            "id": 3677,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "addressInProxies",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3644,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3643,
                  "name": "_proxy",
                  "nodeType": "VariableDeclaration",
                  "scope": 3677,
                  "src": "1434:14:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3642,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1434:7:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1433:16:22"
            },
            "payable": false,
            "returnParameters": {
              "id": 3647,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3646,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3677,
                  "src": "1470:4:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3645,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1470:4:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1469:6:22"
            },
            "scope": 3678,
            "src": "1408:337:22",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 3679,
        "src": "301:1446:22"
      }
    ],
    "src": "0:1748:22"
  },
  "legacyAST": {
    "absolutePath": "/Users/carlosgonzalezjuarez/Documents/Development/GuesserProtocol/contracts/ProxyRegistry.sol",
    "exportedSymbols": {
      "ProxyRegistry": [
        3678
      ]
    },
    "id": 3679,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 3558,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:22"
      },
      {
        "absolutePath": "openzeppelin-solidity/contracts/lifecycle/Pausable.sol",
        "file": "openzeppelin-solidity/contracts/lifecycle/Pausable.sol",
        "id": 3559,
        "nodeType": "ImportDirective",
        "scope": 3679,
        "sourceUnit": 4188,
        "src": "38:64:22",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 3560,
              "name": "Pausable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 4187,
              "src": "327:8:22",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Pausable_$4187",
                "typeString": "contract Pausable"
              }
            },
            "id": 3561,
            "nodeType": "InheritanceSpecifier",
            "src": "327:8:22"
          }
        ],
        "contractDependencies": [
          4187,
          4367
        ],
        "contractKind": "contract",
        "documentation": "@title Proxy Registry. ",
        "fullyImplemented": true,
        "id": 3678,
        "linearizedBaseContracts": [
          3678,
          4187,
          4367
        ],
        "name": "ProxyRegistry",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 3565,
            "name": "kernelProxiesAllowance",
            "nodeType": "VariableDeclaration",
            "scope": 3678,
            "src": "342:54:22",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
              "typeString": "mapping(address => bool)"
            },
            "typeName": {
              "id": 3564,
              "keyType": {
                "id": 3562,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "350:7:22",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "342:24:22",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                "typeString": "mapping(address => bool)"
              },
              "valueType": {
                "id": 3563,
                "name": "bool",
                "nodeType": "ElementaryTypeName",
                "src": "361:4:22",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 3569,
            "name": "paymentsProxiesAllowance",
            "nodeType": "VariableDeclaration",
            "scope": 3678,
            "src": "402:56:22",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
              "typeString": "mapping(address => bool)"
            },
            "typeName": {
              "id": 3568,
              "keyType": {
                "id": 3566,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "410:7:22",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "402:24:22",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                "typeString": "mapping(address => bool)"
              },
              "valueType": {
                "id": 3567,
                "name": "bool",
                "nodeType": "ElementaryTypeName",
                "src": "421:4:22",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 3573,
            "name": "oracleProxiesAllowance",
            "nodeType": "VariableDeclaration",
            "scope": 3678,
            "src": "464:54:22",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
              "typeString": "mapping(address => bool)"
            },
            "typeName": {
              "id": 3572,
              "keyType": {
                "id": 3570,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "472:7:22",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "464:24:22",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                "typeString": "mapping(address => bool)"
              },
              "valueType": {
                "id": 3571,
                "name": "bool",
                "nodeType": "ElementaryTypeName",
                "src": "483:4:22",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 3577,
            "name": "termsProxiesAllowance",
            "nodeType": "VariableDeclaration",
            "scope": 3678,
            "src": "524:53:22",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
              "typeString": "mapping(address => bool)"
            },
            "typeName": {
              "id": 3576,
              "keyType": {
                "id": 3574,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "532:7:22",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "524:24:22",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                "typeString": "mapping(address => bool)"
              },
              "valueType": {
                "id": 3575,
                "name": "bool",
                "nodeType": "ElementaryTypeName",
                "src": "543:4:22",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3592,
              "nodeType": "Block",
              "src": "717:66:22",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3590,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3586,
                        "name": "kernelProxiesAllowance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3565,
                        "src": "727:22:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                          "typeString": "mapping(address => bool)"
                        }
                      },
                      "id": 3588,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3587,
                        "name": "_kernelProxy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3579,
                        "src": "750:12:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "727:36:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3589,
                      "name": "_allowance",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3581,
                      "src": "766:10:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "727:49:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 3591,
                  "nodeType": "ExpressionStatement",
                  "src": "727:49:22"
                }
              ]
            },
            "documentation": null,
            "id": 3593,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 3584,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3583,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 4315,
                  "src": "703:9:22",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "703:9:22"
              }
            ],
            "name": "setKernelProxiesAllowance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3582,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3579,
                  "name": "_kernelProxy",
                  "nodeType": "VariableDeclaration",
                  "scope": 3593,
                  "src": "628:20:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3578,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "628:7:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3581,
                  "name": "_allowance",
                  "nodeType": "VariableDeclaration",
                  "scope": 3593,
                  "src": "658:15:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3580,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "658:4:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "618:61:22"
            },
            "payable": false,
            "returnParameters": {
              "id": 3585,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "717:0:22"
            },
            "scope": 3678,
            "src": "584:199:22",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3608,
              "nodeType": "Block",
              "src": "926:70:22",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3606,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3602,
                        "name": "paymentsProxiesAllowance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3569,
                        "src": "936:24:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                          "typeString": "mapping(address => bool)"
                        }
                      },
                      "id": 3604,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3603,
                        "name": "_paymentsProxy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3595,
                        "src": "961:14:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "936:40:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3605,
                      "name": "_allowance",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3597,
                      "src": "979:10:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "936:53:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 3607,
                  "nodeType": "ExpressionStatement",
                  "src": "936:53:22"
                }
              ]
            },
            "documentation": null,
            "id": 3609,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 3600,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3599,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 4315,
                  "src": "912:9:22",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "912:9:22"
              }
            ],
            "name": "setPaymentsProxiesAllowance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3598,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3595,
                  "name": "_paymentsProxy",
                  "nodeType": "VariableDeclaration",
                  "scope": 3609,
                  "src": "835:22:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3594,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "835:7:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3597,
                  "name": "_allowance",
                  "nodeType": "VariableDeclaration",
                  "scope": 3609,
                  "src": "867:15:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3596,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "867:4:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "825:63:22"
            },
            "payable": false,
            "returnParameters": {
              "id": 3601,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "926:0:22"
            },
            "scope": 3678,
            "src": "789:207:22",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3624,
              "nodeType": "Block",
              "src": "1135:66:22",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3622,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3618,
                        "name": "oracleProxiesAllowance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3573,
                        "src": "1145:22:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                          "typeString": "mapping(address => bool)"
                        }
                      },
                      "id": 3620,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3619,
                        "name": "_oracleProxy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3611,
                        "src": "1168:12:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "1145:36:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3621,
                      "name": "_allowance",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3613,
                      "src": "1184:10:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "1145:49:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 3623,
                  "nodeType": "ExpressionStatement",
                  "src": "1145:49:22"
                }
              ]
            },
            "documentation": null,
            "id": 3625,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 3616,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3615,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 4315,
                  "src": "1121:9:22",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1121:9:22"
              }
            ],
            "name": "setOracleProxiesAllowance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3614,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3611,
                  "name": "_oracleProxy",
                  "nodeType": "VariableDeclaration",
                  "scope": 3625,
                  "src": "1046:20:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3610,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1046:7:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3613,
                  "name": "_allowance",
                  "nodeType": "VariableDeclaration",
                  "scope": 3625,
                  "src": "1076:15:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3612,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1076:4:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1036:61:22"
            },
            "payable": false,
            "returnParameters": {
              "id": 3617,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1135:0:22"
            },
            "scope": 3678,
            "src": "1002:199:22",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3640,
              "nodeType": "Block",
              "src": "1338:64:22",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3638,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3634,
                        "name": "termsProxiesAllowance",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3577,
                        "src": "1348:21:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                          "typeString": "mapping(address => bool)"
                        }
                      },
                      "id": 3636,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3635,
                        "name": "_termsProxy",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3627,
                        "src": "1370:11:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "1348:34:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3637,
                      "name": "_allowance",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3629,
                      "src": "1385:10:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "1348:47:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 3639,
                  "nodeType": "ExpressionStatement",
                  "src": "1348:47:22"
                }
              ]
            },
            "documentation": null,
            "id": 3641,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 3632,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3631,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 4315,
                  "src": "1324:9:22",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1324:9:22"
              }
            ],
            "name": "setTermsProxiesAllowance",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3630,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3627,
                  "name": "_termsProxy",
                  "nodeType": "VariableDeclaration",
                  "scope": 3641,
                  "src": "1250:19:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3626,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1250:7:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3629,
                  "name": "_allowance",
                  "nodeType": "VariableDeclaration",
                  "scope": 3641,
                  "src": "1279:15:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3628,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1279:4:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1240:60:22"
            },
            "payable": false,
            "returnParameters": {
              "id": 3633,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1338:0:22"
            },
            "scope": 3678,
            "src": "1207:195:22",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3676,
              "nodeType": "Block",
              "src": "1476:269:22",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 3670,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "id": 3664,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 3658,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 3652,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 3648,
                              "name": "kernelProxiesAllowance",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3565,
                              "src": "1490:22:22",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                                "typeString": "mapping(address => bool)"
                              }
                            },
                            "id": 3650,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 3649,
                              "name": "_proxy",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3643,
                              "src": "1513:6:22",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "1490:30:22",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "74727565",
                            "id": 3651,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1524:4:22",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          },
                          "src": "1490:38:22",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 3657,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 3653,
                              "name": "paymentsProxiesAllowance",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3569,
                              "src": "1544:24:22",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                                "typeString": "mapping(address => bool)"
                              }
                            },
                            "id": 3655,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 3654,
                              "name": "_proxy",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3643,
                              "src": "1569:6:22",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "1544:32:22",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "74727565",
                            "id": 3656,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1580:4:22",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          },
                          "src": "1544:40:22",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "1490:94:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "||",
                      "rightExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 3663,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3659,
                            "name": "oracleProxiesAllowance",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3573,
                            "src": "1600:22:22",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                              "typeString": "mapping(address => bool)"
                            }
                          },
                          "id": 3661,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 3660,
                            "name": "_proxy",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3643,
                            "src": "1623:6:22",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1600:30:22",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "74727565",
                          "id": 3662,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1634:4:22",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "true"
                        },
                        "src": "1600:38:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "src": "1490:148:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "id": 3669,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 3665,
                          "name": "termsProxiesAllowance",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3577,
                          "src": "1654:21:22",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
                            "typeString": "mapping(address => bool)"
                          }
                        },
                        "id": 3667,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3666,
                          "name": "_proxy",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3643,
                          "src": "1676:6:22",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "1654:29:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "74727565",
                        "id": 3668,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1687:4:22",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      },
                      "src": "1654:37:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "1490:201:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 3673,
                  "nodeType": "IfStatement",
                  "src": "1486:230:22",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 3671,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1712:4:22",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "functionReturnParameters": 3647,
                    "id": 3672,
                    "nodeType": "Return",
                    "src": "1705:11:22"
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "66616c7365",
                    "id": 3674,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1733:5:22",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "false"
                  },
                  "functionReturnParameters": 3647,
                  "id": 3675,
                  "nodeType": "Return",
                  "src": "1726:12:22"
                }
              ]
            },
            "documentation": null,
            "id": 3677,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "addressInProxies",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3644,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3643,
                  "name": "_proxy",
                  "nodeType": "VariableDeclaration",
                  "scope": 3677,
                  "src": "1434:14:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3642,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1434:7:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1433:16:22"
            },
            "payable": false,
            "returnParameters": {
              "id": 3647,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3646,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3677,
                  "src": "1470:4:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3645,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1470:4:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1469:6:22"
            },
            "scope": 3678,
            "src": "1408:337:22",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 3679,
        "src": "301:1446:22"
      }
    ],
    "src": "0:1748:22"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.25+commit.59dbf8f1.Emscripten.clang"
  },
  "networks": {
    "70": {
      "events": {},
      "links": {},
      "address": "0x86AeeCCaf35d100AF81BC41bC69D4E05dCdF9D8f",
      "transactionHash": "0xa2e67ec5a016befde89503f60e5755bd56065eedf802796fe5ffb46cbeff44b2"
    },
    "5777": {
      "events": {},
      "links": {},
      "address": "0x0038aFC7a487b65415ecFa20A973C605948FB3dC",
      "transactionHash": "0x4ff916ece974101be5bda3ebdc9258de83ad236527f5902b7008de522088acd3"
    }
  },
  "schemaVersion": "3.0.0-beta.1",
  "updatedAt": "2018-11-09T16:16:18.234Z"
}