@solana/rpc-graphql 2.0.0-experimental.ee4214c → 2.0.0-experimental.ef09aec
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 +2790 -1925
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.js +2786 -1926
- package/dist/index.browser.js.map +1 -1
- package/dist/index.native.js +2786 -1922
- package/dist/index.native.js.map +1 -1
- package/dist/index.node.cjs +2790 -1921
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.js +2786 -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 +3 -0
- package/dist/types/schema/common/scalars.d.ts +45 -0
- package/dist/types/schema/common/types.d.ts +27 -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 +17 -12
- 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,3056 @@
|
|
|
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
|
|
185
270
|
};
|
|
186
271
|
}
|
|
187
|
-
function
|
|
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
|
+
);
|
|
310
|
+
};
|
|
311
|
+
}
|
|
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: Address
|
|
349
|
+
encoding: AccountEncoding
|
|
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: Address
|
|
359
|
+
data: Base58EncodedBytes
|
|
360
|
+
encoding: AccountEncoding
|
|
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: Address
|
|
370
|
+
data: Base64EncodedBytes
|
|
371
|
+
encoding: AccountEncoding
|
|
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: Address
|
|
381
|
+
data: Base64ZstdEncodedBytes
|
|
382
|
+
encoding: AccountEncoding
|
|
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: Address
|
|
410
|
+
data: NonceAccountData
|
|
411
|
+
encoding: AccountEncoding
|
|
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: Address
|
|
429
|
+
data: LookupTableAccountData
|
|
430
|
+
encoding: AccountEncoding
|
|
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: Address
|
|
448
|
+
data: MintAccountData
|
|
449
|
+
encoding: AccountEncoding
|
|
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: Address
|
|
467
|
+
data: TokenAccountData
|
|
468
|
+
encoding: AccountEncoding
|
|
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: Address
|
|
508
|
+
data: StakeAccountData
|
|
509
|
+
encoding: AccountEncoding
|
|
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: Address
|
|
548
|
+
data: VoteAccountData
|
|
549
|
+
encoding: AccountEncoding
|
|
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
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
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: [Address]
|
|
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
|
+
}
|
|
450
752
|
};
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
753
|
+
|
|
754
|
+
// src/schema/common/inputs.ts
|
|
755
|
+
var inputTypeDefs = (
|
|
756
|
+
/* GraphQL */
|
|
757
|
+
`
|
|
758
|
+
input DataSlice {
|
|
759
|
+
offset: Int
|
|
760
|
+
length: Int
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
input ProgramAccountsFilter {
|
|
764
|
+
bytes: BigInt
|
|
765
|
+
dataSize: BigInt
|
|
766
|
+
encoding: AccountEncoding
|
|
767
|
+
offset: BigInt
|
|
768
|
+
}
|
|
769
|
+
`
|
|
770
|
+
);
|
|
771
|
+
var inputResolvers = {};
|
|
772
|
+
var scalarTypeDefs = (
|
|
773
|
+
/* GraphQL */
|
|
774
|
+
`
|
|
775
|
+
scalar Address
|
|
776
|
+
scalar Base58EncodedBytes
|
|
777
|
+
scalar Base64EncodedBytes
|
|
778
|
+
scalar Base64ZstdEncodedBytes
|
|
779
|
+
scalar BigInt
|
|
780
|
+
`
|
|
781
|
+
);
|
|
782
|
+
var stringScalarAlias = {
|
|
783
|
+
__parseLiteral(ast) {
|
|
784
|
+
if (ast.kind === Kind.STRING) {
|
|
785
|
+
return ast.value.toString();
|
|
786
|
+
}
|
|
787
|
+
return null;
|
|
788
|
+
},
|
|
789
|
+
__parseValue(value) {
|
|
790
|
+
return value;
|
|
791
|
+
},
|
|
792
|
+
__serialize(value) {
|
|
793
|
+
return value;
|
|
794
|
+
}
|
|
466
795
|
};
|
|
467
|
-
var
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
796
|
+
var scalarResolvers = {
|
|
797
|
+
Address: stringScalarAlias,
|
|
798
|
+
Base58EncodedBytes: stringScalarAlias,
|
|
799
|
+
Base64EncodedBytes: stringScalarAlias,
|
|
800
|
+
Base64ZstdEncodedBytes: stringScalarAlias,
|
|
801
|
+
BigInt: {
|
|
802
|
+
__parseLiteral(ast) {
|
|
803
|
+
if (ast.kind === Kind.STRING) {
|
|
804
|
+
return BigInt(ast.value);
|
|
805
|
+
}
|
|
806
|
+
return null;
|
|
807
|
+
},
|
|
808
|
+
__parseValue(value) {
|
|
809
|
+
return BigInt(value);
|
|
810
|
+
},
|
|
811
|
+
__serialize(value) {
|
|
812
|
+
return BigInt(value);
|
|
813
|
+
}
|
|
814
|
+
}
|
|
482
815
|
};
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
var
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
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;
|
|
816
|
+
|
|
817
|
+
// src/schema/common/types.ts
|
|
818
|
+
var commonTypeDefs = (
|
|
819
|
+
/* GraphQL */
|
|
820
|
+
`
|
|
821
|
+
enum AccountEncoding {
|
|
822
|
+
BASE_58
|
|
823
|
+
BASE_64
|
|
824
|
+
BASE_64_ZSTD
|
|
825
|
+
PARSED
|
|
826
|
+
}
|
|
827
|
+
|
|
828
|
+
enum BlockTransactionDetails {
|
|
829
|
+
accounts
|
|
830
|
+
full
|
|
831
|
+
none
|
|
832
|
+
signatures
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
enum Commitment {
|
|
836
|
+
confirmed
|
|
837
|
+
finalized
|
|
838
|
+
processed
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
type ReturnData {
|
|
842
|
+
data: Base64EncodedBytes
|
|
843
|
+
programId: Address
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
type Reward {
|
|
847
|
+
commission: Int
|
|
848
|
+
lamports: BigInt
|
|
849
|
+
postBalance: BigInt
|
|
850
|
+
pubkey: Address
|
|
851
|
+
rewardType: String
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
type TokenAmount {
|
|
855
|
+
amount: String
|
|
856
|
+
decimals: Int
|
|
857
|
+
uiAmount: BigInt
|
|
858
|
+
uiAmountString: String
|
|
859
|
+
}
|
|
860
|
+
|
|
861
|
+
type TokenBalance {
|
|
862
|
+
accountIndex: Int
|
|
863
|
+
mint: Account
|
|
864
|
+
owner: Account
|
|
865
|
+
programId: Address
|
|
866
|
+
uiTokenAmount: TokenAmount
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
enum TransactionEncoding {
|
|
870
|
+
BASE_58
|
|
871
|
+
BASE_64
|
|
872
|
+
PARSED
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
enum TransactionVersion {
|
|
876
|
+
LEGACY
|
|
877
|
+
ZERO
|
|
878
|
+
}
|
|
879
|
+
`
|
|
880
|
+
);
|
|
881
|
+
var commonResolvers = {
|
|
882
|
+
AccountEncoding: {
|
|
883
|
+
BASE_58: "base58",
|
|
884
|
+
BASE_64: "base64",
|
|
885
|
+
BASE_64_ZSTD: "base64+zstd",
|
|
886
|
+
PARSED: "jsonParsed"
|
|
887
|
+
},
|
|
888
|
+
TokenBalance: {
|
|
889
|
+
mint: resolveAccount("mint"),
|
|
890
|
+
owner: resolveAccount("owner")
|
|
891
|
+
},
|
|
892
|
+
TransactionEncoding: {
|
|
893
|
+
BASE_58: "base58",
|
|
894
|
+
BASE_64: "base64",
|
|
895
|
+
PARSED: "jsonParsed"
|
|
896
|
+
},
|
|
897
|
+
TransactionVersion: {
|
|
898
|
+
LEGACY: "legacy",
|
|
899
|
+
ZERO: 0
|
|
900
|
+
}
|
|
602
901
|
};
|
|
603
902
|
|
|
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
|
-
|
|
903
|
+
// src/schema/instruction.ts
|
|
904
|
+
var instructionTypeDefs = (
|
|
905
|
+
/* GraphQL */
|
|
906
|
+
`
|
|
907
|
+
type JsonParsedInstructionMeta {
|
|
908
|
+
program: String
|
|
909
|
+
type: String
|
|
910
|
+
}
|
|
911
|
+
|
|
912
|
+
# Transaction instruction interface
|
|
913
|
+
interface TransactionInstruction {
|
|
914
|
+
programId: Address
|
|
915
|
+
}
|
|
916
|
+
|
|
917
|
+
# Generic transaction instruction
|
|
918
|
+
type GenericInstruction implements TransactionInstruction {
|
|
919
|
+
accounts: [Address]
|
|
920
|
+
data: Base64EncodedBytes
|
|
921
|
+
programId: Address
|
|
922
|
+
}
|
|
923
|
+
|
|
924
|
+
# AddressLookupTable: CreateLookupTable
|
|
925
|
+
type CreateLookupTableInstructionData {
|
|
926
|
+
bumpSeed: BigInt # FIXME:*
|
|
927
|
+
lookupTableAccount: Account
|
|
928
|
+
lookupTableAuthority: Account
|
|
929
|
+
payerAccount: Account
|
|
930
|
+
recentSlot: BigInt
|
|
931
|
+
systemProgram: Account
|
|
932
|
+
}
|
|
933
|
+
type CreateLookupTableInstruction implements TransactionInstruction {
|
|
934
|
+
data: CreateLookupTableInstructionData
|
|
935
|
+
meta: JsonParsedInstructionMeta
|
|
936
|
+
programId: Address
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
# AddressLookupTable: ExtendLookupTable
|
|
940
|
+
type ExtendLookupTableInstructionData {
|
|
941
|
+
lookupTableAccount: Account
|
|
942
|
+
lookupTableAuthority: Account
|
|
943
|
+
newAddresses: [Address]
|
|
944
|
+
payerAccount: Account
|
|
945
|
+
systemProgram: Account
|
|
946
|
+
}
|
|
947
|
+
type ExtendLookupTableInstruction implements TransactionInstruction {
|
|
948
|
+
data: ExtendLookupTableInstructionData
|
|
949
|
+
meta: JsonParsedInstructionMeta
|
|
950
|
+
programId: Address
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
# AddressLookupTable: FreezeLookupTable
|
|
954
|
+
type FreezeLookupTableInstructionData {
|
|
955
|
+
lookupTableAccount: Account
|
|
956
|
+
lookupTableAuthority: Account
|
|
957
|
+
}
|
|
958
|
+
type FreezeLookupTableInstruction implements TransactionInstruction {
|
|
959
|
+
data: FreezeLookupTableInstructionData
|
|
960
|
+
meta: JsonParsedInstructionMeta
|
|
961
|
+
programId: Address
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
# AddressLookupTable: DeactivateLookupTable
|
|
965
|
+
type DeactivateLookupTableInstructionData {
|
|
966
|
+
lookupTableAccount: Account
|
|
967
|
+
lookupTableAuthority: Account
|
|
968
|
+
}
|
|
969
|
+
type DeactivateLookupTableInstruction implements TransactionInstruction {
|
|
970
|
+
data: DeactivateLookupTableInstructionData
|
|
971
|
+
meta: JsonParsedInstructionMeta
|
|
972
|
+
programId: Address
|
|
973
|
+
}
|
|
974
|
+
|
|
975
|
+
# AddressLookupTable: CloseLookupTable
|
|
976
|
+
type CloseLookupTableInstructionData {
|
|
977
|
+
lookupTableAccount: Account
|
|
978
|
+
lookupTableAuthority: Account
|
|
979
|
+
recipient: Account
|
|
980
|
+
}
|
|
981
|
+
type CloseLookupTableInstruction implements TransactionInstruction {
|
|
982
|
+
data: CloseLookupTableInstructionData
|
|
983
|
+
meta: JsonParsedInstructionMeta
|
|
984
|
+
programId: Address
|
|
985
|
+
}
|
|
986
|
+
|
|
987
|
+
# BpfLoader: Write
|
|
988
|
+
type BpfLoaderWriteInstructionData {
|
|
989
|
+
account: Account
|
|
990
|
+
bytes: Base64EncodedBytes
|
|
991
|
+
offset: BigInt # FIXME:*
|
|
992
|
+
}
|
|
993
|
+
type BpfLoaderWriteInstruction implements TransactionInstruction {
|
|
994
|
+
data: BpfLoaderWriteInstructionData
|
|
995
|
+
meta: JsonParsedInstructionMeta
|
|
996
|
+
programId: Address
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
# BpfLoader: Finalize
|
|
1000
|
+
type BpfLoaderFinalizeInstructionData {
|
|
1001
|
+
account: Account
|
|
1002
|
+
}
|
|
1003
|
+
type BpfLoaderFinalizeInstruction implements TransactionInstruction {
|
|
1004
|
+
data: BpfLoaderFinalizeInstructionData
|
|
1005
|
+
meta: JsonParsedInstructionMeta
|
|
1006
|
+
programId: Address
|
|
1007
|
+
}
|
|
1008
|
+
|
|
1009
|
+
# BpfUpgradeableLoader: InitializeBuffer
|
|
1010
|
+
type BpfUpgradeableLoaderInitializeBufferInstructionData {
|
|
1011
|
+
account: Account
|
|
1012
|
+
}
|
|
1013
|
+
type BpfUpgradeableLoaderInitializeBufferInstruction implements TransactionInstruction {
|
|
1014
|
+
data: BpfUpgradeableLoaderInitializeBufferInstructionData
|
|
1015
|
+
meta: JsonParsedInstructionMeta
|
|
1016
|
+
programId: Address
|
|
1017
|
+
}
|
|
1018
|
+
|
|
1019
|
+
# BpfUpgradeableLoader: Write
|
|
1020
|
+
type BpfUpgradeableLoaderWriteInstructionData {
|
|
1021
|
+
account: Account
|
|
1022
|
+
authority: Account
|
|
1023
|
+
bytes: Base64EncodedBytes
|
|
1024
|
+
offset: BigInt # FIXME:*
|
|
1025
|
+
}
|
|
1026
|
+
type BpfUpgradeableLoaderWriteInstruction implements TransactionInstruction {
|
|
1027
|
+
data: BpfUpgradeableLoaderWriteInstructionData
|
|
1028
|
+
meta: JsonParsedInstructionMeta
|
|
1029
|
+
programId: Address
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
# BpfUpgradeableLoader: DeployWithMaxDataLen
|
|
1033
|
+
type BpfUpgradeableLoaderDeployWithMaxDataLenInstructionData {
|
|
1034
|
+
authority: Account
|
|
1035
|
+
bufferAccount: Account
|
|
1036
|
+
clockSysvar: Address
|
|
1037
|
+
maxDataLen: BigInt
|
|
1038
|
+
payerAccount: Account
|
|
1039
|
+
programAccount: Account
|
|
1040
|
+
programDataAccount: Account
|
|
1041
|
+
rentSysvar: Address
|
|
1042
|
+
}
|
|
1043
|
+
type BpfUpgradeableLoaderDeployWithMaxDataLenInstruction implements TransactionInstruction {
|
|
1044
|
+
data: BpfUpgradeableLoaderDeployWithMaxDataLenInstructionData
|
|
1045
|
+
meta: JsonParsedInstructionMeta
|
|
1046
|
+
programId: Address
|
|
1047
|
+
}
|
|
1048
|
+
|
|
1049
|
+
# BpfUpgradeableLoader: Upgrade
|
|
1050
|
+
type BpfUpgradeableLoaderUpgradeInstructionData {
|
|
1051
|
+
authority: Account
|
|
1052
|
+
bufferAccount: Account
|
|
1053
|
+
clockSysvar: Address
|
|
1054
|
+
programAccount: Account
|
|
1055
|
+
programDataAccount: Account
|
|
1056
|
+
rentSysvar: Address
|
|
1057
|
+
spillAccount: Account
|
|
1058
|
+
}
|
|
1059
|
+
type BpfUpgradeableLoaderUpgradeInstruction implements TransactionInstruction {
|
|
1060
|
+
data: BpfUpgradeableLoaderUpgradeInstructionData
|
|
1061
|
+
meta: JsonParsedInstructionMeta
|
|
1062
|
+
programId: Address
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
# BpfUpgradeableLoader: SetAuthority
|
|
1066
|
+
type BpfUpgradeableLoaderSetAuthorityInstructionData {
|
|
1067
|
+
account: Account
|
|
1068
|
+
authority: Account
|
|
1069
|
+
newAuthority: Account
|
|
1070
|
+
}
|
|
1071
|
+
type BpfUpgradeableLoaderSetAuthorityInstruction implements TransactionInstruction {
|
|
1072
|
+
data: BpfUpgradeableLoaderSetAuthorityInstructionData
|
|
1073
|
+
meta: JsonParsedInstructionMeta
|
|
1074
|
+
programId: Address
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
# BpfUpgradeableLoader: SetAuthorityChecked
|
|
1078
|
+
type BpfUpgradeableLoaderSetAuthorityCheckedInstructionData {
|
|
1079
|
+
account: Account
|
|
1080
|
+
authority: Account
|
|
1081
|
+
newAuthority: Account
|
|
1082
|
+
}
|
|
1083
|
+
type BpfUpgradeableLoaderSetAuthorityCheckedInstruction implements TransactionInstruction {
|
|
1084
|
+
data: BpfUpgradeableLoaderSetAuthorityCheckedInstructionData
|
|
1085
|
+
meta: JsonParsedInstructionMeta
|
|
1086
|
+
programId: Address
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
# BpfUpgradeableLoader: Close
|
|
1090
|
+
type BpfUpgradeableLoaderCloseInstructionData {
|
|
1091
|
+
account: Account
|
|
1092
|
+
authority: Account
|
|
1093
|
+
programAccount: Account
|
|
1094
|
+
recipient: Account
|
|
1095
|
+
}
|
|
1096
|
+
type BpfUpgradeableLoaderCloseInstruction implements TransactionInstruction {
|
|
1097
|
+
data: BpfUpgradeableLoaderCloseInstructionData
|
|
1098
|
+
meta: JsonParsedInstructionMeta
|
|
1099
|
+
programId: Address
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1102
|
+
# BpfUpgradeableLoader: ExtendProgram
|
|
1103
|
+
type BpfUpgradeableLoaderExtendProgramInstructionData {
|
|
1104
|
+
additionalBytes: BigInt
|
|
1105
|
+
payerAccount: Account
|
|
1106
|
+
programAccount: Account
|
|
1107
|
+
programDataAccount: Account
|
|
1108
|
+
systemProgram: Account
|
|
1109
|
+
}
|
|
1110
|
+
type BpfUpgradeableLoaderExtendProgramInstruction implements TransactionInstruction {
|
|
1111
|
+
data: BpfUpgradeableLoaderExtendProgramInstructionData
|
|
1112
|
+
meta: JsonParsedInstructionMeta
|
|
1113
|
+
programId: Address
|
|
1114
|
+
}
|
|
1115
|
+
|
|
1116
|
+
# SplAssociatedTokenAccount: Create
|
|
1117
|
+
type SplAssociatedTokenCreateInstructionData {
|
|
1118
|
+
account: Account
|
|
1119
|
+
mint: Address
|
|
1120
|
+
source: Account
|
|
1121
|
+
systemProgram: Account
|
|
1122
|
+
tokenProgram: Account
|
|
1123
|
+
wallet: Account
|
|
1124
|
+
}
|
|
1125
|
+
type SplAssociatedTokenCreateInstruction implements TransactionInstruction {
|
|
1126
|
+
data: SplAssociatedTokenCreateInstructionData
|
|
1127
|
+
meta: JsonParsedInstructionMeta
|
|
1128
|
+
programId: Address
|
|
1129
|
+
}
|
|
1130
|
+
|
|
1131
|
+
# SplAssociatedTokenAccount: CreateIdempotent
|
|
1132
|
+
type SplAssociatedTokenCreateIdempotentInstructionData {
|
|
1133
|
+
account: Account
|
|
1134
|
+
mint: Address
|
|
1135
|
+
source: Account
|
|
1136
|
+
systemProgram: Account
|
|
1137
|
+
tokenProgram: Account
|
|
1138
|
+
wallet: Account
|
|
1139
|
+
}
|
|
1140
|
+
type SplAssociatedTokenCreateIdempotentInstruction implements TransactionInstruction {
|
|
1141
|
+
data: SplAssociatedTokenCreateIdempotentInstructionData
|
|
1142
|
+
meta: JsonParsedInstructionMeta
|
|
1143
|
+
programId: Address
|
|
1144
|
+
}
|
|
1145
|
+
|
|
1146
|
+
# SplAssociatedTokenAccount: RecoverNested
|
|
1147
|
+
type SplAssociatedTokenRecoverNestedInstructionData {
|
|
1148
|
+
destination: Account
|
|
1149
|
+
nestedMint: Account
|
|
1150
|
+
nestedOwner: Account
|
|
1151
|
+
nestedSource: Account
|
|
1152
|
+
ownerMint: Account
|
|
1153
|
+
tokenProgram: Account
|
|
1154
|
+
wallet: Account
|
|
1155
|
+
}
|
|
1156
|
+
type SplAssociatedTokenRecoverNestedInstruction implements TransactionInstruction {
|
|
1157
|
+
data: SplAssociatedTokenRecoverNestedInstructionData
|
|
1158
|
+
meta: JsonParsedInstructionMeta
|
|
1159
|
+
programId: Address
|
|
1160
|
+
}
|
|
1161
|
+
|
|
1162
|
+
# SplMemo
|
|
1163
|
+
type SplMemoInstructionData {
|
|
1164
|
+
data: String
|
|
1165
|
+
}
|
|
1166
|
+
type SplMemoInstruction implements TransactionInstruction {
|
|
1167
|
+
data: SplMemoInstructionData
|
|
1168
|
+
meta: JsonParsedInstructionMeta
|
|
1169
|
+
programId: Address
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1172
|
+
# SplToken: InitializeMint
|
|
1173
|
+
type SplTokenInitializeMintInstructionData {
|
|
1174
|
+
decimals: BigInt # FIXME:*
|
|
1175
|
+
freezeAuthority: Account
|
|
1176
|
+
mint: Account
|
|
1177
|
+
mintAuthority: Account
|
|
1178
|
+
rentSysvar: Address
|
|
1179
|
+
}
|
|
1180
|
+
type SplTokenInitializeMintInstruction implements TransactionInstruction {
|
|
1181
|
+
data: SplTokenInitializeMintInstructionData
|
|
1182
|
+
meta: JsonParsedInstructionMeta
|
|
1183
|
+
programId: Address
|
|
1184
|
+
}
|
|
1185
|
+
|
|
1186
|
+
# SplToken: InitializeMint2
|
|
1187
|
+
type SplTokenInitializeMint2InstructionData {
|
|
1188
|
+
decimals: BigInt # FIXME:*
|
|
1189
|
+
freezeAuthority: Account
|
|
1190
|
+
mint: Account
|
|
1191
|
+
mintAuthority: Account
|
|
1192
|
+
}
|
|
1193
|
+
type SplTokenInitializeMint2Instruction implements TransactionInstruction {
|
|
1194
|
+
data: SplTokenInitializeMint2InstructionData
|
|
1195
|
+
meta: JsonParsedInstructionMeta
|
|
1196
|
+
programId: Address
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
# SplToken: InitializeAccount
|
|
1200
|
+
type SplTokenInitializeAccountInstructionData {
|
|
1201
|
+
account: Account
|
|
1202
|
+
mint: Account
|
|
1203
|
+
owner: Account
|
|
1204
|
+
rentSysvar: Address
|
|
1205
|
+
}
|
|
1206
|
+
type SplTokenInitializeAccountInstruction implements TransactionInstruction {
|
|
1207
|
+
data: SplTokenInitializeAccountInstructionData
|
|
1208
|
+
meta: JsonParsedInstructionMeta
|
|
1209
|
+
programId: Address
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
# SplToken: InitializeAccount2
|
|
1213
|
+
type SplTokenInitializeAccount2InstructionData {
|
|
1214
|
+
account: Account
|
|
1215
|
+
mint: Account
|
|
1216
|
+
owner: Account
|
|
1217
|
+
rentSysvar: Address
|
|
1218
|
+
}
|
|
1219
|
+
type SplTokenInitializeAccount2Instruction implements TransactionInstruction {
|
|
1220
|
+
data: SplTokenInitializeAccount2InstructionData
|
|
1221
|
+
meta: JsonParsedInstructionMeta
|
|
1222
|
+
programId: Address
|
|
1223
|
+
}
|
|
1224
|
+
|
|
1225
|
+
# SplToken: InitializeAccount3
|
|
1226
|
+
type SplTokenInitializeAccount3InstructionData {
|
|
1227
|
+
account: Account
|
|
1228
|
+
mint: Account
|
|
1229
|
+
owner: Account
|
|
1230
|
+
}
|
|
1231
|
+
type SplTokenInitializeAccount3Instruction implements TransactionInstruction {
|
|
1232
|
+
data: SplTokenInitializeAccount3InstructionData
|
|
1233
|
+
meta: JsonParsedInstructionMeta
|
|
1234
|
+
programId: Address
|
|
1235
|
+
}
|
|
1236
|
+
|
|
1237
|
+
# SplToken: InitializeMultisig
|
|
1238
|
+
type SplTokenInitializeMultisigInstructionData {
|
|
1239
|
+
m: BigInt # FIXME:*
|
|
1240
|
+
multisig: Account
|
|
1241
|
+
rentSysvar: Address
|
|
1242
|
+
signers: [Address]
|
|
1243
|
+
}
|
|
1244
|
+
type SplTokenInitializeMultisigInstruction implements TransactionInstruction {
|
|
1245
|
+
data: SplTokenInitializeMultisigInstructionData
|
|
1246
|
+
meta: JsonParsedInstructionMeta
|
|
1247
|
+
programId: Address
|
|
1248
|
+
}
|
|
1249
|
+
|
|
1250
|
+
# SplToken: InitializeMultisig2
|
|
1251
|
+
type SplTokenInitializeMultisig2InstructionData {
|
|
1252
|
+
m: BigInt # FIXME:*
|
|
1253
|
+
multisig: Account
|
|
1254
|
+
signers: [Address]
|
|
1255
|
+
}
|
|
1256
|
+
type SplTokenInitializeMultisig2Instruction implements TransactionInstruction {
|
|
1257
|
+
data: SplTokenInitializeMultisig2InstructionData
|
|
1258
|
+
meta: JsonParsedInstructionMeta
|
|
1259
|
+
programId: Address
|
|
1260
|
+
}
|
|
1261
|
+
|
|
1262
|
+
# SplToken: Transfer
|
|
1263
|
+
type SplTokenTransferInstructionData {
|
|
1264
|
+
amount: String
|
|
1265
|
+
authority: Account
|
|
1266
|
+
destination: Account
|
|
1267
|
+
multisigAuthority: Account
|
|
1268
|
+
source: Account
|
|
1269
|
+
}
|
|
1270
|
+
type SplTokenTransferInstruction implements TransactionInstruction {
|
|
1271
|
+
data: SplTokenTransferInstructionData
|
|
1272
|
+
meta: JsonParsedInstructionMeta
|
|
1273
|
+
programId: Address
|
|
1274
|
+
}
|
|
1275
|
+
|
|
1276
|
+
# SplToken: Approve
|
|
1277
|
+
type SplTokenApproveInstructionData {
|
|
1278
|
+
amount: String
|
|
1279
|
+
delegate: Account
|
|
1280
|
+
multisigOwner: Account
|
|
1281
|
+
owner: Account
|
|
1282
|
+
source: Account
|
|
1283
|
+
}
|
|
1284
|
+
type SplTokenApproveInstruction implements TransactionInstruction {
|
|
1285
|
+
data: SplTokenApproveInstructionData
|
|
1286
|
+
meta: JsonParsedInstructionMeta
|
|
1287
|
+
programId: Address
|
|
1288
|
+
}
|
|
1289
|
+
|
|
1290
|
+
# SplToken: Revoke
|
|
1291
|
+
type SplTokenRevokeInstructionData {
|
|
1292
|
+
multisigOwner: Account
|
|
1293
|
+
owner: Account
|
|
1294
|
+
source: Account
|
|
1295
|
+
}
|
|
1296
|
+
type SplTokenRevokeInstruction implements TransactionInstruction {
|
|
1297
|
+
data: SplTokenRevokeInstructionData
|
|
1298
|
+
meta: JsonParsedInstructionMeta
|
|
1299
|
+
programId: Address
|
|
1300
|
+
}
|
|
1301
|
+
|
|
1302
|
+
# SplToken: SetAuthority
|
|
1303
|
+
type SplTokenSetAuthorityInstructionData {
|
|
1304
|
+
authority: Account
|
|
1305
|
+
authorityType: String
|
|
1306
|
+
multisigAuthority: Account
|
|
1307
|
+
newAuthority: Account
|
|
1308
|
+
}
|
|
1309
|
+
type SplTokenSetAuthorityInstruction implements TransactionInstruction {
|
|
1310
|
+
data: SplTokenSetAuthorityInstructionData
|
|
1311
|
+
meta: JsonParsedInstructionMeta
|
|
1312
|
+
programId: Address
|
|
1313
|
+
}
|
|
1314
|
+
|
|
1315
|
+
# SplToken: MintTo
|
|
1316
|
+
type SplTokenMintToInstructionData {
|
|
1317
|
+
account: Account
|
|
1318
|
+
amount: String
|
|
1319
|
+
authority: Account
|
|
1320
|
+
mint: Account
|
|
1321
|
+
mintAuthority: Account
|
|
1322
|
+
multisigMintAuthority: Account
|
|
1323
|
+
}
|
|
1324
|
+
type SplTokenMintToInstruction implements TransactionInstruction {
|
|
1325
|
+
data: SplTokenMintToInstructionData
|
|
1326
|
+
meta: JsonParsedInstructionMeta
|
|
1327
|
+
programId: Address
|
|
1328
|
+
}
|
|
1329
|
+
|
|
1330
|
+
# SplToken: Burn
|
|
1331
|
+
type SplTokenBurnInstructionData {
|
|
1332
|
+
account: Account
|
|
1333
|
+
amount: String
|
|
1334
|
+
authority: Account
|
|
1335
|
+
mint: Account
|
|
1336
|
+
multisigAuthority: Account
|
|
1337
|
+
}
|
|
1338
|
+
type SplTokenBurnInstruction implements TransactionInstruction {
|
|
1339
|
+
data: SplTokenBurnInstructionData
|
|
1340
|
+
meta: JsonParsedInstructionMeta
|
|
1341
|
+
programId: Address
|
|
1342
|
+
}
|
|
1343
|
+
|
|
1344
|
+
# SplToken: CloseAccount
|
|
1345
|
+
type SplTokenCloseAccountInstructionData {
|
|
1346
|
+
account: Account
|
|
1347
|
+
destination: Account
|
|
1348
|
+
multisigOwner: Account
|
|
1349
|
+
owner: Account
|
|
1350
|
+
}
|
|
1351
|
+
type SplTokenCloseAccountInstruction implements TransactionInstruction {
|
|
1352
|
+
data: SplTokenCloseAccountInstructionData
|
|
1353
|
+
meta: JsonParsedInstructionMeta
|
|
1354
|
+
programId: Address
|
|
1355
|
+
}
|
|
1356
|
+
|
|
1357
|
+
# SplToken: FreezeAccount
|
|
1358
|
+
type SplTokenFreezeAccountInstructionData {
|
|
1359
|
+
account: Account
|
|
1360
|
+
freezeAuthority: Account
|
|
1361
|
+
mint: Account
|
|
1362
|
+
multisigFreezeAuthority: Account
|
|
1363
|
+
}
|
|
1364
|
+
type SplTokenFreezeAccountInstruction implements TransactionInstruction {
|
|
1365
|
+
data: SplTokenFreezeAccountInstructionData
|
|
1366
|
+
meta: JsonParsedInstructionMeta
|
|
1367
|
+
programId: Address
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
# SplToken: ThawAccount
|
|
1371
|
+
type SplTokenThawAccountInstructionData {
|
|
1372
|
+
account: Account
|
|
1373
|
+
freezeAuthority: Account
|
|
1374
|
+
mint: Account
|
|
1375
|
+
multisigFreezeAuthority: Account
|
|
1376
|
+
}
|
|
1377
|
+
type SplTokenThawAccountInstruction implements TransactionInstruction {
|
|
1378
|
+
data: SplTokenThawAccountInstructionData
|
|
1379
|
+
meta: JsonParsedInstructionMeta
|
|
1380
|
+
programId: Address
|
|
1381
|
+
}
|
|
1382
|
+
|
|
1383
|
+
# SplToken: TransferChecked
|
|
1384
|
+
type SplTokenTransferCheckedInstructionData {
|
|
1385
|
+
amount: String
|
|
1386
|
+
authority: Account
|
|
1387
|
+
decimals: BigInt # FIXME:*
|
|
1388
|
+
destination: Account
|
|
1389
|
+
mint: Account
|
|
1390
|
+
multisigAuthority: Account
|
|
1391
|
+
source: Account
|
|
1392
|
+
tokenAmount: String
|
|
1393
|
+
}
|
|
1394
|
+
type SplTokenTransferCheckedInstruction implements TransactionInstruction {
|
|
1395
|
+
data: SplTokenTransferCheckedInstructionData
|
|
1396
|
+
meta: JsonParsedInstructionMeta
|
|
1397
|
+
programId: Address
|
|
1398
|
+
}
|
|
1399
|
+
|
|
1400
|
+
# SplToken: ApproveChecked
|
|
1401
|
+
type SplTokenApproveCheckedInstructionData {
|
|
1402
|
+
delegate: Account
|
|
1403
|
+
mint: Account
|
|
1404
|
+
multisigOwner: Account
|
|
1405
|
+
owner: Account
|
|
1406
|
+
source: Account
|
|
1407
|
+
tokenAmount: String
|
|
1408
|
+
}
|
|
1409
|
+
type SplTokenApproveCheckedInstruction implements TransactionInstruction {
|
|
1410
|
+
data: SplTokenApproveCheckedInstructionData
|
|
1411
|
+
meta: JsonParsedInstructionMeta
|
|
1412
|
+
programId: Address
|
|
1413
|
+
}
|
|
1414
|
+
|
|
1415
|
+
# SplToken: MintToChecked
|
|
1416
|
+
type SplTokenMintToCheckedInstructionData {
|
|
1417
|
+
account: Account
|
|
1418
|
+
authority: Account
|
|
1419
|
+
mint: Account
|
|
1420
|
+
mintAuthority: Account
|
|
1421
|
+
multisigMintAuthority: Account
|
|
1422
|
+
tokenAmount: String
|
|
1423
|
+
}
|
|
1424
|
+
type SplTokenMintToCheckedInstruction implements TransactionInstruction {
|
|
1425
|
+
data: SplTokenMintToCheckedInstructionData
|
|
1426
|
+
meta: JsonParsedInstructionMeta
|
|
1427
|
+
programId: Address
|
|
1428
|
+
}
|
|
1429
|
+
|
|
1430
|
+
# SplToken: BurnChecked
|
|
1431
|
+
type SplTokenBurnCheckedInstructionData {
|
|
1432
|
+
account: Account
|
|
1433
|
+
authority: Account
|
|
1434
|
+
mint: Account
|
|
1435
|
+
multisigAuthority: Account
|
|
1436
|
+
tokenAmount: String
|
|
1437
|
+
}
|
|
1438
|
+
type SplTokenBurnCheckedInstruction implements TransactionInstruction {
|
|
1439
|
+
data: SplTokenBurnCheckedInstructionData
|
|
1440
|
+
meta: JsonParsedInstructionMeta
|
|
1441
|
+
programId: Address
|
|
1442
|
+
}
|
|
1443
|
+
|
|
1444
|
+
# SplToken: SyncNative
|
|
1445
|
+
type SplTokenSyncNativeInstructionData {
|
|
1446
|
+
account: Account
|
|
1447
|
+
}
|
|
1448
|
+
type SplTokenSyncNativeInstruction implements TransactionInstruction {
|
|
1449
|
+
data: SplTokenSyncNativeInstructionData
|
|
1450
|
+
meta: JsonParsedInstructionMeta
|
|
1451
|
+
programId: Address
|
|
1452
|
+
}
|
|
1453
|
+
|
|
1454
|
+
# SplToken: GetAccountDataSize
|
|
1455
|
+
type SplTokenGetAccountDataSizeInstructionData {
|
|
1456
|
+
extensionTypes: [String]
|
|
1457
|
+
mint: Account
|
|
1458
|
+
}
|
|
1459
|
+
type SplTokenGetAccountDataSizeInstruction implements TransactionInstruction {
|
|
1460
|
+
data: SplTokenGetAccountDataSizeInstructionData
|
|
1461
|
+
meta: JsonParsedInstructionMeta
|
|
1462
|
+
programId: Address
|
|
1463
|
+
}
|
|
1464
|
+
|
|
1465
|
+
# SplToken: InitializeImmutableOwner
|
|
1466
|
+
type SplTokenInitializeImmutableOwnerInstructionData {
|
|
1467
|
+
account: Account
|
|
1468
|
+
}
|
|
1469
|
+
type SplTokenInitializeImmutableOwnerInstruction implements TransactionInstruction {
|
|
1470
|
+
data: SplTokenInitializeImmutableOwnerInstructionData
|
|
1471
|
+
meta: JsonParsedInstructionMeta
|
|
1472
|
+
programId: Address
|
|
1473
|
+
}
|
|
1474
|
+
|
|
1475
|
+
# SplToken: AmountToUiAmount
|
|
1476
|
+
type SplTokenAmountToUiAmountInstructionData {
|
|
1477
|
+
amount: String
|
|
1478
|
+
mint: Account
|
|
1479
|
+
}
|
|
1480
|
+
type SplTokenAmountToUiAmountInstruction implements TransactionInstruction {
|
|
1481
|
+
data: SplTokenAmountToUiAmountInstructionData
|
|
1482
|
+
meta: JsonParsedInstructionMeta
|
|
1483
|
+
programId: Address
|
|
1484
|
+
}
|
|
1485
|
+
|
|
1486
|
+
# SplToken: UiAmountToAmount
|
|
1487
|
+
type SplTokenUiAmountToAmountInstructionData {
|
|
1488
|
+
mint: Account
|
|
1489
|
+
uiAmount: String
|
|
1490
|
+
}
|
|
1491
|
+
type SplTokenUiAmountToAmountInstruction implements TransactionInstruction {
|
|
1492
|
+
data: SplTokenUiAmountToAmountInstructionData
|
|
1493
|
+
meta: JsonParsedInstructionMeta
|
|
1494
|
+
programId: Address
|
|
1495
|
+
}
|
|
1496
|
+
|
|
1497
|
+
# SplToken: InitializeMintCloseAuthority
|
|
1498
|
+
type SplTokenInitializeMintCloseAuthorityInstructionData {
|
|
1499
|
+
mint: Account
|
|
1500
|
+
newAuthority: Account
|
|
1501
|
+
}
|
|
1502
|
+
type SplTokenInitializeMintCloseAuthorityInstruction implements TransactionInstruction {
|
|
1503
|
+
data: SplTokenInitializeMintCloseAuthorityInstructionData
|
|
1504
|
+
meta: JsonParsedInstructionMeta
|
|
1505
|
+
programId: Address
|
|
1506
|
+
}
|
|
1507
|
+
|
|
1508
|
+
# TODO: Extensions!
|
|
1509
|
+
# - TransferFeeExtension
|
|
1510
|
+
# - ConfidentialTransferFeeExtension
|
|
1511
|
+
# - DefaultAccountStateExtension
|
|
1512
|
+
# - Reallocate
|
|
1513
|
+
# - MemoTransferExtension
|
|
1514
|
+
# - CreateNativeMint
|
|
1515
|
+
# - InitializeNonTransferableMint
|
|
1516
|
+
# - InterestBearingMintExtension
|
|
1517
|
+
# - CpiGuardExtension
|
|
1518
|
+
# - InitializePermanentDelegate
|
|
1519
|
+
# - TransferHookExtension
|
|
1520
|
+
# - ConfidentialTransferFeeExtension
|
|
1521
|
+
# - WithdrawExcessLamports
|
|
1522
|
+
# - MetadataPointerExtension
|
|
1523
|
+
|
|
1524
|
+
type Lockup {
|
|
1525
|
+
custodian: Account
|
|
1526
|
+
epoch: BigInt
|
|
1527
|
+
unixTimestamp: BigInt
|
|
1528
|
+
}
|
|
1529
|
+
|
|
1530
|
+
# Stake: Initialize
|
|
1531
|
+
type StakeInitializeInstructionDataAuthorized {
|
|
1532
|
+
staker: Account
|
|
1533
|
+
withdrawer: Account
|
|
1534
|
+
}
|
|
1535
|
+
type StakeInitializeInstructionData {
|
|
1536
|
+
authorized: StakeInitializeInstructionDataAuthorized
|
|
1537
|
+
lockup: Lockup
|
|
1538
|
+
rentSysvar: Address
|
|
1539
|
+
stakeAccount: Account
|
|
1540
|
+
}
|
|
1541
|
+
type StakeInitializeInstruction implements TransactionInstruction {
|
|
1542
|
+
data: StakeInitializeInstructionData
|
|
1543
|
+
meta: JsonParsedInstructionMeta
|
|
1544
|
+
programId: Address
|
|
1545
|
+
}
|
|
1546
|
+
|
|
1547
|
+
# Stake: Authorize
|
|
1548
|
+
type StakeAuthorizeInstructionData {
|
|
1549
|
+
authority: Account
|
|
1550
|
+
authorityType: String
|
|
1551
|
+
clockSysvar: Address
|
|
1552
|
+
custodian: Account
|
|
1553
|
+
newAuthority: Account
|
|
1554
|
+
stakeAccount: Account
|
|
1555
|
+
}
|
|
1556
|
+
type StakeAuthorizeInstruction implements TransactionInstruction {
|
|
1557
|
+
data: StakeAuthorizeInstructionData
|
|
1558
|
+
meta: JsonParsedInstructionMeta
|
|
1559
|
+
programId: Address
|
|
1560
|
+
}
|
|
1561
|
+
|
|
1562
|
+
# Stake: DelegateStake
|
|
1563
|
+
type StakeDelegateStakeInstructionData {
|
|
1564
|
+
clockSysvar: Address
|
|
1565
|
+
stakeAccount: Account
|
|
1566
|
+
stakeAuthority: Account
|
|
1567
|
+
stakeConfigAccount: Account
|
|
1568
|
+
stakeHistorySysvar: Address
|
|
1569
|
+
voteAccount: Account
|
|
1570
|
+
}
|
|
1571
|
+
type StakeDelegateStakeInstruction implements TransactionInstruction {
|
|
1572
|
+
data: StakeDelegateStakeInstructionData
|
|
1573
|
+
meta: JsonParsedInstructionMeta
|
|
1574
|
+
programId: Address
|
|
1575
|
+
}
|
|
1576
|
+
|
|
1577
|
+
# Stake: Split
|
|
1578
|
+
type StakeSplitInstructionData {
|
|
1579
|
+
lamports: BigInt
|
|
1580
|
+
newSplitAccount: Account
|
|
1581
|
+
stakeAccount: Account
|
|
1582
|
+
stakeAuthority: Account
|
|
1583
|
+
}
|
|
1584
|
+
type StakeSplitInstruction implements TransactionInstruction {
|
|
1585
|
+
data: StakeSplitInstructionData
|
|
1586
|
+
meta: JsonParsedInstructionMeta
|
|
1587
|
+
programId: Address
|
|
1588
|
+
}
|
|
1589
|
+
|
|
1590
|
+
# Stake: Withdraw
|
|
1591
|
+
type StakeWithdrawInstructionData {
|
|
1592
|
+
clockSysvar: Address
|
|
1593
|
+
destination: Account
|
|
1594
|
+
lamports: BigInt
|
|
1595
|
+
stakeAccount: Account
|
|
1596
|
+
withdrawAuthority: Account
|
|
1597
|
+
}
|
|
1598
|
+
type StakeWithdrawInstruction implements TransactionInstruction {
|
|
1599
|
+
data: StakeWithdrawInstructionData
|
|
1600
|
+
meta: JsonParsedInstructionMeta
|
|
1601
|
+
programId: Address
|
|
1602
|
+
}
|
|
1603
|
+
|
|
1604
|
+
# Stake: Deactivate
|
|
1605
|
+
type StakeDeactivateInstructionData {
|
|
1606
|
+
clockSysvar: Address
|
|
1607
|
+
stakeAccount: Account
|
|
1608
|
+
stakeAuthority: Account
|
|
1609
|
+
}
|
|
1610
|
+
type StakeDeactivateInstruction implements TransactionInstruction {
|
|
1611
|
+
data: StakeDeactivateInstructionData
|
|
1612
|
+
meta: JsonParsedInstructionMeta
|
|
1613
|
+
programId: Address
|
|
1614
|
+
}
|
|
1615
|
+
|
|
1616
|
+
# Stake: SetLockup
|
|
1617
|
+
type StakeSetLockupInstructionData {
|
|
1618
|
+
custodian: Account
|
|
1619
|
+
lockup: Lockup
|
|
1620
|
+
stakeAccount: Account
|
|
1621
|
+
}
|
|
1622
|
+
type StakeSetLockupInstruction implements TransactionInstruction {
|
|
1623
|
+
data: StakeSetLockupInstructionData
|
|
1624
|
+
meta: JsonParsedInstructionMeta
|
|
1625
|
+
programId: Address
|
|
1626
|
+
}
|
|
1627
|
+
|
|
1628
|
+
# Stake: Merge
|
|
1629
|
+
type StakeMergeInstructionData {
|
|
1630
|
+
clockSysvar: Address
|
|
1631
|
+
destination: Account
|
|
1632
|
+
source: Account
|
|
1633
|
+
stakeAuthority: Account
|
|
1634
|
+
stakeHistorySysvar: Address
|
|
1635
|
+
}
|
|
1636
|
+
type StakeMergeInstruction implements TransactionInstruction {
|
|
1637
|
+
data: StakeMergeInstructionData
|
|
1638
|
+
meta: JsonParsedInstructionMeta
|
|
1639
|
+
programId: Address
|
|
1640
|
+
}
|
|
1641
|
+
|
|
1642
|
+
# Stake: AuthorizeWithSeed
|
|
1643
|
+
type StakeAuthorizeWithSeedInstructionData {
|
|
1644
|
+
authorityBase: Account
|
|
1645
|
+
authorityOwner: Account
|
|
1646
|
+
authoritySeed: String
|
|
1647
|
+
authorityType: String
|
|
1648
|
+
clockSysvar: Address
|
|
1649
|
+
custodian: Account
|
|
1650
|
+
newAuthorized: Account
|
|
1651
|
+
stakeAccount: Account
|
|
1652
|
+
}
|
|
1653
|
+
type StakeAuthorizeWithSeedInstruction implements TransactionInstruction {
|
|
1654
|
+
data: StakeAuthorizeWithSeedInstructionData
|
|
1655
|
+
meta: JsonParsedInstructionMeta
|
|
1656
|
+
programId: Address
|
|
1657
|
+
}
|
|
1658
|
+
|
|
1659
|
+
# Stake: InitializeChecked
|
|
1660
|
+
type StakeInitializeCheckedInstructionDataAuthorized {
|
|
1661
|
+
rentSysvar: Address
|
|
1662
|
+
stakeAccount: Account
|
|
1663
|
+
staker: Account
|
|
1664
|
+
withdrawer: Account
|
|
1665
|
+
}
|
|
1666
|
+
type StakeInitializeCheckedInstruction implements TransactionInstruction {
|
|
1667
|
+
data: StakeInitializeCheckedInstructionDataAuthorized
|
|
1668
|
+
meta: JsonParsedInstructionMeta
|
|
1669
|
+
programId: Address
|
|
1670
|
+
}
|
|
1671
|
+
|
|
1672
|
+
# Stake: AuthorizeChecked
|
|
1673
|
+
type StakeAuthorizeCheckedInstructionData {
|
|
1674
|
+
authority: Account
|
|
1675
|
+
authorityType: String
|
|
1676
|
+
clockSysvar: Address
|
|
1677
|
+
custodian: Account
|
|
1678
|
+
newAuthority: Account
|
|
1679
|
+
stakeAccount: Account
|
|
1680
|
+
}
|
|
1681
|
+
type StakeAuthorizeCheckedInstruction implements TransactionInstruction {
|
|
1682
|
+
data: StakeAuthorizeCheckedInstructionData
|
|
1683
|
+
meta: JsonParsedInstructionMeta
|
|
1684
|
+
programId: Address
|
|
1685
|
+
}
|
|
1686
|
+
|
|
1687
|
+
# Stake: AuthorizeCheckedWithSeed
|
|
1688
|
+
type StakeAuthorizeCheckedWithSeedInstructionData {
|
|
1689
|
+
authorityBase: Account
|
|
1690
|
+
authorityOwner: Account
|
|
1691
|
+
authoritySeed: String
|
|
1692
|
+
authorityType: String
|
|
1693
|
+
clockSysvar: Address
|
|
1694
|
+
custodian: Account
|
|
1695
|
+
newAuthorized: Account
|
|
1696
|
+
stakeAccount: Account
|
|
1697
|
+
}
|
|
1698
|
+
type StakeAuthorizeCheckedWithSeedInstruction implements TransactionInstruction {
|
|
1699
|
+
data: StakeAuthorizeCheckedWithSeedInstructionData
|
|
1700
|
+
meta: JsonParsedInstructionMeta
|
|
1701
|
+
programId: Address
|
|
1702
|
+
}
|
|
1703
|
+
|
|
1704
|
+
# Stake: SetLockupChecked
|
|
1705
|
+
type StakeSetLockupCheckedInstructionData {
|
|
1706
|
+
custodian: Account
|
|
1707
|
+
lockup: Lockup
|
|
1708
|
+
stakeAccount: Account
|
|
1709
|
+
}
|
|
1710
|
+
type StakeSetLockupCheckedInstruction implements TransactionInstruction {
|
|
1711
|
+
data: StakeSetLockupCheckedInstructionData
|
|
1712
|
+
meta: JsonParsedInstructionMeta
|
|
1713
|
+
programId: Address
|
|
1714
|
+
}
|
|
1715
|
+
|
|
1716
|
+
# Stake: DeactivateDelinquent
|
|
1717
|
+
type StakeDeactivateDelinquentInstructionData {
|
|
1718
|
+
referenceVoteAccount: Account
|
|
1719
|
+
stakeAccount: Account
|
|
1720
|
+
voteAccount: Account
|
|
1721
|
+
}
|
|
1722
|
+
type StakeDeactivateDelinquentInstruction implements TransactionInstruction {
|
|
1723
|
+
data: StakeDeactivateDelinquentInstructionData
|
|
1724
|
+
meta: JsonParsedInstructionMeta
|
|
1725
|
+
programId: Address
|
|
1726
|
+
}
|
|
1727
|
+
|
|
1728
|
+
# Stake: Redelegate
|
|
1729
|
+
type StakeRedelegateInstructionData {
|
|
1730
|
+
newStakeAccount: Account
|
|
1731
|
+
stakeAccount: Account
|
|
1732
|
+
stakeAuthority: Account
|
|
1733
|
+
stakeConfigAccount: Account
|
|
1734
|
+
voteAccount: Account
|
|
1735
|
+
}
|
|
1736
|
+
type StakeRedelegateInstruction implements TransactionInstruction {
|
|
1737
|
+
data: StakeRedelegateInstructionData
|
|
1738
|
+
meta: JsonParsedInstructionMeta
|
|
1739
|
+
programId: Address
|
|
1740
|
+
}
|
|
1741
|
+
|
|
1742
|
+
# System: CreateAccount
|
|
1743
|
+
type CreateAccountInstructionData {
|
|
1744
|
+
lamports: BigInt
|
|
1745
|
+
newAccount: Account
|
|
1746
|
+
owner: Account
|
|
1747
|
+
source: Account
|
|
1748
|
+
space: BigInt
|
|
1749
|
+
}
|
|
1750
|
+
type CreateAccountInstruction implements TransactionInstruction {
|
|
1751
|
+
data: CreateAccountInstructionData
|
|
1752
|
+
meta: JsonParsedInstructionMeta
|
|
1753
|
+
programId: Address
|
|
1754
|
+
}
|
|
1755
|
+
|
|
1756
|
+
# System: Assign
|
|
1757
|
+
type AssignInstructionData {
|
|
1758
|
+
account: Account
|
|
1759
|
+
owner: Account
|
|
1760
|
+
}
|
|
1761
|
+
type AssignInstruction implements TransactionInstruction {
|
|
1762
|
+
data: AssignInstructionData
|
|
1763
|
+
meta: JsonParsedInstructionMeta
|
|
1764
|
+
programId: Address
|
|
1765
|
+
}
|
|
1766
|
+
|
|
1767
|
+
# System: Transfer
|
|
1768
|
+
type TransferInstructionData {
|
|
1769
|
+
destination: Account
|
|
1770
|
+
lamports: BigInt
|
|
1771
|
+
source: Account
|
|
1772
|
+
}
|
|
1773
|
+
type TransferInstruction implements TransactionInstruction {
|
|
1774
|
+
data: TransferInstructionData
|
|
1775
|
+
meta: JsonParsedInstructionMeta
|
|
1776
|
+
programId: Address
|
|
1777
|
+
}
|
|
1778
|
+
|
|
1779
|
+
# System: CreateAccountWithSeed
|
|
1780
|
+
type CreateAccountWithSeedInstructionData {
|
|
1781
|
+
base: Account
|
|
1782
|
+
lamports: BigInt
|
|
1783
|
+
owner: Account
|
|
1784
|
+
seed: String
|
|
1785
|
+
space: BigInt
|
|
1786
|
+
}
|
|
1787
|
+
type CreateAccountWithSeedInstruction implements TransactionInstruction {
|
|
1788
|
+
data: CreateAccountWithSeedInstructionData
|
|
1789
|
+
meta: JsonParsedInstructionMeta
|
|
1790
|
+
programId: Address
|
|
1791
|
+
}
|
|
1792
|
+
|
|
1793
|
+
# System: AdvanceNonceAccount
|
|
1794
|
+
type AdvanceNonceAccountInstructionData {
|
|
1795
|
+
nonceAccount: Account
|
|
1796
|
+
nonceAuthority: Account
|
|
1797
|
+
recentBlockhashesSysvar: Address
|
|
1798
|
+
}
|
|
1799
|
+
type AdvanceNonceAccountInstruction implements TransactionInstruction {
|
|
1800
|
+
data: AdvanceNonceAccountInstructionData
|
|
1801
|
+
meta: JsonParsedInstructionMeta
|
|
1802
|
+
programId: Address
|
|
1803
|
+
}
|
|
1804
|
+
|
|
1805
|
+
# System: WithdrawNonceAccount
|
|
1806
|
+
type WithdrawNonceAccountInstructionData {
|
|
1807
|
+
destination: Account
|
|
1808
|
+
lamports: BigInt
|
|
1809
|
+
nonceAccount: Account
|
|
1810
|
+
nonceAuthority: Account
|
|
1811
|
+
recentBlockhashesSysvar: Address
|
|
1812
|
+
rentSysvar: Address
|
|
1813
|
+
}
|
|
1814
|
+
type WithdrawNonceAccountInstruction implements TransactionInstruction {
|
|
1815
|
+
data: WithdrawNonceAccountInstructionData
|
|
1816
|
+
meta: JsonParsedInstructionMeta
|
|
1817
|
+
programId: Address
|
|
1818
|
+
}
|
|
1819
|
+
|
|
1820
|
+
# System: InitializeNonceAccount
|
|
1821
|
+
type InitializeNonceAccountInstructionData {
|
|
1822
|
+
nonceAccount: Account
|
|
1823
|
+
nonceAuthority: Account
|
|
1824
|
+
recentBlockhashesSysvar: Address
|
|
1825
|
+
rentSysvar: Address
|
|
1826
|
+
}
|
|
1827
|
+
type InitializeNonceAccountInstruction implements TransactionInstruction {
|
|
1828
|
+
data: InitializeNonceAccountInstructionData
|
|
1829
|
+
meta: JsonParsedInstructionMeta
|
|
1830
|
+
programId: Address
|
|
1831
|
+
}
|
|
1832
|
+
|
|
1833
|
+
# System: AuthorizeNonceAccount
|
|
1834
|
+
type AuthorizeNonceAccountInstructionData {
|
|
1835
|
+
newAuthorized: Account
|
|
1836
|
+
nonceAccount: Account
|
|
1837
|
+
nonceAuthority: Account
|
|
1838
|
+
}
|
|
1839
|
+
type AuthorizeNonceAccountInstruction implements TransactionInstruction {
|
|
1840
|
+
data: AuthorizeNonceAccountInstructionData
|
|
1841
|
+
meta: JsonParsedInstructionMeta
|
|
1842
|
+
programId: Address
|
|
1843
|
+
}
|
|
1844
|
+
|
|
1845
|
+
# System: UpgradeNonceAccount
|
|
1846
|
+
type UpgradeNonceAccountInstructionData {
|
|
1847
|
+
nonceAccount: Account
|
|
1848
|
+
nonceAuthority: Account
|
|
1849
|
+
}
|
|
1850
|
+
type UpgradeNonceAccountInstruction implements TransactionInstruction {
|
|
1851
|
+
data: UpgradeNonceAccountInstructionData
|
|
1852
|
+
meta: JsonParsedInstructionMeta
|
|
1853
|
+
programId: Address
|
|
1854
|
+
}
|
|
1855
|
+
|
|
1856
|
+
# System: Allocate
|
|
1857
|
+
type AllocateInstructionData {
|
|
1858
|
+
account: Account
|
|
1859
|
+
space: BigInt
|
|
1860
|
+
}
|
|
1861
|
+
type AllocateInstruction implements TransactionInstruction {
|
|
1862
|
+
data: AllocateInstructionData
|
|
1863
|
+
meta: JsonParsedInstructionMeta
|
|
1864
|
+
programId: Address
|
|
1865
|
+
}
|
|
1866
|
+
|
|
1867
|
+
# System: AllocateWithSeed
|
|
1868
|
+
type AllocateWithSeedInstructionData {
|
|
1869
|
+
account: Account
|
|
1870
|
+
base: Address
|
|
1871
|
+
owner: Account
|
|
1872
|
+
seed: String
|
|
1873
|
+
space: BigInt
|
|
1874
|
+
}
|
|
1875
|
+
type AllocateWithSeedInstruction implements TransactionInstruction {
|
|
1876
|
+
data: AllocateWithSeedInstructionData
|
|
1877
|
+
meta: JsonParsedInstructionMeta
|
|
1878
|
+
programId: Address
|
|
1879
|
+
}
|
|
1880
|
+
|
|
1881
|
+
# System: AssignWithSeed
|
|
1882
|
+
type AssignWithSeedInstructionData {
|
|
1883
|
+
account: Account
|
|
1884
|
+
base: Address
|
|
1885
|
+
owner: Account
|
|
1886
|
+
seed: String
|
|
1887
|
+
}
|
|
1888
|
+
type AssignWithSeedInstruction implements TransactionInstruction {
|
|
1889
|
+
data: AssignWithSeedInstructionData
|
|
1890
|
+
meta: JsonParsedInstructionMeta
|
|
1891
|
+
programId: Address
|
|
1892
|
+
}
|
|
1893
|
+
|
|
1894
|
+
# System: TransferWithSeed
|
|
1895
|
+
type TransferWithSeedInstructionData {
|
|
1896
|
+
destination: Account
|
|
1897
|
+
lamports: BigInt
|
|
1898
|
+
source: Account
|
|
1899
|
+
sourceBase: Address
|
|
1900
|
+
sourceOwner: Account
|
|
1901
|
+
sourceSeed: String
|
|
1902
|
+
}
|
|
1903
|
+
type TransferWithSeedInstruction implements TransactionInstruction {
|
|
1904
|
+
data: TransferWithSeedInstructionData
|
|
1905
|
+
meta: JsonParsedInstructionMeta
|
|
1906
|
+
programId: Address
|
|
1907
|
+
}
|
|
1908
|
+
|
|
1909
|
+
# Vote: InitializeAccount
|
|
1910
|
+
type VoteInitializeAccountInstructionData {
|
|
1911
|
+
authorizedVoter: Account
|
|
1912
|
+
authorizedWithdrawer: Account
|
|
1913
|
+
clockSysvar: Address
|
|
1914
|
+
commission: BigInt # FIXME:*
|
|
1915
|
+
node: Account
|
|
1916
|
+
rentSysvar: Address
|
|
1917
|
+
voteAccount: Account
|
|
1918
|
+
}
|
|
1919
|
+
type VoteInitializeAccountInstruction implements TransactionInstruction {
|
|
1920
|
+
data: VoteInitializeAccountInstructionData
|
|
1921
|
+
meta: JsonParsedInstructionMeta
|
|
1922
|
+
programId: Address
|
|
1923
|
+
}
|
|
1924
|
+
|
|
1925
|
+
# Vote: Authorize
|
|
1926
|
+
type VoteAuthorizeInstructionData {
|
|
1927
|
+
authority: Account
|
|
1928
|
+
authorityType: String
|
|
1929
|
+
clockSysvar: Address
|
|
1930
|
+
newAuthority: Account
|
|
1931
|
+
voteAccount: Account
|
|
1932
|
+
}
|
|
1933
|
+
type VoteAuthorizeInstruction implements TransactionInstruction {
|
|
1934
|
+
data: VoteAuthorizeInstructionData
|
|
1935
|
+
meta: JsonParsedInstructionMeta
|
|
1936
|
+
programId: Address
|
|
1937
|
+
}
|
|
1938
|
+
|
|
1939
|
+
# Vote: AuthorizeWithSeed
|
|
1940
|
+
type VoteAuthorizeWithSeedInstructionData {
|
|
1941
|
+
authorityBaseKey: Address
|
|
1942
|
+
authorityOwner: Account
|
|
1943
|
+
authoritySeed: String
|
|
1944
|
+
authorityType: String
|
|
1945
|
+
clockSysvar: Address
|
|
1946
|
+
newAuthority: Account
|
|
1947
|
+
voteAccount: Account
|
|
1948
|
+
}
|
|
1949
|
+
type VoteAuthorizeWithSeedInstruction implements TransactionInstruction {
|
|
1950
|
+
data: VoteAuthorizeWithSeedInstructionData
|
|
1951
|
+
meta: JsonParsedInstructionMeta
|
|
1952
|
+
programId: Address
|
|
1953
|
+
}
|
|
1954
|
+
|
|
1955
|
+
# Vote: AuthorizeCheckedWithSeed
|
|
1956
|
+
type VoteAuthorizeCheckedWithSeedInstructionData {
|
|
1957
|
+
authorityBaseKey: Address
|
|
1958
|
+
authorityOwner: Account
|
|
1959
|
+
authoritySeed: String
|
|
1960
|
+
authorityType: String
|
|
1961
|
+
clockSysvar: Address
|
|
1962
|
+
newAuthority: Account
|
|
1963
|
+
voteAccount: Account
|
|
1964
|
+
}
|
|
1965
|
+
type VoteAuthorizeCheckedWithSeedInstruction implements TransactionInstruction {
|
|
1966
|
+
data: VoteAuthorizeCheckedWithSeedInstructionData
|
|
1967
|
+
meta: JsonParsedInstructionMeta
|
|
1968
|
+
programId: Address
|
|
1969
|
+
}
|
|
1970
|
+
|
|
1971
|
+
type Vote {
|
|
1972
|
+
hash: String
|
|
1973
|
+
slots: [BigInt]
|
|
1974
|
+
timestamp: BigInt
|
|
1975
|
+
}
|
|
1976
|
+
|
|
1977
|
+
# Vote: Vote
|
|
1978
|
+
type VoteVoteInstructionData {
|
|
1979
|
+
clockSysvar: Address
|
|
1980
|
+
slotHashesSysvar: Address
|
|
1981
|
+
vote: Vote
|
|
1982
|
+
voteAccount: Account
|
|
1983
|
+
voteAuthority: Account
|
|
1984
|
+
}
|
|
1985
|
+
type VoteVoteInstruction implements TransactionInstruction {
|
|
1986
|
+
data: VoteVoteInstructionData
|
|
1987
|
+
meta: JsonParsedInstructionMeta
|
|
1988
|
+
programId: Address
|
|
1989
|
+
}
|
|
1990
|
+
|
|
1991
|
+
type VoteStateUpdateLockout {
|
|
1992
|
+
confirmationCount: BigInt # FIXME:*
|
|
1993
|
+
slot: BigInt
|
|
1994
|
+
}
|
|
1995
|
+
type VoteStateUpdate {
|
|
1996
|
+
hash: String
|
|
1997
|
+
lockouts: [VoteStateUpdateLockout]
|
|
1998
|
+
root: BigInt
|
|
1999
|
+
timestamp: BigInt
|
|
2000
|
+
}
|
|
2001
|
+
|
|
2002
|
+
# Vote: UpdateVoteState
|
|
2003
|
+
type VoteUpdateVoteStateInstructionData {
|
|
2004
|
+
hash: String
|
|
2005
|
+
voteAccount: Account
|
|
2006
|
+
voteAuthority: Account
|
|
2007
|
+
voteStateUpdate: VoteStateUpdate
|
|
2008
|
+
}
|
|
2009
|
+
type VoteUpdateVoteStateInstruction implements TransactionInstruction {
|
|
2010
|
+
data: VoteUpdateVoteStateInstructionData
|
|
2011
|
+
meta: JsonParsedInstructionMeta
|
|
2012
|
+
programId: Address
|
|
2013
|
+
}
|
|
2014
|
+
|
|
2015
|
+
# Vote: UpdateVoteStateSwitch
|
|
2016
|
+
type VoteUpdateVoteStateSwitchInstructionData {
|
|
2017
|
+
hash: String
|
|
2018
|
+
voteAccount: Account
|
|
2019
|
+
voteAuthority: Account
|
|
2020
|
+
voteStateUpdate: VoteStateUpdate
|
|
2021
|
+
}
|
|
2022
|
+
type VoteUpdateVoteStateSwitchInstruction implements TransactionInstruction {
|
|
2023
|
+
data: VoteUpdateVoteStateSwitchInstructionData
|
|
2024
|
+
meta: JsonParsedInstructionMeta
|
|
2025
|
+
programId: Address
|
|
2026
|
+
}
|
|
2027
|
+
|
|
2028
|
+
# Vote: CompactUpdateVoteState
|
|
2029
|
+
type VoteCompactUpdateVoteStateInstructionData {
|
|
2030
|
+
hash: String
|
|
2031
|
+
voteAccount: Account
|
|
2032
|
+
voteAuthority: Account
|
|
2033
|
+
voteStateUpdate: VoteStateUpdate
|
|
2034
|
+
}
|
|
2035
|
+
type VoteCompactUpdateVoteStateInstruction implements TransactionInstruction {
|
|
2036
|
+
data: VoteCompactUpdateVoteStateInstructionData
|
|
2037
|
+
meta: JsonParsedInstructionMeta
|
|
2038
|
+
programId: Address
|
|
2039
|
+
}
|
|
2040
|
+
|
|
2041
|
+
# Vote: CompactUpdateVoteStateSwitch
|
|
2042
|
+
type VoteCompactUpdateVoteStateSwitchInstructionData {
|
|
2043
|
+
hash: String
|
|
2044
|
+
voteAccount: Account
|
|
2045
|
+
voteAuthority: Account
|
|
2046
|
+
voteStateUpdate: VoteStateUpdate
|
|
2047
|
+
}
|
|
2048
|
+
type VoteCompactUpdateVoteStateSwitchInstruction implements TransactionInstruction {
|
|
2049
|
+
data: VoteCompactUpdateVoteStateSwitchInstructionData
|
|
2050
|
+
meta: JsonParsedInstructionMeta
|
|
2051
|
+
programId: Address
|
|
2052
|
+
}
|
|
2053
|
+
|
|
2054
|
+
# Vote: Withdraw
|
|
2055
|
+
type VoteWithdrawInstructionData {
|
|
2056
|
+
destination: Account
|
|
2057
|
+
lamports: BigInt
|
|
2058
|
+
voteAccount: Account
|
|
2059
|
+
withdrawAuthority: Account
|
|
2060
|
+
}
|
|
2061
|
+
type VoteWithdrawInstruction implements TransactionInstruction {
|
|
2062
|
+
data: VoteWithdrawInstructionData
|
|
2063
|
+
meta: JsonParsedInstructionMeta
|
|
2064
|
+
programId: Address
|
|
2065
|
+
}
|
|
2066
|
+
|
|
2067
|
+
# Vote: UpdateValidatorIdentity
|
|
2068
|
+
type VoteUpdateValidatorIdentityInstructionData {
|
|
2069
|
+
newValidatorIdentity: Account
|
|
2070
|
+
voteAccount: Account
|
|
2071
|
+
withdrawAuthority: Account
|
|
2072
|
+
}
|
|
2073
|
+
type VoteUpdateValidatorIdentityInstruction implements TransactionInstruction {
|
|
2074
|
+
data: VoteUpdateValidatorIdentityInstructionData
|
|
2075
|
+
meta: JsonParsedInstructionMeta
|
|
2076
|
+
programId: Address
|
|
2077
|
+
}
|
|
2078
|
+
|
|
2079
|
+
# Vote: UpdateCommission
|
|
2080
|
+
type VoteUpdateCommissionInstructionData {
|
|
2081
|
+
commission: BigInt # FIXME:*
|
|
2082
|
+
voteAccount: Account
|
|
2083
|
+
withdrawAuthority: Account
|
|
2084
|
+
}
|
|
2085
|
+
type VoteUpdateCommissionInstruction implements TransactionInstruction {
|
|
2086
|
+
data: VoteUpdateCommissionInstructionData
|
|
2087
|
+
meta: JsonParsedInstructionMeta
|
|
2088
|
+
programId: Address
|
|
2089
|
+
}
|
|
2090
|
+
|
|
2091
|
+
# Vote: VoteSwitch
|
|
2092
|
+
type VoteVoteSwitchInstructionData {
|
|
2093
|
+
clockSysvar: Address
|
|
2094
|
+
hash: String
|
|
2095
|
+
slotHashesSysvar: Address
|
|
2096
|
+
vote: Vote
|
|
2097
|
+
voteAccount: Account
|
|
2098
|
+
voteAuthority: Account
|
|
2099
|
+
}
|
|
2100
|
+
type VoteVoteSwitchInstruction implements TransactionInstruction {
|
|
2101
|
+
data: VoteVoteSwitchInstructionData
|
|
2102
|
+
meta: JsonParsedInstructionMeta
|
|
2103
|
+
programId: Address
|
|
2104
|
+
}
|
|
2105
|
+
|
|
2106
|
+
# Vote: AuthorizeChecked
|
|
2107
|
+
type VoteAuthorizeCheckedInstructionData {
|
|
2108
|
+
authority: Account
|
|
2109
|
+
authorityType: String
|
|
2110
|
+
clockSysvar: Address
|
|
2111
|
+
newAuthority: Account
|
|
2112
|
+
voteAccount: Account
|
|
2113
|
+
}
|
|
2114
|
+
type VoteAuthorizeCheckedInstruction implements TransactionInstruction {
|
|
2115
|
+
data: VoteAuthorizeCheckedInstructionData
|
|
2116
|
+
meta: JsonParsedInstructionMeta
|
|
2117
|
+
programId: Address
|
|
2118
|
+
}
|
|
2119
|
+
`
|
|
2120
|
+
);
|
|
2121
|
+
var instructionResolvers = {
|
|
2122
|
+
TransactionInstruction: {
|
|
2123
|
+
__resolveType(instruction) {
|
|
2124
|
+
if (instruction.meta) {
|
|
2125
|
+
if (instruction.meta.program === "address-lookup-table") {
|
|
2126
|
+
if (instruction.meta.type === "createLookupTable") {
|
|
733
2127
|
return "CreateLookupTableInstruction";
|
|
734
2128
|
}
|
|
735
|
-
if (instruction.
|
|
2129
|
+
if (instruction.meta.type === "freezeLookupTable") {
|
|
736
2130
|
return "FreezeLookupTableInstruction";
|
|
737
2131
|
}
|
|
738
|
-
if (instruction.
|
|
2132
|
+
if (instruction.meta.type === "extendLookupTable") {
|
|
739
2133
|
return "ExtendLookupTableInstruction";
|
|
740
2134
|
}
|
|
741
|
-
if (instruction.
|
|
2135
|
+
if (instruction.meta.type === "deactivateLookupTable") {
|
|
742
2136
|
return "DeactivateLookupTableInstruction";
|
|
743
2137
|
}
|
|
744
|
-
if (instruction.
|
|
2138
|
+
if (instruction.meta.type === "closeLookupTable") {
|
|
745
2139
|
return "CloseLookupTableInstruction";
|
|
746
2140
|
}
|
|
747
2141
|
}
|
|
748
|
-
if (instruction.program === "bpf-loader") {
|
|
749
|
-
if (instruction.
|
|
2142
|
+
if (instruction.meta.program === "bpf-loader") {
|
|
2143
|
+
if (instruction.meta.type === "write") {
|
|
750
2144
|
return "BpfLoaderWriteInstruction";
|
|
751
2145
|
}
|
|
752
|
-
if (instruction.
|
|
2146
|
+
if (instruction.meta.type === "finalize") {
|
|
753
2147
|
return "BpfLoaderFinalizeInstruction";
|
|
754
2148
|
}
|
|
755
2149
|
}
|
|
756
|
-
if (instruction.program === "bpf-upgradeable-loader") {
|
|
757
|
-
if (instruction.
|
|
2150
|
+
if (instruction.meta.program === "bpf-upgradeable-loader") {
|
|
2151
|
+
if (instruction.meta.type === "initializeBuffer") {
|
|
758
2152
|
return "BpfUpgradeableLoaderInitializeBufferInstruction";
|
|
759
2153
|
}
|
|
760
|
-
if (instruction.
|
|
2154
|
+
if (instruction.meta.type === "write") {
|
|
761
2155
|
return "BpfUpgradeableLoaderWriteInstruction";
|
|
762
2156
|
}
|
|
763
|
-
if (instruction.
|
|
2157
|
+
if (instruction.meta.type === "deployWithMaxDataLen") {
|
|
764
2158
|
return "BpfUpgradeableLoaderDeployWithMaxDataLenInstruction";
|
|
765
2159
|
}
|
|
766
|
-
if (instruction.
|
|
2160
|
+
if (instruction.meta.type === "upgrade") {
|
|
767
2161
|
return "BpfUpgradeableLoaderUpgradeInstruction";
|
|
768
2162
|
}
|
|
769
|
-
if (instruction.
|
|
2163
|
+
if (instruction.meta.type === "setAuthority") {
|
|
770
2164
|
return "BpfUpgradeableLoaderSetAuthorityInstruction";
|
|
771
2165
|
}
|
|
772
|
-
if (instruction.
|
|
2166
|
+
if (instruction.meta.type === "setAuthorityChecked") {
|
|
773
2167
|
return "BpfUpgradeableLoaderSetAuthorityCheckedInstruction";
|
|
774
2168
|
}
|
|
775
|
-
if (instruction.
|
|
2169
|
+
if (instruction.meta.type === "close") {
|
|
776
2170
|
return "BpfUpgradeableLoaderCloseInstruction";
|
|
777
2171
|
}
|
|
778
|
-
if (instruction.
|
|
2172
|
+
if (instruction.meta.type === "extendProgram") {
|
|
779
2173
|
return "BpfUpgradeableLoaderExtendProgramInstruction";
|
|
780
2174
|
}
|
|
781
2175
|
}
|
|
782
|
-
if (instruction.program === "spl-associated-token-account") {
|
|
783
|
-
if (instruction.
|
|
2176
|
+
if (instruction.meta.program === "spl-associated-token-account") {
|
|
2177
|
+
if (instruction.meta.type === "create") {
|
|
784
2178
|
return "SplAssociatedTokenCreateInstruction";
|
|
785
2179
|
}
|
|
786
|
-
if (instruction.
|
|
2180
|
+
if (instruction.meta.type === "createIdempotent") {
|
|
787
2181
|
return "SplAssociatedTokenCreateIdempotentInstruction";
|
|
788
2182
|
}
|
|
789
|
-
if (instruction.
|
|
2183
|
+
if (instruction.meta.type === "recoverNested") {
|
|
790
2184
|
return "SplAssociatedTokenRecoverNestedInstruction";
|
|
791
2185
|
}
|
|
792
2186
|
}
|
|
793
|
-
if (instruction.program === "spl-memo") {
|
|
2187
|
+
if (instruction.meta.program === "spl-memo") {
|
|
794
2188
|
return "SplMemoInstruction";
|
|
795
2189
|
}
|
|
796
|
-
if (instruction.program === "spl-token") {
|
|
797
|
-
if (instruction.
|
|
2190
|
+
if (instruction.meta.program === "spl-token") {
|
|
2191
|
+
if (instruction.meta.type === "initializeMint") {
|
|
798
2192
|
return "SplTokenInitializeMintInstruction";
|
|
799
2193
|
}
|
|
800
|
-
if (instruction.
|
|
2194
|
+
if (instruction.meta.type === "initializeMint2") {
|
|
801
2195
|
return "SplTokenInitializeMint2Instruction";
|
|
802
2196
|
}
|
|
803
|
-
if (instruction.
|
|
2197
|
+
if (instruction.meta.type === "initializeAccount") {
|
|
804
2198
|
return "SplTokenInitializeAccountInstruction";
|
|
805
2199
|
}
|
|
806
|
-
if (instruction.
|
|
2200
|
+
if (instruction.meta.type === "initializeAccount2") {
|
|
807
2201
|
return "SplTokenInitializeAccount2Instruction";
|
|
808
2202
|
}
|
|
809
|
-
if (instruction.
|
|
2203
|
+
if (instruction.meta.type === "initializeAccount3") {
|
|
810
2204
|
return "SplTokenInitializeAccount3Instruction";
|
|
811
2205
|
}
|
|
812
|
-
if (instruction.
|
|
2206
|
+
if (instruction.meta.type === "initializeMultisig") {
|
|
813
2207
|
return "SplTokenInitializeMultisigInstruction";
|
|
814
2208
|
}
|
|
815
|
-
if (instruction.
|
|
2209
|
+
if (instruction.meta.type === "initializeMultisig2") {
|
|
816
2210
|
return "SplTokenInitializeMultisig2Instruction";
|
|
817
2211
|
}
|
|
818
|
-
if (instruction.
|
|
2212
|
+
if (instruction.meta.type === "transfer") {
|
|
819
2213
|
return "SplTokenTransferInstruction";
|
|
820
2214
|
}
|
|
821
|
-
if (instruction.
|
|
2215
|
+
if (instruction.meta.type === "approve") {
|
|
822
2216
|
return "SplTokenApproveInstruction";
|
|
823
2217
|
}
|
|
824
|
-
if (instruction.
|
|
2218
|
+
if (instruction.meta.type === "revoke") {
|
|
825
2219
|
return "SplTokenRevokeInstruction";
|
|
826
2220
|
}
|
|
827
|
-
if (instruction.
|
|
2221
|
+
if (instruction.meta.type === "setAuthority") {
|
|
828
2222
|
return "SplTokenSetAuthorityInstruction";
|
|
829
2223
|
}
|
|
830
|
-
if (instruction.
|
|
2224
|
+
if (instruction.meta.type === "mintTo") {
|
|
831
2225
|
return "SplTokenMintToInstruction";
|
|
832
2226
|
}
|
|
833
|
-
if (instruction.
|
|
2227
|
+
if (instruction.meta.type === "burn") {
|
|
834
2228
|
return "SplTokenBurnInstruction";
|
|
835
2229
|
}
|
|
836
|
-
if (instruction.
|
|
2230
|
+
if (instruction.meta.type === "closeAccount") {
|
|
837
2231
|
return "SplTokenCloseAccountInstruction";
|
|
838
2232
|
}
|
|
839
|
-
if (instruction.
|
|
2233
|
+
if (instruction.meta.type === "freezeAccount") {
|
|
840
2234
|
return "SplTokenFreezeAccountInstruction";
|
|
841
2235
|
}
|
|
842
|
-
if (instruction.
|
|
2236
|
+
if (instruction.meta.type === "thawAccount") {
|
|
843
2237
|
return "SplTokenThawAccountInstruction";
|
|
844
2238
|
}
|
|
845
|
-
if (instruction.
|
|
2239
|
+
if (instruction.meta.type === "transferChecked") {
|
|
846
2240
|
return "SplTokenTransferCheckedInstruction";
|
|
847
2241
|
}
|
|
848
|
-
if (instruction.
|
|
2242
|
+
if (instruction.meta.type === "approveChecked") {
|
|
849
2243
|
return "SplTokenApproveCheckedInstruction";
|
|
850
2244
|
}
|
|
851
|
-
if (instruction.
|
|
2245
|
+
if (instruction.meta.type === "mintToChecked") {
|
|
852
2246
|
return "SplTokenMintToCheckedInstruction";
|
|
853
2247
|
}
|
|
854
|
-
if (instruction.
|
|
2248
|
+
if (instruction.meta.type === "burnChecked") {
|
|
855
2249
|
return "SplTokenBurnCheckedInstruction";
|
|
856
2250
|
}
|
|
857
|
-
if (instruction.
|
|
2251
|
+
if (instruction.meta.type === "syncNative") {
|
|
858
2252
|
return "SplTokenSyncNativeInstruction";
|
|
859
2253
|
}
|
|
860
|
-
if (instruction.
|
|
2254
|
+
if (instruction.meta.type === "getAccountDataSize") {
|
|
861
2255
|
return "SplTokenGetAccountDataSizeInstruction";
|
|
862
2256
|
}
|
|
863
|
-
if (instruction.
|
|
2257
|
+
if (instruction.meta.type === "initializeImmutableOwner") {
|
|
864
2258
|
return "SplTokenInitializeImmutableOwnerInstruction";
|
|
865
2259
|
}
|
|
866
|
-
if (instruction.
|
|
2260
|
+
if (instruction.meta.type === "amountToUiAmount") {
|
|
867
2261
|
return "SplTokenAmountToUiAmountInstruction";
|
|
868
2262
|
}
|
|
869
|
-
if (instruction.
|
|
2263
|
+
if (instruction.meta.type === "uiAmountToAmount") {
|
|
870
2264
|
return "SplTokenUiAmountToAmountInstruction";
|
|
871
2265
|
}
|
|
872
|
-
if (instruction.
|
|
2266
|
+
if (instruction.meta.type === "initializeMintCloseAuthority") {
|
|
873
2267
|
return "SplTokenInitializeMintCloseAuthorityInstruction";
|
|
874
2268
|
}
|
|
875
2269
|
}
|
|
876
|
-
if (instruction.program === "stake") {
|
|
877
|
-
if (instruction.
|
|
2270
|
+
if (instruction.meta.program === "stake") {
|
|
2271
|
+
if (instruction.meta.type === "initialize") {
|
|
878
2272
|
return "StakeInitializeInstruction";
|
|
879
2273
|
}
|
|
880
|
-
if (instruction.
|
|
2274
|
+
if (instruction.meta.type === "authorize") {
|
|
881
2275
|
return "StakeAuthorizeInstruction";
|
|
882
2276
|
}
|
|
883
|
-
if (instruction.
|
|
2277
|
+
if (instruction.meta.type === "delegate") {
|
|
884
2278
|
return "StakeDelegateStakeInstruction";
|
|
885
2279
|
}
|
|
886
|
-
if (instruction.
|
|
2280
|
+
if (instruction.meta.type === "split") {
|
|
887
2281
|
return "StakeSplitInstruction";
|
|
888
2282
|
}
|
|
889
|
-
if (instruction.
|
|
2283
|
+
if (instruction.meta.type === "withdraw") {
|
|
890
2284
|
return "StakeWithdrawInstruction";
|
|
891
2285
|
}
|
|
892
|
-
if (instruction.
|
|
2286
|
+
if (instruction.meta.type === "deactivate") {
|
|
893
2287
|
return "StakeDeactivateInstruction";
|
|
894
2288
|
}
|
|
895
|
-
if (instruction.
|
|
2289
|
+
if (instruction.meta.type === "setLockup") {
|
|
896
2290
|
return "StakeSetLockupInstruction";
|
|
897
2291
|
}
|
|
898
|
-
if (instruction.
|
|
2292
|
+
if (instruction.meta.type === "merge") {
|
|
899
2293
|
return "StakeMergeInstruction";
|
|
900
2294
|
}
|
|
901
|
-
if (instruction.
|
|
2295
|
+
if (instruction.meta.type === "authorizeWithSeed") {
|
|
902
2296
|
return "StakeAuthorizeWithSeedInstruction";
|
|
903
2297
|
}
|
|
904
|
-
if (instruction.
|
|
2298
|
+
if (instruction.meta.type === "initializeChecked") {
|
|
905
2299
|
return "StakeInitializeCheckedInstruction";
|
|
906
2300
|
}
|
|
907
|
-
if (instruction.
|
|
2301
|
+
if (instruction.meta.type === "authorizeChecked") {
|
|
908
2302
|
return "StakeAuthorizeCheckedInstruction";
|
|
909
2303
|
}
|
|
910
|
-
if (instruction.
|
|
2304
|
+
if (instruction.meta.type === "authorizeCheckedWithSeed") {
|
|
911
2305
|
return "StakeAuthorizeCheckedWithSeedInstruction";
|
|
912
2306
|
}
|
|
913
|
-
if (instruction.
|
|
2307
|
+
if (instruction.meta.type === "setLockupChecked") {
|
|
914
2308
|
return "StakeSetLockupCheckedInstruction";
|
|
915
2309
|
}
|
|
916
|
-
if (instruction.
|
|
2310
|
+
if (instruction.meta.type === "deactivateDelinquent") {
|
|
917
2311
|
return "StakeDeactivateDelinquentInstruction";
|
|
918
2312
|
}
|
|
919
|
-
if (instruction.
|
|
2313
|
+
if (instruction.meta.type === "redelegate") {
|
|
920
2314
|
return "StakeRedelegateInstruction";
|
|
921
2315
|
}
|
|
922
2316
|
}
|
|
923
|
-
if (instruction.program === "system") {
|
|
924
|
-
if (instruction.
|
|
2317
|
+
if (instruction.meta.program === "system") {
|
|
2318
|
+
if (instruction.meta.type === "createAccount") {
|
|
925
2319
|
return "CreateAccountInstruction";
|
|
926
2320
|
}
|
|
927
|
-
if (instruction.
|
|
2321
|
+
if (instruction.meta.type === "assign") {
|
|
928
2322
|
return "AssignInstruction";
|
|
929
2323
|
}
|
|
930
|
-
if (instruction.
|
|
2324
|
+
if (instruction.meta.type === "transfer") {
|
|
931
2325
|
return "TransferInstruction";
|
|
932
2326
|
}
|
|
933
|
-
if (instruction.
|
|
2327
|
+
if (instruction.meta.type === "createAccountWithSeed") {
|
|
934
2328
|
return "CreateAccountWithSeedInstruction";
|
|
935
2329
|
}
|
|
936
|
-
if (instruction.
|
|
2330
|
+
if (instruction.meta.type === "advanceNonceAccount") {
|
|
937
2331
|
return "AdvanceNonceAccountInstruction";
|
|
938
2332
|
}
|
|
939
|
-
if (instruction.
|
|
2333
|
+
if (instruction.meta.type === "withdrawNonceAccount") {
|
|
940
2334
|
return "WithdrawNonceAccountInstruction";
|
|
941
2335
|
}
|
|
942
|
-
if (instruction.
|
|
2336
|
+
if (instruction.meta.type === "initializeNonceAccount") {
|
|
943
2337
|
return "InitializeNonceAccountInstruction";
|
|
944
2338
|
}
|
|
945
|
-
if (instruction.
|
|
2339
|
+
if (instruction.meta.type === "authorizeNonceAccount") {
|
|
946
2340
|
return "AuthorizeNonceAccountInstruction";
|
|
947
2341
|
}
|
|
948
|
-
if (instruction.
|
|
2342
|
+
if (instruction.meta.type === "upgradeNonceAccount") {
|
|
949
2343
|
return "UpgradeNonceAccountInstruction";
|
|
950
2344
|
}
|
|
951
|
-
if (instruction.
|
|
2345
|
+
if (instruction.meta.type === "allocate") {
|
|
952
2346
|
return "AllocateInstruction";
|
|
953
2347
|
}
|
|
954
|
-
if (instruction.
|
|
2348
|
+
if (instruction.meta.type === "allocateWithSeed") {
|
|
955
2349
|
return "AllocateWithSeedInstruction";
|
|
956
2350
|
}
|
|
957
|
-
if (instruction.
|
|
2351
|
+
if (instruction.meta.type === "assignWithSeed") {
|
|
958
2352
|
return "AssignWithSeedInstruction";
|
|
959
2353
|
}
|
|
960
|
-
if (instruction.
|
|
2354
|
+
if (instruction.meta.type === "transferWithSeed") {
|
|
961
2355
|
return "TransferWithSeedInstruction";
|
|
962
2356
|
}
|
|
963
2357
|
}
|
|
964
|
-
if (instruction.program === "vote") {
|
|
965
|
-
if (instruction.
|
|
2358
|
+
if (instruction.meta.program === "vote") {
|
|
2359
|
+
if (instruction.meta.type === "initialize") {
|
|
966
2360
|
return "VoteInitializeAccountInstruction";
|
|
967
2361
|
}
|
|
968
|
-
if (instruction.
|
|
2362
|
+
if (instruction.meta.type === "authorize") {
|
|
969
2363
|
return "VoteAuthorizeInstruction";
|
|
970
2364
|
}
|
|
971
|
-
if (instruction.
|
|
2365
|
+
if (instruction.meta.type === "authorizeWithSeed") {
|
|
972
2366
|
return "VoteAuthorizeWithSeedInstruction";
|
|
973
2367
|
}
|
|
974
|
-
if (instruction.
|
|
2368
|
+
if (instruction.meta.type === "authorizeCheckedWithSeed") {
|
|
975
2369
|
return "VoteAuthorizeCheckedWithSeedInstruction";
|
|
976
2370
|
}
|
|
977
|
-
if (instruction.
|
|
2371
|
+
if (instruction.meta.type === "vote") {
|
|
978
2372
|
return "VoteVoteInstruction";
|
|
979
2373
|
}
|
|
980
|
-
if (instruction.
|
|
2374
|
+
if (instruction.meta.type === "updatevotestate") {
|
|
981
2375
|
return "VoteUpdateVoteStateInstruction";
|
|
982
2376
|
}
|
|
983
|
-
if (instruction.
|
|
2377
|
+
if (instruction.meta.type === "updatevotestateswitch") {
|
|
984
2378
|
return "VoteUpdateVoteStateSwitchInstruction";
|
|
985
2379
|
}
|
|
986
|
-
if (instruction.
|
|
2380
|
+
if (instruction.meta.type === "compactupdatevotestate") {
|
|
987
2381
|
return "VoteCompactUpdateVoteStateInstruction";
|
|
988
2382
|
}
|
|
989
|
-
if (instruction.
|
|
2383
|
+
if (instruction.meta.type === "compactupdatevotestateswitch") {
|
|
990
2384
|
return "VoteCompactUpdateVoteStateSwitchInstruction";
|
|
991
2385
|
}
|
|
992
|
-
if (instruction.
|
|
2386
|
+
if (instruction.meta.type === "withdraw") {
|
|
993
2387
|
return "VoteWithdrawInstruction";
|
|
994
2388
|
}
|
|
995
|
-
if (instruction.
|
|
2389
|
+
if (instruction.meta.type === "updateValidatorIdentity") {
|
|
996
2390
|
return "VoteUpdateValidatorIdentityInstruction";
|
|
997
2391
|
}
|
|
998
|
-
if (instruction.
|
|
2392
|
+
if (instruction.meta.type === "updateCommission") {
|
|
999
2393
|
return "VoteUpdateCommissionInstruction";
|
|
1000
2394
|
}
|
|
1001
|
-
if (instruction.
|
|
2395
|
+
if (instruction.meta.type === "voteSwitch") {
|
|
1002
2396
|
return "VoteVoteSwitchInstruction";
|
|
1003
2397
|
}
|
|
1004
|
-
if (instruction.
|
|
2398
|
+
if (instruction.meta.type === "authorizeChecked") {
|
|
1005
2399
|
return "VoteAuthorizeCheckedInstruction";
|
|
1006
2400
|
}
|
|
1007
2401
|
}
|
|
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
2402
|
}
|
|
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
|
-
|
|
2403
|
+
return "GenericInstruction";
|
|
2404
|
+
}
|
|
2405
|
+
},
|
|
2406
|
+
CreateLookupTableInstructionData: {
|
|
2407
|
+
lookupTableAccount: resolveAccount("lookupTableAccount"),
|
|
2408
|
+
lookupTableAuthority: resolveAccount("lookupTableAuthority"),
|
|
2409
|
+
payerAccount: resolveAccount("payerAccount"),
|
|
2410
|
+
systemProgram: resolveAccount("systemProgram")
|
|
2411
|
+
},
|
|
2412
|
+
ExtendLookupTableInstructionData: {
|
|
2413
|
+
lookupTableAccount: resolveAccount("lookupTableAccount"),
|
|
2414
|
+
lookupTableAuthority: resolveAccount("lookupTableAuthority"),
|
|
2415
|
+
payerAccount: resolveAccount("payerAccount"),
|
|
2416
|
+
systemProgram: resolveAccount("systemProgram")
|
|
2417
|
+
},
|
|
2418
|
+
FreezeLookupTableInstructionData: {
|
|
2419
|
+
lookupTableAccount: resolveAccount("lookupTableAccount"),
|
|
2420
|
+
lookupTableAuthority: resolveAccount("lookupTableAuthority")
|
|
2421
|
+
},
|
|
2422
|
+
DeactivateLookupTableInstructionData: {
|
|
2423
|
+
lookupTableAccount: resolveAccount("lookupTableAccount"),
|
|
2424
|
+
lookupTableAuthority: resolveAccount("lookupTableAuthority")
|
|
2425
|
+
},
|
|
2426
|
+
CloseLookupTableInstructionData: {
|
|
2427
|
+
lookupTableAccount: resolveAccount("lookupTableAccount"),
|
|
2428
|
+
lookupTableAuthority: resolveAccount("lookupTableAuthority"),
|
|
2429
|
+
recipient: resolveAccount("recipient")
|
|
2430
|
+
},
|
|
2431
|
+
BpfLoaderWriteInstructionData: {
|
|
2432
|
+
account: resolveAccount("account")
|
|
2433
|
+
},
|
|
2434
|
+
BpfLoaderFinalizeInstructionData: {
|
|
2435
|
+
account: resolveAccount("account")
|
|
2436
|
+
},
|
|
2437
|
+
BpfUpgradeableLoaderInitializeBufferInstructionData: {
|
|
2438
|
+
account: resolveAccount("account")
|
|
2439
|
+
},
|
|
2440
|
+
BpfUpgradeableLoaderWriteInstructionData: {
|
|
2441
|
+
account: resolveAccount("account"),
|
|
2442
|
+
authority: resolveAccount("authority")
|
|
2443
|
+
},
|
|
2444
|
+
BpfUpgradeableLoaderDeployWithMaxDataLenInstructionData: {
|
|
2445
|
+
authority: resolveAccount("authority"),
|
|
2446
|
+
bufferAccount: resolveAccount("bufferAccount"),
|
|
2447
|
+
payerAccount: resolveAccount("payerAccount"),
|
|
2448
|
+
programAccount: resolveAccount("programAccount"),
|
|
2449
|
+
programDataAccount: resolveAccount("programDataAccount")
|
|
2450
|
+
},
|
|
2451
|
+
BpfUpgradeableLoaderUpgradeInstructionData: {
|
|
2452
|
+
authority: resolveAccount("authority"),
|
|
2453
|
+
bufferAccount: resolveAccount("bufferAccount"),
|
|
2454
|
+
programAccount: resolveAccount("programAccount"),
|
|
2455
|
+
programDataAccount: resolveAccount("programDataAccount")
|
|
2456
|
+
},
|
|
2457
|
+
BpfUpgradeableLoaderSetAuthorityInstructionData: {
|
|
2458
|
+
account: resolveAccount("account"),
|
|
2459
|
+
authority: resolveAccount("authority"),
|
|
2460
|
+
newAuthority: resolveAccount("newAuthority")
|
|
2461
|
+
},
|
|
2462
|
+
BpfUpgradeableLoaderSetAuthorityCheckedInstructionData: {
|
|
2463
|
+
account: resolveAccount("account"),
|
|
2464
|
+
authority: resolveAccount("authority"),
|
|
2465
|
+
newAuthority: resolveAccount("newAuthority")
|
|
2466
|
+
},
|
|
2467
|
+
BpfUpgradeableLoaderCloseInstructionData: {
|
|
2468
|
+
account: resolveAccount("account"),
|
|
2469
|
+
authority: resolveAccount("authority"),
|
|
2470
|
+
programAccount: resolveAccount("programAccount"),
|
|
2471
|
+
recipient: resolveAccount("recipient")
|
|
2472
|
+
},
|
|
2473
|
+
BpfUpgradeableLoaderExtendProgramInstructionData: {
|
|
2474
|
+
payerAccount: resolveAccount("payerAccount"),
|
|
2475
|
+
programAccount: resolveAccount("programAccount"),
|
|
2476
|
+
programDataAccount: resolveAccount("programDataAccount"),
|
|
2477
|
+
systemProgram: resolveAccount("systemProgram")
|
|
2478
|
+
},
|
|
2479
|
+
SplAssociatedTokenCreateInstructionData: {
|
|
2480
|
+
account: resolveAccount("account"),
|
|
2481
|
+
mint: resolveAccount("mint"),
|
|
2482
|
+
source: resolveAccount("source"),
|
|
2483
|
+
systemProgram: resolveAccount("systemProgram"),
|
|
2484
|
+
tokenProgram: resolveAccount("tokenProgram"),
|
|
2485
|
+
wallet: resolveAccount("wallet")
|
|
2486
|
+
},
|
|
2487
|
+
SplAssociatedTokenCreateIdempotentInstructionData: {
|
|
2488
|
+
account: resolveAccount("account"),
|
|
2489
|
+
mint: resolveAccount("mint"),
|
|
2490
|
+
source: resolveAccount("source"),
|
|
2491
|
+
systemProgram: resolveAccount("systemProgram"),
|
|
2492
|
+
tokenProgram: resolveAccount("tokenProgram"),
|
|
2493
|
+
wallet: resolveAccount("wallet")
|
|
2494
|
+
},
|
|
2495
|
+
SplAssociatedTokenRecoverNestedInstructionData: {
|
|
2496
|
+
destination: resolveAccount("destination"),
|
|
2497
|
+
nestedMint: resolveAccount("nestedMint"),
|
|
2498
|
+
nestedOwner: resolveAccount("nestedOwner"),
|
|
2499
|
+
nestedSource: resolveAccount("nestedSource"),
|
|
2500
|
+
ownerMint: resolveAccount("ownerMint"),
|
|
2501
|
+
tokenProgram: resolveAccount("tokenProgram"),
|
|
2502
|
+
wallet: resolveAccount("wallet")
|
|
2503
|
+
},
|
|
2504
|
+
SplTokenInitializeMintInstructionData: {
|
|
2505
|
+
freezeAuthority: resolveAccount("freezeAuthority"),
|
|
2506
|
+
mint: resolveAccount("mint"),
|
|
2507
|
+
mintAuthority: resolveAccount("mintAuthority")
|
|
2508
|
+
},
|
|
2509
|
+
SplTokenInitializeMint2InstructionData: {
|
|
2510
|
+
freezeAuthority: resolveAccount("freezeAuthority"),
|
|
2511
|
+
mint: resolveAccount("mint"),
|
|
2512
|
+
mintAuthority: resolveAccount("mintAuthority")
|
|
2513
|
+
},
|
|
2514
|
+
SplTokenInitializeAccountInstructionData: {
|
|
2515
|
+
account: resolveAccount("account"),
|
|
2516
|
+
mint: resolveAccount("mint"),
|
|
2517
|
+
owner: resolveAccount("owner")
|
|
2518
|
+
},
|
|
2519
|
+
SplTokenInitializeAccount2InstructionData: {
|
|
2520
|
+
account: resolveAccount("account"),
|
|
2521
|
+
mint: resolveAccount("mint"),
|
|
2522
|
+
owner: resolveAccount("owner")
|
|
2523
|
+
},
|
|
2524
|
+
SplTokenInitializeAccount3InstructionData: {
|
|
2525
|
+
account: resolveAccount("account"),
|
|
2526
|
+
mint: resolveAccount("mint"),
|
|
2527
|
+
owner: resolveAccount("owner")
|
|
2528
|
+
},
|
|
2529
|
+
SplTokenInitializeMultisigInstructionData: {
|
|
2530
|
+
multisig: resolveAccount("multisig")
|
|
2531
|
+
},
|
|
2532
|
+
SplTokenInitializeMultisig2InstructionData: {
|
|
2533
|
+
multisig: resolveAccount("multisig")
|
|
2534
|
+
},
|
|
2535
|
+
SplTokenTransferInstructionData: {
|
|
2536
|
+
authority: resolveAccount("authority"),
|
|
2537
|
+
destination: resolveAccount("destination"),
|
|
2538
|
+
multisigAuthority: resolveAccount("multisigAuthority"),
|
|
2539
|
+
source: resolveAccount("source")
|
|
2540
|
+
},
|
|
2541
|
+
SplTokenApproveInstructionData: {
|
|
2542
|
+
delegate: resolveAccount("delegate"),
|
|
2543
|
+
multisigOwner: resolveAccount("multisigOwner"),
|
|
2544
|
+
owner: resolveAccount("owner"),
|
|
2545
|
+
source: resolveAccount("source")
|
|
2546
|
+
},
|
|
2547
|
+
SplTokenRevokeInstructionData: {
|
|
2548
|
+
multisigOwner: resolveAccount("multisigOwner"),
|
|
2549
|
+
owner: resolveAccount("owner"),
|
|
2550
|
+
source: resolveAccount("source")
|
|
2551
|
+
},
|
|
2552
|
+
SplTokenSetAuthorityInstructionData: {
|
|
2553
|
+
authority: resolveAccount("authority"),
|
|
2554
|
+
multisigAuthority: resolveAccount("multisigAuthority"),
|
|
2555
|
+
newAuthority: resolveAccount("newAuthority")
|
|
2556
|
+
},
|
|
2557
|
+
SplTokenMintToInstructionData: {
|
|
2558
|
+
account: resolveAccount("account"),
|
|
2559
|
+
authority: resolveAccount("authority"),
|
|
2560
|
+
mint: resolveAccount("mint"),
|
|
2561
|
+
mintAuthority: resolveAccount("mintAuthority"),
|
|
2562
|
+
multisigMintAuthority: resolveAccount("multisigMintAuthority")
|
|
2563
|
+
},
|
|
2564
|
+
SplTokenBurnInstructionData: {
|
|
2565
|
+
account: resolveAccount("account"),
|
|
2566
|
+
authority: resolveAccount("authority"),
|
|
2567
|
+
mint: resolveAccount("mint"),
|
|
2568
|
+
multisigAuthority: resolveAccount("multisigAuthority")
|
|
2569
|
+
},
|
|
2570
|
+
SplTokenCloseAccountInstructionData: {
|
|
2571
|
+
account: resolveAccount("account"),
|
|
2572
|
+
destination: resolveAccount("destination"),
|
|
2573
|
+
multisigOwner: resolveAccount("multisigOwner"),
|
|
2574
|
+
owner: resolveAccount("owner")
|
|
2575
|
+
},
|
|
2576
|
+
SplTokenFreezeAccountInstructionData: {
|
|
2577
|
+
account: resolveAccount("account"),
|
|
2578
|
+
freezeAuthority: resolveAccount("freezeAuthority"),
|
|
2579
|
+
mint: resolveAccount("mint"),
|
|
2580
|
+
multisigFreezeAuthority: resolveAccount("multisigFreezeAuthority")
|
|
2581
|
+
},
|
|
2582
|
+
SplTokenThawAccountInstructionData: {
|
|
2583
|
+
account: resolveAccount("account"),
|
|
2584
|
+
freezeAuthority: resolveAccount("freezeAuthority"),
|
|
2585
|
+
mint: resolveAccount("mint"),
|
|
2586
|
+
multisigFreezeAuthority: resolveAccount("multisigFreezeAuthority")
|
|
2587
|
+
},
|
|
2588
|
+
SplTokenTransferCheckedInstructionData: {
|
|
2589
|
+
authority: resolveAccount("authority"),
|
|
2590
|
+
destination: resolveAccount("destination"),
|
|
2591
|
+
mint: resolveAccount("mint"),
|
|
2592
|
+
multisigAuthority: resolveAccount("multisigAuthority"),
|
|
2593
|
+
source: resolveAccount("source")
|
|
2594
|
+
},
|
|
2595
|
+
SplTokenApproveCheckedInstructionData: {
|
|
2596
|
+
delegate: resolveAccount("delegate"),
|
|
2597
|
+
mint: resolveAccount("mint"),
|
|
2598
|
+
multisigOwner: resolveAccount("multisigOwner"),
|
|
2599
|
+
owner: resolveAccount("owner"),
|
|
2600
|
+
source: resolveAccount("source")
|
|
2601
|
+
},
|
|
2602
|
+
SplTokenMintToCheckedInstructionData: {
|
|
2603
|
+
account: resolveAccount("account"),
|
|
2604
|
+
authority: resolveAccount("authority"),
|
|
2605
|
+
mint: resolveAccount("mint"),
|
|
2606
|
+
mintAuthority: resolveAccount("mintAuthority"),
|
|
2607
|
+
multisigMintAuthority: resolveAccount("multisigMintAuthority")
|
|
2608
|
+
},
|
|
2609
|
+
SplTokenBurnCheckedInstructionData: {
|
|
2610
|
+
account: resolveAccount("account"),
|
|
2611
|
+
authority: resolveAccount("authority"),
|
|
2612
|
+
mint: resolveAccount("mint"),
|
|
2613
|
+
multisigAuthority: resolveAccount("multisigAuthority")
|
|
2614
|
+
},
|
|
2615
|
+
SplTokenSyncNativeInstructionData: {
|
|
2616
|
+
account: resolveAccount("account")
|
|
2617
|
+
},
|
|
2618
|
+
SplTokenGetAccountDataSizeInstructionData: {
|
|
2619
|
+
mint: resolveAccount("mint")
|
|
2620
|
+
},
|
|
2621
|
+
SplTokenAmountToUiAmountInstructionData: {
|
|
2622
|
+
mint: resolveAccount("mint")
|
|
2623
|
+
},
|
|
2624
|
+
SplTokenUiAmountToAmountInstructionData: {
|
|
2625
|
+
mint: resolveAccount("mint")
|
|
2626
|
+
},
|
|
2627
|
+
SplTokenInitializeMintCloseAuthorityInstructionData: {
|
|
2628
|
+
mint: resolveAccount("mint"),
|
|
2629
|
+
newAuthority: resolveAccount("newAuthority")
|
|
2630
|
+
},
|
|
2631
|
+
Lockup: {
|
|
2632
|
+
custodian: resolveAccount("custodian")
|
|
2633
|
+
},
|
|
2634
|
+
StakeInitializeInstructionDataAuthorized: {
|
|
2635
|
+
staker: resolveAccount("staker"),
|
|
2636
|
+
withdrawer: resolveAccount("withdrawer")
|
|
2637
|
+
},
|
|
2638
|
+
StakeInitializeInstructionData: {
|
|
2639
|
+
stakeAccount: resolveAccount("stakeAccount")
|
|
2640
|
+
},
|
|
2641
|
+
StakeAuthorizeInstructionData: {
|
|
2642
|
+
authority: resolveAccount("authority"),
|
|
2643
|
+
custodian: resolveAccount("custodian"),
|
|
2644
|
+
newAuthority: resolveAccount("newAuthority"),
|
|
2645
|
+
stakeAccount: resolveAccount("stakeAccount")
|
|
2646
|
+
},
|
|
2647
|
+
StakeDelegateStakeInstructionData: {
|
|
2648
|
+
stakeAccount: resolveAccount("stakeAccount"),
|
|
2649
|
+
stakeAuthority: resolveAccount("stakeAuthority"),
|
|
2650
|
+
stakeConfigAccount: resolveAccount("stakeConfigAccount"),
|
|
2651
|
+
voteAccount: resolveAccount("voteAccount")
|
|
2652
|
+
},
|
|
2653
|
+
StakeSplitInstructionData: {
|
|
2654
|
+
newSplitAccount: resolveAccount("newSplitAccount"),
|
|
2655
|
+
stakeAccount: resolveAccount("stakeAccount"),
|
|
2656
|
+
stakeAuthority: resolveAccount("stakeAuthority")
|
|
2657
|
+
},
|
|
2658
|
+
StakeWithdrawInstructionData: {
|
|
2659
|
+
destination: resolveAccount("destination"),
|
|
2660
|
+
stakeAccount: resolveAccount("stakeAccount"),
|
|
2661
|
+
withdrawAuthority: resolveAccount("withdrawAuthority")
|
|
2662
|
+
},
|
|
2663
|
+
StakeDeactivateInstructionData: {
|
|
2664
|
+
stakeAccount: resolveAccount("stakeAccount"),
|
|
2665
|
+
stakeAuthority: resolveAccount("stakeAuthority")
|
|
2666
|
+
},
|
|
2667
|
+
StakeSetLockupInstructionData: {
|
|
2668
|
+
custodian: resolveAccount("custodian"),
|
|
2669
|
+
stakeAccount: resolveAccount("stakeAccount")
|
|
2670
|
+
},
|
|
2671
|
+
StakeMergeInstructionData: {
|
|
2672
|
+
destination: resolveAccount("destination"),
|
|
2673
|
+
source: resolveAccount("source"),
|
|
2674
|
+
stakeAuthority: resolveAccount("stakeAuthority")
|
|
2675
|
+
},
|
|
2676
|
+
StakeAuthorizeWithSeedInstructionData: {
|
|
2677
|
+
authorityBase: resolveAccount("authorityBase"),
|
|
2678
|
+
authorityOwner: resolveAccount("authorityOwner"),
|
|
2679
|
+
custodian: resolveAccount("custodian"),
|
|
2680
|
+
newAuthorized: resolveAccount("newAuthorized"),
|
|
2681
|
+
stakeAccount: resolveAccount("stakeAccount")
|
|
2682
|
+
},
|
|
2683
|
+
StakeInitializeCheckedInstructionDataAuthorized: {
|
|
2684
|
+
stakeAccount: resolveAccount("stakeAccount"),
|
|
2685
|
+
staker: resolveAccount("staker"),
|
|
2686
|
+
withdrawer: resolveAccount("withdrawer")
|
|
2687
|
+
},
|
|
2688
|
+
StakeAuthorizeCheckedInstructionData: {
|
|
2689
|
+
authority: resolveAccount("authority"),
|
|
2690
|
+
custodian: resolveAccount("custodian"),
|
|
2691
|
+
newAuthority: resolveAccount("newAuthority"),
|
|
2692
|
+
stakeAccount: resolveAccount("stakeAccount")
|
|
2693
|
+
},
|
|
2694
|
+
StakeAuthorizeCheckedWithSeedInstructionData: {
|
|
2695
|
+
authorityBase: resolveAccount("authorityBase"),
|
|
2696
|
+
authorityOwner: resolveAccount("authorityOwner"),
|
|
2697
|
+
custodian: resolveAccount("custodian"),
|
|
2698
|
+
newAuthorized: resolveAccount("newAuthorized"),
|
|
2699
|
+
stakeAccount: resolveAccount("stakeAccount")
|
|
2700
|
+
},
|
|
2701
|
+
StakeSetLockupCheckedInstructionData: {
|
|
2702
|
+
custodian: resolveAccount("custodian"),
|
|
2703
|
+
stakeAccount: resolveAccount("stakeAccount")
|
|
2704
|
+
},
|
|
2705
|
+
StakeDeactivateDelinquentInstructionData: {
|
|
2706
|
+
referenceVoteAccount: resolveAccount("referenceVoteAccount"),
|
|
2707
|
+
stakeAccount: resolveAccount("stakeAccount"),
|
|
2708
|
+
voteAccount: resolveAccount("voteAccount")
|
|
2709
|
+
},
|
|
2710
|
+
StakeRedelegateInstructionData: {
|
|
2711
|
+
newStakeAccount: resolveAccount("newStakeAccount"),
|
|
2712
|
+
stakeAccount: resolveAccount("stakeAccount"),
|
|
2713
|
+
stakeAuthority: resolveAccount("stakeAuthority"),
|
|
2714
|
+
stakeConfigAccount: resolveAccount("stakeConfigAccount"),
|
|
2715
|
+
voteAccount: resolveAccount("voteAccount")
|
|
2716
|
+
},
|
|
2717
|
+
CreateAccountInstructionData: {
|
|
2718
|
+
newAccount: resolveAccount("newAccount"),
|
|
2719
|
+
owner: resolveAccount("owner"),
|
|
2720
|
+
source: resolveAccount("source")
|
|
2721
|
+
},
|
|
2722
|
+
AssignInstructionData: {
|
|
2723
|
+
account: resolveAccount("account"),
|
|
2724
|
+
owner: resolveAccount("owner")
|
|
2725
|
+
},
|
|
2726
|
+
TransferInstructionData: {
|
|
2727
|
+
destination: resolveAccount("destination"),
|
|
2728
|
+
source: resolveAccount("source")
|
|
2729
|
+
},
|
|
2730
|
+
CreateAccountWithSeedInstructionData: {
|
|
2731
|
+
base: resolveAccount("base"),
|
|
2732
|
+
owner: resolveAccount("owner"),
|
|
2733
|
+
seed: resolveAccount("seed")
|
|
2734
|
+
},
|
|
2735
|
+
AdvanceNonceAccountInstructionData: {
|
|
2736
|
+
nonceAccount: resolveAccount("nonceAccount"),
|
|
2737
|
+
nonceAuthority: resolveAccount("nonceAuthority")
|
|
2738
|
+
},
|
|
2739
|
+
WithdrawNonceAccountInstructionData: {
|
|
2740
|
+
destination: resolveAccount("destination"),
|
|
2741
|
+
nonceAccount: resolveAccount("nonceAccount"),
|
|
2742
|
+
nonceAuthority: resolveAccount("nonceAuthority")
|
|
2743
|
+
},
|
|
2744
|
+
InitializeNonceAccountInstructionData: {
|
|
2745
|
+
nonceAccount: resolveAccount("nonceAccount"),
|
|
2746
|
+
nonceAuthority: resolveAccount("nonceAuthority")
|
|
2747
|
+
},
|
|
2748
|
+
AuthorizeNonceAccountInstructionData: {
|
|
2749
|
+
newAuthorized: resolveAccount("newAuthorized"),
|
|
2750
|
+
nonceAccount: resolveAccount("nonceAccount"),
|
|
2751
|
+
nonceAuthority: resolveAccount("nonceAuthority")
|
|
2752
|
+
},
|
|
2753
|
+
UpgradeNonceAccountInstructionData: {
|
|
2754
|
+
nonceAccount: resolveAccount("nonceAccount"),
|
|
2755
|
+
nonceAuthority: resolveAccount("nonceAuthority")
|
|
2756
|
+
},
|
|
2757
|
+
AllocateInstructionData: {
|
|
2758
|
+
account: resolveAccount("account")
|
|
2759
|
+
},
|
|
2760
|
+
AllocateWithSeedInstructionData: {
|
|
2761
|
+
account: resolveAccount("account"),
|
|
2762
|
+
owner: resolveAccount("owner")
|
|
2763
|
+
},
|
|
2764
|
+
AssignWithSeedInstructionData: {
|
|
2765
|
+
account: resolveAccount("account"),
|
|
2766
|
+
owner: resolveAccount("owner")
|
|
2767
|
+
},
|
|
2768
|
+
TransferWithSeedInstructionData: {
|
|
2769
|
+
destination: resolveAccount("destination"),
|
|
2770
|
+
source: resolveAccount("source"),
|
|
2771
|
+
sourceOwner: resolveAccount("sourceOwner")
|
|
2772
|
+
},
|
|
2773
|
+
VoteInitializeAccountInstructionData: {
|
|
2774
|
+
authorizedVoter: resolveAccount("authorizedVoter"),
|
|
2775
|
+
authorizedWithdrawer: resolveAccount("authorizedWithdrawer"),
|
|
2776
|
+
node: resolveAccount("node"),
|
|
2777
|
+
voteAccount: resolveAccount("voteAccount")
|
|
2778
|
+
},
|
|
2779
|
+
VoteAuthorizeInstructionData: {
|
|
2780
|
+
authority: resolveAccount("authority"),
|
|
2781
|
+
newAuthority: resolveAccount("newAuthority"),
|
|
2782
|
+
voteAccount: resolveAccount("voteAccount")
|
|
2783
|
+
},
|
|
2784
|
+
VoteAuthorizeWithSeedInstructionData: {
|
|
2785
|
+
authorityOwner: resolveAccount("authorityOwner"),
|
|
2786
|
+
newAuthority: resolveAccount("newAuthority"),
|
|
2787
|
+
voteAccount: resolveAccount("voteAccount")
|
|
2788
|
+
},
|
|
2789
|
+
VoteAuthorizeCheckedWithSeedInstructionData: {
|
|
2790
|
+
authorityOwner: resolveAccount("authorityOwner"),
|
|
2791
|
+
newAuthority: resolveAccount("newAuthority"),
|
|
2792
|
+
voteAccount: resolveAccount("voteAccount")
|
|
2793
|
+
},
|
|
2794
|
+
VoteVoteInstructionData: {
|
|
2795
|
+
voteAccount: resolveAccount("voteAccount"),
|
|
2796
|
+
voteAuthority: resolveAccount("voteAuthority")
|
|
2797
|
+
},
|
|
2798
|
+
VoteUpdateVoteStateInstructionData: {
|
|
2799
|
+
voteAccount: resolveAccount("voteAccount"),
|
|
2800
|
+
voteAuthority: resolveAccount("voteAuthority")
|
|
2801
|
+
},
|
|
2802
|
+
VoteUpdateVoteStateSwitchInstructionData: {
|
|
2803
|
+
voteAccount: resolveAccount("voteAccount"),
|
|
2804
|
+
voteAuthority: resolveAccount("voteAuthority")
|
|
2805
|
+
},
|
|
2806
|
+
VoteCompactUpdateVoteStateInstructionData: {
|
|
2807
|
+
voteAccount: resolveAccount("voteAccount"),
|
|
2808
|
+
voteAuthority: resolveAccount("voteAuthority")
|
|
2809
|
+
},
|
|
2810
|
+
VoteCompactUpdateVoteStateSwitchInstructionData: {
|
|
2811
|
+
voteAccount: resolveAccount("voteAccount"),
|
|
2812
|
+
voteAuthority: resolveAccount("voteAuthority")
|
|
2813
|
+
},
|
|
2814
|
+
VoteWithdrawInstructionData: {
|
|
2815
|
+
voteAccount: resolveAccount("voteAccount"),
|
|
2816
|
+
withdrawAuthority: resolveAccount("withdrawAuthority")
|
|
2817
|
+
},
|
|
2818
|
+
VoteUpdateValidatorIdentityInstructionData: {
|
|
2819
|
+
newValidatorIdentity: resolveAccount("newValidatorIdentity"),
|
|
2820
|
+
voteAccount: resolveAccount("voteAccount"),
|
|
2821
|
+
withdrawAuthority: resolveAccount("withdrawAuthority")
|
|
2822
|
+
},
|
|
2823
|
+
VoteUpdateCommissionInstructionData: {
|
|
2824
|
+
voteAccount: resolveAccount("voteAccount"),
|
|
2825
|
+
withdrawAuthority: resolveAccount("withdrawAuthority")
|
|
2826
|
+
},
|
|
2827
|
+
VoteVoteSwitchInstructionData: {
|
|
2828
|
+
voteAccount: resolveAccount("voteAccount"),
|
|
2829
|
+
voteAuthority: resolveAccount("voteAuthority")
|
|
2830
|
+
},
|
|
2831
|
+
VoteAuthorizeCheckedInstructionData: {
|
|
2832
|
+
authority: resolveAccount("authority"),
|
|
2833
|
+
newAuthority: resolveAccount("newAuthority"),
|
|
2834
|
+
voteAccount: resolveAccount("voteAccount")
|
|
2835
|
+
}
|
|
1887
2836
|
};
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
2837
|
+
|
|
2838
|
+
// src/schema/transaction.ts
|
|
2839
|
+
var transactionTypeDefs = (
|
|
2840
|
+
/* GraphQL */
|
|
2841
|
+
`
|
|
2842
|
+
type TransactionStatusOk {
|
|
2843
|
+
Ok: String
|
|
2844
|
+
}
|
|
2845
|
+
type TransactionStatusErr {
|
|
2846
|
+
Err: String
|
|
2847
|
+
}
|
|
2848
|
+
union TransactionStatus = TransactionStatusOk | TransactionStatusErr
|
|
2849
|
+
|
|
2850
|
+
type TransactionLoadedAddresses {
|
|
2851
|
+
readonly: [String]
|
|
2852
|
+
writable: [String]
|
|
2853
|
+
}
|
|
2854
|
+
|
|
2855
|
+
type TransactionInnerInstruction {
|
|
2856
|
+
index: Int
|
|
2857
|
+
instructions: [TransactionInstruction]
|
|
2858
|
+
}
|
|
2859
|
+
|
|
2860
|
+
type TransactionMeta {
|
|
2861
|
+
computeUnitsConsumed: BigInt
|
|
2862
|
+
err: String
|
|
2863
|
+
fee: BigInt
|
|
2864
|
+
innerInstructions: [TransactionInnerInstruction]
|
|
2865
|
+
loadedAddresses: TransactionLoadedAddresses
|
|
2866
|
+
logMessages: [String]
|
|
2867
|
+
postBalances: [BigInt]
|
|
2868
|
+
postTokenBalances: [TokenBalance]
|
|
2869
|
+
preBalances: [BigInt]
|
|
2870
|
+
preTokenBalances: [TokenBalance]
|
|
2871
|
+
returnData: ReturnData
|
|
2872
|
+
rewards: [Reward]
|
|
2873
|
+
status: TransactionStatus
|
|
2874
|
+
}
|
|
2875
|
+
|
|
2876
|
+
type TransactionMessageAccountKey {
|
|
2877
|
+
pubkey: Address
|
|
2878
|
+
signer: Boolean
|
|
2879
|
+
source: String
|
|
2880
|
+
writable: Boolean
|
|
2881
|
+
}
|
|
2882
|
+
|
|
2883
|
+
type TransactionMessageAddressTableLookup {
|
|
2884
|
+
accountKey: Address
|
|
2885
|
+
readableIndexes: [Int]
|
|
2886
|
+
writableIndexes: [Int]
|
|
2887
|
+
}
|
|
2888
|
+
|
|
2889
|
+
type TransactionMessageHeader {
|
|
2890
|
+
numReadonlySignedAccounts: Int
|
|
2891
|
+
numReadonlyUnsignedAccounts: Int
|
|
2892
|
+
numRequiredSignatures: Int
|
|
2893
|
+
}
|
|
2894
|
+
|
|
2895
|
+
type TransactionMessage {
|
|
2896
|
+
accountKeys: [TransactionMessageAccountKey]
|
|
2897
|
+
addressTableLookups: [TransactionMessageAddressTableLookup]
|
|
2898
|
+
header: TransactionMessageHeader
|
|
2899
|
+
instructions: [TransactionInstruction]
|
|
2900
|
+
recentBlockhash: String
|
|
2901
|
+
}
|
|
2902
|
+
|
|
2903
|
+
# Transaction interface
|
|
2904
|
+
interface Transaction {
|
|
2905
|
+
blockTime: String
|
|
2906
|
+
encoding: TransactionEncoding
|
|
2907
|
+
meta: TransactionMeta
|
|
2908
|
+
slot: BigInt
|
|
2909
|
+
version: String
|
|
2910
|
+
}
|
|
2911
|
+
|
|
2912
|
+
# A transaction with base58 encoded data
|
|
2913
|
+
type TransactionBase58 implements Transaction {
|
|
2914
|
+
blockTime: String
|
|
2915
|
+
data: Base58EncodedBytes
|
|
2916
|
+
encoding: TransactionEncoding
|
|
2917
|
+
meta: TransactionMeta
|
|
2918
|
+
slot: BigInt
|
|
2919
|
+
version: String
|
|
2920
|
+
}
|
|
2921
|
+
|
|
2922
|
+
# A transaction with base64 encoded data
|
|
2923
|
+
type TransactionBase64 implements Transaction {
|
|
2924
|
+
blockTime: String
|
|
2925
|
+
data: Base64EncodedBytes
|
|
2926
|
+
encoding: TransactionEncoding
|
|
2927
|
+
meta: TransactionMeta
|
|
2928
|
+
slot: BigInt
|
|
2929
|
+
version: String
|
|
2930
|
+
}
|
|
2931
|
+
|
|
2932
|
+
# A transaction with JSON encoded data
|
|
2933
|
+
type TransactionDataParsed {
|
|
2934
|
+
message: TransactionMessage
|
|
2935
|
+
signatures: [String]
|
|
2936
|
+
}
|
|
2937
|
+
type TransactionParsed implements Transaction {
|
|
2938
|
+
blockTime: String
|
|
2939
|
+
data: TransactionDataParsed
|
|
2940
|
+
encoding: TransactionEncoding
|
|
2941
|
+
meta: TransactionMeta
|
|
2942
|
+
slot: BigInt
|
|
2943
|
+
version: String
|
|
2944
|
+
}
|
|
2945
|
+
`
|
|
2946
|
+
);
|
|
2947
|
+
var transactionResolvers = {
|
|
2948
|
+
Transaction: {
|
|
2949
|
+
__resolveType(transaction) {
|
|
2950
|
+
switch (transaction.encoding) {
|
|
2951
|
+
case "base58":
|
|
1898
2952
|
return "TransactionBase58";
|
|
1899
|
-
|
|
1900
|
-
if (transaction.encoding === "base64") {
|
|
2953
|
+
case "base64":
|
|
1901
2954
|
return "TransactionBase64";
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
return "TransactionJson";
|
|
1905
|
-
}
|
|
1906
|
-
return "TransactionJsonParsed";
|
|
2955
|
+
default:
|
|
2956
|
+
return "TransactionParsed";
|
|
1907
2957
|
}
|
|
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()
|
|
2958
|
+
}
|
|
1997
2959
|
}
|
|
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
2960
|
};
|
|
2127
2961
|
|
|
2128
|
-
// src/schema/
|
|
2129
|
-
var
|
|
2130
|
-
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2962
|
+
// src/schema/index.ts
|
|
2963
|
+
var schemaTypeDefs = (
|
|
2964
|
+
/* GraphQL */
|
|
2965
|
+
`
|
|
2966
|
+
type Query {
|
|
2967
|
+
account(
|
|
2968
|
+
address: String!
|
|
2969
|
+
commitment: Commitment
|
|
2970
|
+
dataSlice: DataSlice
|
|
2971
|
+
encoding: AccountEncoding
|
|
2972
|
+
minContextSlot: BigInt
|
|
2973
|
+
): Account
|
|
2974
|
+
block(
|
|
2975
|
+
slot: BigInt!
|
|
2976
|
+
commitment: Commitment
|
|
2977
|
+
encoding: TransactionEncoding
|
|
2978
|
+
transactionDetails: BlockTransactionDetails
|
|
2979
|
+
): Block
|
|
2980
|
+
programAccounts(
|
|
2981
|
+
programAddress: String!
|
|
2982
|
+
commitment: Commitment
|
|
2983
|
+
dataSlice: DataSlice
|
|
2984
|
+
encoding: AccountEncoding
|
|
2985
|
+
filters: [ProgramAccountsFilter]
|
|
2986
|
+
minContextSlot: BigInt
|
|
2987
|
+
): [Account]
|
|
2988
|
+
transaction(
|
|
2989
|
+
signature: String!
|
|
2990
|
+
commitment: Commitment
|
|
2991
|
+
encoding: TransactionEncoding
|
|
2992
|
+
): Transaction
|
|
2993
|
+
}
|
|
2994
|
+
|
|
2995
|
+
schema {
|
|
2996
|
+
query: Query
|
|
2997
|
+
}
|
|
2998
|
+
`
|
|
2999
|
+
);
|
|
3000
|
+
var schemaResolvers = {
|
|
3001
|
+
Query: {
|
|
3002
|
+
account(_, args, context, info) {
|
|
3003
|
+
return context.loaders.account.load(args, info);
|
|
2138
3004
|
},
|
|
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()
|
|
3005
|
+
block(_, args, context, info) {
|
|
3006
|
+
return context.loaders.block.load(args, info);
|
|
3007
|
+
},
|
|
3008
|
+
programAccounts(_, args, context, info) {
|
|
3009
|
+
return context.loaders.programAccounts.load(args, info);
|
|
2162
3010
|
},
|
|
2163
|
-
|
|
2164
|
-
|
|
3011
|
+
transaction(_, args, context, info) {
|
|
3012
|
+
return context.loaders.transaction.load(args, info);
|
|
3013
|
+
}
|
|
2165
3014
|
}
|
|
2166
|
-
}
|
|
3015
|
+
};
|
|
3016
|
+
function createSolanaGraphQLSchema() {
|
|
3017
|
+
return makeExecutableSchema({
|
|
3018
|
+
resolvers: {
|
|
3019
|
+
...accountResolvers,
|
|
3020
|
+
...blockResolvers,
|
|
3021
|
+
...commonResolvers,
|
|
3022
|
+
...inputResolvers,
|
|
3023
|
+
...instructionResolvers,
|
|
3024
|
+
...scalarResolvers,
|
|
3025
|
+
...schemaResolvers,
|
|
3026
|
+
...transactionResolvers
|
|
3027
|
+
},
|
|
3028
|
+
typeDefs: [
|
|
3029
|
+
accountTypeDefs,
|
|
3030
|
+
blockTypeDefs,
|
|
3031
|
+
commonTypeDefs,
|
|
3032
|
+
inputTypeDefs,
|
|
3033
|
+
instructionTypeDefs,
|
|
3034
|
+
scalarTypeDefs,
|
|
3035
|
+
schemaTypeDefs,
|
|
3036
|
+
transactionTypeDefs
|
|
3037
|
+
]
|
|
3038
|
+
});
|
|
3039
|
+
}
|
|
2167
3040
|
|
|
2168
3041
|
// src/rpc.ts
|
|
2169
3042
|
function createRpcGraphQL(rpc) {
|
|
2170
3043
|
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
|
-
});
|
|
3044
|
+
const schema = createSolanaGraphQLSchema();
|
|
2183
3045
|
return {
|
|
2184
3046
|
context,
|
|
2185
3047
|
async query(source, variableValues) {
|
|
2186
|
-
|
|
3048
|
+
return graphql({
|
|
2187
3049
|
contextValue: this.context,
|
|
2188
3050
|
schema: this.schema,
|
|
2189
3051
|
source,
|
|
2190
3052
|
variableValues
|
|
2191
3053
|
});
|
|
2192
|
-
this.context.cache.flush();
|
|
2193
|
-
return result;
|
|
2194
3054
|
},
|
|
2195
3055
|
schema
|
|
2196
3056
|
};
|