@helium/helium-admin-cli 0.8.6 → 0.9.0-alpha.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.
@@ -39,6 +39,7 @@ exports.run = void 0;
39
39
  const anchor = __importStar(require("@coral-xyz/anchor"));
40
40
  const circuit_breaker_sdk_1 = require("@helium/circuit-breaker-sdk");
41
41
  const helium_entity_manager_sdk_1 = require("@helium/helium-entity-manager-sdk");
42
+ const fs_1 = __importDefault(require("fs"));
42
43
  const helium_sub_daos_sdk_1 = require("@helium/helium-sub-daos-sdk");
43
44
  const lazy_distributor_sdk_1 = require("@helium/lazy-distributor-sdk");
44
45
  const rewards_oracle_sdk_1 = require("@helium/rewards-oracle-sdk");
@@ -52,7 +53,8 @@ const sdk_1 = __importDefault(require("@sqds/sdk"));
52
53
  const os_1 = __importDefault(require("os"));
53
54
  const yargs_1 = __importDefault(require("yargs/yargs"));
54
55
  const utils_1 = require("./utils");
55
- const bn_js_1 = require("bn.js");
56
+ const nft_proxy_sdk_1 = require("@helium/nft-proxy-sdk");
57
+ const bn_js_1 = __importDefault(require("bn.js"));
56
58
  const SECS_PER_DAY = 86400;
57
59
  const SECS_PER_YEAR = 365 * SECS_PER_DAY;
58
60
  const MAX_LOCKUP = 4 * SECS_PER_YEAR;
@@ -62,127 +64,131 @@ function run(args = process.argv) {
62
64
  return __awaiter(this, void 0, void 0, function* () {
63
65
  const yarg = (0, yargs_1.default)(args).options({
64
66
  wallet: {
65
- alias: 'k',
66
- describe: 'Anchor wallet keypair',
67
+ alias: "k",
68
+ describe: "Anchor wallet keypair",
67
69
  default: `${os_1.default.homedir()}/.config/solana/id.json`,
68
70
  },
69
71
  noHotspots: {
70
- type: 'boolean',
72
+ type: "boolean",
71
73
  default: false,
72
74
  },
73
75
  url: {
74
- alias: 'u',
75
- default: 'http://127.0.0.1:8899',
76
- describe: 'The solana url',
76
+ alias: "u",
77
+ default: "http://127.0.0.1:8899",
78
+ describe: "The solana url",
77
79
  },
78
80
  hntPubkey: {
79
- type: 'string',
80
- describe: 'Pubkey of the HNT token',
81
+ type: "string",
82
+ describe: "Pubkey of the HNT token",
81
83
  },
82
84
  dcPubkey: {
83
- type: 'string',
84
- describe: 'Pubkey of the DC token',
85
+ type: "string",
86
+ describe: "Pubkey of the DC token",
85
87
  },
86
88
  name: {
87
- alias: 'n',
88
- describe: 'The name of the subdao',
89
- type: 'string',
89
+ alias: "n",
90
+ describe: "The name of the subdao",
91
+ type: "string",
90
92
  required: true,
91
93
  },
92
94
  realmName: {
93
- describe: 'The name of the realm',
94
- type: 'string',
95
+ describe: "The name of the realm",
96
+ type: "string",
95
97
  required: true,
96
98
  },
97
99
  subdaoKeypair: {
98
- type: 'string',
99
- describe: 'Keypair of the subdao token',
100
+ type: "string",
101
+ describe: "Keypair of the subdao token",
100
102
  required: true,
101
103
  },
102
104
  executeTransaction: {
103
- type: 'boolean',
105
+ type: "boolean",
104
106
  },
105
107
  numTokens: {
106
- type: 'number',
107
- describe: 'Number of subdao tokens to pre mint before assigning authority to lazy distributor',
108
+ type: "number",
109
+ describe: "Number of subdao tokens to pre mint before assigning authority to lazy distributor",
108
110
  default: 0,
109
111
  },
110
112
  bucket: {
111
- type: 'string',
112
- describe: 'Bucket URL prefix holding all of the metadata jsons',
113
- default: 'https://shdw-drive.genesysgo.net/6tcnBSybPG7piEDShBcrVtYJDPSvGrDbVvXmXKpzBvWP',
113
+ type: "string",
114
+ describe: "Bucket URL prefix holding all of the metadata jsons",
115
+ default: "https://shdw-drive.genesysgo.net/6tcnBSybPG7piEDShBcrVtYJDPSvGrDbVvXmXKpzBvWP",
114
116
  },
115
117
  rewardsOracleUrl: {
116
- alias: 'ro',
117
- type: 'string',
118
- describe: 'The rewards oracle URL',
119
- default: 'http://localhost:8080',
118
+ alias: "ro",
119
+ type: "string",
120
+ describe: "The rewards oracle URL",
121
+ default: "http://localhost:8080",
120
122
  },
121
123
  oracleKeypair: {
122
- type: 'string',
123
- describe: 'Keypair of the oracle',
124
+ type: "string",
125
+ describe: "Keypair of the oracle",
124
126
  default: `${__dirname}/../../keypairs/oracle.json`,
125
127
  },
126
128
  aggregatorKeypair: {
127
- type: 'string',
128
- describe: 'Keypair of the aggregtor',
129
+ type: "string",
130
+ describe: "Keypair of the aggregtor",
129
131
  },
130
132
  dcBurnAuthority: {
131
- type: 'string',
132
- describe: 'The authority to burn DC tokens',
133
+ type: "string",
134
+ describe: "The authority to burn DC tokens",
133
135
  required: true,
134
136
  },
135
137
  queue: {
136
- type: 'string',
137
- describe: 'Switchbaord oracle queue',
138
- default: 'uPeRMdfPmrPqgRWSrjAnAkH78RqAhe5kXoW6vBYRqFX',
138
+ type: "string",
139
+ describe: "Switchbaord oracle queue",
140
+ default: "uPeRMdfPmrPqgRWSrjAnAkH78RqAhe5kXoW6vBYRqFX",
139
141
  },
140
142
  crank: {
141
- type: 'string',
142
- describe: 'Switchboard crank',
143
- default: 'UcrnK4w2HXCEjY8z6TcQ9tysYr3c9VcFLdYAU9YQP5e',
143
+ type: "string",
144
+ describe: "Switchboard crank",
145
+ default: "UcrnK4w2HXCEjY8z6TcQ9tysYr3c9VcFLdYAU9YQP5e",
144
146
  },
145
147
  switchboardNetwork: {
146
- type: 'string',
147
- describe: 'The switchboard network',
148
- default: 'mainnet-beta',
148
+ type: "string",
149
+ describe: "The switchboard network",
150
+ default: "mainnet-beta",
149
151
  },
150
152
  decimals: {
151
- type: 'number',
153
+ type: "number",
152
154
  default: 6,
153
155
  },
154
156
  govProgramId: {
155
- type: 'string',
156
- describe: 'Pubkey of the GOV program',
157
- default: 'hgovkRU6Ghe1Qoyb54HdSLdqN7VtxaifBzRmh9jtd3S',
157
+ type: "string",
158
+ describe: "Pubkey of the GOV program",
159
+ default: "hgovkRU6Ghe1Qoyb54HdSLdqN7VtxaifBzRmh9jtd3S",
158
160
  },
159
161
  councilKeypair: {
160
- type: 'string',
161
- describe: 'Keypair of gov council token',
162
+ type: "string",
163
+ describe: "Keypair of gov council token",
162
164
  default: `${__dirname}/../../keypairs/council.json`,
163
165
  },
164
166
  multisig: {
165
- type: 'string',
166
- describe: 'Address of the squads multisig for subdao authority. If not provided, your wallet will be the authority',
167
+ type: "string",
168
+ describe: "Address of the squads multisig for subdao authority. If not provided, your wallet will be the authority",
167
169
  },
168
170
  authorityIndex: {
169
- type: 'number',
170
- describe: 'Authority index for squads. Defaults to 1',
171
+ type: "number",
172
+ describe: "Authority index for squads. Defaults to 1",
171
173
  default: 1,
172
174
  },
173
175
  delegatorRewardsPercent: {
174
- type: 'number',
176
+ type: "number",
175
177
  required: true,
176
- describe: 'Percentage of rewards allocated to delegators. Must be between 0-100 and can have 8 decimal places.',
178
+ describe: "Percentage of rewards allocated to delegators. Must be between 0-100 and can have 8 decimal places.",
177
179
  },
178
180
  emissionSchedulePath: {
179
181
  required: true,
180
- describe: 'Path to file that contains the dnt emissions schedule',
181
- type: 'string',
182
+ describe: "Path to file that contains the dnt emissions schedule",
183
+ type: "string",
182
184
  },
183
185
  activeDeviceAuthority: {
184
- type: 'string',
185
- describe: 'The authority that can set hotspot active status',
186
+ type: "string",
187
+ describe: "The authority that can set hotspot active status",
188
+ },
189
+ delegationSeasonsFile: {
190
+ type: "string",
191
+ default: `${__dirname}/../../proxy-seasons.json`,
186
192
  },
187
193
  });
188
194
  const argv = yield yarg.argv;
@@ -207,20 +213,22 @@ function run(args = process.argv) {
207
213
  const govProgramId = new web3_js_1.PublicKey(argv.govProgramId);
208
214
  const councilKeypair = yield (0, utils_1.loadKeypair)(argv.councilKeypair);
209
215
  const me = provider.wallet.publicKey;
210
- console.log('Subdao mint', subdaoKeypair.publicKey.toBase58());
211
- console.log('GOV PID', govProgramId.toBase58());
212
- console.log('COUNCIL', councilKeypair.publicKey.toBase58());
216
+ console.log("Subdao mint", subdaoKeypair.publicKey.toBase58());
217
+ console.log("GOV PID", govProgramId.toBase58());
218
+ console.log("COUNCIL", councilKeypair.publicKey.toBase58());
213
219
  const conn = provider.connection;
214
220
  const dao = (yield (0, helium_sub_daos_sdk_1.daoKey)(new web3_js_1.PublicKey(argv.hntPubkey)))[0];
215
221
  const subdao = (yield (0, helium_sub_daos_sdk_1.subDaoKey)(subdaoKeypair.publicKey))[0];
216
- console.log('DAO', dao.toString());
217
- console.log('SUBDAO', subdao.toString());
222
+ console.log("DAO", dao.toString());
223
+ console.log("SUBDAO", subdao.toString());
218
224
  const daoAcc = yield heliumSubDaosProgram.account.daoV0.fetch(dao);
219
- const calculateThread = (0, helium_sub_daos_sdk_1.threadKey)(subdao, 'calculate')[0];
220
- const issueThread = (0, helium_sub_daos_sdk_1.threadKey)(subdao, 'issue')[0];
225
+ const delegationSeasonsFile = fs_1.default.readFileSync(argv.delegationSeasonsFile, "utf8");
226
+ const seasons = JSON.parse(delegationSeasonsFile).map((s) => new anchor.BN(Math.floor(Date.parse(s) / 1000)));
227
+ const calculateThread = (0, helium_sub_daos_sdk_1.threadKey)(subdao, "calculate")[0];
228
+ const issueThread = (0, helium_sub_daos_sdk_1.threadKey)(subdao, "issue")[0];
221
229
  const emissionSchedule = yield (0, utils_1.parseEmissionsSchedule)(argv.emissionSchedulePath);
222
230
  const squads = sdk_1.default.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
223
- commitmentOrConfig: 'finalized',
231
+ commitmentOrConfig: "finalized",
224
232
  });
225
233
  let authority = provider.wallet.publicKey;
226
234
  const multisig = argv.multisig ? new web3_js_1.PublicKey(argv.multisig) : null;
@@ -229,8 +237,8 @@ function run(args = process.argv) {
229
237
  }
230
238
  if (yield (0, utils_1.exists)(conn, subdao)) {
231
239
  console.log(`Subdao exists. Key: ${subdao.toBase58()}.`);
232
- console.log('Calculate thread', calculateThread.toString());
233
- console.log('Issue thread', issueThread.toString());
240
+ console.log("Calculate thread", calculateThread.toString());
241
+ console.log("Issue thread", issueThread.toString());
234
242
  return;
235
243
  }
236
244
  const [lazyDist] = yield (0, lazy_distributor_sdk_1.lazyDistributorKey)(subdaoKeypair.publicKey);
@@ -238,7 +246,7 @@ function run(args = process.argv) {
238
246
  let payer = provider.wallet.publicKey;
239
247
  const auth = yield provider.connection.getAccountInfo(daoAcc.authority);
240
248
  if (auth.owner.equals(govProgramId)) {
241
- const daoPayer = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('native-treasury', 'utf-8'), daoAcc.authority.toBuffer()], govProgramId)[0];
249
+ const daoPayer = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("native-treasury", "utf-8"), daoAcc.authority.toBuffer()], govProgramId)[0];
242
250
  payer = daoPayer;
243
251
  }
244
252
  yield (0, utils_1.createAndMint)({
@@ -252,13 +260,29 @@ function run(args = process.argv) {
252
260
  updateAuthority: authority,
253
261
  });
254
262
  let instructions = [];
255
- const govProgramVersion = yield (0, spl_governance_1.getGovernanceProgramVersion)(conn, govProgramId, (0, utils_1.isLocalhost)(provider) ? 'localnet' : undefined);
263
+ const govProgramVersion = yield (0, spl_governance_1.getGovernanceProgramVersion)(conn, govProgramId, (0, utils_1.isLocalhost)(provider) ? "localnet" : undefined);
264
+ const delProgram = yield (0, nft_proxy_sdk_1.init)(provider);
265
+ const { pubkeys: { proxyConfig }, instruction, } = yield delProgram.methods
266
+ .initializeProxyConfigV0({
267
+ // Set max time to 2 years, though seasons should take precedent
268
+ maxProxyTime: new anchor.BN(24 * 60 * 60 * 365 * 2),
269
+ seasons,
270
+ name: "Helium V1",
271
+ })
272
+ .accounts({
273
+ authority,
274
+ })
275
+ .prepare();
276
+ if (!(yield (0, utils_1.exists)(provider.connection, proxyConfig))) {
277
+ console.log("Creating delegation config");
278
+ yield (0, spl_utils_1.sendInstructions)(provider, [instruction]);
279
+ }
256
280
  const realmName = argv.realmName;
257
- const realm = yield web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('governance', 'utf-8'), Buffer.from(realmName, 'utf-8')], govProgramId)[0];
258
- console.log('Realm, ', realm.toBase58());
281
+ const realm = yield web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("governance", "utf-8"), Buffer.from(realmName, "utf-8")], govProgramId)[0];
282
+ console.log("Realm, ", realm.toBase58());
259
283
  const isFreshRealm = !(yield (0, utils_1.exists)(conn, realm));
260
284
  if (isFreshRealm) {
261
- console.log('Initializing Realm');
285
+ console.log("Initializing Realm");
262
286
  yield (0, spl_governance_1.withCreateRealm)(instructions, govProgramId, govProgramVersion, realmName, provider.wallet.publicKey, // realmAuthorityPk
263
287
  subdaoKeypair.publicKey, // communityMintPk
264
288
  provider.wallet.publicKey, // payer
@@ -280,7 +304,7 @@ function run(args = process.argv) {
280
304
  }
281
305
  const registrar = (yield (0, voter_stake_registry_sdk_1.registrarKey)(realm, subdaoKeypair.publicKey))[0];
282
306
  if (!(yield (0, utils_1.exists)(conn, registrar))) {
283
- console.log('Initializing VSR Registrar');
307
+ console.log("Initializing VSR Registrar");
284
308
  instructions.push(yield heliumVsrProgram.methods
285
309
  .initializeRegistrarV0({
286
310
  positionUpdateAuthority: null,
@@ -288,9 +312,10 @@ function run(args = process.argv) {
288
312
  .accounts({
289
313
  realm,
290
314
  realmGoverningTokenMint: subdaoKeypair.publicKey,
315
+ proxyConfig,
291
316
  })
292
317
  .instruction());
293
- console.log('Configuring VSR voting mint at [0]');
318
+ console.log("Configuring VSR voting mint at [0]");
294
319
  instructions.push(yield heliumVsrProgram.methods
295
320
  .configureVotingMintV0({
296
321
  idx: 0,
@@ -363,8 +388,8 @@ function run(args = process.argv) {
363
388
  },
364
389
  },
365
390
  // $40 for iot, $0 for mobile
366
- onboardingDcFee: name.toUpperCase() == 'IOT' ? (0, spl_utils_1.toBN)(4000000, 0) : (0, spl_utils_1.toBN)(0, 0),
367
- onboardingDataOnlyDcFee: name.toUpperCase() == 'IOT' ? (0, spl_utils_1.toBN)(1000000, 0) : (0, spl_utils_1.toBN)(0, 0),
391
+ onboardingDcFee: name.toUpperCase() == "IOT" ? (0, spl_utils_1.toBN)(4000000, 0) : (0, spl_utils_1.toBN)(0, 0),
392
+ onboardingDataOnlyDcFee: name.toUpperCase() == "IOT" ? (0, spl_utils_1.toBN)(1000000, 0) : (0, spl_utils_1.toBN)(0, 0),
368
393
  delegatorRewardsPercent: (0, helium_sub_daos_sdk_1.delegatorRewardsPercent)(argv.delegatorRewardsPercent),
369
394
  activeDeviceAuthority: argv.activeDeviceAuthority
370
395
  ? new web3_js_1.PublicKey(argv.activeDeviceAuthority)
@@ -433,7 +458,7 @@ function run(args = process.argv) {
433
458
  const instructions = [];
434
459
  console.log(`Initalizing ${name} RewardableEntityConfig`);
435
460
  let settings;
436
- if (name.toUpperCase() == 'IOT') {
461
+ if (name.toUpperCase() == "IOT") {
437
462
  settings = {
438
463
  iotConfig: {
439
464
  minGain: 10,
@@ -452,21 +477,21 @@ function run(args = process.argv) {
452
477
  dcOnboardingFee: (0, spl_utils_1.toBN)(40, 5),
453
478
  locationStakingFee: (0, spl_utils_1.toBN)(10, 5),
454
479
  mobileOnboardingFeeUsd: (0, spl_utils_1.toBN)(0, 6),
455
- reserved: new Array(8).fill(new bn_js_1.BN(0)),
480
+ reserved: new Array(8).fill(new bn_js_1.default(0)),
456
481
  },
457
482
  {
458
483
  deviceType: { wifiIndoor: {} },
459
484
  dcOnboardingFee: (0, spl_utils_1.toBN)(10, 5),
460
485
  locationStakingFee: (0, spl_utils_1.toBN)(0, 5),
461
486
  mobileOnboardingFeeUsd: (0, spl_utils_1.toBN)(10, 6),
462
- reserved: new Array(8).fill(new bn_js_1.BN(0)),
487
+ reserved: new Array(8).fill(new bn_js_1.default(0)),
463
488
  },
464
489
  {
465
490
  deviceType: { wifiOutdoor: {} },
466
491
  dcOnboardingFee: (0, spl_utils_1.toBN)(10, 5),
467
492
  locationStakingFee: (0, spl_utils_1.toBN)(0, 5),
468
493
  mobileOnboardingFeeUsd: (0, spl_utils_1.toBN)(20, 6),
469
- reserved: new Array(8).fill(new bn_js_1.BN(0)),
494
+ reserved: new Array(8).fill(new bn_js_1.default(0)),
470
495
  },
471
496
  ],
472
497
  },
@@ -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,139 @@
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 yargs_1 = __importDefault(require("yargs/yargs"));
40
+ const utils_1 = require("./utils");
41
+ const os_1 = __importDefault(require("os"));
42
+ const anchor = __importStar(require("@coral-xyz/anchor"));
43
+ const nft_proxy_sdk_1 = require("@helium/nft-proxy-sdk");
44
+ const voter_stake_registry_sdk_1 = require("@helium/voter-stake-registry-sdk");
45
+ const fs_1 = __importDefault(require("fs"));
46
+ const spl_utils_1 = require("@helium/spl-utils");
47
+ const web3_js_1 = require("@solana/web3.js");
48
+ const sdk_1 = __importDefault(require("@sqds/sdk"));
49
+ function run(args = process.argv) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ const yarg = (0, yargs_1.default)(args).options({
52
+ wallet: {
53
+ alias: "k",
54
+ describe: "Anchor wallet keypair",
55
+ default: `${os_1.default.homedir()}/.config/solana/id.json`,
56
+ },
57
+ url: {
58
+ alias: "u",
59
+ default: "http://127.0.0.1:8899",
60
+ describe: "The solana url",
61
+ },
62
+ registrar: {
63
+ type: "string",
64
+ required: true,
65
+ },
66
+ multisig: {
67
+ type: "string",
68
+ describe: "Address of the squads multisig to control the dao. If not provided, your wallet will be the authority",
69
+ },
70
+ authorityIndex: {
71
+ type: "number",
72
+ describe: "Authority index for squads. Defaults to 1",
73
+ default: 1,
74
+ },
75
+ proxySeasonsFile: {
76
+ type: "string",
77
+ default: `${__dirname}/../../proxy-seasons.json`,
78
+ },
79
+ });
80
+ const argv = yield yarg.argv;
81
+ process.env.ANCHOR_WALLET = argv.wallet;
82
+ process.env.ANCHOR_PROVIDER_URL = argv.url;
83
+ anchor.setProvider(anchor.AnchorProvider.local(argv.url));
84
+ const provider = anchor.getProvider();
85
+ const wallet = new anchor.Wallet((0, utils_1.loadKeypair)(argv.wallet));
86
+ const squads = sdk_1.default.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
87
+ commitmentOrConfig: "finalized",
88
+ });
89
+ let authority = provider.wallet.publicKey;
90
+ let multisig = argv.multisig ? new web3_js_1.PublicKey(argv.multisig) : null;
91
+ if (multisig) {
92
+ authority = squads.getAuthorityPDA(multisig, argv.authorityIndex);
93
+ }
94
+ const delProgram = yield (0, nft_proxy_sdk_1.init)(provider);
95
+ const vsrProgram = yield (0, voter_stake_registry_sdk_1.init)(provider);
96
+ const registrar = new web3_js_1.PublicKey(argv.registrar);
97
+ const proxySeasonsFile = fs_1.default.readFileSync(argv.proxySeasonsFile, "utf8");
98
+ const seasons = JSON.parse(proxySeasonsFile).map((s) => ({
99
+ start: new anchor.BN(Math.floor(Date.parse(s.start) / 1000)),
100
+ end: new anchor.BN(Math.floor(Date.parse(s.end) / 1000)),
101
+ }));
102
+ const { pubkeys: { proxyConfig }, instruction, } = yield delProgram.methods
103
+ .initializeProxyConfigV0({
104
+ // Set max time to 2 years, though seasons should take precedent
105
+ maxProxyTime: new anchor.BN(24 * 60 * 60 * 365 * 2),
106
+ seasons,
107
+ name: "Helium V1",
108
+ })
109
+ .accounts({
110
+ authority,
111
+ })
112
+ .prepare();
113
+ if (!(yield (0, utils_1.exists)(provider.connection, proxyConfig))) {
114
+ console.log("Creating delegation config");
115
+ yield (0, spl_utils_1.sendInstructions)(provider, [instruction]);
116
+ }
117
+ console.log("Updating registrar to delegation config");
118
+ yield (0, utils_1.sendInstructionsOrSquads)({
119
+ provider,
120
+ instructions: [
121
+ yield vsrProgram.methods
122
+ .updateRegistrarV0()
123
+ .accounts({
124
+ proxyConfig,
125
+ registrar,
126
+ realmAuthority: authority,
127
+ })
128
+ .instruction(),
129
+ ],
130
+ executeTransaction: false,
131
+ squads,
132
+ multisig: argv.multisig ? new web3_js_1.PublicKey(argv.multisig) : undefined,
133
+ authorityIndex: argv.authorityIndex,
134
+ signers: [],
135
+ });
136
+ });
137
+ }
138
+ exports.run = run;
139
+ //# sourceMappingURL=set-proxy-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-proxy-config.js","sourceRoot":"","sources":["../../src/set-proxy-config.ts"],"names":[],"mappings":"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"}