[
  {
    "anonymous":false,
    "inputs":[
      {
        "indexed":true,
        "internalType":"address",
        "name":"item",
        "type":"address"
      },
      {
        "indexed":false,
        "internalType":"uint256",
        "name":"buyPrice",
        "type":"uint256"
      },
      {
        "indexed":false,
        "internalType":"uint256",
        "name":"sellPrice",
        "type":"uint256"
      }
    ],
    "name":"ItemAdded",
    "type":"event"
  },
  {
    "anonymous":false,
    "inputs":[
      {
        "indexed":true,
        "internalType":"address",
        "name":"player",
        "type":"address"
      },
      {
        "indexed":false,
        "internalType":"address",
        "name":"boughtItem",
        "type":"address"
      },
      {
        "indexed":false,
        "internalType":"uint256",
        "name":"boughtQty",
        "type":"uint256"
      },
      {
        "indexed":false,
        "internalType":"address",
        "name":"soldItem",
        "type":"address"
      },
      {
        "indexed":false,
        "internalType":"uint256",
        "name":"soldQty",
        "type":"uint256"
      }
    ],
    "name":"ItemTraded",
    "type":"event"
  },
  {
    "anonymous":false,
    "inputs":[
      {
        "indexed":true,
        "internalType":"address",
        "name":"item",
        "type":"address"
      },
      {
        "indexed":false,
        "internalType":"uint256",
        "name":"buyPrice",
        "type":"uint256"
      },
      {
        "indexed":false,
        "internalType":"uint256",
        "name":"sellPrice",
        "type":"uint256"
      },
      {
        "indexed":false,
        "internalType":"uint8",
        "name":"status",
        "type":"uint8"
      }
    ],
    "name":"ItemUpdated",
    "type":"event"
  },
  {
    "anonymous":false,
    "inputs":[
      {
        "indexed":false,
        "internalType":"address",
        "name":"account",
        "type":"address"
      }
    ],
    "name":"Paused",
    "type":"event"
  },
  {
    "anonymous":false,
    "inputs":[
      {
        "indexed":true,
        "internalType":"bytes32",
        "name":"role",
        "type":"bytes32"
      },
      {
        "indexed":true,
        "internalType":"bytes32",
        "name":"previousAdminRole",
        "type":"bytes32"
      },
      {
        "indexed":true,
        "internalType":"bytes32",
        "name":"newAdminRole",
        "type":"bytes32"
      }
    ],
    "name":"RoleAdminChanged",
    "type":"event"
  },
  {
    "anonymous":false,
    "inputs":[
      {
        "indexed":true,
        "internalType":"bytes32",
        "name":"role",
        "type":"bytes32"
      },
      {
        "indexed":true,
        "internalType":"address",
        "name":"account",
        "type":"address"
      },
      {
        "indexed":true,
        "internalType":"address",
        "name":"sender",
        "type":"address"
      }
    ],
    "name":"RoleGranted",
    "type":"event"
  },
  {
    "anonymous":false,
    "inputs":[
      {
        "indexed":true,
        "internalType":"bytes32",
        "name":"role",
        "type":"bytes32"
      },
      {
        "indexed":true,
        "internalType":"address",
        "name":"account",
        "type":"address"
      },
      {
        "indexed":true,
        "internalType":"address",
        "name":"sender",
        "type":"address"
      }
    ],
    "name":"RoleRevoked",
    "type":"event"
  },
  {
    "anonymous":false,
    "inputs":[
      {
        "indexed":false,
        "internalType":"address",
        "name":"account",
        "type":"address"
      }
    ],
    "name":"Unpaused",
    "type":"event"
  },
  {
    "inputs":[

    ],
    "name":"DEFAULT_ADMIN_ROLE",
    "outputs":[
      {
        "internalType":"bytes32",
        "name":"",
        "type":"bytes32"
      }
    ],
    "stateMutability":"view",
    "type":"function"
  },
  {
    "inputs":[

    ],
    "name":"MODERATOR_ROLE",
    "outputs":[
      {
        "internalType":"bytes32",
        "name":"",
        "type":"bytes32"
      }
    ],
    "stateMutability":"view",
    "type":"function"
  },
  {
    "inputs":[
      {
        "internalType":"address",
        "name":"_itemAddress",
        "type":"address"
      },
      {
        "internalType":"uint256",
        "name":"_buyPrice",
        "type":"uint256"
      },
      {
        "internalType":"uint256",
        "name":"_sellPrice",
        "type":"uint256"
      }
    ],
    "name":"addTradeItem",
    "outputs":[

    ],
    "stateMutability":"nonpayable",
    "type":"function"
  },
  {
    "inputs":[
      {
        "internalType":"address",
        "name":"",
        "type":"address"
      }
    ],
    "name":"addressToTradeItemId",
    "outputs":[
      {
        "internalType":"uint256",
        "name":"",
        "type":"uint256"
      }
    ],
    "stateMutability":"view",
    "type":"function"
  },
  {
    "inputs":[
      {
        "internalType":"address",
        "name":"_itemAddress",
        "type":"address"
      },
      {
        "internalType":"uint256",
        "name":"_quantity",
        "type":"uint256"
      }
    ],
    "name":"buyItem",
    "outputs":[

    ],
    "stateMutability":"nonpayable",
    "type":"function"
  },
  {
    "inputs":[
      {
        "internalType":"bytes32",
        "name":"role",
        "type":"bytes32"
      }
    ],
    "name":"getRoleAdmin",
    "outputs":[
      {
        "internalType":"bytes32",
        "name":"",
        "type":"bytes32"
      }
    ],
    "stateMutability":"view",
    "type":"function"
  },
  {
    "inputs":[

    ],
    "name":"getTradeItems",
    "outputs":[
      {
        "components":[
          {
            "internalType":"uint256",
            "name":"id",
            "type":"uint256"
          },
          {
            "internalType":"contract IInventoryItem",
            "name":"item",
            "type":"address"
          },
          {
            "internalType":"uint256",
            "name":"buyPrice",
            "type":"uint256"
          },
          {
            "internalType":"uint256",
            "name":"sellPrice",
            "type":"uint256"
          },
          {
            "internalType":"uint8",
            "name":"status",
            "type":"uint8"
          }
        ],
        "internalType":"struct ItemGoldTrader.TradeItem[]",
        "name":"",
        "type":"tuple[]"
      }
    ],
    "stateMutability":"view",
    "type":"function"
  },
  {
    "inputs":[
      {
        "internalType":"bytes32",
        "name":"role",
        "type":"bytes32"
      },
      {
        "internalType":"address",
        "name":"account",
        "type":"address"
      }
    ],
    "name":"grantRole",
    "outputs":[

    ],
    "stateMutability":"nonpayable",
    "type":"function"
  },
  {
    "inputs":[
      {
        "internalType":"bytes32",
        "name":"role",
        "type":"bytes32"
      },
      {
        "internalType":"address",
        "name":"account",
        "type":"address"
      }
    ],
    "name":"hasRole",
    "outputs":[
      {
        "internalType":"bool",
        "name":"",
        "type":"bool"
      }
    ],
    "stateMutability":"view",
    "type":"function"
  },
  {
    "inputs":[
      {
        "internalType":"address",
        "name":"_dfkGoldAddress",
        "type":"address"
      }
    ],
    "name":"initialize",
    "outputs":[

    ],
    "stateMutability":"nonpayable",
    "type":"function"
  },
  {
    "inputs":[

    ],
    "name":"paused",
    "outputs":[
      {
        "internalType":"bool",
        "name":"",
        "type":"bool"
      }
    ],
    "stateMutability":"view",
    "type":"function"
  },
  {
    "inputs":[
      {
        "internalType":"bytes32",
        "name":"role",
        "type":"bytes32"
      },
      {
        "internalType":"address",
        "name":"account",
        "type":"address"
      }
    ],
    "name":"renounceRole",
    "outputs":[

    ],
    "stateMutability":"nonpayable",
    "type":"function"
  },
  {
    "inputs":[
      {
        "internalType":"bytes32",
        "name":"role",
        "type":"bytes32"
      },
      {
        "internalType":"address",
        "name":"account",
        "type":"address"
      }
    ],
    "name":"revokeRole",
    "outputs":[

    ],
    "stateMutability":"nonpayable",
    "type":"function"
  },
  {
    "inputs":[
      {
        "internalType":"address",
        "name":"_itemAddress",
        "type":"address"
      },
      {
        "internalType":"uint256",
        "name":"_quantity",
        "type":"uint256"
      }
    ],
    "name":"sellItem",
    "outputs":[

    ],
    "stateMutability":"nonpayable",
    "type":"function"
  },
  {
    "inputs":[
      {
        "internalType":"bytes4",
        "name":"interfaceId",
        "type":"bytes4"
      }
    ],
    "name":"supportsInterface",
    "outputs":[
      {
        "internalType":"bool",
        "name":"",
        "type":"bool"
      }
    ],
    "stateMutability":"view",
    "type":"function"
  },
  {
    "inputs":[
      {
        "internalType":"uint256",
        "name":"",
        "type":"uint256"
      }
    ],
    "name":"tradeItems",
    "outputs":[
      {
        "internalType":"uint256",
        "name":"id",
        "type":"uint256"
      },
      {
        "internalType":"contract IInventoryItem",
        "name":"item",
        "type":"address"
      },
      {
        "internalType":"uint256",
        "name":"buyPrice",
        "type":"uint256"
      },
      {
        "internalType":"uint256",
        "name":"sellPrice",
        "type":"uint256"
      },
      {
        "internalType":"uint8",
        "name":"status",
        "type":"uint8"
      }
    ],
    "stateMutability":"view",
    "type":"function"
  },
  {
    "inputs":[
      {
        "internalType":"address",
        "name":"_itemAddress",
        "type":"address"
      },
      {
        "internalType":"uint256",
        "name":"_buyPrice",
        "type":"uint256"
      },
      {
        "internalType":"uint256",
        "name":"_sellPrice",
        "type":"uint256"
      },
      {
        "internalType":"uint8",
        "name":"_status",
        "type":"uint8"
      }
    ],
    "name":"updateTradeItem",
    "outputs":[

    ],
    "stateMutability":"nonpayable",
    "type":"function"
  }
]
