@helium/helium-admin-cli 0.0.49-price.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 (136) hide show
  1. package/README.md +91 -0
  2. package/bin/helium-admin.js +13 -0
  3. package/lib/cjs/cli-distribute-rewards.js +96 -0
  4. package/lib/cjs/cli-distribute-rewards.js.map +1 -0
  5. package/lib/cjs/create-active-device-aggregator.js +112 -0
  6. package/lib/cjs/create-active-device-aggregator.js.map +1 -0
  7. package/lib/cjs/create-dao.js +384 -0
  8. package/lib/cjs/create-dao.js.map +1 -0
  9. package/lib/cjs/create-maker.js +323 -0
  10. package/lib/cjs/create-maker.js.map +1 -0
  11. package/lib/cjs/create-price-oracle.js +121 -0
  12. package/lib/cjs/create-price-oracle.js.map +1 -0
  13. package/lib/cjs/create-subdao.js +496 -0
  14. package/lib/cjs/create-subdao.js.map +1 -0
  15. package/lib/cjs/distribute-hst.js +94 -0
  16. package/lib/cjs/distribute-hst.js.map +1 -0
  17. package/lib/cjs/ecc-gen.js +17 -0
  18. package/lib/cjs/ecc-gen.js.map +1 -0
  19. package/lib/cjs/end-epoch.js +144 -0
  20. package/lib/cjs/end-epoch.js.map +1 -0
  21. package/lib/cjs/log-hotspot.js +80 -0
  22. package/lib/cjs/log-hotspot.js.map +1 -0
  23. package/lib/cjs/mint-dc.js +112 -0
  24. package/lib/cjs/mint-dc.js.map +1 -0
  25. package/lib/cjs/reset-clockwork.js +141 -0
  26. package/lib/cjs/reset-clockwork.js.map +1 -0
  27. package/lib/cjs/reset-vsr-max-voter-record.js +142 -0
  28. package/lib/cjs/reset-vsr-max-voter-record.js.map +1 -0
  29. package/lib/cjs/reset-vsr-voting-mint.js +179 -0
  30. package/lib/cjs/reset-vsr-voting-mint.js.map +1 -0
  31. package/lib/cjs/setup-hst.js +243 -0
  32. package/lib/cjs/setup-hst.js.map +1 -0
  33. package/lib/cjs/submit-price.js +158 -0
  34. package/lib/cjs/submit-price.js.map +1 -0
  35. package/lib/cjs/update-account-circuit-breaker.js +127 -0
  36. package/lib/cjs/update-account-circuit-breaker.js.map +1 -0
  37. package/lib/cjs/update-dao.js +146 -0
  38. package/lib/cjs/update-dao.js.map +1 -0
  39. package/lib/cjs/update-mint-circuit-breaker.js +129 -0
  40. package/lib/cjs/update-mint-circuit-breaker.js.map +1 -0
  41. package/lib/cjs/update-rewardable-entity-config.js +143 -0
  42. package/lib/cjs/update-rewardable-entity-config.js.map +1 -0
  43. package/lib/cjs/update-subdao.js +228 -0
  44. package/lib/cjs/update-subdao.js.map +1 -0
  45. package/lib/cjs/utils.js +366 -0
  46. package/lib/cjs/utils.js.map +1 -0
  47. package/lib/esm/src/cli-distribute-rewards.js +55 -0
  48. package/lib/esm/src/cli-distribute-rewards.js.map +1 -0
  49. package/lib/esm/src/create-active-device-aggregator.js +71 -0
  50. package/lib/esm/src/create-active-device-aggregator.js.map +1 -0
  51. package/lib/esm/src/create-dao.js +341 -0
  52. package/lib/esm/src/create-dao.js.map +1 -0
  53. package/lib/esm/src/create-maker.js +282 -0
  54. package/lib/esm/src/create-maker.js.map +1 -0
  55. package/lib/esm/src/create-price-oracle.js +80 -0
  56. package/lib/esm/src/create-price-oracle.js.map +1 -0
  57. package/lib/esm/src/create-subdao.js +455 -0
  58. package/lib/esm/src/create-subdao.js.map +1 -0
  59. package/lib/esm/src/distribute-hst.js +53 -0
  60. package/lib/esm/src/distribute-hst.js.map +1 -0
  61. package/lib/esm/src/ecc-gen.js +6 -0
  62. package/lib/esm/src/ecc-gen.js.map +1 -0
  63. package/lib/esm/src/end-epoch.js +103 -0
  64. package/lib/esm/src/end-epoch.js.map +1 -0
  65. package/lib/esm/src/log-hotspot.js +39 -0
  66. package/lib/esm/src/log-hotspot.js.map +1 -0
  67. package/lib/esm/src/mint-dc.js +71 -0
  68. package/lib/esm/src/mint-dc.js.map +1 -0
  69. package/lib/esm/src/reset-clockwork.js +100 -0
  70. package/lib/esm/src/reset-clockwork.js.map +1 -0
  71. package/lib/esm/src/reset-vsr-max-voter-record.js +101 -0
  72. package/lib/esm/src/reset-vsr-max-voter-record.js.map +1 -0
  73. package/lib/esm/src/reset-vsr-voting-mint.js +138 -0
  74. package/lib/esm/src/reset-vsr-voting-mint.js.map +1 -0
  75. package/lib/esm/src/setup-hst.js +201 -0
  76. package/lib/esm/src/setup-hst.js.map +1 -0
  77. package/lib/esm/src/submit-price.js +113 -0
  78. package/lib/esm/src/submit-price.js.map +1 -0
  79. package/lib/esm/src/update-account-circuit-breaker.js +86 -0
  80. package/lib/esm/src/update-account-circuit-breaker.js.map +1 -0
  81. package/lib/esm/src/update-dao.js +105 -0
  82. package/lib/esm/src/update-dao.js.map +1 -0
  83. package/lib/esm/src/update-mint-circuit-breaker.js +88 -0
  84. package/lib/esm/src/update-mint-circuit-breaker.js.map +1 -0
  85. package/lib/esm/src/update-rewardable-entity-config.js +102 -0
  86. package/lib/esm/src/update-rewardable-entity-config.js.map +1 -0
  87. package/lib/esm/src/update-subdao.js +187 -0
  88. package/lib/esm/src/update-subdao.js.map +1 -0
  89. package/lib/esm/src/utils.js +309 -0
  90. package/lib/esm/src/utils.js.map +1 -0
  91. package/lib/esm/tsconfig.esm.tsbuildinfo +1 -0
  92. package/lib/types/src/cli-distribute-rewards.d.ts +2 -0
  93. package/lib/types/src/cli-distribute-rewards.d.ts.map +1 -0
  94. package/lib/types/src/create-active-device-aggregator.d.ts +2 -0
  95. package/lib/types/src/create-active-device-aggregator.d.ts.map +1 -0
  96. package/lib/types/src/create-dao.d.ts +2 -0
  97. package/lib/types/src/create-dao.d.ts.map +1 -0
  98. package/lib/types/src/create-maker.d.ts +2 -0
  99. package/lib/types/src/create-maker.d.ts.map +1 -0
  100. package/lib/types/src/create-price-oracle.d.ts +2 -0
  101. package/lib/types/src/create-price-oracle.d.ts.map +1 -0
  102. package/lib/types/src/create-subdao.d.ts +2 -0
  103. package/lib/types/src/create-subdao.d.ts.map +1 -0
  104. package/lib/types/src/distribute-hst.d.ts +2 -0
  105. package/lib/types/src/distribute-hst.d.ts.map +1 -0
  106. package/lib/types/src/ecc-gen.d.ts +2 -0
  107. package/lib/types/src/ecc-gen.d.ts.map +1 -0
  108. package/lib/types/src/end-epoch.d.ts +2 -0
  109. package/lib/types/src/end-epoch.d.ts.map +1 -0
  110. package/lib/types/src/log-hotspot.d.ts +2 -0
  111. package/lib/types/src/log-hotspot.d.ts.map +1 -0
  112. package/lib/types/src/mint-dc.d.ts +2 -0
  113. package/lib/types/src/mint-dc.d.ts.map +1 -0
  114. package/lib/types/src/reset-clockwork.d.ts +2 -0
  115. package/lib/types/src/reset-clockwork.d.ts.map +1 -0
  116. package/lib/types/src/reset-vsr-max-voter-record.d.ts +2 -0
  117. package/lib/types/src/reset-vsr-max-voter-record.d.ts.map +1 -0
  118. package/lib/types/src/reset-vsr-voting-mint.d.ts +2 -0
  119. package/lib/types/src/reset-vsr-voting-mint.d.ts.map +1 -0
  120. package/lib/types/src/setup-hst.d.ts +4 -0
  121. package/lib/types/src/setup-hst.d.ts.map +1 -0
  122. package/lib/types/src/submit-price.d.ts +2 -0
  123. package/lib/types/src/submit-price.d.ts.map +1 -0
  124. package/lib/types/src/update-account-circuit-breaker.d.ts +2 -0
  125. package/lib/types/src/update-account-circuit-breaker.d.ts.map +1 -0
  126. package/lib/types/src/update-dao.d.ts +2 -0
  127. package/lib/types/src/update-dao.d.ts.map +1 -0
  128. package/lib/types/src/update-mint-circuit-breaker.d.ts +2 -0
  129. package/lib/types/src/update-mint-circuit-breaker.d.ts.map +1 -0
  130. package/lib/types/src/update-rewardable-entity-config.d.ts +2 -0
  131. package/lib/types/src/update-rewardable-entity-config.d.ts.map +1 -0
  132. package/lib/types/src/update-subdao.d.ts +2 -0
  133. package/lib/types/src/update-subdao.d.ts.map +1 -0
  134. package/lib/types/src/utils.d.ts +55 -0
  135. package/lib/types/src/utils.d.ts.map +1 -0
  136. package/package.json +77 -0
@@ -0,0 +1,144 @@
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 helium_sub_daos_sdk_1 = require("@helium/helium-sub-daos-sdk");
40
+ const anchor = __importStar(require("@coral-xyz/anchor"));
41
+ const web3_js_1 = require("@solana/web3.js");
42
+ const bn_js_1 = require("bn.js");
43
+ const bs58_1 = __importDefault(require("bs58"));
44
+ const os_1 = __importDefault(require("os"));
45
+ const yargs_1 = __importDefault(require("yargs/yargs"));
46
+ function run(args = process.argv) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const yarg = (0, yargs_1.default)(args).options({
49
+ wallet: {
50
+ alias: "k",
51
+ describe: "Anchor wallet keypair",
52
+ default: `${os_1.default.homedir()}/.config/solana/id.json`,
53
+ },
54
+ url: {
55
+ alias: "u",
56
+ default: "http://127.0.0.1:8899",
57
+ describe: "The solana url",
58
+ },
59
+ hntMint: {
60
+ type: "string",
61
+ describe: "Mint of the HNT token",
62
+ },
63
+ from: {
64
+ type: "number",
65
+ describe: "The timestamp to start ending epochs from",
66
+ },
67
+ });
68
+ const argv = yield yarg.argv;
69
+ process.env.ANCHOR_WALLET = argv.wallet;
70
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
71
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
72
+ const provider = anchor.getProvider();
73
+ const heliumSubDaosProgram = yield (0, helium_sub_daos_sdk_1.init)(provider);
74
+ const hntMint = new web3_js_1.PublicKey(argv.hntMint);
75
+ const dao = yield (0, helium_sub_daos_sdk_1.daoKey)(hntMint)[0];
76
+ const subdaos = yield heliumSubDaosProgram.account.subDaoV0.all([{
77
+ memcmp: {
78
+ offset: 8,
79
+ bytes: bs58_1.default.encode(dao.toBuffer()),
80
+ }
81
+ }]);
82
+ let targetTs = argv.from ? new bn_js_1.BN(argv.from) : subdaos[0].account.vehntLastCalculatedTs;
83
+ while (targetTs.toNumber() < new Date().valueOf() / 1000) {
84
+ const epoch = (0, helium_sub_daos_sdk_1.currentEpoch)(targetTs);
85
+ console.log(epoch.toNumber(), targetTs.toNumber());
86
+ const daoEpochInfo = yield heliumSubDaosProgram.account.daoEpochInfoV0.fetchNullable((0, helium_sub_daos_sdk_1.daoEpochInfoKey)(dao, targetTs)[0]);
87
+ if (!(daoEpochInfo === null || daoEpochInfo === void 0 ? void 0 : daoEpochInfo.doneCalculatingScores)) {
88
+ for (const subDao of subdaos) {
89
+ try {
90
+ yield heliumSubDaosProgram.methods
91
+ .calculateUtilityScoreV0({
92
+ epoch,
93
+ })
94
+ .preInstructions([
95
+ web3_js_1.ComputeBudgetProgram.setComputeUnitLimit({ units: 350000 }),
96
+ ])
97
+ .accounts({
98
+ subDao: subDao.publicKey,
99
+ })
100
+ .rpc({ skipPreflight: true });
101
+ }
102
+ catch (e) {
103
+ console.log(`Failed to calculate utility score for ${subDao.account.dntMint.toBase58()}: ${e.message}`);
104
+ }
105
+ }
106
+ }
107
+ if (!(daoEpochInfo === null || daoEpochInfo === void 0 ? void 0 : daoEpochInfo.doneIssuingRewards)) {
108
+ for (const subDao of subdaos) {
109
+ try {
110
+ yield heliumSubDaosProgram.methods
111
+ .issueRewardsV0({
112
+ epoch,
113
+ })
114
+ .accounts({
115
+ subDao: subDao.publicKey,
116
+ })
117
+ .rpc({ skipPreflight: true });
118
+ }
119
+ catch (e) {
120
+ console.log(`Failed to issue rewards for ${subDao.account.dntMint.toBase58()}: ${e.message}`);
121
+ }
122
+ }
123
+ }
124
+ try {
125
+ if (!(daoEpochInfo === null || daoEpochInfo === void 0 ? void 0 : daoEpochInfo.doneIssuingHstPool)) {
126
+ yield heliumSubDaosProgram.methods
127
+ .issueHstPoolV0({
128
+ epoch,
129
+ })
130
+ .accounts({
131
+ dao,
132
+ })
133
+ .rpc({ skipPreflight: true });
134
+ }
135
+ }
136
+ catch (e) {
137
+ console.log(`Failed to issue hst pool: ${e.message}`);
138
+ }
139
+ targetTs = targetTs.add(new bn_js_1.BN(helium_sub_daos_sdk_1.EPOCH_LENGTH));
140
+ }
141
+ });
142
+ }
143
+ exports.run = run;
144
+ //# sourceMappingURL=end-epoch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"end-epoch.js","sourceRoot":"","sources":["../../src/end-epoch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAMqC;AACrC,0DAA4C;AAC5C,6CAAkE;AAClE,iCAA2B;AAC3B,gDAAuB;AACvB,4CAAoB;AACpB,wDAAgC;AAEhC,SAAsB,GAAG,CAAC,OAAY,OAAO,CAAC,IAAI;;QAChD,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC/B,MAAM,EAAE;gBACN,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,uBAAuB;gBACjC,OAAO,EAAE,GAAG,YAAE,CAAC,OAAO,EAAE,yBAAyB;aAClD;YACD,GAAG,EAAE;gBACH,KAAK,EAAE,GAAG;gBACV,OAAO,EAAE,uBAAuB;gBAChC,QAAQ,EAAE,gBAAgB;aAC3B;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,uBAAuB;aAClC;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,2CAA2C;aACtD;SACF,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAA2B,CAAC;QAC/D,MAAM,oBAAoB,GAAG,MAAM,IAAA,0BAAO,EAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,mBAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,IAAA,4BAAM,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC/D,MAAM,EAAE;oBACN,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,cAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;iBAClC;aACF,CAAC,CAAC,CAAC;QACJ,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAExF,OAAO,QAAQ,CAAC,QAAQ,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE;YACxD,MAAM,KAAK,GAAG,IAAA,kCAAY,EAAC,QAAQ,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;YAClD,MAAM,YAAY,GAChB,MAAM,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAC,aAAa,CAC7D,IAAA,qCAAe,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAClC,CAAC;YACJ,IAAI,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,qBAAqB,CAAA,EAAE;gBACxC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;oBAC5B,IAAI;wBACF,MAAM,oBAAoB,CAAC,OAAO;6BAC/B,uBAAuB,CAAC;4BACvB,KAAK;yBACN,CAAC;6BACD,eAAe,CAAC;4BACf,8BAAoB,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;yBAC5D,CAAC;6BACD,QAAQ,CAAC;4BACR,MAAM,EAAE,MAAM,CAAC,SAAS;yBACzB,CAAC;6BACD,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;qBACjC;oBAAC,OAAO,CAAM,EAAE;wBACf,OAAO,CAAC,GAAG,CACT,yCAAyC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,KACxE,CAAC,CAAC,OACJ,EAAE,CACH,CAAC;qBACH;iBACF;aACF;YACD,IAAI,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,kBAAkB,CAAA,EAAE;gBACrC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;oBAC5B,IAAI;wBACF,MAAM,oBAAoB,CAAC,OAAO;6BAC/B,cAAc,CAAC;4BACd,KAAK;yBACN,CAAC;6BACD,QAAQ,CAAC;4BACR,MAAM,EAAE,MAAM,CAAC,SAAS;yBACzB,CAAC;6BACD,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;qBACjC;oBAAC,OAAO,CAAM,EAAE;wBACf,OAAO,CAAC,GAAG,CACT,+BAA+B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,KAC9D,CAAC,CAAC,OACJ,EAAE,CACH,CAAC;qBACH;iBACF;aAGF;YACD,IAAI;gBACF,IAAI,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,kBAAkB,CAAA,EAAE;oBACrC,MAAM,oBAAoB,CAAC,OAAO;yBAC/B,cAAc,CAAC;wBACd,KAAK;qBACN,CAAC;yBACD,QAAQ,CAAC;wBACR,GAAG;qBACJ,CAAC;yBACD,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;iBACjC;aACF;YAAC,OAAO,CAAM,EAAE;gBACf,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aACvD;YAED,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAE,CAAC,kCAAY,CAAC,CAAC,CAAC;SAC/C;IACH,CAAC;CAAA;AA5GD,kBA4GC"}
@@ -0,0 +1,80 @@
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 helium_entity_manager_sdk_1 = require("@helium/helium-entity-manager-sdk");
41
+ const helium_sub_daos_sdk_1 = require("@helium/helium-sub-daos-sdk");
42
+ const spl_utils_1 = require("@helium/spl-utils");
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
+ function run(args = process.argv) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const yarg = (0, yargs_1.default)(args).options({
49
+ wallet: {
50
+ alias: "k",
51
+ describe: "Anchor wallet keypair",
52
+ default: `${os_1.default.homedir()}/.config/solana/id.json`,
53
+ },
54
+ url: {
55
+ alias: "u",
56
+ default: "http://127.0.0.1:8899",
57
+ describe: "The solana url",
58
+ },
59
+ hotspotKey: {
60
+ type: "string",
61
+ describe: "Pubkey of the Data Credit token",
62
+ required: true,
63
+ },
64
+ });
65
+ const argv = yield yarg.argv;
66
+ process.env.ANCHOR_WALLET = argv.wallet;
67
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
68
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
69
+ const provider = anchor.getProvider();
70
+ const hemProgram = yield (0, helium_entity_manager_sdk_1.init)(provider);
71
+ const [keyToAssetK] = (0, helium_entity_manager_sdk_1.keyToAssetKey)((0, helium_sub_daos_sdk_1.daoKey)(spl_utils_1.HNT_MINT)[0], argv.hotspotKey);
72
+ const keyToAsset = yield hemProgram.account.keyToAssetV0.fetch(keyToAssetK);
73
+ console.log("keyToAsset", keyToAssetK.toBase58());
74
+ web3_js_1.PublicKey.prototype.toString = web3_js_1.PublicKey.prototype.toBase58;
75
+ console.log(keyToAsset);
76
+ console.log(yield (0, spl_utils_1.getAsset)(argv.url, keyToAsset.asset));
77
+ });
78
+ }
79
+ exports.run = run;
80
+ //# sourceMappingURL=log-hotspot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-hotspot.js","sourceRoot":"","sources":["../../src/log-hotspot.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4C;AAC5C,iFAAmF;AACnF,qEAAqD;AACrD,iDAAuD;AACvD,6CAA4C;AAC5C,4CAAoB;AACpB,wDAAgC;AAEhC,SAAsB,GAAG,CAAC,OAAY,OAAO,CAAC,IAAI;;QAChD,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC/B,MAAM,EAAE;gBACN,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,uBAAuB;gBACjC,OAAO,EAAE,GAAG,YAAE,CAAC,OAAO,EAAE,yBAAyB;aAClD;YACD,GAAG,EAAE;gBACH,KAAK,EAAE,GAAG;gBACV,OAAO,EAAE,uBAAuB;gBAChC,QAAQ,EAAE,gBAAgB;aAC3B;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,iCAAiC;gBAC3C,QAAQ,EAAE,IAAI;aACf;SACF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAA2B,CAAC;QAC/D,MAAM,UAAU,GAAG,MAAM,IAAA,gCAAO,EAAC,QAAQ,CAAC,CAAC;QAE3C,MAAM,CAAC,WAAW,CAAC,GAAG,IAAA,yCAAa,EAAC,IAAA,4BAAM,EAAC,oBAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClD,mBAAS,CAAC,SAAS,CAAC,QAAQ,GAAG,mBAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;QAE5D,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,MAAM,IAAA,oBAAQ,EAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IACzD,CAAC;CAAA;AAjCD,kBAiCC"}
@@ -0,0 +1,112 @@
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 data_credits_sdk_1 = require("@helium/data-credits-sdk");
40
+ const spl_utils_1 = require("@helium/spl-utils");
41
+ const anchor = __importStar(require("@coral-xyz/anchor"));
42
+ const spl_token_1 = require("@solana/spl-token");
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
+ function run(args = process.argv) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const yarg = (0, yargs_1.default)(args).options({
49
+ wallet: {
50
+ alias: "k",
51
+ describe: "Anchor wallet keypair",
52
+ default: `${os_1.default.homedir()}/.config/solana/id.json`,
53
+ },
54
+ url: {
55
+ alias: "u",
56
+ default: "http://127.0.0.1:8899",
57
+ describe: "The solana url",
58
+ },
59
+ dcKey: {
60
+ type: "string",
61
+ describe: "Pubkey of the Data Credit token",
62
+ required: true,
63
+ },
64
+ numHnt: {
65
+ type: "number",
66
+ describe: "Number of HNT tokens to burn",
67
+ default: 1,
68
+ },
69
+ destination: {
70
+ type: "string",
71
+ describe: "The destination wallet for the dc",
72
+ alias: "d",
73
+ required: true,
74
+ },
75
+ });
76
+ const argv = yield yarg.argv;
77
+ process.env.ANCHOR_WALLET = argv.wallet;
78
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
79
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
80
+ const provider = anchor.getProvider();
81
+ const dataCreditsProgram = yield (0, data_credits_sdk_1.init)(provider);
82
+ const dcKey = new web3_js_1.PublicKey(argv.dcKey);
83
+ const destination = new web3_js_1.PublicKey(argv.destination);
84
+ const destAta = yield (0, spl_token_1.getAssociatedTokenAddress)(dcKey, destination);
85
+ let preBalance = 0;
86
+ try {
87
+ preBalance = (yield provider.connection.getTokenAccountBalance(destAta, "confirmed")).value.uiAmount;
88
+ }
89
+ catch (e) {
90
+ if (!e.toString().includes("Invalid param: could not find account")) {
91
+ throw e;
92
+ }
93
+ }
94
+ yield dataCreditsProgram.methods
95
+ .mintDataCreditsV0({
96
+ hntAmount: (0, spl_utils_1.toBN)(argv.numHnt, 8),
97
+ dcAmount: null
98
+ })
99
+ .preInstructions([
100
+ yield (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(provider.wallet.publicKey, (0, spl_token_1.getAssociatedTokenAddressSync)(dcKey, destination, true), destination, dcKey)
101
+ ])
102
+ .accounts({
103
+ dcMint: dcKey,
104
+ recipient: destination,
105
+ })
106
+ .rpc({ skipPreflight: true });
107
+ const postBalance = (yield provider.connection.getTokenAccountBalance(destAta, "confirmed")).value.uiAmount;
108
+ console.log(`Burned ${argv.numHnt} HNT to mint ${postBalance - preBalance} DC`);
109
+ });
110
+ }
111
+ exports.run = run;
112
+ //# sourceMappingURL=mint-dc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mint-dc.js","sourceRoot":"","sources":["../../src/mint-dc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,141 @@
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 helium_sub_daos_sdk_1 = require("@helium/helium-sub-daos-sdk");
41
+ const web3_js_1 = require("@solana/web3.js");
42
+ const sdk_1 = __importDefault(require("@sqds/sdk"));
43
+ const os_1 = __importDefault(require("os"));
44
+ const yargs_1 = __importDefault(require("yargs/yargs"));
45
+ const utils_1 = require("./utils");
46
+ function run(args = process.argv) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const yarg = (0, yargs_1.default)(args).options({
49
+ wallet: {
50
+ alias: "k",
51
+ describe: "Anchor wallet keypair",
52
+ default: `${os_1.default.homedir()}/.config/solana/id.json`,
53
+ },
54
+ url: {
55
+ alias: "u",
56
+ default: "http://127.0.0.1:8899",
57
+ describe: "The solana url",
58
+ },
59
+ hntMint: {
60
+ type: "string",
61
+ describe: "Mint of the HNT token. Only used if --resetDaoThread flag is set",
62
+ },
63
+ dntMint: {
64
+ type: "string",
65
+ describe: "Mint of the subdao token. Only used if --resetSubDaoThread flag is set",
66
+ },
67
+ resetDaoThread: {
68
+ type: "boolean",
69
+ describe: "Reset the dao clockwork thread",
70
+ default: false,
71
+ },
72
+ resetSubDaoThread: {
73
+ type: "boolean",
74
+ describe: "Reset the subdao clockwork thread",
75
+ default: false,
76
+ },
77
+ executeTransaction: {
78
+ type: "boolean",
79
+ },
80
+ multisig: {
81
+ type: "string",
82
+ describe: "Address of the squads multisig to be authority. If not provided, your wallet will be the authority",
83
+ },
84
+ authorityIndex: {
85
+ type: "number",
86
+ describe: "Authority index for squads. Defaults to 1",
87
+ default: 1,
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
+ if (argv.resetSubDaoThread && !argv.dntMint) {
95
+ console.log("dnt mint not provided");
96
+ return;
97
+ }
98
+ const provider = anchor.getProvider();
99
+ const hsdProgram = yield (0, helium_sub_daos_sdk_1.init)(provider);
100
+ const instructions = [];
101
+ const squads = sdk_1.default.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet);
102
+ if (argv.resetDaoThread) {
103
+ console.log("resetting dao thread");
104
+ const hntMint = new web3_js_1.PublicKey(argv.hntMint);
105
+ const dao = (0, helium_sub_daos_sdk_1.daoKey)(hntMint)[0];
106
+ const daoAcc = yield hsdProgram.account.daoV0.fetch(dao);
107
+ instructions.push(yield hsdProgram.methods
108
+ .resetDaoThreadV0()
109
+ .accounts({
110
+ dao,
111
+ authority: daoAcc.authority,
112
+ })
113
+ .instruction());
114
+ }
115
+ if (argv.resetSubDaoThread) {
116
+ console.log("resetting subdao thread");
117
+ const dntMint = new web3_js_1.PublicKey(argv.dntMint);
118
+ const subDao = (0, helium_sub_daos_sdk_1.subDaoKey)(dntMint)[0];
119
+ const subdaoAcc = yield hsdProgram.account.subDaoV0.fetch(subDao);
120
+ instructions.push(yield hsdProgram.methods
121
+ .resetSubDaoThreadV0()
122
+ .accounts({
123
+ subDao,
124
+ authority: subdaoAcc.authority,
125
+ threadPayer: subdaoAcc.authority,
126
+ })
127
+ .instruction());
128
+ }
129
+ yield (0, utils_1.sendInstructionsOrSquads)({
130
+ provider,
131
+ instructions,
132
+ executeTransaction: argv.executeTransaction,
133
+ squads,
134
+ multisig: argv.multisig ? new web3_js_1.PublicKey(argv.multisig) : undefined,
135
+ authorityIndex: argv.authorityIndex,
136
+ signers: [],
137
+ });
138
+ });
139
+ }
140
+ exports.run = run;
141
+ //# sourceMappingURL=reset-clockwork.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset-clockwork.js","sourceRoot":"","sources":["../../src/reset-clockwork.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,142 @@
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 helium_sub_daos_sdk_1 = require("@helium/helium-sub-daos-sdk");
41
+ const voter_stake_registry_sdk_1 = require("@helium/voter-stake-registry-sdk");
42
+ const web3_js_1 = require("@solana/web3.js");
43
+ const sdk_1 = __importDefault(require("@sqds/sdk"));
44
+ const os_1 = __importDefault(require("os"));
45
+ const yargs_1 = __importDefault(require("yargs/yargs"));
46
+ const utils_1 = require("./utils");
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
+ hntMint: {
61
+ type: "string",
62
+ describe: "Mint of the HNT token. Only used if --resetDaoRecord flag is set",
63
+ },
64
+ dntMint: {
65
+ type: "string",
66
+ describe: "Mint of the subdao token. Only used if --resetSubDaoRecord flag is set",
67
+ },
68
+ resetDaoRecord: {
69
+ type: "boolean",
70
+ describe: "Reset the dao max vote weight record",
71
+ default: false,
72
+ },
73
+ resetSubDaoRecord: {
74
+ type: "boolean",
75
+ describe: "Reset the subdao max vote weight record",
76
+ default: false,
77
+ },
78
+ executeTransaction: {
79
+ type: "boolean",
80
+ },
81
+ multisig: {
82
+ type: "string",
83
+ describe: "Address of the squads multisig to be authority. If not provided, your wallet will be the authority",
84
+ },
85
+ authorityIndex: {
86
+ type: "number",
87
+ describe: "Authority index for squads. Defaults to 1",
88
+ default: 1,
89
+ },
90
+ });
91
+ const argv = yield yarg.argv;
92
+ process.env.ANCHOR_WALLET = argv.wallet;
93
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
94
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
95
+ if (argv.resetSubDaoRecord && !argv.dntMint) {
96
+ console.log("dnt mint not provided");
97
+ return;
98
+ }
99
+ const provider = anchor.getProvider();
100
+ const hsdProgram = yield (0, helium_sub_daos_sdk_1.init)(provider);
101
+ const hvsrProgram = yield (0, voter_stake_registry_sdk_1.init)(provider);
102
+ const instructions = [];
103
+ const squads = sdk_1.default.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet);
104
+ if (argv.resetDaoRecord) {
105
+ console.log("resetting dao maxVoterWeightRecord");
106
+ const hntMint = new web3_js_1.PublicKey(argv.hntMint);
107
+ const dao = (0, helium_sub_daos_sdk_1.daoKey)(hntMint)[0];
108
+ const daoAcc = yield hsdProgram.account.daoV0.fetch(dao);
109
+ instructions.push(yield hvsrProgram.methods
110
+ .updateMaxVoterWeightV0()
111
+ .accounts({
112
+ registrar: daoAcc.registrar,
113
+ realmGoverningTokenMint: hntMint,
114
+ })
115
+ .instruction());
116
+ }
117
+ if (argv.resetSubDaoRecord) {
118
+ console.log("resetting subdao maxVoterWeightRecord");
119
+ const dntMint = new web3_js_1.PublicKey(argv.dntMint);
120
+ const subDao = (0, helium_sub_daos_sdk_1.subDaoKey)(dntMint)[0];
121
+ const subDaoAcc = yield hsdProgram.account.subDaoV0.fetch(subDao);
122
+ instructions.push(yield hvsrProgram.methods
123
+ .updateMaxVoterWeightV0()
124
+ .accounts({
125
+ registrar: subDaoAcc.registrar,
126
+ realmGoverningTokenMint: dntMint,
127
+ })
128
+ .instruction());
129
+ }
130
+ yield (0, utils_1.sendInstructionsOrSquads)({
131
+ provider,
132
+ instructions,
133
+ executeTransaction: argv.executeTransaction,
134
+ squads,
135
+ multisig: argv.multisig ? new web3_js_1.PublicKey(argv.multisig) : undefined,
136
+ authorityIndex: argv.authorityIndex,
137
+ signers: [],
138
+ });
139
+ });
140
+ }
141
+ exports.run = run;
142
+ //# sourceMappingURL=reset-vsr-max-voter-record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset-vsr-max-voter-record.js","sourceRoot":"","sources":["../../src/reset-vsr-max-voter-record.ts"],"names":[],"mappings":"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"}