@@ -187,6 +187,7 @@ fn command_create_pool(
187
187
stake_referral_fee : u8 ,
188
188
max_validators : u32 ,
189
189
stake_pool_keypair : Option < Keypair > ,
190
+ validator_list_keypair : Option < Keypair > ,
190
191
mint_keypair : Option < Keypair > ,
191
192
reserve_keypair : Option < Keypair > ,
192
193
) -> CommandResult {
@@ -198,7 +199,7 @@ fn command_create_pool(
198
199
199
200
let stake_pool_keypair = stake_pool_keypair. unwrap_or_else ( Keypair :: new) ;
200
201
201
- let validator_list = Keypair :: new ( ) ;
202
+ let validator_list_keypair = validator_list_keypair . unwrap_or_else ( Keypair :: new) ;
202
203
203
204
let reserve_stake_balance = config
204
205
. rpc_client
@@ -288,7 +289,7 @@ fn command_create_pool(
288
289
// Validator stake account list storage
289
290
system_instruction:: create_account (
290
291
& config. fee_payer . pubkey ( ) ,
291
- & validator_list . pubkey ( ) ,
292
+ & validator_list_keypair . pubkey ( ) ,
292
293
validator_list_balance,
293
294
validator_list_size as u64 ,
294
295
& spl_stake_pool:: id ( ) ,
@@ -307,7 +308,7 @@ fn command_create_pool(
307
308
& stake_pool_keypair. pubkey ( ) ,
308
309
& config. manager . pubkey ( ) ,
309
310
& config. staker . pubkey ( ) ,
310
- & validator_list . pubkey ( ) ,
311
+ & validator_list_keypair . pubkey ( ) ,
311
312
& reserve_keypair. pubkey ( ) ,
312
313
& mint_keypair. pubkey ( ) ,
313
314
& pool_fee_account,
@@ -335,11 +336,15 @@ fn command_create_pool(
335
336
setup_transaction. sign ( & setup_signers, recent_blockhash) ;
336
337
send_transaction ( config, setup_transaction) ?;
337
338
338
- println ! ( "Creating stake pool {}" , stake_pool_keypair. pubkey( ) ) ;
339
+ println ! (
340
+ "Creating stake pool {} with validator list {}" ,
341
+ stake_pool_keypair. pubkey( ) ,
342
+ validator_list_keypair. pubkey( )
343
+ ) ;
339
344
let mut initialize_signers = vec ! [
340
345
config. fee_payer. as_ref( ) ,
341
346
& stake_pool_keypair,
342
- & validator_list ,
347
+ & validator_list_keypair ,
343
348
config. manager. as_ref( ) ,
344
349
] ;
345
350
if let Some ( deposit_authority) = deposit_authority {
@@ -874,6 +879,7 @@ fn command_list(config: &Config, stake_pool_address: &Pubkey) -> CommandResult {
874
879
println ! ( "Fee Account: {}" , stake_pool. manager_fee_account) ;
875
880
} else {
876
881
println ! ( "Stake Pool: {}" , stake_pool_address) ;
882
+ println ! ( "Validator List: {}" , stake_pool. validator_list) ;
877
883
println ! ( "Pool Token Mint: {}" , stake_pool. pool_mint) ;
878
884
}
879
885
@@ -1823,6 +1829,14 @@ fn main() {
1823
1829
. takes_value ( true )
1824
1830
. help ( "Stake pool keypair [default: new keypair]" ) ,
1825
1831
)
1832
+ . arg (
1833
+ Arg :: with_name ( "validator_list_keypair" )
1834
+ . long ( "validator-list-keypair" )
1835
+ . validator ( is_keypair_or_ask_keyword)
1836
+ . value_name ( "PATH" )
1837
+ . takes_value ( true )
1838
+ . help ( "Validator list keypair [default: new keypair]" ) ,
1839
+ )
1826
1840
. arg (
1827
1841
Arg :: with_name ( "mint_keypair" )
1828
1842
. long ( "mint-keypair" )
@@ -2477,6 +2491,7 @@ fn main() {
2477
2491
let referral_fee = value_t ! ( arg_matches, "referral_fee" , u8 ) ;
2478
2492
let max_validators = value_t_or_exit ! ( arg_matches, "max_validators" , u32 ) ;
2479
2493
let pool_keypair = keypair_of ( arg_matches, "pool_keypair" ) ;
2494
+ let validator_list_keypair = keypair_of ( arg_matches, "validator_list_keypair" ) ;
2480
2495
let mint_keypair = keypair_of ( arg_matches, "mint_keypair" ) ;
2481
2496
let reserve_keypair = keypair_of ( arg_matches, "reserve_keypair" ) ;
2482
2497
command_create_pool (
@@ -2497,6 +2512,7 @@ fn main() {
2497
2512
referral_fee. unwrap_or ( 0 ) ,
2498
2513
max_validators,
2499
2514
pool_keypair,
2515
+ validator_list_keypair,
2500
2516
mint_keypair,
2501
2517
reserve_keypair,
2502
2518
)
0 commit comments