Conversation
* add time validation core logic Signed-off-by: onur-ozkan <work@onurozkan.dev> * nit fixes Signed-off-by: onur-ozkan <work@onurozkan.dev> * handle time gap Signed-off-by: onur-ozkan <work@onurozkan.dev> * improve logging Signed-off-by: onur-ozkan <work@onurozkan.dev> * add more trackable processing logs Signed-off-by: onur-ozkan <work@onurozkan.dev> * improve info log and remove debugging leftover Signed-off-by: onur-ozkan <work@onurozkan.dev> * rename `NetworkInfoRequest` to `PeerInfoRequest` Signed-off-by: onur-ozkan <work@onurozkan.dev> * handle recently dialed peers Signed-off-by: onur-ozkan <work@onurozkan.dev> * add useful logs Signed-off-by: onur-ozkan <work@onurozkan.dev> * create function for pre-dial check Signed-off-by: onur-ozkan <work@onurozkan.dev> * set max cap for timestamp channel Signed-off-by: onur-ozkan <work@onurozkan.dev> * remove leftover Signed-off-by: onur-ozkan <work@onurozkan.dev> * use `Multiaddr` as key Signed-off-by: onur-ozkan <work@onurozkan.dev> * fix p2p tests Signed-off-by: onur-ozkan <work@onurozkan.dev> * update logs Signed-off-by: onur-ozkan <work@onurozkan.dev> * rename leftovers Signed-off-by: onur-ozkan <work@onurozkan.dev> * update timing values Signed-off-by: onur-ozkan <work@onurozkan.dev> * minor fixes Signed-off-by: onur-ozkan <work@onurozkan.dev> * update pre dial check calls Signed-off-by: onur-ozkan <work@onurozkan.dev> * apply nit fixes Signed-off-by: onur-ozkan <work@onurozkan.dev> * don't update existing expiries Signed-off-by: onur-ozkan <work@onurozkan.dev> * revert breakage Signed-off-by: onur-ozkan <work@onurozkan.dev> --------- Signed-off-by: onur-ozkan <work@onurozkan.dev>
* handle p2p features properly Signed-off-by: onur-ozkan <work@onurozkan.dev> * use `PeerId` type for timestamp channel straight away Signed-off-by: onur-ozkan <work@onurozkan.dev> --------- Signed-off-by: onur-ozkan <work@onurozkan.dev>
* update wasm build for docker * lock wasm-pack version on build runners Signed-off-by: onur-ozkan <work@onurozkan.dev> --------- Signed-off-by: onur-ozkan <work@onurozkan.dev> Co-authored-by: onur-ozkan <work@onurozkan.dev>
…#2295) * add feature flag to mm2_main and mm2_bin_lib tomls * filter 'status:' pr labels * remove old labels * dont allow to pass blocked and invalid statuses * pass in progress and pending review statuses * update statuses list
* switch to proper rust caching Signed-off-by: onur-ozkan <work@onurozkan.dev> * fix linting Signed-off-by: onur-ozkan <work@onurozkan.dev> * rename cargo-cache to build-cache Signed-off-by: onur-ozkan <work@onurozkan.dev> * try caching Signed-off-by: onur-ozkan <work@onurozkan.dev> * switch to rust-cache Signed-off-by: onur-ozkan <work@onurozkan.dev> --------- Signed-off-by: onur-ozkan <work@onurozkan.dev>
* remove unnecessary Arc< The inners are already `Arc<`ed * eth websocket: avoid locking control message sender and clone it instead * review(sami): move tx declaration close to where it's being used * review(sami): free rx end out of the Arc and arc the entire controller channel instead
Signed-off-by: onur-ozkan <work@onurozkan.dev>
* unlock wasm-pack version Signed-off-by: onur-ozkan <work@onurozkan.dev> * force yes on docker build Signed-off-by: onur-ozkan <work@onurozkan.dev> --------- Signed-off-by: onur-ozkan <work@onurozkan.dev>
* fix peer response error log (only if error) * add test for peer time difference validation * fix linux clippy * Revert "fix linux clippy" This reverts commit 2bfe34c. * Revert "add test for peer time difference validation" This reverts commit c8d1165. * Revert "fix peer response error log (only if error)" This reverts commit b6d6fbc. * add docker test for peer time sync validation * remove unneeded test println * use Mm2TestConf::seednode * review(borngraced): refactor get_utc_timestamp with test code * use const in peer time sync test
* Validate Cargo.lock * Revert "Validate Cargo.lock" and add validate-cargo-lock.yml * review: run only `cargo update` and simplify yml
* save dev state Signed-off-by: onur-ozkan <work@onurozkan.dev> * save dev state Signed-off-by: onur-ozkan <work@onurozkan.dev> * make proto types serializable for RPC endpoint Signed-off-by: onur-ozkan <work@onurozkan.dev> * remove dummy test Signed-off-by: onur-ozkan <work@onurozkan.dev> * add RPC error type Signed-off-by: onur-ozkan <work@onurozkan.dev> * add TODO Signed-off-by: onur-ozkan <work@onurozkan.dev> * fix status filtering Signed-off-by: onur-ozkan <work@onurozkan.dev> * fix clippy warn Signed-off-by: onur-ozkan <work@onurozkan.dev> * resolve `todo!()`s Signed-off-by: onur-ozkan <work@onurozkan.dev> * remove inline attribute Signed-off-by: onur-ozkan <work@onurozkan.dev> * improve `validators_rpc` Signed-off-by: onur-ozkan <work@onurozkan.dev> * add coverage for tendermint_validators RPC Signed-off-by: onur-ozkan <work@onurozkan.dev> * apply nit changes Signed-off-by: onur-ozkan <work@onurozkan.dev> * document `ValidatorStatus` Signed-off-by: onur-ozkan <work@onurozkan.dev> * use proper error variant on coin filtering Signed-off-by: onur-ozkan <work@onurozkan.dev> * apply nits Signed-off-by: onur-ozkan <work@onurozkan.dev> --------- Signed-off-by: onur-ozkan <work@onurozkan.dev>
…ut (#2283) This commit moves payment existence check in maker_payment/send_taker_payment before timeout validation and skips timeout if payment is already sent, as the taker swap should proceed to waiting for maker to spend the taker payment.
Fixes an issue where passphrases were incorrectly validated as BIP39 mnemonics during storage decryption. Now, passphrases no longer require bip39 validation.
This commit makes the build script straightforward and more stable without causing cache invalidation. The final versioning output remains as is, but the implementation side is robust than ever.
Bumps libp2p from k-0.52.11 to k-0.52.12 to fix build problems on IOS platform.
Adds tendermint protocol support on add_delegation RPC, and extends tendermint transaction history implementation to support delegation transactions.
We now enforce fixed-length byte arrays instead of indexing slices. This prevents unhandled panics when incoming slices are too short. - Replaced slice indexing with safe fixed-size array creation. - Removed methods that relied on unchecked slice indexing. - Ensured each code path now handles invalid lengths gracefully. Closes #2275
Refactor event streaming to support dynamic client subscriptions over RPC using a unified StreamingManager. The StreamingManager now orchestrates background streamers by initializing a streamer when a client activates it via the RPC API and shutting it down when no longer needed. Legacy fee estimator endpoints have been replaced with streaming RPC methods, and new task manager RPCs for BCH and Tendermint have been added. Additionally, event stream configuration has been migrated from static JSON settings to runtime API initialization for improved flexibility.
…2333) This fixes `task::withdraw::init` for non-trezor utxo withdraws as it was failing with "error_data": "NoTrezorDeviceAvailable". It also allows the user to withdraw from any address in the HD wallet using `task::withdraw::init` instead of only the activated address.
Adds tendermint protocol support on remove_delegation RPC, and extends tendermint transaction history implementation to support undelegate transactions.
) This commit also provides EthCoin support in kickstart handler for taker and maker swaps #2300
This commit provides swap protocol versioning with a fallback to legacy swap protocol if any of the swap parties uses it.
Adds a burn output sending 25% of the taker DEX fee to a dedicated pre-burn address. Funds collected on the pre-burn address will be traded for KMD to burn them (thus additionally burning KMD supply).
The first commit in a series of commits related to database architecture changes. Changes here won't have effect on builds since they are guarded with a new-db-arch feature flag. This adds some utility methods in the context to get the global & wallet & address databases and data directories. Also adds some concrete usages of the global db.
…ion (#2412) Was fixed by faking the accepted server version to an unrealistic number then re-mocking it with 1.4 again to test failure and success cases.
Previously it was not possible to query history of Tendermint tokens. This commit makes that possible. It also breaks the tx-history logic due to the new internal ID computation. But still users will not notice this change as it will be handled silently in the background.
DeckerSU
previously approved these changes
Apr 14, 2025
DeckerSU
left a comment
There was a problem hiding this comment.
LGTM. The security review of #2345 is complete. All new and updated dependencies were checked, and no malicious code was found. However, the newly introduced KDF/MM2 logic wasn’t reviewed in full—only the new seed derivation, storage, encryption, and decryption procedures were examined, and they appear to be fine for now.
This commit fixes the inconsistency in how startup failures are handled between the native and WASM implementations of mm2_main. Additionally, mm2_main in wasm now return a Promise (async fn with Result<i8, JsValue>).
… file extension (#2400) This commit adds validation in wallet_file_path to only allow alphanumeric characters, dash, and underscore in wallet names. Changes wallet file extension from .dat to .json to better reflect content and adds password policy to mnemonic passwords by default unless allow_weak_password is set to true.
v2.3.0-beta changelogs were missing, so they are added in this commit too.
Also removes Nomics as it was shutdown.
Now uses `validator_address` similar to Cosmos.
From `blockchain.transaction.get` verbose txs
…streaming (#2431) We need to initially register the addresses we wanna get balance notification for. We used to do that in the past at coin enablement time (since event streaming config was static and doesn't change at runtime), that was removed since it doesn't make sense with runtime enabled/disabled streaming. But was never replaced with the appropriate logic to register these addresses once the streamer was enabled. This commit registers our addresses with the event streamer on initialization so it could track them.
smk762
previously approved these changes
May 1, 2025
Adds changelogs for latest commits that were not included in #2415
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
v2.4.0-beta - 2025-04-15
Features:
Experimental Namespace:
Event Streaming:
Cosmos Staking:
Enhancements/Fixes:
Event Streaming:
Peer-to-Peer Network:
Trading Protocol Improvements:
is_successfield to legacy swap status response, making success state more explicit #2371Tendermint/Cosmos Improvements:
Wallet Improvements:
FIRO Integration:
Pirate/ARRR Integration:
Database and File System Improvements:
RPC Enhancements:
NFT integration #900:
update_nftto work correctly with HD wallets using the enabled address #2386withdraw_nftmethod to work correctly in HD mode #2424Simple Maker Bot #1065:
UTXO Improvements:
blockchain.transaction.getverbose transactions #2423Qtum Delegation:
validator_addressfor QTUM delegation similar to Cosmos #2419Security Fixes:
Other Changes:
Code and Dependencies:
Build and Testing Improvements:
feat/swapstatus-is-success#2371NB - Backwards compatibility breaking changes: