# Class BSV::Wallet::CLI::GlobalOptions <a id="class-BSV-Wallet-CLI-GlobalOptions"></a>

**Inherits:** `Data`

Value object carrying global flags parsed by the dispatcher and passed to each
command. Immutable (<code>Data.define</code>) so a command can't accidentally
mutate state observable by a sibling.

Constructed by <code>Dispatcher.parse_global_options</code> after the global
flag pass; consumed by command classes via their `ctx` argument and by
<code>CLI.boot</code> for wallet/db resolution.

Fields:
    - +wallet_name+      — value of +--wallet=<name>+; +nil+ if unset
    - +network+          — +:mainnet+ / +:testnet+ / +nil+
    - +json+             — +true+ when +--json+ is set; consumed by
                           +Commands::Base#pretty_json?+ to disable
                           pretty-printing on TTY (compact JSON
                           regardless). Does NOT switch a non-JSON
                           command into JSON mode; +list+ always
                           emits NDJSON regardless of this flag.
    - +wif_override+     — value of +--wif=<wif>+ (after policy check)
                           or +--wif-file=<path>+ contents; +nil+ if unset
    - +database_url_override+ — value of +--database-url=<url>+ (after
                           userinfo-password check); +nil+ if unset
    - +env_file+         — value of +--env=<file>+; +nil+ if unset

## Attributes
### `database_url_override` [R] <a id="attribute-i-database_url_override"></a> <a id="database_url_override-instance_method"></a>
Returns the value of attribute database_url_override
- **@return** [Object] the current value of database_url_override

### `env_file` [R] <a id="attribute-i-env_file"></a> <a id="env_file-instance_method"></a>
Returns the value of attribute env_file
- **@return** [Object] the current value of env_file

### `json` [R] <a id="attribute-i-json"></a> <a id="json-instance_method"></a>
Returns the value of attribute json
- **@return** [Object] the current value of json

### `network` [R] <a id="attribute-i-network"></a> <a id="network-instance_method"></a>
Returns the value of attribute network
- **@return** [Object] the current value of network

### `wallet_name` [R] <a id="attribute-i-wallet_name"></a> <a id="wallet_name-instance_method"></a>
Returns the value of attribute wallet_name
- **@return** [Object] the current value of wallet_name

### `wif_override` [R] <a id="attribute-i-wif_override"></a> <a id="wif_override-instance_method"></a>
Returns the value of attribute wif_override
- **@return** [Object] the current value of wif_override

## Public Class Methods
### `default()` <a id="method-c-default"></a> <a id="default-class_method"></a>
Convenience constructor with sensible defaults; lets callers (and specs) build
an empty options object without spelling out every field.
