SUSHISWAP_MASTER_CHEF_ABI = [{
                                 "inputs": [
                                     {"internalType": "contract SushiToken", "name": "_sushi", "type": "address"},
                                     {"internalType": "address", "name": "_devaddr", "type": "address"},
                                     {"internalType": "uint256", "name": "_sushiPerBlock", "type": "uint256"},
                                     {"internalType": "uint256", "name": "_startBlock", "type": "uint256"},
                                     {"internalType": "uint256", "name": "_bonusEndBlock", "type": "uint256"}],
                                 "stateMutability": "nonpayable", "type": "constructor"}, {
                                 "anonymous": False, "inputs": [
        {"indexed": True, "internalType": "address", "name": "user", "type": "address"},
        {"indexed": True, "internalType": "uint256", "name": "pid", "type": "uint256"},
        {"indexed": False, "internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "Deposit",
                                 "type": "event"}, {
                                 "anonymous": False, "inputs": [
        {"indexed": True, "internalType": "address", "name": "user", "type": "address"},
        {"indexed": True, "internalType": "uint256", "name": "pid", "type": "uint256"},
        {"indexed": False, "internalType": "uint256", "name": "amount", "type": "uint256"}],
                                 "name": "EmergencyWithdraw", "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"}, {
                                 "anonymous": False, "inputs": [
        {"indexed": True, "internalType": "address", "name": "user", "type": "address"},
        {"indexed": True, "internalType": "uint256", "name": "pid", "type": "uint256"},
        {"indexed": False, "internalType": "uint256", "name": "amount", "type": "uint256"}], "name": "Withdraw",
                                 "type": "event"}, {
                                 "inputs": [], "name": "BONUS_MULTIPLIER",
                                 "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
                                 "stateMutability": "view", "type": "function"}, {
                                 "inputs": [{"internalType": "uint256", "name": "_allocPoint", "type": "uint256"},
                                            {"internalType": "contract IERC20", "name": "_lpToken", "type": "address"},
                                            {"internalType": "bool", "name": "_withUpdate", "type": "bool"}],
                                 "name": "add", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {
                                 "inputs": [], "name": "bonusEndBlock",
                                 "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
                                 "stateMutability": "view", "type": "function"}, {
                                 "inputs": [{"internalType": "uint256", "name": "_pid", "type": "uint256"},
                                            {"internalType": "uint256", "name": "_amount", "type": "uint256"}],
                                 "name": "deposit", "outputs": [], "stateMutability": "nonpayable", "type": "function"},
                             {
                                 "inputs": [{"internalType": "address", "name": "_devaddr", "type": "address"}],
                                 "name": "dev", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {
                                 "inputs": [], "name": "devaddr",
                                 "outputs": [{"internalType": "address", "name": "", "type": "address"}],
                                 "stateMutability": "view", "type": "function"}, {
                                 "inputs": [{"internalType": "uint256", "name": "_pid", "type": "uint256"}],
                                 "name": "emergencyWithdraw", "outputs": [], "stateMutability": "nonpayable",
                                 "type": "function"}, {
                                 "inputs": [{"internalType": "uint256", "name": "_from", "type": "uint256"},
                                            {"internalType": "uint256", "name": "_to", "type": "uint256"}],
                                 "name": "getMultiplier",
                                 "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
                                 "stateMutability": "view", "type": "function"}, {
                                 "inputs": [], "name": "massUpdatePools", "outputs": [],
                                 "stateMutability": "nonpayable", "type": "function"}, {
                                 "inputs": [{"internalType": "uint256", "name": "_pid", "type": "uint256"}],
                                 "name": "migrate", "outputs": [], "stateMutability": "nonpayable", "type": "function"},
                             {
                                 "inputs": [], "name": "migrator",
                                 "outputs": [{"internalType": "contract IMigratorChef", "name": "", "type": "address"}],
                                 "stateMutability": "view", "type": "function"}, {
                                 "inputs": [], "name": "owner",
                                 "outputs": [{"internalType": "address", "name": "", "type": "address"}],
                                 "stateMutability": "view", "type": "function"}, {
                                 "inputs": [{"internalType": "uint256", "name": "_pid", "type": "uint256"},
                                            {"internalType": "address", "name": "_user", "type": "address"}],
                                 "name": "pendingSushi",
                                 "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
                                 "stateMutability": "view", "type": "function"}, {
                                 "inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
                                 "name": "poolInfo",
                                 "outputs": [{"internalType": "contract IERC20", "name": "lpToken", "type": "address"},
                                             {"internalType": "uint256", "name": "allocPoint", "type": "uint256"},
                                             {"internalType": "uint256", "name": "lastRewardBlock", "type": "uint256"},
                                             {
                                                 "internalType": "uint256", "name": "accSushiPerShare",
                                                 "type": "uint256"}], "stateMutability": "view", "type": "function"}, {
                                 "inputs": [], "name": "poolLength",
                                 "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
                                 "stateMutability": "view", "type": "function"}, {
                                 "inputs": [], "name": "renounceOwnership", "outputs": [],
                                 "stateMutability": "nonpayable", "type": "function"}, {
                                 "inputs": [{"internalType": "uint256", "name": "_pid", "type": "uint256"},
                                            {"internalType": "uint256", "name": "_allocPoint", "type": "uint256"},
                                            {"internalType": "bool", "name": "_withUpdate", "type": "bool"}],
                                 "name": "set", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {
                                 "inputs": [{
                                                "internalType": "contract IMigratorChef", "name": "_migrator",
                                                "type": "address"}], "name": "setMigrator", "outputs": [],
                                 "stateMutability": "nonpayable", "type": "function"}, {
                                 "inputs": [], "name": "startBlock",
                                 "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
                                 "stateMutability": "view", "type": "function"}, {
                                 "inputs": [], "name": "sushi",
                                 "outputs": [{"internalType": "contract SushiToken", "name": "", "type": "address"}],
                                 "stateMutability": "view", "type": "function"}, {
                                 "inputs": [], "name": "sushiPerBlock",
                                 "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
                                 "stateMutability": "view", "type": "function"}, {
                                 "inputs": [], "name": "totalAllocPoint",
                                 "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
                                 "stateMutability": "view", "type": "function"}, {
                                 "inputs": [{"internalType": "address", "name": "newOwner", "type": "address"}],
                                 "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable",
                                 "type": "function"}, {
                                 "inputs": [{"internalType": "uint256", "name": "_pid", "type": "uint256"}],
                                 "name": "updatePool", "outputs": [], "stateMutability": "nonpayable",
                                 "type": "function"}, {
                                 "inputs": [{"internalType": "uint256", "name": "", "type": "uint256"},
                                            {"internalType": "address", "name": "", "type": "address"}],
                                 "name": "userInfo",
                                 "outputs": [{"internalType": "uint256", "name": "amount", "type": "uint256"},
                                             {"internalType": "uint256", "name": "rewardDebt", "type": "uint256"}],
                                 "stateMutability": "view", "type": "function"}, {
                                 "inputs": [{"internalType": "uint256", "name": "_pid", "type": "uint256"},
                                            {"internalType": "uint256", "name": "_amount", "type": "uint256"}],
                                 "name": "withdraw", "outputs": [], "stateMutability": "nonpayable",
                                 "type": "function"}]
