@helium/distributor-oracle 0.9.29 → 0.9.31

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/server.js CHANGED
@@ -1,4 +1,18 @@
1
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
17
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
18
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -12,127 +26,41 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
27
  };
14
28
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.OracleServer = exports.PgDatabase = void 0;
16
- const dotenv_1 = __importDefault(require("dotenv"));
17
- dotenv_1.default.config();
29
+ exports.OracleServer = void 0;
18
30
  const tuktuk_sdk_1 = require("@helium/tuktuk-sdk");
31
+ const dotenv_1 = __importDefault(require("dotenv"));
19
32
  const tweetnacl_1 = require("tweetnacl");
33
+ dotenv_1.default.config();
20
34
  // @ts-ignore
21
35
  const anchor_1 = require("@coral-xyz/anchor");
36
+ const cors_1 = __importDefault(require("@fastify/cors"));
37
+ const account_fetch_cache_1 = require("@helium/account-fetch-cache");
22
38
  const helium_entity_manager_sdk_1 = require("@helium/helium-entity-manager-sdk");
23
- const helium_sub_daos_sdk_1 = require("@helium/helium-sub-daos-sdk");
39
+ const hpl_crons_sdk_1 = require("@helium/hpl-crons-sdk");
24
40
  const lazy_distributor_sdk_1 = require("@helium/lazy-distributor-sdk");
25
41
  const rewards_oracle_sdk_1 = require("@helium/rewards-oracle-sdk");
26
42
  const spl_utils_1 = require("@helium/spl-utils");
27
- const account_fetch_cache_1 = require("@helium/account-fetch-cache");
43
+ const mpl_bubblegum_1 = require("@metaplex-foundation/mpl-bubblegum");
44
+ const spl_memo_1 = require("@solana/spl-memo");
45
+ const spl_token_1 = require("@solana/spl-token");
28
46
  const web3_js_1 = require("@solana/web3.js");
29
- const sequelize_1 = require("sequelize");
30
- const fs_1 = __importDefault(require("fs"));
31
- const model_1 = require("./model");
32
47
  const fastify_1 = __importDefault(require("fastify"));
33
- const cors_1 = __importDefault(require("@fastify/cors"));
34
- const mpl_bubblegum_1 = require("@metaplex-foundation/mpl-bubblegum");
48
+ const fs_1 = __importDefault(require("fs"));
49
+ const constants_1 = require("./constants");
50
+ const database_1 = require("./database");
35
51
  const metrics_1 = require("./metrics");
36
- const spl_token_1 = require("@solana/spl-token");
37
- const HNT = process.env.HNT_MINT
38
- ? new web3_js_1.PublicKey(process.env.HNT_MINT)
39
- : spl_utils_1.HNT_MINT;
40
- const DNT = process.env.DNT_MINT
41
- ? new web3_js_1.PublicKey(process.env.DNT_MINT)
42
- : spl_utils_1.IOT_MINT;
43
- const DAO = (0, helium_sub_daos_sdk_1.daoKey)(HNT)[0];
44
- const ENTITY_CREATOR = (0, helium_entity_manager_sdk_1.entityCreatorKey)(DAO)[0];
45
- class PgDatabase {
46
- constructor(issuanceProgram, getAssetFn = spl_utils_1.getAsset) {
47
- this.issuanceProgram = issuanceProgram;
48
- this.getAssetFn = getAssetFn;
49
- }
50
- getTotalRewards() {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- const totalRewards = (yield model_1.Reward.findAll({
53
- attributes: [
54
- [model_1.sequelize.fn("SUM", model_1.sequelize.col("rewards")), "rewards"],
55
- ],
56
- }))[0].rewards;
57
- return totalRewards;
58
- });
59
- }
60
- getActiveDevices() {
61
- return model_1.Reward.count({
62
- where: {
63
- [sequelize_1.Op.and]: [
64
- {
65
- lastReward: {
66
- [sequelize_1.Op.gte]: new Date(Date.now() - 1000 * 60 * 60 * 24 * 30), // Active within the last 30 days
67
- },
68
- },
69
- {
70
- [sequelize_1.Op.or]: [
71
- {
72
- rewardType: "mobile_gateway",
73
- },
74
- {
75
- rewardType: "iot_gateway",
76
- },
77
- ],
78
- },
79
- ],
80
- },
81
- });
82
- }
83
- getBulkRewards(entityKeys) {
84
- return __awaiter(this, void 0, void 0, function* () {
85
- const rewards = yield model_1.Reward.findAll({
86
- where: {
87
- address: {
88
- [sequelize_1.Op.in]: entityKeys,
89
- },
90
- },
91
- });
92
- return rewards
93
- .map((rew) => [rew.address, rew.rewards])
94
- .reduce((acc, [key, val]) => {
95
- acc[key] = new anchor_1.BN(val).toString();
96
- return acc;
97
- }, {});
98
- });
99
- }
100
- getCurrentRewards(assetId) {
101
- return __awaiter(this, void 0, void 0, function* () {
102
- const asset = yield this.getAssetFn(process.env.ASSET_API_URL ||
103
- this.issuanceProgram.provider.connection.rpcEndpoint, assetId);
104
- if (!asset) {
105
- console.error("No asset found", assetId.toBase58());
106
- return "0";
107
- }
108
- const keyToAssetKey = (0, helium_entity_manager_sdk_1.keyToAssetForAsset)(asset, DAO);
109
- const keyToAsset = yield this.issuanceProgram.account.keyToAssetV0.fetch(keyToAssetKey);
110
- const entityKey = (0, helium_entity_manager_sdk_1.decodeEntityKey)(keyToAsset.entityKey, keyToAsset.keySerialization);
111
- // Verify the creator is our entity creator, otherwise they could just
112
- // pass in any NFT with this ecc compact to collect rewards
113
- if (!asset.creators[0].verified ||
114
- !new web3_js_1.PublicKey(asset.creators[0].address).equals(ENTITY_CREATOR)) {
115
- throw new Error("Not a valid rewardable entity");
116
- }
117
- return this.getCurrentRewardsByEntity(entityKey);
118
- });
119
- }
120
- getCurrentRewardsByEntity(entityKeyStr) {
121
- return __awaiter(this, void 0, void 0, function* () {
122
- const reward = (yield model_1.Reward.findByPk(entityKeyStr));
123
- return new anchor_1.BN(reward === null || reward === void 0 ? void 0 : reward.rewards).toString() || "0";
124
- });
125
- }
126
- }
127
- exports.PgDatabase = PgDatabase;
52
+ const pgDatabase_1 = require("./pgDatabase");
53
+ const model_1 = require("./model");
54
+ __exportStar(require("./database"), exports);
128
55
  class OracleServer {
129
56
  constructor(
130
57
  // tuktuk is on a different version of anchor, so this has to be done.
131
- tuktukProgram, ldProgram, roProgram, hemProgram, oracle, db, lazyDistributor, dao = DAO) {
58
+ tuktukProgram, ldProgram, roProgram, hemProgram, hplCronsProgram, oracle, db, lazyDistributor, dao = constants_1.DAO) {
132
59
  this.tuktukProgram = tuktukProgram;
133
60
  this.ldProgram = ldProgram;
134
61
  this.roProgram = roProgram;
135
62
  this.hemProgram = hemProgram;
63
+ this.hplCronsProgram = hplCronsProgram;
136
64
  this.oracle = oracle;
137
65
  this.db = db;
138
66
  this.lazyDistributor = lazyDistributor;
@@ -155,7 +83,7 @@ class OracleServer {
155
83
  if (currTs - lastCall > 10 * 60 * 1000) {
156
84
  console.log("Updating total rewards");
157
85
  const rewards = (0, spl_utils_1.toNumber)(new anchor_1.BN(yield db.getTotalRewards()), 6);
158
- metrics_1.totalRewardsGauge.labels(DNT.toBase58()).set(Number(rewards));
86
+ metrics_1.totalRewardsGauge.labels(constants_1.DNT.toBase58()).set(Number(rewards));
159
87
  lastCall = currTs;
160
88
  }
161
89
  });
@@ -182,6 +110,8 @@ class OracleServer {
182
110
  });
183
111
  }
184
112
  addRoutes() {
113
+ this.app.get("/active-iot-devices", this.getActiveIotDevicesHandler.bind(this));
114
+ this.app.get("/active-mobile-devices", this.getActiveMobileDevicesHandler.bind(this));
185
115
  this.app.get("/active-devices", this.getActiveDevicesHandler.bind(this));
186
116
  this.app.post("/bulk-rewards", this.getAllRewardsHandler.bind(this));
187
117
  this.app.get("/will-pay-recipient", (_req, res) => {
@@ -192,9 +122,26 @@ class OracleServer {
192
122
  this.app.get("/", this.getCurrentRewardsHandler.bind(this));
193
123
  this.app.post("/", this.signTransactionHandler.bind(this));
194
124
  this.app.post("/bulk-sign", this.signBulkTransactionsHandler.bind(this));
195
- this.app.post("/v1/tuktuk/:keyToAssetKey", this.tuktukHandler.bind(this));
125
+ this.app.post("/v1/tuktuk/kta/:keyToAssetKey", this.tuktukKtaHandler.bind(this));
126
+ this.app.post("/v1/tuktuk/wallet/:wallet", this.tuktukWalletHandler.bind(this));
196
127
  this.app.post("/v1/sign/:keyToAssetKey", this.signHandler.bind(this));
197
128
  }
129
+ getActiveIotDevicesHandler(req, res) {
130
+ return __awaiter(this, void 0, void 0, function* () {
131
+ const count = yield this.db.getActiveDevices(database_1.DeviceType.IOT);
132
+ res.send({
133
+ count,
134
+ });
135
+ });
136
+ }
137
+ getActiveMobileDevicesHandler(req, res) {
138
+ return __awaiter(this, void 0, void 0, function* () {
139
+ const count = yield this.db.getActiveDevices(database_1.DeviceType.MOBILE);
140
+ res.send({
141
+ count,
142
+ });
143
+ });
144
+ }
198
145
  getActiveDevicesHandler(req, res) {
199
146
  return __awaiter(this, void 0, void 0, function* () {
200
147
  const count = yield this.db.getActiveDevices();
@@ -458,23 +405,26 @@ class OracleServer {
458
405
  }
459
406
  });
460
407
  }
461
- tuktukHandler(request, reply) {
408
+ tuktukKtaHandler(request, reply) {
462
409
  return __awaiter(this, void 0, void 0, function* () {
463
410
  const taskQueue = new web3_js_1.PublicKey(request.body.task_queue);
464
411
  const task = new web3_js_1.PublicKey(request.body.task);
465
412
  const taskQueuedAt = new anchor_1.BN(request.body.task_queued_at);
466
413
  try {
414
+ let keyToAsset = yield this.hemProgram.account.keyToAssetV0.fetch(new web3_js_1.PublicKey(request.params.keyToAssetKey));
415
+ const asset = yield (0, spl_utils_1.getAsset)(process.env.ASSET_API_URL ||
416
+ this.ldProgram.provider.connection.rpcEndpoint, keyToAsset.asset);
467
417
  const [wallet, bump] = (0, tuktuk_sdk_1.customSignerKey)(taskQueue, [
468
- Buffer.from("oracle"),
418
+ Buffer.from("claim_payer"),
419
+ asset.ownership.owner.toBuffer(),
469
420
  ]);
470
421
  const bumpBuffer = Buffer.alloc(1);
471
422
  bumpBuffer.writeUint8(bump);
472
- let keyToAsset = yield this.hemProgram.account.keyToAssetV0.fetch(new web3_js_1.PublicKey(request.params.keyToAssetKey));
473
423
  const recipient = (0, lazy_distributor_sdk_1.recipientKey)(this.lazyDistributor, keyToAsset.asset)[0];
474
- let recipientAcc = yield this.ldProgram.account.recipientV0.fetch(recipient);
424
+ let recipientAcc = yield this.ldProgram.account.recipientV0.fetchNullable(recipient);
475
425
  let distributeIx;
476
- if (recipientAcc.destination &&
477
- !recipientAcc.destination.equals(web3_js_1.PublicKey.default)) {
426
+ if ((recipientAcc === null || recipientAcc === void 0 ? void 0 : recipientAcc.destination) &&
427
+ !(recipientAcc === null || recipientAcc === void 0 ? void 0 : recipientAcc.destination.equals(web3_js_1.PublicKey.default))) {
478
428
  const destination = recipientAcc.destination;
479
429
  distributeIx = yield this.ldProgram.methods
480
430
  .distributeCustomDestinationV0()
@@ -483,41 +433,163 @@ class OracleServer {
483
433
  payer: wallet,
484
434
  recipient: recipient,
485
435
  lazyDistributor: this.lazyDistributor,
486
- rewardsMint: DNT,
436
+ rewardsMint: constants_1.DNT,
487
437
  owner: destination,
488
- destinationAccount: (0, spl_token_1.getAssociatedTokenAddressSync)(DNT, destination, true),
438
+ destinationAccount: (0, spl_token_1.getAssociatedTokenAddressSync)(constants_1.DNT, destination, true),
489
439
  },
490
440
  })
491
441
  .instruction();
492
442
  }
493
- else {
443
+ else if (asset === null || asset === void 0 ? void 0 : asset.compression.compressed) {
494
444
  distributeIx = yield (yield (0, lazy_distributor_sdk_1.distributeCompressionRewards)({
495
445
  program: this.ldProgram,
496
446
  assetId: keyToAsset.asset,
497
447
  lazyDistributor: this.lazyDistributor,
498
- rewardsMint: DNT,
448
+ rewardsMint: constants_1.DNT,
499
449
  payer: wallet,
500
450
  })).instruction();
501
451
  }
452
+ else {
453
+ distributeIx = yield this.ldProgram.methods
454
+ .distributeRewardsV0()
455
+ .accounts({
456
+ common: {
457
+ payer: wallet,
458
+ recipient: recipient,
459
+ lazyDistributor: this.lazyDistributor,
460
+ rewardsMint: constants_1.DNT,
461
+ owner: asset.ownership.owner,
462
+ destinationAccount: (0, spl_token_1.getAssociatedTokenAddressSync)(constants_1.DNT, asset.ownership.owner, true),
463
+ },
464
+ recipientMintAccount: (0, spl_token_1.getAssociatedTokenAddressSync)(keyToAsset.asset, asset.ownership.owner, true),
465
+ })
466
+ .instruction();
467
+ }
502
468
  const entityKey = (0, helium_entity_manager_sdk_1.decodeEntityKey)(keyToAsset.entityKey, keyToAsset.keySerialization);
469
+ const instructions = [];
470
+ if (!recipientAcc) {
471
+ if (asset === null || asset === void 0 ? void 0 : asset.compression.compressed) {
472
+ instructions.push(yield (yield (0, lazy_distributor_sdk_1.initializeCompressionRecipient)({
473
+ program: this.ldProgram,
474
+ assetId: keyToAsset.asset,
475
+ lazyDistributor: this.lazyDistributor,
476
+ owner: wallet,
477
+ // Temporarily set oracle as the payer to subsidize new HNT wallets.
478
+ payer: wallet,
479
+ })).instruction());
480
+ }
481
+ else {
482
+ instructions.push(yield this.ldProgram.methods
483
+ .initializeRecipientV0()
484
+ .accounts({
485
+ recipient: recipient,
486
+ lazyDistributor: this.lazyDistributor,
487
+ payer: wallet,
488
+ mint: keyToAsset.asset,
489
+ })
490
+ .instruction());
491
+ }
492
+ }
493
+ instructions.push(yield this.roProgram.methods
494
+ .setCurrentRewardsWrapperV2({
495
+ currentRewards: new anchor_1.BN(yield this.db.getCurrentRewardsByEntity(entityKey)),
496
+ oracleIndex: process.env.ORACLE_INDEX
497
+ ? parseInt(process.env.ORACLE_INDEX)
498
+ : 0,
499
+ })
500
+ .accounts({
501
+ lazyDistributor: this.lazyDistributor,
502
+ recipient,
503
+ payer: wallet,
504
+ keyToAsset: new web3_js_1.PublicKey(request.params.keyToAssetKey),
505
+ })
506
+ .instruction());
507
+ instructions.push(distributeIx);
508
+ const { transaction, remainingAccounts } = yield (0, tuktuk_sdk_1.compileTransaction)(instructions, [
509
+ [
510
+ Buffer.from("claim_payer"),
511
+ asset.ownership.owner.toBuffer(),
512
+ bumpBuffer,
513
+ ],
514
+ ]);
515
+ const remoteTx = new tuktuk_sdk_1.RemoteTaskTransactionV0({
516
+ task,
517
+ taskQueuedAt,
518
+ transaction: Object.assign(Object.assign({}, transaction), { accounts: remainingAccounts.map((acc) => acc.pubkey) }),
519
+ });
520
+ const serialized = yield tuktuk_sdk_1.RemoteTaskTransactionV0.serialize(this.tuktukProgram.coder.accounts, remoteTx);
521
+ const resp = {
522
+ transaction: serialized.toString("base64"),
523
+ signature: Buffer.from(tweetnacl_1.sign.detached(Uint8Array.from(serialized), this.oracle.secretKey)).toString("base64"),
524
+ remaining_accounts: remainingAccounts.map((acc) => ({
525
+ pubkey: acc.pubkey.toBase58(),
526
+ is_signer: acc.isSigner,
527
+ is_writable: acc.isWritable,
528
+ })),
529
+ };
530
+ reply.status(200).send(resp);
531
+ }
532
+ catch (err) {
533
+ console.error(err);
534
+ reply.status(500).send({
535
+ message: "Request failed",
536
+ });
537
+ }
538
+ });
539
+ }
540
+ tuktukWalletHandler(request, reply) {
541
+ return __awaiter(this, void 0, void 0, function* () {
542
+ const wallet = request.params.wallet;
543
+ const batchNumber = request.query.batchNumber;
544
+ const taskQueue = new web3_js_1.PublicKey(request.body.task_queue);
545
+ const task = new web3_js_1.PublicKey(request.body.task);
546
+ const taskQueuedAt = new anchor_1.BN(request.body.task_queued_at);
547
+ try {
548
+ const [customSignerWallet, bump] = (0, tuktuk_sdk_1.customSignerKey)(taskQueue, [
549
+ Buffer.from("claim_payer"),
550
+ new web3_js_1.PublicKey(wallet).toBuffer(),
551
+ ]);
552
+ const bumpBuffer = Buffer.alloc(1);
553
+ bumpBuffer.writeUint8(bump);
554
+ const { entities, nextBatchNumber } = yield this.db.getRewardableEntities(new web3_js_1.PublicKey(wallet), constants_1.MAX_CLAIMS_PER_TX, Number(batchNumber || 0));
555
+ const taskQueueAcc = yield this.tuktukProgram.account.taskQueueV0.fetch(taskQueue);
503
556
  const instructions = [
504
- yield this.roProgram.methods
505
- .setCurrentRewardsWrapperV2({
506
- currentRewards: new anchor_1.BN(yield this.db.getCurrentRewardsByEntity(entityKey)),
507
- oracleIndex: process.env.ORACLE_INDEX
508
- ? parseInt(process.env.ORACLE_INDEX)
509
- : 0,
557
+ web3_js_1.SystemProgram.transfer({
558
+ fromPubkey: customSignerWallet,
559
+ toPubkey: task,
560
+ lamports: taskQueueAcc.minCrankReward.toNumber() * (entities.length + 1),
561
+ }),
562
+ ];
563
+ for (const entity of entities) {
564
+ instructions.push(yield this.hplCronsProgram.methods
565
+ .requeueEntityClaimV0()
566
+ .accounts({
567
+ keyToAsset: entity.keyToAsset.address,
568
+ })
569
+ .instruction());
570
+ }
571
+ if (entities.length > 0) {
572
+ instructions.push(yield this.hplCronsProgram.methods
573
+ .requeueWalletClaimV0({
574
+ batchNumber: nextBatchNumber,
510
575
  })
511
576
  .accounts({
512
- lazyDistributor: this.lazyDistributor,
513
- recipient,
514
- payer: wallet,
515
- keyToAsset: new web3_js_1.PublicKey(request.params.keyToAssetKey),
577
+ wallet: new web3_js_1.PublicKey(wallet),
516
578
  })
517
- .instruction(),
518
- distributeIx,
519
- ];
520
- const { transaction, remainingAccounts } = yield (0, tuktuk_sdk_1.compileTransaction)(instructions, [[Buffer.from("oracle"), bumpBuffer]]);
579
+ .instruction());
580
+ }
581
+ else {
582
+ instructions.push((0, spl_memo_1.createMemoInstruction)("Finished claiming rewards", [
583
+ customSignerWallet,
584
+ ]));
585
+ }
586
+ const { transaction, remainingAccounts } = yield (0, tuktuk_sdk_1.compileTransaction)(instructions, [
587
+ [
588
+ Buffer.from("claim_payer"),
589
+ new web3_js_1.PublicKey(wallet).toBuffer(),
590
+ bumpBuffer,
591
+ ],
592
+ ]);
521
593
  const remoteTx = new tuktuk_sdk_1.RemoteTaskTransactionV0({
522
594
  task,
523
595
  taskQueuedAt,
@@ -533,7 +605,6 @@ class OracleServer {
533
605
  is_writable: acc.isWritable,
534
606
  })),
535
607
  };
536
- console.log(resp);
537
608
  reply.status(200).send(resp);
538
609
  }
539
610
  catch (err) {
@@ -606,8 +677,11 @@ exports.OracleServer = OracleServer;
606
677
  const ldProgram = yield (0, lazy_distributor_sdk_1.init)(provider);
607
678
  const roProgram = yield (0, rewards_oracle_sdk_1.init)(provider);
608
679
  const hemProgram = yield (0, helium_entity_manager_sdk_1.init)(provider);
609
- const LAZY_DISTRIBUTOR = (0, lazy_distributor_sdk_1.lazyDistributorKey)(DNT)[0];
610
- const server = new OracleServer(tuktukProgram, ldProgram, roProgram, hemProgram, oracleKeypair, new PgDatabase(hemProgram), LAZY_DISTRIBUTOR);
680
+ const hplCronsProgram = yield (0, hpl_crons_sdk_1.init)(provider);
681
+ model_1.WalletClaimJob.sync();
682
+ model_1.Reward.sync();
683
+ const LAZY_DISTRIBUTOR = (0, lazy_distributor_sdk_1.lazyDistributorKey)(constants_1.DNT)[0];
684
+ const server = new OracleServer(tuktukProgram, ldProgram, roProgram, hemProgram, hplCronsProgram, oracleKeypair, new pgDatabase_1.PgDatabase(hemProgram, ldProgram), LAZY_DISTRIBUTOR);
611
685
  // For performance
612
686
  new account_fetch_cache_1.AccountFetchCache({
613
687
  connection: provider.connection,
@@ -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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"}
@@ -0,0 +1,14 @@
1
+ import { HNT_MINT, IOT_MINT } from "@helium/spl-utils";
2
+ import { PublicKey } from "@solana/web3.js";
3
+ import { daoKey } from "@helium/helium-sub-daos-sdk";
4
+ export const HNT = process.env.HNT_MINT
5
+ ? new PublicKey(process.env.HNT_MINT)
6
+ : HNT_MINT;
7
+ export const DNT = process.env.DNT_MINT
8
+ ? new PublicKey(process.env.DNT_MINT)
9
+ : IOT_MINT;
10
+ export const DAO = daoKey(HNT)[0];
11
+ export const MAX_CLAIMS_PER_TX = process.env.MAX_CLAIMS_PER_TX
12
+ ? parseInt(process.env.MAX_CLAIMS_PER_TX)
13
+ : 5;
14
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ;IACrC,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACrC,CAAC,CAAC,QAAQ,CAAC;AACb,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ;IACrC,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACrC,CAAC,CAAC,QAAQ,CAAC;AACb,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAElC,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB;IAC5D,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACzC,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export var DeviceType;
2
+ (function (DeviceType) {
3
+ DeviceType["IOT"] = "iot";
4
+ DeviceType["MOBILE"] = "mobile";
5
+ })(DeviceType || (DeviceType = {}));
6
+ //# sourceMappingURL=database.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/database.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,+BAAiB,CAAA;AACnB,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB"}
@@ -1,4 +1,4 @@
1
- import { Sequelize, STRING, BIGINT, Model } from "sequelize";
1
+ import { Sequelize, STRING, BIGINT, Model, ARRAY } from "sequelize";
2
2
  import AWS from "aws-sdk";
3
3
  import * as pg from "pg";
4
4
  const host = process.env.PGHOST || "localhost";
@@ -62,4 +62,21 @@ Reward.init({
62
62
  type: STRING,
63
63
  }
64
64
  }, { sequelize, modelName: "reward_index", tableName: "reward_index", underscored: true, timestamps: false });
65
+ export class WalletClaimJob extends Model {
66
+ }
67
+ WalletClaimJob.init({
68
+ wallet: {
69
+ type: STRING,
70
+ primaryKey: true,
71
+ },
72
+ remainingKtas: {
73
+ type: ARRAY(STRING),
74
+ }
75
+ }, {
76
+ sequelize,
77
+ modelName: "wallet_claim_jobs",
78
+ tableName: "wallet_claim_jobs",
79
+ underscored: true,
80
+ timestamps: false,
81
+ });
65
82
  //# sourceMappingURL=model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAQ,MAAM,WAAW,CAAC;AACnE,OAAO,GAAG,MAAM,SAAS,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,WAAW,CAAC;AAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;AAChD,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;IACrC,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,KAAK;IACd,aAAa,EAAE,EAAE;IACjB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM;IAC5B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;IAChC,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;QACN,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,KAAK;KACZ;IACD,KAAK,EAAE;QACL,aAAa,EAAE,KAAK,EAAE,MAAW,EAAE,EAAE;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAEjD,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YACtC,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE;gBACtB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;oBAChC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;oBAC9B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM;oBAC5B,IAAI;oBACJ,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM;iBAC7B,CAAC,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;oBACvF,IAAI,GAAG,EAAE;wBACP,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;qBACnB;oBACD,OAAO,CAAC,KAAK,CAAC,CAAA;gBAChB,CAAC,CAAC,CAAC,CAAC;gBACJ,MAAM,CAAC,cAAc,GAAG;oBACtB,GAAG,EAAE;wBACH,OAAO,EAAE,KAAK;wBACd,kBAAkB,EAAE,KAAK;qBAC1B;iBACF,CAAA;aACF;YACD,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,CAAC;KACF;CACF,CAAC,CAAC;AAEH,MAAM,OAAO,MAAO,SAAQ,KAAK;CAGhC;AACD,MAAM,CAAC,IAAI,CACT;IACE,OAAO,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;KACjB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,MAAM;KACb;IACD,UAAU,EAAE;QACV,IAAI,EAAE,WAAW;KAClB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,MAAM;KACb;CACF,EACD,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAC1G,CAAC"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/model.ts"],"names":[],"mappings":"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"}