Skip to content

VBNBAdmin

This contract is the “admin” of the vBNB market, reducing the reserves of the market, sending them to the ProtocolShareReserve contract, and allowing the executions of the rest of the privileged functions in the vBNB contract (after checking if the sender has the required permissions).

address of vBNB

contract VTokenInterface vBNB

address of WBNB contract

contract IWBNB WBNB

Used to initialize non-immutable variables

function initialize(contract IProtocolShareReserve _protocolShareReserve, address accessControlManager) external

PSR setter.

function setProtocolShareReserve(contract IProtocolShareReserve protocolShareReserve_) external
NameTypeDescription
protocolShareReserve_contract IProtocolShareReserveAddress of the PSR contract
  • Emits ProtocolShareReserveUpdated event.
  • Only owner (Governance)

Reduce reserves of vBNB, wrap them and send them to the PSR contract

function reduceReserves(uint256 reduceAmount) external
NameTypeDescription
reduceAmountuint256amount of reserves to reduce
  • Emits ReservesReduced event.

Sets the interest rate model of the vBNB contract

function setInterestRateModel(address newInterestRateModel) public returns (uint256)
NameTypeDescription
newInterestRateModeladdressAddress of the new interest rate model
  • Controlled by ACM

Invoked when BNB is sent to this contract

receive() external payable
  • Only vBNB is considered a valid sender

Invoked when called function does not exist in the contract. The function will be executed in the vBNB contract.

fallback(bytes data) external payable returns (bytes)
  • Only owner (Governance)