Add search addresses from cross networks feature

This commit is contained in:
natsee
2023-12-31 23:23:53 +01:00
parent bd34d71d8b
commit 3e1b85e32c
5 changed files with 79 additions and 28 deletions

View File

@@ -1,3 +1,5 @@
import { Env } from '../services/state.service';
// all base58 characters
const BASE58_CHARS = `[a-km-zA-HJ-NP-Z1-9]`;
@@ -148,6 +150,41 @@ export function findOtherNetworks(address: string, skipNetwork: Network): {netwo
.map(([, network]) => ({ network, address }));
}
export function needBaseModuleChange(fromBaseModule: 'mempool' | 'liquid' | 'bisq', toNetwork: Network): boolean {
if (!toNetwork) return false; // No target network means no change needed
if (fromBaseModule === 'mempool') {
return toNetwork !== 'mainnet' && toNetwork !== 'testnet' && toNetwork !== 'signet';
}
if (fromBaseModule === 'liquid') {
return toNetwork !== 'liquid' && toNetwork !== 'liquidtestnet';
}
if (fromBaseModule === 'bisq') {
return toNetwork !== 'bisq';
}
}
export function getTargetUrl(toNetwork: Network, address: string, env: Env): string {
let targetUrl = '';
if (toNetwork === 'liquid' || toNetwork === 'liquidtestnet') {
targetUrl = env.LIQUID_WEBSITE_URL;
targetUrl += (toNetwork === 'liquidtestnet' ? '/testnet' : '');
targetUrl += '/address/';
targetUrl += address;
}
if (toNetwork === 'bisq') {
targetUrl = env.BISQ_WEBSITE_URL;
targetUrl += '/address/';
targetUrl += address;
}
if (toNetwork === 'mainnet' || toNetwork === 'testnet' || toNetwork === 'signet') {
targetUrl = env.MEMPOOL_WEBSITE_URL;
targetUrl += (toNetwork === 'mainnet' ? '' : `/${toNetwork}`);
targetUrl += '/address/';
targetUrl += address;
}
return targetUrl;
}
export function getRegex(type: RegexTypeNoAddrNoBlockHash): RegExp;
export function getRegex(type: 'address', network: Network): RegExp;
export function getRegex(type: 'blockhash', network: Network): RegExp;