VAIVault
This reference applies to the BNB Chain VAI Vault proxy 0x0667Eed0a0aAb930af74a3dfeDD263A73994f216, which used implementation 0xA52f2a56aBb7cbDD378bC36c6088fAfEaf9AC423 at block 118,364,540.
User functions
Section titled “User functions”function deposit(uint256 amount) externalfunction withdraw(uint256 amount) externalfunction claim() externalfunction claim(address account) externalfunction pendingXVS(address user) public view returns (uint256)function updatePendingRewards() publicdeposit transfers VAI from the caller and therefore requires an underlying VAI allowance. withdraw returns staked VAI. claim(address) pays the named account; it does not redirect that account’s rewards to the caller.
The vault can record rewards that have not yet been distributed. Check both pendingXVS and current reward funding before presenting a claim as guaranteed.
Administration
Section titled “Administration”pause()andresume()are signature-gated through the Access Control Manager._become(VAIVaultProxy)can accept an implementation only when called by the proxy admin.setAccessControl(address)is restricted to the proxy admin.setVenusInfo(address xvs, address vai)updates the token references, in that order, and is restricted to the proxy admin.
Permission assignments and token addresses can change. Query the proxy and ACM instead of relying on a static caller label.