@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,39 @@
1
+ import * as anchor from "@coral-xyz/anchor";
2
+ import { init as initHem, keyToAssetKey } from "@helium/helium-entity-manager-sdk";
3
+ import { daoKey } from "@helium/helium-sub-daos-sdk";
4
+ import { getAsset, HNT_MINT } from "@helium/spl-utils";
5
+ import { PublicKey } from "@solana/web3.js";
6
+ import os from "os";
7
+ import yargs from "yargs/yargs";
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
+ hotspotKey: {
21
+ type: "string",
22
+ describe: "Pubkey of the Data Credit token",
23
+ required: true,
24
+ },
25
+ });
26
+ const argv = await yarg.argv;
27
+ process.env.ANCHOR_WALLET = argv.wallet;
28
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
29
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
30
+ const provider = anchor.getProvider();
31
+ const hemProgram = await initHem(provider);
32
+ const [keyToAssetK] = keyToAssetKey(daoKey(HNT_MINT)[0], argv.hotspotKey);
33
+ const keyToAsset = await hemProgram.account.keyToAssetV0.fetch(keyToAssetK);
34
+ console.log("keyToAsset", keyToAssetK.toBase58());
35
+ PublicKey.prototype.toString = PublicKey.prototype.toBase58;
36
+ console.log(keyToAsset);
37
+ console.log(await getAsset(argv.url, keyToAsset.asset));
38
+ }
39
+ //# sourceMappingURL=log-hotspot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-hotspot.js","sourceRoot":"","sources":["../../../src/log-hotspot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,MAAM,aAAa,CAAC;AAEhC,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAY,OAAO,CAAC,IAAI;IAChD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QAC/B,MAAM,EAAE;YACN,KAAK,EAAE,GAAG;YACV,QAAQ,EAAE,uBAAuB;YACjC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,yBAAyB;SAClD;QACD,GAAG,EAAE;YACH,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,uBAAuB;YAChC,QAAQ,EAAE,gBAAgB;SAC3B;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,iCAAiC;YAC3C,QAAQ,EAAE,IAAI;SACf;KACF,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC;IAC3C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAA2B,CAAC;IAC/D,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3C,MAAM,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,SAAS,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;IAE5D,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxB,OAAO,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AACzD,CAAC"}
@@ -0,0 +1,71 @@
1
+ import { init as initDc } from "@helium/data-credits-sdk";
2
+ import { toBN } from "@helium/spl-utils";
3
+ import * as anchor from "@coral-xyz/anchor";
4
+ import { createAssociatedTokenAccountIdempotentInstruction, getAssociatedTokenAddress, getAssociatedTokenAddressSync } from "@solana/spl-token";
5
+ import { PublicKey } from "@solana/web3.js";
6
+ import os from "os";
7
+ import yargs from "yargs/yargs";
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
+ dcKey: {
21
+ type: "string",
22
+ describe: "Pubkey of the Data Credit token",
23
+ required: true,
24
+ },
25
+ numHnt: {
26
+ type: "number",
27
+ describe: "Number of HNT tokens to burn",
28
+ default: 1,
29
+ },
30
+ destination: {
31
+ type: "string",
32
+ describe: "The destination wallet for the dc",
33
+ alias: "d",
34
+ required: true,
35
+ },
36
+ });
37
+ const argv = await yarg.argv;
38
+ process.env.ANCHOR_WALLET = argv.wallet;
39
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
40
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
41
+ const provider = anchor.getProvider();
42
+ const dataCreditsProgram = await initDc(provider);
43
+ const dcKey = new PublicKey(argv.dcKey);
44
+ const destination = new PublicKey(argv.destination);
45
+ const destAta = await getAssociatedTokenAddress(dcKey, destination);
46
+ let preBalance = 0;
47
+ try {
48
+ preBalance = (await provider.connection.getTokenAccountBalance(destAta, "confirmed")).value.uiAmount;
49
+ }
50
+ catch (e) {
51
+ if (!e.toString().includes("Invalid param: could not find account")) {
52
+ throw e;
53
+ }
54
+ }
55
+ await dataCreditsProgram.methods
56
+ .mintDataCreditsV0({
57
+ hntAmount: toBN(argv.numHnt, 8),
58
+ dcAmount: null
59
+ })
60
+ .preInstructions([
61
+ await createAssociatedTokenAccountIdempotentInstruction(provider.wallet.publicKey, getAssociatedTokenAddressSync(dcKey, destination, true), destination, dcKey)
62
+ ])
63
+ .accounts({
64
+ dcMint: dcKey,
65
+ recipient: destination,
66
+ })
67
+ .rpc({ skipPreflight: true });
68
+ const postBalance = (await provider.connection.getTokenAccountBalance(destAta, "confirmed")).value.uiAmount;
69
+ console.log(`Burned ${argv.numHnt} HNT to mint ${postBalance - preBalance} DC`);
70
+ }
71
+ //# 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,100 @@
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
+ if (argv.resetDaoThread) {
64
+ console.log("resetting dao thread");
65
+ const hntMint = new PublicKey(argv.hntMint);
66
+ const dao = daoKey(hntMint)[0];
67
+ const daoAcc = await hsdProgram.account.daoV0.fetch(dao);
68
+ instructions.push(await hsdProgram.methods
69
+ .resetDaoThreadV0()
70
+ .accounts({
71
+ dao,
72
+ authority: daoAcc.authority,
73
+ })
74
+ .instruction());
75
+ }
76
+ if (argv.resetSubDaoThread) {
77
+ console.log("resetting subdao thread");
78
+ const dntMint = new PublicKey(argv.dntMint);
79
+ const subDao = subDaoKey(dntMint)[0];
80
+ const subdaoAcc = await hsdProgram.account.subDaoV0.fetch(subDao);
81
+ instructions.push(await hsdProgram.methods
82
+ .resetSubDaoThreadV0()
83
+ .accounts({
84
+ subDao,
85
+ authority: subdaoAcc.authority,
86
+ threadPayer: subdaoAcc.authority,
87
+ })
88
+ .instruction());
89
+ }
90
+ await sendInstructionsOrSquads({
91
+ provider,
92
+ instructions,
93
+ executeTransaction: argv.executeTransaction,
94
+ squads,
95
+ multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
96
+ authorityIndex: argv.authorityIndex,
97
+ signers: [],
98
+ });
99
+ }
100
+ //# 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,101 @@
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
+ if (argv.resetDaoRecord) {
66
+ console.log("resetting dao maxVoterWeightRecord");
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 hvsrProgram.methods
71
+ .updateMaxVoterWeightV0()
72
+ .accounts({
73
+ registrar: daoAcc.registrar,
74
+ realmGoverningTokenMint: hntMint,
75
+ })
76
+ .instruction());
77
+ }
78
+ if (argv.resetSubDaoRecord) {
79
+ console.log("resetting subdao maxVoterWeightRecord");
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 hvsrProgram.methods
84
+ .updateMaxVoterWeightV0()
85
+ .accounts({
86
+ registrar: subDaoAcc.registrar,
87
+ realmGoverningTokenMint: dntMint,
88
+ })
89
+ .instruction());
90
+ }
91
+ await sendInstructionsOrSquads({
92
+ provider,
93
+ instructions,
94
+ executeTransaction: argv.executeTransaction,
95
+ squads,
96
+ multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
97
+ authorityIndex: argv.authorityIndex,
98
+ signers: [],
99
+ });
100
+ }
101
+ //# 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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"}
@@ -0,0 +1,138 @@
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
+ if (argv.resetDaoVotingMint) {
71
+ console.log("resetting dao votingMint");
72
+ const hntMint = new PublicKey(argv.hntMint);
73
+ const dao = daoKey(hntMint)[0];
74
+ const daoAcc = await hsdProgram.account.daoV0.fetch(dao);
75
+ instructions.push(await hvsrProgram.methods
76
+ .configureVotingMintV0({
77
+ idx: 0,
78
+ digitShift: 0,
79
+ baselineVoteWeightScaledFactor: new anchor.BN(0 * 1e9),
80
+ maxExtraLockupVoteWeightScaledFactor: new anchor.BN(100 * 1e9),
81
+ lockupSaturationSecs: new anchor.BN(MAX_LOCKUP),
82
+ genesisVotePowerMultiplier: 3,
83
+ genesisVotePowerMultiplierExpirationTs: new anchor.BN(in7Days),
84
+ })
85
+ .accounts({
86
+ registrar: daoAcc.registrar,
87
+ realmAuthority: daoAcc.authority,
88
+ mint: hntMint,
89
+ })
90
+ .remainingAccounts([
91
+ {
92
+ pubkey: hntMint,
93
+ isSigner: false,
94
+ isWritable: false,
95
+ },
96
+ ])
97
+ .instruction());
98
+ }
99
+ if (argv.resetSubDaoVotingMint) {
100
+ console.log("resetting subdao votingMint");
101
+ const dntMint = new PublicKey(argv.dntMint);
102
+ const subDao = subDaoKey(dntMint)[0];
103
+ const subdaoAcc = await hsdProgram.account.subDaoV0.fetch(subDao);
104
+ instructions.push(await hvsrProgram.methods
105
+ .configureVotingMintV0({
106
+ idx: 0,
107
+ digitShift: -1,
108
+ baselineVoteWeightScaledFactor: new anchor.BN(0 * 1e9),
109
+ maxExtraLockupVoteWeightScaledFactor: new anchor.BN(100 * 1e9),
110
+ lockupSaturationSecs: new anchor.BN(MAX_LOCKUP),
111
+ genesisVotePowerMultiplier: 1,
112
+ genesisVotePowerMultiplierExpirationTs: new anchor.BN(now),
113
+ })
114
+ .accounts({
115
+ registrar: subdaoAcc.registrar,
116
+ mint: dntMint,
117
+ realmAuthority: subdaoAcc.authority,
118
+ })
119
+ .remainingAccounts([
120
+ {
121
+ pubkey: dntMint,
122
+ isSigner: false,
123
+ isWritable: false,
124
+ },
125
+ ])
126
+ .instruction());
127
+ }
128
+ await sendInstructionsOrSquads({
129
+ provider,
130
+ instructions,
131
+ executeTransaction: argv.executeTransaction,
132
+ squads,
133
+ multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
134
+ authorityIndex: argv.authorityIndex,
135
+ signers: [],
136
+ });
137
+ }
138
+ //# sourceMappingURL=reset-vsr-voting-mint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset-vsr-voting-mint.js","sourceRoot":"","sources":["../../../src/reset-vsr-voting-mint.ts"],"names":[],"mappings":"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"}