Skip to content

FluidUsdOracleBootstrapAuth ​

Git Source

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.

solidity
address public immutable BOOTSTRAP_ADMIN

Functions ​

constructor ​

solidity
constructor(address bootstrapAdmin_) ;

Parameters

NameTypeDescription
bootstrapAdmin_addressAddress 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.

solidity
function multicall(bytes[] calldata data_) external returns (bytes[] memory results_);

Parameters

NameTypeDescription
data_bytes[]Encoded calls to this contract (e.g. setTokenType, registerTransientOracleKey, setPriceMode).

Returns

NameTypeDescription
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_.

solidity
function _governanceAddrWithBootstrap(address realGov_) internal view returns (address);

_authorizeUpgradeWithBootstrap ​

Allow bootstrap admin, Team MS, or real Liquidity governance to authorize upgradeTo.

solidity
function _authorizeUpgradeWithBootstrap(address teamMultisig_, address realGov_) internal view;