PolyFrog

Contracts

Addresses, ABI surface and verification.

Everything is deployed and verified on Robinhood Chain mainnet, chain 4663.

PolyFrog

FrogPond0x0A2188A1bcf2dabd5D9ca879A83bCE115494Bc40

Holds every market, every stake and the settlement logic. Source is verified on Blockscout.

Uniswap, read-only

PolyFrog reads these and never writes to them, other than the permissionless checkpoint.

CCA Factory0x000000001F26a0044BaA66024e7b6599c61963F8
LiquidityLauncher0x00004c4ccc709Ef590F7C81102C0689F0263D4e9
LBP Strategy0x05d552391067389EE44fec3924157ed33F976000

The surface you need

// write
open(address auction) returns (uint256 id)
bet(uint256 id, bool yes) payable
resolve(uint256 id)
claim(uint256 id)
voidStuck(uint256 id)

// read
getMarket(uint256 id) returns (Market)
getPosition(uint256 id, address who) returns (Position)
quote(uint256 id, address who) returns (uint256 payout, uint256 fee)
impliedYesBps(uint256 id) returns (uint256)
multiplierNow(uint256 id) returns (uint256)
marketOf(address auction) returns (uint256)
marketCount() returns (uint256)

Events

MarketOpened(uint256 indexed id, address indexed auction,
             address indexed token, uint64 openBlock, uint64 endBlock)
Bet(uint256 indexed id, address indexed who, bool yes,
    uint256 amount, uint256 weight)
Resolved(uint256 indexed id, bool outcome, uint128 poolYes, uint128 poolNo)
Voided(uint256 indexed id, string reason)
Claimed(uint256 indexed id, address indexed who, uint256 payout, uint256 fee)

Constants

MIN_STAKE1e12 wei
MAX_STAKE1e24 wei, per stake
MAX_FEE_BPS500 — the owner cannot exceed 5%
STUCK_GRACE_BLOCKS864,000 — about a day before a stuck market can be voided