@solana/rpc-graphql 2.0.0-experimental.9e133fd → 2.0.0-experimental.a157265
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 +1088 -30
- package/dist/index.browser.cjs +2373 -1930
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.js +2369 -1931
- package/dist/index.browser.js.map +1 -1
- package/dist/index.native.js +2368 -1926
- package/dist/index.native.js.map +1 -1
- package/dist/index.node.cjs +2372 -1925
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.js +2368 -1926
- package/dist/index.node.js.map +1 -1
- package/dist/types/context.d.ts +20 -18
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/loaders/account.d.ts +7 -0
- package/dist/types/loaders/account.d.ts.map +1 -0
- package/dist/types/loaders/block.d.ts +7 -0
- package/dist/types/loaders/block.d.ts.map +1 -0
- package/dist/types/loaders/common/resolve-info.d.ts +3 -0
- package/dist/types/loaders/common/resolve-info.d.ts.map +1 -0
- package/dist/types/loaders/program-accounts.d.ts +9 -0
- package/dist/types/loaders/program-accounts.d.ts.map +1 -0
- package/dist/types/loaders/transaction.d.ts +7 -0
- package/dist/types/loaders/transaction.d.ts.map +1 -0
- package/dist/types/loaders/transformers/account.d.ts +8 -0
- package/dist/types/loaders/transformers/account.d.ts.map +1 -0
- package/dist/types/loaders/transformers/block.d.ts +6 -0
- package/dist/types/loaders/transformers/block.d.ts.map +1 -0
- package/dist/types/loaders/transformers/transaction.d.ts +5 -0
- package/dist/types/loaders/transformers/transaction.d.ts.map +1 -0
- package/dist/types/resolvers/account.d.ts +8 -0
- package/dist/types/resolvers/account.d.ts.map +1 -0
- package/dist/types/rpc.d.ts +6 -4
- package/dist/types/rpc.d.ts.map +1 -0
- package/dist/types/schema/account.d.ts +112 -0
- package/dist/types/schema/account.d.ts.map +1 -0
- package/dist/types/schema/block.d.ts +17 -0
- package/dist/types/schema/block.d.ts.map +1 -0
- package/dist/types/schema/common/inputs.d.ts +3 -0
- package/dist/types/schema/common/inputs.d.ts.map +1 -0
- package/dist/types/schema/common/scalars.d.ts +45 -0
- package/dist/types/schema/common/scalars.d.ts.map +1 -0
- package/dist/types/schema/common/types.d.ts +27 -0
- package/dist/types/schema/common/types.d.ts.map +1 -0
- package/dist/types/schema/index.d.ts +2 -0
- package/dist/types/schema/index.d.ts.map +1 -0
- package/dist/types/schema/instruction.d.ts +949 -0
- package/dist/types/schema/instruction.d.ts.map +1 -0
- package/dist/types/schema/program-accounts.d.ts +12 -0
- package/dist/types/schema/program-accounts.d.ts.map +1 -0
- package/dist/types/schema/transaction.d.ts +16 -0
- package/dist/types/schema/transaction.d.ts.map +1 -0
- package/package.json +20 -15
- package/dist/types/cache.d.ts +0 -7
- package/dist/types/schema/account/index.d.ts +0 -3
- package/dist/types/schema/account/query.d.ts +0 -38
- package/dist/types/schema/account/types.d.ts +0 -5
- package/dist/types/schema/block/index.d.ts +0 -3
- package/dist/types/schema/block/query.d.ts +0 -42
- package/dist/types/schema/block/types.d.ts +0 -7
- package/dist/types/schema/inputs.d.ts +0 -9
- package/dist/types/schema/picks.d.ts +0 -36
- package/dist/types/schema/program-accounts/index.d.ts +0 -2
- package/dist/types/schema/program-accounts/query.d.ts +0 -47
- package/dist/types/schema/program-accounts/types.d.ts +0 -3
- package/dist/types/schema/scalars.d.ts +0 -3
- package/dist/types/schema/transaction/index.d.ts +0 -3
- package/dist/types/schema/transaction/query.d.ts +0 -33
- package/dist/types/schema/transaction/types.d.ts +0 -12
package/dist/index.browser.js
CHANGED
|
@@ -1,84 +1,220 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { graphql, Kind } from 'graphql';
|
|
2
|
+
import DataLoader from 'dataloader';
|
|
3
|
+
import fastStableStringify from 'fast-stable-stringify';
|
|
4
|
+
import { makeExecutableSchema } from '@graphql-tools/schema';
|
|
2
5
|
|
|
3
6
|
// src/rpc.ts
|
|
4
7
|
|
|
5
|
-
// src/
|
|
6
|
-
|
|
7
|
-
if (
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var parseValue = (value) => JSON.parse(value, (_, value2) => {
|
|
13
|
-
if (typeof value2 === "string" && /\d+n$/.test(value2)) {
|
|
14
|
-
return BigInt(value2.slice(0, -1));
|
|
15
|
-
}
|
|
16
|
-
return value2;
|
|
17
|
-
});
|
|
18
|
-
var cacheKey = (key, variables) => `GraphQLCache:${stringifyValue(key)}:${stringifyValue(variables)}`;
|
|
19
|
-
function createGraphQLCache() {
|
|
20
|
-
return {
|
|
21
|
-
// Browser
|
|
22
|
-
flush: () => {
|
|
23
|
-
for (let i = localStorage.length - 1; i >= 0; i--) {
|
|
24
|
-
const storageKey = localStorage.key(i);
|
|
25
|
-
if (storageKey && storageKey.startsWith("GraphQLCache:")) {
|
|
26
|
-
localStorage.removeItem(storageKey);
|
|
27
|
-
}
|
|
8
|
+
// src/loaders/common/resolve-info.ts
|
|
9
|
+
function onlyPresentFieldRequested(fieldName, info) {
|
|
10
|
+
if (info && info.fieldNodes[0].selectionSet) {
|
|
11
|
+
const selectionSet = info.fieldNodes[0].selectionSet;
|
|
12
|
+
const requestedFields = selectionSet.selections.map((field) => {
|
|
13
|
+
if (field.kind === "Field") {
|
|
14
|
+
return field.name.value;
|
|
28
15
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return
|
|
33
|
-
},
|
|
34
|
-
insert: (key, variables, value) => {
|
|
35
|
-
localStorage.setItem(cacheKey(key, variables), stringifyValue(value));
|
|
16
|
+
return null;
|
|
17
|
+
});
|
|
18
|
+
if (requestedFields && requestedFields.length === 1 && requestedFields[0] === fieldName) {
|
|
19
|
+
return true;
|
|
36
20
|
}
|
|
37
|
-
}
|
|
21
|
+
}
|
|
22
|
+
return false;
|
|
38
23
|
}
|
|
39
24
|
|
|
40
|
-
// src/
|
|
41
|
-
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
25
|
+
// src/loaders/transformers/account.ts
|
|
26
|
+
function transformParsedAccountData(parsedAccountData) {
|
|
27
|
+
const {
|
|
28
|
+
parsed: { info: result, type: accountType },
|
|
29
|
+
program: programName,
|
|
30
|
+
programId
|
|
31
|
+
} = parsedAccountData;
|
|
32
|
+
result.accountType = accountType;
|
|
33
|
+
result.programId = programId;
|
|
34
|
+
result.programName = programName;
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
function transformLoadedAccount({
|
|
38
|
+
account,
|
|
39
|
+
address,
|
|
40
|
+
encoding
|
|
41
|
+
}) {
|
|
42
|
+
const [
|
|
43
|
+
// The account's data, either encoded or parsed.
|
|
44
|
+
data,
|
|
45
|
+
// Tells GraphQL which encoding has been returned
|
|
46
|
+
// by the RPC.
|
|
47
|
+
responseEncoding
|
|
48
|
+
] = Array.isArray(account.data) ? encoding === "jsonParsed" ? (
|
|
49
|
+
// The requested encoding is jsonParsed,
|
|
50
|
+
// but the data could not be parsed.
|
|
51
|
+
// Defaults to base64 encoding.
|
|
52
|
+
[{ data: account.data[0] }, "base64"]
|
|
53
|
+
) : (
|
|
54
|
+
// The requested encoding is base58,
|
|
55
|
+
// base64, or base64+zstd.
|
|
56
|
+
[{ data: account.data[0] }, encoding]
|
|
57
|
+
) : (
|
|
58
|
+
// The account data was returned as an object,
|
|
59
|
+
// so it was parsed successfully.
|
|
60
|
+
[transformParsedAccountData(account.data), "jsonParsed"]
|
|
61
|
+
);
|
|
62
|
+
account.address = address;
|
|
63
|
+
account.encoding = responseEncoding;
|
|
64
|
+
account.ownerProgram = account.owner;
|
|
65
|
+
return {
|
|
66
|
+
...account,
|
|
67
|
+
...data
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// src/loaders/account.ts
|
|
72
|
+
function normalizeArgs({
|
|
73
|
+
address,
|
|
74
|
+
commitment = "confirmed",
|
|
75
|
+
dataSlice,
|
|
76
|
+
encoding = "jsonParsed",
|
|
77
|
+
minContextSlot
|
|
78
|
+
}) {
|
|
79
|
+
return { address, commitment, dataSlice, encoding, minContextSlot };
|
|
80
|
+
}
|
|
81
|
+
async function loadAccount(rpc, { address, ...config }) {
|
|
82
|
+
const account = await rpc.getAccountInfo(address, config).send().then((res) => res.value).catch((e) => {
|
|
48
83
|
throw e;
|
|
49
84
|
});
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
85
|
+
return account === null ? { address } : transformLoadedAccount({ account, address, encoding: config.encoding });
|
|
86
|
+
}
|
|
87
|
+
function createAccountBatchLoadFn(rpc) {
|
|
88
|
+
const resolveAccountUsingRpc = loadAccount.bind(null, rpc);
|
|
89
|
+
return async (accountQueryArgs) => {
|
|
90
|
+
return await Promise.all(accountQueryArgs.map(async (args) => await resolveAccountUsingRpc(args)));
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
function createAccountLoader(rpc) {
|
|
94
|
+
const loader = new DataLoader(createAccountBatchLoadFn(rpc), { cacheKeyFn: fastStableStringify });
|
|
95
|
+
return {
|
|
96
|
+
load: async (args, info) => {
|
|
97
|
+
if (onlyPresentFieldRequested("address", info)) {
|
|
98
|
+
return { address: args.address };
|
|
99
|
+
}
|
|
100
|
+
return loader.load(normalizeArgs(args));
|
|
101
|
+
}
|
|
58
102
|
};
|
|
59
|
-
cache.insert(address, requestConfig, queryResponse);
|
|
60
|
-
return queryResponse;
|
|
61
103
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
if (
|
|
66
|
-
|
|
104
|
+
|
|
105
|
+
// src/loaders/transformers/transaction.ts
|
|
106
|
+
function transformParsedInstruction(parsedInstruction) {
|
|
107
|
+
if ("parsed" in parsedInstruction) {
|
|
108
|
+
const {
|
|
109
|
+
parsed: { info: data, type: instructionType },
|
|
110
|
+
program: programName,
|
|
111
|
+
programId
|
|
112
|
+
} = parsedInstruction;
|
|
113
|
+
return { instructionType, programId, programName, ...data };
|
|
114
|
+
} else {
|
|
115
|
+
return parsedInstruction;
|
|
67
116
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
117
|
+
}
|
|
118
|
+
function transformParsedTransaction(parsedTransaction) {
|
|
119
|
+
const transactionData = parsedTransaction.transaction;
|
|
120
|
+
const transactionMeta = parsedTransaction.meta;
|
|
121
|
+
transactionData.message.instructions = transactionData.message.instructions.map(transformParsedInstruction);
|
|
122
|
+
transactionMeta.innerInstructions = transactionMeta.innerInstructions.map((innerInstruction) => {
|
|
123
|
+
innerInstruction.instructions = innerInstruction.instructions.map(transformParsedInstruction);
|
|
124
|
+
return innerInstruction;
|
|
125
|
+
});
|
|
126
|
+
return [transactionData, transactionMeta];
|
|
127
|
+
}
|
|
128
|
+
function transformLoadedTransaction({ encoding, transaction }) {
|
|
129
|
+
const [transactionData, transactionMeta] = Array.isArray(transaction.transaction) ? (
|
|
130
|
+
// The requested encoding is base58 or base64.
|
|
131
|
+
[transaction.transaction[0], transaction.meta]
|
|
132
|
+
) : (
|
|
133
|
+
// The transaction was either partially parsed or
|
|
134
|
+
// fully JSON-parsed, which will be sorted later.
|
|
135
|
+
transformParsedTransaction(transaction)
|
|
136
|
+
);
|
|
137
|
+
transaction.data = transactionData;
|
|
138
|
+
transaction.encoding = encoding;
|
|
139
|
+
transaction.meta = transactionMeta;
|
|
140
|
+
return transaction;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// src/loaders/transformers/block.ts
|
|
144
|
+
function transformLoadedBlock({
|
|
145
|
+
encoding,
|
|
146
|
+
block,
|
|
147
|
+
transactionDetails
|
|
148
|
+
}) {
|
|
149
|
+
if (typeof block === "object" && "transactions" in block) {
|
|
150
|
+
block.transactions = block.transactions.map((transaction) => {
|
|
151
|
+
if (transactionDetails === "accounts") {
|
|
152
|
+
return {
|
|
153
|
+
data: transaction.transaction,
|
|
154
|
+
meta: transaction.meta,
|
|
155
|
+
version: transaction.version
|
|
156
|
+
};
|
|
157
|
+
} else {
|
|
158
|
+
return transformLoadedTransaction({ encoding, transaction });
|
|
159
|
+
}
|
|
160
|
+
});
|
|
71
161
|
}
|
|
72
|
-
|
|
162
|
+
block.encoding = encoding;
|
|
163
|
+
block.transactionDetails = transactionDetails;
|
|
73
164
|
return block;
|
|
74
165
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
166
|
+
|
|
167
|
+
// src/loaders/block.ts
|
|
168
|
+
function normalizeArgs2({
|
|
169
|
+
commitment = "confirmed",
|
|
170
|
+
encoding = "jsonParsed",
|
|
171
|
+
slot,
|
|
172
|
+
transactionDetails = "full"
|
|
173
|
+
}) {
|
|
174
|
+
return {
|
|
175
|
+
commitment,
|
|
176
|
+
encoding,
|
|
177
|
+
// Always use 0 to avoid silly errors
|
|
178
|
+
maxSupportedTransactionVersion: 0,
|
|
179
|
+
slot,
|
|
180
|
+
transactionDetails
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
async function loadBlock(rpc, { slot, ...config }) {
|
|
184
|
+
const block = await rpc.getBlock(slot, config).send().catch((e) => {
|
|
185
|
+
throw e;
|
|
186
|
+
});
|
|
187
|
+
return block === null ? { slot } : transformLoadedBlock({ block, encoding: config.encoding, transactionDetails: config.transactionDetails });
|
|
188
|
+
}
|
|
189
|
+
function createBlockBatchLoadFn(rpc) {
|
|
190
|
+
const resolveBlockUsingRpc = loadBlock.bind(null, rpc);
|
|
191
|
+
return async (blockQueryArgs) => {
|
|
192
|
+
return await Promise.all(blockQueryArgs.map(async (args) => await resolveBlockUsingRpc(args)));
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
function createBlockLoader(rpc) {
|
|
196
|
+
const loader = new DataLoader(createBlockBatchLoadFn(rpc), { cacheKeyFn: fastStableStringify });
|
|
197
|
+
return {
|
|
198
|
+
load: async (args, info) => {
|
|
199
|
+
if (onlyPresentFieldRequested("slot", info)) {
|
|
200
|
+
return { slot: args.slot };
|
|
201
|
+
}
|
|
202
|
+
return loader.load(normalizeArgs2(args));
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
function normalizeArgs3({
|
|
207
|
+
commitment = "confirmed",
|
|
208
|
+
dataSlice,
|
|
209
|
+
encoding = "jsonParsed",
|
|
210
|
+
filters,
|
|
211
|
+
minContextSlot,
|
|
212
|
+
programAddress
|
|
213
|
+
}) {
|
|
214
|
+
return { commitment, dataSlice, encoding, filters, minContextSlot, programAddress };
|
|
215
|
+
}
|
|
216
|
+
async function loadProgramAccounts(rpc, { programAddress, ...config }) {
|
|
217
|
+
const programAccounts = await rpc.getProgramAccounts(programAddress, config).send().then((res) => {
|
|
82
218
|
if ("value" in res) {
|
|
83
219
|
return res.value;
|
|
84
220
|
}
|
|
@@ -86,2111 +222,2413 @@ async function resolveProgramAccounts({ programAddress, encoding = "jsonParsed",
|
|
|
86
222
|
}).catch((e) => {
|
|
87
223
|
throw e;
|
|
88
224
|
});
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
};
|
|
97
|
-
});
|
|
98
|
-
cache.insert(programAddress, requestConfig, queryResponse);
|
|
99
|
-
return queryResponse;
|
|
225
|
+
return programAccounts.map(
|
|
226
|
+
(programAccount) => transformLoadedAccount({
|
|
227
|
+
account: programAccount.account,
|
|
228
|
+
address: programAccount.pubkey,
|
|
229
|
+
encoding: config.encoding
|
|
230
|
+
})
|
|
231
|
+
);
|
|
100
232
|
}
|
|
101
|
-
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
const transaction = await rpc.getTransaction(signature, requestConfig).send();
|
|
108
|
-
if (transaction === null) {
|
|
109
|
-
return null;
|
|
110
|
-
}
|
|
111
|
-
const [transactionData, responseEncoding, responseFormat] = Array.isArray(transaction.transaction) ? encoding === "jsonParsed" ? [transaction.transaction[0], "base64", "unparsed"] : [transaction.transaction[0], encoding, "unparsed"] : encoding === "jsonParsed" ? [transaction.transaction, encoding, "parsed"] : [transaction.transaction, encoding, "unparsed"];
|
|
112
|
-
if (transaction.meta) {
|
|
113
|
-
transaction.meta["format"] = responseFormat;
|
|
114
|
-
}
|
|
115
|
-
if (transactionData.message) {
|
|
116
|
-
transactionData.message["format"] = responseFormat;
|
|
117
|
-
}
|
|
118
|
-
const queryResponse = {
|
|
119
|
-
...transaction,
|
|
120
|
-
encoding: responseEncoding,
|
|
121
|
-
transaction: transactionData
|
|
233
|
+
function createProgramAccountsBatchLoadFn(rpc) {
|
|
234
|
+
const resolveProgramAccountsUsingRpc = loadProgramAccounts.bind(null, rpc);
|
|
235
|
+
return async (programAccountsQueryArgs) => {
|
|
236
|
+
return await Promise.all(
|
|
237
|
+
programAccountsQueryArgs.map(async (args) => await resolveProgramAccountsUsingRpc(args))
|
|
238
|
+
);
|
|
122
239
|
};
|
|
123
|
-
cache.insert(signature, requestConfig, queryResponse);
|
|
124
|
-
return queryResponse;
|
|
125
240
|
}
|
|
126
|
-
function
|
|
127
|
-
const
|
|
241
|
+
function createProgramAccountsLoader(rpc) {
|
|
242
|
+
const loader = new DataLoader(createProgramAccountsBatchLoadFn(rpc), { cacheKeyFn: fastStableStringify });
|
|
128
243
|
return {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
return resolveBlock(args, this.cache, this.rpc);
|
|
135
|
-
},
|
|
136
|
-
resolveProgramAccounts(args) {
|
|
137
|
-
return resolveProgramAccounts(args, this.cache, this.rpc);
|
|
138
|
-
},
|
|
139
|
-
resolveTransaction(args) {
|
|
140
|
-
return resolveTransaction(args, this.cache, this.rpc);
|
|
141
|
-
},
|
|
142
|
-
rpc
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
var BigIntScalar = () => new GraphQLScalarType({
|
|
146
|
-
name: "BigInt",
|
|
147
|
-
parseLiteral(ast) {
|
|
148
|
-
if (ast.kind === Kind.STRING) {
|
|
149
|
-
return BigInt(ast.value);
|
|
244
|
+
load: async (args, info) => {
|
|
245
|
+
if (onlyPresentFieldRequested("programAddress", info)) {
|
|
246
|
+
return { programAddress: args.programAddress };
|
|
247
|
+
}
|
|
248
|
+
return loader.load(normalizeArgs3(args));
|
|
150
249
|
}
|
|
151
|
-
|
|
152
|
-
},
|
|
153
|
-
parseValue(value) {
|
|
154
|
-
return BigInt(value);
|
|
155
|
-
},
|
|
156
|
-
serialize(value) {
|
|
157
|
-
return BigInt(value);
|
|
158
|
-
}
|
|
159
|
-
});
|
|
160
|
-
|
|
161
|
-
// src/schema/picks.ts
|
|
162
|
-
function boolean() {
|
|
163
|
-
return { type: GraphQLBoolean };
|
|
164
|
-
}
|
|
165
|
-
var memoisedBigint;
|
|
166
|
-
function bigint() {
|
|
167
|
-
if (!memoisedBigint)
|
|
168
|
-
memoisedBigint = { type: BigIntScalar() };
|
|
169
|
-
return memoisedBigint;
|
|
170
|
-
}
|
|
171
|
-
function number() {
|
|
172
|
-
return { type: GraphQLInt };
|
|
173
|
-
}
|
|
174
|
-
function string() {
|
|
175
|
-
return { type: GraphQLString };
|
|
250
|
+
};
|
|
176
251
|
}
|
|
177
|
-
function
|
|
252
|
+
function normalizeArgs4({ commitment = "confirmed", encoding = "jsonParsed", signature }) {
|
|
178
253
|
return {
|
|
179
|
-
|
|
254
|
+
commitment,
|
|
255
|
+
encoding,
|
|
256
|
+
// Always use 0 to avoid silly errors
|
|
257
|
+
maxSupportedTransactionVersion: 0,
|
|
258
|
+
signature
|
|
180
259
|
};
|
|
181
260
|
}
|
|
182
|
-
function
|
|
183
|
-
|
|
184
|
-
|
|
261
|
+
async function loadTransaction(rpc, { signature, ...config }) {
|
|
262
|
+
const { encoding } = config;
|
|
263
|
+
const transaction = await rpc.getTransaction(signature, config).send().catch((e) => {
|
|
264
|
+
throw e;
|
|
265
|
+
});
|
|
266
|
+
if (transaction === null) {
|
|
267
|
+
return null;
|
|
268
|
+
}
|
|
269
|
+
if (encoding !== "jsonParsed") {
|
|
270
|
+
const jsonParsedConfig = { ...config, encoding: "jsonParsed" };
|
|
271
|
+
const transactionJsonParsed = await rpc.getTransaction(signature, jsonParsedConfig).send().catch((e) => {
|
|
272
|
+
throw e;
|
|
273
|
+
});
|
|
274
|
+
if (transactionJsonParsed === null) {
|
|
275
|
+
return null;
|
|
276
|
+
}
|
|
277
|
+
transaction.meta = transactionJsonParsed.meta;
|
|
278
|
+
}
|
|
279
|
+
return transformLoadedTransaction({ encoding, transaction });
|
|
280
|
+
}
|
|
281
|
+
function createTransactionBatchLoadFn(rpc) {
|
|
282
|
+
const resolveTransactionUsingRpc = loadTransaction.bind(null, rpc);
|
|
283
|
+
return async (transactionQueryArgs) => {
|
|
284
|
+
return await Promise.all(transactionQueryArgs.map(async (args) => await resolveTransactionUsingRpc(args)));
|
|
185
285
|
};
|
|
186
286
|
}
|
|
187
|
-
function
|
|
287
|
+
function createTransactionLoader(rpc) {
|
|
288
|
+
const loader = new DataLoader(createTransactionBatchLoadFn(rpc), { cacheKeyFn: fastStableStringify });
|
|
188
289
|
return {
|
|
189
|
-
|
|
290
|
+
load: async (args, info) => {
|
|
291
|
+
if (onlyPresentFieldRequested("signature", info)) {
|
|
292
|
+
return { signature: args.signature };
|
|
293
|
+
}
|
|
294
|
+
return loader.load(normalizeArgs4(args));
|
|
295
|
+
}
|
|
190
296
|
};
|
|
191
297
|
}
|
|
192
|
-
|
|
298
|
+
|
|
299
|
+
// src/context.ts
|
|
300
|
+
function createSolanaGraphQLContext(rpc) {
|
|
193
301
|
return {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
302
|
+
loaders: {
|
|
303
|
+
account: createAccountLoader(rpc),
|
|
304
|
+
block: createBlockLoader(rpc),
|
|
305
|
+
programAccounts: createProgramAccountsLoader(rpc),
|
|
306
|
+
transaction: createTransactionLoader(rpc)
|
|
307
|
+
},
|
|
308
|
+
rpc
|
|
198
309
|
};
|
|
199
310
|
}
|
|
200
311
|
|
|
201
|
-
// src/
|
|
202
|
-
var
|
|
203
|
-
|
|
204
|
-
if (!memoisedAccountEncodingInputType)
|
|
205
|
-
memoisedAccountEncodingInputType = new GraphQLEnumType({
|
|
206
|
-
name: "AccountEncoding",
|
|
207
|
-
values: {
|
|
208
|
-
base58: {
|
|
209
|
-
value: "base58"
|
|
210
|
-
},
|
|
211
|
-
base64: {
|
|
212
|
-
value: "base64"
|
|
213
|
-
},
|
|
214
|
-
base64Zstd: {
|
|
215
|
-
value: "base64+zstd"
|
|
216
|
-
},
|
|
217
|
-
jsonParsed: {
|
|
218
|
-
value: "jsonParsed"
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
});
|
|
222
|
-
return memoisedAccountEncodingInputType;
|
|
312
|
+
// src/resolvers/account.ts
|
|
313
|
+
var resolveAccount = (fieldName) => {
|
|
314
|
+
return (parent, args, context, info) => parent[fieldName] === null ? null : context.loaders.account.load({ ...args, address: parent[fieldName] }, info);
|
|
223
315
|
};
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
316
|
+
|
|
317
|
+
// src/schema/account.ts
|
|
318
|
+
var accountTypeDefs = (
|
|
319
|
+
/* GraphQL */
|
|
320
|
+
`
|
|
321
|
+
# Account interface
|
|
322
|
+
interface Account {
|
|
323
|
+
address: Address
|
|
324
|
+
executable: Boolean
|
|
325
|
+
lamports: BigInt
|
|
326
|
+
ownerProgram: Account
|
|
327
|
+
space: BigInt
|
|
328
|
+
rentEpoch: BigInt
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
# An account with base58 encoded data
|
|
332
|
+
type AccountBase58 implements Account {
|
|
333
|
+
address: Address
|
|
334
|
+
data: Base58EncodedBytes
|
|
335
|
+
executable: Boolean
|
|
336
|
+
lamports: BigInt
|
|
337
|
+
ownerProgram: Account
|
|
338
|
+
space: BigInt
|
|
339
|
+
rentEpoch: BigInt
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
# An account with base64 encoded data
|
|
343
|
+
type AccountBase64 implements Account {
|
|
344
|
+
address: Address
|
|
345
|
+
data: Base64EncodedBytes
|
|
346
|
+
executable: Boolean
|
|
347
|
+
lamports: BigInt
|
|
348
|
+
ownerProgram: Account
|
|
349
|
+
space: BigInt
|
|
350
|
+
rentEpoch: BigInt
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
# An account with base64+zstd encoded data
|
|
354
|
+
type AccountBase64Zstd implements Account {
|
|
355
|
+
address: Address
|
|
356
|
+
data: Base64ZstdEncodedBytes
|
|
357
|
+
executable: Boolean
|
|
358
|
+
lamports: BigInt
|
|
359
|
+
ownerProgram: Account
|
|
360
|
+
space: BigInt
|
|
361
|
+
rentEpoch: BigInt
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
# A nonce account
|
|
365
|
+
type NonceAccountFeeCalculator {
|
|
366
|
+
lamportsPerSignature: String
|
|
367
|
+
}
|
|
368
|
+
type NonceAccount implements Account {
|
|
369
|
+
address: Address
|
|
370
|
+
executable: Boolean
|
|
371
|
+
lamports: BigInt
|
|
372
|
+
ownerProgram: Account
|
|
373
|
+
space: BigInt
|
|
374
|
+
rentEpoch: BigInt
|
|
375
|
+
authority: Account
|
|
376
|
+
blockhash: String
|
|
377
|
+
feeCalculator: NonceAccountFeeCalculator
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
# A lookup table account
|
|
381
|
+
type LookupTableAccount implements Account {
|
|
382
|
+
address: Address
|
|
383
|
+
executable: Boolean
|
|
384
|
+
lamports: BigInt
|
|
385
|
+
ownerProgram: Account
|
|
386
|
+
space: BigInt
|
|
387
|
+
rentEpoch: BigInt
|
|
388
|
+
addresses: [Address]
|
|
389
|
+
authority: Account
|
|
390
|
+
deactivationSlot: String
|
|
391
|
+
lastExtendedSlot: String
|
|
392
|
+
lastExtendedSlotStartIndex: Int
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
# A mint account
|
|
396
|
+
type MintAccount implements Account {
|
|
397
|
+
address: Address
|
|
398
|
+
executable: Boolean
|
|
399
|
+
lamports: BigInt
|
|
400
|
+
ownerProgram: Account
|
|
401
|
+
space: BigInt
|
|
402
|
+
rentEpoch: BigInt
|
|
403
|
+
decimals: Int
|
|
404
|
+
freezeAuthority: Account
|
|
405
|
+
isInitialized: Boolean
|
|
406
|
+
mintAuthority: Account
|
|
407
|
+
supply: String
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
# A token account
|
|
411
|
+
type TokenAccount implements Account {
|
|
412
|
+
address: Address
|
|
413
|
+
executable: Boolean
|
|
414
|
+
lamports: BigInt
|
|
415
|
+
ownerProgram: Account
|
|
416
|
+
space: BigInt
|
|
417
|
+
rentEpoch: BigInt
|
|
418
|
+
isNative: Boolean
|
|
419
|
+
mint: Account
|
|
420
|
+
owner: Account
|
|
421
|
+
state: String
|
|
422
|
+
tokenAmount: TokenAmount
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
# A stake account
|
|
426
|
+
type StakeAccountDataMetaAuthorized {
|
|
427
|
+
staker: Account
|
|
428
|
+
withdrawer: Account
|
|
429
|
+
}
|
|
430
|
+
type StakeAccountDataMetaLockup {
|
|
431
|
+
custodian: Account
|
|
432
|
+
epoch: BigInt
|
|
433
|
+
unixTimestamp: BigInt
|
|
434
|
+
}
|
|
435
|
+
type StakeAccountDataMeta {
|
|
436
|
+
authorized: StakeAccountDataMetaAuthorized
|
|
437
|
+
lockup: StakeAccountDataMetaLockup
|
|
438
|
+
rentExemptReserve: String
|
|
439
|
+
}
|
|
440
|
+
type StakeAccountDataStakeDelegation {
|
|
441
|
+
activationEpoch: BigInt
|
|
442
|
+
deactivationEpoch: BigInt
|
|
443
|
+
stake: String
|
|
444
|
+
voter: Account
|
|
445
|
+
warmupCooldownRate: Int
|
|
446
|
+
}
|
|
447
|
+
type StakeAccountDataStake {
|
|
448
|
+
creditsObserved: BigInt
|
|
449
|
+
delegation: StakeAccountDataStakeDelegation
|
|
450
|
+
}
|
|
451
|
+
type StakeAccount implements Account {
|
|
452
|
+
address: Address
|
|
453
|
+
executable: Boolean
|
|
454
|
+
lamports: BigInt
|
|
455
|
+
ownerProgram: Account
|
|
456
|
+
space: BigInt
|
|
457
|
+
rentEpoch: BigInt
|
|
458
|
+
meta: StakeAccountDataMeta
|
|
459
|
+
stake: StakeAccountDataStake
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
# A vote account
|
|
463
|
+
type VoteAccountDataAuthorizedVoter {
|
|
464
|
+
authorizedVoter: Account
|
|
465
|
+
epoch: BigInt
|
|
466
|
+
}
|
|
467
|
+
type VoteAccountDataEpochCredit {
|
|
468
|
+
credits: String
|
|
469
|
+
epoch: BigInt
|
|
470
|
+
previousCredits: String
|
|
471
|
+
}
|
|
472
|
+
type VoteAccountDataLastTimestamp {
|
|
473
|
+
slot: BigInt
|
|
474
|
+
timestamp: BigInt
|
|
475
|
+
}
|
|
476
|
+
type VoteAccountDataVote {
|
|
477
|
+
confirmationCount: Int
|
|
478
|
+
slot: BigInt
|
|
479
|
+
}
|
|
480
|
+
type VoteAccount implements Account {
|
|
481
|
+
address: Address
|
|
482
|
+
executable: Boolean
|
|
483
|
+
lamports: BigInt
|
|
484
|
+
ownerProgram: Account
|
|
485
|
+
space: BigInt
|
|
486
|
+
rentEpoch: BigInt
|
|
487
|
+
authorizedVoters: [VoteAccountDataAuthorizedVoter]
|
|
488
|
+
authorizedWithdrawer: Account
|
|
489
|
+
commission: Int
|
|
490
|
+
epochCredits: [VoteAccountDataEpochCredit]
|
|
491
|
+
lastTimestamp: VoteAccountDataLastTimestamp
|
|
492
|
+
node: Account
|
|
493
|
+
priorVoters: [Address]
|
|
494
|
+
rootSlot: BigInt
|
|
495
|
+
votes: [VoteAccountDataVote]
|
|
496
|
+
}
|
|
497
|
+
`
|
|
498
|
+
);
|
|
499
|
+
var accountResolvers = {
|
|
500
|
+
Account: {
|
|
501
|
+
__resolveType(account) {
|
|
502
|
+
if (account.encoding === "base58") {
|
|
503
|
+
return "AccountBase58";
|
|
242
504
|
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
};
|
|
246
|
-
var memoisedCommitmentInputType;
|
|
247
|
-
var commitmentInputType = () => {
|
|
248
|
-
if (!memoisedCommitmentInputType)
|
|
249
|
-
memoisedCommitmentInputType = new GraphQLEnumType({
|
|
250
|
-
name: "Commitment",
|
|
251
|
-
values: {
|
|
252
|
-
confirmed: {
|
|
253
|
-
value: "confirmed"
|
|
254
|
-
},
|
|
255
|
-
finalized: {
|
|
256
|
-
value: "finalized"
|
|
257
|
-
},
|
|
258
|
-
processed: {
|
|
259
|
-
value: "processed"
|
|
260
|
-
}
|
|
505
|
+
if (account.encoding === "base64") {
|
|
506
|
+
return "AccountBase64";
|
|
261
507
|
}
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
};
|
|
265
|
-
var memoisedDataSliceInputType;
|
|
266
|
-
var dataSliceInputType = () => {
|
|
267
|
-
if (!memoisedDataSliceInputType)
|
|
268
|
-
memoisedDataSliceInputType = new GraphQLInputObjectType({
|
|
269
|
-
fields: {
|
|
270
|
-
length: number(),
|
|
271
|
-
offset: number()
|
|
272
|
-
},
|
|
273
|
-
name: "DataSliceConfig"
|
|
274
|
-
});
|
|
275
|
-
return memoisedDataSliceInputType;
|
|
276
|
-
};
|
|
277
|
-
var memoisedMaxSupportedTransactionVersionInputType;
|
|
278
|
-
var maxSupportedTransactionVersionInputType = () => {
|
|
279
|
-
if (!memoisedMaxSupportedTransactionVersionInputType)
|
|
280
|
-
memoisedMaxSupportedTransactionVersionInputType = new GraphQLEnumType({
|
|
281
|
-
name: "MaxSupportedTransactionVersion",
|
|
282
|
-
values: {
|
|
283
|
-
legacy: {
|
|
284
|
-
value: "legacy"
|
|
285
|
-
},
|
|
286
|
-
zero: {
|
|
287
|
-
value: "0"
|
|
288
|
-
}
|
|
508
|
+
if (account.encoding === "base64+zstd") {
|
|
509
|
+
return "AccountBase64Zstd";
|
|
289
510
|
}
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
var memoisedProgramAccountFilterInputType;
|
|
294
|
-
var programAccountFilterInputType = () => {
|
|
295
|
-
if (!memoisedProgramAccountFilterInputType)
|
|
296
|
-
memoisedProgramAccountFilterInputType = new GraphQLInputObjectType({
|
|
297
|
-
fields: {
|
|
298
|
-
bytes: bigint(),
|
|
299
|
-
dataSize: bigint(),
|
|
300
|
-
encoding: string(),
|
|
301
|
-
offset: bigint()
|
|
302
|
-
},
|
|
303
|
-
name: "ProgramAccountFilter"
|
|
304
|
-
});
|
|
305
|
-
return memoisedProgramAccountFilterInputType;
|
|
306
|
-
};
|
|
307
|
-
var memoisedTransactionEncodingInputType;
|
|
308
|
-
var transactionEncodingInputType = () => {
|
|
309
|
-
if (!memoisedTransactionEncodingInputType)
|
|
310
|
-
memoisedTransactionEncodingInputType = new GraphQLEnumType({
|
|
311
|
-
name: "TransactionEncoding",
|
|
312
|
-
values: {
|
|
313
|
-
base58: {
|
|
314
|
-
value: "base58"
|
|
315
|
-
},
|
|
316
|
-
base64: {
|
|
317
|
-
value: "base64"
|
|
318
|
-
},
|
|
319
|
-
json: {
|
|
320
|
-
value: "json"
|
|
321
|
-
},
|
|
322
|
-
jsonParsed: {
|
|
323
|
-
value: "jsonParsed"
|
|
511
|
+
if (account.encoding === "jsonParsed") {
|
|
512
|
+
if (account.programName === "nonce") {
|
|
513
|
+
return "NonceAccount";
|
|
324
514
|
}
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
return memoisedTransactionEncodingInputType;
|
|
328
|
-
};
|
|
329
|
-
var memoisedTokenAmountType;
|
|
330
|
-
var tokenAmountType = () => {
|
|
331
|
-
if (!memoisedTokenAmountType) {
|
|
332
|
-
memoisedTokenAmountType = new GraphQLObjectType({
|
|
333
|
-
fields: {
|
|
334
|
-
amount: string(),
|
|
335
|
-
decimals: number(),
|
|
336
|
-
uiAmount: bigint(),
|
|
337
|
-
uiAmountString: string()
|
|
338
|
-
},
|
|
339
|
-
name: "TokenAmount"
|
|
340
|
-
});
|
|
341
|
-
}
|
|
342
|
-
return memoisedTokenAmountType;
|
|
343
|
-
};
|
|
344
|
-
var memoisedAccountInterfaceFields;
|
|
345
|
-
var accountInterfaceFields = () => {
|
|
346
|
-
if (!memoisedAccountInterfaceFields) {
|
|
347
|
-
memoisedAccountInterfaceFields = {
|
|
348
|
-
encoding: string(),
|
|
349
|
-
executable: boolean(),
|
|
350
|
-
lamports: bigint(),
|
|
351
|
-
rentEpoch: bigint()
|
|
352
|
-
};
|
|
353
|
-
}
|
|
354
|
-
return memoisedAccountInterfaceFields;
|
|
355
|
-
};
|
|
356
|
-
var memoisedAccountInterface;
|
|
357
|
-
var accountInterface = () => {
|
|
358
|
-
if (!memoisedAccountInterface) {
|
|
359
|
-
memoisedAccountInterface = new GraphQLInterfaceType({
|
|
360
|
-
description: "A Solana account",
|
|
361
|
-
fields: () => ({
|
|
362
|
-
...accountInterfaceFields(),
|
|
363
|
-
owner: type(accountInterface())
|
|
364
|
-
}),
|
|
365
|
-
name: "Account",
|
|
366
|
-
resolveType(account) {
|
|
367
|
-
if (account.encoding === "base58") {
|
|
368
|
-
return "AccountBase58";
|
|
515
|
+
if (account.accountType === "mint" && account.programName === "spl-token") {
|
|
516
|
+
return "MintAccount";
|
|
369
517
|
}
|
|
370
|
-
if (account.
|
|
371
|
-
return "
|
|
518
|
+
if (account.accountType === "account" && account.programName === "spl-token") {
|
|
519
|
+
return "TokenAccount";
|
|
372
520
|
}
|
|
373
|
-
if (account.
|
|
374
|
-
return "
|
|
521
|
+
if (account.programName === "stake") {
|
|
522
|
+
return "StakeAccount";
|
|
375
523
|
}
|
|
376
|
-
if (account.
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
return "TokenAccount";
|
|
382
|
-
}
|
|
383
|
-
if (account.data.program === "nonce") {
|
|
384
|
-
return "NonceAccount";
|
|
385
|
-
}
|
|
386
|
-
if (account.data.program === "stake") {
|
|
387
|
-
return "StakeAccount";
|
|
388
|
-
}
|
|
389
|
-
if (account.data.parsed.type === "vote" && account.data.program === "vote") {
|
|
390
|
-
return "VoteAccount";
|
|
391
|
-
}
|
|
392
|
-
if (account.data.parsed.type === "lookupTable" && account.data.program === "address-lookup-table") {
|
|
393
|
-
return "LookupTableAccount";
|
|
394
|
-
}
|
|
524
|
+
if (account.accountType === "vote" && account.programName === "vote") {
|
|
525
|
+
return "VoteAccount";
|
|
526
|
+
}
|
|
527
|
+
if (account.accountType === "lookupTable" && account.programName === "address-lookup-table") {
|
|
528
|
+
return "LookupTableAccount";
|
|
395
529
|
}
|
|
396
|
-
return "AccountBase64";
|
|
397
530
|
}
|
|
398
|
-
|
|
531
|
+
return "AccountBase64";
|
|
532
|
+
}
|
|
533
|
+
},
|
|
534
|
+
AccountBase58: {
|
|
535
|
+
ownerProgram: resolveAccount("ownerProgram")
|
|
536
|
+
},
|
|
537
|
+
AccountBase64: {
|
|
538
|
+
ownerProgram: resolveAccount("ownerProgram")
|
|
539
|
+
},
|
|
540
|
+
AccountBase64Zstd: {
|
|
541
|
+
ownerProgram: resolveAccount("ownerProgram")
|
|
542
|
+
},
|
|
543
|
+
NonceAccount: {
|
|
544
|
+
authority: resolveAccount("authority"),
|
|
545
|
+
ownerProgram: resolveAccount("ownerProgram")
|
|
546
|
+
},
|
|
547
|
+
LookupTableAccount: {
|
|
548
|
+
authority: resolveAccount("authority"),
|
|
549
|
+
ownerProgram: resolveAccount("ownerProgram")
|
|
550
|
+
},
|
|
551
|
+
MintAccount: {
|
|
552
|
+
freezeAuthority: resolveAccount("freezeAuthority"),
|
|
553
|
+
mintAuthority: resolveAccount("mintAuthority"),
|
|
554
|
+
ownerProgram: resolveAccount("ownerProgram")
|
|
555
|
+
},
|
|
556
|
+
TokenAccount: {
|
|
557
|
+
mint: resolveAccount("mint"),
|
|
558
|
+
owner: resolveAccount("owner"),
|
|
559
|
+
ownerProgram: resolveAccount("ownerProgram")
|
|
560
|
+
},
|
|
561
|
+
StakeAccountDataMetaAuthorized: {
|
|
562
|
+
staker: resolveAccount("staker"),
|
|
563
|
+
withdrawer: resolveAccount("withdrawer")
|
|
564
|
+
},
|
|
565
|
+
StakeAccountDataMetaLockup: {
|
|
566
|
+
custodian: resolveAccount("custodian")
|
|
567
|
+
},
|
|
568
|
+
StakeAccountDataStakeDelegation: {
|
|
569
|
+
voter: resolveAccount("voter")
|
|
570
|
+
},
|
|
571
|
+
StakeAccount: {
|
|
572
|
+
ownerProgram: resolveAccount("ownerProgram")
|
|
573
|
+
},
|
|
574
|
+
VoteAccountDataAuthorizedVoter: {
|
|
575
|
+
authorizedVoter: resolveAccount("authorizedVoter")
|
|
576
|
+
},
|
|
577
|
+
VoteAccount: {
|
|
578
|
+
authorizedWithdrawer: resolveAccount("authorizedWithdrawer"),
|
|
579
|
+
node: resolveAccount("nodePubkey"),
|
|
580
|
+
ownerProgram: resolveAccount("ownerProgram")
|
|
399
581
|
}
|
|
400
|
-
return memoisedAccountInterface;
|
|
401
|
-
};
|
|
402
|
-
var accountType = (name, description, data) => new GraphQLObjectType({
|
|
403
|
-
description,
|
|
404
|
-
fields: {
|
|
405
|
-
...accountInterfaceFields(),
|
|
406
|
-
data,
|
|
407
|
-
owner: {
|
|
408
|
-
args: {
|
|
409
|
-
commitment: type(commitmentInputType()),
|
|
410
|
-
dataSlice: type(dataSliceInputType()),
|
|
411
|
-
encoding: type(accountEncodingInputType()),
|
|
412
|
-
minContextSlot: bigint()
|
|
413
|
-
},
|
|
414
|
-
resolve: (parent, args, context) => context.resolveAccount({ ...args, address: parent.owner }),
|
|
415
|
-
type: accountInterface()
|
|
416
|
-
}
|
|
417
|
-
},
|
|
418
|
-
interfaces: [accountInterface()],
|
|
419
|
-
name
|
|
420
|
-
});
|
|
421
|
-
var accountDataJsonParsed = (name, parsedInfoFields) => object(name + "Data", {
|
|
422
|
-
parsed: object(name + "DataParsed", {
|
|
423
|
-
info: object(name + "DataParsedInfo", parsedInfoFields),
|
|
424
|
-
type: string()
|
|
425
|
-
}),
|
|
426
|
-
program: string(),
|
|
427
|
-
space: bigint()
|
|
428
|
-
});
|
|
429
|
-
var memoisedAccountBase58;
|
|
430
|
-
var accountBase58 = () => {
|
|
431
|
-
if (!memoisedAccountBase58)
|
|
432
|
-
memoisedAccountBase58 = accountType("AccountBase58", "A Solana account with base58 encoded data", string());
|
|
433
|
-
return memoisedAccountBase58;
|
|
434
|
-
};
|
|
435
|
-
var memoisedAccountBase64;
|
|
436
|
-
var accountBase64 = () => {
|
|
437
|
-
if (!memoisedAccountBase64)
|
|
438
|
-
memoisedAccountBase64 = accountType("AccountBase64", "A Solana account with base64 encoded data", string());
|
|
439
|
-
return memoisedAccountBase64;
|
|
440
|
-
};
|
|
441
|
-
var memoisedAccountBase64Zstd;
|
|
442
|
-
var accountBase64Zstd = () => {
|
|
443
|
-
if (!memoisedAccountBase64Zstd)
|
|
444
|
-
memoisedAccountBase64Zstd = accountType(
|
|
445
|
-
"AccountBase64Zstd",
|
|
446
|
-
"A Solana account with base64 encoded data compressed with zstd",
|
|
447
|
-
string()
|
|
448
|
-
);
|
|
449
|
-
return memoisedAccountBase64Zstd;
|
|
450
|
-
};
|
|
451
|
-
var memoisedAccountNonceAccount;
|
|
452
|
-
var accountNonceAccount = () => {
|
|
453
|
-
if (!memoisedAccountNonceAccount)
|
|
454
|
-
memoisedAccountNonceAccount = accountType(
|
|
455
|
-
"NonceAccount",
|
|
456
|
-
"A nonce account",
|
|
457
|
-
accountDataJsonParsed("Nonce", {
|
|
458
|
-
authority: string(),
|
|
459
|
-
blockhash: string(),
|
|
460
|
-
feeCalculator: object("NonceFeeCalculator", {
|
|
461
|
-
lamportsPerSignature: string()
|
|
462
|
-
})
|
|
463
|
-
})
|
|
464
|
-
);
|
|
465
|
-
return memoisedAccountNonceAccount;
|
|
466
|
-
};
|
|
467
|
-
var memoisedAccountLookupTable;
|
|
468
|
-
var accountLookupTable = () => {
|
|
469
|
-
if (!memoisedAccountLookupTable)
|
|
470
|
-
memoisedAccountLookupTable = accountType(
|
|
471
|
-
"LookupTableAccount",
|
|
472
|
-
"An address lookup table account",
|
|
473
|
-
accountDataJsonParsed("LookupTable", {
|
|
474
|
-
addresses: list(string()),
|
|
475
|
-
authority: string(),
|
|
476
|
-
deactivationSlot: string(),
|
|
477
|
-
lastExtendedSlot: string(),
|
|
478
|
-
lastExtendedSlotStartIndex: number()
|
|
479
|
-
})
|
|
480
|
-
);
|
|
481
|
-
return memoisedAccountLookupTable;
|
|
482
|
-
};
|
|
483
|
-
var memoisedAccountMint;
|
|
484
|
-
var accountMint = () => {
|
|
485
|
-
if (!memoisedAccountMint)
|
|
486
|
-
memoisedAccountMint = accountType(
|
|
487
|
-
"MintAccount",
|
|
488
|
-
"An SPL mint",
|
|
489
|
-
accountDataJsonParsed("Mint", {
|
|
490
|
-
decimals: number(),
|
|
491
|
-
freezeAuthority: string(),
|
|
492
|
-
isInitialized: boolean(),
|
|
493
|
-
mintAuthority: string(),
|
|
494
|
-
supply: string()
|
|
495
|
-
})
|
|
496
|
-
);
|
|
497
|
-
return memoisedAccountMint;
|
|
498
582
|
};
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
583
|
+
|
|
584
|
+
// src/schema/block.ts
|
|
585
|
+
var blockTypeDefs = (
|
|
586
|
+
/* GraphQL */
|
|
587
|
+
`
|
|
588
|
+
type TransactionMetaForAccounts {
|
|
589
|
+
err: String
|
|
590
|
+
fee: BigInt
|
|
591
|
+
postBalances: [BigInt]
|
|
592
|
+
postTokenBalances: [TokenBalance]
|
|
593
|
+
preBalances: [BigInt]
|
|
594
|
+
preTokenBalances: [TokenBalance]
|
|
595
|
+
status: TransactionStatus
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
type TransactionDataForAccounts {
|
|
599
|
+
accountKeys: [Address]
|
|
600
|
+
signatures: [String]
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
type BlockTransactionAccounts {
|
|
604
|
+
meta: TransactionMetaForAccounts
|
|
605
|
+
data: TransactionDataForAccounts
|
|
606
|
+
version: String
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
# Block interface
|
|
610
|
+
interface Block {
|
|
611
|
+
blockhash: String
|
|
612
|
+
blockHeight: BigInt
|
|
613
|
+
blockTime: Int
|
|
614
|
+
parentSlot: BigInt
|
|
615
|
+
previousBlockhash: String
|
|
616
|
+
rewards: [Reward]
|
|
617
|
+
transactionDetails: String
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
# A block with account transaction details
|
|
621
|
+
type BlockWithAccounts implements Block {
|
|
622
|
+
blockhash: String
|
|
623
|
+
blockHeight: BigInt
|
|
624
|
+
blockTime: Int
|
|
625
|
+
parentSlot: BigInt
|
|
626
|
+
previousBlockhash: String
|
|
627
|
+
rewards: [Reward]
|
|
628
|
+
transactions: [BlockTransactionAccounts]
|
|
629
|
+
transactionDetails: String
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
# A block with full transaction details
|
|
633
|
+
type BlockWithFull implements Block {
|
|
634
|
+
blockhash: String
|
|
635
|
+
blockHeight: BigInt
|
|
636
|
+
blockTime: Int
|
|
637
|
+
parentSlot: BigInt
|
|
638
|
+
previousBlockhash: String
|
|
639
|
+
rewards: [Reward]
|
|
640
|
+
transactions: [Transaction]
|
|
641
|
+
transactionDetails: String
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
# A block with none transaction details
|
|
645
|
+
type BlockWithNone implements Block {
|
|
646
|
+
blockhash: String
|
|
647
|
+
blockHeight: BigInt
|
|
648
|
+
blockTime: Int
|
|
649
|
+
parentSlot: BigInt
|
|
650
|
+
previousBlockhash: String
|
|
651
|
+
rewards: [Reward]
|
|
652
|
+
transactionDetails: String
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
# A block with signature transaction details
|
|
656
|
+
type BlockWithSignatures implements Block {
|
|
657
|
+
blockhash: String
|
|
658
|
+
blockHeight: BigInt
|
|
659
|
+
blockTime: Int
|
|
660
|
+
parentSlot: BigInt
|
|
661
|
+
previousBlockhash: String
|
|
662
|
+
rewards: [Reward]
|
|
663
|
+
signatures: [String]
|
|
664
|
+
transactionDetails: String
|
|
665
|
+
}
|
|
666
|
+
`
|
|
667
|
+
);
|
|
668
|
+
var blockResolvers = {
|
|
669
|
+
Block: {
|
|
670
|
+
__resolveType(block) {
|
|
671
|
+
switch (block.transactionDetails) {
|
|
672
|
+
case "accounts":
|
|
673
|
+
return "BlockWithAccounts";
|
|
674
|
+
case "none":
|
|
675
|
+
return "BlockWithNone";
|
|
676
|
+
case "signatures":
|
|
677
|
+
return "BlockWithSignatures";
|
|
678
|
+
default:
|
|
679
|
+
return "BlockWithFull";
|
|
680
|
+
}
|
|
681
|
+
}
|
|
682
|
+
}
|
|
514
683
|
};
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
684
|
+
|
|
685
|
+
// src/schema/common/inputs.ts
|
|
686
|
+
var inputTypeDefs = (
|
|
687
|
+
/* GraphQL */
|
|
688
|
+
`
|
|
689
|
+
input DataSlice {
|
|
690
|
+
offset: Int
|
|
691
|
+
length: Int
|
|
692
|
+
}
|
|
693
|
+
|
|
694
|
+
input ProgramAccountsFilter {
|
|
695
|
+
bytes: BigInt
|
|
696
|
+
dataSize: BigInt
|
|
697
|
+
encoding: AccountEncoding
|
|
698
|
+
offset: BigInt
|
|
699
|
+
}
|
|
700
|
+
`
|
|
701
|
+
);
|
|
702
|
+
var inputResolvers = {};
|
|
703
|
+
var scalarTypeDefs = (
|
|
704
|
+
/* GraphQL */
|
|
705
|
+
`
|
|
706
|
+
scalar Address
|
|
707
|
+
scalar Base58EncodedBytes
|
|
708
|
+
scalar Base64EncodedBytes
|
|
709
|
+
scalar Base64ZstdEncodedBytes
|
|
710
|
+
scalar BigInt
|
|
711
|
+
`
|
|
712
|
+
);
|
|
713
|
+
var stringScalarAlias = {
|
|
714
|
+
__parseLiteral(ast) {
|
|
715
|
+
if (ast.kind === Kind.STRING) {
|
|
716
|
+
return ast.value.toString();
|
|
717
|
+
}
|
|
718
|
+
return null;
|
|
719
|
+
},
|
|
720
|
+
__parseValue(value) {
|
|
721
|
+
return value;
|
|
722
|
+
},
|
|
723
|
+
__serialize(value) {
|
|
724
|
+
return value;
|
|
725
|
+
}
|
|
547
726
|
};
|
|
548
|
-
var
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
previousCredits: string()
|
|
568
|
-
})
|
|
569
|
-
),
|
|
570
|
-
lastTimestamp: object("VoteLastTimestamp", {
|
|
571
|
-
slot: bigint(),
|
|
572
|
-
timestamp: bigint()
|
|
573
|
-
}),
|
|
574
|
-
nodePubkey: string(),
|
|
575
|
-
priorVoters: list(string()),
|
|
576
|
-
rootSlot: bigint(),
|
|
577
|
-
votes: list(
|
|
578
|
-
object("VoteVote", {
|
|
579
|
-
confirmationCount: number(),
|
|
580
|
-
slot: bigint()
|
|
581
|
-
})
|
|
582
|
-
)
|
|
583
|
-
})
|
|
584
|
-
);
|
|
585
|
-
return memoisedAccountVoteAccount;
|
|
727
|
+
var scalarResolvers = {
|
|
728
|
+
Address: stringScalarAlias,
|
|
729
|
+
Base58EncodedBytes: stringScalarAlias,
|
|
730
|
+
Base64EncodedBytes: stringScalarAlias,
|
|
731
|
+
Base64ZstdEncodedBytes: stringScalarAlias,
|
|
732
|
+
BigInt: {
|
|
733
|
+
__parseLiteral(ast) {
|
|
734
|
+
if (ast.kind === Kind.STRING) {
|
|
735
|
+
return BigInt(ast.value);
|
|
736
|
+
}
|
|
737
|
+
return null;
|
|
738
|
+
},
|
|
739
|
+
__parseValue(value) {
|
|
740
|
+
return BigInt(value);
|
|
741
|
+
},
|
|
742
|
+
__serialize(value) {
|
|
743
|
+
return BigInt(value);
|
|
744
|
+
}
|
|
745
|
+
}
|
|
586
746
|
};
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
747
|
+
|
|
748
|
+
// src/schema/common/types.ts
|
|
749
|
+
var commonTypeDefs = (
|
|
750
|
+
/* GraphQL */
|
|
751
|
+
`
|
|
752
|
+
enum AccountEncoding {
|
|
753
|
+
BASE_58
|
|
754
|
+
BASE_64
|
|
755
|
+
BASE_64_ZSTD
|
|
756
|
+
PARSED
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
enum BlockTransactionDetails {
|
|
760
|
+
accounts
|
|
761
|
+
full
|
|
762
|
+
none
|
|
763
|
+
signatures
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
enum Commitment {
|
|
767
|
+
confirmed
|
|
768
|
+
finalized
|
|
769
|
+
processed
|
|
770
|
+
}
|
|
771
|
+
|
|
772
|
+
type ReturnData {
|
|
773
|
+
data: Base64EncodedBytes
|
|
774
|
+
programId: Address
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
type Reward {
|
|
778
|
+
commission: Int
|
|
779
|
+
lamports: BigInt
|
|
780
|
+
postBalance: BigInt
|
|
781
|
+
pubkey: Address
|
|
782
|
+
rewardType: String
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
type TokenAmount {
|
|
786
|
+
amount: String
|
|
787
|
+
decimals: Int
|
|
788
|
+
uiAmount: BigInt
|
|
789
|
+
uiAmountString: String
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
type TokenBalance {
|
|
793
|
+
accountIndex: Int
|
|
794
|
+
mint: Account
|
|
795
|
+
owner: Account
|
|
796
|
+
programId: Address
|
|
797
|
+
uiTokenAmount: TokenAmount
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
enum TransactionEncoding {
|
|
801
|
+
BASE_58
|
|
802
|
+
BASE_64
|
|
803
|
+
PARSED
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
enum TransactionVersion {
|
|
807
|
+
LEGACY
|
|
808
|
+
ZERO
|
|
809
|
+
}
|
|
810
|
+
`
|
|
811
|
+
);
|
|
812
|
+
var commonResolvers = {
|
|
813
|
+
AccountEncoding: {
|
|
814
|
+
BASE_58: "base58",
|
|
815
|
+
BASE_64: "base64",
|
|
816
|
+
BASE_64_ZSTD: "base64+zstd",
|
|
817
|
+
PARSED: "jsonParsed"
|
|
818
|
+
},
|
|
819
|
+
TokenBalance: {
|
|
820
|
+
mint: resolveAccount("mint"),
|
|
821
|
+
owner: resolveAccount("owner")
|
|
822
|
+
},
|
|
823
|
+
TransactionEncoding: {
|
|
824
|
+
BASE_58: "base58",
|
|
825
|
+
BASE_64: "base64",
|
|
826
|
+
PARSED: "jsonParsed"
|
|
827
|
+
},
|
|
828
|
+
TransactionVersion: {
|
|
829
|
+
LEGACY: "legacy",
|
|
830
|
+
ZERO: 0
|
|
831
|
+
}
|
|
602
832
|
};
|
|
603
833
|
|
|
604
|
-
// src/schema/
|
|
605
|
-
var
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
}
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
834
|
+
// src/schema/instruction.ts
|
|
835
|
+
var instructionTypeDefs = (
|
|
836
|
+
/* GraphQL */
|
|
837
|
+
`
|
|
838
|
+
# Transaction instruction interface
|
|
839
|
+
interface TransactionInstruction {
|
|
840
|
+
programId: Address
|
|
841
|
+
}
|
|
842
|
+
|
|
843
|
+
# Generic transaction instruction
|
|
844
|
+
type GenericInstruction implements TransactionInstruction {
|
|
845
|
+
accounts: [Address]
|
|
846
|
+
data: Base64EncodedBytes
|
|
847
|
+
programId: Address
|
|
848
|
+
}
|
|
849
|
+
|
|
850
|
+
# AddressLookupTable: CreateLookupTable
|
|
851
|
+
type CreateLookupTableInstruction implements TransactionInstruction {
|
|
852
|
+
programId: Address
|
|
853
|
+
bumpSeed: BigInt # FIXME:*
|
|
854
|
+
lookupTableAccount: Account
|
|
855
|
+
lookupTableAuthority: Account
|
|
856
|
+
payerAccount: Account
|
|
857
|
+
recentSlot: BigInt
|
|
858
|
+
systemProgram: Account
|
|
859
|
+
}
|
|
860
|
+
|
|
861
|
+
# AddressLookupTable: ExtendLookupTable
|
|
862
|
+
type ExtendLookupTableInstruction implements TransactionInstruction {
|
|
863
|
+
programId: Address
|
|
864
|
+
lookupTableAccount: Account
|
|
865
|
+
lookupTableAuthority: Account
|
|
866
|
+
newAddresses: [Address]
|
|
867
|
+
payerAccount: Account
|
|
868
|
+
systemProgram: Account
|
|
869
|
+
}
|
|
870
|
+
|
|
871
|
+
# AddressLookupTable: FreezeLookupTable
|
|
872
|
+
type FreezeLookupTableInstruction implements TransactionInstruction {
|
|
873
|
+
programId: Address
|
|
874
|
+
lookupTableAccount: Account
|
|
875
|
+
lookupTableAuthority: Account
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
# AddressLookupTable: DeactivateLookupTable
|
|
879
|
+
type DeactivateLookupTableInstruction implements TransactionInstruction {
|
|
880
|
+
programId: Address
|
|
881
|
+
lookupTableAccount: Account
|
|
882
|
+
lookupTableAuthority: Account
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
# AddressLookupTable: CloseLookupTable
|
|
886
|
+
type CloseLookupTableInstruction implements TransactionInstruction {
|
|
887
|
+
programId: Address
|
|
888
|
+
lookupTableAccount: Account
|
|
889
|
+
lookupTableAuthority: Account
|
|
890
|
+
recipient: Account
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
# BpfLoader: Write
|
|
894
|
+
type BpfLoaderWriteInstruction implements TransactionInstruction {
|
|
895
|
+
programId: Address
|
|
896
|
+
account: Account
|
|
897
|
+
bytes: Base64EncodedBytes
|
|
898
|
+
offset: BigInt # FIXME:*
|
|
899
|
+
}
|
|
900
|
+
|
|
901
|
+
# BpfLoader: Finalize
|
|
902
|
+
type BpfLoaderFinalizeInstruction implements TransactionInstruction {
|
|
903
|
+
programId: Address
|
|
904
|
+
account: Account
|
|
905
|
+
}
|
|
906
|
+
|
|
907
|
+
# BpfUpgradeableLoader: InitializeBuffer
|
|
908
|
+
type BpfUpgradeableLoaderInitializeBufferInstruction implements TransactionInstruction {
|
|
909
|
+
programId: Address
|
|
910
|
+
account: Account
|
|
911
|
+
}
|
|
912
|
+
|
|
913
|
+
# BpfUpgradeableLoader: Write
|
|
914
|
+
type BpfUpgradeableLoaderWriteInstruction implements TransactionInstruction {
|
|
915
|
+
programId: Address
|
|
916
|
+
account: Account
|
|
917
|
+
authority: Account
|
|
918
|
+
bytes: Base64EncodedBytes
|
|
919
|
+
offset: BigInt # FIXME:*
|
|
920
|
+
}
|
|
921
|
+
|
|
922
|
+
# BpfUpgradeableLoader: DeployWithMaxDataLen
|
|
923
|
+
type BpfUpgradeableLoaderDeployWithMaxDataLenInstruction implements TransactionInstruction {
|
|
924
|
+
programId: Address
|
|
925
|
+
authority: Account
|
|
926
|
+
bufferAccount: Account
|
|
927
|
+
clockSysvar: Address
|
|
928
|
+
maxDataLen: BigInt
|
|
929
|
+
payerAccount: Account
|
|
930
|
+
programAccount: Account
|
|
931
|
+
programDataAccount: Account
|
|
932
|
+
rentSysvar: Address
|
|
933
|
+
}
|
|
934
|
+
|
|
935
|
+
# BpfUpgradeableLoader: Upgrade
|
|
936
|
+
type BpfUpgradeableLoaderUpgradeInstruction implements TransactionInstruction {
|
|
937
|
+
programId: Address
|
|
938
|
+
authority: Account
|
|
939
|
+
bufferAccount: Account
|
|
940
|
+
clockSysvar: Address
|
|
941
|
+
programAccount: Account
|
|
942
|
+
programDataAccount: Account
|
|
943
|
+
rentSysvar: Address
|
|
944
|
+
spillAccount: Account
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
# BpfUpgradeableLoader: SetAuthority
|
|
948
|
+
|
|
949
|
+
type BpfUpgradeableLoaderSetAuthorityInstruction implements TransactionInstruction {
|
|
950
|
+
programId: Address
|
|
951
|
+
account: Account
|
|
952
|
+
authority: Account
|
|
953
|
+
newAuthority: Account
|
|
954
|
+
}
|
|
955
|
+
|
|
956
|
+
# BpfUpgradeableLoader: SetAuthorityChecked
|
|
957
|
+
type BpfUpgradeableLoaderSetAuthorityCheckedInstruction implements TransactionInstruction {
|
|
958
|
+
programId: Address
|
|
959
|
+
account: Account
|
|
960
|
+
authority: Account
|
|
961
|
+
newAuthority: Account
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
# BpfUpgradeableLoader: Close
|
|
965
|
+
type BpfUpgradeableLoaderCloseInstruction implements TransactionInstruction {
|
|
966
|
+
programId: Address
|
|
967
|
+
account: Account
|
|
968
|
+
authority: Account
|
|
969
|
+
programAccount: Account
|
|
970
|
+
recipient: Account
|
|
971
|
+
}
|
|
972
|
+
|
|
973
|
+
# BpfUpgradeableLoader: ExtendProgram
|
|
974
|
+
type BpfUpgradeableLoaderExtendProgramInstruction implements TransactionInstruction {
|
|
975
|
+
programId: Address
|
|
976
|
+
additionalBytes: BigInt
|
|
977
|
+
payerAccount: Account
|
|
978
|
+
programAccount: Account
|
|
979
|
+
programDataAccount: Account
|
|
980
|
+
systemProgram: Account
|
|
981
|
+
}
|
|
982
|
+
|
|
983
|
+
# SplAssociatedTokenAccount: Create
|
|
984
|
+
type SplAssociatedTokenCreateInstruction implements TransactionInstruction {
|
|
985
|
+
programId: Address
|
|
986
|
+
account: Account
|
|
987
|
+
mint: Address
|
|
988
|
+
source: Account
|
|
989
|
+
systemProgram: Account
|
|
990
|
+
tokenProgram: Account
|
|
991
|
+
wallet: Account
|
|
992
|
+
}
|
|
993
|
+
|
|
994
|
+
# SplAssociatedTokenAccount: CreateIdempotent
|
|
995
|
+
type SplAssociatedTokenCreateIdempotentInstruction implements TransactionInstruction {
|
|
996
|
+
programId: Address
|
|
997
|
+
account: Account
|
|
998
|
+
mint: Address
|
|
999
|
+
source: Account
|
|
1000
|
+
systemProgram: Account
|
|
1001
|
+
tokenProgram: Account
|
|
1002
|
+
wallet: Account
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
# SplAssociatedTokenAccount: RecoverNested
|
|
1006
|
+
type SplAssociatedTokenRecoverNestedInstruction implements TransactionInstruction {
|
|
1007
|
+
programId: Address
|
|
1008
|
+
destination: Account
|
|
1009
|
+
nestedMint: Account
|
|
1010
|
+
nestedOwner: Account
|
|
1011
|
+
nestedSource: Account
|
|
1012
|
+
ownerMint: Account
|
|
1013
|
+
tokenProgram: Account
|
|
1014
|
+
wallet: Account
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
# SplMemo
|
|
1018
|
+
type SplMemoInstruction implements TransactionInstruction {
|
|
1019
|
+
programId: Address
|
|
1020
|
+
data: String
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
# SplToken: InitializeMint
|
|
1024
|
+
type SplTokenInitializeMintInstruction implements TransactionInstruction {
|
|
1025
|
+
programId: Address
|
|
1026
|
+
decimals: BigInt # FIXME:*
|
|
1027
|
+
freezeAuthority: Account
|
|
1028
|
+
mint: Account
|
|
1029
|
+
mintAuthority: Account
|
|
1030
|
+
rentSysvar: Address
|
|
1031
|
+
}
|
|
1032
|
+
|
|
1033
|
+
# SplToken: InitializeMint2
|
|
1034
|
+
type SplTokenInitializeMint2Instruction implements TransactionInstruction {
|
|
1035
|
+
programId: Address
|
|
1036
|
+
decimals: BigInt # FIXME:*
|
|
1037
|
+
freezeAuthority: Account
|
|
1038
|
+
mint: Account
|
|
1039
|
+
mintAuthority: Account
|
|
1040
|
+
}
|
|
1041
|
+
|
|
1042
|
+
# SplToken: InitializeAccount
|
|
1043
|
+
type SplTokenInitializeAccountInstruction implements TransactionInstruction {
|
|
1044
|
+
programId: Address
|
|
1045
|
+
account: Account
|
|
1046
|
+
mint: Account
|
|
1047
|
+
owner: Account
|
|
1048
|
+
rentSysvar: Address
|
|
1049
|
+
}
|
|
1050
|
+
|
|
1051
|
+
# SplToken: InitializeAccount2
|
|
1052
|
+
type SplTokenInitializeAccount2Instruction implements TransactionInstruction {
|
|
1053
|
+
programId: Address
|
|
1054
|
+
account: Account
|
|
1055
|
+
mint: Account
|
|
1056
|
+
owner: Account
|
|
1057
|
+
rentSysvar: Address
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
# SplToken: InitializeAccount3
|
|
1061
|
+
type SplTokenInitializeAccount3Instruction implements TransactionInstruction {
|
|
1062
|
+
programId: Address
|
|
1063
|
+
account: Account
|
|
1064
|
+
mint: Account
|
|
1065
|
+
owner: Account
|
|
1066
|
+
}
|
|
1067
|
+
|
|
1068
|
+
# SplToken: InitializeMultisig
|
|
1069
|
+
type SplTokenInitializeMultisigInstruction implements TransactionInstruction {
|
|
1070
|
+
programId: Address
|
|
1071
|
+
m: BigInt # FIXME:*
|
|
1072
|
+
multisig: Account
|
|
1073
|
+
rentSysvar: Address
|
|
1074
|
+
signers: [Address]
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
# SplToken: InitializeMultisig2
|
|
1078
|
+
type SplTokenInitializeMultisig2Instruction implements TransactionInstruction {
|
|
1079
|
+
programId: Address
|
|
1080
|
+
m: BigInt # FIXME:*
|
|
1081
|
+
multisig: Account
|
|
1082
|
+
signers: [Address]
|
|
1083
|
+
}
|
|
1084
|
+
|
|
1085
|
+
# SplToken: Transfer
|
|
1086
|
+
type SplTokenTransferInstruction implements TransactionInstruction {
|
|
1087
|
+
programId: Address
|
|
1088
|
+
amount: String
|
|
1089
|
+
authority: Account
|
|
1090
|
+
destination: Account
|
|
1091
|
+
multisigAuthority: Account
|
|
1092
|
+
source: Account
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
# SplToken: Approve
|
|
1096
|
+
type SplTokenApproveInstruction implements TransactionInstruction {
|
|
1097
|
+
programId: Address
|
|
1098
|
+
amount: String
|
|
1099
|
+
delegate: Account
|
|
1100
|
+
multisigOwner: Account
|
|
1101
|
+
owner: Account
|
|
1102
|
+
source: Account
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
# SplToken: Revoke
|
|
1106
|
+
type SplTokenRevokeInstruction implements TransactionInstruction {
|
|
1107
|
+
programId: Address
|
|
1108
|
+
multisigOwner: Account
|
|
1109
|
+
owner: Account
|
|
1110
|
+
source: Account
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
# SplToken: SetAuthority
|
|
1114
|
+
type SplTokenSetAuthorityInstruction implements TransactionInstruction {
|
|
1115
|
+
programId: Address
|
|
1116
|
+
authority: Account
|
|
1117
|
+
authorityType: String
|
|
1118
|
+
multisigAuthority: Account
|
|
1119
|
+
newAuthority: Account
|
|
1120
|
+
}
|
|
1121
|
+
|
|
1122
|
+
# SplToken: MintTo
|
|
1123
|
+
type SplTokenMintToInstruction implements TransactionInstruction {
|
|
1124
|
+
programId: Address
|
|
1125
|
+
account: Account
|
|
1126
|
+
amount: String
|
|
1127
|
+
authority: Account
|
|
1128
|
+
mint: Account
|
|
1129
|
+
mintAuthority: Account
|
|
1130
|
+
multisigMintAuthority: Account
|
|
1131
|
+
}
|
|
1132
|
+
|
|
1133
|
+
# SplToken: Burn
|
|
1134
|
+
type SplTokenBurnInstruction implements TransactionInstruction {
|
|
1135
|
+
programId: Address
|
|
1136
|
+
account: Account
|
|
1137
|
+
amount: String
|
|
1138
|
+
authority: Account
|
|
1139
|
+
mint: Account
|
|
1140
|
+
multisigAuthority: Account
|
|
1141
|
+
}
|
|
1142
|
+
|
|
1143
|
+
# SplToken: CloseAccount
|
|
1144
|
+
type SplTokenCloseAccountInstruction implements TransactionInstruction {
|
|
1145
|
+
programId: Address
|
|
1146
|
+
account: Account
|
|
1147
|
+
destination: Account
|
|
1148
|
+
multisigOwner: Account
|
|
1149
|
+
owner: Account
|
|
1150
|
+
}
|
|
1151
|
+
|
|
1152
|
+
# SplToken: FreezeAccount
|
|
1153
|
+
type SplTokenFreezeAccountInstruction implements TransactionInstruction {
|
|
1154
|
+
programId: Address
|
|
1155
|
+
account: Account
|
|
1156
|
+
freezeAuthority: Account
|
|
1157
|
+
mint: Account
|
|
1158
|
+
multisigFreezeAuthority: Account
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1161
|
+
# SplToken: ThawAccount
|
|
1162
|
+
type SplTokenThawAccountInstruction implements TransactionInstruction {
|
|
1163
|
+
programId: Address
|
|
1164
|
+
account: Account
|
|
1165
|
+
freezeAuthority: Account
|
|
1166
|
+
mint: Account
|
|
1167
|
+
multisigFreezeAuthority: Account
|
|
1168
|
+
}
|
|
1169
|
+
|
|
1170
|
+
# SplToken: TransferChecked
|
|
1171
|
+
type SplTokenTransferCheckedInstruction implements TransactionInstruction {
|
|
1172
|
+
programId: Address
|
|
1173
|
+
amount: String
|
|
1174
|
+
authority: Account
|
|
1175
|
+
decimals: BigInt # FIXME:*
|
|
1176
|
+
destination: Account
|
|
1177
|
+
mint: Account
|
|
1178
|
+
multisigAuthority: Account
|
|
1179
|
+
source: Account
|
|
1180
|
+
tokenAmount: String
|
|
1181
|
+
}
|
|
1182
|
+
|
|
1183
|
+
# SplToken: ApproveChecked
|
|
1184
|
+
type SplTokenApproveCheckedInstruction implements TransactionInstruction {
|
|
1185
|
+
programId: Address
|
|
1186
|
+
delegate: Account
|
|
1187
|
+
mint: Account
|
|
1188
|
+
multisigOwner: Account
|
|
1189
|
+
owner: Account
|
|
1190
|
+
source: Account
|
|
1191
|
+
tokenAmount: String
|
|
1192
|
+
}
|
|
1193
|
+
|
|
1194
|
+
# SplToken: MintToChecked
|
|
1195
|
+
type SplTokenMintToCheckedInstruction implements TransactionInstruction {
|
|
1196
|
+
programId: Address
|
|
1197
|
+
account: Account
|
|
1198
|
+
authority: Account
|
|
1199
|
+
mint: Account
|
|
1200
|
+
mintAuthority: Account
|
|
1201
|
+
multisigMintAuthority: Account
|
|
1202
|
+
tokenAmount: String
|
|
1203
|
+
}
|
|
1204
|
+
|
|
1205
|
+
# SplToken: BurnChecked
|
|
1206
|
+
type SplTokenBurnCheckedInstruction implements TransactionInstruction {
|
|
1207
|
+
programId: Address
|
|
1208
|
+
account: Account
|
|
1209
|
+
authority: Account
|
|
1210
|
+
mint: Account
|
|
1211
|
+
multisigAuthority: Account
|
|
1212
|
+
tokenAmount: String
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1215
|
+
# SplToken: SyncNative
|
|
1216
|
+
type SplTokenSyncNativeInstruction implements TransactionInstruction {
|
|
1217
|
+
programId: Address
|
|
1218
|
+
account: Account
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
# SplToken: GetAccountDataSize
|
|
1222
|
+
type SplTokenGetAccountDataSizeInstruction implements TransactionInstruction {
|
|
1223
|
+
programId: Address
|
|
1224
|
+
extensionTypes: [String]
|
|
1225
|
+
mint: Account
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1228
|
+
# SplToken: InitializeImmutableOwner
|
|
1229
|
+
type SplTokenInitializeImmutableOwnerInstruction implements TransactionInstruction {
|
|
1230
|
+
programId: Address
|
|
1231
|
+
account: Account
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
# SplToken: AmountToUiAmount
|
|
1235
|
+
type SplTokenAmountToUiAmountInstruction implements TransactionInstruction {
|
|
1236
|
+
programId: Address
|
|
1237
|
+
amount: String
|
|
1238
|
+
mint: Account
|
|
1239
|
+
}
|
|
1240
|
+
|
|
1241
|
+
# SplToken: UiAmountToAmount
|
|
1242
|
+
type SplTokenUiAmountToAmountInstruction implements TransactionInstruction {
|
|
1243
|
+
programId: Address
|
|
1244
|
+
mint: Account
|
|
1245
|
+
uiAmount: String
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1248
|
+
# SplToken: InitializeMintCloseAuthority
|
|
1249
|
+
type SplTokenInitializeMintCloseAuthorityInstruction implements TransactionInstruction {
|
|
1250
|
+
programId: Address
|
|
1251
|
+
mint: Account
|
|
1252
|
+
newAuthority: Account
|
|
1253
|
+
}
|
|
1254
|
+
|
|
1255
|
+
# TODO: Extensions!
|
|
1256
|
+
# - TransferFeeExtension
|
|
1257
|
+
# - ConfidentialTransferFeeExtension
|
|
1258
|
+
# - DefaultAccountStateExtension
|
|
1259
|
+
# - Reallocate
|
|
1260
|
+
# - MemoTransferExtension
|
|
1261
|
+
# - CreateNativeMint
|
|
1262
|
+
# - InitializeNonTransferableMint
|
|
1263
|
+
# - InterestBearingMintExtension
|
|
1264
|
+
# - CpiGuardExtension
|
|
1265
|
+
# - InitializePermanentDelegate
|
|
1266
|
+
# - TransferHookExtension
|
|
1267
|
+
# - ConfidentialTransferFeeExtension
|
|
1268
|
+
# - WithdrawExcessLamports
|
|
1269
|
+
# - MetadataPointerExtension
|
|
1270
|
+
|
|
1271
|
+
type Lockup {
|
|
1272
|
+
custodian: Account
|
|
1273
|
+
epoch: BigInt
|
|
1274
|
+
unixTimestamp: BigInt
|
|
1275
|
+
}
|
|
1276
|
+
|
|
1277
|
+
# Stake: Initialize
|
|
1278
|
+
type StakeInitializeInstructionDataAuthorized {
|
|
1279
|
+
staker: Account
|
|
1280
|
+
withdrawer: Account
|
|
1281
|
+
}
|
|
1282
|
+
type StakeInitializeInstruction implements TransactionInstruction {
|
|
1283
|
+
programId: Address
|
|
1284
|
+
authorized: StakeInitializeInstructionDataAuthorized
|
|
1285
|
+
lockup: Lockup
|
|
1286
|
+
rentSysvar: Address
|
|
1287
|
+
stakeAccount: Account
|
|
1288
|
+
}
|
|
1289
|
+
|
|
1290
|
+
# Stake: Authorize
|
|
1291
|
+
type StakeAuthorizeInstruction implements TransactionInstruction {
|
|
1292
|
+
programId: Address
|
|
1293
|
+
authority: Account
|
|
1294
|
+
authorityType: String
|
|
1295
|
+
clockSysvar: Address
|
|
1296
|
+
custodian: Account
|
|
1297
|
+
newAuthority: Account
|
|
1298
|
+
stakeAccount: Account
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
# Stake: DelegateStake
|
|
1302
|
+
type StakeDelegateStakeInstruction implements TransactionInstruction {
|
|
1303
|
+
programId: Address
|
|
1304
|
+
clockSysvar: Address
|
|
1305
|
+
stakeAccount: Account
|
|
1306
|
+
stakeAuthority: Account
|
|
1307
|
+
stakeConfigAccount: Account
|
|
1308
|
+
stakeHistorySysvar: Address
|
|
1309
|
+
voteAccount: Account
|
|
1310
|
+
}
|
|
1311
|
+
|
|
1312
|
+
# Stake: Split
|
|
1313
|
+
type StakeSplitInstruction implements TransactionInstruction {
|
|
1314
|
+
programId: Address
|
|
1315
|
+
lamports: BigInt
|
|
1316
|
+
newSplitAccount: Account
|
|
1317
|
+
stakeAccount: Account
|
|
1318
|
+
stakeAuthority: Account
|
|
1319
|
+
}
|
|
1320
|
+
|
|
1321
|
+
# Stake: Withdraw
|
|
1322
|
+
type StakeWithdrawInstruction implements TransactionInstruction {
|
|
1323
|
+
programId: Address
|
|
1324
|
+
clockSysvar: Address
|
|
1325
|
+
destination: Account
|
|
1326
|
+
lamports: BigInt
|
|
1327
|
+
stakeAccount: Account
|
|
1328
|
+
withdrawAuthority: Account
|
|
1329
|
+
}
|
|
1330
|
+
|
|
1331
|
+
# Stake: Deactivate
|
|
1332
|
+
type StakeDeactivateInstruction implements TransactionInstruction {
|
|
1333
|
+
programId: Address
|
|
1334
|
+
clockSysvar: Address
|
|
1335
|
+
stakeAccount: Account
|
|
1336
|
+
stakeAuthority: Account
|
|
1337
|
+
}
|
|
1338
|
+
|
|
1339
|
+
# Stake: SetLockup
|
|
1340
|
+
type StakeSetLockupInstruction implements TransactionInstruction {
|
|
1341
|
+
programId: Address
|
|
1342
|
+
custodian: Account
|
|
1343
|
+
lockup: Lockup
|
|
1344
|
+
stakeAccount: Account
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
# Stake: Merge
|
|
1348
|
+
type StakeMergeInstruction implements TransactionInstruction {
|
|
1349
|
+
programId: Address
|
|
1350
|
+
clockSysvar: Address
|
|
1351
|
+
destination: Account
|
|
1352
|
+
source: Account
|
|
1353
|
+
stakeAuthority: Account
|
|
1354
|
+
stakeHistorySysvar: Address
|
|
1355
|
+
}
|
|
1356
|
+
|
|
1357
|
+
# Stake: AuthorizeWithSeed
|
|
1358
|
+
type StakeAuthorizeWithSeedInstruction implements TransactionInstruction {
|
|
1359
|
+
programId: Address
|
|
1360
|
+
authorityBase: Account
|
|
1361
|
+
authorityOwner: Account
|
|
1362
|
+
authoritySeed: String
|
|
1363
|
+
authorityType: String
|
|
1364
|
+
clockSysvar: Address
|
|
1365
|
+
custodian: Account
|
|
1366
|
+
newAuthorized: Account
|
|
1367
|
+
stakeAccount: Account
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
# Stake: InitializeChecked
|
|
1371
|
+
type StakeInitializeCheckedInstructionDataAuthorized {
|
|
1372
|
+
staker: Account
|
|
1373
|
+
withdrawer: Account
|
|
1374
|
+
}
|
|
1375
|
+
type StakeInitializeCheckedInstruction implements TransactionInstruction {
|
|
1376
|
+
programId: Address
|
|
1377
|
+
authorized: StakeInitializeCheckedInstructionDataAuthorized
|
|
1378
|
+
lockup: Lockup
|
|
1379
|
+
rentSysvar: Address
|
|
1380
|
+
stakeAccount: Account
|
|
1381
|
+
}
|
|
1382
|
+
|
|
1383
|
+
# Stake: AuthorizeChecked
|
|
1384
|
+
type StakeAuthorizeCheckedInstruction implements TransactionInstruction {
|
|
1385
|
+
programId: Address
|
|
1386
|
+
authority: Account
|
|
1387
|
+
authorityType: String
|
|
1388
|
+
clockSysvar: Address
|
|
1389
|
+
custodian: Account
|
|
1390
|
+
newAuthority: Account
|
|
1391
|
+
stakeAccount: Account
|
|
1392
|
+
}
|
|
1393
|
+
|
|
1394
|
+
# Stake: AuthorizeCheckedWithSeed
|
|
1395
|
+
type StakeAuthorizeCheckedWithSeedInstruction implements TransactionInstruction {
|
|
1396
|
+
programId: Address
|
|
1397
|
+
authorityBase: Account
|
|
1398
|
+
authorityOwner: Account
|
|
1399
|
+
authoritySeed: String
|
|
1400
|
+
authorityType: String
|
|
1401
|
+
clockSysvar: Address
|
|
1402
|
+
custodian: Account
|
|
1403
|
+
newAuthorized: Account
|
|
1404
|
+
stakeAccount: Account
|
|
1405
|
+
}
|
|
1406
|
+
|
|
1407
|
+
# Stake: SetLockupChecked
|
|
1408
|
+
type StakeSetLockupCheckedInstruction implements TransactionInstruction {
|
|
1409
|
+
programId: Address
|
|
1410
|
+
custodian: Account
|
|
1411
|
+
lockup: Lockup
|
|
1412
|
+
stakeAccount: Account
|
|
1413
|
+
}
|
|
1414
|
+
|
|
1415
|
+
# Stake: DeactivateDelinquent
|
|
1416
|
+
type StakeDeactivateDelinquentInstruction implements TransactionInstruction {
|
|
1417
|
+
programId: Address
|
|
1418
|
+
referenceVoteAccount: Account
|
|
1419
|
+
stakeAccount: Account
|
|
1420
|
+
voteAccount: Account
|
|
1421
|
+
}
|
|
1422
|
+
|
|
1423
|
+
# Stake: Redelegate
|
|
1424
|
+
type StakeRedelegateInstruction implements TransactionInstruction {
|
|
1425
|
+
programId: Address
|
|
1426
|
+
newStakeAccount: Account
|
|
1427
|
+
stakeAccount: Account
|
|
1428
|
+
stakeAuthority: Account
|
|
1429
|
+
stakeConfigAccount: Account
|
|
1430
|
+
voteAccount: Account
|
|
1431
|
+
}
|
|
1432
|
+
|
|
1433
|
+
# System: CreateAccount
|
|
1434
|
+
type CreateAccountInstruction implements TransactionInstruction {
|
|
1435
|
+
programId: Address
|
|
1436
|
+
lamports: BigInt
|
|
1437
|
+
newAccount: Account
|
|
1438
|
+
owner: Account
|
|
1439
|
+
source: Account
|
|
1440
|
+
space: BigInt
|
|
1441
|
+
}
|
|
1442
|
+
|
|
1443
|
+
# System: Assign
|
|
1444
|
+
type AssignInstruction implements TransactionInstruction {
|
|
1445
|
+
programId: Address
|
|
1446
|
+
account: Account
|
|
1447
|
+
owner: Account
|
|
1448
|
+
}
|
|
1449
|
+
|
|
1450
|
+
# System: Transfer
|
|
1451
|
+
type TransferInstruction implements TransactionInstruction {
|
|
1452
|
+
programId: Address
|
|
1453
|
+
destination: Account
|
|
1454
|
+
lamports: BigInt
|
|
1455
|
+
source: Account
|
|
1456
|
+
}
|
|
1457
|
+
|
|
1458
|
+
# System: CreateAccountWithSeed
|
|
1459
|
+
type CreateAccountWithSeedInstruction implements TransactionInstruction {
|
|
1460
|
+
programId: Address
|
|
1461
|
+
base: Account
|
|
1462
|
+
lamports: BigInt
|
|
1463
|
+
owner: Account
|
|
1464
|
+
seed: String
|
|
1465
|
+
space: BigInt
|
|
1466
|
+
}
|
|
1467
|
+
|
|
1468
|
+
# System: AdvanceNonceAccount
|
|
1469
|
+
type AdvanceNonceAccountInstruction implements TransactionInstruction {
|
|
1470
|
+
programId: Address
|
|
1471
|
+
nonceAccount: Account
|
|
1472
|
+
nonceAuthority: Account
|
|
1473
|
+
recentBlockhashesSysvar: Address
|
|
1474
|
+
}
|
|
1475
|
+
|
|
1476
|
+
# System: WithdrawNonceAccount
|
|
1477
|
+
type WithdrawNonceAccountInstruction implements TransactionInstruction {
|
|
1478
|
+
programId: Address
|
|
1479
|
+
destination: Account
|
|
1480
|
+
lamports: BigInt
|
|
1481
|
+
nonceAccount: Account
|
|
1482
|
+
nonceAuthority: Account
|
|
1483
|
+
recentBlockhashesSysvar: Address
|
|
1484
|
+
rentSysvar: Address
|
|
1485
|
+
}
|
|
1486
|
+
|
|
1487
|
+
# System: InitializeNonceAccount
|
|
1488
|
+
type InitializeNonceAccountInstruction implements TransactionInstruction {
|
|
1489
|
+
programId: Address
|
|
1490
|
+
nonceAccount: Account
|
|
1491
|
+
nonceAuthority: Account
|
|
1492
|
+
recentBlockhashesSysvar: Address
|
|
1493
|
+
rentSysvar: Address
|
|
1494
|
+
}
|
|
1495
|
+
|
|
1496
|
+
# System: AuthorizeNonceAccount
|
|
1497
|
+
type AuthorizeNonceAccountInstruction implements TransactionInstruction {
|
|
1498
|
+
programId: Address
|
|
1499
|
+
newAuthorized: Account
|
|
1500
|
+
nonceAccount: Account
|
|
1501
|
+
nonceAuthority: Account
|
|
1502
|
+
}
|
|
1503
|
+
|
|
1504
|
+
# System: UpgradeNonceAccount
|
|
1505
|
+
type UpgradeNonceAccountInstruction implements TransactionInstruction {
|
|
1506
|
+
programId: Address
|
|
1507
|
+
nonceAccount: Account
|
|
1508
|
+
nonceAuthority: Account
|
|
1509
|
+
}
|
|
1510
|
+
|
|
1511
|
+
# System: Allocate
|
|
1512
|
+
type AllocateInstruction implements TransactionInstruction {
|
|
1513
|
+
programId: Address
|
|
1514
|
+
account: Account
|
|
1515
|
+
space: BigInt
|
|
1516
|
+
}
|
|
1517
|
+
|
|
1518
|
+
# System: AllocateWithSeed
|
|
1519
|
+
type AllocateWithSeedInstruction implements TransactionInstruction {
|
|
1520
|
+
programId: Address
|
|
1521
|
+
account: Account
|
|
1522
|
+
base: Address
|
|
1523
|
+
owner: Account
|
|
1524
|
+
seed: String
|
|
1525
|
+
space: BigInt
|
|
1526
|
+
}
|
|
1527
|
+
|
|
1528
|
+
# System: AssignWithSeed
|
|
1529
|
+
type AssignWithSeedInstruction implements TransactionInstruction {
|
|
1530
|
+
programId: Address
|
|
1531
|
+
account: Account
|
|
1532
|
+
base: Address
|
|
1533
|
+
owner: Account
|
|
1534
|
+
seed: String
|
|
1535
|
+
}
|
|
1536
|
+
|
|
1537
|
+
# System: TransferWithSeed
|
|
1538
|
+
type TransferWithSeedInstruction implements TransactionInstruction {
|
|
1539
|
+
programId: Address
|
|
1540
|
+
destination: Account
|
|
1541
|
+
lamports: BigInt
|
|
1542
|
+
source: Account
|
|
1543
|
+
sourceBase: Address
|
|
1544
|
+
sourceOwner: Account
|
|
1545
|
+
sourceSeed: String
|
|
1546
|
+
}
|
|
1547
|
+
|
|
1548
|
+
# Vote: InitializeAccount
|
|
1549
|
+
type VoteInitializeAccountInstruction implements TransactionInstruction {
|
|
1550
|
+
programId: Address
|
|
1551
|
+
authorizedVoter: Account
|
|
1552
|
+
authorizedWithdrawer: Account
|
|
1553
|
+
clockSysvar: Address
|
|
1554
|
+
commission: BigInt # FIXME:*
|
|
1555
|
+
node: Account
|
|
1556
|
+
rentSysvar: Address
|
|
1557
|
+
voteAccount: Account
|
|
1558
|
+
}
|
|
1559
|
+
|
|
1560
|
+
# Vote: Authorize
|
|
1561
|
+
type VoteAuthorizeInstruction implements TransactionInstruction {
|
|
1562
|
+
programId: Address
|
|
1563
|
+
authority: Account
|
|
1564
|
+
authorityType: String
|
|
1565
|
+
clockSysvar: Address
|
|
1566
|
+
newAuthority: Account
|
|
1567
|
+
voteAccount: Account
|
|
1568
|
+
}
|
|
1569
|
+
|
|
1570
|
+
# Vote: AuthorizeWithSeed
|
|
1571
|
+
type VoteAuthorizeWithSeedInstruction implements TransactionInstruction {
|
|
1572
|
+
programId: Address
|
|
1573
|
+
authorityBaseKey: String
|
|
1574
|
+
authorityOwner: Account
|
|
1575
|
+
authoritySeed: String
|
|
1576
|
+
authorityType: String
|
|
1577
|
+
clockSysvar: Address
|
|
1578
|
+
newAuthority: Account
|
|
1579
|
+
voteAccount: Account
|
|
1580
|
+
}
|
|
1581
|
+
|
|
1582
|
+
# Vote: AuthorizeCheckedWithSeed
|
|
1583
|
+
type VoteAuthorizeCheckedWithSeedInstruction implements TransactionInstruction {
|
|
1584
|
+
programId: Address
|
|
1585
|
+
authorityBaseKey: String
|
|
1586
|
+
authorityOwner: Account
|
|
1587
|
+
authoritySeed: String
|
|
1588
|
+
authorityType: String
|
|
1589
|
+
clockSysvar: Address
|
|
1590
|
+
newAuthority: Account
|
|
1591
|
+
voteAccount: Account
|
|
1592
|
+
}
|
|
1593
|
+
|
|
1594
|
+
type Vote {
|
|
1595
|
+
hash: String
|
|
1596
|
+
slots: [BigInt]
|
|
1597
|
+
timestamp: BigInt
|
|
1598
|
+
}
|
|
1599
|
+
|
|
1600
|
+
# Vote: Vote
|
|
1601
|
+
type VoteVoteInstruction implements TransactionInstruction {
|
|
1602
|
+
programId: Address
|
|
1603
|
+
clockSysvar: Address
|
|
1604
|
+
slotHashesSysvar: Address
|
|
1605
|
+
vote: Vote
|
|
1606
|
+
voteAccount: Account
|
|
1607
|
+
voteAuthority: Account
|
|
1608
|
+
}
|
|
1609
|
+
|
|
1610
|
+
type VoteStateUpdateLockout {
|
|
1611
|
+
confirmationCount: BigInt # FIXME:*
|
|
1612
|
+
slot: BigInt
|
|
1613
|
+
}
|
|
1614
|
+
type VoteStateUpdate {
|
|
1615
|
+
hash: String
|
|
1616
|
+
lockouts: [VoteStateUpdateLockout]
|
|
1617
|
+
root: BigInt
|
|
1618
|
+
timestamp: BigInt
|
|
1619
|
+
}
|
|
1620
|
+
|
|
1621
|
+
# Vote: UpdateVoteState
|
|
1622
|
+
type VoteUpdateVoteStateInstruction implements TransactionInstruction {
|
|
1623
|
+
programId: Address
|
|
1624
|
+
hash: String
|
|
1625
|
+
voteAccount: Account
|
|
1626
|
+
voteAuthority: Account
|
|
1627
|
+
voteStateUpdate: VoteStateUpdate
|
|
1628
|
+
}
|
|
1629
|
+
|
|
1630
|
+
# Vote: UpdateVoteStateSwitch
|
|
1631
|
+
type VoteUpdateVoteStateSwitchInstruction implements TransactionInstruction {
|
|
1632
|
+
programId: Address
|
|
1633
|
+
hash: String
|
|
1634
|
+
voteAccount: Account
|
|
1635
|
+
voteAuthority: Account
|
|
1636
|
+
voteStateUpdate: VoteStateUpdate
|
|
1637
|
+
}
|
|
1638
|
+
|
|
1639
|
+
# Vote: CompactUpdateVoteState
|
|
1640
|
+
type VoteCompactUpdateVoteStateInstruction implements TransactionInstruction {
|
|
1641
|
+
programId: Address
|
|
1642
|
+
hash: String
|
|
1643
|
+
voteAccount: Account
|
|
1644
|
+
voteAuthority: Account
|
|
1645
|
+
voteStateUpdate: VoteStateUpdate
|
|
1646
|
+
}
|
|
1647
|
+
|
|
1648
|
+
# Vote: CompactUpdateVoteStateSwitch
|
|
1649
|
+
type VoteCompactUpdateVoteStateSwitchInstruction implements TransactionInstruction {
|
|
1650
|
+
programId: Address
|
|
1651
|
+
hash: String
|
|
1652
|
+
voteAccount: Account
|
|
1653
|
+
voteAuthority: Account
|
|
1654
|
+
voteStateUpdate: VoteStateUpdate
|
|
1655
|
+
}
|
|
1656
|
+
|
|
1657
|
+
# Vote: Withdraw
|
|
1658
|
+
type VoteWithdrawInstruction implements TransactionInstruction {
|
|
1659
|
+
programId: Address
|
|
1660
|
+
destination: Account
|
|
1661
|
+
lamports: BigInt
|
|
1662
|
+
voteAccount: Account
|
|
1663
|
+
withdrawAuthority: Account
|
|
1664
|
+
}
|
|
1665
|
+
|
|
1666
|
+
# Vote: UpdateValidatorIdentity
|
|
1667
|
+
type VoteUpdateValidatorIdentityInstruction implements TransactionInstruction {
|
|
1668
|
+
programId: Address
|
|
1669
|
+
newValidatorIdentity: Account
|
|
1670
|
+
voteAccount: Account
|
|
1671
|
+
withdrawAuthority: Account
|
|
1672
|
+
}
|
|
1673
|
+
|
|
1674
|
+
# Vote: UpdateCommission
|
|
1675
|
+
type VoteUpdateCommissionInstruction implements TransactionInstruction {
|
|
1676
|
+
programId: Address
|
|
1677
|
+
commission: BigInt # FIXME:*
|
|
1678
|
+
voteAccount: Account
|
|
1679
|
+
withdrawAuthority: Account
|
|
1680
|
+
}
|
|
1681
|
+
|
|
1682
|
+
# Vote: VoteSwitch
|
|
1683
|
+
type VoteVoteSwitchInstruction implements TransactionInstruction {
|
|
1684
|
+
programId: Address
|
|
1685
|
+
clockSysvar: Address
|
|
1686
|
+
hash: String
|
|
1687
|
+
slotHashesSysvar: Address
|
|
1688
|
+
vote: Vote
|
|
1689
|
+
voteAccount: Account
|
|
1690
|
+
voteAuthority: Account
|
|
1691
|
+
}
|
|
1692
|
+
|
|
1693
|
+
# Vote: AuthorizeChecked
|
|
1694
|
+
type VoteAuthorizeCheckedInstruction implements TransactionInstruction {
|
|
1695
|
+
programId: Address
|
|
1696
|
+
authority: Account
|
|
1697
|
+
authorityType: String
|
|
1698
|
+
clockSysvar: Address
|
|
1699
|
+
newAuthority: Account
|
|
1700
|
+
voteAccount: Account
|
|
1701
|
+
}
|
|
1702
|
+
`
|
|
1703
|
+
);
|
|
1704
|
+
var instructionResolvers = {
|
|
1705
|
+
TransactionInstruction: {
|
|
1706
|
+
__resolveType(instruction) {
|
|
1707
|
+
if (instruction.programName) {
|
|
1708
|
+
if (instruction.programName === "address-lookup-table") {
|
|
1709
|
+
if (instruction.instructionType === "createLookupTable") {
|
|
733
1710
|
return "CreateLookupTableInstruction";
|
|
734
1711
|
}
|
|
735
|
-
if (instruction.
|
|
1712
|
+
if (instruction.instructionType === "freezeLookupTable") {
|
|
736
1713
|
return "FreezeLookupTableInstruction";
|
|
737
1714
|
}
|
|
738
|
-
if (instruction.
|
|
1715
|
+
if (instruction.instructionType === "extendLookupTable") {
|
|
739
1716
|
return "ExtendLookupTableInstruction";
|
|
740
1717
|
}
|
|
741
|
-
if (instruction.
|
|
1718
|
+
if (instruction.instructionType === "deactivateLookupTable") {
|
|
742
1719
|
return "DeactivateLookupTableInstruction";
|
|
743
1720
|
}
|
|
744
|
-
if (instruction.
|
|
1721
|
+
if (instruction.instructionType === "closeLookupTable") {
|
|
745
1722
|
return "CloseLookupTableInstruction";
|
|
746
1723
|
}
|
|
747
1724
|
}
|
|
748
|
-
if (instruction.
|
|
749
|
-
if (instruction.
|
|
1725
|
+
if (instruction.programName === "bpf-loader") {
|
|
1726
|
+
if (instruction.instructionType === "write") {
|
|
750
1727
|
return "BpfLoaderWriteInstruction";
|
|
751
1728
|
}
|
|
752
|
-
if (instruction.
|
|
1729
|
+
if (instruction.instructionType === "finalize") {
|
|
753
1730
|
return "BpfLoaderFinalizeInstruction";
|
|
754
1731
|
}
|
|
755
1732
|
}
|
|
756
|
-
if (instruction.
|
|
757
|
-
if (instruction.
|
|
1733
|
+
if (instruction.programName === "bpf-upgradeable-loader") {
|
|
1734
|
+
if (instruction.instructionType === "initializeBuffer") {
|
|
758
1735
|
return "BpfUpgradeableLoaderInitializeBufferInstruction";
|
|
759
1736
|
}
|
|
760
|
-
if (instruction.
|
|
1737
|
+
if (instruction.instructionType === "write") {
|
|
761
1738
|
return "BpfUpgradeableLoaderWriteInstruction";
|
|
762
1739
|
}
|
|
763
|
-
if (instruction.
|
|
1740
|
+
if (instruction.instructionType === "deployWithMaxDataLen") {
|
|
764
1741
|
return "BpfUpgradeableLoaderDeployWithMaxDataLenInstruction";
|
|
765
1742
|
}
|
|
766
|
-
if (instruction.
|
|
1743
|
+
if (instruction.instructionType === "upgrade") {
|
|
767
1744
|
return "BpfUpgradeableLoaderUpgradeInstruction";
|
|
768
1745
|
}
|
|
769
|
-
if (instruction.
|
|
1746
|
+
if (instruction.instructionType === "setAuthority") {
|
|
770
1747
|
return "BpfUpgradeableLoaderSetAuthorityInstruction";
|
|
771
1748
|
}
|
|
772
|
-
if (instruction.
|
|
1749
|
+
if (instruction.instructionType === "setAuthorityChecked") {
|
|
773
1750
|
return "BpfUpgradeableLoaderSetAuthorityCheckedInstruction";
|
|
774
1751
|
}
|
|
775
|
-
if (instruction.
|
|
1752
|
+
if (instruction.instructionType === "close") {
|
|
776
1753
|
return "BpfUpgradeableLoaderCloseInstruction";
|
|
777
1754
|
}
|
|
778
|
-
if (instruction.
|
|
1755
|
+
if (instruction.instructionType === "extendProgram") {
|
|
779
1756
|
return "BpfUpgradeableLoaderExtendProgramInstruction";
|
|
780
1757
|
}
|
|
781
1758
|
}
|
|
782
|
-
if (instruction.
|
|
783
|
-
if (instruction.
|
|
1759
|
+
if (instruction.programName === "spl-associated-token-account") {
|
|
1760
|
+
if (instruction.instructionType === "create") {
|
|
784
1761
|
return "SplAssociatedTokenCreateInstruction";
|
|
785
1762
|
}
|
|
786
|
-
if (instruction.
|
|
1763
|
+
if (instruction.instructionType === "createIdempotent") {
|
|
787
1764
|
return "SplAssociatedTokenCreateIdempotentInstruction";
|
|
788
1765
|
}
|
|
789
|
-
if (instruction.
|
|
1766
|
+
if (instruction.instructionType === "recoverNested") {
|
|
790
1767
|
return "SplAssociatedTokenRecoverNestedInstruction";
|
|
791
1768
|
}
|
|
792
1769
|
}
|
|
793
|
-
if (instruction.
|
|
1770
|
+
if (instruction.programName === "spl-memo") {
|
|
794
1771
|
return "SplMemoInstruction";
|
|
795
1772
|
}
|
|
796
|
-
if (instruction.
|
|
797
|
-
if (instruction.
|
|
1773
|
+
if (instruction.programName === "spl-token") {
|
|
1774
|
+
if (instruction.instructionType === "initializeMint") {
|
|
798
1775
|
return "SplTokenInitializeMintInstruction";
|
|
799
1776
|
}
|
|
800
|
-
if (instruction.
|
|
1777
|
+
if (instruction.instructionType === "initializeMint2") {
|
|
801
1778
|
return "SplTokenInitializeMint2Instruction";
|
|
802
1779
|
}
|
|
803
|
-
if (instruction.
|
|
1780
|
+
if (instruction.instructionType === "initializeAccount") {
|
|
804
1781
|
return "SplTokenInitializeAccountInstruction";
|
|
805
1782
|
}
|
|
806
|
-
if (instruction.
|
|
1783
|
+
if (instruction.instructionType === "initializeAccount2") {
|
|
807
1784
|
return "SplTokenInitializeAccount2Instruction";
|
|
808
1785
|
}
|
|
809
|
-
if (instruction.
|
|
1786
|
+
if (instruction.instructionType === "initializeAccount3") {
|
|
810
1787
|
return "SplTokenInitializeAccount3Instruction";
|
|
811
1788
|
}
|
|
812
|
-
if (instruction.
|
|
1789
|
+
if (instruction.instructionType === "initializeMultisig") {
|
|
813
1790
|
return "SplTokenInitializeMultisigInstruction";
|
|
814
1791
|
}
|
|
815
|
-
if (instruction.
|
|
1792
|
+
if (instruction.instructionType === "initializeMultisig2") {
|
|
816
1793
|
return "SplTokenInitializeMultisig2Instruction";
|
|
817
1794
|
}
|
|
818
|
-
if (instruction.
|
|
1795
|
+
if (instruction.instructionType === "transfer") {
|
|
819
1796
|
return "SplTokenTransferInstruction";
|
|
820
1797
|
}
|
|
821
|
-
if (instruction.
|
|
1798
|
+
if (instruction.instructionType === "approve") {
|
|
822
1799
|
return "SplTokenApproveInstruction";
|
|
823
1800
|
}
|
|
824
|
-
if (instruction.
|
|
1801
|
+
if (instruction.instructionType === "revoke") {
|
|
825
1802
|
return "SplTokenRevokeInstruction";
|
|
826
1803
|
}
|
|
827
|
-
if (instruction.
|
|
1804
|
+
if (instruction.instructionType === "setAuthority") {
|
|
828
1805
|
return "SplTokenSetAuthorityInstruction";
|
|
829
1806
|
}
|
|
830
|
-
if (instruction.
|
|
1807
|
+
if (instruction.instructionType === "mintTo") {
|
|
831
1808
|
return "SplTokenMintToInstruction";
|
|
832
1809
|
}
|
|
833
|
-
if (instruction.
|
|
1810
|
+
if (instruction.instructionType === "burn") {
|
|
834
1811
|
return "SplTokenBurnInstruction";
|
|
835
1812
|
}
|
|
836
|
-
if (instruction.
|
|
1813
|
+
if (instruction.instructionType === "closeAccount") {
|
|
837
1814
|
return "SplTokenCloseAccountInstruction";
|
|
838
1815
|
}
|
|
839
|
-
if (instruction.
|
|
1816
|
+
if (instruction.instructionType === "freezeAccount") {
|
|
840
1817
|
return "SplTokenFreezeAccountInstruction";
|
|
841
1818
|
}
|
|
842
|
-
if (instruction.
|
|
1819
|
+
if (instruction.instructionType === "thawAccount") {
|
|
843
1820
|
return "SplTokenThawAccountInstruction";
|
|
844
1821
|
}
|
|
845
|
-
if (instruction.
|
|
1822
|
+
if (instruction.instructionType === "transferChecked") {
|
|
846
1823
|
return "SplTokenTransferCheckedInstruction";
|
|
847
1824
|
}
|
|
848
|
-
if (instruction.
|
|
1825
|
+
if (instruction.instructionType === "approveChecked") {
|
|
849
1826
|
return "SplTokenApproveCheckedInstruction";
|
|
850
1827
|
}
|
|
851
|
-
if (instruction.
|
|
1828
|
+
if (instruction.instructionType === "mintToChecked") {
|
|
852
1829
|
return "SplTokenMintToCheckedInstruction";
|
|
853
1830
|
}
|
|
854
|
-
if (instruction.
|
|
1831
|
+
if (instruction.instructionType === "burnChecked") {
|
|
855
1832
|
return "SplTokenBurnCheckedInstruction";
|
|
856
1833
|
}
|
|
857
|
-
if (instruction.
|
|
1834
|
+
if (instruction.instructionType === "syncNative") {
|
|
858
1835
|
return "SplTokenSyncNativeInstruction";
|
|
859
1836
|
}
|
|
860
|
-
if (instruction.
|
|
1837
|
+
if (instruction.instructionType === "getAccountDataSize") {
|
|
861
1838
|
return "SplTokenGetAccountDataSizeInstruction";
|
|
862
1839
|
}
|
|
863
|
-
if (instruction.
|
|
1840
|
+
if (instruction.instructionType === "initializeImmutableOwner") {
|
|
864
1841
|
return "SplTokenInitializeImmutableOwnerInstruction";
|
|
865
1842
|
}
|
|
866
|
-
if (instruction.
|
|
1843
|
+
if (instruction.instructionType === "amountToUiAmount") {
|
|
867
1844
|
return "SplTokenAmountToUiAmountInstruction";
|
|
868
1845
|
}
|
|
869
|
-
if (instruction.
|
|
1846
|
+
if (instruction.instructionType === "uiAmountToAmount") {
|
|
870
1847
|
return "SplTokenUiAmountToAmountInstruction";
|
|
871
1848
|
}
|
|
872
|
-
if (instruction.
|
|
1849
|
+
if (instruction.instructionType === "initializeMintCloseAuthority") {
|
|
873
1850
|
return "SplTokenInitializeMintCloseAuthorityInstruction";
|
|
874
1851
|
}
|
|
875
1852
|
}
|
|
876
|
-
if (instruction.
|
|
877
|
-
if (instruction.
|
|
1853
|
+
if (instruction.programName === "stake") {
|
|
1854
|
+
if (instruction.instructionType === "initialize") {
|
|
878
1855
|
return "StakeInitializeInstruction";
|
|
879
1856
|
}
|
|
880
|
-
if (instruction.
|
|
1857
|
+
if (instruction.instructionType === "authorize") {
|
|
881
1858
|
return "StakeAuthorizeInstruction";
|
|
882
1859
|
}
|
|
883
|
-
if (instruction.
|
|
1860
|
+
if (instruction.instructionType === "delegate") {
|
|
884
1861
|
return "StakeDelegateStakeInstruction";
|
|
885
1862
|
}
|
|
886
|
-
if (instruction.
|
|
1863
|
+
if (instruction.instructionType === "split") {
|
|
887
1864
|
return "StakeSplitInstruction";
|
|
888
1865
|
}
|
|
889
|
-
if (instruction.
|
|
1866
|
+
if (instruction.instructionType === "withdraw") {
|
|
890
1867
|
return "StakeWithdrawInstruction";
|
|
891
1868
|
}
|
|
892
|
-
if (instruction.
|
|
1869
|
+
if (instruction.instructionType === "deactivate") {
|
|
893
1870
|
return "StakeDeactivateInstruction";
|
|
894
1871
|
}
|
|
895
|
-
if (instruction.
|
|
1872
|
+
if (instruction.instructionType === "setLockup") {
|
|
896
1873
|
return "StakeSetLockupInstruction";
|
|
897
1874
|
}
|
|
898
|
-
if (instruction.
|
|
1875
|
+
if (instruction.instructionType === "merge") {
|
|
899
1876
|
return "StakeMergeInstruction";
|
|
900
1877
|
}
|
|
901
|
-
if (instruction.
|
|
1878
|
+
if (instruction.instructionType === "authorizeWithSeed") {
|
|
902
1879
|
return "StakeAuthorizeWithSeedInstruction";
|
|
903
1880
|
}
|
|
904
|
-
if (instruction.
|
|
1881
|
+
if (instruction.instructionType === "initializeChecked") {
|
|
905
1882
|
return "StakeInitializeCheckedInstruction";
|
|
906
1883
|
}
|
|
907
|
-
if (instruction.
|
|
1884
|
+
if (instruction.instructionType === "authorizeChecked") {
|
|
908
1885
|
return "StakeAuthorizeCheckedInstruction";
|
|
909
1886
|
}
|
|
910
|
-
if (instruction.
|
|
1887
|
+
if (instruction.instructionType === "authorizeCheckedWithSeed") {
|
|
911
1888
|
return "StakeAuthorizeCheckedWithSeedInstruction";
|
|
912
1889
|
}
|
|
913
|
-
if (instruction.
|
|
1890
|
+
if (instruction.instructionType === "setLockupChecked") {
|
|
914
1891
|
return "StakeSetLockupCheckedInstruction";
|
|
915
1892
|
}
|
|
916
|
-
if (instruction.
|
|
1893
|
+
if (instruction.instructionType === "deactivateDelinquent") {
|
|
917
1894
|
return "StakeDeactivateDelinquentInstruction";
|
|
918
1895
|
}
|
|
919
|
-
if (instruction.
|
|
1896
|
+
if (instruction.instructionType === "redelegate") {
|
|
920
1897
|
return "StakeRedelegateInstruction";
|
|
921
1898
|
}
|
|
922
1899
|
}
|
|
923
|
-
if (instruction.
|
|
924
|
-
if (instruction.
|
|
1900
|
+
if (instruction.programName === "system") {
|
|
1901
|
+
if (instruction.instructionType === "createAccount") {
|
|
925
1902
|
return "CreateAccountInstruction";
|
|
926
1903
|
}
|
|
927
|
-
if (instruction.
|
|
1904
|
+
if (instruction.instructionType === "assign") {
|
|
928
1905
|
return "AssignInstruction";
|
|
929
1906
|
}
|
|
930
|
-
if (instruction.
|
|
1907
|
+
if (instruction.instructionType === "transfer") {
|
|
931
1908
|
return "TransferInstruction";
|
|
932
1909
|
}
|
|
933
|
-
if (instruction.
|
|
1910
|
+
if (instruction.instructionType === "createAccountWithSeed") {
|
|
934
1911
|
return "CreateAccountWithSeedInstruction";
|
|
935
1912
|
}
|
|
936
|
-
if (instruction.
|
|
1913
|
+
if (instruction.instructionType === "advanceNonceAccount") {
|
|
937
1914
|
return "AdvanceNonceAccountInstruction";
|
|
938
1915
|
}
|
|
939
|
-
if (instruction.
|
|
1916
|
+
if (instruction.instructionType === "withdrawNonceAccount") {
|
|
940
1917
|
return "WithdrawNonceAccountInstruction";
|
|
941
1918
|
}
|
|
942
|
-
if (instruction.
|
|
1919
|
+
if (instruction.instructionType === "initializeNonceAccount") {
|
|
943
1920
|
return "InitializeNonceAccountInstruction";
|
|
944
1921
|
}
|
|
945
|
-
if (instruction.
|
|
1922
|
+
if (instruction.instructionType === "authorizeNonceAccount") {
|
|
946
1923
|
return "AuthorizeNonceAccountInstruction";
|
|
947
1924
|
}
|
|
948
|
-
if (instruction.
|
|
1925
|
+
if (instruction.instructionType === "upgradeNonceAccount") {
|
|
949
1926
|
return "UpgradeNonceAccountInstruction";
|
|
950
1927
|
}
|
|
951
|
-
if (instruction.
|
|
1928
|
+
if (instruction.instructionType === "allocate") {
|
|
952
1929
|
return "AllocateInstruction";
|
|
953
1930
|
}
|
|
954
|
-
if (instruction.
|
|
1931
|
+
if (instruction.instructionType === "allocateWithSeed") {
|
|
955
1932
|
return "AllocateWithSeedInstruction";
|
|
956
1933
|
}
|
|
957
|
-
if (instruction.
|
|
1934
|
+
if (instruction.instructionType === "assignWithSeed") {
|
|
958
1935
|
return "AssignWithSeedInstruction";
|
|
959
1936
|
}
|
|
960
|
-
if (instruction.
|
|
1937
|
+
if (instruction.instructionType === "transferWithSeed") {
|
|
961
1938
|
return "TransferWithSeedInstruction";
|
|
962
1939
|
}
|
|
963
1940
|
}
|
|
964
|
-
if (instruction.
|
|
965
|
-
if (instruction.
|
|
1941
|
+
if (instruction.programName === "vote") {
|
|
1942
|
+
if (instruction.instructionType === "initialize") {
|
|
966
1943
|
return "VoteInitializeAccountInstruction";
|
|
967
1944
|
}
|
|
968
|
-
if (instruction.
|
|
1945
|
+
if (instruction.instructionType === "authorize") {
|
|
969
1946
|
return "VoteAuthorizeInstruction";
|
|
970
1947
|
}
|
|
971
|
-
if (instruction.
|
|
1948
|
+
if (instruction.instructionType === "authorizeWithSeed") {
|
|
972
1949
|
return "VoteAuthorizeWithSeedInstruction";
|
|
973
1950
|
}
|
|
974
|
-
if (instruction.
|
|
1951
|
+
if (instruction.instructionType === "authorizeCheckedWithSeed") {
|
|
975
1952
|
return "VoteAuthorizeCheckedWithSeedInstruction";
|
|
976
1953
|
}
|
|
977
|
-
if (instruction.
|
|
1954
|
+
if (instruction.instructionType === "vote") {
|
|
978
1955
|
return "VoteVoteInstruction";
|
|
979
1956
|
}
|
|
980
|
-
if (instruction.
|
|
1957
|
+
if (instruction.instructionType === "updatevotestate") {
|
|
981
1958
|
return "VoteUpdateVoteStateInstruction";
|
|
982
1959
|
}
|
|
983
|
-
if (instruction.
|
|
1960
|
+
if (instruction.instructionType === "updatevotestateswitch") {
|
|
984
1961
|
return "VoteUpdateVoteStateSwitchInstruction";
|
|
985
1962
|
}
|
|
986
|
-
if (instruction.
|
|
1963
|
+
if (instruction.instructionType === "compactupdatevotestate") {
|
|
987
1964
|
return "VoteCompactUpdateVoteStateInstruction";
|
|
988
1965
|
}
|
|
989
|
-
if (instruction.
|
|
1966
|
+
if (instruction.instructionType === "compactupdatevotestateswitch") {
|
|
990
1967
|
return "VoteCompactUpdateVoteStateSwitchInstruction";
|
|
991
1968
|
}
|
|
992
|
-
if (instruction.
|
|
1969
|
+
if (instruction.instructionType === "withdraw") {
|
|
993
1970
|
return "VoteWithdrawInstruction";
|
|
994
1971
|
}
|
|
995
|
-
if (instruction.
|
|
1972
|
+
if (instruction.instructionType === "updateValidatorIdentity") {
|
|
996
1973
|
return "VoteUpdateValidatorIdentityInstruction";
|
|
997
1974
|
}
|
|
998
|
-
if (instruction.
|
|
1975
|
+
if (instruction.instructionType === "updateCommission") {
|
|
999
1976
|
return "VoteUpdateCommissionInstruction";
|
|
1000
1977
|
}
|
|
1001
|
-
if (instruction.
|
|
1978
|
+
if (instruction.instructionType === "voteSwitch") {
|
|
1002
1979
|
return "VoteVoteSwitchInstruction";
|
|
1003
1980
|
}
|
|
1004
|
-
if (instruction.
|
|
1981
|
+
if (instruction.instructionType === "authorizeChecked") {
|
|
1005
1982
|
return "VoteAuthorizeCheckedInstruction";
|
|
1006
1983
|
}
|
|
1007
1984
|
}
|
|
1008
|
-
return "PartiallyDecodedInstruction";
|
|
1009
|
-
}
|
|
1010
|
-
});
|
|
1011
|
-
return memoisedParsedTransactionInstructionInterface;
|
|
1012
|
-
};
|
|
1013
|
-
var parsedTransactionInstructionType = (name, parsedInfoFields) => new GraphQLObjectType({
|
|
1014
|
-
fields: {
|
|
1015
|
-
parsed: object(name + "Parsed", {
|
|
1016
|
-
info: object(name + "ParsedInfo", parsedInfoFields),
|
|
1017
|
-
type: string()
|
|
1018
|
-
}),
|
|
1019
|
-
program: string(),
|
|
1020
|
-
programId: string()
|
|
1021
|
-
},
|
|
1022
|
-
interfaces: [parsedTransactionInstructionInterface()],
|
|
1023
|
-
name
|
|
1024
|
-
});
|
|
1025
|
-
var memoisedPartiallyDecodedTransactionInstruction;
|
|
1026
|
-
var partiallyDecodedTransactionInstruction = () => {
|
|
1027
|
-
if (!memoisedPartiallyDecodedTransactionInstruction)
|
|
1028
|
-
memoisedPartiallyDecodedTransactionInstruction = new GraphQLObjectType({
|
|
1029
|
-
fields: {
|
|
1030
|
-
accounts: list(string()),
|
|
1031
|
-
data: string(),
|
|
1032
|
-
programId: string()
|
|
1033
|
-
},
|
|
1034
|
-
interfaces: [parsedTransactionInstructionInterface()],
|
|
1035
|
-
name: "PartiallyDecodedInstruction"
|
|
1036
|
-
});
|
|
1037
|
-
return memoisedPartiallyDecodedTransactionInstruction;
|
|
1038
|
-
};
|
|
1039
|
-
var memoisedParsedInstructionsAddressLookupTable;
|
|
1040
|
-
var parsedInstructionsAddressLookupTable = () => {
|
|
1041
|
-
if (!memoisedParsedInstructionsAddressLookupTable)
|
|
1042
|
-
memoisedParsedInstructionsAddressLookupTable = [
|
|
1043
|
-
parsedTransactionInstructionType("CreateLookupTableInstruction", {
|
|
1044
|
-
bumpSeed: number(),
|
|
1045
|
-
lookupTableAccount: string(),
|
|
1046
|
-
lookupTableAuthority: string(),
|
|
1047
|
-
payerAccount: string(),
|
|
1048
|
-
recentSlot: bigint(),
|
|
1049
|
-
systemProgram: string()
|
|
1050
|
-
}),
|
|
1051
|
-
parsedTransactionInstructionType("FreezeLookupTableInstruction", {
|
|
1052
|
-
lookupTableAccount: string(),
|
|
1053
|
-
lookupTableAuthority: string()
|
|
1054
|
-
}),
|
|
1055
|
-
parsedTransactionInstructionType("ExtendLookupTableInstruction", {
|
|
1056
|
-
lookupTableAccount: string(),
|
|
1057
|
-
lookupTableAuthority: string(),
|
|
1058
|
-
newAddresses: list(string()),
|
|
1059
|
-
payerAccount: string(),
|
|
1060
|
-
systemProgram: string()
|
|
1061
|
-
}),
|
|
1062
|
-
parsedTransactionInstructionType("DeactivateLookupTableInstruction", {
|
|
1063
|
-
lookupTableAccount: string(),
|
|
1064
|
-
lookupTableAuthority: string()
|
|
1065
|
-
}),
|
|
1066
|
-
parsedTransactionInstructionType("CloseLookupTableInstruction", {
|
|
1067
|
-
lookupTableAccount: string(),
|
|
1068
|
-
lookupTableAuthority: string(),
|
|
1069
|
-
recipient: string()
|
|
1070
|
-
})
|
|
1071
|
-
];
|
|
1072
|
-
return memoisedParsedInstructionsAddressLookupTable;
|
|
1073
|
-
};
|
|
1074
|
-
var memoisedParsedInstructionsBpfLoader;
|
|
1075
|
-
var parsedInstructionsBpfLoader = () => {
|
|
1076
|
-
if (!memoisedParsedInstructionsBpfLoader)
|
|
1077
|
-
memoisedParsedInstructionsBpfLoader = [
|
|
1078
|
-
parsedTransactionInstructionType("BpfLoaderWriteInstruction", {
|
|
1079
|
-
account: string(),
|
|
1080
|
-
bytes: string(),
|
|
1081
|
-
offset: number()
|
|
1082
|
-
}),
|
|
1083
|
-
parsedTransactionInstructionType("BpfLoaderFinalizeInstruction", {
|
|
1084
|
-
account: string()
|
|
1085
|
-
})
|
|
1086
|
-
];
|
|
1087
|
-
return memoisedParsedInstructionsBpfLoader;
|
|
1088
|
-
};
|
|
1089
|
-
var memoisedParsedInstructionsBpfUpgradeableLoader;
|
|
1090
|
-
var parsedInstructionsBpfUpgradeableLoader = () => {
|
|
1091
|
-
if (!memoisedParsedInstructionsBpfUpgradeableLoader)
|
|
1092
|
-
memoisedParsedInstructionsBpfUpgradeableLoader = [
|
|
1093
|
-
parsedTransactionInstructionType("BpfUpgradeableLoaderInitializeBufferInstruction", {
|
|
1094
|
-
account: string()
|
|
1095
|
-
}),
|
|
1096
|
-
parsedTransactionInstructionType("BpfUpgradeableLoaderWriteInstruction", {
|
|
1097
|
-
account: string(),
|
|
1098
|
-
authority: string(),
|
|
1099
|
-
bytes: string(),
|
|
1100
|
-
offset: number()
|
|
1101
|
-
}),
|
|
1102
|
-
parsedTransactionInstructionType("BpfUpgradeableLoaderDeployWithMaxDataLenInstruction", {
|
|
1103
|
-
authority: string(),
|
|
1104
|
-
bufferAccount: string(),
|
|
1105
|
-
clockSysvar: string(),
|
|
1106
|
-
maxDataLen: bigint(),
|
|
1107
|
-
payerAccount: string(),
|
|
1108
|
-
programAccount: string(),
|
|
1109
|
-
programDataAccount: string(),
|
|
1110
|
-
rentSysvar: string()
|
|
1111
|
-
}),
|
|
1112
|
-
parsedTransactionInstructionType("BpfUpgradeableLoaderUpgradeInstruction", {
|
|
1113
|
-
authority: string(),
|
|
1114
|
-
bufferAccount: string(),
|
|
1115
|
-
clockSysvar: string(),
|
|
1116
|
-
programAccount: string(),
|
|
1117
|
-
programDataAccount: string(),
|
|
1118
|
-
rentSysvar: string(),
|
|
1119
|
-
spillAccount: string()
|
|
1120
|
-
}),
|
|
1121
|
-
parsedTransactionInstructionType("BpfUpgradeableLoaderSetAuthorityInstruction", {
|
|
1122
|
-
account: string(),
|
|
1123
|
-
authority: string(),
|
|
1124
|
-
newAuthority: string()
|
|
1125
|
-
}),
|
|
1126
|
-
parsedTransactionInstructionType("BpfUpgradeableLoaderSetAuthorityCheckedInstruction", {
|
|
1127
|
-
account: string(),
|
|
1128
|
-
authority: string(),
|
|
1129
|
-
newAuthority: string()
|
|
1130
|
-
}),
|
|
1131
|
-
parsedTransactionInstructionType("BpfUpgradeableLoaderCloseInstruction", {
|
|
1132
|
-
account: string(),
|
|
1133
|
-
authority: string(),
|
|
1134
|
-
programAccount: string(),
|
|
1135
|
-
recipient: string()
|
|
1136
|
-
}),
|
|
1137
|
-
parsedTransactionInstructionType("BpfUpgradeableLoaderExtendProgramInstruction", {
|
|
1138
|
-
additionalBytes: bigint(),
|
|
1139
|
-
payerAccount: string(),
|
|
1140
|
-
programAccount: string(),
|
|
1141
|
-
programDataAccount: string(),
|
|
1142
|
-
systemProgram: string()
|
|
1143
|
-
})
|
|
1144
|
-
];
|
|
1145
|
-
return memoisedParsedInstructionsBpfUpgradeableLoader;
|
|
1146
|
-
};
|
|
1147
|
-
var memoisedParsedInstructionsSplAssociatedToken;
|
|
1148
|
-
var parsedInstructionsSplAssociatedToken = () => {
|
|
1149
|
-
if (!memoisedParsedInstructionsSplAssociatedToken)
|
|
1150
|
-
memoisedParsedInstructionsSplAssociatedToken = [
|
|
1151
|
-
parsedTransactionInstructionType("SplAssociatedTokenCreateInstruction", {
|
|
1152
|
-
account: string(),
|
|
1153
|
-
mint: string(),
|
|
1154
|
-
source: string(),
|
|
1155
|
-
systemProgram: string(),
|
|
1156
|
-
tokenProgram: string(),
|
|
1157
|
-
wallet: string()
|
|
1158
|
-
}),
|
|
1159
|
-
parsedTransactionInstructionType("SplAssociatedTokenCreateIdempotentInstruction", {
|
|
1160
|
-
account: string(),
|
|
1161
|
-
mint: string(),
|
|
1162
|
-
source: string(),
|
|
1163
|
-
systemProgram: string(),
|
|
1164
|
-
tokenProgram: string(),
|
|
1165
|
-
wallet: string()
|
|
1166
|
-
}),
|
|
1167
|
-
parsedTransactionInstructionType("SplAssociatedTokenRecoverNestedInstruction", {
|
|
1168
|
-
destination: string(),
|
|
1169
|
-
nestedMint: string(),
|
|
1170
|
-
nestedOwner: string(),
|
|
1171
|
-
nestedSource: string(),
|
|
1172
|
-
ownerMint: string(),
|
|
1173
|
-
tokenProgram: string(),
|
|
1174
|
-
wallet: string()
|
|
1175
|
-
})
|
|
1176
|
-
];
|
|
1177
|
-
return memoisedParsedInstructionsSplAssociatedToken;
|
|
1178
|
-
};
|
|
1179
|
-
var memoisedParsedInstructionSplMemo;
|
|
1180
|
-
var parsedInstructionSplMemo = () => {
|
|
1181
|
-
if (!memoisedParsedInstructionSplMemo)
|
|
1182
|
-
memoisedParsedInstructionSplMemo = new GraphQLObjectType({
|
|
1183
|
-
fields: {
|
|
1184
|
-
parsed: string(),
|
|
1185
|
-
program: string(),
|
|
1186
|
-
programId: string()
|
|
1187
|
-
},
|
|
1188
|
-
interfaces: [parsedTransactionInstructionInterface()],
|
|
1189
|
-
name: "SplMemoInstruction"
|
|
1190
|
-
});
|
|
1191
|
-
return memoisedParsedInstructionSplMemo;
|
|
1192
|
-
};
|
|
1193
|
-
var memoisedParsedInstructionsSplToken;
|
|
1194
|
-
var parsedInstructionsSplToken = () => {
|
|
1195
|
-
if (!memoisedParsedInstructionsSplToken)
|
|
1196
|
-
memoisedParsedInstructionsSplToken = [
|
|
1197
|
-
parsedTransactionInstructionType("SplTokenInitializeMintInstruction", {
|
|
1198
|
-
decimals: number(),
|
|
1199
|
-
freezeAuthority: string(),
|
|
1200
|
-
mint: string(),
|
|
1201
|
-
mintAuthority: string(),
|
|
1202
|
-
rentSysvar: string()
|
|
1203
|
-
}),
|
|
1204
|
-
parsedTransactionInstructionType("SplTokenInitializeMint2Instruction", {
|
|
1205
|
-
decimals: number(),
|
|
1206
|
-
freezeAuthority: string(),
|
|
1207
|
-
mint: string(),
|
|
1208
|
-
mintAuthority: string()
|
|
1209
|
-
}),
|
|
1210
|
-
parsedTransactionInstructionType("SplTokenInitializeAccountInstruction", {
|
|
1211
|
-
account: string(),
|
|
1212
|
-
mint: string(),
|
|
1213
|
-
owner: string(),
|
|
1214
|
-
rentSysvar: string()
|
|
1215
|
-
}),
|
|
1216
|
-
parsedTransactionInstructionType("SplTokenInitializeAccount2Instruction", {
|
|
1217
|
-
account: string(),
|
|
1218
|
-
mint: string(),
|
|
1219
|
-
owner: string(),
|
|
1220
|
-
rentSysvar: string()
|
|
1221
|
-
}),
|
|
1222
|
-
parsedTransactionInstructionType("SplTokenInitializeAccount3Instruction", {
|
|
1223
|
-
account: string(),
|
|
1224
|
-
mint: string(),
|
|
1225
|
-
owner: string()
|
|
1226
|
-
}),
|
|
1227
|
-
parsedTransactionInstructionType("SplTokenInitializeMultisigInstruction", {
|
|
1228
|
-
m: number(),
|
|
1229
|
-
multisig: string(),
|
|
1230
|
-
rentSysvar: string(),
|
|
1231
|
-
signers: list(string())
|
|
1232
|
-
}),
|
|
1233
|
-
parsedTransactionInstructionType("SplTokenInitializeMultisig2Instruction", {
|
|
1234
|
-
m: number(),
|
|
1235
|
-
multisig: string(),
|
|
1236
|
-
signers: list(string())
|
|
1237
|
-
}),
|
|
1238
|
-
parsedTransactionInstructionType("SplTokenTransferInstruction", {
|
|
1239
|
-
amount: string(),
|
|
1240
|
-
authority: string(),
|
|
1241
|
-
destination: string(),
|
|
1242
|
-
multisigAuthority: string(),
|
|
1243
|
-
source: string()
|
|
1244
|
-
}),
|
|
1245
|
-
parsedTransactionInstructionType("SplTokenApproveInstruction", {
|
|
1246
|
-
amount: string(),
|
|
1247
|
-
delegate: string(),
|
|
1248
|
-
multisigOwner: string(),
|
|
1249
|
-
owner: string(),
|
|
1250
|
-
source: string()
|
|
1251
|
-
}),
|
|
1252
|
-
parsedTransactionInstructionType("SplTokenRevokeInstruction", {
|
|
1253
|
-
multisigOwner: string(),
|
|
1254
|
-
owner: string(),
|
|
1255
|
-
source: string()
|
|
1256
|
-
}),
|
|
1257
|
-
parsedTransactionInstructionType("SplTokenSetAuthorityInstruction", {
|
|
1258
|
-
authority: string(),
|
|
1259
|
-
authorityType: string(),
|
|
1260
|
-
multisigAuthority: string(),
|
|
1261
|
-
newAuthority: string()
|
|
1262
|
-
}),
|
|
1263
|
-
parsedTransactionInstructionType("SplTokenMintToInstruction", {
|
|
1264
|
-
account: string(),
|
|
1265
|
-
amount: string(),
|
|
1266
|
-
authority: string(),
|
|
1267
|
-
mint: string(),
|
|
1268
|
-
mintAuthority: string(),
|
|
1269
|
-
multisigMintAuthority: string()
|
|
1270
|
-
}),
|
|
1271
|
-
parsedTransactionInstructionType("SplTokenBurnInstruction", {
|
|
1272
|
-
account: string(),
|
|
1273
|
-
amount: string(),
|
|
1274
|
-
authority: string(),
|
|
1275
|
-
mint: string(),
|
|
1276
|
-
multisigAuthority: string()
|
|
1277
|
-
}),
|
|
1278
|
-
parsedTransactionInstructionType("SplTokenCloseAccountInstruction", {
|
|
1279
|
-
account: string(),
|
|
1280
|
-
destination: string(),
|
|
1281
|
-
multisigOwner: string(),
|
|
1282
|
-
owner: string()
|
|
1283
|
-
}),
|
|
1284
|
-
parsedTransactionInstructionType("SplTokenFreezeAccountInstruction", {
|
|
1285
|
-
account: string(),
|
|
1286
|
-
freezeAuthority: string(),
|
|
1287
|
-
mint: string(),
|
|
1288
|
-
multisigFreezeAuthority: string()
|
|
1289
|
-
}),
|
|
1290
|
-
parsedTransactionInstructionType("SplTokenThawAccountInstruction", {
|
|
1291
|
-
account: string(),
|
|
1292
|
-
freezeAuthority: string(),
|
|
1293
|
-
mint: string(),
|
|
1294
|
-
multisigFreezeAuthority: string()
|
|
1295
|
-
}),
|
|
1296
|
-
parsedTransactionInstructionType("SplTokenTransferCheckedInstruction", {
|
|
1297
|
-
authority: string(),
|
|
1298
|
-
destination: string(),
|
|
1299
|
-
mint: string(),
|
|
1300
|
-
multisigAuthority: string(),
|
|
1301
|
-
source: string(),
|
|
1302
|
-
tokenAmount: string()
|
|
1303
|
-
}),
|
|
1304
|
-
parsedTransactionInstructionType("SplTokenApproveCheckedInstruction", {
|
|
1305
|
-
delegate: string(),
|
|
1306
|
-
mint: string(),
|
|
1307
|
-
multisigOwner: string(),
|
|
1308
|
-
owner: string(),
|
|
1309
|
-
source: string(),
|
|
1310
|
-
tokenAmount: string()
|
|
1311
|
-
}),
|
|
1312
|
-
parsedTransactionInstructionType("SplTokenMintToCheckedInstruction", {
|
|
1313
|
-
account: string(),
|
|
1314
|
-
authority: string(),
|
|
1315
|
-
mint: string(),
|
|
1316
|
-
mintAuthority: string(),
|
|
1317
|
-
multisigMintAuthority: string(),
|
|
1318
|
-
tokenAmount: string()
|
|
1319
|
-
}),
|
|
1320
|
-
parsedTransactionInstructionType("SplTokenBurnCheckedInstruction", {
|
|
1321
|
-
account: string(),
|
|
1322
|
-
authority: string(),
|
|
1323
|
-
mint: string(),
|
|
1324
|
-
multisigAuthority: string(),
|
|
1325
|
-
tokenAmount: string()
|
|
1326
|
-
}),
|
|
1327
|
-
parsedTransactionInstructionType("SplTokenSyncNativeInstruction", {
|
|
1328
|
-
account: string()
|
|
1329
|
-
}),
|
|
1330
|
-
parsedTransactionInstructionType("SplTokenGetAccountDataSizeInstruction", {
|
|
1331
|
-
extensionTypes: list(string()),
|
|
1332
|
-
mint: string()
|
|
1333
|
-
}),
|
|
1334
|
-
parsedTransactionInstructionType("SplTokenInitializeImmutableOwnerInstruction", {
|
|
1335
|
-
account: string()
|
|
1336
|
-
}),
|
|
1337
|
-
parsedTransactionInstructionType("SplTokenAmountToUiAmountInstruction", {
|
|
1338
|
-
amount: string(),
|
|
1339
|
-
mint: string()
|
|
1340
|
-
}),
|
|
1341
|
-
parsedTransactionInstructionType("SplTokenUiAmountToAmountInstruction", {
|
|
1342
|
-
mint: string(),
|
|
1343
|
-
uiAmount: string()
|
|
1344
|
-
}),
|
|
1345
|
-
parsedTransactionInstructionType("SplTokenInitializeMintCloseAuthorityInstruction", {
|
|
1346
|
-
mint: string(),
|
|
1347
|
-
newAuthority: string()
|
|
1348
|
-
})
|
|
1349
|
-
// TODO: Extensions!
|
|
1350
|
-
// - TransferFeeExtension
|
|
1351
|
-
// - ConfidentialTransferFeeExtension
|
|
1352
|
-
// - DefaultAccountStateExtension
|
|
1353
|
-
// - Reallocate
|
|
1354
|
-
// - MemoTransferExtension
|
|
1355
|
-
// - CreateNativeMint
|
|
1356
|
-
// - InitializeNonTransferableMint
|
|
1357
|
-
// - InterestBearingMintExtension
|
|
1358
|
-
// - CpiGuardExtension
|
|
1359
|
-
// - InitializePermanentDelegate
|
|
1360
|
-
// - TransferHookExtension
|
|
1361
|
-
// - ConfidentialTransferFeeExtension
|
|
1362
|
-
// - WithdrawExcessLamports
|
|
1363
|
-
// - MetadataPointerExtension
|
|
1364
|
-
];
|
|
1365
|
-
return memoisedParsedInstructionsSplToken;
|
|
1366
|
-
};
|
|
1367
|
-
var memoisedLockup;
|
|
1368
|
-
var lockup = () => {
|
|
1369
|
-
if (!memoisedLockup)
|
|
1370
|
-
memoisedLockup = new GraphQLObjectType({
|
|
1371
|
-
fields: {
|
|
1372
|
-
custodian: string(),
|
|
1373
|
-
epoch: bigint(),
|
|
1374
|
-
unixTimestamp: bigint()
|
|
1375
|
-
},
|
|
1376
|
-
name: "Lockup"
|
|
1377
|
-
});
|
|
1378
|
-
return memoisedLockup;
|
|
1379
|
-
};
|
|
1380
|
-
var memoisedParsedInstructionsStake;
|
|
1381
|
-
var parsedInstructionsStake = () => {
|
|
1382
|
-
if (!memoisedParsedInstructionsStake)
|
|
1383
|
-
memoisedParsedInstructionsStake = [
|
|
1384
|
-
parsedTransactionInstructionType("StakeInitializeInstruction", {
|
|
1385
|
-
authorized: object("StakeInitializeInstructionAuthorized", {
|
|
1386
|
-
staker: string(),
|
|
1387
|
-
withdrawer: string()
|
|
1388
|
-
}),
|
|
1389
|
-
lockup: object("StakeInitializeInstructionLockup", {
|
|
1390
|
-
custodian: string(),
|
|
1391
|
-
epoch: bigint(),
|
|
1392
|
-
unixTimestamp: bigint()
|
|
1393
|
-
}),
|
|
1394
|
-
rentSysvar: string(),
|
|
1395
|
-
stakeAccount: string()
|
|
1396
|
-
}),
|
|
1397
|
-
parsedTransactionInstructionType("StakeAuthorizeInstruction", {
|
|
1398
|
-
authority: string(),
|
|
1399
|
-
authorityType: string(),
|
|
1400
|
-
clockSysvar: string(),
|
|
1401
|
-
custodian: string(),
|
|
1402
|
-
newAuthority: string(),
|
|
1403
|
-
stakeAccount: string()
|
|
1404
|
-
}),
|
|
1405
|
-
parsedTransactionInstructionType("StakeDelegateStakeInstruction", {
|
|
1406
|
-
clockSysvar: string(),
|
|
1407
|
-
stakeAccount: string(),
|
|
1408
|
-
stakeAuthority: string(),
|
|
1409
|
-
stakeConfigAccount: string(),
|
|
1410
|
-
stakeHistorySysvar: string(),
|
|
1411
|
-
voteAccount: string()
|
|
1412
|
-
}),
|
|
1413
|
-
parsedTransactionInstructionType("StakeSplitInstruction", {
|
|
1414
|
-
lamports: bigint(),
|
|
1415
|
-
newSplitAccount: string(),
|
|
1416
|
-
stakeAccount: string(),
|
|
1417
|
-
stakeAuthority: string()
|
|
1418
|
-
}),
|
|
1419
|
-
parsedTransactionInstructionType("StakeWithdrawInstruction", {
|
|
1420
|
-
clockSysvar: string(),
|
|
1421
|
-
destination: string(),
|
|
1422
|
-
lamports: bigint(),
|
|
1423
|
-
stakeAccount: string(),
|
|
1424
|
-
withdrawAuthority: string()
|
|
1425
|
-
}),
|
|
1426
|
-
parsedTransactionInstructionType("StakeDeactivateInstruction", {
|
|
1427
|
-
clockSysvar: string(),
|
|
1428
|
-
stakeAccount: string(),
|
|
1429
|
-
stakeAuthority: string()
|
|
1430
|
-
}),
|
|
1431
|
-
parsedTransactionInstructionType("StakeSetLockupInstruction", {
|
|
1432
|
-
custodian: string(),
|
|
1433
|
-
lockup: type(lockup()),
|
|
1434
|
-
stakeAccount: string()
|
|
1435
|
-
}),
|
|
1436
|
-
parsedTransactionInstructionType("StakeMergeInstruction", {
|
|
1437
|
-
clockSysvar: string(),
|
|
1438
|
-
destination: string(),
|
|
1439
|
-
source: string(),
|
|
1440
|
-
stakeAuthority: string(),
|
|
1441
|
-
stakeHistorySysvar: string()
|
|
1442
|
-
}),
|
|
1443
|
-
parsedTransactionInstructionType("StakeAuthorizeWithSeedInstruction", {
|
|
1444
|
-
authorityBase: string(),
|
|
1445
|
-
authorityOwner: string(),
|
|
1446
|
-
authoritySeed: string(),
|
|
1447
|
-
authorityType: string(),
|
|
1448
|
-
clockSysvar: string(),
|
|
1449
|
-
custodian: string(),
|
|
1450
|
-
newAuthorized: string(),
|
|
1451
|
-
stakeAccount: string()
|
|
1452
|
-
}),
|
|
1453
|
-
parsedTransactionInstructionType("StakeInitializeCheckedInstruction", {
|
|
1454
|
-
rentSysvar: string(),
|
|
1455
|
-
stakeAccount: string(),
|
|
1456
|
-
staker: string(),
|
|
1457
|
-
withdrawer: string()
|
|
1458
|
-
}),
|
|
1459
|
-
parsedTransactionInstructionType("StakeAuthorizeCheckedInstruction", {
|
|
1460
|
-
authority: string(),
|
|
1461
|
-
authorityType: string(),
|
|
1462
|
-
clockSysvar: string(),
|
|
1463
|
-
custodian: string(),
|
|
1464
|
-
newAuthority: string(),
|
|
1465
|
-
stakeAccount: string()
|
|
1466
|
-
}),
|
|
1467
|
-
parsedTransactionInstructionType("StakeAuthorizeCheckedWithSeedInstruction", {
|
|
1468
|
-
authorityBase: string(),
|
|
1469
|
-
authorityOwner: string(),
|
|
1470
|
-
authoritySeed: string(),
|
|
1471
|
-
authorityType: string(),
|
|
1472
|
-
clockSysvar: string(),
|
|
1473
|
-
custodian: string(),
|
|
1474
|
-
newAuthorized: string(),
|
|
1475
|
-
stakeAccount: string()
|
|
1476
|
-
}),
|
|
1477
|
-
parsedTransactionInstructionType("StakeSetLockupCheckedInstruction", {
|
|
1478
|
-
custodian: string(),
|
|
1479
|
-
lockup: type(lockup()),
|
|
1480
|
-
stakeAccount: string()
|
|
1481
|
-
}),
|
|
1482
|
-
parsedTransactionInstructionType("StakeDeactivateDelinquentInstruction", {
|
|
1483
|
-
referenceVoteAccount: string(),
|
|
1484
|
-
stakeAccount: string(),
|
|
1485
|
-
voteAccount: string()
|
|
1486
|
-
}),
|
|
1487
|
-
parsedTransactionInstructionType("StakeRedelegateInstruction", {
|
|
1488
|
-
newStakeAccount: string(),
|
|
1489
|
-
stakeAccount: string(),
|
|
1490
|
-
stakeAuthority: string(),
|
|
1491
|
-
stakeConfigAccount: string(),
|
|
1492
|
-
voteAccount: string()
|
|
1493
|
-
})
|
|
1494
|
-
];
|
|
1495
|
-
return memoisedParsedInstructionsStake;
|
|
1496
|
-
};
|
|
1497
|
-
var memoisedParsedInstructionsSystem;
|
|
1498
|
-
var parsedInstructionsSystem = () => {
|
|
1499
|
-
if (!memoisedParsedInstructionsSystem)
|
|
1500
|
-
memoisedParsedInstructionsSystem = [
|
|
1501
|
-
parsedTransactionInstructionType("CreateAccountInstruction", {
|
|
1502
|
-
lamports: bigint(),
|
|
1503
|
-
newAccount: string(),
|
|
1504
|
-
owner: string(),
|
|
1505
|
-
source: string(),
|
|
1506
|
-
space: bigint()
|
|
1507
|
-
}),
|
|
1508
|
-
parsedTransactionInstructionType("AssignInstruction", {
|
|
1509
|
-
owner: string()
|
|
1510
|
-
}),
|
|
1511
|
-
parsedTransactionInstructionType("TransferInstruction", {
|
|
1512
|
-
amount: string(),
|
|
1513
|
-
lamports: number(),
|
|
1514
|
-
source: string()
|
|
1515
|
-
}),
|
|
1516
|
-
parsedTransactionInstructionType("CreateAccountWithSeedInstruction", {
|
|
1517
|
-
base: string(),
|
|
1518
|
-
lamports: bigint(),
|
|
1519
|
-
owner: string(),
|
|
1520
|
-
seed: string(),
|
|
1521
|
-
space: bigint()
|
|
1522
|
-
}),
|
|
1523
|
-
parsedTransactionInstructionType("AdvanceNonceAccountInstruction", {
|
|
1524
|
-
nonceAccount: string(),
|
|
1525
|
-
nonceAuthority: string(),
|
|
1526
|
-
recentBlockhashesSysvar: string()
|
|
1527
|
-
}),
|
|
1528
|
-
parsedTransactionInstructionType("WithdrawNonceAccountInstruction", {
|
|
1529
|
-
destination: string(),
|
|
1530
|
-
lamports: bigint(),
|
|
1531
|
-
nonceAccount: string(),
|
|
1532
|
-
nonceAuthority: string(),
|
|
1533
|
-
recentBlockhashesSysvar: string(),
|
|
1534
|
-
rentSysvar: string()
|
|
1535
|
-
}),
|
|
1536
|
-
parsedTransactionInstructionType("InitializeNonceAccountInstruction", {
|
|
1537
|
-
nonceAccount: string(),
|
|
1538
|
-
nonceAuthority: string(),
|
|
1539
|
-
recentBlockhashesSysvar: string(),
|
|
1540
|
-
rentSysvar: string()
|
|
1541
|
-
}),
|
|
1542
|
-
parsedTransactionInstructionType("AuthorizeNonceAccountInstruction", {
|
|
1543
|
-
newAuthorized: string(),
|
|
1544
|
-
nonceAccount: string(),
|
|
1545
|
-
nonceAuthority: string()
|
|
1546
|
-
}),
|
|
1547
|
-
parsedTransactionInstructionType("UpgradeNonceAccountInstruction", {
|
|
1548
|
-
nonceAccount: string()
|
|
1549
|
-
}),
|
|
1550
|
-
parsedTransactionInstructionType("AllocateInstruction", {
|
|
1551
|
-
account: string(),
|
|
1552
|
-
space: bigint()
|
|
1553
|
-
}),
|
|
1554
|
-
parsedTransactionInstructionType("AllocateWithSeedInstruction", {
|
|
1555
|
-
account: string(),
|
|
1556
|
-
base: string(),
|
|
1557
|
-
owner: string(),
|
|
1558
|
-
seed: string(),
|
|
1559
|
-
space: bigint()
|
|
1560
|
-
}),
|
|
1561
|
-
parsedTransactionInstructionType("AssignWithSeedInstruction", {
|
|
1562
|
-
account: string(),
|
|
1563
|
-
base: string(),
|
|
1564
|
-
owner: string(),
|
|
1565
|
-
seed: string()
|
|
1566
|
-
}),
|
|
1567
|
-
parsedTransactionInstructionType("TransferWithSeedInstruction", {
|
|
1568
|
-
destination: string(),
|
|
1569
|
-
lamports: bigint(),
|
|
1570
|
-
source: string(),
|
|
1571
|
-
sourceBase: string(),
|
|
1572
|
-
sourceOwner: string(),
|
|
1573
|
-
sourceSeed: string()
|
|
1574
|
-
})
|
|
1575
|
-
];
|
|
1576
|
-
return memoisedParsedInstructionsSystem;
|
|
1577
|
-
};
|
|
1578
|
-
var memoisedVote;
|
|
1579
|
-
var vote = () => {
|
|
1580
|
-
if (!memoisedVote)
|
|
1581
|
-
memoisedVote = new GraphQLObjectType({
|
|
1582
|
-
fields: {
|
|
1583
|
-
hash: string(),
|
|
1584
|
-
slots: list(bigint()),
|
|
1585
|
-
timestamp: bigint()
|
|
1586
|
-
},
|
|
1587
|
-
name: "Vote"
|
|
1588
|
-
});
|
|
1589
|
-
return memoisedVote;
|
|
1590
|
-
};
|
|
1591
|
-
var memoisedVoteStateUpdate;
|
|
1592
|
-
var voteStateUpdate = () => {
|
|
1593
|
-
if (!memoisedVoteStateUpdate)
|
|
1594
|
-
memoisedVoteStateUpdate = new GraphQLObjectType({
|
|
1595
|
-
fields: {
|
|
1596
|
-
hash: string(),
|
|
1597
|
-
lockouts: list(
|
|
1598
|
-
object("VoteStateUpdateLockout", {
|
|
1599
|
-
confirmationCount: number(),
|
|
1600
|
-
slot: bigint()
|
|
1601
|
-
})
|
|
1602
|
-
),
|
|
1603
|
-
root: bigint(),
|
|
1604
|
-
timestamp: bigint()
|
|
1605
|
-
},
|
|
1606
|
-
name: "VoteStateUpdate"
|
|
1607
|
-
});
|
|
1608
|
-
return memoisedVoteStateUpdate;
|
|
1609
|
-
};
|
|
1610
|
-
var memoisedParsedInstructionsVote;
|
|
1611
|
-
var parsedInstructionsVote = () => {
|
|
1612
|
-
if (!memoisedParsedInstructionsVote)
|
|
1613
|
-
memoisedParsedInstructionsVote = [
|
|
1614
|
-
parsedTransactionInstructionType("VoteInitializeAccountInstruction", {
|
|
1615
|
-
authorizedVoter: string(),
|
|
1616
|
-
authorizedWithdrawer: string(),
|
|
1617
|
-
clockSysvar: string(),
|
|
1618
|
-
commission: number(),
|
|
1619
|
-
node: string(),
|
|
1620
|
-
rentSysvar: string(),
|
|
1621
|
-
voteAccount: string()
|
|
1622
|
-
}),
|
|
1623
|
-
parsedTransactionInstructionType("VoteAuthorizeInstruction", {
|
|
1624
|
-
authority: string(),
|
|
1625
|
-
authorityType: string(),
|
|
1626
|
-
clockSysvar: string(),
|
|
1627
|
-
newAuthority: string(),
|
|
1628
|
-
voteAccount: string()
|
|
1629
|
-
}),
|
|
1630
|
-
parsedTransactionInstructionType("VoteAuthorizeWithSeedInstruction", {
|
|
1631
|
-
authorityBaseKey: string(),
|
|
1632
|
-
authorityOwner: string(),
|
|
1633
|
-
authoritySeed: string(),
|
|
1634
|
-
authorityType: string(),
|
|
1635
|
-
clockSysvar: string(),
|
|
1636
|
-
newAuthority: string(),
|
|
1637
|
-
voteAccount: string()
|
|
1638
|
-
}),
|
|
1639
|
-
parsedTransactionInstructionType("VoteAuthorizeCheckedWithSeedInstruction", {
|
|
1640
|
-
authorityBaseKey: string(),
|
|
1641
|
-
authorityOwner: string(),
|
|
1642
|
-
authoritySeed: string(),
|
|
1643
|
-
authorityType: string(),
|
|
1644
|
-
clockSysvar: string(),
|
|
1645
|
-
newAuthority: string(),
|
|
1646
|
-
voteAccount: string()
|
|
1647
|
-
}),
|
|
1648
|
-
parsedTransactionInstructionType("VoteVoteInstruction", {
|
|
1649
|
-
clockSysvar: string(),
|
|
1650
|
-
slotHashedSysvar: string(),
|
|
1651
|
-
vote: type(vote()),
|
|
1652
|
-
voteAccount: string(),
|
|
1653
|
-
voteAuthority: string()
|
|
1654
|
-
}),
|
|
1655
|
-
parsedTransactionInstructionType("VoteUpdateVoteStateInstruction", {
|
|
1656
|
-
hash: string(),
|
|
1657
|
-
voteAccount: string(),
|
|
1658
|
-
voteAuthority: string(),
|
|
1659
|
-
voteStateUpdate: type(voteStateUpdate())
|
|
1660
|
-
}),
|
|
1661
|
-
parsedTransactionInstructionType("VoteUpdateVoteStateSwitchInstruction", {
|
|
1662
|
-
hash: string(),
|
|
1663
|
-
voteAccount: string(),
|
|
1664
|
-
voteAuthority: string(),
|
|
1665
|
-
voteStateUpdate: type(voteStateUpdate())
|
|
1666
|
-
}),
|
|
1667
|
-
parsedTransactionInstructionType("VoteCompactUpdateVoteStateInstruction", {
|
|
1668
|
-
hash: string(),
|
|
1669
|
-
voteAccount: string(),
|
|
1670
|
-
voteAuthority: string(),
|
|
1671
|
-
voteStateUpdate: type(voteStateUpdate())
|
|
1672
|
-
}),
|
|
1673
|
-
parsedTransactionInstructionType("VoteCompactUpdateVoteStateSwitchInstruction", {
|
|
1674
|
-
hash: string(),
|
|
1675
|
-
voteAccount: string(),
|
|
1676
|
-
voteAuthority: string(),
|
|
1677
|
-
voteStateUpdate: type(voteStateUpdate())
|
|
1678
|
-
}),
|
|
1679
|
-
parsedTransactionInstructionType("VoteWithdrawInstruction", {
|
|
1680
|
-
destination: string(),
|
|
1681
|
-
lamports: bigint(),
|
|
1682
|
-
voteAccount: string(),
|
|
1683
|
-
withdrawAuthority: string()
|
|
1684
|
-
}),
|
|
1685
|
-
parsedTransactionInstructionType("VoteUpdateValidatorIdentityInstruction", {
|
|
1686
|
-
newValidatorIdentity: string(),
|
|
1687
|
-
voteAccount: string(),
|
|
1688
|
-
withdrawAuthority: string()
|
|
1689
|
-
}),
|
|
1690
|
-
parsedTransactionInstructionType("VoteUpdateCommissionInstruction", {
|
|
1691
|
-
commission: string(),
|
|
1692
|
-
voteAccount: string(),
|
|
1693
|
-
withdrawAuthority: string()
|
|
1694
|
-
}),
|
|
1695
|
-
parsedTransactionInstructionType("VoteVoteSwitchInstruction", {
|
|
1696
|
-
clockSysvar: string(),
|
|
1697
|
-
hash: string(),
|
|
1698
|
-
slotHashesSysvar: string(),
|
|
1699
|
-
vote: type(vote()),
|
|
1700
|
-
voteAccount: string(),
|
|
1701
|
-
voteAuthority: string()
|
|
1702
|
-
}),
|
|
1703
|
-
parsedTransactionInstructionType("VoteAuthorizeCheckedInstruction", {
|
|
1704
|
-
authority: string(),
|
|
1705
|
-
authorityType: string(),
|
|
1706
|
-
clockSysvar: string(),
|
|
1707
|
-
newAuthority: string(),
|
|
1708
|
-
voteAccount: string()
|
|
1709
|
-
})
|
|
1710
|
-
];
|
|
1711
|
-
return memoisedParsedInstructionsVote;
|
|
1712
|
-
};
|
|
1713
|
-
var memoisedTransactionMetaInterfaceFields;
|
|
1714
|
-
var transactionMetaInterfaceFields = () => {
|
|
1715
|
-
if (!memoisedTransactionMetaInterfaceFields)
|
|
1716
|
-
memoisedTransactionMetaInterfaceFields = {
|
|
1717
|
-
computeUnitsConsumed: bigint(),
|
|
1718
|
-
err: string(),
|
|
1719
|
-
fee: bigint(),
|
|
1720
|
-
format: string(),
|
|
1721
|
-
loadedAddresses: type(transactionMetaLoadedAddresses()),
|
|
1722
|
-
logMessages: list(string()),
|
|
1723
|
-
postBalances: list(bigint()),
|
|
1724
|
-
postTokenBalances: list(type(tokenBalance())),
|
|
1725
|
-
preBalances: list(bigint()),
|
|
1726
|
-
preTokenBalances: list(type(tokenBalance())),
|
|
1727
|
-
returnData: type(returnData()),
|
|
1728
|
-
rewards: list(type(reward())),
|
|
1729
|
-
status: type(transactionStatus())
|
|
1730
|
-
};
|
|
1731
|
-
return memoisedTransactionMetaInterfaceFields;
|
|
1732
|
-
};
|
|
1733
|
-
var memoisedTransactionMetaInterface;
|
|
1734
|
-
var transactionMetaInterface = () => {
|
|
1735
|
-
if (!memoisedTransactionMetaInterface)
|
|
1736
|
-
memoisedTransactionMetaInterface = new GraphQLInterfaceType({
|
|
1737
|
-
fields: {
|
|
1738
|
-
...transactionMetaInterfaceFields()
|
|
1739
|
-
},
|
|
1740
|
-
name: "TransactionMeta",
|
|
1741
|
-
resolveType(meta) {
|
|
1742
|
-
if (meta.format === "parsed") {
|
|
1743
|
-
return "TransactionMetaParsed";
|
|
1744
|
-
}
|
|
1745
|
-
return "TransactionMetaUnparsed";
|
|
1746
|
-
}
|
|
1747
|
-
});
|
|
1748
|
-
return memoisedTransactionMetaInterface;
|
|
1749
|
-
};
|
|
1750
|
-
var transactionMetaType = (name, description, innerInstructions) => new GraphQLObjectType({
|
|
1751
|
-
description,
|
|
1752
|
-
fields: {
|
|
1753
|
-
...transactionMetaInterfaceFields(),
|
|
1754
|
-
innerInstructions
|
|
1755
|
-
},
|
|
1756
|
-
interfaces: [transactionMetaInterface()],
|
|
1757
|
-
name
|
|
1758
|
-
});
|
|
1759
|
-
var memoisedTransactionMetaUnparsed;
|
|
1760
|
-
var transactionMetaUnparsed = () => {
|
|
1761
|
-
if (!memoisedTransactionMetaUnparsed)
|
|
1762
|
-
memoisedTransactionMetaUnparsed = transactionMetaType(
|
|
1763
|
-
"TransactionMetaUnparsed",
|
|
1764
|
-
"Non-parsed transaction meta",
|
|
1765
|
-
list(
|
|
1766
|
-
object("TransactionMetaInnerInstructionsUnparsed", {
|
|
1767
|
-
index: number(),
|
|
1768
|
-
instructions: list(
|
|
1769
|
-
object("TransactionMetaInnerInstructionsUnparsedInstruction", {
|
|
1770
|
-
index: number(),
|
|
1771
|
-
instructions: list(type(transactionInstruction()))
|
|
1772
|
-
})
|
|
1773
|
-
)
|
|
1774
|
-
})
|
|
1775
|
-
)
|
|
1776
|
-
);
|
|
1777
|
-
return memoisedTransactionMetaUnparsed;
|
|
1778
|
-
};
|
|
1779
|
-
var memoisedTransactionMetaParsed;
|
|
1780
|
-
var transactionMetaParsed = () => {
|
|
1781
|
-
if (!memoisedTransactionMetaParsed)
|
|
1782
|
-
memoisedTransactionMetaParsed = transactionMetaType(
|
|
1783
|
-
"TransactionMetaParsed",
|
|
1784
|
-
"Parsed transaction meta",
|
|
1785
|
-
list(
|
|
1786
|
-
object("TransactionMetaInnerInstructionsParsed", {
|
|
1787
|
-
index: number(),
|
|
1788
|
-
instructions: list(type(parsedTransactionInstructionInterface()))
|
|
1789
|
-
})
|
|
1790
|
-
)
|
|
1791
|
-
);
|
|
1792
|
-
return memoisedTransactionMetaParsed;
|
|
1793
|
-
};
|
|
1794
|
-
var memoisedTransactionMessageInterfaceFields;
|
|
1795
|
-
var transactionMessageInterfaceFields = () => {
|
|
1796
|
-
if (!memoisedTransactionMessageInterfaceFields)
|
|
1797
|
-
memoisedTransactionMessageInterfaceFields = {
|
|
1798
|
-
addressTableLookups: list(type(addressTableLookup())),
|
|
1799
|
-
format: string(),
|
|
1800
|
-
header: object("TransactionJsonTransactionHeader", {
|
|
1801
|
-
numReadonlySignedAccounts: number(),
|
|
1802
|
-
numReadonlyUnsignedAccounts: number(),
|
|
1803
|
-
numRequiredSignatures: number()
|
|
1804
|
-
}),
|
|
1805
|
-
recentBlockhash: string()
|
|
1806
|
-
};
|
|
1807
|
-
return memoisedTransactionMessageInterfaceFields;
|
|
1808
|
-
};
|
|
1809
|
-
var memoisedTransactionMessageInterface;
|
|
1810
|
-
var transactionMessageInterface = () => {
|
|
1811
|
-
if (!memoisedTransactionMessageInterface)
|
|
1812
|
-
memoisedTransactionMessageInterface = new GraphQLInterfaceType({
|
|
1813
|
-
fields: {
|
|
1814
|
-
...transactionMessageInterfaceFields()
|
|
1815
|
-
},
|
|
1816
|
-
name: "TransactionMessage",
|
|
1817
|
-
resolveType(message) {
|
|
1818
|
-
if (message.format === "parsed") {
|
|
1819
|
-
return "TransactionMessageParsed";
|
|
1820
|
-
}
|
|
1821
|
-
return "TransactionMessageUnparsed";
|
|
1822
1985
|
}
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
}
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
)
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
)
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
}
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1986
|
+
return "GenericInstruction";
|
|
1987
|
+
}
|
|
1988
|
+
},
|
|
1989
|
+
CreateLookupTableInstruction: {
|
|
1990
|
+
lookupTableAccount: resolveAccount("lookupTableAccount"),
|
|
1991
|
+
lookupTableAuthority: resolveAccount("lookupTableAuthority"),
|
|
1992
|
+
payerAccount: resolveAccount("payerAccount"),
|
|
1993
|
+
systemProgram: resolveAccount("systemProgram")
|
|
1994
|
+
},
|
|
1995
|
+
ExtendLookupTableInstruction: {
|
|
1996
|
+
lookupTableAccount: resolveAccount("lookupTableAccount"),
|
|
1997
|
+
lookupTableAuthority: resolveAccount("lookupTableAuthority"),
|
|
1998
|
+
payerAccount: resolveAccount("payerAccount"),
|
|
1999
|
+
systemProgram: resolveAccount("systemProgram")
|
|
2000
|
+
},
|
|
2001
|
+
FreezeLookupTableInstruction: {
|
|
2002
|
+
lookupTableAccount: resolveAccount("lookupTableAccount"),
|
|
2003
|
+
lookupTableAuthority: resolveAccount("lookupTableAuthority")
|
|
2004
|
+
},
|
|
2005
|
+
DeactivateLookupTableInstruction: {
|
|
2006
|
+
lookupTableAccount: resolveAccount("lookupTableAccount"),
|
|
2007
|
+
lookupTableAuthority: resolveAccount("lookupTableAuthority")
|
|
2008
|
+
},
|
|
2009
|
+
CloseLookupTableInstruction: {
|
|
2010
|
+
lookupTableAccount: resolveAccount("lookupTableAccount"),
|
|
2011
|
+
lookupTableAuthority: resolveAccount("lookupTableAuthority"),
|
|
2012
|
+
recipient: resolveAccount("recipient")
|
|
2013
|
+
},
|
|
2014
|
+
BpfLoaderWriteInstruction: {
|
|
2015
|
+
account: resolveAccount("account")
|
|
2016
|
+
},
|
|
2017
|
+
BpfLoaderFinalizeInstruction: {
|
|
2018
|
+
account: resolveAccount("account")
|
|
2019
|
+
},
|
|
2020
|
+
BpfUpgradeableLoaderInitializeBufferInstruction: {
|
|
2021
|
+
account: resolveAccount("account")
|
|
2022
|
+
},
|
|
2023
|
+
BpfUpgradeableLoaderWriteInstruction: {
|
|
2024
|
+
account: resolveAccount("account"),
|
|
2025
|
+
authority: resolveAccount("authority")
|
|
2026
|
+
},
|
|
2027
|
+
BpfUpgradeableLoaderDeployWithMaxDataLenInstruction: {
|
|
2028
|
+
authority: resolveAccount("authority"),
|
|
2029
|
+
bufferAccount: resolveAccount("bufferAccount"),
|
|
2030
|
+
payerAccount: resolveAccount("payerAccount"),
|
|
2031
|
+
programAccount: resolveAccount("programAccount"),
|
|
2032
|
+
programDataAccount: resolveAccount("programDataAccount")
|
|
2033
|
+
},
|
|
2034
|
+
BpfUpgradeableLoaderUpgradeInstruction: {
|
|
2035
|
+
authority: resolveAccount("authority"),
|
|
2036
|
+
bufferAccount: resolveAccount("bufferAccount"),
|
|
2037
|
+
programAccount: resolveAccount("programAccount"),
|
|
2038
|
+
programDataAccount: resolveAccount("programDataAccount")
|
|
2039
|
+
},
|
|
2040
|
+
BpfUpgradeableLoaderSetAuthorityInstruction: {
|
|
2041
|
+
account: resolveAccount("account"),
|
|
2042
|
+
authority: resolveAccount("authority"),
|
|
2043
|
+
newAuthority: resolveAccount("newAuthority")
|
|
2044
|
+
},
|
|
2045
|
+
BpfUpgradeableLoaderSetAuthorityCheckedInstruction: {
|
|
2046
|
+
account: resolveAccount("account"),
|
|
2047
|
+
authority: resolveAccount("authority"),
|
|
2048
|
+
newAuthority: resolveAccount("newAuthority")
|
|
2049
|
+
},
|
|
2050
|
+
BpfUpgradeableLoaderCloseInstruction: {
|
|
2051
|
+
account: resolveAccount("account"),
|
|
2052
|
+
authority: resolveAccount("authority"),
|
|
2053
|
+
programAccount: resolveAccount("programAccount"),
|
|
2054
|
+
recipient: resolveAccount("recipient")
|
|
2055
|
+
},
|
|
2056
|
+
BpfUpgradeableLoaderExtendProgramInstruction: {
|
|
2057
|
+
payerAccount: resolveAccount("payerAccount"),
|
|
2058
|
+
programAccount: resolveAccount("programAccount"),
|
|
2059
|
+
programDataAccount: resolveAccount("programDataAccount"),
|
|
2060
|
+
systemProgram: resolveAccount("systemProgram")
|
|
2061
|
+
},
|
|
2062
|
+
SplAssociatedTokenCreateInstruction: {
|
|
2063
|
+
account: resolveAccount("account"),
|
|
2064
|
+
mint: resolveAccount("mint"),
|
|
2065
|
+
source: resolveAccount("source"),
|
|
2066
|
+
systemProgram: resolveAccount("systemProgram"),
|
|
2067
|
+
tokenProgram: resolveAccount("tokenProgram"),
|
|
2068
|
+
wallet: resolveAccount("wallet")
|
|
2069
|
+
},
|
|
2070
|
+
SplAssociatedTokenCreateIdempotentInstruction: {
|
|
2071
|
+
account: resolveAccount("account"),
|
|
2072
|
+
mint: resolveAccount("mint"),
|
|
2073
|
+
source: resolveAccount("source"),
|
|
2074
|
+
systemProgram: resolveAccount("systemProgram"),
|
|
2075
|
+
tokenProgram: resolveAccount("tokenProgram"),
|
|
2076
|
+
wallet: resolveAccount("wallet")
|
|
2077
|
+
},
|
|
2078
|
+
SplAssociatedTokenRecoverNestedInstruction: {
|
|
2079
|
+
destination: resolveAccount("destination"),
|
|
2080
|
+
nestedMint: resolveAccount("nestedMint"),
|
|
2081
|
+
nestedOwner: resolveAccount("nestedOwner"),
|
|
2082
|
+
nestedSource: resolveAccount("nestedSource"),
|
|
2083
|
+
ownerMint: resolveAccount("ownerMint"),
|
|
2084
|
+
tokenProgram: resolveAccount("tokenProgram"),
|
|
2085
|
+
wallet: resolveAccount("wallet")
|
|
2086
|
+
},
|
|
2087
|
+
SplTokenInitializeMintInstruction: {
|
|
2088
|
+
freezeAuthority: resolveAccount("freezeAuthority"),
|
|
2089
|
+
mint: resolveAccount("mint"),
|
|
2090
|
+
mintAuthority: resolveAccount("mintAuthority")
|
|
2091
|
+
},
|
|
2092
|
+
SplTokenInitializeMint2Instruction: {
|
|
2093
|
+
freezeAuthority: resolveAccount("freezeAuthority"),
|
|
2094
|
+
mint: resolveAccount("mint"),
|
|
2095
|
+
mintAuthority: resolveAccount("mintAuthority")
|
|
2096
|
+
},
|
|
2097
|
+
SplTokenInitializeAccountInstruction: {
|
|
2098
|
+
account: resolveAccount("account"),
|
|
2099
|
+
mint: resolveAccount("mint"),
|
|
2100
|
+
owner: resolveAccount("owner")
|
|
2101
|
+
},
|
|
2102
|
+
SplTokenInitializeAccount2Instruction: {
|
|
2103
|
+
account: resolveAccount("account"),
|
|
2104
|
+
mint: resolveAccount("mint"),
|
|
2105
|
+
owner: resolveAccount("owner")
|
|
2106
|
+
},
|
|
2107
|
+
SplTokenInitializeAccount3Instruction: {
|
|
2108
|
+
account: resolveAccount("account"),
|
|
2109
|
+
mint: resolveAccount("mint"),
|
|
2110
|
+
owner: resolveAccount("owner")
|
|
2111
|
+
},
|
|
2112
|
+
SplTokenInitializeMultisigInstruction: {
|
|
2113
|
+
multisig: resolveAccount("multisig")
|
|
2114
|
+
},
|
|
2115
|
+
SplTokenInitializeMultisig2Instruction: {
|
|
2116
|
+
multisig: resolveAccount("multisig")
|
|
2117
|
+
},
|
|
2118
|
+
SplTokenTransferInstruction: {
|
|
2119
|
+
authority: resolveAccount("authority"),
|
|
2120
|
+
destination: resolveAccount("destination"),
|
|
2121
|
+
multisigAuthority: resolveAccount("multisigAuthority"),
|
|
2122
|
+
source: resolveAccount("source")
|
|
2123
|
+
},
|
|
2124
|
+
SplTokenApproveInstruction: {
|
|
2125
|
+
delegate: resolveAccount("delegate"),
|
|
2126
|
+
multisigOwner: resolveAccount("multisigOwner"),
|
|
2127
|
+
owner: resolveAccount("owner"),
|
|
2128
|
+
source: resolveAccount("source")
|
|
2129
|
+
},
|
|
2130
|
+
SplTokenRevokeInstruction: {
|
|
2131
|
+
multisigOwner: resolveAccount("multisigOwner"),
|
|
2132
|
+
owner: resolveAccount("owner"),
|
|
2133
|
+
source: resolveAccount("source")
|
|
2134
|
+
},
|
|
2135
|
+
SplTokenSetAuthorityInstruction: {
|
|
2136
|
+
authority: resolveAccount("authority"),
|
|
2137
|
+
multisigAuthority: resolveAccount("multisigAuthority"),
|
|
2138
|
+
newAuthority: resolveAccount("newAuthority")
|
|
2139
|
+
},
|
|
2140
|
+
SplTokenMintToInstruction: {
|
|
2141
|
+
account: resolveAccount("account"),
|
|
2142
|
+
authority: resolveAccount("authority"),
|
|
2143
|
+
mint: resolveAccount("mint"),
|
|
2144
|
+
mintAuthority: resolveAccount("mintAuthority"),
|
|
2145
|
+
multisigMintAuthority: resolveAccount("multisigMintAuthority")
|
|
2146
|
+
},
|
|
2147
|
+
SplTokenBurnInstruction: {
|
|
2148
|
+
account: resolveAccount("account"),
|
|
2149
|
+
authority: resolveAccount("authority"),
|
|
2150
|
+
mint: resolveAccount("mint"),
|
|
2151
|
+
multisigAuthority: resolveAccount("multisigAuthority")
|
|
2152
|
+
},
|
|
2153
|
+
SplTokenCloseAccountInstruction: {
|
|
2154
|
+
account: resolveAccount("account"),
|
|
2155
|
+
destination: resolveAccount("destination"),
|
|
2156
|
+
multisigOwner: resolveAccount("multisigOwner"),
|
|
2157
|
+
owner: resolveAccount("owner")
|
|
2158
|
+
},
|
|
2159
|
+
SplTokenFreezeAccountInstruction: {
|
|
2160
|
+
account: resolveAccount("account"),
|
|
2161
|
+
freezeAuthority: resolveAccount("freezeAuthority"),
|
|
2162
|
+
mint: resolveAccount("mint"),
|
|
2163
|
+
multisigFreezeAuthority: resolveAccount("multisigFreezeAuthority")
|
|
2164
|
+
},
|
|
2165
|
+
SplTokenThawAccountInstruction: {
|
|
2166
|
+
account: resolveAccount("account"),
|
|
2167
|
+
freezeAuthority: resolveAccount("freezeAuthority"),
|
|
2168
|
+
mint: resolveAccount("mint"),
|
|
2169
|
+
multisigFreezeAuthority: resolveAccount("multisigFreezeAuthority")
|
|
2170
|
+
},
|
|
2171
|
+
SplTokenTransferCheckedInstruction: {
|
|
2172
|
+
authority: resolveAccount("authority"),
|
|
2173
|
+
destination: resolveAccount("destination"),
|
|
2174
|
+
mint: resolveAccount("mint"),
|
|
2175
|
+
multisigAuthority: resolveAccount("multisigAuthority"),
|
|
2176
|
+
source: resolveAccount("source")
|
|
2177
|
+
},
|
|
2178
|
+
SplTokenApproveCheckedInstruction: {
|
|
2179
|
+
delegate: resolveAccount("delegate"),
|
|
2180
|
+
mint: resolveAccount("mint"),
|
|
2181
|
+
multisigOwner: resolveAccount("multisigOwner"),
|
|
2182
|
+
owner: resolveAccount("owner"),
|
|
2183
|
+
source: resolveAccount("source")
|
|
2184
|
+
},
|
|
2185
|
+
SplTokenMintToCheckedInstruction: {
|
|
2186
|
+
account: resolveAccount("account"),
|
|
2187
|
+
authority: resolveAccount("authority"),
|
|
2188
|
+
mint: resolveAccount("mint"),
|
|
2189
|
+
mintAuthority: resolveAccount("mintAuthority"),
|
|
2190
|
+
multisigMintAuthority: resolveAccount("multisigMintAuthority")
|
|
2191
|
+
},
|
|
2192
|
+
SplTokenBurnCheckedInstruction: {
|
|
2193
|
+
account: resolveAccount("account"),
|
|
2194
|
+
authority: resolveAccount("authority"),
|
|
2195
|
+
mint: resolveAccount("mint"),
|
|
2196
|
+
multisigAuthority: resolveAccount("multisigAuthority")
|
|
2197
|
+
},
|
|
2198
|
+
SplTokenSyncNativeInstruction: {
|
|
2199
|
+
account: resolveAccount("account")
|
|
2200
|
+
},
|
|
2201
|
+
SplTokenGetAccountDataSizeInstruction: {
|
|
2202
|
+
mint: resolveAccount("mint")
|
|
2203
|
+
},
|
|
2204
|
+
SplTokenAmountToUiAmountInstruction: {
|
|
2205
|
+
mint: resolveAccount("mint")
|
|
2206
|
+
},
|
|
2207
|
+
SplTokenUiAmountToAmountInstruction: {
|
|
2208
|
+
mint: resolveAccount("mint")
|
|
2209
|
+
},
|
|
2210
|
+
SplTokenInitializeMintCloseAuthorityInstruction: {
|
|
2211
|
+
mint: resolveAccount("mint"),
|
|
2212
|
+
newAuthority: resolveAccount("newAuthority")
|
|
2213
|
+
},
|
|
2214
|
+
Lockup: {
|
|
2215
|
+
custodian: resolveAccount("custodian")
|
|
2216
|
+
},
|
|
2217
|
+
StakeInitializeInstructionDataAuthorized: {
|
|
2218
|
+
staker: resolveAccount("staker"),
|
|
2219
|
+
withdrawer: resolveAccount("withdrawer")
|
|
2220
|
+
},
|
|
2221
|
+
StakeInitializeInstruction: {
|
|
2222
|
+
stakeAccount: resolveAccount("stakeAccount")
|
|
2223
|
+
},
|
|
2224
|
+
StakeAuthorizeInstruction: {
|
|
2225
|
+
authority: resolveAccount("authority"),
|
|
2226
|
+
custodian: resolveAccount("custodian"),
|
|
2227
|
+
newAuthority: resolveAccount("newAuthority"),
|
|
2228
|
+
stakeAccount: resolveAccount("stakeAccount")
|
|
2229
|
+
},
|
|
2230
|
+
StakeDelegateStakeInstruction: {
|
|
2231
|
+
stakeAccount: resolveAccount("stakeAccount"),
|
|
2232
|
+
stakeAuthority: resolveAccount("stakeAuthority"),
|
|
2233
|
+
stakeConfigAccount: resolveAccount("stakeConfigAccount"),
|
|
2234
|
+
voteAccount: resolveAccount("voteAccount")
|
|
2235
|
+
},
|
|
2236
|
+
StakeSplitInstruction: {
|
|
2237
|
+
newSplitAccount: resolveAccount("newSplitAccount"),
|
|
2238
|
+
stakeAccount: resolveAccount("stakeAccount"),
|
|
2239
|
+
stakeAuthority: resolveAccount("stakeAuthority")
|
|
2240
|
+
},
|
|
2241
|
+
StakeWithdrawInstruction: {
|
|
2242
|
+
destination: resolveAccount("destination"),
|
|
2243
|
+
stakeAccount: resolveAccount("stakeAccount"),
|
|
2244
|
+
withdrawAuthority: resolveAccount("withdrawAuthority")
|
|
2245
|
+
},
|
|
2246
|
+
StakeDeactivateInstruction: {
|
|
2247
|
+
stakeAccount: resolveAccount("stakeAccount"),
|
|
2248
|
+
stakeAuthority: resolveAccount("stakeAuthority")
|
|
2249
|
+
},
|
|
2250
|
+
StakeSetLockupInstruction: {
|
|
2251
|
+
custodian: resolveAccount("custodian"),
|
|
2252
|
+
stakeAccount: resolveAccount("stakeAccount")
|
|
2253
|
+
},
|
|
2254
|
+
StakeMergeInstruction: {
|
|
2255
|
+
destination: resolveAccount("destination"),
|
|
2256
|
+
source: resolveAccount("source"),
|
|
2257
|
+
stakeAuthority: resolveAccount("stakeAuthority")
|
|
2258
|
+
},
|
|
2259
|
+
StakeAuthorizeWithSeedInstruction: {
|
|
2260
|
+
authorityBase: resolveAccount("authorityBase"),
|
|
2261
|
+
authorityOwner: resolveAccount("authorityOwner"),
|
|
2262
|
+
custodian: resolveAccount("custodian"),
|
|
2263
|
+
newAuthorized: resolveAccount("newAuthorized"),
|
|
2264
|
+
stakeAccount: resolveAccount("stakeAccount")
|
|
2265
|
+
},
|
|
2266
|
+
StakeInitializeCheckedInstructionDataAuthorized: {
|
|
2267
|
+
staker: resolveAccount("staker"),
|
|
2268
|
+
withdrawer: resolveAccount("withdrawer")
|
|
2269
|
+
},
|
|
2270
|
+
StakeAuthorizeCheckedInstruction: {
|
|
2271
|
+
authority: resolveAccount("authority"),
|
|
2272
|
+
custodian: resolveAccount("custodian"),
|
|
2273
|
+
newAuthority: resolveAccount("newAuthority"),
|
|
2274
|
+
stakeAccount: resolveAccount("stakeAccount")
|
|
2275
|
+
},
|
|
2276
|
+
StakeAuthorizeCheckedWithSeedInstruction: {
|
|
2277
|
+
authorityBase: resolveAccount("authorityBase"),
|
|
2278
|
+
authorityOwner: resolveAccount("authorityOwner"),
|
|
2279
|
+
custodian: resolveAccount("custodian"),
|
|
2280
|
+
newAuthorized: resolveAccount("newAuthorized"),
|
|
2281
|
+
stakeAccount: resolveAccount("stakeAccount")
|
|
2282
|
+
},
|
|
2283
|
+
StakeSetLockupCheckedInstruction: {
|
|
2284
|
+
custodian: resolveAccount("custodian"),
|
|
2285
|
+
stakeAccount: resolveAccount("stakeAccount")
|
|
2286
|
+
},
|
|
2287
|
+
StakeDeactivateDelinquentInstruction: {
|
|
2288
|
+
referenceVoteAccount: resolveAccount("referenceVoteAccount"),
|
|
2289
|
+
stakeAccount: resolveAccount("stakeAccount"),
|
|
2290
|
+
voteAccount: resolveAccount("voteAccount")
|
|
2291
|
+
},
|
|
2292
|
+
StakeRedelegateInstruction: {
|
|
2293
|
+
newStakeAccount: resolveAccount("newStakeAccount"),
|
|
2294
|
+
stakeAccount: resolveAccount("stakeAccount"),
|
|
2295
|
+
stakeAuthority: resolveAccount("stakeAuthority"),
|
|
2296
|
+
stakeConfigAccount: resolveAccount("stakeConfigAccount"),
|
|
2297
|
+
voteAccount: resolveAccount("voteAccount")
|
|
2298
|
+
},
|
|
2299
|
+
CreateAccountInstruction: {
|
|
2300
|
+
newAccount: resolveAccount("newAccount"),
|
|
2301
|
+
owner: resolveAccount("owner"),
|
|
2302
|
+
source: resolveAccount("source")
|
|
2303
|
+
},
|
|
2304
|
+
AssignInstruction: {
|
|
2305
|
+
account: resolveAccount("account"),
|
|
2306
|
+
owner: resolveAccount("owner")
|
|
2307
|
+
},
|
|
2308
|
+
TransferInstruction: {
|
|
2309
|
+
destination: resolveAccount("destination"),
|
|
2310
|
+
source: resolveAccount("source")
|
|
2311
|
+
},
|
|
2312
|
+
CreateAccountWithSeedInstruction: {
|
|
2313
|
+
base: resolveAccount("base"),
|
|
2314
|
+
owner: resolveAccount("owner"),
|
|
2315
|
+
seed: resolveAccount("seed")
|
|
2316
|
+
},
|
|
2317
|
+
AdvanceNonceAccountInstruction: {
|
|
2318
|
+
nonceAccount: resolveAccount("nonceAccount"),
|
|
2319
|
+
nonceAuthority: resolveAccount("nonceAuthority")
|
|
2320
|
+
},
|
|
2321
|
+
WithdrawNonceAccountInstruction: {
|
|
2322
|
+
destination: resolveAccount("destination"),
|
|
2323
|
+
nonceAccount: resolveAccount("nonceAccount"),
|
|
2324
|
+
nonceAuthority: resolveAccount("nonceAuthority")
|
|
2325
|
+
},
|
|
2326
|
+
InitializeNonceAccountInstruction: {
|
|
2327
|
+
nonceAccount: resolveAccount("nonceAccount"),
|
|
2328
|
+
nonceAuthority: resolveAccount("nonceAuthority")
|
|
2329
|
+
},
|
|
2330
|
+
AuthorizeNonceAccountInstruction: {
|
|
2331
|
+
newAuthorized: resolveAccount("newAuthorized"),
|
|
2332
|
+
nonceAccount: resolveAccount("nonceAccount"),
|
|
2333
|
+
nonceAuthority: resolveAccount("nonceAuthority")
|
|
2334
|
+
},
|
|
2335
|
+
UpgradeNonceAccountInstruction: {
|
|
2336
|
+
nonceAccount: resolveAccount("nonceAccount"),
|
|
2337
|
+
nonceAuthority: resolveAccount("nonceAuthority")
|
|
2338
|
+
},
|
|
2339
|
+
AllocateInstruction: {
|
|
2340
|
+
account: resolveAccount("account")
|
|
2341
|
+
},
|
|
2342
|
+
AllocateWithSeedInstruction: {
|
|
2343
|
+
account: resolveAccount("account"),
|
|
2344
|
+
owner: resolveAccount("owner")
|
|
2345
|
+
},
|
|
2346
|
+
AssignWithSeedInstruction: {
|
|
2347
|
+
account: resolveAccount("account"),
|
|
2348
|
+
owner: resolveAccount("owner")
|
|
2349
|
+
},
|
|
2350
|
+
TransferWithSeedInstruction: {
|
|
2351
|
+
destination: resolveAccount("destination"),
|
|
2352
|
+
source: resolveAccount("source"),
|
|
2353
|
+
sourceOwner: resolveAccount("sourceOwner")
|
|
2354
|
+
},
|
|
2355
|
+
VoteInitializeAccountInstruction: {
|
|
2356
|
+
authorizedVoter: resolveAccount("authorizedVoter"),
|
|
2357
|
+
authorizedWithdrawer: resolveAccount("authorizedWithdrawer"),
|
|
2358
|
+
node: resolveAccount("node"),
|
|
2359
|
+
voteAccount: resolveAccount("voteAccount")
|
|
2360
|
+
},
|
|
2361
|
+
VoteAuthorizeInstruction: {
|
|
2362
|
+
authority: resolveAccount("authority"),
|
|
2363
|
+
newAuthority: resolveAccount("newAuthority"),
|
|
2364
|
+
voteAccount: resolveAccount("voteAccount")
|
|
2365
|
+
},
|
|
2366
|
+
VoteAuthorizeWithSeedInstruction: {
|
|
2367
|
+
authorityOwner: resolveAccount("authorityOwner"),
|
|
2368
|
+
newAuthority: resolveAccount("newAuthority"),
|
|
2369
|
+
voteAccount: resolveAccount("voteAccount")
|
|
2370
|
+
},
|
|
2371
|
+
VoteAuthorizeCheckedWithSeedInstruction: {
|
|
2372
|
+
authorityOwner: resolveAccount("authorityOwner"),
|
|
2373
|
+
newAuthority: resolveAccount("newAuthority"),
|
|
2374
|
+
voteAccount: resolveAccount("voteAccount")
|
|
2375
|
+
},
|
|
2376
|
+
VoteVoteInstruction: {
|
|
2377
|
+
voteAccount: resolveAccount("voteAccount"),
|
|
2378
|
+
voteAuthority: resolveAccount("voteAuthority")
|
|
2379
|
+
},
|
|
2380
|
+
VoteUpdateVoteStateInstruction: {
|
|
2381
|
+
voteAccount: resolveAccount("voteAccount"),
|
|
2382
|
+
voteAuthority: resolveAccount("voteAuthority")
|
|
2383
|
+
},
|
|
2384
|
+
VoteUpdateVoteStateSwitchInstruction: {
|
|
2385
|
+
voteAccount: resolveAccount("voteAccount"),
|
|
2386
|
+
voteAuthority: resolveAccount("voteAuthority")
|
|
2387
|
+
},
|
|
2388
|
+
VoteCompactUpdateVoteStateInstruction: {
|
|
2389
|
+
voteAccount: resolveAccount("voteAccount"),
|
|
2390
|
+
voteAuthority: resolveAccount("voteAuthority")
|
|
2391
|
+
},
|
|
2392
|
+
VoteCompactUpdateVoteStateSwitchInstruction: {
|
|
2393
|
+
voteAccount: resolveAccount("voteAccount"),
|
|
2394
|
+
voteAuthority: resolveAccount("voteAuthority")
|
|
2395
|
+
},
|
|
2396
|
+
VoteWithdrawInstruction: {
|
|
2397
|
+
voteAccount: resolveAccount("voteAccount"),
|
|
2398
|
+
withdrawAuthority: resolveAccount("withdrawAuthority")
|
|
2399
|
+
},
|
|
2400
|
+
VoteUpdateValidatorIdentityInstruction: {
|
|
2401
|
+
newValidatorIdentity: resolveAccount("newValidatorIdentity"),
|
|
2402
|
+
voteAccount: resolveAccount("voteAccount"),
|
|
2403
|
+
withdrawAuthority: resolveAccount("withdrawAuthority")
|
|
2404
|
+
},
|
|
2405
|
+
VoteUpdateCommissionInstruction: {
|
|
2406
|
+
voteAccount: resolveAccount("voteAccount"),
|
|
2407
|
+
withdrawAuthority: resolveAccount("withdrawAuthority")
|
|
2408
|
+
},
|
|
2409
|
+
VoteVoteSwitchInstruction: {
|
|
2410
|
+
voteAccount: resolveAccount("voteAccount"),
|
|
2411
|
+
voteAuthority: resolveAccount("voteAuthority")
|
|
2412
|
+
},
|
|
2413
|
+
VoteAuthorizeCheckedInstruction: {
|
|
2414
|
+
authority: resolveAccount("authority"),
|
|
2415
|
+
newAuthority: resolveAccount("newAuthority"),
|
|
2416
|
+
voteAccount: resolveAccount("voteAccount")
|
|
2417
|
+
}
|
|
1887
2418
|
};
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
2419
|
+
|
|
2420
|
+
// src/schema/transaction.ts
|
|
2421
|
+
var transactionTypeDefs = (
|
|
2422
|
+
/* GraphQL */
|
|
2423
|
+
`
|
|
2424
|
+
type TransactionStatusOk {
|
|
2425
|
+
Ok: String
|
|
2426
|
+
}
|
|
2427
|
+
type TransactionStatusErr {
|
|
2428
|
+
Err: String
|
|
2429
|
+
}
|
|
2430
|
+
union TransactionStatus = TransactionStatusOk | TransactionStatusErr
|
|
2431
|
+
|
|
2432
|
+
type TransactionLoadedAddresses {
|
|
2433
|
+
readonly: [String]
|
|
2434
|
+
writable: [String]
|
|
2435
|
+
}
|
|
2436
|
+
|
|
2437
|
+
type TransactionInnerInstruction {
|
|
2438
|
+
index: Int
|
|
2439
|
+
instructions: [TransactionInstruction]
|
|
2440
|
+
}
|
|
2441
|
+
|
|
2442
|
+
type TransactionMeta {
|
|
2443
|
+
computeUnitsConsumed: BigInt
|
|
2444
|
+
err: String
|
|
2445
|
+
fee: BigInt
|
|
2446
|
+
innerInstructions: [TransactionInnerInstruction]
|
|
2447
|
+
loadedAddresses: TransactionLoadedAddresses
|
|
2448
|
+
logMessages: [String]
|
|
2449
|
+
postBalances: [BigInt]
|
|
2450
|
+
postTokenBalances: [TokenBalance]
|
|
2451
|
+
preBalances: [BigInt]
|
|
2452
|
+
preTokenBalances: [TokenBalance]
|
|
2453
|
+
returnData: ReturnData
|
|
2454
|
+
rewards: [Reward]
|
|
2455
|
+
status: TransactionStatus
|
|
2456
|
+
}
|
|
2457
|
+
|
|
2458
|
+
type TransactionMessageAccountKey {
|
|
2459
|
+
pubkey: Address
|
|
2460
|
+
signer: Boolean
|
|
2461
|
+
source: String
|
|
2462
|
+
writable: Boolean
|
|
2463
|
+
}
|
|
2464
|
+
|
|
2465
|
+
type TransactionMessageAddressTableLookup {
|
|
2466
|
+
accountKey: Address
|
|
2467
|
+
readableIndexes: [Int]
|
|
2468
|
+
writableIndexes: [Int]
|
|
2469
|
+
}
|
|
2470
|
+
|
|
2471
|
+
type TransactionMessageHeader {
|
|
2472
|
+
numReadonlySignedAccounts: Int
|
|
2473
|
+
numReadonlyUnsignedAccounts: Int
|
|
2474
|
+
numRequiredSignatures: Int
|
|
2475
|
+
}
|
|
2476
|
+
|
|
2477
|
+
type TransactionMessage {
|
|
2478
|
+
accountKeys: [TransactionMessageAccountKey]
|
|
2479
|
+
addressTableLookups: [TransactionMessageAddressTableLookup]
|
|
2480
|
+
header: TransactionMessageHeader
|
|
2481
|
+
instructions: [TransactionInstruction]
|
|
2482
|
+
recentBlockhash: String
|
|
2483
|
+
}
|
|
2484
|
+
|
|
2485
|
+
# Transaction interface
|
|
2486
|
+
interface Transaction {
|
|
2487
|
+
blockTime: String
|
|
2488
|
+
meta: TransactionMeta
|
|
2489
|
+
slot: BigInt
|
|
2490
|
+
version: String
|
|
2491
|
+
}
|
|
2492
|
+
|
|
2493
|
+
# A transaction with base58 encoded data
|
|
2494
|
+
type TransactionBase58 implements Transaction {
|
|
2495
|
+
blockTime: String
|
|
2496
|
+
data: Base58EncodedBytes
|
|
2497
|
+
meta: TransactionMeta
|
|
2498
|
+
slot: BigInt
|
|
2499
|
+
version: String
|
|
2500
|
+
}
|
|
2501
|
+
|
|
2502
|
+
# A transaction with base64 encoded data
|
|
2503
|
+
type TransactionBase64 implements Transaction {
|
|
2504
|
+
blockTime: String
|
|
2505
|
+
data: Base64EncodedBytes
|
|
2506
|
+
meta: TransactionMeta
|
|
2507
|
+
slot: BigInt
|
|
2508
|
+
version: String
|
|
2509
|
+
}
|
|
2510
|
+
|
|
2511
|
+
# A transaction with JSON encoded data
|
|
2512
|
+
type TransactionDataParsed {
|
|
2513
|
+
message: TransactionMessage
|
|
2514
|
+
signatures: [String]
|
|
2515
|
+
}
|
|
2516
|
+
type TransactionParsed implements Transaction {
|
|
2517
|
+
blockTime: String
|
|
2518
|
+
data: TransactionDataParsed
|
|
2519
|
+
meta: TransactionMeta
|
|
2520
|
+
slot: BigInt
|
|
2521
|
+
version: String
|
|
2522
|
+
}
|
|
2523
|
+
`
|
|
2524
|
+
);
|
|
2525
|
+
var transactionResolvers = {
|
|
2526
|
+
Transaction: {
|
|
2527
|
+
__resolveType(transaction) {
|
|
2528
|
+
switch (transaction.encoding) {
|
|
2529
|
+
case "base58":
|
|
1898
2530
|
return "TransactionBase58";
|
|
1899
|
-
|
|
1900
|
-
if (transaction.encoding === "base64") {
|
|
2531
|
+
case "base64":
|
|
1901
2532
|
return "TransactionBase64";
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
return "TransactionJson";
|
|
1905
|
-
}
|
|
1906
|
-
return "TransactionJsonParsed";
|
|
2533
|
+
default:
|
|
2534
|
+
return "TransactionParsed";
|
|
1907
2535
|
}
|
|
1908
|
-
}
|
|
1909
|
-
return memoisedTransactionInterface;
|
|
1910
|
-
};
|
|
1911
|
-
var transactionType = (name, description, transaction) => new GraphQLObjectType({
|
|
1912
|
-
description,
|
|
1913
|
-
fields: {
|
|
1914
|
-
...transactionInterfaceFields(),
|
|
1915
|
-
transaction
|
|
1916
|
-
},
|
|
1917
|
-
interfaces: [transactionInterface()],
|
|
1918
|
-
name
|
|
1919
|
-
});
|
|
1920
|
-
var memoisedTransactionBase58;
|
|
1921
|
-
var transactionBase58 = () => {
|
|
1922
|
-
if (!memoisedTransactionBase58)
|
|
1923
|
-
memoisedTransactionBase58 = transactionType(
|
|
1924
|
-
"TransactionBase58",
|
|
1925
|
-
"A Solana transaction as base58 encoded data",
|
|
1926
|
-
string()
|
|
1927
|
-
);
|
|
1928
|
-
return memoisedTransactionBase58;
|
|
1929
|
-
};
|
|
1930
|
-
var memoisedTransactionBase64;
|
|
1931
|
-
var transactionBase64 = () => {
|
|
1932
|
-
if (!memoisedTransactionBase64)
|
|
1933
|
-
memoisedTransactionBase64 = transactionType(
|
|
1934
|
-
"TransactionBase64",
|
|
1935
|
-
"A Solana transaction as base64 encoded data",
|
|
1936
|
-
string()
|
|
1937
|
-
);
|
|
1938
|
-
return memoisedTransactionBase64;
|
|
1939
|
-
};
|
|
1940
|
-
var memoisedTransactionJson;
|
|
1941
|
-
var transactionJson = () => {
|
|
1942
|
-
if (!memoisedTransactionJson)
|
|
1943
|
-
memoisedTransactionJson = transactionType(
|
|
1944
|
-
"TransactionJson",
|
|
1945
|
-
"A Solana transaction as a JSON object",
|
|
1946
|
-
type(transactionTransaction())
|
|
1947
|
-
);
|
|
1948
|
-
return memoisedTransactionJson;
|
|
1949
|
-
};
|
|
1950
|
-
var memoisedTransactionJsonParsed;
|
|
1951
|
-
var transactionJsonParsed = () => {
|
|
1952
|
-
if (!memoisedTransactionJsonParsed)
|
|
1953
|
-
memoisedTransactionJsonParsed = transactionType(
|
|
1954
|
-
"TransactionJsonParsed",
|
|
1955
|
-
"A Solana transaction as a parsed JSON object",
|
|
1956
|
-
type(transactionTransaction())
|
|
1957
|
-
);
|
|
1958
|
-
return memoisedTransactionJsonParsed;
|
|
1959
|
-
};
|
|
1960
|
-
var memoisedTransactionTypes;
|
|
1961
|
-
var transactionTypes = () => {
|
|
1962
|
-
if (!memoisedTransactionTypes)
|
|
1963
|
-
memoisedTransactionTypes = [
|
|
1964
|
-
partiallyDecodedTransactionInstruction(),
|
|
1965
|
-
...parsedInstructionsAddressLookupTable(),
|
|
1966
|
-
...parsedInstructionsBpfLoader(),
|
|
1967
|
-
...parsedInstructionsBpfUpgradeableLoader(),
|
|
1968
|
-
...parsedInstructionsStake(),
|
|
1969
|
-
...parsedInstructionsSplAssociatedToken(),
|
|
1970
|
-
parsedInstructionSplMemo(),
|
|
1971
|
-
...parsedInstructionsSplToken(),
|
|
1972
|
-
...parsedInstructionsSystem(),
|
|
1973
|
-
...parsedInstructionsVote(),
|
|
1974
|
-
transactionMetaUnparsed(),
|
|
1975
|
-
transactionMetaParsed(),
|
|
1976
|
-
transactionMessageUnparsed(),
|
|
1977
|
-
transactionMessageParsed(),
|
|
1978
|
-
transactionBase58(),
|
|
1979
|
-
transactionBase64(),
|
|
1980
|
-
transactionJson(),
|
|
1981
|
-
transactionJsonParsed()
|
|
1982
|
-
];
|
|
1983
|
-
return memoisedTransactionTypes;
|
|
1984
|
-
};
|
|
1985
|
-
|
|
1986
|
-
// src/schema/transaction/query.ts
|
|
1987
|
-
var transactionQuery = () => ({
|
|
1988
|
-
transaction: {
|
|
1989
|
-
args: {
|
|
1990
|
-
commitment: type(commitmentInputType()),
|
|
1991
|
-
encoding: type(transactionEncodingInputType()),
|
|
1992
|
-
maxSupportedTransactionVersion: type(maxSupportedTransactionVersionInputType()),
|
|
1993
|
-
signature: nonNull(string())
|
|
1994
|
-
},
|
|
1995
|
-
resolve: (_parent, args, context) => context.resolveTransaction(args),
|
|
1996
|
-
type: transactionInterface()
|
|
2536
|
+
}
|
|
1997
2537
|
}
|
|
1998
|
-
});
|
|
1999
|
-
|
|
2000
|
-
// src/schema/block/types.ts
|
|
2001
|
-
var memoisedTransactionForAccounts;
|
|
2002
|
-
var transactionForAccounts = () => {
|
|
2003
|
-
if (!memoisedTransactionForAccounts)
|
|
2004
|
-
memoisedTransactionForAccounts = new GraphQLObjectType({
|
|
2005
|
-
fields: {
|
|
2006
|
-
meta: object("TransactionMetaForAccounts", {
|
|
2007
|
-
computeUnitsUsed: bigint(),
|
|
2008
|
-
err: string(),
|
|
2009
|
-
fee: bigint(),
|
|
2010
|
-
format: string(),
|
|
2011
|
-
loadedAddresses: type(transactionMetaLoadedAddresses()),
|
|
2012
|
-
logMessages: list(string()),
|
|
2013
|
-
postBalances: list(bigint()),
|
|
2014
|
-
postTokenBalances: list(type(tokenBalance())),
|
|
2015
|
-
preBalances: list(bigint()),
|
|
2016
|
-
preTokenBalances: list(type(tokenBalance())),
|
|
2017
|
-
returnData: type(returnData()),
|
|
2018
|
-
rewards: list(type(reward())),
|
|
2019
|
-
status: type(transactionStatus())
|
|
2020
|
-
}),
|
|
2021
|
-
transaction: type(transactionInterface()),
|
|
2022
|
-
// TODO
|
|
2023
|
-
version: string()
|
|
2024
|
-
},
|
|
2025
|
-
name: "TransactionForAccounts"
|
|
2026
|
-
});
|
|
2027
|
-
return memoisedTransactionForAccounts;
|
|
2028
|
-
};
|
|
2029
|
-
var memoisedBlockInterfaceFields;
|
|
2030
|
-
var blockInterfaceFields = () => {
|
|
2031
|
-
if (!memoisedBlockInterfaceFields)
|
|
2032
|
-
memoisedBlockInterfaceFields = {
|
|
2033
|
-
blockHeight: bigint(),
|
|
2034
|
-
blockTime: bigint(),
|
|
2035
|
-
blockhash: string(),
|
|
2036
|
-
parentSlot: bigint(),
|
|
2037
|
-
previousBlockhash: string(),
|
|
2038
|
-
rewards: list(type(reward()))
|
|
2039
|
-
};
|
|
2040
|
-
return memoisedBlockInterfaceFields;
|
|
2041
|
-
};
|
|
2042
|
-
var memoisedBlockInterface;
|
|
2043
|
-
var blockInterface = () => {
|
|
2044
|
-
if (!memoisedBlockInterface)
|
|
2045
|
-
memoisedBlockInterface = new GraphQLInterfaceType({
|
|
2046
|
-
fields: {
|
|
2047
|
-
...blockInterfaceFields()
|
|
2048
|
-
},
|
|
2049
|
-
name: "Block",
|
|
2050
|
-
resolveType(block) {
|
|
2051
|
-
if (block.transactionDetails === "signatures") {
|
|
2052
|
-
return "BlockWithSignatures";
|
|
2053
|
-
}
|
|
2054
|
-
if (block.transactionDetails === "accounts") {
|
|
2055
|
-
return "BlockWithAccounts";
|
|
2056
|
-
}
|
|
2057
|
-
if (block.transactionDetails === "none") {
|
|
2058
|
-
return "BlockWithNoTransactions";
|
|
2059
|
-
}
|
|
2060
|
-
return "BlockWithTransactions";
|
|
2061
|
-
}
|
|
2062
|
-
});
|
|
2063
|
-
return memoisedBlockInterface;
|
|
2064
|
-
};
|
|
2065
|
-
var memoisedBlockWithNoTransactions;
|
|
2066
|
-
var blockWithNoTransactions = () => {
|
|
2067
|
-
if (!memoisedBlockWithNoTransactions)
|
|
2068
|
-
memoisedBlockWithNoTransactions = new GraphQLObjectType({
|
|
2069
|
-
fields: {
|
|
2070
|
-
...blockInterfaceFields()
|
|
2071
|
-
},
|
|
2072
|
-
interfaces: [blockInterface()],
|
|
2073
|
-
name: "BlockWithNoTransactions"
|
|
2074
|
-
});
|
|
2075
|
-
return memoisedBlockWithNoTransactions;
|
|
2076
|
-
};
|
|
2077
|
-
var memoisedBlockWithSignatures;
|
|
2078
|
-
var blockWithSignatures = () => {
|
|
2079
|
-
if (!memoisedBlockWithSignatures)
|
|
2080
|
-
memoisedBlockWithSignatures = new GraphQLObjectType({
|
|
2081
|
-
fields: {
|
|
2082
|
-
...blockInterfaceFields(),
|
|
2083
|
-
signatures: list(string())
|
|
2084
|
-
},
|
|
2085
|
-
interfaces: [blockInterface()],
|
|
2086
|
-
name: "BlockWithSignatures"
|
|
2087
|
-
});
|
|
2088
|
-
return memoisedBlockWithSignatures;
|
|
2089
|
-
};
|
|
2090
|
-
var memoisedBlockWithAccounts;
|
|
2091
|
-
var blockWithAccounts = () => {
|
|
2092
|
-
if (!memoisedBlockWithAccounts)
|
|
2093
|
-
memoisedBlockWithAccounts = new GraphQLObjectType({
|
|
2094
|
-
fields: {
|
|
2095
|
-
...blockInterfaceFields(),
|
|
2096
|
-
transactions: list(type(transactionForAccounts()))
|
|
2097
|
-
},
|
|
2098
|
-
interfaces: [blockInterface()],
|
|
2099
|
-
name: "BlockWithAccounts"
|
|
2100
|
-
});
|
|
2101
|
-
return memoisedBlockWithAccounts;
|
|
2102
|
-
};
|
|
2103
|
-
var memoisedBlockWithTransactions;
|
|
2104
|
-
var blockWithTransactions = () => {
|
|
2105
|
-
if (!memoisedBlockWithTransactions)
|
|
2106
|
-
memoisedBlockWithTransactions = new GraphQLObjectType({
|
|
2107
|
-
fields: {
|
|
2108
|
-
...blockInterfaceFields(),
|
|
2109
|
-
transactions: list(type(transactionInterface()))
|
|
2110
|
-
},
|
|
2111
|
-
interfaces: [blockInterface()],
|
|
2112
|
-
name: "BlockWithTransactions"
|
|
2113
|
-
});
|
|
2114
|
-
return memoisedBlockWithTransactions;
|
|
2115
|
-
};
|
|
2116
|
-
var memoisedBlockTypes;
|
|
2117
|
-
var blockTypes = () => {
|
|
2118
|
-
if (!memoisedBlockTypes)
|
|
2119
|
-
memoisedBlockTypes = [
|
|
2120
|
-
blockWithNoTransactions(),
|
|
2121
|
-
blockWithSignatures(),
|
|
2122
|
-
blockWithAccounts(),
|
|
2123
|
-
blockWithTransactions()
|
|
2124
|
-
];
|
|
2125
|
-
return memoisedBlockTypes;
|
|
2126
2538
|
};
|
|
2127
2539
|
|
|
2128
|
-
// src/schema/
|
|
2129
|
-
var
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2540
|
+
// src/schema/index.ts
|
|
2541
|
+
var schemaTypeDefs = (
|
|
2542
|
+
/* GraphQL */
|
|
2543
|
+
`
|
|
2544
|
+
type Query {
|
|
2545
|
+
account(
|
|
2546
|
+
address: String!
|
|
2547
|
+
commitment: Commitment
|
|
2548
|
+
dataSlice: DataSlice
|
|
2549
|
+
encoding: AccountEncoding
|
|
2550
|
+
minContextSlot: BigInt
|
|
2551
|
+
): Account
|
|
2552
|
+
block(
|
|
2553
|
+
slot: BigInt!
|
|
2554
|
+
commitment: Commitment
|
|
2555
|
+
encoding: TransactionEncoding
|
|
2556
|
+
transactionDetails: BlockTransactionDetails
|
|
2557
|
+
): Block
|
|
2558
|
+
programAccounts(
|
|
2559
|
+
programAddress: String!
|
|
2560
|
+
commitment: Commitment
|
|
2561
|
+
dataSlice: DataSlice
|
|
2562
|
+
encoding: AccountEncoding
|
|
2563
|
+
filters: [ProgramAccountsFilter]
|
|
2564
|
+
minContextSlot: BigInt
|
|
2565
|
+
): [Account]
|
|
2566
|
+
transaction(
|
|
2567
|
+
signature: String!
|
|
2568
|
+
commitment: Commitment
|
|
2569
|
+
encoding: TransactionEncoding
|
|
2570
|
+
): Transaction
|
|
2571
|
+
}
|
|
2572
|
+
|
|
2573
|
+
schema {
|
|
2574
|
+
query: Query
|
|
2575
|
+
}
|
|
2576
|
+
`
|
|
2577
|
+
);
|
|
2578
|
+
var schemaResolvers = {
|
|
2579
|
+
Query: {
|
|
2580
|
+
account(_, args, context, info) {
|
|
2581
|
+
return context.loaders.account.load(args, info);
|
|
2138
2582
|
},
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
fields: {
|
|
2145
|
-
account: type(accountInterface()),
|
|
2146
|
-
pubkey: string()
|
|
2147
|
-
},
|
|
2148
|
-
name: "ProgramAccount"
|
|
2149
|
-
});
|
|
2150
|
-
|
|
2151
|
-
// src/schema/program-accounts/query.ts
|
|
2152
|
-
var programAccountsQuery = () => ({
|
|
2153
|
-
programAccounts: {
|
|
2154
|
-
args: {
|
|
2155
|
-
commitment: type(commitmentInputType()),
|
|
2156
|
-
dataSlice: type(dataSliceInputType()),
|
|
2157
|
-
encoding: type(accountEncodingInputType()),
|
|
2158
|
-
filters: list(type(programAccountFilterInputType())),
|
|
2159
|
-
minContextSlot: bigint(),
|
|
2160
|
-
programAddress: nonNull(string()),
|
|
2161
|
-
withContext: string()
|
|
2583
|
+
block(_, args, context, info) {
|
|
2584
|
+
return context.loaders.block.load(args, info);
|
|
2585
|
+
},
|
|
2586
|
+
programAccounts(_, args, context, info) {
|
|
2587
|
+
return context.loaders.programAccounts.load(args, info);
|
|
2162
2588
|
},
|
|
2163
|
-
|
|
2164
|
-
|
|
2589
|
+
transaction(_, args, context, info) {
|
|
2590
|
+
return context.loaders.transaction.load(args, info);
|
|
2591
|
+
}
|
|
2165
2592
|
}
|
|
2166
|
-
}
|
|
2593
|
+
};
|
|
2594
|
+
function createSolanaGraphQLSchema() {
|
|
2595
|
+
return makeExecutableSchema({
|
|
2596
|
+
resolvers: {
|
|
2597
|
+
...accountResolvers,
|
|
2598
|
+
...blockResolvers,
|
|
2599
|
+
...commonResolvers,
|
|
2600
|
+
...inputResolvers,
|
|
2601
|
+
...instructionResolvers,
|
|
2602
|
+
...scalarResolvers,
|
|
2603
|
+
...schemaResolvers,
|
|
2604
|
+
...transactionResolvers
|
|
2605
|
+
},
|
|
2606
|
+
typeDefs: [
|
|
2607
|
+
accountTypeDefs,
|
|
2608
|
+
blockTypeDefs,
|
|
2609
|
+
commonTypeDefs,
|
|
2610
|
+
inputTypeDefs,
|
|
2611
|
+
instructionTypeDefs,
|
|
2612
|
+
scalarTypeDefs,
|
|
2613
|
+
schemaTypeDefs,
|
|
2614
|
+
transactionTypeDefs
|
|
2615
|
+
]
|
|
2616
|
+
});
|
|
2617
|
+
}
|
|
2167
2618
|
|
|
2168
2619
|
// src/rpc.ts
|
|
2169
2620
|
function createRpcGraphQL(rpc) {
|
|
2170
2621
|
const context = createSolanaGraphQLContext(rpc);
|
|
2171
|
-
const schema =
|
|
2172
|
-
query: new GraphQLObjectType({
|
|
2173
|
-
fields: {
|
|
2174
|
-
...accountQuery(),
|
|
2175
|
-
...blockQuery(),
|
|
2176
|
-
...programAccountsQuery(),
|
|
2177
|
-
...transactionQuery()
|
|
2178
|
-
},
|
|
2179
|
-
name: "RootQuery"
|
|
2180
|
-
}),
|
|
2181
|
-
types: [...accountTypes(), ...blockTypes(), ...transactionTypes()]
|
|
2182
|
-
});
|
|
2622
|
+
const schema = createSolanaGraphQLSchema();
|
|
2183
2623
|
return {
|
|
2184
2624
|
context,
|
|
2185
2625
|
async query(source, variableValues) {
|
|
2186
|
-
|
|
2626
|
+
return graphql({
|
|
2187
2627
|
contextValue: this.context,
|
|
2188
2628
|
schema: this.schema,
|
|
2189
2629
|
source,
|
|
2190
2630
|
variableValues
|
|
2191
2631
|
});
|
|
2192
|
-
this.context.cache.flush();
|
|
2193
|
-
return result;
|
|
2194
2632
|
},
|
|
2195
2633
|
schema
|
|
2196
2634
|
};
|