Skip to content

Feat/degen mode#226

Open
andriy-shymkiv wants to merge 4 commits intomasterfrom
feat/degenMode
Open

Feat/degen mode#226
andriy-shymkiv wants to merge 4 commits intomasterfrom
feat/degenMode

Conversation

@andriy-shymkiv
Copy link
Contributor

@andriy-shymkiv andriy-shymkiv commented Mar 10, 2026

Accepts degenMode param for:

  • /transactions POST
  • /delta/orders POST
  • /prices GET
  • /delta/prices GET

Note

Medium Risk
Adds new query options that change how requests are formed (including URL construction for delta pricing and delta order posting), which could break API calls or alter routing if the query string formatting is incorrect.

Overview
Adds support for a new degenMode flag across the SDK so it can be passed through to /transactions (build tx options), /prices (rate queries), /delta/prices (delta price queries), and /delta/orders (order submission/posting).

Also extends delta pricing inputs with maxImpact/maxUSDImpact, adjusts delta price URL construction to append the query string without an extra path separator, and bumps the package version to 9.3.5-dev.1.

Written by Cursor Bugbot for commit f732de0. This will update automatically on new commits. Configure here.

@github-actions
Copy link

github-actions bot commented Mar 10, 2026

size-limit report 📦

Path Size
dist/sdk.cjs.production.min.js 16.38 KB (+0.06% 🔺)
dist/sdk.esm.js 16.35 KB (+0.26% 🔺)

@andriy-shymkiv andriy-shymkiv marked this pull request as ready for review March 10, 2026 18:23
@andriy-shymkiv andriy-shymkiv requested a review from Velenir March 10, 2026 18:24
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

const search = constructSearchString<{ degenMode?: boolean }>({
degenMode,
});
const fetchURL = `${postOrderUrl}/${search}` as const;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Trailing slash changes POST URL for all orders

High Severity

The URL template `${postOrderUrl}/${search}` introduces a spurious / between the path and the query string. When degenMode is not provided (the common case), constructSearchString returns "", so the URL becomes …/delta/orders/ instead of the previous …/delta/orders. When degenMode is provided, it becomes …/delta/orders/?degenMode=true instead of …/delta/orders?degenMode=true. This is a regression for every postDeltaOrder call. The existing test expects the URL without a trailing slash. The sibling getDeltaOrders uses ${baseUrl}${search} (no extra /) for the same endpoint.

Fix in Cursor Fix in Web

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sometimes we do /search, sometimes without /. We should decide on one way

const search = constructSearchString<{ degenMode?: boolean }>({
degenMode,
});
const fetchURL = `${postOrderUrl}/${search}` as const;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sometimes we do /search, sometimes without /. We should decide on one way

/** @description SELL or BUY, default is SELL */
side?: SwapSideUnion;
/** @description In %. It's a way to bypass the API price impact check (default = 15%) */
maxImpact?: number;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you also add maxUSDImpact. It's present in other price endpoints

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants