@aephia/atlas-kit 0.6.0-next.17 → 0.6.0-next.18
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/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/rpc-subscription-provider.d.ts +35 -0
- package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
- package/dist/client/rpc-subscription-provider.js +190 -0
- package/dist/client/rpc-subscription-provider.js.map +1 -0
- package/package.json +1 -1
package/dist/client/index.d.ts
CHANGED
|
@@ -5,4 +5,5 @@ export { readMeta, type DefinitionPreloadMeta, type PreloadedDefinitions, type I
|
|
|
5
5
|
export { entityRef, type EntityRef } from './refs.js';
|
|
6
6
|
export type { CargoDefinitionSummary, DefinitionLookupOptions, DefinitionSection, DefinitionSectionSnapshot, RegistrySnapshotStore, ShipDefinitionSummary, } from '../registry/index.js';
|
|
7
7
|
export { InvalidDefinitionSectionError } from './errors.js';
|
|
8
|
+
export { createRpcSubscriptionProvider, type RpcSubscriptionProviderOptions, } from './rpc-subscription-provider.js';
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EACf,wBAAwB,EACxB,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,OAAO,EACP,QAAQ,EACR,WAAW,EACX,eAAe,EACf,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,0BAA0B,EAC1B,gCAAgC,EAChC,sBAAsB,EACtB,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,EACR,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,2BAA2B,GACjC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACtD,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EACf,wBAAwB,EACxB,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,OAAO,EACP,QAAQ,EACR,WAAW,EACX,eAAe,EACf,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,0BAA0B,EAC1B,gCAAgC,EAChC,sBAAsB,EACtB,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,EACR,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,2BAA2B,GACjC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACtD,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EACL,6BAA6B,EAC7B,KAAK,8BAA8B,GACpC,MAAM,gCAAgC,CAAC"}
|
package/dist/client/index.js
CHANGED
|
@@ -3,4 +3,5 @@ export { AccountDecodeError, AccountNotFoundError, ContextDisposedError, Invalid
|
|
|
3
3
|
export { readMeta, } from '../internal/read-meta.js';
|
|
4
4
|
export { entityRef } from './refs.js';
|
|
5
5
|
export { InvalidDefinitionSectionError } from './errors.js';
|
|
6
|
+
export { createRpcSubscriptionProvider, } from './rpc-subscription-provider.js';
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,0BAA0B,EAC1B,gCAAgC,EAChC,sBAAsB,EACtB,YAAY,GAGb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,GAOT,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAkB,MAAM,WAAW,CAAC;AAUtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,0BAA0B,EAC1B,gCAAgC,EAChC,sBAAsB,EACtB,YAAY,GAGb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,GAOT,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAkB,MAAM,WAAW,CAAC;AAUtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EACL,6BAA6B,GAE9B,MAAM,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type AccountNotificationsApi, type RpcSubscriptions } from '@solana/kit';
|
|
2
|
+
import type { AccountSubscriptionProvider, DataSourceIdentity } from './contracts.js';
|
|
3
|
+
/** Options for the injected Kit WebSocket account adapter. No connection is opened by the factory.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* import type { AccountNotificationsApi, RpcSubscriptions } from '@solana/kit';
|
|
8
|
+
* declare const rpcSubscriptions: RpcSubscriptions<AccountNotificationsApi>;
|
|
9
|
+
* const options: RpcSubscriptionProviderOptions = { rpcSubscriptions };
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export interface RpcSubscriptionProviderOptions {
|
|
13
|
+
readonly rpcSubscriptions: RpcSubscriptions<AccountNotificationsApi>;
|
|
14
|
+
/** Non-secret provenance label; never supply an endpoint or credentials. */
|
|
15
|
+
readonly identity?: DataSourceIdentity;
|
|
16
|
+
readonly backoff?: {
|
|
17
|
+
readonly initialMs?: number;
|
|
18
|
+
readonly maxMs?: number;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/** Adapt an application-owned Kit transport to context-owned account subscriptions.
|
|
22
|
+
* Initial registration failures reject with a sanitized ProviderError. Dropped
|
|
23
|
+
* streams retry with equal jitter (half to all of the capped exponential delay).
|
|
24
|
+
* Successful registration resets backoff. Cancellation releases Kit through its
|
|
25
|
+
* abort signal; iterator cleanup is best-effort and cannot block unsubscribe.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* import type { AccountNotificationsApi, RpcSubscriptions } from '@solana/kit';
|
|
30
|
+
* declare const rpcSubscriptions: RpcSubscriptions<AccountNotificationsApi>;
|
|
31
|
+
* const subscriptions = createRpcSubscriptionProvider({ rpcSubscriptions });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function createRpcSubscriptionProvider(options: RpcSubscriptionProviderOptions): AccountSubscriptionProvider;
|
|
35
|
+
//# sourceMappingURL=rpc-subscription-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc-subscription-provider.d.ts","sourceRoot":"","sources":["../../src/client/rpc-subscription-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,2BAA2B,EAC3B,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAGxB;;;;;;;;GAQG;AACH,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;IACrE,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7E;AAmDD;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,8BAA8B,GACtC,2BAA2B,CAiI7B"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { getBase64Encoder, } from '@solana/kit';
|
|
2
|
+
import { ProviderError } from './errors.js';
|
|
3
|
+
function registrationError() {
|
|
4
|
+
return new ProviderError('The WebSocket provider could not register the account subscription. Check the injected Kit connection and retry.');
|
|
5
|
+
}
|
|
6
|
+
// Cancellation races both Kit registration and iteration; a transport that ignores
|
|
7
|
+
// abort cannot keep the public registration pending or deliver after teardown.
|
|
8
|
+
function cancellable(work, signal) {
|
|
9
|
+
return new Promise((resolve, reject) => {
|
|
10
|
+
const abort = () => {
|
|
11
|
+
signal.removeEventListener('abort', abort);
|
|
12
|
+
reject(registrationError());
|
|
13
|
+
};
|
|
14
|
+
signal.addEventListener('abort', abort, { once: true });
|
|
15
|
+
void work
|
|
16
|
+
.then(resolve, reject)
|
|
17
|
+
.finally(() => signal.removeEventListener('abort', abort));
|
|
18
|
+
if (signal.aborted)
|
|
19
|
+
abort();
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
async function pause(delay, signal) {
|
|
23
|
+
// Browsers/Node clamp oversized timeouts to 1ms. Honour all safe integers.
|
|
24
|
+
while (delay > 0 && !signal.aborted) {
|
|
25
|
+
const chunk = Math.min(delay, 2_147_483_647);
|
|
26
|
+
let timer;
|
|
27
|
+
try {
|
|
28
|
+
await cancellable(new Promise((resolve) => {
|
|
29
|
+
timer = setTimeout(resolve, chunk);
|
|
30
|
+
}), signal);
|
|
31
|
+
}
|
|
32
|
+
finally {
|
|
33
|
+
clearTimeout(timer);
|
|
34
|
+
}
|
|
35
|
+
delay -= chunk;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function release(iterator) {
|
|
39
|
+
try {
|
|
40
|
+
void iterator.return?.().catch(() => undefined);
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
// Cleanup must not expose transport details or prevent cancellation.
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/** Adapt an application-owned Kit transport to context-owned account subscriptions.
|
|
47
|
+
* Initial registration failures reject with a sanitized ProviderError. Dropped
|
|
48
|
+
* streams retry with equal jitter (half to all of the capped exponential delay).
|
|
49
|
+
* Successful registration resets backoff. Cancellation releases Kit through its
|
|
50
|
+
* abort signal; iterator cleanup is best-effort and cannot block unsubscribe.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```ts
|
|
54
|
+
* import type { AccountNotificationsApi, RpcSubscriptions } from '@solana/kit';
|
|
55
|
+
* declare const rpcSubscriptions: RpcSubscriptions<AccountNotificationsApi>;
|
|
56
|
+
* const subscriptions = createRpcSubscriptionProvider({ rpcSubscriptions });
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export function createRpcSubscriptionProvider(options) {
|
|
60
|
+
const initialMs = options.backoff?.initialMs ?? 250;
|
|
61
|
+
const maxMs = options.backoff?.maxMs ?? 30_000;
|
|
62
|
+
if (!Number.isSafeInteger(initialMs) ||
|
|
63
|
+
initialMs <= 0 ||
|
|
64
|
+
!Number.isSafeInteger(maxMs) ||
|
|
65
|
+
maxMs < initialMs) {
|
|
66
|
+
throw new ProviderError('Subscription backoff values must be positive safe integers with maxMs >= initialMs. Correct the retry configuration.');
|
|
67
|
+
}
|
|
68
|
+
const identity = Object.freeze({
|
|
69
|
+
kind: options.identity?.kind ?? 'websocket',
|
|
70
|
+
name: options.identity?.name ?? 'rpc-subscriptions',
|
|
71
|
+
});
|
|
72
|
+
const rpcSubscriptions = options.rpcSubscriptions;
|
|
73
|
+
return {
|
|
74
|
+
identity,
|
|
75
|
+
async subscribeAccount(request, listener) {
|
|
76
|
+
const controller = new AbortController();
|
|
77
|
+
const signal = controller.signal;
|
|
78
|
+
const { address, signal: requestSignal } = request;
|
|
79
|
+
const commitment = request.commitment ?? 'confirmed';
|
|
80
|
+
let closeAttempt;
|
|
81
|
+
const close = () => {
|
|
82
|
+
const cleanup = closeAttempt;
|
|
83
|
+
closeAttempt = undefined;
|
|
84
|
+
cleanup?.();
|
|
85
|
+
};
|
|
86
|
+
const stop = () => {
|
|
87
|
+
controller.abort();
|
|
88
|
+
requestSignal?.removeEventListener('abort', stop);
|
|
89
|
+
close();
|
|
90
|
+
};
|
|
91
|
+
requestSignal?.addEventListener('abort', stop, { once: true });
|
|
92
|
+
if (requestSignal?.aborted)
|
|
93
|
+
stop();
|
|
94
|
+
async function open() {
|
|
95
|
+
if (signal.aborted)
|
|
96
|
+
throw registrationError();
|
|
97
|
+
const attempt = new AbortController();
|
|
98
|
+
closeAttempt = () => attempt.abort();
|
|
99
|
+
try {
|
|
100
|
+
const pending = rpcSubscriptions
|
|
101
|
+
.accountNotifications(address, { commitment, encoding: 'base64' })
|
|
102
|
+
.subscribe({ abortSignal: attempt.signal })
|
|
103
|
+
.then((stream) => {
|
|
104
|
+
const iterator = stream[Symbol.asyncIterator]();
|
|
105
|
+
if (signal.aborted) {
|
|
106
|
+
release(iterator);
|
|
107
|
+
throw registrationError();
|
|
108
|
+
}
|
|
109
|
+
closeAttempt = () => {
|
|
110
|
+
attempt.abort();
|
|
111
|
+
release(iterator);
|
|
112
|
+
};
|
|
113
|
+
return iterator;
|
|
114
|
+
});
|
|
115
|
+
return await cancellable(pending, signal);
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
close();
|
|
119
|
+
throw registrationError();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
try {
|
|
123
|
+
const initial = await open();
|
|
124
|
+
void (async () => {
|
|
125
|
+
let iterator = initial;
|
|
126
|
+
while (!signal.aborted) {
|
|
127
|
+
// Only transport next()/termination failures enter the retry loop.
|
|
128
|
+
try {
|
|
129
|
+
while (!signal.aborted) {
|
|
130
|
+
const item = await cancellable(iterator.next(), signal);
|
|
131
|
+
if (signal.aborted || item.done)
|
|
132
|
+
break;
|
|
133
|
+
try {
|
|
134
|
+
listener({
|
|
135
|
+
kind: 'account',
|
|
136
|
+
account: {
|
|
137
|
+
address,
|
|
138
|
+
commitment,
|
|
139
|
+
slot: item.value.context.slot,
|
|
140
|
+
owner: item.value.value.owner,
|
|
141
|
+
lamports: item.value.value.lamports,
|
|
142
|
+
executable: item.value.value.executable,
|
|
143
|
+
data: Uint8Array.from(getBase64Encoder().encode(item.value.value.data[0])),
|
|
144
|
+
},
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
// A malformed payload or listener exception is not a dropped
|
|
149
|
+
// transport. No error channel exists on the raw contract.
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
// Kit errors are deliberately neither retained nor emitted.
|
|
155
|
+
}
|
|
156
|
+
close();
|
|
157
|
+
let delay = initialMs;
|
|
158
|
+
while (!signal.aborted) {
|
|
159
|
+
await pause(Math.max(1, Math.floor(delay * (0.5 + Math.random() / 2))), signal);
|
|
160
|
+
if (signal.aborted)
|
|
161
|
+
break;
|
|
162
|
+
try {
|
|
163
|
+
iterator = await open();
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
delay = Math.min(maxMs, delay * 2);
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
if (!signal.aborted) {
|
|
170
|
+
try {
|
|
171
|
+
listener({ kind: 'reconnected' });
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
/* Consumer failure is not transport failure. */
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
break;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
})().catch(stop);
|
|
181
|
+
return { unsubscribe: async () => stop() };
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
stop();
|
|
185
|
+
throw registrationError();
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=rpc-subscription-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc-subscription-provider.js","sourceRoot":"","sources":["../../src/client/rpc-subscription-provider.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED