Compare commits
3 Commits
v1.4.0
...
ac168c3689
| Author | SHA1 | Date | |
|---|---|---|---|
| ac168c3689 | |||
| 8f9a11c4e8 | |||
| 63f50d5762 |
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "g1flux",
|
"name": "g1flux",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.4.0",
|
"version": "1.4.1",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
* Pour activer : définir VITE_USE_LIVE_API=true dans .env.local
|
* Pour activer : définir VITE_USE_LIVE_API=true dans .env.local
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { fetchTransfers, buildIdentityKeyMap, fetchCurrentUD } from './adapters/SubsquidAdapter';
|
import { fetchTransfers, buildIdentityKeyMap, fetchCurrentUD, ss58ToDuniterKey } from './adapters/SubsquidAdapter';
|
||||||
import { resolveGeoByKeys, cleanCityName } from './adapters/CesiumAdapter';
|
import { resolveGeoByKeys, cleanCityName } from './adapters/CesiumAdapter';
|
||||||
import {
|
import {
|
||||||
getTransactionsForPeriod,
|
getTransactionsForPeriod,
|
||||||
@@ -69,9 +69,14 @@ async function fetchLiveTransactions(periodDays: number): Promise<{
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Clés Duniter uniques des émetteurs ET destinataires (un seul appel Cesium+)
|
// Clés Duniter uniques des émetteurs ET destinataires (un seul appel Cesium+)
|
||||||
|
// Pour les membres WoT : via keyMap (genesis key = _id Cesium+)
|
||||||
|
// Pour les non-membres : conversion directe SS58 → Duniter key
|
||||||
|
const resolveKey = (ss58: string): string =>
|
||||||
|
keyMap.get(ss58) ?? ss58ToDuniterKey(ss58);
|
||||||
|
|
||||||
const allDuniterKeys = [...new Set([
|
const allDuniterKeys = [...new Set([
|
||||||
...rawTransfers.map((t) => keyMap.get(t.fromId)),
|
...rawTransfers.map((t) => t.fromId ? resolveKey(t.fromId) : undefined),
|
||||||
...rawTransfers.map((t) => keyMap.get(t.toId)),
|
...rawTransfers.map((t) => t.toId ? resolveKey(t.toId) : undefined),
|
||||||
].filter(Boolean) as string[])];
|
].filter(Boolean) as string[])];
|
||||||
|
|
||||||
// Résolution géo par clé Duniter (_id Cesium+)
|
// Résolution géo par clé Duniter (_id Cesium+)
|
||||||
@@ -89,7 +94,7 @@ async function fetchLiveTransactions(periodDays: number): Promise<{
|
|||||||
const arcs: TransactionArc[] = [];
|
const arcs: TransactionArc[] = [];
|
||||||
|
|
||||||
for (const t of rawTransfers) {
|
for (const t of rawTransfers) {
|
||||||
const fromDuniterKey = keyMap.get(t.fromId);
|
const fromDuniterKey = t.fromId ? resolveKey(t.fromId) : undefined;
|
||||||
if (!fromDuniterKey) continue;
|
if (!fromDuniterKey) continue;
|
||||||
const fromGeo = geoMap.get(fromDuniterKey);
|
const fromGeo = geoMap.get(fromDuniterKey);
|
||||||
if (!fromGeo) continue;
|
if (!fromGeo) continue;
|
||||||
@@ -110,7 +115,7 @@ async function fetchLiveTransactions(periodDays: number): Promise<{
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Arc : les deux extrémités géolocalisées + villes différentes
|
// Arc : les deux extrémités géolocalisées + villes différentes
|
||||||
const toDuniterKey = keyMap.get(t.toId);
|
const toDuniterKey = t.toId ? resolveKey(t.toId) : undefined;
|
||||||
if (!toDuniterKey) continue;
|
if (!toDuniterKey) continue;
|
||||||
const toGeo = geoMap.get(toDuniterKey);
|
const toGeo = geoMap.get(toDuniterKey);
|
||||||
if (!toGeo) continue;
|
if (!toGeo) continue;
|
||||||
|
|||||||
Reference in New Issue
Block a user