Bytecode-generated storage layout

We've generated a storage layout (with no variable labels) from this contract's bytecode. We've also started a backfill to track the inferred variables.

BRT2: vAMM WETH_KLIMA

Unverified contract

Proxy

Active on Base with 7,389 txns
Deployed by via 0x65b4eb68 at 16992278
Slot
32
30
28
26
24
22
20
18
16
14
12
10
8
6
4
2
0
-
variable spans 48 additional slots
-
variable spans 48 additional slots
-
variable spans 48 additional slots
ERC-20
Value $0.04
ERC-20
--
ERC-20
--
0xa17c1d4cb2d66aec4c4a7d48bf6609a0b8807885c126fd69d517788deefd4054
0x979a5092cc0798dec5b228a90f8cede7fba17dc9688a1136ef5d5198448f7d11
0x635add119f9380dcbbc65d41ab62191a1666692e83750d0770ca52628813f787
0x0d7a79c1304d7cce758d94b85848e193c50e4e9e5e2f6cf1ae2e55c11f46d36c
0x69670de4030aa0cfe8681ca55e3a3d12587551afa29db07190e91cfb6c7c1360
0xac1114a851055f7f4542c59b33a0a5162078c8aeaed3623ad96f9fb8842d6150
0xe0464c16c9ff8f83fe404ea4a753757e7169640575b2d2bf612a2f7eb6063a90
0xfe2232335bf21d84851bf957165bab0b6eff79ace6c02e29df64f7c4b3d352b2
0x763b8cc50c4fd1866ceb72d5122ae3247222b4d98d07fcd9d867d637c3e348ce
0x21cc08436de538dba11b1dc19e9f69af014ced17b2d8d004fa049a5ac7619853

Functions
Getter at block 23124194
DEFAULT_ADMIN_ROLE(view returns (bytes32)
0x0000000000000000000000000000000000000000000000000000000000000000
GOVERNOR_ROLE(view returns (bytes32)
0x474f5645524e4f525f524f4c4500000000000000000000000000000000000000
OPERATOR_ROLE(view returns (bytes32)
0x4f50455241544f525f524f4c4500000000000000000000000000000000000000
OWNER_ROLE(view returns (bytes32)
0x4f574e45525f524f4c4500000000000000000000000000000000000000000000
UPGRADE_INTERFACE_VERSION(view returns (string)
5.0.0
asset(view returns (address)
0xb37642e87613d8569fd8ec80888ea6c63684e79e
balanceOfPool(view returns (uint256)
2982811193345889
 
checkReward(view returns (uint256)
cumulativeRewardPerToken(view returns (uint256)
1497233924325196341838835333735497005239
decimals(view returns (uint8)
18
depositsEnabled(view returns (bool)
true
distributor(view returns (address)
0xe48c3ea37d4956580799d90a4601887d77a57d55
feeTreasury(view returns (address)
0x5c24b402b4b4550cf94227813f3547b94774c1cb
getFeesInfo(view returns (uint256uint256uint256)
(500, 100, 10)
minTokensToReinvest(view returns (uint256)
1000000000000000
name(view returns (string)
BRT2: vAMM WETH_KLIMA
paused(view returns (bool)
false
poolRewardToken(view returns (address)
0x940181a94a35a4569e4529a3cdfb74e38fd98631
 
proxiableUUID(view returns (bytes32)
restakingEnabled(view returns (bool)
true
rewardToken(view returns (address)
0x77e74e7e92ecb9e921e7447c3fc35547e1c61f99
router(view returns (address)
0xcf77a3ba9a5ca399b7c97c74d54e5b1beb874e43
stable(view returns (bool)
false
stakingContract(view returns (address)
0x44a927dd8f6def04f76b00cece9804bf441dc6b1
stakingFarmID(view returns (uint256)
0
symbol(view returns (string)
BRT2 vAMM
totalAssets(view returns (uint256)
2982811193345889
totalSupply(view returns (uint256)
59349809542783
Read-only
allowance(address owneraddress spenderview returns (uint256)
balanceOf(address accountview returns (uint256)
bonusRewardTokens(uint256view returns (address)
claimable(address accountview returns (uint256)
convertToAssets(uint256 sharesview returns (uint256)
convertToShares(uint256 assetsview returns (uint256)
getRoleAdmin(bytes32 roleview returns (bytes32)
hasRole(bytes32 roleaddress accountview returns (bool)
maxDeposit(addressview returns (uint256)
maxMint(addressview returns (uint256)
maxRedeem(address ownerview returns (uint256)
maxWithdraw(address ownerview returns (uint256)
outputToLp0Route(uint256view returns (address fromaddress tobool stableaddress factory)
outputToLp1Route(uint256view returns (address fromaddress tobool stableaddress factory)
outputToNativeRoute(uint256view returns (address fromaddress tobool stableaddress factory)
previewDeposit(uint256 assetsview returns (uint256)
previewMint(uint256 sharesview returns (uint256)
previewRedeem(uint256 sharesview returns (uint256)
previewWithdraw(uint256 assetsview returns (uint256)
supportsInterface(bytes4 interfaceIdview returns (bool)
userInfo(addressview returns (uint256 claimableRewarduint256 previousCumulatedRewardPerToken)
State-modifying
approve(address spenderuint256 valuereturns (bool)
approveAllowances(uint256 _amount
claimReward(address receiverreturns (uint256)
compound(
deposit(uint256 _assetsaddress _receiverreturns (uint256)
emergencyRedeem(
emergencyWithdrawVault(bool disableDeposits
grantRole(bytes32 roleaddress account
initVault(address _stakingContractaddress _poolRewardTokenaddress[] _bonusRewardTokensaddress _routeraddress _feeTreasuryaddress _distributorstruct ISolidlyRouterRoute[] _outputToNativeRoutestruct ISolidlyRouterRoute[] _outputToLp0Routestruct ISolidlyRouterRoute[] _outputToLp1Route
initialize(address _assetaddress _owneraddress _governorstring name_string symbol_
mint(uint256 _sharesaddress _receiverreturns (uint256)
pause(
redeem(uint256 _sharesaddress _receiveraddress _ownerreturns (uint256)
renounceRole(bytes32 roleaddress callerConfirmation
rescueDeployedFunds(address tokenuint256 amountaddress _to
revokeRole(bytes32 roleaddress account
transfer(address touint256 valuereturns (bool)
transferFrom(address fromaddress touint256 valuereturns (bool)
unpause(
updateBonusReward(address[] _bonusRewardTokens
updateDepositsEnabled(bool newValue
updateDistributor(address _distributor
updateFeeBips(struct TypesStrategySettings _strategySettings
updateFeeTreasury(address _feeTreasury
updateRestakingEnabled(bool newValue
updateRewards(
updateRoute(struct ISolidlyRouterRoute[] _outputToNativeRoutestruct ISolidlyRouterRoute[] _outputToLp0Routestruct ISolidlyRouterRoute[] _outputToLp1Route
updateStakingGauge(address _stakingContract
upgradeToAndCall(address newImplementationbytes datapayable 
withdraw(uint256 _assetsaddress _receiveraddress _ownerreturns (uint256)
Events
Approval(address indexed owneraddress indexed spenderuint256 value
Claim(address indexed accountuint256 tokenAmount
Deposit(address indexed senderaddress indexed owneruint256 assetsuint256 shares
DepositsEnabled(bool newValue
EmergencyWithdraw(address indexed owneruint256 assetsuint256 shares
EmergencyWithdrawVault(address indexed ownerbool disableDeposits
Initialized(uint64 version
Paused(address account
RestakingEnabled(bool newValue
RoleAdminChanged(bytes32 indexed rolebytes32 indexed previousAdminRolebytes32 indexed newAdminRole
RoleGranted(bytes32 indexed roleaddress indexed accountaddress indexed sender
RoleRevoked(bytes32 indexed roleaddress indexed accountaddress indexed sender
Transfer(address indexed fromaddress indexed touint256 value
Unpaused(address account
Upgraded(address indexed implementation
Withdraw(address indexed senderaddress indexed receiveraddress indexed owneruint256 assetsuint256 shares
Constructor

This contract contains no constructor objects.

Fallback and receive

This contract contains no fallback and receive objects.

Errors
AccessControlBadConfirmation(
AccessControlUnauthorizedAccount(address accountbytes32 neededRole
AddressEmptyCode(address target
AddressInsufficientBalance(address account
ERC1967InvalidImplementation(address implementation
ERC1967NonPayable(
ERC20InsufficientAllowance(address spenderuint256 allowanceuint256 needed
ERC20InsufficientBalance(address senderuint256 balanceuint256 needed
ERC20InvalidApprover(address approver
ERC20InvalidReceiver(address receiver
ERC20InvalidSender(address sender
ERC20InvalidSpender(address spender
ERC4626ExceededMaxDeposit(address receiveruint256 assetsuint256 max
ERC4626ExceededMaxMint(address receiveruint256 sharesuint256 max
ERC4626ExceededMaxRedeem(address owneruint256 sharesuint256 max
ERC4626ExceededMaxWithdraw(address owneruint256 assetsuint256 max
EnforcedPause(
ExpectedPause(
FailedInnerCall(
InvalidInitialization(
MathOverflowedMulDiv(
NotInitializing(
ReentrancyGuardReentrantCall(
SafeERC20FailedOperation(address token
UUPSUnauthorizedCallContext(
UUPSUnsupportedProxiableUUID(bytes32 slot