{
  "contractName": "SchemeMock",
  "abi": [
    {
      "inputs": [],
      "name": "avatar",
      "outputs": [
        {
          "internalType": "contract Avatar",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract Avatar",
          "name": "_avatar",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_contract",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_a",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_b",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_c",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "genericCall",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract Avatar",
          "name": "_avatar",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_contract",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_a",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_b",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_c",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "genericCallDirect",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract Avatar",
          "name": "_avatar",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_testData",
          "type": "uint256"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract Avatar",
          "name": "_avatar",
          "type": "address"
        },
        {
          "internalType": "contract IntVoteInterface",
          "name": "_votingMachine",
          "type": "address"
        },
        {
          "internalType": "uint256[11]",
          "name": "_votingParams",
          "type": "uint256[11]"
        },
        {
          "internalType": "address",
          "name": "_voteOnBehalf",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_voteParamsHash",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_testData",
          "type": "uint256"
        }
      ],
      "name": "initializeGovernance",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "testData",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "voteParamsHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "votingMachine",
      "outputs": [
        {
          "internalType": "contract IntVoteInterface",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610ba9806100206000396000f3fe608060405234801561001057600080fd5b50600436106100875760003560e01c80634ea2c7ec1161005b5780634ea2c7ec146101e65780635aef7de6146101ee578063b9642c0e146101f6578063cd6dc6871461024057610087565b80624080961461008c578063016cbd511461015957806303346df5146101735780633edf7ca1146101c2575b600080fd5b6100d6600480360360c08110156100a257600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359091169060808101359060a0013561026c565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561011d578181015183820152602001610105565b50505050905090810190601f16801561014a5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b610161610477565b60408051918252519081900360200190f35b6101c0600480360361020081101561018a57600080fd5b506001600160a01b038135811691602081013582169160408201916101a0810135909116906101c0810135906101e0013561047d565b005b6101ca6104be565b604080516001600160a01b039092168252519081900360200190f35b6101616104cd565b6101ca6104d3565b6100d6600480360360c081101561020c57600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359091169060808101359060a001356104e2565b6101c06004803603604081101561025657600080fd5b506001600160a01b038135169060200135610798565b6040805160248082018790526001600160a01b038681166044808501919091526064808501889052855180860382018152608495860187526020810180516001600160e01b0316630f3e8dcd60e41b178152965163057e2c8b60e31b81528c851660048201908152938101899052606095810186815282519382019390935281516000989697958f1696632bf16458968f9694958c95949093910191908083838e5b8381101561032657818101518382015260200161030e565b50505050905090810190601f1680156103535780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561037457600080fd5b505af1158015610388573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156103b157600080fd5b8151602083018051604051929492938301929190846401000000008211156103d857600080fd5b9083019060208201858111156103ed57600080fd5b825164010000000081118282018810171561040757600080fd5b82525081516020918201929091019080838360005b8381101561043457818101518382015260200161041c565b50505050905090810190601f1680156104615780820380516001836020036101000a031916815260200191505b5060405250505091509150965096945050505050565b60365481565b6104b486868487600b806020026040519081016040528092919082600b602002808284376000920191909152508991506107a79050565b6036555050505050565b6034546001600160a01b031681565b60355481565b6033546001600160a01b031681565b600060606000886001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561052157600080fd5b505afa158015610535573d6000803e3d6000fd5b505050506040513d602081101561054b57600080fd5b81019080805190602001909291905050509050806001600160a01b0316632bf164588989898960405160240180848152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050604051602081830303815290604052630f3e8dcd60e41b6001600160e01b0319166020820180516001600160e01b038381831617835250505050876040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561064657818101518382015260200161062e565b50505050905090810190601f1680156106735780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561069457600080fd5b505af11580156106a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156106d157600080fd5b8151602083018051604051929492938301929190846401000000008211156106f857600080fd5b90830190602082018581111561070d57600080fd5b825164010000000081118282018810171561072757600080fd5b82525081516020918201929091019080838360005b8381101561075457818101518382015260200161073c565b50505050905090810190601f1680156107815780820380516001836020036101000a031916815260200191505b506040525050509250925050965096945050505050565b6107a182610a26565b60365550565b6001600160a01b038416610802576040805162461bcd60e51b815260206004820152601c60248201527f766f74696e674d616368696e652063616e6e6f74206265207a65726f00000000604482015290519081900360640190fd5b61080b85610a26565b603480546001600160a01b0319166001600160a01b03861617905582610a19576040516307b4e1e360e01b815284906001600160a01b038216906307b4e1e39085908590600401808361016080838360005b8381101561087557818101518382015260200161085d565b50505050905001826001600160a01b03166001600160a01b031681526020019250505060206040518083038186803b1580156108b057600080fd5b505afa1580156108c4573d6000803e3d6000fd5b505050506040513d60208110156108da57600080fd5b505160358190556040805162941a0160e21b81526004810192909252516000916001600160a01b038416916302506804916024808201926101a092909190829003018186803b15801561092c57600080fd5b505afa158015610940573d6000803e3d6000fd5b505050506040513d6101a081101561095757600080fd5b5051905080610a1257604051638894c41b60e01b81526001600160a01b03831690638894c41b9086908690600401808361016080838360005b838110156109a8578181015183820152602001610990565b50505050905001826001600160a01b03166001600160a01b0316815260200192505050602060405180830381600087803b1580156109e557600080fd5b505af11580156109f9573d6000803e3d6000fd5b505050506040513d6020811015610a0f57600080fd5b50505b5050610a1f565b60358390555b5050505050565b600054610100900460ff1680610a3f5750610a3f610b3f565b80610a4d575060005460ff16155b610a885760405162461bcd60e51b815260040180806020018281038252602e815260200180610b46602e913960400191505060405180910390fd5b600054610100900460ff16158015610ab3576000805460ff1961ff0019909116610100171660011790555b6001600160a01b038216610b0e576040805162461bcd60e51b815260206004820152601760248201527f536368656d65206d757374206861766520617661746172000000000000000000604482015290519081900360640190fd5b603380546001600160a01b0319166001600160a01b0384161790558015610b3b576000805461ff00191690555b5050565b303b159056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a2646970667358221220be287f69966a089b86c43520db3ac347d2ca7504aa909cf548ca48cf33d7d39c64736f6c634300060a0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100875760003560e01c80634ea2c7ec1161005b5780634ea2c7ec146101e65780635aef7de6146101ee578063b9642c0e146101f6578063cd6dc6871461024057610087565b80624080961461008c578063016cbd511461015957806303346df5146101735780633edf7ca1146101c2575b600080fd5b6100d6600480360360c08110156100a257600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359091169060808101359060a0013561026c565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561011d578181015183820152602001610105565b50505050905090810190601f16801561014a5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b610161610477565b60408051918252519081900360200190f35b6101c0600480360361020081101561018a57600080fd5b506001600160a01b038135811691602081013582169160408201916101a0810135909116906101c0810135906101e0013561047d565b005b6101ca6104be565b604080516001600160a01b039092168252519081900360200190f35b6101616104cd565b6101ca6104d3565b6100d6600480360360c081101561020c57600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359091169060808101359060a001356104e2565b6101c06004803603604081101561025657600080fd5b506001600160a01b038135169060200135610798565b6040805160248082018790526001600160a01b038681166044808501919091526064808501889052855180860382018152608495860187526020810180516001600160e01b0316630f3e8dcd60e41b178152965163057e2c8b60e31b81528c851660048201908152938101899052606095810186815282519382019390935281516000989697958f1696632bf16458968f9694958c95949093910191908083838e5b8381101561032657818101518382015260200161030e565b50505050905090810190601f1680156103535780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561037457600080fd5b505af1158015610388573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156103b157600080fd5b8151602083018051604051929492938301929190846401000000008211156103d857600080fd5b9083019060208201858111156103ed57600080fd5b825164010000000081118282018810171561040757600080fd5b82525081516020918201929091019080838360005b8381101561043457818101518382015260200161041c565b50505050905090810190601f1680156104615780820380516001836020036101000a031916815260200191505b5060405250505091509150965096945050505050565b60365481565b6104b486868487600b806020026040519081016040528092919082600b602002808284376000920191909152508991506107a79050565b6036555050505050565b6034546001600160a01b031681565b60355481565b6033546001600160a01b031681565b600060606000886001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561052157600080fd5b505afa158015610535573d6000803e3d6000fd5b505050506040513d602081101561054b57600080fd5b81019080805190602001909291905050509050806001600160a01b0316632bf164588989898960405160240180848152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050604051602081830303815290604052630f3e8dcd60e41b6001600160e01b0319166020820180516001600160e01b038381831617835250505050876040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561064657818101518382015260200161062e565b50505050905090810190601f1680156106735780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561069457600080fd5b505af11580156106a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156106d157600080fd5b8151602083018051604051929492938301929190846401000000008211156106f857600080fd5b90830190602082018581111561070d57600080fd5b825164010000000081118282018810171561072757600080fd5b82525081516020918201929091019080838360005b8381101561075457818101518382015260200161073c565b50505050905090810190601f1680156107815780820380516001836020036101000a031916815260200191505b506040525050509250925050965096945050505050565b6107a182610a26565b60365550565b6001600160a01b038416610802576040805162461bcd60e51b815260206004820152601c60248201527f766f74696e674d616368696e652063616e6e6f74206265207a65726f00000000604482015290519081900360640190fd5b61080b85610a26565b603480546001600160a01b0319166001600160a01b03861617905582610a19576040516307b4e1e360e01b815284906001600160a01b038216906307b4e1e39085908590600401808361016080838360005b8381101561087557818101518382015260200161085d565b50505050905001826001600160a01b03166001600160a01b031681526020019250505060206040518083038186803b1580156108b057600080fd5b505afa1580156108c4573d6000803e3d6000fd5b505050506040513d60208110156108da57600080fd5b505160358190556040805162941a0160e21b81526004810192909252516000916001600160a01b038416916302506804916024808201926101a092909190829003018186803b15801561092c57600080fd5b505afa158015610940573d6000803e3d6000fd5b505050506040513d6101a081101561095757600080fd5b5051905080610a1257604051638894c41b60e01b81526001600160a01b03831690638894c41b9086908690600401808361016080838360005b838110156109a8578181015183820152602001610990565b50505050905001826001600160a01b03166001600160a01b0316815260200192505050602060405180830381600087803b1580156109e557600080fd5b505af11580156109f9573d6000803e3d6000fd5b505050506040513d6020811015610a0f57600080fd5b50505b5050610a1f565b60358390555b5050505050565b600054610100900460ff1680610a3f5750610a3f610b3f565b80610a4d575060005460ff16155b610a885760405162461bcd60e51b815260040180806020018281038252602e815260200180610b46602e913960400191505060405180910390fd5b600054610100900460ff16158015610ab3576000805460ff1961ff0019909116610100171660011790555b6001600160a01b038216610b0e576040805162461bcd60e51b815260206004820152601760248201527f536368656d65206d757374206861766520617661746172000000000000000000604482015290519081900360640190fd5b603380546001600160a01b0319166001600160a01b0384161790558015610b3b576000805461ff00191690555b5050565b303b159056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a2646970667358221220be287f69966a089b86c43520db3ac347d2ca7504aa909cf548ca48cf33d7d39c64736f6c634300060a0033"
}