polynode 0.11.0

Rust SDK for the PolyNode API — real-time Polymarket data
Documentation
//! V2 contract addresses and constants for Polymarket on Polygon (chain 137).

pub const V2_CLOB_HOST: &str = "https://clob-v2.polymarket.com";

// V2 Exchange contracts
pub const V2_CTF_EXCHANGE: &str = "0xe111180000d2663c0091e4f400237545b87b996b";
pub const V2_NEG_RISK_EXCHANGE_A: &str = "0xe2222d279d744050d28e00520010520000310f59";
pub const V2_NEG_RISK_EXCHANGE_B: &str = "0xe2222d002000ba0053cef3375333610f64600036";

// V2 Collateral
pub const POLY_USD: &str = "0xc011a7e12a19f7b1f670d46f03b03f3342e82dfb";
pub const COLLATERAL_ONRAMP: &str = "0x93070a847efef7f70739046a929d47a521f5b8ee";
pub const COLLATERAL_OFFRAMP: &str = "0x2957922eb93258b93368531d39facca3b4dc5854";

// V2 uses same CT, Safe, Proxy contracts as V1
// pub const CTF: same as V1
// pub const SAFE_FACTORY: same as V1
// pub const PROXY_FACTORY: same as V1

// V2 Spender contracts that need PolyUSD approval
pub const V2_SPENDERS: [&str; 3] = [V2_CTF_EXCHANGE, V2_NEG_RISK_EXCHANGE_A, V2_NEG_RISK_EXCHANGE_B];

// EIP-712 domain version
pub const V2_DOMAIN_VERSION: &str = "2";
pub const V2_DOMAIN_NAME: &str = "Polymarket CTF Exchange";

// ORDER_TYPEHASH for V2: keccak256("Order(uint256 salt,address maker,address signer,
//   uint256 tokenId,uint256 makerAmount,uint256 takerAmount,uint8 side,
//   uint8 signatureType,uint256 timestamp,bytes32 metadata,bytes32 builder)")
pub const V2_ORDER_TYPEHASH: &str = "0xbb86318a2138f5fa8ae32fbe8e659f8fcf13cc6ae4014a707893055433818589";