@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,95 @@
1
+ import * as anchor from '@coral-xyz/anchor';
2
+ import { delegatedDataCreditsKey, init as initDc, } from '@helium/data-credits-sdk';
3
+ import { PublicKey } from '@solana/web3.js';
4
+ import Squads from '@sqds/sdk';
5
+ import { BN } from 'bn.js';
6
+ import os from 'os';
7
+ import yargs from 'yargs/yargs';
8
+ import { loadKeypair, sendInstructionsOrSquads } from './utils';
9
+ import { subDaoKey, init as initHsd } from '@helium/helium-sub-daos-sdk';
10
+ export async function run(args = process.argv) {
11
+ const yarg = yargs(args).options({
12
+ wallet: {
13
+ alias: 'k',
14
+ describe: 'Anchor wallet keypair',
15
+ default: `${os.homedir()}/.config/solana/id.json`,
16
+ },
17
+ url: {
18
+ alias: 'u',
19
+ default: 'http://127.0.0.1:8899',
20
+ describe: 'The solana url',
21
+ },
22
+ sourceDntMint: {
23
+ type: 'string',
24
+ required: true,
25
+ },
26
+ destinationDntMint: {
27
+ type: 'string',
28
+ required: true,
29
+ },
30
+ routerKey: {
31
+ type: 'string',
32
+ required: true,
33
+ },
34
+ amount: {
35
+ type: 'number',
36
+ required: true,
37
+ },
38
+ executeTransaction: {
39
+ type: 'boolean',
40
+ },
41
+ multisig: {
42
+ type: 'string',
43
+ describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
44
+ },
45
+ authorityIndex: {
46
+ type: 'number',
47
+ describe: 'Authority index for squads. Defaults to 1',
48
+ default: 1,
49
+ },
50
+ });
51
+ const argv = await yarg.argv;
52
+ process.env.ANCHOR_WALLET = argv.wallet;
53
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
54
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
55
+ const provider = anchor.getProvider();
56
+ const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
57
+ const program = await initDc(provider);
58
+ const hsdProgram = await initHsd(provider);
59
+ const instructions = [];
60
+ const sourceSubDao = subDaoKey(new PublicKey(argv.sourceDntMint))[0];
61
+ const destinationSubDao = subDaoKey(new PublicKey(argv.destinationDntMint))[0];
62
+ const sourceDelegatedDataCredits = delegatedDataCreditsKey(sourceSubDao, argv.routerKey)[0];
63
+ const destinationDelegatedDataCredits = delegatedDataCreditsKey(destinationSubDao, argv.routerKey)[0];
64
+ const subdao = await hsdProgram.account.subDaoV0.fetch(sourceSubDao);
65
+ const dao = await hsdProgram.account.daoV0.fetch(subdao.dao);
66
+ const authority = dao.authority;
67
+ const method = await program.methods
68
+ .changeDelegatedSubDaoV0({
69
+ amount: new BN(argv.amount),
70
+ routerKey: argv.routerKey,
71
+ })
72
+ .accounts({
73
+ delegatedDataCredits: sourceDelegatedDataCredits,
74
+ destinationDelegatedDataCredits,
75
+ subDao: sourceSubDao,
76
+ destinationSubDao,
77
+ authority,
78
+ });
79
+ const { destinationEscrowAccount } = await method.pubkeys();
80
+ console.log(sourceDelegatedDataCredits.toString(), destinationDelegatedDataCredits.toString());
81
+ instructions.push(await method.instruction());
82
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
83
+ commitmentOrConfig: 'finalized',
84
+ });
85
+ await sendInstructionsOrSquads({
86
+ provider,
87
+ instructions,
88
+ executeTransaction: argv.executeTransaction,
89
+ squads,
90
+ multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
91
+ authorityIndex: argv.authorityIndex,
92
+ signers: [],
93
+ });
94
+ }
95
+ //# sourceMappingURL=update-delegated-dc-subdao.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-delegated-dc-subdao.js","sourceRoot":"","sources":["../../../src/update-delegated-dc-subdao.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import * as anchor from '@coral-xyz/anchor';
2
+ import { init as initHem, keyToAssetKey, } from '@helium/helium-entity-manager-sdk';
3
+ import { daoKey, init as initHsd } from '@helium/helium-sub-daos-sdk';
4
+ import { PublicKey } from '@solana/web3.js';
5
+ import Squads from '@sqds/sdk';
6
+ import os from 'os';
7
+ import yargs from 'yargs/yargs';
8
+ import { loadKeypair, sendInstructionsOrSquads } from './utils';
9
+ import { HNT_MINT } from '@helium/spl-utils';
10
+ export async function run(args = process.argv) {
11
+ const yarg = yargs(args).options({
12
+ wallet: {
13
+ alias: 'k',
14
+ describe: 'Anchor wallet keypair',
15
+ default: `${os.homedir()}/.config/solana/id.json`,
16
+ },
17
+ url: {
18
+ alias: 'u',
19
+ default: 'http://127.0.0.1:8899',
20
+ describe: 'The solana url',
21
+ },
22
+ metadataUrl: {
23
+ type: 'string',
24
+ require: true,
25
+ },
26
+ hntMint: {
27
+ type: 'string',
28
+ describe: 'HNT mint of the dao',
29
+ default: HNT_MINT.toBase58(),
30
+ },
31
+ executeTransaction: {
32
+ type: 'boolean',
33
+ },
34
+ multisig: {
35
+ type: 'string',
36
+ describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
37
+ },
38
+ authorityIndex: {
39
+ type: 'number',
40
+ describe: 'Authority index for squads. Defaults to 1',
41
+ default: 1,
42
+ },
43
+ });
44
+ const argv = await yarg.argv;
45
+ process.env.ANCHOR_WALLET = argv.wallet;
46
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
47
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
48
+ const provider = anchor.getProvider();
49
+ const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
50
+ const hemProgram = await initHem(provider);
51
+ const daosProgram = await initHsd(provider);
52
+ const instructions = [];
53
+ const hntMint = new PublicKey(argv.hntMint);
54
+ const dao = daoKey(hntMint)[0];
55
+ const daoAcc = await daosProgram.account.daoV0.fetch(dao);
56
+ const [keyToAsset] = keyToAssetKey(dao, 'iot_operations_fund', 'utf8');
57
+ const assetId = (await hemProgram.account.keyToAssetV0.fetch(keyToAsset))
58
+ .asset;
59
+ console.log('keyToAsset', keyToAsset.toBase58());
60
+ console.log('assetId', assetId.toBase58());
61
+ instructions.push(await hemProgram.methods
62
+ .tempUpdateIotOperationsFundMetadata({ metadataUrl: argv.metadataUrl })
63
+ .accounts({
64
+ dao,
65
+ authority: daoAcc.authority,
66
+ payer: daoAcc.authority,
67
+ mint: assetId,
68
+ })
69
+ .instruction());
70
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
71
+ commitmentOrConfig: 'finalized',
72
+ });
73
+ await sendInstructionsOrSquads({
74
+ provider,
75
+ instructions,
76
+ executeTransaction: argv.executeTransaction,
77
+ squads,
78
+ multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
79
+ authorityIndex: argv.authorityIndex,
80
+ signers: [],
81
+ });
82
+ }
83
+ //# sourceMappingURL=update-iot-operations-fund-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-iot-operations-fund-metadata.js","sourceRoot":"","sources":["../../../src/update-iot-operations-fund-metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ import * as anchor from '@coral-xyz/anchor';
2
+ import { init as initLazy, lazyDistributorKey, } from '@helium/lazy-distributor-sdk';
3
+ import { PublicKey } from '@solana/web3.js';
4
+ import Squads from '@sqds/sdk';
5
+ import os from 'os';
6
+ import yargs from 'yargs/yargs';
7
+ import { loadKeypair, sendInstructionsOrSquads } from './utils';
8
+ export async function run(args = process.argv) {
9
+ const yarg = yargs(args).options({
10
+ wallet: {
11
+ alias: 'k',
12
+ describe: 'Anchor wallet keypair',
13
+ default: `${os.homedir()}/.config/solana/id.json`,
14
+ },
15
+ url: {
16
+ alias: 'u',
17
+ default: 'http://127.0.0.1:8899',
18
+ describe: 'The solana url',
19
+ },
20
+ subdaoMint: {
21
+ required: true,
22
+ describe: 'Public Key of the subdao mint',
23
+ type: 'string',
24
+ },
25
+ executeTransaction: {
26
+ type: 'boolean',
27
+ },
28
+ multisig: {
29
+ type: 'string',
30
+ describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
31
+ },
32
+ authorityIndex: {
33
+ type: 'number',
34
+ describe: 'Authority index for squads. Defaults to 1',
35
+ default: 1,
36
+ },
37
+ oracle: {
38
+ type: 'string',
39
+ describe: 'Pubkey of the oracle',
40
+ },
41
+ rewardsOracleUrl: {
42
+ alias: 'ro',
43
+ type: 'string',
44
+ describe: 'The rewards oracle URL',
45
+ },
46
+ newAuthority: {
47
+ type: 'string',
48
+ },
49
+ newApprover: {
50
+ type: 'string',
51
+ description: 'Pubkey of the approver pda',
52
+ },
53
+ });
54
+ const argv = await yarg.argv;
55
+ process.env.ANCHOR_WALLET = argv.wallet;
56
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
57
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
58
+ const provider = anchor.getProvider();
59
+ const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
60
+ const lazyDistProgram = await initLazy(provider);
61
+ const subdaoMint = new PublicKey(argv.subdaoMint);
62
+ const [lazyDist] = lazyDistributorKey(subdaoMint);
63
+ const lazyDistAcc = await lazyDistProgram.account.lazyDistributorV0.fetch(lazyDist);
64
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
65
+ commitmentOrConfig: 'finalized',
66
+ });
67
+ const ix = await lazyDistProgram.methods
68
+ .updateLazyDistributorV0({
69
+ authority: argv.newAuthority
70
+ ? new PublicKey(argv.newAuthority)
71
+ : lazyDistAcc.authority,
72
+ oracles: argv.oracle && argv.rewardsOracleUrl
73
+ ? [
74
+ {
75
+ oracle: new PublicKey(argv.oracle),
76
+ url: argv.rewardsOracleUrl,
77
+ },
78
+ ]
79
+ : null,
80
+ approver: argv.newApprover ? new PublicKey(argv.newApprover) : null,
81
+ })
82
+ .accounts({
83
+ rewardsMint: subdaoMint,
84
+ authority: lazyDistAcc.authority,
85
+ })
86
+ .instruction();
87
+ await sendInstructionsOrSquads({
88
+ provider,
89
+ instructions: [ix],
90
+ executeTransaction: argv.executeTransaction,
91
+ squads,
92
+ multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
93
+ authorityIndex: argv.authorityIndex,
94
+ signers: [],
95
+ });
96
+ }
97
+ //# sourceMappingURL=update-lazy-distributor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-lazy-distributor.js","sourceRoot":"","sources":["../../../src/update-lazy-distributor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import * as anchor from '@coral-xyz/anchor';
2
+ import { init as initLazy, lazyTransactionsKey, } from '@helium/lazy-transactions-sdk';
3
+ import { PublicKey } from '@solana/web3.js';
4
+ import Squads from '@sqds/sdk';
5
+ import os from 'os';
6
+ import yargs from 'yargs/yargs';
7
+ import { loadKeypair, sendInstructionsOrSquads } from './utils';
8
+ export async function run(args = process.argv) {
9
+ const yarg = yargs(args).options({
10
+ wallet: {
11
+ alias: 'k',
12
+ describe: 'Anchor wallet keypair',
13
+ default: `${os.homedir()}/.config/solana/id.json`,
14
+ },
15
+ url: {
16
+ alias: 'u',
17
+ default: 'http://127.0.0.1:8899',
18
+ describe: 'The solana url',
19
+ },
20
+ executeTransaction: {
21
+ type: 'boolean',
22
+ },
23
+ multisig: {
24
+ type: 'string',
25
+ describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
26
+ },
27
+ authorityIndex: {
28
+ type: 'number',
29
+ describe: 'Authority index for squads. Defaults to 1',
30
+ default: 1,
31
+ },
32
+ newAuthority: {
33
+ type: 'string',
34
+ },
35
+ name: {
36
+ required: true,
37
+ type: 'string',
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 lazyTrProgram = await initLazy(provider);
47
+ const [lazyTransactions] = lazyTransactionsKey(argv.name);
48
+ const lazyTrAcc = await lazyTrProgram.account.lazyTransactionsV0.fetch(lazyTransactions);
49
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
50
+ commitmentOrConfig: 'finalized',
51
+ });
52
+ console.log(lazyTransactions.toBase58());
53
+ const ix = await lazyTrProgram.methods
54
+ .updateLazyTransactionsV0({
55
+ authority: argv.newAuthority
56
+ ? new PublicKey(argv.newAuthority)
57
+ : lazyTrAcc.authority,
58
+ root: null,
59
+ })
60
+ .accounts({
61
+ lazyTransactions,
62
+ authority: lazyTrAcc.authority,
63
+ canopy: lazyTrAcc.canopy,
64
+ })
65
+ .instruction();
66
+ await sendInstructionsOrSquads({
67
+ provider,
68
+ instructions: [ix],
69
+ executeTransaction: argv.executeTransaction,
70
+ squads,
71
+ multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
72
+ authorityIndex: argv.authorityIndex,
73
+ signers: [],
74
+ });
75
+ }
76
+ //# sourceMappingURL=update-lazy-transactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-lazy-transactions.js","sourceRoot":"","sources":["../../../src/update-lazy-transactions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import * as anchor from '@coral-xyz/anchor';
2
+ import { init } from '@helium/circuit-breaker-sdk';
3
+ import { PublicKey } from '@solana/web3.js';
4
+ import Squads from '@sqds/sdk';
5
+ import { BN } from 'bn.js';
6
+ import os from 'os';
7
+ import yargs from 'yargs/yargs';
8
+ import { loadKeypair, sendInstructionsOrSquads } from './utils';
9
+ export async function run(args = process.argv) {
10
+ const yarg = yargs(args).options({
11
+ wallet: {
12
+ alias: 'k',
13
+ describe: 'Anchor wallet keypair',
14
+ default: `${os.homedir()}/.config/solana/id.json`,
15
+ },
16
+ url: {
17
+ alias: 'u',
18
+ default: 'http://127.0.0.1:8899',
19
+ describe: 'The solana url',
20
+ },
21
+ circuitBreaker: {
22
+ type: 'string',
23
+ required: true,
24
+ describe: 'Circuit breaker account',
25
+ },
26
+ windowSizeSeconds: {
27
+ type: 'number',
28
+ },
29
+ threshold: {
30
+ type: 'number',
31
+ },
32
+ executeTransaction: {
33
+ type: 'boolean',
34
+ },
35
+ multisig: {
36
+ type: 'string',
37
+ describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
38
+ },
39
+ newAuthority: {
40
+ type: 'string',
41
+ },
42
+ authorityIndex: {
43
+ type: 'number',
44
+ describe: 'Authority index for squads. Defaults to 1',
45
+ default: 1,
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 circuitBreakerKey = new PublicKey(argv.circuitBreaker);
53
+ const provider = anchor.getProvider();
54
+ const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
55
+ const circuitBreakerProgram = await init(provider);
56
+ const instructions = [];
57
+ const circuitBreaker = await circuitBreakerProgram.account.mintWindowedCircuitBreakerV0.fetch(circuitBreakerKey);
58
+ instructions.push(await circuitBreakerProgram.methods
59
+ .updateMintWindowedBreakerV0({
60
+ newAuthority: argv.newAuthority
61
+ ? new PublicKey(argv.newAuthority)
62
+ : circuitBreaker.authority,
63
+ config: {
64
+ windowSizeSeconds: argv.windowSizeSeconds
65
+ ? new BN(argv.windowSizeSeconds)
66
+ : circuitBreaker.config.windowSizeSeconds,
67
+ thresholdType: circuitBreaker.config.thresholdType,
68
+ threshold: argv.threshold
69
+ ? new BN(argv.threshold)
70
+ : circuitBreaker.config.threshold,
71
+ },
72
+ })
73
+ .accounts({
74
+ circuitBreaker: circuitBreakerKey,
75
+ authority: circuitBreaker.authority,
76
+ })
77
+ .instruction());
78
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
79
+ commitmentOrConfig: 'finalized',
80
+ });
81
+ await sendInstructionsOrSquads({
82
+ provider,
83
+ instructions,
84
+ executeTransaction: argv.executeTransaction,
85
+ squads,
86
+ multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
87
+ authorityIndex: argv.authorityIndex,
88
+ signers: [],
89
+ });
90
+ }
91
+ //# sourceMappingURL=update-mint-circuit-breaker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-mint-circuit-breaker.js","sourceRoot":"","sources":["../../../src/update-mint-circuit-breaker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import * as anchor from '@coral-xyz/anchor';
2
+ import { init } from '@helium/voter-stake-registry-sdk';
3
+ import { PublicKey } from '@solana/web3.js';
4
+ import Squads from '@sqds/sdk';
5
+ import os from 'os';
6
+ import yargs from 'yargs/yargs';
7
+ import { loadKeypair, sendInstructionsOrSquads } from './utils';
8
+ export async function run(args = process.argv) {
9
+ const yarg = yargs(args).options({
10
+ wallet: {
11
+ alias: 'k',
12
+ describe: 'Anchor wallet keypair',
13
+ default: `${os.homedir()}/.config/solana/id.json`,
14
+ },
15
+ url: {
16
+ alias: 'u',
17
+ default: 'http://127.0.0.1:8899',
18
+ describe: 'The solana url',
19
+ },
20
+ registrar: {
21
+ type: 'string',
22
+ required: true,
23
+ },
24
+ });
25
+ const argv = await yarg.argv;
26
+ process.env.ANCHOR_WALLET = argv.wallet;
27
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
28
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
29
+ const provider = anchor.getProvider();
30
+ const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
31
+ const vsrProgram = await init(provider);
32
+ const registrar = new PublicKey(argv.registrar);
33
+ const registrarAcc = await vsrProgram.account.registrar.fetch(registrar);
34
+ const instructions = [
35
+ await vsrProgram.methods
36
+ .updateRegistrarAuthorityV0()
37
+ .accounts({
38
+ registrar,
39
+ realm: registrarAcc.realm,
40
+ realmAuthority: registrarAcc.realmAuthority,
41
+ })
42
+ .instruction(),
43
+ ];
44
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
45
+ commitmentOrConfig: 'finalized',
46
+ });
47
+ await sendInstructionsOrSquads({
48
+ provider,
49
+ instructions,
50
+ executeTransaction: true,
51
+ squads,
52
+ signers: [],
53
+ });
54
+ }
55
+ //# sourceMappingURL=update-registrar-authorities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-registrar-authorities.js","sourceRoot":"","sources":["../../../src/update-registrar-authorities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAY,OAAO,CAAC,IAAI;IAChD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QAC/B,MAAM,EAAE;YACN,KAAK,EAAE,GAAG;YACV,QAAQ,EAAE,uBAAuB;YACjC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,yBAAyB;SAClD;QACD,GAAG,EAAE;YACH,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,uBAAuB;YAChC,QAAQ,EAAE,gBAAgB;SAC3B;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;KACF,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC;IAC3C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAA2B,CAAC;IAC/D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG;QACnB,MAAM,UAAU,CAAC,OAAO;aACrB,0BAA0B,EAAE;aAC5B,QAAQ,CAAC;YACR,SAAS;YACT,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,cAAc,EAAE,YAAY,CAAC,cAAc;SAC5C,CAAC;aACD,WAAW,EAAE;KACjB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,EAAE;QACtE,kBAAkB,EAAE,WAAW;KAChC,CAAC,CAAC;IACH,MAAM,wBAAwB,CAAC;QAC7B,QAAQ;QACR,YAAY;QACZ,kBAAkB,EAAE,IAAI;QACxB,MAAM;QACN,OAAO,EAAE,EAAE;KACZ,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,114 @@
1
+ import * as anchor from '@coral-xyz/anchor';
2
+ import { init as initHem, rewardableEntityConfigKey, } from '@helium/helium-entity-manager-sdk';
3
+ import { subDaoKey } from '@helium/helium-sub-daos-sdk';
4
+ import { PublicKey } from '@solana/web3.js';
5
+ import Squads from '@sqds/sdk';
6
+ import os from 'os';
7
+ import yargs from 'yargs/yargs';
8
+ import { loadKeypair, sendInstructionsOrSquads } from './utils';
9
+ import BN from 'bn.js';
10
+ export async function run(args = process.argv) {
11
+ const yarg = yargs(args).options({
12
+ wallet: {
13
+ alias: 'k',
14
+ describe: 'Anchor wallet keypair',
15
+ default: `${os.homedir()}/.config/solana/id.json`,
16
+ },
17
+ url: {
18
+ alias: 'u',
19
+ default: 'http://127.0.0.1:8899',
20
+ describe: 'The solana url',
21
+ },
22
+ dntMint: {
23
+ required: true,
24
+ describe: 'Public Key of the subdao mint',
25
+ type: 'string',
26
+ },
27
+ name: {
28
+ alias: 'n',
29
+ type: 'string',
30
+ required: true,
31
+ describe: 'The name of the entity config',
32
+ },
33
+ executeTransaction: {
34
+ type: 'boolean',
35
+ },
36
+ multisig: {
37
+ type: 'string',
38
+ describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
39
+ },
40
+ authorityIndex: {
41
+ type: 'number',
42
+ describe: 'Authority index for squads. Defaults to 1',
43
+ default: 1,
44
+ },
45
+ fullLocationStakingFee: {
46
+ type: 'number',
47
+ describe: 'The full hotspot location assert fee',
48
+ default: '1000000',
49
+ },
50
+ dataonlyLocationStakingFee: {
51
+ type: 'number',
52
+ describe: 'The full hotspot location assert fee',
53
+ default: '1000000',
54
+ },
55
+ });
56
+ const argv = await yarg.argv;
57
+ process.env.ANCHOR_WALLET = argv.wallet;
58
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
59
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
60
+ const provider = anchor.getProvider();
61
+ const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
62
+ const name = argv.name;
63
+ const hemProgram = await initHem(provider);
64
+ const dntMint = new PublicKey(argv.dntMint);
65
+ const subdao = (await subDaoKey(dntMint))[0];
66
+ const rewardableConfigKey = (await rewardableEntityConfigKey(subdao, name.toUpperCase()))[0];
67
+ const rewardableConfigAcc = await hemProgram.account.rewardableEntityConfigV0.fetch(rewardableConfigKey);
68
+ let payer = provider.wallet.publicKey;
69
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
70
+ commitmentOrConfig: 'finalized',
71
+ });
72
+ let settings;
73
+ if (name.toUpperCase() == 'IOT') {
74
+ settings = {
75
+ iotConfig: {
76
+ minGain: 10,
77
+ maxGain: 150,
78
+ fullLocationStakingFee: new BN(argv.fullLocationStakingFee),
79
+ dataonlyLocationStakingFee: new BN(argv.dataonlyLocationStakingFee),
80
+ },
81
+ };
82
+ }
83
+ else {
84
+ settings = {
85
+ mobileConfig: {
86
+ fullLocationStakingFee: new BN(argv.fullLocationStakingFee),
87
+ dataonlyLocationStakingFee: new BN(argv.dataonlyLocationStakingFee),
88
+ },
89
+ };
90
+ }
91
+ console.log(settings, rewardableConfigAcc.authority.toBase58());
92
+ const instructions = [
93
+ await hemProgram.methods
94
+ .updateRewardableEntityConfigV0({
95
+ settings,
96
+ newAuthority: null,
97
+ })
98
+ .accounts({
99
+ rewardableEntityConfig: rewardableConfigKey,
100
+ authority: rewardableConfigAcc.authority,
101
+ })
102
+ .instruction(),
103
+ ];
104
+ await sendInstructionsOrSquads({
105
+ provider,
106
+ instructions,
107
+ executeTransaction: argv.executeTransaction,
108
+ squads,
109
+ multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
110
+ authorityIndex: argv.authorityIndex,
111
+ signers: [],
112
+ });
113
+ }
114
+ //# sourceMappingURL=update-rewardable-entity-config.js.map