Skip to main content

Module providers

Module providers 

Source
Expand description

Config providers.

Modules§

ext 🔒
remappings 🔒
warnings 🔒

Structs§

BackwardsCompatTomlProvider
A Provider that handles breaking changes in toml files
CachedNestedConfig
DappEnvCompatProvider
A provider that checks for DAPP_ env vars that are named differently than FOUNDRY_
DappHardhatDirProvider
A provider that sets the src and output path depending on their existence.
FallbackProfileProvider
Extracts the profile from the profile key and sets unset values according to the fallback provider
ForcedSnakeCaseData
A Provider that ensures all keys are snake case if they’re not standalone sections. See Config::STANDALONE_SECTIONS
IgnoreRootProvider
Drops the top-level root key from config file profiles.
LegacyLabelsProvider
Adapts deprecated labels from arbitrary external providers.
NormalizeSymbolicProvider
NormalizeTracingProvider
OptionalStrictProfileProvider
Extracts the profile from the profile key and using the original key as backup, merging values where necessary
Remappings
Wrapper types over a Vec<Remapping> that only appends unique remappings.
RemappingsOutput
RemappingsProvider
A figment provider that checks if the remappings were previously set and if they’re unset looks up the fs via
RenameProfileProvider
Renames a profile from from to to.
TomlFileProvider
A convenience provider to retrieve a toml file. This will return an error if the env var is set but the file does not exist
UnwrapProfileProvider
Unwraps a profile reducing the key depth
WarningsProvider
Generate warnings for unknown sections and deprecated keys
WrapProfileProvider
Wraps a profile in another profile

Constants§

BACKWARD_COMPATIBLE_KEYS
Keys kept for backward compatibility that should not trigger unknown key warnings.
COMPILATION_RESTRICTIONS_KEYS
Allowed keys for CompilationRestrictions.
DOC_KEYS
Allowed keys for DocConfig. Required because DocConfig uses skip_serializing_if = "Option::is_none" on some fields (repository, commit, path), whose defaults are None and thus excluded from serialization.
EXTERNAL_COMPILER_KEYS
Allowed keys for external compiler adapter entries.
GENERATED_REMAPPINGS_KEY
LABELS_KEY
RESERVED_KEYS
Reserved keys that should not trigger unknown key warnings.
SETTINGS_OVERRIDES_KEYS
Allowed keys for SettingsOverrides.
SYMBOLIC_KEYS
Allowed keys for SymbolicConfig. Required because some compatibility aliases and empty length collections are skipped by default serialization, but they are still valid user-facing config keys.
TRACING_KEYS
Allowed keys for TracingConfig. Required because empty labels and optional trace depth are skipped by default serialization, but they are still valid user-facing config keys.
TRACING_LABELS_KEY
VYPER_KEYS
Allowed keys for VyperConfig. Required because VyperConfig uses skip_serializing_if = "Option::is_none" on all fields, causing the default serialization to produce an empty dict.

Traits§

ProviderExt

Functions§

configured_auto_remapping
context_starts_with
contextual_overlays
expand_scoped_contextual_remapping
Narrows an npm scope mapping to its installed packages so missing siblings can use the global hoisted-package fallback.
load_nested_config
merge_missing
Recursively fills missing values while preserving values from the higher-precedence source.
merge_tracing_labels
normalize_legacy_labels
normalize_legacy_labels_in_profile
normalize_symbolic_section
Moves the standalone symbolic section into the selected profile before inherited configs are merged.
normalize_tracing_section
Moves the standalone tracing section into the selected profile before inherited configs are merged. The deprecated standalone labels section remains in place for warning generation and is normalized again after inheritance is resolved.
rebase_nested_remapping
relative_remapping_preserving_context_boundary
remapping_name_is_prefix
rewrite_legacy_profile_keys
Applies compiler overrides and legacy key rewrites to a profile dictionary.
snake_case_profile_keys
Converts the top-level config keys in a profile value to snake_case.