@helium/helium-admin-cli 0.2.21 → 0.2.22-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.
- package/lib/cjs/approve-carrier.js +18 -17
- package/lib/cjs/approve-carrier.js.map +1 -1
- package/lib/cjs/approve-program.js +21 -20
- package/lib/cjs/approve-program.js.map +1 -1
- package/lib/cjs/close-buffers.js +15 -14
- package/lib/cjs/close-buffers.js.map +1 -1
- package/lib/cjs/close-canopy.js +21 -17
- package/lib/cjs/close-canopy.js.map +1 -1
- package/lib/cjs/close-lazy-transaction-markers.js +108 -0
- package/lib/cjs/close-lazy-transaction-markers.js.map +1 -0
- package/lib/cjs/create-dao.js +72 -71
- package/lib/cjs/create-dao.js.map +1 -1
- package/lib/cjs/create-data-only-config.js +22 -21
- package/lib/cjs/create-data-only-config.js.map +1 -1
- package/lib/cjs/create-maker.js +44 -42
- package/lib/cjs/create-maker.js.map +1 -1
- package/lib/cjs/create-price-oracle.js +28 -22
- package/lib/cjs/create-price-oracle.js.map +1 -1
- package/lib/cjs/create-subdao.js +96 -92
- package/lib/cjs/create-subdao.js.map +1 -1
- package/lib/cjs/issue-iot-operations-fund.js +17 -16
- package/lib/cjs/issue-iot-operations-fund.js.map +1 -1
- package/lib/cjs/repair-iot-operations-fund.js +16 -15
- package/lib/cjs/repair-iot-operations-fund.js.map +1 -1
- package/lib/cjs/reset-clockwork.js +24 -23
- package/lib/cjs/reset-clockwork.js.map +1 -1
- package/lib/cjs/reset-vsr-max-voter-record.js +24 -23
- package/lib/cjs/reset-vsr-max-voter-record.js.map +1 -1
- package/lib/cjs/reset-vsr-voting-mint.js +24 -23
- package/lib/cjs/reset-vsr-voting-mint.js.map +1 -1
- package/lib/cjs/setup-hst.js +36 -35
- package/lib/cjs/setup-hst.js.map +1 -1
- package/lib/cjs/update-account-circuit-breaker.js +21 -18
- package/lib/cjs/update-account-circuit-breaker.js.map +1 -1
- package/lib/cjs/update-aggregator.js +21 -20
- package/lib/cjs/update-aggregator.js.map +1 -1
- package/lib/cjs/update-dao.js +47 -34
- package/lib/cjs/update-dao.js.map +1 -1
- package/lib/cjs/update-data-credits.js +19 -18
- package/lib/cjs/update-data-credits.js.map +1 -1
- package/lib/cjs/update-delegated-dc-subdao.js +18 -17
- package/lib/cjs/update-delegated-dc-subdao.js.map +1 -1
- package/lib/cjs/update-iot-operations-fund-metadata.js +2 -1
- package/lib/cjs/update-iot-operations-fund-metadata.js.map +1 -1
- package/lib/cjs/update-lazy-distributor.js +25 -24
- package/lib/cjs/update-lazy-distributor.js.map +1 -1
- package/lib/cjs/update-lazy-transactions.js +15 -14
- package/lib/cjs/update-lazy-transactions.js.map +1 -1
- package/lib/cjs/update-mint-circuit-breaker.js +18 -17
- package/lib/cjs/update-mint-circuit-breaker.js.map +1 -1
- package/lib/cjs/update-registrar-authorities.js +15 -11
- package/lib/cjs/update-registrar-authorities.js.map +1 -1
- package/lib/cjs/update-rewardable-entity-config.js +25 -24
- package/lib/cjs/update-rewardable-entity-config.js.map +1 -1
- package/lib/cjs/update-subdao-vehnt.js +35 -34
- package/lib/cjs/update-subdao-vehnt.js.map +1 -1
- package/lib/cjs/update-subdao.js +56 -46
- package/lib/cjs/update-subdao.js.map +1 -1
- package/lib/cjs/upgrade-idl.js +18 -17
- package/lib/cjs/upgrade-idl.js.map +1 -1
- package/lib/esm/src/approve-carrier.js +27 -26
- package/lib/esm/src/approve-carrier.js.map +1 -1
- package/lib/esm/src/approve-program.js +30 -29
- package/lib/esm/src/approve-program.js.map +1 -1
- package/lib/esm/src/close-buffers.js +23 -22
- package/lib/esm/src/close-buffers.js.map +1 -1
- package/lib/esm/src/close-canopy.js +28 -24
- package/lib/esm/src/close-canopy.js.map +1 -1
- 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/create-dao.js +90 -89
- package/lib/esm/src/create-dao.js.map +1 -1
- package/lib/esm/src/create-data-only-config.js +34 -33
- package/lib/esm/src/create-data-only-config.js.map +1 -1
- package/lib/esm/src/create-maker.js +58 -56
- package/lib/esm/src/create-maker.js.map +1 -1
- package/lib/esm/src/create-price-oracle.js +37 -31
- package/lib/esm/src/create-price-oracle.js.map +1 -1
- package/lib/esm/src/create-subdao.js +112 -108
- package/lib/esm/src/create-subdao.js.map +1 -1
- package/lib/esm/src/issue-iot-operations-fund.js +27 -26
- package/lib/esm/src/issue-iot-operations-fund.js.map +1 -1
- package/lib/esm/src/repair-iot-operations-fund.js +24 -23
- package/lib/esm/src/repair-iot-operations-fund.js.map +1 -1
- package/lib/esm/src/reset-clockwork.js +31 -30
- package/lib/esm/src/reset-clockwork.js.map +1 -1
- package/lib/esm/src/reset-vsr-max-voter-record.js +32 -31
- package/lib/esm/src/reset-vsr-max-voter-record.js.map +1 -1
- package/lib/esm/src/reset-vsr-voting-mint.js +32 -31
- package/lib/esm/src/reset-vsr-voting-mint.js.map +1 -1
- package/lib/esm/src/setup-hst.js +50 -49
- package/lib/esm/src/setup-hst.js.map +1 -1
- package/lib/esm/src/update-account-circuit-breaker.js +29 -26
- package/lib/esm/src/update-account-circuit-breaker.js.map +1 -1
- package/lib/esm/src/update-aggregator.js +28 -27
- package/lib/esm/src/update-aggregator.js.map +1 -1
- package/lib/esm/src/update-dao.js +55 -42
- package/lib/esm/src/update-dao.js.map +1 -1
- package/lib/esm/src/update-data-credits.js +26 -25
- package/lib/esm/src/update-data-credits.js.map +1 -1
- package/lib/esm/src/update-delegated-dc-subdao.js +27 -26
- package/lib/esm/src/update-delegated-dc-subdao.js.map +1 -1
- package/lib/esm/src/update-iot-operations-fund-metadata.js +3 -2
- package/lib/esm/src/update-iot-operations-fund-metadata.js.map +1 -1
- package/lib/esm/src/update-lazy-distributor.js +32 -31
- package/lib/esm/src/update-lazy-distributor.js.map +1 -1
- package/lib/esm/src/update-lazy-transactions.js +22 -21
- package/lib/esm/src/update-lazy-transactions.js.map +1 -1
- package/lib/esm/src/update-mint-circuit-breaker.js +26 -25
- package/lib/esm/src/update-mint-circuit-breaker.js.map +1 -1
- package/lib/esm/src/update-registrar-authorities.js +22 -18
- package/lib/esm/src/update-registrar-authorities.js.map +1 -1
- package/lib/esm/src/update-rewardable-entity-config.js +34 -33
- package/lib/esm/src/update-rewardable-entity-config.js.map +1 -1
- package/lib/esm/src/update-subdao-vehnt.js +45 -44
- package/lib/esm/src/update-subdao-vehnt.js.map +1 -1
- package/lib/esm/src/update-subdao.js +67 -57
- package/lib/esm/src/update-subdao.js.map +1 -1
- package/lib/esm/src/upgrade-idl.js +24 -23
- package/lib/esm/src/upgrade-idl.js.map +1 -1
- package/lib/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/types/src/approve-carrier.d.ts.map +1 -1
- package/lib/types/src/approve-program.d.ts.map +1 -1
- package/lib/types/src/close-buffers.d.ts.map +1 -1
- package/lib/types/src/close-canopy.d.ts.map +1 -1
- 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/create-dao.d.ts.map +1 -1
- package/lib/types/src/create-data-only-config.d.ts.map +1 -1
- package/lib/types/src/create-maker.d.ts.map +1 -1
- package/lib/types/src/create-price-oracle.d.ts.map +1 -1
- package/lib/types/src/create-subdao.d.ts.map +1 -1
- package/lib/types/src/issue-iot-operations-fund.d.ts.map +1 -1
- package/lib/types/src/repair-iot-operations-fund.d.ts.map +1 -1
- package/lib/types/src/reset-clockwork.d.ts.map +1 -1
- package/lib/types/src/reset-vsr-max-voter-record.d.ts.map +1 -1
- package/lib/types/src/reset-vsr-voting-mint.d.ts.map +1 -1
- package/lib/types/src/setup-hst.d.ts +1 -1
- package/lib/types/src/setup-hst.d.ts.map +1 -1
- package/lib/types/src/update-aggregator.d.ts.map +1 -1
- package/lib/types/src/update-dao.d.ts.map +1 -1
- package/lib/types/src/update-data-credits.d.ts.map +1 -1
- package/lib/types/src/update-delegated-dc-subdao.d.ts.map +1 -1
- package/lib/types/src/update-iot-operations-fund-metadata.d.ts.map +1 -1
- package/lib/types/src/update-lazy-distributor.d.ts.map +1 -1
- package/lib/types/src/update-lazy-transactions.d.ts.map +1 -1
- package/lib/types/src/update-mint-circuit-breaker.d.ts.map +1 -1
- package/lib/types/src/update-rewardable-entity-config.d.ts.map +1 -1
- package/lib/types/src/update-subdao-vehnt.d.ts.map +1 -1
- package/lib/types/src/update-subdao.d.ts.map +1 -1
- package/lib/types/src/upgrade-idl.d.ts.map +1 -1
- package/package.json +25 -25
|
@@ -1,113 +1,114 @@
|
|
|
1
|
-
import * as anchor from
|
|
2
|
-
import { accountWindowedBreakerKey, init as initCb, mintWindowedBreakerKey, } from
|
|
3
|
-
import { init as initHem, rewardableEntityConfigKey, } from
|
|
4
|
-
import { init as initHsd, subDaoKey, delegatorRewardsPercent } from
|
|
5
|
-
import { PublicKey } from
|
|
6
|
-
import Squads from
|
|
7
|
-
import { AggregatorAccount, SwitchboardProgram, } from
|
|
8
|
-
import { BN } from
|
|
9
|
-
import os from
|
|
10
|
-
import yargs from
|
|
11
|
-
import { isLocalhost, loadKeypair, parseEmissionsSchedule, sendInstructionsOrSquads, } from
|
|
1
|
+
import * as anchor from '@coral-xyz/anchor';
|
|
2
|
+
import { accountWindowedBreakerKey, init as initCb, mintWindowedBreakerKey, } from '@helium/circuit-breaker-sdk';
|
|
3
|
+
import { init as initHem, rewardableEntityConfigKey, } from '@helium/helium-entity-manager-sdk';
|
|
4
|
+
import { init as initHsd, subDaoKey, delegatorRewardsPercent, } from '@helium/helium-sub-daos-sdk';
|
|
5
|
+
import { PublicKey } from '@solana/web3.js';
|
|
6
|
+
import Squads from '@sqds/sdk';
|
|
7
|
+
import { AggregatorAccount, SwitchboardProgram, } from '@switchboard-xyz/solana.js';
|
|
8
|
+
import { BN } from 'bn.js';
|
|
9
|
+
import os from 'os';
|
|
10
|
+
import yargs from 'yargs/yargs';
|
|
11
|
+
import { isLocalhost, loadKeypair, parseEmissionsSchedule, sendInstructionsOrSquads, } from './utils';
|
|
12
12
|
export async function run(args = process.argv) {
|
|
13
13
|
const yarg = yargs(args).options({
|
|
14
14
|
wallet: {
|
|
15
|
-
alias:
|
|
16
|
-
describe:
|
|
15
|
+
alias: 'k',
|
|
16
|
+
describe: 'Anchor wallet keypair',
|
|
17
17
|
default: `${os.homedir()}/.config/solana/id.json`,
|
|
18
18
|
},
|
|
19
19
|
url: {
|
|
20
|
-
alias:
|
|
21
|
-
default:
|
|
22
|
-
describe:
|
|
20
|
+
alias: 'u',
|
|
21
|
+
default: 'http://127.0.0.1:8899',
|
|
22
|
+
describe: 'The solana url',
|
|
23
23
|
},
|
|
24
24
|
dntMint: {
|
|
25
25
|
required: true,
|
|
26
|
-
type:
|
|
27
|
-
describe:
|
|
26
|
+
type: 'string',
|
|
27
|
+
describe: 'DNT mint of the subdao to be updated',
|
|
28
28
|
},
|
|
29
29
|
name: {
|
|
30
|
-
alias:
|
|
31
|
-
type:
|
|
30
|
+
alias: 'n',
|
|
31
|
+
type: 'string',
|
|
32
32
|
required: false,
|
|
33
|
-
describe:
|
|
33
|
+
describe: 'The name of the entity config',
|
|
34
34
|
},
|
|
35
35
|
newAuthority: {
|
|
36
36
|
required: false,
|
|
37
|
-
describe:
|
|
38
|
-
type:
|
|
37
|
+
describe: 'New subdao authority',
|
|
38
|
+
type: 'string',
|
|
39
39
|
default: null,
|
|
40
40
|
},
|
|
41
41
|
newEmissionsSchedulePath: {
|
|
42
42
|
required: false,
|
|
43
|
-
describe:
|
|
44
|
-
type:
|
|
43
|
+
describe: 'Path to file that contains the new emissions schedule',
|
|
44
|
+
type: 'string',
|
|
45
45
|
default: null,
|
|
46
46
|
},
|
|
47
47
|
newActiveDeviceAggregator: {
|
|
48
48
|
required: false,
|
|
49
49
|
default: null,
|
|
50
|
-
type:
|
|
50
|
+
type: 'string',
|
|
51
51
|
},
|
|
52
52
|
newDcBurnAuthority: {
|
|
53
53
|
required: false,
|
|
54
54
|
default: null,
|
|
55
|
-
type:
|
|
55
|
+
type: 'string',
|
|
56
56
|
},
|
|
57
57
|
executeTransaction: {
|
|
58
|
-
type:
|
|
58
|
+
type: 'boolean',
|
|
59
59
|
},
|
|
60
60
|
multisig: {
|
|
61
|
-
type:
|
|
62
|
-
describe:
|
|
61
|
+
type: 'string',
|
|
62
|
+
describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
|
|
63
63
|
},
|
|
64
64
|
authorityIndex: {
|
|
65
|
-
type:
|
|
66
|
-
describe:
|
|
65
|
+
type: 'number',
|
|
66
|
+
describe: 'Authority index for squads. Defaults to 1',
|
|
67
67
|
default: 1,
|
|
68
68
|
},
|
|
69
69
|
switchboardNetwork: {
|
|
70
|
-
type:
|
|
71
|
-
describe:
|
|
72
|
-
default:
|
|
70
|
+
type: 'string',
|
|
71
|
+
describe: 'The switchboard network',
|
|
72
|
+
default: 'devnet',
|
|
73
73
|
},
|
|
74
74
|
registrar: {
|
|
75
|
-
type:
|
|
75
|
+
type: 'string',
|
|
76
76
|
required: false,
|
|
77
|
-
describe:
|
|
77
|
+
describe: 'VSR Registrar of subdao',
|
|
78
78
|
default: null,
|
|
79
79
|
},
|
|
80
80
|
delegatorRewardsPercent: {
|
|
81
|
-
type:
|
|
81
|
+
type: 'number',
|
|
82
82
|
required: false,
|
|
83
|
-
describe:
|
|
83
|
+
describe: 'Percentage of rewards allocated to delegators. Must be between 0-100 and can have 8 decimal places.',
|
|
84
84
|
default: null,
|
|
85
85
|
},
|
|
86
86
|
onboardingDcFee: {
|
|
87
|
-
type:
|
|
87
|
+
type: 'number',
|
|
88
88
|
required: false,
|
|
89
|
-
describe:
|
|
89
|
+
describe: 'The data credits fee for onboarding hotspots',
|
|
90
90
|
default: null,
|
|
91
91
|
},
|
|
92
92
|
onboardingDataOnlyDcFee: {
|
|
93
|
-
type:
|
|
93
|
+
type: 'number',
|
|
94
94
|
required: false,
|
|
95
|
-
describe:
|
|
95
|
+
describe: 'The data credits fee for onboarding data only hotspots',
|
|
96
96
|
default: null,
|
|
97
97
|
},
|
|
98
98
|
activeDeviceAuthority: {
|
|
99
|
-
type:
|
|
99
|
+
type: 'string',
|
|
100
100
|
required: false,
|
|
101
|
-
describe:
|
|
101
|
+
describe: 'The authority that can set hotspot active status',
|
|
102
102
|
default: null,
|
|
103
|
-
}
|
|
103
|
+
},
|
|
104
104
|
});
|
|
105
105
|
const argv = await yarg.argv;
|
|
106
106
|
process.env.ANCHOR_WALLET = argv.wallet;
|
|
107
107
|
process.env.ANCHOR_PROVIDER_URL = argv.url;
|
|
108
108
|
anchor.setProvider(anchor.AnchorProvider.local(argv.url));
|
|
109
|
-
const wallet = loadKeypair(argv.wallet);
|
|
110
109
|
const provider = anchor.getProvider();
|
|
110
|
+
const walletKP = loadKeypair(argv.wallet);
|
|
111
|
+
const wallet = new anchor.Wallet(walletKP);
|
|
111
112
|
const program = await initHsd(provider);
|
|
112
113
|
const hemProgram = await initHem(provider);
|
|
113
114
|
const cbProgram = await initCb(provider);
|
|
@@ -116,7 +117,7 @@ export async function run(args = process.argv) {
|
|
|
116
117
|
const subDaoAcc = await program.account.subDaoV0.fetch(subDao);
|
|
117
118
|
if (argv.newAuthority) {
|
|
118
119
|
if (!argv.name) {
|
|
119
|
-
throw new Error(
|
|
120
|
+
throw new Error('--name is required');
|
|
120
121
|
}
|
|
121
122
|
// update entity config auth
|
|
122
123
|
const config = rewardableEntityConfigKey(subDao, argv.name.toUpperCase())[0];
|
|
@@ -159,7 +160,7 @@ export async function run(args = process.argv) {
|
|
|
159
160
|
.instruction());
|
|
160
161
|
// update agg auth
|
|
161
162
|
if (!isLocalhost(provider)) {
|
|
162
|
-
const switchboard = await SwitchboardProgram.load(argv.switchboardNetwork, provider.connection,
|
|
163
|
+
const switchboard = await SwitchboardProgram.load(argv.switchboardNetwork, provider.connection, walletKP);
|
|
163
164
|
const [agg, aggData] = await AggregatorAccount.load(switchboard, subDaoAcc.activeDeviceAggregator);
|
|
164
165
|
if (!aggData.authority.equals(subDaoAcc.activeDeviceAggregator)) {
|
|
165
166
|
instructions.push(...agg.setAuthorityInstruction(aggData.authority, // payer needs to be the same as the old authority
|
|
@@ -167,8 +168,9 @@ export async function run(args = process.argv) {
|
|
|
167
168
|
}
|
|
168
169
|
}
|
|
169
170
|
}
|
|
170
|
-
if (argv.delegatorRewardsPercent &&
|
|
171
|
-
|
|
171
|
+
if (argv.delegatorRewardsPercent &&
|
|
172
|
+
(argv.delegatorRewardsPercent > 100 || argv.delegatorRewardsPercent < 0)) {
|
|
173
|
+
throw new Error('Delegator rewards percent must be between 0 and 100');
|
|
172
174
|
}
|
|
173
175
|
instructions.push(await program.methods
|
|
174
176
|
.updateSubDaoV0({
|
|
@@ -179,14 +181,22 @@ export async function run(args = process.argv) {
|
|
|
179
181
|
dcBurnAuthority: argv.newDcBurnAuthority
|
|
180
182
|
? new PublicKey(argv.newDcBurnAuthority)
|
|
181
183
|
: null,
|
|
182
|
-
onboardingDcFee: argv.onboardingDcFee
|
|
183
|
-
|
|
184
|
+
onboardingDcFee: argv.onboardingDcFee
|
|
185
|
+
? new BN(argv.onboardingDcFee)
|
|
186
|
+
: null,
|
|
187
|
+
onboardingDataOnlyDcFee: argv.onboardingDataOnlyDcFee
|
|
188
|
+
? new BN(argv.onboardingDataOnlyDcFee)
|
|
189
|
+
: null,
|
|
184
190
|
activeDeviceAggregator: argv.newActiveDeviceAggregator
|
|
185
191
|
? new PublicKey(argv.newActiveDeviceAggregator)
|
|
186
192
|
: null,
|
|
187
193
|
registrar: argv.registrar ? new PublicKey(argv.registrar) : null,
|
|
188
|
-
delegatorRewardsPercent: argv.delegatorRewardsPercent
|
|
189
|
-
|
|
194
|
+
delegatorRewardsPercent: argv.delegatorRewardsPercent
|
|
195
|
+
? delegatorRewardsPercent(argv.delegatorRewardsPercent)
|
|
196
|
+
: null,
|
|
197
|
+
activeDeviceAuthority: argv.activeDeviceAuthority
|
|
198
|
+
? new PublicKey(argv.activeDeviceAuthority)
|
|
199
|
+
: null,
|
|
190
200
|
})
|
|
191
201
|
.accounts({
|
|
192
202
|
subDao,
|
|
@@ -194,8 +204,8 @@ export async function run(args = process.argv) {
|
|
|
194
204
|
payer: subDaoAcc.authority,
|
|
195
205
|
})
|
|
196
206
|
.instruction());
|
|
197
|
-
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL,
|
|
198
|
-
commitmentOrConfig:
|
|
207
|
+
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
|
|
208
|
+
commitmentOrConfig: 'finalized',
|
|
199
209
|
});
|
|
200
210
|
await sendInstructionsOrSquads({
|
|
201
211
|
provider,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-subdao.js","sourceRoot":"","sources":["../../../src/update-subdao.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,yBAAyB,EACzB,IAAI,IAAI,MAAM,EACd,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,IAAI,IAAI,OAAO,EACf,yBAAyB,GAC1B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"update-subdao.js","sourceRoot":"","sources":["../../../src/update-subdao.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,50 +1,51 @@
|
|
|
1
|
-
import * as anchor from
|
|
2
|
-
import { PublicKey } from
|
|
3
|
-
import Squads from
|
|
4
|
-
import os from
|
|
5
|
-
import yargs from
|
|
6
|
-
import { createIdlUpgradeInstruction, sendInstructionsOrSquads, } from
|
|
1
|
+
import * as anchor from '@coral-xyz/anchor';
|
|
2
|
+
import { PublicKey } from '@solana/web3.js';
|
|
3
|
+
import Squads from '@sqds/sdk';
|
|
4
|
+
import os from 'os';
|
|
5
|
+
import yargs from 'yargs/yargs';
|
|
6
|
+
import { createIdlUpgradeInstruction, loadKeypair, sendInstructionsOrSquads, } from './utils';
|
|
7
7
|
export async function run(args = process.argv) {
|
|
8
8
|
const yarg = yargs(args).options({
|
|
9
9
|
wallet: {
|
|
10
|
-
alias:
|
|
11
|
-
describe:
|
|
10
|
+
alias: 'k',
|
|
11
|
+
describe: 'Anchor wallet keypair',
|
|
12
12
|
default: `${os.homedir()}/.config/solana/id.json`,
|
|
13
13
|
},
|
|
14
14
|
url: {
|
|
15
|
-
alias:
|
|
16
|
-
default:
|
|
17
|
-
describe:
|
|
15
|
+
alias: 'u',
|
|
16
|
+
default: 'http://127.0.0.1:8899',
|
|
17
|
+
describe: 'The solana url',
|
|
18
18
|
},
|
|
19
19
|
executeTransaction: {
|
|
20
|
-
type:
|
|
20
|
+
type: 'boolean',
|
|
21
21
|
},
|
|
22
22
|
multisig: {
|
|
23
|
-
type:
|
|
24
|
-
describe:
|
|
23
|
+
type: 'string',
|
|
24
|
+
describe: 'Address of the squads multisig to be authority. If not provided, your wallet will be the authority',
|
|
25
25
|
},
|
|
26
26
|
authorityIndex: {
|
|
27
|
-
type:
|
|
28
|
-
describe:
|
|
27
|
+
type: 'number',
|
|
28
|
+
describe: 'Authority index for squads. Defaults to 1',
|
|
29
29
|
default: 1,
|
|
30
30
|
},
|
|
31
31
|
programId: {
|
|
32
|
-
type:
|
|
32
|
+
type: 'string',
|
|
33
33
|
required: true,
|
|
34
34
|
},
|
|
35
35
|
bufferId: {
|
|
36
|
-
type:
|
|
37
|
-
required: true
|
|
38
|
-
}
|
|
36
|
+
type: 'string',
|
|
37
|
+
required: true,
|
|
38
|
+
},
|
|
39
39
|
});
|
|
40
40
|
const argv = await yarg.argv;
|
|
41
41
|
process.env.ANCHOR_WALLET = argv.wallet;
|
|
42
42
|
process.env.ANCHOR_PROVIDER_URL = argv.url;
|
|
43
43
|
anchor.setProvider(anchor.AnchorProvider.local(argv.url));
|
|
44
44
|
const provider = anchor.getProvider();
|
|
45
|
+
const wallet = new anchor.Wallet(loadKeypair(argv.wallet));
|
|
45
46
|
const connection = provider.connection;
|
|
46
|
-
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL,
|
|
47
|
-
commitmentOrConfig:
|
|
47
|
+
const squads = Squads.endpoint(process.env.ANCHOR_PROVIDER_URL, wallet, {
|
|
48
|
+
commitmentOrConfig: 'finalized',
|
|
48
49
|
});
|
|
49
50
|
let authority = provider.wallet.publicKey;
|
|
50
51
|
let multisig = argv.multisig ? new PublicKey(argv.multisig) : null;
|
|
@@ -55,7 +56,7 @@ export async function run(args = process.argv) {
|
|
|
55
56
|
await sendInstructionsOrSquads({
|
|
56
57
|
provider,
|
|
57
58
|
instructions: [
|
|
58
|
-
await createIdlUpgradeInstruction(new PublicKey(argv.programId), new PublicKey(argv.bufferId), authority)
|
|
59
|
+
await createIdlUpgradeInstruction(new PublicKey(argv.programId), new PublicKey(argv.bufferId), authority),
|
|
59
60
|
],
|
|
60
61
|
executeTransaction: argv.executeTransaction,
|
|
61
62
|
squads,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade-idl.js","sourceRoot":"","sources":["../../../src/upgrade-idl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,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,EAEL,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,SAAS,CAAC;AAIjB,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,kBAAkB,EAAE;YAClB,IAAI,EAAE,SAAS;SAChB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EACN,oGAAoG;SACvG;QACD,cAAc,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,2CAA2C;YACrD,OAAO,EAAE,CAAC;SACX;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;KACF,CAAC,CAAC;IACH,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,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"upgrade-idl.js","sourceRoot":"","sources":["../../../src/upgrade-idl.ts"],"names":[],"mappings":"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"}
|