@marinade.finance/web3js-1x 4.0.0
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 +75 -0
- package/dist/package.json +57 -0
- package/dist/src/account.d.ts +38 -0
- package/dist/src/account.d.ts.map +1 -0
- package/dist/src/account.js +72 -0
- package/dist/src/account.js.map +1 -0
- package/dist/src/borsh.d.ts +3 -0
- package/dist/src/borsh.d.ts.map +1 -0
- package/dist/src/borsh.js +31 -0
- package/dist/src/borsh.js.map +1 -0
- package/dist/src/epoch.d.ts +5 -0
- package/dist/src/epoch.d.ts.map +1 -0
- package/dist/src/epoch.js +31 -0
- package/dist/src/epoch.js.map +1 -0
- package/dist/src/equalityTesters.d.ts +2 -0
- package/dist/src/equalityTesters.d.ts.map +1 -0
- package/dist/src/equalityTesters.js +34 -0
- package/dist/src/equalityTesters.js.map +1 -0
- package/dist/src/error.d.ts +22 -0
- package/dist/src/error.d.ts.map +1 -0
- package/dist/src/error.js +65 -0
- package/dist/src/error.js.map +1 -0
- package/dist/src/execution.d.ts +12 -0
- package/dist/src/execution.d.ts.map +1 -0
- package/dist/src/execution.js +24 -0
- package/dist/src/execution.js.map +1 -0
- package/dist/src/fileKeypair.d.ts +7 -0
- package/dist/src/fileKeypair.d.ts.map +1 -0
- package/dist/src/fileKeypair.js +53 -0
- package/dist/src/fileKeypair.js.map +1 -0
- package/dist/src/formatter.d.ts +27 -0
- package/dist/src/formatter.d.ts.map +1 -0
- package/dist/src/formatter.js +113 -0
- package/dist/src/formatter.js.map +1 -0
- package/dist/src/index.d.ts +19 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +35 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/math.d.ts +3 -0
- package/dist/src/math.d.ts.map +1 -0
- package/dist/src/math.js +19 -0
- package/dist/src/math.js.map +1 -0
- package/dist/src/parse.d.ts +12 -0
- package/dist/src/parse.d.ts.map +1 -0
- package/dist/src/parse.js +123 -0
- package/dist/src/parse.js.map +1 -0
- package/dist/src/provider.d.ts +43 -0
- package/dist/src/provider.d.ts.map +1 -0
- package/dist/src/provider.js +88 -0
- package/dist/src/provider.js.map +1 -0
- package/dist/src/solana.d.ts +19 -0
- package/dist/src/solana.d.ts.map +1 -0
- package/dist/src/solana.js +106 -0
- package/dist/src/solana.js.map +1 -0
- package/dist/src/stakeAccount.d.ts +22 -0
- package/dist/src/stakeAccount.d.ts.map +1 -0
- package/dist/src/stakeAccount.js +70 -0
- package/dist/src/stakeAccount.js.map +1 -0
- package/dist/src/tokenMetadata.d.ts +4 -0
- package/dist/src/tokenMetadata.d.ts.map +1 -0
- package/dist/src/tokenMetadata.js +14 -0
- package/dist/src/tokenMetadata.js.map +1 -0
- package/dist/src/tx.d.ts +102 -0
- package/dist/src/tx.d.ts.map +1 -0
- package/dist/src/tx.js +543 -0
- package/dist/src/tx.js.map +1 -0
- package/dist/src/txBulk.d.ts +30 -0
- package/dist/src/txBulk.d.ts.map +1 -0
- package/dist/src/txBulk.js +194 -0
- package/dist/src/txBulk.js.map +1 -0
- package/dist/src/txToBase64.d.ts +24 -0
- package/dist/src/txToBase64.d.ts.map +1 -0
- package/dist/src/txToBase64.js +72 -0
- package/dist/src/txToBase64.js.map +1 -0
- package/dist/src/voteAccount.d.ts +39 -0
- package/dist/src/voteAccount.d.ts.map +1 -0
- package/dist/src/voteAccount.js +320 -0
- package/dist/src/voteAccount.js.map +1 -0
- package/dist/src/wallet.d.ts +31 -0
- package/dist/src/wallet.d.ts.map +1 -0
- package/dist/src/wallet.js +100 -0
- package/dist/src/wallet.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.toBuffer = exports.VoteAccount = void 0;
|
|
37
|
+
exports.getVoteAccount = getVoteAccount;
|
|
38
|
+
exports.getVoteAccountFromData = getVoteAccountFromData;
|
|
39
|
+
exports.publicKey = publicKey;
|
|
40
|
+
exports.option = option;
|
|
41
|
+
const BufferLayout = __importStar(require("@solana/buffer-layout"));
|
|
42
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
43
|
+
const account_1 = require("./account");
|
|
44
|
+
async function getVoteAccount(providerOrConnection, address) {
|
|
45
|
+
const connection = (0, account_1.getConnection)(providerOrConnection);
|
|
46
|
+
const voteAccountInfo = await connection.getAccountInfo(address);
|
|
47
|
+
if (voteAccountInfo === null) {
|
|
48
|
+
throw new Error(`Vote account ${address.toBase58()} not found at endpoint ` +
|
|
49
|
+
`${connection.rpcEndpoint}`);
|
|
50
|
+
}
|
|
51
|
+
return getVoteAccountFromData(address, voteAccountInfo);
|
|
52
|
+
}
|
|
53
|
+
function getVoteAccountFromData(address, voteAccountInfo) {
|
|
54
|
+
const versionOffset = 4;
|
|
55
|
+
const version = VoteAccountVersionLayout.decode((0, exports.toBuffer)(voteAccountInfo.data), 0);
|
|
56
|
+
let voteAccountData;
|
|
57
|
+
if (version.V0_23_5) {
|
|
58
|
+
voteAccountData = fromAccount0_23_5Data(voteAccountInfo.data, versionOffset);
|
|
59
|
+
}
|
|
60
|
+
else if (version.V1_14_11) {
|
|
61
|
+
voteAccountData = fromAccount1_14_11Data(voteAccountInfo.data, versionOffset);
|
|
62
|
+
}
|
|
63
|
+
else if (version.CURRENT) {
|
|
64
|
+
voteAccountData = fromAccountCURRENTData((0, exports.toBuffer)(voteAccountInfo.data), versionOffset);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
throw new Error(`Unknown vote account version: ${JSON.stringify(version)} at ${address.toBase58()}`);
|
|
68
|
+
}
|
|
69
|
+
return (0, account_1.programAccountInfo)(address, voteAccountInfo, voteAccountData);
|
|
70
|
+
}
|
|
71
|
+
class VoteAccount {
|
|
72
|
+
nodePubkey;
|
|
73
|
+
authorizedWithdrawer;
|
|
74
|
+
commission;
|
|
75
|
+
rootSlot;
|
|
76
|
+
votes;
|
|
77
|
+
authorizedVoters;
|
|
78
|
+
priorVoters;
|
|
79
|
+
epochCredits;
|
|
80
|
+
lastTimestamp;
|
|
81
|
+
constructor(args) {
|
|
82
|
+
this.nodePubkey = args.nodePubkey;
|
|
83
|
+
this.authorizedWithdrawer = args.authorizedWithdrawer;
|
|
84
|
+
this.commission = args.commission;
|
|
85
|
+
this.rootSlot = args.rootSlot;
|
|
86
|
+
this.votes = args.votes;
|
|
87
|
+
this.authorizedVoters = args.authorizedVoters;
|
|
88
|
+
this.priorVoters = args.priorVoters;
|
|
89
|
+
this.epochCredits = args.epochCredits;
|
|
90
|
+
this.lastTimestamp = args.lastTimestamp;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.VoteAccount = VoteAccount;
|
|
94
|
+
function fromAccountCURRENTData(buffer, versionOffset) {
|
|
95
|
+
const voteAccountCURRENT = VoteAccountCURRENTLayout.decode((0, exports.toBuffer)(buffer), versionOffset);
|
|
96
|
+
return new VoteAccount({
|
|
97
|
+
nodePubkey: new web3_js_1.PublicKey(voteAccountCURRENT.nodePubkey),
|
|
98
|
+
authorizedWithdrawer: new web3_js_1.PublicKey(voteAccountCURRENT.authorizedWithdrawer),
|
|
99
|
+
commission: voteAccountCURRENT.commission,
|
|
100
|
+
votes: voteAccountCURRENT.votes,
|
|
101
|
+
rootSlot: voteAccountCURRENT.rootSlot,
|
|
102
|
+
authorizedVoters: voteAccountCURRENT.authorizedVoters.map(parseAuthorizedVoter),
|
|
103
|
+
priorVoters: getPriorVoters(voteAccountCURRENT.priorVoters),
|
|
104
|
+
epochCredits: voteAccountCURRENT.epochCredits,
|
|
105
|
+
lastTimestamp: voteAccountCURRENT.lastTimestamp,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
function fromAccount1_14_11Data(buffer, versionOffset) {
|
|
109
|
+
const voteAccount1_14_11 = VoteAccount1_14_11Layout.decode((0, exports.toBuffer)(buffer), versionOffset);
|
|
110
|
+
return new VoteAccount({
|
|
111
|
+
nodePubkey: new web3_js_1.PublicKey(voteAccount1_14_11.nodePubkey),
|
|
112
|
+
authorizedWithdrawer: new web3_js_1.PublicKey(voteAccount1_14_11.authorizedWithdrawer),
|
|
113
|
+
commission: voteAccount1_14_11.commission,
|
|
114
|
+
votes: voteAccount1_14_11.votes.map(vote => {
|
|
115
|
+
return { latency: 0, lockout: vote };
|
|
116
|
+
}),
|
|
117
|
+
rootSlot: voteAccount1_14_11.rootSlot,
|
|
118
|
+
authorizedVoters: voteAccount1_14_11.authorizedVoters.map(parseAuthorizedVoter),
|
|
119
|
+
priorVoters: getPriorVoters(voteAccount1_14_11.priorVoters),
|
|
120
|
+
epochCredits: voteAccount1_14_11.epochCredits,
|
|
121
|
+
lastTimestamp: voteAccount1_14_11.lastTimestamp,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
function fromAccount0_23_5Data(buffer, versionOffset) {
|
|
125
|
+
const voteAccount0_23_5 = VoteAccount0_23_5Layout.decode((0, exports.toBuffer)(buffer), versionOffset);
|
|
126
|
+
return new VoteAccount({
|
|
127
|
+
nodePubkey: new web3_js_1.PublicKey(voteAccount0_23_5.nodePubkey),
|
|
128
|
+
authorizedWithdrawer: new web3_js_1.PublicKey(voteAccount0_23_5.authorizedWithdrawer),
|
|
129
|
+
commission: voteAccount0_23_5.commission,
|
|
130
|
+
votes: voteAccount0_23_5.votes.map(vote => {
|
|
131
|
+
return { latency: 0, lockout: vote };
|
|
132
|
+
}),
|
|
133
|
+
rootSlot: voteAccount0_23_5.rootSlot,
|
|
134
|
+
authorizedVoters: [
|
|
135
|
+
parseAuthorizedVoter({
|
|
136
|
+
authorizedVoter: voteAccount0_23_5.authorizedVoter,
|
|
137
|
+
epoch: voteAccount0_23_5.authorizedVoterEpoch,
|
|
138
|
+
}),
|
|
139
|
+
],
|
|
140
|
+
priorVoters: getPriorVoters(voteAccount0_23_5.priorVoters),
|
|
141
|
+
epochCredits: voteAccount0_23_5.epochCredits,
|
|
142
|
+
lastTimestamp: voteAccount0_23_5.lastTimestamp,
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
const toBuffer = (arr) => {
|
|
146
|
+
if (Buffer.isBuffer(arr)) {
|
|
147
|
+
return arr;
|
|
148
|
+
}
|
|
149
|
+
else if (arr instanceof Uint8Array) {
|
|
150
|
+
return Buffer.from(arr.buffer, arr.byteOffset, arr.byteLength);
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
return Buffer.from(arr);
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
exports.toBuffer = toBuffer;
|
|
157
|
+
function publicKey(property = 'publicKey') {
|
|
158
|
+
return BufferLayout.blob(32, property);
|
|
159
|
+
}
|
|
160
|
+
function option(layout, property) {
|
|
161
|
+
return new OptionLayout(layout, property);
|
|
162
|
+
}
|
|
163
|
+
class OptionLayout extends BufferLayout.Layout {
|
|
164
|
+
layout;
|
|
165
|
+
discriminator;
|
|
166
|
+
constructor(layout, property) {
|
|
167
|
+
super(-1, property);
|
|
168
|
+
this.layout = layout;
|
|
169
|
+
this.discriminator = BufferLayout.u8('option');
|
|
170
|
+
}
|
|
171
|
+
encode(src, b, offset = 0) {
|
|
172
|
+
if (src === null || src === undefined) {
|
|
173
|
+
return this.discriminator.encode(0, b, offset);
|
|
174
|
+
}
|
|
175
|
+
this.discriminator.encode(1, b, offset);
|
|
176
|
+
return (this.discriminator.span +
|
|
177
|
+
this.layout.encode(src, b, offset + this.discriminator.span));
|
|
178
|
+
}
|
|
179
|
+
decode(b, offset = 0) {
|
|
180
|
+
const discriminator = this.discriminator.decode(b, offset);
|
|
181
|
+
if (discriminator === 0) {
|
|
182
|
+
return null;
|
|
183
|
+
}
|
|
184
|
+
else if (discriminator === 1) {
|
|
185
|
+
return this.layout.decode(b, offset + this.discriminator.span);
|
|
186
|
+
}
|
|
187
|
+
throw new Error(`decode: Invalid option; option value: ${discriminator} : ${this.property}`);
|
|
188
|
+
}
|
|
189
|
+
getSpan(b, offset = 0) {
|
|
190
|
+
const discriminator = this.discriminator.decode(b, offset);
|
|
191
|
+
if (discriminator === 0) {
|
|
192
|
+
return 1;
|
|
193
|
+
}
|
|
194
|
+
else if (discriminator === 1) {
|
|
195
|
+
return this.layout.getSpan(b, offset + 1) + 1;
|
|
196
|
+
}
|
|
197
|
+
throw new Error('getSpan: Invalid option ' + this.property);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
const VoteAccountVersionLayout = BufferLayout.union(BufferLayout.u32(), BufferLayout.struct([BufferLayout.u32()]));
|
|
201
|
+
VoteAccountVersionLayout.addVariant(0, BufferLayout.struct([]), 'V0_23_5');
|
|
202
|
+
VoteAccountVersionLayout.addVariant(1, BufferLayout.struct([]), 'V1_14_11');
|
|
203
|
+
VoteAccountVersionLayout.addVariant(2, BufferLayout.struct([]), 'CURRENT');
|
|
204
|
+
const VoteAccount0_23_5Layout = BufferLayout.struct([
|
|
205
|
+
publicKey('nodePubkey'),
|
|
206
|
+
publicKey('authorizedVoter'),
|
|
207
|
+
BufferLayout.nu64('authorizedVoterEpoch'),
|
|
208
|
+
BufferLayout.struct([
|
|
209
|
+
BufferLayout.seq(BufferLayout.struct([
|
|
210
|
+
publicKey('authorizedPubkey'),
|
|
211
|
+
BufferLayout.nu64('epochOfLastAuthorizedSwitch'),
|
|
212
|
+
BufferLayout.nu64('targetEpoch'),
|
|
213
|
+
]), 32, 'buf'),
|
|
214
|
+
BufferLayout.nu64('idx'),
|
|
215
|
+
BufferLayout.u8('isEmpty'),
|
|
216
|
+
], 'priorVoters'),
|
|
217
|
+
publicKey('authorizedWithdrawer'),
|
|
218
|
+
BufferLayout.u8('commission'),
|
|
219
|
+
BufferLayout.nu64(),
|
|
220
|
+
BufferLayout.seq(BufferLayout.struct([
|
|
221
|
+
BufferLayout.nu64('slot'),
|
|
222
|
+
BufferLayout.u32('confirmationCount'),
|
|
223
|
+
]), BufferLayout.offset(BufferLayout.u32(), -8), 'votes'),
|
|
224
|
+
option(BufferLayout.nu64(), 'rootSlot'),
|
|
225
|
+
BufferLayout.nu64(),
|
|
226
|
+
BufferLayout.seq(BufferLayout.struct([
|
|
227
|
+
BufferLayout.nu64('epoch'),
|
|
228
|
+
BufferLayout.nu64('credits'),
|
|
229
|
+
BufferLayout.nu64('prevCredits'),
|
|
230
|
+
]), BufferLayout.offset(BufferLayout.u32(), -8), 'epochCredits'),
|
|
231
|
+
BufferLayout.struct([BufferLayout.nu64('slot'), BufferLayout.nu64('timestamp')], 'lastTimestamp'),
|
|
232
|
+
]);
|
|
233
|
+
const VoteAccount1_14_11Layout = BufferLayout.struct([
|
|
234
|
+
publicKey('nodePubkey'),
|
|
235
|
+
publicKey('authorizedWithdrawer'),
|
|
236
|
+
BufferLayout.u8('commission'),
|
|
237
|
+
BufferLayout.nu64(),
|
|
238
|
+
BufferLayout.seq(BufferLayout.struct([
|
|
239
|
+
BufferLayout.nu64('slot'),
|
|
240
|
+
BufferLayout.u32('confirmationCount'),
|
|
241
|
+
]), BufferLayout.offset(BufferLayout.u32(), -8), 'votes'),
|
|
242
|
+
option(BufferLayout.nu64(), 'rootSlot'),
|
|
243
|
+
BufferLayout.nu64(),
|
|
244
|
+
BufferLayout.seq(BufferLayout.struct([
|
|
245
|
+
BufferLayout.nu64('epoch'),
|
|
246
|
+
publicKey('authorizedVoter'),
|
|
247
|
+
]), BufferLayout.offset(BufferLayout.u32(), -8), 'authorizedVoters'),
|
|
248
|
+
BufferLayout.struct([
|
|
249
|
+
BufferLayout.seq(BufferLayout.struct([
|
|
250
|
+
publicKey('authorizedPubkey'),
|
|
251
|
+
BufferLayout.nu64('epochOfLastAuthorizedSwitch'),
|
|
252
|
+
BufferLayout.nu64('targetEpoch'),
|
|
253
|
+
]), 32, 'buf'),
|
|
254
|
+
BufferLayout.nu64('idx'),
|
|
255
|
+
BufferLayout.u8('isEmpty'),
|
|
256
|
+
], 'priorVoters'),
|
|
257
|
+
BufferLayout.nu64(),
|
|
258
|
+
BufferLayout.seq(BufferLayout.struct([
|
|
259
|
+
BufferLayout.nu64('epoch'),
|
|
260
|
+
BufferLayout.nu64('credits'),
|
|
261
|
+
BufferLayout.nu64('prevCredits'),
|
|
262
|
+
]), BufferLayout.offset(BufferLayout.u32(), -8), 'epochCredits'),
|
|
263
|
+
BufferLayout.struct([BufferLayout.nu64('slot'), BufferLayout.nu64('timestamp')], 'lastTimestamp'),
|
|
264
|
+
]);
|
|
265
|
+
const VoteAccountCURRENTLayout = BufferLayout.struct([
|
|
266
|
+
publicKey('nodePubkey'),
|
|
267
|
+
publicKey('authorizedWithdrawer'),
|
|
268
|
+
BufferLayout.u8('commission'),
|
|
269
|
+
BufferLayout.nu64(),
|
|
270
|
+
BufferLayout.seq(BufferLayout.struct([
|
|
271
|
+
BufferLayout.u8('latency'),
|
|
272
|
+
BufferLayout.nu64('slot'),
|
|
273
|
+
BufferLayout.u32('confirmationCount'),
|
|
274
|
+
]), BufferLayout.offset(BufferLayout.u32(), -8), 'votes'),
|
|
275
|
+
option(BufferLayout.nu64(), 'rootSlot'),
|
|
276
|
+
BufferLayout.nu64(),
|
|
277
|
+
BufferLayout.seq(BufferLayout.struct([
|
|
278
|
+
BufferLayout.nu64('epoch'),
|
|
279
|
+
publicKey('authorizedVoter'),
|
|
280
|
+
]), BufferLayout.offset(BufferLayout.u32(), -8), 'authorizedVoters'),
|
|
281
|
+
BufferLayout.struct([
|
|
282
|
+
BufferLayout.seq(BufferLayout.struct([
|
|
283
|
+
publicKey('authorizedPubkey'),
|
|
284
|
+
BufferLayout.nu64('epochOfLastAuthorizedSwitch'),
|
|
285
|
+
BufferLayout.nu64('targetEpoch'),
|
|
286
|
+
]), 32, 'buf'),
|
|
287
|
+
BufferLayout.nu64('idx'),
|
|
288
|
+
BufferLayout.u8('isEmpty'),
|
|
289
|
+
], 'priorVoters'),
|
|
290
|
+
BufferLayout.nu64(),
|
|
291
|
+
BufferLayout.seq(BufferLayout.struct([
|
|
292
|
+
BufferLayout.nu64('epoch'),
|
|
293
|
+
BufferLayout.nu64('credits'),
|
|
294
|
+
BufferLayout.nu64('prevCredits'),
|
|
295
|
+
]), BufferLayout.offset(BufferLayout.u32(), -8), 'epochCredits'),
|
|
296
|
+
BufferLayout.struct([BufferLayout.nu64('slot'), BufferLayout.nu64('timestamp')], 'lastTimestamp'),
|
|
297
|
+
]);
|
|
298
|
+
function parseAuthorizedVoter({ authorizedVoter, epoch, }) {
|
|
299
|
+
return {
|
|
300
|
+
epoch,
|
|
301
|
+
authorizedVoter: new web3_js_1.PublicKey(authorizedVoter),
|
|
302
|
+
};
|
|
303
|
+
}
|
|
304
|
+
function parsePriorVoters({ authorizedPubkey, epochOfLastAuthorizedSwitch, targetEpoch, }) {
|
|
305
|
+
return {
|
|
306
|
+
authorizedPubkey: new web3_js_1.PublicKey(authorizedPubkey),
|
|
307
|
+
epochOfLastAuthorizedSwitch,
|
|
308
|
+
targetEpoch,
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
function getPriorVoters({ buf, idx, isEmpty }) {
|
|
312
|
+
if (isEmpty) {
|
|
313
|
+
return [];
|
|
314
|
+
}
|
|
315
|
+
return [
|
|
316
|
+
...buf.slice(idx + 1).map(parsePriorVoters),
|
|
317
|
+
...buf.slice(0, idx).map(parsePriorVoters),
|
|
318
|
+
];
|
|
319
|
+
}
|
|
320
|
+
//# sourceMappingURL=voteAccount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voteAccount.js","sourceRoot":"","sources":["../../src/voteAccount.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,wCAcC;AAED,wDA+BC;AAoJD,8BAEC;AAMD,wBAKC;AAjOD,oEAAqD;AACrD,6CAA2C;AAE3C,uCAA6D;AActD,KAAK,UAAU,cAAc,CAClC,oBAAyD,EACzD,OAAkB;IAElB,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,oBAAoB,CAAC,CAAA;IACtD,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAChE,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,gBAAgB,OAAO,CAAC,QAAQ,EAAE,yBAAyB;YACzD,GAAG,UAAU,CAAC,WAAW,EAAE,CAC9B,CAAA;IACH,CAAC;IAED,OAAO,sBAAsB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;AACzD,CAAC;AAED,SAAgB,sBAAsB,CACpC,OAAkB,EAClB,eAAoC;IAEpC,MAAM,aAAa,GAAG,CAAC,CAAA;IACvB,MAAM,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAC7C,IAAA,gBAAQ,EAAC,eAAe,CAAC,IAAI,CAAC,EAC9B,CAAC,CACoB,CAAA;IAEvB,IAAI,eAA4B,CAAA;IAChC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,eAAe,GAAG,qBAAqB,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;IAC9E,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC5B,eAAe,GAAG,sBAAsB,CACtC,eAAe,CAAC,IAAI,EACpB,aAAa,CACd,CAAA;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,eAAe,GAAG,sBAAsB,CACtC,IAAA,gBAAQ,EAAC,eAAe,CAAC,IAAI,CAAC,EAC9B,aAAa,CACd,CAAA;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,iCAAiC,IAAI,CAAC,SAAS,CAC7C,OAAO,CACR,OAAO,OAAO,CAAC,QAAQ,EAAE,EAAE,CAC7B,CAAA;IACH,CAAC;IACD,OAAO,IAAA,4BAAkB,EAAC,OAAO,EAAE,eAAe,EAAE,eAAe,CAAC,CAAA;AACtE,CAAC;AAcD,MAAa,WAAW;IACtB,UAAU,CAAW;IACrB,oBAAoB,CAAW;IAC/B,UAAU,CAAQ;IAClB,QAAQ,CAAe;IACvB,KAAK,CAAc;IACnB,gBAAgB,CAAmB;IACnC,WAAW,CAAc;IACzB,YAAY,CAAgB;IAC5B,aAAa,CAAgB;IAK7B,YAAY,IAAqB;QAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QACjC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAA;QACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAA;QAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;QACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;QACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;IACzC,CAAC;CACF;AAzBD,kCAyBC;AAKD,SAAS,sBAAsB,CAC7B,MAA2C,EAC3C,aAAqB;IAErB,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,MAAM,CACxD,IAAA,gBAAQ,EAAC,MAAM,CAAC,EAChB,aAAa,CACd,CAAA;IAED,OAAO,IAAK,WAAmB,CAAC;QAC9B,UAAU,EAAE,IAAI,mBAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC;QACxD,oBAAoB,EAAE,IAAI,mBAAS,CACjC,kBAAkB,CAAC,oBAAoB,CACxC;QACD,UAAU,EAAE,kBAAkB,CAAC,UAAU;QACzC,KAAK,EAAE,kBAAkB,CAAC,KAAK;QAC/B,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;QACrC,gBAAgB,EACd,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAC/D,WAAW,EAAE,cAAc,CAAC,kBAAkB,CAAC,WAAW,CAAC;QAC3D,YAAY,EAAE,kBAAkB,CAAC,YAAY;QAC7C,aAAa,EAAE,kBAAkB,CAAC,aAAa;KAChD,CAAgB,CAAA;AACnB,CAAC;AAKD,SAAS,sBAAsB,CAC7B,MAA2C,EAC3C,aAAqB;IAErB,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,MAAM,CACxD,IAAA,gBAAQ,EAAC,MAAM,CAAC,EAChB,aAAa,CACd,CAAA;IAED,OAAO,IAAK,WAAmB,CAAC;QAC9B,UAAU,EAAE,IAAI,mBAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC;QACxD,oBAAoB,EAAE,IAAI,mBAAS,CACjC,kBAAkB,CAAC,oBAAoB,CACxC;QACD,UAAU,EAAE,kBAAkB,CAAC,UAAU;QACzC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACzC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QACtC,CAAC,CAAC;QACF,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;QACrC,gBAAgB,EACd,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,CAAC,oBAAoB,CAAC;QAC/D,WAAW,EAAE,cAAc,CAAC,kBAAkB,CAAC,WAAW,CAAC;QAC3D,YAAY,EAAE,kBAAkB,CAAC,YAAY;QAC7C,aAAa,EAAE,kBAAkB,CAAC,aAAa;KAChD,CAAgB,CAAA;AACnB,CAAC;AAKD,SAAS,qBAAqB,CAC5B,MAA2C,EAC3C,aAAqB;IAErB,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,MAAM,CACtD,IAAA,gBAAQ,EAAC,MAAM,CAAC,EAChB,aAAa,CACd,CAAA;IAED,OAAO,IAAK,WAAmB,CAAC;QAC9B,UAAU,EAAE,IAAI,mBAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC;QACvD,oBAAoB,EAAE,IAAI,mBAAS,CAAC,iBAAiB,CAAC,oBAAoB,CAAC;QAC3E,UAAU,EAAE,iBAAiB,CAAC,UAAU;QACxC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACxC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QACtC,CAAC,CAAC;QACF,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;QACpC,gBAAgB,EAAE;YAChB,oBAAoB,CAAC;gBACnB,eAAe,EAAE,iBAAiB,CAAC,eAAe;gBAClD,KAAK,EAAE,iBAAiB,CAAC,oBAAoB;aAC9C,CAAC;SACH;QACD,WAAW,EAAE,cAAc,CAAC,iBAAiB,CAAC,WAAW,CAAC;QAC1D,YAAY,EAAE,iBAAiB,CAAC,YAAY;QAC5C,aAAa,EAAE,iBAAiB,CAAC,aAAa;KAC/C,CAAgB,CAAA;AACnB,CAAC;AAEM,MAAM,QAAQ,GAAG,CAAC,GAAwC,EAAU,EAAE;IAC3E,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,CAAA;IACZ,CAAC;SAAM,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;IAChE,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC;AACH,CAAC,CAAA;AARY,QAAA,QAAQ,YAQpB;AASD,SAAgB,SAAS,CAAC,QAAQ,GAAG,WAAW;IAC9C,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;AACxC,CAAC;AAMD,SAAgB,MAAM,CACpB,MAA8B,EAC9B,QAAiB;IAEjB,OAAO,IAAI,YAAY,CAAI,MAAM,EAAE,QAAQ,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,YAAgB,SAAQ,YAAY,CAAC,MAAgB;IACzD,MAAM,CAAwB;IAC9B,aAAa,CAA6B;IAE1C,YAAY,MAA8B,EAAE,QAAiB;QAC3D,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,GAAa,EAAE,CAAS,EAAE,MAAM,GAAG,CAAC;QACzC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;QAChD,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;QACvC,OAAO,CACL,IAAI,CAAC,aAAa,CAAC,IAAI;YACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAC7D,CAAA;IACH,CAAC;IAED,MAAM,CAAC,CAAS,EAAE,MAAM,GAAG,CAAC;QAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAC1D,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAA;QACb,CAAC;aAAM,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAChE,CAAC;QAED,MAAM,IAAI,KAAK,CACb,yCAAyC,aAAa,MAAM,IAAI,CAAC,QAAQ,EAAE,CAC5E,CAAA;IACH,CAAC;IAEQ,OAAO,CAAC,CAAS,EAAE,MAAM,GAAG,CAAC;QACpC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAC1D,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,CAAA;QACV,CAAC;aAAM,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QAC/C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC7D,CAAC;CACF;AAOD,MAAM,wBAAwB,GAAG,YAAY,CAAC,KAAK,CACjD,YAAY,CAAC,GAAG,EAAE,EAClB,YAAY,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAC1C,CAAA;AACD,wBAAwB,CAAC,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAA;AAC1E,wBAAwB,CAAC,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;AAC3E,wBAAwB,CAAC,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAA;AAU1E,MAAM,uBAAuB,GAAG,YAAY,CAAC,MAAM,CAAwB;IACzE,SAAS,CAAC,YAAY,CAAC;IACvB,SAAS,CAAC,iBAAiB,CAAC;IAC5B,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC;IACzC,YAAY,CAAC,MAAM,CACjB;QACE,YAAY,CAAC,GAAG,CACd,YAAY,CAAC,MAAM,CAAC;YAClB,SAAS,CAAC,kBAAkB,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,6BAA6B,CAAC;YAChD,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;SACjC,CAAC,EACF,EAAE,EACF,KAAK,CACN;QACD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QACxB,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC;KAC3B,EACD,aAAa,CACd;IACD,SAAS,CAAC,sBAAsB,CAAC;IACjC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC;IAC7B,YAAY,CAAC,IAAI,EAAE;IACnB,YAAY,CAAC,GAAG,CACd,YAAY,CAAC,MAAM,CAAC;QAClB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QACzB,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC;KACtC,CAAC,EACF,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAC3C,OAAO,CACR;IACD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC;IACvC,YAAY,CAAC,IAAI,EAAE;IACnB,YAAY,CAAC,GAAG,CACd,YAAY,CAAC,MAAM,CAAC;QAClB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1B,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;QAC5B,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;KACjC,CAAC,EACF,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAC3C,cAAc,CACf;IACD,YAAY,CAAC,MAAM,CACjB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAC3D,eAAe,CAChB;CACF,CAAC,CAAA;AAEF,MAAM,wBAAwB,GAAG,YAAY,CAAC,MAAM,CAAyB;IAC3E,SAAS,CAAC,YAAY,CAAC;IACvB,SAAS,CAAC,sBAAsB,CAAC;IACjC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC;IAC7B,YAAY,CAAC,IAAI,EAAE;IACnB,YAAY,CAAC,GAAG,CACd,YAAY,CAAC,MAAM,CAAC;QAClB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QACzB,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC;KACtC,CAAC,EACF,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAC3C,OAAO,CACR;IACD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC;IACvC,YAAY,CAAC,IAAI,EAAE;IACnB,YAAY,CAAC,GAAG,CACd,YAAY,CAAC,MAAM,CAAC;QAClB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1B,SAAS,CAAC,iBAAiB,CAAC;KAC7B,CAAC,EACF,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAC3C,kBAAkB,CACnB;IACD,YAAY,CAAC,MAAM,CACjB;QACE,YAAY,CAAC,GAAG,CACd,YAAY,CAAC,MAAM,CAAC;YAClB,SAAS,CAAC,kBAAkB,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,6BAA6B,CAAC;YAChD,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;SACjC,CAAC,EACF,EAAE,EACF,KAAK,CACN;QACD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QACxB,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC;KAC3B,EACD,aAAa,CACd;IACD,YAAY,CAAC,IAAI,EAAE;IACnB,YAAY,CAAC,GAAG,CACd,YAAY,CAAC,MAAM,CAAC;QAClB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1B,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;QAC5B,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;KACjC,CAAC,EACF,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAC3C,cAAc,CACf;IACD,YAAY,CAAC,MAAM,CACjB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAC3D,eAAe,CAChB;CACF,CAAC,CAAA;AAEF,MAAM,wBAAwB,GAAG,YAAY,CAAC,MAAM,CAAyB;IAC3E,SAAS,CAAC,YAAY,CAAC;IACvB,SAAS,CAAC,sBAAsB,CAAC;IACjC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC;IAC7B,YAAY,CAAC,IAAI,EAAE;IACnB,YAAY,CAAC,GAAG,CACd,YAAY,CAAC,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC;QAC1B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QACzB,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC;KACtC,CAAC,EACF,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAC3C,OAAO,CACR;IACD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC;IACvC,YAAY,CAAC,IAAI,EAAE;IACnB,YAAY,CAAC,GAAG,CACd,YAAY,CAAC,MAAM,CAAC;QAClB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1B,SAAS,CAAC,iBAAiB,CAAC;KAC7B,CAAC,EACF,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAC3C,kBAAkB,CACnB;IACD,YAAY,CAAC,MAAM,CACjB;QACE,YAAY,CAAC,GAAG,CACd,YAAY,CAAC,MAAM,CAAC;YAClB,SAAS,CAAC,kBAAkB,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,6BAA6B,CAAC;YAChD,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;SACjC,CAAC,EACF,EAAE,EACF,KAAK,CACN;QACD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QACxB,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC;KAC3B,EACD,aAAa,CACd;IACD,YAAY,CAAC,IAAI,EAAE;IACnB,YAAY,CAAC,GAAG,CACd,YAAY,CAAC,MAAM,CAAC;QAClB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1B,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;QAC5B,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;KACjC,CAAC,EACF,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAC3C,cAAc,CACf;IACD,YAAY,CAAC,MAAM,CACjB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAC3D,eAAe,CAChB;CACF,CAAC,CAAA;AAyCF,SAAS,oBAAoB,CAAC,EAC5B,eAAe,EACf,KAAK,GACc;IACnB,OAAO;QACL,KAAK;QACL,eAAe,EAAE,IAAI,mBAAS,CAAC,eAAe,CAAC;KAChD,CAAA;AACH,CAAC;AAwBD,SAAS,gBAAgB,CAAC,EACxB,gBAAgB,EAChB,2BAA2B,EAC3B,WAAW,GACG;IACd,OAAO;QACL,gBAAgB,EAAE,IAAI,mBAAS,CAAC,gBAAgB,CAAC;QACjD,2BAA2B;QAC3B,WAAW;KACZ,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAe;IACxD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO;QACL,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC3C,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;KAC3C,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { PublicKey } from '@solana/web3.js';
|
|
2
|
+
import type { Transaction, VersionedTransaction, Signer, Keypair } from '@solana/web3.js';
|
|
3
|
+
export interface Wallet {
|
|
4
|
+
signTransaction<T extends Transaction | VersionedTransaction>(tx: T): Promise<T>;
|
|
5
|
+
signAllTransactions<T extends Transaction | VersionedTransaction>(txs: T[]): Promise<T[]>;
|
|
6
|
+
publicKey: PublicKey;
|
|
7
|
+
}
|
|
8
|
+
export declare class NullWallet implements Wallet {
|
|
9
|
+
readonly publicKey: PublicKey;
|
|
10
|
+
signTransaction<T extends Transaction | VersionedTransaction>(tx: T): Promise<T>;
|
|
11
|
+
signAllTransactions<T extends Transaction | VersionedTransaction>(txs: T[]): Promise<T[]>;
|
|
12
|
+
}
|
|
13
|
+
export declare class PubkeyWallet implements Wallet {
|
|
14
|
+
readonly publicKey: PublicKey;
|
|
15
|
+
constructor(publicKey: PublicKey);
|
|
16
|
+
signTransaction<T extends Transaction | VersionedTransaction>(tx: T): Promise<T>;
|
|
17
|
+
signAllTransactions<T extends Transaction | VersionedTransaction>(txs: T[]): Promise<T[]>;
|
|
18
|
+
}
|
|
19
|
+
export declare class KeypairWallet implements Wallet {
|
|
20
|
+
readonly keypair: Keypair;
|
|
21
|
+
constructor(keypair: Keypair);
|
|
22
|
+
get publicKey(): PublicKey;
|
|
23
|
+
signTransaction<T extends Transaction | VersionedTransaction>(tx: T): Promise<T>;
|
|
24
|
+
signAllTransactions<T extends Transaction | VersionedTransaction>(txs: T[]): Promise<T[]>;
|
|
25
|
+
}
|
|
26
|
+
export declare function instanceOfWallet(object: any): object is Wallet;
|
|
27
|
+
export declare function isSigner(key: PublicKey | Signer | Keypair | Wallet | undefined): key is Signer | Keypair | Wallet;
|
|
28
|
+
export declare function signer(key: PublicKey | Signer | Keypair | Wallet | undefined): Signer | Keypair | Wallet;
|
|
29
|
+
export declare function pubkey(key: PublicKey | Signer | Keypair | Wallet | undefined): PublicKey;
|
|
30
|
+
export declare function signerWithPubkey(key: PublicKey | Signer | Keypair | Wallet | undefined): [Signer | Keypair | Wallet, PublicKey];
|
|
31
|
+
//# sourceMappingURL=wallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAI3C,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACpB,MAAM,EACN,OAAO,EACR,MAAM,iBAAiB,CAAA;AAOxB,MAAM,WAAW,MAAM;IACrB,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EAC1D,EAAE,EAAE,CAAC,GACJ,OAAO,CAAC,CAAC,CAAC,CAAA;IACb,mBAAmB,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EAC9D,GAAG,EAAE,CAAC,EAAE,GACP,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IACf,SAAS,EAAE,SAAS,CAAA;CACrB;AAED,qBAAa,UAAW,YAAW,MAAM;IACvC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAoB;IAE3C,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EAChE,EAAE,EAAE,CAAC,GACJ,OAAO,CAAC,CAAC,CAAC;IAIP,mBAAmB,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EACpE,GAAG,EAAE,CAAC,EAAE,GACP,OAAO,CAAC,CAAC,EAAE,CAAC;CAGhB;AAED,qBAAa,YAAa,YAAW,MAAM;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS;gBAApB,SAAS,EAAE,SAAS;IAEnC,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EAChE,EAAE,EAAE,CAAC,GACJ,OAAO,CAAC,CAAC,CAAC;IAIP,mBAAmB,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EACpE,GAAG,EAAE,CAAC,EAAE,GACP,OAAO,CAAC,CAAC,EAAE,CAAC;CAGhB;AAED,qBAAa,aAAc,YAAW,MAAM;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO;gBAAhB,OAAO,EAAE,OAAO;IAErC,IAAI,SAAS,IAAI,SAAS,CAEzB;IAEK,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EAChE,EAAE,EAAE,CAAC,GACJ,OAAO,CAAC,CAAC,CAAC;IASP,mBAAmB,CAAC,CAAC,SAAS,WAAW,GAAG,oBAAoB,EACpE,GAAG,EAAE,CAAC,EAAE,GACP,OAAO,CAAC,CAAC,EAAE,CAAC;CAWhB;AAGD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,MAAM,CAQ9D;AAED,wBAAgB,QAAQ,CACtB,GAAG,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GACrD,GAAG,IAAI,MAAM,GAAG,OAAO,GAAG,MAAM,CAMlC;AAED,wBAAgB,MAAM,CACpB,GAAG,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GACrD,MAAM,GAAG,OAAO,GAAG,MAAM,CAU3B;AAED,wBAAgB,MAAM,CACpB,GAAG,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GACrD,SAAS,CAKX;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GACrD,CAAC,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,SAAS,CAAC,CAYxC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KeypairWallet = exports.PubkeyWallet = exports.NullWallet = void 0;
|
|
4
|
+
exports.instanceOfWallet = instanceOfWallet;
|
|
5
|
+
exports.isSigner = isSigner;
|
|
6
|
+
exports.signer = signer;
|
|
7
|
+
exports.pubkey = pubkey;
|
|
8
|
+
exports.signerWithPubkey = signerWithPubkey;
|
|
9
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
10
|
+
const tx_1 = require("./tx");
|
|
11
|
+
class NullWallet {
|
|
12
|
+
publicKey = web3_js_1.PublicKey.default;
|
|
13
|
+
async signTransaction(tx) {
|
|
14
|
+
return await Promise.resolve(tx);
|
|
15
|
+
}
|
|
16
|
+
async signAllTransactions(txs) {
|
|
17
|
+
return await Promise.resolve(txs);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.NullWallet = NullWallet;
|
|
21
|
+
class PubkeyWallet {
|
|
22
|
+
publicKey;
|
|
23
|
+
constructor(publicKey) {
|
|
24
|
+
this.publicKey = publicKey;
|
|
25
|
+
}
|
|
26
|
+
async signTransaction(tx) {
|
|
27
|
+
return await Promise.resolve(tx);
|
|
28
|
+
}
|
|
29
|
+
async signAllTransactions(txs) {
|
|
30
|
+
return await Promise.resolve(txs);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.PubkeyWallet = PubkeyWallet;
|
|
34
|
+
class KeypairWallet {
|
|
35
|
+
keypair;
|
|
36
|
+
constructor(keypair) {
|
|
37
|
+
this.keypair = keypair;
|
|
38
|
+
}
|
|
39
|
+
get publicKey() {
|
|
40
|
+
return this.keypair.publicKey;
|
|
41
|
+
}
|
|
42
|
+
async signTransaction(tx) {
|
|
43
|
+
if ((0, tx_1.isVersionedTransaction)(tx)) {
|
|
44
|
+
tx.sign([this.keypair]);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
tx.partialSign(this.keypair);
|
|
48
|
+
}
|
|
49
|
+
return await Promise.resolve(tx);
|
|
50
|
+
}
|
|
51
|
+
async signAllTransactions(txs) {
|
|
52
|
+
const result = txs.map(tx => {
|
|
53
|
+
if ((0, tx_1.isVersionedTransaction)(tx)) {
|
|
54
|
+
tx.sign([this.keypair]);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
tx.partialSign(this.keypair);
|
|
58
|
+
}
|
|
59
|
+
return tx;
|
|
60
|
+
});
|
|
61
|
+
return await Promise.resolve(result);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.KeypairWallet = KeypairWallet;
|
|
65
|
+
function instanceOfWallet(object) {
|
|
66
|
+
return (object !== null &&
|
|
67
|
+
typeof object === 'object' &&
|
|
68
|
+
'signTransaction' in object &&
|
|
69
|
+
'signAllTransactions' in object &&
|
|
70
|
+
'publicKey' in object);
|
|
71
|
+
}
|
|
72
|
+
function isSigner(key) {
|
|
73
|
+
return (key !== undefined &&
|
|
74
|
+
'publicKey' in key &&
|
|
75
|
+
('secretKey' in key || 'signTransaction' in key));
|
|
76
|
+
}
|
|
77
|
+
function signer(key) {
|
|
78
|
+
if (isSigner(key)) {
|
|
79
|
+
return key;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
throw new Error(`signer: expected signer but it's not: ${key === undefined ? undefined : key.toBase58()}`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function pubkey(key) {
|
|
86
|
+
if (key === undefined) {
|
|
87
|
+
throw new Error("pubkey: expected pubkey or signer but it's undefined");
|
|
88
|
+
}
|
|
89
|
+
return isSigner(key) ? key.publicKey : key;
|
|
90
|
+
}
|
|
91
|
+
function signerWithPubkey(key) {
|
|
92
|
+
if (key === undefined) {
|
|
93
|
+
throw new Error("signerWithPubkey: expected pubkey or signer but it's undefined");
|
|
94
|
+
}
|
|
95
|
+
if (!isSigner(key)) {
|
|
96
|
+
throw new Error(`signerWithPubkey: expected signer but it's not: ${key.toBase58()}`);
|
|
97
|
+
}
|
|
98
|
+
return [key, key.publicKey];
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=wallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/wallet.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@marinade.finance/web3js-1x",
|
|
3
|
+
"version": "4.0.0",
|
|
4
|
+
"description": "solana/web3.js 1.x library tooling for Marinade Finance",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git@github.com:marinade-finance/typescript-common.git"
|
|
8
|
+
},
|
|
9
|
+
"main": "dist/src/index.js",
|
|
10
|
+
"types": "dist/src/index.d.ts",
|
|
11
|
+
"publishConfig": {
|
|
12
|
+
"access": "public"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"solana",
|
|
16
|
+
"marinade.finance",
|
|
17
|
+
"staking",
|
|
18
|
+
"blockchain",
|
|
19
|
+
"lib"
|
|
20
|
+
],
|
|
21
|
+
"files": [
|
|
22
|
+
"dist/",
|
|
23
|
+
"!dist/src/__tests__",
|
|
24
|
+
"README.md"
|
|
25
|
+
],
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@marinade.finance/ledger-utils": "3.0.1",
|
|
28
|
+
"@solana/web3.js": "1.98.4",
|
|
29
|
+
"@solana/buffer-layout": "4.0.1",
|
|
30
|
+
"bn.js": "5.2.2",
|
|
31
|
+
"borsh": "0.7.0",
|
|
32
|
+
"bs58": "6.0.0",
|
|
33
|
+
"@jest/globals": "^30.1.2",
|
|
34
|
+
"@marinade.finance/ts-common": "4.0.0"
|
|
35
|
+
},
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"yaml": "2.8.1"
|
|
38
|
+
},
|
|
39
|
+
"peerDependencies": {
|
|
40
|
+
"@marinade.finance/ledger-utils": "^3.0.1",
|
|
41
|
+
"@solana/web3.js": "^1.98.4",
|
|
42
|
+
"@solana/buffer-layout": "^4.0.1",
|
|
43
|
+
"bn.js": "^5.2.2",
|
|
44
|
+
"@types/bn.js": "^5.2.0",
|
|
45
|
+
"borsh": "~0.7.0",
|
|
46
|
+
"bs58": "^6.0.0",
|
|
47
|
+
"@jest/globals": "^29 || ^30",
|
|
48
|
+
"@marinade.finance/ts-common": "4.0.0"
|
|
49
|
+
},
|
|
50
|
+
"engines": {
|
|
51
|
+
"node": ">=20"
|
|
52
|
+
},
|
|
53
|
+
"scripts": {
|
|
54
|
+
"build": "tsc --build",
|
|
55
|
+
"test": "pnpm jest --config ../../jest.config.js --testPathPattern=\"$(pwd)\""
|
|
56
|
+
}
|
|
57
|
+
}
|