@helium/helium-admin-cli 0.10.0-alpha.0 → 0.10.0-alpha.1

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.
Files changed (42) hide show
  1. package/lib/cjs/backfill-mobile-deployment-infos.js +29 -14
  2. package/lib/cjs/backfill-mobile-deployment-infos.js.map +1 -1
  3. package/lib/cjs/end-epoch.js +237 -68
  4. package/lib/cjs/end-epoch.js.map +1 -1
  5. package/lib/cjs/queue-hotspot-claims.js +135 -0
  6. package/lib/cjs/queue-hotspot-claims.js.map +1 -0
  7. package/lib/cjs/queue-position-claims.js +160 -0
  8. package/lib/cjs/queue-position-claims.js.map +1 -0
  9. package/lib/cjs/remove-authorities.js +134 -0
  10. package/lib/cjs/remove-authorities.js.map +1 -0
  11. package/lib/cjs/requeue-hotspot-claims.js +111 -0
  12. package/lib/cjs/requeue-hotspot-claims.js.map +1 -0
  13. package/lib/cjs/start-cron.js +155 -0
  14. package/lib/cjs/start-cron.js.map +1 -0
  15. package/lib/esm/src/backfill-mobile-deployment-infos.js +32 -13
  16. package/lib/esm/src/backfill-mobile-deployment-infos.js.map +1 -1
  17. package/lib/esm/src/end-epoch.js +234 -69
  18. package/lib/esm/src/end-epoch.js.map +1 -1
  19. package/lib/esm/src/queue-hotspot-claims.js +94 -0
  20. package/lib/esm/src/queue-hotspot-claims.js.map +1 -0
  21. package/lib/esm/src/queue-position-claims.js +119 -0
  22. package/lib/esm/src/queue-position-claims.js.map +1 -0
  23. package/lib/esm/src/remove-authorities.js +93 -0
  24. package/lib/esm/src/remove-authorities.js.map +1 -0
  25. package/lib/esm/src/requeue-hotspot-claims.js +70 -0
  26. package/lib/esm/src/requeue-hotspot-claims.js.map +1 -0
  27. package/lib/esm/src/start-cron.js +114 -0
  28. package/lib/esm/src/start-cron.js.map +1 -0
  29. package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
  30. package/lib/types/src/backfill-mobile-deployment-infos.d.ts.map +1 -1
  31. package/lib/types/src/end-epoch.d.ts.map +1 -1
  32. package/lib/types/src/queue-hotspot-claims.d.ts +2 -0
  33. package/lib/types/src/queue-hotspot-claims.d.ts.map +1 -0
  34. package/lib/types/src/queue-position-claims.d.ts +2 -0
  35. package/lib/types/src/queue-position-claims.d.ts.map +1 -0
  36. package/lib/types/src/remove-authorities.d.ts +2 -0
  37. package/lib/types/src/remove-authorities.d.ts.map +1 -0
  38. package/lib/types/src/requeue-hotspot-claims.d.ts +2 -0
  39. package/lib/types/src/requeue-hotspot-claims.d.ts.map +1 -0
  40. package/lib/types/src/start-cron.d.ts +2 -0
  41. package/lib/types/src/start-cron.d.ts.map +1 -0
  42. package/package.json +19 -16
@@ -144,7 +144,7 @@ function run(args = process.argv) {
144
144
  .flat()
145
145
  .map((accountInfo, idx) => (Object.assign({ pubkey: mobileInfos[idx], wifiInfo: wifiInfos[idx] }, accountInfo)));
146
146
  const ixs = (yield Promise.all(accountInfosWithPk.map((acc) => __awaiter(this, void 0, void 0, function* () {
147
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
147
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
148
148
  if (acc.data) {
149
149
  let correction = {};
150
150
  const decodedAcc = hem.coder.accounts.decode("MobileHotspotInfoV0", acc.data);
@@ -153,19 +153,27 @@ function run(args = process.argv) {
153
153
  antenna: acc.wifiInfo.deploymentInfo.antenna ||
154
154
  ((_b = (_a = decodedAcc.deploymentInfo) === null || _a === void 0 ? void 0 : _a.wifiInfoV0) === null || _b === void 0 ? void 0 : _b.antenna) ||
155
155
  0,
156
- elevation: ((_d = (_c = decodedAcc.deploymentInfo) === null || _c === void 0 ? void 0 : _c.wifiInfoV0) === null || _d === void 0 ? void 0 : _d.elevation) ||
157
- // floored since stored on chain as i32 representation in whole meters
158
- Math.floor(acc.wifiInfo.deploymentInfo.elevation) ||
159
- 0,
160
- azimuth: ((_f = (_e = decodedAcc.deploymentInfo) === null || _e === void 0 ? void 0 : _e.wifiInfoV0) === null || _f === void 0 ? void 0 : _f.azimuth) ||
161
- acc.wifiInfo.deploymentInfo.azimuth ||
162
- 0,
163
- mechanicalDownTilt: ((_h = (_g = decodedAcc.deploymentInfo) === null || _g === void 0 ? void 0 : _g.wifiInfoV0) === null || _h === void 0 ? void 0 : _h.mechanicalDownTilt) ||
164
- acc.wifiInfo.deploymentInfo.mechanicalDownTilt ||
165
- 0,
166
- electricalDownTilt: ((_k = (_j = decodedAcc.deploymentInfo) === null || _j === void 0 ? void 0 : _j.wifiInfoV0) === null || _k === void 0 ? void 0 : _k.electricalDownTilt) ||
167
- acc.wifiInfo.deploymentInfo.electricalDownTilt ||
168
- 0,
156
+ elevation: ((_d = (_c = decodedAcc.deploymentInfo) === null || _c === void 0 ? void 0 : _c.wifiInfoV0) === null || _d === void 0 ? void 0 : _d.elevation) || 0,
157
+ // elevation descrepency was found and backfilled so default to whats on chain
158
+ // decodedAcc.deploymentInfo?.wifiInfoV0?.elevation ||
159
+ // floored since stored on chain as i32 representation in whole meters
160
+ // Math.floor(acc.wifiInfo.deploymentInfo.elevation) ||
161
+ // 0,
162
+ azimuth: ((_f = (_e = decodedAcc.deploymentInfo) === null || _e === void 0 ? void 0 : _e.wifiInfoV0) === null || _f === void 0 ? void 0 : _f.azimuth) || 0,
163
+ // azimuth descrepency was found and backfilled so default to whats on chain
164
+ // decodedAcc.deploymentInfo?.wifiInfoV0?.azimuth ||
165
+ // acc.wifiInfo.deploymentInfo.azimuth ||
166
+ // 0,
167
+ mechanicalDownTilt: ((_h = (_g = decodedAcc.deploymentInfo) === null || _g === void 0 ? void 0 : _g.wifiInfoV0) === null || _h === void 0 ? void 0 : _h.mechanicalDownTilt) || 0,
168
+ // mechanicalDownTilt descrepency was found and backfilled so default to whats on chain
169
+ // decodedAcc.deploymentInfo?.wifiInfoV0?.mechanicalDownTilt ||
170
+ // acc.wifiInfo.deploymentInfo.mechanicalDownTilt ||
171
+ // 0,
172
+ electricalDownTilt: ((_k = (_j = decodedAcc.deploymentInfo) === null || _j === void 0 ? void 0 : _j.wifiInfoV0) === null || _k === void 0 ? void 0 : _k.electricalDownTilt) || 0,
173
+ // electricalDownTilt descrepency was found and backfilled so default to whats on chain
174
+ // decodedAcc.deploymentInfo?.wifiInfoV0?.electricalDownTilt ||
175
+ // acc.wifiInfo.deploymentInfo.electricalDownTilt ||
176
+ // 0,
169
177
  };
170
178
  const deploymentInfoChanged = !(0, fast_deep_equal_1.default)((_l = decodedAcc.deploymentInfo) === null || _l === void 0 ? void 0 : _l.wifiInfoV0, correctedDeploymentInfo);
171
179
  const locationMissing = !decodedAcc.location && acc.wifiInfo.location;
@@ -178,6 +186,13 @@ function run(args = process.argv) {
178
186
  correction = Object.assign(Object.assign({}, correction), { location: acc.wifiInfo.location });
179
187
  }
180
188
  if (Object.keys(correction).length > 0) {
189
+ if (!argv.commit) {
190
+ console.log({
191
+ pubkey: acc.pubkey,
192
+ current: Object.assign({}, (_m = decodedAcc.deploymentInfo) === null || _m === void 0 ? void 0 : _m.wifiInfoV0),
193
+ new: Object.assign({}, correctedDeploymentInfo),
194
+ });
195
+ }
181
196
  return yield hem.methods
182
197
  .tempBackfillMobileInfo({
183
198
  location: correction.location || null,
@@ -1 +1 @@
1
- {"version":3,"file":"backfill-mobile-deployment-infos.js","sourceRoot":"","sources":["../../src/backfill-mobile-deployment-infos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backfill-mobile-deployment-infos.js","sourceRoot":"","sources":["../../src/backfill-mobile-deployment-infos.ts"],"names":[],"mappings":"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"}
@@ -36,92 +36,261 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
38
  exports.run = void 0;
39
- const helium_sub_daos_sdk_1 = require("@helium/helium-sub-daos-sdk");
40
39
  const anchor = __importStar(require("@coral-xyz/anchor"));
40
+ const client = __importStar(require("@helium/distributor-oracle"));
41
+ const helium_entity_manager_sdk_1 = require("@helium/helium-entity-manager-sdk");
42
+ const helium_sub_daos_sdk_1 = require("@helium/helium-sub-daos-sdk");
43
+ const lazy_distributor_sdk_1 = require("@helium/lazy-distributor-sdk");
44
+ const no_emit_sdk_1 = require("@helium/no-emit-sdk");
45
+ const rewards_oracle_sdk_1 = require("@helium/rewards-oracle-sdk");
46
+ const spl_utils_1 = require("@helium/spl-utils");
41
47
  const web3_js_1 = require("@solana/web3.js");
42
48
  const bn_js_1 = require("bn.js");
43
49
  const bs58_1 = __importDefault(require("bs58"));
44
50
  const os_1 = __importDefault(require("os"));
45
51
  const yargs_1 = __importDefault(require("yargs/yargs"));
46
- const spl_utils_1 = require("@helium/spl-utils");
52
+ const IOT_OPERATIONS_FUND = "iot_operations_fund";
53
+ const NOT_EMITTED = "not_emitted";
54
+ const MAX_CLAIM_AMOUNT = new bn_js_1.BN("207020547945205");
55
+ function getSolanaUnixTimestamp(connection) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ const clock = yield connection.getAccountInfo(web3_js_1.SYSVAR_CLOCK_PUBKEY);
58
+ const unixTime = clock.data.readBigInt64LE(8 * 4);
59
+ return unixTime;
60
+ });
61
+ }
62
+ function sleep(ms) {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ return new Promise((resolve) => setTimeout(resolve, ms));
65
+ });
66
+ }
47
67
  function run(args = process.argv) {
48
68
  return __awaiter(this, void 0, void 0, function* () {
49
- const yarg = (0, yargs_1.default)(args).options({
50
- wallet: {
51
- alias: "k",
52
- describe: "Anchor wallet keypair",
53
- default: `${os_1.default.homedir()}/.config/solana/id.json`,
54
- },
55
- url: {
56
- alias: "u",
57
- default: "http://127.0.0.1:8899",
58
- describe: "The solana url",
59
- },
60
- hntMint: {
61
- type: "string",
62
- describe: "Mint of the HNT token",
63
- },
64
- from: {
65
- type: "number",
66
- describe: "The timestamp to start ending epochs from",
67
- },
68
- });
69
- const argv = yield yarg.argv;
70
- process.env.ANCHOR_WALLET = argv.wallet;
71
- process.env.ANCHOR_PROVIDER_URL = argv.url;
72
- anchor.setProvider(anchor.AnchorProvider.local(argv.url));
73
- const provider = anchor.getProvider();
74
- const heliumSubDaosProgram = yield (0, helium_sub_daos_sdk_1.init)(provider);
75
- const hntMint = new web3_js_1.PublicKey(argv.hntMint);
76
- const dao = yield (0, helium_sub_daos_sdk_1.daoKey)(hntMint)[0];
77
- const subdaos = yield heliumSubDaosProgram.account.subDaoV0.all([
78
- {
79
- memcmp: {
80
- offset: 8,
81
- bytes: bs58_1.default.encode(dao.toBuffer()),
69
+ try {
70
+ const yarg = (0, yargs_1.default)(args).options({
71
+ wallet: {
72
+ alias: "k",
73
+ describe: "Anchor wallet keypair",
74
+ default: `${os_1.default.homedir()}/.config/solana/id.json`,
82
75
  },
83
- },
84
- ]);
85
- let targetTs = argv.from
86
- ? new bn_js_1.BN(argv.from)
87
- : subdaos[0].account.vehntLastCalculatedTs;
88
- while (targetTs.toNumber() < new Date().valueOf() / 1000) {
89
- const epoch = (0, helium_sub_daos_sdk_1.currentEpoch)(targetTs);
90
- console.log(epoch.toNumber(), targetTs.toNumber());
91
- const daoEpochInfo = yield heliumSubDaosProgram.account.daoEpochInfoV0.fetchNullable((0, helium_sub_daos_sdk_1.daoEpochInfoKey)(dao, targetTs)[0]);
92
- if (!(daoEpochInfo === null || daoEpochInfo === void 0 ? void 0 : daoEpochInfo.doneCalculatingScores)) {
93
- for (const subDao of subdaos) {
94
- try {
95
- yield (0, spl_utils_1.sendInstructionsWithPriorityFee)(provider, [
96
- yield heliumSubDaosProgram.methods
97
- .calculateUtilityScoreV0({ epoch })
98
- .accountsPartial({ subDao: subDao.publicKey })
99
- .instruction(),
100
- ], {
101
- computeUnitLimit: 1000000,
102
- });
76
+ url: {
77
+ alias: "u",
78
+ default: "http://127.0.0.1:8899",
79
+ describe: "The solana url",
80
+ },
81
+ basePriorityFee: {
82
+ type: "number",
83
+ describe: "Base priority fee to be used",
84
+ },
85
+ from: {
86
+ type: "number",
87
+ describe: "The timestamp to start ending epochs from",
88
+ },
89
+ });
90
+ const argv = yield yarg.argv;
91
+ process.env.ANCHOR_WALLET = argv.wallet;
92
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
93
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
94
+ const errors = [];
95
+ const provider = anchor.getProvider();
96
+ const heliumSubDaosProgram = yield (0, helium_sub_daos_sdk_1.init)(provider);
97
+ const hntMint = new web3_js_1.PublicKey(spl_utils_1.HNT_MINT);
98
+ const unixNow = new Date().valueOf() / 1000;
99
+ const [dao] = (0, helium_sub_daos_sdk_1.daoKey)(hntMint);
100
+ const basePriorityFee = Number(argv.basePriorityFee || 1);
101
+ const subDaos = yield heliumSubDaosProgram.account.subDaoV0.all([
102
+ {
103
+ memcmp: {
104
+ offset: 8,
105
+ bytes: bs58_1.default.encode(dao.toBuffer()),
106
+ },
107
+ },
108
+ ]);
109
+ let targetTs = argv.from
110
+ ? new bn_js_1.BN(argv.from)
111
+ : subDaos.reduce((acc, subDao) => bn_js_1.BN.min(acc, subDao.account.vehntLastCalculatedTs),
112
+ // Start one day back to ensure we at least close the epoch that the job is running in.
113
+ new bn_js_1.BN(unixNow - 24 * 60 * 60));
114
+ const solanaTime = yield getSolanaUnixTimestamp(provider.connection);
115
+ mainLoop: while (targetTs.toNumber() < unixNow) {
116
+ const epoch = (0, helium_sub_daos_sdk_1.currentEpoch)(targetTs);
117
+ console.log(epoch.toNumber(), targetTs.toNumber());
118
+ const driftFromSolana = targetTs.toNumber() - Number(solanaTime);
119
+ // If Solana is within 5 minutes of the epoch we're trying to end, wait.
120
+ // This can happen because of solana clock drift.
121
+ if (driftFromSolana > 0 && driftFromSolana < 60 * 5) {
122
+ yield sleep(driftFromSolana * 1000);
123
+ }
124
+ const [daoEpoch] = (0, helium_sub_daos_sdk_1.daoEpochInfoKey)(dao, targetTs);
125
+ const daoEpochInfo = yield heliumSubDaosProgram.account.daoEpochInfoV0.fetchNullable(daoEpoch);
126
+ if (!(daoEpochInfo === null || daoEpochInfo === void 0 ? void 0 : daoEpochInfo.doneCalculatingScores)) {
127
+ for (const subDao of subDaos) {
128
+ const [subDaoEpoch] = (0, helium_sub_daos_sdk_1.subDaoEpochInfoKey)(subDao.publicKey, targetTs);
129
+ const subDaoEpochInfo = yield heliumSubDaosProgram.account.subDaoEpochInfoV0.fetchNullable(subDaoEpoch);
130
+ if (!(subDaoEpochInfo === null || subDaoEpochInfo === void 0 ? void 0 : subDaoEpochInfo.utilityScore)) {
131
+ try {
132
+ yield (0, spl_utils_1.sendInstructionsWithPriorityFee)(provider, [
133
+ yield heliumSubDaosProgram.methods
134
+ .calculateUtilityScoreV0({ epoch })
135
+ .accountsPartial({ subDao: subDao.publicKey })
136
+ .instruction(),
137
+ ], {
138
+ computeUnitLimit: 1000000,
139
+ basePriorityFee: basePriorityFee,
140
+ });
141
+ }
142
+ catch (err) {
143
+ const strErr = JSON.stringify(err);
144
+ if (strErr.includes("Error Code: EpochNotOver") ||
145
+ strErr.includes(`{"Custom":6003}`)) {
146
+ // epoch not over
147
+ break mainLoop;
148
+ }
149
+ if (!strErr.includes("Error Code: UtilityScoreAlreadyCalculated") ||
150
+ !strErr.includes(`{"Custom":6002}`))
151
+ errors.push(`Failed to calculate utility score for ${subDao.account.dntMint.toBase58()}: ${err}`);
152
+ }
153
+ }
103
154
  }
104
- catch (e) {
105
- console.log(`Failed to calculate utility score for ${subDao.account.dntMint.toBase58()}: ${e.message}`);
155
+ }
156
+ for (const subDao of subDaos) {
157
+ if (!(daoEpochInfo === null || daoEpochInfo === void 0 ? void 0 : daoEpochInfo.doneIssuingRewards)) {
158
+ const [subDaoEpoch] = (0, helium_sub_daos_sdk_1.subDaoEpochInfoKey)(subDao.publicKey, targetTs);
159
+ const subDaoEpochInfo = yield heliumSubDaosProgram.account.subDaoEpochInfoV0.fetchNullable(subDaoEpoch);
160
+ if (!(subDaoEpochInfo === null || subDaoEpochInfo === void 0 ? void 0 : subDaoEpochInfo.rewardsIssuedAt)) {
161
+ try {
162
+ yield (0, spl_utils_1.sendInstructionsWithPriorityFee)(provider, [
163
+ yield heliumSubDaosProgram.methods
164
+ .issueRewardsV0({ epoch })
165
+ .accountsPartial({ subDao: subDao.publicKey })
166
+ .instruction(),
167
+ ], {
168
+ basePriorityFee: basePriorityFee,
169
+ });
170
+ }
171
+ catch (err) {
172
+ errors.push(`Failed to issue rewards for ${subDao.account.dntMint.toBase58()}: ${err}`);
173
+ }
174
+ }
106
175
  }
107
176
  }
177
+ targetTs = targetTs.add(new bn_js_1.BN(helium_sub_daos_sdk_1.EPOCH_LENGTH));
108
178
  }
109
- if (!(daoEpochInfo === null || daoEpochInfo === void 0 ? void 0 : daoEpochInfo.doneIssuingRewards)) {
110
- for (const subDao of subdaos) {
111
- try {
112
- yield (0, spl_utils_1.sendInstructionsWithPriorityFee)(provider, [
113
- yield heliumSubDaosProgram.methods
114
- .issueRewardsV0({ epoch })
115
- .accountsPartial({ subDao: subDao.publicKey })
179
+ // distribute iot operations fund
180
+ const hemProgram = yield (0, helium_entity_manager_sdk_1.init)(provider);
181
+ const lazyProgram = yield (0, lazy_distributor_sdk_1.init)(provider);
182
+ const rewardsOracleProgram = yield (0, rewards_oracle_sdk_1.init)(provider);
183
+ for (const token of [spl_utils_1.IOT_MINT, spl_utils_1.HNT_MINT]) {
184
+ const [lazyDistributor] = (0, lazy_distributor_sdk_1.lazyDistributorKey)(token);
185
+ const [keyToAsset] = (0, helium_entity_manager_sdk_1.keyToAssetKey)(dao, IOT_OPERATIONS_FUND, "utf8");
186
+ const assetId = (yield hemProgram.account.keyToAssetV0.fetch(keyToAsset))
187
+ .asset;
188
+ const [recipient] = (0, lazy_distributor_sdk_1.recipientKey)(lazyDistributor, assetId);
189
+ if (!(yield provider.connection.getAccountInfo(recipient))) {
190
+ const method = lazyProgram.methods.initializeRecipientV0().accountsPartial({
191
+ lazyDistributor,
192
+ mint: assetId,
193
+ });
194
+ yield (0, spl_utils_1.sendInstructionsWithPriorityFee)(provider, [yield method.instruction()], { basePriorityFee });
195
+ }
196
+ const rewards = yield client.getCurrentRewards(lazyProgram, lazyDistributor, assetId);
197
+ const pending = yield client.getPendingRewards(lazyProgram, lazyDistributor, (0, helium_sub_daos_sdk_1.daoKey)(spl_utils_1.HNT_MINT)[0], [IOT_OPERATIONS_FUND], "utf8");
198
+ // Avoid claiming too much and tripping the breaker
199
+ if (new bn_js_1.BN(pending[IOT_OPERATIONS_FUND]).gt(MAX_CLAIM_AMOUNT)) {
200
+ rewards[0].currentRewards = new bn_js_1.BN(rewards[0].currentRewards)
201
+ .sub(new bn_js_1.BN(pending[IOT_OPERATIONS_FUND]))
202
+ .add(MAX_CLAIM_AMOUNT)
203
+ .toString();
204
+ }
205
+ const tx = yield client.formTransaction({
206
+ program: lazyProgram,
207
+ rewardsOracleProgram: rewardsOracleProgram,
208
+ provider,
209
+ rewards,
210
+ asset: assetId,
211
+ lazyDistributor,
212
+ });
213
+ const signed = yield provider.wallet.signTransaction(tx);
214
+ try {
215
+ yield (0, spl_utils_1.sendAndConfirmWithRetry)(provider.connection, Buffer.from(signed.serialize()), { skipPreflight: true }, "confirmed");
216
+ }
217
+ catch (err) {
218
+ errors.push(`Failed to distribute iot op funds: ${err}`);
219
+ }
220
+ }
221
+ // Only do this if that feature has been deployed
222
+ if (hemProgram.methods.issueNotEmittedEntityV0) {
223
+ console.log("Issuing no_emit");
224
+ const noEmitProgram = yield (0, no_emit_sdk_1.init)(provider);
225
+ const tokens = [spl_utils_1.MOBILE_MINT, spl_utils_1.IOT_MINT, spl_utils_1.HNT_MINT];
226
+ for (const token of tokens) {
227
+ const [lazyDistributor] = (0, lazy_distributor_sdk_1.lazyDistributorKey)(token);
228
+ const notEmittedEntityKta = (0, helium_entity_manager_sdk_1.keyToAssetKey)(dao, NOT_EMITTED, "utf-8")[0];
229
+ // Issue the burn entity if it doesn't exist yet.
230
+ if (!(yield provider.connection.getAccountInfo(notEmittedEntityKta))) {
231
+ const mint = web3_js_1.Keypair.generate();
232
+ yield (0, spl_utils_1.sendInstructions)(provider, [
233
+ ...(yield (0, spl_utils_1.createMintInstructions)(provider, 0, provider.wallet.publicKey, provider.wallet.publicKey, mint)),
234
+ yield hemProgram.methods
235
+ .issueNotEmittedEntityV0()
236
+ .accountsPartial({
237
+ dao,
238
+ mint: mint.publicKey,
239
+ })
116
240
  .instruction(),
117
- ]);
241
+ ], [mint]);
242
+ }
243
+ const assetId = (yield hemProgram.account.keyToAssetV0.fetch(notEmittedEntityKta)).asset;
244
+ const [recipient] = (0, lazy_distributor_sdk_1.recipientKey)(lazyDistributor, assetId);
245
+ try {
246
+ if (!(yield provider.connection.getAccountInfo(recipient))) {
247
+ const method = lazyProgram.methods
248
+ .initializeRecipientV0()
249
+ .accountsPartial({
250
+ lazyDistributor,
251
+ mint: assetId,
252
+ });
253
+ yield (0, spl_utils_1.sendInstructionsWithPriorityFee)(provider, [yield method.instruction()], { basePriorityFee });
254
+ }
255
+ const rewards = yield client.getCurrentRewards(lazyProgram, lazyDistributor, assetId);
256
+ const tx = yield client.formTransaction({
257
+ program: lazyProgram,
258
+ rewardsOracleProgram: rewardsOracleProgram,
259
+ provider,
260
+ rewards,
261
+ asset: assetId,
262
+ lazyDistributor,
263
+ });
264
+ const signed = yield provider.wallet.signTransaction(tx);
265
+ yield (0, spl_utils_1.sendAndConfirmWithRetry)(provider.connection, Buffer.from(signed.serialize()), { skipPreflight: true }, "confirmed");
118
266
  }
119
- catch (e) {
120
- console.log(`Failed to issue rewards for ${subDao.account.dntMint.toBase58()}: ${e.message}`);
267
+ catch (err) {
268
+ errors.push(`Failed to distribute burn funds for mint ${token.toBase58()}: ${err}`);
121
269
  }
122
270
  }
123
- targetTs = targetTs.add(new bn_js_1.BN(helium_sub_daos_sdk_1.EPOCH_LENGTH));
271
+ try {
272
+ console.log("No emit");
273
+ yield (0, spl_utils_1.sendInstructions)(provider, [
274
+ yield noEmitProgram.methods
275
+ .noEmitV0()
276
+ .accountsPartial({
277
+ mint: hntMint,
278
+ })
279
+ .instruction(),
280
+ ]);
281
+ }
282
+ catch (err) {
283
+ errors.push(`Failed to run noEmitV0`);
284
+ }
124
285
  }
286
+ if (!errors.length)
287
+ process.exit(0);
288
+ errors.map(console.log);
289
+ process.exit(1);
290
+ }
291
+ catch (err) {
292
+ console.log(err);
293
+ process.exit(1);
125
294
  }
126
295
  });
127
296
  }
@@ -1 +1 @@
1
- {"version":3,"file":"end-epoch.js","sourceRoot":"","sources":["../../src/end-epoch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"end-epoch.js","sourceRoot":"","sources":["../../src/end-epoch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,135 @@
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 (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.run = void 0;
39
+ const anchor = __importStar(require("@coral-xyz/anchor"));
40
+ const cron_sdk_1 = require("@helium/cron-sdk");
41
+ const spl_utils_1 = require("@helium/spl-utils");
42
+ const tuktuk_sdk_1 = require("@helium/tuktuk-sdk");
43
+ const web3_js_1 = require("@solana/web3.js");
44
+ const os_1 = __importDefault(require("os"));
45
+ const yargs_1 = __importDefault(require("yargs/yargs"));
46
+ const hpl_crons_sdk_1 = require("@helium/hpl-crons-sdk");
47
+ function run(args = process.argv) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ const yarg = (0, yargs_1.default)(args).options({
50
+ wallet: {
51
+ alias: "k",
52
+ describe: "Anchor wallet keypair",
53
+ default: `${os_1.default.homedir()}/.config/solana/id.json`,
54
+ },
55
+ url: {
56
+ alias: "u",
57
+ default: "http://127.0.0.1:8899",
58
+ describe: "The solana url",
59
+ },
60
+ taskQueue: {
61
+ required: true,
62
+ type: "string",
63
+ alias: "t",
64
+ describe: "The task queue to queue",
65
+ default: "H39gEszvsi6AT4rYBiJTuZHJSF5hMHy6CKGTd7wzhsg7",
66
+ },
67
+ keyToAsset: {
68
+ required: true,
69
+ type: "string",
70
+ describe: "The key to asset to queue",
71
+ },
72
+ fundingAmount: {
73
+ required: true,
74
+ type: "string",
75
+ describe: "The amount of lamports to fund the cron job with",
76
+ },
77
+ });
78
+ const argv = yield yarg.argv;
79
+ process.env.ANCHOR_WALLET = argv.wallet;
80
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
81
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
82
+ const provider = anchor.getProvider();
83
+ const taskQueue = new web3_js_1.PublicKey(argv.taskQueue);
84
+ const program = yield (0, hpl_crons_sdk_1.init)(provider);
85
+ const cronProgram = yield (0, cron_sdk_1.init)(provider);
86
+ const tuktukProgram = yield (0, tuktuk_sdk_1.init)(provider);
87
+ const taskQueueAcc = yield tuktukProgram.account.taskQueueV0.fetch(taskQueue);
88
+ const nextAvailable = (0, hpl_crons_sdk_1.nextAvailableTaskIds)(taskQueueAcc.taskBitmap, 1)[0];
89
+ const [task] = (0, tuktuk_sdk_1.taskKey)(taskQueue, nextAvailable);
90
+ const keyToAsset = new web3_js_1.PublicKey(argv.keyToAsset);
91
+ const authority = (0, hpl_crons_sdk_1.entityCronAuthorityKey)(provider.wallet.publicKey)[0];
92
+ const cronJob = (0, cron_sdk_1.cronJobKey)(authority, 0)[0];
93
+ if (!(yield provider.connection.getAccountInfo(cronJob))) {
94
+ yield (0, spl_utils_1.sendInstructionsWithPriorityFee)(provider, [
95
+ yield program.methods
96
+ .initEntityClaimCronV0({
97
+ schedule: "0 0 2 * * *",
98
+ })
99
+ .accountsPartial({
100
+ taskQueue,
101
+ cronJob,
102
+ task,
103
+ cronJobNameMapping: (0, cron_sdk_1.cronJobNameMappingKey)(authority, "entity_claim")[0],
104
+ })
105
+ .instruction(),
106
+ web3_js_1.SystemProgram.transfer({
107
+ fromPubkey: provider.wallet.publicKey,
108
+ toPubkey: cronJob,
109
+ lamports: BigInt(argv.fundingAmount),
110
+ }),
111
+ ], {
112
+ computeUnitLimit: 500000
113
+ });
114
+ }
115
+ console.log("Cron job account", cronJob.toBase58());
116
+ const cronJobAcc = yield cronProgram.account.cronJobV0.fetch(cronJob);
117
+ const instructions = [];
118
+ const { instruction } = yield program.methods
119
+ .addEntityToCronV0({
120
+ index: cronJobAcc.nextTransactionId,
121
+ })
122
+ .accountsPartial({
123
+ keyToAsset,
124
+ cronJob,
125
+ cronJobTransaction: (0, cron_sdk_1.cronJobTransactionKey)(cronJob, cronJobAcc.nextTransactionId)[0],
126
+ })
127
+ .prepare();
128
+ instructions.push(instruction);
129
+ yield (0, spl_utils_1.sendInstructionsWithPriorityFee)(provider, instructions, {
130
+ computeUnitLimit: 500000,
131
+ });
132
+ });
133
+ }
134
+ exports.run = run;
135
+ //# sourceMappingURL=queue-hotspot-claims.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-hotspot-claims.js","sourceRoot":"","sources":["../../src/queue-hotspot-claims.ts"],"names":[],"mappings":"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"}