Skip to content

sync / Gateway staging -> master for Hummingbot version 2.14.0#625

Merged
nikspz merged 22 commits intomainfrom
staging
Apr 21, 2026
Merged

sync / Gateway staging -> master for Hummingbot version 2.14.0#625
nikspz merged 22 commits intomainfrom
staging

Conversation

@nikspz
Copy link
Copy Markdown
Contributor

@nikspz nikspz commented Apr 20, 2026

Before submitting this PR, please make sure:

  • Your code builds clean without any errors or warnings
  • You are using approved title ("feat/", "fix/", "docs/", "refactor/")

A description of the changes proposed in the pull request:

Tests performed by the developer:

Tips for QA testing:

rapcmia and others added 22 commits March 3, 2026 11:45
fix / update development version to dev-2.14
When a wallet that was set as the default for a chain gets deleted,
the system now automatically selects another available wallet as the
new default. If no wallets remain, the default wallet is cleared.

This prevents "Wallet not found" errors during balance polling when
the default wallet no longer exists.

Changes:
- Add getAllWalletAddressesForChain() utility function
- Update removeWallet() to handle default wallet reassignment
- Update hardware wallet removal to handle default wallet case

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The Solana RPC `meta.fee` field already includes both base fee and
priority fee. The previous code was extracting the priority fee from
compute budget instructions and adding it again, causing fees to be
reported as nearly double the actual amount.

This fix affects all connectors using sendAndConfirmTransaction:
- Meteora CLMM
- Orca CLMM

Note: Raydium and PancakeSwap-Sol were unaffected as they read
meta.fee directly.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add solana-error-parser.ts for parsing program error codes
- Parse on-chain transaction errors into user-friendly messages
- Simplify /poll endpoint: remove tokens/walletAddress params
- Include parsed error in poll response (TYPE (code): message)
- Add error helper functions: simulationFailed, insufficientBalance, slippageExceeded

Error codes supported:
- Jupiter: 6001 (slippage)
- Meteora DLMM: 6004, 6018, 6040
- Raydium CLMM: 6029-6031, 6037
- Orca Whirlpool: 6029-6031

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add specific error type for no-route scenarios that allows clients to
know they can retry with flipped direction (ExactIn vs ExactOut).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add lightweight http-client.ts using native fetch API (Node 20+)
- Migrate Jupiter, 0x, CoinGecko, and Etherscan services to use fetch
- Remove axios from production dependencies (keep in devDependencies)
- Add comprehensive tests for http-client module

This reduces supply chain attack surface by removing axios dependency
from the production bundle.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
fix/ auto-update default wallet when deleted wallet was the default
The noRouteFound error returns 400 (not 404) as it's not a "resource
not found" error but a "bad request" where no route exists.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…etch

refactor / replace axios with native fetch for HTTP requests
fix / remove double-counting of priority fee in getFee
sync / Gateway development -> staging
sync developement to staging PR626
@nikspz nikspz merged commit 9b59257 into main Apr 21, 2026
7 checks passed
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.

4 participants