diff --git a/Frontend/src/lib/ipfs-fallback-analytics.ts b/Frontend/src/lib/ipfs-fallback-analytics.ts new file mode 100644 index 00000000..9be925f5 --- /dev/null +++ b/Frontend/src/lib/ipfs-fallback-analytics.ts @@ -0,0 +1,9 @@ +export class IpfsFallbackAnalytics { + private fallbacks: Record = {}; + logGatewayFailure(gateway: string) { + this.fallbacks[gateway] = (this.fallbacks[gateway] || 0) + 1; + } + getReport() { + return this.fallbacks; + } +} diff --git a/Frontend/src/lib/wallet-clustering.ts b/Frontend/src/lib/wallet-clustering.ts new file mode 100644 index 00000000..b13bac01 --- /dev/null +++ b/Frontend/src/lib/wallet-clustering.ts @@ -0,0 +1,10 @@ +export function detectAddressClusters(addresses: string[]): string[][] { + // Basic clustering algorithm grouping addresses by network prefix + const groups: Record = {}; + addresses.forEach(addr => { + const prefix = addr.slice(0, 4); + groups[prefix] = groups[prefix] || []; + groups[prefix].push(addr); + }); + return Object.values(groups); +}