@@ -587,22 +587,26 @@ pub struct PaymasterOptions {
587587 pub api_key : Option < String > ,
588588
589589 /// API key for the Avnu price provider (used by the sidecar).
590+ ///
591+ /// Only required when running in sidecar mode. Not needed if `--paymaster.url` is provided.
592+ #[ arg( conflicts_with = "paymaster_url" ) ]
590593 #[ arg( long = "paymaster.price-api-key" , value_name = "KEY" ) ]
591594 #[ serde( default ) ]
592595 pub price_api_key : Option < String > ,
593596
594597 /// Prefunded account index used by the paymaster (relayer at INDEX, gas tank at INDEX+1,
595598 /// estimate account at INDEX+2).
596- #[ arg(
597- value_name = "INDEX" ,
598- id = "paymaster_prefunded_index" ,
599- long = "paymaster.prefunded-index" ,
600- default_value_t = default_paymaster_prefunded_index( )
601- ) ]
599+ #[ arg( id = "paymaster_prefunded_index" ) ]
600+ #[ arg( conflicts_with = "paymaster_url" ) ]
601+ #[ arg( default_value_t = default_paymaster_prefunded_index( ) ) ]
602+ #[ arg( value_name = "INDEX" , long = "paymaster.prefunded-index" ) ]
602603 #[ serde( default = "default_paymaster_prefunded_index" ) ]
603604 pub prefunded_index : u16 ,
604605
605606 /// Optional path to the paymaster sidecar binary (defaults to `paymaster-service` in PATH).
607+ ///
608+ /// Only used when running in sidecar mode. Not applicable if `--paymaster.url` is provided.
609+ #[ arg( conflicts_with = "paymaster_url" ) ]
606610 #[ arg( long = "paymaster.bin" , value_name = "PATH" , id = "paymaster_bin" ) ]
607611 #[ serde( default ) ]
608612 pub bin : Option < PathBuf > ,
@@ -684,11 +688,17 @@ pub struct VrfOptions {
684688 pub url : Option < Url > ,
685689
686690 /// Source for the VRF secret key.
691+ ///
692+ /// Only used when running in sidecar mode. Not applicable if `--vrf.url` is provided.
693+ #[ arg( conflicts_with = "vrf_url" ) ]
687694 #[ arg( long = "vrf.key-source" , value_enum, default_value_t = default_vrf_key_source( ) ) ]
688695 #[ serde( default = "default_vrf_key_source" ) ]
689696 pub key_source : VrfKeySource ,
690697
691698 /// Prefunded account index used to sign VRF outside executions.
699+ ///
700+ /// Only used when running in sidecar mode. Not applicable if `--vrf.url` is provided.
701+ #[ arg( conflicts_with = "vrf_url" ) ]
692702 #[ arg(
693703 long = "vrf.prefunded-index" ,
694704 value_name = "INDEX" ,
@@ -699,6 +709,9 @@ pub struct VrfOptions {
699709 pub prefunded_index : u16 ,
700710
701711 /// Port to bind the sidecar VRF service on (vrf-server uses 3000).
712+ ///
713+ /// Only used when running in sidecar mode. Not applicable if `--vrf.url` is provided.
714+ #[ arg( conflicts_with = "vrf_url" ) ]
702715 #[ arg(
703716 long = "vrf.port" ,
704717 value_name = "PORT" ,
@@ -709,6 +722,9 @@ pub struct VrfOptions {
709722 pub port : u16 ,
710723
711724 /// Optional path to the VRF sidecar binary (defaults to `vrf-server` in PATH).
725+ ///
726+ /// Only used when running in sidecar mode. Not applicable if `--vrf.url` is provided.
727+ #[ arg( conflicts_with = "vrf_url" ) ]
712728 #[ arg( long = "vrf.bin" , value_name = "PATH" , id = "vrf_bin" ) ]
713729 #[ serde( default ) ]
714730 pub bin : Option < PathBuf > ,
0 commit comments