• Encodes an OracleFeed definition into a binary format

    Parameters

    • data: string | IOracleFeed | Record<string, unknown>

      OracleFeed definition in various formats:

      • String: JSON with optional comments
      • IOracleFeed: Protocol buffer object
      • Record: Plain object with tasks array

    Returns Buffer

    Serialized OracleFeeed as Buffer

    If validation or encoding fails

    // From JSON string
    const encoded1 = serializeOracleFeed(`{
    "jobs": [
    {
    "tasks": [
    {"httpTask": {"url": "https://api.coinbase.com/v2/prices/BTC-USD/spot"}}
    ]
    }
    ]
    }`);

    // From plain object
    const encoded2 = serializeOracleFeed({
    jobs: [
    {
    tasks: [
    {"httpTask": {"url": "https://api.coinbase.com/v2/prices/BTC-USD/spot"}}
    ]
    }
    ]
    });
    • Uses normalizeOracleFeed() for initial validation and normalization
    • Encodes using Protocol Buffers delimited format