@helium/helium-admin-cli 0.2.13 → 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 (203) hide show
  1. package/lib/cjs/approve-carrier.js +18 -17
  2. package/lib/cjs/approve-carrier.js.map +1 -1
  3. package/lib/cjs/approve-program.js +21 -20
  4. package/lib/cjs/approve-program.js.map +1 -1
  5. package/lib/cjs/claim-rewards.js.map +1 -1
  6. package/lib/cjs/close-buffers.js +15 -14
  7. package/lib/cjs/close-buffers.js.map +1 -1
  8. package/lib/cjs/close-canopy.js +21 -17
  9. package/lib/cjs/close-canopy.js.map +1 -1
  10. package/lib/cjs/close-lazy-transaction-markers.js +143 -0
  11. package/lib/cjs/close-lazy-transaction-markers.js.map +1 -0
  12. package/lib/cjs/create-carrier.js +1 -1
  13. package/lib/cjs/create-carrier.js.map +1 -1
  14. package/lib/cjs/create-dao.js +73 -78
  15. package/lib/cjs/create-dao.js.map +1 -1
  16. package/lib/cjs/create-data-only-config.js +175 -0
  17. package/lib/cjs/create-data-only-config.js.map +1 -0
  18. package/lib/cjs/create-maker.js +45 -43
  19. package/lib/cjs/create-maker.js.map +1 -1
  20. package/lib/cjs/create-price-oracle.js +28 -22
  21. package/lib/cjs/create-price-oracle.js.map +1 -1
  22. package/lib/cjs/create-subdao.js +112 -128
  23. package/lib/cjs/create-subdao.js.map +1 -1
  24. package/lib/cjs/distribute-iot-operations-fund.js +120 -0
  25. package/lib/cjs/distribute-iot-operations-fund.js.map +1 -0
  26. package/lib/cjs/end-epoch.js +1 -1
  27. package/lib/cjs/end-epoch.js.map +1 -1
  28. package/lib/cjs/issue-iot-operations-fund.js +17 -16
  29. package/lib/cjs/issue-iot-operations-fund.js.map +1 -1
  30. package/lib/cjs/issue-test-hotspot.js.map +1 -1
  31. package/lib/cjs/log-hotspot.js +9 -4
  32. package/lib/cjs/log-hotspot.js.map +1 -1
  33. package/lib/cjs/mint-dc.js.map +1 -1
  34. package/lib/cjs/reset-vsr-max-voter-record.js +24 -23
  35. package/lib/cjs/reset-vsr-max-voter-record.js.map +1 -1
  36. package/lib/cjs/reset-vsr-voting-mint.js +24 -23
  37. package/lib/cjs/reset-vsr-voting-mint.js.map +1 -1
  38. package/lib/cjs/setup-hst.js +33 -85
  39. package/lib/cjs/setup-hst.js.map +1 -1
  40. package/lib/cjs/submit-price.js.map +1 -1
  41. package/lib/cjs/{create-active-device-aggregator.js → take-snapshot.js} +7 -49
  42. package/lib/cjs/take-snapshot.js.map +1 -0
  43. package/lib/cjs/temp-claim-failed-claims.js +149 -0
  44. package/lib/cjs/temp-claim-failed-claims.js.map +1 -0
  45. package/lib/cjs/update-account-circuit-breaker.js +21 -18
  46. package/lib/cjs/update-account-circuit-breaker.js.map +1 -1
  47. package/lib/cjs/update-dao.js +47 -34
  48. package/lib/cjs/update-dao.js.map +1 -1
  49. package/lib/cjs/update-data-credits.js +19 -18
  50. package/lib/cjs/update-data-credits.js.map +1 -1
  51. package/lib/cjs/update-delegated-dc-subdao.js +18 -17
  52. package/lib/cjs/update-delegated-dc-subdao.js.map +1 -1
  53. package/lib/cjs/update-lazy-distributor.js +25 -24
  54. package/lib/cjs/update-lazy-distributor.js.map +1 -1
  55. package/lib/cjs/update-lazy-transactions.js +16 -14
  56. package/lib/cjs/update-lazy-transactions.js.map +1 -1
  57. package/lib/cjs/update-mint-circuit-breaker.js +18 -17
  58. package/lib/cjs/update-mint-circuit-breaker.js.map +1 -1
  59. package/lib/cjs/update-registrar-authorities.js +15 -11
  60. package/lib/cjs/update-registrar-authorities.js.map +1 -1
  61. package/lib/cjs/update-rewardable-entity-config.js +66 -15
  62. package/lib/cjs/update-rewardable-entity-config.js.map +1 -1
  63. package/lib/cjs/update-subdao-vehnt.js +35 -34
  64. package/lib/cjs/update-subdao-vehnt.js.map +1 -1
  65. package/lib/cjs/update-subdao.js +62 -56
  66. package/lib/cjs/update-subdao.js.map +1 -1
  67. package/lib/cjs/upgrade-idl.js +18 -17
  68. package/lib/cjs/upgrade-idl.js.map +1 -1
  69. package/lib/cjs/utils.js +7 -52
  70. package/lib/cjs/utils.js.map +1 -1
  71. package/lib/cjs/{repair-iot-operations-fund.js → write-merkle-canopy-depths.js} +11 -49
  72. package/lib/cjs/write-merkle-canopy-depths.js.map +1 -0
  73. package/lib/esm/src/approve-carrier.js +27 -26
  74. package/lib/esm/src/approve-carrier.js.map +1 -1
  75. package/lib/esm/src/approve-program.js +30 -29
  76. package/lib/esm/src/approve-program.js.map +1 -1
  77. package/lib/esm/src/claim-rewards.js.map +1 -1
  78. package/lib/esm/src/close-buffers.js +23 -22
  79. package/lib/esm/src/close-buffers.js.map +1 -1
  80. package/lib/esm/src/close-canopy.js +28 -24
  81. package/lib/esm/src/close-canopy.js.map +1 -1
  82. package/lib/esm/src/close-lazy-transaction-markers.js +102 -0
  83. package/lib/esm/src/close-lazy-transaction-markers.js.map +1 -0
  84. package/lib/esm/src/create-carrier.js +1 -1
  85. package/lib/esm/src/create-carrier.js.map +1 -1
  86. package/lib/esm/src/create-dao.js +87 -92
  87. package/lib/esm/src/create-dao.js.map +1 -1
  88. package/lib/esm/src/create-data-only-config.js +132 -0
  89. package/lib/esm/src/create-data-only-config.js.map +1 -0
  90. package/lib/esm/src/create-maker.js +59 -57
  91. package/lib/esm/src/create-maker.js.map +1 -1
  92. package/lib/esm/src/create-price-oracle.js +37 -31
  93. package/lib/esm/src/create-price-oracle.js.map +1 -1
  94. package/lib/esm/src/create-subdao.js +128 -144
  95. package/lib/esm/src/create-subdao.js.map +1 -1
  96. package/lib/esm/src/distribute-iot-operations-fund.js +79 -0
  97. package/lib/esm/src/distribute-iot-operations-fund.js.map +1 -0
  98. package/lib/esm/src/end-epoch.js +1 -1
  99. package/lib/esm/src/end-epoch.js.map +1 -1
  100. package/lib/esm/src/issue-iot-operations-fund.js +27 -26
  101. package/lib/esm/src/issue-iot-operations-fund.js.map +1 -1
  102. package/lib/esm/src/issue-test-hotspot.js.map +1 -1
  103. package/lib/esm/src/log-hotspot.js +9 -4
  104. package/lib/esm/src/log-hotspot.js.map +1 -1
  105. package/lib/esm/src/mint-dc.js.map +1 -1
  106. package/lib/esm/src/reset-vsr-max-voter-record.js +32 -31
  107. package/lib/esm/src/reset-vsr-max-voter-record.js.map +1 -1
  108. package/lib/esm/src/reset-vsr-voting-mint.js +32 -31
  109. package/lib/esm/src/reset-vsr-voting-mint.js.map +1 -1
  110. package/lib/esm/src/setup-hst.js +41 -92
  111. package/lib/esm/src/setup-hst.js.map +1 -1
  112. package/lib/esm/src/submit-price.js.map +1 -1
  113. package/lib/esm/src/take-snapshot.js +29 -0
  114. package/lib/esm/src/take-snapshot.js.map +1 -0
  115. package/lib/esm/src/temp-claim-failed-claims.js +107 -0
  116. package/lib/esm/src/temp-claim-failed-claims.js.map +1 -0
  117. package/lib/esm/src/update-account-circuit-breaker.js +29 -26
  118. package/lib/esm/src/update-account-circuit-breaker.js.map +1 -1
  119. package/lib/esm/src/update-dao.js +55 -42
  120. package/lib/esm/src/update-dao.js.map +1 -1
  121. package/lib/esm/src/update-data-credits.js +26 -25
  122. package/lib/esm/src/update-data-credits.js.map +1 -1
  123. package/lib/esm/src/update-delegated-dc-subdao.js +27 -26
  124. package/lib/esm/src/update-delegated-dc-subdao.js.map +1 -1
  125. package/lib/esm/src/update-lazy-distributor.js +32 -31
  126. package/lib/esm/src/update-lazy-distributor.js.map +1 -1
  127. package/lib/esm/src/update-lazy-transactions.js +23 -21
  128. package/lib/esm/src/update-lazy-transactions.js.map +1 -1
  129. package/lib/esm/src/update-mint-circuit-breaker.js +26 -25
  130. package/lib/esm/src/update-mint-circuit-breaker.js.map +1 -1
  131. package/lib/esm/src/update-registrar-authorities.js +22 -18
  132. package/lib/esm/src/update-registrar-authorities.js.map +1 -1
  133. package/lib/esm/src/update-rewardable-entity-config.js +66 -15
  134. package/lib/esm/src/update-rewardable-entity-config.js.map +1 -1
  135. package/lib/esm/src/update-subdao-vehnt.js +45 -44
  136. package/lib/esm/src/update-subdao-vehnt.js.map +1 -1
  137. package/lib/esm/src/update-subdao.js +72 -66
  138. package/lib/esm/src/update-subdao.js.map +1 -1
  139. package/lib/esm/src/upgrade-idl.js +24 -23
  140. package/lib/esm/src/upgrade-idl.js.map +1 -1
  141. package/lib/esm/src/utils.js +4 -46
  142. package/lib/esm/src/utils.js.map +1 -1
  143. package/lib/esm/src/write-merkle-canopy-depths.js +34 -0
  144. package/lib/esm/src/write-merkle-canopy-depths.js.map +1 -0
  145. package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
  146. package/lib/types/src/approve-carrier.d.ts.map +1 -1
  147. package/lib/types/src/approve-program.d.ts.map +1 -1
  148. package/lib/types/src/close-buffers.d.ts.map +1 -1
  149. package/lib/types/src/close-canopy.d.ts.map +1 -1
  150. package/lib/types/src/close-lazy-transaction-markers.d.ts +2 -0
  151. package/lib/types/src/close-lazy-transaction-markers.d.ts.map +1 -0
  152. package/lib/types/src/create-dao.d.ts.map +1 -1
  153. package/lib/types/src/{update-aggregator.d.ts → create-data-only-config.d.ts} +1 -1
  154. package/lib/types/src/create-data-only-config.d.ts.map +1 -0
  155. package/lib/types/src/create-maker.d.ts.map +1 -1
  156. package/lib/types/src/create-price-oracle.d.ts.map +1 -1
  157. package/lib/types/src/create-subdao.d.ts.map +1 -1
  158. package/lib/types/src/distribute-iot-operations-fund.d.ts +2 -0
  159. package/lib/types/src/distribute-iot-operations-fund.d.ts.map +1 -0
  160. package/lib/types/src/issue-iot-operations-fund.d.ts.map +1 -1
  161. package/lib/types/src/log-hotspot.d.ts.map +1 -1
  162. package/lib/types/src/reset-vsr-max-voter-record.d.ts.map +1 -1
  163. package/lib/types/src/reset-vsr-voting-mint.d.ts.map +1 -1
  164. package/lib/types/src/setup-hst.d.ts +0 -2
  165. package/lib/types/src/setup-hst.d.ts.map +1 -1
  166. package/lib/types/src/{reset-clockwork.d.ts → take-snapshot.d.ts} +1 -1
  167. package/lib/types/src/take-snapshot.d.ts.map +1 -0
  168. package/lib/types/src/{repair-iot-operations-fund.d.ts → temp-claim-failed-claims.d.ts} +1 -1
  169. package/lib/types/src/temp-claim-failed-claims.d.ts.map +1 -0
  170. package/lib/types/src/update-dao.d.ts.map +1 -1
  171. package/lib/types/src/update-data-credits.d.ts.map +1 -1
  172. package/lib/types/src/update-delegated-dc-subdao.d.ts.map +1 -1
  173. package/lib/types/src/update-lazy-distributor.d.ts.map +1 -1
  174. package/lib/types/src/update-lazy-transactions.d.ts.map +1 -1
  175. package/lib/types/src/update-mint-circuit-breaker.d.ts.map +1 -1
  176. package/lib/types/src/update-rewardable-entity-config.d.ts.map +1 -1
  177. package/lib/types/src/update-subdao-vehnt.d.ts.map +1 -1
  178. package/lib/types/src/update-subdao.d.ts.map +1 -1
  179. package/lib/types/src/upgrade-idl.d.ts.map +1 -1
  180. package/lib/types/src/utils.d.ts +1 -11
  181. package/lib/types/src/utils.d.ts.map +1 -1
  182. package/lib/types/src/write-merkle-canopy-depths.d.ts +2 -0
  183. package/lib/types/src/write-merkle-canopy-depths.d.ts.map +1 -0
  184. package/package.json +25 -28
  185. package/lib/cjs/create-active-device-aggregator.js.map +0 -1
  186. package/lib/cjs/repair-iot-operations-fund.js.map +0 -1
  187. package/lib/cjs/reset-clockwork.js +0 -143
  188. package/lib/cjs/reset-clockwork.js.map +0 -1
  189. package/lib/cjs/update-aggregator.js +0 -115
  190. package/lib/cjs/update-aggregator.js.map +0 -1
  191. package/lib/esm/src/create-active-device-aggregator.js +0 -71
  192. package/lib/esm/src/create-active-device-aggregator.js.map +0 -1
  193. package/lib/esm/src/repair-iot-operations-fund.js +0 -72
  194. package/lib/esm/src/repair-iot-operations-fund.js.map +0 -1
  195. package/lib/esm/src/reset-clockwork.js +0 -102
  196. package/lib/esm/src/reset-clockwork.js.map +0 -1
  197. package/lib/esm/src/update-aggregator.js +0 -74
  198. package/lib/esm/src/update-aggregator.js.map +0 -1
  199. package/lib/types/src/create-active-device-aggregator.d.ts +0 -2
  200. package/lib/types/src/create-active-device-aggregator.d.ts.map +0 -1
  201. package/lib/types/src/repair-iot-operations-fund.d.ts.map +0 -1
  202. package/lib/types/src/reset-clockwork.d.ts.map +0 -1
  203. package/lib/types/src/update-aggregator.d.ts.map +0 -1
@@ -1,19 +1,19 @@
1
- import * as anchor from "@coral-xyz/anchor";
2
- import { ThresholdType } from "@helium/circuit-breaker-sdk";
3
- import { init as initHem, rewardableEntityConfigKey, } from "@helium/helium-entity-manager-sdk";
4
- import { daoKey, init as initDao, subDaoKey, threadKey, delegatorRewardsPercent, } from "@helium/helium-sub-daos-sdk";
5
- import { init as initLazy, lazyDistributorKey, } from "@helium/lazy-distributor-sdk";
6
- import { oracleSignerKey } from "@helium/rewards-oracle-sdk";
7
- import { sendInstructions, toBN } from "@helium/spl-utils";
8
- import { toU128 } from "@helium/treasury-management-sdk";
9
- import { init as initVsr, registrarKey, } from "@helium/voter-stake-registry-sdk";
10
- import { getGovernanceProgramVersion, GoverningTokenConfigAccountArgs, GoverningTokenType, MintMaxVoteWeightSource, SetRealmAuthorityAction, withCreateRealm, withSetRealmAuthority, } from "@solana/spl-governance";
11
- import { getAssociatedTokenAddress } from "@solana/spl-token";
12
- import { ComputeBudgetProgram, LAMPORTS_PER_SOL, PublicKey, SystemProgram, } from "@solana/web3.js";
13
- import Squads from "@sqds/sdk";
14
- import os from "os";
15
- import yargs from "yargs/yargs";
16
- import { createAndMint, createSwitchboardAggregator, exists, getUnixTimestamp, isLocalhost, loadKeypair, parseEmissionsSchedule, sendInstructionsOrSquads, } from "./utils";
1
+ import * as anchor from '@coral-xyz/anchor';
2
+ import { ThresholdType } from '@helium/circuit-breaker-sdk';
3
+ import { init as initHem, rewardableEntityConfigKey, } from '@helium/helium-entity-manager-sdk';
4
+ import { daoKey, init as initDao, subDaoKey, threadKey, delegatorRewardsPercent, } from '@helium/helium-sub-daos-sdk';
5
+ import { init as initLazy, lazyDistributorKey, } from '@helium/lazy-distributor-sdk';
6
+ import { oracleSignerKey } from '@helium/rewards-oracle-sdk';
7
+ import { sendInstructions, toBN } from '@helium/spl-utils';
8
+ import { toU128 } from '@helium/treasury-management-sdk';
9
+ import { init as initVsr, registrarKey, } from '@helium/voter-stake-registry-sdk';
10
+ import { getGovernanceProgramVersion, GoverningTokenConfigAccountArgs, GoverningTokenType, MintMaxVoteWeightSource, SetRealmAuthorityAction, withCreateRealm, withSetRealmAuthority, } from '@solana/spl-governance';
11
+ import { getAssociatedTokenAddress } from '@solana/spl-token';
12
+ import { ComputeBudgetProgram, LAMPORTS_PER_SOL, PublicKey, SystemProgram, } from '@solana/web3.js';
13
+ import Squads from '@sqds/sdk';
14
+ import os from 'os';
15
+ import yargs from 'yargs/yargs';
16
+ import { createAndMint, exists, getUnixTimestamp, isLocalhost, loadKeypair, parseEmissionsSchedule, sendInstructionsOrSquads, } from './utils';
17
17
  const SECS_PER_DAY = 86400;
18
18
  const SECS_PER_YEAR = 365 * SECS_PER_DAY;
19
19
  const MAX_LOCKUP = 4 * SECS_PER_YEAR;
@@ -22,129 +22,127 @@ const SCALE = 100;
22
22
  export async function run(args = process.argv) {
23
23
  const yarg = yargs(args).options({
24
24
  wallet: {
25
- alias: "k",
26
- describe: "Anchor wallet keypair",
25
+ alias: 'k',
26
+ describe: 'Anchor wallet keypair',
27
27
  default: `${os.homedir()}/.config/solana/id.json`,
28
28
  },
29
29
  noHotspots: {
30
- type: "boolean",
30
+ type: 'boolean',
31
31
  default: false,
32
32
  },
33
33
  url: {
34
- alias: "u",
35
- default: "http://127.0.0.1:8899",
36
- describe: "The solana url",
34
+ alias: 'u',
35
+ default: 'http://127.0.0.1:8899',
36
+ describe: 'The solana url',
37
37
  },
38
38
  hntPubkey: {
39
- type: "string",
40
- describe: "Pubkey of the HNT token",
39
+ type: 'string',
40
+ describe: 'Pubkey of the HNT token',
41
41
  },
42
42
  dcPubkey: {
43
- type: "string",
44
- describe: "Pubkey of the DC token",
43
+ type: 'string',
44
+ describe: 'Pubkey of the DC token',
45
45
  },
46
46
  name: {
47
- alias: "n",
48
- describe: "The name of the subdao",
49
- type: "string",
47
+ alias: 'n',
48
+ describe: 'The name of the subdao',
49
+ type: 'string',
50
50
  required: true,
51
51
  },
52
52
  realmName: {
53
- describe: "The name of the realm",
54
- type: "string",
53
+ describe: 'The name of the realm',
54
+ type: 'string',
55
55
  required: true,
56
56
  },
57
57
  subdaoKeypair: {
58
- type: "string",
59
- describe: "Keypair of the subdao token",
58
+ type: 'string',
59
+ describe: 'Keypair of the subdao token',
60
60
  required: true,
61
61
  },
62
62
  executeTransaction: {
63
- type: "boolean",
63
+ type: 'boolean',
64
64
  },
65
65
  numTokens: {
66
- type: "number",
67
- describe: "Number of subdao tokens to pre mint before assigning authority to lazy distributor",
66
+ type: 'number',
67
+ describe: 'Number of subdao tokens to pre mint before assigning authority to lazy distributor',
68
68
  default: 0,
69
69
  },
70
70
  bucket: {
71
- type: "string",
72
- describe: "Bucket URL prefix holding all of the metadata jsons",
73
- default: "https://shdw-drive.genesysgo.net/6tcnBSybPG7piEDShBcrVtYJDPSvGrDbVvXmXKpzBvWP",
71
+ type: 'string',
72
+ describe: 'Bucket URL prefix holding all of the metadata jsons',
73
+ default: 'https://shdw-drive.genesysgo.net/6tcnBSybPG7piEDShBcrVtYJDPSvGrDbVvXmXKpzBvWP',
74
74
  },
75
75
  rewardsOracleUrl: {
76
- alias: "ro",
77
- type: "string",
78
- describe: "The rewards oracle URL",
79
- default: "http://localhost:8080",
76
+ alias: 'ro',
77
+ type: 'string',
78
+ describe: 'The rewards oracle URL',
79
+ default: 'http://localhost:8080',
80
80
  },
81
81
  oracleKeypair: {
82
- type: "string",
83
- describe: "Keypair of the oracle",
82
+ type: 'string',
83
+ describe: 'Keypair of the oracle',
84
84
  default: `${__dirname}/../../keypairs/oracle.json`,
85
85
  },
86
86
  aggregatorKeypair: {
87
- type: "string",
88
- describe: "Keypair of the aggregtor",
87
+ type: 'string',
88
+ describe: 'Keypair of the aggregtor',
89
89
  },
90
90
  dcBurnAuthority: {
91
- type: "string",
92
- describe: "The authority to burn DC tokens",
91
+ type: 'string',
92
+ describe: 'The authority to burn DC tokens',
93
93
  required: true,
94
94
  },
95
- activeDeviceOracleUrl: {
96
- alias: "ao",
97
- type: "string",
98
- describe: "The active device oracle URL",
99
- default: "http://localhost:8081",
100
- },
101
95
  queue: {
102
- type: "string",
103
- describe: "Switchbaord oracle queue",
104
- default: "uPeRMdfPmrPqgRWSrjAnAkH78RqAhe5kXoW6vBYRqFX",
96
+ type: 'string',
97
+ describe: 'Switchbaord oracle queue',
98
+ default: 'uPeRMdfPmrPqgRWSrjAnAkH78RqAhe5kXoW6vBYRqFX',
105
99
  },
106
100
  crank: {
107
- type: "string",
108
- describe: "Switchboard crank",
109
- default: "UcrnK4w2HXCEjY8z6TcQ9tysYr3c9VcFLdYAU9YQP5e",
101
+ type: 'string',
102
+ describe: 'Switchboard crank',
103
+ default: 'UcrnK4w2HXCEjY8z6TcQ9tysYr3c9VcFLdYAU9YQP5e',
110
104
  },
111
105
  switchboardNetwork: {
112
- type: "string",
113
- describe: "The switchboard network",
114
- default: "mainnet-beta",
106
+ type: 'string',
107
+ describe: 'The switchboard network',
108
+ default: 'mainnet-beta',
115
109
  },
116
110
  decimals: {
117
- type: "number",
111
+ type: 'number',
118
112
  default: 6,
119
113
  },
120
114
  govProgramId: {
121
- type: "string",
122
- describe: "Pubkey of the GOV program",
123
- default: "hgovkRU6Ghe1Qoyb54HdSLdqN7VtxaifBzRmh9jtd3S",
115
+ type: 'string',
116
+ describe: 'Pubkey of the GOV program',
117
+ default: 'hgovkRU6Ghe1Qoyb54HdSLdqN7VtxaifBzRmh9jtd3S',
124
118
  },
125
119
  councilKeypair: {
126
- type: "string",
127
- describe: "Keypair of gov council token",
120
+ type: 'string',
121
+ describe: 'Keypair of gov council token',
128
122
  default: `${__dirname}/../../keypairs/council.json`,
129
123
  },
130
124
  multisig: {
131
- type: "string",
132
- describe: "Address of the squads multisig for subdao authority. If not provided, your wallet will be the authority",
125
+ type: 'string',
126
+ describe: 'Address of the squads multisig for subdao authority. If not provided, your wallet will be the authority',
133
127
  },
134
128
  authorityIndex: {
135
- type: "number",
136
- describe: "Authority index for squads. Defaults to 1",
129
+ type: 'number',
130
+ describe: 'Authority index for squads. Defaults to 1',
137
131
  default: 1,
138
132
  },
139
133
  delegatorRewardsPercent: {
140
- type: "number",
134
+ type: 'number',
141
135
  required: true,
142
- describe: "Percentage of rewards allocated to delegators. Must be between 0-100 and can have 8 decimal places.",
136
+ describe: 'Percentage of rewards allocated to delegators. Must be between 0-100 and can have 8 decimal places.',
143
137
  },
144
138
  emissionSchedulePath: {
145
139
  required: true,
146
- describe: "Path to file that contains the dnt emissions schedule",
147
- type: "string",
140
+ describe: 'Path to file that contains the dnt emissions schedule',
141
+ type: 'string',
142
+ },
143
+ activeDeviceAuthority: {
144
+ type: 'string',
145
+ describe: 'The authority that can set hotspot active status',
148
146
  },
149
147
  });
150
148
  const argv = await yarg.argv;
@@ -158,8 +156,10 @@ export async function run(args = process.argv) {
158
156
  const heliumSubDaosProgram = await initDao(provider);
159
157
  const hemProgram = await initHem(provider);
160
158
  const heliumVsrProgram = await initVsr(provider);
161
- const wallet = loadKeypair(argv.wallet);
162
- const aggKeypair = await loadKeypair(argv.aggregatorKeypair || `${__dirname}/../../keypairs/aggregator-${name}.json`);
159
+ const walletKP = loadKeypair(argv.wallet);
160
+ const wallet = new anchor.Wallet(walletKP);
161
+ const aggKeypair = await loadKeypair(argv.aggregatorKeypair ||
162
+ `${__dirname}/../../keypairs/aggregator-${name}.json`);
163
163
  const subdaoKeypair = await loadKeypair(argv.subdaoKeypair);
164
164
  const oracleKeypair = await loadKeypair(argv.oracleKeypair);
165
165
  const oracleKey = oracleKeypair.publicKey;
@@ -167,20 +167,20 @@ export async function run(args = process.argv) {
167
167
  const govProgramId = new PublicKey(argv.govProgramId);
168
168
  const councilKeypair = await loadKeypair(argv.councilKeypair);
169
169
  const me = provider.wallet.publicKey;
170
- console.log("Subdao mint", subdaoKeypair.publicKey.toBase58());
171
- console.log("GOV PID", govProgramId.toBase58());
172
- console.log("COUNCIL", councilKeypair.publicKey.toBase58());
170
+ console.log('Subdao mint', subdaoKeypair.publicKey.toBase58());
171
+ console.log('GOV PID', govProgramId.toBase58());
172
+ console.log('COUNCIL', councilKeypair.publicKey.toBase58());
173
173
  const conn = provider.connection;
174
174
  const dao = (await daoKey(new PublicKey(argv.hntPubkey)))[0];
175
175
  const subdao = (await subDaoKey(subdaoKeypair.publicKey))[0];
176
- console.log("DAO", dao.toString());
177
- console.log("SUBDAO", subdao.toString());
176
+ console.log('DAO', dao.toString());
177
+ console.log('SUBDAO', subdao.toString());
178
178
  const daoAcc = await heliumSubDaosProgram.account.daoV0.fetch(dao);
179
- const calculateThread = threadKey(subdao, "calculate")[0];
180
- const issueThread = threadKey(subdao, "issue")[0];
179
+ const calculateThread = threadKey(subdao, 'calculate')[0];
180
+ const issueThread = threadKey(subdao, 'issue')[0];
181
181
  const emissionSchedule = await parseEmissionsSchedule(argv.emissionSchedulePath);
182
- const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet, {
183
- commitmentOrConfig: "finalized"
182
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
183
+ commitmentOrConfig: 'finalized',
184
184
  });
185
185
  let authority = provider.wallet.publicKey;
186
186
  const multisig = argv.multisig ? new PublicKey(argv.multisig) : null;
@@ -188,10 +188,9 @@ export async function run(args = process.argv) {
188
188
  authority = squads.getAuthorityPDA(multisig, argv.authorityIndex);
189
189
  }
190
190
  if (await exists(conn, subdao)) {
191
- const subDao = await heliumSubDaosProgram.account.subDaoV0.fetch(subdao);
192
- console.log(`Subdao exists. Key: ${subdao.toBase58()}. Agg: ${subDao.activeDeviceAggregator.toBase58()}}`);
193
- console.log("Calculate thread", calculateThread.toString());
194
- console.log("Issue thread", issueThread.toString());
191
+ console.log(`Subdao exists. Key: ${subdao.toBase58()}.`);
192
+ console.log('Calculate thread', calculateThread.toString());
193
+ console.log('Issue thread', issueThread.toString());
195
194
  return;
196
195
  }
197
196
  const [lazyDist] = await lazyDistributorKey(subdaoKeypair.publicKey);
@@ -199,7 +198,7 @@ export async function run(args = process.argv) {
199
198
  let payer = provider.wallet.publicKey;
200
199
  const auth = await provider.connection.getAccountInfo(daoAcc.authority);
201
200
  if (auth.owner.equals(govProgramId)) {
202
- const daoPayer = PublicKey.findProgramAddressSync([Buffer.from("native-treasury", "utf-8"), daoAcc.authority.toBuffer()], govProgramId)[0];
201
+ const daoPayer = PublicKey.findProgramAddressSync([Buffer.from('native-treasury', 'utf-8'), daoAcc.authority.toBuffer()], govProgramId)[0];
203
202
  payer = daoPayer;
204
203
  }
205
204
  await createAndMint({
@@ -213,13 +212,13 @@ export async function run(args = process.argv) {
213
212
  updateAuthority: authority,
214
213
  });
215
214
  let instructions = [];
216
- const govProgramVersion = await getGovernanceProgramVersion(conn, govProgramId, isLocalhost(provider) ? "localnet" : undefined);
215
+ const govProgramVersion = await getGovernanceProgramVersion(conn, govProgramId, isLocalhost(provider) ? 'localnet' : undefined);
217
216
  const realmName = argv.realmName;
218
- const realm = await PublicKey.findProgramAddressSync([Buffer.from("governance", "utf-8"), Buffer.from(realmName, "utf-8")], govProgramId)[0];
219
- console.log("Realm, ", realm.toBase58());
217
+ const realm = await PublicKey.findProgramAddressSync([Buffer.from('governance', 'utf-8'), Buffer.from(realmName, 'utf-8')], govProgramId)[0];
218
+ console.log('Realm, ', realm.toBase58());
220
219
  const isFreshRealm = !(await exists(conn, realm));
221
220
  if (isFreshRealm) {
222
- console.log("Initializing Realm");
221
+ console.log('Initializing Realm');
223
222
  await withCreateRealm(instructions, govProgramId, govProgramVersion, realmName, provider.wallet.publicKey, // realmAuthorityPk
224
223
  subdaoKeypair.publicKey, // communityMintPk
225
224
  provider.wallet.publicKey, // payer
@@ -241,7 +240,7 @@ export async function run(args = process.argv) {
241
240
  }
242
241
  const registrar = (await registrarKey(realm, subdaoKeypair.publicKey))[0];
243
242
  if (!(await exists(conn, registrar))) {
244
- console.log("Initializing VSR Registrar");
243
+ console.log('Initializing VSR Registrar');
245
244
  instructions.push(await heliumVsrProgram.methods
246
245
  .initializeRegistrarV0({
247
246
  positionUpdateAuthority: null,
@@ -254,7 +253,7 @@ export async function run(args = process.argv) {
254
253
  realmGoverningTokenMint: subdaoKeypair.publicKey,
255
254
  })
256
255
  .instruction());
257
- console.log("Configuring VSR voting mint at [0]");
256
+ console.log('Configuring VSR voting mint at [0]');
258
257
  instructions.push(await heliumVsrProgram.methods
259
258
  .configureVotingMintV0({
260
259
  idx: 0,
@@ -279,7 +278,7 @@ export async function run(args = process.argv) {
279
278
  .instruction());
280
279
  await sendInstructions(provider, instructions, []);
281
280
  instructions = [];
282
- console.log("Creating max voter record");
281
+ console.log('Creating max voter record');
283
282
  instructions.push(await heliumVsrProgram.methods
284
283
  .updateMaxVoterWeightV0()
285
284
  .accounts({
@@ -311,7 +310,7 @@ export async function run(args = process.argv) {
311
310
  thresholdType: ThresholdType.Absolute,
312
311
  threshold: new anchor.BN(emissionSchedule[0].emissionsPerEpoch).mul(new anchor.BN(5)),
313
312
  },
314
- approver: oracleSignerKey()[0]
313
+ approver: oracleSignerKey()[0],
315
314
  })
316
315
  .accounts({
317
316
  rewardsMint: subdaoKeypair.publicKey,
@@ -320,20 +319,6 @@ export async function run(args = process.argv) {
320
319
  .rpc({ skipPreflight: true });
321
320
  }
322
321
  if (!(await exists(conn, subdao))) {
323
- let aggregatorKey = new PublicKey("GvDMxPzN1sCj7L26YDK2HnMRXEQmQ2aemov8YBtPS7vR");
324
- if (!isLocalhost(provider)) {
325
- console.log("Initializing switchboard oracle");
326
- aggregatorKey = await createSwitchboardAggregator({
327
- crank: new PublicKey(argv.crank),
328
- queue: new PublicKey(argv.queue),
329
- wallet,
330
- provider,
331
- aggKeypair,
332
- url: argv.activeDeviceOracleUrl,
333
- switchboardNetwork: argv.switchboardNetwork,
334
- authority,
335
- });
336
- }
337
322
  console.log(`Initializing ${name} SubDAO`);
338
323
  const currentDntEmission = emissionSchedule[0];
339
324
  const initSubdaoMethod = await heliumSubDaosProgram.methods
@@ -350,16 +335,18 @@ export async function run(args = process.argv) {
350
335
  },
351
336
  },
352
337
  // $40 for iot, $0 for mobile
353
- onboardingDcFee: name.toUpperCase() == "IOT" ? toBN(4000000, 0) : toBN(0, 0),
354
- onboardingDataOnlyDcFee: name.toUpperCase() == "IOT" ? toBN(1000000, 0) : toBN(0, 0),
338
+ onboardingDcFee: name.toUpperCase() == 'IOT' ? toBN(4000000, 0) : toBN(0, 0),
339
+ onboardingDataOnlyDcFee: name.toUpperCase() == 'IOT' ? toBN(1000000, 0) : toBN(0, 0),
355
340
  delegatorRewardsPercent: delegatorRewardsPercent(argv.delegatorRewardsPercent),
341
+ activeDeviceAuthority: argv.activeDeviceAuthority
342
+ ? new PublicKey(argv.activeDeviceAuthority)
343
+ : authority,
356
344
  })
357
345
  .accounts({
358
346
  dao,
359
347
  dntMint: subdaoKeypair.publicKey,
360
348
  rewardsEscrow,
361
349
  hntMint: new PublicKey(argv.hntPubkey),
362
- activeDeviceAggregator: aggregatorKey,
363
350
  payer,
364
351
  dntMintAuthority: daoAcc.authority,
365
352
  subDaoFreezeAuthority: daoAcc.authority,
@@ -384,25 +371,6 @@ export async function run(args = process.argv) {
384
371
  lamports: LAMPORTS_PER_SOL * 2,
385
372
  }),
386
373
  ]);
387
- // Reset thread
388
- await sendInstructionsOrSquads({
389
- provider,
390
- instructions: [
391
- await heliumSubDaosProgram.methods
392
- .resetSubDaoThreadV0()
393
- .accounts({
394
- subDao: subDaoKey(subdaoKeypair.publicKey)[0],
395
- authority,
396
- threadPayer: authority,
397
- })
398
- .instruction(),
399
- ],
400
- executeTransaction: true,
401
- squads,
402
- multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
403
- authorityIndex: argv.authorityIndex,
404
- signers: [],
405
- });
406
374
  const { subDao } = await initSubdaoMethod.pubkeys();
407
375
  await sendInstructionsOrSquads({
408
376
  provider,
@@ -414,9 +382,9 @@ export async function run(args = process.argv) {
414
382
  dcBurnAuthority: null,
415
383
  onboardingDcFee: null,
416
384
  onboardingDataOnlyDcFee: null,
417
- activeDeviceAggregator: null,
418
385
  registrar: null,
419
386
  delegatorRewardsPercent: null,
387
+ activeDeviceAuthority: null,
420
388
  })
421
389
  .accounts({
422
390
  subDao,
@@ -438,7 +406,7 @@ export async function run(args = process.argv) {
438
406
  const instructions = [];
439
407
  console.log(`Initalizing ${name} RewardableEntityConfig`);
440
408
  let settings;
441
- if (name.toUpperCase() == "IOT") {
409
+ if (name.toUpperCase() == 'IOT') {
442
410
  settings = {
443
411
  iotConfig: {
444
412
  minGain: 10,
@@ -450,9 +418,24 @@ export async function run(args = process.argv) {
450
418
  }
451
419
  else {
452
420
  settings = {
453
- mobileConfig: {
454
- fullLocationStakingFee: toBN(500000, 0),
455
- dataonlyLocationStakingFee: toBN(500000, 0),
421
+ mobileConfigV1: {
422
+ feesByDevice: [
423
+ {
424
+ deviceType: { cbrs: {} },
425
+ dcOnboardingFee: toBN(40, 5),
426
+ locationStakingFee: toBN(10, 5),
427
+ },
428
+ {
429
+ deviceType: { wifiIndoor: {} },
430
+ dcOnboardingFee: toBN(0, 5),
431
+ locationStakingFee: toBN(0, 5),
432
+ },
433
+ {
434
+ deviceType: { wifiOutdoor: {} },
435
+ dcOnboardingFee: toBN(0, 5),
436
+ locationStakingFee: toBN(0, 5),
437
+ },
438
+ ],
456
439
  },
457
440
  };
458
441
  }
@@ -460,6 +443,7 @@ export async function run(args = process.argv) {
460
443
  .initializeRewardableEntityConfigV0({
461
444
  symbol: name.toUpperCase(),
462
445
  settings,
446
+ stakingRequirement: toBN(0, 0),
463
447
  })
464
448
  .accounts({
465
449
  subDao: subdao,
@@ -472,7 +456,7 @@ export async function run(args = process.argv) {
472
456
  instructions,
473
457
  squads,
474
458
  executeTransaction: true,
475
- multisig,
459
+ multisig: multisig,
476
460
  authorityIndex: argv.authorityIndex,
477
461
  });
478
462
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-subdao.js","sourceRoot":"","sources":["../../../src/create-subdao.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-subdao.js","sourceRoot":"","sources":["../../../src/create-subdao.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ import * as anchor from '@coral-xyz/anchor';
2
+ import * as client from '@helium/distributor-oracle';
3
+ import { init as initHem, keyToAssetKey, } from '@helium/helium-entity-manager-sdk';
4
+ import { init as initLazy, lazyDistributorKey, recipientKey, } from '@helium/lazy-distributor-sdk';
5
+ import { init as initRewards } from '@helium/rewards-oracle-sdk';
6
+ import { daoKey } from '@helium/helium-sub-daos-sdk';
7
+ import { HNT_MINT, IOT_MINT, sendAndConfirmWithRetry } from '@helium/spl-utils';
8
+ import { PublicKey } from '@solana/web3.js';
9
+ import os from 'os';
10
+ import yargs from 'yargs/yargs';
11
+ import BN from 'bn.js';
12
+ const IOT_OPERATIONS_FUND = 'iot_operations_fund';
13
+ const MAX_CLAIM_AMOUNT = new BN('207020547945205');
14
+ export async function run(args = process.argv) {
15
+ const yarg = yargs(args).options({
16
+ wallet: {
17
+ alias: 'k',
18
+ describe: 'Anchor wallet keypair',
19
+ default: `${os.homedir()}/.config/solana/id.json`,
20
+ },
21
+ url: {
22
+ alias: 'u',
23
+ default: 'http://127.0.0.1:8899',
24
+ describe: 'The solana url',
25
+ },
26
+ mint: {
27
+ type: 'string',
28
+ describe: 'Pubkey of the rewards mint',
29
+ default: IOT_MINT.toBase58(),
30
+ },
31
+ hntMint: {
32
+ type: 'string',
33
+ describe: 'Mint address of hnt',
34
+ default: HNT_MINT.toBase58(),
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 hemProgram = await initHem(provider);
43
+ const lazyProgram = await initLazy(provider);
44
+ const rewardsOracleProgram = await initRewards(provider);
45
+ const mint = new PublicKey(argv.mint);
46
+ const [dao] = daoKey(new PublicKey(argv.hntMint));
47
+ const [lazyDistributor] = lazyDistributorKey(mint);
48
+ const [keyToAsset] = keyToAssetKey(dao, IOT_OPERATIONS_FUND, 'utf8');
49
+ const assetId = (await hemProgram.account.keyToAssetV0.fetch(keyToAsset))
50
+ .asset;
51
+ const [recipient] = recipientKey(lazyDistributor, assetId);
52
+ if (!(await provider.connection.getAccountInfo(recipient))) {
53
+ const method = lazyProgram.methods.initializeRecipientV0().accounts({
54
+ lazyDistributor,
55
+ mint: assetId,
56
+ });
57
+ await method.rpc({ skipPreflight: true });
58
+ }
59
+ const rewards = await client.getCurrentRewards(lazyProgram, lazyDistributor, assetId);
60
+ const pending = await client.getPendingRewards(lazyProgram, lazyDistributor, daoKey(HNT_MINT)[0], [IOT_OPERATIONS_FUND], 'utf8');
61
+ // Avoid claiming too much and tripping the breaker
62
+ if (new BN(pending[IOT_OPERATIONS_FUND]).gt(MAX_CLAIM_AMOUNT)) {
63
+ rewards[0].currentRewards = new BN(rewards[0].currentRewards)
64
+ .sub(new BN(pending[IOT_OPERATIONS_FUND]))
65
+ .add(MAX_CLAIM_AMOUNT)
66
+ .toString();
67
+ }
68
+ const tx = await client.formTransaction({
69
+ program: lazyProgram,
70
+ rewardsOracleProgram: rewardsOracleProgram,
71
+ provider,
72
+ rewards,
73
+ asset: assetId,
74
+ lazyDistributor,
75
+ });
76
+ const signed = await provider.wallet.signTransaction(tx);
77
+ await sendAndConfirmWithRetry(provider.connection, signed.serialize(), { skipPreflight: true }, 'confirmed');
78
+ }
79
+ //# sourceMappingURL=distribute-iot-operations-fund.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distribute-iot-operations-fund.js","sourceRoot":"","sources":["../../../src/distribute-iot-operations-fund.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ export async function run(args = process.argv) {
53
53
  epoch,
54
54
  })
55
55
  .preInstructions([
56
- ComputeBudgetProgram.setComputeUnitLimit({ units: 350000 }),
56
+ ComputeBudgetProgram.setComputeUnitLimit({ units: 500000 }),
57
57
  ])
58
58
  .accounts({
59
59
  subDao: subDao.publicKey,