/** * Thales Speed Markets — Binary options on Base * * Users predict UP or DOWN on asset price over a short duration (10m-24h). * Payout: ~2x minus fees. Settlement is automatic via Pyth oracle keepers. * * Architecture: * User calls SpeedMarketsAMMCreator.addPendingSpeedMarket() * Keeper resolves with oracle price after strike time * Winner receives payout automatically * * Contracts (Base mainnet): * SpeedMarketsAMM: 0x85b827d133FEDC36B844b20f4a198dA583B25BAA * SpeedMarketsAMMCreator: 0x6B5FE966Ea9B05d8E628E772B0b745734D069983 * SpeedMarketsAMMData: 0xD6155E7C948458D6Ab58f9D63E1566493b9304C1 */ import { ethers } from 'ethers'; export declare const SPEED_MARKETS_CONTRACTS: { readonly AMM: "0x85b827d133FEDC36B844b20f4a198dA583B25BAA"; readonly CREATOR: "0x6B5FE966Ea9B05d8E628E772B0b745734D069983"; readonly DATA: "0xD6155E7C948458D6Ab58f9D63E1566493b9304C1"; }; export declare const SPEED_MARKETS_AMM_ABI: string[]; export declare const SPEED_MARKETS_CREATOR_ABI: string[]; export declare const SPEED_MARKET_ABI: string[]; export type SpeedMarketAsset = 'ETH' | 'BTC'; export type SpeedMarketDirection = 'up' | 'down'; export interface SpeedMarketConfig { collateralAddress: string; collateralDecimals: number; minBuyin: bigint; maxBuyin: bigint; minDelta: number; maxDelta: number; } export interface SpeedMarketOrder { asset: SpeedMarketAsset; direction: SpeedMarketDirection; amount: string; duration?: string; } export interface SpeedMarketPosition { marketAddress: string; asset: string; direction: string; strikePrice: string; strikeTime: number; buyinAmount: string; payout: string; resolved: boolean; won?: boolean; finalPrice?: string; } /** * Read Speed Markets AMM configuration from chain. */ export declare function getSpeedMarketConfig(provider: ethers.JsonRpcProvider): Promise; /** * Build the calldata for placing a speed market bet. * Returns calls array ready for b402.transact() or executeCrossContractCall(). */ export declare function buildSpeedMarketCalls(order: SpeedMarketOrder, wallet: string, provider: ethers.JsonRpcProvider): Promise<{ calls: Array<{ to: string; data: string; value: string; }>; collateralAddress: string; buyinAmount: bigint; strikeTime: number; delta: number; }>; /** * Read active speed market positions for a wallet. */ export declare function getActivePositions(wallet: string, provider: ethers.JsonRpcProvider): Promise;