Skip to content

Releases: GLEECBTC/komodo-defi-framework

Komodo DeFi Framework v2.6.0-beta

01 Dec 09:02
475cdb4

Choose a tag to compare

SIA Integration, Solana Preview, and Enhanced UTXO Support

This release introduces SIA as a new supported blockchain protocol, expanding the Komodo DeFi Framework's multi-chain capabilities. It also delivers a preview of Solana integration, significant enhancements to UTXO coin handling including a new consolidation RPC and WalletConnect support, expirable maker orders for better order management, and numerous stability improvements across swap protocols and event streaming.

Release Notes

Features:

  • SIA Integration

    • Complete SIA coin integration was implemented by @Alrighttt, adding SIA as a new protocol with activation in both Iguana and HD modes using the m/44'/1991'/0'/0'/0' derivation path. Wallet operations, transaction history v1, and legacy swaps are supported.
    • Relevant PR: #2540
  • WalletConnect for UTXO

    • BTC/UTXO coin activation via WalletConnect was implemented by @mariocynicys, aligning UTXO with existing EVM/Cosmos activations.
    • Relevant PR: #2499
  • Expirable Maker Orders

    • A new timeout_in_minutes field was added by @onur-ozkan to setprice, allowing maker orders to automatically expire after a configurable duration while maintaining backwards compatibility.
    • Relevant PR: #2516
  • UTXO Consolidation

    • A consolidate_utxos RPC was introduced by @mariocynicys to merge small outputs and reduce fee overhead.
    • Relevant PR: #2587

Work in Progress (WIP) Features

Solana Protocol:

  • Initial wallet-only Solana implementation was added by @onur-ozkan with WASM support. Activation, token handling, and RPC wiring are available; swaps and transaction history are not yet supported.
  • Relevant PRs: #2586, #2598, #2622, #2679

Liquidity Routing:

  • A best_swap RPC was added by @dimxy that performs ask-side liquidity routing to find the optimal route for a desired outcome amount.
  • Relevant PR: #2362

Enhancements

Swaps and Order Matching:

  • Maker Banning: Makers are now banned after failed swap negotiation attempts to prevent repeated retries. #2688 by @dimxy
  • Swap v2 Improvements: Offline validation was hardened by reusing offline maker/taker checks, and visibility gates with one-shot rebroadcast fallback were added. #2646, #2618 by @shamardy
  • Orderbook Performance: The orderbook trie was split from the orderbook to reduce lock contention during propagation. #2661 by @shamardy

UTXO:

  • Fixed-Fee Option: A fixed-fee option was added for DINGO-like chains. #2454 by @dimxy
  • Chain Variant Config: UTXO chain variants were made explicit via chain_variant config, replacing hardcoded ticker handling. #2692 by @shamardy

EVM / ETH:

  • Gas Fee Policy: Gas fee policy handling was refined (adjustment params, renamed RPC) for swap/signing flows. #2533 by @dimxy

Tendermint / Cosmos:

  • Trade Fee: The get_trade_fee RPC was implemented for Tendermint-based assets. #2663 by @onur-ozkan

Event Streaming:

  • OS Signals: OS shutdown signals are now broadcast via the streaming manager. #2667 by @onur-ozkan

CLI:

  • Clap Migration: The CLI was migrated to clap, standardizing -h/--help and version output. #2510 by @BigFish2086

Bug Fixes:

Click to expand
  • Swaps:

    • Legacy swap payment broadcast intervals were reduced for faster propagation on mobile devices. #2680 by @dimxy
    • Order subscriptions on kickstart were fixed and GC of own pubkeys was skipped. #2597 by @shamardy
    • Dexfee balance checks for TPU swaps were corrected to avoid false failures. #2600 by @dimxy
  • Wallet and Keys:

    • Shielded HD derivation path formatting in get_private_keys responses was corrected. #2685 by @DeckerSU
    • A critical bug where get_private_keys returned incorrect keys in iguana mode when loading wallets from KDF encrypted storage was fixed. #2683 by @shamardy
  • Hardware Wallet:

    • Trezor UTXO/EVM calls were updated to match recent firmware changes. #2565 by @dimxy
  • UTXO / Electrum:

    • Electrum block-count queries were switched to sequential mode to avoid server bans on endpoints with strict per-IP limits. #2666 by @mariocynicys
    • Minimum trading volume for fixed-fee UTXO coins was revised to account for HTLC spend fees. #2564 by @shamardy
    • ScriptSig signature parsing was relaxed to stop rejecting valid inputs. #2591 by @dimxy
    • Block-header deserialization for AuxPoW/KAWPOW variants, PIVX Sapling, Namecoin, XEC, Cheetahcoin, and others was overhauled. #2583, #2563, #2572 by @shamardy
  • EVM / ETH:

    • Activation validation tweaks were added and EVM timeouts were increased. #2543 by @dimxy
    • ETH max withdrawal logic was fixed and underflow on low balances was prevented. #2531 by @shamardy
    • Structured EIP-1559 withdrawal errors with network-required fee info were added. #2532 by @shamardy
  • WalletConnect:

  • RPCs:

    • get_enabled_coins, task::init_trezor::init, and wc_get_sessions now accept empty params fields. #2612 by @onur-ozkan
  • Event Streaming:

    • Handling of SIGINT/SIGTERM/SIGQUIT when the signal handler runs was improved. #2669 by @onur-ozkan
    • Client-id parsing was fixed and query parameters now pass through to event-stream endpoints. #2677, #2678 by @onur-ozkan and @mariocynicys
    • iOS certificate validation for Tendermint balance streaming was fixed. #2674 by @smk762

Other Changes:

Click to expand
Read more

v2.5.2-bebdc9a

02 Nov 00:44
7f60b34

Choose a tag to compare

v2.5.2-bebdc9a Pre-release
Pre-release

dev release for internal CI / tests

Komodo DeFi Framework v2.5.2-beta

22 Oct 07:17
a295579

Choose a tag to compare

Privacy Coins Stats and macOS Universal2 Support

This hotfix release enhances privacy coins support by enabling swap status broadcasting for privacy coins while maintaining user anonymity. It also addresses critical stability issues by resolving a segfault issue affecting Linux users, fixing WASM balance calculations for ARRR, and introducing macOS Universal2 build support for seamless operation on both Intel and Apple Silicon Macs.

Release Notes

  • Privacy Coin Status Broadcasting:

    • Swap status broadcasting was enabled for privacy coins by @mariocynicys with the persistent pubkey hidden (set to zeros) to maintain user privacy. #2648
  • Stats Database Fix:

    • An inconsistency in stats DB was fixed by @mariocynicys to store persistent pubkeys for both maker and taker instead of incorrectly storing htlc pubkeys in some cases. #2648
  • ARRR WASM Balance Fix:

    • The get_nullifiers function for Zcoin WASM build was aligned with its sqlite counterpart by @dimxy to return nullifiers for both unspent notes and notes with unconfirmed spends, fixing the spent_by_me field in transaction history and balance calculations. #2651
  • Linux Stability Fix:

    • The memory_db size metric that relied on parity-util-mem::malloc_size was removed by @shamardy because it intermittently segfaulted on Linux due to allocator conflicts between Jemalloc and glibc. #2632
  • macOS Universal2 Build:

    • A CI job was added by @dimxy to build macOS Universal2 artifacts for KDF. This combines x86_64-apple-darwin and aarch64-apple-darwin binaries via lipo to produce a single binary that runs natively on both Intel and Apple Silicon. The universal binary is uploaded as kdf_<commit>-mac-universal.zip. #2628
  • Dependency Cleanup:

  • CI Containers Update:


Full Changelog: v2.5.1-beta...v2.5.2-beta

Komodo DeFi Framework v2.5.1-beta

28 Jul 18:11
a9fbf60

Choose a tag to compare

Offline Private Key Export and First AI Agent Contribution

This hotfix release addresses critical wallet management limitations by introducing essential functionality for offline private key export and wallet recovery operations. This release also marks a historic milestone as the first direct contribution from an AI agent to the Komodo DeFi Framework.

Release Notes

  • Offline Private Key Export:
    • A comprehensive get_private_keys RPC method was implemented by Devin AI to provide robust offline private key, public key, and address export capabilities for any configured coin without requiring activation. This critical functionality supports both HD and Iguana wallet modes with protocol-specific logic for UTXO, EVM, Tendermint, and ZHTLC (shielded) coins, enabling essential wallet recovery operations. #2542

New Contributors

Full Changelog: v2.5.0-beta...v2.5.1-beta

🛡 VirusTotal analysis

Komodo DeFi Framework v2.5.0-beta

04 Jul 04:38
fbab8ec

Choose a tag to compare

WalletConnect Integration and Major Wallet Enhancements

This release introduces major connectivity and wallet management upgrades, highlighted by the integration of WalletConnect v2 for EVM and Cosmos chains, enabling secure transaction signing with external wallets. It also delivers numerous enhancements to wallet security, HD wallet functionality, the P2P network, and the trading protocol, alongside various performance optimizations and bug fixes across the framework.

Release Notes

Features:

  • WalletConnect Integration

    • Comprehensive support for WalletConnect v2 was implemented by @borngraced, enabling secure connection and transaction signing for EVM and Cosmos coins using external mobile and web wallets.
    Click to expand details
    • Secure External Signing: Users can activate EVM and Cosmos coins without exposing private keys to KDF, as all signing operations are delegated to the connected WalletConnect-compatible wallet.
    • New RPCs for Session Management:
      • wc_new_connection: Establishes a new WalletConnect session.
      • wc_get_sessions: Lists all active sessions.
      • wc_get_session: Retrieves details for a specific session.
      • wc_ping_session: Checks the status of a session.
      • wc_delete_session: Disconnects and removes a session.
    • Note: NFT and UTXO coins are not yet supported via WalletConnect.

Enhancements

Wallet Improvements:

  • Wallet Deletion: A new delete_wallet RPC was introduced by @shamardy to securely remove wallets after password confirmation. The currently active wallet cannot be deleted. #2497
  • HD Wallet Message Signing: Support for signing messages from any derived address in an HD wallet was implemented by @borngraced. #2432, #2474
  • Z-Coin Balance Tracking: Unconfirmed z-coin notes are now correctly tracked to provide an accurate spendable balance and prevent transaction failures by @borngraced. #2331

Peer-to-Peer Network:

  • Seed Node Configuration: Hardcoded seed node IP addresses were removed by @onur-ozkan to improve network maintainability and decentralization. KDF now requires explicit configuration via the seednodes field. #2439
  • Expirable Pubkey Bans: The ability to temporarily ban misbehaving pubkeys for a configurable duration was introduced by @onur-ozkan. #2455

Trading Protocol & Orders:

  • Minimum Trading Volume: The hardcoded minimum trading volume for BTC (0.00777) was removed by @onur-ozkan. This change standardizes the validation logic, applying a more consistent minimum trading volume of 0.0001 across all UTXO coins and significantly lowering the entry barrier for BTC trades. #2483

RPC and Protocol Improvements:

  • Simplified RPC Payloads: The mmrpc field is no longer required for calling most modern (v2) RPC methods. The server, refactored by @onur-ozkan, now uses a unified handler that automatically checks both legacy and modern interfaces, simplifying client-side logic. The mmrpc field is only required to explicitly call a v2 method when a legacy (v1) method shares the same name. #2450
  • IBC Channel Handling: The IBC channel handler was refactored by @onur-ozkan to use embedded channel data from the coins file instead of relying on external chain-registry parsing. This improves reliability and reduces external dependencies. #2298

Bug Fixes:

Click to expand
  • Hardware Wallet:

    • A race condition during the initialization of Trezor-based hardware wallets was fixed by @mariocynicys. The fix ensures the correct account is loaded before fetching the enabled address, preventing startup errors. #2504
  • UTXO:

    • The validation logic for P2PK (Pay-to-Public-Key) inputs was corrected by @mariocynicys. The fix ensures that the signature in the scriptSig is correctly verified against the expected public key, as the pubkey itself is not present in the script. #2408
    • An issue with UTXO transaction fee calculation was resolved by @dimxy. The fix restructures the transaction building algorithm to properly account for the change output and correctly calculate the minimum relay fee based on transaction size, resulting in more accurate fee estimation. #2316
  • EVM / ERC20:

    • A bug in event streaming was fixed by @mariocynicys where ETH addresses were being truncated during serialization. This caused malformed data in Server-Sent Events (SSE). The fix ensures addresses are always serialized in their full format. #2440
    • An issue with ERC20 token identification was resolved by @laruh. The lookup logic now uses the platform ticker alongside the contract address, preventing conflicts between tokens with the same address on different EVM chains. #2445
  • Peer-to-Peer Network:

    • The IP resolution logic for seed nodes was improved by @onur-ozkan to enhance connection reliability, failing only if no IPv4 address can be found. #2487

Other Changes:

Click to expand
  • Build and Dependency Management:

    • Static CRT linking for MSVC builds was enabled by @shamardy to improve the portability of Windows binaries. #2464
    • Dependencies were reorganized using the workspace.dependencies feature for centralized and consistent management across the project by @borngraced. #2449
    • The base58 crate was replaced with bs58 throughout the codebase for consistency and security by @shamardy. #2427
    • The timed-map dependency was updated to version 1.4.1 for improved performance and stability by @onur-ozkan. #2413, #2481
  • Documentation:

    • Outdated URLs referencing previous documentation pages were updated throughout the codebase by @smk762. #2428
    • A DeepWiki badge was added to the README to highlight documentation resources by @shamardy. #2463
  • Refactoring and Internal Improvements:

    • A unit test was added by @dimxy to validate DEX fee handling for ZCoin. #2460
    • The event-streaming system was refactored by @BigFish2086 to use strongly-typed streamer IDs, improving the internal type safety and robustness of the event broadcasting mechanism. #2441
    • The logic for generating internal Tendermint transaction IDs was refactored into a common helper function by @onur-ozkan, improving code organization. #2438
    • The migration from dbdir to address_dir was continued by @mariocynicys as part of an ongoing database architecture improvement. #2398

NB - Backwards compatibility breaking changes

⚡ API and Configuration Changes

  • WalletConnect/EVM Coin Activation: The priv_key_policy field for EVM coin activation is no longer a string. It now requires an object with a type field (e.g., "priv_key_policy": { "type": "ContextPrivKey" }). WalletConnect activation uses { "type": "WalletConnect", ... }. #2223
  • EVM Coin Configuration: EVM coin configurations in coins files must now include the chain_id inside the protocol_data object. The legacy top-level chain_id field is deprecated. #2425
  • Seednode Configuration: All hardcoded seed nodes have been removed. KDF will no longer connect to the mainnet (netid 8762) by default. Users must provide a list of seed nodes in the seednodes configuration field to connect to the P2P network. #2439
  • IBC/Cosmos: The ibc_chains and ibc_transfer_channels RPC endpoints have been removed. The ibc_source_channel field now requires numeric values only (e.g., 12 instead of channel-12) [#2298](https://github.com/KomodoPlatf...
Read more

Komodo DeFi Framework v2.4.0-beta

02 May 15:36
c800ea0

Choose a tag to compare

Cosmos Staking, Improved Event Streaming, and Network Time Synchronization

This release introduces significant advancements to the Komodo DeFi Framework, including a comprehensive Cosmos staking implementation, a revamped event streaming system, and network time synchronization to prevent swap failures. The new "experimental" namespace provides a structured approach for features still under development. Other highlights include enhanced wallet management and numerous security and performance upgrades across the codebase.

Release Notes

Features:

  • Experimental Namespace

    • A new namespace for APIs that may undergo breaking changes in future releases was introduced by @onur-ozkan. This provides a structured approach for innovative features still in development.
    • Relevant PR: #2372
  • Event Streaming

    • Event-streaming system was refactored by @mariocynicys to support dynamic, API-driven subscription management.
    • Additional event types were added, including transaction history events, swap events, and more.
    • Relevant PR: #2172
  • Cosmos Staking

    • A comprehensive set of staking operations for Cosmos chains was implemented by @onur-ozkan:
    Click to expand details
    • Delegation: Users can now delegate tokens to validators #2322
    • Undelegation: Support for undelegating tokens from validators #2330
    • Claiming Rewards: Users can claim delegation rewards #2351, #2373
    • Validator Queries: Added RPCs for accessing validator data #2310
    • Delegation Status: Introduced methods to check delegation status and ongoing undelegations #2377
    • All staking RPCs are located under the experimental::staking namespace #2372

Enhancements

Peer-to-Peer Network:

  • Time Synchronization: Network time synchronization validation was implemented by @onur-ozkan to prevent swap failures due to node clock drift. #2255, #2302
  • Network Reliability: Static seed node IP addresses were removed for improved stability by @onur-ozkan. #2407
  • Error Handling: Improved error handling in best_orders RPC when no peers respond to orderbook requests by @mariocynicys. #2318

Trading Protocol Improvements:

  • Zero DEX Fees: Implemented zero DEX fees for v2 swaps (TPU) involving KMD trading pairs by @borngraced. #2323
  • Protocol Versioning: Added swap protocol versioning with fallback support to legacy swaps by @laruh. #2324
  • Pre-burn Address: Added pre-burn address outputs for collecting 25% of taker DEX fees for UTXO swaps (both v1 and v2 protocols), and Cosmos and ARRR swaps (legacy protocol only) by @dimxy. #2112
  • Swap Robustness: Improved swap robustness by checking for existing maker/taker payments before timeout validation by @shamardy. #2283
  • Success Indicator: Added is_success field to legacy swap status response, making success state more explicit by @Alrighttt. #2371

Wallet Improvements:

  • Password Management: Added an RPC to change mnemonic passwords by @borngraced. #2317
  • Mnemonic Support: Enabled storage and usage of non-BIP39 mnemonics by @borngraced. #2312
  • Wallet Security:
    • Added validation to restrict wallet names to alphanumeric characters, dash, and underscore by @shamardy. #2400
    • Changed wallet file extension from .dat to .json to better reflect content. #2400
    • Implemented optional password strength validation for mnemonic encryption. #2400

RPC Enhancements:

  • Dynamic Port Allocation: Implemented dynamic RPC port allocation (rpcport: 0) allowing automatic selection of available ports by @Alrighttt. #2342

Bug Fixes:

Click to expand
  • Trading Protocol:

  • Tendermint/Cosmos:

  • Hardware Wallet:

    • Fixed hardware-wallet context initialization for UTXO withdrawals by @shamardy. #2333
  • NFT Integration:

    • Fixed update_nft to work correctly with HD wallets using the enabled address by @shamardy. #2386
    • Fixed withdraw_nft method to work correctly in HD mode by @shamardy. #2424
  • UTXO Improvements:

    • Added support for parsing taproot output address types from blockchain.transaction.get verbose transactions by @mariocynicys. #2423
  • FIRO Integration:

  • Simple Maker Bot:

    • Added LiveCoinWatch price provider and removed deprecated Nomics provider by @shamardy. #2416

Security Fixes:

Click to expand
  • Fixed potential panics in hash processing by enforcing fixed-size arrays and proper length validation by @borngraced. #2279
  • Improved security of key derivation by validating key material length by @DeckerSU. #2356
  • Ensured consistent Argon2 parameters for wallet encryption/decryption by @shamardy. #2360
  • Fixed path traversal vulnerability in wallet file handling by @shamardy. #2400

Other Changes:

Click to expand
  • Code and Dependencies:

  • Qtum Delegation:

    • Standardized parameter naming by using validator_address for QTUM delegation similar to Cosmos by @onur-ozkan. #2419

NB - Backwards compatibility breaking changes

  • Event streaming model changed from static configuration to API-driven subscription #2172

New Contributors


Full Changelog: v2.3.0-beta...v2.4.0-beta

Checksum & VirusTotal Analysis:

Link SHA256
mm2-c800ea03f-Darwin-Release.zip `70075f752d75bcf00a8a079c9cd9de6742f16c05b9569e9b6abde5ca913db1...
Read more

Komodo DeFi Framework v2.3.0-beta

19 Dec 21:32
v2.3.0-beta
8206c6e

Choose a tag to compare

Release Notes

Full Changelog: v2.2.0-beta...v2.3.0-beta

Checksum & VirusTotal Analysis:

Link SHA256
mm2-8206c6ef6-Darwin-Release.zip 215f40d4ce9d67daebf19bbd6775e0f78b739792efa3dc21f99575000f7a59c2
mm2-8206c6ef6-Linux-Release.zip 1163efd83af247575ed55e11f3128ce5a49a13601712bdb708581db968d28f7a
mm2-8206c6ef6-Win64.zip b2f3dd59f40e3fd8ea46e42350a17ced72b303b8e0203396cf5d13fb08ca76e9
mm2-8206c6ef6-android-aarch64-CI.zip 4fdff1027260f7fe5740802146cf125a64dbf11e9a2af8dfe4b6555f1a7cb7c3
mm2-8206c6ef6-android-armv7-CI.zip e508d27142ab6b5c54568cd1a8c0f73bad6a093f24a3309a1fdb6550e99a8752
mm2-8206c6ef6-ios-aarch64-CI.zip 2a2094fbcaa9ad0026fa819348c4eb44babdaa71064e4f3b947308bd492b45d5
mm2_8206c6ef6-wasm.zip f82e330a8d9bc1c2011604648233922cf216a732858c5a6a935ad77a286b1993

This release was signed by https://keybase.io/deckersu (GPG fingerprint: FD9A 772C 7300 F4C8 94D1 A819 FE50 4808 62E6 451C).

🛡 VirusTotal analysis

Komodo DeFi Framework v2.2.0-beta

22 Nov 17:39
bb749a9

Choose a tag to compare

Custom Token Support and various optimizations

This release introduces significant improvements to connection handling and token support capabilities. Key highlights include an intelligent Electrum client architecture with configurable connection modes, support for custom EVM tokens without pre-configuration, and a robust connection health check system. The release also brings notable stability enhancements to the Cosmos integration and delivers substantial performance optimizations and bug fixes across multiple components.

Release Notes

Features:

  • Custom Tokens Support

    • Support for enabling custom EVM tokens without requiring them to be in the coins config was added by @shamardy. This feature allows users to interact with any ERC20 token by providing the contract address.
    • Relevant PR: #2141
  • Connection Healthcheck

    • Connection healthcheck implementation for peers was introduced by @onur-ozkan.
    • Relevant PR: #2194

Enhancements

  • Electrum Client

    • Electrum client was refactored by @rozhkovdmitrii and @mariocynicys to add min/max connection controls, with server priority based on list order.
    Click to expand details
    • Electrum client can now operate in single-server mode (1,1) to reduce resource usage (especially beneficial for mobile) or multi-server (legacy) mode for reliability.
    • Higher priority servers automatically replace lower priority ones when reconnecting during periodic retries or when connection count drops below minimum.
  • Seed Management

    • A new get_wallet_names RPC was added by @shamardy to retrieve information about all wallet names and the currently active one.
    • Relevant PR: #2202
  • RPC Service

    • OPTIONS requests to KDF server were added by @shamardy
    • Relevant PR: #2191

NB - Backwards compatibility breaking changes

❌ Removals

  • adex-cli 🗑️
    • Status: Removed in v2.2.0-beta
    • Rationale: To be replaced with a simpler, more maintainable implementation
    • Reference: #2234

⚡ API Changes

  • RPC Renaming
    • get_peers_info RPC was renamed to get_directly_connected_peers by @onur-ozkan #2195
  • Cosmos Integration
    • 'rpc_urls' field (previously a list of plain string values) was replaced by @onur-ozkan with 'nodes' (a list of JSON objects) in Cosmos activation payloads. #2173
  • Komodo DeFi Proxy
    • All RPC methods fields controlling komodo-defi-proxy were renamed to 'komodo_proxy' by @onur-ozkan. This affects various activations, including ETH/EVM. #2173

Bug Fixes:

Click to expand
  • NFT integration
    • token_id field was added to the tx history primary key by @laruh #2209
  • Graceful Shutdown
    • CTRL-C signal handling with graceful shutdown was implemented by @onur-ozkan #2213
  • Cosmos Integration
    • Cosmos tx broadcasting error was fixed by @onur-ozkan by upgrading cosmrs to version 15. #2238
    • A bug in Cosmos transaction history address parsing logic was fixed by @onur-ozkan #2245
  • Order Management
    • Cancel order race condition was addressed using time-based cache by @shamardy #2232
  • Legacy Swaps
    • A legacy swap issue was resolved by @laruh where taker spent maker payment transactions were sometimes incorrectly marked as successful when they were actually reverted or not confirmed, particularly in EVM-based swaps. #2199
      • Two new events were added: "MakerPaymentSpendConfirmed" and "MakerPaymentSpendConfirmFailed"
    • A fix was introduced by @shamardy where Takers don't need to confirm their own payment as they can wait for the spending of it straight away. #2249
      • This invalidates this fix #1442, a better solution will be introduced where taker rebroadcasts their transaction if it's not on the chain.
    • A fix was introduced by @shamardy for recover funds for takers when the swap was marked as unsuccessful due to the maker payment spend transaction not being confirmed. #2242
      • The required confirmations from coin config for taker/maker payment spend are now used instead of using 1 confirmation max. This is because some chains require more than 1 confirmation for finality, e.g. Polygon.
  • Swap watchers
    • Taker fee validation retries was fixed by @shamardy to work the same way as for makers. #2263
  • Coins Activation
    • EVM addresses are now displayed in full in iguana v2 activation response by @borngraced #2254
  • HD Wallet
    • Balance is now returned as CoinBalanceMap for both UTXOs and QTUM by @shamardy #2259
    • EVM addresses are displayed in full in get_new_address response after #2264 by @shamardy
  • RPC Service
    • A fix was introduced by @mariocynicys to run rpc request futures till completion in #1966. This ensures RPC request futures complete fully even if clients disconnect, preventing partial state updates and maintaining data consistency.
    • Escaped response body in native RPC was removed by @borngraced #2219
  • Security Enhancements
  • Database
    • Creation of the all-zeroes dir on KDF start was stopped by @shamardy #2218
  • Build Process

Full Changelog: v2.1.0-beta...v2.2.0-beta

Checksum & VirusTotal Analysis:

Link SHA256
mm2-bb749a993-Darwin-Release.zip 62c3ef36cb3cd4fc166d381d7efce6b67d3b5dc62de4080bfb39462c0c4efb48
mm2-bb749a993-Linux-Release.zip e8c4cc2b6fbddc229820e7868591b757e223a47553a66755131330345a624093
mm2-bb749a993-Win64.zip 88a723d584ef10e528b11a16327a6bcdf25867cdb6c7e6afadc77a62c8bed7dc
mm2-bb749a993-android-aarch64-CI.zip bdead61715e5f95e5f1d842691b7ee19b8dc9ef780bc13f1207589214ff0fc24
mm2-bb749a993-android-armv7-CI.zip bfc294ece8481aabedf21b2d3e785eedc9719f066b396da91811427fa857f2b3
mm2-bb749a993-ios-aarch64-CI.zip 545e657f6d15a1bd552e59f6006811f84876ae39837b6b68a39b1eec3094f8dc
mm2_bb749a993-wasm.zip 877d42c9051c060609b969aa3dfa550d73ae24f53153dea08143d820e7d317c7

This release was signed by https://keybase.io/deckersu (GPG fingerprint: FD9A 772C 7300 F4C8 94D1 A819 FE50 4808 62E6 451C).

🛡 VirusTotal analysis
Read more

Komodo DeFi Framework v2.1.0-beta

01 Aug 09:21
35e9239

Choose a tag to compare

Essential New Features: Trading Protocol Upgrade, HD Wallet, Event Streaming, and Seeds Management

This release introduces a range of significant features designed to enhance the framework’s capabilities. The trading protocol has been upgraded to boost the security and reliability of swaps. HD Wallets have been integrated to enhance privacy and streamline address management for both UTXO and EVM chains. Event Streaming has been implemented to provide clients with real-time balance updates, with more real-time events planned for future updates. Seed Management has been enhanced to ensure robust seed generation and storage. These features are complemented by advancements in the NFT feature, expanded chain support for Trezor, fee improvements, ARRR/Pirate support in browser environments, and updates to the Tendermint protocol that facilitate integration with external wallets.

Release Notes

Features:

  • Trading Protocol Upgrade:

    • A major upgrade to the trading protocol (enabled with "use_trading_proto_v2": true) was implemented by @artemii235 in several PRs. This upgrade is currently available only for UTXO/UTXO swaps. All other swap types are not yet supported with this new protocol.
    Click to expand details
    • This upgrade introduces significant enhancements:
      • Immediate refund handling for taker payments, including DEX fee refunds, and subsequent immediate maker payment refunds, effectively solving maker/taker backout issues.
      • New RPCs: my_swap_status, my_recent_swaps, and active_swaps V2.
      • Upgraded swap data is also accessible through V1 RPCs.
      • Important note: Seednodes must be updated to support and rebroadcast new swap protocol messages.
  • HD Wallet:

    • HD wallet functionalities were fully implemented by @shamardy for UTXO and EVM coins, allowing users to enable the feature with "enable_hd": true. For Tendermint and Pirate coins, only a single address is supported, following the BIP32/39/44 standards.
    Click to expand details
    • This implementation simplifies the process of importing mnemonics from other wallets into the Komodo DeFi Framework (KDF), enabling users to retain their balances, transaction history, and more.
    • Users can now manage multiple addresses for UTXO and EVM coins, enhancing flexibility and control. The path_to_address parameter was added to coin activation requests to set the default account'/change/address_index path used for swaps. If not provided, the default path will be 0'/0/0.
    • HD withdrawals from any account'/change/address_index path were added for UTXO, EVM, Tendermint, and ARRR coins.
    • Address scanning for balances is supported through the scan_for_new_addresses RPC, and users can manage their HD wallet with new RPCs such as account_balance, get_new_address, and create_new_account.
    • These RPCs (scan_for_new_addresses, account_balance, get_new_address, and create_new_account) can be managed through the task manager using task::<rpc-name>::(init, cancel, status).
    • For full HD wallet functionalities, including balance scanning and withdrawals, use task manager-enabled methods like task::enable_eth::init, task::enable_qtum::init, task::enable_utxo::init, task::enable_erc20::init, and manage tasks through task::<rpc-name>::(init, cancel, status).
    • Task manager withdrawals are also supported using task::withdraw::init.
  • Event Streaming:

    • Streaming channels using Server-Sent Events (SSE) to continuously send data to clients were implemented by @onur-ozkan in several PRs. This feature supports various event types, including P2P network events, coin balance events, error events, and heartbeat events.
    Click to expand details
    • P2P network events: Streaming real-time updates about the network status.
    • Coin balance events: For UTXOs, EVM, ARRR/Pirate by @borngraced, and Tendermint Protocols, providing continuous balance updates.
    • Error events: Emitted when there's an error in generating an event, ensuring robust monitoring.
    • Heartbeat events: Periodic notifications about the health of the streaming channel.
    • For WebAssembly (Wasm), event streaming uses Shared Workers instead of SSE, enabling a more flexible and efficient event handling mechanism.
      • SharedWorker support was added, allowing any worker path in event_stream_configuration, with a default to event_streaming_worker.js.
      • To handle broadcasted messages from the client side, an event listener must be implemented within the client browser environment to capture and process these events as they are streamed.
    • To utilize this feature, the event_stream_configuration needs to be added to the KDF config before starting.
  • Seed Management:

    • Seed generation, encryption, and storage were implemented by @shamardy, introducing secure methods for seed handling, including strong encryption and key derivation techniques.
    Click to expand details
    • Introduced a new get_mnemonic API for retrieving mnemonics as plaintext or encrypted.
    • Added support for a wallet_name parameter in the configuration, enabling KDF to handle seed management.
      • If wallet_name is used, wallet_password must be provided, allowing for encrypted storage and retrieval of mnemonics.
      • If no mnemonic is provided, a new one is generated, encrypted, and stored.
      • Existing mnemonics can be imported and encrypted, or mnemonics can be imported in an encrypted format.
    • Introduced a global database for storing encrypted mnemonics and wallet names, separate from individual wallet-specific databases.
    • Seed management is fully integrated within KDF when wallet_name config parameter is used, bypassing the need for external mnemonic handling.

NB - Backwards compatibility breaking changes

  • The mm2 binaries have been renamed to kdf, with backward-compatible copies provided for mm2 naming. However, WASM binaries use the kdf naming only, which is a breaking change. #2126 by @shamardy

New Contributors

Full Changelog: v2.0.0-beta...v2.1.0-beta


Enhancements:

Click to expand
  • KMD Burn:
  • Network Enhancements:
    • A new sign_raw_transaction RPC was added for UTXO and EVM coins, facilitating future air-gapped wallet implementations. #1930 by @dimxy
  • Hardware Wallet:
    • Trezor now supports SegWit for withdrawals. #1984 by @dimxy
    • Trezor support was added for EVM coins/tokens using task manager activation methods. #1962 by @dimxy
    • Support for unsigned Tendermint transactions using Ledger's Keplr extension was added, excluding HTLC transactions and swap operations. #2148 by @onur-ozkan
  • NFT Integration:
    • A new clear_nft_db RPC for NFT data management was added, enabling selective or complete NFT DB data clearance. #2039 by @laruh
    • NFT can now be enabled using enable_eth_with_tokens or enable_nft, similar to enable_erc20. #2049 by @laruh
  • Simple Maker Bot:
Read more

Komodo DeFi Framework mm2-af57160

26 Jun 14:52
mm2-af57160
af57160

Choose a tag to compare

Tech Release for Devs (mm2-af57160)

This technical release, which includes an additional WASM version for developers, introduces several key improvements.

Tech Release Tags for Developers

The mm2-[0-9a-f]{7} tags (e.g., mm2-af57160) will be used exclusively for technical development releases. These tags are intended for developers to test and integrate the latest features and improvements.

For regular users, it is recommended to use the standard releases that follow Semantic Versioning (e.g., v1.2.3). These regular releases are more stable and undergo thorough testing to ensure reliability and performance.

Checksum & VirusTotal Analysis:

Link SHA256
mm2_af571608c-wasm.zip d712345f061d60e3c983ff5ee5ded45c3f572c8bed9f97521fe31b4befb2e187

This release was signed by https://keybase.io/deckersu (GPG fingerprint: FD9A 772C 7300 F4C8 94D1 A819 FE50 4808 62E6 451C).

🛡 VirusTotal GitHub Action analysis: