export declare const POLYGON_CHAIN_ID = 137; export declare const CTF_EXCHANGE_V2 = "0xE111180000d2663C0091e4f400237545B87B996B"; export declare const NEG_RISK_CTF_EXCHANGE_V2 = "0xe2222d279d744050d28e00520010520000310F59"; export declare const NEG_RISK_ADAPTER = "0xd91E80cF2E7be2e162c6513ceD06f1dD0dA35296"; export declare const CONDITIONAL_TOKENS = "0x4D97DCd97eC945f40cF65F87097ACe5EA0476045"; export declare const PUSD_COLLATERAL = "0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB"; export declare const CTF_COLLATERAL_ADAPTER = "0xAdA100Db00Ca00073811820692005400218FcE1f"; export declare const NEG_RISK_CTF_COLLATERAL_ADAPTER = "0xadA2005600Dec949baf300f4C6120000bDB6eAab"; export declare const COLLATERAL_ONRAMP = "0x93070a847efEf7F70739046A929D47a521F5B8ee"; export declare const USDCE_COLLATERAL = "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"; export declare const DEPOSIT_WALLET_FACTORY = "0x00000000000Fb5C9ADea0298D729A0CB3823Cc07"; /** * Cross-check our address copies against the SDK's canonical config. Called * once from the client factory; throwing here is deliberate — a silent * mismatch would mean approvals/redeem target different contracts than the * orders the SDK signs. */ export declare function assertContractConfig(): void; export declare const CLOB_HOST: string; export declare const RELAYER_URL: string; export declare const DATA_API_HOST: string; export declare const BRIDGE_API_HOST: string; export declare const BASE_CHAIN_ID = 8453; export declare const BASE_USDC = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"; export declare const GEOBLOCK_URL: string; export declare const BRIDGE_UI_URL = "https://polymarket.com"; export declare const POLYGON_READ_RPC_URLS: string[]; /** * WRITES. Separate on purpose. * * There used to be one list, and entry 0 doubled as the sole un-fallbacked * transport for every SIGNING wallet client (withdraw, redeem, relayer, setup). * So reordering what looked like a read-only fallback list silently changed * which endpoint broadcasts every money transaction — a write-path change * disguised as a comment tweak, and one nobody would review as such. * (Splitting these was @KillerQueen-Z's idea in #66; the default below is not.) * * publicnode, not 1rpc: 1rpc answers once and then returns * -32001 "usage limit" (measured 2026-07-21), which is the last thing you want * broadcasting a withdrawal. Override per-deployment with POLYMARKET_WRITE_RPC_URL. * * Deliberately a single endpoint rather than a fallback list: viem's fallback() * would re-send a signed transaction to the next provider on a timeout, and a * transaction that was actually mined by the first provider must not be * broadcast again. Failing loudly on one endpoint is correct here; silently * retrying a money movement is not. */ export declare const POLYGON_WRITE_RPC_URL: string; /** Hard per-order notional cap in pUSD dollars (default $25; 0/invalid blocks). */ export declare function getMaxBetUsd(): number; /** Optional cumulative per-process cap; null = uncapped (unset); 0 = freeze. */ export declare function getMaxSessionUsd(): number | null; /** * Bounded pUSD approvals in dollars; null = unlimited (maxUint256). The CTF * ERC-1155 approval is inherently all-or-nothing either way. Only a valid * positive value bounds; 0/garbage → unlimited (approvals are not a per-order * spend gate, so failing them "closed" would just block setup). */ export declare function getBoundedApprovalsUsd(): number | null; /** * Signature type override: 3 (POLY_1271 deposit wallet, default) or 0 (plain * EOA "demo insurance" mode — EOA holds pUSD itself, pays its own POL gas). */ export declare function getSigType(): 0 | 3; /** * Optional builder attribution code (bytes32 or plain string per Polymarket * builder settings). Absent → orders carry no builder fee attribution. */ export declare function getBuilderCode(): string | undefined; /** Egress proxy for CLOB order traffic (see README: geoblock). */ export declare function getClobProxy(): string | undefined; export declare const ERC20_ABI: readonly [{ readonly name: "allowance"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "address"; }, { readonly name: "spender"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; }, { readonly name: "approve"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly name: "spender"; readonly type: "address"; }, { readonly name: "amount"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; }, { readonly name: "transfer"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly name: "to"; readonly type: "address"; }, { readonly name: "amount"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; }, { readonly name: "balanceOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; }]; export declare const ERC1155_ABI: readonly [{ readonly name: "isApprovedForAll"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "operator"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; }, { readonly name: "balanceOf"; readonly type: "function"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly name: "account"; readonly type: "address"; }, { readonly name: "id"; readonly type: "uint256"; }]; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; }, { readonly name: "setApprovalForAll"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly name: "operator"; readonly type: "address"; }, { readonly name: "approved"; readonly type: "bool"; }]; readonly outputs: readonly []; }, { readonly name: "redeemPositions"; readonly type: "function"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly name: "collateralToken"; readonly type: "address"; }, { readonly name: "parentCollectionId"; readonly type: "bytes32"; }, { readonly name: "conditionId"; readonly type: "bytes32"; }, { readonly name: "indexSets"; readonly type: "uint256[]"; }]; readonly outputs: readonly []; }]; export declare const PUSD_DECIMALS = 6;