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