@cardano-sdk/cardano-services-client 0.19.13 → 0.19.15
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/cjs/WebSocket.d.ts +45 -0
- package/dist/cjs/WebSocket.d.ts.map +1 -0
- package/dist/cjs/WebSocket.js +150 -0
- package/dist/cjs/WebSocket.js.map +1 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/WebSocket.d.ts +45 -0
- package/dist/esm/WebSocket.d.ts.map +1 -0
- package/dist/esm/WebSocket.js +143 -0
- package/dist/esm/WebSocket.js.map +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/package.json +7 -5
- package/package.json +7 -5
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { AsyncReturnType, Cardano, EpochInfo, EraSummary, NetworkInfoMethods, NetworkInfoProvider, SupplySummary, WSMessage, WsProvider } from '@cardano-sdk/core';
|
|
2
|
+
import { Logger } from 'ts-log';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
export declare type WSHandler = (message: WSMessage) => void;
|
|
5
|
+
export interface WsClientConfiguration {
|
|
6
|
+
heartbeatInterval?: number;
|
|
7
|
+
requestTimeout?: number;
|
|
8
|
+
url: URL;
|
|
9
|
+
}
|
|
10
|
+
export interface WsClientDependencies {
|
|
11
|
+
logger: Logger;
|
|
12
|
+
}
|
|
13
|
+
interface EpochRollover {
|
|
14
|
+
epochInfo: EpochInfo;
|
|
15
|
+
eraSummaries: EraSummary[];
|
|
16
|
+
ledgerTip: Cardano.Tip;
|
|
17
|
+
lovelaceSupply: SupplySummary;
|
|
18
|
+
protocolParameters: Cardano.ProtocolParameters;
|
|
19
|
+
}
|
|
20
|
+
export declare class CardanoWsClient extends WsProvider {
|
|
21
|
+
clientId: string;
|
|
22
|
+
epoch$: Observable<EpochRollover>;
|
|
23
|
+
networkInfo: {
|
|
24
|
+
[m in `${NetworkInfoMethods}$`]: Observable<AsyncReturnType<NetworkInfoProvider[m extends `${infer o}$` ? o : never]>>;
|
|
25
|
+
};
|
|
26
|
+
networkInfoProvider: NetworkInfoProvider;
|
|
27
|
+
private closePromise;
|
|
28
|
+
private closeResolver;
|
|
29
|
+
private epochSubject$;
|
|
30
|
+
private heartbeatInterval;
|
|
31
|
+
private heartbeatTimeout;
|
|
32
|
+
private logger;
|
|
33
|
+
private status;
|
|
34
|
+
private url;
|
|
35
|
+
private ws;
|
|
36
|
+
private networkInfoSubjects;
|
|
37
|
+
constructor(deps: WsClientDependencies, cfg: WsClientConfiguration);
|
|
38
|
+
private createNetworkInfoProviderMethod;
|
|
39
|
+
private connect;
|
|
40
|
+
private heartbeat;
|
|
41
|
+
close(): Promise<void>;
|
|
42
|
+
private request;
|
|
43
|
+
}
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=WebSocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebSocket.d.ts","sourceRoot":"","sources":["../../src/WebSocket.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,OAAO,EACP,SAAS,EACT,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EAInB,aAAa,EACb,SAAS,EACT,UAAU,EAEX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAyD,MAAM,MAAM,CAAC;AAQzF,oBAAY,SAAS,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;AAErD,MAAM,WAAW,qBAAqB;IAEpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,GAAG,EAAE,GAAG,CAAC;CACV;AAED,MAAM,WAAW,oBAAoB;IAEnC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC;IACvB,cAAc,EAAE,aAAa,CAAC;IAC9B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC;CAChD;AAMD,qBAAa,eAAgB,SAAQ,UAAU;IAE7C,QAAQ,SAAoB;IAG5B,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IAGlC,WAAW,EAAE;SACV,CAAC,IAAI,GAAG,kBAAkB,GAAG,GAAG,UAAU,CACzC,eAAe,CAAC,mBAAmB,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAC1E;KACF,CAAC;IAGF,mBAAmB,EAAE,mBAAmB,CAAC;IAEzC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,EAAE,CAAY;IAEtB,OAAO,CAAC,mBAAmB,CAIzB;gBAEU,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,qBAAqB;IAmClE,OAAO,CAAC,+BAA+B;IAkBvC,OAAO,CAAC,OAAO;IA8Ef,OAAO,CAAC,SAAS;IAcjB,KAAK;IAaL,OAAO,CAAC,OAAO;CAQhB"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { ProviderError, ProviderFailure, WsProvider, createSlotEpochInfoCalc } from '@cardano-sdk/core';
|
|
2
|
+
import { ReplaySubject, Subject, filter, firstValueFrom, merge } from 'rxjs';
|
|
3
|
+
import { fromSerializableObject } from '@cardano-sdk/util';
|
|
4
|
+
import WebSocket from 'isomorphic-ws';
|
|
5
|
+
const NOT_CONNECTED_ID = 'not-connected';
|
|
6
|
+
const isEventError = (error) => typeof error === 'object' && !!error && error.error instanceof Error;
|
|
7
|
+
export class CardanoWsClient extends WsProvider {
|
|
8
|
+
constructor(deps, cfg) {
|
|
9
|
+
super();
|
|
10
|
+
this.clientId = NOT_CONNECTED_ID;
|
|
11
|
+
this.status = 'idle';
|
|
12
|
+
this.networkInfoSubjects = {};
|
|
13
|
+
this.epoch$ = this.epochSubject$ = new Subject();
|
|
14
|
+
this.heartbeatInterval = (cfg.heartbeatInterval || 55) * 1000;
|
|
15
|
+
this.logger = deps.logger;
|
|
16
|
+
this.url = cfg.url;
|
|
17
|
+
this.closePromise = new Promise((resolve) => {
|
|
18
|
+
this.closeResolver = resolve;
|
|
19
|
+
});
|
|
20
|
+
this.networkInfoSubjects = {
|
|
21
|
+
eraSummaries$: new ReplaySubject(1),
|
|
22
|
+
genesisParameters$: new ReplaySubject(1),
|
|
23
|
+
ledgerTip$: new ReplaySubject(1),
|
|
24
|
+
lovelaceSupply$: new ReplaySubject(1),
|
|
25
|
+
protocolParameters$: new ReplaySubject(1),
|
|
26
|
+
stake$: new ReplaySubject(1)
|
|
27
|
+
};
|
|
28
|
+
this.networkInfo = this.networkInfoSubjects;
|
|
29
|
+
this.networkInfoProvider = {
|
|
30
|
+
eraSummaries: this.createNetworkInfoProviderMethod('eraSummaries'),
|
|
31
|
+
genesisParameters: this.createNetworkInfoProviderMethod('genesisParameters'),
|
|
32
|
+
healthCheck: () => this.healthCheck(),
|
|
33
|
+
ledgerTip: this.createNetworkInfoProviderMethod('ledgerTip'),
|
|
34
|
+
lovelaceSupply: this.createNetworkInfoProviderMethod('lovelaceSupply'),
|
|
35
|
+
protocolParameters: this.createNetworkInfoProviderMethod('protocolParameters'),
|
|
36
|
+
stake: this.createNetworkInfoProviderMethod('stake')
|
|
37
|
+
};
|
|
38
|
+
this.connect();
|
|
39
|
+
}
|
|
40
|
+
createNetworkInfoProviderMethod(method) {
|
|
41
|
+
return async () => {
|
|
42
|
+
const value = await firstValueFrom(merge(this.health$.pipe(filter(({ ok, reason }) => !ok && reason !== 'starting')), this.networkInfo[`${method}$`]));
|
|
43
|
+
if ('ok' in value && 'reason' in value && value.ok === false)
|
|
44
|
+
throw new ProviderError(ProviderFailure.ConnectionFailure, undefined, value.reason);
|
|
45
|
+
else
|
|
46
|
+
return value;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
connect() {
|
|
50
|
+
if (this.status !== 'stop')
|
|
51
|
+
this.status = 'connecting';
|
|
52
|
+
const ws = (this.ws = new WebSocket(this.url));
|
|
53
|
+
ws.onmessage = (event) => {
|
|
54
|
+
try {
|
|
55
|
+
if (typeof event.data !== 'string')
|
|
56
|
+
throw new Error('Unexpected data from WebSocket ');
|
|
57
|
+
const message = fromSerializableObject(JSON.parse(event.data));
|
|
58
|
+
const { clientId, networkInfo } = message;
|
|
59
|
+
if (clientId)
|
|
60
|
+
this.logger.info(`Connected with clientId ${(this.clientId = clientId)}`);
|
|
61
|
+
if (networkInfo) {
|
|
62
|
+
const { eraSummaries, genesisParameters, ledgerTip, lovelaceSupply, protocolParameters, stake } = networkInfo;
|
|
63
|
+
if (eraSummaries)
|
|
64
|
+
this.networkInfoSubjects.eraSummaries$.next(eraSummaries);
|
|
65
|
+
if (genesisParameters)
|
|
66
|
+
this.networkInfoSubjects.genesisParameters$.next(genesisParameters);
|
|
67
|
+
if (lovelaceSupply)
|
|
68
|
+
this.networkInfoSubjects.lovelaceSupply$.next(lovelaceSupply);
|
|
69
|
+
if (protocolParameters)
|
|
70
|
+
this.networkInfoSubjects.protocolParameters$.next(protocolParameters);
|
|
71
|
+
if (stake)
|
|
72
|
+
this.networkInfoSubjects.stake$.next(stake);
|
|
73
|
+
if (ledgerTip)
|
|
74
|
+
this.networkInfoSubjects.ledgerTip$.next(ledgerTip);
|
|
75
|
+
if (eraSummaries && ledgerTip && lovelaceSupply && protocolParameters && !clientId) {
|
|
76
|
+
const epochInfo = createSlotEpochInfoCalc(eraSummaries)(ledgerTip.slot);
|
|
77
|
+
this.epochSubject$.next({ epochInfo, eraSummaries, ledgerTip, lovelaceSupply, protocolParameters });
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
this.logger.error(error, 'While parsing message', event.data, this.clientId);
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
ws.onclose = () => {
|
|
86
|
+
this.logger.info('WebSocket client connection closed', this.clientId);
|
|
87
|
+
if (this.heartbeatTimeout) {
|
|
88
|
+
clearInterval(this.heartbeatTimeout);
|
|
89
|
+
this.heartbeatTimeout = undefined;
|
|
90
|
+
}
|
|
91
|
+
this.clientId = NOT_CONNECTED_ID;
|
|
92
|
+
if (this.status === 'stop')
|
|
93
|
+
this.closeResolver();
|
|
94
|
+
else {
|
|
95
|
+
this.status = 'idle';
|
|
96
|
+
setTimeout(() => this.connect(), 1000).unref();
|
|
97
|
+
}
|
|
98
|
+
this.emitHealth('closed');
|
|
99
|
+
};
|
|
100
|
+
ws.onerror = (error) => {
|
|
101
|
+
const err = error instanceof Error
|
|
102
|
+
? error
|
|
103
|
+
: isEventError(error)
|
|
104
|
+
? error.error
|
|
105
|
+
: new Error(`Unknown error: ${JSON.stringify(error)}`);
|
|
106
|
+
this.logger.error(err, 'Async error from WebSocket client', this.clientId);
|
|
107
|
+
ws.close();
|
|
108
|
+
this.emitHealth(err.message, true);
|
|
109
|
+
};
|
|
110
|
+
ws.onopen = () => {
|
|
111
|
+
if (this.status !== 'stop')
|
|
112
|
+
this.status = 'connected';
|
|
113
|
+
this.heartbeat();
|
|
114
|
+
this.emitHealth();
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
heartbeat() {
|
|
118
|
+
if (this.heartbeatTimeout)
|
|
119
|
+
clearInterval(this.heartbeatTimeout);
|
|
120
|
+
this.heartbeatTimeout = setTimeout(() => {
|
|
121
|
+
try {
|
|
122
|
+
this.request({});
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
this.logger.error(error, 'Error while refreshing heartbeat', this.clientId);
|
|
126
|
+
}
|
|
127
|
+
}, this.heartbeatInterval);
|
|
128
|
+
this.heartbeatTimeout.unref();
|
|
129
|
+
}
|
|
130
|
+
close() {
|
|
131
|
+
this.status = 'stop';
|
|
132
|
+
this.ws.close();
|
|
133
|
+
return this.closePromise;
|
|
134
|
+
}
|
|
135
|
+
request(request) {
|
|
136
|
+
if (this.status !== 'connected')
|
|
137
|
+
return false;
|
|
138
|
+
this.ws.send(JSON.stringify(request));
|
|
139
|
+
this.heartbeat();
|
|
140
|
+
return true;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=WebSocket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebSocket.js","sourceRoot":"","sources":["../../src/WebSocket.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
|