pub struct CommonChainArgs {
pub config: Option<PathBuf>,
pub rpc_url: Option<String>,
pub chain_id: Option<u64>,
pub keystore: Option<PathBuf>,
pub data_dir: Option<PathBuf>,
pub keystore_password_file: Option<PathBuf>,
pub dry_run: bool,
pub json: bool,
}Expand description
Blockchain coordinates + keys shared by every on-chain command, flattened
into each command’s args so they expose an identical flag group and can’t
drift. Each field is taken from a flag when present, otherwise the
[blockchain] / [identity] tables of the TOML config (the same file the
daemon reads). ChainArgs / PublishChainArgs layer their contract-address
flags on top of this; the shared resolver (chain_ctx::resolve_common)
reads these fields so the flag > config > default precedence lives in one
place.
Fields§
§config: Option<PathBuf>Path to the TOML config file supplying [blockchain] / [identity]
fields not passed as flags. Takes precedence over the top-level
decdn --config; falls through to ~/.decdn/node.toml.
rpc_url: Option<String>JSON-RPC endpoint URL. Overrides blockchain.rpc_url.
chain_id: Option<u64>EIP-712 chainId for signing domains. Overrides blockchain.chain_id;
defaults to Arbitrum Sepolia. Must match the target contract
deployment’s chain or signatures are rejected on-chain. The publish
and setup commands additionally read the RPC’s own chain id and refuse
to submit on a mismatch; the other on-chain commands do not.
keystore: Option<PathBuf>Ethereum keystore file. Overrides blockchain.eth_keystore; defaults
to <data_dir>/keystore.json.
data_dir: Option<PathBuf>Data directory holding node.secret. Overrides identity.data_dir;
defaults to ~/.decdn.
keystore_password_file: Option<PathBuf>File whose contents are the keystore password. Consulted after the
DECDN_KEYSTORE_PASSWORD env var and before an interactive prompt on a
TTY. A single trailing newline is stripped; a file that is empty after
that strip is a deliberate empty password, not an absent source. A path
that does not exist falls through; one that exists but cannot be read is
an error.
dry_run: boolBuild and print what would be submitted without sending any transaction.
json: boolEmit the result as JSON instead of human-readable key=value lines.
Trait Implementations§
Source§impl Args for CommonChainArgs
impl Args for CommonChainArgs
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl Debug for CommonChainArgs
impl Debug for CommonChainArgs
Source§impl FromArgMatches for CommonChainArgs
impl FromArgMatches for CommonChainArgs
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Auto Trait Implementations§
impl Freeze for CommonChainArgs
impl RefUnwindSafe for CommonChainArgs
impl Send for CommonChainArgs
impl Sync for CommonChainArgs
impl Unpin for CommonChainArgs
impl UnsafeUnpin for CommonChainArgs
impl UnwindSafe for CommonChainArgs
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more