@helium/helium-admin-cli 0.2.20 → 0.2.22-next.33

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 (284) hide show
  1. package/package.json +25 -25
  2. package/lib/cjs/approve-carrier.js +0 -119
  3. package/lib/cjs/approve-carrier.js.map +0 -1
  4. package/lib/cjs/approve-program.js +0 -121
  5. package/lib/cjs/approve-program.js.map +0 -1
  6. package/lib/cjs/claim-rewards.js +0 -109
  7. package/lib/cjs/claim-rewards.js.map +0 -1
  8. package/lib/cjs/close-buffers.js +0 -131
  9. package/lib/cjs/close-buffers.js.map +0 -1
  10. package/lib/cjs/close-canopy.js +0 -104
  11. package/lib/cjs/close-canopy.js.map +0 -1
  12. package/lib/cjs/correct-router-dc.js +0 -149
  13. package/lib/cjs/correct-router-dc.js.map +0 -1
  14. package/lib/cjs/create-active-device-aggregator.js +0 -112
  15. package/lib/cjs/create-active-device-aggregator.js.map +0 -1
  16. package/lib/cjs/create-carrier.js +0 -202
  17. package/lib/cjs/create-carrier.js.map +0 -1
  18. package/lib/cjs/create-dao.js +0 -457
  19. package/lib/cjs/create-dao.js.map +0 -1
  20. package/lib/cjs/create-data-only-config.js +0 -174
  21. package/lib/cjs/create-data-only-config.js.map +0 -1
  22. package/lib/cjs/create-maker.js +0 -321
  23. package/lib/cjs/create-maker.js.map +0 -1
  24. package/lib/cjs/create-price-oracle.js +0 -127
  25. package/lib/cjs/create-price-oracle.js.map +0 -1
  26. package/lib/cjs/create-subdao.js +0 -527
  27. package/lib/cjs/create-subdao.js.map +0 -1
  28. package/lib/cjs/distribute-hst.js +0 -94
  29. package/lib/cjs/distribute-hst.js.map +0 -1
  30. package/lib/cjs/distribute-iot-operations-fund.js +0 -110
  31. package/lib/cjs/distribute-iot-operations-fund.js.map +0 -1
  32. package/lib/cjs/ecc-gen.js +0 -17
  33. package/lib/cjs/ecc-gen.js.map +0 -1
  34. package/lib/cjs/end-epoch.js +0 -144
  35. package/lib/cjs/end-epoch.js.map +0 -1
  36. package/lib/cjs/issue-iot-operations-fund.js +0 -122
  37. package/lib/cjs/issue-iot-operations-fund.js.map +0 -1
  38. package/lib/cjs/issue-test-hotspot.js +0 -111
  39. package/lib/cjs/issue-test-hotspot.js.map +0 -1
  40. package/lib/cjs/log-coingecko-price.js +0 -32
  41. package/lib/cjs/log-coingecko-price.js.map +0 -1
  42. package/lib/cjs/log-hotspot.js +0 -103
  43. package/lib/cjs/log-hotspot.js.map +0 -1
  44. package/lib/cjs/log-router-balance.js +0 -89
  45. package/lib/cjs/log-router-balance.js.map +0 -1
  46. package/lib/cjs/log-treasury-price.js +0 -105
  47. package/lib/cjs/log-treasury-price.js.map +0 -1
  48. package/lib/cjs/mint-dc.js +0 -111
  49. package/lib/cjs/mint-dc.js.map +0 -1
  50. package/lib/cjs/repair-iot-operations-fund.js +0 -113
  51. package/lib/cjs/repair-iot-operations-fund.js.map +0 -1
  52. package/lib/cjs/reset-clockwork.js +0 -143
  53. package/lib/cjs/reset-clockwork.js.map +0 -1
  54. package/lib/cjs/reset-vsr-max-voter-record.js +0 -144
  55. package/lib/cjs/reset-vsr-max-voter-record.js.map +0 -1
  56. package/lib/cjs/reset-vsr-voting-mint.js +0 -181
  57. package/lib/cjs/reset-vsr-voting-mint.js.map +0 -1
  58. package/lib/cjs/setup-hst.js +0 -260
  59. package/lib/cjs/setup-hst.js.map +0 -1
  60. package/lib/cjs/submit-price.js +0 -159
  61. package/lib/cjs/submit-price.js.map +0 -1
  62. package/lib/cjs/sum-tokens.js +0 -84
  63. package/lib/cjs/sum-tokens.js.map +0 -1
  64. package/lib/cjs/take-snapshot.js +0 -70
  65. package/lib/cjs/take-snapshot.js.map +0 -1
  66. package/lib/cjs/update-account-circuit-breaker.js +0 -129
  67. package/lib/cjs/update-account-circuit-breaker.js.map +0 -1
  68. package/lib/cjs/update-aggregator.js +0 -115
  69. package/lib/cjs/update-aggregator.js.map +0 -1
  70. package/lib/cjs/update-dao.js +0 -156
  71. package/lib/cjs/update-dao.js.map +0 -1
  72. package/lib/cjs/update-data-credits.js +0 -127
  73. package/lib/cjs/update-data-credits.js.map +0 -1
  74. package/lib/cjs/update-delegated-dc-subdao.js +0 -135
  75. package/lib/cjs/update-delegated-dc-subdao.js.map +0 -1
  76. package/lib/cjs/update-iot-operations-fund-metadata.js +0 -123
  77. package/lib/cjs/update-iot-operations-fund-metadata.js.map +0 -1
  78. package/lib/cjs/update-lazy-distributor.js +0 -137
  79. package/lib/cjs/update-lazy-distributor.js.map +0 -1
  80. package/lib/cjs/update-lazy-transactions.js +0 -116
  81. package/lib/cjs/update-lazy-transactions.js.map +0 -1
  82. package/lib/cjs/update-mint-circuit-breaker.js +0 -131
  83. package/lib/cjs/update-mint-circuit-breaker.js.map +0 -1
  84. package/lib/cjs/update-registrar-authorities.js +0 -92
  85. package/lib/cjs/update-registrar-authorities.js.map +0 -1
  86. package/lib/cjs/update-rewardable-entity-config.js +0 -154
  87. package/lib/cjs/update-rewardable-entity-config.js.map +0 -1
  88. package/lib/cjs/update-subdao-vehnt.js +0 -294
  89. package/lib/cjs/update-subdao-vehnt.js.map +0 -1
  90. package/lib/cjs/update-subdao.js +0 -251
  91. package/lib/cjs/update-subdao.js.map +0 -1
  92. package/lib/cjs/upgrade-idl.js +0 -108
  93. package/lib/cjs/upgrade-idl.js.map +0 -1
  94. package/lib/cjs/utils.js +0 -457
  95. package/lib/cjs/utils.js.map +0 -1
  96. package/lib/esm/src/approve-carrier.js +0 -78
  97. package/lib/esm/src/approve-carrier.js.map +0 -1
  98. package/lib/esm/src/approve-program.js +0 -80
  99. package/lib/esm/src/approve-program.js.map +0 -1
  100. package/lib/esm/src/claim-rewards.js +0 -68
  101. package/lib/esm/src/claim-rewards.js.map +0 -1
  102. package/lib/esm/src/close-buffers.js +0 -90
  103. package/lib/esm/src/close-buffers.js.map +0 -1
  104. package/lib/esm/src/close-canopy.js +0 -63
  105. package/lib/esm/src/close-canopy.js.map +0 -1
  106. package/lib/esm/src/correct-router-dc.js +0 -108
  107. package/lib/esm/src/correct-router-dc.js.map +0 -1
  108. package/lib/esm/src/create-active-device-aggregator.js +0 -71
  109. package/lib/esm/src/create-active-device-aggregator.js.map +0 -1
  110. package/lib/esm/src/create-carrier.js +0 -161
  111. package/lib/esm/src/create-carrier.js.map +0 -1
  112. package/lib/esm/src/create-dao.js +0 -414
  113. package/lib/esm/src/create-dao.js.map +0 -1
  114. package/lib/esm/src/create-data-only-config.js +0 -131
  115. package/lib/esm/src/create-data-only-config.js.map +0 -1
  116. package/lib/esm/src/create-maker.js +0 -280
  117. package/lib/esm/src/create-maker.js.map +0 -1
  118. package/lib/esm/src/create-price-oracle.js +0 -86
  119. package/lib/esm/src/create-price-oracle.js.map +0 -1
  120. package/lib/esm/src/create-subdao.js +0 -486
  121. package/lib/esm/src/create-subdao.js.map +0 -1
  122. package/lib/esm/src/distribute-hst.js +0 -53
  123. package/lib/esm/src/distribute-hst.js.map +0 -1
  124. package/lib/esm/src/distribute-iot-operations-fund.js +0 -69
  125. package/lib/esm/src/distribute-iot-operations-fund.js.map +0 -1
  126. package/lib/esm/src/ecc-gen.js +0 -6
  127. package/lib/esm/src/ecc-gen.js.map +0 -1
  128. package/lib/esm/src/end-epoch.js +0 -103
  129. package/lib/esm/src/end-epoch.js.map +0 -1
  130. package/lib/esm/src/issue-iot-operations-fund.js +0 -81
  131. package/lib/esm/src/issue-iot-operations-fund.js.map +0 -1
  132. package/lib/esm/src/issue-test-hotspot.js +0 -70
  133. package/lib/esm/src/issue-test-hotspot.js.map +0 -1
  134. package/lib/esm/src/log-coingecko-price.js +0 -14
  135. package/lib/esm/src/log-coingecko-price.js.map +0 -1
  136. package/lib/esm/src/log-hotspot.js +0 -62
  137. package/lib/esm/src/log-hotspot.js.map +0 -1
  138. package/lib/esm/src/log-router-balance.js +0 -48
  139. package/lib/esm/src/log-router-balance.js.map +0 -1
  140. package/lib/esm/src/log-treasury-price.js +0 -64
  141. package/lib/esm/src/log-treasury-price.js.map +0 -1
  142. package/lib/esm/src/mint-dc.js +0 -70
  143. package/lib/esm/src/mint-dc.js.map +0 -1
  144. package/lib/esm/src/repair-iot-operations-fund.js +0 -72
  145. package/lib/esm/src/repair-iot-operations-fund.js.map +0 -1
  146. package/lib/esm/src/reset-clockwork.js +0 -102
  147. package/lib/esm/src/reset-clockwork.js.map +0 -1
  148. package/lib/esm/src/reset-vsr-max-voter-record.js +0 -103
  149. package/lib/esm/src/reset-vsr-max-voter-record.js.map +0 -1
  150. package/lib/esm/src/reset-vsr-voting-mint.js +0 -140
  151. package/lib/esm/src/reset-vsr-voting-mint.js.map +0 -1
  152. package/lib/esm/src/setup-hst.js +0 -217
  153. package/lib/esm/src/setup-hst.js.map +0 -1
  154. package/lib/esm/src/submit-price.js +0 -113
  155. package/lib/esm/src/submit-price.js.map +0 -1
  156. package/lib/esm/src/sum-tokens.js +0 -43
  157. package/lib/esm/src/sum-tokens.js.map +0 -1
  158. package/lib/esm/src/take-snapshot.js +0 -29
  159. package/lib/esm/src/take-snapshot.js.map +0 -1
  160. package/lib/esm/src/update-account-circuit-breaker.js +0 -88
  161. package/lib/esm/src/update-account-circuit-breaker.js.map +0 -1
  162. package/lib/esm/src/update-aggregator.js +0 -74
  163. package/lib/esm/src/update-aggregator.js.map +0 -1
  164. package/lib/esm/src/update-dao.js +0 -115
  165. package/lib/esm/src/update-dao.js.map +0 -1
  166. package/lib/esm/src/update-data-credits.js +0 -86
  167. package/lib/esm/src/update-data-credits.js.map +0 -1
  168. package/lib/esm/src/update-delegated-dc-subdao.js +0 -94
  169. package/lib/esm/src/update-delegated-dc-subdao.js.map +0 -1
  170. package/lib/esm/src/update-iot-operations-fund-metadata.js +0 -82
  171. package/lib/esm/src/update-iot-operations-fund-metadata.js.map +0 -1
  172. package/lib/esm/src/update-lazy-distributor.js +0 -96
  173. package/lib/esm/src/update-lazy-distributor.js.map +0 -1
  174. package/lib/esm/src/update-lazy-transactions.js +0 -75
  175. package/lib/esm/src/update-lazy-transactions.js.map +0 -1
  176. package/lib/esm/src/update-mint-circuit-breaker.js +0 -90
  177. package/lib/esm/src/update-mint-circuit-breaker.js.map +0 -1
  178. package/lib/esm/src/update-registrar-authorities.js +0 -51
  179. package/lib/esm/src/update-registrar-authorities.js.map +0 -1
  180. package/lib/esm/src/update-rewardable-entity-config.js +0 -113
  181. package/lib/esm/src/update-rewardable-entity-config.js.map +0 -1
  182. package/lib/esm/src/update-subdao-vehnt.js +0 -253
  183. package/lib/esm/src/update-subdao-vehnt.js.map +0 -1
  184. package/lib/esm/src/update-subdao.js +0 -210
  185. package/lib/esm/src/update-subdao.js.map +0 -1
  186. package/lib/esm/src/upgrade-idl.js +0 -67
  187. package/lib/esm/src/upgrade-idl.js.map +0 -1
  188. package/lib/esm/src/utils.js +0 -392
  189. package/lib/esm/src/utils.js.map +0 -1
  190. package/lib/esm/tsconfig.esm.tsbuildinfo +0 -1
  191. package/lib/types/src/approve-carrier.d.ts +0 -2
  192. package/lib/types/src/approve-carrier.d.ts.map +0 -1
  193. package/lib/types/src/approve-program.d.ts +0 -2
  194. package/lib/types/src/approve-program.d.ts.map +0 -1
  195. package/lib/types/src/claim-rewards.d.ts +0 -2
  196. package/lib/types/src/claim-rewards.d.ts.map +0 -1
  197. package/lib/types/src/close-buffers.d.ts +0 -2
  198. package/lib/types/src/close-buffers.d.ts.map +0 -1
  199. package/lib/types/src/close-canopy.d.ts +0 -2
  200. package/lib/types/src/close-canopy.d.ts.map +0 -1
  201. package/lib/types/src/correct-router-dc.d.ts +0 -2
  202. package/lib/types/src/correct-router-dc.d.ts.map +0 -1
  203. package/lib/types/src/create-active-device-aggregator.d.ts +0 -2
  204. package/lib/types/src/create-active-device-aggregator.d.ts.map +0 -1
  205. package/lib/types/src/create-carrier.d.ts +0 -2
  206. package/lib/types/src/create-carrier.d.ts.map +0 -1
  207. package/lib/types/src/create-dao.d.ts +0 -2
  208. package/lib/types/src/create-dao.d.ts.map +0 -1
  209. package/lib/types/src/create-data-only-config.d.ts +0 -2
  210. package/lib/types/src/create-data-only-config.d.ts.map +0 -1
  211. package/lib/types/src/create-maker.d.ts +0 -2
  212. package/lib/types/src/create-maker.d.ts.map +0 -1
  213. package/lib/types/src/create-price-oracle.d.ts +0 -2
  214. package/lib/types/src/create-price-oracle.d.ts.map +0 -1
  215. package/lib/types/src/create-subdao.d.ts +0 -2
  216. package/lib/types/src/create-subdao.d.ts.map +0 -1
  217. package/lib/types/src/distribute-hst.d.ts +0 -2
  218. package/lib/types/src/distribute-hst.d.ts.map +0 -1
  219. package/lib/types/src/distribute-iot-operations-fund.d.ts +0 -2
  220. package/lib/types/src/distribute-iot-operations-fund.d.ts.map +0 -1
  221. package/lib/types/src/ecc-gen.d.ts +0 -2
  222. package/lib/types/src/ecc-gen.d.ts.map +0 -1
  223. package/lib/types/src/end-epoch.d.ts +0 -2
  224. package/lib/types/src/end-epoch.d.ts.map +0 -1
  225. package/lib/types/src/issue-iot-operations-fund.d.ts +0 -2
  226. package/lib/types/src/issue-iot-operations-fund.d.ts.map +0 -1
  227. package/lib/types/src/issue-test-hotspot.d.ts +0 -2
  228. package/lib/types/src/issue-test-hotspot.d.ts.map +0 -1
  229. package/lib/types/src/log-coingecko-price.d.ts +0 -2
  230. package/lib/types/src/log-coingecko-price.d.ts.map +0 -1
  231. package/lib/types/src/log-hotspot.d.ts +0 -2
  232. package/lib/types/src/log-hotspot.d.ts.map +0 -1
  233. package/lib/types/src/log-router-balance.d.ts +0 -2
  234. package/lib/types/src/log-router-balance.d.ts.map +0 -1
  235. package/lib/types/src/log-treasury-price.d.ts +0 -2
  236. package/lib/types/src/log-treasury-price.d.ts.map +0 -1
  237. package/lib/types/src/mint-dc.d.ts +0 -2
  238. package/lib/types/src/mint-dc.d.ts.map +0 -1
  239. package/lib/types/src/repair-iot-operations-fund.d.ts +0 -2
  240. package/lib/types/src/repair-iot-operations-fund.d.ts.map +0 -1
  241. package/lib/types/src/reset-clockwork.d.ts +0 -2
  242. package/lib/types/src/reset-clockwork.d.ts.map +0 -1
  243. package/lib/types/src/reset-vsr-max-voter-record.d.ts +0 -2
  244. package/lib/types/src/reset-vsr-max-voter-record.d.ts.map +0 -1
  245. package/lib/types/src/reset-vsr-voting-mint.d.ts +0 -2
  246. package/lib/types/src/reset-vsr-voting-mint.d.ts.map +0 -1
  247. package/lib/types/src/setup-hst.d.ts +0 -4
  248. package/lib/types/src/setup-hst.d.ts.map +0 -1
  249. package/lib/types/src/submit-price.d.ts +0 -3
  250. package/lib/types/src/submit-price.d.ts.map +0 -1
  251. package/lib/types/src/sum-tokens.d.ts +0 -2
  252. package/lib/types/src/sum-tokens.d.ts.map +0 -1
  253. package/lib/types/src/take-snapshot.d.ts +0 -2
  254. package/lib/types/src/take-snapshot.d.ts.map +0 -1
  255. package/lib/types/src/update-account-circuit-breaker.d.ts +0 -2
  256. package/lib/types/src/update-account-circuit-breaker.d.ts.map +0 -1
  257. package/lib/types/src/update-aggregator.d.ts +0 -2
  258. package/lib/types/src/update-aggregator.d.ts.map +0 -1
  259. package/lib/types/src/update-dao.d.ts +0 -2
  260. package/lib/types/src/update-dao.d.ts.map +0 -1
  261. package/lib/types/src/update-data-credits.d.ts +0 -2
  262. package/lib/types/src/update-data-credits.d.ts.map +0 -1
  263. package/lib/types/src/update-delegated-dc-subdao.d.ts +0 -2
  264. package/lib/types/src/update-delegated-dc-subdao.d.ts.map +0 -1
  265. package/lib/types/src/update-iot-operations-fund-metadata.d.ts +0 -2
  266. package/lib/types/src/update-iot-operations-fund-metadata.d.ts.map +0 -1
  267. package/lib/types/src/update-lazy-distributor.d.ts +0 -2
  268. package/lib/types/src/update-lazy-distributor.d.ts.map +0 -1
  269. package/lib/types/src/update-lazy-transactions.d.ts +0 -2
  270. package/lib/types/src/update-lazy-transactions.d.ts.map +0 -1
  271. package/lib/types/src/update-mint-circuit-breaker.d.ts +0 -2
  272. package/lib/types/src/update-mint-circuit-breaker.d.ts.map +0 -1
  273. package/lib/types/src/update-registrar-authorities.d.ts +0 -2
  274. package/lib/types/src/update-registrar-authorities.d.ts.map +0 -1
  275. package/lib/types/src/update-rewardable-entity-config.d.ts +0 -2
  276. package/lib/types/src/update-rewardable-entity-config.d.ts.map +0 -1
  277. package/lib/types/src/update-subdao-vehnt.d.ts +0 -2
  278. package/lib/types/src/update-subdao-vehnt.d.ts.map +0 -1
  279. package/lib/types/src/update-subdao.d.ts +0 -2
  280. package/lib/types/src/update-subdao.d.ts.map +0 -1
  281. package/lib/types/src/upgrade-idl.d.ts +0 -2
  282. package/lib/types/src/upgrade-idl.d.ts.map +0 -1
  283. package/lib/types/src/utils.d.ts +0 -59
  284. package/lib/types/src/utils.d.ts.map +0 -1
@@ -1,102 +0,0 @@
1
- import * as anchor from "@coral-xyz/anchor";
2
- import { daoKey, init as initDao, subDaoKey } from "@helium/helium-sub-daos-sdk";
3
- import { PublicKey } from "@solana/web3.js";
4
- import Squads from "@sqds/sdk";
5
- import os from "os";
6
- import yargs from "yargs/yargs";
7
- import { sendInstructionsOrSquads } from "./utils";
8
- export async function run(args = process.argv) {
9
- const yarg = yargs(args).options({
10
- wallet: {
11
- alias: "k",
12
- describe: "Anchor wallet keypair",
13
- default: `${os.homedir()}/.config/solana/id.json`,
14
- },
15
- url: {
16
- alias: "u",
17
- default: "http://127.0.0.1:8899",
18
- describe: "The solana url",
19
- },
20
- hntMint: {
21
- type: "string",
22
- describe: "Mint of the HNT token. Only used if --resetDaoThread flag is set",
23
- },
24
- dntMint: {
25
- type: "string",
26
- describe: "Mint of the subdao token. Only used if --resetSubDaoThread flag is set",
27
- },
28
- resetDaoThread: {
29
- type: "boolean",
30
- describe: "Reset the dao clockwork thread",
31
- default: false,
32
- },
33
- resetSubDaoThread: {
34
- type: "boolean",
35
- describe: "Reset the subdao clockwork thread",
36
- default: false,
37
- },
38
- executeTransaction: {
39
- type: "boolean",
40
- },
41
- multisig: {
42
- type: "string",
43
- describe: "Address of the squads multisig to be authority. If not provided, your wallet will be the authority",
44
- },
45
- authorityIndex: {
46
- type: "number",
47
- describe: "Authority index for squads. Defaults to 1",
48
- default: 1,
49
- },
50
- });
51
- const argv = await yarg.argv;
52
- process.env.ANCHOR_WALLET = argv.wallet;
53
- process.env.ANCHOR_PROVIDER_URL = argv.url;
54
- anchor.setProvider(anchor.AnchorProvider.local(argv.url));
55
- if (argv.resetSubDaoThread && !argv.dntMint) {
56
- console.log("dnt mint not provided");
57
- return;
58
- }
59
- const provider = anchor.getProvider();
60
- const hsdProgram = await initDao(provider);
61
- const instructions = [];
62
- const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet, {
63
- commitmentOrConfig: "finalized"
64
- });
65
- if (argv.resetDaoThread) {
66
- console.log("resetting dao thread");
67
- const hntMint = new PublicKey(argv.hntMint);
68
- const dao = daoKey(hntMint)[0];
69
- const daoAcc = await hsdProgram.account.daoV0.fetch(dao);
70
- instructions.push(await hsdProgram.methods
71
- .resetDaoThreadV0()
72
- .accounts({
73
- dao,
74
- authority: daoAcc.authority,
75
- })
76
- .instruction());
77
- }
78
- if (argv.resetSubDaoThread) {
79
- console.log("resetting subdao thread");
80
- const dntMint = new PublicKey(argv.dntMint);
81
- const subDao = subDaoKey(dntMint)[0];
82
- const subdaoAcc = await hsdProgram.account.subDaoV0.fetch(subDao);
83
- instructions.push(await hsdProgram.methods
84
- .resetSubDaoThreadV0()
85
- .accounts({
86
- subDao,
87
- authority: subdaoAcc.authority,
88
- threadPayer: subdaoAcc.authority,
89
- })
90
- .instruction());
91
- }
92
- await sendInstructionsOrSquads({
93
- provider,
94
- instructions,
95
- executeTransaction: argv.executeTransaction,
96
- squads,
97
- multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
98
- authorityIndex: argv.authorityIndex,
99
- signers: [],
100
- });
101
- }
102
- //# sourceMappingURL=reset-clockwork.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reset-clockwork.js","sourceRoot":"","sources":["../../../src/reset-clockwork.ts"],"names":[],"mappings":"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"}
@@ -1,103 +0,0 @@
1
- import * as anchor from "@coral-xyz/anchor";
2
- import { daoKey, init as initDao, subDaoKey, } from "@helium/helium-sub-daos-sdk";
3
- import { init as initVsr } from "@helium/voter-stake-registry-sdk";
4
- import { PublicKey } from "@solana/web3.js";
5
- import Squads from "@sqds/sdk";
6
- import os from "os";
7
- import yargs from "yargs/yargs";
8
- import { sendInstructionsOrSquads } from "./utils";
9
- export async function run(args = process.argv) {
10
- const yarg = yargs(args).options({
11
- wallet: {
12
- alias: "k",
13
- describe: "Anchor wallet keypair",
14
- default: `${os.homedir()}/.config/solana/id.json`,
15
- },
16
- url: {
17
- alias: "u",
18
- default: "http://127.0.0.1:8899",
19
- describe: "The solana url",
20
- },
21
- hntMint: {
22
- type: "string",
23
- describe: "Mint of the HNT token. Only used if --resetDaoRecord flag is set",
24
- },
25
- dntMint: {
26
- type: "string",
27
- describe: "Mint of the subdao token. Only used if --resetSubDaoRecord flag is set",
28
- },
29
- resetDaoRecord: {
30
- type: "boolean",
31
- describe: "Reset the dao max vote weight record",
32
- default: false,
33
- },
34
- resetSubDaoRecord: {
35
- type: "boolean",
36
- describe: "Reset the subdao max vote weight record",
37
- default: false,
38
- },
39
- executeTransaction: {
40
- type: "boolean",
41
- },
42
- multisig: {
43
- type: "string",
44
- describe: "Address of the squads multisig to be authority. If not provided, your wallet will be the authority",
45
- },
46
- authorityIndex: {
47
- type: "number",
48
- describe: "Authority index for squads. Defaults to 1",
49
- default: 1,
50
- },
51
- });
52
- const argv = await yarg.argv;
53
- process.env.ANCHOR_WALLET = argv.wallet;
54
- process.env.ANCHOR_PROVIDER_URL = argv.url;
55
- anchor.setProvider(anchor.AnchorProvider.local(argv.url));
56
- if (argv.resetSubDaoRecord && !argv.dntMint) {
57
- console.log("dnt mint not provided");
58
- return;
59
- }
60
- const provider = anchor.getProvider();
61
- const hsdProgram = await initDao(provider);
62
- const hvsrProgram = await initVsr(provider);
63
- const instructions = [];
64
- const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet, {
65
- commitmentOrConfig: "finalized"
66
- });
67
- if (argv.resetDaoRecord) {
68
- console.log("resetting dao maxVoterWeightRecord");
69
- const hntMint = new PublicKey(argv.hntMint);
70
- const dao = daoKey(hntMint)[0];
71
- const daoAcc = await hsdProgram.account.daoV0.fetch(dao);
72
- instructions.push(await hvsrProgram.methods
73
- .updateMaxVoterWeightV0()
74
- .accounts({
75
- registrar: daoAcc.registrar,
76
- realmGoverningTokenMint: hntMint,
77
- })
78
- .instruction());
79
- }
80
- if (argv.resetSubDaoRecord) {
81
- console.log("resetting subdao maxVoterWeightRecord");
82
- const dntMint = new PublicKey(argv.dntMint);
83
- const subDao = subDaoKey(dntMint)[0];
84
- const subDaoAcc = await hsdProgram.account.subDaoV0.fetch(subDao);
85
- instructions.push(await hvsrProgram.methods
86
- .updateMaxVoterWeightV0()
87
- .accounts({
88
- registrar: subDaoAcc.registrar,
89
- realmGoverningTokenMint: dntMint,
90
- })
91
- .instruction());
92
- }
93
- await sendInstructionsOrSquads({
94
- provider,
95
- instructions,
96
- executeTransaction: argv.executeTransaction,
97
- squads,
98
- multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
99
- authorityIndex: argv.authorityIndex,
100
- signers: [],
101
- });
102
- }
103
- //# sourceMappingURL=reset-vsr-max-voter-record.js.map
@@ -1 +0,0 @@
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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"}
@@ -1,140 +0,0 @@
1
- import * as anchor from "@coral-xyz/anchor";
2
- import { daoKey, init as initDao, subDaoKey, } from "@helium/helium-sub-daos-sdk";
3
- import { init as initVsr } from "@helium/voter-stake-registry-sdk";
4
- import { PublicKey } from "@solana/web3.js";
5
- import Squads from "@sqds/sdk";
6
- import os from "os";
7
- import yargs from "yargs/yargs";
8
- import { getTimestampFromDays, getUnixTimestamp, sendInstructionsOrSquads, } from "./utils";
9
- const SECS_PER_DAY = 86400;
10
- const SECS_PER_YEAR = 365 * SECS_PER_DAY;
11
- const MAX_LOCKUP = 4 * SECS_PER_YEAR;
12
- export async function run(args = process.argv) {
13
- const yarg = yargs(args).options({
14
- wallet: {
15
- alias: "k",
16
- describe: "Anchor wallet keypair",
17
- default: `${os.homedir()}/.config/solana/id.json`,
18
- },
19
- url: {
20
- alias: "u",
21
- default: "http://127.0.0.1:8899",
22
- describe: "The solana url",
23
- },
24
- hntMint: {
25
- type: "string",
26
- describe: "Mint of the HNT token. Only used if --resetDaoVotingMint flag is set",
27
- },
28
- dntMint: {
29
- type: "string",
30
- describe: "Mint of the subdao token. Only used if --resetSubDaoVotingMint flag is set",
31
- },
32
- resetDaoVotingMint: {
33
- type: "boolean",
34
- describe: "Reset the dao voting mint",
35
- default: false,
36
- },
37
- resetSubDaoVotingMint: {
38
- type: "boolean",
39
- describe: "Reset the subdao voting mint",
40
- default: false,
41
- },
42
- executeTransaction: {
43
- type: "boolean",
44
- },
45
- multisig: {
46
- type: "string",
47
- describe: "Address of the squads multisig to be authority. If not provided, your wallet will be the authority",
48
- },
49
- authorityIndex: {
50
- type: "number",
51
- describe: "Authority index for squads. Defaults to 1",
52
- default: 1,
53
- },
54
- });
55
- const argv = await yarg.argv;
56
- process.env.ANCHOR_WALLET = argv.wallet;
57
- process.env.ANCHOR_PROVIDER_URL = argv.url;
58
- anchor.setProvider(anchor.AnchorProvider.local(argv.url));
59
- if (argv.resetSubDaoVotingMint && !argv.dntMint) {
60
- console.log("dnt mint not provided");
61
- return;
62
- }
63
- const provider = anchor.getProvider();
64
- const hsdProgram = await initDao(provider);
65
- const hvsrProgram = await initVsr(provider);
66
- const now = Number(await getUnixTimestamp(provider));
67
- const in7Days = now + getTimestampFromDays(7);
68
- const instructions = [];
69
- const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet, {
70
- commitmentOrConfig: "finalized"
71
- });
72
- if (argv.resetDaoVotingMint) {
73
- console.log("resetting dao votingMint");
74
- const hntMint = new PublicKey(argv.hntMint);
75
- const dao = daoKey(hntMint)[0];
76
- const daoAcc = await hsdProgram.account.daoV0.fetch(dao);
77
- instructions.push(await hvsrProgram.methods
78
- .configureVotingMintV0({
79
- idx: 0,
80
- digitShift: 0,
81
- baselineVoteWeightScaledFactor: new anchor.BN(0 * 1e9),
82
- maxExtraLockupVoteWeightScaledFactor: new anchor.BN(100 * 1e9),
83
- lockupSaturationSecs: new anchor.BN(MAX_LOCKUP),
84
- genesisVotePowerMultiplier: 3,
85
- genesisVotePowerMultiplierExpirationTs: new anchor.BN(in7Days),
86
- })
87
- .accounts({
88
- registrar: daoAcc.registrar,
89
- realmAuthority: daoAcc.authority,
90
- mint: hntMint,
91
- })
92
- .remainingAccounts([
93
- {
94
- pubkey: hntMint,
95
- isSigner: false,
96
- isWritable: false,
97
- },
98
- ])
99
- .instruction());
100
- }
101
- if (argv.resetSubDaoVotingMint) {
102
- console.log("resetting subdao votingMint");
103
- const dntMint = new PublicKey(argv.dntMint);
104
- const subDao = subDaoKey(dntMint)[0];
105
- const subdaoAcc = await hsdProgram.account.subDaoV0.fetch(subDao);
106
- instructions.push(await hvsrProgram.methods
107
- .configureVotingMintV0({
108
- idx: 0,
109
- digitShift: -1,
110
- baselineVoteWeightScaledFactor: new anchor.BN(0 * 1e9),
111
- maxExtraLockupVoteWeightScaledFactor: new anchor.BN(100 * 1e9),
112
- lockupSaturationSecs: new anchor.BN(MAX_LOCKUP),
113
- genesisVotePowerMultiplier: 1,
114
- genesisVotePowerMultiplierExpirationTs: new anchor.BN(now),
115
- })
116
- .accounts({
117
- registrar: subdaoAcc.registrar,
118
- mint: dntMint,
119
- realmAuthority: subdaoAcc.authority,
120
- })
121
- .remainingAccounts([
122
- {
123
- pubkey: dntMint,
124
- isSigner: false,
125
- isWritable: false,
126
- },
127
- ])
128
- .instruction());
129
- }
130
- await sendInstructionsOrSquads({
131
- provider,
132
- instructions,
133
- executeTransaction: argv.executeTransaction,
134
- squads,
135
- multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
136
- authorityIndex: argv.authorityIndex,
137
- signers: [],
138
- });
139
- }
140
- //# sourceMappingURL=reset-vsr-voting-mint.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reset-vsr-voting-mint.js","sourceRoot":"","sources":["../../../src/reset-vsr-voting-mint.ts"],"names":[],"mappings":"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"}
@@ -1,217 +0,0 @@
1
- import { ClockworkProvider, parseTransactionInstructions } from "@clockwork-xyz/sdk";
2
- import * as anchor from "@coral-xyz/anchor";
3
- import Address from "@helium/address";
4
- import { ED25519_KEY_TYPE } from "@helium/address/build/KeyTypes";
5
- import { fanoutKey, init, membershipVoucherKey } from "@helium/fanout-sdk";
6
- import { createMintInstructions, sendInstructions } from "@helium/spl-utils";
7
- import { createAssociatedTokenAccountIdempotentInstruction, getAccount, getAssociatedTokenAddressSync } from "@solana/spl-token";
8
- import { ComputeBudgetProgram, Keypair, PublicKey } from "@solana/web3.js";
9
- import Squads from "@sqds/sdk";
10
- import { loadKeypair } from "@switchboard-xyz/solana.js";
11
- import fs from "fs";
12
- import os from "os";
13
- import yargs from "yargs/yargs";
14
- import { createAndMint, exists } from "./utils";
15
- export async function run(args = process.argv) {
16
- const yarg = yargs(args).options({
17
- wallet: {
18
- alias: "k",
19
- describe: "Anchor wallet keypair",
20
- default: `${os.homedir()}/.config/solana/id.json`,
21
- },
22
- url: {
23
- alias: "u",
24
- default: "http://127.0.0.1:8899",
25
- describe: "The solana url",
26
- },
27
- hnt: {
28
- type: "string",
29
- describe: "Pubkey of hnt",
30
- required: true,
31
- },
32
- state: {
33
- type: "string",
34
- alias: "s",
35
- default: `${__dirname}/../../migration-service/export.json`,
36
- },
37
- name: {
38
- type: "string",
39
- },
40
- multisig: {
41
- type: "string",
42
- describe: "Address of the squads multisig to control the dao. If not provided, your wallet will be the authority",
43
- },
44
- authorityIndex: {
45
- type: "number",
46
- describe: "Authority index for squads. Defaults to 1",
47
- default: 1,
48
- },
49
- hstKeypair: {
50
- type: "string",
51
- describe: "Keypair of the HST token",
52
- default: `${__dirname}/../keypairs/hst.json`,
53
- },
54
- hstReceiptBasePath: {
55
- type: "string",
56
- describe: "Keypair of the HST receipt token",
57
- default: `${__dirname}/../keypairs`
58
- },
59
- bucket: {
60
- type: "string",
61
- describe: "Bucket URL prefix holding all of the metadata jsons",
62
- default: "https://shdw-drive.genesysgo.net/6tcnBSybPG7piEDShBcrVtYJDPSvGrDbVvXmXKpzBvWP",
63
- },
64
- });
65
- const argv = await 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 hstKeypair = loadKeypair(argv.hstKeypair);
71
- let authority = provider.wallet.publicKey;
72
- let multisig = argv.multisig ? new PublicKey(argv.multisig) : null;
73
- const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet, {
74
- commitmentOrConfig: "finalized"
75
- });
76
- if (multisig) {
77
- authority = squads.getAuthorityPDA(multisig, argv.authorityIndex);
78
- }
79
- const state = JSON.parse(fs.readFileSync(argv.state).toString());
80
- const accounts = state.accounts;
81
- const hnt = new PublicKey(argv.hnt);
82
- const hst = hstKeypair.publicKey;
83
- const fanoutProgram = await init(provider);
84
- const totalHst = Object.values(accounts).reduce((acc, v) => {
85
- if (v.hst) {
86
- return acc.add(new anchor.BN(v.hst));
87
- }
88
- return acc;
89
- }, new anchor.BN(0));
90
- await createAndMint({
91
- provider,
92
- mintKeypair: hstKeypair,
93
- amount: totalHst.toNumber() / 10 ** 8,
94
- decimals: 8,
95
- metadataUrl: `${argv.bucket}/hst.json`,
96
- updateAuthority: authority,
97
- });
98
- const fanout = fanoutKey(argv.name)[0];
99
- const hntAccount = await getAssociatedTokenAddressSync(hnt, fanout, true);
100
- console.log("Outputting hnt to", hntAccount.toBase58());
101
- if (!(await exists(provider.connection, fanout))) {
102
- await fanoutProgram.methods
103
- .initializeFanoutV0({
104
- name: argv.name,
105
- })
106
- .preInstructions([
107
- ComputeBudgetProgram.setComputeUnitLimit({ units: 500000 }),
108
- ])
109
- .accounts({
110
- authority,
111
- membershipMint: hst,
112
- fanoutMint: hnt,
113
- })
114
- .rpc({ skipPreflight: true });
115
- }
116
- const clockworkProvider = new ClockworkProvider(provider.wallet, provider.connection);
117
- for (const [address, account] of Object.entries(accounts)) {
118
- if (!account.hst || account.hst === 0 || account.hst === "0") {
119
- continue;
120
- }
121
- let solAddress = toSolana(address);
122
- if (!solAddress) {
123
- throw new Error("HST Owner that doesn't have a sol address " + address);
124
- }
125
- const hstAmount = new anchor.BN(account.hst);
126
- let mint;
127
- const mintPath = `${argv.hstReceiptBasePath}/hst-receipt-${address}.json`;
128
- if (fs.existsSync(mintPath)) {
129
- mint = loadKeypair(mintPath);
130
- }
131
- else {
132
- mint = Keypair.generate();
133
- fs.writeFileSync(mintPath, JSON.stringify(Array.from(mint.secretKey)));
134
- }
135
- const ownerActual = (await provider.connection.getTokenLargestAccounts(mint.publicKey)).value[0]?.address;
136
- if (ownerActual && ownerActual.toBase58() !== solAddress.toBase58()) {
137
- const acc = await getAccount(provider.connection, ownerActual);
138
- console.log("Found diff address", solAddress.toBase58(), acc.owner.toBase58());
139
- solAddress = acc.owner;
140
- }
141
- const [voucher] = membershipVoucherKey(mint.publicKey);
142
- if (!(await exists(provider.connection, voucher))) {
143
- await fanoutProgram.methods
144
- .stakeV0({
145
- amount: hstAmount,
146
- })
147
- .preInstructions(await createMintInstructions(provider, 0, voucher, voucher, mint))
148
- .accounts({
149
- recipient: solAddress,
150
- fanout,
151
- mint: mint.publicKey
152
- })
153
- .signers([mint])
154
- .rpc({ skipPreflight: true });
155
- }
156
- // 2️⃣ Define a trigger condition.
157
- const trigger = {
158
- cron: {
159
- schedule: "0 30 0 * * * *",
160
- skippable: true,
161
- },
162
- };
163
- // 3️⃣ Create the thread.
164
- const threadId = `${argv.name}-${mint.publicKey.toBase58().slice(0, 8)}`;
165
- const [thread] = threadKey(provider.wallet.publicKey, threadId);
166
- console.log("Thread ID", threadId, thread.toBase58());
167
- const memberHntAccount = await getAssociatedTokenAddressSync(hnt, solAddress, true);
168
- if (!(await exists(provider.connection, memberHntAccount))) {
169
- await sendInstructions(provider, [
170
- createAssociatedTokenAccountIdempotentInstruction(provider.wallet.publicKey, memberHntAccount, solAddress, hnt),
171
- ]);
172
- }
173
- const distributeIx = await fanoutProgram.methods
174
- .distributeV0()
175
- .accounts({
176
- payer: new PublicKey("C1ockworkPayer11111111111111111111111111111"),
177
- fanout,
178
- owner: solAddress,
179
- mint: mint.publicKey
180
- })
181
- .instruction();
182
- if (!(await exists(provider.connection, thread))) {
183
- const tx = await clockworkProvider.threadCreate(provider.wallet.publicKey, // authority
184
- threadId, // id
185
- [distributeIx], // instructions
186
- trigger, // trigger
187
- anchor.web3.LAMPORTS_PER_SOL // amount
188
- );
189
- }
190
- else {
191
- await clockworkProvider.threadUpdate(provider.wallet.publicKey, thread, {
192
- instructions: await parseTransactionInstructions([distributeIx]),
193
- trigger,
194
- });
195
- await clockworkProvider.threadReset(provider.wallet.publicKey, thread);
196
- }
197
- }
198
- }
199
- function toSolana(address) {
200
- try {
201
- const addr = Address.fromB58(address);
202
- if (addr.keyType === ED25519_KEY_TYPE)
203
- return new PublicKey(addr.publicKey);
204
- }
205
- catch (e) {
206
- return undefined;
207
- }
208
- }
209
- const CLOCKWORK_PID = new PublicKey("CLoCKyJ6DXBJqqu2VWx9RLbgnwwR6BMHHuyasVmfMzBh");
210
- export function threadKey(authority, threadId, programId = CLOCKWORK_PID) {
211
- return PublicKey.findProgramAddressSync([
212
- Buffer.from("thread", "utf8"),
213
- authority.toBuffer(),
214
- Buffer.from(threadId, "utf8"),
215
- ], programId);
216
- }
217
- //# sourceMappingURL=setup-hst.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-hst.js","sourceRoot":"","sources":["../../../src/setup-hst.ts"],"names":[],"mappings":"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"}