@helium/helium-admin-cli 0.2.22-next.33 → 0.2.22-next.35
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.
- package/lib/cjs/approve-carrier.js +120 -0
- package/lib/cjs/approve-carrier.js.map +1 -0
- package/lib/cjs/approve-program.js +122 -0
- package/lib/cjs/approve-program.js.map +1 -0
- package/lib/cjs/claim-rewards.js +109 -0
- package/lib/cjs/claim-rewards.js.map +1 -0
- package/lib/cjs/close-buffers.js +132 -0
- package/lib/cjs/close-buffers.js.map +1 -0
- package/lib/cjs/close-canopy.js +108 -0
- package/lib/cjs/close-canopy.js.map +1 -0
- package/lib/cjs/close-lazy-transaction-markers.js +108 -0
- package/lib/cjs/close-lazy-transaction-markers.js.map +1 -0
- package/lib/cjs/correct-router-dc.js +149 -0
- package/lib/cjs/correct-router-dc.js.map +1 -0
- package/lib/cjs/create-active-device-aggregator.js +112 -0
- package/lib/cjs/create-active-device-aggregator.js.map +1 -0
- package/lib/cjs/create-carrier.js +202 -0
- package/lib/cjs/create-carrier.js.map +1 -0
- package/lib/cjs/create-dao.js +458 -0
- package/lib/cjs/create-dao.js.map +1 -0
- package/lib/cjs/create-data-only-config.js +175 -0
- package/lib/cjs/create-data-only-config.js.map +1 -0
- package/lib/cjs/create-maker.js +323 -0
- package/lib/cjs/create-maker.js.map +1 -0
- package/lib/cjs/create-price-oracle.js +133 -0
- package/lib/cjs/create-price-oracle.js.map +1 -0
- package/lib/cjs/create-subdao.js +531 -0
- package/lib/cjs/create-subdao.js.map +1 -0
- package/lib/cjs/distribute-hst.js +94 -0
- package/lib/cjs/distribute-hst.js.map +1 -0
- package/lib/cjs/distribute-iot-operations-fund.js +120 -0
- package/lib/cjs/distribute-iot-operations-fund.js.map +1 -0
- package/lib/cjs/ecc-gen.js +17 -0
- package/lib/cjs/ecc-gen.js.map +1 -0
- package/lib/cjs/end-epoch.js +144 -0
- package/lib/cjs/end-epoch.js.map +1 -0
- package/lib/cjs/issue-iot-operations-fund.js +123 -0
- package/lib/cjs/issue-iot-operations-fund.js.map +1 -0
- package/lib/cjs/issue-test-hotspot.js +111 -0
- package/lib/cjs/issue-test-hotspot.js.map +1 -0
- package/lib/cjs/log-coingecko-price.js +32 -0
- package/lib/cjs/log-coingecko-price.js.map +1 -0
- package/lib/cjs/log-hotspot.js +103 -0
- package/lib/cjs/log-hotspot.js.map +1 -0
- package/lib/cjs/log-router-balance.js +89 -0
- package/lib/cjs/log-router-balance.js.map +1 -0
- package/lib/cjs/log-treasury-price.js +105 -0
- package/lib/cjs/log-treasury-price.js.map +1 -0
- package/lib/cjs/mint-dc.js +111 -0
- package/lib/cjs/mint-dc.js.map +1 -0
- package/lib/cjs/repair-iot-operations-fund.js +114 -0
- package/lib/cjs/repair-iot-operations-fund.js.map +1 -0
- package/lib/cjs/reset-clockwork.js +144 -0
- package/lib/cjs/reset-clockwork.js.map +1 -0
- package/lib/cjs/reset-vsr-max-voter-record.js +145 -0
- package/lib/cjs/reset-vsr-max-voter-record.js.map +1 -0
- package/lib/cjs/reset-vsr-voting-mint.js +182 -0
- package/lib/cjs/reset-vsr-voting-mint.js.map +1 -0
- package/lib/cjs/setup-hst.js +261 -0
- package/lib/cjs/setup-hst.js.map +1 -0
- package/lib/cjs/submit-price.js +159 -0
- package/lib/cjs/submit-price.js.map +1 -0
- package/lib/cjs/sum-tokens.js +84 -0
- package/lib/cjs/sum-tokens.js.map +1 -0
- package/lib/cjs/take-snapshot.js +70 -0
- package/lib/cjs/take-snapshot.js.map +1 -0
- package/lib/cjs/update-account-circuit-breaker.js +132 -0
- package/lib/cjs/update-account-circuit-breaker.js.map +1 -0
- package/lib/cjs/update-aggregator.js +116 -0
- package/lib/cjs/update-aggregator.js.map +1 -0
- package/lib/cjs/update-dao.js +169 -0
- package/lib/cjs/update-dao.js.map +1 -0
- package/lib/cjs/update-data-credits.js +128 -0
- package/lib/cjs/update-data-credits.js.map +1 -0
- package/lib/cjs/update-delegated-dc-subdao.js +136 -0
- package/lib/cjs/update-delegated-dc-subdao.js.map +1 -0
- package/lib/cjs/update-iot-operations-fund-metadata.js +124 -0
- package/lib/cjs/update-iot-operations-fund-metadata.js.map +1 -0
- package/lib/cjs/update-lazy-distributor.js +138 -0
- package/lib/cjs/update-lazy-distributor.js.map +1 -0
- package/lib/cjs/update-lazy-transactions.js +117 -0
- package/lib/cjs/update-lazy-transactions.js.map +1 -0
- package/lib/cjs/update-mint-circuit-breaker.js +132 -0
- package/lib/cjs/update-mint-circuit-breaker.js.map +1 -0
- package/lib/cjs/update-registrar-authorities.js +96 -0
- package/lib/cjs/update-registrar-authorities.js.map +1 -0
- package/lib/cjs/update-rewardable-entity-config.js +155 -0
- package/lib/cjs/update-rewardable-entity-config.js.map +1 -0
- package/lib/cjs/update-subdao-vehnt.js +295 -0
- package/lib/cjs/update-subdao-vehnt.js.map +1 -0
- package/lib/cjs/update-subdao.js +261 -0
- package/lib/cjs/update-subdao.js.map +1 -0
- package/lib/cjs/upgrade-idl.js +109 -0
- package/lib/cjs/upgrade-idl.js.map +1 -0
- package/lib/cjs/utils.js +457 -0
- package/lib/cjs/utils.js.map +1 -0
- package/lib/esm/src/approve-carrier.js +79 -0
- package/lib/esm/src/approve-carrier.js.map +1 -0
- package/lib/esm/src/approve-program.js +81 -0
- package/lib/esm/src/approve-program.js.map +1 -0
- package/lib/esm/src/claim-rewards.js +68 -0
- package/lib/esm/src/claim-rewards.js.map +1 -0
- package/lib/esm/src/close-buffers.js +91 -0
- package/lib/esm/src/close-buffers.js.map +1 -0
- package/lib/esm/src/close-canopy.js +67 -0
- package/lib/esm/src/close-canopy.js.map +1 -0
- package/lib/esm/src/close-lazy-transaction-markers.js +67 -0
- package/lib/esm/src/close-lazy-transaction-markers.js.map +1 -0
- package/lib/esm/src/correct-router-dc.js +108 -0
- package/lib/esm/src/correct-router-dc.js.map +1 -0
- package/lib/esm/src/create-active-device-aggregator.js +71 -0
- package/lib/esm/src/create-active-device-aggregator.js.map +1 -0
- package/lib/esm/src/create-carrier.js +161 -0
- package/lib/esm/src/create-carrier.js.map +1 -0
- package/lib/esm/src/create-dao.js +415 -0
- package/lib/esm/src/create-dao.js.map +1 -0
- package/lib/esm/src/create-data-only-config.js +132 -0
- package/lib/esm/src/create-data-only-config.js.map +1 -0
- package/lib/esm/src/create-maker.js +282 -0
- package/lib/esm/src/create-maker.js.map +1 -0
- package/lib/esm/src/create-price-oracle.js +92 -0
- package/lib/esm/src/create-price-oracle.js.map +1 -0
- package/lib/esm/src/create-subdao.js +490 -0
- package/lib/esm/src/create-subdao.js.map +1 -0
- package/lib/esm/src/distribute-hst.js +53 -0
- package/lib/esm/src/distribute-hst.js.map +1 -0
- package/lib/esm/src/distribute-iot-operations-fund.js +79 -0
- package/lib/esm/src/distribute-iot-operations-fund.js.map +1 -0
- package/lib/esm/src/ecc-gen.js +6 -0
- package/lib/esm/src/ecc-gen.js.map +1 -0
- package/lib/esm/src/end-epoch.js +103 -0
- package/lib/esm/src/end-epoch.js.map +1 -0
- package/lib/esm/src/issue-iot-operations-fund.js +82 -0
- package/lib/esm/src/issue-iot-operations-fund.js.map +1 -0
- package/lib/esm/src/issue-test-hotspot.js +70 -0
- package/lib/esm/src/issue-test-hotspot.js.map +1 -0
- package/lib/esm/src/log-coingecko-price.js +14 -0
- package/lib/esm/src/log-coingecko-price.js.map +1 -0
- package/lib/esm/src/log-hotspot.js +62 -0
- package/lib/esm/src/log-hotspot.js.map +1 -0
- package/lib/esm/src/log-router-balance.js +48 -0
- package/lib/esm/src/log-router-balance.js.map +1 -0
- package/lib/esm/src/log-treasury-price.js +64 -0
- package/lib/esm/src/log-treasury-price.js.map +1 -0
- package/lib/esm/src/mint-dc.js +70 -0
- package/lib/esm/src/mint-dc.js.map +1 -0
- package/lib/esm/src/repair-iot-operations-fund.js +73 -0
- package/lib/esm/src/repair-iot-operations-fund.js.map +1 -0
- package/lib/esm/src/reset-clockwork.js +103 -0
- package/lib/esm/src/reset-clockwork.js.map +1 -0
- package/lib/esm/src/reset-vsr-max-voter-record.js +104 -0
- package/lib/esm/src/reset-vsr-max-voter-record.js.map +1 -0
- package/lib/esm/src/reset-vsr-voting-mint.js +141 -0
- package/lib/esm/src/reset-vsr-voting-mint.js.map +1 -0
- package/lib/esm/src/setup-hst.js +218 -0
- package/lib/esm/src/setup-hst.js.map +1 -0
- package/lib/esm/src/submit-price.js +113 -0
- package/lib/esm/src/submit-price.js.map +1 -0
- package/lib/esm/src/sum-tokens.js +43 -0
- package/lib/esm/src/sum-tokens.js.map +1 -0
- package/lib/esm/src/take-snapshot.js +29 -0
- package/lib/esm/src/take-snapshot.js.map +1 -0
- package/lib/esm/src/update-account-circuit-breaker.js +91 -0
- package/lib/esm/src/update-account-circuit-breaker.js.map +1 -0
- package/lib/esm/src/update-aggregator.js +75 -0
- package/lib/esm/src/update-aggregator.js.map +1 -0
- package/lib/esm/src/update-dao.js +128 -0
- package/lib/esm/src/update-dao.js.map +1 -0
- package/lib/esm/src/update-data-credits.js +87 -0
- package/lib/esm/src/update-data-credits.js.map +1 -0
- package/lib/esm/src/update-delegated-dc-subdao.js +95 -0
- package/lib/esm/src/update-delegated-dc-subdao.js.map +1 -0
- package/lib/esm/src/update-iot-operations-fund-metadata.js +83 -0
- package/lib/esm/src/update-iot-operations-fund-metadata.js.map +1 -0
- package/lib/esm/src/update-lazy-distributor.js +97 -0
- package/lib/esm/src/update-lazy-distributor.js.map +1 -0
- package/lib/esm/src/update-lazy-transactions.js +76 -0
- package/lib/esm/src/update-lazy-transactions.js.map +1 -0
- package/lib/esm/src/update-mint-circuit-breaker.js +91 -0
- package/lib/esm/src/update-mint-circuit-breaker.js.map +1 -0
- package/lib/esm/src/update-registrar-authorities.js +55 -0
- package/lib/esm/src/update-registrar-authorities.js.map +1 -0
- package/lib/esm/src/update-rewardable-entity-config.js +114 -0
- package/lib/esm/src/update-rewardable-entity-config.js.map +1 -0
- package/lib/esm/src/update-subdao-vehnt.js +254 -0
- package/lib/esm/src/update-subdao-vehnt.js.map +1 -0
- package/lib/esm/src/update-subdao.js +220 -0
- package/lib/esm/src/update-subdao.js.map +1 -0
- package/lib/esm/src/upgrade-idl.js +68 -0
- package/lib/esm/src/upgrade-idl.js.map +1 -0
- package/lib/esm/src/utils.js +392 -0
- package/lib/esm/src/utils.js.map +1 -0
- package/lib/esm/tsconfig.esm.tsbuildinfo +1 -0
- package/lib/types/src/approve-carrier.d.ts +2 -0
- package/lib/types/src/approve-carrier.d.ts.map +1 -0
- package/lib/types/src/approve-program.d.ts +2 -0
- package/lib/types/src/approve-program.d.ts.map +1 -0
- package/lib/types/src/claim-rewards.d.ts +2 -0
- package/lib/types/src/claim-rewards.d.ts.map +1 -0
- package/lib/types/src/close-buffers.d.ts +2 -0
- package/lib/types/src/close-buffers.d.ts.map +1 -0
- package/lib/types/src/close-canopy.d.ts +2 -0
- package/lib/types/src/close-canopy.d.ts.map +1 -0
- package/lib/types/src/close-lazy-transaction-markers.d.ts +2 -0
- package/lib/types/src/close-lazy-transaction-markers.d.ts.map +1 -0
- package/lib/types/src/correct-router-dc.d.ts +2 -0
- package/lib/types/src/correct-router-dc.d.ts.map +1 -0
- package/lib/types/src/create-active-device-aggregator.d.ts +2 -0
- package/lib/types/src/create-active-device-aggregator.d.ts.map +1 -0
- package/lib/types/src/create-carrier.d.ts +2 -0
- package/lib/types/src/create-carrier.d.ts.map +1 -0
- package/lib/types/src/create-dao.d.ts +2 -0
- package/lib/types/src/create-dao.d.ts.map +1 -0
- package/lib/types/src/create-data-only-config.d.ts +2 -0
- package/lib/types/src/create-data-only-config.d.ts.map +1 -0
- package/lib/types/src/create-maker.d.ts +2 -0
- package/lib/types/src/create-maker.d.ts.map +1 -0
- package/lib/types/src/create-price-oracle.d.ts +2 -0
- package/lib/types/src/create-price-oracle.d.ts.map +1 -0
- package/lib/types/src/create-subdao.d.ts +2 -0
- package/lib/types/src/create-subdao.d.ts.map +1 -0
- package/lib/types/src/distribute-hst.d.ts +2 -0
- package/lib/types/src/distribute-hst.d.ts.map +1 -0
- package/lib/types/src/distribute-iot-operations-fund.d.ts +2 -0
- package/lib/types/src/distribute-iot-operations-fund.d.ts.map +1 -0
- package/lib/types/src/ecc-gen.d.ts +2 -0
- package/lib/types/src/ecc-gen.d.ts.map +1 -0
- package/lib/types/src/end-epoch.d.ts +2 -0
- package/lib/types/src/end-epoch.d.ts.map +1 -0
- package/lib/types/src/issue-iot-operations-fund.d.ts +2 -0
- package/lib/types/src/issue-iot-operations-fund.d.ts.map +1 -0
- package/lib/types/src/issue-test-hotspot.d.ts +2 -0
- package/lib/types/src/issue-test-hotspot.d.ts.map +1 -0
- package/lib/types/src/log-coingecko-price.d.ts +2 -0
- package/lib/types/src/log-coingecko-price.d.ts.map +1 -0
- package/lib/types/src/log-hotspot.d.ts +2 -0
- package/lib/types/src/log-hotspot.d.ts.map +1 -0
- package/lib/types/src/log-router-balance.d.ts +2 -0
- package/lib/types/src/log-router-balance.d.ts.map +1 -0
- package/lib/types/src/log-treasury-price.d.ts +2 -0
- package/lib/types/src/log-treasury-price.d.ts.map +1 -0
- package/lib/types/src/mint-dc.d.ts +2 -0
- package/lib/types/src/mint-dc.d.ts.map +1 -0
- package/lib/types/src/repair-iot-operations-fund.d.ts +2 -0
- package/lib/types/src/repair-iot-operations-fund.d.ts.map +1 -0
- package/lib/types/src/reset-clockwork.d.ts +2 -0
- package/lib/types/src/reset-clockwork.d.ts.map +1 -0
- package/lib/types/src/reset-vsr-max-voter-record.d.ts +2 -0
- package/lib/types/src/reset-vsr-max-voter-record.d.ts.map +1 -0
- package/lib/types/src/reset-vsr-voting-mint.d.ts +2 -0
- package/lib/types/src/reset-vsr-voting-mint.d.ts.map +1 -0
- package/lib/types/src/setup-hst.d.ts +4 -0
- package/lib/types/src/setup-hst.d.ts.map +1 -0
- package/lib/types/src/submit-price.d.ts +3 -0
- package/lib/types/src/submit-price.d.ts.map +1 -0
- package/lib/types/src/sum-tokens.d.ts +2 -0
- package/lib/types/src/sum-tokens.d.ts.map +1 -0
- package/lib/types/src/take-snapshot.d.ts +2 -0
- package/lib/types/src/take-snapshot.d.ts.map +1 -0
- package/lib/types/src/update-account-circuit-breaker.d.ts +2 -0
- package/lib/types/src/update-account-circuit-breaker.d.ts.map +1 -0
- package/lib/types/src/update-aggregator.d.ts +2 -0
- package/lib/types/src/update-aggregator.d.ts.map +1 -0
- package/lib/types/src/update-dao.d.ts +2 -0
- package/lib/types/src/update-dao.d.ts.map +1 -0
- package/lib/types/src/update-data-credits.d.ts +2 -0
- package/lib/types/src/update-data-credits.d.ts.map +1 -0
- package/lib/types/src/update-delegated-dc-subdao.d.ts +2 -0
- package/lib/types/src/update-delegated-dc-subdao.d.ts.map +1 -0
- package/lib/types/src/update-iot-operations-fund-metadata.d.ts +2 -0
- package/lib/types/src/update-iot-operations-fund-metadata.d.ts.map +1 -0
- package/lib/types/src/update-lazy-distributor.d.ts +2 -0
- package/lib/types/src/update-lazy-distributor.d.ts.map +1 -0
- package/lib/types/src/update-lazy-transactions.d.ts +2 -0
- package/lib/types/src/update-lazy-transactions.d.ts.map +1 -0
- package/lib/types/src/update-mint-circuit-breaker.d.ts +2 -0
- package/lib/types/src/update-mint-circuit-breaker.d.ts.map +1 -0
- package/lib/types/src/update-registrar-authorities.d.ts +2 -0
- package/lib/types/src/update-registrar-authorities.d.ts.map +1 -0
- package/lib/types/src/update-rewardable-entity-config.d.ts +2 -0
- package/lib/types/src/update-rewardable-entity-config.d.ts.map +1 -0
- package/lib/types/src/update-subdao-vehnt.d.ts +2 -0
- package/lib/types/src/update-subdao-vehnt.d.ts.map +1 -0
- package/lib/types/src/update-subdao.d.ts +2 -0
- package/lib/types/src/update-subdao.d.ts.map +1 -0
- package/lib/types/src/upgrade-idl.d.ts +2 -0
- package/lib/types/src/upgrade-idl.d.ts.map +1 -0
- package/lib/types/src/utils.d.ts +59 -0
- package/lib/types/src/utils.d.ts.map +1 -0
- package/package.json +13 -13
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import * as anchor from '@coral-xyz/anchor';
|
|
2
|
+
import { delegatedDataCreditsKey, init as initDc, } from '@helium/data-credits-sdk';
|
|
3
|
+
import { PublicKey } from '@solana/web3.js';
|
|
4
|
+
import Squads from '@sqds/sdk';
|
|
5
|
+
import { BN } from 'bn.js';
|
|
6
|
+
import os from 'os';
|
|
7
|
+
import yargs from 'yargs/yargs';
|
|
8
|
+
import { loadKeypair, sendInstructionsOrSquads } from './utils';
|
|
9
|
+
import { subDaoKey, init as initHsd } from '@helium/helium-sub-daos-sdk';
|
|
10
|
+
export async function run(args = process.argv) {
|
|
11
|
+
const yarg = yargs(args).options({
|
|
12
|
+
wallet: {
|
|
13
|
+
alias: 'k',
|
|
14
|
+
describe: 'Anchor wallet keypair',
|
|
15
|
+
default: `${os.homedir()}/.config/solana/id.json`,
|
|
16
|
+
},
|
|
17
|
+
url: {
|
|
18
|
+
alias: 'u',
|
|
19
|
+
default: 'http://127.0.0.1:8899',
|
|
20
|
+
describe: 'The solana url',
|
|
21
|
+
},
|
|
22
|
+
sourceDntMint: {
|
|
23
|
+
type: 'string',
|
|
24
|
+
required: true,
|
|
25
|
+
},
|
|
26
|
+
destinationDntMint: {
|
|
27
|
+
type: 'string',
|
|
28
|
+
required: true,
|
|
29
|
+
},
|
|
30
|
+
routerKey: {
|
|
31
|
+
type: 'string',
|
|
32
|
+
required: true,
|
|
33
|
+
},
|
|
34
|
+
amount: {
|
|
35
|
+
type: 'number',
|
|
36
|
+
required: true,
|
|
37
|
+
},
|
|
38
|
+
executeTransaction: {
|
|
39
|
+
type: 'boolean',
|
|
40
|
+
},
|
|
41
|
+
multisig: {
|
|
42
|
+
type: 'string',
|
|
43
|
+
describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
|
|
44
|
+
},
|
|
45
|
+
authorityIndex: {
|
|
46
|
+
type: 'number',
|
|
47
|
+
describe: 'Authority index for squads. Defaults to 1',
|
|
48
|
+
default: 1,
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
const argv = await yarg.argv;
|
|
52
|
+
process.env.ANCHOR_WALLET = argv.wallet;
|
|
53
|
+
process.env.ANCHOR_PROVIDER_URL = argv.url;
|
|
54
|
+
anchor.setProvider(anchor.AnchorProvider.local(argv.url));
|
|
55
|
+
const provider = anchor.getProvider();
|
|
56
|
+
const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
|
|
57
|
+
const program = await initDc(provider);
|
|
58
|
+
const hsdProgram = await initHsd(provider);
|
|
59
|
+
const instructions = [];
|
|
60
|
+
const sourceSubDao = subDaoKey(new PublicKey(argv.sourceDntMint))[0];
|
|
61
|
+
const destinationSubDao = subDaoKey(new PublicKey(argv.destinationDntMint))[0];
|
|
62
|
+
const sourceDelegatedDataCredits = delegatedDataCreditsKey(sourceSubDao, argv.routerKey)[0];
|
|
63
|
+
const destinationDelegatedDataCredits = delegatedDataCreditsKey(destinationSubDao, argv.routerKey)[0];
|
|
64
|
+
const subdao = await hsdProgram.account.subDaoV0.fetch(sourceSubDao);
|
|
65
|
+
const dao = await hsdProgram.account.daoV0.fetch(subdao.dao);
|
|
66
|
+
const authority = dao.authority;
|
|
67
|
+
const method = await program.methods
|
|
68
|
+
.changeDelegatedSubDaoV0({
|
|
69
|
+
amount: new BN(argv.amount),
|
|
70
|
+
routerKey: argv.routerKey,
|
|
71
|
+
})
|
|
72
|
+
.accounts({
|
|
73
|
+
delegatedDataCredits: sourceDelegatedDataCredits,
|
|
74
|
+
destinationDelegatedDataCredits,
|
|
75
|
+
subDao: sourceSubDao,
|
|
76
|
+
destinationSubDao,
|
|
77
|
+
authority,
|
|
78
|
+
});
|
|
79
|
+
const { destinationEscrowAccount } = await method.pubkeys();
|
|
80
|
+
console.log(sourceDelegatedDataCredits.toString(), destinationDelegatedDataCredits.toString());
|
|
81
|
+
instructions.push(await method.instruction());
|
|
82
|
+
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
|
|
83
|
+
commitmentOrConfig: 'finalized',
|
|
84
|
+
});
|
|
85
|
+
await sendInstructionsOrSquads({
|
|
86
|
+
provider,
|
|
87
|
+
instructions,
|
|
88
|
+
executeTransaction: argv.executeTransaction,
|
|
89
|
+
squads,
|
|
90
|
+
multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
|
|
91
|
+
authorityIndex: argv.authorityIndex,
|
|
92
|
+
signers: [],
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=update-delegated-dc-subdao.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-delegated-dc-subdao.js","sourceRoot":"","sources":["../../../src/update-delegated-dc-subdao.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import * as anchor from '@coral-xyz/anchor';
|
|
2
|
+
import { init as initHem, keyToAssetKey, } from '@helium/helium-entity-manager-sdk';
|
|
3
|
+
import { daoKey, init as initHsd } from '@helium/helium-sub-daos-sdk';
|
|
4
|
+
import { PublicKey } from '@solana/web3.js';
|
|
5
|
+
import Squads from '@sqds/sdk';
|
|
6
|
+
import os from 'os';
|
|
7
|
+
import yargs from 'yargs/yargs';
|
|
8
|
+
import { loadKeypair, sendInstructionsOrSquads } from './utils';
|
|
9
|
+
import { HNT_MINT } from '@helium/spl-utils';
|
|
10
|
+
export async function run(args = process.argv) {
|
|
11
|
+
const yarg = yargs(args).options({
|
|
12
|
+
wallet: {
|
|
13
|
+
alias: 'k',
|
|
14
|
+
describe: 'Anchor wallet keypair',
|
|
15
|
+
default: `${os.homedir()}/.config/solana/id.json`,
|
|
16
|
+
},
|
|
17
|
+
url: {
|
|
18
|
+
alias: 'u',
|
|
19
|
+
default: 'http://127.0.0.1:8899',
|
|
20
|
+
describe: 'The solana url',
|
|
21
|
+
},
|
|
22
|
+
metadataUrl: {
|
|
23
|
+
type: 'string',
|
|
24
|
+
require: true,
|
|
25
|
+
},
|
|
26
|
+
hntMint: {
|
|
27
|
+
type: 'string',
|
|
28
|
+
describe: 'HNT mint of the dao',
|
|
29
|
+
default: HNT_MINT.toBase58(),
|
|
30
|
+
},
|
|
31
|
+
executeTransaction: {
|
|
32
|
+
type: 'boolean',
|
|
33
|
+
},
|
|
34
|
+
multisig: {
|
|
35
|
+
type: 'string',
|
|
36
|
+
describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
|
|
37
|
+
},
|
|
38
|
+
authorityIndex: {
|
|
39
|
+
type: 'number',
|
|
40
|
+
describe: 'Authority index for squads. Defaults to 1',
|
|
41
|
+
default: 1,
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
const argv = await yarg.argv;
|
|
45
|
+
process.env.ANCHOR_WALLET = argv.wallet;
|
|
46
|
+
process.env.ANCHOR_PROVIDER_URL = argv.url;
|
|
47
|
+
anchor.setProvider(anchor.AnchorProvider.local(argv.url));
|
|
48
|
+
const provider = anchor.getProvider();
|
|
49
|
+
const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
|
|
50
|
+
const hemProgram = await initHem(provider);
|
|
51
|
+
const daosProgram = await initHsd(provider);
|
|
52
|
+
const instructions = [];
|
|
53
|
+
const hntMint = new PublicKey(argv.hntMint);
|
|
54
|
+
const dao = daoKey(hntMint)[0];
|
|
55
|
+
const daoAcc = await daosProgram.account.daoV0.fetch(dao);
|
|
56
|
+
const [keyToAsset] = keyToAssetKey(dao, 'iot_operations_fund', 'utf8');
|
|
57
|
+
const assetId = (await hemProgram.account.keyToAssetV0.fetch(keyToAsset))
|
|
58
|
+
.asset;
|
|
59
|
+
console.log('keyToAsset', keyToAsset.toBase58());
|
|
60
|
+
console.log('assetId', assetId.toBase58());
|
|
61
|
+
instructions.push(await hemProgram.methods
|
|
62
|
+
.tempUpdateIotOperationsFundMetadata({ metadataUrl: argv.metadataUrl })
|
|
63
|
+
.accounts({
|
|
64
|
+
dao,
|
|
65
|
+
authority: daoAcc.authority,
|
|
66
|
+
payer: daoAcc.authority,
|
|
67
|
+
mint: assetId,
|
|
68
|
+
})
|
|
69
|
+
.instruction());
|
|
70
|
+
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
|
|
71
|
+
commitmentOrConfig: 'finalized',
|
|
72
|
+
});
|
|
73
|
+
await sendInstructionsOrSquads({
|
|
74
|
+
provider,
|
|
75
|
+
instructions,
|
|
76
|
+
executeTransaction: argv.executeTransaction,
|
|
77
|
+
squads,
|
|
78
|
+
multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
|
|
79
|
+
authorityIndex: argv.authorityIndex,
|
|
80
|
+
signers: [],
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=update-iot-operations-fund-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-iot-operations-fund-metadata.js","sourceRoot":"","sources":["../../../src/update-iot-operations-fund-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import * as anchor from '@coral-xyz/anchor';
|
|
2
|
+
import { init as initLazy, lazyDistributorKey, } from '@helium/lazy-distributor-sdk';
|
|
3
|
+
import { 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
|
+
subdaoMint: {
|
|
21
|
+
required: true,
|
|
22
|
+
describe: 'Public Key of the subdao mint',
|
|
23
|
+
type: 'string',
|
|
24
|
+
},
|
|
25
|
+
executeTransaction: {
|
|
26
|
+
type: 'boolean',
|
|
27
|
+
},
|
|
28
|
+
multisig: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
|
|
31
|
+
},
|
|
32
|
+
authorityIndex: {
|
|
33
|
+
type: 'number',
|
|
34
|
+
describe: 'Authority index for squads. Defaults to 1',
|
|
35
|
+
default: 1,
|
|
36
|
+
},
|
|
37
|
+
oracle: {
|
|
38
|
+
type: 'string',
|
|
39
|
+
describe: 'Pubkey of the oracle',
|
|
40
|
+
},
|
|
41
|
+
rewardsOracleUrl: {
|
|
42
|
+
alias: 'ro',
|
|
43
|
+
type: 'string',
|
|
44
|
+
describe: 'The rewards oracle URL',
|
|
45
|
+
},
|
|
46
|
+
newAuthority: {
|
|
47
|
+
type: 'string',
|
|
48
|
+
},
|
|
49
|
+
newApprover: {
|
|
50
|
+
type: 'string',
|
|
51
|
+
description: 'Pubkey of the approver pda',
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
const argv = await yarg.argv;
|
|
55
|
+
process.env.ANCHOR_WALLET = argv.wallet;
|
|
56
|
+
process.env.ANCHOR_PROVIDER_URL = argv.url;
|
|
57
|
+
anchor.setProvider(anchor.AnchorProvider.local(argv.url));
|
|
58
|
+
const provider = anchor.getProvider();
|
|
59
|
+
const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
|
|
60
|
+
const lazyDistProgram = await initLazy(provider);
|
|
61
|
+
const subdaoMint = new PublicKey(argv.subdaoMint);
|
|
62
|
+
const [lazyDist] = lazyDistributorKey(subdaoMint);
|
|
63
|
+
const lazyDistAcc = await lazyDistProgram.account.lazyDistributorV0.fetch(lazyDist);
|
|
64
|
+
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
|
|
65
|
+
commitmentOrConfig: 'finalized',
|
|
66
|
+
});
|
|
67
|
+
const ix = await lazyDistProgram.methods
|
|
68
|
+
.updateLazyDistributorV0({
|
|
69
|
+
authority: argv.newAuthority
|
|
70
|
+
? new PublicKey(argv.newAuthority)
|
|
71
|
+
: lazyDistAcc.authority,
|
|
72
|
+
oracles: argv.oracle && argv.rewardsOracleUrl
|
|
73
|
+
? [
|
|
74
|
+
{
|
|
75
|
+
oracle: new PublicKey(argv.oracle),
|
|
76
|
+
url: argv.rewardsOracleUrl,
|
|
77
|
+
},
|
|
78
|
+
]
|
|
79
|
+
: null,
|
|
80
|
+
approver: argv.newApprover ? new PublicKey(argv.newApprover) : null,
|
|
81
|
+
})
|
|
82
|
+
.accounts({
|
|
83
|
+
rewardsMint: subdaoMint,
|
|
84
|
+
authority: lazyDistAcc.authority,
|
|
85
|
+
})
|
|
86
|
+
.instruction();
|
|
87
|
+
await sendInstructionsOrSquads({
|
|
88
|
+
provider,
|
|
89
|
+
instructions: [ix],
|
|
90
|
+
executeTransaction: argv.executeTransaction,
|
|
91
|
+
squads,
|
|
92
|
+
multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
|
|
93
|
+
authorityIndex: argv.authorityIndex,
|
|
94
|
+
signers: [],
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=update-lazy-distributor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-lazy-distributor.js","sourceRoot":"","sources":["../../../src/update-lazy-distributor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import * as anchor from '@coral-xyz/anchor';
|
|
2
|
+
import { init as initLazy, lazyTransactionsKey, } from '@helium/lazy-transactions-sdk';
|
|
3
|
+
import { 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
|
+
executeTransaction: {
|
|
21
|
+
type: 'boolean',
|
|
22
|
+
},
|
|
23
|
+
multisig: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
|
|
26
|
+
},
|
|
27
|
+
authorityIndex: {
|
|
28
|
+
type: 'number',
|
|
29
|
+
describe: 'Authority index for squads. Defaults to 1',
|
|
30
|
+
default: 1,
|
|
31
|
+
},
|
|
32
|
+
newAuthority: {
|
|
33
|
+
type: 'string',
|
|
34
|
+
},
|
|
35
|
+
name: {
|
|
36
|
+
required: true,
|
|
37
|
+
type: 'string',
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
const argv = await yarg.argv;
|
|
41
|
+
process.env.ANCHOR_WALLET = argv.wallet;
|
|
42
|
+
process.env.ANCHOR_PROVIDER_URL = argv.url;
|
|
43
|
+
anchor.setProvider(anchor.AnchorProvider.local(argv.url));
|
|
44
|
+
const provider = anchor.getProvider();
|
|
45
|
+
const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
|
|
46
|
+
const lazyTrProgram = await initLazy(provider);
|
|
47
|
+
const [lazyTransactions] = lazyTransactionsKey(argv.name);
|
|
48
|
+
const lazyTrAcc = await lazyTrProgram.account.lazyTransactionsV0.fetch(lazyTransactions);
|
|
49
|
+
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
|
|
50
|
+
commitmentOrConfig: 'finalized',
|
|
51
|
+
});
|
|
52
|
+
console.log(lazyTransactions.toBase58());
|
|
53
|
+
const ix = await lazyTrProgram.methods
|
|
54
|
+
.updateLazyTransactionsV0({
|
|
55
|
+
authority: argv.newAuthority
|
|
56
|
+
? new PublicKey(argv.newAuthority)
|
|
57
|
+
: lazyTrAcc.authority,
|
|
58
|
+
root: null,
|
|
59
|
+
})
|
|
60
|
+
.accounts({
|
|
61
|
+
lazyTransactions,
|
|
62
|
+
authority: lazyTrAcc.authority,
|
|
63
|
+
canopy: lazyTrAcc.canopy,
|
|
64
|
+
})
|
|
65
|
+
.instruction();
|
|
66
|
+
await sendInstructionsOrSquads({
|
|
67
|
+
provider,
|
|
68
|
+
instructions: [ix],
|
|
69
|
+
executeTransaction: argv.executeTransaction,
|
|
70
|
+
squads,
|
|
71
|
+
multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
|
|
72
|
+
authorityIndex: argv.authorityIndex,
|
|
73
|
+
signers: [],
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=update-lazy-transactions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-lazy-transactions.js","sourceRoot":"","sources":["../../../src/update-lazy-transactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import * as anchor from '@coral-xyz/anchor';
|
|
2
|
+
import { init } from '@helium/circuit-breaker-sdk';
|
|
3
|
+
import { PublicKey } from '@solana/web3.js';
|
|
4
|
+
import Squads from '@sqds/sdk';
|
|
5
|
+
import { BN } from 'bn.js';
|
|
6
|
+
import os from 'os';
|
|
7
|
+
import yargs from 'yargs/yargs';
|
|
8
|
+
import { loadKeypair, sendInstructionsOrSquads } from './utils';
|
|
9
|
+
export async function run(args = process.argv) {
|
|
10
|
+
const yarg = yargs(args).options({
|
|
11
|
+
wallet: {
|
|
12
|
+
alias: 'k',
|
|
13
|
+
describe: 'Anchor wallet keypair',
|
|
14
|
+
default: `${os.homedir()}/.config/solana/id.json`,
|
|
15
|
+
},
|
|
16
|
+
url: {
|
|
17
|
+
alias: 'u',
|
|
18
|
+
default: 'http://127.0.0.1:8899',
|
|
19
|
+
describe: 'The solana url',
|
|
20
|
+
},
|
|
21
|
+
circuitBreaker: {
|
|
22
|
+
type: 'string',
|
|
23
|
+
required: true,
|
|
24
|
+
describe: 'Circuit breaker account',
|
|
25
|
+
},
|
|
26
|
+
windowSizeSeconds: {
|
|
27
|
+
type: 'number',
|
|
28
|
+
},
|
|
29
|
+
threshold: {
|
|
30
|
+
type: 'number',
|
|
31
|
+
},
|
|
32
|
+
executeTransaction: {
|
|
33
|
+
type: 'boolean',
|
|
34
|
+
},
|
|
35
|
+
multisig: {
|
|
36
|
+
type: 'string',
|
|
37
|
+
describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
|
|
38
|
+
},
|
|
39
|
+
newAuthority: {
|
|
40
|
+
type: 'string',
|
|
41
|
+
},
|
|
42
|
+
authorityIndex: {
|
|
43
|
+
type: 'number',
|
|
44
|
+
describe: 'Authority index for squads. Defaults to 1',
|
|
45
|
+
default: 1,
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
const argv = await yarg.argv;
|
|
49
|
+
process.env.ANCHOR_WALLET = argv.wallet;
|
|
50
|
+
process.env.ANCHOR_PROVIDER_URL = argv.url;
|
|
51
|
+
anchor.setProvider(anchor.AnchorProvider.local(argv.url));
|
|
52
|
+
const circuitBreakerKey = new PublicKey(argv.circuitBreaker);
|
|
53
|
+
const provider = anchor.getProvider();
|
|
54
|
+
const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
|
|
55
|
+
const circuitBreakerProgram = await init(provider);
|
|
56
|
+
const instructions = [];
|
|
57
|
+
const circuitBreaker = await circuitBreakerProgram.account.mintWindowedCircuitBreakerV0.fetch(circuitBreakerKey);
|
|
58
|
+
instructions.push(await circuitBreakerProgram.methods
|
|
59
|
+
.updateMintWindowedBreakerV0({
|
|
60
|
+
newAuthority: argv.newAuthority
|
|
61
|
+
? new PublicKey(argv.newAuthority)
|
|
62
|
+
: circuitBreaker.authority,
|
|
63
|
+
config: {
|
|
64
|
+
windowSizeSeconds: argv.windowSizeSeconds
|
|
65
|
+
? new BN(argv.windowSizeSeconds)
|
|
66
|
+
: circuitBreaker.config.windowSizeSeconds,
|
|
67
|
+
thresholdType: circuitBreaker.config.thresholdType,
|
|
68
|
+
threshold: argv.threshold
|
|
69
|
+
? new BN(argv.threshold)
|
|
70
|
+
: circuitBreaker.config.threshold,
|
|
71
|
+
},
|
|
72
|
+
})
|
|
73
|
+
.accounts({
|
|
74
|
+
circuitBreaker: circuitBreakerKey,
|
|
75
|
+
authority: circuitBreaker.authority,
|
|
76
|
+
})
|
|
77
|
+
.instruction());
|
|
78
|
+
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
|
|
79
|
+
commitmentOrConfig: 'finalized',
|
|
80
|
+
});
|
|
81
|
+
await sendInstructionsOrSquads({
|
|
82
|
+
provider,
|
|
83
|
+
instructions,
|
|
84
|
+
executeTransaction: argv.executeTransaction,
|
|
85
|
+
squads,
|
|
86
|
+
multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
|
|
87
|
+
authorityIndex: argv.authorityIndex,
|
|
88
|
+
signers: [],
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=update-mint-circuit-breaker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-mint-circuit-breaker.js","sourceRoot":"","sources":["../../../src/update-mint-circuit-breaker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import * as anchor from '@coral-xyz/anchor';
|
|
2
|
+
import { init } from '@helium/voter-stake-registry-sdk';
|
|
3
|
+
import { 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
|
+
registrar: {
|
|
21
|
+
type: 'string',
|
|
22
|
+
required: true,
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
const argv = await yarg.argv;
|
|
26
|
+
process.env.ANCHOR_WALLET = argv.wallet;
|
|
27
|
+
process.env.ANCHOR_PROVIDER_URL = argv.url;
|
|
28
|
+
anchor.setProvider(anchor.AnchorProvider.local(argv.url));
|
|
29
|
+
const provider = anchor.getProvider();
|
|
30
|
+
const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
|
|
31
|
+
const vsrProgram = await init(provider);
|
|
32
|
+
const registrar = new PublicKey(argv.registrar);
|
|
33
|
+
const registrarAcc = await vsrProgram.account.registrar.fetch(registrar);
|
|
34
|
+
const instructions = [
|
|
35
|
+
await vsrProgram.methods
|
|
36
|
+
.updateRegistrarAuthorityV0()
|
|
37
|
+
.accounts({
|
|
38
|
+
registrar,
|
|
39
|
+
realm: registrarAcc.realm,
|
|
40
|
+
realmAuthority: registrarAcc.realmAuthority,
|
|
41
|
+
})
|
|
42
|
+
.instruction(),
|
|
43
|
+
];
|
|
44
|
+
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
|
|
45
|
+
commitmentOrConfig: 'finalized',
|
|
46
|
+
});
|
|
47
|
+
await sendInstructionsOrSquads({
|
|
48
|
+
provider,
|
|
49
|
+
instructions,
|
|
50
|
+
executeTransaction: true,
|
|
51
|
+
squads,
|
|
52
|
+
signers: [],
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=update-registrar-authorities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-registrar-authorities.js","sourceRoot":"","sources":["../../../src/update-registrar-authorities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAY,OAAO,CAAC,IAAI;IAChD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QAC/B,MAAM,EAAE;YACN,KAAK,EAAE,GAAG;YACV,QAAQ,EAAE,uBAAuB;YACjC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,yBAAyB;SAClD;QACD,GAAG,EAAE;YACH,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,uBAAuB;YAChC,QAAQ,EAAE,gBAAgB;SAC3B;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;KACF,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC;IAC3C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAA2B,CAAC;IAC/D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG;QACnB,MAAM,UAAU,CAAC,OAAO;aACrB,0BAA0B,EAAE;aAC5B,QAAQ,CAAC;YACR,SAAS;YACT,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,cAAc,EAAE,YAAY,CAAC,cAAc;SAC5C,CAAC;aACD,WAAW,EAAE;KACjB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,EAAE;QACtE,kBAAkB,EAAE,WAAW;KAChC,CAAC,CAAC;IACH,MAAM,wBAAwB,CAAC;QAC7B,QAAQ;QACR,YAAY;QACZ,kBAAkB,EAAE,IAAI;QACxB,MAAM;QACN,OAAO,EAAE,EAAE;KACZ,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import * as anchor from '@coral-xyz/anchor';
|
|
2
|
+
import { init as initHem, rewardableEntityConfigKey, } from '@helium/helium-entity-manager-sdk';
|
|
3
|
+
import { subDaoKey } from '@helium/helium-sub-daos-sdk';
|
|
4
|
+
import { PublicKey } from '@solana/web3.js';
|
|
5
|
+
import Squads from '@sqds/sdk';
|
|
6
|
+
import os from 'os';
|
|
7
|
+
import yargs from 'yargs/yargs';
|
|
8
|
+
import { loadKeypair, sendInstructionsOrSquads } from './utils';
|
|
9
|
+
import BN from 'bn.js';
|
|
10
|
+
export async function run(args = process.argv) {
|
|
11
|
+
const yarg = yargs(args).options({
|
|
12
|
+
wallet: {
|
|
13
|
+
alias: 'k',
|
|
14
|
+
describe: 'Anchor wallet keypair',
|
|
15
|
+
default: `${os.homedir()}/.config/solana/id.json`,
|
|
16
|
+
},
|
|
17
|
+
url: {
|
|
18
|
+
alias: 'u',
|
|
19
|
+
default: 'http://127.0.0.1:8899',
|
|
20
|
+
describe: 'The solana url',
|
|
21
|
+
},
|
|
22
|
+
dntMint: {
|
|
23
|
+
required: true,
|
|
24
|
+
describe: 'Public Key of the subdao mint',
|
|
25
|
+
type: 'string',
|
|
26
|
+
},
|
|
27
|
+
name: {
|
|
28
|
+
alias: 'n',
|
|
29
|
+
type: 'string',
|
|
30
|
+
required: true,
|
|
31
|
+
describe: 'The name of the entity config',
|
|
32
|
+
},
|
|
33
|
+
executeTransaction: {
|
|
34
|
+
type: 'boolean',
|
|
35
|
+
},
|
|
36
|
+
multisig: {
|
|
37
|
+
type: 'string',
|
|
38
|
+
describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
|
|
39
|
+
},
|
|
40
|
+
authorityIndex: {
|
|
41
|
+
type: 'number',
|
|
42
|
+
describe: 'Authority index for squads. Defaults to 1',
|
|
43
|
+
default: 1,
|
|
44
|
+
},
|
|
45
|
+
fullLocationStakingFee: {
|
|
46
|
+
type: 'number',
|
|
47
|
+
describe: 'The full hotspot location assert fee',
|
|
48
|
+
default: '1000000',
|
|
49
|
+
},
|
|
50
|
+
dataonlyLocationStakingFee: {
|
|
51
|
+
type: 'number',
|
|
52
|
+
describe: 'The full hotspot location assert fee',
|
|
53
|
+
default: '1000000',
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
const argv = await yarg.argv;
|
|
57
|
+
process.env.ANCHOR_WALLET = argv.wallet;
|
|
58
|
+
process.env.ANCHOR_PROVIDER_URL = argv.url;
|
|
59
|
+
anchor.setProvider(anchor.AnchorProvider.local(argv.url));
|
|
60
|
+
const provider = anchor.getProvider();
|
|
61
|
+
const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
|
|
62
|
+
const name = argv.name;
|
|
63
|
+
const hemProgram = await initHem(provider);
|
|
64
|
+
const dntMint = new PublicKey(argv.dntMint);
|
|
65
|
+
const subdao = (await subDaoKey(dntMint))[0];
|
|
66
|
+
const rewardableConfigKey = (await rewardableEntityConfigKey(subdao, name.toUpperCase()))[0];
|
|
67
|
+
const rewardableConfigAcc = await hemProgram.account.rewardableEntityConfigV0.fetch(rewardableConfigKey);
|
|
68
|
+
let payer = provider.wallet.publicKey;
|
|
69
|
+
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
|
|
70
|
+
commitmentOrConfig: 'finalized',
|
|
71
|
+
});
|
|
72
|
+
let settings;
|
|
73
|
+
if (name.toUpperCase() == 'IOT') {
|
|
74
|
+
settings = {
|
|
75
|
+
iotConfig: {
|
|
76
|
+
minGain: 10,
|
|
77
|
+
maxGain: 150,
|
|
78
|
+
fullLocationStakingFee: new BN(argv.fullLocationStakingFee),
|
|
79
|
+
dataonlyLocationStakingFee: new BN(argv.dataonlyLocationStakingFee),
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
settings = {
|
|
85
|
+
mobileConfig: {
|
|
86
|
+
fullLocationStakingFee: new BN(argv.fullLocationStakingFee),
|
|
87
|
+
dataonlyLocationStakingFee: new BN(argv.dataonlyLocationStakingFee),
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
console.log(settings, rewardableConfigAcc.authority.toBase58());
|
|
92
|
+
const instructions = [
|
|
93
|
+
await hemProgram.methods
|
|
94
|
+
.updateRewardableEntityConfigV0({
|
|
95
|
+
settings,
|
|
96
|
+
newAuthority: null,
|
|
97
|
+
})
|
|
98
|
+
.accounts({
|
|
99
|
+
rewardableEntityConfig: rewardableConfigKey,
|
|
100
|
+
authority: rewardableConfigAcc.authority,
|
|
101
|
+
})
|
|
102
|
+
.instruction(),
|
|
103
|
+
];
|
|
104
|
+
await sendInstructionsOrSquads({
|
|
105
|
+
provider,
|
|
106
|
+
instructions,
|
|
107
|
+
executeTransaction: argv.executeTransaction,
|
|
108
|
+
squads,
|
|
109
|
+
multisig: argv.multisig ? new PublicKey(argv.multisig) : undefined,
|
|
110
|
+
authorityIndex: argv.authorityIndex,
|
|
111
|
+
signers: [],
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=update-rewardable-entity-config.js.map
|