Skip to content

chore(release): v3.0.0-beta#2717

Open
shamardy wants to merge 14 commits intomainfrom
staging
Open

chore(release): v3.0.0-beta#2717
shamardy wants to merge 14 commits intomainfrom
staging

Conversation

@shamardy
Copy link
Collaborator

@shamardy shamardy commented Mar 6, 2026

v3.0.0-beta - 2026-03-06

Features:

TRON Wallet-Only Support:

  • Added initial TRON blockchain integration with HD wallet activation, TRC20 token support, transaction signing, fee estimation, and withdrawals. #2467 #2712 #2714

WalletConnect:

  • Implemented BTC/UTXO transaction signing and legacy swap (v1) support via WalletConnect. #2566

UTXO:

  • Added RXD ForkIdRxd sighash signing path for Radiant chain support. #2713

Enhancements/Fixes:

EVM / ETH:

  • Added SafeERC20 V1 USDT support and docker tests. #2711

Other Changes:

Infrastructure / CI:

  • Migrated service endpoints to gleec.com. #2704
  • Migrated docker image push to GLEEC organization. #2705
  • Split docker tests into feature-gated parallel suites. #2707
  • Removed review reminder bot. #2706

Documentation:

  • Added AGENTS.md documentation across key crates. #2465

Legal:

  • Updated LICENSE IP ownership.

NB - Backwards compatibility breaking changes:

P2P Network:

  • Default P2P netid changed from 8762 to 6133 as part of GLEEC rebranding; netid 8762 added to the deprecated list. Nodes on the old default netid will no longer discover peers on the new default. #2710

Dex Fees:

  • Dex fee rate updated to 2% with a 1% discount for GLEEC; fee collection addresses migrated to GLEEC. #2710

shamardy and others added 14 commits December 3, 2025 12:34
Adds AGENTS.md to project root and most important crates.
- Migrate price service endpoints from komodian.info/komodo.earth to gleec.com
- Migrate NFT test endpoints (Moralis proxy, antispam blocklist) to gleec.com
…2707)

Splits the monolithic docker test suite into 12 feature-gated modules
that run in parallel CI jobs (~4x faster total execution time).

**New Feature Flags:**
- `docker-tests-eth` — ETH/ERC20/NFT tests
- `docker-tests-slp` — BCH/SLP token tests
- `docker-tests-sia` — Sia tests + DSIA swaps
- `docker-tests-ordermatch` — Orderbook/matching tests
- `docker-tests-swaps` — UTXO swap protocol tests
- `docker-tests-watchers` — UTXO watcher tests
- `docker-tests-watchers-eth` — ETH watcher tests (unstable)
- `docker-tests-qrc20` — Qtum/QRC20 tests
- `docker-tests-tendermint` — Cosmos/IBC tests
- `docker-tests-zcoin` — ZCoin/Zombie tests
- `docker-tests-integration` — Cross-chain swaps
- `docker-tests-all` — All suites (local dev)

**Key Changes:**
- Matrix-based docker test jobs in CI workflow
- Docker-compose infrastructure (`.docker/test-nodes.yml`)
- Feature-gated test modules in `tests/docker_tests/`
- Per-chain helper modules (`helpers/eth.rs`, `helpers/utxo.rs`, etc.)
- Docker images migrated to gleec organization

**Flaky Tests Ignored:**
- Remote Electrum tests (tracked in #2708)
- External NFT API tests (Moralis rate-limiting, nft-antispam unavailable)
- Timing-dependent orderbook sync test (#2626)

Closes #2417, #764
Partially addresses #2381, #835, #2388, #2231
Enables #2708
Adds WalletConnect v2 support for Bitcoin and other UTXO chains, enabling atomic swaps via external wallets using PSBT signing. Supports P2PKH/P2WPKH for taker fee and maker/taker payments, and P2SH for HTLC spending (payment spend/refund).

**Key Changes:**
- Adds `utxo/wallet_connect.rs` module with PSBT signing functions
- Adds `P2SHSigner` enum to support both keypair and WalletConnect paths
- Isolate rust-bitcoin interop into `ext_bitcoin` module

**Feature Flags:**
- `utxo-walletconnect` — UTXO WalletConnect support (default-enabled in coins, coins_activation)
- `ext-bitcoin` — rust-bitcoin crate interop (default-enabled in chain)
- Set `default-features = false` for chain dependency to avoid WASM test secp256k1-sys symbol conflicts

**Watcher Support:**
- Disables watchers for external key policies for now (WalletConnect, Trezor, Metamask)

Swaps V2 not yet supported (requires cooperative signing). Watcher signing for WalletConnect deferred.
Adds TRON (TRX) HD wallet activation through the existing ETH activation pipeline with proper Base58Check address formatting and TRON HTTP API integration.

**Key Changes:**
- Adds `TronApiClient` with node rotation, failover, and retry logic for transient errors.
- Implements `ChainRpcClient` enum abstraction unifying EVM Web3 JSON-RPC and TRON HTTP API operations via `ChainRpcOps` trait
- Add `ChainTaggedAddress` wrapper pairing raw 20-byte addresses with `ChainFamily` for proper formatting (T... Base58 vs 0x... hex)
- Supports HD gap-limit scanning detecting used-but-zero-balance addresses
- Makes `swap_contract_address` optional for wallet-only activation mode
- Adds error classification at source with `TronErrorPayload` and `Web3RpcError::BadResponse`/`RemoteError` variants

**Test Coverage:**
- 10 integration tests covering immediate/task-based activation, node
  failover, HD derivation paths, gap limit scanning, and error handling
- Feature-gated behind `tron-network-tests` using Nile testnet
Add SignatureVersion::ForkIdRxd to route Radiant (RXD) signing through a dedicated preimage path that inserts hashOutputHashes (per-output summaries with push-ref commitments) before hashOutputs.

Includes script parser for OP_PUSHINPUTREF/OP_PUSHINPUTREFSINGLETON opcodes, on-chain sighash test vector, and push-ref parsing unit test.

Coin config: "signature_version": "fork_id_rxd", "fork_id": "0x40"
Adds TRC20 token activation and balance queries for TRON HD wallets.
Adds docker tests verifying that `SafeERC20` in the V1 EtomicSwap contract correctly handles USDT's non-standard transfer/transferFrom (no bool return). Tests cover send+spend and send+refund flows for maker payments with both Legacy and Medium (EIP-1559) gas fee policies, using a deployed USDT contract on the Geth test node.
…id (#2710)

- Replaces DEX fee/burn addresses with new GLEEC pubkeys
- Changes fee rate from 1/777 (~0.13%) to 2%, with 1% discount for GLEEC
- Disables burn
- Migrates default netid from 8762 to 6133, deprecates 8762
- Fixs new Rust 1.94.0 clippy lints (saturating_sub, result_large_err)

BREAKING CHANGES:
- Default netid changed from 8762 to 6133, nodes using the default will no longer discover 8762 peers. Old nodes will not work in the new network.
- DEX fee addresses changed, old nodes reject fees sent to new addresses and vice versa, making cross-version trading impossible.
- DEX fee rate increased from ~0.13% to 2%, old makers would also reject new takers' fee amounts, and new makers reject old takers' fees as insufficient. But this will never happen due to netid change.
- KMD no longer receives a fee discount, GLEEC replaces it as the discounted ticker (1% vs 2%).
Add transaction signing, fee estimation, and the full withdraw pipeline for TRX native and TRC20 token transfers. Fourth PR in the TRON integration series (#2425, #2467, #2712).

New modules under coins/eth/tron/:
- proto.rs: minimal TRON protobuf types (prost::Message derive)
- tx_builder.rs: unsigned transaction builders with TAPOS reference block
- sign.rs: SHA256 + secp256k1 signing with 65-byte r||s||v signatures
- fee.rs: bandwidth/energy fee estimation with chain price lookup
- withdraw.rs: TRX (with iterative max-send convergence) and TRC20
  (with cross-asset TRX balance verification) withdraw flows

Key changes:
- Chain-dispatched broadcast: TRON protobuf → /wallet/broadcasthex,
  EVM RLP → eth_sendRawTransaction
- New TxFeeDetails::Tron variant with bandwidth_used, energy_used,
  bandwidth_fee, energy_fee, total_fee
- TxFeeDetails extracted from lp_coins.rs into its own module
- Optional expiration_seconds on WithdrawRequest (default 60s)
- get_account_resource and broadcast_hex RPC methods on TronApiClient
- 7 withdraw integration tests against Nile testnet
- 24 unit tests converted to cross_test! for WASM compatibility

Partially addresses #1542 and #1698.
Bumps KDF version from 2.6.0-beta to 3.0.0-beta to reflect breaking changes (default netid migration 8762→6133, dex fee rate update) and major features (TRON wallet-only support, WalletConnect UTXO swaps, RXD signing) merged since v2.6.0-beta. Also adds changelogs for the changes.
chore(release): 3.0.0-beta dev -> staging
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants