@helium/helium-admin-cli 0.6.1 → 0.6.2-next.34

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 (127) hide show
  1. package/lib/cjs/approve-maker.js +129 -0
  2. package/lib/cjs/approve-maker.js.map +1 -0
  3. package/lib/cjs/claim-rewards.js +1 -1
  4. package/lib/cjs/claim-rewards.js.map +1 -1
  5. package/lib/cjs/close-lazy-transaction-markers.js +18 -18
  6. package/lib/cjs/close-lazy-transaction-markers.js.map +1 -1
  7. package/lib/cjs/create-and-approve-makers.js +323 -0
  8. package/lib/cjs/create-and-approve-makers.js.map +1 -0
  9. package/lib/cjs/create-boost-config.js +156 -0
  10. package/lib/cjs/create-boost-config.js.map +1 -0
  11. package/lib/cjs/create-carrier.js +1 -0
  12. package/lib/cjs/create-carrier.js.map +1 -1
  13. package/lib/cjs/create-common-lut.js +190 -0
  14. package/lib/cjs/create-common-lut.js.map +1 -0
  15. package/lib/cjs/create-dao.js +89 -72
  16. package/lib/cjs/create-dao.js.map +1 -1
  17. package/lib/cjs/create-maker.js +122 -213
  18. package/lib/cjs/create-maker.js.map +1 -1
  19. package/lib/cjs/create-subdao.js +113 -94
  20. package/lib/cjs/create-subdao.js.map +1 -1
  21. package/lib/cjs/distribute-iot-operations-fund.js +1 -1
  22. package/lib/cjs/distribute-iot-operations-fund.js.map +1 -1
  23. package/lib/cjs/end-epoch.js +21 -27
  24. package/lib/cjs/end-epoch.js.map +1 -1
  25. package/lib/cjs/{temp-repair-marker-sizes.js → is-executed.js} +18 -19
  26. package/lib/cjs/is-executed.js.map +1 -0
  27. package/lib/cjs/reset-vsr-voting-mint.js +0 -2
  28. package/lib/cjs/reset-vsr-voting-mint.js.map +1 -1
  29. package/lib/cjs/set-delegation-config.js +136 -0
  30. package/lib/cjs/set-delegation-config.js.map +1 -0
  31. package/lib/cjs/update-boost-config.js +143 -0
  32. package/lib/cjs/update-boost-config.js.map +1 -0
  33. package/lib/cjs/{reset-vsr-max-voter-record.js → update-carrier.js} +58 -61
  34. package/lib/cjs/update-carrier.js.map +1 -0
  35. package/lib/cjs/update-price-oracle.js +120 -0
  36. package/lib/cjs/update-price-oracle.js.map +1 -0
  37. package/lib/cjs/update-registrar-authorities.js +7 -2
  38. package/lib/cjs/update-registrar-authorities.js.map +1 -1
  39. package/lib/cjs/update-rewardable-entity-config.js +13 -7
  40. package/lib/cjs/update-rewardable-entity-config.js.map +1 -1
  41. package/lib/cjs/utils.js +38 -9
  42. package/lib/cjs/utils.js.map +1 -1
  43. package/lib/esm/src/approve-maker.js +88 -0
  44. package/lib/esm/src/approve-maker.js.map +1 -0
  45. package/lib/esm/src/claim-rewards.js +1 -1
  46. package/lib/esm/src/claim-rewards.js.map +1 -1
  47. package/lib/esm/src/close-lazy-transaction-markers.js +18 -18
  48. package/lib/esm/src/close-lazy-transaction-markers.js.map +1 -1
  49. package/lib/esm/src/create-and-approve-makers.js +282 -0
  50. package/lib/esm/src/create-and-approve-makers.js.map +1 -0
  51. package/lib/esm/src/create-boost-config.js +115 -0
  52. package/lib/esm/src/create-boost-config.js.map +1 -0
  53. package/lib/esm/src/create-carrier.js +1 -0
  54. package/lib/esm/src/create-carrier.js.map +1 -1
  55. package/lib/esm/src/create-common-lut.js +149 -0
  56. package/lib/esm/src/create-common-lut.js.map +1 -0
  57. package/lib/esm/src/create-dao.js +106 -89
  58. package/lib/esm/src/create-dao.js.map +1 -1
  59. package/lib/esm/src/create-maker.js +131 -222
  60. package/lib/esm/src/create-maker.js.map +1 -1
  61. package/lib/esm/src/create-subdao.js +129 -110
  62. package/lib/esm/src/create-subdao.js.map +1 -1
  63. package/lib/esm/src/distribute-iot-operations-fund.js +1 -1
  64. package/lib/esm/src/distribute-iot-operations-fund.js.map +1 -1
  65. package/lib/esm/src/end-epoch.js +22 -28
  66. package/lib/esm/src/end-epoch.js.map +1 -1
  67. package/lib/esm/src/is-executed.js +39 -0
  68. package/lib/esm/src/is-executed.js.map +1 -0
  69. package/lib/esm/src/reset-vsr-voting-mint.js +0 -2
  70. package/lib/esm/src/reset-vsr-voting-mint.js.map +1 -1
  71. package/lib/esm/src/set-delegation-config.js +95 -0
  72. package/lib/esm/src/set-delegation-config.js.map +1 -0
  73. package/lib/esm/src/update-boost-config.js +102 -0
  74. package/lib/esm/src/update-boost-config.js.map +1 -0
  75. package/lib/esm/src/update-carrier.js +101 -0
  76. package/lib/esm/src/update-carrier.js.map +1 -0
  77. package/lib/esm/src/update-price-oracle.js +79 -0
  78. package/lib/esm/src/update-price-oracle.js.map +1 -0
  79. package/lib/esm/src/update-registrar-authorities.js +7 -2
  80. package/lib/esm/src/update-registrar-authorities.js.map +1 -1
  81. package/lib/esm/src/update-rewardable-entity-config.js +13 -7
  82. package/lib/esm/src/update-rewardable-entity-config.js.map +1 -1
  83. package/lib/esm/src/utils.js +39 -10
  84. package/lib/esm/src/utils.js.map +1 -1
  85. package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
  86. package/lib/types/src/{temp-claim-failed-claims.d.ts → approve-maker.d.ts} +1 -1
  87. package/lib/types/src/approve-maker.d.ts.map +1 -0
  88. package/lib/types/src/close-lazy-transaction-markers.d.ts.map +1 -1
  89. package/lib/types/src/{reset-vsr-max-voter-record.d.ts → create-and-approve-makers.d.ts} +1 -1
  90. package/lib/types/src/create-and-approve-makers.d.ts.map +1 -0
  91. package/lib/types/src/{temp-repair-marker-sizes.d.ts → create-boost-config.d.ts} +1 -1
  92. package/lib/types/src/create-boost-config.d.ts.map +1 -0
  93. package/lib/types/src/create-carrier.d.ts.map +1 -1
  94. package/lib/types/src/create-common-lut.d.ts +2 -0
  95. package/lib/types/src/create-common-lut.d.ts.map +1 -0
  96. package/lib/types/src/create-dao.d.ts.map +1 -1
  97. package/lib/types/src/create-maker.d.ts.map +1 -1
  98. package/lib/types/src/create-subdao.d.ts.map +1 -1
  99. package/lib/types/src/end-epoch.d.ts.map +1 -1
  100. package/lib/types/src/is-executed.d.ts +2 -0
  101. package/lib/types/src/is-executed.d.ts.map +1 -0
  102. package/lib/types/src/reset-vsr-voting-mint.d.ts.map +1 -1
  103. package/lib/types/src/set-delegation-config.d.ts +2 -0
  104. package/lib/types/src/set-delegation-config.d.ts.map +1 -0
  105. package/lib/types/src/update-boost-config.d.ts +2 -0
  106. package/lib/types/src/update-boost-config.d.ts.map +1 -0
  107. package/lib/types/src/update-carrier.d.ts +2 -0
  108. package/lib/types/src/update-carrier.d.ts.map +1 -0
  109. package/lib/types/src/update-price-oracle.d.ts +2 -0
  110. package/lib/types/src/update-price-oracle.d.ts.map +1 -0
  111. package/lib/types/src/update-registrar-authorities.d.ts.map +1 -1
  112. package/lib/types/src/update-rewardable-entity-config.d.ts.map +1 -1
  113. package/lib/types/src/utils.d.ts.map +1 -1
  114. package/package.json +15 -14
  115. package/lib/cjs/reset-vsr-max-voter-record.js.map +0 -1
  116. package/lib/cjs/temp-claim-failed-claims.js +0 -149
  117. package/lib/cjs/temp-claim-failed-claims.js.map +0 -1
  118. package/lib/cjs/temp-repair-marker-sizes.js.map +0 -1
  119. package/lib/esm/src/reset-vsr-max-voter-record.js +0 -104
  120. package/lib/esm/src/reset-vsr-max-voter-record.js.map +0 -1
  121. package/lib/esm/src/temp-claim-failed-claims.js +0 -107
  122. package/lib/esm/src/temp-claim-failed-claims.js.map +0 -1
  123. package/lib/esm/src/temp-repair-marker-sizes.js +0 -41
  124. package/lib/esm/src/temp-repair-marker-sizes.js.map +0 -1
  125. package/lib/types/src/reset-vsr-max-voter-record.d.ts.map +0 -1
  126. package/lib/types/src/temp-claim-failed-claims.d.ts.map +0 -1
  127. package/lib/types/src/temp-repair-marker-sizes.d.ts.map +0 -1
@@ -0,0 +1,282 @@
1
+ import Address from '@helium/address';
2
+ import { ED25519_KEY_TYPE } from '@helium/address/build/KeyTypes';
3
+ import { init as initHem, makerKey, rewardableEntityConfigKey, makerApprovalKey, } from '@helium/helium-entity-manager-sdk';
4
+ import { init as initHsd, subDaoKey } from '@helium/helium-sub-daos-sdk';
5
+ import { init as initVsr } from '@helium/voter-stake-registry-sdk';
6
+ import { chunks, humanReadable, sendInstructions, truthy, } from '@helium/spl-utils';
7
+ import * as anchor from '@coral-xyz/anchor';
8
+ import { getConcurrentMerkleTreeAccountSize, SPL_ACCOUNT_COMPRESSION_PROGRAM_ID, } from '@solana/spl-account-compression';
9
+ import { Keypair, PublicKey, SystemProgram, } from '@solana/web3.js';
10
+ import fs from 'fs';
11
+ import os from 'os';
12
+ import yargs from 'yargs/yargs';
13
+ import { exists, loadKeypair, sendInstructionsOrSquads, merkleSizes, } from './utils';
14
+ import Squads from '@sqds/sdk';
15
+ export async function run(args = process.argv) {
16
+ const yarg = yargs(args).options({
17
+ wallet: {
18
+ alias: 'k',
19
+ describe: 'Anchor wallet keypair',
20
+ default: `${os.homedir()}/.config/solana/id.json`,
21
+ },
22
+ executeTransaction: {
23
+ type: 'boolean',
24
+ },
25
+ url: {
26
+ alias: 'u',
27
+ default: 'http://127.0.0.1:8899',
28
+ describe: 'The solana url',
29
+ },
30
+ subdaoMint: {
31
+ required: true,
32
+ describe: 'Public Key of the subdao mint',
33
+ type: 'string',
34
+ },
35
+ govProgramId: {
36
+ type: 'string',
37
+ describe: 'Pubkey of the GOV program',
38
+ default: 'hgovkRU6Ghe1Qoyb54HdSLdqN7VtxaifBzRmh9jtd3S',
39
+ },
40
+ fromFile: {
41
+ describe: 'Load makers from a json file and create in bulk',
42
+ required: false,
43
+ type: 'string',
44
+ },
45
+ name: {
46
+ alias: 'n',
47
+ type: 'string',
48
+ required: false,
49
+ describe: 'The name of the maker',
50
+ },
51
+ makerKey: {
52
+ alias: 'm',
53
+ type: 'string',
54
+ describe: '*Helium* Public Key of a maker',
55
+ required: false,
56
+ },
57
+ makerCount: {
58
+ alias: 'c',
59
+ type: 'number',
60
+ describe: 'Estimated number of hotspots this maker will have',
61
+ required: false,
62
+ },
63
+ merkleBasePath: {
64
+ type: 'string',
65
+ describe: 'Base path for merkle keypairs',
66
+ default: `${__dirname}/../keypairs`,
67
+ },
68
+ symbol: {
69
+ alias: 's',
70
+ type: 'string',
71
+ required: true,
72
+ describe: 'The symbol of the entity config',
73
+ },
74
+ multisig: {
75
+ type: 'string',
76
+ describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
77
+ },
78
+ authorityIndex: {
79
+ type: 'number',
80
+ describe: 'Authority index for squads. Defaults to 1',
81
+ default: 1,
82
+ },
83
+ });
84
+ const argv = await yarg.argv;
85
+ process.env.ANCHOR_WALLET = argv.wallet;
86
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
87
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
88
+ const provider = anchor.getProvider();
89
+ const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
90
+ const name = argv.name;
91
+ const symbol = argv.symbol;
92
+ let makers = [
93
+ {
94
+ name,
95
+ address: argv.makerKey,
96
+ count: argv.makerCount || 300000,
97
+ staked: true,
98
+ },
99
+ ];
100
+ if (argv.fromFile) {
101
+ makers = JSON.parse(fs.readFileSync(argv.fromFile, 'utf-8'));
102
+ // Append a special fallthrough maker for hotspots that don't have a maker
103
+ const solAddr = provider.wallet.publicKey;
104
+ const helAddr = new Address(0, 0, ED25519_KEY_TYPE, solAddr.toBuffer());
105
+ makers.push({
106
+ name: 'Migrated Helium Hotspot',
107
+ address: helAddr.b58,
108
+ count: 50000,
109
+ staked: true,
110
+ });
111
+ }
112
+ const hemProgram = await initHem(provider);
113
+ const hsdProgram = await initHsd(provider);
114
+ const vsrProgram = await initVsr(provider);
115
+ const conn = provider.connection;
116
+ const subdaoMint = new PublicKey(argv.subdaoMint);
117
+ const subdao = (await subDaoKey(subdaoMint))[0];
118
+ const entityConfigKey = (await rewardableEntityConfigKey(subdao, symbol.toUpperCase()))[0];
119
+ const subdaoAcc = await hsdProgram.account.subDaoV0.fetch(subdao);
120
+ const dao = await hsdProgram.account.daoV0.fetch(subdaoAcc.dao);
121
+ let subdaoPayer = provider.wallet.publicKey;
122
+ let daoPayer = provider.wallet.publicKey;
123
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
124
+ commitmentOrConfig: 'finalized',
125
+ });
126
+ let authority = provider.wallet.publicKey;
127
+ let multisig = argv.multisig ? new PublicKey(argv.multisig) : null;
128
+ if (multisig) {
129
+ authority = squads.getAuthorityPDA(multisig, argv.authorityIndex);
130
+ subdaoPayer = authority;
131
+ daoPayer = authority;
132
+ console.log('SQUAD AUTH', authority.toBase58());
133
+ }
134
+ const createInstructions = [];
135
+ const approveInstructions = [];
136
+ const updateAuthority = dao.authority;
137
+ let totalSol = 0;
138
+ for (const { name, address, count, staked } of makers) {
139
+ const innerCreateInstrs = [];
140
+ const makerAuthority = new PublicKey(Address.fromB58(address).publicKey);
141
+ const [size, buffer, canopy] = merkleSizes.find(([height]) => Math.pow(2, height) > count * 2);
142
+ const space = getConcurrentMerkleTreeAccountSize(size, buffer, canopy);
143
+ const maker = await makerKey(subdaoAcc.dao, name)[0];
144
+ const rent = await provider.connection.getMinimumBalanceForRentExemption(space);
145
+ totalSol += rent;
146
+ let merkle;
147
+ const merklePath = `${argv.merkleBasePath}/merkle-${address}.json`;
148
+ if (fs.existsSync(merklePath)) {
149
+ merkle = loadKeypair(merklePath);
150
+ }
151
+ else {
152
+ merkle = Keypair.generate();
153
+ fs.writeFileSync(merklePath, JSON.stringify(Array.from(merkle.secretKey)));
154
+ }
155
+ if (!(await exists(conn, maker))) {
156
+ console.log(`
157
+ Creating maker with helium addr: ${address}.
158
+ Solana addr: ${makerAuthority.toBase58()}.
159
+ Size: ${size}, buffer: ${buffer}, canopy: ${canopy}.
160
+ Space: ${space} bytes
161
+ Cost: ~${humanReadable(new anchor.BN(rent), 9)} Sol
162
+ `);
163
+ if (space > 10000000) {
164
+ throw new Error(`Space ${space} more than 10mb for tree ${size}, ${buffer}, ${canopy}}`);
165
+ }
166
+ const create = await hemProgram.methods
167
+ .initializeMakerV0({
168
+ name: name,
169
+ metadataUrl: 'todo',
170
+ issuingAuthority: makerAuthority,
171
+ updateAuthority,
172
+ })
173
+ .accounts({
174
+ maker,
175
+ payer: daoPayer,
176
+ dao: subdaoAcc.dao,
177
+ })
178
+ .instruction();
179
+ const setTree = await hemProgram.methods
180
+ .setMakerTreeV0({
181
+ maxDepth: size,
182
+ maxBufferSize: buffer,
183
+ })
184
+ .accounts({
185
+ maker,
186
+ merkleTree: merkle.publicKey,
187
+ payer: daoPayer,
188
+ updateAuthority,
189
+ })
190
+ .instruction();
191
+ if (!(await exists(conn, merkle.publicKey))) {
192
+ await sendInstructions(provider, [
193
+ SystemProgram.createAccount({
194
+ fromPubkey: provider.wallet.publicKey,
195
+ newAccountPubkey: merkle.publicKey,
196
+ lamports: await provider.connection.getMinimumBalanceForRentExemption(space),
197
+ space: space,
198
+ programId: SPL_ACCOUNT_COMPRESSION_PROGRAM_ID,
199
+ }),
200
+ ], [merkle]);
201
+ }
202
+ innerCreateInstrs.push(...[create, setTree].filter(truthy));
203
+ }
204
+ else {
205
+ const makerAcc = await hemProgram.account.makerV0.fetch(maker);
206
+ innerCreateInstrs.push(await hemProgram.methods
207
+ .updateMakerV0({
208
+ issuingAuthority: makerAuthority,
209
+ updateAuthority,
210
+ })
211
+ .accounts({ maker, updateAuthority: makerAcc.updateAuthority })
212
+ .instruction());
213
+ if (makerAcc.merkleTree.equals(SystemProgram.programId)) {
214
+ const setTree = await hemProgram.methods
215
+ .setMakerTreeV0({
216
+ maxDepth: size,
217
+ maxBufferSize: buffer,
218
+ })
219
+ .accounts({
220
+ maker,
221
+ merkleTree: merkle.publicKey,
222
+ payer: daoPayer,
223
+ updateAuthority,
224
+ })
225
+ .instruction();
226
+ if (!(await exists(conn, merkle.publicKey))) {
227
+ await sendInstructions(provider, [
228
+ SystemProgram.createAccount({
229
+ fromPubkey: provider.wallet.publicKey,
230
+ newAccountPubkey: merkle.publicKey,
231
+ lamports: await provider.connection.getMinimumBalanceForRentExemption(space),
232
+ space: space,
233
+ programId: SPL_ACCOUNT_COMPRESSION_PROGRAM_ID,
234
+ }),
235
+ ], [merkle]);
236
+ }
237
+ innerCreateInstrs.push(setTree);
238
+ }
239
+ }
240
+ createInstructions.push(innerCreateInstrs);
241
+ const innerApproveInstrs = [];
242
+ let approve;
243
+ if (staked &&
244
+ !(await exists(conn, makerApprovalKey(entityConfigKey, maker)[0]))) {
245
+ const authority = (await hemProgram.account.rewardableEntityConfigV0.fetch(entityConfigKey)).authority;
246
+ approve = await hemProgram.methods
247
+ .approveMakerV0()
248
+ .accounts({
249
+ maker,
250
+ rewardableEntityConfig: entityConfigKey,
251
+ authority,
252
+ payer: subdaoPayer,
253
+ })
254
+ .instruction();
255
+ innerApproveInstrs.push(approve);
256
+ }
257
+ approveInstructions.push(innerApproveInstrs);
258
+ }
259
+ console.log('Total sol needed: ', humanReadable(new anchor.BN(totalSol), 9));
260
+ if (multisig) {
261
+ // Approve instructions must execute after ALL create instructions
262
+ const instrs = createInstructions.flat().filter(truthy);
263
+ const approveInstrs = approveInstructions.flat().filter(truthy);
264
+ for (const chunk of chunks([...instrs, ...approveInstrs], 3)) {
265
+ await sendInstructionsOrSquads({
266
+ provider,
267
+ instructions: chunk,
268
+ signers: [],
269
+ executeTransaction: argv.executeTransaction,
270
+ squads,
271
+ multisig,
272
+ authorityIndex: argv.authorityIndex,
273
+ });
274
+ }
275
+ }
276
+ else {
277
+ for (const instrs of [...createInstructions, ...approveInstructions]) {
278
+ await sendInstructions(provider, instrs, []);
279
+ }
280
+ }
281
+ }
282
+ //# sourceMappingURL=create-and-approve-makers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-and-approve-makers.js","sourceRoot":"","sources":["../../../src/create-and-approve-makers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ import * as anchor from "@coral-xyz/anchor";
2
+ import { subDaoKey } from "@helium/helium-sub-daos-sdk";
3
+ import { init } from "@helium/hexboosting-sdk";
4
+ import { HNT_MINT, MOBILE_MINT, toBN } from "@helium/spl-utils";
5
+ import { PublicKey } from "@solana/web3.js";
6
+ import os from "os";
7
+ import yargs from "yargs/yargs";
8
+ import { loadKeypair, sendInstructionsOrSquads } from "./utils";
9
+ import { init as initHsd } from "@helium/helium-sub-daos-sdk";
10
+ import { getMint } from "@solana/spl-token";
11
+ import Squads from "@sqds/sdk";
12
+ export async function run(args = process.argv) {
13
+ const yarg = yargs(args).options({
14
+ wallet: {
15
+ alias: "k",
16
+ describe: "Anchor wallet keypair",
17
+ default: `${os.homedir()}/.config/solana/id.json`,
18
+ },
19
+ url: {
20
+ alias: "u",
21
+ default: "http://127.0.0.1:8899",
22
+ describe: "The solana url",
23
+ },
24
+ hntMint: {
25
+ default: HNT_MINT.toBase58(),
26
+ },
27
+ dntMint: {
28
+ default: MOBILE_MINT.toBase58(),
29
+ describe: "Public Key of the subdao mint",
30
+ type: "string",
31
+ },
32
+ rentReclaimAuthority: {
33
+ type: "string",
34
+ required: true,
35
+ describe: "The authority to reclaim rent",
36
+ },
37
+ startAuthority: {
38
+ type: "string",
39
+ required: true,
40
+ describe: "The authority to start hexes",
41
+ },
42
+ boostPrice: {
43
+ required: true,
44
+ type: "number",
45
+ describe: "The price to boost in usd",
46
+ },
47
+ periodLength: {
48
+ type: "number",
49
+ describe: "The period length in seconds for one boost",
50
+ required: true,
51
+ },
52
+ minimumPeriods: {
53
+ type: "number",
54
+ describe: "The min number of periods to initially boost",
55
+ required: true,
56
+ },
57
+ priceOracle: {
58
+ type: "string",
59
+ describe: "The price oracle to use",
60
+ required: true,
61
+ },
62
+ multisig: {
63
+ type: "string",
64
+ describe: "Address of the squads multisig to be authority. If not provided, your wallet will be the authority",
65
+ },
66
+ authorityIndex: {
67
+ type: "number",
68
+ describe: "Authority index for squads. Defaults to 1",
69
+ default: 1,
70
+ },
71
+ });
72
+ const argv = await yarg.argv;
73
+ process.env.ANCHOR_WALLET = argv.wallet;
74
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
75
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
76
+ const provider = anchor.getProvider();
77
+ const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
78
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
79
+ commitmentOrConfig: "finalized",
80
+ });
81
+ let multisig = argv.multisig ? new PublicKey(argv.multisig) : undefined;
82
+ const program = await init(provider);
83
+ const hsdProgram = await initHsd(provider);
84
+ const dntMint = new PublicKey(argv.dntMint);
85
+ const mint = await getMint(program.provider.connection, dntMint);
86
+ const subDao = (await subDaoKey(dntMint))[0];
87
+ const subDaoAuth = (await hsdProgram.account.subDaoV0.fetch(subDao)).authority;
88
+ const instructions = [
89
+ await program.methods
90
+ .initializeBoostConfigV0({
91
+ boostPrice: toBN(argv.boostPrice, mint.decimals),
92
+ periodLength: argv.periodLength,
93
+ minimumPeriods: argv.minimumPeriods,
94
+ })
95
+ .accounts({
96
+ dntMint,
97
+ priceOracle: new PublicKey(argv.priceOracle),
98
+ rentReclaimAuthority: new PublicKey(argv.rentReclaimAuthority),
99
+ authority: subDaoAuth,
100
+ subDao,
101
+ startAuthority: new PublicKey(argv.startAuthority),
102
+ })
103
+ .instruction(),
104
+ ];
105
+ await sendInstructionsOrSquads({
106
+ provider,
107
+ instructions,
108
+ signers: [],
109
+ executeTransaction: false,
110
+ squads,
111
+ multisig,
112
+ authorityIndex: argv.authorityIndex,
113
+ });
114
+ }
115
+ //# sourceMappingURL=create-boost-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-boost-config.js","sourceRoot":"","sources":["../../../src/create-boost-config.ts"],"names":[],"mappings":"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"}
@@ -107,6 +107,7 @@ export async function run(args = process.argv) {
107
107
  name,
108
108
  issuingAuthority: issuingAuthority,
109
109
  updateAuthority: issuingAuthority,
110
+ hexboostAuthority: issuingAuthority,
110
111
  metadataUrl: argv.metadataUrl,
111
112
  })
112
113
  .preInstructions([
@@ -1 +1 @@
1
- {"version":3,"file":"create-carrier.js","sourceRoot":"","sources":["../../../src/create-carrier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-carrier.js","sourceRoot":"","sources":["../../../src/create-carrier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ import * as anchor from "@coral-xyz/anchor";
2
+ import { chunks, truthy, withPriorityFees } from "@helium/spl-utils";
3
+ import { AddressLookupTableProgram, 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
+ multisig: {
21
+ type: "string",
22
+ describe: "Address of the squads multisig to be authority. If not provided, your wallet will be the authority",
23
+ },
24
+ authorityIndex: {
25
+ type: "number",
26
+ describe: "Authority index for squads. Defaults to 1",
27
+ default: 1,
28
+ },
29
+ });
30
+ const argv = await yarg.argv;
31
+ process.env.ANCHOR_WALLET = argv.wallet;
32
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
33
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
34
+ const provider = anchor.getProvider();
35
+ const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
36
+ const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
37
+ commitmentOrConfig: "finalized",
38
+ });
39
+ let authority = provider.wallet.publicKey;
40
+ let multisig = argv.multisig ? new PublicKey(argv.multisig) : null;
41
+ if (multisig) {
42
+ authority = squads.getAuthorityPDA(multisig, argv.authorityIndex);
43
+ }
44
+ const accounts = [
45
+ // Programs
46
+ "1azyuavdMyvsivtNxPoz6SucD18eDHeXzFCUPq5XU7w",
47
+ "hdaoVTCqhfHHo75XdAMxBKdUqvq1i5bF23sisBqVgGR",
48
+ "credMBJhYFzfn7NxBMdU4aUqFggAjgztaCcv2Fo6fPT",
49
+ "hemjuPXBpNvggtaUnN1MwT3wrdhttKEfosTcc2P9Pg8",
50
+ "circAbx64bbsscPbQzZAUvuXpHqrCe6fLMzc2uKXz9g",
51
+ "treaf4wWBBty3fHdyBpo35Mz84M8k3heKXmjmi9vFt5",
52
+ "1atrmQs3eq1N2FEYWu6tyTXbCjP4uQwExpjtnhXtS8h",
53
+ "porcSnvH9pvcYPmQ65Y8qcZSRxQBiBBQX7UV5nmBegy",
54
+ "rorcfdX4h9m9swCKgcypaHJ8NGYVANBpmV9EHn3cYrF",
55
+ "hvsrNC3NKbcryqDs2DocYHZ9yPKEVzdSjQG6RVtK1s8",
56
+ "fanqeMu3fw8R4LwKNbahPtYXJsyLL6NXyfe2BqzhfB6",
57
+ "memMa1HG4odAFmUbGWfPwS1WWfK95k99F2YTkGvyxZr",
58
+ "hexbnKYoA2GercNNhHUCCfrTRWrHjT6ujKPXTa5NPqJ",
59
+ "noEmmgLmQdk6DLiPV8CSwQv3qQDyGEhz9m5A4zhtByv",
60
+ "cnvEguKeWyyWnKxoQ9HwrzEVfztqKjwNmerDvxdHK9w",
61
+ "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
62
+ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
63
+ "11111111111111111111111111111111",
64
+ // Lazy distributor IOT
65
+ "37eiz5KzYwpAdLgrSh8GT1isKiJ6hcE5ET86dqaoCugL",
66
+ // Lazy dist Oracle
67
+ "orc1TYY5L4B4ZWDEMayTqu99ikPM9bQo9fqzoaCPP5Q",
68
+ // Oracle signer
69
+ "7WuVr8SGcZ4KxpHBEdRGVTeSwkhk1WGUXT7DEzvWpYu4",
70
+ // Lazy dist mobile
71
+ "GZtTp3AUo2AHdQe9BCJ6gXR9KqfruRvHnZ4QiJUALMcz",
72
+ // Hnt pyth
73
+ "7moA1i5vQUpfDwSpK6Pw9s56ahB7WFGidtbL2ujWrVvm",
74
+ // Mobile pyth
75
+ "JBaTytFv1CmGNkyNiLu16jFMXNZ49BGfy4bYAYZdkxg5",
76
+ // Usdc pyth
77
+ "Gnt27xtC473ZT2Mw5u8wZ68Z3gULkSTb5DuxJy7eJotD",
78
+ // Hnt
79
+ "hntyVP6YFm1Hg25TN9WGLqM12b8TQmcknKrdu1oxWux",
80
+ // dc
81
+ "dcuc8Amr83Wz27ZkQ2K9NS6r8zRpf1J6cvArEBDZDmm",
82
+ // Mobile
83
+ "mb1eu7TzEc71KxDpsmsKoucSSuuoGLv1drys1oP2jh6",
84
+ // Dao
85
+ "BQ3MCuTT5zVBhNfQ4SjMh3NPVhFy73MPV8rjfq5d1zie",
86
+ // Mobile subdao
87
+ "Gm9xDCJawDEKDrrQW6haw94gABaYzQwCq4ZQU8h8bd22",
88
+ // Iot subdao
89
+ "39Lw1RH6zt8AJvKn3BTxmUDofzduCM2J3kSaGDZ8L7Sk",
90
+ // Mobile Delegator pool
91
+ "71Y96vbVWYkoVQUgVsd8LSBRRDrgp5pf1sKznM5KuaA7",
92
+ // Mobile Delegator pool circuit breaker
93
+ "2cocTPZ7aRT62wTDGkosF98oo4iqCtkZnFdNHWqNZLuS",
94
+ // Iot delegator pool
95
+ "6fvj6rSwTeCkY7i45jYZYpZEhKmPRSTmA29hUDiMSFtU",
96
+ // Iot delegator pool circuit breaker
97
+ "6mNUqFAyLBkV88Nj6ctrcv66iJMHwzNzV8XFUwLmGerG",
98
+ // Mobile rewardable entity config
99
+ "EP1FNydbuKjGopwXVrVLR71NnC9YMRbTg9aHfk3KfMRj",
100
+ // Compression proram
101
+ "cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK",
102
+ // Mobile escrow circuit breaker
103
+ "4qGj88CX3McdTXEviEaqeP2pnZJxRTsZFWyU3Mrnbku4",
104
+ // Mobile escrow
105
+ "GD37bnQdGkDsjNqnVGr9qWTnQJSKMHbsiXX9tXLMUcaL",
106
+ // Iot escrow
107
+ "4po3YMfioHkNP4mL4N46UWJvBoQDS2HFjzGm1ifrUWuZ",
108
+ // Iot escrow circuit breaker
109
+ "5veMSa4ks66zydSaKSPMhV7H2eF88HvuKDArScNH9jaG",
110
+ // Hnt registrar
111
+ "BMnWRWZrWqb6JMKznaDqNxWaWAHoaTzVabM6Qwyh3WKz",
112
+ // Data credits
113
+ "D1LbvrJQ9K2WbGPMbM3Fnrf5PSsDH1TDpjqJdHuvs81n",
114
+ ].map((a) => {
115
+ return new PublicKey(a);
116
+ });
117
+ const slot = await provider.connection.getSlot();
118
+ const [lookupTableInst, lookupTableAddress] = AddressLookupTableProgram.createLookupTable({
119
+ authority,
120
+ payer: authority,
121
+ recentSlot: slot,
122
+ });
123
+ let isFirst = true;
124
+ for (const addresses of chunks(accounts, 20)) {
125
+ await sendInstructionsOrSquads({
126
+ provider,
127
+ signers: [],
128
+ squads,
129
+ multisig: multisig,
130
+ authorityIndex: argv.authorityIndex,
131
+ instructions: await withPriorityFees({
132
+ connection: provider.connection,
133
+ computeUnits: 200000,
134
+ instructions: [
135
+ isFirst ? lookupTableInst : undefined,
136
+ AddressLookupTableProgram.extendLookupTable({
137
+ payer: authority,
138
+ authority,
139
+ lookupTable: lookupTableAddress,
140
+ addresses: addresses,
141
+ }),
142
+ ].filter(truthy),
143
+ }),
144
+ });
145
+ isFirst = false;
146
+ }
147
+ console.log("lookup table address:", lookupTableAddress.toBase58());
148
+ }
149
+ //# sourceMappingURL=create-common-lut.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-common-lut.js","sourceRoot":"","sources":["../../../src/create-common-lut.ts"],"names":[],"mappings":"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"}