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