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 21761674.

Stable AMM - MAI/eUSD

Unverified contract

Proxy

Active on Base with 306 txns
Deployed by via 0xa2773e29 at 9886627
Slot
32
30
28
26
24
22
20
18
16
14
12
10
8
6
4
2
0
8 additional variables
ERC-20
Value $120,450.66
ERC-20
Value $102,210.89
ERC-20
Value $0
ERC-20
Value $0
ERC-20
--
0x69dc0ab4ed724696cb325abcdec1cbc61d24d82475ce198768a92d9deae71f1c
0xd75f0a08a0c00b20aac9d2e6741757f7ebee4caee2fe83efe4df4a34075b34d4
0x8f98d6d467fd463d4efbdd0ff3f7147e4dc5b63b763e5e92f6e132773a816174
0x40fab982b00936fb8dcb0ecb9dbc42575b3ed509906bc332ff53f9177c16a362
0xb369ce37b8931316e22f89cad2c3fa4851aec3aa899b28090299cce51e9ffeb2
0x3cdecda1ef7584594a9b2d34a22b2183a3812ecac55c3e0a9be2e1d087d03135
0x202b2fac2af6979ba87c3f2a502d59cb31c5fbbd0086cbd42d57f527a6c00500
0x1b51bf4b9617deb811d523bd05a7eacb54c89b870863c81e2d147f23ee9a7b74
0x6331620a6ca44351eed8e5014b172b42cff425ecdb2b5602dd285f900a1161c6
0xd7688f5c35b84fbccd7bd56d2677f61fbe7f4b5d661bacfbff08ff9de3c0b856

Functions
Getter at block 21761675
DOMAIN_SEPARATOR(view returns (bytes32)
0x1a20a2d5094c1b826959a09985ef6a7db6f5f071487b83964ba10e9ba99b2e1f
blockTimestampLast(view returns (uint256)
1730311267
currentCumulativePrices(view returns (uint256 reserve0Cumulativeuint256 reserve1Cumulativeuint256 blockTimestamp)
(reserve0Cumulative=9340099920941219876515530563214, reserve1Cumulative=9844451448914678428274611843614, blockTimestamp=1730312697)
decimals(view returns (uint8)
18
eip712Domain(view returns (bytes1 fieldsstring namestring versionuint256 chainIdaddress verifyingContractbytes32 saltuint256[] extensions)
(fields=0x0f, name=, version=1, chainId=8453, verifyingContract=0x413d78628d688edcde29518199a3a3db955068ec, salt=0x0000000000000000000000000000000000000000000000000000000000000000, extensions=[])
factory(view returns (address)
0x420dd381b31aef6683db6b902084cb0ffece40da
getReserves(view returns (uint256 _reserve0uint256 _reserve1uint256 _blockTimestampLast)
(_reserve0=101702377282870836248159, _reserve1=120484153390362135850583, _blockTimestampLast=1730311267)
index0(view returns (uint256)
223436160204453536
index1(view returns (uint256)
142747213861945033
lastObservation(view returns (struct IPoolObservation)
(1730311267, 9339954486541705371219695695844, 9844279156575330210420345509924)
metadata(view returns (uint256 dec0uint256 dec1uint256 r0uint256 r1bool staddress t0address t1)
(dec0=1000000000000000000, dec1=1000000000000000000, r0=101702377282870836248159, r1=120484153390362135850583, st=true, t0=0xbf1aea8670d2528e08334083616dd9c5f3b087ae, t1=0xcfa3ef56d303ae4faaba0592388f19d7c3399fb4)
name(view returns (string)
Stable AMM - MAI/eUSD
observationLength(view returns (uint256)
3520
periodSize(view returns (uint256)
1800
poolFees(view returns (address)
0xb57b72e4702c208b3b6adfd5394b1563ad6058da
reserve0(view returns (uint256)
101702377282870836248159
reserve0CumulativeLast(view returns (uint256)
9339954486541705371219695695844
reserve1(view returns (uint256)
120484153390362135850583
reserve1CumulativeLast(view returns (uint256)
9844279156575330210420345509924
stable(view returns (bool)
true
symbol(view returns (string)
sAMM-MAI/eUSD
token0(view returns (address)
0xbf1aea8670d2528e08334083616dd9c5f3b087ae
token1(view returns (address)
0xcfa3ef56d303ae4faaba0592388f19d7c3399fb4
tokens(view returns (addressaddress)
(0xbf1aea8670d2528e08334083616dd9c5f3b087ae, 0xcfa3ef56d303ae4faaba0592388f19d7c3399fb4)
totalSupply(view returns (uint256)
111091847156252355267691
Read-only
allowance(address owneraddress spenderview returns (uint256)
balanceOf(address accountview returns (uint256)
claimable0(addressview returns (uint256)
claimable1(addressview returns (uint256)
getAmountOut(uint256 amountInaddress tokenInview returns (uint256)
nonces(address ownerview returns (uint256)
observations(uint256view returns (uint256 timestampuint256 reserve0Cumulativeuint256 reserve1Cumulative)
prices(address tokenInuint256 amountInuint256 pointsview returns (uint256[])
quote(address tokenInuint256 amountInuint256 granularityview returns (uint256 amountOut)
sample(address tokenInuint256 amountInuint256 pointsuint256 windowview returns (uint256[])
supplyIndex0(addressview returns (uint256)
supplyIndex1(addressview returns (uint256)
State-modifying
approve(address spenderuint256 amountreturns (bool)
burn(address toreturns (uint256 amount0uint256 amount1)
claimFees(returns (uint256 claimed0uint256 claimed1)
decreaseAllowance(address spenderuint256 subtractedValuereturns (bool)
getK(returns (uint256)
increaseAllowance(address spenderuint256 addedValuereturns (bool)
initialize(address _token0address _token1bool _stable
mint(address toreturns (uint256 liquidity)
permit(address owneraddress spenderuint256 valueuint256 deadlineuint8 vbytes32 rbytes32 s
setName(string __name
setSymbol(string __symbol
skim(address to
swap(uint256 amount0Outuint256 amount1Outaddress tobytes data
sync(
transfer(address touint256 amountreturns (bool)
transferFrom(address fromaddress touint256 amountreturns (bool)
Events
Approval(address indexed owneraddress indexed spenderuint256 value
Burn(address indexed senderaddress indexed touint256 amount0uint256 amount1
Claim(address indexed senderaddress indexed recipientuint256 amount0uint256 amount1
EIP712DomainChanged(
Fees(address indexed senderuint256 amount0uint256 amount1
Mint(address indexed senderuint256 amount0uint256 amount1
Swap(address indexed senderaddress indexed touint256 amount0Inuint256 amount1Inuint256 amount0Outuint256 amount1Out
Sync(uint256 reserve0uint256 reserve1
Transfer(address indexed fromaddress indexed touint256 value
Constructor

This contract contains no constructor objects.

Fallback and receive

This contract contains no fallback and receive objects.

Errors
BelowMinimumK(
DepositsNotEqual(
FactoryAlreadySet(
InsufficientInputAmount(
InsufficientLiquidity(
InsufficientLiquidityBurned(
InsufficientLiquidityMinted(
InsufficientOutputAmount(
InvalidTo(
IsPaused(
K(
NotEmergencyCouncil(
StringTooLong(string str