shogun-relay-sdk 1.1.4 → 1.1.5
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/index.d.ts +1 -0
- package/dist/index.js +16 -0
- package/dist/modules/network.d.ts +7 -6
- package/dist/types.d.ts +243 -0
- package/dist/types.js +5 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { DealsModule } from './modules/deals';
|
|
|
7
7
|
import { RegistryModule } from './modules/registry';
|
|
8
8
|
import { UploadsModule } from './modules/uploads';
|
|
9
9
|
import { BridgeModule } from './modules/bridge';
|
|
10
|
+
export * from './types';
|
|
10
11
|
export declare class ShogunRelaySDK {
|
|
11
12
|
private client;
|
|
12
13
|
system: SystemModule;
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
17
|
exports.ShogunRelaySDK = void 0;
|
|
4
18
|
const client_1 = require("./client");
|
|
@@ -10,6 +24,8 @@ const deals_1 = require("./modules/deals");
|
|
|
10
24
|
const registry_1 = require("./modules/registry");
|
|
11
25
|
const uploads_1 = require("./modules/uploads");
|
|
12
26
|
const bridge_1 = require("./modules/bridge");
|
|
27
|
+
// Export types
|
|
28
|
+
__exportStar(require("./types"), exports);
|
|
13
29
|
class ShogunRelaySDK {
|
|
14
30
|
constructor(config) {
|
|
15
31
|
this.client = new client_1.ApiClient(config);
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { ApiClient } from '../client';
|
|
2
|
+
import { ReputationResponse, ReputationLeaderboardResponse, BestRelaysResponse, NetworkStatsResponse, RelayInfoResponse, RelaysListResponse } from '../types';
|
|
2
3
|
export declare class NetworkModule {
|
|
3
4
|
private client;
|
|
4
5
|
constructor(client: ApiClient);
|
|
5
|
-
getRelays(timeout?: number, maxAge?: number): Promise<
|
|
6
|
-
getRelay(host: string): Promise<
|
|
7
|
-
getStats(): Promise<
|
|
6
|
+
getRelays(timeout?: number, maxAge?: number): Promise<RelaysListResponse>;
|
|
7
|
+
getRelay(host: string): Promise<RelayInfoResponse>;
|
|
8
|
+
getStats(): Promise<NetworkStatsResponse>;
|
|
8
9
|
getProof(cid: string, challenge?: string): Promise<any>;
|
|
9
10
|
verifyProof(proof: any): Promise<any>;
|
|
10
|
-
getReputation(host: string): Promise<
|
|
11
|
-
getReputationLeaderboard(minScore?: number, limit?: number): Promise<
|
|
12
|
-
getBestRelays(count?: number, minScore?: number, excludeHost?: string): Promise<
|
|
11
|
+
getReputation(host: string): Promise<ReputationResponse>;
|
|
12
|
+
getReputationLeaderboard(minScore?: number, limit?: number): Promise<ReputationLeaderboardResponse>;
|
|
13
|
+
getBestRelays(count?: number, minScore?: number, excludeHost?: string): Promise<BestRelaysResponse>;
|
|
13
14
|
getOnChainRelays(chainId?: number): Promise<any>;
|
|
14
15
|
getOnChainRelay(address: string, chainId?: number): Promise<any>;
|
|
15
16
|
getOnChainParams(chainId?: number): Promise<any>;
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for Shogun Relay SDK
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Reputation Score Breakdown
|
|
6
|
+
*/
|
|
7
|
+
export interface ReputationScoreBreakdown {
|
|
8
|
+
uptime: number;
|
|
9
|
+
proofSuccess: number;
|
|
10
|
+
responseTime: number;
|
|
11
|
+
pinFulfillment: number;
|
|
12
|
+
longevity: number;
|
|
13
|
+
resourceEfficiency?: number;
|
|
14
|
+
storageCapacity?: number;
|
|
15
|
+
dataQuality?: number;
|
|
16
|
+
reliability?: number;
|
|
17
|
+
dealPerformance?: number;
|
|
18
|
+
networkHealth?: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Reputation Weights
|
|
22
|
+
*/
|
|
23
|
+
export interface ReputationWeights {
|
|
24
|
+
uptime: number;
|
|
25
|
+
proofSuccess: number;
|
|
26
|
+
responseTime: number;
|
|
27
|
+
pinFulfillment: number;
|
|
28
|
+
longevity: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Calculated Reputation Score
|
|
32
|
+
*/
|
|
33
|
+
export interface ReputationScore {
|
|
34
|
+
total: number;
|
|
35
|
+
tier: 'excellent' | 'good' | 'average' | 'poor' | 'unreliable';
|
|
36
|
+
breakdown: ReputationScoreBreakdown;
|
|
37
|
+
weights: ReputationWeights;
|
|
38
|
+
hasEnoughData: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Reputation Metrics
|
|
42
|
+
*/
|
|
43
|
+
export interface ReputationMetrics {
|
|
44
|
+
host?: string;
|
|
45
|
+
firstSeenTimestamp?: number;
|
|
46
|
+
lastSeenTimestamp?: number;
|
|
47
|
+
dataPoints?: number;
|
|
48
|
+
proofsTotal?: number;
|
|
49
|
+
proofsSuccessful?: number;
|
|
50
|
+
proofsFailed?: number;
|
|
51
|
+
avgResponseTimeMs?: number;
|
|
52
|
+
responseTimeSamples?: number;
|
|
53
|
+
pinRequestsReceived?: number;
|
|
54
|
+
pinRequestsFulfilled?: number;
|
|
55
|
+
expectedPulses?: number;
|
|
56
|
+
receivedPulses?: number;
|
|
57
|
+
uptimePercent?: number;
|
|
58
|
+
bridgeBatchSubmissionsTotal?: number;
|
|
59
|
+
bridgeBatchSubmissionsSuccessful?: number;
|
|
60
|
+
bridgeBatchSubmissionsFailed?: number;
|
|
61
|
+
bridgeProofsTotal?: number;
|
|
62
|
+
bridgeProofsSuccessful?: number;
|
|
63
|
+
bridgeProofsFailed?: number;
|
|
64
|
+
bridgeAvgProofResponseTimeMs?: number;
|
|
65
|
+
bridgeProofResponseTimeSamples?: number;
|
|
66
|
+
avgConnections?: number;
|
|
67
|
+
maxConnections?: number;
|
|
68
|
+
avgMemoryUsageMB?: number;
|
|
69
|
+
maxMemoryUsageMB?: number;
|
|
70
|
+
storageCapacityMB?: number;
|
|
71
|
+
storageUsedMB?: number;
|
|
72
|
+
storageUtilizationPercent?: number;
|
|
73
|
+
ipfsRepoSizeMB?: number;
|
|
74
|
+
ipfsPinsCount?: number;
|
|
75
|
+
avgLatencyMs?: number;
|
|
76
|
+
latencySamples?: number;
|
|
77
|
+
throughputMBps?: number;
|
|
78
|
+
errorRate?: number;
|
|
79
|
+
meanTimeBetweenFailures?: number;
|
|
80
|
+
meanTimeToRecovery?: number;
|
|
81
|
+
downtimeEvents?: number;
|
|
82
|
+
totalDowntimeMs?: number;
|
|
83
|
+
dataIntegrityChecks?: number;
|
|
84
|
+
dataIntegrityFailures?: number;
|
|
85
|
+
dataFreshnessMs?: number;
|
|
86
|
+
peerConnections?: number;
|
|
87
|
+
networkReachability?: number;
|
|
88
|
+
dealsTotal?: number;
|
|
89
|
+
dealsActive?: number;
|
|
90
|
+
dealsCompleted?: number;
|
|
91
|
+
dealsFailed?: number;
|
|
92
|
+
dealFulfillmentRate?: number;
|
|
93
|
+
subscriptionsTotal?: number;
|
|
94
|
+
subscriptionsActive?: number;
|
|
95
|
+
subscriptionRetentionRate?: number;
|
|
96
|
+
apiRequestsTotal?: number;
|
|
97
|
+
apiRequestsSuccessful?: number;
|
|
98
|
+
apiRequestsFailed?: number;
|
|
99
|
+
apiUptimePercent?: number;
|
|
100
|
+
securityIncidents?: number;
|
|
101
|
+
lastSecurityIncident?: number;
|
|
102
|
+
score?: number;
|
|
103
|
+
tier?: string;
|
|
104
|
+
lastScoreUpdate?: number;
|
|
105
|
+
proofSuccessRate?: number;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Leaderboard Entry with calculated score
|
|
109
|
+
*/
|
|
110
|
+
export interface ReputationLeaderboardEntry extends ReputationMetrics {
|
|
111
|
+
calculatedScore: ReputationScore;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Reputation API Response
|
|
115
|
+
*/
|
|
116
|
+
export interface ReputationResponse {
|
|
117
|
+
success: boolean;
|
|
118
|
+
host?: string;
|
|
119
|
+
reputation?: ReputationLeaderboardEntry;
|
|
120
|
+
error?: string;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Reputation Leaderboard Response
|
|
124
|
+
*/
|
|
125
|
+
export interface ReputationLeaderboardResponse {
|
|
126
|
+
success: boolean;
|
|
127
|
+
count: number;
|
|
128
|
+
leaderboard: ReputationLeaderboardEntry[];
|
|
129
|
+
filters?: {
|
|
130
|
+
minScore?: number;
|
|
131
|
+
tier?: string;
|
|
132
|
+
limit?: number;
|
|
133
|
+
};
|
|
134
|
+
error?: string;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Best Relays Response
|
|
138
|
+
*/
|
|
139
|
+
export interface BestRelaysResponse {
|
|
140
|
+
success: boolean;
|
|
141
|
+
count: number;
|
|
142
|
+
relays: Array<{
|
|
143
|
+
host: string;
|
|
144
|
+
score: number;
|
|
145
|
+
tier: string;
|
|
146
|
+
uptime: number;
|
|
147
|
+
lastSeen: number;
|
|
148
|
+
}>;
|
|
149
|
+
error?: string;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Network Stats Response
|
|
153
|
+
*/
|
|
154
|
+
export interface NetworkStatsResponse {
|
|
155
|
+
success: boolean;
|
|
156
|
+
stats: {
|
|
157
|
+
totalRelays: number;
|
|
158
|
+
activeRelays: number;
|
|
159
|
+
totalConnections: number;
|
|
160
|
+
totalStorageBytes: number;
|
|
161
|
+
totalStorageMB: number;
|
|
162
|
+
totalStorageGB: string;
|
|
163
|
+
totalPins: number;
|
|
164
|
+
totalActiveDeals: number;
|
|
165
|
+
totalActiveSubscriptions: number;
|
|
166
|
+
totalDealStorageMB: number;
|
|
167
|
+
totalSubscriptionStorageMB: number;
|
|
168
|
+
};
|
|
169
|
+
timestamp: number;
|
|
170
|
+
debug?: {
|
|
171
|
+
relaysFound: number;
|
|
172
|
+
relaysWithPulse: number;
|
|
173
|
+
sources: {
|
|
174
|
+
pulse: string;
|
|
175
|
+
deals: string;
|
|
176
|
+
subscriptions: string;
|
|
177
|
+
ipfsDirect: string;
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
error?: string;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Relay Info Response
|
|
184
|
+
*/
|
|
185
|
+
export interface RelayInfoResponse {
|
|
186
|
+
success: boolean;
|
|
187
|
+
host: string;
|
|
188
|
+
endpoint?: string;
|
|
189
|
+
lastSeen?: number;
|
|
190
|
+
uptime?: number;
|
|
191
|
+
connections?: {
|
|
192
|
+
active?: number;
|
|
193
|
+
total?: number;
|
|
194
|
+
};
|
|
195
|
+
memory?: {
|
|
196
|
+
heapUsed?: number;
|
|
197
|
+
heapTotal?: number;
|
|
198
|
+
rss?: number;
|
|
199
|
+
};
|
|
200
|
+
ipfs?: {
|
|
201
|
+
connected: boolean;
|
|
202
|
+
repoSize?: number;
|
|
203
|
+
repoSizeMB?: number;
|
|
204
|
+
numPins?: number;
|
|
205
|
+
numObjects?: number;
|
|
206
|
+
};
|
|
207
|
+
storage?: {
|
|
208
|
+
used?: number;
|
|
209
|
+
capacity?: number;
|
|
210
|
+
};
|
|
211
|
+
error?: string;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Relays List Response
|
|
215
|
+
*/
|
|
216
|
+
export interface RelaysListResponse {
|
|
217
|
+
success: boolean;
|
|
218
|
+
count: number;
|
|
219
|
+
relays: Array<{
|
|
220
|
+
host: string;
|
|
221
|
+
endpoint: string | null;
|
|
222
|
+
lastSeen: number;
|
|
223
|
+
uptime?: number;
|
|
224
|
+
connections?: {
|
|
225
|
+
active?: number;
|
|
226
|
+
total?: number;
|
|
227
|
+
};
|
|
228
|
+
memory?: {
|
|
229
|
+
heapUsed?: number;
|
|
230
|
+
heapTotal?: number;
|
|
231
|
+
};
|
|
232
|
+
ipfs?: {
|
|
233
|
+
connected: boolean;
|
|
234
|
+
repoSize?: number;
|
|
235
|
+
numPins?: number;
|
|
236
|
+
};
|
|
237
|
+
storage?: {
|
|
238
|
+
used?: number;
|
|
239
|
+
capacity?: number;
|
|
240
|
+
};
|
|
241
|
+
}>;
|
|
242
|
+
error?: string;
|
|
243
|
+
}
|
package/dist/types.js
ADDED
package/package.json
CHANGED