跳到主内容
@wquguru
精选75ccxt(GitHub Releases)交易所与金融 API

CCXT v4.5.72:多交易所修复与新增功能

v4.5.72

原文
发到 X

What's Changed

变更内容

  • fix(playground): make AI-inserted code runnable in Go, PHP and Java by @carlotestor in #29529
  • build(deps-dev): bump fast-uri from 3.1.4 to 3.1.5 in /docs/website by @dependabot[bot] in #29527
  • build(deps): bump undici from 7.28.0 to 7.29.0 in /docs/playground by @dependabot[bot] in #29526
  • fix(go): contractSize generated type by @carlosmiei in #29530
  • fix(docs): brand mark → ccxt.com; AI private snippets use dummy apiKey/secret by @carlotestor in #29532
  • feat(docs/playground): refresh next to You clears chat and shows new prompts by @carlotestor in #29534
  • commit docs-fumadocs workflow by @frosty00 in #29535
  • fix(docs): brand mark same-tab to ccxt.com + public/private API memo by @carlotestor in #29533
  • fix(docs/playground): include OKX/{hostname} API hosts in egress allowlist by @carlotestor in #29537
  • fix(docs): remove target=_blank from CCXT brand mark (slots.navTitle) by @carlotestor in #29538
  • fix(docs): make slots.navTitle a client component (RSC-safe) by @carlotestor in #29539
  • fix(bullish): set has.future true by @ttodua in #29540
  • fix(playground): unblock AI scroll while streaming + auto-insert code by @carlotestor in #29542
  • python: raise cryptography and aiohttp floors (4 Dependabot alerts) by @kroitor in #29543
  • build - per-file tsc lane honors tsconfig.json (extends shim) by @kroitor in #29544
  • php - fix array/string transpile confusions breaking the php test lane by @kroitor in #29546
  • fix(woofipro): parse order filled from executed_quantity, compute remaining in base units by @rayBastard in #29545
  • fix(coinbaseinternational): set has.future false by @ttodua in #29541
  • fix(xt): doc links by @rayBastard in #29536
  • derive - migrate ws watchTicker to the ticker_slim channel by @kroitor in #29547
  • grvt - send content-type on public json POSTs (fixes loadMarkets 400) by @kroitor in #29548
  • tests - networksById dict assert tolerates php int-coerced numeric keys by @kroitor in #29549
  • tests - move the ticker percentage validator out of the sync-shared php file by @kroitor in #29550
  • fix(ci): rebuild cs from clean state in live tests by @kroitor in #29551
  • test(exchange): relax ticker strictness for locked books and meme pumps by @kroitor in #29552
  • fix(bitfinex): tolerate numeric network ids in currency parsing by @kroitor in #29553
  • fix(bitrue): skip entries without a symbol in fetchTickers by @kroitor in #29554
  • fix(bitfinex): fetchOHLCV without since should return latest candles by @kroitor in #29555
  • fix(phemex): send mandatory from param and fix until scale in fetchOHLCV by @kroitor in #29556
  • fix(indodax): apply costToPrecision to limit buy total by @kroitor in #29557
  • fix(bithumb): encode spaces as + in signed body for auth compatibility by @kroitor in #29558
  • fix(hyperliquid): populate stopLossPrice and takeProfitPrice for trigger orders by @kroitor in #29559
  • fix(xt): align fetchOHLCV startTime up to candle boundary for exact pagination by @kroitor in #29560
  • fix(base): add @vite-ignore hint to dynamicImport for optional proxy agents by @kroitor in #29561
  • fix(base): anchor deterministic pagination at since for fully-historical ranges by @kroitor in #29562
  • feat(gate): add paginate support to fetchClosedOrders by @kroitor in #29564
  • docs(gate): document params.paginate on fetchClosedOrders by @kroitor in #29565
  • test(exchange): skip quoteVolume identity for inverse contracts in ticker validation by @kroitor in #29566
  • chore(tests): remove orphan static currency fixtures for delisted exchanges by @kroitor in #29567
  • feat(bybit): add flexible-available-inventory to implicit api by @kroitor in #29569
  • docs(manual): remove nonexistent fetchBorrowRatesPerSymbol from borrow rates section by @kroitor in #29570
  • refactor(build): stop re-emitting parent endpoints in derived Go _api.go files by @carlotestor in #29575
  • docs(coinbase, coinbaseexchange): disambiguate the two classes in class-level docs by @kroitor in #29579
  • feat(base): add Status and PositionModeInfo types for fetchStatus/fetchPositionMode by @carlotestor in #29576
  • types(ts): converge return annotations on divergent exchange helper methods by @carlotestor in #29577
  • fix(woofipro): TP/SL child orders lost in PHP/Go — untyped fallback + array aliasing by @rayBastard in #29572
  • feat(base): add MarginLoan type and annotate borrow/repay margin returns by @carlotestor in #29581
  • types(base): annotate honest return types for cancelUnifiedOrder, watchFundingRatesForSymbols and bitvavo ws transaction methods by @carlotestor in #29583
  • fix(woofipro): parseBalance frozen field mapped to unified used by @rayBastard in #29585
  • fix(alpaca): route deposit and withdrawal history through account activities in sandbox mode by @kroitor in #29589
  • feat(luno): add fetchDepositWithdrawFee via the send_fee endpoint by @kroitor in #29590
  • fix(whitebit): remove fetchCrossBorrowRate returning lending plan rates by @rayBastard in #29584
  • feat(indodax): add fetchDepositWithdrawFee via the tapi withdrawFee method by @kroitor in #29591
  • docs(coinbase): document CDP key instantiation in the class description by @kroitor in #29592
  • fix(hyperliquid): route spot USDC sub-account transfers through subAccountSpotTransfer by @kroitor in #29593
  • feat(hyperliquid): watchTicker via per-coin activeAssetCtx channel by @kroitor in #29594
  • fix(java): WsOrderBook implements Map — shared WS orderbook structure tests by @kroitor in #29596
  • fix(lbank): NotSupported for swap symbols in ws watch methods by @kroitor in #29597
  • fix(hyperliquid): per-user subscribeHash for watchOrders/watchMyTrades, non-fatal 'Already subscribed' by @kroitor in #29598
  • fix(bitget): set info on ws balance structure for REST parity by @kroitor in #29599
  • fix(go,java): ws orderbook map-view fixes — Go InOp OrderBookInterface case, Java entrySet snapshot by @kroitor in #29600
  • fix(bybit): parseOrder amount for spot market buys (qty is quote-denominated) by @kroitor in #29602
  • fix(php): ws OrderBook.reset phantom index sentinels corrupt books under limit() by @kroitor in #29603
  • fix(networks): rename ARBONE to ARBITRUM, ARBNOVA to ARBITRUM_NOVA by @ttodua in #29601
  • fix(woofipro): drop stray type param from setPositionsCache signature by @rayBastard in #29604
  • feat(xt): add fetchOpenInterest by @rayBastard in #29607
  • fix(build): keep Go IExchange in lockstep after late base-wrapper rewrite by @carlotestor in #29606
  • fix(gate,bybit,bitget): network code unification one-liners from #23989 by @kroitor in #29610
  • docs(woofipro): update Orderly doc links to new URL structure by @rayBastard in #29611
  • feat(xt): add swap support to fetchBidsAsks by @rayBastard in #29609
  • chore: remove fast build from cs.yml by @carlosmiei in #29614
  • fix(java): WsOrderBook.get missing the cache key, NPE in snapshot-buffering ws handlers by @kroitor in #29620
  • feat(gate): watchOrders trigger-order support (spot.priceorders / futures.autoorders) by @kroitor in #29612
  • mexc new endpoint by @ndubel in #29621
  • fix(kucoinfutures): route no-limit fetchOrderBook to the full L2 snapshot by @kroitor in #29624
  • docs(pro): binance multi-account watchOrders setup by @kroitor in #29625
  • fix(bingx): allow base quantity for spot trigger-market sells by @AresArtemius in #29626
  • fix(Exchange.ts): add default user-agent by @carlosmiei in #29631
  • feat(binance): new prediction by @sc0Vu in #29232
  • chore: cancel-in-progress set to true by @carlosmiei in #29633
  • chore: upgrade cancel-in-progress by @carlosmiei in #29635
  • chore: add retry pushback logic by @carlosmiei in #29636
  • chore(deps-dev): bump js-yaml from 4.3.0 to 4.3.1 by @dependabot[bot] in #29634
  • bitget fetchBalance, transfer v3 by @ndubel in #29617
  • fix(binance): option-market watch calls fail fast instead of silently hanging by @kroitor in #29629
  • feat(whitebit): support timeInForce IOC and PO in createOrder by @rayBastard in #29608
  • 修复(playground):使AI插入的代码在Go、PHP和Java中可运行,由@carlotestor在#29529中完成
  • 构建(deps-dev):在/docs/website中由@dependabot[bot]在#29527中将fast-uri从3.1.4升级到3.1.5
  • 构建(deps):在/docs/playground中由@dependabot[bot]在#29526中将undici从7.28.0升级到7.29.0
  • 修复(go):contractSize生成类型,由@carlosmiei在#29530中完成
  • 修复(docs):品牌标志→ccxt.com;AI私有片段使用虚拟apiKey/secret,由@carlotestor在#29532中完成
  • 功能(docs/playground):刷新旁边的“You”清除聊天并显示新提示,由@carlotestor在#29534中完成
  • 提交docs-fumadocs工作流,由@frosty00在#29535中完成
  • 修复(docs):品牌标志同标签页跳转至ccxt.com + 公共/私有API备忘录,由@carlotestor在#29533中完成
  • 修复(docs/playground):在出口允许列表中包含OKX/{hostname} API主机,由@carlotestor在#29537中完成
  • 修复(docs):从CCXT品牌标志(slots.navTitle)中移除target=_blank,由@carlotestor在#29538中完成
  • 修复(docs):使slots.navTitle成为客户端组件(RSC安全),由@carlotestor在#29539中完成
  • 修复(bullish):设置has.future为true,由@ttodua在#29540中完成
  • 修复(playground):在流式传输时解除AI滚动阻塞并自动插入代码,由@carlotestor在#29542中完成
  • python:提升cryptography和aiohttp的最低版本(4个Dependabot警报),由@kroitor在#29543中完成
  • 构建 - 每个文件的tsc通道遵循tsconfig.json(扩展shim),由@kroitor在#29544中完成
  • php - 修复破坏php测试通道的数组/字符串转译混淆,由@kroitor在#29546中完成
  • 修复(woofipro):从executed_quantity解析订单已成交数量,以基础单位计算剩余量,由@rayBastard在#29545中完成
  • 修复(coinbaseinternational):设置has.future为false,由@ttodua在#29541中完成
  • 修复(xt):文档链接,由@rayBastard在#29536中完成
  • 派生 - 将ws watchTicker迁移到ticker_slim通道,由@kroitor在#29547中完成
  • grvt - 在公共JSON POST请求中发送content-type(修复loadMarkets 400错误),由@kroitor在#29548中完成
  • 测试 - networksById字典断言容忍PHP整数强制的数字键,由@kroitor在#29549中完成
  • 测试 - 将ticker百分比验证器移出同步共享的PHP文件,由@kroitor在#29550中完成
  • 修复(ci):在实时测试中从干净状态重建 cs,由 @kroitor 在 #29551 中完成
  • 测试(交易所):放宽对锁定订单簿和 meme 币暴涨的 ticker 严格性,由 @kroitor 在 #29552 中完成
  • 修复(bitfinex):在货币解析中容忍数字网络 ID,由 @kroitor 在 #29553 中完成
  • 修复(bitrue):在 fetchTickers 中跳过没有交易符号的条目,由 @kroitor 在 #29554 中完成
  • 修复(bitfinex):fetchOHLCV 不带 since 时应返回最新 K 线,由 @kroitor 在 #29555 中完成
  • 修复(phemex):在 fetchOHLCV 中发送必需的 from 参数并修复 until 缩放,由 @kroitor 在 #29556 中完成
  • 修复(indodax):对限价买单总额应用 costToPrecision,由 @kroitor 在 #29557 中完成
  • 修复(bithumb):在签名请求体中将空格编码为 + 以兼容认证,由 @kroitor 在 #29558 中完成
  • 修复(hyperliquid):为触发订单填充 stopLossPrice 和 takeProfitPrice,由 @kroitor 在 #29559 中完成
  • 修复(xt):将 fetchOHLCV 的 startTime 对齐到 K 线边界以实现精确分页,由 @kroitor 在 #29560 中完成
  • 修复(base):为可选代理的动态导入添加 @vite-ignore 提示,由 @kroitor 在 #29561 中完成
  • 修复(base):将确定性分页锚定在 since 上以覆盖完整历史范围,由 @kroitor 在 #29562 中完成
  • 功能(gate):为 fetchClosedOrders 添加分页支持,由 @kroitor 在 #29564 中完成
  • 文档(gate):在 fetchClosedOrders 上记录 params.paginate,由 @kroitor 在 #29565 中完成
  • 测试(交易所):在 ticker 验证中跳过反向合约的 quoteVolume 一致性检查,由 @kroitor 在 #29566 中完成
  • 杂务(测试):移除已下架交易所的孤立静态货币固定数据,由 @kroitor 在 #29567 中完成
  • 功能(bybit):在隐式 API 中添加 flexible-available-inventory,由 @kroitor 在 #29569 中完成
  • 文档(手册):从借贷利率部分移除不存在的 fetchBorrowRatesPerSymbol,由 @kroitor 在 #29570 中完成
  • 重构(构建):停止在派生的 Go _api.go 文件中重新生成父端点,由 @carlotestor 在 #29575 中完成
  • 文档(coinbase, coinbaseexchange):在类级文档中区分这两个类,由 @kroitor 在 #29579 中完成
  • 功能(base):为 fetchStatus/fetchPositionMode 添加 Status 和 PositionModeInfo 类型,由 @carlotestor 在 #29576 中完成
  • 类型(ts):收敛不同交易所辅助方法的返回注解,由 @carlotestor 在 #29577 中完成
  • 修复(woofipro):TP/SL 子订单在 PHP/Go 中丢失——无类型回退 + 数组别名,由 @rayBastard 在 #29572 中完成
  • 功能(base):添加 MarginLoan 类型并注解借入/偿还保证金返回,由 @carlotestor 在 #29581 中完成
  • 类型(基础):为 cancelUnifiedOrder、watchFundingRatesForSymbols 和 bitvavo ws 交易方法标注诚实的返回类型,由 @carlotestor 在 #29583 中完成
  • 修复(woofipro):parseBalance 的 frozen 字段映射到统一使用的字段,由 @rayBastard 在 #29585 中完成
  • 修复(alpaca):在沙盒模式下通过账户活动路由存款和提现历史,由 @kroitor 在 #29589 中完成
  • 功能(luno):通过 send_fee 端点添加 fetchDepositWithdrawFee,由 @kroitor 在 #29590 中完成
  • 修复(whitebit):移除返回借贷计划利率的 fetchCrossBorrowRate,由 @rayBastard 在 #29584 中完成
  • 功能(indodax):通过 tapi 的 withdrawFee 方法添加 fetchDepositWithdrawFee,由 @kroitor 在 #29591 中完成
  • 文档(coinbase):在类描述中记录 CDP 密钥实例化,由 @kroitor 在 #29592 中完成
  • 修复(hyperliquid):通过 subAccountSpotTransfer 路由现货 USDC 子账户转账,由 @kroitor 在 #29593 中完成
  • 功能(hyperliquid):通过每个币种的 activeAssetCtx 频道实现 watchTicker,由 @kroitor 在 #29594 中完成
  • 修复(java):WsOrderBook 实现 Map —— 共享 WS 订单簿结构测试,由 @kroitor 在 #29596 中完成
  • 修复(lbank):ws 观察方法中对于 swap 交易对返回 NotSupported,由 @kroitor 在 #29597 中完成
  • 修复(hyperliquid):watchOrders/watchMyTrades 使用每个用户的 subscribeHash,非致命 'Already subscribed',由 @kroitor 在 #29598 中完成
  • 修复(bitget):在 ws 余额结构上设置 info 以实现与 REST 的一致性,由 @kroitor 在 #29599 中完成
  • 修复(go,java):ws 订单簿 map 视图修复 —— Go 的 InOp OrderBookInterface 情况,Java 的 entrySet 快照,由 @kroitor 在 #29600 中完成
  • 修复(bybit):现货市场买入的 parseOrder 数量(qty 以报价货币计价),由 @kroitor 在 #29602 中完成
  • 修复(php):ws OrderBook.reset 的幻影索引哨兵在 limit() 下损坏订单簿,由 @kroitor 在 #29603 中完成
  • 修复(网络):将 ARBONE 重命名为 ARBITRUM,ARBNOVA 重命名为 ARBITRUM_NOVA,由 @ttodua 在 #29601 中完成
  • 修复(woofipro):从 setPositionsCache 签名中移除多余的 type 参数,由 @rayBastard 在 #29604 中完成
  • 功能(xt):添加 fetchOpenInterest,由 @rayBastard 在 #29607 中完成
  • 修复(构建):在后期基础包装器重写后保持 Go IExchange 同步,由 @carlotestor 在 #29606 中完成
  • 修复(gate,bybit,bitget):来自 #23989 的网络代码统一单行修复,由 @kroitor 在 #29610 中完成
  • 文档(woofipro):更新 Orderly 文档链接到新的 URL 结构,由 @rayBastard 在 #29611 中完成
  • 功能(xt):为 fetchBidsAsks 添加 swap 支持,由 @rayBastard 在 #29609 中完成
  • 杂务:从 cs.yml 中移除快速构建,由 @carlosmiei 在 #29614 中完成
  • 修复(java):WsOrderBook.get 缺少缓存键,导致快照缓冲 WebSocket 处理器中出现空指针异常,由 @kroitor 在 #29620 中提交
  • 功能(gate):watchOrders 支持触发订单(spot.priceorders / futures.autoorders),由 @kroitor 在 #29612 中提交
  • mexc 新端点,由 @ndubel 在 #29621 中提交
  • 修复(kucoinfutures):将无限制的 fetchOrderBook 路由到完整的 L2 快照,由 @kroitor 在 #29624 中提交
  • 文档(pro):币安多账户 watchOrders 设置,由 @kroitor 在 #29625 中提交
  • 修复(bingx):允许现货触发市价卖单使用基础数量,由 @AresArtemius 在 #29626 中提交
  • 修复(Exchange.ts):添加默认用户代理,由 @carlosmiei 在 #29631 中提交
  • 功能(binance):新增预测,由 @sc0Vu 在 #29232 中提交
  • 杂务:将 cancel-in-progress 设置为 true,由 @carlosmiei 在 #29633 中提交
  • 杂务:升级 cancel-in-progress,由 @carlosmiei 在 #29635 中提交
  • 杂务:添加重试回退逻辑,由 @carlosmiei 在 #29636 中提交
  • 杂务(deps-dev):将 js-yaml 从 4.3.0 升级到 4.3.1,由 @dependabot[bot] 在 #29634 中提交
  • bitget fetchBalance、transfer v3,由 @ndubel 在 #29617 中提交
  • 修复(binance):期权市场 watch 调用快速失败,而不是静默挂起,由 @kroitor 在 #29629 中提交
  • 功能(whitebit):在 createOrder 中支持 timeInForce IOC 和 PO,由 @rayBastard 在 #29608 中提交

更进一步:量化金融体系

看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力

进入量化体系 →

相似阅读

另一事件,读法相近