@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.browser.cjs
CHANGED
|
@@ -40,7 +40,19 @@ function createGraphQLCache() {
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
// src/context.ts
|
|
43
|
-
async function resolveAccount({ address, encoding = "jsonParsed", ...config }, cache, rpc) {
|
|
43
|
+
async function resolveAccount({ address, encoding = "jsonParsed", ...config }, cache, rpc, info) {
|
|
44
|
+
if (info && info.fieldNodes[0].selectionSet) {
|
|
45
|
+
const selectionSet = info.fieldNodes[0].selectionSet;
|
|
46
|
+
const requestedFields = selectionSet.selections.map((field) => {
|
|
47
|
+
if (field.kind === "Field") {
|
|
48
|
+
return field.name.value;
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
51
|
+
});
|
|
52
|
+
if (requestedFields && requestedFields.length === 1 && requestedFields[0] === "address") {
|
|
53
|
+
return { address };
|
|
54
|
+
}
|
|
55
|
+
}
|
|
44
56
|
const requestConfig = { encoding, ...config };
|
|
45
57
|
const cached = cache.get(address, requestConfig);
|
|
46
58
|
if (cached !== null) {
|
|
@@ -50,11 +62,14 @@ async function resolveAccount({ address, encoding = "jsonParsed", ...config }, c
|
|
|
50
62
|
throw e;
|
|
51
63
|
});
|
|
52
64
|
if (account === null) {
|
|
53
|
-
return
|
|
65
|
+
return {
|
|
66
|
+
address
|
|
67
|
+
};
|
|
54
68
|
}
|
|
55
69
|
const [data, responseEncoding] = Array.isArray(account.data) ? encoding === "jsonParsed" ? [account.data[0], "base64"] : [account.data[0], encoding] : [account.data, "jsonParsed"];
|
|
56
70
|
const queryResponse = {
|
|
57
71
|
...account,
|
|
72
|
+
address,
|
|
58
73
|
data,
|
|
59
74
|
encoding: responseEncoding
|
|
60
75
|
};
|
|
@@ -129,8 +144,8 @@ function createSolanaGraphQLContext(rpc) {
|
|
|
129
144
|
const cache = createGraphQLCache();
|
|
130
145
|
return {
|
|
131
146
|
cache,
|
|
132
|
-
resolveAccount(args) {
|
|
133
|
-
return resolveAccount(args, this.cache, this.rpc);
|
|
147
|
+
resolveAccount(args, info) {
|
|
148
|
+
return resolveAccount(args, this.cache, this.rpc, info);
|
|
134
149
|
},
|
|
135
150
|
resolveBlock(args) {
|
|
136
151
|
return resolveBlock(args, this.cache, this.rpc);
|
|
@@ -347,6 +362,7 @@ var memoisedAccountInterfaceFields;
|
|
|
347
362
|
var accountInterfaceFields = () => {
|
|
348
363
|
if (!memoisedAccountInterfaceFields) {
|
|
349
364
|
memoisedAccountInterfaceFields = {
|
|
365
|
+
address: string(),
|
|
350
366
|
encoding: string(),
|
|
351
367
|
executable: boolean(),
|
|
352
368
|
lamports: bigint(),
|
|
@@ -413,7 +429,7 @@ var accountType = (name, description, data) => new graphql.GraphQLObjectType({
|
|
|
413
429
|
encoding: type(accountEncodingInputType()),
|
|
414
430
|
minContextSlot: bigint()
|
|
415
431
|
},
|
|
416
|
-
resolve: (parent, args, context) => context.resolveAccount({ ...args, address: parent.owner }),
|
|
432
|
+
resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
|
|
417
433
|
type: accountInterface()
|
|
418
434
|
}
|
|
419
435
|
},
|
|
@@ -613,7 +629,8 @@ var accountQuery = () => ({
|
|
|
613
629
|
encoding: type(accountEncodingInputType()),
|
|
614
630
|
minContextSlot: bigint()
|
|
615
631
|
},
|
|
616
|
-
|
|
632
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
633
|
+
resolve: (_parent, args, context, info) => context.resolveAccount(args, info),
|
|
617
634
|
type: accountInterface()
|
|
618
635
|
}
|
|
619
636
|
});
|