@solana/rpc-subscriptions-api 2.0.0-rc.0 → 2.0.0-rc.2
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/README.md +55 -4
- package/dist/index.browser.cjs +13 -7
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.mjs +15 -9
- package/dist/index.browser.mjs.map +1 -1
- package/dist/index.native.mjs +15 -9
- package/dist/index.native.mjs.map +1 -1
- package/dist/index.node.cjs +13 -7
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.mjs +15 -9
- package/dist/index.node.mjs.map +1 -1
- package/dist/types/account-notifications.d.ts +2 -3
- package/dist/types/account-notifications.d.ts.map +1 -1
- package/dist/types/block-notifications.d.ts +5 -6
- package/dist/types/block-notifications.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/logs-notifications.d.ts +2 -3
- package/dist/types/logs-notifications.d.ts.map +1 -1
- package/dist/types/program-notifications.d.ts +6 -7
- package/dist/types/program-notifications.d.ts.map +1 -1
- package/dist/types/root-notifications.d.ts +2 -3
- package/dist/types/root-notifications.d.ts.map +1 -1
- package/dist/types/signature-notifications.d.ts +2 -3
- package/dist/types/signature-notifications.d.ts.map +1 -1
- package/dist/types/slot-notifications.d.ts +2 -3
- package/dist/types/slot-notifications.d.ts.map +1 -1
- package/dist/types/slots-updates-notifications.d.ts +8 -9
- package/dist/types/slots-updates-notifications.d.ts.map +1 -1
- package/dist/types/vote-notifications.d.ts +2 -3
- package/dist/types/vote-notifications.d.ts.map +1 -1
- package/package.json +20 -9
package/README.md
CHANGED
|
@@ -6,12 +6,63 @@
|
|
|
6
6
|
|
|
7
7
|
[code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square
|
|
8
8
|
[code-style-prettier-url]: https://github.com/prettier/prettier
|
|
9
|
-
[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-subscriptions-api/
|
|
10
|
-
[npm-image]: https://img.shields.io/npm/v/@solana/rpc-subscriptions-api/
|
|
11
|
-
[npm-url]: https://www.npmjs.com/package/@solana/rpc-subscriptions-api/v/
|
|
9
|
+
[npm-downloads-image]: https://img.shields.io/npm/dm/@solana/rpc-subscriptions-api/rc.svg?style=flat
|
|
10
|
+
[npm-image]: https://img.shields.io/npm/v/@solana/rpc-subscriptions-api/rc.svg?style=flat
|
|
11
|
+
[npm-url]: https://www.npmjs.com/package/@solana/rpc-subscriptions-api/v/rc
|
|
12
12
|
[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg
|
|
13
13
|
[semantic-release-url]: https://github.com/semantic-release/semantic-release
|
|
14
14
|
|
|
15
15
|
# @solana/rpc-subscriptions-api
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
This package contains types that describe the [methods](https://solana.com/docs/rpc/websocket) of the Solana JSON RPC Subscriptions API, and utilities for creating a `RpcSubscriptionsApi` implementation with sensible defaults. It can be used standalone, but it is also exported as part of the Solana JavaScript SDK [`@solana/web3.js@rc`](https://github.com/solana-labs/solana-web3.js/tree/master/packages/library).
|
|
18
|
+
|
|
19
|
+
Each RPC subscriptions method is described in terms of a TypeScript type of the following form:
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
type ExampleApi = {
|
|
23
|
+
thingNotifications(address: Address): Thing;
|
|
24
|
+
};
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
A `RpcSubscriptionsApi` that implements `ExampleApi` will ultimately expose its defined methods on any `RpcSubscriptions` that uses it.
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
const rpcSubscriptions: RpcSubscriptions<ExampleApi> = createExampleRpcSubscriptions(/* ... */);
|
|
31
|
+
const thingNotifications = await rpc
|
|
32
|
+
.thingNotifications(address('95DpK3y3GF7U8s1k4EvZ7xqyeCkhsHeZaE97iZpHUGMN'))
|
|
33
|
+
.subscribe({ abortSignal: AbortSignal.timeout(5_000) });
|
|
34
|
+
try {
|
|
35
|
+
for await (const thing of thingNotifications) {
|
|
36
|
+
console.log('Got a thing', thing);
|
|
37
|
+
}
|
|
38
|
+
} catch (e) {
|
|
39
|
+
console.error('Our subscription to `Thing` notifications has failed', e);
|
|
40
|
+
} finally {
|
|
41
|
+
console.log('We are done listening for `Thing` notifications');
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Types
|
|
46
|
+
|
|
47
|
+
### `SolanaRpcSubscriptionsApi{Devnet|Testnet|Mainnet}`
|
|
48
|
+
|
|
49
|
+
These types represent the RPC subscription methods available on a specific Solana cluster.
|
|
50
|
+
|
|
51
|
+
## Functions
|
|
52
|
+
|
|
53
|
+
### `createSolanaRpcSubscriptionsApi(config)`
|
|
54
|
+
|
|
55
|
+
Creates a `RpcSubscriptionsApi` implementation of the Solana JSON RPC Subscriptions API with some default behaviours.
|
|
56
|
+
|
|
57
|
+
The default behaviours include:
|
|
58
|
+
|
|
59
|
+
- A transform that converts `bigint` inputs to `number` for compatiblity with version 1.0 of the Solana JSON RPC.
|
|
60
|
+
- A transform that calls the config's `onIntegerOverflow` handler whenever a `bigint` input would overflow a JavaScript IEEE 754 number. See [this](https://github.com/solana-labs/solana-web3.js/issues/1116) GitHub issue for more information.
|
|
61
|
+
- A transform that applies a default commitment wherever not specified
|
|
62
|
+
|
|
63
|
+
#### Arguments
|
|
64
|
+
|
|
65
|
+
A config object with the following properties:
|
|
66
|
+
|
|
67
|
+
- `defaultCommitment`: An optional default `Commitment` value. Given an RPC method that takes `commitment` as a parameter, this value will be used when the caller does not supply one.
|
|
68
|
+
- `onIntegerOverflow(request, keyPath, value): void`: An optional function that will be called whenever a `bigint` input exceeds that which can be expressed using JavaScript numbers. This is used in the default `SolanaRpcSubscriptionsApi` to throw an exception rather than to allow truncated values to propagate through a program.
|
package/dist/index.browser.cjs
CHANGED
|
@@ -5,13 +5,20 @@ var rpcTransformers = require('@solana/rpc-transformers');
|
|
|
5
5
|
|
|
6
6
|
// src/index.ts
|
|
7
7
|
function createSolanaRpcSubscriptionsApi_INTERNAL(config) {
|
|
8
|
+
const requestTransformer = rpcTransformers.getDefaultRequestTransformerForSolanaRpc(config);
|
|
9
|
+
const responseTransformer = rpcTransformers.getDefaultResponseTransformerForSolanaRpcSubscriptions({
|
|
10
|
+
allowedNumericKeyPaths: getAllowedNumericKeypaths()
|
|
11
|
+
});
|
|
8
12
|
return rpcSubscriptionsSpec.createRpcSubscriptionsApi({
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
planExecutor({ request, ...rest }) {
|
|
14
|
+
return rpcSubscriptionsSpec.executeRpcPubSubSubscriptionPlan({
|
|
15
|
+
...rest,
|
|
16
|
+
responseTransformer,
|
|
17
|
+
subscribeRequest: { ...request, methodName: request.methodName.replace(/Notifications$/, "Subscribe") },
|
|
18
|
+
unsubscribeMethodName: request.methodName.replace(/Notifications$/, "Unsubscribe")
|
|
19
|
+
});
|
|
20
|
+
},
|
|
21
|
+
requestTransformer
|
|
15
22
|
});
|
|
16
23
|
}
|
|
17
24
|
function createSolanaRpcSubscriptionsApi(config) {
|
|
@@ -28,7 +35,6 @@ function getAllowedNumericKeypaths() {
|
|
|
28
35
|
memoizedKeypaths = {
|
|
29
36
|
accountNotifications: rpcTransformers.jsonParsedAccountsConfigs.map((c) => ["value", ...c]),
|
|
30
37
|
blockNotifications: [
|
|
31
|
-
["value", "block", "blockTime"],
|
|
32
38
|
[
|
|
33
39
|
"value",
|
|
34
40
|
"block",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["createRpcSubscriptionsApi","getDefaultParamsTransformerForSolanaRpc","getDefaultResponseTransformerForSolanaRpc","jsonParsedAccountsConfigs","KEYPATH_WILDCARD"],"mappings":"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","file":"index.browser.cjs","sourcesContent":["import {\n createRpcSubscriptionsApi,\n RpcSubscriptionsApi,\n RpcSubscriptionsApiMethods,\n} from '@solana/rpc-subscriptions-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultParamsTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n jsonParsedAccountsConfigs,\n KEYPATH_WILDCARD,\n ParamsTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { AccountNotificationsApi } from './account-notifications';\nimport { BlockNotificationsApi } from './block-notifications';\nimport { LogsNotificationsApi } from './logs-notifications';\nimport { ProgramNotificationsApi } from './program-notifications';\nimport { RootNotificationsApi } from './root-notifications';\nimport { SignatureNotificationsApi } from './signature-notifications';\nimport { SlotNotificationsApi } from './slot-notifications';\nimport { SlotsUpdatesNotificationsApi } from './slots-updates-notifications';\nimport { VoteNotificationsApi } from './vote-notifications';\n\nexport type SolanaRpcSubscriptionsApi = AccountNotificationsApi &\n LogsNotificationsApi &\n ProgramNotificationsApi &\n RootNotificationsApi &\n SignatureNotificationsApi &\n SlotNotificationsApi;\nexport type SolanaRpcSubscriptionsApiUnstable = BlockNotificationsApi &\n SlotsUpdatesNotificationsApi &\n VoteNotificationsApi;\n\nexport type {\n AccountNotificationsApi,\n BlockNotificationsApi,\n LogsNotificationsApi,\n ProgramNotificationsApi,\n RootNotificationsApi,\n SignatureNotificationsApi,\n SlotNotificationsApi,\n SlotsUpdatesNotificationsApi,\n VoteNotificationsApi,\n};\n\ntype Config = ParamsTransformerConfig;\n\nfunction createSolanaRpcSubscriptionsApi_INTERNAL<TApi extends RpcSubscriptionsApiMethods>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n return createRpcSubscriptionsApi<TApi>({\n parametersTransformer: getDefaultParamsTransformerForSolanaRpc(config) as (params: unknown[]) => unknown[],\n responseTransformer: getDefaultResponseTransformerForSolanaRpc({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n }),\n subscribeNotificationNameTransformer: (notificationName: string) =>\n notificationName.replace(/Notifications$/, 'Subscribe'),\n unsubscribeNotificationNameTransformer: (notificationName: string) =>\n notificationName.replace(/Notifications$/, 'Unsubscribe'),\n });\n}\n\nexport function createSolanaRpcSubscriptionsApi<TApi extends RpcSubscriptionsApiMethods = SolanaRpcSubscriptionsApi>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n return createSolanaRpcSubscriptionsApi_INTERNAL<TApi>(config);\n}\n\nexport function createSolanaRpcSubscriptionsApi_UNSTABLE(config?: Config) {\n return createSolanaRpcSubscriptionsApi_INTERNAL<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>(\n config,\n );\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n accountNotifications: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n blockNotifications: [\n ['value', 'block', 'blockTime'],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['value', 'block', 'transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'index',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'writableIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'readonlyIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlySignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlyUnsignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numRequiredSignatures',\n ],\n ['value', 'block', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n programNotifications: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["getDefaultRequestTransformerForSolanaRpc","getDefaultResponseTransformerForSolanaRpcSubscriptions","createRpcSubscriptionsApi","executeRpcPubSubSubscriptionPlan","jsonParsedAccountsConfigs","KEYPATH_WILDCARD"],"mappings":"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","file":"index.browser.cjs","sourcesContent":["import {\n createRpcSubscriptionsApi,\n executeRpcPubSubSubscriptionPlan,\n RpcSubscriptionsApi,\n RpcSubscriptionsApiMethods,\n} from '@solana/rpc-subscriptions-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultRequestTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpcSubscriptions,\n jsonParsedAccountsConfigs,\n KEYPATH_WILDCARD,\n RequestTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { AccountNotificationsApi } from './account-notifications';\nimport { BlockNotificationsApi } from './block-notifications';\nimport { LogsNotificationsApi } from './logs-notifications';\nimport { ProgramNotificationsApi } from './program-notifications';\nimport { RootNotificationsApi } from './root-notifications';\nimport { SignatureNotificationsApi } from './signature-notifications';\nimport { SlotNotificationsApi } from './slot-notifications';\nimport { SlotsUpdatesNotificationsApi } from './slots-updates-notifications';\nimport { VoteNotificationsApi } from './vote-notifications';\n\nexport type SolanaRpcSubscriptionsApi = AccountNotificationsApi &\n LogsNotificationsApi &\n ProgramNotificationsApi &\n RootNotificationsApi &\n SignatureNotificationsApi &\n SlotNotificationsApi;\nexport type SolanaRpcSubscriptionsApiUnstable = BlockNotificationsApi &\n SlotsUpdatesNotificationsApi &\n VoteNotificationsApi;\n\nexport type {\n AccountNotificationsApi,\n BlockNotificationsApi,\n LogsNotificationsApi,\n ProgramNotificationsApi,\n RootNotificationsApi,\n SignatureNotificationsApi,\n SlotNotificationsApi,\n SlotsUpdatesNotificationsApi,\n VoteNotificationsApi,\n};\n\ntype Config = RequestTransformerConfig;\n\nfunction createSolanaRpcSubscriptionsApi_INTERNAL<TApi extends RpcSubscriptionsApiMethods>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n const requestTransformer = getDefaultRequestTransformerForSolanaRpc(config);\n const responseTransformer = getDefaultResponseTransformerForSolanaRpcSubscriptions({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n });\n return createRpcSubscriptionsApi<TApi>({\n planExecutor({ request, ...rest }) {\n return executeRpcPubSubSubscriptionPlan({\n ...rest,\n responseTransformer,\n subscribeRequest: { ...request, methodName: request.methodName.replace(/Notifications$/, 'Subscribe') },\n unsubscribeMethodName: request.methodName.replace(/Notifications$/, 'Unsubscribe'),\n });\n },\n requestTransformer,\n });\n}\n\nexport function createSolanaRpcSubscriptionsApi<TApi extends RpcSubscriptionsApiMethods = SolanaRpcSubscriptionsApi>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n return createSolanaRpcSubscriptionsApi_INTERNAL<TApi>(config);\n}\n\nexport function createSolanaRpcSubscriptionsApi_UNSTABLE(config?: Config) {\n return createSolanaRpcSubscriptionsApi_INTERNAL<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>(\n config,\n );\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n accountNotifications: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n blockNotifications: [\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['value', 'block', 'transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'index',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'writableIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'readonlyIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlySignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlyUnsignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numRequiredSignatures',\n ],\n ['value', 'block', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n programNotifications: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
package/dist/index.browser.mjs
CHANGED
|
@@ -1,15 +1,22 @@
|
|
|
1
|
-
import { createRpcSubscriptionsApi } from '@solana/rpc-subscriptions-spec';
|
|
2
|
-
import {
|
|
1
|
+
import { createRpcSubscriptionsApi, executeRpcPubSubSubscriptionPlan } from '@solana/rpc-subscriptions-spec';
|
|
2
|
+
import { getDefaultRequestTransformerForSolanaRpc, getDefaultResponseTransformerForSolanaRpcSubscriptions, jsonParsedAccountsConfigs, KEYPATH_WILDCARD } from '@solana/rpc-transformers';
|
|
3
3
|
|
|
4
4
|
// src/index.ts
|
|
5
5
|
function createSolanaRpcSubscriptionsApi_INTERNAL(config) {
|
|
6
|
+
const requestTransformer = getDefaultRequestTransformerForSolanaRpc(config);
|
|
7
|
+
const responseTransformer = getDefaultResponseTransformerForSolanaRpcSubscriptions({
|
|
8
|
+
allowedNumericKeyPaths: getAllowedNumericKeypaths()
|
|
9
|
+
});
|
|
6
10
|
return createRpcSubscriptionsApi({
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
planExecutor({ request, ...rest }) {
|
|
12
|
+
return executeRpcPubSubSubscriptionPlan({
|
|
13
|
+
...rest,
|
|
14
|
+
responseTransformer,
|
|
15
|
+
subscribeRequest: { ...request, methodName: request.methodName.replace(/Notifications$/, "Subscribe") },
|
|
16
|
+
unsubscribeMethodName: request.methodName.replace(/Notifications$/, "Unsubscribe")
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
requestTransformer
|
|
13
20
|
});
|
|
14
21
|
}
|
|
15
22
|
function createSolanaRpcSubscriptionsApi(config) {
|
|
@@ -26,7 +33,6 @@ function getAllowedNumericKeypaths() {
|
|
|
26
33
|
memoizedKeypaths = {
|
|
27
34
|
accountNotifications: jsonParsedAccountsConfigs.map((c) => ["value", ...c]),
|
|
28
35
|
blockNotifications: [
|
|
29
|
-
["value", "block", "blockTime"],
|
|
30
36
|
[
|
|
31
37
|
"value",
|
|
32
38
|
"block",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.browser.mjs","sourcesContent":["import {\n createRpcSubscriptionsApi,\n RpcSubscriptionsApi,\n RpcSubscriptionsApiMethods,\n} from '@solana/rpc-subscriptions-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultParamsTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n jsonParsedAccountsConfigs,\n KEYPATH_WILDCARD,\n ParamsTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { AccountNotificationsApi } from './account-notifications';\nimport { BlockNotificationsApi } from './block-notifications';\nimport { LogsNotificationsApi } from './logs-notifications';\nimport { ProgramNotificationsApi } from './program-notifications';\nimport { RootNotificationsApi } from './root-notifications';\nimport { SignatureNotificationsApi } from './signature-notifications';\nimport { SlotNotificationsApi } from './slot-notifications';\nimport { SlotsUpdatesNotificationsApi } from './slots-updates-notifications';\nimport { VoteNotificationsApi } from './vote-notifications';\n\nexport type SolanaRpcSubscriptionsApi = AccountNotificationsApi &\n LogsNotificationsApi &\n ProgramNotificationsApi &\n RootNotificationsApi &\n SignatureNotificationsApi &\n SlotNotificationsApi;\nexport type SolanaRpcSubscriptionsApiUnstable = BlockNotificationsApi &\n SlotsUpdatesNotificationsApi &\n VoteNotificationsApi;\n\nexport type {\n AccountNotificationsApi,\n BlockNotificationsApi,\n LogsNotificationsApi,\n ProgramNotificationsApi,\n RootNotificationsApi,\n SignatureNotificationsApi,\n SlotNotificationsApi,\n SlotsUpdatesNotificationsApi,\n VoteNotificationsApi,\n};\n\ntype Config = ParamsTransformerConfig;\n\nfunction createSolanaRpcSubscriptionsApi_INTERNAL<TApi extends RpcSubscriptionsApiMethods>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n return createRpcSubscriptionsApi<TApi>({\n parametersTransformer: getDefaultParamsTransformerForSolanaRpc(config) as (params: unknown[]) => unknown[],\n responseTransformer: getDefaultResponseTransformerForSolanaRpc({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n }),\n subscribeNotificationNameTransformer: (notificationName: string) =>\n notificationName.replace(/Notifications$/, 'Subscribe'),\n unsubscribeNotificationNameTransformer: (notificationName: string) =>\n notificationName.replace(/Notifications$/, 'Unsubscribe'),\n });\n}\n\nexport function createSolanaRpcSubscriptionsApi<TApi extends RpcSubscriptionsApiMethods = SolanaRpcSubscriptionsApi>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n return createSolanaRpcSubscriptionsApi_INTERNAL<TApi>(config);\n}\n\nexport function createSolanaRpcSubscriptionsApi_UNSTABLE(config?: Config) {\n return createSolanaRpcSubscriptionsApi_INTERNAL<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>(\n config,\n );\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n accountNotifications: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n blockNotifications: [\n ['value', 'block', 'blockTime'],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['value', 'block', 'transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'index',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'writableIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'readonlyIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlySignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlyUnsignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numRequiredSignatures',\n ],\n ['value', 'block', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n programNotifications: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.browser.mjs","sourcesContent":["import {\n createRpcSubscriptionsApi,\n executeRpcPubSubSubscriptionPlan,\n RpcSubscriptionsApi,\n RpcSubscriptionsApiMethods,\n} from '@solana/rpc-subscriptions-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultRequestTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpcSubscriptions,\n jsonParsedAccountsConfigs,\n KEYPATH_WILDCARD,\n RequestTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { AccountNotificationsApi } from './account-notifications';\nimport { BlockNotificationsApi } from './block-notifications';\nimport { LogsNotificationsApi } from './logs-notifications';\nimport { ProgramNotificationsApi } from './program-notifications';\nimport { RootNotificationsApi } from './root-notifications';\nimport { SignatureNotificationsApi } from './signature-notifications';\nimport { SlotNotificationsApi } from './slot-notifications';\nimport { SlotsUpdatesNotificationsApi } from './slots-updates-notifications';\nimport { VoteNotificationsApi } from './vote-notifications';\n\nexport type SolanaRpcSubscriptionsApi = AccountNotificationsApi &\n LogsNotificationsApi &\n ProgramNotificationsApi &\n RootNotificationsApi &\n SignatureNotificationsApi &\n SlotNotificationsApi;\nexport type SolanaRpcSubscriptionsApiUnstable = BlockNotificationsApi &\n SlotsUpdatesNotificationsApi &\n VoteNotificationsApi;\n\nexport type {\n AccountNotificationsApi,\n BlockNotificationsApi,\n LogsNotificationsApi,\n ProgramNotificationsApi,\n RootNotificationsApi,\n SignatureNotificationsApi,\n SlotNotificationsApi,\n SlotsUpdatesNotificationsApi,\n VoteNotificationsApi,\n};\n\ntype Config = RequestTransformerConfig;\n\nfunction createSolanaRpcSubscriptionsApi_INTERNAL<TApi extends RpcSubscriptionsApiMethods>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n const requestTransformer = getDefaultRequestTransformerForSolanaRpc(config);\n const responseTransformer = getDefaultResponseTransformerForSolanaRpcSubscriptions({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n });\n return createRpcSubscriptionsApi<TApi>({\n planExecutor({ request, ...rest }) {\n return executeRpcPubSubSubscriptionPlan({\n ...rest,\n responseTransformer,\n subscribeRequest: { ...request, methodName: request.methodName.replace(/Notifications$/, 'Subscribe') },\n unsubscribeMethodName: request.methodName.replace(/Notifications$/, 'Unsubscribe'),\n });\n },\n requestTransformer,\n });\n}\n\nexport function createSolanaRpcSubscriptionsApi<TApi extends RpcSubscriptionsApiMethods = SolanaRpcSubscriptionsApi>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n return createSolanaRpcSubscriptionsApi_INTERNAL<TApi>(config);\n}\n\nexport function createSolanaRpcSubscriptionsApi_UNSTABLE(config?: Config) {\n return createSolanaRpcSubscriptionsApi_INTERNAL<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>(\n config,\n );\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n accountNotifications: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n blockNotifications: [\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['value', 'block', 'transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'index',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'writableIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'readonlyIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlySignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlyUnsignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numRequiredSignatures',\n ],\n ['value', 'block', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n programNotifications: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
package/dist/index.native.mjs
CHANGED
|
@@ -1,15 +1,22 @@
|
|
|
1
|
-
import { createRpcSubscriptionsApi } from '@solana/rpc-subscriptions-spec';
|
|
2
|
-
import {
|
|
1
|
+
import { createRpcSubscriptionsApi, executeRpcPubSubSubscriptionPlan } from '@solana/rpc-subscriptions-spec';
|
|
2
|
+
import { getDefaultRequestTransformerForSolanaRpc, getDefaultResponseTransformerForSolanaRpcSubscriptions, jsonParsedAccountsConfigs, KEYPATH_WILDCARD } from '@solana/rpc-transformers';
|
|
3
3
|
|
|
4
4
|
// src/index.ts
|
|
5
5
|
function createSolanaRpcSubscriptionsApi_INTERNAL(config) {
|
|
6
|
+
const requestTransformer = getDefaultRequestTransformerForSolanaRpc(config);
|
|
7
|
+
const responseTransformer = getDefaultResponseTransformerForSolanaRpcSubscriptions({
|
|
8
|
+
allowedNumericKeyPaths: getAllowedNumericKeypaths()
|
|
9
|
+
});
|
|
6
10
|
return createRpcSubscriptionsApi({
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
planExecutor({ request, ...rest }) {
|
|
12
|
+
return executeRpcPubSubSubscriptionPlan({
|
|
13
|
+
...rest,
|
|
14
|
+
responseTransformer,
|
|
15
|
+
subscribeRequest: { ...request, methodName: request.methodName.replace(/Notifications$/, "Subscribe") },
|
|
16
|
+
unsubscribeMethodName: request.methodName.replace(/Notifications$/, "Unsubscribe")
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
requestTransformer
|
|
13
20
|
});
|
|
14
21
|
}
|
|
15
22
|
function createSolanaRpcSubscriptionsApi(config) {
|
|
@@ -26,7 +33,6 @@ function getAllowedNumericKeypaths() {
|
|
|
26
33
|
memoizedKeypaths = {
|
|
27
34
|
accountNotifications: jsonParsedAccountsConfigs.map((c) => ["value", ...c]),
|
|
28
35
|
blockNotifications: [
|
|
29
|
-
["value", "block", "blockTime"],
|
|
30
36
|
[
|
|
31
37
|
"value",
|
|
32
38
|
"block",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;AAgDA,SAAS,yCACL,MACyB,EAAA;AACzB,EAAA,OAAO,yBAAgC,CAAA;AAAA,IACnC,qBAAA,EAAuB,wCAAwC,MAAM,CAAA;AAAA,IACrE,qBAAqB,yCAA0C,CAAA;AAAA,MAC3D,wBAAwB,yBAA0B,EAAA;AAAA,KACrD,CAAA;AAAA,IACD,sCAAsC,CAAC,gBAAA,KACnC,gBAAiB,CAAA,OAAA,CAAQ,kBAAkB,WAAW,CAAA;AAAA,IAC1D,wCAAwC,CAAC,gBAAA,KACrC,gBAAiB,CAAA,OAAA,CAAQ,kBAAkB,aAAa,CAAA;AAAA,GAC/D,CAAA,CAAA;AACL,CAAA;AAEO,SAAS,gCACZ,MACyB,EAAA;AACzB,EAAA,OAAO,yCAA+C,MAAM,CAAA,CAAA;AAChE,CAAA;AAEO,SAAS,yCAAyC,MAAiB,EAAA;AACtE,EAAO,OAAA,wCAAA;AAAA,IACH,MAAA;AAAA,GACJ,CAAA;AACJ,CAAA;AAEA,IAAI,gBAAA,CAAA;AAQJ,SAAS,yBAEP,GAAA;AACE,EAAA,IAAI,CAAC,gBAAkB,EAAA;AACnB,IAAmB,gBAAA,GAAA;AAAA,MACf,oBAAA,EAAsB,0BAA0B,GAAI,CAAA,CAAA,CAAA,KAAK,CAAC,OAAS,EAAA,GAAG,CAAC,CAAC,CAAA;AAAA,MACxE,kBAAoB,EAAA;AAAA,QAChB,CAAC,OAAS,EAAA,OAAA,EAAS,WAAW,CAAA;AAAA,QAC9B;AAAA,UACI,OAAA;AAAA,UACA,OAAA;AAAA,UACA,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,MAAA;AAAA,UACA,kBAAA;AAAA,UACA,gBAAA;AAAA,UACA,cAAA;AAAA,SACJ;AAAA,QACA;AAAA,UACI,OAAA;AAAA,UACA,OAAA;AAAA,UACA,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,MAAA;AAAA,UACA,kBAAA;AAAA,UACA,gBAAA;AAAA,UACA,eAAA;AAAA,UACA,UAAA;AAAA,SACJ;AAAA,QACA;AAAA,UACI,OAAA;AAAA,UACA,OAAA;AAAA,UACA,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,MAAA;AAAA,UACA,mBAAA;AAAA,UACA,gBAAA;AAAA,UACA,cAAA;AAAA,SACJ;AAAA,QACA;AAAA,UACI,OAAA;AAAA,UACA,OAAA;AAAA,UACA,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,MAAA;AAAA,UACA,mBAAA;AAAA,UACA,gBAAA;AAAA,UACA,eAAA;AAAA,UACA,UAAA;AAAA,SACJ;AAAA,QACA,CAAC,SAAS,OAAS,EAAA,cAAA,EAAgB,kBAAkB,MAAQ,EAAA,SAAA,EAAW,kBAAkB,YAAY,CAAA;AAAA,QACtG;AAAA,UACI,OAAA;AAAA,UACA,OAAA;AAAA,UACA,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,MAAA;AAAA,UACA,mBAAA;AAAA,UACA,gBAAA;AAAA,UACA,OAAA;AAAA,SACJ;AAAA,QACA;AAAA,UACI,OAAA;AAAA,UACA,OAAA;AAAA,UACA,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,MAAA;AAAA,UACA,mBAAA;AAAA,UACA,gBAAA;AAAA,UACA,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,gBAAA;AAAA,SACJ;AAAA,QACA;AAAA,UACI,OAAA;AAAA,UACA,OAAA;AAAA,UACA,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,MAAA;AAAA,UACA,mBAAA;AAAA,UACA,gBAAA;AAAA,UACA,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,UAAA;AAAA,UACA,gBAAA;AAAA,SACJ;AAAA,QACA;AAAA,UACI,OAAA;AAAA,UACA,OAAA;AAAA,UACA,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,aAAA;AAAA,UACA,SAAA;AAAA,UACA,qBAAA;AAAA,UACA,gBAAA;AAAA,UACA,iBAAA;AAAA,UACA,gBAAA;AAAA,SACJ;AAAA,QACA;AAAA,UACI,OAAA;AAAA,UACA,OAAA;AAAA,UACA,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,aAAA;AAAA,UACA,SAAA;AAAA,UACA,qBAAA;AAAA,UACA,gBAAA;AAAA,UACA,iBAAA;AAAA,UACA,gBAAA;AAAA,SACJ;AAAA,QACA;AAAA,UACI,OAAA;AAAA,UACA,OAAA;AAAA,UACA,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,aAAA;AAAA,UACA,SAAA;AAAA,UACA,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,gBAAA;AAAA,SACJ;AAAA,QACA;AAAA,UACI,OAAA;AAAA,UACA,OAAA;AAAA,UACA,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,aAAA;AAAA,UACA,SAAA;AAAA,UACA,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,UAAA;AAAA,UACA,gBAAA;AAAA,SACJ;AAAA,QACA;AAAA,UACI,OAAA;AAAA,UACA,OAAA;AAAA,UACA,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,aAAA;AAAA,UACA,SAAA;AAAA,UACA,QAAA;AAAA,UACA,2BAAA;AAAA,SACJ;AAAA,QACA;AAAA,UACI,OAAA;AAAA,UACA,OAAA;AAAA,UACA,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,aAAA;AAAA,UACA,SAAA;AAAA,UACA,QAAA;AAAA,UACA,6BAAA;AAAA,SACJ;AAAA,QACA;AAAA,UACI,OAAA;AAAA,UACA,OAAA;AAAA,UACA,cAAA;AAAA,UACA,gBAAA;AAAA,UACA,aAAA;AAAA,UACA,SAAA;AAAA,UACA,QAAA;AAAA,UACA,uBAAA;AAAA,SACJ;AAAA,QACA,CAAC,OAAA,EAAS,OAAS,EAAA,SAAA,EAAW,kBAAkB,YAAY,CAAA;AAAA,OAChE;AAAA,MACA,oBAAA,EAAsB,yBAA0B,CAAA,OAAA,CAAQ,CAAK,CAAA,KAAA;AAAA,QACzD,CAAC,OAAA,EAAS,gBAAkB,EAAA,SAAA,EAAW,GAAG,CAAC,CAAA;AAAA,QAC3C,CAAC,gBAAA,EAAkB,SAAW,EAAA,GAAG,CAAC,CAAA;AAAA,OACrC,CAAA;AAAA,KACL,CAAA;AAAA,GACJ;AACA,EAAO,OAAA,gBAAA,CAAA;AACX","file":"index.native.mjs","sourcesContent":["import {\n createRpcSubscriptionsApi,\n RpcSubscriptionsApi,\n RpcSubscriptionsApiMethods,\n} from '@solana/rpc-subscriptions-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultParamsTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n jsonParsedAccountsConfigs,\n KEYPATH_WILDCARD,\n ParamsTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { AccountNotificationsApi } from './account-notifications';\nimport { BlockNotificationsApi } from './block-notifications';\nimport { LogsNotificationsApi } from './logs-notifications';\nimport { ProgramNotificationsApi } from './program-notifications';\nimport { RootNotificationsApi } from './root-notifications';\nimport { SignatureNotificationsApi } from './signature-notifications';\nimport { SlotNotificationsApi } from './slot-notifications';\nimport { SlotsUpdatesNotificationsApi } from './slots-updates-notifications';\nimport { VoteNotificationsApi } from './vote-notifications';\n\nexport type SolanaRpcSubscriptionsApi = AccountNotificationsApi &\n LogsNotificationsApi &\n ProgramNotificationsApi &\n RootNotificationsApi &\n SignatureNotificationsApi &\n SlotNotificationsApi;\nexport type SolanaRpcSubscriptionsApiUnstable = BlockNotificationsApi &\n SlotsUpdatesNotificationsApi &\n VoteNotificationsApi;\n\nexport type {\n AccountNotificationsApi,\n BlockNotificationsApi,\n LogsNotificationsApi,\n ProgramNotificationsApi,\n RootNotificationsApi,\n SignatureNotificationsApi,\n SlotNotificationsApi,\n SlotsUpdatesNotificationsApi,\n VoteNotificationsApi,\n};\n\ntype Config = ParamsTransformerConfig;\n\nfunction createSolanaRpcSubscriptionsApi_INTERNAL<TApi extends RpcSubscriptionsApiMethods>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n return createRpcSubscriptionsApi<TApi>({\n parametersTransformer: getDefaultParamsTransformerForSolanaRpc(config) as (params: unknown[]) => unknown[],\n responseTransformer: getDefaultResponseTransformerForSolanaRpc({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n }),\n subscribeNotificationNameTransformer: (notificationName: string) =>\n notificationName.replace(/Notifications$/, 'Subscribe'),\n unsubscribeNotificationNameTransformer: (notificationName: string) =>\n notificationName.replace(/Notifications$/, 'Unsubscribe'),\n });\n}\n\nexport function createSolanaRpcSubscriptionsApi<TApi extends RpcSubscriptionsApiMethods = SolanaRpcSubscriptionsApi>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n return createSolanaRpcSubscriptionsApi_INTERNAL<TApi>(config);\n}\n\nexport function createSolanaRpcSubscriptionsApi_UNSTABLE(config?: Config) {\n return createSolanaRpcSubscriptionsApi_INTERNAL<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>(\n config,\n );\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n accountNotifications: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n blockNotifications: [\n ['value', 'block', 'blockTime'],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['value', 'block', 'transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'index',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'writableIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'readonlyIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlySignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlyUnsignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numRequiredSignatures',\n ],\n ['value', 'block', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n programNotifications: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.native.mjs","sourcesContent":["import {\n createRpcSubscriptionsApi,\n executeRpcPubSubSubscriptionPlan,\n RpcSubscriptionsApi,\n RpcSubscriptionsApiMethods,\n} from '@solana/rpc-subscriptions-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultRequestTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpcSubscriptions,\n jsonParsedAccountsConfigs,\n KEYPATH_WILDCARD,\n RequestTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { AccountNotificationsApi } from './account-notifications';\nimport { BlockNotificationsApi } from './block-notifications';\nimport { LogsNotificationsApi } from './logs-notifications';\nimport { ProgramNotificationsApi } from './program-notifications';\nimport { RootNotificationsApi } from './root-notifications';\nimport { SignatureNotificationsApi } from './signature-notifications';\nimport { SlotNotificationsApi } from './slot-notifications';\nimport { SlotsUpdatesNotificationsApi } from './slots-updates-notifications';\nimport { VoteNotificationsApi } from './vote-notifications';\n\nexport type SolanaRpcSubscriptionsApi = AccountNotificationsApi &\n LogsNotificationsApi &\n ProgramNotificationsApi &\n RootNotificationsApi &\n SignatureNotificationsApi &\n SlotNotificationsApi;\nexport type SolanaRpcSubscriptionsApiUnstable = BlockNotificationsApi &\n SlotsUpdatesNotificationsApi &\n VoteNotificationsApi;\n\nexport type {\n AccountNotificationsApi,\n BlockNotificationsApi,\n LogsNotificationsApi,\n ProgramNotificationsApi,\n RootNotificationsApi,\n SignatureNotificationsApi,\n SlotNotificationsApi,\n SlotsUpdatesNotificationsApi,\n VoteNotificationsApi,\n};\n\ntype Config = RequestTransformerConfig;\n\nfunction createSolanaRpcSubscriptionsApi_INTERNAL<TApi extends RpcSubscriptionsApiMethods>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n const requestTransformer = getDefaultRequestTransformerForSolanaRpc(config);\n const responseTransformer = getDefaultResponseTransformerForSolanaRpcSubscriptions({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n });\n return createRpcSubscriptionsApi<TApi>({\n planExecutor({ request, ...rest }) {\n return executeRpcPubSubSubscriptionPlan({\n ...rest,\n responseTransformer,\n subscribeRequest: { ...request, methodName: request.methodName.replace(/Notifications$/, 'Subscribe') },\n unsubscribeMethodName: request.methodName.replace(/Notifications$/, 'Unsubscribe'),\n });\n },\n requestTransformer,\n });\n}\n\nexport function createSolanaRpcSubscriptionsApi<TApi extends RpcSubscriptionsApiMethods = SolanaRpcSubscriptionsApi>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n return createSolanaRpcSubscriptionsApi_INTERNAL<TApi>(config);\n}\n\nexport function createSolanaRpcSubscriptionsApi_UNSTABLE(config?: Config) {\n return createSolanaRpcSubscriptionsApi_INTERNAL<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>(\n config,\n );\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n accountNotifications: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n blockNotifications: [\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['value', 'block', 'transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'index',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'writableIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'readonlyIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlySignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlyUnsignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numRequiredSignatures',\n ],\n ['value', 'block', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n programNotifications: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
package/dist/index.node.cjs
CHANGED
|
@@ -5,13 +5,20 @@ var rpcTransformers = require('@solana/rpc-transformers');
|
|
|
5
5
|
|
|
6
6
|
// src/index.ts
|
|
7
7
|
function createSolanaRpcSubscriptionsApi_INTERNAL(config) {
|
|
8
|
+
const requestTransformer = rpcTransformers.getDefaultRequestTransformerForSolanaRpc(config);
|
|
9
|
+
const responseTransformer = rpcTransformers.getDefaultResponseTransformerForSolanaRpcSubscriptions({
|
|
10
|
+
allowedNumericKeyPaths: getAllowedNumericKeypaths()
|
|
11
|
+
});
|
|
8
12
|
return rpcSubscriptionsSpec.createRpcSubscriptionsApi({
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
planExecutor({ request, ...rest }) {
|
|
14
|
+
return rpcSubscriptionsSpec.executeRpcPubSubSubscriptionPlan({
|
|
15
|
+
...rest,
|
|
16
|
+
responseTransformer,
|
|
17
|
+
subscribeRequest: { ...request, methodName: request.methodName.replace(/Notifications$/, "Subscribe") },
|
|
18
|
+
unsubscribeMethodName: request.methodName.replace(/Notifications$/, "Unsubscribe")
|
|
19
|
+
});
|
|
20
|
+
},
|
|
21
|
+
requestTransformer
|
|
15
22
|
});
|
|
16
23
|
}
|
|
17
24
|
function createSolanaRpcSubscriptionsApi(config) {
|
|
@@ -28,7 +35,6 @@ function getAllowedNumericKeypaths() {
|
|
|
28
35
|
memoizedKeypaths = {
|
|
29
36
|
accountNotifications: rpcTransformers.jsonParsedAccountsConfigs.map((c) => ["value", ...c]),
|
|
30
37
|
blockNotifications: [
|
|
31
|
-
["value", "block", "blockTime"],
|
|
32
38
|
[
|
|
33
39
|
"value",
|
|
34
40
|
"block",
|
package/dist/index.node.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["createRpcSubscriptionsApi","getDefaultParamsTransformerForSolanaRpc","getDefaultResponseTransformerForSolanaRpc","jsonParsedAccountsConfigs","KEYPATH_WILDCARD"],"mappings":"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","file":"index.node.cjs","sourcesContent":["import {\n createRpcSubscriptionsApi,\n RpcSubscriptionsApi,\n RpcSubscriptionsApiMethods,\n} from '@solana/rpc-subscriptions-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultParamsTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n jsonParsedAccountsConfigs,\n KEYPATH_WILDCARD,\n ParamsTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { AccountNotificationsApi } from './account-notifications';\nimport { BlockNotificationsApi } from './block-notifications';\nimport { LogsNotificationsApi } from './logs-notifications';\nimport { ProgramNotificationsApi } from './program-notifications';\nimport { RootNotificationsApi } from './root-notifications';\nimport { SignatureNotificationsApi } from './signature-notifications';\nimport { SlotNotificationsApi } from './slot-notifications';\nimport { SlotsUpdatesNotificationsApi } from './slots-updates-notifications';\nimport { VoteNotificationsApi } from './vote-notifications';\n\nexport type SolanaRpcSubscriptionsApi = AccountNotificationsApi &\n LogsNotificationsApi &\n ProgramNotificationsApi &\n RootNotificationsApi &\n SignatureNotificationsApi &\n SlotNotificationsApi;\nexport type SolanaRpcSubscriptionsApiUnstable = BlockNotificationsApi &\n SlotsUpdatesNotificationsApi &\n VoteNotificationsApi;\n\nexport type {\n AccountNotificationsApi,\n BlockNotificationsApi,\n LogsNotificationsApi,\n ProgramNotificationsApi,\n RootNotificationsApi,\n SignatureNotificationsApi,\n SlotNotificationsApi,\n SlotsUpdatesNotificationsApi,\n VoteNotificationsApi,\n};\n\ntype Config = ParamsTransformerConfig;\n\nfunction createSolanaRpcSubscriptionsApi_INTERNAL<TApi extends RpcSubscriptionsApiMethods>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n return createRpcSubscriptionsApi<TApi>({\n parametersTransformer: getDefaultParamsTransformerForSolanaRpc(config) as (params: unknown[]) => unknown[],\n responseTransformer: getDefaultResponseTransformerForSolanaRpc({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n }),\n subscribeNotificationNameTransformer: (notificationName: string) =>\n notificationName.replace(/Notifications$/, 'Subscribe'),\n unsubscribeNotificationNameTransformer: (notificationName: string) =>\n notificationName.replace(/Notifications$/, 'Unsubscribe'),\n });\n}\n\nexport function createSolanaRpcSubscriptionsApi<TApi extends RpcSubscriptionsApiMethods = SolanaRpcSubscriptionsApi>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n return createSolanaRpcSubscriptionsApi_INTERNAL<TApi>(config);\n}\n\nexport function createSolanaRpcSubscriptionsApi_UNSTABLE(config?: Config) {\n return createSolanaRpcSubscriptionsApi_INTERNAL<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>(\n config,\n );\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n accountNotifications: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n blockNotifications: [\n ['value', 'block', 'blockTime'],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['value', 'block', 'transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'index',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'writableIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'readonlyIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlySignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlyUnsignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numRequiredSignatures',\n ],\n ['value', 'block', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n programNotifications: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["getDefaultRequestTransformerForSolanaRpc","getDefaultResponseTransformerForSolanaRpcSubscriptions","createRpcSubscriptionsApi","executeRpcPubSubSubscriptionPlan","jsonParsedAccountsConfigs","KEYPATH_WILDCARD"],"mappings":"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","file":"index.node.cjs","sourcesContent":["import {\n createRpcSubscriptionsApi,\n executeRpcPubSubSubscriptionPlan,\n RpcSubscriptionsApi,\n RpcSubscriptionsApiMethods,\n} from '@solana/rpc-subscriptions-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultRequestTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpcSubscriptions,\n jsonParsedAccountsConfigs,\n KEYPATH_WILDCARD,\n RequestTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { AccountNotificationsApi } from './account-notifications';\nimport { BlockNotificationsApi } from './block-notifications';\nimport { LogsNotificationsApi } from './logs-notifications';\nimport { ProgramNotificationsApi } from './program-notifications';\nimport { RootNotificationsApi } from './root-notifications';\nimport { SignatureNotificationsApi } from './signature-notifications';\nimport { SlotNotificationsApi } from './slot-notifications';\nimport { SlotsUpdatesNotificationsApi } from './slots-updates-notifications';\nimport { VoteNotificationsApi } from './vote-notifications';\n\nexport type SolanaRpcSubscriptionsApi = AccountNotificationsApi &\n LogsNotificationsApi &\n ProgramNotificationsApi &\n RootNotificationsApi &\n SignatureNotificationsApi &\n SlotNotificationsApi;\nexport type SolanaRpcSubscriptionsApiUnstable = BlockNotificationsApi &\n SlotsUpdatesNotificationsApi &\n VoteNotificationsApi;\n\nexport type {\n AccountNotificationsApi,\n BlockNotificationsApi,\n LogsNotificationsApi,\n ProgramNotificationsApi,\n RootNotificationsApi,\n SignatureNotificationsApi,\n SlotNotificationsApi,\n SlotsUpdatesNotificationsApi,\n VoteNotificationsApi,\n};\n\ntype Config = RequestTransformerConfig;\n\nfunction createSolanaRpcSubscriptionsApi_INTERNAL<TApi extends RpcSubscriptionsApiMethods>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n const requestTransformer = getDefaultRequestTransformerForSolanaRpc(config);\n const responseTransformer = getDefaultResponseTransformerForSolanaRpcSubscriptions({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n });\n return createRpcSubscriptionsApi<TApi>({\n planExecutor({ request, ...rest }) {\n return executeRpcPubSubSubscriptionPlan({\n ...rest,\n responseTransformer,\n subscribeRequest: { ...request, methodName: request.methodName.replace(/Notifications$/, 'Subscribe') },\n unsubscribeMethodName: request.methodName.replace(/Notifications$/, 'Unsubscribe'),\n });\n },\n requestTransformer,\n });\n}\n\nexport function createSolanaRpcSubscriptionsApi<TApi extends RpcSubscriptionsApiMethods = SolanaRpcSubscriptionsApi>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n return createSolanaRpcSubscriptionsApi_INTERNAL<TApi>(config);\n}\n\nexport function createSolanaRpcSubscriptionsApi_UNSTABLE(config?: Config) {\n return createSolanaRpcSubscriptionsApi_INTERNAL<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>(\n config,\n );\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n accountNotifications: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n blockNotifications: [\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['value', 'block', 'transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'index',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'writableIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'readonlyIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlySignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlyUnsignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numRequiredSignatures',\n ],\n ['value', 'block', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n programNotifications: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
package/dist/index.node.mjs
CHANGED
|
@@ -1,15 +1,22 @@
|
|
|
1
|
-
import { createRpcSubscriptionsApi } from '@solana/rpc-subscriptions-spec';
|
|
2
|
-
import {
|
|
1
|
+
import { createRpcSubscriptionsApi, executeRpcPubSubSubscriptionPlan } from '@solana/rpc-subscriptions-spec';
|
|
2
|
+
import { getDefaultRequestTransformerForSolanaRpc, getDefaultResponseTransformerForSolanaRpcSubscriptions, jsonParsedAccountsConfigs, KEYPATH_WILDCARD } from '@solana/rpc-transformers';
|
|
3
3
|
|
|
4
4
|
// src/index.ts
|
|
5
5
|
function createSolanaRpcSubscriptionsApi_INTERNAL(config) {
|
|
6
|
+
const requestTransformer = getDefaultRequestTransformerForSolanaRpc(config);
|
|
7
|
+
const responseTransformer = getDefaultResponseTransformerForSolanaRpcSubscriptions({
|
|
8
|
+
allowedNumericKeyPaths: getAllowedNumericKeypaths()
|
|
9
|
+
});
|
|
6
10
|
return createRpcSubscriptionsApi({
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
planExecutor({ request, ...rest }) {
|
|
12
|
+
return executeRpcPubSubSubscriptionPlan({
|
|
13
|
+
...rest,
|
|
14
|
+
responseTransformer,
|
|
15
|
+
subscribeRequest: { ...request, methodName: request.methodName.replace(/Notifications$/, "Subscribe") },
|
|
16
|
+
unsubscribeMethodName: request.methodName.replace(/Notifications$/, "Unsubscribe")
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
requestTransformer
|
|
13
20
|
});
|
|
14
21
|
}
|
|
15
22
|
function createSolanaRpcSubscriptionsApi(config) {
|
|
@@ -26,7 +33,6 @@ function getAllowedNumericKeypaths() {
|
|
|
26
33
|
memoizedKeypaths = {
|
|
27
34
|
accountNotifications: jsonParsedAccountsConfigs.map((c) => ["value", ...c]),
|
|
28
35
|
blockNotifications: [
|
|
29
|
-
["value", "block", "blockTime"],
|
|
30
36
|
[
|
|
31
37
|
"value",
|
|
32
38
|
"block",
|
package/dist/index.node.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.node.mjs","sourcesContent":["import {\n createRpcSubscriptionsApi,\n RpcSubscriptionsApi,\n RpcSubscriptionsApiMethods,\n} from '@solana/rpc-subscriptions-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultParamsTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpc,\n jsonParsedAccountsConfigs,\n KEYPATH_WILDCARD,\n ParamsTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { AccountNotificationsApi } from './account-notifications';\nimport { BlockNotificationsApi } from './block-notifications';\nimport { LogsNotificationsApi } from './logs-notifications';\nimport { ProgramNotificationsApi } from './program-notifications';\nimport { RootNotificationsApi } from './root-notifications';\nimport { SignatureNotificationsApi } from './signature-notifications';\nimport { SlotNotificationsApi } from './slot-notifications';\nimport { SlotsUpdatesNotificationsApi } from './slots-updates-notifications';\nimport { VoteNotificationsApi } from './vote-notifications';\n\nexport type SolanaRpcSubscriptionsApi = AccountNotificationsApi &\n LogsNotificationsApi &\n ProgramNotificationsApi &\n RootNotificationsApi &\n SignatureNotificationsApi &\n SlotNotificationsApi;\nexport type SolanaRpcSubscriptionsApiUnstable = BlockNotificationsApi &\n SlotsUpdatesNotificationsApi &\n VoteNotificationsApi;\n\nexport type {\n AccountNotificationsApi,\n BlockNotificationsApi,\n LogsNotificationsApi,\n ProgramNotificationsApi,\n RootNotificationsApi,\n SignatureNotificationsApi,\n SlotNotificationsApi,\n SlotsUpdatesNotificationsApi,\n VoteNotificationsApi,\n};\n\ntype Config = ParamsTransformerConfig;\n\nfunction createSolanaRpcSubscriptionsApi_INTERNAL<TApi extends RpcSubscriptionsApiMethods>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n return createRpcSubscriptionsApi<TApi>({\n parametersTransformer: getDefaultParamsTransformerForSolanaRpc(config) as (params: unknown[]) => unknown[],\n responseTransformer: getDefaultResponseTransformerForSolanaRpc({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n }),\n subscribeNotificationNameTransformer: (notificationName: string) =>\n notificationName.replace(/Notifications$/, 'Subscribe'),\n unsubscribeNotificationNameTransformer: (notificationName: string) =>\n notificationName.replace(/Notifications$/, 'Unsubscribe'),\n });\n}\n\nexport function createSolanaRpcSubscriptionsApi<TApi extends RpcSubscriptionsApiMethods = SolanaRpcSubscriptionsApi>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n return createSolanaRpcSubscriptionsApi_INTERNAL<TApi>(config);\n}\n\nexport function createSolanaRpcSubscriptionsApi_UNSTABLE(config?: Config) {\n return createSolanaRpcSubscriptionsApi_INTERNAL<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>(\n config,\n );\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n accountNotifications: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n blockNotifications: [\n ['value', 'block', 'blockTime'],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['value', 'block', 'transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'index',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'writableIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'readonlyIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlySignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlyUnsignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numRequiredSignatures',\n ],\n ['value', 'block', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n programNotifications: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.node.mjs","sourcesContent":["import {\n createRpcSubscriptionsApi,\n executeRpcPubSubSubscriptionPlan,\n RpcSubscriptionsApi,\n RpcSubscriptionsApiMethods,\n} from '@solana/rpc-subscriptions-spec';\nimport {\n AllowedNumericKeypaths,\n getDefaultRequestTransformerForSolanaRpc,\n getDefaultResponseTransformerForSolanaRpcSubscriptions,\n jsonParsedAccountsConfigs,\n KEYPATH_WILDCARD,\n RequestTransformerConfig,\n} from '@solana/rpc-transformers';\n\nimport { AccountNotificationsApi } from './account-notifications';\nimport { BlockNotificationsApi } from './block-notifications';\nimport { LogsNotificationsApi } from './logs-notifications';\nimport { ProgramNotificationsApi } from './program-notifications';\nimport { RootNotificationsApi } from './root-notifications';\nimport { SignatureNotificationsApi } from './signature-notifications';\nimport { SlotNotificationsApi } from './slot-notifications';\nimport { SlotsUpdatesNotificationsApi } from './slots-updates-notifications';\nimport { VoteNotificationsApi } from './vote-notifications';\n\nexport type SolanaRpcSubscriptionsApi = AccountNotificationsApi &\n LogsNotificationsApi &\n ProgramNotificationsApi &\n RootNotificationsApi &\n SignatureNotificationsApi &\n SlotNotificationsApi;\nexport type SolanaRpcSubscriptionsApiUnstable = BlockNotificationsApi &\n SlotsUpdatesNotificationsApi &\n VoteNotificationsApi;\n\nexport type {\n AccountNotificationsApi,\n BlockNotificationsApi,\n LogsNotificationsApi,\n ProgramNotificationsApi,\n RootNotificationsApi,\n SignatureNotificationsApi,\n SlotNotificationsApi,\n SlotsUpdatesNotificationsApi,\n VoteNotificationsApi,\n};\n\ntype Config = RequestTransformerConfig;\n\nfunction createSolanaRpcSubscriptionsApi_INTERNAL<TApi extends RpcSubscriptionsApiMethods>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n const requestTransformer = getDefaultRequestTransformerForSolanaRpc(config);\n const responseTransformer = getDefaultResponseTransformerForSolanaRpcSubscriptions({\n allowedNumericKeyPaths: getAllowedNumericKeypaths(),\n });\n return createRpcSubscriptionsApi<TApi>({\n planExecutor({ request, ...rest }) {\n return executeRpcPubSubSubscriptionPlan({\n ...rest,\n responseTransformer,\n subscribeRequest: { ...request, methodName: request.methodName.replace(/Notifications$/, 'Subscribe') },\n unsubscribeMethodName: request.methodName.replace(/Notifications$/, 'Unsubscribe'),\n });\n },\n requestTransformer,\n });\n}\n\nexport function createSolanaRpcSubscriptionsApi<TApi extends RpcSubscriptionsApiMethods = SolanaRpcSubscriptionsApi>(\n config?: Config,\n): RpcSubscriptionsApi<TApi> {\n return createSolanaRpcSubscriptionsApi_INTERNAL<TApi>(config);\n}\n\nexport function createSolanaRpcSubscriptionsApi_UNSTABLE(config?: Config) {\n return createSolanaRpcSubscriptionsApi_INTERNAL<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>(\n config,\n );\n}\n\nlet memoizedKeypaths: AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n>;\n\n/**\n * These are keypaths at the end of which you will find a numeric value that should *not* be upcast\n * to a `bigint`. These are values that are legitimately defined as `u8` or `usize` on the backend.\n */\nfunction getAllowedNumericKeypaths(): AllowedNumericKeypaths<\n RpcSubscriptionsApi<SolanaRpcSubscriptionsApi & SolanaRpcSubscriptionsApiUnstable>\n> {\n if (!memoizedKeypaths) {\n memoizedKeypaths = {\n accountNotifications: jsonParsedAccountsConfigs.map(c => ['value', ...c]),\n blockNotifications: [\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'preTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'accountIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'postTokenBalances',\n KEYPATH_WILDCARD,\n 'uiTokenAmount',\n 'decimals',\n ],\n ['value', 'block', 'transactions', KEYPATH_WILDCARD, 'meta', 'rewards', KEYPATH_WILDCARD, 'commission'],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'index',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'meta',\n 'innerInstructions',\n KEYPATH_WILDCARD,\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'writableIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'addressTableLookups',\n KEYPATH_WILDCARD,\n 'readonlyIndexes',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'programIdIndex',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'instructions',\n KEYPATH_WILDCARD,\n 'accounts',\n KEYPATH_WILDCARD,\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlySignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numReadonlyUnsignedAccounts',\n ],\n [\n 'value',\n 'block',\n 'transactions',\n KEYPATH_WILDCARD,\n 'transaction',\n 'message',\n 'header',\n 'numRequiredSignatures',\n ],\n ['value', 'block', 'rewards', KEYPATH_WILDCARD, 'commission'],\n ],\n programNotifications: jsonParsedAccountsConfigs.flatMap(c => [\n ['value', KEYPATH_WILDCARD, 'account', ...c],\n [KEYPATH_WILDCARD, 'account', ...c],\n ]),\n };\n }\n return memoizedKeypaths;\n}\n"]}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { Address } from '@solana/addresses';
|
|
2
|
-
import type { RpcSubscriptionsApiMethods } from '@solana/rpc-subscriptions-spec';
|
|
3
2
|
import type { AccountInfoBase, AccountInfoWithBase58Bytes, AccountInfoWithBase58EncodedData, AccountInfoWithBase64EncodedData, AccountInfoWithBase64EncodedZStdCompressedData, AccountInfoWithJsonData, Commitment, SolanaRpcResponse } from '@solana/rpc-types';
|
|
4
3
|
type AccountNotificationsApiCommonConfig = Readonly<{
|
|
5
4
|
commitment?: Commitment;
|
|
6
5
|
}>;
|
|
7
|
-
export
|
|
6
|
+
export type AccountNotificationsApi = {
|
|
8
7
|
/**
|
|
9
8
|
* Subscribe to an account to receive notifications when the lamports or data for
|
|
10
9
|
* a given account public key changes.
|
|
@@ -25,6 +24,6 @@ export interface AccountNotificationsApi extends RpcSubscriptionsApiMethods {
|
|
|
25
24
|
encoding: 'base58';
|
|
26
25
|
}>): SolanaRpcResponse<AccountInfoBase & AccountInfoWithBase58EncodedData>;
|
|
27
26
|
accountNotifications(address: Address, config?: AccountNotificationsApiCommonConfig): SolanaRpcResponse<AccountInfoBase & AccountInfoWithBase58Bytes>;
|
|
28
|
-
}
|
|
27
|
+
};
|
|
29
28
|
export {};
|
|
30
29
|
//# sourceMappingURL=account-notifications.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-notifications.d.ts","sourceRoot":"","sources":["../../src/account-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"account-notifications.d.ts","sourceRoot":"","sources":["../../src/account-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EACR,eAAe,EACf,0BAA0B,EAC1B,gCAAgC,EAChC,gCAAgC,EAChC,8CAA8C,EAC9C,uBAAuB,EACvB,UAAU,EACV,iBAAiB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,KAAK,mCAAmC,GAAG,QAAQ,CAAC;IAChD,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG;IAClC;;;;;;OAMG;IACH,oBAAoB,CAChB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,mCAAmC,GACvC,QAAQ,CAAC;QACL,QAAQ,EAAE,QAAQ,CAAC;KACtB,CAAC,GACP,iBAAiB,CAAC,eAAe,GAAG,gCAAgC,CAAC,CAAC;IACzE,oBAAoB,CAChB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,mCAAmC,GACvC,QAAQ,CAAC;QACL,QAAQ,EAAE,aAAa,CAAC;KAC3B,CAAC,GACP,iBAAiB,CAAC,eAAe,GAAG,8CAA8C,CAAC,CAAC;IACvF,oBAAoB,CAChB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,mCAAmC,GACvC,QAAQ,CAAC;QACL,QAAQ,EAAE,YAAY,CAAC;KAC1B,CAAC,GACP,iBAAiB,CAAC,eAAe,GAAG,uBAAuB,CAAC,CAAC;IAChE,oBAAoB,CAChB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,mCAAmC,GACvC,QAAQ,CAAC;QACL,QAAQ,EAAE,QAAQ,CAAC;KACtB,CAAC,GACP,iBAAiB,CAAC,eAAe,GAAG,gCAAgC,CAAC,CAAC;IACzE,oBAAoB,CAChB,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,mCAAmC,GAC7C,iBAAiB,CAAC,eAAe,GAAG,0BAA0B,CAAC,CAAC;CACtE,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { Base58EncodedBytes, Blockhash, Commitment, Reward, Slot, SolanaRpcResponse, TransactionForAccounts, TransactionForFullBase58, TransactionForFullBase64, TransactionForFullJson, TransactionForFullJsonParsed, U64UnsafeBeyond2Pow53Minus1, UnixTimestamp } from '@solana/rpc-types';
|
|
1
|
+
import type { Base58EncodedBytes, Blockhash, Commitment, Reward, Slot, SolanaRpcResponse, TransactionForAccounts, TransactionForFullBase58, TransactionForFullBase64, TransactionForFullJson, TransactionForFullJsonParsed, UnixTimestamp } from '@solana/rpc-types';
|
|
3
2
|
import type { TransactionVersion } from '@solana/transaction-messages';
|
|
4
3
|
type BlockNotificationsNotificationBase = Readonly<{
|
|
5
4
|
/**
|
|
@@ -13,8 +12,8 @@ type BlockNotificationsNotificationBase = Readonly<{
|
|
|
13
12
|
}>;
|
|
14
13
|
type BlockNotificationsNotificationBlock = Readonly<{
|
|
15
14
|
/** The number of blocks beneath this block */
|
|
16
|
-
blockHeight:
|
|
17
|
-
/**
|
|
15
|
+
blockHeight: bigint;
|
|
16
|
+
/** Estimated production time, as Unix timestamp */
|
|
18
17
|
blockTime: UnixTimestamp;
|
|
19
18
|
/** the blockhash of this block */
|
|
20
19
|
blockhash: Blockhash;
|
|
@@ -43,7 +42,7 @@ type BlockNotificationsCommonConfig = Readonly<{
|
|
|
43
42
|
}>;
|
|
44
43
|
type BlockNotificationsEncoding = 'base58' | 'base64' | 'json' | 'jsonParsed';
|
|
45
44
|
type BlockNotificationsMaxSupportedTransactionVersion = Exclude<TransactionVersion, 'legacy'>;
|
|
46
|
-
export
|
|
45
|
+
export type BlockNotificationsApi = {
|
|
47
46
|
/**
|
|
48
47
|
* Subscribe to receive notification anytime a new block is Confirmed or Finalized.
|
|
49
48
|
*
|
|
@@ -232,6 +231,6 @@ export interface BlockNotificationsApi extends RpcSubscriptionsApiMethods {
|
|
|
232
231
|
}>): SolanaRpcResponse<BlockNotificationsNotificationBase & Readonly<{
|
|
233
232
|
block: (BlockNotificationsNotificationBlock & BlockNotificationsNotificationBlockWithRewards & BlockNotificationsNotificationBlockWithTransactions<TransactionForFullJson<void>>) | null;
|
|
234
233
|
}>>;
|
|
235
|
-
}
|
|
234
|
+
};
|
|
236
235
|
export {};
|
|
237
236
|
//# sourceMappingURL=block-notifications.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-notifications.d.ts","sourceRoot":"","sources":["../../src/block-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"block-notifications.d.ts","sourceRoot":"","sources":["../../src/block-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,MAAM,EACN,IAAI,EACJ,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,4BAA4B,EAC5B,aAAa,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAIvE,KAAK,kCAAkC,GAAG,QAAQ,CAAC;IAC/C;;;;;OAKG;IACH,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACd,CAAC,CAAC;AAEH,KAAK,mCAAmC,GAAG,QAAQ,CAAC;IAChD,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,SAAS,EAAE,aAAa,CAAC;IACzB,kCAAkC;IAClC,SAAS,EAAE,SAAS,CAAC;IACrB,4CAA4C;IAC5C,UAAU,EAAE,IAAI,CAAC;IACjB,2CAA2C;IAC3C,iBAAiB,EAAE,SAAS,CAAC;CAChC,CAAC,CAAC;AAEH,KAAK,8CAA8C,GAAG,QAAQ,CAAC;IAC3D,0BAA0B;IAC1B,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,CAAC,CAAC;AAEH,KAAK,iDAAiD,GAAG,QAAQ,CAAC;IAC9D,+DAA+D;IAC/D,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAC7C,CAAC,CAAC;AAEH,KAAK,mDAAmD,CAAC,YAAY,IAAI,QAAQ,CAAC;IAC9E,YAAY,EAAE,SAAS,YAAY,EAAE,CAAC;CACzC,CAAC,CAAC;AAQH,KAAK,wBAAwB,GAAG,KAAK,GAAG;IAAE,wBAAwB,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7E,KAAK,8BAA8B,GAAG,QAAQ,CAAC;IAC3C,8BAA8B;IAC9B,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;CAC9C,CAAC,CAAC;AAEH,KAAK,0BAA0B,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,YAAY,CAAC;AAS9E,KAAK,gDAAgD,GAAG,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;AAE9F,MAAM,MAAM,qBAAqB,GAAG;IAChC;;;;;OAKG;IAEH,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,CAAC,EAAE,0BAA0B,CAAC;QACtC,8BAA8B,CAAC,EAAE,gDAAgD,CAAC;QAClF,WAAW,EAAE,KAAK,CAAC;QACnB,kBAAkB,EAAE,MAAM,CAAC;KAC9B,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EAAE,mCAAmC,GAAG,IAAI,CAAC;KACrD,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,CAAC,EAAE,0BAA0B,CAAC;QACtC,8BAA8B,CAAC,EAAE,gDAAgD,CAAC;QAClF,WAAW,CAAC,EAAE,IAAI,CAAC;QACnB,kBAAkB,EAAE,MAAM,CAAC;KAC9B,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EAAE,CAAC,mCAAmC,GAAG,8CAA8C,CAAC,GAAG,IAAI,CAAC;KACxG,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,CAAC,EAAE,0BAA0B,CAAC;QACtC,8BAA8B,CAAC,EAAE,gDAAgD,CAAC;QAClF,WAAW,EAAE,KAAK,CAAC;QACnB,kBAAkB,EAAE,YAAY,CAAC;KACpC,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EAAE,CAAC,mCAAmC,GAAG,iDAAiD,CAAC,GAAG,IAAI,CAAC;KAC3G,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,CAAC,EAAE,0BAA0B,CAAC;QACtC,8BAA8B,CAAC,EAAE,gDAAgD,CAAC;QAClF,WAAW,CAAC,EAAE,IAAI,CAAC;QACnB,kBAAkB,EAAE,YAAY,CAAC;KACpC,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,8CAA8C,GAC9C,iDAAiD,CAAC,GACtD,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,CAAC,EAAE,0BAA0B,CAAC;QACtC,8BAA8B,EAAE,gDAAgD,CAAC;QACjF,WAAW,EAAE,KAAK,CAAC;QACnB,kBAAkB,EAAE,UAAU,CAAC;KAClC,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,mDAAmD,CAC/C,sBAAsB,CAAC,gDAAgD,CAAC,CAC3E,CAAC,GACN,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,CAAC,EAAE,0BAA0B,CAAC;QACtC,WAAW,EAAE,KAAK,CAAC;QACnB,kBAAkB,EAAE,UAAU,CAAC;KAClC,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,mDAAmD,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,GACtF,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,CAAC,EAAE,0BAA0B,CAAC;QACtC,8BAA8B,EAAE,gDAAgD,CAAC;QACjF,WAAW,CAAC,EAAE,IAAI,CAAC;QACnB,kBAAkB,EAAE,UAAU,CAAC;KAClC,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,8CAA8C,GAC9C,mDAAmD,CAC/C,sBAAsB,CAAC,gDAAgD,CAAC,CAC3E,CAAC,GACN,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,CAAC,EAAE,0BAA0B,CAAC;QACtC,WAAW,CAAC,EAAE,IAAI,CAAC;QACnB,kBAAkB,EAAE,UAAU,CAAC;KAClC,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,8CAA8C,GAC9C,mDAAmD,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,GACtF,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,EAAE,QAAQ,CAAC;QACnB,8BAA8B,EAAE,gDAAgD,CAAC;QACjF,WAAW,EAAE,KAAK,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,mDAAmD,CAC/C,wBAAwB,CAAC,gDAAgD,CAAC,CAC7E,CAAC,GACN,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,EAAE,QAAQ,CAAC;QACnB,WAAW,EAAE,KAAK,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,mDAAmD,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,GACxF,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,EAAE,QAAQ,CAAC;QACnB,8BAA8B,EAAE,gDAAgD,CAAC;QACjF,WAAW,CAAC,EAAE,IAAI,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,8CAA8C,GAC9C,mDAAmD,CAC/C,wBAAwB,CAAC,gDAAgD,CAAC,CAC7E,CAAC,GACN,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,EAAE,QAAQ,CAAC;QACnB,WAAW,CAAC,EAAE,IAAI,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,8CAA8C,GAC9C,mDAAmD,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,GACxF,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,EAAE,QAAQ,CAAC;QACnB,8BAA8B,EAAE,gDAAgD,CAAC;QACjF,WAAW,EAAE,KAAK,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,mDAAmD,CAC/C,wBAAwB,CAAC,gDAAgD,CAAC,CAC7E,CAAC,GACN,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,EAAE,QAAQ,CAAC;QACnB,WAAW,EAAE,KAAK,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,mDAAmD,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,GACxF,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,EAAE,QAAQ,CAAC;QACnB,8BAA8B,EAAE,gDAAgD,CAAC;QACjF,WAAW,CAAC,EAAE,IAAI,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,8CAA8C,GAC9C,mDAAmD,CAC/C,wBAAwB,CAAC,gDAAgD,CAAC,CAC7E,CAAC,GACN,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,EAAE,QAAQ,CAAC;QACnB,WAAW,CAAC,EAAE,IAAI,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,8CAA8C,GAC9C,mDAAmD,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,GACxF,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,EAAE,YAAY,CAAC;QACvB,8BAA8B,EAAE,gDAAgD,CAAC;QACjF,WAAW,EAAE,KAAK,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,mDAAmD,CAC/C,4BAA4B,CAAC,gDAAgD,CAAC,CACjF,CAAC,GACN,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,EAAE,YAAY,CAAC;QACvB,WAAW,EAAE,KAAK,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,mDAAmD,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,GAC5F,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,EAAE,YAAY,CAAC;QACvB,8BAA8B,EAAE,gDAAgD,CAAC;QACjF,WAAW,CAAC,EAAE,IAAI,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,8CAA8C,GAC9C,mDAAmD,CAC/C,4BAA4B,CAAC,gDAAgD,CAAC,CACjF,CAAC,GACN,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,EAAE,YAAY,CAAC;QACvB,WAAW,CAAC,EAAE,IAAI,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,8CAA8C,GAC9C,mDAAmD,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,GAC5F,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,8BAA8B,EAAE,gDAAgD,CAAC;QACjF,WAAW,EAAE,KAAK,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,mDAAmD,CAC/C,sBAAsB,CAAC,gDAAgD,CAAC,CAC3E,CAAC,GACN,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,KAAK,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,mDAAmD,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,GACtF,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE,8BAA8B,GAClC,QAAQ,CAAC;QACL,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,8BAA8B,EAAE,gDAAgD,CAAC;QACjF,WAAW,CAAC,EAAE,IAAI,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,8CAA8C,GAC9C,mDAAmD,CAC/C,sBAAsB,CAAC,gDAAgD,CAAC,CAC3E,CAAC,GACN,IAAI,CAAC;KACd,CAAC,CACT,CAAC;IAEF,kBAAkB,CACd,MAAM,EAAE,wBAAwB,EAChC,MAAM,CAAC,EAAE,8BAA8B,GACnC,QAAQ,CAAC;QACL,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,IAAI,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC,GACP,iBAAiB,CAChB,kCAAkC,GAC9B,QAAQ,CAAC;QACL,KAAK,EACC,CAAC,mCAAmC,GAChC,8CAA8C,GAC9C,mDAAmD,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,GACtF,IAAI,CAAC;KACd,CAAC,CACT,CAAC;CACL,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RpcSubscriptionsApi, RpcSubscriptionsApiMethods } from '@solana/rpc-subscriptions-spec';
|
|
2
|
-
import {
|
|
2
|
+
import { RequestTransformerConfig } from '@solana/rpc-transformers';
|
|
3
3
|
import { AccountNotificationsApi } from './account-notifications';
|
|
4
4
|
import { BlockNotificationsApi } from './block-notifications';
|
|
5
5
|
import { LogsNotificationsApi } from './logs-notifications';
|
|
@@ -12,7 +12,7 @@ import { VoteNotificationsApi } from './vote-notifications';
|
|
|
12
12
|
export type SolanaRpcSubscriptionsApi = AccountNotificationsApi & LogsNotificationsApi & ProgramNotificationsApi & RootNotificationsApi & SignatureNotificationsApi & SlotNotificationsApi;
|
|
13
13
|
export type SolanaRpcSubscriptionsApiUnstable = BlockNotificationsApi & SlotsUpdatesNotificationsApi & VoteNotificationsApi;
|
|
14
14
|
export type { AccountNotificationsApi, BlockNotificationsApi, LogsNotificationsApi, ProgramNotificationsApi, RootNotificationsApi, SignatureNotificationsApi, SlotNotificationsApi, SlotsUpdatesNotificationsApi, VoteNotificationsApi, };
|
|
15
|
-
type Config =
|
|
15
|
+
type Config = RequestTransformerConfig;
|
|
16
16
|
export declare function createSolanaRpcSubscriptionsApi<TApi extends RpcSubscriptionsApiMethods = SolanaRpcSubscriptionsApi>(config?: Config): RpcSubscriptionsApi<TApi>;
|
|
17
17
|
export declare function createSolanaRpcSubscriptionsApi_UNSTABLE(config?: Config): RpcSubscriptionsApi<AccountNotificationsApi & LogsNotificationsApi & ProgramNotificationsApi & RootNotificationsApi & SignatureNotificationsApi & SlotNotificationsApi & BlockNotificationsApi & SlotsUpdatesNotificationsApi & VoteNotificationsApi>;
|
|
18
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,mBAAmB,EACnB,0BAA0B,EAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAMH,wBAAwB,EAC3B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,MAAM,yBAAyB,GAAG,uBAAuB,GAC3D,oBAAoB,GACpB,uBAAuB,GACvB,oBAAoB,GACpB,yBAAyB,GACzB,oBAAoB,CAAC;AACzB,MAAM,MAAM,iCAAiC,GAAG,qBAAqB,GACjE,4BAA4B,GAC5B,oBAAoB,CAAC;AAEzB,YAAY,EACR,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,4BAA4B,EAC5B,oBAAoB,GACvB,CAAC;AAEF,KAAK,MAAM,GAAG,wBAAwB,CAAC;AAsBvC,wBAAgB,+BAA+B,CAAC,IAAI,SAAS,0BAA0B,GAAG,yBAAyB,EAC/G,MAAM,CAAC,EAAE,MAAM,GAChB,mBAAmB,CAAC,IAAI,CAAC,CAE3B;AAED,wBAAgB,wCAAwC,CAAC,MAAM,CAAC,EAAE,MAAM,yPAIvE"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { Address } from '@solana/addresses';
|
|
2
2
|
import type { Signature } from '@solana/keys';
|
|
3
|
-
import type { RpcSubscriptionsApiMethods } from '@solana/rpc-subscriptions-spec';
|
|
4
3
|
import type { Commitment, SolanaRpcResponse, TransactionError } from '@solana/rpc-types';
|
|
5
4
|
type LogsNotificationsApiNotification = SolanaRpcResponse<Readonly<{
|
|
6
5
|
err: TransactionError | null;
|
|
@@ -13,13 +12,13 @@ type LogsNotificationsApiFilter = 'all' | 'allWithVotes' | {
|
|
|
13
12
|
type LogsNotificationsApiConfig = Readonly<{
|
|
14
13
|
commitment?: Commitment;
|
|
15
14
|
}>;
|
|
16
|
-
export
|
|
15
|
+
export type LogsNotificationsApi = {
|
|
17
16
|
/**
|
|
18
17
|
* Subscribe to a transaction logs to receive notification when a given transaction is committed.
|
|
19
18
|
* On `logsNotification` - the subscription is automatically cancelled.
|
|
20
19
|
* The logs must be a txid, the first logs of a transaction.
|
|
21
20
|
*/
|
|
22
21
|
logsNotifications(filter: LogsNotificationsApiFilter, config?: LogsNotificationsApiConfig): LogsNotificationsApiNotification;
|
|
23
|
-
}
|
|
22
|
+
};
|
|
24
23
|
export {};
|
|
25
24
|
//# sourceMappingURL=logs-notifications.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs-notifications.d.ts","sourceRoot":"","sources":["../../src/logs-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"logs-notifications.d.ts","sourceRoot":"","sources":["../../src/logs-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEzF,KAAK,gCAAgC,GAAG,iBAAiB,CACrD,QAAQ,CAAC;IAEL,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAI7B,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAE/B,SAAS,EAAE,SAAS,CAAC;CACxB,CAAC,CACL,CAAC;AAIF,KAAK,0BAA0B,GAAG,KAAK,GAAG,cAAc,GAAG;IAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAEnF,KAAK,0BAA0B,GAAG,QAAQ,CAAC;IACvC,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG;IAC/B;;;;OAIG;IACH,iBAAiB,CACb,MAAM,EAAE,0BAA0B,EAClC,MAAM,CAAC,EAAE,0BAA0B,GACpC,gCAAgC,CAAC;CACvC,CAAC"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import type { Address } from '@solana/addresses';
|
|
2
|
-
import type {
|
|
3
|
-
import type { AccountInfoBase, AccountInfoWithBase58Bytes, AccountInfoWithBase58EncodedData, AccountInfoWithBase64EncodedData, AccountInfoWithBase64EncodedZStdCompressedData, AccountInfoWithJsonData, Base58EncodedBytes, Base64EncodedBytes, Commitment, SolanaRpcResponse, U64UnsafeBeyond2Pow53Minus1 } from '@solana/rpc-types';
|
|
2
|
+
import type { AccountInfoBase, AccountInfoWithBase58Bytes, AccountInfoWithBase58EncodedData, AccountInfoWithBase64EncodedData, AccountInfoWithBase64EncodedZStdCompressedData, AccountInfoWithJsonData, Base58EncodedBytes, Base64EncodedBytes, Commitment, SolanaRpcResponse } from '@solana/rpc-types';
|
|
4
3
|
type ProgramNotificationsMemcmpFilterBase58 = Readonly<{
|
|
5
4
|
bytes: Base58EncodedBytes;
|
|
6
5
|
encoding: 'base58';
|
|
7
|
-
offset:
|
|
6
|
+
offset: bigint;
|
|
8
7
|
}>;
|
|
9
8
|
type ProgramNotificationsMemcmpFilterBase64 = Readonly<{
|
|
10
9
|
bytes: Base64EncodedBytes;
|
|
11
10
|
encoding: 'base64';
|
|
12
|
-
offset:
|
|
11
|
+
offset: bigint;
|
|
13
12
|
}>;
|
|
14
|
-
type ProgramNotificationsDatasizeFilter =
|
|
13
|
+
type ProgramNotificationsDatasizeFilter = bigint;
|
|
15
14
|
type ProgramNotificationsApiNotificationBase<TData> = SolanaRpcResponse<Readonly<{
|
|
16
15
|
account: AccountInfoBase & TData;
|
|
17
16
|
pubkey: Address;
|
|
@@ -24,7 +23,7 @@ type ProgramNotificationsApiCommonConfig = Readonly<{
|
|
|
24
23
|
memcmp: ProgramNotificationsMemcmpFilterBase58 | ProgramNotificationsMemcmpFilterBase64;
|
|
25
24
|
}>[];
|
|
26
25
|
}>;
|
|
27
|
-
export
|
|
26
|
+
export type ProgramNotificationsApi = {
|
|
28
27
|
/**
|
|
29
28
|
* Subscribe to a program to receive notifications when the lamports or data for an account
|
|
30
29
|
* owned by the given program changes
|
|
@@ -42,6 +41,6 @@ export interface ProgramNotificationsApi extends RpcSubscriptionsApiMethods {
|
|
|
42
41
|
encoding: 'base58';
|
|
43
42
|
}>): ProgramNotificationsApiNotificationBase<AccountInfoWithBase58EncodedData>;
|
|
44
43
|
programNotifications(programId: Address, config?: ProgramNotificationsApiCommonConfig): ProgramNotificationsApiNotificationBase<AccountInfoWithBase58Bytes>;
|
|
45
|
-
}
|
|
44
|
+
};
|
|
46
45
|
export {};
|
|
47
46
|
//# sourceMappingURL=program-notifications.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program-notifications.d.ts","sourceRoot":"","sources":["../../src/program-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"program-notifications.d.ts","sourceRoot":"","sources":["../../src/program-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EACR,eAAe,EACf,0BAA0B,EAC1B,gCAAgC,EAChC,gCAAgC,EAChC,8CAA8C,EAC9C,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,KAAK,sCAAsC,GAAG,QAAQ,CAAC;IACnD,KAAK,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,KAAK,sCAAsC,GAAG,QAAQ,CAAC;IACnD,KAAK,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,KAAK,kCAAkC,GAAG,MAAM,CAAC;AAEjD,KAAK,uCAAuC,CAAC,KAAK,IAAI,iBAAiB,CACnE,QAAQ,CAAC;IACL,OAAO,EAAE,eAAe,GAAG,KAAK,CAAC;IACjC,MAAM,EAAE,OAAO,CAAC;CACnB,CAAC,CACL,CAAC;AAEF,KAAK,mCAAmC,GAAG,QAAQ,CAAC;IAChD,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,OAAO,CAAC,EAAE,SAAS,QAAQ,CACrB;QAAE,QAAQ,EAAE,kCAAkC,CAAA;KAAE,GAChD;QAAE,MAAM,EAAE,sCAAsC,GAAG,sCAAsC,CAAA;KAAE,CAChG,EAAE,CAAC;CACP,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG;IAClC;;;OAGG;IACH,oBAAoB,CAChB,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,mCAAmC,GACvC,QAAQ,CAAC;QACL,QAAQ,EAAE,QAAQ,CAAC;KACtB,CAAC,GACP,uCAAuC,CAAC,gCAAgC,CAAC,CAAC;IAC7E,oBAAoB,CAChB,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,mCAAmC,GACvC,QAAQ,CAAC;QACL,QAAQ,EAAE,aAAa,CAAC;KAC3B,CAAC,GACP,uCAAuC,CAAC,8CAA8C,CAAC,CAAC;IAC3F,oBAAoB,CAChB,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,mCAAmC,GACvC,QAAQ,CAAC;QACL,QAAQ,EAAE,YAAY,CAAC;KAC1B,CAAC,GACP,uCAAuC,CAAC,uBAAuB,CAAC,CAAC;IACpE,oBAAoB,CAChB,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,mCAAmC,GACvC,QAAQ,CAAC;QACL,QAAQ,EAAE,QAAQ,CAAC;KACtB,CAAC,GACP,uCAAuC,CAAC,gCAAgC,CAAC,CAAC;IAC7E,oBAAoB,CAChB,SAAS,EAAE,OAAO,EAClB,MAAM,CAAC,EAAE,mCAAmC,GAC7C,uCAAuC,CAAC,0BAA0B,CAAC,CAAC;CAC1E,CAAC"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import type { RpcSubscriptionsApiMethods } from '@solana/rpc-subscriptions-spec';
|
|
2
1
|
import type { Slot } from '@solana/rpc-types';
|
|
3
2
|
type RootNotificationsApiNotification = Slot;
|
|
4
|
-
export
|
|
3
|
+
export type RootNotificationsApi = {
|
|
5
4
|
/**
|
|
6
5
|
* Subscribe to receive notification anytime a new root is set by the validator
|
|
7
6
|
*/
|
|
8
7
|
rootNotifications(NO_CONFIG?: Record<string, never>): RootNotificationsApiNotification;
|
|
9
|
-
}
|
|
8
|
+
};
|
|
10
9
|
export {};
|
|
11
10
|
//# sourceMappingURL=root-notifications.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root-notifications.d.ts","sourceRoot":"","sources":["../../src/root-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"root-notifications.d.ts","sourceRoot":"","sources":["../../src/root-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,KAAK,gCAAgC,GAAG,IAAI,CAAC;AAE7C,MAAM,MAAM,oBAAoB,GAAG;IAC/B;;OAEG;IACH,iBAAiB,CAEb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAClC,gCAAgC,CAAC;CACvC,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { Signature } from '@solana/keys';
|
|
2
|
-
import type { RpcSubscriptionsApiMethods } from '@solana/rpc-subscriptions-spec';
|
|
3
2
|
import type { Commitment, SolanaRpcResponse, TransactionError } from '@solana/rpc-types';
|
|
4
3
|
type SignatureNotificationsApiNotificationReceived = SolanaRpcResponse<Readonly<string>>;
|
|
5
4
|
type SignatureNotificationsApiNotificationProcessed = SolanaRpcResponse<Readonly<{
|
|
@@ -8,7 +7,7 @@ type SignatureNotificationsApiNotificationProcessed = SolanaRpcResponse<Readonly
|
|
|
8
7
|
type SignatureNotificationsApiConfigBase = Readonly<{
|
|
9
8
|
commitment?: Commitment;
|
|
10
9
|
}>;
|
|
11
|
-
export
|
|
10
|
+
export type SignatureNotificationsApi = {
|
|
12
11
|
/**
|
|
13
12
|
* Subscribe to a transaction signature to receive notification when a given transaction is committed.
|
|
14
13
|
* On `signatureNotification` - the subscription is automatically cancelled.
|
|
@@ -20,6 +19,6 @@ export interface SignatureNotificationsApi extends RpcSubscriptionsApiMethods {
|
|
|
20
19
|
signatureNotifications(signature: Signature, config?: Readonly<{
|
|
21
20
|
enableReceivedNotification?: false;
|
|
22
21
|
}> & SignatureNotificationsApiConfigBase): SignatureNotificationsApiNotificationProcessed;
|
|
23
|
-
}
|
|
22
|
+
};
|
|
24
23
|
export {};
|
|
25
24
|
//# sourceMappingURL=signature-notifications.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature-notifications.d.ts","sourceRoot":"","sources":["../../src/signature-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"signature-notifications.d.ts","sourceRoot":"","sources":["../../src/signature-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEzF,KAAK,6CAA6C,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAEzF,KAAK,8CAA8C,GAAG,iBAAiB,CACnE,QAAQ,CAAC;IAEL,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAChC,CAAC,CACL,CAAC;AAEF,KAAK,mCAAmC,GAAG,QAAQ,CAAC;IAChD,UAAU,CAAC,EAAE,UAAU,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG;IACpC;;;;OAIG;IACH,sBAAsB,CAElB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,QAAQ,CAAC;QAGb,0BAA0B,EAAE,IAAI,CAAC;KACpC,CAAC,GACE,mCAAmC,GACxC,8CAA8C,GAAG,6CAA6C,CAAC;IAClG,sBAAsB,CAClB,SAAS,EAAE,SAAS,EACpB,MAAM,CAAC,EAAE,QAAQ,CAAC;QACd,0BAA0B,CAAC,EAAE,KAAK,CAAC;KACtC,CAAC,GACE,mCAAmC,GACxC,8CAA8C,CAAC;CACrD,CAAC"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import type { RpcSubscriptionsApiMethods } from '@solana/rpc-subscriptions-spec';
|
|
2
1
|
import type { Slot } from '@solana/rpc-types';
|
|
3
2
|
type SlotNotificationsApiNotification = Readonly<{
|
|
4
3
|
parent: Slot;
|
|
5
4
|
root: Slot;
|
|
6
5
|
slot: Slot;
|
|
7
6
|
}>;
|
|
8
|
-
export
|
|
7
|
+
export type SlotNotificationsApi = {
|
|
9
8
|
/**
|
|
10
9
|
* Subscribe to receive notification anytime a slot is processed by the validator
|
|
11
10
|
*/
|
|
12
11
|
slotNotifications(NO_CONFIG?: Record<string, never>): SlotNotificationsApiNotification;
|
|
13
|
-
}
|
|
12
|
+
};
|
|
14
13
|
export {};
|
|
15
14
|
//# sourceMappingURL=slot-notifications.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slot-notifications.d.ts","sourceRoot":"","sources":["../../src/slot-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"slot-notifications.d.ts","sourceRoot":"","sources":["../../src/slot-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,KAAK,gCAAgC,GAAG,QAAQ,CAAC;IAC7C,MAAM,EAAE,IAAI,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;CACd,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG;IAC/B;;OAEG;IACH,iBAAiB,CAEb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAClC,gCAAgC,CAAC;CACvC,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { Slot, U64UnsafeBeyond2Pow53Minus1 } from '@solana/rpc-types';
|
|
1
|
+
import type { Slot } from '@solana/rpc-types';
|
|
3
2
|
type SlotsUpdatesNotificationsApiNotificationBase = Readonly<{
|
|
4
3
|
slot: Slot;
|
|
5
|
-
timestamp:
|
|
4
|
+
timestamp: bigint;
|
|
6
5
|
type: 'completed' | 'firstShredReceived' | 'optimisticConfirmation' | 'root';
|
|
7
6
|
}>;
|
|
8
7
|
type SlotsUpdatesNotificationsApiNotificationCreatedBank = Readonly<{
|
|
@@ -15,19 +14,19 @@ type SlotsUpdatesNotificationsApiNotificationDead = Readonly<{
|
|
|
15
14
|
}> & SlotsUpdatesNotificationsApiNotificationBase;
|
|
16
15
|
type SlotsUpdatesNotificationsApiNotificationFrozen = Readonly<{
|
|
17
16
|
stats: Readonly<{
|
|
18
|
-
maxTransactionsPerEntry:
|
|
19
|
-
numFailedTransactions:
|
|
20
|
-
numSuccessfulTransactions:
|
|
21
|
-
numTransactionEntries:
|
|
17
|
+
maxTransactionsPerEntry: bigint;
|
|
18
|
+
numFailedTransactions: bigint;
|
|
19
|
+
numSuccessfulTransactions: bigint;
|
|
20
|
+
numTransactionEntries: bigint;
|
|
22
21
|
}>;
|
|
23
22
|
type: 'frozen';
|
|
24
23
|
}> & SlotsUpdatesNotificationsApiNotificationBase;
|
|
25
24
|
type SlotsUpdatesNotificationsApiNotification = SlotsUpdatesNotificationsApiNotificationBase | SlotsUpdatesNotificationsApiNotificationCreatedBank | SlotsUpdatesNotificationsApiNotificationDead | SlotsUpdatesNotificationsApiNotificationFrozen;
|
|
26
|
-
export
|
|
25
|
+
export type SlotsUpdatesNotificationsApi = {
|
|
27
26
|
/**
|
|
28
27
|
* Subscribe to receive a notification from the validator on a variety of updates on every slot
|
|
29
28
|
*/
|
|
30
29
|
slotsUpdatesNotifications(NO_CONFIG?: Record<string, never>): SlotsUpdatesNotificationsApiNotification;
|
|
31
|
-
}
|
|
30
|
+
};
|
|
32
31
|
export {};
|
|
33
32
|
//# sourceMappingURL=slots-updates-notifications.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slots-updates-notifications.d.ts","sourceRoot":"","sources":["../../src/slots-updates-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"slots-updates-notifications.d.ts","sourceRoot":"","sources":["../../src/slots-updates-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,KAAK,4CAA4C,GAAG,QAAQ,CAAC;IACzD,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,GAAG,oBAAoB,GAAG,wBAAwB,GAAG,MAAM,CAAC;CAChF,CAAC,CAAC;AAEH,KAAK,mDAAmD,GAAG,QAAQ,CAAC;IAChE,MAAM,EAAE,IAAI,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;CACvB,CAAC,GACE,4CAA4C,CAAC;AAEjD,KAAK,4CAA4C,GAAG,QAAQ,CAAC;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC,GACE,4CAA4C,CAAC;AAEjD,KAAK,8CAA8C,GAAG,QAAQ,CAAC;IAC3D,KAAK,EAAE,QAAQ,CAAC;QACZ,uBAAuB,EAAE,MAAM,CAAC;QAChC,qBAAqB,EAAE,MAAM,CAAC;QAC9B,yBAAyB,EAAE,MAAM,CAAC;QAClC,qBAAqB,EAAE,MAAM,CAAC;KACjC,CAAC,CAAC;IACH,IAAI,EAAE,QAAQ,CAAC;CAClB,CAAC,GACE,4CAA4C,CAAC;AAEjD,KAAK,wCAAwC,GACvC,4CAA4C,GAC5C,mDAAmD,GACnD,4CAA4C,GAC5C,8CAA8C,CAAC;AAErD,MAAM,MAAM,4BAA4B,GAAG;IACvC;;OAEG;IACH,yBAAyB,CAErB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAClC,wCAAwC,CAAC;CAC/C,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { Address } from '@solana/addresses';
|
|
2
2
|
import type { Signature } from '@solana/keys';
|
|
3
|
-
import type { RpcSubscriptionsApiMethods } from '@solana/rpc-subscriptions-spec';
|
|
4
3
|
import type { Blockhash, Slot, UnixTimestamp } from '@solana/rpc-types';
|
|
5
4
|
type VoteNotificationsApiNotification = Readonly<{
|
|
6
5
|
hash: Blockhash;
|
|
@@ -9,11 +8,11 @@ type VoteNotificationsApiNotification = Readonly<{
|
|
|
9
8
|
timestamp: UnixTimestamp | null;
|
|
10
9
|
votePubkey: Address;
|
|
11
10
|
}>;
|
|
12
|
-
export
|
|
11
|
+
export type VoteNotificationsApi = {
|
|
13
12
|
/**
|
|
14
13
|
* Subscribe to receive a notification from the validator on a variety of updates on every slot
|
|
15
14
|
*/
|
|
16
15
|
voteNotifications(NO_CONFIG?: Record<string, never>): VoteNotificationsApiNotification;
|
|
17
|
-
}
|
|
16
|
+
};
|
|
18
17
|
export {};
|
|
19
18
|
//# sourceMappingURL=vote-notifications.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vote-notifications.d.ts","sourceRoot":"","sources":["../../src/vote-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"vote-notifications.d.ts","sourceRoot":"","sources":["../../src/vote-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAExE,KAAK,gCAAgC,GAAG,QAAQ,CAAC;IAC7C,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IACvB,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;CACvB,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG;IAC/B;;OAEG;IACH,iBAAiB,CAEb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAClC,gCAAgC,CAAC;CACvC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solana/rpc-subscriptions-api",
|
|
3
|
-
"version": "2.0.0-rc.
|
|
3
|
+
"version": "2.0.0-rc.2",
|
|
4
4
|
"description": "Defines all default Solana RPC subscriptions as types",
|
|
5
5
|
"exports": {
|
|
6
|
+
"edge-light": {
|
|
7
|
+
"import": "./dist/index.node.mjs",
|
|
8
|
+
"require": "./dist/index.node.cjs"
|
|
9
|
+
},
|
|
10
|
+
"workerd": {
|
|
11
|
+
"import": "./dist/index.node.mjs",
|
|
12
|
+
"require": "./dist/index.node.cjs"
|
|
13
|
+
},
|
|
6
14
|
"browser": {
|
|
7
15
|
"import": "./dist/index.browser.mjs",
|
|
8
16
|
"require": "./dist/index.browser.cjs"
|
|
@@ -46,13 +54,13 @@
|
|
|
46
54
|
"maintained node versions"
|
|
47
55
|
],
|
|
48
56
|
"dependencies": {
|
|
49
|
-
"@solana/addresses": "2.0.0-rc.
|
|
50
|
-
"@solana/keys": "2.0.0-rc.
|
|
51
|
-
"@solana/rpc-subscriptions-spec": "2.0.0-rc.
|
|
52
|
-
"@solana/rpc-transformers": "2.0.0-rc.
|
|
53
|
-
"@solana/
|
|
54
|
-
"@solana/
|
|
55
|
-
"@solana/
|
|
57
|
+
"@solana/addresses": "2.0.0-rc.2",
|
|
58
|
+
"@solana/keys": "2.0.0-rc.2",
|
|
59
|
+
"@solana/rpc-subscriptions-spec": "2.0.0-rc.2",
|
|
60
|
+
"@solana/rpc-transformers": "2.0.0-rc.2",
|
|
61
|
+
"@solana/rpc-types": "2.0.0-rc.2",
|
|
62
|
+
"@solana/transaction-messages": "2.0.0-rc.2",
|
|
63
|
+
"@solana/transactions": "2.0.0-rc.2"
|
|
56
64
|
},
|
|
57
65
|
"peerDependencies": {
|
|
58
66
|
"typescript": ">=5"
|
|
@@ -65,13 +73,16 @@
|
|
|
65
73
|
}
|
|
66
74
|
]
|
|
67
75
|
},
|
|
76
|
+
"engines": {
|
|
77
|
+
"node": ">=20.18.0"
|
|
78
|
+
},
|
|
68
79
|
"scripts": {
|
|
69
80
|
"compile:js": "tsup --config build-scripts/tsup.config.package.ts",
|
|
70
81
|
"compile:typedefs": "tsc -p ./tsconfig.declarations.json",
|
|
71
82
|
"dev": "jest -c ../../node_modules/@solana/test-config/jest-dev.config.ts --globalSetup @solana/test-config/test-validator-setup.js --globalTeardown @solana/test-config/test-validator-teardown.js --rootDir . --watch",
|
|
72
83
|
"publish-impl": "npm view $npm_package_name@$npm_package_version > /dev/null 2>&1 || pnpm publish --tag ${PUBLISH_TAG:-canary} --access public --no-git-checks",
|
|
73
84
|
"publish-packages": "pnpm prepublishOnly && pnpm publish-impl",
|
|
74
|
-
"style:fix": "pnpm eslint --fix src
|
|
85
|
+
"style:fix": "pnpm eslint --fix src && pnpm prettier --log-level warn --ignore-unknown --write ./*",
|
|
75
86
|
"test:lint": "TERM_OVERRIDE=\"${TURBO_HASH:+dumb}\" TERM=${TERM_OVERRIDE:-$TERM} jest -c ../../node_modules/@solana/test-config/jest-lint.config.ts --rootDir . --silent",
|
|
76
87
|
"test:prettier": "TERM_OVERRIDE=\"${TURBO_HASH:+dumb}\" TERM=${TERM_OVERRIDE:-$TERM} jest -c ../../node_modules/@solana/test-config/jest-prettier.config.ts --rootDir . --silent",
|
|
77
88
|
"test:treeshakability:browser": "agadoo dist/index.browser.mjs",
|