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 and it is currently at block 23185930.

Liquidity Book Token

Unverified contract

Proxy

Active on Base with 85 txns
Deployed by via 0x69173d9a at 2688906
Slot
32
30
28
26
24
22
20
18
16
14
12
10
8
6
4
2
0
-
variable spans 2 additional slots
-
variable spans 65534 additional slots
ERC-20
Value $0
ERC-20
--
0xde78c9567321cc2670464d778ab70d9a7f11ef877aba1767de188e6b8eab8556
0xb73973898d214a4a8aeccd5c2c36985e3bb05537261fc31ea2eaf696e976e6e9
0x3760cc54b32ca5960db1996cc38e480a7303fa687a426e4390d511bf19e8074b
0xb76b19cf9936ef9873b5670b1dc6b38ca38329f8ae26de93a361cdf2e9a6cb36
0x8eb29bd3c57979ec1be86a225dcbbba04dc042e4d93036e3b377d46edcc8b5fd
0xb38f400f0a54a20942530c18d8631eabd0e56a198f07746338daee0355a84c5c
0x2a92a2051f3fd8fbb4d4e6f3c9530929a35e5a947191bc75046ea0e4d39d8cf3
0x037c0b65f686ffcc675e60e1ca30a5aebb7bad42122534ee4cbcdb41e729b96c
0x4643f59b38a400bc7813725bf8806a295b6d95a7050c510e5cb72d8e7d78b358
0xb1f173b47986052b0ddeae06e0ecf961e309bec7d297d11829f02a8dc11e4c62

Functions
Getter at block 23185936
getActiveId(view returns (uint24 activeId)
8378777
getBinStep(pure returns (uint16)
10
getFactory(view returns (address factory)
0x1fe65924b5a8563f25fe344aff71ec59fef45f7f
getOracleParameters(view returns (uint8 sampleLifetimeuint16 sizeuint16 activeSizeuint40 lastUpdateduint40 firstTimestamp)
(sampleLifetime=120, size=0, activeSize=0, lastUpdated=0, firstTimestamp=0)
getProtocolFees(view returns (uint128 protocolFeeXuint128 protocolFeeY)
(protocolFeeX=0, protocolFeeY=0)
getReserves(view returns (uint128 reserveXuint128 reserveY)
(reserveX=198254089989719227463013, reserveY=1302795445)
getStaticFeeParameters(view returns (uint16 baseFactoruint16 filterPerioduint16 decayPerioduint16 reductionFactoruint24 variableFeeControluint16 protocolShareuint24 maxVolatilityAccumulator)
(baseFactor=10000, filterPeriod=30, decayPeriod=600, reductionFactor=5000, variableFeeControl=40000, protocolShare=0, maxVolatilityAccumulator=350000)
getTokenX(pure returns (address tokenX)
0x3ce1d02f6968a30925c4ac7de02f29d36ccf5211
getTokenY(pure returns (address tokenY)
0x4200000000000000000000000000000000000006
getVariableFeeParameters(view returns (uint24 volatilityAccumulatoruint24 volatilityReferenceuint24 idReferenceuint40 timeOfLastUpdate)
(volatilityAccumulator=0, volatilityReference=0, idReference=8378777, timeOfLastUpdate=1718467091)
name(view returns (string)
Liquidity Book Token
symbol(view returns (string)
LBT
Read-only
balanceOf(address accountuint256 idview returns (uint256)
balanceOfBatch(address[] accountsuint256[] idsview returns (uint256[] batchBalances)
getBin(uint24 idview returns (uint128 binReserveXuint128 binReserveY)
getIdFromPrice(uint256 pricepure returns (uint24 id)
getNextNonEmptyBin(bool swapForYuint24 idview returns (uint24 nextId)
getOracleSampleAt(uint40 lookupTimestampview returns (uint64 cumulativeIduint64 cumulativeVolatilityuint64 cumulativeBinCrossed)
getPriceFromId(uint24 idpure returns (uint256 price)
getSwapIn(uint128 amountOutbool swapForYview returns (uint128 amountInuint128 amountOutLeftuint128 fee)
getSwapOut(uint128 amountInbool swapForYview returns (uint128 amountInLeftuint128 amountOutuint128 fee)
isApprovedForAll(address owneraddress spenderview returns (bool)
totalSupply(uint256 idview returns (uint256)
State-modifying
approveForAll(address spenderbool approved
batchTransferFrom(address fromaddress touint256[] idsuint256[] amounts
burn(address fromaddress touint256[] idsuint256[] amountsToBurnreturns (bytes32[] amounts)
collectProtocolFees(returns (bytes32 collectedProtocolFees)
flashLoan(address receiverbytes32 amountsbytes data
forceDecay(
increaseOracleLength(uint16 newLength
initialize(uint16 baseFactoruint16 filterPerioduint16 decayPerioduint16 reductionFactoruint24 variableFeeControluint16 protocolShareuint24 maxVolatilityAccumulatoruint24 activeId
mint(address tobytes32[] liquidityConfigsaddress refundToreturns (bytes32 amountsReceivedbytes32 amountsLeftuint256[] liquidityMinted)
setStaticFeeParameters(uint16 baseFactoruint16 filterPerioduint16 decayPerioduint16 reductionFactoruint24 variableFeeControluint16 protocolShareuint24 maxVolatilityAccumulator
swap(bool swapForYaddress toreturns (bytes32 amountsOut)
Events
ApprovalForAll(address indexed accountaddress indexed senderbool approved
CollectedProtocolFees(address indexed feeRecipientbytes32 protocolFees
CompositionFees(address indexed senderuint24 idbytes32 totalFeesbytes32 protocolFees
DepositedToBins(address indexed senderaddress indexed touint256[] idsbytes32[] amounts
FlashLoan(address indexed senderaddress indexed receiveruint24 activeIdbytes32 amountsbytes32 totalFeesbytes32 protocolFees
ForcedDecay(address indexed senderuint24 idReferenceuint24 volatilityReference
OracleLengthIncreased(address indexed senderuint16 oracleLength
StaticFeeParametersSet(address indexed senderuint16 baseFactoruint16 filterPerioduint16 decayPerioduint16 reductionFactoruint24 variableFeeControluint16 protocolShareuint24 maxVolatilityAccumulator
Swap(address indexed senderaddress indexed touint24 idbytes32 amountsInbytes32 amountsOutuint24 volatilityAccumulatorbytes32 totalFeesbytes32 protocolFees
TransferBatch(address indexed senderaddress indexed fromaddress indexed touint256[] idsuint256[] amounts
WithdrawnFromBins(address indexed senderaddress indexed touint256[] idsbytes32[] amounts
Constructor

This contract contains no constructor objects.

Fallback and receive

This contract contains no fallback and receive objects.

Errors
AddressHelper__CallFailed(
AddressHelper__NonContract(
BinHelper__CompositionFactorFlawed(uint24 id
BinHelper__LiquidityOverflow(
FeeHelper__FeeTooLarge(
LBPair__AddressZero(
LBPair__AlreadyInitialized(
LBPair__EmptyMarketConfigs(
LBPair__FlashLoanCallbackFailed(
LBPair__FlashLoanInsufficientAmount(
LBPair__InsufficientAmountIn(
LBPair__InsufficientAmountOut(
LBPair__InvalidInput(
LBPair__InvalidStaticFeeParameters(
LBPair__MaxTotalFeeExceeded(
LBPair__OnlyFactory(
LBPair__OnlyProtocolFeeRecipient(
LBPair__OutOfLiquidity(
LBPair__TokenNotSupported(
LBPair__ZeroAmount(uint24 id
LBPair__ZeroAmountsOut(uint24 id
LBPair__ZeroBorrowAmount(
LBPair__ZeroShares(uint24 id
LBToken__AddressThisOrZero(
LBToken__BurnExceedsBalance(address fromuint256 iduint256 amount
LBToken__InvalidLength(
LBToken__SelfApproval(address owner
LBToken__SpenderNotApproved(address fromaddress spender
LBToken__TransferExceedsBalance(address fromuint256 iduint256 amount
LiquidityConfigurations__InvalidConfig(
OracleHelper__InvalidOracleId(
OracleHelper__LookUpTimestampTooOld(
OracleHelper__NewLengthTooSmall(
PackedUint128Math__AddOverflow(
PackedUint128Math__MultiplierTooLarge(
PackedUint128Math__SubUnderflow(
PairParametersHelper__InvalidParameter(
ReentrancyGuard__ReentrantCall(
SafeCast__Exceeds128Bits(
SafeCast__Exceeds24Bits(
SafeCast__Exceeds40Bits(
TokenHelper__TransferFailed(
Uint128x128Math__LogUnderflow(
Uint128x128Math__PowUnderflow(uint256 xint256 y
Uint256x256Math__MulDivOverflow(
Uint256x256Math__MulShiftOverflow(