Documentation
    Preparing search index...

    Interface PredictConfig

    Everything a tx builder or read needs to address a Predict deployment on one network.

    interface PredictConfig {
        coinTypes: { deep: string; plp: string };
        network: "mainnet" | "testnet" | "custom";
        objects: {
            accountRegistry: string;
            oracleRegistry: string;
            orderDesk?: string;
            poolVault: string;
            protocolConfig: string;
            queueRegistry?: string;
            registry: string;
        };
        oracle?: { pythLazerState?: string };
        packages: PredictPackages;
        quoteCoinType: string;
        underlyings: Record<string, UnderlyingConfig>;
        units: {
            fixedPointScale: number;
            positionLotSize: number;
            positionQuantityDecimals: number;
            quoteCoinDecimals: number;
        };
    }
    Index
    coinTypes: { deep: string; plp: string }

    Coin types the deployment owns. plp is NOT derivable from packages.predict: a Move type tag keeps the ORIGINAL package id across an upgrade, while packages.predict moves to the latest.

    network: "mainnet" | "testnet" | "custom"
    objects: {
        accountRegistry: string;
        oracleRegistry: string;
        orderDesk?: string;
        poolVault: string;
        protocolConfig: string;
        queueRegistry?: string;
        registry: string;
    }

    Type Declaration

    • accountRegistry: string
    • oracleRegistry: string
    • OptionalorderDesk?: string

      The order-flow companion's shared OrderDesk: the delayed-execution policy and the companion's version floor. Created once, by the package's init at publish.

    • poolVault: string
    • protocolConfig: string
    • OptionalqueueRegistry?: string

      The order-flow companion's shared QueueRegistry, created next to the desk by the same init. Each market's MarketQueue sits at an ID derived from it and the market (deriveQueueId), and queue::create_and_share writes it.

    • registry: string
    oracle?: { pythLazerState?: string }

    Oracle objects only the delayed-execution filler needs. Optional: traders never pass them, and a filler can name the Lazer State per call instead.

    Type Declaration

    • OptionalpythLazerState?: string

      Pyth Lazer's shared State, which carries the current Lazer package ID.

    packages: PredictPackages
    quoteCoinType: string

    The deployment's settlement coin type. Always read this rather than assuming a type: the contracts renamed the collateral to usdc::usdc::USDC, but a deployment published before that rename still serves its original coin type, and this field is what the deployment record actually carries.

    underlyings: Record<string, UnderlyingConfig>
    units: {
        fixedPointScale: number;
        positionLotSize: number;
        positionQuantityDecimals: number;
        quoteCoinDecimals: number;
    }

    Scale constants the deploy owns rather than the SDK.