@solana/rpc-graphql 2.0.0-20241006045741
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/LICENSE +20 -0
- package/README.md +1127 -0
- package/dist/index.browser.cjs +5169 -0
- package/dist/index.browser.cjs.map +1 -0
- package/dist/index.browser.mjs +5159 -0
- package/dist/index.browser.mjs.map +1 -0
- package/dist/index.native.mjs +5159 -0
- package/dist/index.native.mjs.map +1 -0
- package/dist/index.node.cjs +5169 -0
- package/dist/index.node.cjs.map +1 -0
- package/dist/index.node.mjs +5159 -0
- package/dist/index.node.mjs.map +1 -0
- package/dist/types/context.d.ts +20 -0
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/index.d.ts +29 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/loaders/account.d.ts +14 -0
- package/dist/types/loaders/account.d.ts.map +1 -0
- package/dist/types/loaders/block.d.ts +4 -0
- package/dist/types/loaders/block.d.ts.map +1 -0
- package/dist/types/loaders/coalescer.d.ts +55 -0
- package/dist/types/loaders/coalescer.d.ts.map +1 -0
- package/dist/types/loaders/index.d.ts +6 -0
- package/dist/types/loaders/index.d.ts.map +1 -0
- package/dist/types/loaders/loader.d.ts +85 -0
- package/dist/types/loaders/loader.d.ts.map +1 -0
- package/dist/types/loaders/program-accounts.d.ts +8 -0
- package/dist/types/loaders/program-accounts.d.ts.map +1 -0
- package/dist/types/loaders/transaction.d.ts +4 -0
- package/dist/types/loaders/transaction.d.ts.map +1 -0
- package/dist/types/resolvers/account.d.ts +36 -0
- package/dist/types/resolvers/account.d.ts.map +1 -0
- package/dist/types/resolvers/block.d.ts +68 -0
- package/dist/types/resolvers/block.d.ts.map +1 -0
- package/dist/types/resolvers/program-accounts.d.ts +21 -0
- package/dist/types/resolvers/program-accounts.d.ts.map +1 -0
- package/dist/types/resolvers/resolve-info/account.d.ts +15 -0
- package/dist/types/resolvers/resolve-info/account.d.ts.map +1 -0
- package/dist/types/resolvers/resolve-info/block.d.ts +13 -0
- package/dist/types/resolvers/resolve-info/block.d.ts.map +1 -0
- package/dist/types/resolvers/resolve-info/index.d.ts +6 -0
- package/dist/types/resolvers/resolve-info/index.d.ts.map +1 -0
- package/dist/types/resolvers/resolve-info/program-accounts.d.ts +23 -0
- package/dist/types/resolvers/resolve-info/program-accounts.d.ts.map +1 -0
- package/dist/types/resolvers/resolve-info/transaction.d.ts +15 -0
- package/dist/types/resolvers/resolve-info/transaction.d.ts.map +1 -0
- package/dist/types/resolvers/resolve-info/visitor.d.ts +18 -0
- package/dist/types/resolvers/resolve-info/visitor.d.ts.map +1 -0
- package/dist/types/resolvers/transaction.d.ts +38 -0
- package/dist/types/resolvers/transaction.d.ts.map +1 -0
- package/dist/types/schema/type-defs/account.d.ts +2 -0
- package/dist/types/schema/type-defs/account.d.ts.map +1 -0
- package/dist/types/schema/type-defs/block.d.ts +2 -0
- package/dist/types/schema/type-defs/block.d.ts.map +1 -0
- package/dist/types/schema/type-defs/index.d.ts +7 -0
- package/dist/types/schema/type-defs/index.d.ts.map +1 -0
- package/dist/types/schema/type-defs/instruction.d.ts +2 -0
- package/dist/types/schema/type-defs/instruction.d.ts.map +1 -0
- package/dist/types/schema/type-defs/root.d.ts +2 -0
- package/dist/types/schema/type-defs/root.d.ts.map +1 -0
- package/dist/types/schema/type-defs/transaction.d.ts +2 -0
- package/dist/types/schema/type-defs/transaction.d.ts.map +1 -0
- package/dist/types/schema/type-defs/types.d.ts +2 -0
- package/dist/types/schema/type-defs/types.d.ts.map +1 -0
- package/dist/types/schema/type-resolvers/account.d.ts +576 -0
- package/dist/types/schema/type-resolvers/account.d.ts.map +1 -0
- package/dist/types/schema/type-resolvers/block.d.ts +7 -0
- package/dist/types/schema/type-resolvers/block.d.ts.map +1 -0
- package/dist/types/schema/type-resolvers/index.d.ts +8 -0
- package/dist/types/schema/type-resolvers/index.d.ts.map +1 -0
- package/dist/types/schema/type-resolvers/instruction.d.ts +3549 -0
- package/dist/types/schema/type-resolvers/instruction.d.ts.map +1 -0
- package/dist/types/schema/type-resolvers/root.d.ts +3 -0
- package/dist/types/schema/type-resolvers/root.d.ts.map +1 -0
- package/dist/types/schema/type-resolvers/transaction.d.ts +8 -0
- package/dist/types/schema/type-resolvers/transaction.d.ts.map +1 -0
- package/dist/types/schema/type-resolvers/types.d.ts +154 -0
- package/dist/types/schema/type-resolvers/types.d.ts.map +1 -0
- package/package.json +90 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { GetAccountInfoApi, GetBlockApi, GetMultipleAccountsApi, GetProgramAccountsApi, GetTransactionApi, Rpc } from '@solana/rpc';
|
|
2
|
+
import { RpcGraphQLLoaders } from './loaders';
|
|
3
|
+
type Config = {
|
|
4
|
+
/**
|
|
5
|
+
* Maximum number of acceptable bytes to waste before splitting two
|
|
6
|
+
* `dataSlice` requests into two requests.
|
|
7
|
+
*/
|
|
8
|
+
maxDataSliceByteRange: number;
|
|
9
|
+
/**
|
|
10
|
+
* Maximum number of accounts to fetch in a single batch.
|
|
11
|
+
* See https://docs.solana.com/api/http#getmultipleaccounts.
|
|
12
|
+
*/
|
|
13
|
+
maxMultipleAccountsBatchSize: number;
|
|
14
|
+
};
|
|
15
|
+
export interface RpcGraphQLContext {
|
|
16
|
+
loaders: RpcGraphQLLoaders;
|
|
17
|
+
}
|
|
18
|
+
export declare function createSolanaGraphQLContext(rpc: Rpc<GetAccountInfoApi & GetBlockApi & GetMultipleAccountsApi & GetProgramAccountsApi & GetTransactionApi>, config: Config): RpcGraphQLContext;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,GAAG,EACN,MAAM,aAAa,CAAC;AAErB,OAAO,EAKH,iBAAiB,EACpB,MAAM,WAAW,CAAC;AAEnB,KAAK,MAAM,GAAG;IACV;;;OAGG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,4BAA4B,EAAE,MAAM,CAAC;CACxC,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,iBAAiB,CAAC;CAC9B;AAED,wBAAgB,0BAA0B,CACtC,GAAG,EAAE,GAAG,CAAC,iBAAiB,GAAG,WAAW,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,iBAAiB,CAAC,EAC9G,MAAM,EAAE,MAAM,GACf,iBAAiB,CASnB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { makeExecutableSchema } from '@graphql-tools/schema';
|
|
2
|
+
import { graphql } from 'graphql';
|
|
3
|
+
import { createSolanaGraphQLContext } from './context';
|
|
4
|
+
import { createSolanaGraphQLTypeDefs } from './schema/type-defs';
|
|
5
|
+
import { createSolanaGraphQLTypeResolvers } from './schema/type-resolvers';
|
|
6
|
+
export interface RpcGraphQL {
|
|
7
|
+
query(source: Parameters<typeof graphql>[0]['source'], variableValues?: Parameters<typeof graphql>[0]['variableValues']): ReturnType<typeof graphql>;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Create a GraphQL RPC client resolver.
|
|
11
|
+
*
|
|
12
|
+
* @param rpc Solana RPC client.
|
|
13
|
+
* @param schema GraphQL schema.
|
|
14
|
+
* @param config Optional GraphQL resolver configurations.
|
|
15
|
+
* @returns GraphQL RPC client resolver.
|
|
16
|
+
*/
|
|
17
|
+
export declare function createRpcGraphQL(rpc: Parameters<typeof createSolanaGraphQLContext>[0], schema: ReturnType<typeof makeExecutableSchema>, config?: Partial<Parameters<typeof createSolanaGraphQLContext>[1]>): RpcGraphQL;
|
|
18
|
+
/**
|
|
19
|
+
* Create a Solana GraphQL RPC client resolver.
|
|
20
|
+
*
|
|
21
|
+
* Configures the client resolver to use the default Solana GraphQL schema.
|
|
22
|
+
*
|
|
23
|
+
* @param rpc Solana RPC client.
|
|
24
|
+
* @param config Optional GraphQL resolver configurations.
|
|
25
|
+
* @returns Solana GraphQL RPC client resolver.
|
|
26
|
+
*/
|
|
27
|
+
export declare function createSolanaRpcGraphQL(rpc: Parameters<typeof createSolanaGraphQLContext>[0], config?: Partial<Parameters<typeof createSolanaGraphQLContext>[1]>): RpcGraphQL;
|
|
28
|
+
export { createSolanaGraphQLTypeDefs, createSolanaGraphQLTypeResolvers };
|
|
29
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAE3E,MAAM,WAAW,UAAU;IACvB,KAAK,CACD,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAC/C,cAAc,CAAC,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GACjE,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC5B,GAAG,EAAE,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC,EACrD,MAAM,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,EAC/C,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,GACnE,UAAU,CAgBZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAClC,GAAG,EAAE,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC,EACrD,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,GACnE,UAAU,CAMZ;AAED,OAAO,EAAE,2BAA2B,EAAE,gCAAgC,EAAE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { GetAccountInfoApi, GetMultipleAccountsApi, Rpc } from '@solana/rpc';
|
|
2
|
+
import { AccountLoader } from './loader';
|
|
3
|
+
type Config = {
|
|
4
|
+
maxDataSliceByteRange: number;
|
|
5
|
+
maxMultipleAccountsBatchSize: number;
|
|
6
|
+
};
|
|
7
|
+
type DataSlice = {
|
|
8
|
+
length: number;
|
|
9
|
+
offset: number;
|
|
10
|
+
};
|
|
11
|
+
export declare function sliceData(account: any, dataSlice?: DataSlice | null, masterDataSlice?: DataSlice): any;
|
|
12
|
+
export declare function createAccountLoader(rpc: Rpc<GetAccountInfoApi & GetMultipleAccountsApi>, config: Config): AccountLoader;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=account.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/loaders/account.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAIlF,OAAO,EACH,aAAa,EAMhB,MAAM,UAAU,CAAC;AAElB,KAAK,MAAM,GAAG;IACV,qBAAqB,EAAE,MAAM,CAAC;IAC9B,4BAA4B,EAAE,MAAM,CAAC;CACxC,CAAC;AAGF,KAAK,SAAS,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAWpD,wBAAgB,SAAS,CAErB,OAAO,EAAE,GAAG,EACZ,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,EAC5B,eAAe,CAAC,EAAE,SAAS,OA+B9B;AA+GD,wBAAgB,mBAAmB,CAC/B,GAAG,EAAE,GAAG,CAAC,iBAAiB,GAAG,sBAAsB,CAAC,EACpD,MAAM,EAAE,MAAM,GACf,aAAa,CAMf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../src/loaders/block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAIpD,OAAO,EAAE,WAAW,EAAsE,MAAM,UAAU,CAAC;AAuE3G,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,WAAW,CAMpE"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { DataSlice } from '@solana/rpc-types';
|
|
2
|
+
import { BatchLoadPromiseCallback } from './loader';
|
|
3
|
+
type Encoding = ('base58' | 'base64' | 'base64+zstd' | 'jsonParsed') | ('base58' | 'base64' | 'json' | 'jsonParsed');
|
|
4
|
+
export type Fetch<TArgs extends {
|
|
5
|
+
encoding?: Encoding;
|
|
6
|
+
}, TValue> = Readonly<{
|
|
7
|
+
args: TArgs;
|
|
8
|
+
promiseCallback: BatchLoadPromiseCallback<TValue>;
|
|
9
|
+
}>;
|
|
10
|
+
export type ToFetchMap<TArgs extends {
|
|
11
|
+
encoding?: Encoding;
|
|
12
|
+
}, TValue> = {
|
|
13
|
+
[key: string]: Fetch<TArgs, TValue>[];
|
|
14
|
+
};
|
|
15
|
+
export type FetchesByArgsHash<TArgs extends {
|
|
16
|
+
encoding?: Encoding;
|
|
17
|
+
}, TValue> = {
|
|
18
|
+
[argsHash: string]: {
|
|
19
|
+
args: TArgs;
|
|
20
|
+
fetches: {
|
|
21
|
+
[key: string]: {
|
|
22
|
+
callbacks: BatchLoadPromiseCallback<TValue>[];
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export type FetchesByArgsHashWithDataSlice<TArgs extends {
|
|
28
|
+
dataSlice?: DataSlice;
|
|
29
|
+
encoding?: Encoding;
|
|
30
|
+
}, TValue> = {
|
|
31
|
+
[argsHash: string]: {
|
|
32
|
+
args: TArgs;
|
|
33
|
+
fetches: {
|
|
34
|
+
[key: string]: {
|
|
35
|
+
callbacks: {
|
|
36
|
+
callback: BatchLoadPromiseCallback<TValue>;
|
|
37
|
+
dataSlice?: DataSlice | null;
|
|
38
|
+
}[];
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
export declare function buildCoalescedFetchesByArgsHash<TArgs extends {
|
|
44
|
+
encoding?: Encoding;
|
|
45
|
+
}, TValue>(toFetchMap: ToFetchMap<TArgs, TValue>, orphanConfig: {
|
|
46
|
+
criteria: (args: TArgs) => boolean;
|
|
47
|
+
defaults: (args: TArgs) => TArgs;
|
|
48
|
+
hashOmit: (keyof TArgs)[];
|
|
49
|
+
}): FetchesByArgsHash<TArgs, TValue>;
|
|
50
|
+
export declare function buildCoalescedFetchesByArgsHashWithDataSlice<TArgs extends {
|
|
51
|
+
dataSlice?: DataSlice;
|
|
52
|
+
encoding?: Encoding;
|
|
53
|
+
}, TValue>(toFetchMap: ToFetchMap<TArgs, TValue>, maxDataSliceByteRange: number): FetchesByArgsHashWithDataSlice<TArgs, TValue>;
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=coalescer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coalescer.d.ts","sourceRoot":"","sources":["../../../src/loaders/coalescer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAc,MAAM,UAAU,CAAC;AAEhE,KAAK,QAAQ,GAAG,CAAC,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,YAAY,CAAC,CAAC;AAErH,MAAM,MAAM,KAAK,CAAC,KAAK,SAAS;IAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAE,EAAE,MAAM,IAAI,QAAQ,CAAC;IACxE,IAAI,EAAE,KAAK,CAAC;IACZ,eAAe,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;CACrD,CAAC,CAAC;AACH,MAAM,MAAM,UAAU,CAAC,KAAK,SAAS;IAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAE,EAAE,MAAM,IAAI;IACpE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;CACzC,CAAC;AACF,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS;IAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAE,EAAE,MAAM,IAAI;IAC3E,CAAC,QAAQ,EAAE,MAAM,GAAG;QAChB,IAAI,EAAE,KAAK,CAAC;QACZ,OAAO,EAAE;YACL,CAAC,GAAG,EAAE,MAAM,GAAG;gBACX,SAAS,EAAE,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;aACjD,CAAC;SACL,CAAC;KACL,CAAC;CACL,CAAC;AACF,MAAM,MAAM,8BAA8B,CAAC,KAAK,SAAS;IAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAE,EAAE,MAAM,IAAI;IAC/G,CAAC,QAAQ,EAAE,MAAM,GAAG;QAChB,IAAI,EAAE,KAAK,CAAC;QACZ,OAAO,EAAE;YACL,CAAC,GAAG,EAAE,MAAM,GAAG;gBACX,SAAS,EAAE;oBACP,QAAQ,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;oBAC3C,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;iBAChC,EAAE,CAAC;aACP,CAAC;SACL,CAAC;KACL,CAAC;CACL,CAAC;AAaF,wBAAgB,+BAA+B,CAAC,KAAK,SAAS;IAAE,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAE,EAAE,MAAM,EACzF,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,EACrC,YAAY,EAAE;IACV,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC;IACnC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,CAAC;IACjC,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;CAC7B,GACF,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAyDlC;AAED,wBAAgB,4CAA4C,CACxD,KAAK,SAAS;IAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAE,EAC5D,MAAM,EACR,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,qBAAqB,EAAE,MAAM,GAAG,8BAA8B,CAAC,KAAK,EAAE,MAAM,CAAC,CA2HrH"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { createAccountLoader } from './account';
|
|
2
|
+
export { createBlockLoader } from './block';
|
|
3
|
+
export * from './loader';
|
|
4
|
+
export { createProgramAccountsLoader } from './program-accounts';
|
|
5
|
+
export { createTransactionLoader } from './transaction';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/loaders/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import type { Address } from '@solana/addresses';
|
|
2
|
+
import type { Signature } from '@solana/keys';
|
|
3
|
+
import type { GetAccountInfoApi, GetBlockApi, GetProgramAccountsApi, GetTransactionApi } from '@solana/rpc';
|
|
4
|
+
import type { Commitment, Slot } from '@solana/rpc-types';
|
|
5
|
+
export type BatchLoadPromiseCallback<T> = Readonly<{
|
|
6
|
+
reject: (reason?: unknown) => void;
|
|
7
|
+
resolve: (value: T) => void;
|
|
8
|
+
}>;
|
|
9
|
+
export type LoadFn<TArgs, T> = (args: TArgs) => Promise<T>;
|
|
10
|
+
export type LoadManyFn<TArgs, T> = (args: TArgs[]) => Promise<(Error | T)[]>;
|
|
11
|
+
export type Loader<TArgs, T> = {
|
|
12
|
+
load: LoadFn<TArgs, T>;
|
|
13
|
+
loadMany: LoadManyFn<TArgs, T>;
|
|
14
|
+
};
|
|
15
|
+
export type AccountLoaderArgsBase = {
|
|
16
|
+
commitment?: Commitment;
|
|
17
|
+
dataSlice?: {
|
|
18
|
+
length: number;
|
|
19
|
+
offset: number;
|
|
20
|
+
};
|
|
21
|
+
encoding?: 'base58' | 'base64' | 'base64+zstd' | 'jsonParsed';
|
|
22
|
+
minContextSlot?: Slot;
|
|
23
|
+
};
|
|
24
|
+
export type AccountLoaderArgs = AccountLoaderArgsBase & {
|
|
25
|
+
address: Address;
|
|
26
|
+
};
|
|
27
|
+
export type AccountLoaderValue = ReturnType<GetAccountInfoApi['getAccountInfo']>['value'] | null;
|
|
28
|
+
export type AccountLoader = Loader<AccountLoaderArgs, AccountLoaderValue>;
|
|
29
|
+
export type BlockLoaderArgsBase = {
|
|
30
|
+
commitment?: Omit<Commitment, 'processed'>;
|
|
31
|
+
encoding?: 'base58' | 'base64' | 'json' | 'jsonParsed';
|
|
32
|
+
maxSupportedTransactionVersion?: 'legacy' | 0;
|
|
33
|
+
rewards?: boolean;
|
|
34
|
+
transactionDetails?: 'accounts' | 'full' | 'none' | 'signatures';
|
|
35
|
+
};
|
|
36
|
+
export type BlockLoaderArgs = BlockLoaderArgsBase & {
|
|
37
|
+
slot: Slot;
|
|
38
|
+
};
|
|
39
|
+
export type BlockLoaderValue = ReturnType<GetBlockApi['getBlock']> | null;
|
|
40
|
+
export type BlockLoader = Loader<BlockLoaderArgs, BlockLoaderValue>;
|
|
41
|
+
export type MultipleAccountsLoaderArgs = AccountLoaderArgsBase & {
|
|
42
|
+
addresses: Address[];
|
|
43
|
+
};
|
|
44
|
+
export type MultipleAccountsLoaderValue = AccountLoaderValue[];
|
|
45
|
+
export type MultipleAccountsLoader = Loader<MultipleAccountsLoaderArgs, MultipleAccountsLoaderValue>;
|
|
46
|
+
export type ProgramAccountsLoaderArgsBase = {
|
|
47
|
+
commitment?: Commitment;
|
|
48
|
+
dataSlice?: {
|
|
49
|
+
length: number;
|
|
50
|
+
offset: number;
|
|
51
|
+
};
|
|
52
|
+
encoding?: 'base58' | 'base64' | 'base64+zstd' | 'jsonParsed';
|
|
53
|
+
filters?: ({
|
|
54
|
+
dataSize: bigint;
|
|
55
|
+
} | {
|
|
56
|
+
memcmp: {
|
|
57
|
+
bytes: string;
|
|
58
|
+
encoding: 'base58' | 'base64';
|
|
59
|
+
offset: bigint;
|
|
60
|
+
};
|
|
61
|
+
})[];
|
|
62
|
+
minContextSlot?: Slot;
|
|
63
|
+
};
|
|
64
|
+
export type ProgramAccountsLoaderArgs = ProgramAccountsLoaderArgsBase & {
|
|
65
|
+
programAddress: Address;
|
|
66
|
+
};
|
|
67
|
+
export type ProgramAccountsLoaderValue = ReturnType<GetProgramAccountsApi['getProgramAccounts']>;
|
|
68
|
+
export type ProgramAccountsLoader = Loader<ProgramAccountsLoaderArgs, ProgramAccountsLoaderValue>;
|
|
69
|
+
export type TransactionLoaderArgsBase = {
|
|
70
|
+
commitment?: Omit<Commitment, 'processed'>;
|
|
71
|
+
encoding?: 'base58' | 'base64' | 'json' | 'jsonParsed';
|
|
72
|
+
};
|
|
73
|
+
export type TransactionLoaderArgs = TransactionLoaderArgsBase & {
|
|
74
|
+
signature: Signature;
|
|
75
|
+
};
|
|
76
|
+
export type TransactionLoaderValue = ReturnType<GetTransactionApi['getTransaction']> | null;
|
|
77
|
+
export type TransactionLoader = Loader<TransactionLoaderArgs, TransactionLoaderValue>;
|
|
78
|
+
export type RpcGraphQLLoaders = {
|
|
79
|
+
account: AccountLoader;
|
|
80
|
+
block: BlockLoader;
|
|
81
|
+
programAccounts: ProgramAccountsLoader;
|
|
82
|
+
transaction: TransactionLoader;
|
|
83
|
+
};
|
|
84
|
+
export declare const cacheKeyFn: (obj: unknown) => string;
|
|
85
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/loaders/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { GetProgramAccountsApi, Rpc } from '@solana/rpc';
|
|
2
|
+
import { ProgramAccountsLoader } from './loader';
|
|
3
|
+
type Config = {
|
|
4
|
+
maxDataSliceByteRange: number;
|
|
5
|
+
};
|
|
6
|
+
export declare function createProgramAccountsLoader(rpc: Rpc<GetProgramAccountsApi>, config: Config): ProgramAccountsLoader;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=program-accounts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program-accounts.d.ts","sourceRoot":"","sources":["../../../src/loaders/program-accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAK9D,OAAO,EAEH,qBAAqB,EAIxB,MAAM,UAAU,CAAC;AAElB,KAAK,MAAM,GAAG;IACV,qBAAqB,EAAE,MAAM,CAAC;CACjC,CAAC;AAqEF,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,GAAG,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,qBAAqB,CAMlH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/loaders/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAI1D,OAAO,EAEH,iBAAiB,EAIpB,MAAM,UAAU,CAAC;AAsElB,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAMtF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Address } from '@solana/addresses';
|
|
2
|
+
import { Commitment, Slot } from '@solana/rpc-types';
|
|
3
|
+
import { GraphQLResolveInfo } from 'graphql';
|
|
4
|
+
import { RpcGraphQLContext } from '../context';
|
|
5
|
+
import { AccountLoaderValue } from '../loaders';
|
|
6
|
+
type Encoding = 'base58' | 'base64' | 'base64+zstd';
|
|
7
|
+
type DataSlice = {
|
|
8
|
+
length: number;
|
|
9
|
+
offset: number;
|
|
10
|
+
};
|
|
11
|
+
export type EncodedAccountData = {
|
|
12
|
+
[key: string]: string;
|
|
13
|
+
};
|
|
14
|
+
export type AccountResult = Partial<Omit<AccountLoaderValue, 'data'>> & {
|
|
15
|
+
address: Address;
|
|
16
|
+
encodedData?: EncodedAccountData;
|
|
17
|
+
jsonParsedConfigs?: {
|
|
18
|
+
accountType: string;
|
|
19
|
+
programId: Address;
|
|
20
|
+
programName: string;
|
|
21
|
+
};
|
|
22
|
+
ownerProgram?: Address;
|
|
23
|
+
};
|
|
24
|
+
export declare const resolveAccountData: () => (parent: AccountResult | null, args: {
|
|
25
|
+
dataSlice?: DataSlice;
|
|
26
|
+
encoding: Encoding;
|
|
27
|
+
}) => string | null;
|
|
28
|
+
export declare const resolveAccount: (fieldName?: string) => (parent: {
|
|
29
|
+
[x: string]: Address;
|
|
30
|
+
}, args: {
|
|
31
|
+
address?: Address;
|
|
32
|
+
commitment?: Commitment;
|
|
33
|
+
minContextSlot?: Slot;
|
|
34
|
+
}, context: RpcGraphQLContext, info: GraphQLResolveInfo) => Promise<AccountResult | null>;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=account.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/resolvers/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAc,MAAM,YAAY,CAAC;AAG5D,KAAK,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;AACpD,KAAK,SAAS,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,GAAG;IACpE,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,iBAAiB,CAAC,EAAE;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,kBAAkB,iBAEf,aAAa,GAAG,IAAI,QACtB;IACF,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,QAAQ,CAAC;CACtB,kBAIR,CAAC;AAEF,eAAO,MAAM,cAAc,eAAgB,MAAM,cAEjC;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,QAC1B;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,cAAc,CAAC,EAAE,IAAI,CAAA;CAAE,WAClE,iBAAiB,QACpB,kBAAkB,KACzB,OAAO,CAAC,aAAa,GAAG,IAAI,CAiFlC,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { Commitment, Slot } from '@solana/rpc-types';
|
|
2
|
+
import { GraphQLResolveInfo } from 'graphql';
|
|
3
|
+
import { RpcGraphQLContext } from '../context';
|
|
4
|
+
import { BlockLoaderValue } from '../loaders';
|
|
5
|
+
import { TransactionResult } from './transaction';
|
|
6
|
+
export type BlockResult = Partial<BlockLoaderValue> & {
|
|
7
|
+
slot: Slot;
|
|
8
|
+
transactionResults?: {
|
|
9
|
+
[i: number]: TransactionResult;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
export declare const resolveBlock: (fieldName?: string) => (parent: {
|
|
13
|
+
[x: string]: Slot;
|
|
14
|
+
}, args: {
|
|
15
|
+
commitment?: Omit<Commitment, "processed">;
|
|
16
|
+
slot?: Slot;
|
|
17
|
+
}, context: RpcGraphQLContext, info: GraphQLResolveInfo) => Promise<(Partial<Readonly<{
|
|
18
|
+
blockHeight: import("@solana/rpc-types").U64UnsafeBeyond2Pow53Minus1;
|
|
19
|
+
blockTime: import("@solana/rpc-types").UnixTimestampUnsafeBeyond2Pow53Minus1;
|
|
20
|
+
blockhash: import("@solana/rpc-types").Blockhash;
|
|
21
|
+
parentSlot: Slot;
|
|
22
|
+
previousBlockhash: import("@solana/rpc-types").Blockhash;
|
|
23
|
+
}> & Readonly<{
|
|
24
|
+
rewards: readonly import("@solana/rpc-types").Reward[];
|
|
25
|
+
}> & Readonly<{
|
|
26
|
+
transactions: readonly Readonly<{
|
|
27
|
+
meta: (Readonly<{
|
|
28
|
+
computeUnitsConsumed?: import("@solana/rpc-types").U64UnsafeBeyond2Pow53Minus1;
|
|
29
|
+
err: import("@solana/rpc-types").TransactionError | null;
|
|
30
|
+
fee: import("@solana/rpc-types").LamportsUnsafeBeyond2Pow53Minus1;
|
|
31
|
+
logMessages: readonly string[] | null;
|
|
32
|
+
postBalances: readonly import("@solana/rpc-types").LamportsUnsafeBeyond2Pow53Minus1[];
|
|
33
|
+
postTokenBalances?: readonly import("@solana/rpc-types").TokenBalance[];
|
|
34
|
+
preBalances: readonly import("@solana/rpc-types").LamportsUnsafeBeyond2Pow53Minus1[];
|
|
35
|
+
preTokenBalances?: readonly import("@solana/rpc-types").TokenBalance[];
|
|
36
|
+
returnData?: {
|
|
37
|
+
data: import("@solana/rpc-types").Base64EncodedDataResponse;
|
|
38
|
+
programId: import("@solana/addresses").Address;
|
|
39
|
+
};
|
|
40
|
+
rewards: readonly import("@solana/rpc-types").Reward[] | null;
|
|
41
|
+
status: import("@solana/rpc-types").TransactionStatus;
|
|
42
|
+
}> & import("@solana/rpc-types").TransactionForFullMetaInnerInstructionsUnparsed) | null;
|
|
43
|
+
transaction: Readonly<{
|
|
44
|
+
message: {
|
|
45
|
+
accountKeys: readonly import("@solana/addresses").Address[];
|
|
46
|
+
header: {
|
|
47
|
+
numReadonlySignedAccounts: number;
|
|
48
|
+
numReadonlyUnsignedAccounts: number;
|
|
49
|
+
numRequiredSignatures: number;
|
|
50
|
+
};
|
|
51
|
+
instructions: readonly Readonly<{
|
|
52
|
+
accounts: readonly number[];
|
|
53
|
+
data: import("@solana/rpc-types").Base58EncodedBytes;
|
|
54
|
+
programIdIndex: number;
|
|
55
|
+
stackHeight?: number;
|
|
56
|
+
}>[];
|
|
57
|
+
recentBlockhash: import("@solana/rpc-types").Blockhash;
|
|
58
|
+
};
|
|
59
|
+
signatures: readonly import("@solana/rpc-types").Base58EncodedBytes[];
|
|
60
|
+
}>;
|
|
61
|
+
}>[];
|
|
62
|
+
}>> & {
|
|
63
|
+
slot: Slot;
|
|
64
|
+
transactionResults?: {
|
|
65
|
+
[i: number]: TransactionResult;
|
|
66
|
+
};
|
|
67
|
+
}) | null>;
|
|
68
|
+
//# sourceMappingURL=block.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../src/resolvers/block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAc,MAAM,YAAY,CAAC;AAE1D,OAAO,EAA6D,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE7G,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG;IAClD,IAAI,EAAE,IAAI,CAAC;IACX,kBAAkB,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAA;KAAE,CAAC;CAC3D,CAAC;AAEF,eAAO,MAAM,YAAY,eAAgB,MAAM,cAE/B;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,QACvB;IACF,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,IAAI,CAAC;CACf,WACQ,iBAAiB,QACpB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAZtB,IAAI;yBACW;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAA;KAAE;UA2G1D,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Address } from '@solana/addresses';
|
|
2
|
+
import { Commitment, Slot } from '@solana/rpc-types';
|
|
3
|
+
import type { GraphQLResolveInfo } from 'graphql';
|
|
4
|
+
import { RpcGraphQLContext } from '../context';
|
|
5
|
+
import { AccountResult } from './account';
|
|
6
|
+
export declare function resolveProgramAccounts(fieldName?: string): (parent: {
|
|
7
|
+
[x: string]: Address;
|
|
8
|
+
}, args: {
|
|
9
|
+
commitment?: Commitment;
|
|
10
|
+
dataSizeFilters?: {
|
|
11
|
+
dataSize: bigint;
|
|
12
|
+
}[];
|
|
13
|
+
memcmpFilters?: {
|
|
14
|
+
bytes: string;
|
|
15
|
+
encoding: "base58" | "base64";
|
|
16
|
+
offset: bigint;
|
|
17
|
+
}[];
|
|
18
|
+
minContextSlot?: Slot;
|
|
19
|
+
programAddress: Address;
|
|
20
|
+
}, context: RpcGraphQLContext, info: GraphQLResolveInfo) => Promise<AccountResult[] | null>;
|
|
21
|
+
//# sourceMappingURL=program-accounts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program-accounts.d.ts","sourceRoot":"","sources":["../../../src/resolvers/program-accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,wBAAgB,sBAAsB,CAAC,SAAS,CAAC,EAAE,MAAM,YAEzC;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,QAC1B;IACF,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,eAAe,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzC,aAAa,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnF,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;CAC3B,WACQ,iBAAiB,QACpB,kBAAkB,KACzB,OAAO,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,CA6FrC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Address } from '@solana/addresses';
|
|
2
|
+
import { Commitment, Slot } from '@solana/rpc-types';
|
|
3
|
+
import { GraphQLResolveInfo } from 'graphql';
|
|
4
|
+
import { AccountLoaderArgs, ProgramAccountsLoaderArgs } from '../../loaders';
|
|
5
|
+
export declare function buildAccountArgSetWithVisitor<TArgs extends AccountLoaderArgs | ProgramAccountsLoaderArgs>(args: TArgs, info: GraphQLResolveInfo): TArgs[];
|
|
6
|
+
/**
|
|
7
|
+
* Build a set of account loader args by inspecting which fields have
|
|
8
|
+
* been requested in the query (ie. `data` or inline fragments).
|
|
9
|
+
*/
|
|
10
|
+
export declare function buildAccountLoaderArgSetFromResolveInfo(args: {
|
|
11
|
+
address: Address;
|
|
12
|
+
commitment?: Commitment;
|
|
13
|
+
minContextSlot?: Slot;
|
|
14
|
+
}, info: GraphQLResolveInfo): AccountLoaderArgs[];
|
|
15
|
+
//# sourceMappingURL=account.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/resolve-info/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAa,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAgB,kBAAkB,EAAmB,MAAM,SAAS,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAmE7E,wBAAgB,6BAA6B,CAAC,KAAK,SAAS,iBAAiB,GAAG,yBAAyB,EACrG,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,kBAAkB,GACzB,KAAK,EAAE,CAsCT;AAED;;;GAGG;AACH,wBAAgB,uCAAuC,CACnD,IAAI,EAAE;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,cAAc,CAAC,EAAE,IAAI,CAAC;CACzB,EACD,IAAI,EAAE,kBAAkB,GACzB,iBAAiB,EAAE,CAErB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Commitment, Slot } from '@solana/rpc-types';
|
|
2
|
+
import { GraphQLResolveInfo } from 'graphql';
|
|
3
|
+
import { BlockLoaderArgs } from '../../loaders';
|
|
4
|
+
/**
|
|
5
|
+
* Build a set of block loader args by inspecting which fields have
|
|
6
|
+
* been requested in the query (ie. `data` or inline fragments).
|
|
7
|
+
*/
|
|
8
|
+
export declare function buildBlockLoaderArgSetFromResolveInfo(args: {
|
|
9
|
+
commitment?: Omit<Commitment, 'processed'>;
|
|
10
|
+
minContextSlot?: Slot;
|
|
11
|
+
slot: Slot;
|
|
12
|
+
}, info: GraphQLResolveInfo): BlockLoaderArgs[];
|
|
13
|
+
//# sourceMappingURL=block.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/resolve-info/block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAIhD;;;GAGG;AACH,wBAAgB,qCAAqC,CACjD,IAAI,EAAE;IACF,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC3C,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,IAAI,EAAE,IAAI,CAAC;CACd,EACD,IAAI,EAAE,kBAAkB,GACzB,eAAe,EAAE,CA0BnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/resolve-info/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Address } from '@solana/addresses';
|
|
2
|
+
import { Commitment, Slot } from '@solana/rpc-types';
|
|
3
|
+
import { GraphQLResolveInfo } from 'graphql';
|
|
4
|
+
import { ProgramAccountsLoaderArgs } from '../../loaders';
|
|
5
|
+
/**
|
|
6
|
+
* Build a set of account loader args by inspecting which fields have
|
|
7
|
+
* been requested in the query (ie. `data` or inline fragments).
|
|
8
|
+
*/
|
|
9
|
+
export declare function buildProgramAccountsLoaderArgSetFromResolveInfo(args: {
|
|
10
|
+
commitment?: Commitment;
|
|
11
|
+
filters?: ({
|
|
12
|
+
dataSize: bigint;
|
|
13
|
+
} | {
|
|
14
|
+
memcmp: {
|
|
15
|
+
bytes: string;
|
|
16
|
+
encoding: 'base58' | 'base64';
|
|
17
|
+
offset: bigint;
|
|
18
|
+
};
|
|
19
|
+
})[];
|
|
20
|
+
minContextSlot?: Slot;
|
|
21
|
+
programAddress: Address;
|
|
22
|
+
}, info: GraphQLResolveInfo): ProgramAccountsLoaderArgs[];
|
|
23
|
+
//# sourceMappingURL=program-accounts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program-accounts.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/resolve-info/program-accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAG1D;;;GAGG;AACH,wBAAgB,+CAA+C,CAC3D,IAAI,EAAE;IACF,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,CACJ;QACI,QAAQ,EAAE,MAAM,CAAC;KACpB,GACD;QACI,MAAM,EAAE;YACJ,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;YAC9B,MAAM,EAAE,MAAM,CAAC;SAClB,CAAC;KACL,CACN,EAAE,CAAC;IACJ,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;CAC3B,EACD,IAAI,EAAE,kBAAkB,GACzB,yBAAyB,EAAE,CAE7B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Signature } from '@solana/keys';
|
|
2
|
+
import { Commitment, Slot } from '@solana/rpc-types';
|
|
3
|
+
import { GraphQLResolveInfo } from 'graphql';
|
|
4
|
+
import { BlockLoaderArgs, TransactionLoaderArgs } from '../../loaders';
|
|
5
|
+
export declare function buildTransactionArgSetWithVisitor<TArgs extends BlockLoaderArgs | TransactionLoaderArgs>(args: TArgs, info: GraphQLResolveInfo): TArgs[];
|
|
6
|
+
/**
|
|
7
|
+
* Build a set of transaction loader args by inspecting which fields have
|
|
8
|
+
* been requested in the query (ie. `data` or inline fragments).
|
|
9
|
+
*/
|
|
10
|
+
export declare function buildTransactionLoaderArgSetFromResolveInfo(args: {
|
|
11
|
+
commitment?: Omit<Commitment, 'processed'>;
|
|
12
|
+
minContextSlot?: Slot;
|
|
13
|
+
signature: Signature;
|
|
14
|
+
}, info: GraphQLResolveInfo): TransactionLoaderArgs[];
|
|
15
|
+
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/resolve-info/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAgB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AA+BvE,wBAAgB,iCAAiC,CAAC,KAAK,SAAS,eAAe,GAAG,qBAAqB,EACnG,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,kBAAkB,GACzB,KAAK,EAAE,CAkCT;AAED;;;GAGG;AACH,wBAAgB,2CAA2C,CACvD,IAAI,EAAE;IACF,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC3C,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;CACxB,EACD,IAAI,EAAE,kBAAkB,GACzB,qBAAqB,EAAE,CAEzB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ASTVisitFn, FieldNode, FragmentDefinitionNode, FragmentSpreadNode, GraphQLResolveInfo, InlineFragmentNode } from 'graphql';
|
|
2
|
+
type InjectableVisitorOperations = {
|
|
3
|
+
fieldNodeOperation: (info: GraphQLResolveInfo, ...args: Parameters<ASTVisitFn<FieldNode>>) => void;
|
|
4
|
+
fragmentSpreadNodeOperation: (info: GraphQLResolveInfo, fragment: FragmentDefinitionNode, ...args: Parameters<ASTVisitFn<FragmentSpreadNode>>) => void;
|
|
5
|
+
inlineFragmentNodeOperation: (info: GraphQLResolveInfo, ...args: Parameters<ASTVisitFn<InlineFragmentNode>>) => void;
|
|
6
|
+
};
|
|
7
|
+
type RootNode = FieldNode | FragmentDefinitionNode | InlineFragmentNode;
|
|
8
|
+
/**
|
|
9
|
+
* An AST visitor that keys on the root field provided.
|
|
10
|
+
* This visitor can be injected with custom logic for various types of nodes.
|
|
11
|
+
*/
|
|
12
|
+
export declare function injectableRootVisitor(info: GraphQLResolveInfo, rootNode: RootNode | null, operations: InjectableVisitorOperations): void;
|
|
13
|
+
/**
|
|
14
|
+
* Determine if the query only requests the provided field names
|
|
15
|
+
*/
|
|
16
|
+
export declare function onlyFieldsRequested(fieldNames: string[], info: GraphQLResolveInfo, rootNode?: RootNode): boolean;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=visitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/resolve-info/visitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,UAAU,EAEV,SAAS,EACT,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAErB,MAAM,SAAS,CAAC;AAEjB,KAAK,2BAA2B,GAAG;IAC/B,kBAAkB,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,CAAC;IACnG,2BAA2B,EAAE,CACzB,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,sBAAsB,EAChC,GAAG,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,KAClD,IAAI,CAAC;IACV,2BAA2B,EAAE,CACzB,IAAI,EAAE,kBAAkB,EACxB,GAAG,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,KAClD,IAAI,CAAC;CACb,CAAC;AACF,KAAK,QAAQ,GAAG,SAAS,GAAG,sBAAsB,GAAG,kBAAkB,CAAC;AAExE;;;GAGG;AACH,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,QAAQ,GAAG,IAAI,EACzB,UAAU,EAAE,2BAA2B,QAoB1C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CA2BhH"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Address } from '@solana/addresses';
|
|
2
|
+
import { Signature } from '@solana/keys';
|
|
3
|
+
import { Commitment } from '@solana/rpc-types';
|
|
4
|
+
import type { GraphQLResolveInfo } from 'graphql';
|
|
5
|
+
import { RpcGraphQLContext } from '../context';
|
|
6
|
+
import { TransactionLoaderValue } from '../loaders';
|
|
7
|
+
export type EncodedTransactionData = {
|
|
8
|
+
[key: string]: string;
|
|
9
|
+
};
|
|
10
|
+
export type InstructionResult = {
|
|
11
|
+
[key: string]: unknown;
|
|
12
|
+
} & {
|
|
13
|
+
jsonParsedConfigs?: {
|
|
14
|
+
instructionType: string;
|
|
15
|
+
programId: Address;
|
|
16
|
+
programName: string;
|
|
17
|
+
};
|
|
18
|
+
programId?: Address;
|
|
19
|
+
};
|
|
20
|
+
export type TransactionResult = Partial<TransactionLoaderValue> & {
|
|
21
|
+
encodedData?: EncodedTransactionData;
|
|
22
|
+
signature?: Signature;
|
|
23
|
+
};
|
|
24
|
+
export declare function mapJsonParsedInstructions(instructions: readonly any[]): InstructionResult[];
|
|
25
|
+
export declare function mapJsonParsedInnerInstructions(innerInstructions: readonly any[]): {
|
|
26
|
+
index: number;
|
|
27
|
+
instructions: InstructionResult[];
|
|
28
|
+
}[];
|
|
29
|
+
export declare const resolveTransactionData: () => (parent: TransactionResult | null, args: {
|
|
30
|
+
encoding: "base58" | "base64";
|
|
31
|
+
}) => string | null;
|
|
32
|
+
export declare function resolveTransaction(fieldName?: string): (parent: {
|
|
33
|
+
[x: string]: Signature;
|
|
34
|
+
}, args: {
|
|
35
|
+
commitment?: Omit<Commitment, "processed">;
|
|
36
|
+
signature?: Signature;
|
|
37
|
+
}, context: RpcGraphQLContext, info: GraphQLResolveInfo) => Promise<TransactionResult | null>;
|
|
38
|
+
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/resolvers/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAc,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGhE,MAAM,MAAM,sBAAsB,GAAG;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B,GAAG;IACA,iBAAiB,CAAC,EAAE;QAChB,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,OAAO,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC,GAAG;IAC9D,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,SAAS,CAAC,EAAE,SAAS,CAAC;CACzB,CAAC;AAGF,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,SAAS,GAAG,EAAE,GAAG,iBAAiB,EAAE,CA8B3F;AAED,wBAAgB,8BAA8B,CAE1C,iBAAiB,EAAE,SAAS,GAAG,EAAE,GAClC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,iBAAiB,EAAE,CAAA;CAAE,EAAE,CAMxD;AAED,eAAO,MAAM,sBAAsB,iBAEnB,iBAAiB,GAAG,IAAI,QAC1B;IACF,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACjC,kBAIR,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,YAErC;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,QAC5B;IACF,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,SAAS,CAAC;CACzB,WACQ,iBAAiB,QACpB,kBAAkB,KACzB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAwEvC"}
|