Skip to content

Version Packages - #554

Merged
kome12 merged 1 commit into
mainfrom
changeset-release/main
Sep 7, 2026
Merged

Version Packages#554
kome12 merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

nansen-cli@1.44.0

Minor Changes

  • #563 3b3e11b Thanks @hulk-linus! - Emit privacy-preserving per-leg Hyperliquid attribution through the canonical trade-perps outcome events.

  • #580 c5085c5 Thanks @gulshngill! - Add nansen completion <bash|zsh|fish>, which prints a shell completion script generated from the CLI's own command schema. Completions cover nested subcommands, per-command flags, global flags, and the enum values a flag accepts.

  • #597 8453355 Thanks @kome12! - Security: nansen mcp verify no longer sends a saved API key (from nansen login / NANSEN_API_KEY / config) to a custom --url without explicit consent. Forwarding a saved key to a non-default URL now requires --send-api-key, and no key is ever sent over plain HTTP to a non-loopback host. An inline --api-key is unaffected.

    Note: verifying a custom --url with a saved key now errors unless --send-api-key is passed (previously it warned and proceeded).

  • #557 5a73b43 Thanks @gulshngill! - Add the nansen research address-premium-labels command.

  • #555 4285d7f Thanks @gulshngill! - Add the nansen research chain-rank command.

  • #561 dd8035c Thanks @gulshngill! - Add the nansen research historical-token-ohlcv command.

  • #560 52f2f09 Thanks @gulshngill! - Add the nansen research perp-pnl-summary command.

  • #559 ed2d7a5 Thanks @gulshngill! - Add the nansen research position-intelligence command.

  • #558 e273152 Thanks @gulshngill! - Add the nansen research smart-money-pnl-leaderboard command.

  • #556 3c14359 Thanks @gulshngill! - Add the nansen research token-sectors command.

  • #562 0d0f5e6 Thanks @gulshngill! - Add the nansen research transaction-with-token-transfer-lookup command.

  • #581 8726a23 Thanks @gulshngill! - Every command option in nansen schema now carries a type and a description (140 research and wallet send options had neither), and the research points group is described. research token ohlcv --timeframe documents its real default (1d), and wallet send --chain, research search --type, and the prediction-market --neg-risk filters declare the values they accept, so --help and shell completion offer them. Fixed --neg-risk true on the prediction-market screeners, which was sent to the API as neg_risk: false because the parsed boolean was compared against the string 'true'. nansen mcp install and nansen mcp uninstall declare their positional client in the schema, and nansen completion scripts now complete it (claude-code, claude-desktop, cursor) in bash, zsh, and fish.

Patch Changes

  • #575 927ffea Thanks @kome12! - Fail closed on an ambiguous broadcast failure in swap and bridge execute. When
    /execute (swap) returns any 5xx (regardless of body shape — a structured 504
    UPSTREAM_TIMEOUT is treated the same as a bare 502) or any other
    uninterpretable response — or the POST, or reading its body, throws a network
    error — after the signed tx was sent, or a bridge broadcast fails ambiguously,
    the tx may already be live. The quote is now marked spent and the
    run aborts — rather than trying the next candidate quote or leaving the quote
    reusable — so a re-execute (or agent auto-retry) can't double-broadcast. Gasless
    (Relay solver-paid) swaps additionally do not retry the /execute POST: the
    signed authorization is broadcast by Relay's own wrapping tx, so a re-POST can't
    be node-deduped and could trigger a second solve — a single attempt fails closed
    instead. A bridge send is kept reusable only when the node's error proves the tx never
    entered the mempool (a pre-broadcast validation rejection such as insufficient
    funds); in-flight txpool states like "already known" or "nonce too low" fail
    closed.

  • #572 2ba5c15 Thanks @teyrebaz33! - Fix nansen changelog --since <version> silently returning "No changelog entries found" for a version missing its patch number (e.g. --since 1.43 instead of --since 1.43.0), even when matching entries exist. The comparison compared the missing component against undefined, and > is always false against undefined in both directions, so a version that matched on major.minor always came out "less than" the since-value. A missing component is now treated as 0, and a --since value that isn't a valid version (e.g. --since abc) now prints a clear error instead of silently matching nothing.

    The version-comparison logic is now shared (src/semver.js) between nansen changelog --since and the update-notifier's isNewer check, which had the identical bug in its own separate parser. isNewer couldn't misfire in practice (both versions it compares are always fully-qualified x.y.z today), but it's the same defect class, so it's fixed the same way rather than left in place.

  • #569 04932c7 Thanks @memosr! - Refuse to re-execute a swap quote that has already been broadcast, mirroring the single-use guard nansen bridge execute already had. nansen trade execute now marks the quote as spent (executedAt) the instant a transaction is broadcast — before waiting for its receipt — so a RECEIPT_TIMEOUT (the tx is on-chain but the command exits non-zero) no longer leaves the quote replayable. Retrying the same --quote <id> after such a failure previously re-signed and re-broadcast the swap under a fresh nonce instead of being refused.

  • #592 60bd2ef Thanks @ygd58! - Fix the x402 auto-payment fallback in src/api.js generating multiple payment authorizations for the same request after an ambiguous outcome (issue x402 fallback may generate multiple payment authorizations after an ambiguous response #583). After a signed Payment-Signature was transmitted, _x402Retry previously collapsed every non-ok response — a clean rejection, a 5xx, an unreadable body — and every transport failure into a single null, and callers treated any null as "safe to try the next payment option/provider". That meant a 5xx, a timeout, or an unparseable response (any of which could mean the server already received and settled the payment) triggered signing and transmitting a second independent payment for the same logical request. Separately, a genuine successful response whose JSON body happened to be null was indistinguishable from a rejection, risking a second payment for an already-settled call.

    _x402Retry now returns a dedicated X402_PAYMENT_REJECTED sentinel only for a provably clean rejection (a non-5xx status with a readable body), and throws NansenError with the new PAYMENT_AMBIGUOUS code for anything else — a transport failure, a 5xx, or an unreadable body on either a rejection or a success. All three fallback call sites (Privy, local wallet, WalletConnect) now check against the sentinel instead of null, and re-throw a PAYMENT_AMBIGUOUS error immediately instead of silently moving on to the next provider.

  • #524 3e8dcc2 Thanks @dolmaciabdullah-byte! - Use BigInt for EVM balance in checkX402Balance to avoid precision loss on 18-decimal tokens (BSC stablecoins): parseInt(hex, 16) loses integer precision once the raw wei value exceeds Number.MAX_SAFE_INTEGER (~9.0e15 wei, i.e. ~0.009 tokens at 18 decimals), skewing the low-balance warning.

  • #568 9a45fc4 Thanks @Kewe63! - Reject non-finite limit-order trigger prices and expiry values before wallet or API activity.

  • #567 c0fe57b Thanks @Kewe63! - Keep research perp analytics-only instead of routing trading subcommands through the top-level perp dispatcher.

  • #558 002921e Thanks @gulshngill! - Reject non-integer or non-positive --limit values with an actionable error instead of forwarding them to the API.

@nansen-pr-reviewer

nansen-pr-reviewer Bot commented Sep 3, 2026

Copy link
Copy Markdown

pr-reviewer Summary for #c0125b1

No issues found

The code review completed successfully with no findings.

Review effort: 1/5 (Trivial)

Summary

This is an automated Changesets release PR bumping nansen-cli from 1.43.11.44.0. The diff is entirely machine-generated release artifacts: consumed changeset files, an appended CHANGELOG.md entry, and version bumps in package.json/package-lock.json.

The semver bump is correct: among the 20 consumed changesets, multiple are tagged minor (new nansen completion command, 9 new nansen research subcommands, mcp verify key-forwarding guard, Hyperliquid attribution, and schema improvements), so a minor version increment from 1.43.1 to 1.44.0 is appropriate.

No issues found — safe to merge when ready to publish.


Token usage: 4,010 input, 2,390 output, 259,841 cache read, 34,056 cache write | Usage Guide

New pushes are reviewed automatically with a 10-minute cooldown between reviews. To request a review at any time, comment @nansen-pr-reviewer re-review.

nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Sep 3, 2026

@nansen-pr-reviewer nansen-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved

This PR was automatically approved because:

  • Claude recommends approval
  • Claude assessed this as a minimal effort change
  • The effort level is within the auto-approval threshold of 2
  • No high or critical issues were detected

If you have any concerns, please request a manual review.

nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Sep 4, 2026

@nansen-pr-reviewer nansen-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved

This PR was automatically approved because:

  • Claude recommends approval
  • Claude assessed this as a minimal effort change
  • The effort level is within the auto-approval threshold of 2
  • No high or critical issues were detected

If you have any concerns, please request a manual review.

nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Sep 4, 2026

@nansen-pr-reviewer nansen-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved

This PR was automatically approved because:

  • Claude recommends approval
  • Claude assessed this as a minimal effort change
  • The effort level is within the auto-approval threshold of 2
  • No high or critical issues were detected

If you have any concerns, please request a manual review.

nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Sep 4, 2026

@nansen-pr-reviewer nansen-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved

This PR was automatically approved because:

  • Claude recommends approval
  • Claude assessed this as a minimal effort change
  • The effort level is within the auto-approval threshold of 2
  • No high or critical issues were detected

If you have any concerns, please request a manual review.

nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Sep 4, 2026

@nansen-pr-reviewer nansen-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved

This PR was automatically approved because:

  • Claude recommends approval
  • Claude assessed this as a minimal effort change
  • The effort level is within the auto-approval threshold of 2
  • No high or critical issues were detected

If you have any concerns, please request a manual review.

nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Sep 4, 2026

@nansen-pr-reviewer nansen-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved

This PR was automatically approved because:

  • Claude recommends approval
  • Claude assessed this as a minimal effort change
  • The effort level is within the auto-approval threshold of 2
  • No high or critical issues were detected

If you have any concerns, please request a manual review.

nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Sep 4, 2026

@nansen-pr-reviewer nansen-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved

This PR was automatically approved because:

  • Claude recommends approval
  • Claude assessed this as a minimal effort change
  • The effort level is within the auto-approval threshold of 2
  • No high or critical issues were detected

If you have any concerns, please request a manual review.

@github-actions
github-actions Bot force-pushed the changeset-release/main branch 2 times, most recently from 8d50653 to f6b02a5 Compare September 4, 2026 06:23
nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Sep 4, 2026

@nansen-pr-reviewer nansen-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved

This PR was automatically approved because:

  • Claude recommends approval
  • Claude assessed this as a minimal effort change
  • The effort level is within the auto-approval threshold of 2
  • No high or critical issues were detected

If you have any concerns, please request a manual review.

nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Sep 4, 2026

@nansen-pr-reviewer nansen-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved

This PR was automatically approved because:

  • Claude recommends approval
  • Claude assessed this as a minimal effort change
  • The effort level is within the auto-approval threshold of 2
  • No high or critical issues were detected

If you have any concerns, please request a manual review.

nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Sep 4, 2026

@nansen-pr-reviewer nansen-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved

This PR was automatically approved because:

  • Claude recommends approval
  • Claude assessed this as a minimal effort change
  • The effort level is within the auto-approval threshold of 2
  • No high or critical issues were detected

If you have any concerns, please request a manual review.

nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Sep 4, 2026

@nansen-pr-reviewer nansen-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved

This PR was automatically approved because:

  • Claude recommends approval
  • Claude assessed this as a minimal effort change
  • The effort level is within the auto-approval threshold of 2
  • No high or critical issues were detected

If you have any concerns, please request a manual review.

nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Sep 4, 2026

@nansen-pr-reviewer nansen-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved

This PR was automatically approved because:

  • Claude recommends approval
  • Claude assessed this as a minimal effort change
  • The effort level is within the auto-approval threshold of 2
  • No high or critical issues were detected

If you have any concerns, please request a manual review.

nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Sep 4, 2026

@nansen-pr-reviewer nansen-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved

This PR was automatically approved because:

  • Claude recommends approval
  • Claude assessed this as a minimal effort change
  • The effort level is within the auto-approval threshold of 2
  • No high or critical issues were detected

If you have any concerns, please request a manual review.

nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Sep 4, 2026

@nansen-pr-reviewer nansen-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved

This PR was automatically approved because:

  • Claude recommends approval
  • Claude assessed this as a minimal effort change
  • The effort level is within the auto-approval threshold of 2
  • No high or critical issues were detected

If you have any concerns, please request a manual review.

nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Sep 7, 2026

@nansen-pr-reviewer nansen-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved

This PR was automatically approved because:

  • Claude recommends approval
  • Claude assessed this as a minimal effort change
  • The effort level is within the auto-approval threshold of 2
  • No high or critical issues were detected

If you have any concerns, please request a manual review.

nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Sep 7, 2026

@nansen-pr-reviewer nansen-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved

This PR was automatically approved because:

  • Claude recommends approval
  • Claude assessed this as a minimal effort change
  • The effort level is within the auto-approval threshold of 2
  • No high or critical issues were detected

If you have any concerns, please request a manual review.

nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Sep 7, 2026

@nansen-pr-reviewer nansen-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved

This PR was automatically approved because:

  • Claude recommends approval
  • Claude assessed this as a minimal effort change
  • The effort level is within the auto-approval threshold of 2
  • No high or critical issues were detected

If you have any concerns, please request a manual review.

@nansen-pr-reviewer nansen-pr-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved

This PR was automatically approved because:

  • Claude recommends approval
  • Claude assessed this as a minimal effort change
  • The effort level is within the auto-approval threshold of 2
  • No high or critical issues were detected

If you have any concerns, please request a manual review.

@kome12
kome12 merged commit 6ff010a into main Sep 7, 2026
9 checks passed
@kome12
kome12 deleted the changeset-release/main branch September 7, 2026 06:32
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.

1 participant