{
  "name": "Hookade",
  "url": "https://hookade.fun",
  "status": "preview",
  "chain": {
    "name": "Robinhood Chain",
    "chainId": 4663,
    "rpc": "https://rpc.mainnet.chain.robinhood.com",
    "explorer": "https://robinhoodchain.blockscout.com",
    "nativeCurrency": "ETH"
  },
  "deployBlock": null,
  "addresses": {
    "kade": "TBA",
    "boss": "TBA",
    "red": "TBA",
    "blue": "TBA",
    "router": "TBA",
    "arcade": "TBA",
    "furnace": "TBA",
    "raidHook": "TBA",
    "tugHook": "TBA",
    "locker": "TBA"
  },
  "pools": {
    "KADE": {
      "currency0": "0x0000000000000000000000000000000000000000",
      "currency1": "TBA",
      "fee": 3000,
      "tickSpacing": 60,
      "hooks": "0x0000000000000000000000000000000000000000"
    },
    "BOSS": {
      "currency0": "0x0000000000000000000000000000000000000000",
      "currency1": "TBA",
      "fee": 3000,
      "tickSpacing": 60,
      "hooks": "TBA"
    },
    "RED": {
      "currency0": "0x0000000000000000000000000000000000000000",
      "currency1": "TBA",
      "fee": 3000,
      "tickSpacing": 60,
      "hooks": "TBA"
    },
    "BLUE": {
      "currency0": "0x0000000000000000000000000000000000000000",
      "currency1": "TBA",
      "fee": 3000,
      "tickSpacing": 60,
      "hooks": "TBA"
    }
  },
  "teams": {
    "RED": 1,
    "BLUE": 2
  },
  "abi": {
    "router": [
      "function buy((address currency0,address currency1,uint24 fee,int24 tickSpacing,address hooks) key,uint256 minOut,address to,uint256 deadline) payable returns (uint256 out)",
      "function sell((address currency0,address currency1,uint24 fee,int24 tickSpacing,address hooks) key,uint256 amountIn,uint256 minOut,address to,uint256 deadline) returns (uint256 out)"
    ],
    "raidHook": [
      "function bossId() view returns (uint256)",
      "function hp() view returns (uint256)",
      "function maxHp() view returns (uint256)",
      "function hpBps() view returns (uint256)",
      "function minDamage() view returns (uint256)",
      "function chest() view returns (uint256)",
      "function ticketsOf(address holder) view returns (uint256)",
      "function totalTickets() view returns (uint256)",
      "function claimable(address holder) view returns (uint256)",
      "function claim()",
      "event Damaged(uint256 indexed bossId,address indexed player,uint256 damage,uint256 hpLeft)",
      "event BossKilled(uint256 indexed bossId,address indexed slayer,uint256 maxHp)",
      "event ChestOpened(uint256 indexed bossId,address indexed jackpotWinner,uint256 jackpot,uint256 shared)",
      "event Claimed(address indexed holder,uint256 amount)"
    ],
    "tugHook": [
      "function round() view returns (uint256)",
      "function roundEnd() view returns (uint256)",
      "function timeLeft() view returns (uint256)",
      "function rope() view returns (int256)",
      "function winner(uint256 round) view returns (uint8)",
      "function minPull() view returns (uint256)",
      "function pot() view returns (uint256)",
      "function ticketsOf(address holder,uint8 team) view returns (uint256)",
      "function claimable(address holder) view returns (uint256)",
      "function claim()",
      "function settle()",
      "event Pulled(uint256 indexed round,address indexed player,uint8 indexed towardTeam,uint256 eth,int256 rope)",
      "event RoundSettled(uint256 indexed round,uint8 winner,int256 finalRope)",
      "event PotOpened(uint256 indexed round,uint8 winner,address indexed luckyWinner,uint256 lucky,uint256 shared)",
      "event Claimed(address indexed holder,uint256 amount)"
    ],
    "arcade": [
      "function boostBps(address player) view returns (uint256)",
      "function staked(address player) view returns (uint256)",
      "function unlockAt(address player) view returns (uint256)",
      "function stake(uint256 amount)",
      "function unstake(uint256 amount)",
      "event BadgeAwarded(address indexed player,address indexed game,uint256 indexed badgeId)"
    ],
    "furnace": [
      "function totalKadeBurned() view returns (uint256)",
      "function threshold() view returns (uint256)",
      "function canBurn() view returns (bool)",
      "function canBurnBy(address caller) view returns (bool)",
      "function burn() returns (uint256)"
    ],
    "erc20": [
      "function balanceOf(address) view returns (uint256)",
      "function approve(address spender,uint256 amount) returns (bool)",
      "function allowance(address owner,address spender) view returns (uint256)",
      "function burn(uint256 amount)"
    ]
  },
  "docs": "https://hookade.fun/llms.txt"
}
