@helium/helium-admin-cli 0.6.0 → 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
@@ -36,88 +36,60 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
38
  exports.run = void 0;
39
- const address_1 = __importDefault(require("@helium/address"));
40
- const KeyTypes_1 = require("@helium/address/build/KeyTypes");
39
+ const anchor = __importStar(require("@coral-xyz/anchor"));
41
40
  const helium_entity_manager_sdk_1 = require("@helium/helium-entity-manager-sdk");
42
41
  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
42
  const spl_utils_1 = require("@helium/spl-utils");
45
- const anchor = __importStar(require("@coral-xyz/anchor"));
46
43
  const spl_account_compression_1 = require("@solana/spl-account-compression");
47
44
  const web3_js_1 = require("@solana/web3.js");
48
45
  const fs_1 = __importDefault(require("fs"));
49
46
  const os_1 = __importDefault(require("os"));
50
47
  const yargs_1 = __importDefault(require("yargs/yargs"));
51
48
  const utils_1 = require("./utils");
52
- const sdk_1 = __importDefault(require("@sqds/sdk"));
53
49
  function run(args = process.argv) {
54
50
  return __awaiter(this, void 0, void 0, function* () {
55
51
  const yarg = (0, yargs_1.default)(args).options({
56
52
  wallet: {
57
- alias: 'k',
58
- describe: 'Anchor wallet keypair',
53
+ alias: "k",
54
+ describe: "Anchor wallet keypair",
59
55
  default: `${os_1.default.homedir()}/.config/solana/id.json`,
60
56
  },
61
- executeTransaction: {
62
- type: 'boolean',
63
- },
64
57
  url: {
65
- alias: 'u',
66
- default: 'http://127.0.0.1:8899',
67
- describe: 'The solana url',
58
+ alias: "u",
59
+ default: "http://127.0.0.1:8899",
60
+ describe: "The solana url",
68
61
  },
69
- subdaoMint: {
62
+ name: {
63
+ alias: "n",
64
+ type: "string",
70
65
  required: true,
71
- describe: 'Public Key of the subdao mint',
72
- type: 'string',
66
+ describe: "The name of the maker",
73
67
  },
74
- govProgramId: {
75
- type: 'string',
76
- describe: 'Pubkey of the GOV program',
77
- default: 'hgovkRU6Ghe1Qoyb54HdSLdqN7VtxaifBzRmh9jtd3S',
78
- },
79
- fromFile: {
80
- describe: 'Load makers from a json file and create in bulk',
81
- required: false,
82
- type: 'string',
68
+ issuingAuthority: {
69
+ type: "string",
70
+ describe: "Key that can issue hotspots on behalf of this maker",
71
+ required: true,
83
72
  },
84
- name: {
85
- alias: 'n',
86
- type: 'string',
87
- required: false,
88
- describe: 'The name of the maker',
73
+ updateAuthority: {
74
+ type: "string",
75
+ describe: "Key that can update the maker's issuing authority",
76
+ required: true,
89
77
  },
90
- makerKey: {
91
- alias: 'm',
92
- type: 'string',
93
- describe: '*Helium* Public Key of a maker',
94
- required: false,
78
+ metadataUrl: {
79
+ type: "string",
80
+ describe: "URL to metadata for this maker. Should be JSON with at least { name, image, description }",
81
+ required: true,
95
82
  },
96
83
  makerCount: {
97
- alias: 'c',
98
- type: 'number',
99
- describe: 'Estimated number of hotspots this maker will have',
100
- required: false,
101
- },
102
- merkleBasePath: {
103
- type: 'string',
104
- describe: 'Base path for merkle keypairs',
105
- default: `${__dirname}/../keypairs`,
106
- },
107
- symbol: {
108
- alias: 's',
109
- type: 'string',
84
+ alias: "c",
85
+ type: "number",
86
+ describe: "Estimated number of hotspots this maker will have",
110
87
  required: true,
111
- describe: 'The symbol of the entity config',
112
- },
113
- multisig: {
114
- type: 'string',
115
- describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
116
88
  },
117
- authorityIndex: {
118
- type: 'number',
119
- describe: 'Authority index for squads. Defaults to 1',
120
- default: 1,
89
+ merkleBasePath: {
90
+ type: "string",
91
+ describe: "Base path for merkle keypairs",
92
+ default: `${__dirname}`,
121
93
  },
122
94
  });
123
95
  const argv = yield yarg.argv;
@@ -125,96 +97,99 @@ function run(args = process.argv) {
125
97
  process.env.ANCHOR_PROVIDER_URL = argv.url;
126
98
  anchor.setProvider(anchor.AnchorProvider.local(argv.url));
127
99
  const provider = anchor.getProvider();
128
- const wallet = new anchor.Wallet((0, utils_1.loadKeypair)(argv.wallet));
129
100
  const name = argv.name;
130
- const symbol = argv.symbol;
131
- let makers = [
132
- {
133
- name,
134
- address: argv.makerKey,
135
- count: argv.makerCount || 300000,
136
- staked: true,
137
- },
138
- ];
139
- if (argv.fromFile) {
140
- makers = JSON.parse(fs_1.default.readFileSync(argv.fromFile, 'utf-8'));
141
- // Append a special fallthrough maker for hotspots that don't have a maker
142
- const solAddr = provider.wallet.publicKey;
143
- const helAddr = new address_1.default(0, 0, KeyTypes_1.ED25519_KEY_TYPE, solAddr.toBuffer());
144
- makers.push({
145
- name: 'Migrated Helium Hotspot',
146
- address: helAddr.b58,
147
- count: 50000,
148
- staked: true,
149
- });
150
- }
101
+ const count = argv.makerCount;
102
+ const issuingAuthority = new web3_js_1.PublicKey(argv.issuingAuthority);
103
+ const updateAuthority = new web3_js_1.PublicKey(argv.updateAuthority);
151
104
  const hemProgram = yield (0, helium_entity_manager_sdk_1.init)(provider);
152
- const hsdProgram = yield (0, helium_sub_daos_sdk_1.init)(provider);
153
- const vsrProgram = yield (0, voter_stake_registry_sdk_1.init)(provider);
154
105
  const conn = provider.connection;
155
- const subdaoMint = new web3_js_1.PublicKey(argv.subdaoMint);
156
- const subdao = (yield (0, helium_sub_daos_sdk_1.subDaoKey)(subdaoMint))[0];
157
- const entityConfigKey = (yield (0, helium_entity_manager_sdk_1.rewardableEntityConfigKey)(subdao, symbol.toUpperCase()))[0];
158
- const subdaoAcc = yield hsdProgram.account.subDaoV0.fetch(subdao);
159
- const dao = yield hsdProgram.account.daoV0.fetch(subdaoAcc.dao);
160
- let subdaoPayer = provider.wallet.publicKey;
106
+ const daoK = (0, helium_sub_daos_sdk_1.daoKey)(spl_utils_1.HNT_MINT)[0];
161
107
  let daoPayer = provider.wallet.publicKey;
162
- const squads = sdk_1.default.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
163
- commitmentOrConfig: 'finalized',
164
- });
165
- let authority = provider.wallet.publicKey;
166
- let multisig = argv.multisig ? new web3_js_1.PublicKey(argv.multisig) : null;
167
- if (multisig) {
168
- authority = squads.getAuthorityPDA(multisig, argv.authorityIndex);
169
- subdaoPayer = authority;
170
- daoPayer = authority;
171
- console.log('SQUAD AUTH', authority.toBase58());
172
- }
173
- const createInstructions = [];
174
- const approveInstructions = [];
175
- const updateAuthority = dao.authority;
176
108
  let totalSol = 0;
177
- for (const { name, address, count, staked } of makers) {
178
- const innerCreateInstrs = [];
179
- const makerAuthority = new web3_js_1.PublicKey(address_1.default.fromB58(address).publicKey);
180
- const [size, buffer, canopy] = utils_1.merkleSizes.find(([height]) => Math.pow(2, height) > count * 2);
181
- const space = (0, spl_account_compression_1.getConcurrentMerkleTreeAccountSize)(size, buffer, canopy);
182
- const maker = yield (0, helium_entity_manager_sdk_1.makerKey)(subdaoAcc.dao, name)[0];
183
- const rent = yield provider.connection.getMinimumBalanceForRentExemption(space);
184
- totalSol += rent;
185
- let merkle;
186
- const merklePath = `${argv.merkleBasePath}/merkle-${address}.json`;
187
- if (fs_1.default.existsSync(merklePath)) {
188
- merkle = (0, utils_1.loadKeypair)(merklePath);
189
- }
190
- else {
191
- merkle = web3_js_1.Keypair.generate();
192
- fs_1.default.writeFileSync(merklePath, JSON.stringify(Array.from(merkle.secretKey)));
193
- }
194
- if (!(yield (0, utils_1.exists)(conn, maker))) {
195
- console.log(`
196
- Creating maker with helium addr: ${address}.
197
- Solana addr: ${makerAuthority.toBase58()}.
198
- Size: ${size}, buffer: ${buffer}, canopy: ${canopy}.
109
+ const instructions = [];
110
+ const [size, buffer, canopy] = utils_1.merkleSizes.find(([height]) => Math.pow(2, height) > count * 2);
111
+ const space = (0, spl_account_compression_1.getConcurrentMerkleTreeAccountSize)(size, buffer, canopy);
112
+ const maker = yield (0, helium_entity_manager_sdk_1.makerKey)(daoK, name)[0];
113
+ const rent = yield provider.connection.getMinimumBalanceForRentExemption(space);
114
+ totalSol += rent;
115
+ let merkle;
116
+ const merklePath = `${argv.merkleBasePath}/merkle-${maker.toBase58()}.json`;
117
+ if (fs_1.default.existsSync(merklePath)) {
118
+ merkle = (0, utils_1.loadKeypair)(merklePath);
119
+ }
120
+ else {
121
+ merkle = web3_js_1.Keypair.generate();
122
+ fs_1.default.writeFileSync(merklePath, JSON.stringify(Array.from(merkle.secretKey)));
123
+ }
124
+ if (!(yield (0, utils_1.exists)(conn, maker))) {
125
+ console.log(`
126
+ Creating maker with address: ${maker.toBase58()}
127
+ Issuing Authority: ${issuingAuthority.toBase58()}.
128
+ Capacity: 2^${size}, buffer: ${buffer}, canopy: ${canopy}.
199
129
  Space: ${space} bytes
200
130
  Cost: ~${(0, spl_utils_1.humanReadable)(new anchor.BN(rent), 9)} Sol
201
131
  `);
202
- if (space > 10000000) {
203
- throw new Error(`Space ${space} more than 10mb for tree ${size}, ${buffer}, ${canopy}}`);
204
- }
205
- const create = yield hemProgram.methods
206
- .initializeMakerV0({
207
- name: name,
208
- metadataUrl: 'todo',
209
- issuingAuthority: makerAuthority,
132
+ if (space > 10000000) {
133
+ throw new Error(`Space ${space} more than 10mb for tree ${size}, ${buffer}, ${canopy}}`);
134
+ }
135
+ const create = yield hemProgram.methods
136
+ .initializeMakerV0({
137
+ name: name,
138
+ metadataUrl: argv.metadataUrl,
139
+ issuingAuthority,
140
+ // Temp, since we need to set maker tree
141
+ updateAuthority: provider.wallet.publicKey,
142
+ })
143
+ .accounts({
144
+ maker,
145
+ payer: daoPayer,
146
+ dao: daoK,
147
+ })
148
+ .instruction();
149
+ const setTree = yield hemProgram.methods
150
+ .setMakerTreeV0({
151
+ maxDepth: size,
152
+ maxBufferSize: buffer,
153
+ })
154
+ .accounts({
155
+ maker,
156
+ merkleTree: merkle.publicKey,
157
+ payer: daoPayer,
158
+ updateAuthority: provider.wallet.publicKey,
159
+ })
160
+ .instruction();
161
+ if (!(yield (0, utils_1.exists)(conn, merkle.publicKey))) {
162
+ yield (0, spl_utils_1.sendInstructions)(provider, [
163
+ web3_js_1.SystemProgram.createAccount({
164
+ fromPubkey: provider.wallet.publicKey,
165
+ newAccountPubkey: merkle.publicKey,
166
+ lamports: yield provider.connection.getMinimumBalanceForRentExemption(space),
167
+ space: space,
168
+ programId: spl_account_compression_1.SPL_ACCOUNT_COMPRESSION_PROGRAM_ID,
169
+ }),
170
+ ], [merkle]);
171
+ }
172
+ instructions.push(...[create, setTree].filter(spl_utils_1.truthy));
173
+ if (!updateAuthority.equals(provider.wallet.publicKey)) {
174
+ instructions.push(yield hemProgram.methods
175
+ .updateMakerV0({
176
+ issuingAuthority,
210
177
  updateAuthority,
211
178
  })
212
- .accounts({
213
- maker,
214
- payer: daoPayer,
215
- dao: subdaoAcc.dao,
216
- })
217
- .instruction();
179
+ .accounts({ maker, updateAuthority: provider.wallet.publicKey })
180
+ .instruction());
181
+ }
182
+ }
183
+ else {
184
+ const makerAcc = yield hemProgram.account.makerV0.fetch(maker);
185
+ instructions.push(yield hemProgram.methods
186
+ .updateMakerV0({
187
+ issuingAuthority,
188
+ updateAuthority,
189
+ })
190
+ .accounts({ maker, updateAuthority: makerAcc.updateAuthority })
191
+ .instruction());
192
+ if (makerAcc.merkleTree.equals(web3_js_1.SystemProgram.programId)) {
218
193
  const setTree = yield hemProgram.methods
219
194
  .setMakerTreeV0({
220
195
  maxDepth: size,
@@ -238,85 +213,19 @@ function run(args = process.argv) {
238
213
  }),
239
214
  ], [merkle]);
240
215
  }
241
- innerCreateInstrs.push(...[create, setTree].filter(spl_utils_1.truthy));
242
- }
243
- else {
244
- const makerAcc = yield hemProgram.account.makerV0.fetch(maker);
245
- innerCreateInstrs.push(yield hemProgram.methods
246
- .updateMakerV0({
247
- issuingAuthority: makerAuthority,
248
- updateAuthority,
249
- })
250
- .accounts({ maker, updateAuthority: makerAcc.updateAuthority })
251
- .instruction());
252
- if (makerAcc.merkleTree.equals(web3_js_1.SystemProgram.programId)) {
253
- const setTree = yield hemProgram.methods
254
- .setMakerTreeV0({
255
- maxDepth: size,
256
- maxBufferSize: buffer,
257
- })
258
- .accounts({
259
- maker,
260
- merkleTree: merkle.publicKey,
261
- payer: daoPayer,
262
- updateAuthority,
263
- })
264
- .instruction();
265
- if (!(yield (0, utils_1.exists)(conn, merkle.publicKey))) {
266
- yield (0, spl_utils_1.sendInstructions)(provider, [
267
- web3_js_1.SystemProgram.createAccount({
268
- fromPubkey: provider.wallet.publicKey,
269
- newAccountPubkey: merkle.publicKey,
270
- lamports: yield provider.connection.getMinimumBalanceForRentExemption(space),
271
- space: space,
272
- programId: spl_account_compression_1.SPL_ACCOUNT_COMPRESSION_PROGRAM_ID,
273
- }),
274
- ], [merkle]);
275
- }
276
- innerCreateInstrs.push(setTree);
277
- }
278
- }
279
- createInstructions.push(innerCreateInstrs);
280
- const innerApproveInstrs = [];
281
- let approve;
282
- if (staked &&
283
- !(yield (0, utils_1.exists)(conn, (0, helium_entity_manager_sdk_1.makerApprovalKey)(entityConfigKey, maker)[0]))) {
284
- const authority = (yield hemProgram.account.rewardableEntityConfigV0.fetch(entityConfigKey)).authority;
285
- approve = yield hemProgram.methods
286
- .approveMakerV0()
287
- .accounts({
288
- maker,
289
- rewardableEntityConfig: entityConfigKey,
290
- authority,
291
- payer: subdaoPayer,
292
- })
293
- .instruction();
294
- innerApproveInstrs.push(approve);
295
- }
296
- approveInstructions.push(innerApproveInstrs);
297
- }
298
- console.log('Total sol needed: ', (0, spl_utils_1.humanReadable)(new anchor.BN(totalSol), 9));
299
- if (multisig) {
300
- // Approve instructions must execute after ALL create instructions
301
- const instrs = createInstructions.flat().filter(spl_utils_1.truthy);
302
- const approveInstrs = approveInstructions.flat().filter(spl_utils_1.truthy);
303
- for (const chunk of (0, spl_utils_1.chunks)([...instrs, ...approveInstrs], 3)) {
304
- yield (0, utils_1.sendInstructionsOrSquads)({
305
- provider,
306
- instructions: chunk,
307
- signers: [],
308
- executeTransaction: argv.executeTransaction,
309
- squads,
310
- multisig,
311
- authorityIndex: argv.authorityIndex,
312
- });
216
+ instructions.push(setTree);
313
217
  }
314
218
  }
315
- else {
316
- for (const instrs of [...createInstructions, ...approveInstructions]) {
317
- yield (0, spl_utils_1.sendInstructions)(provider, instrs, []);
318
- }
219
+ console.log("Total sol needed: ", (0, spl_utils_1.humanReadable)(new anchor.BN(totalSol), 9));
220
+ const balance = yield provider.connection.getBalance(provider.wallet.publicKey);
221
+ if (balance < totalSol) {
222
+ throw new Error(`Insufficient balance: ${(0, spl_utils_1.humanReadable)(new anchor.BN(Math.floor(balance)), 9)} < ${(0, spl_utils_1.humanReadable)(new anchor.BN(totalSol), 9)}`);
319
223
  }
224
+ yield (0, spl_utils_1.sendInstructions)(provider, yield (0, spl_utils_1.withPriorityFees)({
225
+ connection: provider.connection,
226
+ instructions,
227
+ feePayer: provider.wallet.publicKey
228
+ }));
320
229
  });
321
230
  }
322
231
  exports.run = run;
@@ -1 +1 @@
1
- {"version":3,"file":"create-maker.js","sourceRoot":"","sources":["../../src/create-maker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-maker.js","sourceRoot":"","sources":["../../src/create-maker.ts"],"names":[],"mappings":"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"}