@helium/helium-admin-cli 0.2.11 → 0.2.14-next.112

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 (205) hide show
  1. package/bin/helium-admin.js +5 -2
  2. package/lib/cjs/approve-carrier.js +18 -17
  3. package/lib/cjs/approve-carrier.js.map +1 -1
  4. package/lib/cjs/approve-program.js +21 -20
  5. package/lib/cjs/approve-program.js.map +1 -1
  6. package/lib/cjs/claim-rewards.js.map +1 -1
  7. package/lib/cjs/close-buffers.js +15 -14
  8. package/lib/cjs/close-buffers.js.map +1 -1
  9. package/lib/cjs/close-canopy.js +21 -17
  10. package/lib/cjs/close-canopy.js.map +1 -1
  11. package/lib/cjs/close-lazy-transaction-markers.js +143 -0
  12. package/lib/cjs/close-lazy-transaction-markers.js.map +1 -0
  13. package/lib/cjs/create-carrier.js +29 -28
  14. package/lib/cjs/create-carrier.js.map +1 -1
  15. package/lib/cjs/create-dao.js +73 -78
  16. package/lib/cjs/create-dao.js.map +1 -1
  17. package/lib/cjs/create-data-only-config.js +175 -0
  18. package/lib/cjs/create-data-only-config.js.map +1 -0
  19. package/lib/cjs/create-maker.js +45 -43
  20. package/lib/cjs/create-maker.js.map +1 -1
  21. package/lib/cjs/create-price-oracle.js +28 -22
  22. package/lib/cjs/create-price-oracle.js.map +1 -1
  23. package/lib/cjs/create-subdao.js +110 -132
  24. package/lib/cjs/create-subdao.js.map +1 -1
  25. package/lib/cjs/distribute-iot-operations-fund.js +120 -0
  26. package/lib/cjs/distribute-iot-operations-fund.js.map +1 -0
  27. package/lib/cjs/end-epoch.js +1 -1
  28. package/lib/cjs/end-epoch.js.map +1 -1
  29. package/lib/cjs/issue-iot-operations-fund.js +17 -16
  30. package/lib/cjs/issue-iot-operations-fund.js.map +1 -1
  31. package/lib/cjs/issue-test-hotspot.js.map +1 -1
  32. package/lib/cjs/log-hotspot.js +9 -4
  33. package/lib/cjs/log-hotspot.js.map +1 -1
  34. package/lib/cjs/mint-dc.js.map +1 -1
  35. package/lib/cjs/reset-vsr-max-voter-record.js +24 -23
  36. package/lib/cjs/reset-vsr-max-voter-record.js.map +1 -1
  37. package/lib/cjs/reset-vsr-voting-mint.js +24 -23
  38. package/lib/cjs/reset-vsr-voting-mint.js.map +1 -1
  39. package/lib/cjs/setup-hst.js +33 -85
  40. package/lib/cjs/setup-hst.js.map +1 -1
  41. package/lib/cjs/submit-price.js.map +1 -1
  42. package/lib/cjs/{create-active-device-aggregator.js → take-snapshot.js} +7 -49
  43. package/lib/cjs/take-snapshot.js.map +1 -0
  44. package/lib/cjs/temp-claim-failed-claims.js +149 -0
  45. package/lib/cjs/temp-claim-failed-claims.js.map +1 -0
  46. package/lib/cjs/update-account-circuit-breaker.js +21 -18
  47. package/lib/cjs/update-account-circuit-breaker.js.map +1 -1
  48. package/lib/cjs/update-dao.js +47 -34
  49. package/lib/cjs/update-dao.js.map +1 -1
  50. package/lib/cjs/update-data-credits.js +19 -18
  51. package/lib/cjs/update-data-credits.js.map +1 -1
  52. package/lib/cjs/update-delegated-dc-subdao.js +18 -17
  53. package/lib/cjs/update-delegated-dc-subdao.js.map +1 -1
  54. package/lib/cjs/update-lazy-distributor.js +25 -24
  55. package/lib/cjs/update-lazy-distributor.js.map +1 -1
  56. package/lib/cjs/update-lazy-transactions.js +16 -14
  57. package/lib/cjs/update-lazy-transactions.js.map +1 -1
  58. package/lib/cjs/update-mint-circuit-breaker.js +18 -17
  59. package/lib/cjs/update-mint-circuit-breaker.js.map +1 -1
  60. package/lib/cjs/update-registrar-authorities.js +15 -11
  61. package/lib/cjs/update-registrar-authorities.js.map +1 -1
  62. package/lib/cjs/update-rewardable-entity-config.js +48 -5
  63. package/lib/cjs/update-rewardable-entity-config.js.map +1 -1
  64. package/lib/cjs/update-subdao-vehnt.js +35 -34
  65. package/lib/cjs/update-subdao-vehnt.js.map +1 -1
  66. package/lib/cjs/update-subdao.js +54 -61
  67. package/lib/cjs/update-subdao.js.map +1 -1
  68. package/lib/cjs/upgrade-idl.js +18 -17
  69. package/lib/cjs/upgrade-idl.js.map +1 -1
  70. package/lib/cjs/utils.js +7 -52
  71. package/lib/cjs/utils.js.map +1 -1
  72. package/lib/cjs/{repair-iot-operations-fund.js → write-merkle-canopy-depths.js} +11 -49
  73. package/lib/cjs/write-merkle-canopy-depths.js.map +1 -0
  74. package/lib/esm/src/approve-carrier.js +27 -26
  75. package/lib/esm/src/approve-carrier.js.map +1 -1
  76. package/lib/esm/src/approve-program.js +30 -29
  77. package/lib/esm/src/approve-program.js.map +1 -1
  78. package/lib/esm/src/claim-rewards.js.map +1 -1
  79. package/lib/esm/src/close-buffers.js +23 -22
  80. package/lib/esm/src/close-buffers.js.map +1 -1
  81. package/lib/esm/src/close-canopy.js +28 -24
  82. package/lib/esm/src/close-canopy.js.map +1 -1
  83. package/lib/esm/src/close-lazy-transaction-markers.js +102 -0
  84. package/lib/esm/src/close-lazy-transaction-markers.js.map +1 -0
  85. package/lib/esm/src/create-carrier.js +40 -39
  86. package/lib/esm/src/create-carrier.js.map +1 -1
  87. package/lib/esm/src/create-dao.js +87 -92
  88. package/lib/esm/src/create-dao.js.map +1 -1
  89. package/lib/esm/src/create-data-only-config.js +132 -0
  90. package/lib/esm/src/create-data-only-config.js.map +1 -0
  91. package/lib/esm/src/create-maker.js +59 -57
  92. package/lib/esm/src/create-maker.js.map +1 -1
  93. package/lib/esm/src/create-price-oracle.js +37 -31
  94. package/lib/esm/src/create-price-oracle.js.map +1 -1
  95. package/lib/esm/src/create-subdao.js +126 -148
  96. package/lib/esm/src/create-subdao.js.map +1 -1
  97. package/lib/esm/src/distribute-iot-operations-fund.js +79 -0
  98. package/lib/esm/src/distribute-iot-operations-fund.js.map +1 -0
  99. package/lib/esm/src/end-epoch.js +1 -1
  100. package/lib/esm/src/end-epoch.js.map +1 -1
  101. package/lib/esm/src/issue-iot-operations-fund.js +27 -26
  102. package/lib/esm/src/issue-iot-operations-fund.js.map +1 -1
  103. package/lib/esm/src/issue-test-hotspot.js.map +1 -1
  104. package/lib/esm/src/log-hotspot.js +9 -4
  105. package/lib/esm/src/log-hotspot.js.map +1 -1
  106. package/lib/esm/src/mint-dc.js.map +1 -1
  107. package/lib/esm/src/reset-vsr-max-voter-record.js +32 -31
  108. package/lib/esm/src/reset-vsr-max-voter-record.js.map +1 -1
  109. package/lib/esm/src/reset-vsr-voting-mint.js +32 -31
  110. package/lib/esm/src/reset-vsr-voting-mint.js.map +1 -1
  111. package/lib/esm/src/setup-hst.js +41 -92
  112. package/lib/esm/src/setup-hst.js.map +1 -1
  113. package/lib/esm/src/submit-price.js.map +1 -1
  114. package/lib/esm/src/take-snapshot.js +29 -0
  115. package/lib/esm/src/take-snapshot.js.map +1 -0
  116. package/lib/esm/src/temp-claim-failed-claims.js +107 -0
  117. package/lib/esm/src/temp-claim-failed-claims.js.map +1 -0
  118. package/lib/esm/src/update-account-circuit-breaker.js +29 -26
  119. package/lib/esm/src/update-account-circuit-breaker.js.map +1 -1
  120. package/lib/esm/src/update-dao.js +55 -42
  121. package/lib/esm/src/update-dao.js.map +1 -1
  122. package/lib/esm/src/update-data-credits.js +26 -25
  123. package/lib/esm/src/update-data-credits.js.map +1 -1
  124. package/lib/esm/src/update-delegated-dc-subdao.js +27 -26
  125. package/lib/esm/src/update-delegated-dc-subdao.js.map +1 -1
  126. package/lib/esm/src/update-lazy-distributor.js +32 -31
  127. package/lib/esm/src/update-lazy-distributor.js.map +1 -1
  128. package/lib/esm/src/update-lazy-transactions.js +23 -21
  129. package/lib/esm/src/update-lazy-transactions.js.map +1 -1
  130. package/lib/esm/src/update-mint-circuit-breaker.js +26 -25
  131. package/lib/esm/src/update-mint-circuit-breaker.js.map +1 -1
  132. package/lib/esm/src/update-registrar-authorities.js +22 -18
  133. package/lib/esm/src/update-registrar-authorities.js.map +1 -1
  134. package/lib/esm/src/update-rewardable-entity-config.js +49 -6
  135. package/lib/esm/src/update-rewardable-entity-config.js.map +1 -1
  136. package/lib/esm/src/update-subdao-vehnt.js +45 -44
  137. package/lib/esm/src/update-subdao-vehnt.js.map +1 -1
  138. package/lib/esm/src/update-subdao.js +64 -71
  139. package/lib/esm/src/update-subdao.js.map +1 -1
  140. package/lib/esm/src/upgrade-idl.js +24 -23
  141. package/lib/esm/src/upgrade-idl.js.map +1 -1
  142. package/lib/esm/src/utils.js +4 -46
  143. package/lib/esm/src/utils.js.map +1 -1
  144. package/lib/esm/src/write-merkle-canopy-depths.js +34 -0
  145. package/lib/esm/src/write-merkle-canopy-depths.js.map +1 -0
  146. package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
  147. package/lib/types/src/approve-carrier.d.ts.map +1 -1
  148. package/lib/types/src/approve-program.d.ts.map +1 -1
  149. package/lib/types/src/close-buffers.d.ts.map +1 -1
  150. package/lib/types/src/close-canopy.d.ts.map +1 -1
  151. package/lib/types/src/close-lazy-transaction-markers.d.ts +2 -0
  152. package/lib/types/src/close-lazy-transaction-markers.d.ts.map +1 -0
  153. package/lib/types/src/create-carrier.d.ts.map +1 -1
  154. package/lib/types/src/create-dao.d.ts.map +1 -1
  155. package/lib/types/src/{update-aggregator.d.ts → create-data-only-config.d.ts} +1 -1
  156. package/lib/types/src/create-data-only-config.d.ts.map +1 -0
  157. package/lib/types/src/create-maker.d.ts.map +1 -1
  158. package/lib/types/src/create-price-oracle.d.ts.map +1 -1
  159. package/lib/types/src/create-subdao.d.ts.map +1 -1
  160. package/lib/types/src/distribute-iot-operations-fund.d.ts +2 -0
  161. package/lib/types/src/distribute-iot-operations-fund.d.ts.map +1 -0
  162. package/lib/types/src/issue-iot-operations-fund.d.ts.map +1 -1
  163. package/lib/types/src/log-hotspot.d.ts.map +1 -1
  164. package/lib/types/src/reset-vsr-max-voter-record.d.ts.map +1 -1
  165. package/lib/types/src/reset-vsr-voting-mint.d.ts.map +1 -1
  166. package/lib/types/src/setup-hst.d.ts +0 -2
  167. package/lib/types/src/setup-hst.d.ts.map +1 -1
  168. package/lib/types/src/{reset-clockwork.d.ts → take-snapshot.d.ts} +1 -1
  169. package/lib/types/src/take-snapshot.d.ts.map +1 -0
  170. package/lib/types/src/{repair-iot-operations-fund.d.ts → temp-claim-failed-claims.d.ts} +1 -1
  171. package/lib/types/src/temp-claim-failed-claims.d.ts.map +1 -0
  172. package/lib/types/src/update-dao.d.ts.map +1 -1
  173. package/lib/types/src/update-data-credits.d.ts.map +1 -1
  174. package/lib/types/src/update-delegated-dc-subdao.d.ts.map +1 -1
  175. package/lib/types/src/update-lazy-distributor.d.ts.map +1 -1
  176. package/lib/types/src/update-lazy-transactions.d.ts.map +1 -1
  177. package/lib/types/src/update-mint-circuit-breaker.d.ts.map +1 -1
  178. package/lib/types/src/update-rewardable-entity-config.d.ts.map +1 -1
  179. package/lib/types/src/update-subdao-vehnt.d.ts.map +1 -1
  180. package/lib/types/src/update-subdao.d.ts.map +1 -1
  181. package/lib/types/src/upgrade-idl.d.ts.map +1 -1
  182. package/lib/types/src/utils.d.ts +1 -11
  183. package/lib/types/src/utils.d.ts.map +1 -1
  184. package/lib/types/src/write-merkle-canopy-depths.d.ts +2 -0
  185. package/lib/types/src/write-merkle-canopy-depths.d.ts.map +1 -0
  186. package/package.json +27 -30
  187. package/lib/cjs/create-active-device-aggregator.js.map +0 -1
  188. package/lib/cjs/repair-iot-operations-fund.js.map +0 -1
  189. package/lib/cjs/reset-clockwork.js +0 -143
  190. package/lib/cjs/reset-clockwork.js.map +0 -1
  191. package/lib/cjs/update-aggregator.js +0 -115
  192. package/lib/cjs/update-aggregator.js.map +0 -1
  193. package/lib/esm/src/create-active-device-aggregator.js +0 -71
  194. package/lib/esm/src/create-active-device-aggregator.js.map +0 -1
  195. package/lib/esm/src/repair-iot-operations-fund.js +0 -72
  196. package/lib/esm/src/repair-iot-operations-fund.js.map +0 -1
  197. package/lib/esm/src/reset-clockwork.js +0 -102
  198. package/lib/esm/src/reset-clockwork.js.map +0 -1
  199. package/lib/esm/src/update-aggregator.js +0 -74
  200. package/lib/esm/src/update-aggregator.js.map +0 -1
  201. package/lib/types/src/create-active-device-aggregator.d.ts +0 -2
  202. package/lib/types/src/create-active-device-aggregator.d.ts.map +0 -1
  203. package/lib/types/src/repair-iot-operations-fund.d.ts.map +0 -1
  204. package/lib/types/src/reset-clockwork.d.ts.map +0 -1
  205. package/lib/types/src/update-aggregator.d.ts.map +0 -1
@@ -1,23 +1,21 @@
1
- import * as anchor from "@coral-xyz/anchor";
2
- import { ThresholdType } from "@helium/circuit-breaker-sdk";
3
- import { dataCreditsKey, init as initDc, PROGRAM_ID, accountPayerKey, } from "@helium/data-credits-sdk";
4
- import { init as initHem, dataOnlyConfigKey, } from "@helium/helium-entity-manager-sdk";
5
- import { fanoutKey } from "@helium/fanout-sdk";
6
- import { daoKey, init as initDao, threadKey, } from "@helium/helium-sub-daos-sdk";
7
- import { sendInstructions, toBN } from "@helium/spl-utils";
8
- import { init as initVsr, registrarKey, } from "@helium/voter-stake-registry-sdk";
9
- import { getGovernanceProgramVersion, GoverningTokenConfigAccountArgs, GoverningTokenType, MintMaxVoteWeightSource, SetRealmAuthorityAction, withCreateRealm, withSetRealmAuthority, } from "@solana/spl-governance";
10
- import { createAssociatedTokenAccountIdempotentInstruction, getAssociatedTokenAddressSync, } from "@solana/spl-token";
11
- import { ComputeBudgetProgram, Keypair, LAMPORTS_PER_SOL, PublicKey, SystemProgram, Transaction, } from "@solana/web3.js";
12
- import Squads from "@sqds/sdk";
13
- import os from "os";
14
- import yargs from "yargs/yargs";
15
- import { createAndMint, isLocalhost, loadKeypair, parseEmissionsSchedule, sendInstructionsOrSquads, } from "./utils";
16
- import fs from "fs";
17
- import { BN } from "bn.js";
18
- import { getConcurrentMerkleTreeAccountSize, SPL_ACCOUNT_COMPRESSION_PROGRAM_ID } from "@solana/spl-account-compression";
19
- const { hideBin } = require("yargs/helpers");
20
- const HNT_EPOCH_REWARDS = 10000000000;
1
+ import * as anchor from '@coral-xyz/anchor';
2
+ import { ThresholdType } from '@helium/circuit-breaker-sdk';
3
+ import { PROGRAM_ID, accountPayerKey, dataCreditsKey, init as initDc, } from '@helium/data-credits-sdk';
4
+ import { fanoutKey } from '@helium/fanout-sdk';
5
+ import { dataOnlyConfigKey, init as initHem, } from '@helium/helium-entity-manager-sdk';
6
+ import { daoKey, init as initDao } from "@helium/helium-sub-daos-sdk";
7
+ import { sendInstructions, toBN } from '@helium/spl-utils';
8
+ import { init as initVsr, registrarKey, } from '@helium/voter-stake-registry-sdk';
9
+ import { SPL_ACCOUNT_COMPRESSION_PROGRAM_ID, getConcurrentMerkleTreeAccountSize, } from '@solana/spl-account-compression';
10
+ import { GoverningTokenConfigAccountArgs, GoverningTokenType, MintMaxVoteWeightSource, SetRealmAuthorityAction, getGovernanceProgramVersion, withCreateRealm, withSetRealmAuthority, } from '@solana/spl-governance';
11
+ import { createAssociatedTokenAccountIdempotentInstruction, getAssociatedTokenAddressSync, } from '@solana/spl-token';
12
+ import { ComputeBudgetProgram, Keypair, LAMPORTS_PER_SOL, PublicKey, SystemProgram, Transaction, } from '@solana/web3.js';
13
+ import Squads from '@sqds/sdk';
14
+ import { BN } from 'bn.js';
15
+ import fs from 'fs';
16
+ import os from 'os';
17
+ import yargs from 'yargs/yargs';
18
+ import { createAndMint, isLocalhost, loadKeypair, parseEmissionsSchedule, sendInstructionsOrSquads, } from './utils';
21
19
  const SECS_PER_DAY = 86400;
22
20
  const SECS_PER_YEAR = 365 * SECS_PER_DAY;
23
21
  const MAX_LOCKUP = 4 * SECS_PER_YEAR;
@@ -30,106 +28,107 @@ async function exists(connection, account) {
30
28
  export async function run(args = process.argv) {
31
29
  const yarg = yargs(args).options({
32
30
  wallet: {
33
- alias: "k",
34
- describe: "Anchor wallet keypair",
31
+ alias: 'k',
32
+ describe: 'Anchor wallet keypair',
35
33
  default: `${os.homedir()}/.config/solana/id.json`,
36
34
  },
37
35
  url: {
38
- alias: "u",
39
- default: "http://127.0.0.1:8899",
40
- describe: "The solana url",
36
+ alias: 'u',
37
+ default: 'http://127.0.0.1:8899',
38
+ describe: 'The solana url',
41
39
  },
42
40
  hntKeypair: {
43
- type: "string",
44
- describe: "Keypair of the HNT token",
41
+ type: 'string',
42
+ describe: 'Keypair of the HNT token',
45
43
  default: `${__dirname}/../../keypairs/hnt.json`,
46
44
  },
47
45
  dcKeypair: {
48
- type: "string",
49
- describe: "Keypair of the Data Credit token",
46
+ type: 'string',
47
+ describe: 'Keypair of the Data Credit token',
50
48
  default: `${__dirname}/../../keypairs/dc.json`,
51
49
  },
52
50
  numHnt: {
53
- type: "number",
54
- describe: "Number of HNT tokens to pre mint before assigning authority to lazy distributor",
51
+ type: 'number',
52
+ describe: 'Number of HNT tokens to pre mint before assigning authority to lazy distributor',
55
53
  default: 0,
56
54
  },
57
55
  numDc: {
58
- type: "number",
59
- describe: "Number of DC tokens to pre mint before assigning authority to lazy distributor",
56
+ type: 'number',
57
+ describe: 'Number of DC tokens to pre mint before assigning authority to lazy distributor',
60
58
  default: 1000,
61
59
  },
62
60
  bucket: {
63
- type: "string",
64
- describe: "Bucket URL prefix holding all of the metadata jsons",
65
- default: "https://shdw-drive.genesysgo.net/6tcnBSybPG7piEDShBcrVtYJDPSvGrDbVvXmXKpzBvWP",
61
+ type: 'string',
62
+ describe: 'Bucket URL prefix holding all of the metadata jsons',
63
+ default: 'https://shdw-drive.genesysgo.net/6tcnBSybPG7piEDShBcrVtYJDPSvGrDbVvXmXKpzBvWP',
66
64
  },
67
65
  emissionSchedulePath: {
68
66
  required: true,
69
- describe: "Path to file that contains the hnt emissions schedule",
70
- type: "string",
67
+ describe: 'Path to file that contains the hnt emissions schedule',
68
+ type: 'string',
71
69
  default: `${__dirname}/../../emissions/hnt.json`,
72
70
  },
73
71
  hstEmissionSchedulePath: {
74
72
  required: true,
75
- describe: "Path to file that contains the hst emissions schedule",
76
- type: "string",
73
+ describe: 'Path to file that contains the hst emissions schedule',
74
+ type: 'string',
77
75
  default: `${__dirname}/../../emissions/hst.json`,
78
76
  },
79
77
  govProgramId: {
80
- type: "string",
81
- describe: "Pubkey of the GOV program",
82
- default: "hgovkRU6Ghe1Qoyb54HdSLdqN7VtxaifBzRmh9jtd3S",
78
+ type: 'string',
79
+ describe: 'Pubkey of the GOV program',
80
+ default: 'hgovkRU6Ghe1Qoyb54HdSLdqN7VtxaifBzRmh9jtd3S',
83
81
  },
84
82
  realmName: {
85
- type: "string",
86
- describe: "Name of the realm to be generated",
87
- default: "Helium",
83
+ type: 'string',
84
+ describe: 'Name of the realm to be generated',
85
+ default: 'Helium',
88
86
  },
89
87
  councilKeypair: {
90
- type: "string",
91
- describe: "Keypair of gov council token",
88
+ type: 'string',
89
+ describe: 'Keypair of gov council token',
92
90
  default: `${__dirname}/../../keypairs/council.json`,
93
91
  },
94
92
  councilWallet: {
95
- type: "string",
96
- describe: "Pubkey for holding/distributing council tokens",
93
+ type: 'string',
94
+ describe: 'Pubkey for holding/distributing council tokens',
97
95
  default: await loadKeypair(`${os.homedir()}/.config/solana/id.json`).publicKey.toBase58(),
98
96
  },
99
97
  numCouncil: {
100
- type: "number",
101
- describe: "Number of Gov Council tokens to pre mint before assigning authority to dao",
98
+ type: 'number',
99
+ describe: 'Number of Gov Council tokens to pre mint before assigning authority to dao',
102
100
  default: 10,
103
101
  },
104
102
  multisig: {
105
- type: "string",
106
- describe: "Address of the squads multisig to control the dao. If not provided, your wallet will be the authority",
103
+ type: 'string',
104
+ describe: 'Address of the squads multisig to control the dao. If not provided, your wallet will be the authority',
107
105
  },
108
106
  authorityIndex: {
109
- type: "number",
110
- describe: "Authority index for squads. Defaults to 1",
107
+ type: 'number',
108
+ describe: 'Authority index for squads. Defaults to 1',
111
109
  default: 1,
112
110
  },
113
111
  hntPriceOracle: {
114
- type: "string",
115
- required: true
112
+ type: 'string',
113
+ required: true,
116
114
  },
117
115
  numHst: {
118
- type: "number",
119
- describe: "Number of HST tokens to pre mint before assigning authority to lazy distributor",
116
+ type: 'number',
117
+ describe: 'Number of HST tokens to pre mint before assigning authority to lazy distributor',
120
118
  default: 0,
121
119
  },
122
120
  merklePath: {
123
- type: "string",
124
- describe: "Path to the merkle keypair",
121
+ type: 'string',
122
+ describe: 'Path to the merkle keypair',
125
123
  default: `${__dirname}/../../keypairs/data-only-merkle.json`,
126
- }
124
+ },
127
125
  });
128
126
  const argv = await yarg.argv;
129
127
  process.env.ANCHOR_WALLET = argv.wallet;
130
128
  process.env.ANCHOR_PROVIDER_URL = argv.url;
131
129
  anchor.setProvider(anchor.AnchorProvider.local(argv.url));
132
130
  const provider = anchor.getProvider();
131
+ const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
133
132
  const dataCreditsProgram = await initDc(provider);
134
133
  const heliumSubDaosProgram = await initDao(provider);
135
134
  const heliumVsrProgram = await initVsr(provider);
@@ -141,17 +140,15 @@ export async function run(args = process.argv) {
141
140
  const dcKeypair = loadKeypair(argv.dcKeypair);
142
141
  const me = provider.wallet.publicKey;
143
142
  const dao = daoKey(hntKeypair.publicKey)[0];
144
- console.log("HNT", hntKeypair.publicKey.toBase58());
145
- console.log("DC", dcKeypair.publicKey.toBase58());
146
- console.log("GOV PID", govProgramId.toBase58());
147
- console.log("COUNCIL", councilKeypair.publicKey.toBase58());
148
- console.log("COUNCIL WALLET", councilWallet.toBase58());
149
- const thread = threadKey(dao, "issue_hst")[0];
150
- console.log("DAO", dao.toString());
151
- console.log("THREAD", thread.toString());
143
+ console.log('HNT', hntKeypair.publicKey.toBase58());
144
+ console.log('DC', dcKeypair.publicKey.toBase58());
145
+ console.log('GOV PID', govProgramId.toBase58());
146
+ console.log('COUNCIL', councilKeypair.publicKey.toBase58());
147
+ console.log('COUNCIL WALLET', councilWallet.toBase58());
148
+ console.log('DAO', dao.toString());
152
149
  const conn = provider.connection;
153
- const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet, {
154
- commitmentOrConfig: "finalized"
150
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
151
+ commitmentOrConfig: 'finalized',
155
152
  });
156
153
  let authority = provider.wallet.publicKey;
157
154
  let multisig = argv.multisig ? new PublicKey(argv.multisig) : null;
@@ -160,7 +157,7 @@ export async function run(args = process.argv) {
160
157
  // Fund authority
161
158
  const authAcc = await provider.connection.getAccountInfo(authority);
162
159
  if (!authAcc || authAcc.lamports < LAMPORTS_PER_SOL) {
163
- console.log("Funding multisig...");
160
+ console.log('Funding multisig...');
164
161
  await sendInstructions(provider, [
165
162
  await SystemProgram.transfer({
166
163
  fromPubkey: me,
@@ -175,7 +172,7 @@ export async function run(args = process.argv) {
175
172
  mintKeypair: hntKeypair,
176
173
  amount: argv.numHnt,
177
174
  metadataUrl: `${argv.bucket}/hnt.json`,
178
- updateAuthority: authority
175
+ updateAuthority: authority,
179
176
  });
180
177
  await createAndMint({
181
178
  provider,
@@ -195,13 +192,13 @@ export async function run(args = process.argv) {
195
192
  updateAuthority: authority,
196
193
  });
197
194
  let instructions = [];
198
- const govProgramVersion = await getGovernanceProgramVersion(conn, govProgramId, isLocalhost(provider) ? "localnet" : undefined);
195
+ const govProgramVersion = await getGovernanceProgramVersion(conn, govProgramId, isLocalhost(provider) ? 'localnet' : undefined);
199
196
  const realmName = argv.realmName;
200
- const realm = await PublicKey.findProgramAddressSync([Buffer.from("governance", "utf-8"), Buffer.from(realmName, "utf-8")], govProgramId)[0];
201
- console.log("Realm, ", realm.toBase58());
197
+ const realm = await PublicKey.findProgramAddressSync([Buffer.from('governance', 'utf-8'), Buffer.from(realmName, 'utf-8')], govProgramId)[0];
198
+ console.log('Realm, ', realm.toBase58());
202
199
  const needRealmCreate = !(await exists(conn, realm));
203
200
  if (needRealmCreate) {
204
- console.log("Initializing Realm");
201
+ console.log('Initializing Realm');
205
202
  await withCreateRealm(instructions, govProgramId, govProgramVersion, realmName, provider.wallet.publicKey, // realmAuthorityPk
206
203
  hntKeypair.publicKey, // communityMintPk
207
204
  provider.wallet.publicKey, // payer
@@ -223,13 +220,12 @@ export async function run(args = process.argv) {
223
220
  }
224
221
  const registrar = (await registrarKey(realm, hntKeypair.publicKey))[0];
225
222
  if (!(await exists(conn, registrar))) {
226
- console.log("Initializing VSR Registrar");
223
+ console.log('Initializing VSR Registrar');
227
224
  instructions.push(ComputeBudgetProgram.setComputeUnitLimit({ units: 800000 }));
228
225
  instructions.push(await heliumVsrProgram.methods
229
226
  .initializeRegistrarV0({
230
227
  positionUpdateAuthority: (await daoKey(hntKeypair.publicKey))[0],
231
228
  })
232
- .preInstructions([,])
233
229
  .accounts({
234
230
  realm,
235
231
  realmGoverningTokenMint: hntKeypair.publicKey,
@@ -238,7 +234,7 @@ export async function run(args = process.argv) {
238
234
  await sendInstructions(provider, instructions, []);
239
235
  instructions = [];
240
236
  }
241
- console.log("Configuring VSR voting mint at [0]");
237
+ console.log('Configuring VSR voting mint at [0]');
242
238
  instructions.push(await heliumVsrProgram.methods
243
239
  .configureVotingMintV0({
244
240
  idx: 0,
@@ -247,7 +243,7 @@ export async function run(args = process.argv) {
247
243
  maxExtraLockupVoteWeightScaledFactor: new anchor.BN(SCALE * 1e9),
248
244
  genesisVotePowerMultiplier: GENESIS_MULTIPLIER,
249
245
  // April 28th, 23:59:59 UTC
250
- genesisVotePowerMultiplierExpirationTs: new anchor.BN("1682726399"),
246
+ genesisVotePowerMultiplierExpirationTs: new anchor.BN('1682726399'),
251
247
  lockupSaturationSecs: new anchor.BN(MAX_LOCKUP),
252
248
  })
253
249
  .accounts({
@@ -264,7 +260,7 @@ export async function run(args = process.argv) {
264
260
  .instruction());
265
261
  await sendInstructions(provider, instructions, []);
266
262
  instructions = [];
267
- console.log("Creating max voter record");
263
+ console.log('Creating max voter record');
268
264
  instructions.push(await heliumVsrProgram.methods
269
265
  .updateMaxVoterWeightV0()
270
266
  .accounts({
@@ -281,7 +277,7 @@ export async function run(args = process.argv) {
281
277
  await sendInstructions(provider, instructions, []);
282
278
  instructions = [];
283
279
  const dcKey = (await dataCreditsKey(dcKeypair.publicKey))[0];
284
- console.log("dcpid", PROGRAM_ID.toBase58());
280
+ console.log('dcpid', PROGRAM_ID.toBase58());
285
281
  if (!(await exists(conn, dcKey))) {
286
282
  await dataCreditsProgram.methods
287
283
  .initializeDataCreditsV0({
@@ -289,7 +285,7 @@ export async function run(args = process.argv) {
289
285
  config: {
290
286
  windowSizeSeconds: new anchor.BN(60 * 60),
291
287
  thresholdType: ThresholdType.Absolute,
292
- threshold: new anchor.BN("1000000000000"),
288
+ threshold: new anchor.BN('1000000000000'),
293
289
  },
294
290
  })
295
291
  .accounts({
@@ -309,12 +305,12 @@ export async function run(args = process.argv) {
309
305
  await provider.sendAndConfirm(tx);
310
306
  }
311
307
  if (!(await exists(conn, dao))) {
312
- console.log("Initializing DAO");
308
+ console.log('Initializing DAO');
313
309
  const hstEmission = await parseEmissionsSchedule(argv.hstEmissionSchedulePath);
314
310
  const hntEmission = await parseEmissionsSchedule(argv.emissionSchedulePath);
315
311
  const currentHstEmission = hstEmission[0];
316
312
  const currentHntEmission = hntEmission[0];
317
- const fanout = fanoutKey("HST")[0];
313
+ const fanout = fanoutKey('HST')[0];
318
314
  const hstPool = getAssociatedTokenAddressSync(hntKeypair.publicKey, fanout, true);
319
315
  await heliumSubDaosProgram.methods
320
316
  .initializeDaoV0({
@@ -331,7 +327,6 @@ export async function run(args = process.argv) {
331
327
  .accounts({
332
328
  dcMint: dcKeypair.publicKey,
333
329
  hntMint: hntKeypair.publicKey,
334
- thread,
335
330
  hstPool,
336
331
  })
337
332
  .rpc({ skipPreflight: true });
@@ -394,15 +389,15 @@ export async function run(args = process.argv) {
394
389
  newTreeBufferSize: buffer,
395
390
  newTreeSpace: new BN(getConcurrentMerkleTreeAccountSize(size, buffer, canopy)),
396
391
  newTreeFeeLamports: new BN(cost / 2 ** size),
397
- name: "DATAONLY",
398
- metadataUrl: "https://shdw-drive.genesysgo.net/H8b1gZmA2aBqDYxicxawGpznCaNbFSEJ3YnJuawGQ2EQ/data-only.json",
392
+ name: 'DATAONLY',
393
+ metadataUrl: 'https://shdw-drive.genesysgo.net/H8b1gZmA2aBqDYxicxawGpznCaNbFSEJ3YnJuawGQ2EQ/data-only.json',
399
394
  })
400
395
  .accounts({
401
396
  dao,
402
397
  authority,
403
398
  merkleTree: merkle.publicKey,
404
399
  })
405
- .instruction()
400
+ .instruction(),
406
401
  ],
407
402
  executeTransaction: false,
408
403
  squads,
@@ -1 +1 @@
1
- {"version":3,"file":"create-dao.js","sourceRoot":"","sources":["../../../src/create-dao.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-dao.js","sourceRoot":"","sources":["../../../src/create-dao.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ import * as anchor from '@coral-xyz/anchor';
2
+ import { init as initHem, dataOnlyConfigKey, } from '@helium/helium-entity-manager-sdk';
3
+ import { HNT_MINT, sendInstructions } from '@helium/spl-utils';
4
+ import { daoKey } from '@helium/helium-sub-daos-sdk';
5
+ import { ComputeBudgetProgram, Keypair, LAMPORTS_PER_SOL, PublicKey, SystemProgram, } from '@solana/web3.js';
6
+ import Squads from '@sqds/sdk';
7
+ import os from 'os';
8
+ import yargs from 'yargs/yargs';
9
+ import { loadKeypair, sendInstructionsOrSquads } from './utils';
10
+ import fs from 'fs';
11
+ import { BN } from 'bn.js';
12
+ import { getConcurrentMerkleTreeAccountSize, SPL_ACCOUNT_COMPRESSION_PROGRAM_ID, } from '@solana/spl-account-compression';
13
+ async function exists(connection, account) {
14
+ return Boolean(await connection.getAccountInfo(account));
15
+ }
16
+ export async function run(args = process.argv) {
17
+ const yarg = yargs(args).options({
18
+ wallet: {
19
+ alias: 'k',
20
+ describe: 'Anchor wallet keypair',
21
+ default: `${os.homedir()}/.config/solana/id.json`,
22
+ },
23
+ url: {
24
+ alias: 'u',
25
+ default: 'http://127.0.0.1:8899',
26
+ describe: 'The solana url',
27
+ },
28
+ hntMint: {
29
+ type: 'string',
30
+ describe: 'HNT token mint',
31
+ default: HNT_MINT.toString(),
32
+ },
33
+ multisig: {
34
+ type: 'string',
35
+ describe: 'Address of the squads multisig to control the dao. If not provided, your wallet will be the authority',
36
+ },
37
+ authorityIndex: {
38
+ type: 'number',
39
+ describe: 'Authority index for squads. Defaults to 1',
40
+ default: 1,
41
+ },
42
+ merklePath: {
43
+ type: 'string',
44
+ describe: 'Path to the merkle keypair',
45
+ default: `${__dirname}/../../keypairs/data-only-merkle.json`,
46
+ },
47
+ });
48
+ const argv = await yarg.argv;
49
+ process.env.ANCHOR_WALLET = argv.wallet;
50
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
51
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
52
+ const provider = anchor.getProvider();
53
+ const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
54
+ const hemProgram = await initHem(provider);
55
+ const hntMint = new PublicKey(argv.hntMint);
56
+ const dao = daoKey(hntMint)[0];
57
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
58
+ commitmentOrConfig: 'finalized',
59
+ });
60
+ let authority = provider.wallet.publicKey;
61
+ let multisig = argv.multisig ? new PublicKey(argv.multisig) : null;
62
+ if (multisig) {
63
+ authority = squads.getAuthorityPDA(multisig, argv.authorityIndex);
64
+ // Fund authority
65
+ const authAcc = await provider.connection.getAccountInfo(authority);
66
+ if (!authAcc || authAcc.lamports < LAMPORTS_PER_SOL) {
67
+ console.log('Funding multisig...');
68
+ await sendInstructions(provider, [
69
+ SystemProgram.transfer({
70
+ fromPubkey: provider.wallet.publicKey,
71
+ toPubkey: authority,
72
+ lamports: LAMPORTS_PER_SOL,
73
+ }),
74
+ ]);
75
+ }
76
+ }
77
+ if (await exists(provider.connection, dataOnlyConfigKey(dao)[0])) {
78
+ console.log('DataOnly Config already exists');
79
+ return;
80
+ }
81
+ console.log(`Initializing DataOnly Config`);
82
+ let merkle;
83
+ if (fs.existsSync(argv.merklePath)) {
84
+ merkle = loadKeypair(argv.merklePath);
85
+ }
86
+ else {
87
+ merkle = Keypair.generate();
88
+ fs.writeFileSync(argv.merklePath, JSON.stringify(Array.from(merkle.secretKey)));
89
+ }
90
+ const [size, buffer, canopy] = [14, 64, 11];
91
+ const space = getConcurrentMerkleTreeAccountSize(size, buffer, canopy);
92
+ const cost = await provider.connection.getMinimumBalanceForRentExemption(space);
93
+ if (!(await exists(provider.connection, merkle.publicKey))) {
94
+ await sendInstructions(provider, [
95
+ SystemProgram.createAccount({
96
+ fromPubkey: provider.wallet.publicKey,
97
+ newAccountPubkey: merkle.publicKey,
98
+ lamports: cost,
99
+ space: space,
100
+ programId: SPL_ACCOUNT_COMPRESSION_PROGRAM_ID,
101
+ }),
102
+ ], [merkle]);
103
+ }
104
+ await sendInstructionsOrSquads({
105
+ provider,
106
+ instructions: [
107
+ ComputeBudgetProgram.setComputeUnitLimit({ units: 400000 }),
108
+ await hemProgram.methods
109
+ .initializeDataOnlyV0({
110
+ authority,
111
+ newTreeDepth: size,
112
+ newTreeBufferSize: buffer,
113
+ newTreeSpace: new BN(getConcurrentMerkleTreeAccountSize(size, buffer, canopy)),
114
+ newTreeFeeLamports: new BN(cost / 2 ** size),
115
+ name: 'DATAONLY',
116
+ metadataUrl: 'https://shdw-drive.genesysgo.net/H8b1gZmA2aBqDYxicxawGpznCaNbFSEJ3YnJuawGQ2EQ/data-only.json',
117
+ })
118
+ .accounts({
119
+ dao,
120
+ authority,
121
+ merkleTree: merkle.publicKey,
122
+ })
123
+ .instruction(),
124
+ ],
125
+ executeTransaction: false,
126
+ squads,
127
+ multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
128
+ authorityIndex: argv.authorityIndex,
129
+ signers: [],
130
+ });
131
+ }
132
+ //# sourceMappingURL=create-data-only-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-data-only-config.js","sourceRoot":"","sources":["../../../src/create-data-only-config.ts"],"names":[],"mappings":"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"}