@solana/rpc-graphql 2.0.0-experimental.fc4e943 → 2.0.0-experimental.fe07532
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.browser.cjs +23 -6
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.js +23 -6
- package/dist/index.browser.js.map +1 -1
- package/dist/index.native.js +23 -6
- package/dist/index.native.js.map +1 -1
- package/dist/index.node.cjs +23 -6
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.js +23 -6
- package/dist/index.node.js.map +1 -1
- package/dist/types/cache.d.ts.map +1 -0
- package/dist/types/context.d.ts +3 -2
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/rpc.d.ts.map +1 -0
- package/dist/types/schema/account/index.d.ts.map +1 -0
- package/dist/types/schema/account/query.d.ts +2 -2
- package/dist/types/schema/account/query.d.ts.map +1 -0
- package/dist/types/schema/account/types.d.ts.map +1 -0
- package/dist/types/schema/block/index.d.ts.map +1 -0
- package/dist/types/schema/block/query.d.ts +1 -1
- package/dist/types/schema/block/query.d.ts.map +1 -0
- package/dist/types/schema/block/types.d.ts.map +1 -0
- package/dist/types/schema/inputs.d.ts.map +1 -0
- package/dist/types/schema/picks.d.ts.map +1 -0
- package/dist/types/schema/program-accounts/index.d.ts.map +1 -0
- package/dist/types/schema/program-accounts/query.d.ts +1 -1
- package/dist/types/schema/program-accounts/query.d.ts.map +1 -0
- package/dist/types/schema/program-accounts/types.d.ts.map +1 -0
- package/dist/types/schema/scalars.d.ts.map +1 -0
- package/dist/types/schema/transaction/index.d.ts.map +1 -0
- package/dist/types/schema/transaction/query.d.ts +1 -1
- package/dist/types/schema/transaction/query.d.ts.map +1 -0
- package/dist/types/schema/transaction/types.d.ts.map +1 -0
- package/package.json +12 -11
package/dist/index.node.cjs
CHANGED
|
@@ -36,7 +36,19 @@ function createGraphQLCache() {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
// src/context.ts
|
|
39
|
-
async function resolveAccount({ address, encoding = "jsonParsed", ...config }, cache, rpc) {
|
|
39
|
+
async function resolveAccount({ address, encoding = "jsonParsed", ...config }, cache, rpc, info) {
|
|
40
|
+
if (info && info.fieldNodes[0].selectionSet) {
|
|
41
|
+
const selectionSet = info.fieldNodes[0].selectionSet;
|
|
42
|
+
const requestedFields = selectionSet.selections.map((field) => {
|
|
43
|
+
if (field.kind === "Field") {
|
|
44
|
+
return field.name.value;
|
|
45
|
+
}
|
|
46
|
+
return null;
|
|
47
|
+
});
|
|
48
|
+
if (requestedFields && requestedFields.length === 1 && requestedFields[0] === "address") {
|
|
49
|
+
return { address };
|
|
50
|
+
}
|
|
51
|
+
}
|
|
40
52
|
const requestConfig = { encoding, ...config };
|
|
41
53
|
const cached = cache.get(address, requestConfig);
|
|
42
54
|
if (cached !== null) {
|
|
@@ -46,11 +58,14 @@ async function resolveAccount({ address, encoding = "jsonParsed", ...config }, c
|
|
|
46
58
|
throw e;
|
|
47
59
|
});
|
|
48
60
|
if (account === null) {
|
|
49
|
-
return
|
|
61
|
+
return {
|
|
62
|
+
address
|
|
63
|
+
};
|
|
50
64
|
}
|
|
51
65
|
const [data, responseEncoding] = Array.isArray(account.data) ? encoding === "jsonParsed" ? [account.data[0], "base64"] : [account.data[0], encoding] : [account.data, "jsonParsed"];
|
|
52
66
|
const queryResponse = {
|
|
53
67
|
...account,
|
|
68
|
+
address,
|
|
54
69
|
data,
|
|
55
70
|
encoding: responseEncoding
|
|
56
71
|
};
|
|
@@ -125,8 +140,8 @@ function createSolanaGraphQLContext(rpc) {
|
|
|
125
140
|
const cache = createGraphQLCache();
|
|
126
141
|
return {
|
|
127
142
|
cache,
|
|
128
|
-
resolveAccount(args) {
|
|
129
|
-
return resolveAccount(args, this.cache, this.rpc);
|
|
143
|
+
resolveAccount(args, info) {
|
|
144
|
+
return resolveAccount(args, this.cache, this.rpc, info);
|
|
130
145
|
},
|
|
131
146
|
resolveBlock(args) {
|
|
132
147
|
return resolveBlock(args, this.cache, this.rpc);
|
|
@@ -343,6 +358,7 @@ var memoisedAccountInterfaceFields;
|
|
|
343
358
|
var accountInterfaceFields = () => {
|
|
344
359
|
if (!memoisedAccountInterfaceFields) {
|
|
345
360
|
memoisedAccountInterfaceFields = {
|
|
361
|
+
address: string(),
|
|
346
362
|
encoding: string(),
|
|
347
363
|
executable: boolean(),
|
|
348
364
|
lamports: bigint(),
|
|
@@ -409,7 +425,7 @@ var accountType = (name, description, data) => new graphql.GraphQLObjectType({
|
|
|
409
425
|
encoding: type(accountEncodingInputType()),
|
|
410
426
|
minContextSlot: bigint()
|
|
411
427
|
},
|
|
412
|
-
resolve: (parent, args, context) => context.resolveAccount({ ...args, address: parent.owner }),
|
|
428
|
+
resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
|
|
413
429
|
type: accountInterface()
|
|
414
430
|
}
|
|
415
431
|
},
|
|
@@ -609,7 +625,8 @@ var accountQuery = () => ({
|
|
|
609
625
|
encoding: type(accountEncodingInputType()),
|
|
610
626
|
minContextSlot: bigint()
|
|
611
627
|
},
|
|
612
|
-
|
|
628
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
629
|
+
resolve: (_parent, args, context, info) => context.resolveAccount(args, info),
|
|
613
630
|
type: accountInterface()
|
|
614
631
|
}
|
|
615
632
|
});
|