FluidUsdOracleBootstrapAuth ​
Inherits:Error
Title: FluidUsdOracleBootstrapAuth
Shared bootstrap-admin state + auth helpers for temporary setup implementations.
Does not inherit FluidUsdOracle / FluidUsdOracleL2 — leaves inherit the final oracle type and override _getGovernanceAddr / _authorizeUpgrade using these helpers (avoids diamond + price-wrapper conflicts). Do not leave bootstrap implementations live in production. Includes multicall (self-delegatecall) so BOOTSTRAP_ADMIN can wire token + per-key configs in one tx (transient registerTransientOracleKey sessions). Removed when the proxy is upgraded to Final.
Constants ​
BOOTSTRAP_ADMIN ​
Setup EOA (or contract) treated as governance while this impl is active behind the proxy.
address public immutable BOOTSTRAP_ADMINFunctions ​
constructor ​
constructor(address bootstrapAdmin_) ;Parameters
| Name | Type | Description |
|---|---|---|
bootstrapAdmin_ | address | Address allowed to configure and to authorize UUPS upgrades while bootstrapping. |
multicall ​
Bootstrap-only batch: self-delegatecall so msg.sender stays BOOTSTRAP_ADMIN.
Use for same-tx wiring of token-level + per-key admin methods (transient key sessions). Not present on Final FluidUsdOracle / FluidUsdOracleL2. Callable only by BOOTSTRAP_ADMIN.
function multicall(bytes[] calldata data_) external returns (bytes[] memory results_);Parameters
| Name | Type | Description |
|---|---|---|
data_ | bytes[] | Encoded calls to this contract (e.g. setTokenType, registerTransientOracleKey, setPriceMode). |
Returns
| Name | Type | Description |
|---|---|---|
results_ | bytes[] | Return data of each delegatecall, in order. |
_governanceAddrWithBootstrap ​
If msg.sender is the bootstrap admin, treat that address as governance; otherwise return realGov_.
function _governanceAddrWithBootstrap(address realGov_) internal view returns (address);_authorizeUpgradeWithBootstrap ​
Allow bootstrap admin, Team MS, or real Liquidity governance to authorize upgradeTo.
function _authorizeUpgradeWithBootstrap(address teamMultisig_, address realGov_) internal view;