66 } ,
77 solana_clap_v3_utils:: {
88 fee_payer:: fee_payer_arg,
9- input_validators:: {
10- is_amount, is_amount_or_all, is_parsable, is_pubkey, is_url_or_moniker,
11- is_valid_pubkey, is_valid_signer,
12- } ,
9+ input_parsers:: Amount ,
10+ input_validators:: { is_pubkey, is_url_or_moniker, is_valid_pubkey, is_valid_signer} ,
1311 memo:: memo_arg,
1412 nonce:: * ,
1513 offline:: { self , * } ,
@@ -306,16 +304,12 @@ pub fn mint_address_arg<'a>() -> Arg<'a> {
306304 . help ( MINT_ADDRESS_ARG . help )
307305}
308306
309- fn is_mint_decimals ( string : & str ) -> Result < ( ) , String > {
310- is_parsable :: < u8 > ( string)
311- }
312-
313307pub fn mint_decimals_arg < ' a > ( ) -> Arg < ' a > {
314308 Arg :: with_name ( MINT_DECIMALS_ARG . name )
315309 . long ( MINT_DECIMALS_ARG . long )
316310 . takes_value ( true )
317311 . value_name ( "MINT_DECIMALS" )
318- . validator ( is_mint_decimals )
312+ . value_parser ( clap :: value_parser! ( u8 ) )
319313 . help ( MINT_DECIMALS_ARG . help )
320314}
321315
@@ -344,7 +338,7 @@ pub fn transfer_lamports_arg<'a>() -> Arg<'a> {
344338 . long ( TRANSFER_LAMPORTS_ARG . long )
345339 . takes_value ( true )
346340 . value_name ( "LAMPORTS" )
347- . validator ( |s| is_amount ( s ) )
341+ . value_parser ( clap :: value_parser! ( u64 ) )
348342 . help ( TRANSFER_LAMPORTS_ARG . help )
349343}
350344
@@ -477,7 +471,7 @@ impl BenchSubCommand for App<'_> {
477471 )
478472 . arg (
479473 Arg :: with_name ( "n" )
480- . validator ( is_parsable :: < usize > )
474+ . value_parser ( clap :: value_parser! ( usize ) )
481475 . value_name ( "N" )
482476 . takes_value ( true )
483477 . index ( 2 )
@@ -500,7 +494,7 @@ impl BenchSubCommand for App<'_> {
500494 )
501495 . arg (
502496 Arg :: with_name ( "n" )
503- . validator ( is_parsable :: < usize > )
497+ . value_parser ( clap :: value_parser! ( usize ) )
504498 . value_name ( "N" )
505499 . takes_value ( true )
506500 . index ( 2 )
@@ -523,7 +517,7 @@ impl BenchSubCommand for App<'_> {
523517 )
524518 . arg (
525519 Arg :: with_name ( "n" )
526- . validator ( is_parsable :: < usize > )
520+ . value_parser ( clap :: value_parser! ( usize ) )
527521 . value_name ( "N" )
528522 . takes_value ( true )
529523 . index ( 2 )
@@ -532,7 +526,7 @@ impl BenchSubCommand for App<'_> {
532526 )
533527 . arg (
534528 Arg :: with_name ( "amount" )
535- . validator ( |s| is_amount ( s ) )
529+ . value_parser ( Amount :: parse )
536530 . value_name ( "TOKEN_AMOUNT" )
537531 . takes_value ( true )
538532 . index ( 3 )
@@ -563,7 +557,7 @@ impl BenchSubCommand for App<'_> {
563557 )
564558 . arg (
565559 Arg :: with_name ( "n" )
566- . validator ( is_parsable :: < usize > )
560+ . value_parser ( clap :: value_parser! ( usize ) )
567561 . value_name ( "N" )
568562 . takes_value ( true )
569563 . index ( 2 )
@@ -572,7 +566,7 @@ impl BenchSubCommand for App<'_> {
572566 )
573567 . arg (
574568 Arg :: with_name ( "amount" )
575- . validator ( |s| is_amount ( s ) )
569+ . value_parser ( Amount :: parse )
576570 . value_name ( "TOKEN_AMOUNT" )
577571 . takes_value ( true )
578572 . index ( 3 )
@@ -676,7 +670,7 @@ pub fn app<'a>(
676670 . takes_value ( true )
677671 . global ( true )
678672 . value_name ( "COMPUTE-UNIT-LIMIT" )
679- . validator ( is_parsable :: < u32 > )
673+ . value_parser ( clap :: value_parser! ( u32 ) )
680674 . help ( COMPUTE_UNIT_LIMIT_ARG . help )
681675 )
682676 . arg (
@@ -685,7 +679,7 @@ pub fn app<'a>(
685679 . takes_value ( true )
686680 . global ( true )
687681 . value_name ( "COMPUTE-UNIT-PRICE" )
688- . validator ( is_parsable :: < u64 > )
682+ . value_parser ( clap :: value_parser! ( u64 ) )
689683 . help ( COMPUTE_UNIT_PRICE_ARG . help )
690684 )
691685 . bench_subcommand ( )
@@ -717,7 +711,7 @@ pub fn app<'a>(
717711 . arg (
718712 Arg :: with_name ( "decimals" )
719713 . long ( "decimals" )
720- . validator ( is_mint_decimals )
714+ . value_parser ( clap :: value_parser! ( u8 ) )
721715 . value_name ( "DECIMALS" )
722716 . takes_value ( true )
723717 . default_value ( default_decimals)
@@ -839,7 +833,7 @@ pub fn app<'a>(
839833 . number_of_values ( 1 )
840834 . conflicts_with ( "transfer_fee" )
841835 . requires ( "transfer_fee_basis_points" )
842- . validator ( |s| is_amount ( s ) )
836+ . value_parser ( Amount :: parse )
843837 . help (
844838 "Add a UI amount maximum transfer fee to the mint. \
845839 The mint authority can set and collect fees"
@@ -1090,7 +1084,7 @@ pub fn app<'a>(
10901084 )
10911085 . arg (
10921086 Arg :: with_name ( "max_size" )
1093- . validator ( |s| is_amount ( s ) )
1087+ . value_parser ( clap :: value_parser! ( u64 ) )
10941088 . value_name ( "MAX_SIZE" )
10951089 . takes_value ( true )
10961090 . required ( true )
@@ -1136,7 +1130,7 @@ pub fn app<'a>(
11361130 )
11371131 . arg (
11381132 Arg :: with_name ( "new_max_size" )
1139- . validator ( |s| is_amount ( s ) )
1133+ . value_parser ( clap :: value_parser! ( u64 ) )
11401134 . value_name ( "NEW_MAX_SIZE" )
11411135 . takes_value ( true )
11421136 . required ( true )
@@ -1350,7 +1344,7 @@ pub fn app<'a>(
13501344 )
13511345 . arg (
13521346 Arg :: with_name ( "amount" )
1353- . validator ( |s| is_amount_or_all ( s ) )
1347+ . value_parser ( Amount :: parse )
13541348 . value_name ( "TOKEN_AMOUNT" )
13551349 . takes_value ( true )
13561350 . index ( 2 )
@@ -1434,8 +1428,8 @@ pub fn app<'a>(
14341428 . arg (
14351429 Arg :: with_name ( "expected_fee" )
14361430 . long ( "expected-fee" )
1437- . validator ( |s| is_amount ( s ) )
1438- . value_name ( "TOKEN_AMOUNT " )
1431+ . value_parser ( Amount :: parse )
1432+ . value_name ( "EXPECTED_FEE " )
14391433 . takes_value ( true )
14401434 . help ( "Expected fee amount collected during the transfer" ) ,
14411435 )
@@ -1480,7 +1474,7 @@ pub fn app<'a>(
14801474 )
14811475 . arg (
14821476 Arg :: with_name ( "amount" )
1483- . validator ( |s| is_amount_or_all ( s ) )
1477+ . value_parser ( Amount :: parse )
14841478 . value_name ( "TOKEN_AMOUNT" )
14851479 . takes_value ( true )
14861480 . index ( 2 )
@@ -1514,7 +1508,7 @@ pub fn app<'a>(
15141508 )
15151509 . arg (
15161510 Arg :: with_name ( "amount" )
1517- . validator ( |s| is_amount ( s ) )
1511+ . value_parser ( Amount :: parse )
15181512 . value_name ( "TOKEN_AMOUNT" )
15191513 . takes_value ( true )
15201514 . index ( 2 )
@@ -1624,7 +1618,7 @@ pub fn app<'a>(
16241618 . about ( "Wrap native SOL in a SOL token account" )
16251619 . arg (
16261620 Arg :: with_name ( "amount" )
1627- . validator ( |s| is_amount ( s ) )
1621+ . value_parser ( Amount :: parse )
16281622 . value_name ( "AMOUNT" )
16291623 . takes_value ( true )
16301624 . index ( 1 )
@@ -1706,7 +1700,7 @@ pub fn app<'a>(
17061700 )
17071701 . arg (
17081702 Arg :: with_name ( "amount" )
1709- . validator ( |s| is_amount ( s ) )
1703+ . value_parser ( Amount :: parse )
17101704 . value_name ( "TOKEN_AMOUNT" )
17111705 . takes_value ( true )
17121706 . index ( 2 )
@@ -2337,8 +2331,8 @@ pub fn app<'a>(
23372331 )
23382332 . arg (
23392333 Arg :: with_name ( "maximum_fee" )
2340- . value_name ( "TOKEN_AMOUNT " )
2341- . validator ( |s| is_amount ( s ) )
2334+ . value_name ( "MAXIMUM_FEE " )
2335+ . value_parser ( Amount :: parse )
23422336 . takes_value ( true )
23432337 . required ( true )
23442338 . help ( "The new maximum transfer fee in UI amount" ) ,
@@ -2606,7 +2600,7 @@ pub fn app<'a>(
26062600 )
26072601 . arg (
26082602 Arg :: with_name ( "amount" )
2609- . validator ( |s| is_amount_or_all ( s ) )
2603+ . value_parser ( Amount :: parse )
26102604 . value_name ( "TOKEN_AMOUNT" )
26112605 . takes_value ( true )
26122606 . index ( 2 )
@@ -2643,7 +2637,7 @@ pub fn app<'a>(
26432637 )
26442638 . arg (
26452639 Arg :: with_name ( "amount" )
2646- . validator ( |s| is_amount_or_all ( s ) )
2640+ . value_parser ( Amount :: parse )
26472641 . value_name ( "TOKEN_AMOUNT" )
26482642 . takes_value ( true )
26492643 . index ( 2 )
0 commit comments