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

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 (290) hide show
  1. package/lib/cjs/approve-carrier.js +120 -0
  2. package/lib/cjs/approve-carrier.js.map +1 -0
  3. package/lib/cjs/approve-program.js +122 -0
  4. package/lib/cjs/approve-program.js.map +1 -0
  5. package/lib/cjs/claim-rewards.js +109 -0
  6. package/lib/cjs/claim-rewards.js.map +1 -0
  7. package/lib/cjs/close-buffers.js +132 -0
  8. package/lib/cjs/close-buffers.js.map +1 -0
  9. package/lib/cjs/close-canopy.js +108 -0
  10. package/lib/cjs/close-canopy.js.map +1 -0
  11. package/lib/cjs/close-lazy-transaction-markers.js +108 -0
  12. package/lib/cjs/close-lazy-transaction-markers.js.map +1 -0
  13. package/lib/cjs/correct-router-dc.js +149 -0
  14. package/lib/cjs/correct-router-dc.js.map +1 -0
  15. package/lib/cjs/create-active-device-aggregator.js +112 -0
  16. package/lib/cjs/create-active-device-aggregator.js.map +1 -0
  17. package/lib/cjs/create-carrier.js +202 -0
  18. package/lib/cjs/create-carrier.js.map +1 -0
  19. package/lib/cjs/create-dao.js +458 -0
  20. package/lib/cjs/create-dao.js.map +1 -0
  21. package/lib/cjs/create-data-only-config.js +175 -0
  22. package/lib/cjs/create-data-only-config.js.map +1 -0
  23. package/lib/cjs/create-maker.js +323 -0
  24. package/lib/cjs/create-maker.js.map +1 -0
  25. package/lib/cjs/create-price-oracle.js +133 -0
  26. package/lib/cjs/create-price-oracle.js.map +1 -0
  27. package/lib/cjs/create-subdao.js +531 -0
  28. package/lib/cjs/create-subdao.js.map +1 -0
  29. package/lib/cjs/distribute-hst.js +94 -0
  30. package/lib/cjs/distribute-hst.js.map +1 -0
  31. package/lib/cjs/distribute-iot-operations-fund.js +120 -0
  32. package/lib/cjs/distribute-iot-operations-fund.js.map +1 -0
  33. package/lib/cjs/ecc-gen.js +17 -0
  34. package/lib/cjs/ecc-gen.js.map +1 -0
  35. package/lib/cjs/end-epoch.js +144 -0
  36. package/lib/cjs/end-epoch.js.map +1 -0
  37. package/lib/cjs/issue-iot-operations-fund.js +123 -0
  38. package/lib/cjs/issue-iot-operations-fund.js.map +1 -0
  39. package/lib/cjs/issue-test-hotspot.js +111 -0
  40. package/lib/cjs/issue-test-hotspot.js.map +1 -0
  41. package/lib/cjs/log-coingecko-price.js +32 -0
  42. package/lib/cjs/log-coingecko-price.js.map +1 -0
  43. package/lib/cjs/log-hotspot.js +103 -0
  44. package/lib/cjs/log-hotspot.js.map +1 -0
  45. package/lib/cjs/log-router-balance.js +89 -0
  46. package/lib/cjs/log-router-balance.js.map +1 -0
  47. package/lib/cjs/log-treasury-price.js +105 -0
  48. package/lib/cjs/log-treasury-price.js.map +1 -0
  49. package/lib/cjs/mint-dc.js +111 -0
  50. package/lib/cjs/mint-dc.js.map +1 -0
  51. package/lib/cjs/repair-iot-operations-fund.js +114 -0
  52. package/lib/cjs/repair-iot-operations-fund.js.map +1 -0
  53. package/lib/cjs/reset-clockwork.js +144 -0
  54. package/lib/cjs/reset-clockwork.js.map +1 -0
  55. package/lib/cjs/reset-vsr-max-voter-record.js +145 -0
  56. package/lib/cjs/reset-vsr-max-voter-record.js.map +1 -0
  57. package/lib/cjs/reset-vsr-voting-mint.js +182 -0
  58. package/lib/cjs/reset-vsr-voting-mint.js.map +1 -0
  59. package/lib/cjs/setup-hst.js +261 -0
  60. package/lib/cjs/setup-hst.js.map +1 -0
  61. package/lib/cjs/submit-price.js +159 -0
  62. package/lib/cjs/submit-price.js.map +1 -0
  63. package/lib/cjs/sum-tokens.js +84 -0
  64. package/lib/cjs/sum-tokens.js.map +1 -0
  65. package/lib/cjs/take-snapshot.js +70 -0
  66. package/lib/cjs/take-snapshot.js.map +1 -0
  67. package/lib/cjs/update-account-circuit-breaker.js +132 -0
  68. package/lib/cjs/update-account-circuit-breaker.js.map +1 -0
  69. package/lib/cjs/update-aggregator.js +116 -0
  70. package/lib/cjs/update-aggregator.js.map +1 -0
  71. package/lib/cjs/update-dao.js +169 -0
  72. package/lib/cjs/update-dao.js.map +1 -0
  73. package/lib/cjs/update-data-credits.js +128 -0
  74. package/lib/cjs/update-data-credits.js.map +1 -0
  75. package/lib/cjs/update-delegated-dc-subdao.js +136 -0
  76. package/lib/cjs/update-delegated-dc-subdao.js.map +1 -0
  77. package/lib/cjs/update-iot-operations-fund-metadata.js +124 -0
  78. package/lib/cjs/update-iot-operations-fund-metadata.js.map +1 -0
  79. package/lib/cjs/update-lazy-distributor.js +138 -0
  80. package/lib/cjs/update-lazy-distributor.js.map +1 -0
  81. package/lib/cjs/update-lazy-transactions.js +117 -0
  82. package/lib/cjs/update-lazy-transactions.js.map +1 -0
  83. package/lib/cjs/update-mint-circuit-breaker.js +132 -0
  84. package/lib/cjs/update-mint-circuit-breaker.js.map +1 -0
  85. package/lib/cjs/update-registrar-authorities.js +96 -0
  86. package/lib/cjs/update-registrar-authorities.js.map +1 -0
  87. package/lib/cjs/update-rewardable-entity-config.js +155 -0
  88. package/lib/cjs/update-rewardable-entity-config.js.map +1 -0
  89. package/lib/cjs/update-subdao-vehnt.js +295 -0
  90. package/lib/cjs/update-subdao-vehnt.js.map +1 -0
  91. package/lib/cjs/update-subdao.js +261 -0
  92. package/lib/cjs/update-subdao.js.map +1 -0
  93. package/lib/cjs/upgrade-idl.js +109 -0
  94. package/lib/cjs/upgrade-idl.js.map +1 -0
  95. package/lib/cjs/utils.js +457 -0
  96. package/lib/cjs/utils.js.map +1 -0
  97. package/lib/esm/src/approve-carrier.js +79 -0
  98. package/lib/esm/src/approve-carrier.js.map +1 -0
  99. package/lib/esm/src/approve-program.js +81 -0
  100. package/lib/esm/src/approve-program.js.map +1 -0
  101. package/lib/esm/src/claim-rewards.js +68 -0
  102. package/lib/esm/src/claim-rewards.js.map +1 -0
  103. package/lib/esm/src/close-buffers.js +91 -0
  104. package/lib/esm/src/close-buffers.js.map +1 -0
  105. package/lib/esm/src/close-canopy.js +67 -0
  106. package/lib/esm/src/close-canopy.js.map +1 -0
  107. package/lib/esm/src/close-lazy-transaction-markers.js +67 -0
  108. package/lib/esm/src/close-lazy-transaction-markers.js.map +1 -0
  109. package/lib/esm/src/correct-router-dc.js +108 -0
  110. package/lib/esm/src/correct-router-dc.js.map +1 -0
  111. package/lib/esm/src/create-active-device-aggregator.js +71 -0
  112. package/lib/esm/src/create-active-device-aggregator.js.map +1 -0
  113. package/lib/esm/src/create-carrier.js +161 -0
  114. package/lib/esm/src/create-carrier.js.map +1 -0
  115. package/lib/esm/src/create-dao.js +415 -0
  116. package/lib/esm/src/create-dao.js.map +1 -0
  117. package/lib/esm/src/create-data-only-config.js +132 -0
  118. package/lib/esm/src/create-data-only-config.js.map +1 -0
  119. package/lib/esm/src/create-maker.js +282 -0
  120. package/lib/esm/src/create-maker.js.map +1 -0
  121. package/lib/esm/src/create-price-oracle.js +92 -0
  122. package/lib/esm/src/create-price-oracle.js.map +1 -0
  123. package/lib/esm/src/create-subdao.js +490 -0
  124. package/lib/esm/src/create-subdao.js.map +1 -0
  125. package/lib/esm/src/distribute-hst.js +53 -0
  126. package/lib/esm/src/distribute-hst.js.map +1 -0
  127. package/lib/esm/src/distribute-iot-operations-fund.js +79 -0
  128. package/lib/esm/src/distribute-iot-operations-fund.js.map +1 -0
  129. package/lib/esm/src/ecc-gen.js +6 -0
  130. package/lib/esm/src/ecc-gen.js.map +1 -0
  131. package/lib/esm/src/end-epoch.js +103 -0
  132. package/lib/esm/src/end-epoch.js.map +1 -0
  133. package/lib/esm/src/issue-iot-operations-fund.js +82 -0
  134. package/lib/esm/src/issue-iot-operations-fund.js.map +1 -0
  135. package/lib/esm/src/issue-test-hotspot.js +70 -0
  136. package/lib/esm/src/issue-test-hotspot.js.map +1 -0
  137. package/lib/esm/src/log-coingecko-price.js +14 -0
  138. package/lib/esm/src/log-coingecko-price.js.map +1 -0
  139. package/lib/esm/src/log-hotspot.js +62 -0
  140. package/lib/esm/src/log-hotspot.js.map +1 -0
  141. package/lib/esm/src/log-router-balance.js +48 -0
  142. package/lib/esm/src/log-router-balance.js.map +1 -0
  143. package/lib/esm/src/log-treasury-price.js +64 -0
  144. package/lib/esm/src/log-treasury-price.js.map +1 -0
  145. package/lib/esm/src/mint-dc.js +70 -0
  146. package/lib/esm/src/mint-dc.js.map +1 -0
  147. package/lib/esm/src/repair-iot-operations-fund.js +73 -0
  148. package/lib/esm/src/repair-iot-operations-fund.js.map +1 -0
  149. package/lib/esm/src/reset-clockwork.js +103 -0
  150. package/lib/esm/src/reset-clockwork.js.map +1 -0
  151. package/lib/esm/src/reset-vsr-max-voter-record.js +104 -0
  152. package/lib/esm/src/reset-vsr-max-voter-record.js.map +1 -0
  153. package/lib/esm/src/reset-vsr-voting-mint.js +141 -0
  154. package/lib/esm/src/reset-vsr-voting-mint.js.map +1 -0
  155. package/lib/esm/src/setup-hst.js +218 -0
  156. package/lib/esm/src/setup-hst.js.map +1 -0
  157. package/lib/esm/src/submit-price.js +113 -0
  158. package/lib/esm/src/submit-price.js.map +1 -0
  159. package/lib/esm/src/sum-tokens.js +43 -0
  160. package/lib/esm/src/sum-tokens.js.map +1 -0
  161. package/lib/esm/src/take-snapshot.js +29 -0
  162. package/lib/esm/src/take-snapshot.js.map +1 -0
  163. package/lib/esm/src/update-account-circuit-breaker.js +91 -0
  164. package/lib/esm/src/update-account-circuit-breaker.js.map +1 -0
  165. package/lib/esm/src/update-aggregator.js +75 -0
  166. package/lib/esm/src/update-aggregator.js.map +1 -0
  167. package/lib/esm/src/update-dao.js +128 -0
  168. package/lib/esm/src/update-dao.js.map +1 -0
  169. package/lib/esm/src/update-data-credits.js +87 -0
  170. package/lib/esm/src/update-data-credits.js.map +1 -0
  171. package/lib/esm/src/update-delegated-dc-subdao.js +95 -0
  172. package/lib/esm/src/update-delegated-dc-subdao.js.map +1 -0
  173. package/lib/esm/src/update-iot-operations-fund-metadata.js +83 -0
  174. package/lib/esm/src/update-iot-operations-fund-metadata.js.map +1 -0
  175. package/lib/esm/src/update-lazy-distributor.js +97 -0
  176. package/lib/esm/src/update-lazy-distributor.js.map +1 -0
  177. package/lib/esm/src/update-lazy-transactions.js +76 -0
  178. package/lib/esm/src/update-lazy-transactions.js.map +1 -0
  179. package/lib/esm/src/update-mint-circuit-breaker.js +91 -0
  180. package/lib/esm/src/update-mint-circuit-breaker.js.map +1 -0
  181. package/lib/esm/src/update-registrar-authorities.js +55 -0
  182. package/lib/esm/src/update-registrar-authorities.js.map +1 -0
  183. package/lib/esm/src/update-rewardable-entity-config.js +114 -0
  184. package/lib/esm/src/update-rewardable-entity-config.js.map +1 -0
  185. package/lib/esm/src/update-subdao-vehnt.js +254 -0
  186. package/lib/esm/src/update-subdao-vehnt.js.map +1 -0
  187. package/lib/esm/src/update-subdao.js +220 -0
  188. package/lib/esm/src/update-subdao.js.map +1 -0
  189. package/lib/esm/src/upgrade-idl.js +68 -0
  190. package/lib/esm/src/upgrade-idl.js.map +1 -0
  191. package/lib/esm/src/utils.js +392 -0
  192. package/lib/esm/src/utils.js.map +1 -0
  193. package/lib/esm/tsconfig.esm.tsbuildinfo +1 -0
  194. package/lib/types/src/approve-carrier.d.ts +2 -0
  195. package/lib/types/src/approve-carrier.d.ts.map +1 -0
  196. package/lib/types/src/approve-program.d.ts +2 -0
  197. package/lib/types/src/approve-program.d.ts.map +1 -0
  198. package/lib/types/src/claim-rewards.d.ts +2 -0
  199. package/lib/types/src/claim-rewards.d.ts.map +1 -0
  200. package/lib/types/src/close-buffers.d.ts +2 -0
  201. package/lib/types/src/close-buffers.d.ts.map +1 -0
  202. package/lib/types/src/close-canopy.d.ts +2 -0
  203. package/lib/types/src/close-canopy.d.ts.map +1 -0
  204. package/lib/types/src/close-lazy-transaction-markers.d.ts +2 -0
  205. package/lib/types/src/close-lazy-transaction-markers.d.ts.map +1 -0
  206. package/lib/types/src/correct-router-dc.d.ts +2 -0
  207. package/lib/types/src/correct-router-dc.d.ts.map +1 -0
  208. package/lib/types/src/create-active-device-aggregator.d.ts +2 -0
  209. package/lib/types/src/create-active-device-aggregator.d.ts.map +1 -0
  210. package/lib/types/src/create-carrier.d.ts +2 -0
  211. package/lib/types/src/create-carrier.d.ts.map +1 -0
  212. package/lib/types/src/create-dao.d.ts +2 -0
  213. package/lib/types/src/create-dao.d.ts.map +1 -0
  214. package/lib/types/src/create-data-only-config.d.ts +2 -0
  215. package/lib/types/src/create-data-only-config.d.ts.map +1 -0
  216. package/lib/types/src/create-maker.d.ts +2 -0
  217. package/lib/types/src/create-maker.d.ts.map +1 -0
  218. package/lib/types/src/create-price-oracle.d.ts +2 -0
  219. package/lib/types/src/create-price-oracle.d.ts.map +1 -0
  220. package/lib/types/src/create-subdao.d.ts +2 -0
  221. package/lib/types/src/create-subdao.d.ts.map +1 -0
  222. package/lib/types/src/distribute-hst.d.ts +2 -0
  223. package/lib/types/src/distribute-hst.d.ts.map +1 -0
  224. package/lib/types/src/distribute-iot-operations-fund.d.ts +2 -0
  225. package/lib/types/src/distribute-iot-operations-fund.d.ts.map +1 -0
  226. package/lib/types/src/ecc-gen.d.ts +2 -0
  227. package/lib/types/src/ecc-gen.d.ts.map +1 -0
  228. package/lib/types/src/end-epoch.d.ts +2 -0
  229. package/lib/types/src/end-epoch.d.ts.map +1 -0
  230. package/lib/types/src/issue-iot-operations-fund.d.ts +2 -0
  231. package/lib/types/src/issue-iot-operations-fund.d.ts.map +1 -0
  232. package/lib/types/src/issue-test-hotspot.d.ts +2 -0
  233. package/lib/types/src/issue-test-hotspot.d.ts.map +1 -0
  234. package/lib/types/src/log-coingecko-price.d.ts +2 -0
  235. package/lib/types/src/log-coingecko-price.d.ts.map +1 -0
  236. package/lib/types/src/log-hotspot.d.ts +2 -0
  237. package/lib/types/src/log-hotspot.d.ts.map +1 -0
  238. package/lib/types/src/log-router-balance.d.ts +2 -0
  239. package/lib/types/src/log-router-balance.d.ts.map +1 -0
  240. package/lib/types/src/log-treasury-price.d.ts +2 -0
  241. package/lib/types/src/log-treasury-price.d.ts.map +1 -0
  242. package/lib/types/src/mint-dc.d.ts +2 -0
  243. package/lib/types/src/mint-dc.d.ts.map +1 -0
  244. package/lib/types/src/repair-iot-operations-fund.d.ts +2 -0
  245. package/lib/types/src/repair-iot-operations-fund.d.ts.map +1 -0
  246. package/lib/types/src/reset-clockwork.d.ts +2 -0
  247. package/lib/types/src/reset-clockwork.d.ts.map +1 -0
  248. package/lib/types/src/reset-vsr-max-voter-record.d.ts +2 -0
  249. package/lib/types/src/reset-vsr-max-voter-record.d.ts.map +1 -0
  250. package/lib/types/src/reset-vsr-voting-mint.d.ts +2 -0
  251. package/lib/types/src/reset-vsr-voting-mint.d.ts.map +1 -0
  252. package/lib/types/src/setup-hst.d.ts +4 -0
  253. package/lib/types/src/setup-hst.d.ts.map +1 -0
  254. package/lib/types/src/submit-price.d.ts +3 -0
  255. package/lib/types/src/submit-price.d.ts.map +1 -0
  256. package/lib/types/src/sum-tokens.d.ts +2 -0
  257. package/lib/types/src/sum-tokens.d.ts.map +1 -0
  258. package/lib/types/src/take-snapshot.d.ts +2 -0
  259. package/lib/types/src/take-snapshot.d.ts.map +1 -0
  260. package/lib/types/src/update-account-circuit-breaker.d.ts +2 -0
  261. package/lib/types/src/update-account-circuit-breaker.d.ts.map +1 -0
  262. package/lib/types/src/update-aggregator.d.ts +2 -0
  263. package/lib/types/src/update-aggregator.d.ts.map +1 -0
  264. package/lib/types/src/update-dao.d.ts +2 -0
  265. package/lib/types/src/update-dao.d.ts.map +1 -0
  266. package/lib/types/src/update-data-credits.d.ts +2 -0
  267. package/lib/types/src/update-data-credits.d.ts.map +1 -0
  268. package/lib/types/src/update-delegated-dc-subdao.d.ts +2 -0
  269. package/lib/types/src/update-delegated-dc-subdao.d.ts.map +1 -0
  270. package/lib/types/src/update-iot-operations-fund-metadata.d.ts +2 -0
  271. package/lib/types/src/update-iot-operations-fund-metadata.d.ts.map +1 -0
  272. package/lib/types/src/update-lazy-distributor.d.ts +2 -0
  273. package/lib/types/src/update-lazy-distributor.d.ts.map +1 -0
  274. package/lib/types/src/update-lazy-transactions.d.ts +2 -0
  275. package/lib/types/src/update-lazy-transactions.d.ts.map +1 -0
  276. package/lib/types/src/update-mint-circuit-breaker.d.ts +2 -0
  277. package/lib/types/src/update-mint-circuit-breaker.d.ts.map +1 -0
  278. package/lib/types/src/update-registrar-authorities.d.ts +2 -0
  279. package/lib/types/src/update-registrar-authorities.d.ts.map +1 -0
  280. package/lib/types/src/update-rewardable-entity-config.d.ts +2 -0
  281. package/lib/types/src/update-rewardable-entity-config.d.ts.map +1 -0
  282. package/lib/types/src/update-subdao-vehnt.d.ts +2 -0
  283. package/lib/types/src/update-subdao-vehnt.d.ts.map +1 -0
  284. package/lib/types/src/update-subdao.d.ts +2 -0
  285. package/lib/types/src/update-subdao.d.ts.map +1 -0
  286. package/lib/types/src/upgrade-idl.d.ts +2 -0
  287. package/lib/types/src/upgrade-idl.d.ts.map +1 -0
  288. package/lib/types/src/utils.d.ts +59 -0
  289. package/lib/types/src/utils.d.ts.map +1 -0
  290. package/package.json +13 -13
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-rewardable-entity-config.js","sourceRoot":"","sources":["../../../src/update-rewardable-entity-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,254 @@
1
+ import * as anchor from '@coral-xyz/anchor';
2
+ import { init as initHsd, subDaoKey } from '@helium/helium-sub-daos-sdk';
3
+ import { PublicKey } from '@solana/web3.js';
4
+ import Squads from '@sqds/sdk';
5
+ import AWS from 'aws-sdk';
6
+ import { BN } from 'bn.js';
7
+ import os from 'os';
8
+ import { Client } from 'pg';
9
+ import yargs from 'yargs/yargs';
10
+ import { loadKeypair, sendInstructionsOrSquads } from './utils';
11
+ export async function run(args = process.argv) {
12
+ const yarg = yargs(args).options({
13
+ wallet: {
14
+ alias: 'k',
15
+ describe: 'Anchor wallet keypair',
16
+ default: `${os.homedir()}/.config/solana/id.json`,
17
+ },
18
+ url: {
19
+ alias: 'u',
20
+ default: 'http://127.0.0.1:8899',
21
+ describe: 'The solana url',
22
+ },
23
+ dntMint: {
24
+ required: true,
25
+ type: 'string',
26
+ describe: 'DNT mint of the subdao to be updated',
27
+ },
28
+ name: {
29
+ alias: 'n',
30
+ type: 'string',
31
+ required: false,
32
+ describe: 'The name of the entity config',
33
+ },
34
+ executeTransaction: {
35
+ type: 'boolean',
36
+ },
37
+ multisig: {
38
+ type: 'string',
39
+ describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
40
+ },
41
+ authorityIndex: {
42
+ type: 'number',
43
+ describe: 'Authority index for squads. Defaults to 1',
44
+ default: 1,
45
+ },
46
+ pgUser: {
47
+ default: 'postgres',
48
+ },
49
+ pgPassword: {
50
+ type: 'string',
51
+ },
52
+ pgDatabase: {
53
+ type: 'string',
54
+ },
55
+ pgHost: {
56
+ default: 'localhost',
57
+ },
58
+ pgPort: {
59
+ default: '5432',
60
+ },
61
+ awsRegion: {
62
+ default: 'us-east-1',
63
+ },
64
+ noSsl: {
65
+ type: 'boolean',
66
+ default: false,
67
+ },
68
+ });
69
+ const argv = await yarg.argv;
70
+ process.env.ANCHOR_WALLET = argv.wallet;
71
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
72
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
73
+ const provider = anchor.getProvider();
74
+ const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
75
+ const program = await initHsd(provider);
76
+ // configure pg connection
77
+ const isRds = argv.pgHost.includes('rds.amazonaws.com');
78
+ let password = argv.pgPassword;
79
+ if (isRds && !password) {
80
+ const signer = new AWS.RDS.Signer({
81
+ region: argv.awsRegion,
82
+ hostname: argv.pgHost,
83
+ port: Number(argv.pgPort),
84
+ username: argv.pgUser,
85
+ });
86
+ password = await new Promise((resolve, reject) => signer.getAuthToken({}, (err, token) => {
87
+ if (err) {
88
+ return reject(err);
89
+ }
90
+ resolve(token);
91
+ }));
92
+ }
93
+ const client = new Client({
94
+ user: argv.pgUser,
95
+ password,
96
+ host: argv.pgHost,
97
+ database: argv.pgDatabase,
98
+ port: Number(argv.pgPort),
99
+ ssl: argv.noSsl
100
+ ? {
101
+ rejectUnauthorized: false,
102
+ }
103
+ : false,
104
+ });
105
+ await client.connect();
106
+ const response = (await client.query(`WITH
107
+ readable_positions AS (
108
+ SELECT p.*,
109
+ r.realm_governing_token_mint,
110
+ cast(r.voting_mints[p.voting_mint_config_idx + 1]->>'lockupSaturationSecs' as numeric) as lockup_saturation_seconds,
111
+ cast(r.voting_mints[p.voting_mint_config_idx + 1]->>'maxExtraLockupVoteWeightScaledFactor' as numeric) / 1000000000 as max_extra_lockup_vote_weight_scaled_factor,
112
+ CASE WHEN p.genesis_end > current_ts THEN cast(r.voting_mints[p.voting_mint_config_idx + 1]->>'genesisVotePowerMultiplier' as numeric) ELSE 1 END as genesis_multiplier,
113
+ GREATEST(
114
+ cast(
115
+ p.end_ts -
116
+ CASE WHEN lockup_kind = 'constant' THEN start_ts ELSE current_ts END
117
+ as numeric
118
+ ),
119
+ 0
120
+ )
121
+ as seconds_remaining
122
+ FROM (
123
+ SELECT *,
124
+ lockup->>'kind' as lockup_kind,
125
+ cast(lockup->>'endTs' as numeric) as end_ts,
126
+ cast(lockup->>'startTs' as numeric) as start_ts,
127
+ -- 1683727980 as current_ts
128
+ FLOOR(EXTRACT(EPOCH FROM CURRENT_TIMESTAMP)) as current_ts
129
+ FROM positions
130
+ ) p
131
+ JOIN registrars r on p.registrar = r.address
132
+ ),
133
+ positions_with_vehnt AS (
134
+ SELECT realm_governing_token_mint as mint,
135
+ address,
136
+ genesis_end,
137
+ num_active_votes,
138
+ lockup_kind,
139
+ registrar,
140
+ refreshed_at,
141
+ created_at,
142
+ amount_deposited_native,
143
+ ve_tokens,
144
+ initial_ve_tokens,
145
+ CASE WHEN lockup_kind = 'constant' THEN
146
+ 0
147
+ ELSE
148
+ CASE WHEN current_ts < genesis_end THEN
149
+ -- genesis
150
+ (ve_tokens - (
151
+ amount_deposited_native * (
152
+ LEAST(
153
+ (end_ts - genesis_end) / lockup_saturation_seconds,
154
+ 1
155
+ ) * (
156
+ max_extra_lockup_vote_weight_scaled_factor
157
+ ) * genesis_multiplier
158
+ )
159
+ )
160
+ ) / (genesis_end - current_ts)
161
+ ELSE
162
+ -- normal
163
+ ve_tokens / (end_ts - current_ts)
164
+ END
165
+ END as fall_rate,
166
+ start_ts,
167
+ end_ts,
168
+ current_ts,
169
+ seconds_remaining
170
+ FROM (
171
+ SELECT *,
172
+ amount_deposited_native * (
173
+ (
174
+ max_extra_lockup_vote_weight_scaled_factor
175
+ ) * genesis_multiplier * LEAST(
176
+ seconds_remaining / lockup_saturation_seconds,
177
+ 1
178
+ )
179
+ ) as ve_tokens,
180
+ amount_deposited_native * (
181
+ (
182
+ max_extra_lockup_vote_weight_scaled_factor
183
+ ) * genesis_multiplier * LEAST(
184
+ (end_ts - start_ts) / lockup_saturation_seconds,
185
+ 1
186
+ )
187
+ ) as initial_ve_tokens
188
+ FROM readable_positions
189
+ ) a
190
+ ),
191
+ subdao_delegations AS (
192
+ SELECT
193
+ count(*) as delegations,
194
+ min(current_ts) as current_ts,
195
+ sum(p.fall_rate) as real_fall_rate,
196
+ s.vehnt_fall_rate / 1000000000000 as approx_fall_rate,
197
+ s.dnt_mint as mint,
198
+ SUM(ve_tokens) as real_ve_tokens,
199
+ (
200
+ s.vehnt_delegated - (
201
+ (min(current_ts) - s.vehnt_last_calculated_ts)
202
+ * s.vehnt_fall_rate
203
+ )
204
+ ) / 1000000000000 as approx_ve_tokens,
205
+ s.vehnt_delegated as vehnt_delegated_snapshot,
206
+ s.vehnt_last_calculated_ts as vehnt_last_calculated_ts
207
+ FROM positions_with_vehnt p
208
+ JOIN delegated_positions d on d.position = p.address
209
+ JOIN sub_daos s on s.address = d.sub_dao
210
+ -- Remove positions getting purged this epoch
211
+ WHERE (lockup_kind = 'constant' or end_ts > (floor(current_ts / (60 * 60 * 24)) * (60 * 60 * 24)) + 60 * 60 * 24)
212
+ GROUP BY s.dnt_mint, s.vehnt_fall_rate, s.vehnt_delegated, s.vehnt_last_calculated_ts, s.vehnt_last_calculated_ts
213
+ )
214
+ SELECT
215
+ mint,
216
+ current_ts,
217
+ delegations,
218
+ real_ve_tokens * 1000000000000 as real_ve_tokens,
219
+ approx_ve_tokens * 1000000000000 as approx_ve_tokens,
220
+ real_fall_rate * 1000000000000 as real_fall_rate,
221
+ approx_fall_rate * 1000000000000 as approx_fall_rate,
222
+ approx_fall_rate - real_fall_rate as fall_rate_diff,
223
+ approx_ve_tokens - real_ve_tokens as ve_tokens_diff
224
+ FROM subdao_delegations`)).rows;
225
+ const row = response.find((x) => x.mint == argv.dntMint);
226
+ const instructions = [];
227
+ const subDao = subDaoKey(new PublicKey(argv.dntMint))[0];
228
+ const subDaoAcc = await program.account.subDaoV0.fetch(subDao);
229
+ console.log('Subdao', subDao.toBase58());
230
+ instructions.push(await program.methods
231
+ .updateSubDaoVehntV0({
232
+ vehntDelegated: new BN(row.real_ve_tokens.split('.')[0]),
233
+ vehntLastCalculatedTs: new BN(row.current_ts),
234
+ vehntFallRate: new BN(row.real_fall_rate.split('.')[0]),
235
+ })
236
+ .accounts({
237
+ subDao,
238
+ authority: subDaoAcc.authority,
239
+ })
240
+ .instruction());
241
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
242
+ commitmentOrConfig: 'finalized',
243
+ });
244
+ await sendInstructionsOrSquads({
245
+ provider,
246
+ instructions,
247
+ executeTransaction: argv.executeTransaction,
248
+ squads,
249
+ multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
250
+ authorityIndex: argv.authorityIndex,
251
+ signers: [],
252
+ });
253
+ }
254
+ //# sourceMappingURL=update-subdao-vehnt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-subdao-vehnt.js","sourceRoot":"","sources":["../../../src/update-subdao-vehnt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,220 @@
1
+ import * as anchor from '@coral-xyz/anchor';
2
+ import { accountWindowedBreakerKey, init as initCb, mintWindowedBreakerKey, } from '@helium/circuit-breaker-sdk';
3
+ import { init as initHem, rewardableEntityConfigKey, } from '@helium/helium-entity-manager-sdk';
4
+ import { init as initHsd, subDaoKey, delegatorRewardsPercent, } from '@helium/helium-sub-daos-sdk';
5
+ import { PublicKey } from '@solana/web3.js';
6
+ import Squads from '@sqds/sdk';
7
+ import { AggregatorAccount, SwitchboardProgram, } from '@switchboard-xyz/solana.js';
8
+ import { BN } from 'bn.js';
9
+ import os from 'os';
10
+ import yargs from 'yargs/yargs';
11
+ import { isLocalhost, loadKeypair, parseEmissionsSchedule, sendInstructionsOrSquads, } from './utils';
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
+ dntMint: {
25
+ required: true,
26
+ type: 'string',
27
+ describe: 'DNT mint of the subdao to be updated',
28
+ },
29
+ name: {
30
+ alias: 'n',
31
+ type: 'string',
32
+ required: false,
33
+ describe: 'The name of the entity config',
34
+ },
35
+ newAuthority: {
36
+ required: false,
37
+ describe: 'New subdao authority',
38
+ type: 'string',
39
+ default: null,
40
+ },
41
+ newEmissionsSchedulePath: {
42
+ required: false,
43
+ describe: 'Path to file that contains the new emissions schedule',
44
+ type: 'string',
45
+ default: null,
46
+ },
47
+ newActiveDeviceAggregator: {
48
+ required: false,
49
+ default: null,
50
+ type: 'string',
51
+ },
52
+ newDcBurnAuthority: {
53
+ required: false,
54
+ default: null,
55
+ type: 'string',
56
+ },
57
+ executeTransaction: {
58
+ type: 'boolean',
59
+ },
60
+ multisig: {
61
+ type: 'string',
62
+ describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
63
+ },
64
+ authorityIndex: {
65
+ type: 'number',
66
+ describe: 'Authority index for squads. Defaults to 1',
67
+ default: 1,
68
+ },
69
+ switchboardNetwork: {
70
+ type: 'string',
71
+ describe: 'The switchboard network',
72
+ default: 'devnet',
73
+ },
74
+ registrar: {
75
+ type: 'string',
76
+ required: false,
77
+ describe: 'VSR Registrar of subdao',
78
+ default: null,
79
+ },
80
+ delegatorRewardsPercent: {
81
+ type: 'number',
82
+ required: false,
83
+ describe: 'Percentage of rewards allocated to delegators. Must be between 0-100 and can have 8 decimal places.',
84
+ default: null,
85
+ },
86
+ onboardingDcFee: {
87
+ type: 'number',
88
+ required: false,
89
+ describe: 'The data credits fee for onboarding hotspots',
90
+ default: null,
91
+ },
92
+ onboardingDataOnlyDcFee: {
93
+ type: 'number',
94
+ required: false,
95
+ describe: 'The data credits fee for onboarding data only hotspots',
96
+ default: null,
97
+ },
98
+ activeDeviceAuthority: {
99
+ type: 'string',
100
+ required: false,
101
+ describe: 'The authority that can set hotspot active status',
102
+ default: null,
103
+ },
104
+ });
105
+ const argv = await yarg.argv;
106
+ process.env.ANCHOR_WALLET = argv.wallet;
107
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
108
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
109
+ const provider = anchor.getProvider();
110
+ const walletKP = loadKeypair(argv.wallet);
111
+ const wallet = new anchor.Wallet(walletKP);
112
+ const program = await initHsd(provider);
113
+ const hemProgram = await initHem(provider);
114
+ const cbProgram = await initCb(provider);
115
+ const instructions = [];
116
+ const subDao = subDaoKey(new PublicKey(argv.dntMint))[0];
117
+ const subDaoAcc = await program.account.subDaoV0.fetch(subDao);
118
+ if (argv.newAuthority) {
119
+ if (!argv.name) {
120
+ throw new Error('--name is required');
121
+ }
122
+ // update entity config auth
123
+ const config = rewardableEntityConfigKey(subDao, argv.name.toUpperCase())[0];
124
+ const configAcc = await hemProgram.account.rewardableEntityConfigV0.fetch(config);
125
+ instructions.push(await hemProgram.methods
126
+ .updateRewardableEntityConfigV0({
127
+ newAuthority: new PublicKey(argv.newAuthority),
128
+ settings: null,
129
+ })
130
+ .accounts({
131
+ rewardableEntityConfig: config,
132
+ authority: configAcc.authority,
133
+ })
134
+ .instruction());
135
+ // update dnt cb auth
136
+ const dntCircuitBreaker = mintWindowedBreakerKey(subDaoAcc.dntMint)[0];
137
+ const dntCbAcc = await cbProgram.account.mintWindowedCircuitBreakerV0.fetch(dntCircuitBreaker);
138
+ instructions.push(await cbProgram.methods
139
+ .updateMintWindowedBreakerV0({
140
+ newAuthority: new PublicKey(argv.newAuthority),
141
+ config: null,
142
+ })
143
+ .accounts({
144
+ circuitBreaker: dntCircuitBreaker,
145
+ authority: dntCbAcc.authority,
146
+ })
147
+ .instruction());
148
+ // update treasury cb auth
149
+ const treasuryCircuitBreaker = accountWindowedBreakerKey(subDaoAcc.treasury)[0];
150
+ const treasuryCbAcc = await cbProgram.account.accountWindowedCircuitBreakerV0.fetch(treasuryCircuitBreaker);
151
+ instructions.push(await cbProgram.methods
152
+ .updateAccountWindowedBreakerV0({
153
+ newAuthority: new PublicKey(argv.newAuthority),
154
+ config: null,
155
+ })
156
+ .accounts({
157
+ circuitBreaker: treasuryCircuitBreaker,
158
+ authority: treasuryCbAcc.authority,
159
+ })
160
+ .instruction());
161
+ // update agg auth
162
+ if (!isLocalhost(provider)) {
163
+ const switchboard = await SwitchboardProgram.load(argv.switchboardNetwork, provider.connection, walletKP);
164
+ const [agg, aggData] = await AggregatorAccount.load(switchboard, subDaoAcc.activeDeviceAggregator);
165
+ if (!aggData.authority.equals(subDaoAcc.activeDeviceAggregator)) {
166
+ instructions.push(...agg.setAuthorityInstruction(aggData.authority, // payer needs to be the same as the old authority
167
+ { newAuthority: new PublicKey(argv.newAuthority) }).ixns);
168
+ }
169
+ }
170
+ }
171
+ if (argv.delegatorRewardsPercent &&
172
+ (argv.delegatorRewardsPercent > 100 || argv.delegatorRewardsPercent < 0)) {
173
+ throw new Error('Delegator rewards percent must be between 0 and 100');
174
+ }
175
+ instructions.push(await program.methods
176
+ .updateSubDaoV0({
177
+ authority: argv.newAuthority ? new PublicKey(argv.newAuthority) : null,
178
+ emissionSchedule: argv.newEmissionsSchedulePath
179
+ ? await parseEmissionsSchedule(argv.newEmissionsSchedulePath)
180
+ : null,
181
+ dcBurnAuthority: argv.newDcBurnAuthority
182
+ ? new PublicKey(argv.newDcBurnAuthority)
183
+ : null,
184
+ onboardingDcFee: argv.onboardingDcFee
185
+ ? new BN(argv.onboardingDcFee)
186
+ : null,
187
+ onboardingDataOnlyDcFee: argv.onboardingDataOnlyDcFee
188
+ ? new BN(argv.onboardingDataOnlyDcFee)
189
+ : null,
190
+ activeDeviceAggregator: argv.newActiveDeviceAggregator
191
+ ? new PublicKey(argv.newActiveDeviceAggregator)
192
+ : null,
193
+ registrar: argv.registrar ? new PublicKey(argv.registrar) : null,
194
+ delegatorRewardsPercent: argv.delegatorRewardsPercent
195
+ ? delegatorRewardsPercent(argv.delegatorRewardsPercent)
196
+ : null,
197
+ activeDeviceAuthority: argv.activeDeviceAuthority
198
+ ? new PublicKey(argv.activeDeviceAuthority)
199
+ : null,
200
+ })
201
+ .accounts({
202
+ subDao,
203
+ authority: subDaoAcc.authority,
204
+ payer: subDaoAcc.authority,
205
+ })
206
+ .instruction());
207
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
208
+ commitmentOrConfig: 'finalized',
209
+ });
210
+ await sendInstructionsOrSquads({
211
+ provider,
212
+ instructions,
213
+ executeTransaction: argv.executeTransaction,
214
+ squads,
215
+ multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
216
+ authorityIndex: argv.authorityIndex,
217
+ signers: [],
218
+ });
219
+ }
220
+ //# sourceMappingURL=update-subdao.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-subdao.js","sourceRoot":"","sources":["../../../src/update-subdao.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import * as anchor from '@coral-xyz/anchor';
2
+ import { PublicKey } from '@solana/web3.js';
3
+ import Squads from '@sqds/sdk';
4
+ import os from 'os';
5
+ import yargs from 'yargs/yargs';
6
+ import { createIdlUpgradeInstruction, loadKeypair, sendInstructionsOrSquads, } from './utils';
7
+ export async function run(args = process.argv) {
8
+ const yarg = yargs(args).options({
9
+ wallet: {
10
+ alias: 'k',
11
+ describe: 'Anchor wallet keypair',
12
+ default: `${os.homedir()}/.config/solana/id.json`,
13
+ },
14
+ url: {
15
+ alias: 'u',
16
+ default: 'http://127.0.0.1:8899',
17
+ describe: 'The solana url',
18
+ },
19
+ executeTransaction: {
20
+ type: 'boolean',
21
+ },
22
+ multisig: {
23
+ type: 'string',
24
+ describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
25
+ },
26
+ authorityIndex: {
27
+ type: 'number',
28
+ describe: 'Authority index for squads. Defaults to 1',
29
+ default: 1,
30
+ },
31
+ programId: {
32
+ type: 'string',
33
+ required: true,
34
+ },
35
+ bufferId: {
36
+ type: 'string',
37
+ required: true,
38
+ },
39
+ });
40
+ const argv = await yarg.argv;
41
+ process.env.ANCHOR_WALLET = argv.wallet;
42
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
43
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
44
+ const provider = anchor.getProvider();
45
+ const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
46
+ const connection = provider.connection;
47
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
48
+ commitmentOrConfig: 'finalized',
49
+ });
50
+ let authority = provider.wallet.publicKey;
51
+ let multisig = argv.multisig ? new PublicKey(argv.multisig) : null;
52
+ if (multisig) {
53
+ authority = squads.getAuthorityPDA(multisig, argv.authorityIndex);
54
+ }
55
+ console.log(authority.toBase58());
56
+ await sendInstructionsOrSquads({
57
+ provider,
58
+ instructions: [
59
+ await createIdlUpgradeInstruction(new PublicKey(argv.programId), new PublicKey(argv.bufferId), authority),
60
+ ],
61
+ executeTransaction: argv.executeTransaction,
62
+ squads,
63
+ multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
64
+ authorityIndex: argv.authorityIndex,
65
+ signers: [],
66
+ });
67
+ }
68
+ //# sourceMappingURL=upgrade-idl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-idl.js","sourceRoot":"","sources":["../../../src/upgrade-idl.ts"],"names":[],"mappings":"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"}