@helium/distributor-oracle 0.6.1 → 0.6.2-next.34
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/lib/cjs/client.js +144 -80
- package/lib/cjs/client.js.map +1 -1
- package/lib/cjs/metrics.js +15 -0
- package/lib/cjs/metrics.js.map +1 -0
- package/lib/cjs/server.js +95 -39
- package/lib/cjs/server.js.map +1 -1
- package/lib/esm/src/client.js +158 -88
- package/lib/esm/src/client.js.map +1 -1
- package/lib/esm/src/metrics.js +9 -0
- package/lib/esm/src/metrics.js.map +1 -0
- package/lib/esm/src/server.js +97 -45
- package/lib/esm/src/server.js.map +1 -1
- package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/types/src/client.d.ts +15 -10
- package/lib/types/src/client.d.ts.map +1 -1
- package/lib/types/src/metrics.d.ts +4 -0
- package/lib/types/src/metrics.d.ts.map +1 -0
- package/lib/types/src/server.d.ts +2 -0
- package/lib/types/src/server.d.ts.map +1 -1
- package/package.json +10 -9
package/lib/cjs/server.js
CHANGED
|
@@ -30,7 +30,13 @@ const model_1 = require("./model");
|
|
|
30
30
|
const fastify_1 = __importDefault(require("fastify"));
|
|
31
31
|
const cors_1 = __importDefault(require("@fastify/cors"));
|
|
32
32
|
const mpl_bubblegum_1 = require("@metaplex-foundation/mpl-bubblegum");
|
|
33
|
-
const
|
|
33
|
+
const metrics_1 = require("./metrics");
|
|
34
|
+
const HNT = process.env.HNT_MINT
|
|
35
|
+
? new web3_js_1.PublicKey(process.env.HNT_MINT)
|
|
36
|
+
: spl_utils_1.HNT_MINT;
|
|
37
|
+
const DNT = process.env.DNT_MINT
|
|
38
|
+
? new web3_js_1.PublicKey(process.env.DNT_MINT)
|
|
39
|
+
: spl_utils_1.IOT_MINT;
|
|
34
40
|
const DAO = (0, helium_sub_daos_sdk_1.daoKey)(HNT)[0];
|
|
35
41
|
const ENTITY_CREATOR = (0, helium_entity_manager_sdk_1.entityCreatorKey)(DAO)[0];
|
|
36
42
|
class PgDatabase {
|
|
@@ -38,6 +44,16 @@ class PgDatabase {
|
|
|
38
44
|
this.issuanceProgram = issuanceProgram;
|
|
39
45
|
this.getAssetFn = getAssetFn;
|
|
40
46
|
}
|
|
47
|
+
getTotalRewards() {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
const totalRewards = (yield model_1.Reward.findAll({
|
|
50
|
+
attributes: [
|
|
51
|
+
[model_1.sequelize.fn("SUM", model_1.sequelize.col("rewards")), "rewards"],
|
|
52
|
+
],
|
|
53
|
+
}))[0].rewards;
|
|
54
|
+
return totalRewards;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
41
57
|
getActiveDevices() {
|
|
42
58
|
return model_1.Reward.count({
|
|
43
59
|
where: {
|
|
@@ -125,6 +141,23 @@ class OracleServer {
|
|
|
125
141
|
server.get("/health", () => __awaiter(this, void 0, void 0, function* () {
|
|
126
142
|
return { ok: true };
|
|
127
143
|
}));
|
|
144
|
+
let lastCall = 0;
|
|
145
|
+
function getTotalRewards() {
|
|
146
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
147
|
+
const currTs = new Date().valueOf();
|
|
148
|
+
// Only update once every 10m
|
|
149
|
+
if (currTs - lastCall > 10 * 60 * 1000) {
|
|
150
|
+
console.log("Updating total rewards");
|
|
151
|
+
const rewards = (0, spl_utils_1.toNumber)(new anchor_1.BN(yield db.getTotalRewards()), 6);
|
|
152
|
+
metrics_1.totalRewardsGauge.labels(DNT.toBase58()).set(Number(rewards));
|
|
153
|
+
lastCall = currTs;
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
server.get("/metrics", (request, reply) => __awaiter(this, void 0, void 0, function* () {
|
|
158
|
+
yield getTotalRewards();
|
|
159
|
+
return metrics_1.register.metrics();
|
|
160
|
+
}));
|
|
128
161
|
this.app = server;
|
|
129
162
|
this.addRoutes();
|
|
130
163
|
}
|
|
@@ -207,7 +240,16 @@ class OracleServer {
|
|
|
207
240
|
signTransaction(data) {
|
|
208
241
|
var _a;
|
|
209
242
|
return __awaiter(this, void 0, void 0, function* () {
|
|
210
|
-
|
|
243
|
+
console.log("data is", data);
|
|
244
|
+
const conn = this.ldProgram.provider.connection;
|
|
245
|
+
const tx = web3_js_1.VersionedTransaction.deserialize(new Uint8Array(data));
|
|
246
|
+
const LUTs = (yield Promise.all(tx.message.addressTableLookups.map((acc) => conn.getAddressLookupTable(acc.accountKey))))
|
|
247
|
+
.map((lut) => lut.value)
|
|
248
|
+
.filter((val) => val !== null);
|
|
249
|
+
const allAccs = tx.message
|
|
250
|
+
.getAccountKeys({ addressLookupTableAccounts: LUTs })
|
|
251
|
+
.keySegments()
|
|
252
|
+
.reduce((acc, cur) => acc.concat(cur), []);
|
|
211
253
|
// validate only interacts with LD and RO programs and only calls setCurrentRewards, distributeRewards
|
|
212
254
|
const setRewardIxs = [];
|
|
213
255
|
let recipientToLazyDistToMint = {};
|
|
@@ -219,24 +261,30 @@ class OracleServer {
|
|
|
219
261
|
const merkleTreeIdxInitCompressionRecipient = initCompressionRecipientTx.accounts.findIndex((x) => x.name === "merkleTree");
|
|
220
262
|
const recipientIdxInitRecipient = initRecipientTx.accounts.findIndex((x) => x.name === "recipient");
|
|
221
263
|
const recipientIdxInitCompressionRecipient = initCompressionRecipientTx.accounts.findIndex((x) => x.name === "recipient");
|
|
222
|
-
for (const ix of tx.
|
|
223
|
-
|
|
264
|
+
for (const ix of tx.message.compiledInstructions) {
|
|
265
|
+
const programId = allAccs[ix.programIdIndex];
|
|
266
|
+
if (programId.equals(web3_js_1.ComputeBudgetProgram.programId)) {
|
|
267
|
+
continue;
|
|
268
|
+
}
|
|
269
|
+
if (!(programId.equals(lazy_distributor_sdk_1.PROGRAM_ID) || programId.equals(rewards_oracle_sdk_1.PROGRAM_ID))) {
|
|
224
270
|
return {
|
|
225
271
|
success: false,
|
|
226
272
|
message: "Invalid instructions in transaction",
|
|
227
273
|
};
|
|
228
274
|
}
|
|
275
|
+
const data = Buffer.from(ix.data);
|
|
229
276
|
let decoded;
|
|
230
|
-
if (
|
|
231
|
-
decoded = this.ldProgram.coder.instruction.decode(
|
|
277
|
+
if (programId.equals(lazy_distributor_sdk_1.PROGRAM_ID)) {
|
|
278
|
+
decoded = this.ldProgram.coder.instruction.decode(data);
|
|
232
279
|
}
|
|
233
280
|
else {
|
|
234
|
-
decoded = this.roProgram.coder.instruction.decode(
|
|
281
|
+
decoded = this.roProgram.coder.instruction.decode(data);
|
|
235
282
|
}
|
|
236
283
|
if (!decoded ||
|
|
237
284
|
(decoded.name !== "setCurrentRewardsV0" &&
|
|
238
285
|
decoded.name !== "distributeRewardsV0" &&
|
|
239
286
|
decoded.name !== "distributeCompressionRewardsV0" &&
|
|
287
|
+
decoded.name !== "distributeCustomDestinationV0" &&
|
|
240
288
|
decoded.name !== "initializeRecipientV0" &&
|
|
241
289
|
decoded.name !== "initializeCompressionRecipientV0" &&
|
|
242
290
|
decoded.name !== "setCurrentRewardsWrapperV0" &&
|
|
@@ -253,18 +301,18 @@ class OracleServer {
|
|
|
253
301
|
setRewardIxs.push(ix);
|
|
254
302
|
// Since recipient wont exist to fetch to get the mint id, grab it from the init recipient ix
|
|
255
303
|
if (decoded.name === "initializeRecipientV0") {
|
|
256
|
-
const recipient = ix.
|
|
304
|
+
const recipient = allAccs[ix.accountKeyIndexes[recipientIdxInitRecipient]].toBase58();
|
|
257
305
|
recipientToLazyDistToMint[recipient] || (recipientToLazyDistToMint[recipient] = {});
|
|
258
|
-
const lazyDist = ix.
|
|
306
|
+
const lazyDist = allAccs[ix.accountKeyIndexes[lazyDistributorIdxInitRecipient]].toBase58();
|
|
259
307
|
recipientToLazyDistToMint[recipient][lazyDist] =
|
|
260
|
-
ix.
|
|
308
|
+
allAccs[ix.accountKeyIndexes[mintIdx]];
|
|
261
309
|
}
|
|
262
310
|
// Since recipient wont exist to fetch to get the asset id, grab it from the init recipient ix
|
|
263
311
|
if (decoded.name === "initializeCompressionRecipientV0") {
|
|
264
|
-
const recipient = ix.
|
|
312
|
+
const recipient = allAccs[ix.accountKeyIndexes[recipientIdxInitCompressionRecipient]].toBase58();
|
|
265
313
|
recipientToLazyDistToMint[recipient] || (recipientToLazyDistToMint[recipient] = {});
|
|
266
|
-
const lazyDist = ix.
|
|
267
|
-
const merkleTree = ix.
|
|
314
|
+
const lazyDist = allAccs[ix.accountKeyIndexes[lazyDistributorIdxInitCompressionRecipient]].toBase58();
|
|
315
|
+
const merkleTree = allAccs[ix.accountKeyIndexes[merkleTreeIdxInitCompressionRecipient]];
|
|
268
316
|
const index = decoded.data.args.index;
|
|
269
317
|
recipientToLazyDistToMint[recipient][lazyDist] = yield (0, mpl_bubblegum_1.getLeafAssetId)(merkleTree, new anchor_1.BN(index));
|
|
270
318
|
}
|
|
@@ -285,25 +333,28 @@ class OracleServer {
|
|
|
285
333
|
let recipient, lazyDist, proposedCurrentRewards;
|
|
286
334
|
let entityKey;
|
|
287
335
|
let keyToAssetK = undefined;
|
|
288
|
-
if (ix.
|
|
289
|
-
ix.
|
|
290
|
-
let decoded = this.roProgram.coder.instruction.decode(ix.data);
|
|
291
|
-
recipient = ix.
|
|
292
|
-
lazyDist = ix.
|
|
293
|
-
keyToAssetK = ix.
|
|
336
|
+
if (allAccs[ix.accountKeyIndexes[wrapperOracleKeyIdx]].equals(this.oracle.publicKey) &&
|
|
337
|
+
allAccs[ix.programIdIndex].equals(rewards_oracle_sdk_1.PROGRAM_ID)) {
|
|
338
|
+
let decoded = this.roProgram.coder.instruction.decode(Buffer.from(ix.data));
|
|
339
|
+
recipient = allAccs[ix.accountKeyIndexes[wrapperRecipientIdx]];
|
|
340
|
+
lazyDist = allAccs[ix.accountKeyIndexes[wrapperLazyDistIdx]];
|
|
341
|
+
keyToAssetK = allAccs[ix.accountKeyIndexes[wrapperKeyToAssetIdx]];
|
|
294
342
|
//@ts-ignore
|
|
295
343
|
proposedCurrentRewards = decoded.data.args.currentRewards;
|
|
296
344
|
entityKey = (yield this.hemProgram.account.keyToAssetV0.fetch(keyToAssetK)).entityKey;
|
|
297
345
|
// A sneaky RPC could return incorrect data. Verify that the entity key is correct for the key to asset
|
|
298
346
|
if (!(0, helium_entity_manager_sdk_1.keyToAssetKey)(this.dao, entityKey)[0].equals(keyToAssetK)) {
|
|
299
|
-
return {
|
|
347
|
+
return {
|
|
348
|
+
success: false,
|
|
349
|
+
message: "RPC lied about the entity key for this asset.",
|
|
350
|
+
};
|
|
300
351
|
}
|
|
301
352
|
}
|
|
302
|
-
else if (ix.
|
|
303
|
-
ix.
|
|
304
|
-
let decoded = this.ldProgram.coder.instruction.decode(ix.data);
|
|
305
|
-
recipient = ix.
|
|
306
|
-
lazyDist = ix.
|
|
353
|
+
else if (allAccs[ix.accountKeyIndexes[oracleKeyIdx]].equals(this.oracle.publicKey) &&
|
|
354
|
+
allAccs[ix.programIdIndex].equals(lazy_distributor_sdk_1.PROGRAM_ID)) {
|
|
355
|
+
let decoded = this.ldProgram.coder.instruction.decode(Buffer.from(ix.data));
|
|
356
|
+
recipient = allAccs[ix.accountKeyIndexes[recipientIdx]];
|
|
357
|
+
lazyDist = allAccs[ix.accountKeyIndexes[lazyDistIdx]];
|
|
307
358
|
//@ts-ignore
|
|
308
359
|
proposedCurrentRewards = decoded.data.args.currentRewards;
|
|
309
360
|
}
|
|
@@ -329,22 +380,31 @@ class OracleServer {
|
|
|
329
380
|
? yield this.db.getCurrentRewardsByEntity((0, helium_entity_manager_sdk_1.decodeEntityKey)(entityKey, keySerialization))
|
|
330
381
|
: yield this.db.getCurrentRewards(mint);
|
|
331
382
|
if (proposedCurrentRewards.gt(new anchor_1.BN(currentRewards))) {
|
|
332
|
-
return {
|
|
383
|
+
return {
|
|
384
|
+
success: false,
|
|
385
|
+
message: `Invalid amount, ${proposedCurrentRewards} is greater than actual rewards ${currentRewards}`,
|
|
386
|
+
};
|
|
333
387
|
}
|
|
334
388
|
}
|
|
335
389
|
// validate that this oracle is not the fee payer
|
|
336
|
-
if ((_a =
|
|
390
|
+
if ((_a = allAccs[0]) === null || _a === void 0 ? void 0 : _a.equals(this.oracle.publicKey)) {
|
|
337
391
|
return {
|
|
338
392
|
success: false,
|
|
339
393
|
message: "Cannot set this oracle as the fee payer",
|
|
340
394
|
};
|
|
341
395
|
}
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
}
|
|
347
|
-
|
|
396
|
+
try {
|
|
397
|
+
// It's valid to send txs that don't actually need to be signed by us. Happens sometimes with
|
|
398
|
+
// tx packing.
|
|
399
|
+
tx.sign([this.oracle]);
|
|
400
|
+
}
|
|
401
|
+
catch (e) {
|
|
402
|
+
if (!e.message.toString().includes("Cannot sign with non signer key")) {
|
|
403
|
+
throw e;
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
const serialized = tx.serialize();
|
|
407
|
+
return { success: true, transaction: Buffer.from(serialized) };
|
|
348
408
|
});
|
|
349
409
|
}
|
|
350
410
|
signBulkTransactionsHandler(req, res) {
|
|
@@ -365,9 +425,7 @@ class OracleServer {
|
|
|
365
425
|
})));
|
|
366
426
|
const errIdx = results.findIndex((x) => !x.success);
|
|
367
427
|
if (errIdx > -1) {
|
|
368
|
-
res
|
|
369
|
-
.status(400)
|
|
370
|
-
.send({
|
|
428
|
+
res.status(400).send({
|
|
371
429
|
error: results[errIdx].message
|
|
372
430
|
? `${results[errIdx].message}\n\nTransaction index: ${errIdx}`
|
|
373
431
|
: `Error signing transaction index: ${errIdx}`,
|
|
@@ -391,6 +449,7 @@ class OracleServer {
|
|
|
391
449
|
res
|
|
392
450
|
.status(400)
|
|
393
451
|
.send({ error: result.message || "Error signing transaction" });
|
|
452
|
+
return;
|
|
394
453
|
}
|
|
395
454
|
res.send({ success: true, transaction: result.transaction });
|
|
396
455
|
});
|
|
@@ -409,9 +468,6 @@ exports.OracleServer = OracleServer;
|
|
|
409
468
|
const ldProgram = yield (0, lazy_distributor_sdk_1.init)(provider);
|
|
410
469
|
const roProgram = yield (0, rewards_oracle_sdk_1.init)(provider);
|
|
411
470
|
const hemProgram = yield (0, helium_entity_manager_sdk_1.init)(provider);
|
|
412
|
-
const DNT = process.env.DNT_MINT
|
|
413
|
-
? new web3_js_1.PublicKey(process.env.DNT_MINT)
|
|
414
|
-
: spl_utils_1.IOT_MINT;
|
|
415
471
|
const LAZY_DISTRIBUTOR = (0, lazy_distributor_sdk_1.lazyDistributorKey)(DNT)[0];
|
|
416
472
|
const server = new OracleServer(ldProgram, roProgram, hemProgram, oracleKeypair, new PgDatabase(hemProgram), LAZY_DISTRIBUTOR);
|
|
417
473
|
// For performance
|
package/lib/cjs/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|