@helium/helium-admin-cli 0.0.49-price.1

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 (136) hide show
  1. package/README.md +91 -0
  2. package/bin/helium-admin.js +13 -0
  3. package/lib/cjs/cli-distribute-rewards.js +96 -0
  4. package/lib/cjs/cli-distribute-rewards.js.map +1 -0
  5. package/lib/cjs/create-active-device-aggregator.js +112 -0
  6. package/lib/cjs/create-active-device-aggregator.js.map +1 -0
  7. package/lib/cjs/create-dao.js +384 -0
  8. package/lib/cjs/create-dao.js.map +1 -0
  9. package/lib/cjs/create-maker.js +323 -0
  10. package/lib/cjs/create-maker.js.map +1 -0
  11. package/lib/cjs/create-price-oracle.js +121 -0
  12. package/lib/cjs/create-price-oracle.js.map +1 -0
  13. package/lib/cjs/create-subdao.js +496 -0
  14. package/lib/cjs/create-subdao.js.map +1 -0
  15. package/lib/cjs/distribute-hst.js +94 -0
  16. package/lib/cjs/distribute-hst.js.map +1 -0
  17. package/lib/cjs/ecc-gen.js +17 -0
  18. package/lib/cjs/ecc-gen.js.map +1 -0
  19. package/lib/cjs/end-epoch.js +144 -0
  20. package/lib/cjs/end-epoch.js.map +1 -0
  21. package/lib/cjs/log-hotspot.js +80 -0
  22. package/lib/cjs/log-hotspot.js.map +1 -0
  23. package/lib/cjs/mint-dc.js +112 -0
  24. package/lib/cjs/mint-dc.js.map +1 -0
  25. package/lib/cjs/reset-clockwork.js +141 -0
  26. package/lib/cjs/reset-clockwork.js.map +1 -0
  27. package/lib/cjs/reset-vsr-max-voter-record.js +142 -0
  28. package/lib/cjs/reset-vsr-max-voter-record.js.map +1 -0
  29. package/lib/cjs/reset-vsr-voting-mint.js +179 -0
  30. package/lib/cjs/reset-vsr-voting-mint.js.map +1 -0
  31. package/lib/cjs/setup-hst.js +243 -0
  32. package/lib/cjs/setup-hst.js.map +1 -0
  33. package/lib/cjs/submit-price.js +158 -0
  34. package/lib/cjs/submit-price.js.map +1 -0
  35. package/lib/cjs/update-account-circuit-breaker.js +127 -0
  36. package/lib/cjs/update-account-circuit-breaker.js.map +1 -0
  37. package/lib/cjs/update-dao.js +146 -0
  38. package/lib/cjs/update-dao.js.map +1 -0
  39. package/lib/cjs/update-mint-circuit-breaker.js +129 -0
  40. package/lib/cjs/update-mint-circuit-breaker.js.map +1 -0
  41. package/lib/cjs/update-rewardable-entity-config.js +143 -0
  42. package/lib/cjs/update-rewardable-entity-config.js.map +1 -0
  43. package/lib/cjs/update-subdao.js +228 -0
  44. package/lib/cjs/update-subdao.js.map +1 -0
  45. package/lib/cjs/utils.js +366 -0
  46. package/lib/cjs/utils.js.map +1 -0
  47. package/lib/esm/src/cli-distribute-rewards.js +55 -0
  48. package/lib/esm/src/cli-distribute-rewards.js.map +1 -0
  49. package/lib/esm/src/create-active-device-aggregator.js +71 -0
  50. package/lib/esm/src/create-active-device-aggregator.js.map +1 -0
  51. package/lib/esm/src/create-dao.js +341 -0
  52. package/lib/esm/src/create-dao.js.map +1 -0
  53. package/lib/esm/src/create-maker.js +282 -0
  54. package/lib/esm/src/create-maker.js.map +1 -0
  55. package/lib/esm/src/create-price-oracle.js +80 -0
  56. package/lib/esm/src/create-price-oracle.js.map +1 -0
  57. package/lib/esm/src/create-subdao.js +455 -0
  58. package/lib/esm/src/create-subdao.js.map +1 -0
  59. package/lib/esm/src/distribute-hst.js +53 -0
  60. package/lib/esm/src/distribute-hst.js.map +1 -0
  61. package/lib/esm/src/ecc-gen.js +6 -0
  62. package/lib/esm/src/ecc-gen.js.map +1 -0
  63. package/lib/esm/src/end-epoch.js +103 -0
  64. package/lib/esm/src/end-epoch.js.map +1 -0
  65. package/lib/esm/src/log-hotspot.js +39 -0
  66. package/lib/esm/src/log-hotspot.js.map +1 -0
  67. package/lib/esm/src/mint-dc.js +71 -0
  68. package/lib/esm/src/mint-dc.js.map +1 -0
  69. package/lib/esm/src/reset-clockwork.js +100 -0
  70. package/lib/esm/src/reset-clockwork.js.map +1 -0
  71. package/lib/esm/src/reset-vsr-max-voter-record.js +101 -0
  72. package/lib/esm/src/reset-vsr-max-voter-record.js.map +1 -0
  73. package/lib/esm/src/reset-vsr-voting-mint.js +138 -0
  74. package/lib/esm/src/reset-vsr-voting-mint.js.map +1 -0
  75. package/lib/esm/src/setup-hst.js +201 -0
  76. package/lib/esm/src/setup-hst.js.map +1 -0
  77. package/lib/esm/src/submit-price.js +113 -0
  78. package/lib/esm/src/submit-price.js.map +1 -0
  79. package/lib/esm/src/update-account-circuit-breaker.js +86 -0
  80. package/lib/esm/src/update-account-circuit-breaker.js.map +1 -0
  81. package/lib/esm/src/update-dao.js +105 -0
  82. package/lib/esm/src/update-dao.js.map +1 -0
  83. package/lib/esm/src/update-mint-circuit-breaker.js +88 -0
  84. package/lib/esm/src/update-mint-circuit-breaker.js.map +1 -0
  85. package/lib/esm/src/update-rewardable-entity-config.js +102 -0
  86. package/lib/esm/src/update-rewardable-entity-config.js.map +1 -0
  87. package/lib/esm/src/update-subdao.js +187 -0
  88. package/lib/esm/src/update-subdao.js.map +1 -0
  89. package/lib/esm/src/utils.js +309 -0
  90. package/lib/esm/src/utils.js.map +1 -0
  91. package/lib/esm/tsconfig.esm.tsbuildinfo +1 -0
  92. package/lib/types/src/cli-distribute-rewards.d.ts +2 -0
  93. package/lib/types/src/cli-distribute-rewards.d.ts.map +1 -0
  94. package/lib/types/src/create-active-device-aggregator.d.ts +2 -0
  95. package/lib/types/src/create-active-device-aggregator.d.ts.map +1 -0
  96. package/lib/types/src/create-dao.d.ts +2 -0
  97. package/lib/types/src/create-dao.d.ts.map +1 -0
  98. package/lib/types/src/create-maker.d.ts +2 -0
  99. package/lib/types/src/create-maker.d.ts.map +1 -0
  100. package/lib/types/src/create-price-oracle.d.ts +2 -0
  101. package/lib/types/src/create-price-oracle.d.ts.map +1 -0
  102. package/lib/types/src/create-subdao.d.ts +2 -0
  103. package/lib/types/src/create-subdao.d.ts.map +1 -0
  104. package/lib/types/src/distribute-hst.d.ts +2 -0
  105. package/lib/types/src/distribute-hst.d.ts.map +1 -0
  106. package/lib/types/src/ecc-gen.d.ts +2 -0
  107. package/lib/types/src/ecc-gen.d.ts.map +1 -0
  108. package/lib/types/src/end-epoch.d.ts +2 -0
  109. package/lib/types/src/end-epoch.d.ts.map +1 -0
  110. package/lib/types/src/log-hotspot.d.ts +2 -0
  111. package/lib/types/src/log-hotspot.d.ts.map +1 -0
  112. package/lib/types/src/mint-dc.d.ts +2 -0
  113. package/lib/types/src/mint-dc.d.ts.map +1 -0
  114. package/lib/types/src/reset-clockwork.d.ts +2 -0
  115. package/lib/types/src/reset-clockwork.d.ts.map +1 -0
  116. package/lib/types/src/reset-vsr-max-voter-record.d.ts +2 -0
  117. package/lib/types/src/reset-vsr-max-voter-record.d.ts.map +1 -0
  118. package/lib/types/src/reset-vsr-voting-mint.d.ts +2 -0
  119. package/lib/types/src/reset-vsr-voting-mint.d.ts.map +1 -0
  120. package/lib/types/src/setup-hst.d.ts +4 -0
  121. package/lib/types/src/setup-hst.d.ts.map +1 -0
  122. package/lib/types/src/submit-price.d.ts +2 -0
  123. package/lib/types/src/submit-price.d.ts.map +1 -0
  124. package/lib/types/src/update-account-circuit-breaker.d.ts +2 -0
  125. package/lib/types/src/update-account-circuit-breaker.d.ts.map +1 -0
  126. package/lib/types/src/update-dao.d.ts +2 -0
  127. package/lib/types/src/update-dao.d.ts.map +1 -0
  128. package/lib/types/src/update-mint-circuit-breaker.d.ts +2 -0
  129. package/lib/types/src/update-mint-circuit-breaker.d.ts.map +1 -0
  130. package/lib/types/src/update-rewardable-entity-config.d.ts +2 -0
  131. package/lib/types/src/update-rewardable-entity-config.d.ts.map +1 -0
  132. package/lib/types/src/update-subdao.d.ts +2 -0
  133. package/lib/types/src/update-subdao.d.ts.map +1 -0
  134. package/lib/types/src/utils.d.ts +55 -0
  135. package/lib/types/src/utils.d.ts.map +1 -0
  136. package/package.json +77 -0
@@ -0,0 +1,323 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.run = void 0;
39
+ const address_1 = __importDefault(require("@helium/address"));
40
+ const KeyTypes_1 = require("@helium/address/build/KeyTypes");
41
+ const helium_entity_manager_sdk_1 = require("@helium/helium-entity-manager-sdk");
42
+ const helium_sub_daos_sdk_1 = require("@helium/helium-sub-daos-sdk");
43
+ const voter_stake_registry_sdk_1 = require("@helium/voter-stake-registry-sdk");
44
+ const spl_utils_1 = require("@helium/spl-utils");
45
+ const anchor = __importStar(require("@coral-xyz/anchor"));
46
+ const spl_account_compression_1 = require("@solana/spl-account-compression");
47
+ const web3_js_1 = require("@solana/web3.js");
48
+ const fs_1 = __importDefault(require("fs"));
49
+ const os_1 = __importDefault(require("os"));
50
+ const yargs_1 = __importDefault(require("yargs/yargs"));
51
+ const utils_1 = require("./utils");
52
+ const sdk_1 = __importDefault(require("@sqds/sdk"));
53
+ // Goal = 3 proof nodes needed
54
+ const merkleSizes = [
55
+ [3, 8, 0],
56
+ [5, 8, 2],
57
+ [14, 64, 11],
58
+ [15, 64, 12],
59
+ [16, 64, 13],
60
+ [17, 64, 14],
61
+ [18, 64, 15],
62
+ [19, 64, 16],
63
+ [20, 64, 17],
64
+ [24, 64, 17],
65
+ ];
66
+ function run(args = process.argv) {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ const yarg = (0, yargs_1.default)(args).options({
69
+ wallet: {
70
+ alias: "k",
71
+ describe: "Anchor wallet keypair",
72
+ default: `${os_1.default.homedir()}/.config/solana/id.json`,
73
+ },
74
+ executeTransaction: {
75
+ type: "boolean",
76
+ },
77
+ url: {
78
+ alias: "u",
79
+ default: "http://127.0.0.1:8899",
80
+ describe: "The solana url",
81
+ },
82
+ subdaoMint: {
83
+ required: true,
84
+ describe: "Public Key of the subdao mint",
85
+ type: "string",
86
+ },
87
+ govProgramId: {
88
+ type: "string",
89
+ describe: "Pubkey of the GOV program",
90
+ default: "hgovkRU6Ghe1Qoyb54HdSLdqN7VtxaifBzRmh9jtd3S",
91
+ },
92
+ fromFile: {
93
+ describe: "Load makers from a json file and create in bulk",
94
+ required: false,
95
+ type: "string",
96
+ },
97
+ name: {
98
+ alias: "n",
99
+ type: "string",
100
+ required: false,
101
+ describe: "The name of the maker",
102
+ },
103
+ makerKey: {
104
+ alias: "m",
105
+ type: "string",
106
+ describe: "*Helium* Public Key of a maker",
107
+ required: false,
108
+ },
109
+ makerCount: {
110
+ alias: "c",
111
+ type: "number",
112
+ describe: "Estimated number of hotspots this maker will have",
113
+ required: false,
114
+ },
115
+ symbol: {
116
+ alias: "s",
117
+ type: "string",
118
+ required: true,
119
+ describe: "The symbol of the entity config",
120
+ },
121
+ multisig: {
122
+ type: "string",
123
+ describe: "Address of the squads multisig to be authority. If not provided, your wallet will be the authority",
124
+ },
125
+ authorityIndex: {
126
+ type: "number",
127
+ describe: "Authority index for squads. Defaults to 1",
128
+ default: 1,
129
+ },
130
+ });
131
+ const argv = yield yarg.argv;
132
+ process.env.ANCHOR_WALLET = argv.wallet;
133
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
134
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
135
+ const provider = anchor.getProvider();
136
+ const name = argv.name;
137
+ const symbol = argv.symbol;
138
+ let makers = [
139
+ {
140
+ name,
141
+ address: argv.makerKey,
142
+ count: argv.makerCount || 300000,
143
+ },
144
+ ];
145
+ if (argv.fromFile) {
146
+ makers = JSON.parse(fs_1.default.readFileSync(argv.fromFile, "utf-8"));
147
+ // Append a special fallthrough maker for hotspots that don't have a maker
148
+ const solAddr = provider.wallet.publicKey;
149
+ const helAddr = new address_1.default(0, 0, KeyTypes_1.ED25519_KEY_TYPE, solAddr.toBuffer());
150
+ makers.push({
151
+ name: "Migrated Helium Hotspot",
152
+ address: helAddr.b58,
153
+ count: 50000,
154
+ });
155
+ }
156
+ const hemProgram = yield (0, helium_entity_manager_sdk_1.init)(provider);
157
+ const hsdProgram = yield (0, helium_sub_daos_sdk_1.init)(provider);
158
+ const vsrProgram = yield (0, voter_stake_registry_sdk_1.init)(provider);
159
+ const conn = provider.connection;
160
+ const subdaoMint = new web3_js_1.PublicKey(argv.subdaoMint);
161
+ const subdao = (yield (0, helium_sub_daos_sdk_1.subDaoKey)(subdaoMint))[0];
162
+ const entityConfigKey = (yield (0, helium_entity_manager_sdk_1.rewardableEntityConfigKey)(subdao, symbol.toUpperCase()))[0];
163
+ const subdaoAcc = yield hsdProgram.account.subDaoV0.fetch(subdao);
164
+ const dao = yield hsdProgram.account.daoV0.fetch(subdaoAcc.dao);
165
+ let subdaoPayer = provider.wallet.publicKey;
166
+ let daoPayer = provider.wallet.publicKey;
167
+ const squads = sdk_1.default.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet);
168
+ let authority = provider.wallet.publicKey;
169
+ let multisig = argv.multisig ? new web3_js_1.PublicKey(argv.multisig) : null;
170
+ if (multisig) {
171
+ authority = squads.getAuthorityPDA(multisig, argv.authorityIndex);
172
+ subdaoPayer = authority;
173
+ daoPayer = authority;
174
+ console.log("SQUAD AUTH", authority.toBase58());
175
+ }
176
+ const createInstructions = [];
177
+ const approveInstructions = [];
178
+ const updateAuthority = dao.authority;
179
+ let totalSol = 0;
180
+ for (const { name, address, count } of makers) {
181
+ const innerCreateInstrs = [];
182
+ const makerAuthority = new web3_js_1.PublicKey(address_1.default.fromB58(address).publicKey);
183
+ const [size, buffer, canopy] = merkleSizes.find(([height]) => Math.pow(2, height) > count * 2);
184
+ const space = (0, spl_account_compression_1.getConcurrentMerkleTreeAccountSize)(size, buffer, canopy);
185
+ const maker = yield (0, helium_entity_manager_sdk_1.makerKey)(subdaoAcc.dao, name)[0];
186
+ const rent = yield provider.connection.getMinimumBalanceForRentExemption(space);
187
+ totalSol += rent;
188
+ let merkle;
189
+ const merklePath = `${__dirname}/../keypairs/merkle-${address}.json`;
190
+ if (fs_1.default.existsSync(merklePath)) {
191
+ merkle = (0, utils_1.loadKeypair)(merklePath);
192
+ }
193
+ else {
194
+ merkle = web3_js_1.Keypair.generate();
195
+ fs_1.default.writeFileSync(merklePath, JSON.stringify(Array.from(merkle.secretKey)));
196
+ }
197
+ if (!(yield (0, utils_1.exists)(conn, maker))) {
198
+ console.log(`
199
+ Creating maker with helium addr: ${address}.
200
+ Solana addr: ${makerAuthority.toBase58()}.
201
+ Size: ${size}, buffer: ${buffer}, canopy: ${canopy}.
202
+ Space: ${space} bytes
203
+ Cost: ~${(0, spl_utils_1.humanReadable)(new anchor.BN(rent), 9)} Sol
204
+ `);
205
+ if (space > 10000000) {
206
+ throw new Error(`Space ${space} more than 10mb for tree ${size}, ${buffer}, ${canopy}}`);
207
+ }
208
+ const create = yield hemProgram.methods
209
+ .initializeMakerV0({
210
+ name,
211
+ metadataUrl: "todo",
212
+ issuingAuthority: makerAuthority,
213
+ updateAuthority,
214
+ })
215
+ .accounts({
216
+ maker,
217
+ payer: daoPayer,
218
+ dao: subdaoAcc.dao,
219
+ })
220
+ .instruction();
221
+ const setTree = yield hemProgram.methods
222
+ .setMakerTreeV0({
223
+ maxDepth: size,
224
+ maxBufferSize: buffer,
225
+ })
226
+ .accounts({
227
+ maker,
228
+ merkleTree: merkle.publicKey,
229
+ payer: daoPayer,
230
+ updateAuthority,
231
+ })
232
+ .instruction();
233
+ if (!(yield (0, utils_1.exists)(conn, merkle.publicKey))) {
234
+ yield (0, spl_utils_1.sendInstructions)(provider, [
235
+ web3_js_1.SystemProgram.createAccount({
236
+ fromPubkey: provider.wallet.publicKey,
237
+ newAccountPubkey: merkle.publicKey,
238
+ lamports: yield provider.connection.getMinimumBalanceForRentExemption(space),
239
+ space: space,
240
+ programId: spl_account_compression_1.SPL_ACCOUNT_COMPRESSION_PROGRAM_ID,
241
+ }),
242
+ ], [merkle]);
243
+ }
244
+ innerCreateInstrs.push(...[create, setTree].filter(spl_utils_1.truthy));
245
+ }
246
+ else {
247
+ const makerAcc = yield hemProgram.account.makerV0.fetch(maker);
248
+ innerCreateInstrs.push(yield hemProgram.methods
249
+ .updateMakerV0({
250
+ issuingAuthority: makerAuthority,
251
+ updateAuthority,
252
+ })
253
+ .accounts({ maker, updateAuthority: makerAcc.updateAuthority })
254
+ .instruction());
255
+ if (makerAcc.merkleTree.equals(web3_js_1.SystemProgram.programId)) {
256
+ const setTree = yield hemProgram.methods
257
+ .setMakerTreeV0({
258
+ maxDepth: size,
259
+ maxBufferSize: buffer,
260
+ })
261
+ .accounts({
262
+ maker,
263
+ merkleTree: merkle.publicKey,
264
+ payer: daoPayer,
265
+ updateAuthority,
266
+ })
267
+ .instruction();
268
+ if (!(yield (0, utils_1.exists)(conn, merkle.publicKey))) {
269
+ yield (0, spl_utils_1.sendInstructions)(provider, [
270
+ web3_js_1.SystemProgram.createAccount({
271
+ fromPubkey: provider.wallet.publicKey,
272
+ newAccountPubkey: merkle.publicKey,
273
+ lamports: yield provider.connection.getMinimumBalanceForRentExemption(space),
274
+ space: space,
275
+ programId: spl_account_compression_1.SPL_ACCOUNT_COMPRESSION_PROGRAM_ID,
276
+ }),
277
+ ], [merkle]);
278
+ }
279
+ innerCreateInstrs.push(setTree);
280
+ }
281
+ }
282
+ createInstructions.push(innerCreateInstrs);
283
+ const innerApproveInstrs = [];
284
+ let approve;
285
+ if (!(yield (0, utils_1.exists)(conn, (0, helium_entity_manager_sdk_1.makerApprovalKey)(entityConfigKey, maker)[0]))) {
286
+ const authority = (yield hemProgram.account.rewardableEntityConfigV0.fetch(entityConfigKey)).authority;
287
+ approve = yield hemProgram.methods
288
+ .approveMakerV0()
289
+ .accounts({
290
+ maker,
291
+ rewardableEntityConfig: entityConfigKey,
292
+ authority,
293
+ payer: subdaoPayer,
294
+ })
295
+ .instruction();
296
+ innerApproveInstrs.push(approve);
297
+ }
298
+ approveInstructions.push(innerApproveInstrs);
299
+ }
300
+ console.log("Total sol needed: ", (0, spl_utils_1.humanReadable)(new anchor.BN(totalSol), 9));
301
+ if (multisig) {
302
+ // Approve instructions must execute after ALL create instructions
303
+ const instrs = createInstructions.flat().filter(spl_utils_1.truthy);
304
+ const approveInstrs = approveInstructions.flat().filter(spl_utils_1.truthy);
305
+ yield (0, utils_1.sendInstructionsOrSquads)({
306
+ provider,
307
+ instructions: [...instrs, ...approveInstrs],
308
+ signers: [],
309
+ executeTransaction: argv.executeTransaction,
310
+ squads,
311
+ multisig,
312
+ authorityIndex: argv.authorityIndex,
313
+ });
314
+ }
315
+ else {
316
+ for (const instrs of [...createInstructions, ...approveInstructions]) {
317
+ yield (0, spl_utils_1.sendInstructions)(provider, instrs, []);
318
+ }
319
+ }
320
+ });
321
+ }
322
+ exports.run = run;
323
+ //# sourceMappingURL=create-maker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-maker.js","sourceRoot":"","sources":["../../src/create-maker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.run = void 0;
39
+ const price_oracle_sdk_1 = require("@helium/price-oracle-sdk");
40
+ const anchor = __importStar(require("@coral-xyz/anchor"));
41
+ const web3_js_1 = require("@solana/web3.js");
42
+ const os_1 = __importDefault(require("os"));
43
+ const yargs_1 = __importDefault(require("yargs/yargs"));
44
+ const utils_1 = require("./utils");
45
+ const sdk_1 = __importDefault(require("@sqds/sdk"));
46
+ const fs_1 = __importDefault(require("fs"));
47
+ const spl_utils_1 = require("@helium/spl-utils");
48
+ function run(args = process.argv) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ const yarg = (0, yargs_1.default)(args).options({
51
+ wallet: {
52
+ alias: "k",
53
+ describe: "Anchor wallet keypair",
54
+ default: `${os_1.default.homedir()}/.config/solana/id.json`,
55
+ },
56
+ url: {
57
+ alias: "u",
58
+ default: "http://127.0.0.1:8899",
59
+ describe: "The solana url",
60
+ },
61
+ priceOracleKeypair: {
62
+ type: "string",
63
+ required: false,
64
+ describe: "Keypair of the price oracle account",
65
+ default: null,
66
+ },
67
+ oracles: {
68
+ type: "string",
69
+ required: true,
70
+ describe: `JSON file of helium keypairs of the oracles`,
71
+ },
72
+ decimals: {
73
+ type: "number",
74
+ required: true,
75
+ describe: "Number of decimals in the price",
76
+ },
77
+ multisig: {
78
+ type: "string",
79
+ describe: "Address of the squads multisig to control the dao. If not provided, your wallet will be the authority",
80
+ },
81
+ authorityIndex: {
82
+ type: "number",
83
+ describe: "Authority index for squads. Defaults to 1",
84
+ default: 1,
85
+ },
86
+ });
87
+ const argv = yield yarg.argv;
88
+ process.env.ANCHOR_WALLET = argv.wallet;
89
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
90
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
91
+ const provider = anchor.getProvider();
92
+ const program = yield (0, price_oracle_sdk_1.init)(provider);
93
+ const squads = sdk_1.default.endpoint(process.env.ANCHOR_PROVIDER_URL, provider.wallet);
94
+ let authority = provider.wallet.publicKey;
95
+ let multisig = argv.multisig ? new web3_js_1.PublicKey(argv.multisig) : null;
96
+ if (multisig) {
97
+ authority = squads.getAuthorityPDA(multisig, argv.authorityIndex);
98
+ }
99
+ const priceOracleKeypair = argv.priceOracleKeypair ? yield (0, utils_1.loadKeypair)(argv.priceOracleKeypair) : web3_js_1.Keypair.generate();
100
+ const oracleKeys = JSON.parse(fs_1.default.readFileSync(argv.oracles).toString()).map((hKey) => (0, spl_utils_1.heliumAddressToSolPublicKey)(hKey));
101
+ const oracles = oracleKeys.map((x) => {
102
+ return {
103
+ authority: x,
104
+ lastSubmittedPrice: null,
105
+ lastSubmittedTimestamp: null,
106
+ };
107
+ });
108
+ yield program.methods.initializePriceOracleV0({
109
+ oracles,
110
+ decimals: argv.decimals,
111
+ authority
112
+ }).accounts({
113
+ priceOracle: priceOracleKeypair.publicKey,
114
+ payer: provider.wallet.publicKey,
115
+ }).signers([priceOracleKeypair])
116
+ .rpc({ skipPreflight: true });
117
+ console.log(`Created price oracle at: ${priceOracleKeypair.publicKey}`);
118
+ });
119
+ }
120
+ exports.run = run;
121
+ //# sourceMappingURL=create-price-oracle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-price-oracle.js","sourceRoot":"","sources":["../../src/create-price-oracle.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAEkC;AAClC,0DAA4C;AAC5C,6CAIyB;AACzB,4CAAoB;AACpB,wDAAgC;AAChC,mCAEiB;AACjB,oDAA+B;AAC/B,4CAAoB;AACpB,iDAAgE;AAEhE,SAAsB,GAAG,CAAC,OAAY,OAAO,CAAC,IAAI;;QAChD,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAC/B,MAAM,EAAE;gBACN,KAAK,EAAE,GAAG;gBACV,QAAQ,EAAE,uBAAuB;gBACjC,OAAO,EAAE,GAAG,YAAE,CAAC,OAAO,EAAE,yBAAyB;aAClD;YACD,GAAG,EAAE;gBACH,KAAK,EAAE,GAAG;gBACV,OAAO,EAAE,uBAAuB;gBAChC,QAAQ,EAAE,gBAAgB;aAC3B;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,qCAAqC;gBAC/C,OAAO,EAAE,IAAI;aACd;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,6CAA6C;aACxD;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,iCAAiC;aAC5C;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,QAAQ,EACN,uGAAuG;aAC1G;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,2CAA2C;gBACrD,OAAO,EAAE,CAAC;aACX;SACF,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAA2B,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,IAAA,uBAAI,EAAC,QAAQ,CAAC,CAAC;QAErC,MAAM,MAAM,GAAG,aAAM,CAAC,QAAQ,CAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAC/B,QAAQ,CAAC,MAAM,CAChB,CAAC;QACF,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;QAC1C,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,mBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,IAAI,QAAQ,EAAE;YACZ,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACnE;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,IAAA,mBAAW,EAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,iBAAO,CAAC,QAAQ,EAAE,CAAC;QACrH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CACzE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,uCAA2B,EAAC,IAAI,CAAC,CAC5C,CAAC;QACF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE;YAC9C,OAAO;gBACL,SAAS,EAAE,CAAC;gBACZ,kBAAkB,EAAE,IAAI;gBACxB,sBAAsB,EAAE,IAAI;aAC7B,CAAA;QACH,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC;YAC5C,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS;SACV,CAAC,CAAC,QAAQ,CAAC;YACV,WAAW,EAAE,kBAAkB,CAAC,SAAS;YACzC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;SACjC,CAAC,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC;aAC/B,GAAG,CAAC,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;QAE5B,OAAO,CAAC,GAAG,CAAC,4BAA4B,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAC;IAC1E,CAAC;CAAA;AAhFD,kBAgFC"}