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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/bin/helium-admin.js +5 -2
  2. package/lib/cjs/approve-carrier.js +18 -17
  3. package/lib/cjs/approve-carrier.js.map +1 -1
  4. package/lib/cjs/approve-program.js +21 -20
  5. package/lib/cjs/approve-program.js.map +1 -1
  6. package/lib/cjs/claim-rewards.js.map +1 -1
  7. package/lib/cjs/close-buffers.js +15 -14
  8. package/lib/cjs/close-buffers.js.map +1 -1
  9. package/lib/cjs/close-canopy.js +21 -17
  10. package/lib/cjs/close-canopy.js.map +1 -1
  11. package/lib/cjs/close-lazy-transaction-markers.js +143 -0
  12. package/lib/cjs/close-lazy-transaction-markers.js.map +1 -0
  13. package/lib/cjs/create-carrier.js +29 -28
  14. package/lib/cjs/create-carrier.js.map +1 -1
  15. package/lib/cjs/create-dao.js +73 -78
  16. package/lib/cjs/create-dao.js.map +1 -1
  17. package/lib/cjs/create-data-only-config.js +175 -0
  18. package/lib/cjs/create-data-only-config.js.map +1 -0
  19. package/lib/cjs/create-maker.js +45 -43
  20. package/lib/cjs/create-maker.js.map +1 -1
  21. package/lib/cjs/create-price-oracle.js +28 -22
  22. package/lib/cjs/create-price-oracle.js.map +1 -1
  23. package/lib/cjs/create-subdao.js +110 -132
  24. package/lib/cjs/create-subdao.js.map +1 -1
  25. package/lib/cjs/distribute-iot-operations-fund.js +120 -0
  26. package/lib/cjs/distribute-iot-operations-fund.js.map +1 -0
  27. package/lib/cjs/end-epoch.js +1 -1
  28. package/lib/cjs/end-epoch.js.map +1 -1
  29. package/lib/cjs/issue-iot-operations-fund.js +17 -16
  30. package/lib/cjs/issue-iot-operations-fund.js.map +1 -1
  31. package/lib/cjs/issue-test-hotspot.js.map +1 -1
  32. package/lib/cjs/log-hotspot.js +9 -4
  33. package/lib/cjs/log-hotspot.js.map +1 -1
  34. package/lib/cjs/mint-dc.js.map +1 -1
  35. package/lib/cjs/reset-vsr-max-voter-record.js +24 -23
  36. package/lib/cjs/reset-vsr-max-voter-record.js.map +1 -1
  37. package/lib/cjs/reset-vsr-voting-mint.js +24 -23
  38. package/lib/cjs/reset-vsr-voting-mint.js.map +1 -1
  39. package/lib/cjs/setup-hst.js +33 -85
  40. package/lib/cjs/setup-hst.js.map +1 -1
  41. package/lib/cjs/submit-price.js.map +1 -1
  42. package/lib/cjs/{create-active-device-aggregator.js → take-snapshot.js} +7 -49
  43. package/lib/cjs/take-snapshot.js.map +1 -0
  44. package/lib/cjs/temp-claim-failed-claims.js +149 -0
  45. package/lib/cjs/temp-claim-failed-claims.js.map +1 -0
  46. package/lib/cjs/update-account-circuit-breaker.js +21 -18
  47. package/lib/cjs/update-account-circuit-breaker.js.map +1 -1
  48. package/lib/cjs/update-dao.js +47 -34
  49. package/lib/cjs/update-dao.js.map +1 -1
  50. package/lib/cjs/update-data-credits.js +19 -18
  51. package/lib/cjs/update-data-credits.js.map +1 -1
  52. package/lib/cjs/update-delegated-dc-subdao.js +18 -17
  53. package/lib/cjs/update-delegated-dc-subdao.js.map +1 -1
  54. package/lib/cjs/update-lazy-distributor.js +25 -24
  55. package/lib/cjs/update-lazy-distributor.js.map +1 -1
  56. package/lib/cjs/update-lazy-transactions.js +16 -14
  57. package/lib/cjs/update-lazy-transactions.js.map +1 -1
  58. package/lib/cjs/update-mint-circuit-breaker.js +18 -17
  59. package/lib/cjs/update-mint-circuit-breaker.js.map +1 -1
  60. package/lib/cjs/update-registrar-authorities.js +15 -11
  61. package/lib/cjs/update-registrar-authorities.js.map +1 -1
  62. package/lib/cjs/update-rewardable-entity-config.js +48 -5
  63. package/lib/cjs/update-rewardable-entity-config.js.map +1 -1
  64. package/lib/cjs/update-subdao-vehnt.js +35 -34
  65. package/lib/cjs/update-subdao-vehnt.js.map +1 -1
  66. package/lib/cjs/update-subdao.js +54 -61
  67. package/lib/cjs/update-subdao.js.map +1 -1
  68. package/lib/cjs/upgrade-idl.js +18 -17
  69. package/lib/cjs/upgrade-idl.js.map +1 -1
  70. package/lib/cjs/utils.js +7 -52
  71. package/lib/cjs/utils.js.map +1 -1
  72. package/lib/cjs/{repair-iot-operations-fund.js → write-merkle-canopy-depths.js} +11 -49
  73. package/lib/cjs/write-merkle-canopy-depths.js.map +1 -0
  74. package/lib/esm/src/approve-carrier.js +27 -26
  75. package/lib/esm/src/approve-carrier.js.map +1 -1
  76. package/lib/esm/src/approve-program.js +30 -29
  77. package/lib/esm/src/approve-program.js.map +1 -1
  78. package/lib/esm/src/claim-rewards.js.map +1 -1
  79. package/lib/esm/src/close-buffers.js +23 -22
  80. package/lib/esm/src/close-buffers.js.map +1 -1
  81. package/lib/esm/src/close-canopy.js +28 -24
  82. package/lib/esm/src/close-canopy.js.map +1 -1
  83. package/lib/esm/src/close-lazy-transaction-markers.js +102 -0
  84. package/lib/esm/src/close-lazy-transaction-markers.js.map +1 -0
  85. package/lib/esm/src/create-carrier.js +40 -39
  86. package/lib/esm/src/create-carrier.js.map +1 -1
  87. package/lib/esm/src/create-dao.js +87 -92
  88. package/lib/esm/src/create-dao.js.map +1 -1
  89. package/lib/esm/src/create-data-only-config.js +132 -0
  90. package/lib/esm/src/create-data-only-config.js.map +1 -0
  91. package/lib/esm/src/create-maker.js +59 -57
  92. package/lib/esm/src/create-maker.js.map +1 -1
  93. package/lib/esm/src/create-price-oracle.js +37 -31
  94. package/lib/esm/src/create-price-oracle.js.map +1 -1
  95. package/lib/esm/src/create-subdao.js +126 -148
  96. package/lib/esm/src/create-subdao.js.map +1 -1
  97. package/lib/esm/src/distribute-iot-operations-fund.js +79 -0
  98. package/lib/esm/src/distribute-iot-operations-fund.js.map +1 -0
  99. package/lib/esm/src/end-epoch.js +1 -1
  100. package/lib/esm/src/end-epoch.js.map +1 -1
  101. package/lib/esm/src/issue-iot-operations-fund.js +27 -26
  102. package/lib/esm/src/issue-iot-operations-fund.js.map +1 -1
  103. package/lib/esm/src/issue-test-hotspot.js.map +1 -1
  104. package/lib/esm/src/log-hotspot.js +9 -4
  105. package/lib/esm/src/log-hotspot.js.map +1 -1
  106. package/lib/esm/src/mint-dc.js.map +1 -1
  107. package/lib/esm/src/reset-vsr-max-voter-record.js +32 -31
  108. package/lib/esm/src/reset-vsr-max-voter-record.js.map +1 -1
  109. package/lib/esm/src/reset-vsr-voting-mint.js +32 -31
  110. package/lib/esm/src/reset-vsr-voting-mint.js.map +1 -1
  111. package/lib/esm/src/setup-hst.js +41 -92
  112. package/lib/esm/src/setup-hst.js.map +1 -1
  113. package/lib/esm/src/submit-price.js.map +1 -1
  114. package/lib/esm/src/take-snapshot.js +29 -0
  115. package/lib/esm/src/take-snapshot.js.map +1 -0
  116. package/lib/esm/src/temp-claim-failed-claims.js +107 -0
  117. package/lib/esm/src/temp-claim-failed-claims.js.map +1 -0
  118. package/lib/esm/src/update-account-circuit-breaker.js +29 -26
  119. package/lib/esm/src/update-account-circuit-breaker.js.map +1 -1
  120. package/lib/esm/src/update-dao.js +55 -42
  121. package/lib/esm/src/update-dao.js.map +1 -1
  122. package/lib/esm/src/update-data-credits.js +26 -25
  123. package/lib/esm/src/update-data-credits.js.map +1 -1
  124. package/lib/esm/src/update-delegated-dc-subdao.js +27 -26
  125. package/lib/esm/src/update-delegated-dc-subdao.js.map +1 -1
  126. package/lib/esm/src/update-lazy-distributor.js +32 -31
  127. package/lib/esm/src/update-lazy-distributor.js.map +1 -1
  128. package/lib/esm/src/update-lazy-transactions.js +23 -21
  129. package/lib/esm/src/update-lazy-transactions.js.map +1 -1
  130. package/lib/esm/src/update-mint-circuit-breaker.js +26 -25
  131. package/lib/esm/src/update-mint-circuit-breaker.js.map +1 -1
  132. package/lib/esm/src/update-registrar-authorities.js +22 -18
  133. package/lib/esm/src/update-registrar-authorities.js.map +1 -1
  134. package/lib/esm/src/update-rewardable-entity-config.js +49 -6
  135. package/lib/esm/src/update-rewardable-entity-config.js.map +1 -1
  136. package/lib/esm/src/update-subdao-vehnt.js +45 -44
  137. package/lib/esm/src/update-subdao-vehnt.js.map +1 -1
  138. package/lib/esm/src/update-subdao.js +64 -71
  139. package/lib/esm/src/update-subdao.js.map +1 -1
  140. package/lib/esm/src/upgrade-idl.js +24 -23
  141. package/lib/esm/src/upgrade-idl.js.map +1 -1
  142. package/lib/esm/src/utils.js +4 -46
  143. package/lib/esm/src/utils.js.map +1 -1
  144. package/lib/esm/src/write-merkle-canopy-depths.js +34 -0
  145. package/lib/esm/src/write-merkle-canopy-depths.js.map +1 -0
  146. package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
  147. package/lib/types/src/approve-carrier.d.ts.map +1 -1
  148. package/lib/types/src/approve-program.d.ts.map +1 -1
  149. package/lib/types/src/close-buffers.d.ts.map +1 -1
  150. package/lib/types/src/close-canopy.d.ts.map +1 -1
  151. package/lib/types/src/close-lazy-transaction-markers.d.ts +2 -0
  152. package/lib/types/src/close-lazy-transaction-markers.d.ts.map +1 -0
  153. package/lib/types/src/create-carrier.d.ts.map +1 -1
  154. package/lib/types/src/create-dao.d.ts.map +1 -1
  155. package/lib/types/src/{update-aggregator.d.ts → create-data-only-config.d.ts} +1 -1
  156. package/lib/types/src/create-data-only-config.d.ts.map +1 -0
  157. package/lib/types/src/create-maker.d.ts.map +1 -1
  158. package/lib/types/src/create-price-oracle.d.ts.map +1 -1
  159. package/lib/types/src/create-subdao.d.ts.map +1 -1
  160. package/lib/types/src/distribute-iot-operations-fund.d.ts +2 -0
  161. package/lib/types/src/distribute-iot-operations-fund.d.ts.map +1 -0
  162. package/lib/types/src/issue-iot-operations-fund.d.ts.map +1 -1
  163. package/lib/types/src/log-hotspot.d.ts.map +1 -1
  164. package/lib/types/src/reset-vsr-max-voter-record.d.ts.map +1 -1
  165. package/lib/types/src/reset-vsr-voting-mint.d.ts.map +1 -1
  166. package/lib/types/src/setup-hst.d.ts +0 -2
  167. package/lib/types/src/setup-hst.d.ts.map +1 -1
  168. package/lib/types/src/{reset-clockwork.d.ts → take-snapshot.d.ts} +1 -1
  169. package/lib/types/src/take-snapshot.d.ts.map +1 -0
  170. package/lib/types/src/{repair-iot-operations-fund.d.ts → temp-claim-failed-claims.d.ts} +1 -1
  171. package/lib/types/src/temp-claim-failed-claims.d.ts.map +1 -0
  172. package/lib/types/src/update-dao.d.ts.map +1 -1
  173. package/lib/types/src/update-data-credits.d.ts.map +1 -1
  174. package/lib/types/src/update-delegated-dc-subdao.d.ts.map +1 -1
  175. package/lib/types/src/update-lazy-distributor.d.ts.map +1 -1
  176. package/lib/types/src/update-lazy-transactions.d.ts.map +1 -1
  177. package/lib/types/src/update-mint-circuit-breaker.d.ts.map +1 -1
  178. package/lib/types/src/update-rewardable-entity-config.d.ts.map +1 -1
  179. package/lib/types/src/update-subdao-vehnt.d.ts.map +1 -1
  180. package/lib/types/src/update-subdao.d.ts.map +1 -1
  181. package/lib/types/src/upgrade-idl.d.ts.map +1 -1
  182. package/lib/types/src/utils.d.ts +1 -11
  183. package/lib/types/src/utils.d.ts.map +1 -1
  184. package/lib/types/src/write-merkle-canopy-depths.d.ts +2 -0
  185. package/lib/types/src/write-merkle-canopy-depths.d.ts.map +1 -0
  186. package/package.json +27 -30
  187. package/lib/cjs/create-active-device-aggregator.js.map +0 -1
  188. package/lib/cjs/repair-iot-operations-fund.js.map +0 -1
  189. package/lib/cjs/reset-clockwork.js +0 -143
  190. package/lib/cjs/reset-clockwork.js.map +0 -1
  191. package/lib/cjs/update-aggregator.js +0 -115
  192. package/lib/cjs/update-aggregator.js.map +0 -1
  193. package/lib/esm/src/create-active-device-aggregator.js +0 -71
  194. package/lib/esm/src/create-active-device-aggregator.js.map +0 -1
  195. package/lib/esm/src/repair-iot-operations-fund.js +0 -72
  196. package/lib/esm/src/repair-iot-operations-fund.js.map +0 -1
  197. package/lib/esm/src/reset-clockwork.js +0 -102
  198. package/lib/esm/src/reset-clockwork.js.map +0 -1
  199. package/lib/esm/src/update-aggregator.js +0 -74
  200. package/lib/esm/src/update-aggregator.js.map +0 -1
  201. package/lib/types/src/create-active-device-aggregator.d.ts +0 -2
  202. package/lib/types/src/create-active-device-aggregator.d.ts.map +0 -1
  203. package/lib/types/src/repair-iot-operations-fund.d.ts.map +0 -1
  204. package/lib/types/src/reset-clockwork.d.ts.map +0 -1
  205. package/lib/types/src/update-aggregator.d.ts.map +0 -1
@@ -1,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,134 +22,128 @@ 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',
148
142
  },
149
143
  activeDeviceAuthority: {
150
- type: "string",
151
- describe: "The authority that can set hotspot active status",
152
- }
144
+ type: 'string',
145
+ describe: 'The authority that can set hotspot active status',
146
+ },
153
147
  });
154
148
  const argv = await yarg.argv;
155
149
  console.log(argv.url);
@@ -162,8 +156,10 @@ export async function run(args = process.argv) {
162
156
  const heliumSubDaosProgram = await initDao(provider);
163
157
  const hemProgram = await initHem(provider);
164
158
  const heliumVsrProgram = await initVsr(provider);
165
- const wallet = loadKeypair(argv.wallet);
166
- 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`);
167
163
  const subdaoKeypair = await loadKeypair(argv.subdaoKeypair);
168
164
  const oracleKeypair = await loadKeypair(argv.oracleKeypair);
169
165
  const oracleKey = oracleKeypair.publicKey;
@@ -171,20 +167,20 @@ export async function run(args = process.argv) {
171
167
  const govProgramId = new PublicKey(argv.govProgramId);
172
168
  const councilKeypair = await loadKeypair(argv.councilKeypair);
173
169
  const me = provider.wallet.publicKey;
174
- console.log("Subdao mint", subdaoKeypair.publicKey.toBase58());
175
- console.log("GOV PID", govProgramId.toBase58());
176
- 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());
177
173
  const conn = provider.connection;
178
174
  const dao = (await daoKey(new PublicKey(argv.hntPubkey)))[0];
179
175
  const subdao = (await subDaoKey(subdaoKeypair.publicKey))[0];
180
- console.log("DAO", dao.toString());
181
- console.log("SUBDAO", subdao.toString());
176
+ console.log('DAO', dao.toString());
177
+ console.log('SUBDAO', subdao.toString());
182
178
  const daoAcc = await heliumSubDaosProgram.account.daoV0.fetch(dao);
183
- const calculateThread = threadKey(subdao, "calculate")[0];
184
- const issueThread = threadKey(subdao, "issue")[0];
179
+ const calculateThread = threadKey(subdao, 'calculate')[0];
180
+ const issueThread = threadKey(subdao, 'issue')[0];
185
181
  const emissionSchedule = await parseEmissionsSchedule(argv.emissionSchedulePath);
186
- const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet, {
187
- commitmentOrConfig: "finalized"
182
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
183
+ commitmentOrConfig: 'finalized',
188
184
  });
189
185
  let authority = provider.wallet.publicKey;
190
186
  const multisig = argv.multisig ? new PublicKey(argv.multisig) : null;
@@ -192,10 +188,9 @@ export async function run(args = process.argv) {
192
188
  authority = squads.getAuthorityPDA(multisig, argv.authorityIndex);
193
189
  }
194
190
  if (await exists(conn, subdao)) {
195
- const subDao = await heliumSubDaosProgram.account.subDaoV0.fetch(subdao);
196
- console.log(`Subdao exists. Key: ${subdao.toBase58()}. Agg: ${subDao.activeDeviceAggregator.toBase58()}}`);
197
- console.log("Calculate thread", calculateThread.toString());
198
- 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());
199
194
  return;
200
195
  }
201
196
  const [lazyDist] = await lazyDistributorKey(subdaoKeypair.publicKey);
@@ -203,7 +198,7 @@ export async function run(args = process.argv) {
203
198
  let payer = provider.wallet.publicKey;
204
199
  const auth = await provider.connection.getAccountInfo(daoAcc.authority);
205
200
  if (auth.owner.equals(govProgramId)) {
206
- 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];
207
202
  payer = daoPayer;
208
203
  }
209
204
  await createAndMint({
@@ -217,13 +212,13 @@ export async function run(args = process.argv) {
217
212
  updateAuthority: authority,
218
213
  });
219
214
  let instructions = [];
220
- const govProgramVersion = await getGovernanceProgramVersion(conn, govProgramId, isLocalhost(provider) ? "localnet" : undefined);
215
+ const govProgramVersion = await getGovernanceProgramVersion(conn, govProgramId, isLocalhost(provider) ? 'localnet' : undefined);
221
216
  const realmName = argv.realmName;
222
- const realm = await PublicKey.findProgramAddressSync([Buffer.from("governance", "utf-8"), Buffer.from(realmName, "utf-8")], govProgramId)[0];
223
- 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());
224
219
  const isFreshRealm = !(await exists(conn, realm));
225
220
  if (isFreshRealm) {
226
- console.log("Initializing Realm");
221
+ console.log('Initializing Realm');
227
222
  await withCreateRealm(instructions, govProgramId, govProgramVersion, realmName, provider.wallet.publicKey, // realmAuthorityPk
228
223
  subdaoKeypair.publicKey, // communityMintPk
229
224
  provider.wallet.publicKey, // payer
@@ -245,7 +240,7 @@ export async function run(args = process.argv) {
245
240
  }
246
241
  const registrar = (await registrarKey(realm, subdaoKeypair.publicKey))[0];
247
242
  if (!(await exists(conn, registrar))) {
248
- console.log("Initializing VSR Registrar");
243
+ console.log('Initializing VSR Registrar');
249
244
  instructions.push(await heliumVsrProgram.methods
250
245
  .initializeRegistrarV0({
251
246
  positionUpdateAuthority: null,
@@ -258,7 +253,7 @@ export async function run(args = process.argv) {
258
253
  realmGoverningTokenMint: subdaoKeypair.publicKey,
259
254
  })
260
255
  .instruction());
261
- console.log("Configuring VSR voting mint at [0]");
256
+ console.log('Configuring VSR voting mint at [0]');
262
257
  instructions.push(await heliumVsrProgram.methods
263
258
  .configureVotingMintV0({
264
259
  idx: 0,
@@ -283,7 +278,7 @@ export async function run(args = process.argv) {
283
278
  .instruction());
284
279
  await sendInstructions(provider, instructions, []);
285
280
  instructions = [];
286
- console.log("Creating max voter record");
281
+ console.log('Creating max voter record');
287
282
  instructions.push(await heliumVsrProgram.methods
288
283
  .updateMaxVoterWeightV0()
289
284
  .accounts({
@@ -315,7 +310,7 @@ export async function run(args = process.argv) {
315
310
  thresholdType: ThresholdType.Absolute,
316
311
  threshold: new anchor.BN(emissionSchedule[0].emissionsPerEpoch).mul(new anchor.BN(5)),
317
312
  },
318
- approver: oracleSignerKey()[0]
313
+ approver: oracleSignerKey()[0],
319
314
  })
320
315
  .accounts({
321
316
  rewardsMint: subdaoKeypair.publicKey,
@@ -324,20 +319,6 @@ export async function run(args = process.argv) {
324
319
  .rpc({ skipPreflight: true });
325
320
  }
326
321
  if (!(await exists(conn, subdao))) {
327
- let aggregatorKey = new PublicKey("GvDMxPzN1sCj7L26YDK2HnMRXEQmQ2aemov8YBtPS7vR");
328
- if (!isLocalhost(provider)) {
329
- console.log("Initializing switchboard oracle");
330
- aggregatorKey = await createSwitchboardAggregator({
331
- crank: new PublicKey(argv.crank),
332
- queue: new PublicKey(argv.queue),
333
- wallet,
334
- provider,
335
- aggKeypair,
336
- url: argv.activeDeviceOracleUrl,
337
- switchboardNetwork: argv.switchboardNetwork,
338
- authority,
339
- });
340
- }
341
322
  console.log(`Initializing ${name} SubDAO`);
342
323
  const currentDntEmission = emissionSchedule[0];
343
324
  const initSubdaoMethod = await heliumSubDaosProgram.methods
@@ -354,17 +335,18 @@ export async function run(args = process.argv) {
354
335
  },
355
336
  },
356
337
  // $40 for iot, $0 for mobile
357
- onboardingDcFee: name.toUpperCase() == "IOT" ? toBN(4000000, 0) : toBN(0, 0),
358
- 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),
359
340
  delegatorRewardsPercent: delegatorRewardsPercent(argv.delegatorRewardsPercent),
360
- activeDeviceAuthority: argv.activeDeviceAuthority ? new PublicKey(argv.activeDeviceAuthority) : authority,
341
+ activeDeviceAuthority: argv.activeDeviceAuthority
342
+ ? new PublicKey(argv.activeDeviceAuthority)
343
+ : authority,
361
344
  })
362
345
  .accounts({
363
346
  dao,
364
347
  dntMint: subdaoKeypair.publicKey,
365
348
  rewardsEscrow,
366
349
  hntMint: new PublicKey(argv.hntPubkey),
367
- activeDeviceAggregator: aggregatorKey,
368
350
  payer,
369
351
  dntMintAuthority: daoAcc.authority,
370
352
  subDaoFreezeAuthority: daoAcc.authority,
@@ -389,25 +371,6 @@ export async function run(args = process.argv) {
389
371
  lamports: LAMPORTS_PER_SOL * 2,
390
372
  }),
391
373
  ]);
392
- // Reset thread
393
- await sendInstructionsOrSquads({
394
- provider,
395
- instructions: [
396
- await heliumSubDaosProgram.methods
397
- .resetSubDaoThreadV0()
398
- .accounts({
399
- subDao: subDaoKey(subdaoKeypair.publicKey)[0],
400
- authority,
401
- threadPayer: authority,
402
- })
403
- .instruction(),
404
- ],
405
- executeTransaction: true,
406
- squads,
407
- multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
408
- authorityIndex: argv.authorityIndex,
409
- signers: [],
410
- });
411
374
  const { subDao } = await initSubdaoMethod.pubkeys();
412
375
  await sendInstructionsOrSquads({
413
376
  provider,
@@ -419,7 +382,6 @@ export async function run(args = process.argv) {
419
382
  dcBurnAuthority: null,
420
383
  onboardingDcFee: null,
421
384
  onboardingDataOnlyDcFee: null,
422
- activeDeviceAggregator: null,
423
385
  registrar: null,
424
386
  delegatorRewardsPercent: null,
425
387
  activeDeviceAuthority: null,
@@ -444,7 +406,7 @@ export async function run(args = process.argv) {
444
406
  const instructions = [];
445
407
  console.log(`Initalizing ${name} RewardableEntityConfig`);
446
408
  let settings;
447
- if (name.toUpperCase() == "IOT") {
409
+ if (name.toUpperCase() == 'IOT') {
448
410
  settings = {
449
411
  iotConfig: {
450
412
  minGain: 10,
@@ -456,9 +418,24 @@ export async function run(args = process.argv) {
456
418
  }
457
419
  else {
458
420
  settings = {
459
- mobileConfig: {
460
- fullLocationStakingFee: toBN(500000, 0),
461
- 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
+ ],
462
439
  },
463
440
  };
464
441
  }
@@ -466,6 +443,7 @@ export async function run(args = process.argv) {
466
443
  .initializeRewardableEntityConfigV0({
467
444
  symbol: name.toUpperCase(),
468
445
  settings,
446
+ stakingRequirement: toBN(0, 0),
469
447
  })
470
448
  .accounts({
471
449
  subDao: subdao,
@@ -478,7 +456,7 @@ export async function run(args = process.argv) {
478
456
  instructions,
479
457
  squads,
480
458
  executeTransaction: true,
481
- multisig,
459
+ multisig: multisig,
482
460
  authorityIndex: argv.authorityIndex,
483
461
  });
484
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":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACL,IAAI,IAAI,OAAO,EACf,aAAa,GACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,IAAI,IAAI,QAAQ,EAChB,kBAAkB,EAClB,YAAY,GACb,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAElD,MAAM,gBAAgB,GAAG,IAAI,EAAE,CAAC,iBAAiB,CAAC,CAAC;AAEnD,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,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,4BAA4B;YACtC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE;SAC7B;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,qBAAqB;YAC/B,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE;SAC7B;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;IAE1D,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAA2B,CAAC;IAC/D,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,oBAAoB,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEzD,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,eAAe,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;SACtE,KAAK,CAAC;IAET,MAAM,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC3D,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE;QAC1D,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC;YAClE,eAAe;YACf,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;KAC3C;IAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAC5C,WAAW,EACX,eAAe,EACf,OAAO,CACR,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAC5C,WAAW,EACX,eAAe,EACf,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACnB,CAAC,mBAAmB,CAAC,EACrB,MAAM,CACP,CAAC;IACF,mDAAmD;IACnD,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE;QAC7D,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;aAC1D,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;aACzC,GAAG,CAAC,gBAAgB,CAAC;aACrB,QAAQ,EAAE,CAAC;KACf;IAED,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;QACtC,OAAO,EAAE,WAAW;QACpB,oBAAoB,EAAE,oBAAoB;QAC1C,QAAQ;QACR,OAAO;QACP,KAAK,EAAE,OAAO;QACd,eAAe;KAChB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACzD,MAAM,uBAAuB,CAC3B,QAAQ,CAAC,UAAU,EACnB,MAAM,CAAC,SAAS,EAAE,EAClB,EAAE,aAAa,EAAE,IAAI,EAAE,EACvB,WAAW,CACZ,CAAC;AACJ,CAAC"}