{
  "contractName": "AbsoluteVoteExecuteMock",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "_msg",
          "type": "address"
        }
      ],
      "name": "LogAddress",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bool",
          "name": "_msg",
          "type": "bool"
        }
      ],
      "name": "LogBool",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "_msg",
          "type": "bytes"
        }
      ],
      "name": "LogBytes",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "_msg",
          "type": "bytes32"
        }
      ],
      "name": "LogBytes32",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "int256",
          "name": "_msg",
          "type": "int256"
        }
      ],
      "name": "LogInt",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "_msg",
          "type": "string"
        }
      ],
      "name": "LogString",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_msg",
          "type": "uint256"
        }
      ],
      "name": "LogUint",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_organization",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_numOfChoices",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "_proposer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "_paramsHash",
          "type": "bytes32"
        }
      ],
      "name": "NewProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "absoluteVote",
      "outputs": [
        {
          "internalType": "contract AbsoluteVote",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IERC20",
          "name": "_stakingToken",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "balanceOfStakingToken",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "burnReputationTest",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "internalType": "int256",
          "name": "_decision",
          "type": "int256"
        }
      ],
      "name": "executeProposal",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "getTotalReputationSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract Reputation",
          "name": "_reputation",
          "type": "address"
        },
        {
          "internalType": "contract AbsoluteVote",
          "name": "_absoluteVote",
          "type": "address"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "proposalsBlockNumbers",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_numOfChoices",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "_paramsHash",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_proposer",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_organization",
          "type": "address"
        }
      ],
      "name": "propose",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "reputation",
      "outputs": [
        {
          "internalType": "contract Reputation",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "reputationOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "setProposal",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IERC20",
          "name": "_stakingToken",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_beneficiary",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "stakingTokenTransfer",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610bd0806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80639588378e11610097578063bea75f2811610066578063bea75f28146102af578063c52164c6146102eb578063d1c75650146102f3578063f2fde38b14610310576100f5565b80639588378e146102115780639d4c162d1461023d578063abcc9cb914610260578063b551c37314610292576100f5565b80636b8eb403116100d35780636b8eb403146101a457806370a53748146101d0578063715018a6146102015780638da5cb5b14610209576100f5565b80630905c9f9146100fa578063485cc955146101505780634b6d440014610180575b600080fd5b61013e600480360360a081101561011057600080fd5b508035906020810135906001600160a01b036040820135811691606081013582169160809091013516610336565b60408051918252519081900360200190f35b61017e6004803603604081101561016657600080fd5b506001600160a01b03813581169160200135166103e4565b005b6101886104c9565b604080516001600160a01b039092168252519081900360200190f35b61013e600480360360408110156101ba57600080fd5b506001600160a01b0381351690602001356104d8565b6101ed600480360360208110156101e657600080fd5b503561055a565b604080519115158252519081900360200190f35b61017e61056e565b610188610622565b61013e6004803603604081101561022757600080fd5b506001600160a01b038135169060200135610631565b6101ed6004803603604081101561025357600080fd5b5080359060200135610693565b6101ed6004803603606081101561027657600080fd5b508035906001600160a01b036020820135169060400135610705565b61013e600480360360208110156102a857600080fd5b5035610792565b6101ed600480360360808110156102c557600080fd5b506001600160a01b0381358116916020810135909116906040810135906060013561081e565b610188610916565b61013e6004803603602081101561030957600080fd5b5035610925565b61017e6004803603602081101561032657600080fd5b50356001600160a01b0316610937565b60985460408051634439bdaf60e11b815260048101889052602481018790526001600160a01b03858116604483015284811660648301529151600093849316916388737b5e91608480830192602092919082900301818787803b15801561039c57600080fd5b505af11580156103b0573d6000803e3d6000fd5b505050506040513d60208110156103c657600080fd5b50516000818152609960205260409020439055979650505050505050565b600054610100900460ff16806103fd57506103fd610a42565b8061040b575060005460ff16155b6104465760405162461bcd60e51b815260040180806020018281038252602e815260200180610b6d602e913960400191505060405180910390fd5b600054610100900460ff16158015610471576000805460ff1961ff0019909116610100171660011790555b609780546001600160a01b038086166001600160a01b03199283161790925560988054928516929091169190911790556104a9610a48565b6104b282610937565b80156104c4576000805461ff00191690555b505050565b6098546001600160a01b031681565b6000826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561052757600080fd5b505afa15801561053b573d6000803e3d6000fd5b505050506040513d602081101561055157600080fd5b50519392505050565b600090815260996020526040812043905590565b610576610b42565b6065546001600160a01b039081169116146105d8576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6065546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3606580546001600160a01b0319169055565b6065546001600160a01b031690565b609754600082815260996020908152604080832054815163277166bf60e11b81526001600160a01b0388811660048301526024820192909252915193941692634ee2cd7e92604480840193919291829003018186803b15801561052757600080fd5b6040805183815290516000917e9fd52f05c0ded31d6fb0ee580b923f85e99cf1a5a1da342f25e73c45829c83919081900360200190a16040805183815290517f1aa4309bfd99af8afa7454590e1bdaa5a9b3b63e5baa109ae9afa3ecd0c67f399181900360200190a150600192915050565b60975460408051632770a7eb60e21b81526001600160a01b0385811660048301526024820187905291516000939290921691639dc29fac9160448082019260209290919082900301818787803b15801561075e57600080fd5b505af1158015610772573d6000803e3d6000fd5b505050506040513d602081101561078857600080fd5b5051949350505050565b6097546000828152609960209081526040808320548151630981b24d60e41b81526004810191909152905192936001600160a01b03169263981b24d092602480840193919291829003018186803b1580156107ec57600080fd5b505afa158015610800573d6000803e3d6000fd5b505050506040513d602081101561081657600080fd5b505192915050565b6000610828610b42565b6065546001600160a01b0390811691161461088a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b846001600160a01b031663a9059cbb85856040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156108e157600080fd5b505af11580156108f5573d6000803e3d6000fd5b505050506040513d602081101561090b57600080fd5b505195945050505050565b6097546001600160a01b031681565b60996020526000908152604090205481565b61093f610b42565b6065546001600160a01b039081169116146109a1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166109e65760405162461bcd60e51b8152600401808060200182810382526026815260200180610b476026913960400191505060405180910390fd5b6065546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3606580546001600160a01b0319166001600160a01b0392909216919091179055565b303b1590565b600054610100900460ff1680610a615750610a61610a42565b80610a6f575060005460ff16155b610aaa5760405162461bcd60e51b815260040180806020018281038252602e815260200180610b6d602e913960400191505060405180910390fd5b600054610100900460ff16158015610ad5576000805460ff1961ff0019909116610100171660011790555b6000610adf610b42565b606580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015610b3f576000805461ff00191690555b50565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a2646970667358221220c90d1f59db1b27155d7979bafe53c6a3c38fbd175f5e8d5bea91e0af1f62e79564736f6c634300060c0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80639588378e11610097578063bea75f2811610066578063bea75f28146102af578063c52164c6146102eb578063d1c75650146102f3578063f2fde38b14610310576100f5565b80639588378e146102115780639d4c162d1461023d578063abcc9cb914610260578063b551c37314610292576100f5565b80636b8eb403116100d35780636b8eb403146101a457806370a53748146101d0578063715018a6146102015780638da5cb5b14610209576100f5565b80630905c9f9146100fa578063485cc955146101505780634b6d440014610180575b600080fd5b61013e600480360360a081101561011057600080fd5b508035906020810135906001600160a01b036040820135811691606081013582169160809091013516610336565b60408051918252519081900360200190f35b61017e6004803603604081101561016657600080fd5b506001600160a01b03813581169160200135166103e4565b005b6101886104c9565b604080516001600160a01b039092168252519081900360200190f35b61013e600480360360408110156101ba57600080fd5b506001600160a01b0381351690602001356104d8565b6101ed600480360360208110156101e657600080fd5b503561055a565b604080519115158252519081900360200190f35b61017e61056e565b610188610622565b61013e6004803603604081101561022757600080fd5b506001600160a01b038135169060200135610631565b6101ed6004803603604081101561025357600080fd5b5080359060200135610693565b6101ed6004803603606081101561027657600080fd5b508035906001600160a01b036020820135169060400135610705565b61013e600480360360208110156102a857600080fd5b5035610792565b6101ed600480360360808110156102c557600080fd5b506001600160a01b0381358116916020810135909116906040810135906060013561081e565b610188610916565b61013e6004803603602081101561030957600080fd5b5035610925565b61017e6004803603602081101561032657600080fd5b50356001600160a01b0316610937565b60985460408051634439bdaf60e11b815260048101889052602481018790526001600160a01b03858116604483015284811660648301529151600093849316916388737b5e91608480830192602092919082900301818787803b15801561039c57600080fd5b505af11580156103b0573d6000803e3d6000fd5b505050506040513d60208110156103c657600080fd5b50516000818152609960205260409020439055979650505050505050565b600054610100900460ff16806103fd57506103fd610a42565b8061040b575060005460ff16155b6104465760405162461bcd60e51b815260040180806020018281038252602e815260200180610b6d602e913960400191505060405180910390fd5b600054610100900460ff16158015610471576000805460ff1961ff0019909116610100171660011790555b609780546001600160a01b038086166001600160a01b03199283161790925560988054928516929091169190911790556104a9610a48565b6104b282610937565b80156104c4576000805461ff00191690555b505050565b6098546001600160a01b031681565b6000826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561052757600080fd5b505afa15801561053b573d6000803e3d6000fd5b505050506040513d602081101561055157600080fd5b50519392505050565b600090815260996020526040812043905590565b610576610b42565b6065546001600160a01b039081169116146105d8576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6065546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3606580546001600160a01b0319169055565b6065546001600160a01b031690565b609754600082815260996020908152604080832054815163277166bf60e11b81526001600160a01b0388811660048301526024820192909252915193941692634ee2cd7e92604480840193919291829003018186803b15801561052757600080fd5b6040805183815290516000917e9fd52f05c0ded31d6fb0ee580b923f85e99cf1a5a1da342f25e73c45829c83919081900360200190a16040805183815290517f1aa4309bfd99af8afa7454590e1bdaa5a9b3b63e5baa109ae9afa3ecd0c67f399181900360200190a150600192915050565b60975460408051632770a7eb60e21b81526001600160a01b0385811660048301526024820187905291516000939290921691639dc29fac9160448082019260209290919082900301818787803b15801561075e57600080fd5b505af1158015610772573d6000803e3d6000fd5b505050506040513d602081101561078857600080fd5b5051949350505050565b6097546000828152609960209081526040808320548151630981b24d60e41b81526004810191909152905192936001600160a01b03169263981b24d092602480840193919291829003018186803b1580156107ec57600080fd5b505afa158015610800573d6000803e3d6000fd5b505050506040513d602081101561081657600080fd5b505192915050565b6000610828610b42565b6065546001600160a01b0390811691161461088a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b846001600160a01b031663a9059cbb85856040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156108e157600080fd5b505af11580156108f5573d6000803e3d6000fd5b505050506040513d602081101561090b57600080fd5b505195945050505050565b6097546001600160a01b031681565b60996020526000908152604090205481565b61093f610b42565b6065546001600160a01b039081169116146109a1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166109e65760405162461bcd60e51b8152600401808060200182810382526026815260200180610b476026913960400191505060405180910390fd5b6065546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3606580546001600160a01b0319166001600160a01b0392909216919091179055565b303b1590565b600054610100900460ff1680610a615750610a61610a42565b80610a6f575060005460ff16155b610aaa5760405162461bcd60e51b815260040180806020018281038252602e815260200180610b6d602e913960400191505060405180910390fd5b600054610100900460ff16158015610ad5576000805460ff1961ff0019909116610100171660011790555b6000610adf610b42565b606580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015610b3f576000805461ff00191690555b50565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a2646970667358221220c90d1f59db1b27155d7979bafe53c6a3c38fbd175f5e8d5bea91e0af1f62e79564736f6c634300060c0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
