mirror of
https://github.com/comit-network/xmr-btc-swap.git
synced 2025-12-17 09:34:16 -05:00
* mvp * only redial if DisconnectedAndNotDialing * progress * progress * progress * some progress * progress * extract common logic into behaviour_util::ConnectionTracker * extract common logic into BackoffTracker helper struct * add comment in quote::background behaviour * BackoffTracker rename get_backoff to get(...) * cleanup, fix some things that got lost during rebase * properly propagate quote::background ToSwarm events * actually persist event loop, add quotes and rendezvous::discovery to cli behaviour * some progress, cleanup, comments * progress * redial all peers that we dont know dont support quote, use quotes_cached behaviour in example, add remove_peer(...) to redial behaviour, don't redial discovered rendezvous peers * remove old todo * quotes_cached.rs: cache last connected endpoint * rename: add_peer_address -> queue_peer_address * extract p2p defaults into swap-p2p/defaults.rs * split rendezvous.rs into two sub-modules * remove unused bob::BackgroundQuoteReceived * replace usage of list_sellers with event loop * prune: remove list_sellers command * use backoff helper in swap-p2p/src/protocols/quotes.rs * refactor rendezvous::register behaviour, getting some unit tests working again * add all peer addresses to the swarm on init * less agressive redials * extract magic backoff numbers * proof of concept: drill tracing span into event loop through channels * add BackoffTracker::increment, re-schedule register when we lose connection to rendezvous point * fetch identify version and propagate into UI * forbid private/local/loopback ip addresses to be shared/accepted through Identify * remove legacy list_sellers code * ensure uuids are unique for alice during swap_setup * formatting and nitpicks * fix: allow multiple swap setup requests over the same connection handler * small cleanups * fix: protocols/quotes.rs unit tests * revert: listen on 0.0.0.0 for asb p2p * propagate handle_pending_inbound_connection and handle_pending_outbound_connection to identify patch source * replace loop with repeated return Poll::Ready in discovery.rs * format * MultiAddrVecExt trait, emit rendezvous addresses to rendezvous-node swarm * fix: strictly disallow concurrent swap setup requests for the same swap on the same connection * fix tests etc * remove slop from futures_util.rs * address some comments * behaviour_util.rs: track inflight dials, add tests, return Some(peer_id) if internal state was changed * replace boring-avatars with jidenticon * feat: add peer discovery status dialog * remove buy-xmr cli command, remove "sellers" arg for BuyXmrArgs, add changelog * disable body overscroll * add changelog for jidenticon * increase quote fetch interval to 45s * fix rendezvous::register_and_discover_together test
31 lines
1.2 KiB
TypeScript
31 lines
1.2 KiB
TypeScript
import { ExtendedMakerStatus, Maker } from "models/apiModel";
|
|
import { Multiaddr } from "multiaddr";
|
|
import semver from "semver";
|
|
import { isTestnet } from "store/config";
|
|
|
|
// const MIN_ASB_VERSION = "1.0.0-alpha.1" // First version to support new libp2p protocol
|
|
// const MIN_ASB_VERSION = "1.1.0-rc.3" // First version with support for bdk > 1.0
|
|
// const MIN_ASB_VERSION = "2.0.0-beta.1"; // First version with support for tx_early_refund
|
|
const MIN_ASB_VERSION = "3.2.0-rc.1";
|
|
|
|
export function isMakerOnCorrectNetwork(
|
|
provider: ExtendedMakerStatus,
|
|
): boolean {
|
|
return provider.testnet === isTestnet();
|
|
}
|
|
|
|
export function isMakerOutdated(maker: ExtendedMakerStatus): boolean {
|
|
if (maker.version != null) {
|
|
if (isMakerVersionOutdated(maker.version)) return true;
|
|
}
|
|
|
|
// Do not mark a maker as outdated if it doesn't have a version
|
|
return false;
|
|
}
|
|
|
|
export function isMakerVersionOutdated(version: string): boolean {
|
|
// This checks if the version is less than the minimum version
|
|
// we use .compare(...) instead of .satisfies(...) because satisfies(...)
|
|
// does not work with pre-release versions
|
|
return semver.compare(version, MIN_ASB_VERSION) === -1;
|
|
}
|