{
  "_format": "hh-sol-artifact-1",
  "contractName": "PangolinVoteCalculator",
  "sourceName": "contracts/governance/PangolinVoteCalculator.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_png",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_miniChef",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "voter",
          "type": "address"
        },
        {
          "internalType": "uint256[]",
          "name": "pids",
          "type": "uint256[]"
        }
      ],
      "name": "getVotesFromFarming",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "votes",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "voter",
          "type": "address"
        },
        {
          "internalType": "address[]",
          "name": "stakes",
          "type": "address[]"
        }
      ],
      "name": "getVotesFromStaking",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "votes",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "voter",
          "type": "address"
        }
      ],
      "name": "getVotesFromWallets",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "votes",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50604051610d18380380610d1883398101604081905261002f916100d5565b61003833610069565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055610108565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146100d057600080fd5b919050565b600080604083850312156100e857600080fd5b6100f1836100b9565b91506100ff602084016100b9565b90509250929050565b610c01806101176000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80638b47dcd1116100505780638b47dcd1146100ba5780638da5cb5b146100cd578063f2fde38b146100e857600080fd5b80636122734914610077578063715018a61461009d5780637e72292e146100a7575b600080fd5b61008a6100853660046108d2565b6100fb565b6040519081526020015b60405180910390f35b6100a56102a8565b005b61008a6100b5366004610942565b6102bc565b61008a6100c8366004610942565b6105da565b6000546040516001600160a01b039091168152602001610094565b6100a56100f63660046108d2565b610732565b6001546040517fb4b5ea570000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152600092169063b4b5ea5790602401602060405180830381865afa15801561015f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101839190610997565b61018d90826109c6565b6001546040517f587cde1e0000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301529293506000929091169063587cde1e90602401602060405180830381865afa1580156101f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021a91906109df565b6001600160a01b0316036102a3576001546040516370a0823160e01b81526001600160a01b038481166004830152909116906370a0823190602401602060405180830381865afa158015610272573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102969190610997565b6102a090826109c6565b90505b919050565b6102b06107e1565b6102ba6000610855565b565b600080600260009054906101000a90046001600160a01b03166001600160a01b03166334c0b46b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610312573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261033a9190810190610a43565b905060005b838110156105d157815185858381811061035b5761035b610af5565b9050602002013510156105bf5760008286868481811061037d5761037d610af5565b905060200201358151811061039457610394610af5565b60209081029190910101516001546040516370a0823160e01b81526001600160a01b038084166004830152929350839260009216906370a0823190602401602060405180830381865afa1580156103ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104139190610997565b90506000826001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610455573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104799190610997565b6040516370a0823160e01b81526001600160a01b038c811660048301529192506000918516906370a0823190602401602060405180830381865afa1580156104c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e99190610997565b6002549091506000906001600160a01b03166393f1a40b8c8c8a81811061051257610512610af5565b905060200201358e6040518363ffffffff1660e01b81526004016105499291909182526001600160a01b0316602082015260400190565b6040805180830381865afa158015610565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105899190610b0b565b519050828461059883856109c6565b6105a29190610b5a565b6105ac9190610b71565b6105b6908a6109c6565b98505050505050505b806105c981610b93565b91505061033f565b50509392505050565b6000805b8281101561072a5760008484838181106105fa576105fa610af5565b905060200201602081019061060f91906108d2565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316816001600160a01b03166372f702f36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561066e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069291906109df565b6001600160a01b031603610717576040516370a0823160e01b81526001600160a01b0387811660048301528216906370a0823190602401602060405180830381865afa1580156106e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070a9190610997565b61071490846109c6565b92505b508061072281610b93565b9150506105de565b509392505050565b61073a6107e1565b6001600160a01b0381166107d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6107de81610855565b50565b6000546001600160a01b031633146102ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107cc565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146107de57600080fd5b6000602082840312156108e457600080fd5b81356108ef816108bd565b9392505050565b60008083601f84011261090857600080fd5b50813567ffffffffffffffff81111561092057600080fd5b6020830191508360208260051b850101111561093b57600080fd5b9250929050565b60008060006040848603121561095757600080fd5b8335610962816108bd565b9250602084013567ffffffffffffffff81111561097e57600080fd5b61098a868287016108f6565b9497909650939450505050565b6000602082840312156109a957600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156109d9576109d96109b0565b92915050565b6000602082840312156109f157600080fd5b81516108ef816108bd565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610a3b57610a3b6109fc565b604052919050565b60006020808385031215610a5657600080fd5b825167ffffffffffffffff80821115610a6e57600080fd5b818501915085601f830112610a8257600080fd5b815181811115610a9457610a946109fc565b8060051b9150610aa5848301610a12565b8181529183018401918481019088841115610abf57600080fd5b938501935b83851015610ae95784519250610ad9836108bd565b8282529385019390850190610ac4565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b600060408284031215610b1d57600080fd5b6040516040810181811067ffffffffffffffff82111715610b4057610b406109fc565b604052825181526020928301519281019290925250919050565b80820281158282048414176109d9576109d96109b0565b600082610b8e57634e487b7160e01b600052601260045260246000fd5b500490565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610bc457610bc46109b0565b506001019056fea2646970667358221220cc178e5dd471f618d06d1b2116c7235ced60afde7b69e3532ed1dbec705af34164736f6c63430008130033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c80638b47dcd1116100505780638b47dcd1146100ba5780638da5cb5b146100cd578063f2fde38b146100e857600080fd5b80636122734914610077578063715018a61461009d5780637e72292e146100a7575b600080fd5b61008a6100853660046108d2565b6100fb565b6040519081526020015b60405180910390f35b6100a56102a8565b005b61008a6100b5366004610942565b6102bc565b61008a6100c8366004610942565b6105da565b6000546040516001600160a01b039091168152602001610094565b6100a56100f63660046108d2565b610732565b6001546040517fb4b5ea570000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152600092169063b4b5ea5790602401602060405180830381865afa15801561015f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101839190610997565b61018d90826109c6565b6001546040517f587cde1e0000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301529293506000929091169063587cde1e90602401602060405180830381865afa1580156101f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021a91906109df565b6001600160a01b0316036102a3576001546040516370a0823160e01b81526001600160a01b038481166004830152909116906370a0823190602401602060405180830381865afa158015610272573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102969190610997565b6102a090826109c6565b90505b919050565b6102b06107e1565b6102ba6000610855565b565b600080600260009054906101000a90046001600160a01b03166001600160a01b03166334c0b46b6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610312573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261033a9190810190610a43565b905060005b838110156105d157815185858381811061035b5761035b610af5565b9050602002013510156105bf5760008286868481811061037d5761037d610af5565b905060200201358151811061039457610394610af5565b60209081029190910101516001546040516370a0823160e01b81526001600160a01b038084166004830152929350839260009216906370a0823190602401602060405180830381865afa1580156103ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104139190610997565b90506000826001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610455573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104799190610997565b6040516370a0823160e01b81526001600160a01b038c811660048301529192506000918516906370a0823190602401602060405180830381865afa1580156104c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e99190610997565b6002549091506000906001600160a01b03166393f1a40b8c8c8a81811061051257610512610af5565b905060200201358e6040518363ffffffff1660e01b81526004016105499291909182526001600160a01b0316602082015260400190565b6040805180830381865afa158015610565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105899190610b0b565b519050828461059883856109c6565b6105a29190610b5a565b6105ac9190610b71565b6105b6908a6109c6565b98505050505050505b806105c981610b93565b91505061033f565b50509392505050565b6000805b8281101561072a5760008484838181106105fa576105fa610af5565b905060200201602081019061060f91906108d2565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316816001600160a01b03166372f702f36040518163ffffffff1660e01b8152600401602060405180830381865afa15801561066e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069291906109df565b6001600160a01b031603610717576040516370a0823160e01b81526001600160a01b0387811660048301528216906370a0823190602401602060405180830381865afa1580156106e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070a9190610997565b61071490846109c6565b92505b508061072281610b93565b9150506105de565b509392505050565b61073a6107e1565b6001600160a01b0381166107d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6107de81610855565b50565b6000546001600160a01b031633146102ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107cc565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146107de57600080fd5b6000602082840312156108e457600080fd5b81356108ef816108bd565b9392505050565b60008083601f84011261090857600080fd5b50813567ffffffffffffffff81111561092057600080fd5b6020830191508360208260051b850101111561093b57600080fd5b9250929050565b60008060006040848603121561095757600080fd5b8335610962816108bd565b9250602084013567ffffffffffffffff81111561097e57600080fd5b61098a868287016108f6565b9497909650939450505050565b6000602082840312156109a957600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156109d9576109d96109b0565b92915050565b6000602082840312156109f157600080fd5b81516108ef816108bd565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610a3b57610a3b6109fc565b604052919050565b60006020808385031215610a5657600080fd5b825167ffffffffffffffff80821115610a6e57600080fd5b818501915085601f830112610a8257600080fd5b815181811115610a9457610a946109fc565b8060051b9150610aa5848301610a12565b8181529183018401918481019088841115610abf57600080fd5b938501935b83851015610ae95784519250610ad9836108bd565b8282529385019390850190610ac4565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b600060408284031215610b1d57600080fd5b6040516040810181811067ffffffffffffffff82111715610b4057610b406109fc565b604052825181526020928301519281019290925250919050565b80820281158282048414176109d9576109d96109b0565b600082610b8e57634e487b7160e01b600052601260045260246000fd5b500490565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610bc457610bc46109b0565b506001019056fea2646970667358221220cc178e5dd471f618d06d1b2116c7235ced60afde7b69e3532ed1dbec705af34164736f6c63430008130033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
