@optimystic/db-p2p 0.2.3 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/cluster/block-transfer-service.d.ts +66 -0
- package/dist/src/cluster/block-transfer-service.d.ts.map +1 -0
- package/dist/src/cluster/block-transfer-service.js +166 -0
- package/dist/src/cluster/block-transfer-service.js.map +1 -0
- package/dist/src/cluster/block-transfer.d.ts +65 -0
- package/dist/src/cluster/block-transfer.d.ts.map +1 -0
- package/dist/src/cluster/block-transfer.js +208 -0
- package/dist/src/cluster/block-transfer.js.map +1 -0
- package/dist/src/cluster/cluster-repo.d.ts +23 -4
- package/dist/src/cluster/cluster-repo.d.ts.map +1 -1
- package/dist/src/cluster/cluster-repo.js +119 -39
- package/dist/src/cluster/cluster-repo.js.map +1 -1
- package/dist/src/cluster/rebalance-monitor.d.ts +64 -0
- package/dist/src/cluster/rebalance-monitor.d.ts.map +1 -0
- package/dist/src/cluster/rebalance-monitor.js +157 -0
- package/dist/src/cluster/rebalance-monitor.js.map +1 -0
- package/dist/src/cluster/service.js +1 -1
- package/dist/src/cluster/service.js.map +1 -1
- package/dist/src/dispute/arbitrator-selection.d.ts +10 -0
- package/dist/src/dispute/arbitrator-selection.d.ts.map +1 -0
- package/dist/src/dispute/arbitrator-selection.js +22 -0
- package/dist/src/dispute/arbitrator-selection.js.map +1 -0
- package/dist/src/dispute/client.d.ts +17 -0
- package/dist/src/dispute/client.d.ts.map +1 -0
- package/dist/src/dispute/client.js +28 -0
- package/dist/src/dispute/client.js.map +1 -0
- package/dist/src/dispute/dispute-service.d.ts +83 -0
- package/dist/src/dispute/dispute-service.d.ts.map +1 -0
- package/dist/src/dispute/dispute-service.js +368 -0
- package/dist/src/dispute/dispute-service.js.map +1 -0
- package/dist/src/dispute/engine-health-monitor.d.ts +22 -0
- package/dist/src/dispute/engine-health-monitor.d.ts.map +1 -0
- package/dist/src/dispute/engine-health-monitor.js +75 -0
- package/dist/src/dispute/engine-health-monitor.js.map +1 -0
- package/dist/src/dispute/index.d.ts +7 -0
- package/dist/src/dispute/index.d.ts.map +1 -0
- package/dist/src/dispute/index.js +7 -0
- package/dist/src/dispute/index.js.map +1 -0
- package/dist/src/dispute/service.d.ts +41 -0
- package/dist/src/dispute/service.d.ts.map +1 -0
- package/dist/src/dispute/service.js +82 -0
- package/dist/src/dispute/service.js.map +1 -0
- package/dist/src/dispute/types.d.ts +106 -0
- package/dist/src/dispute/types.d.ts.map +1 -0
- package/dist/src/dispute/types.js +7 -0
- package/dist/src/dispute/types.js.map +1 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/libp2p-key-network.d.ts +23 -2
- package/dist/src/libp2p-key-network.d.ts.map +1 -1
- package/dist/src/libp2p-key-network.js +100 -15
- package/dist/src/libp2p-key-network.js.map +1 -1
- package/dist/src/libp2p-node-base.d.ts +6 -0
- package/dist/src/libp2p-node-base.d.ts.map +1 -1
- package/dist/src/libp2p-node-base.js +67 -13
- package/dist/src/libp2p-node-base.js.map +1 -1
- package/dist/src/logger.d.ts +1 -0
- package/dist/src/logger.d.ts.map +1 -1
- package/dist/src/logger.js +2 -0
- package/dist/src/logger.js.map +1 -1
- package/dist/src/network/network-manager-service.d.ts +15 -4
- package/dist/src/network/network-manager-service.d.ts.map +1 -1
- package/dist/src/network/network-manager-service.js +33 -20
- package/dist/src/network/network-manager-service.js.map +1 -1
- package/dist/src/protocol-client.d.ts +1 -0
- package/dist/src/protocol-client.d.ts.map +1 -1
- package/dist/src/protocol-client.js +23 -2
- package/dist/src/protocol-client.js.map +1 -1
- package/dist/src/repo/client.d.ts +1 -0
- package/dist/src/repo/client.d.ts.map +1 -1
- package/dist/src/repo/client.js +18 -1
- package/dist/src/repo/client.js.map +1 -1
- package/dist/src/repo/cluster-coordinator.d.ts +3 -1
- package/dist/src/repo/cluster-coordinator.d.ts.map +1 -1
- package/dist/src/repo/cluster-coordinator.js +42 -2
- package/dist/src/repo/cluster-coordinator.js.map +1 -1
- package/dist/src/repo/coordinator-repo.d.ts +20 -4
- package/dist/src/repo/coordinator-repo.d.ts.map +1 -1
- package/dist/src/repo/coordinator-repo.js +67 -11
- package/dist/src/repo/coordinator-repo.js.map +1 -1
- package/dist/src/repo/service.d.ts +18 -2
- package/dist/src/repo/service.d.ts.map +1 -1
- package/dist/src/repo/service.js +88 -91
- package/dist/src/repo/service.js.map +1 -1
- package/dist/src/reputation/index.d.ts +3 -0
- package/dist/src/reputation/index.d.ts.map +1 -0
- package/dist/src/reputation/index.js +3 -0
- package/dist/src/reputation/index.js.map +1 -0
- package/dist/src/reputation/peer-reputation.d.ts +23 -0
- package/dist/src/reputation/peer-reputation.d.ts.map +1 -0
- package/dist/src/reputation/peer-reputation.js +121 -0
- package/dist/src/reputation/peer-reputation.js.map +1 -0
- package/dist/src/reputation/types.d.ts +89 -0
- package/dist/src/reputation/types.d.ts.map +1 -0
- package/dist/src/reputation/types.js +42 -0
- package/dist/src/reputation/types.js.map +1 -0
- package/dist/src/storage/arachnode-fret-adapter.d.ts +5 -0
- package/dist/src/storage/arachnode-fret-adapter.d.ts.map +1 -1
- package/dist/src/storage/arachnode-fret-adapter.js +10 -0
- package/dist/src/storage/arachnode-fret-adapter.js.map +1 -1
- package/dist/src/storage/block-storage.d.ts.map +1 -1
- package/dist/src/storage/block-storage.js +5 -0
- package/dist/src/storage/block-storage.js.map +1 -1
- package/dist/src/storage/storage-repo.d.ts.map +1 -1
- package/dist/src/storage/storage-repo.js +8 -0
- package/dist/src/storage/storage-repo.js.map +1 -1
- package/package.json +11 -10
- package/src/cluster/block-transfer-service.ts +231 -0
- package/src/cluster/block-transfer.ts +265 -0
- package/src/cluster/cluster-repo.ts +148 -42
- package/src/cluster/rebalance-monitor.ts +223 -0
- package/src/dispute/arbitrator-selection.ts +28 -0
- package/src/dispute/client.ts +41 -0
- package/src/dispute/dispute-service.ts +456 -0
- package/src/dispute/engine-health-monitor.ts +86 -0
- package/src/dispute/index.ts +17 -0
- package/src/dispute/service.ts +119 -0
- package/src/dispute/types.ts +114 -0
- package/src/index.ts +5 -0
- package/src/libp2p-key-network.ts +120 -22
- package/src/libp2p-node-base.ts +78 -14
- package/src/logger.ts +2 -1
- package/src/network/network-manager-service.ts +47 -16
- package/src/protocol-client.ts +29 -7
- package/src/repo/client.ts +20 -6
- package/src/repo/cluster-coordinator.ts +43 -2
- package/src/repo/coordinator-repo.ts +77 -14
- package/src/repo/redirect.ts +0 -2
- package/src/repo/service.ts +95 -87
- package/src/reputation/index.ts +12 -0
- package/src/reputation/peer-reputation.ts +147 -0
- package/src/reputation/types.ts +117 -0
- package/src/storage/arachnode-fret-adapter.ts +11 -0
- package/src/storage/block-storage.ts +6 -0
- package/src/storage/storage-repo.ts +9 -0
- package/dist/index.min.js +0 -53
- package/dist/index.min.js.map +0 -7
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { DEFAULT_PENALTY_WEIGHTS, DEFAULT_THRESHOLDS, } from './types.js';
|
|
2
|
+
import { createLogger } from '../logger.js';
|
|
3
|
+
const log = createLogger('peer-reputation');
|
|
4
|
+
export class PeerReputationService {
|
|
5
|
+
peers = new Map();
|
|
6
|
+
halfLifeMs;
|
|
7
|
+
thresholds;
|
|
8
|
+
weights;
|
|
9
|
+
maxPenaltiesPerPeer;
|
|
10
|
+
constructor(config) {
|
|
11
|
+
this.halfLifeMs = config?.halfLifeMs ?? 30 * 60_000;
|
|
12
|
+
this.thresholds = {
|
|
13
|
+
...DEFAULT_THRESHOLDS,
|
|
14
|
+
...config?.thresholds,
|
|
15
|
+
};
|
|
16
|
+
this.weights = {
|
|
17
|
+
...DEFAULT_PENALTY_WEIGHTS,
|
|
18
|
+
...config?.weights,
|
|
19
|
+
};
|
|
20
|
+
this.maxPenaltiesPerPeer = config?.maxPenaltiesPerPeer ?? 100;
|
|
21
|
+
}
|
|
22
|
+
reportPeer(peerId, reason, context) {
|
|
23
|
+
const record = this.getOrCreateRecord(peerId);
|
|
24
|
+
const weight = this.weights[reason];
|
|
25
|
+
const penalty = {
|
|
26
|
+
reason,
|
|
27
|
+
weight,
|
|
28
|
+
timestamp: Date.now(),
|
|
29
|
+
context,
|
|
30
|
+
};
|
|
31
|
+
record.penalties.push(penalty);
|
|
32
|
+
record.lastPenalty = penalty.timestamp;
|
|
33
|
+
this.pruneRecord(record);
|
|
34
|
+
const score = this.computeScore(record);
|
|
35
|
+
log('report peerId=%s reason=%s weight=%d score=%d context=%s', peerId.substring(0, 12), reason, weight, Math.round(score), context ?? '');
|
|
36
|
+
}
|
|
37
|
+
recordSuccess(peerId) {
|
|
38
|
+
const record = this.getOrCreateRecord(peerId);
|
|
39
|
+
record.successCount++;
|
|
40
|
+
record.lastSuccess = Date.now();
|
|
41
|
+
}
|
|
42
|
+
getScore(peerId) {
|
|
43
|
+
const record = this.peers.get(peerId);
|
|
44
|
+
if (!record)
|
|
45
|
+
return 0;
|
|
46
|
+
return this.computeScore(record);
|
|
47
|
+
}
|
|
48
|
+
isBanned(peerId) {
|
|
49
|
+
return this.getScore(peerId) >= this.thresholds.ban;
|
|
50
|
+
}
|
|
51
|
+
isDeprioritized(peerId) {
|
|
52
|
+
return this.getScore(peerId) >= this.thresholds.deprioritize;
|
|
53
|
+
}
|
|
54
|
+
getReputation(peerId) {
|
|
55
|
+
const score = this.getScore(peerId);
|
|
56
|
+
const record = this.peers.get(peerId);
|
|
57
|
+
return {
|
|
58
|
+
peerId,
|
|
59
|
+
effectiveScore: score,
|
|
60
|
+
isBanned: score >= this.thresholds.ban,
|
|
61
|
+
isDeprioritized: score >= this.thresholds.deprioritize,
|
|
62
|
+
penaltyCount: record?.penalties.length ?? 0,
|
|
63
|
+
successCount: record?.successCount ?? 0,
|
|
64
|
+
lastPenalty: record?.lastPenalty ?? 0,
|
|
65
|
+
lastSuccess: record?.lastSuccess ?? 0,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
getAllReputations() {
|
|
69
|
+
const result = new Map();
|
|
70
|
+
for (const peerId of this.peers.keys()) {
|
|
71
|
+
result.set(peerId, this.getReputation(peerId));
|
|
72
|
+
}
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
75
|
+
resetPeer(peerId) {
|
|
76
|
+
this.peers.delete(peerId);
|
|
77
|
+
log('reset peerId=%s', peerId.substring(0, 12));
|
|
78
|
+
}
|
|
79
|
+
getOrCreateRecord(peerId) {
|
|
80
|
+
let record = this.peers.get(peerId);
|
|
81
|
+
if (!record) {
|
|
82
|
+
record = {
|
|
83
|
+
penalties: [],
|
|
84
|
+
successCount: 0,
|
|
85
|
+
lastSuccess: 0,
|
|
86
|
+
lastPenalty: 0,
|
|
87
|
+
};
|
|
88
|
+
this.peers.set(peerId, record);
|
|
89
|
+
}
|
|
90
|
+
return record;
|
|
91
|
+
}
|
|
92
|
+
computeScore(record) {
|
|
93
|
+
const now = Date.now();
|
|
94
|
+
let score = 0;
|
|
95
|
+
for (const penalty of record.penalties) {
|
|
96
|
+
score += penalty.weight * this.decayFactor(now, penalty.timestamp);
|
|
97
|
+
}
|
|
98
|
+
return score;
|
|
99
|
+
}
|
|
100
|
+
decayFactor(now, timestamp) {
|
|
101
|
+
const elapsed = now - timestamp;
|
|
102
|
+
if (elapsed <= 0)
|
|
103
|
+
return 1;
|
|
104
|
+
return Math.pow(0.5, elapsed / this.halfLifeMs);
|
|
105
|
+
}
|
|
106
|
+
/** Remove penalties that have decayed below significance (< 1% of original weight) */
|
|
107
|
+
pruneRecord(record) {
|
|
108
|
+
const now = Date.now();
|
|
109
|
+
const cutoff = this.halfLifeMs * 7; // 2^-7 ≈ 0.8% — below significance
|
|
110
|
+
record.penalties = record.penalties.filter(p => (now - p.timestamp) < cutoff);
|
|
111
|
+
// Hard cap to prevent unbounded growth
|
|
112
|
+
if (record.penalties.length > this.maxPenaltiesPerPeer) {
|
|
113
|
+
record.penalties = record.penalties.slice(-this.maxPenaltiesPerPeer);
|
|
114
|
+
}
|
|
115
|
+
// Remove peer records with no significant penalties
|
|
116
|
+
if (record.penalties.length === 0 && record.successCount === 0) {
|
|
117
|
+
// Don't remove — the caller may still be using this record
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=peer-reputation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer-reputation.js","sourceRoot":"","sources":["../../../src/reputation/peer-reputation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/** Categories of peer misbehavior with associated severity */
|
|
2
|
+
export declare enum PenaltyReason {
|
|
3
|
+
/** Peer sent a signature that failed cryptographic verification */
|
|
4
|
+
InvalidSignature = "invalid-signature",
|
|
5
|
+
/** Peer promised conflicting transactions (equivocation) */
|
|
6
|
+
Equivocation = "equivocation",
|
|
7
|
+
/** Peer's validation logic rejected a valid transaction (repeated false rejections) */
|
|
8
|
+
FalseRejection = "false-rejection",
|
|
9
|
+
/** Peer failed to respond within timeout during consensus */
|
|
10
|
+
ConsensusTimeout = "consensus-timeout",
|
|
11
|
+
/** Peer sent a message with mismatched hash */
|
|
12
|
+
InvalidMessageHash = "invalid-message-hash",
|
|
13
|
+
/** Peer sent an expired transaction */
|
|
14
|
+
ExpiredTransaction = "expired-transaction",
|
|
15
|
+
/** Generic protocol violation */
|
|
16
|
+
ProtocolViolation = "protocol-violation",
|
|
17
|
+
/** Connection-level failures (lighter weight) */
|
|
18
|
+
ConnectionFailure = "connection-failure",
|
|
19
|
+
/** Majority peer approved a transaction that was later found invalid via dispute */
|
|
20
|
+
FalseApproval = "false-approval",
|
|
21
|
+
/** Challenger lost a dispute (their rejection was wrong) */
|
|
22
|
+
DisputeLost = "dispute-lost"
|
|
23
|
+
}
|
|
24
|
+
/** Default penalty weights by reason */
|
|
25
|
+
export declare const DEFAULT_PENALTY_WEIGHTS: Record<PenaltyReason, number>;
|
|
26
|
+
/** Thresholds controlling graduated reputation responses */
|
|
27
|
+
export interface ReputationThresholds {
|
|
28
|
+
/** Score above which peer is deprioritized in coordinator selection. Default: 20 */
|
|
29
|
+
deprioritize: number;
|
|
30
|
+
/** Score above which peer is excluded from cluster operations. Default: 80 */
|
|
31
|
+
ban: number;
|
|
32
|
+
}
|
|
33
|
+
export declare const DEFAULT_THRESHOLDS: ReputationThresholds;
|
|
34
|
+
/** Configuration for the reputation service */
|
|
35
|
+
export interface ReputationConfig {
|
|
36
|
+
/** Half-life for exponential decay of penalties (ms). Default: 30 minutes */
|
|
37
|
+
halfLifeMs?: number;
|
|
38
|
+
/** Thresholds for deprioritize/ban. Uses DEFAULT_THRESHOLDS if not provided */
|
|
39
|
+
thresholds?: Partial<ReputationThresholds>;
|
|
40
|
+
/** Custom penalty weights. Merged with DEFAULT_PENALTY_WEIGHTS */
|
|
41
|
+
weights?: Partial<Record<PenaltyReason, number>>;
|
|
42
|
+
/** Maximum penalty records per peer before pruning. Default: 100 */
|
|
43
|
+
maxPenaltiesPerPeer?: number;
|
|
44
|
+
}
|
|
45
|
+
/** A single recorded penalty event */
|
|
46
|
+
export interface PenaltyRecord {
|
|
47
|
+
reason: PenaltyReason;
|
|
48
|
+
weight: number;
|
|
49
|
+
timestamp: number;
|
|
50
|
+
context?: string;
|
|
51
|
+
}
|
|
52
|
+
/** Internal record for a tracked peer */
|
|
53
|
+
export interface PeerRecord {
|
|
54
|
+
penalties: PenaltyRecord[];
|
|
55
|
+
successCount: number;
|
|
56
|
+
lastSuccess: number;
|
|
57
|
+
lastPenalty: number;
|
|
58
|
+
}
|
|
59
|
+
/** Summary of a peer's reputation for diagnostics */
|
|
60
|
+
export interface PeerReputationSummary {
|
|
61
|
+
peerId: string;
|
|
62
|
+
effectiveScore: number;
|
|
63
|
+
isBanned: boolean;
|
|
64
|
+
isDeprioritized: boolean;
|
|
65
|
+
penaltyCount: number;
|
|
66
|
+
successCount: number;
|
|
67
|
+
lastPenalty: number;
|
|
68
|
+
lastSuccess: number;
|
|
69
|
+
}
|
|
70
|
+
/** Interface for reputation scoring consumed by other components */
|
|
71
|
+
export interface IPeerReputation {
|
|
72
|
+
/** Record a misbehavior incident */
|
|
73
|
+
reportPeer(peerId: string, reason: PenaltyReason, context?: string): void;
|
|
74
|
+
/** Record successful interaction */
|
|
75
|
+
recordSuccess(peerId: string): void;
|
|
76
|
+
/** Get effective score for a peer (0 = clean) */
|
|
77
|
+
getScore(peerId: string): number;
|
|
78
|
+
/** Check if peer should be excluded from operations */
|
|
79
|
+
isBanned(peerId: string): boolean;
|
|
80
|
+
/** Check if peer should be deprioritized */
|
|
81
|
+
isDeprioritized(peerId: string): boolean;
|
|
82
|
+
/** Get summary for diagnostics */
|
|
83
|
+
getReputation(peerId: string): PeerReputationSummary;
|
|
84
|
+
/** Get all tracked peers and their statuses */
|
|
85
|
+
getAllReputations(): Map<string, PeerReputationSummary>;
|
|
86
|
+
/** Reset a peer's reputation (admin/testing) */
|
|
87
|
+
resetPeer(peerId: string): void;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/reputation/types.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,oBAAY,aAAa;IACxB,mEAAmE;IACnE,gBAAgB,sBAAsB;IACtC,4DAA4D;IAC5D,YAAY,iBAAiB;IAC7B,uFAAuF;IACvF,cAAc,oBAAoB;IAClC,6DAA6D;IAC7D,gBAAgB,sBAAsB;IACtC,+CAA+C;IAC/C,kBAAkB,yBAAyB;IAC3C,uCAAuC;IACvC,kBAAkB,wBAAwB;IAC1C,iCAAiC;IACjC,iBAAiB,uBAAuB;IACxC,iDAAiD;IACjD,iBAAiB,uBAAuB;IACxC,oFAAoF;IACpF,aAAa,mBAAmB;IAChC,4DAA4D;IAC5D,WAAW,iBAAiB;CAC5B;AAED,wCAAwC;AACxC,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAWjE,CAAC;AAEF,4DAA4D;AAC5D,MAAM,WAAW,oBAAoB;IACpC,oFAAoF;IACpF,YAAY,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,eAAO,MAAM,kBAAkB,EAAE,oBAGhC,CAAC;AAEF,+CAA+C;AAC/C,MAAM,WAAW,gBAAgB;IAChC,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3C,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,sCAAsC;AACtC,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,yCAAyC;AACzC,MAAM,WAAW,UAAU;IAC1B,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,qDAAqD;AACrD,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,oEAAoE;AACpE,MAAM,WAAW,eAAe;IAC/B,oCAAoC;IACpC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1E,oCAAoC;IACpC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAEjC,uDAAuD;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAElC,4CAA4C;IAC5C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzC,kCAAkC;IAClC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,CAAC;IAErD,+CAA+C;IAC/C,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAExD,gDAAgD;IAChD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/** Categories of peer misbehavior with associated severity */
|
|
2
|
+
export var PenaltyReason;
|
|
3
|
+
(function (PenaltyReason) {
|
|
4
|
+
/** Peer sent a signature that failed cryptographic verification */
|
|
5
|
+
PenaltyReason["InvalidSignature"] = "invalid-signature";
|
|
6
|
+
/** Peer promised conflicting transactions (equivocation) */
|
|
7
|
+
PenaltyReason["Equivocation"] = "equivocation";
|
|
8
|
+
/** Peer's validation logic rejected a valid transaction (repeated false rejections) */
|
|
9
|
+
PenaltyReason["FalseRejection"] = "false-rejection";
|
|
10
|
+
/** Peer failed to respond within timeout during consensus */
|
|
11
|
+
PenaltyReason["ConsensusTimeout"] = "consensus-timeout";
|
|
12
|
+
/** Peer sent a message with mismatched hash */
|
|
13
|
+
PenaltyReason["InvalidMessageHash"] = "invalid-message-hash";
|
|
14
|
+
/** Peer sent an expired transaction */
|
|
15
|
+
PenaltyReason["ExpiredTransaction"] = "expired-transaction";
|
|
16
|
+
/** Generic protocol violation */
|
|
17
|
+
PenaltyReason["ProtocolViolation"] = "protocol-violation";
|
|
18
|
+
/** Connection-level failures (lighter weight) */
|
|
19
|
+
PenaltyReason["ConnectionFailure"] = "connection-failure";
|
|
20
|
+
/** Majority peer approved a transaction that was later found invalid via dispute */
|
|
21
|
+
PenaltyReason["FalseApproval"] = "false-approval";
|
|
22
|
+
/** Challenger lost a dispute (their rejection was wrong) */
|
|
23
|
+
PenaltyReason["DisputeLost"] = "dispute-lost";
|
|
24
|
+
})(PenaltyReason || (PenaltyReason = {}));
|
|
25
|
+
/** Default penalty weights by reason */
|
|
26
|
+
export const DEFAULT_PENALTY_WEIGHTS = {
|
|
27
|
+
[PenaltyReason.InvalidSignature]: 50,
|
|
28
|
+
[PenaltyReason.Equivocation]: 100,
|
|
29
|
+
[PenaltyReason.FalseRejection]: 10,
|
|
30
|
+
[PenaltyReason.ConsensusTimeout]: 5,
|
|
31
|
+
[PenaltyReason.InvalidMessageHash]: 50,
|
|
32
|
+
[PenaltyReason.ExpiredTransaction]: 3,
|
|
33
|
+
[PenaltyReason.ProtocolViolation]: 30,
|
|
34
|
+
[PenaltyReason.ConnectionFailure]: 2,
|
|
35
|
+
[PenaltyReason.FalseApproval]: 40,
|
|
36
|
+
[PenaltyReason.DisputeLost]: 30,
|
|
37
|
+
};
|
|
38
|
+
export const DEFAULT_THRESHOLDS = {
|
|
39
|
+
deprioritize: 20,
|
|
40
|
+
ban: 80,
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/reputation/types.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,MAAM,CAAN,IAAY,aAqBX;AArBD,WAAY,aAAa;IACxB,mEAAmE;IACnE,uDAAsC,CAAA;IACtC,4DAA4D;IAC5D,8CAA6B,CAAA;IAC7B,uFAAuF;IACvF,mDAAkC,CAAA;IAClC,6DAA6D;IAC7D,uDAAsC,CAAA;IACtC,+CAA+C;IAC/C,4DAA2C,CAAA;IAC3C,uCAAuC;IACvC,2DAA0C,CAAA;IAC1C,iCAAiC;IACjC,yDAAwC,CAAA;IACxC,iDAAiD;IACjD,yDAAwC,CAAA;IACxC,oFAAoF;IACpF,iDAAgC,CAAA;IAChC,4DAA4D;IAC5D,6CAA4B,CAAA;AAC7B,CAAC,EArBW,aAAa,KAAb,aAAa,QAqBxB;AAED,wCAAwC;AACxC,MAAM,CAAC,MAAM,uBAAuB,GAAkC;IACrE,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,EAAE;IACpC,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,GAAG;IACjC,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE;IAClC,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC;IACnC,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,EAAE;IACtC,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACrC,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,EAAE;IACrC,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACpC,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,EAAE;IACjC,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,EAAE;CAC/B,CAAC;AAUF,MAAM,CAAC,MAAM,kBAAkB,GAAyB;IACvD,YAAY,EAAE,EAAE;IAChB,GAAG,EAAE,EAAE;CACP,CAAC"}
|
|
@@ -57,6 +57,11 @@ export declare class ArachnodeFretAdapter {
|
|
|
57
57
|
peerCount: number;
|
|
58
58
|
avgCapacity: number;
|
|
59
59
|
}>;
|
|
60
|
+
/**
|
|
61
|
+
* Update the status field of this node's ArachnodeInfo.
|
|
62
|
+
* No-op if no ArachnodeInfo has been set yet.
|
|
63
|
+
*/
|
|
64
|
+
setStatus(status: ArachnodeInfo['status']): void;
|
|
60
65
|
/**
|
|
61
66
|
* Access the underlying FRET service.
|
|
62
67
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arachnode-fret-adapter.d.ts","sourceRoot":"","sources":["../../../src/storage/arachnode-fret-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAElB,8DAA8D;IAC9D,SAAS,CAAC,EAAE;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,gCAAgC;IAChC,QAAQ,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,6BAA6B;IAC7B,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CACpD;AAED;;;;GAIG;AACH,qBAAa,oBAAoB;IAGpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAe;gBAEvB,IAAI,EAAE,WAAW;IAE9C;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAM3C;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAK3D;;OAEG;IACH,kBAAkB,IAAI,aAAa,GAAG,SAAS;IAM/C;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAU5C;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAczB;;OAEG;IACH,YAAY,IAAI,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAwBpF;;OAEG;IACH,OAAO,IAAI,WAAW;CAGtB"}
|
|
1
|
+
{"version":3,"file":"arachnode-fret-adapter.d.ts","sourceRoot":"","sources":["../../../src/storage/arachnode-fret-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAElB,8DAA8D;IAC9D,SAAS,CAAC,EAAE;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,gCAAgC;IAChC,QAAQ,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,6BAA6B;IAC7B,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CACpD;AAED;;;;GAIG;AACH,qBAAa,oBAAoB;IAGpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAe;gBAEvB,IAAI,EAAE,WAAW;IAE9C;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAM3C;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAK3D;;OAEG;IACH,kBAAkB,IAAI,aAAa,GAAG,SAAS;IAM/C;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAU5C;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAczB;;OAEG;IACH,YAAY,IAAI,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAwBpF;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,IAAI;IAOhD;;OAEG;IACH,OAAO,IAAI,WAAW;CAGtB"}
|
|
@@ -83,6 +83,16 @@ export class ArachnodeFretAdapter {
|
|
|
83
83
|
}))
|
|
84
84
|
.sort((a, b) => a.ringDepth - b.ringDepth);
|
|
85
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Update the status field of this node's ArachnodeInfo.
|
|
88
|
+
* No-op if no ArachnodeInfo has been set yet.
|
|
89
|
+
*/
|
|
90
|
+
setStatus(status) {
|
|
91
|
+
const current = this.getMyArachnodeInfo();
|
|
92
|
+
if (current) {
|
|
93
|
+
this.setArachnodeInfo({ ...current, status });
|
|
94
|
+
}
|
|
95
|
+
}
|
|
86
96
|
/**
|
|
87
97
|
* Access the underlying FRET service.
|
|
88
98
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arachnode-fret-adapter.js","sourceRoot":"","sources":["../../../src/storage/arachnode-fret-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"arachnode-fret-adapter.js","sourceRoot":"","sources":["../../../src/storage/arachnode-fret-adapter.ts"],"names":[],"mappings":"AA2BA;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IAGH;IAFrB,MAAM,CAAU,aAAa,GAAG,WAAW,CAAC;IAEpD,YAA6B,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;IAAG,CAAC;IAElD;;OAEG;IACH,gBAAgB,CAAC,IAAmB;QACnC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YACrB,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,IAAI;SAC1C,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,MAAc;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,QAAQ,EAAE,CAAC,oBAAoB,CAAC,aAAa,CAA8B,CAAC;IACpF,CAAC;IAED;;OAEG;IACH,kBAAkB;QACjB,MAAM,QAAQ,GAAI,IAAI,CAAC,IAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC7D,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAChC,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,SAAiB;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpC,OAAO,KAAK;aACV,MAAM,CAAC,IAAI,CAAC,EAAE;YACd,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,oBAAoB,CAAC,aAAa,CAA8B,CAAC;YACnG,OAAO,SAAS,EAAE,SAAS,KAAK,SAAS,CAAC;QAC3C,CAAC,CAAC;aACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,aAAa;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAEhC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,oBAAoB,CAAC,aAAa,CAA8B,CAAC;YACnG,IAAI,SAAS,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;gBACxC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;QACF,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,YAAY;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoD,CAAC;QAE5E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,oBAAoB,CAAC,aAAa,CAA8B,CAAC;YACnG,IAAI,SAAS,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;gBACpF,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE;oBAChC,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC;oBACzB,aAAa,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS;iBACpE,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,SAAS;YACT,SAAS,EAAE,KAAK,CAAC,KAAK;YACtB,WAAW,EAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK;SAC9C,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,MAA+B;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1C,IAAI,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;IACF,CAAC;IAED;;OAEG;IACH,OAAO;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-storage.d.ts","sourceRoot":"","sources":["../../../src/storage/block-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE3F,OAAO,KAAK,EAA+B,eAAe,EAAiB,MAAM,aAAa,CAAC;AAC/F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"block-storage.d.ts","sourceRoot":"","sources":["../../../src/storage/block-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE3F,OAAO,KAAK,EAA+B,eAAe,EAAiB,MAAM,aAAa,CAAC;AAC/F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAK1D,qBAAa,YAAa,YAAW,aAAa;IAEhD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAFhB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,EACpB,eAAe,CAAC,EAAE,eAAe,YAAA;IAG7C,SAAS,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAK3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,SAAS,CAAA;KAAE,GAAG,SAAS,CAAC;IAepF,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAIlE,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAIxE,uBAAuB,IAAI,aAAa,CAAC,QAAQ,CAAC;IAInD,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/E,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1D,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC;IAI1E,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAInF,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;YASnC,cAAc;YA+Bd,gBAAgB;YA0ChB,YAAY;YAKZ,YAAY;IAc1B,OAAO,CAAC,QAAQ;CAKhB"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Latches, applyTransform } from "@optimystic/db-core";
|
|
2
2
|
import { mergeRanges } from "./helpers.js";
|
|
3
|
+
import { createLogger } from "../logger.js";
|
|
4
|
+
const log = createLogger('block-storage');
|
|
3
5
|
export class BlockStorage {
|
|
4
6
|
blockId;
|
|
5
7
|
storage;
|
|
@@ -35,6 +37,7 @@ export class BlockStorage {
|
|
|
35
37
|
yield* this.storage.listPendingTransactions(this.blockId);
|
|
36
38
|
}
|
|
37
39
|
async savePendingTransaction(actionId, transform) {
|
|
40
|
+
log('pend blockId=%s actionId=%s', this.blockId, actionId);
|
|
38
41
|
let meta = await this.storage.getMetadata(this.blockId);
|
|
39
42
|
if (!meta) {
|
|
40
43
|
meta = { latest: undefined, ranges: [[0]] };
|
|
@@ -43,6 +46,7 @@ export class BlockStorage {
|
|
|
43
46
|
await this.storage.savePendingTransaction(this.blockId, actionId, transform);
|
|
44
47
|
}
|
|
45
48
|
async deletePendingTransaction(actionId) {
|
|
49
|
+
log('cancel blockId=%s actionId=%s', this.blockId, actionId);
|
|
46
50
|
await this.storage.deletePendingTransaction(this.blockId, actionId);
|
|
47
51
|
}
|
|
48
52
|
async *listRevisions(startRev, endRev) {
|
|
@@ -55,6 +59,7 @@ export class BlockStorage {
|
|
|
55
59
|
await this.storage.saveRevision(this.blockId, rev, actionId);
|
|
56
60
|
}
|
|
57
61
|
async promotePendingTransaction(actionId) {
|
|
62
|
+
log('commit blockId=%s actionId=%s', this.blockId, actionId);
|
|
58
63
|
await this.storage.promotePendingTransaction(this.blockId, actionId);
|
|
59
64
|
}
|
|
60
65
|
async setLatest(latest) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-storage.js","sourceRoot":"","sources":["../../../src/storage/block-storage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG9D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"block-storage.js","sourceRoot":"","sources":["../../../src/storage/block-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-repo.d.ts","sourceRoot":"","sources":["../../../src/storage/storage-repo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EACzG,SAAS,EAGnB,kBAAkB,EAClB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"storage-repo.d.ts","sourceRoot":"","sources":["../../../src/storage/storage-repo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EACzG,SAAS,EAGnB,kBAAkB,EAClB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAK1D,MAAM,MAAM,kBAAkB,GAAG;IAChC,6DAA6D;IAC7D,YAAY,CAAC,EAAE,kBAAkB,CAAC;CAClC,CAAC;AAEF,qBAAa,WAAY,YAAW,KAAK;IAIvC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAHpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAqB;gBAGjC,kBAAkB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,aAAa,EACxE,OAAO,CAAC,EAAE,kBAAkB;IAKvB,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAqDzF,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAiG1E,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzE,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;YAqFvE,cAAc;CAoC5B"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Latches, transformForBlockId, applyTransform, groupBy, concatTransform, emptyTransforms, blockIdsForTransforms, transformsFromTransform } from "@optimystic/db-core";
|
|
2
2
|
import { asyncIteratorToArray } from "../it-utility.js";
|
|
3
|
+
import { createLogger } from "../logger.js";
|
|
4
|
+
const log = createLogger('storage-repo');
|
|
3
5
|
export class StorageRepo {
|
|
4
6
|
createBlockStorage;
|
|
5
7
|
validatePend;
|
|
@@ -9,6 +11,7 @@ export class StorageRepo {
|
|
|
9
11
|
}
|
|
10
12
|
async get({ blockIds, context }, options) {
|
|
11
13
|
const distinctBlockIds = Array.from(new Set(blockIds));
|
|
14
|
+
log('get blockIds=%d', distinctBlockIds.length);
|
|
12
15
|
const results = await Promise.all(distinctBlockIds.map(async (blockId) => {
|
|
13
16
|
const blockStorage = this.createBlockStorage(blockId);
|
|
14
17
|
// Ensure that all outstanding transactions in the context are committed
|
|
@@ -66,6 +69,7 @@ export class StorageRepo {
|
|
|
66
69
|
}
|
|
67
70
|
}
|
|
68
71
|
const blockIds = blockIdsForTransforms(request.transforms);
|
|
72
|
+
log('pend actionId=%s blockIds=%d rev=%s', request.actionId, blockIds.length, request.rev);
|
|
69
73
|
const pendings = [];
|
|
70
74
|
const missing = [];
|
|
71
75
|
// Potential race condition: A concurrent commit operation could complete
|
|
@@ -101,6 +105,7 @@ export class StorageRepo {
|
|
|
101
105
|
}
|
|
102
106
|
}
|
|
103
107
|
if (missing.length) {
|
|
108
|
+
log('pend:stale actionId=%s missing=%d', request.actionId, missing.length);
|
|
104
109
|
return {
|
|
105
110
|
success: false,
|
|
106
111
|
missing
|
|
@@ -141,12 +146,14 @@ export class StorageRepo {
|
|
|
141
146
|
};
|
|
142
147
|
}
|
|
143
148
|
async cancel(actionRef, _options) {
|
|
149
|
+
log('cancel actionId=%s blockIds=%d', actionRef.actionId, actionRef.blockIds.length);
|
|
144
150
|
await Promise.all(actionRef.blockIds.map(blockId => {
|
|
145
151
|
const blockStorage = this.createBlockStorage(blockId);
|
|
146
152
|
return blockStorage.deletePendingTransaction(actionRef.actionId);
|
|
147
153
|
}));
|
|
148
154
|
}
|
|
149
155
|
async commit(request, options) {
|
|
156
|
+
log('commit actionId=%s rev=%d blockIds=%d', request.actionId, request.rev, request.blockIds.length);
|
|
150
157
|
const uniqueBlockIds = Array.from(new Set(request.blockIds)).sort();
|
|
151
158
|
const releases = [];
|
|
152
159
|
try {
|
|
@@ -182,6 +189,7 @@ export class StorageRepo {
|
|
|
182
189
|
}
|
|
183
190
|
}
|
|
184
191
|
if (missedCommits.length) {
|
|
192
|
+
log('commit:stale actionId=%s missed=%d', request.actionId, missedCommits.length);
|
|
185
193
|
return {
|
|
186
194
|
success: false,
|
|
187
195
|
missing: perBlockActionTransformsToPerAction(missedCommits)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-repo.js","sourceRoot":"","sources":["../../../src/storage/storage-repo.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storage-repo.js","sourceRoot":"","sources":["../../../src/storage/storage-repo.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@optimystic/db-p2p",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "P2P database functionality for Optimystic",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -43,18 +43,19 @@
|
|
|
43
43
|
"gossipsub"
|
|
44
44
|
],
|
|
45
45
|
"scripts": {
|
|
46
|
-
"clean": "
|
|
47
|
-
"build": "
|
|
48
|
-
"
|
|
49
|
-
"test": "aegir test",
|
|
50
|
-
"test:node": "aegir test -t node",
|
|
51
|
-
"dep-check": "aegir dep-check"
|
|
46
|
+
"clean": "rimraf dist",
|
|
47
|
+
"build": "tsc",
|
|
48
|
+
"test": "node --import ./register.mjs node_modules/mocha/bin/mocha.js \"test/**/*.spec.ts\" --colors --reporter min"
|
|
52
49
|
},
|
|
53
50
|
"devDependencies": {
|
|
51
|
+
"@types/chai": "^5.2.3",
|
|
54
52
|
"@types/debug": "^4.1.12",
|
|
55
53
|
"@types/mocha": "^10.0.10",
|
|
56
54
|
"@types/node": "^25.1.0",
|
|
57
|
-
"
|
|
55
|
+
"chai": "^6.2.2",
|
|
56
|
+
"mocha": "^11.7.5",
|
|
57
|
+
"rimraf": "^6.1.2",
|
|
58
|
+
"ts-node": "^10.9.2",
|
|
58
59
|
"typescript": "^5.9.3"
|
|
59
60
|
},
|
|
60
61
|
"dependencies": {
|
|
@@ -72,7 +73,7 @@
|
|
|
72
73
|
"@libp2p/tcp": "^11.0.10",
|
|
73
74
|
"@libp2p/websockets": "^10.1.3",
|
|
74
75
|
"@multiformats/multiaddr": "^13.0.1",
|
|
75
|
-
"@optimystic/db-core": "^0.
|
|
76
|
+
"@optimystic/db-core": "^0.7.0",
|
|
76
77
|
"async-mutex": "^0.5.0",
|
|
77
78
|
"debug": "^4.4.3",
|
|
78
79
|
"it-all": "^3.0.9",
|
|
@@ -81,7 +82,7 @@
|
|
|
81
82
|
"it-pushable": "^3.2.3",
|
|
82
83
|
"libp2p": "^3.1.3",
|
|
83
84
|
"multiformats": "^13.4.2",
|
|
84
|
-
"p2p-fret": "^0.
|
|
85
|
+
"p2p-fret": "^0.3.0",
|
|
85
86
|
"uint8arraylist": "^2.4.8",
|
|
86
87
|
"uint8arrays": "^5.1.0"
|
|
87
88
|
}
|