@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.native.js
CHANGED
|
@@ -34,7 +34,19 @@ function createGraphQLCache() {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
// src/context.ts
|
|
37
|
-
async function resolveAccount({ address, encoding = "jsonParsed", ...config }, cache, rpc) {
|
|
37
|
+
async function resolveAccount({ address, encoding = "jsonParsed", ...config }, cache, rpc, info) {
|
|
38
|
+
if (info && info.fieldNodes[0].selectionSet) {
|
|
39
|
+
const selectionSet = info.fieldNodes[0].selectionSet;
|
|
40
|
+
const requestedFields = selectionSet.selections.map((field) => {
|
|
41
|
+
if (field.kind === "Field") {
|
|
42
|
+
return field.name.value;
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
});
|
|
46
|
+
if (requestedFields && requestedFields.length === 1 && requestedFields[0] === "address") {
|
|
47
|
+
return { address };
|
|
48
|
+
}
|
|
49
|
+
}
|
|
38
50
|
const requestConfig = { encoding, ...config };
|
|
39
51
|
const cached = cache.get(address, requestConfig);
|
|
40
52
|
if (cached !== null) {
|
|
@@ -44,11 +56,14 @@ async function resolveAccount({ address, encoding = "jsonParsed", ...config }, c
|
|
|
44
56
|
throw e;
|
|
45
57
|
});
|
|
46
58
|
if (account === null) {
|
|
47
|
-
return
|
|
59
|
+
return {
|
|
60
|
+
address
|
|
61
|
+
};
|
|
48
62
|
}
|
|
49
63
|
const [data, responseEncoding] = Array.isArray(account.data) ? encoding === "jsonParsed" ? [account.data[0], "base64"] : [account.data[0], encoding] : [account.data, "jsonParsed"];
|
|
50
64
|
const queryResponse = {
|
|
51
65
|
...account,
|
|
66
|
+
address,
|
|
52
67
|
data,
|
|
53
68
|
encoding: responseEncoding
|
|
54
69
|
};
|
|
@@ -123,8 +138,8 @@ function createSolanaGraphQLContext(rpc) {
|
|
|
123
138
|
const cache = createGraphQLCache();
|
|
124
139
|
return {
|
|
125
140
|
cache,
|
|
126
|
-
resolveAccount(args) {
|
|
127
|
-
return resolveAccount(args, this.cache, this.rpc);
|
|
141
|
+
resolveAccount(args, info) {
|
|
142
|
+
return resolveAccount(args, this.cache, this.rpc, info);
|
|
128
143
|
},
|
|
129
144
|
resolveBlock(args) {
|
|
130
145
|
return resolveBlock(args, this.cache, this.rpc);
|
|
@@ -341,6 +356,7 @@ var memoisedAccountInterfaceFields;
|
|
|
341
356
|
var accountInterfaceFields = () => {
|
|
342
357
|
if (!memoisedAccountInterfaceFields) {
|
|
343
358
|
memoisedAccountInterfaceFields = {
|
|
359
|
+
address: string(),
|
|
344
360
|
encoding: string(),
|
|
345
361
|
executable: boolean(),
|
|
346
362
|
lamports: bigint(),
|
|
@@ -407,7 +423,7 @@ var accountType = (name, description, data) => new GraphQLObjectType({
|
|
|
407
423
|
encoding: type(accountEncodingInputType()),
|
|
408
424
|
minContextSlot: bigint()
|
|
409
425
|
},
|
|
410
|
-
resolve: (parent, args, context) => context.resolveAccount({ ...args, address: parent.owner }),
|
|
426
|
+
resolve: (parent, args, context, info) => context.resolveAccount({ ...args, address: parent.owner }, info),
|
|
411
427
|
type: accountInterface()
|
|
412
428
|
}
|
|
413
429
|
},
|
|
@@ -607,7 +623,8 @@ var accountQuery = () => ({
|
|
|
607
623
|
encoding: type(accountEncodingInputType()),
|
|
608
624
|
minContextSlot: bigint()
|
|
609
625
|
},
|
|
610
|
-
|
|
626
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
627
|
+
resolve: (_parent, args, context, info) => context.resolveAccount(args, info),
|
|
611
628
|
type: accountInterface()
|
|
612
629
|
}
|
|
613
630
|
});
|