Skip to content

Commit 870257f

Browse files
committed
Try new metadata structure
1 parent e7103f5 commit 870257f

File tree

2 files changed

+11
-17
lines changed

2 files changed

+11
-17
lines changed

src/main/java/uniresolver/driver/did/btc1/beacons/singleton/SingletonBeacon.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
import java.net.URI;
1919
import java.util.Arrays;
20-
import java.util.LinkedHashMap;
20+
import java.util.List;
2121
import java.util.Map;
2222
import java.util.regex.Matcher;
2323
import java.util.regex.Pattern;
@@ -115,8 +115,10 @@ public static DIDUpdate processSingletonBeaconSignal(Tx tx, Map<String, Object>
115115

116116
// Return didUpdatePayload.
117117

118-
Map<String, Map<String, Object>> didDocumentMetadataDidUpdatePayloads = (Map<String, Map<String, Object>>) didDocumentMetadata.computeIfAbsent("didUpdatePayloads", x -> new LinkedHashMap<>());
119-
didDocumentMetadataDidUpdatePayloads.put(tx.txId(), didUpdate.toMap());
118+
List<Map<String, Object>> didDocumentMetadataSignals = (List<Map<String, Object>>) didDocumentMetadata.get("signals");
119+
log.warn(didDocumentMetadataSignals.toString());
120+
Map<String, Object> didDocumentMetadataSignal = didDocumentMetadataSignals.stream().filter(x -> x.get("signalId").equals(tx.txId())).findFirst().get();
121+
didDocumentMetadataSignal.put("updatePayload", didUpdate.toMap());
120122

121123
if (log.isDebugEnabled()) log.debug("processSingletonBeaconSignal: " + didUpdate);
122124
return didUpdate;

src/main/java/uniresolver/driver/did/btc1/crud/read/ResolveTargetDocument.java

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import uniresolver.driver.did.btc1.util.DIDDocumentUtil;
3333
import uniresolver.driver.did.btc1.util.HexUtil;
3434
import uniresolver.driver.did.btc1.util.JSONPatchUtil;
35-
import uniresolver.driver.did.btc1.util.RecordUtil;
3635

3736
import java.net.URI;
3837
import java.nio.charset.StandardCharsets;
@@ -290,9 +289,6 @@ private List<BeaconSignal> findNextSignals(Integer contemporaryBlockheight, List
290289

291290
// For each beacon in beacons:
292291

293-
Map<Integer, Object> didDocumentMetadataNextSignals = (Map<Integer, Object>) didDocumentMetadata.computeIfAbsent("nextSignals", x -> new LinkedHashMap<>());
294-
Map<String, Object> didDocumentMetadataNextSignalsContemporaryBlockHeight = (Map<String, Object>) didDocumentMetadataNextSignals.computeIfAbsent(contemporaryBlockheight, x -> new LinkedHashMap<>());
295-
296292
for (Beacon beacon : beacons) {
297293

298294
if (log.isDebugEnabled()) log.debug("Processing beacon: " + beacon);
@@ -313,11 +309,6 @@ private List<BeaconSignal> findNextSignals(Integer contemporaryBlockheight, List
313309

314310
beaconSpends = beaconSpends.stream().filter(tx -> PATTERN_TXOUT.matcher(tx.txOuts().getLast().asm()).matches()).toList();
315311

316-
List<Map<String, Object>> didDocumentMetadataBeaconSpends = (List<Map<String, Object>>) didDocumentMetadataNextSignalsContemporaryBlockHeight.computeIfAbsent("beaconSpends", x -> new ArrayList<>());
317-
didDocumentMetadataBeaconSpends.add(Map.of(
318-
"beacon", RecordUtil.toMap(beacon),
319-
"beaconSpends", beaconSpends.stream().map(RecordUtil::toMap).toList()));
320-
321312
// For each of the filtered beaconSpends push the following beaconSignal object onto the signals array.
322313

323314
for (Tx beaconSpend : beaconSpends) {
@@ -332,11 +323,15 @@ private List<BeaconSignal> findNextSignals(Integer contemporaryBlockheight, List
332323
beaconSpendsBlocks.get(beaconSpend).blockTime());
333324

334325
beaconSignals.add(beaconSignal);
326+
327+
List<Map<String, Object>> didDocumentMetadataSignals = (List<Map<String, Object>>) didDocumentMetadata.computeIfAbsent("signals", x -> new ArrayList<>());
328+
Map<String, Object> didDocumentMetadataSignal = new LinkedHashMap<>();
329+
didDocumentMetadataSignals.add(didDocumentMetadataSignal);
330+
didDocumentMetadataSignal.put("signalId", beaconSpend.txId());
331+
didDocumentMetadataSignal.put("blockheight", beaconSpendsBlocks.get(beaconSpend).blockHeight());
335332
}
336333
}
337334

338-
didDocumentMetadataNextSignalsContemporaryBlockHeight.put("beaconSignals", beaconSignals.stream().map(RecordUtil::toMap).toList());
339-
340335
// If signals is empty, return signals.
341336

342337
if (beaconSignals.isEmpty()) return beaconSignals;
@@ -350,9 +345,6 @@ private List<BeaconSignal> findNextSignals(Integer contemporaryBlockheight, List
350345
Integer lowestBlockHeight = orderedBeaconSignals.getFirst().blockheight();
351346
List<BeaconSignal> nextSignals = orderedBeaconSignals.stream().filter(x -> Objects.equals(x.blockheight(), lowestBlockHeight)).toList();
352347

353-
didDocumentMetadataNextSignalsContemporaryBlockHeight.put("lowestBlockHeight", lowestBlockHeight);
354-
didDocumentMetadataNextSignalsContemporaryBlockHeight.put("nextSignals", nextSignals.stream().map(RecordUtil::toMap).toList());
355-
356348
// Return nextSignals.
357349

358350
if (log.isDebugEnabled()) log.debug("findNextSignals: " + nextSignals);

0 commit comments

Comments
 (0)