Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
nebula
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
exchain
nebula
Commits
d1ff2c66
Unverified
Commit
d1ff2c66
authored
Nov 30, 2023
by
Mark Tyneway
Committed by
GitHub
Nov 30, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #8332 from ethereum-optimism/inphi/robust-snapshot-gen
fix(ctb): fix abi/storage snapshot script
parents
18777fb9
eadfec6b
Changes
57
Hide whitespace changes
Inline
Side-by-side
Showing
57 changed files
with
632 additions
and
735 deletions
+632
-735
config.yml
.circleci/config.yml
+1
-1
generate-snapshots.ts
packages/contracts-bedrock/scripts/generate-snapshots.ts
+88
-71
Burner.json
packages/contracts-bedrock/snapshots/abi/Burner.json
+7
-0
CrossDomainMessengerLegacySpacer0.json
...rock/snapshots/abi/CrossDomainMessengerLegacySpacer0.json
+1
-0
CrossDomainMessengerLegacySpacer1.json
...rock/snapshots/abi/CrossDomainMessengerLegacySpacer1.json
+1
-0
OutputBisectionGame.json
.../contracts-bedrock/snapshots/abi/OutputBisectionGame.json
+13
-0
SafeSend.json
packages/contracts-bedrock/snapshots/abi/SafeSend.json
+13
-0
AddressManager.json
...racts-bedrock/snapshots/storageLayout/AddressManager.json
+4
-6
AssetReceiver.json
...tracts-bedrock/snapshots/storageLayout/AssetReceiver.json
+2
-3
AttestationStation.json
...s-bedrock/snapshots/storageLayout/AttestationStation.json
+2
-3
BaseFeeVault.json
...ntracts-bedrock/snapshots/storageLayout/BaseFeeVault.json
+2
-3
BlockOracle.json
...ontracts-bedrock/snapshots/storageLayout/BlockOracle.json
+2
-3
Burner.json
...ges/contracts-bedrock/snapshots/storageLayout/Burner.json
+1
-0
CrossDomainMessengerLegacySpacer0.json
...hots/storageLayout/CrossDomainMessengerLegacySpacer0.json
+8
-0
CrossDomainMessengerLegacySpacer1.json
...hots/storageLayout/CrossDomainMessengerLegacySpacer1.json
+56
-0
DelayedVetoable.json
...acts-bedrock/snapshots/storageLayout/DelayedVetoable.json
+4
-6
DeployerWhitelist.json
...ts-bedrock/snapshots/storageLayout/DeployerWhitelist.json
+4
-6
DisputeGameFactory.json
...s-bedrock/snapshots/storageLayout/DisputeGameFactory.json
+16
-24
Drippie.json
...es/contracts-bedrock/snapshots/storageLayout/Drippie.json
+4
-6
EAS.json
packages/contracts-bedrock/snapshots/storageLayout/EAS.json
+12
-18
Faucet.json
...ges/contracts-bedrock/snapshots/storageLayout/Faucet.json
+6
-9
FaultDisputeGame.json
...cts-bedrock/snapshots/storageLayout/FaultDisputeGame.json
+18
-27
GovernanceToken.json
...acts-bedrock/snapshots/storageLayout/GovernanceToken.json
+22
-33
L1Block.json
...es/contracts-bedrock/snapshots/storageLayout/L1Block.json
+16
-24
L1CrossDomainMessenger.json
...drock/snapshots/storageLayout/L1CrossDomainMessenger.json
+36
-54
L1ERC721Bridge.json
...racts-bedrock/snapshots/storageLayout/L1ERC721Bridge.json
+4
-6
L1FeeVault.json
...contracts-bedrock/snapshots/storageLayout/L1FeeVault.json
+2
-3
L1StandardBridge.json
...cts-bedrock/snapshots/storageLayout/L1StandardBridge.json
+8
-12
L2CrossDomainMessenger.json
...drock/snapshots/storageLayout/L2CrossDomainMessenger.json
+34
-51
L2ERC721Bridge.json
...racts-bedrock/snapshots/storageLayout/L2ERC721Bridge.json
+2
-3
L2OutputOracle.json
...racts-bedrock/snapshots/storageLayout/L2OutputOracle.json
+10
-15
L2StandardBridge.json
...cts-bedrock/snapshots/storageLayout/L2StandardBridge.json
+8
-12
L2ToL1MessagePasser.json
...-bedrock/snapshots/storageLayout/L2ToL1MessagePasser.json
+4
-6
LegacyERC20ETH.json
...racts-bedrock/snapshots/storageLayout/LegacyERC20ETH.json
+10
-15
LegacyMessagePasser.json
...-bedrock/snapshots/storageLayout/LegacyMessagePasser.json
+2
-3
LegacyMintableERC20.json
...-bedrock/snapshots/storageLayout/LegacyMintableERC20.json
+14
-21
LivenessGuard.json
...tracts-bedrock/snapshots/storageLayout/LivenessGuard.json
+4
-6
MintManager.json
...ontracts-bedrock/snapshots/storageLayout/MintManager.json
+4
-6
OptimismMintableERC20.json
...edrock/snapshots/storageLayout/OptimismMintableERC20.json
+10
-15
OptimismMintableERC721.json
...drock/snapshots/storageLayout/OptimismMintableERC721.json
+22
-33
OptimismMintableERC721Factory.json
...napshots/storageLayout/OptimismMintableERC721Factory.json
+2
-3
OptimismPortal.json
...racts-bedrock/snapshots/storageLayout/OptimismPortal.json
+18
-27
Optimist.json
...s/contracts-bedrock/snapshots/storageLayout/Optimist.json
+24
-36
OptimistInviter.json
...acts-bedrock/snapshots/storageLayout/OptimistInviter.json
+16
-24
OutputBisectionGame.json
...-bedrock/snapshots/storageLayout/OutputBisectionGame.json
+18
-27
PreimageOracle.json
...racts-bedrock/snapshots/storageLayout/PreimageOracle.json
+6
-9
ProtocolVersions.json
...cts-bedrock/snapshots/storageLayout/ProtocolVersions.json
+10
-15
ProxyAdmin.json
...contracts-bedrock/snapshots/storageLayout/ProxyAdmin.json
+10
-15
ResolvedDelegateProxy.json
...edrock/snapshots/storageLayout/ResolvedDelegateProxy.json
+4
-6
SafeSend.json
...s/contracts-bedrock/snapshots/storageLayout/SafeSend.json
+1
-0
SchemaRegistry.json
...racts-bedrock/snapshots/storageLayout/SchemaRegistry.json
+4
-6
SequencerFeeVault.json
...ts-bedrock/snapshots/storageLayout/SequencerFeeVault.json
+2
-3
SuperchainConfig.json
...cts-bedrock/snapshots/storageLayout/SuperchainConfig.json
+4
-6
SystemConfig.json
...ntracts-bedrock/snapshots/storageLayout/SystemConfig.json
+20
-30
Transactor.json
...contracts-bedrock/snapshots/storageLayout/Transactor.json
+2
-3
TransferOnion.json
...tracts-bedrock/snapshots/storageLayout/TransferOnion.json
+4
-6
WETH9.json
...ages/contracts-bedrock/snapshots/storageLayout/WETH9.json
+10
-15
No files found.
.circleci/config.yml
View file @
d1ff2c66
...
@@ -433,7 +433,7 @@ jobs:
...
@@ -433,7 +433,7 @@ jobs:
name
:
snapshots
name
:
snapshots
command
:
|
command
:
|
pnpm snapshots
pnpm snapshots
if
[ "$(git diff --exit-code snapshots)" ]
; then
if
git diff --exit-code snapshots > /dev/null
; then
[ -z "$(git ls-files --others --exclude-standard snapshots)" ] || echo "export SNAPSHOTS_STATUS=1" >> "$BASH_ENV"
[ -z "$(git ls-files --others --exclude-standard snapshots)" ] || echo "export SNAPSHOTS_STATUS=1" >> "$BASH_ENV"
else
else
echo "export SNAPSHOTS_STATUS=1" >> "$BASH_ENV"
echo "export SNAPSHOTS_STATUS=1" >> "$BASH_ENV"
...
...
packages/contracts-bedrock/scripts/generate-snapshots.ts
View file @
d1ff2c66
...
@@ -4,7 +4,7 @@ import path from 'path'
...
@@ -4,7 +4,7 @@ import path from 'path'
const
outdir
=
process
.
argv
[
2
]
||
path
.
join
(
__dirname
,
'
..
'
,
'
snapshots
'
)
const
outdir
=
process
.
argv
[
2
]
||
path
.
join
(
__dirname
,
'
..
'
,
'
snapshots
'
)
const
forgeArtifactsDir
=
path
.
join
(
__dirname
,
'
..
'
,
'
forge-artifacts
'
)
const
forgeArtifactsDir
=
path
.
join
(
__dirname
,
'
..
'
,
'
forge-artifacts
'
)
const
getAllContracts
=
():
Array
<
string
>
=>
{
const
getAllContracts
Sources
=
():
Array
<
string
>
=>
{
const
paths
=
[]
const
paths
=
[]
const
readFilesRecursively
=
(
dir
:
string
)
=>
{
const
readFilesRecursively
=
(
dir
:
string
)
=>
{
const
files
=
fs
.
readdirSync
(
dir
)
const
files
=
fs
.
readdirSync
(
dir
)
...
@@ -22,21 +22,31 @@ const getAllContracts = (): Array<string> => {
...
@@ -22,21 +22,31 @@ const getAllContracts = (): Array<string> => {
}
}
readFilesRecursively
(
path
.
join
(
__dirname
,
'
..
'
,
'
src
'
))
readFilesRecursively
(
path
.
join
(
__dirname
,
'
..
'
,
'
src
'
))
// Assumes there is a single contract per file
return
paths
return
paths
.
filter
((
x
)
=>
x
.
endsWith
(
'
.sol
'
))
.
filter
((
x
)
=>
x
.
endsWith
(
'
.sol
'
))
.
map
((
p
:
string
)
=>
{
.
map
((
p
:
string
)
=>
path
.
basename
(
p
))
const
b
=
path
.
basename
(
p
)
return
`
${
b
}
:
${
b
.
replace
(
'
.sol
'
,
''
)}
`
})
.
sort
()
.
sort
()
}
}
type
ForgeArtifact
=
{
abi
:
object
ast
:
{
nodeType
:
string
nodes
:
any
[]
}
storageLayout
:
{
storage
:
[{
type
:
string
;
label
:
string
;
offset
:
number
;
slot
:
number
}]
types
:
{
[
key
:
string
]:
{
label
:
string
;
numberOfBytes
:
number
}
}
}
bytecode
:
{
object
:
string
}
}
type
AbiSpecStorageLayoutEntry
=
{
type
AbiSpecStorageLayoutEntry
=
{
label
:
string
label
:
string
slot
:
number
slot
:
number
offset
:
number
offset
:
number
type
:
string
bytes
:
number
bytes
:
number
}
}
const
sortKeys
=
(
obj
:
any
)
=>
{
const
sortKeys
=
(
obj
:
any
)
=>
{
...
@@ -54,82 +64,89 @@ const sortKeys = (obj: any) => {
...
@@ -54,82 +64,89 @@ const sortKeys = (obj: any) => {
)
)
}
}
// ContractName.0.9.8.json -> ContractName.sol
// ContractName.json -> ContractName.sol
const
parseArtifactName
=
(
artifactVersionFile
:
string
):
string
=>
{
const
match
=
artifactVersionFile
.
match
(
/
(
.*
?)\.([
0-9
]
+
\.[
0-9
]
+
\.[
0-9
]
+
)?
/
)
if
(
!
match
)
{
throw
new
Error
(
`Invalid artifact file name:
${
artifactVersionFile
}
`
)
}
return
match
[
1
]
}
const
main
=
async
()
=>
{
const
main
=
async
()
=>
{
console
.
log
(
`writing abi
spec
to
${
outdir
}
`
)
console
.
log
(
`writing abi
and storage layout snapshots
to
${
outdir
}
`
)
const
storageLayoutDir
=
path
.
join
(
outdir
,
'
storageLayout
'
)
const
storageLayoutDir
=
path
.
join
(
outdir
,
'
storageLayout
'
)
const
abiDir
=
path
.
join
(
outdir
,
'
abi
'
)
const
abiDir
=
path
.
join
(
outdir
,
'
abi
'
)
fs
.
mkdirSync
(
storageLayoutDir
,
{
recursive
:
true
})
fs
.
mkdirSync
(
storageLayoutDir
,
{
recursive
:
true
})
fs
.
mkdirSync
(
abiDir
,
{
recursive
:
true
})
fs
.
mkdirSync
(
abiDir
,
{
recursive
:
true
})
const
contracts
=
getAllContracts
()
const
contractSources
=
getAllContractsSources
()
const
knownAbis
=
{}
for
(
const
contract
of
contracts
)
{
const
toks
=
contract
.
split
(
'
:
'
)
for
(
const
contractFile
of
contractSources
)
{
const
contractFile
=
contract
.
split
(
'
:
'
)[
0
]
const
contractArtifacts
=
path
.
join
(
forgeArtifactsDir
,
contractFile
)
const
contractName
=
toks
[
1
]
for
(
const
name
of
fs
.
readdirSync
(
contractArtifacts
))
{
const
data
=
fs
.
readFileSync
(
path
.
join
(
contractArtifacts
,
name
))
let
artifactFile
=
path
.
join
(
const
artifact
:
ForgeArtifact
=
JSON
.
parse
(
data
.
toString
())
forgeArtifactsDir
,
contractFile
,
const
contractName
=
parseArtifactName
(
name
)
`
${
contractName
}
.json`
)
// HACK: This is a hack to ignore libraries and abstract contracts. Not robust against changes to solc's internal ast repr
const
isContract
=
artifact
.
ast
.
nodes
.
some
((
node
:
any
)
=>
{
// NOTE: Read the first version in the directory. We may want to assert that all version's ABIs are identical
return
(
if
(
!
fs
.
existsSync
(
artifactFile
))
{
node
.
nodeType
===
'
ContractDefinition
'
&&
const
filename
=
fs
.
readdirSync
(
path
.
dirname
(
artifactFile
))[
0
]
node
.
name
===
contractName
&&
artifactFile
=
path
.
join
(
path
.
dirname
(
artifactFile
),
filename
)
node
.
contractKind
===
'
contract
'
&&
}
(
node
.
abstract
===
undefined
||
// solc < 0.6 doesn't have explicit abstract contracts
node
.
abstract
===
false
)
const
data
=
fs
.
readFileSync
(
artifactFile
)
)
const
artifact
=
JSON
.
parse
(
data
.
toString
())
})
if
(
!
isContract
)
{
// ignore abstract contracts
console
.
log
(
`ignoring library/interface
${
contractName
}
`
)
if
(
artifact
.
bytecode
.
object
===
'
0x
'
)
{
continue
console
.
log
(
`ignoring interface
${
contractName
}
`
)
}
continue
}
// HACK: This is a hack to ignore libraries. Not robust against changes to solc's internal ast repr
const
storageLayout
:
AbiSpecStorageLayoutEntry
[]
=
[]
const
isContract
=
artifact
.
ast
.
nodes
.
some
((
node
:
any
)
=>
{
for
(
const
storageEntry
of
artifact
.
storageLayout
.
storage
)
{
return
(
// convert ast-based type to solidity type
node
.
nodeType
===
'
ContractDefinition
'
&&
const
typ
=
artifact
.
storageLayout
.
types
[
storageEntry
.
type
]
node
.
name
===
contractName
&&
if
(
typ
===
undefined
)
{
node
.
contractKind
===
'
contract
'
throw
new
Error
(
)
`undefined type for
${
contractName
}
:
${
storageEntry
.
label
}
`
})
)
if
(
!
isContract
)
{
}
console
.
log
(
`ignoring library/interface
${
contractName
}
`
)
storageLayout
.
push
({
continue
label
:
storageEntry
.
label
,
}
bytes
:
typ
.
numberOfBytes
,
offset
:
storageEntry
.
offset
,
slot
:
storageEntry
.
slot
,
})
}
const
storageLayout
:
AbiSpecStorageLayoutEntry
[]
=
[]
if
(
knownAbis
[
contractName
]
===
undefined
)
{
for
(
const
storageEntry
of
artifact
.
storageLayout
.
storage
)
{
knownAbis
[
contractName
]
=
artifact
.
abi
// convert ast-based type to solidity type
}
else
if
(
const
typ
=
artifact
.
storageLayout
.
types
[
storageEntry
.
type
]
JSON
.
stringify
(
knownAbis
[
contractName
])
!==
JSON
.
stringify
(
artifact
.
abi
)
if
(
typ
===
undefined
)
{
)
{
throw
new
Error
(
throw
Error
(
`
undefined type for
${
contractName
}
:
${
storageEntry
.
label
}
`
`
detected multiple artifact versions with different ABIs for
${
contractFile
}
`
)
)
}
else
{
console
.
log
(
`detected multiple artifacts for
${
contractName
}
`
)
}
}
storageLayout
.
push
({
label
:
typ
.
label
,
bytes
:
typ
.
numberOfBytes
,
offset
:
storageEntry
.
offset
,
slot
:
storageEntry
.
slot
,
type
:
storageEntry
.
type
,
})
}
// Sort snapshots for easier manual inspection
// Sort snapshots for easier manual inspection
fs
.
writeFileSync
(
fs
.
writeFileSync
(
`
${
abiDir
}
/
${
contractName
}
.json`
,
`
${
abiDir
}
/
${
contractName
}
.json`
,
JSON
.
stringify
(
sortKeys
(
artifact
.
abi
),
null
,
2
)
JSON
.
stringify
(
sortKeys
(
artifact
.
abi
),
null
,
2
)
)
)
fs
.
writeFileSync
(
fs
.
writeFileSync
(
`
${
storageLayoutDir
}
/
${
contractName
}
.json`
,
`
${
storageLayoutDir
}
/
${
contractName
}
.json`
,
JSON
.
stringify
(
sortKeys
(
storageLayout
),
null
,
2
)
JSON
.
stringify
(
sortKeys
(
storageLayout
),
null
,
2
)
)
)
}
}
}
}
}
...
...
packages/contracts-bedrock/snapshots/abi/Burner.json
0 → 100644
View file @
d1ff2c66
[
{
"inputs"
:
[],
"stateMutability"
:
"payable"
,
"type"
:
"constructor"
}
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/abi/CrossDomainMessengerLegacySpacer0.json
0 → 100644
View file @
d1ff2c66
[]
\ No newline at end of file
packages/contracts-bedrock/snapshots/abi/CrossDomainMessengerLegacySpacer1.json
0 → 100644
View file @
d1ff2c66
[]
\ No newline at end of file
packages/contracts-bedrock/snapshots/abi/OutputBisectionGame.json
View file @
d1ff2c66
...
@@ -185,6 +185,19 @@
...
@@ -185,6 +185,19 @@
"stateMutability"
:
"view"
,
"stateMutability"
:
"view"
,
"type"
:
"function"
"type"
:
"function"
},
},
{
"inputs"
:
[],
"name"
:
"GENESIS_BLOCK_NUMBER"
,
"outputs"
:
[
{
"internalType"
:
"uint256"
,
"name"
:
""
,
"type"
:
"uint256"
}
],
"stateMutability"
:
"view"
,
"type"
:
"function"
},
{
{
"inputs"
:
[],
"inputs"
:
[],
"name"
:
"MAX_GAME_DEPTH"
,
"name"
:
"MAX_GAME_DEPTH"
,
...
...
packages/contracts-bedrock/snapshots/abi/SafeSend.json
0 → 100644
View file @
d1ff2c66
[
{
"inputs"
:
[
{
"internalType"
:
"address payable"
,
"name"
:
"_recipient"
,
"type"
:
"address"
}
],
"stateMutability"
:
"payable"
,
"type"
:
"constructor"
}
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/AddressManager.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
_owner
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => address)
"
,
"label"
:
"
addresses
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_mapping(t_bytes32,t_address)"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/AssetReceiver.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
owner
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_address"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/AttestationStation.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => mapping(address => mapping(bytes32 => bytes)))
"
,
"label"
:
"
attestations
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_mapping(t_address,t_mapping(t_address,t_mapping(t_bytes32,t_bytes_storage)))"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/BaseFeeVault.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
totalProcessed
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_uint256"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/BlockOracle.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(uint256 => struct BlockOracle.BlockInfo)
"
,
"label"
:
"
blocks
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_mapping(t_uint256,t_struct(BlockInfo)72112_storage)"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/Burner.json
0 → 100644
View file @
d1ff2c66
[]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/CrossDomainMessengerLegacySpacer0.json
0 → 100644
View file @
d1ff2c66
[
{
"bytes"
:
"20"
,
"label"
:
"spacer_0_0_20"
,
"offset"
:
0
,
"slot"
:
"0"
}
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/CrossDomainMessengerLegacySpacer1.json
0 → 100644
View file @
d1ff2c66
[
{
"bytes"
:
"1600"
,
"label"
:
"spacer_1_0_1600"
,
"offset"
:
0
,
"slot"
:
"0"
},
{
"bytes"
:
"20"
,
"label"
:
"spacer_51_0_20"
,
"offset"
:
0
,
"slot"
:
"50"
},
{
"bytes"
:
"1568"
,
"label"
:
"spacer_52_0_1568"
,
"offset"
:
0
,
"slot"
:
"51"
},
{
"bytes"
:
"1"
,
"label"
:
"spacer_101_0_1"
,
"offset"
:
0
,
"slot"
:
"100"
},
{
"bytes"
:
"1568"
,
"label"
:
"spacer_102_0_1568"
,
"offset"
:
0
,
"slot"
:
"101"
},
{
"bytes"
:
"32"
,
"label"
:
"spacer_151_0_32"
,
"offset"
:
0
,
"slot"
:
"150"
},
{
"bytes"
:
"1568"
,
"label"
:
"spacer_152_0_1568"
,
"offset"
:
0
,
"slot"
:
"151"
},
{
"bytes"
:
"32"
,
"label"
:
"spacer_201_0_32"
,
"offset"
:
0
,
"slot"
:
"200"
},
{
"bytes"
:
"32"
,
"label"
:
"spacer_202_0_32"
,
"offset"
:
0
,
"slot"
:
"201"
}
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/DelayedVetoable.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
_delay
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_uint256"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => uint256)
"
,
"label"
:
"
_queuedAt
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_mapping(t_bytes32,t_uint256)"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/DeployerWhitelist.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
owner
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => bool)
"
,
"label"
:
"
whitelist
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_mapping(t_address,t_bool)"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/DisputeGameFactory.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
uint8
"
,
"label"
:
"
_initialized
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_uint8"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
bool
"
,
"label"
:
"
_initializing
"
,
"offset"
:
1
,
"offset"
:
1
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_bool"
},
},
{
{
"bytes"
:
"1600"
,
"bytes"
:
"1600"
,
"label"
:
"
uint256[50]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_array(t_uint256)50_storage"
},
},
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
_owner
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"51"
,
"slot"
:
"51"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"1568"
,
"bytes"
:
"1568"
,
"label"
:
"
uint256[49]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"52"
,
"slot"
:
"52"
"type"
:
"t_array(t_uint256)49_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(GameType => contract IDisputeGame)
"
,
"label"
:
"
gameImpls
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"101"
,
"slot"
:
"101"
"type"
:
"t_mapping(t_userDefinedValueType(GameType)1585,t_contract(IDisputeGame)1063)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(Hash => GameId)
"
,
"label"
:
"
_disputeGames
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"102"
,
"slot"
:
"102"
"type"
:
"t_mapping(t_userDefinedValueType(Hash)1567,t_userDefinedValueType(GameId)1579)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
GameId[]
"
,
"label"
:
"
_disputeGameList
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"103"
,
"slot"
:
"103"
"type"
:
"t_array(t_userDefinedValueType(GameId)1579)dyn_storage"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/Drippie.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
owner
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(string => struct Drippie.DripState)
"
,
"label"
:
"
drips
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_mapping(t_string_memory_ptr,t_struct(DripState)91663_storage)"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/EAS.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => uint256)
"
,
"label"
:
"
_nonces
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_mapping(t_address,t_uint256)"
},
},
{
{
"bytes"
:
"1568"
,
"bytes"
:
"1568"
,
"label"
:
"
uint256[49]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_array(t_uint256)49_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => struct Attestation)
"
,
"label"
:
"
_db
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"50"
,
"slot"
:
"50"
"type"
:
"t_mapping(t_bytes32,t_struct(Attestation)44875_storage)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => uint64)
"
,
"label"
:
"
_timestamps
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"51"
,
"slot"
:
"51"
"type"
:
"t_mapping(t_bytes32,t_uint64)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => mapping(bytes32 => uint64))
"
,
"label"
:
"
_revocationsOffchain
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"52"
,
"slot"
:
"52"
"type"
:
"t_mapping(t_address,t_mapping(t_bytes32,t_uint64))"
},
},
{
{
"bytes"
:
"1504"
,
"bytes"
:
"1504"
,
"label"
:
"
uint256[47]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"53"
,
"slot"
:
"53"
"type"
:
"t_array(t_uint256)47_storage"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/Faucet.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"m
apping(contract IFaucetAuthModule => struct Faucet.ModuleConfig)
"
,
"label"
:
"m
odules
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_mapping(t_contract(IFaucetAuthModule)92584,t_struct(ModuleConfig)92261_storage)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(contract IFaucetAuthModule => mapping(bytes32 => uint256))
"
,
"label"
:
"
timeouts
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_mapping(t_contract(IFaucetAuthModule)92584,t_mapping(t_bytes32,t_uint256))"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => mapping(bytes32 => bool))
"
,
"label"
:
"
nonces
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"2"
,
"slot"
:
"2"
"type"
:
"t_mapping(t_bytes32,t_mapping(t_bytes32,t_bool))"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/FaultDisputeGame.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"8"
,
"bytes"
:
"8"
,
"label"
:
"
Timestamp
"
,
"label"
:
"
createdAt
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_userDefinedValueType(Timestamp)77431"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
enum GameS
tatus"
,
"label"
:
"
s
tatus"
,
"offset"
:
8
,
"offset"
:
8
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_enum(GameStatus)77447"
},
},
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
contract IB
ondManager"
,
"label"
:
"
b
ondManager"
,
"offset"
:
9
,
"offset"
:
9
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_contract(IBondManager)75133"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
Hash
"
,
"label"
:
"
l1Head
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_userDefinedValueType(Hash)77423"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
struct IFaultDisputeGame.ClaimData[]
"
,
"label"
:
"
claimData
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"2"
,
"slot"
:
"2"
"type"
:
"t_array(t_struct(ClaimData)75347_storage)dyn_storage"
},
},
{
{
"bytes"
:
"128"
,
"bytes"
:
"128"
,
"label"
:
"
struct IFaultDisputeGame.OutputP
roposals"
,
"label"
:
"
p
roposals"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"3"
,
"slot"
:
"3"
"type"
:
"t_struct(OutputProposals)75362_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(ClaimHash => bool)
"
,
"label"
:
"
claims
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"7"
,
"slot"
:
"7"
"type"
:
"t_mapping(t_userDefinedValueType(ClaimHash)77427,t_bool)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(uint256 => uint256[])
"
,
"label"
:
"
subgames
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"8"
,
"slot"
:
"8"
"type"
:
"t_mapping(t_uint256,t_array(t_uint256)dyn_storage)"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
bool
"
,
"label"
:
"
subgameAtRootResolved
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"9"
,
"slot"
:
"9"
"type"
:
"t_bool"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/GovernanceToken.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => uint256)
"
,
"label"
:
"
_balances
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_mapping(t_address,t_uint256)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => mapping(address => uint256))
"
,
"label"
:
"
_allowances
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_mapping(t_address,t_mapping(t_address,t_uint256))"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
_totalSupply
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"2"
,
"slot"
:
"2"
"type"
:
"t_uint256"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
string
"
,
"label"
:
"
_name
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"3"
,
"slot"
:
"3"
"type"
:
"t_string_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
string
"
,
"label"
:
"
_symbol
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"4"
,
"slot"
:
"4"
"type"
:
"t_string_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => struct Counters.Counter)
"
,
"label"
:
"
_nonces
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"5"
,
"slot"
:
"5"
"type"
:
"t_mapping(t_address,t_struct(Counter)49118_storage)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
bytes32
"
,
"label"
:
"
_PERMIT_TYPEHASH_DEPRECATED_SLOT
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"6"
,
"slot"
:
"6"
"type"
:
"t_bytes32"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => address)
"
,
"label"
:
"
_delegates
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"7"
,
"slot"
:
"7"
"type"
:
"t_mapping(t_address,t_address)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => struct ERC20Votes.Checkpoint[])
"
,
"label"
:
"
_checkpoints
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"8"
,
"slot"
:
"8"
"type"
:
"t_mapping(t_address,t_array(t_struct(Checkpoint)46264_storage)dyn_storage)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
struct ERC20Votes.Checkpoint[]
"
,
"label"
:
"
_totalSupplyCheckpoints
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"9"
,
"slot"
:
"9"
"type"
:
"t_array(t_struct(Checkpoint)46264_storage)dyn_storage"
},
},
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
_owner
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"10"
,
"slot"
:
"10"
"type"
:
"t_address"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/L1Block.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"8"
,
"bytes"
:
"8"
,
"label"
:
"
uint64
"
,
"label"
:
"
number
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_uint64"
},
},
{
{
"bytes"
:
"8"
,
"bytes"
:
"8"
,
"label"
:
"
uint64
"
,
"label"
:
"
timestamp
"
,
"offset"
:
8
,
"offset"
:
8
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_uint64"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
basefee
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_uint256"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
bytes32
"
,
"label"
:
"
hash
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"2"
,
"slot"
:
"2"
"type"
:
"t_bytes32"
},
},
{
{
"bytes"
:
"8"
,
"bytes"
:
"8"
,
"label"
:
"
uint64
"
,
"label"
:
"
sequenceNumber
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"3"
,
"slot"
:
"3"
"type"
:
"t_uint64"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"b
ytes32
"
,
"label"
:
"b
atcherHash
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"4"
,
"slot"
:
"4"
"type"
:
"t_bytes32"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
l1FeeOverhead
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"5"
,
"slot"
:
"5"
"type"
:
"t_uint256"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
l1FeeScalar
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"6"
,
"slot"
:
"6"
"type"
:
"t_uint256"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/L1CrossDomainMessenger.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
spacer_0_0_20
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
uint8
"
,
"label"
:
"
_initialized
"
,
"offset"
:
20
,
"offset"
:
20
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_uint8"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
bool
"
,
"label"
:
"
_initializing
"
,
"offset"
:
21
,
"offset"
:
21
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_bool"
},
},
{
{
"bytes"
:
"1600"
,
"bytes"
:
"1600"
,
"label"
:
"
uint256[50]
"
,
"label"
:
"
spacer_1_0_1600
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_array(t_uint256)50_storage"
},
},
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
spacer_51_0_20
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"51"
,
"slot"
:
"51"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"1568"
,
"bytes"
:
"1568"
,
"label"
:
"
uint256[49]
"
,
"label"
:
"
spacer_52_0_1568
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"52"
,
"slot"
:
"52"
"type"
:
"t_array(t_uint256)49_storage"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
bool
"
,
"label"
:
"
spacer_101_0_1
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"101"
,
"slot"
:
"101"
"type"
:
"t_bool"
},
},
{
{
"bytes"
:
"1568"
,
"bytes"
:
"1568"
,
"label"
:
"
uint256[49]
"
,
"label"
:
"
spacer_102_0_1568
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"102"
,
"slot"
:
"102"
"type"
:
"t_array(t_uint256)49_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
spacer_151_0_32
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"151"
,
"slot"
:
"151"
"type"
:
"t_uint256"
},
},
{
{
"bytes"
:
"1568"
,
"bytes"
:
"1568"
,
"label"
:
"
uint256[49]
"
,
"label"
:
"
spacer_152_0_1568
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"152"
,
"slot"
:
"152"
"type"
:
"t_array(t_uint256)49_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => bool)
"
,
"label"
:
"
spacer_201_0_32
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"201"
,
"slot"
:
"201"
"type"
:
"t_mapping(t_bytes32,t_bool)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => bool)
"
,
"label"
:
"
spacer_202_0_32
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"202"
,
"slot"
:
"202"
"type"
:
"t_mapping(t_bytes32,t_bool)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => bool)
"
,
"label"
:
"
successfulMessages
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"203"
,
"slot"
:
"203"
"type"
:
"t_mapping(t_bytes32,t_bool)"
},
},
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
xDomainMsgSender
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"204"
,
"slot"
:
"204"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"30"
,
"bytes"
:
"30"
,
"label"
:
"
uint240
"
,
"label"
:
"
msgNonce
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"205"
,
"slot"
:
"205"
"type"
:
"t_uint240"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => bool)
"
,
"label"
:
"
failedMessages
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"206"
,
"slot"
:
"206"
"type"
:
"t_mapping(t_bytes32,t_bool)"
},
},
{
{
"bytes"
:
"1408"
,
"bytes"
:
"1408"
,
"label"
:
"
uint256[44]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"207"
,
"slot"
:
"207"
"type"
:
"t_array(t_uint256)44_storage"
},
},
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
contract S
uperchainConfig"
,
"label"
:
"
s
uperchainConfig"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"251"
,
"slot"
:
"251"
"type"
:
"t_contract(SuperchainConfig)4111"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/L1ERC721Bridge.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"1568"
,
"bytes"
:
"1568"
,
"label"
:
"
uint256[49]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_array(t_uint256)49_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => mapping(address => mapping(uint256 => bool)))
"
,
"label"
:
"
deposits
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"49"
,
"slot"
:
"49"
"type"
:
"t_mapping(t_address,t_mapping(t_address,t_mapping(t_uint256,t_bool)))"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/L1FeeVault.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
totalProcessed
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_uint256"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/L1StandardBridge.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
spacer_0_0_20
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
spacer_1_0_20
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => mapping(address => uint256))
"
,
"label"
:
"
deposits
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"2"
,
"slot"
:
"2"
"type"
:
"t_mapping(t_address,t_mapping(t_address,t_uint256))"
},
},
{
{
"bytes"
:
"1504"
,
"bytes"
:
"1504"
,
"label"
:
"
uint256[47]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"3"
,
"slot"
:
"3"
"type"
:
"t_array(t_uint256)47_storage"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/L2CrossDomainMessenger.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
spacer_0_0_20
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
uint8
"
,
"label"
:
"
_initialized
"
,
"offset"
:
20
,
"offset"
:
20
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_uint8"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
bool
"
,
"label"
:
"
_initializing
"
,
"offset"
:
21
,
"offset"
:
21
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_bool"
},
},
{
{
"bytes"
:
"1600"
,
"bytes"
:
"1600"
,
"label"
:
"
uint256[50]
"
,
"label"
:
"
spacer_1_0_1600
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_array(t_uint256)50_storage"
},
},
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
spacer_51_0_20
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"51"
,
"slot"
:
"51"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"1568"
,
"bytes"
:
"1568"
,
"label"
:
"
uint256[49]
"
,
"label"
:
"
spacer_52_0_1568
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"52"
,
"slot"
:
"52"
"type"
:
"t_array(t_uint256)49_storage"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
bool
"
,
"label"
:
"
spacer_101_0_1
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"101"
,
"slot"
:
"101"
"type"
:
"t_bool"
},
},
{
{
"bytes"
:
"1568"
,
"bytes"
:
"1568"
,
"label"
:
"
uint256[49]
"
,
"label"
:
"
spacer_102_0_1568
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"102"
,
"slot"
:
"102"
"type"
:
"t_array(t_uint256)49_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
spacer_151_0_32
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"151"
,
"slot"
:
"151"
"type"
:
"t_uint256"
},
},
{
{
"bytes"
:
"1568"
,
"bytes"
:
"1568"
,
"label"
:
"
uint256[49]
"
,
"label"
:
"
spacer_152_0_1568
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"152"
,
"slot"
:
"152"
"type"
:
"t_array(t_uint256)49_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => bool)
"
,
"label"
:
"
spacer_201_0_32
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"201"
,
"slot"
:
"201"
"type"
:
"t_mapping(t_bytes32,t_bool)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => bool)
"
,
"label"
:
"
spacer_202_0_32
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"202"
,
"slot"
:
"202"
"type"
:
"t_mapping(t_bytes32,t_bool)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => bool)
"
,
"label"
:
"
successfulMessages
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"203"
,
"slot"
:
"203"
"type"
:
"t_mapping(t_bytes32,t_bool)"
},
},
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
xDomainMsgSender
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"204"
,
"slot"
:
"204"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"30"
,
"bytes"
:
"30"
,
"label"
:
"
uint240
"
,
"label"
:
"
msgNonce
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"205"
,
"slot"
:
"205"
"type"
:
"t_uint240"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => bool)
"
,
"label"
:
"
failedMessages
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"206"
,
"slot"
:
"206"
"type"
:
"t_mapping(t_bytes32,t_bool)"
},
},
{
{
"bytes"
:
"1408"
,
"bytes"
:
"1408"
,
"label"
:
"
uint256[44]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"207"
,
"slot"
:
"207"
"type"
:
"t_array(t_uint256)44_storage"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/L2ERC721Bridge.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"1568"
,
"bytes"
:
"1568"
,
"label"
:
"
uint256[49]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_array(t_uint256)49_storage"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/L2OutputOracle.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
uint8
"
,
"label"
:
"
_initialized
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_uint8"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
bool
"
,
"label"
:
"
_initializing
"
,
"offset"
:
1
,
"offset"
:
1
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_bool"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
startingBlockNumber
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_uint256"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
startingTimestamp
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"2"
,
"slot"
:
"2"
"type"
:
"t_uint256"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
struct Types.OutputProposal[]
"
,
"label"
:
"
l2Outputs
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"3"
,
"slot"
:
"3"
"type"
:
"t_array(t_struct(OutputProposal)2677_storage)dyn_storage"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/L2StandardBridge.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
spacer_0_0_20
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
spacer_1_0_20
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => mapping(address => uint256))
"
,
"label"
:
"
deposits
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"2"
,
"slot"
:
"2"
"type"
:
"t_mapping(t_address,t_mapping(t_address,t_uint256))"
},
},
{
{
"bytes"
:
"1504"
,
"bytes"
:
"1504"
,
"label"
:
"
uint256[47]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"3"
,
"slot"
:
"3"
"type"
:
"t_array(t_uint256)47_storage"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/L2ToL1MessagePasser.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => bool)
"
,
"label"
:
"
sentMessages
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_mapping(t_bytes32,t_bool)"
},
},
{
{
"bytes"
:
"30"
,
"bytes"
:
"30"
,
"label"
:
"
uint240
"
,
"label"
:
"
msgNonce
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_uint240"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/LegacyERC20ETH.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => uint256)
"
,
"label"
:
"
_balances
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_mapping(t_address,t_uint256)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => mapping(address => uint256))
"
,
"label"
:
"
_allowances
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_mapping(t_address,t_mapping(t_address,t_uint256))"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
_totalSupply
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"2"
,
"slot"
:
"2"
"type"
:
"t_uint256"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
string
"
,
"label"
:
"
_name
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"3"
,
"slot"
:
"3"
"type"
:
"t_string_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
string
"
,
"label"
:
"
_symbol
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"4"
,
"slot"
:
"4"
"type"
:
"t_string_storage"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/LegacyMessagePasser.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => bool)
"
,
"label"
:
"
sentMessages
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_mapping(t_bytes32,t_bool)"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/LegacyMintableERC20.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => uint256)
"
,
"label"
:
"
_balances
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_mapping(t_address,t_uint256)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => mapping(address => uint256))
"
,
"label"
:
"
_allowances
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_mapping(t_address,t_mapping(t_address,t_uint256))"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
_totalSupply
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"2"
,
"slot"
:
"2"
"type"
:
"t_uint256"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
string
"
,
"label"
:
"
_name
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"3"
,
"slot"
:
"3"
"type"
:
"t_string_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
string
"
,
"label"
:
"
_symbol
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"4"
,
"slot"
:
"4"
"type"
:
"t_string_storage"
},
},
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
l1Token
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"5"
,
"slot"
:
"5"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
l2Bridge
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"6"
,
"slot"
:
"6"
"type"
:
"t_address"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/LivenessGuard.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => uint256)
"
,
"label"
:
"
lastLive
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_mapping(t_address,t_uint256)"
},
},
{
{
"bytes"
:
"64"
,
"bytes"
:
"64"
,
"label"
:
"
struct EnumerableSet.AddressSet
"
,
"label"
:
"
ownersBefore
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_struct(AddressSet)55016_storage"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/MintManager.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
_owner
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
mintPermittedAfter
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_uint256"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/OptimismMintableERC20.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => uint256)
"
,
"label"
:
"
_balances
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_mapping(t_address,t_uint256)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => mapping(address => uint256))
"
,
"label"
:
"
_allowances
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_mapping(t_address,t_mapping(t_address,t_uint256))"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
_totalSupply
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"2"
,
"slot"
:
"2"
"type"
:
"t_uint256"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
string
"
,
"label"
:
"
_name
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"3"
,
"slot"
:
"3"
"type"
:
"t_string_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
string
"
,
"label"
:
"
_symbol
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"4"
,
"slot"
:
"4"
"type"
:
"t_string_storage"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/OptimismMintableERC721.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
string
"
,
"label"
:
"
_name
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_string_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
string
"
,
"label"
:
"
_symbol
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_string_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(uint256 => address)
"
,
"label"
:
"
_owners
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"2"
,
"slot"
:
"2"
"type"
:
"t_mapping(t_uint256,t_address)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => uint256)
"
,
"label"
:
"
_balances
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"3"
,
"slot"
:
"3"
"type"
:
"t_mapping(t_address,t_uint256)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(uint256 => address)
"
,
"label"
:
"
_tokenApprovals
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"4"
,
"slot"
:
"4"
"type"
:
"t_mapping(t_uint256,t_address)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => mapping(address => bool))
"
,
"label"
:
"
_operatorApprovals
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"5"
,
"slot"
:
"5"
"type"
:
"t_mapping(t_address,t_mapping(t_address,t_bool))"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => mapping(uint256 => uint256))
"
,
"label"
:
"
_ownedTokens
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"6"
,
"slot"
:
"6"
"type"
:
"t_mapping(t_address,t_mapping(t_uint256,t_uint256))"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(uint256 => uint256)
"
,
"label"
:
"
_ownedTokensIndex
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"7"
,
"slot"
:
"7"
"type"
:
"t_mapping(t_uint256,t_uint256)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256[]
"
,
"label"
:
"
_allTokens
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"8"
,
"slot"
:
"8"
"type"
:
"t_array(t_uint256)dyn_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(uint256 => uint256)
"
,
"label"
:
"
_allTokensIndex
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"9"
,
"slot"
:
"9"
"type"
:
"t_mapping(t_uint256,t_uint256)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
string
"
,
"label"
:
"
baseTokenURI
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"10"
,
"slot"
:
"10"
"type"
:
"t_string_storage"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/OptimismMintableERC721Factory.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => bool)
"
,
"label"
:
"
isOptimismMintableERC721
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_mapping(t_address,t_bool)"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/OptimismPortal.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
uint8
"
,
"label"
:
"
_initialized
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_uint8"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
bool
"
,
"label"
:
"
_initializing
"
,
"offset"
:
1
,
"offset"
:
1
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_bool"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
struct ResourceMetering.ResourceP
arams"
,
"label"
:
"
p
arams"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_struct(ResourceParams)3420_storage"
},
},
{
{
"bytes"
:
"1536"
,
"bytes"
:
"1536"
,
"label"
:
"
uint256[48]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"2"
,
"slot"
:
"2"
"type"
:
"t_array(t_uint256)48_storage"
},
},
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
l2Sender
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"50"
,
"slot"
:
"50"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => bool)
"
,
"label"
:
"
finalizedWithdrawals
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"51"
,
"slot"
:
"51"
"type"
:
"t_mapping(t_bytes32,t_bool)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => struct OptimismPortal.ProvenWithdrawal)
"
,
"label"
:
"
provenWithdrawals
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"52"
,
"slot"
:
"52"
"type"
:
"t_mapping(t_bytes32,t_struct(ProvenWithdrawal)2750_storage)"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
bool
"
,
"label"
:
"
spacer_53_0_1
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"53"
,
"slot"
:
"53"
"type"
:
"t_bool"
},
},
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
contract S
uperchainConfig"
,
"label"
:
"
s
uperchainConfig"
,
"offset"
:
1
,
"offset"
:
1
,
"slot"
:
"53"
,
"slot"
:
"53"
"type"
:
"t_contract(SuperchainConfig)3943"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/Optimist.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
uint8
"
,
"label"
:
"
_initialized
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_uint8"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
bool
"
,
"label"
:
"
_initializing
"
,
"offset"
:
1
,
"offset"
:
1
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_bool"
},
},
{
{
"bytes"
:
"1600"
,
"bytes"
:
"1600"
,
"label"
:
"
uint256[50]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_array(t_uint256)50_storage"
},
},
{
{
"bytes"
:
"1600"
,
"bytes"
:
"1600"
,
"label"
:
"
uint256[50]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"51"
,
"slot"
:
"51"
"type"
:
"t_array(t_uint256)50_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
string
"
,
"label"
:
"
_name
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"101"
,
"slot"
:
"101"
"type"
:
"t_string_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
string
"
,
"label"
:
"
_symbol
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"102"
,
"slot"
:
"102"
"type"
:
"t_string_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(uint256 => address)
"
,
"label"
:
"
_owners
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"103"
,
"slot"
:
"103"
"type"
:
"t_mapping(t_uint256,t_address)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => uint256)
"
,
"label"
:
"
_balances
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"104"
,
"slot"
:
"104"
"type"
:
"t_mapping(t_address,t_uint256)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(uint256 => address)
"
,
"label"
:
"
_tokenApprovals
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"105"
,
"slot"
:
"105"
"type"
:
"t_mapping(t_uint256,t_address)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => mapping(address => bool))
"
,
"label"
:
"
_operatorApprovals
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"106"
,
"slot"
:
"106"
"type"
:
"t_mapping(t_address,t_mapping(t_address,t_bool))"
},
},
{
{
"bytes"
:
"1408"
,
"bytes"
:
"1408"
,
"label"
:
"
uint256[44]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"107"
,
"slot"
:
"107"
"type"
:
"t_array(t_uint256)44_storage"
},
},
{
{
"bytes"
:
"1600"
,
"bytes"
:
"1600"
,
"label"
:
"
uint256[50]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"151"
,
"slot"
:
"151"
"type"
:
"t_array(t_uint256)50_storage"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/OptimistInviter.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
uint8
"
,
"label"
:
"
_initialized
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_uint8"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
bool
"
,
"label"
:
"
_initializing
"
,
"offset"
:
1
,
"offset"
:
1
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_bool"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
bytes32
"
,
"label"
:
"
_HASHED_NAME
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_bytes32"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
bytes32
"
,
"label"
:
"
_HASHED_VERSION
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"2"
,
"slot"
:
"2"
"type"
:
"t_bytes32"
},
},
{
{
"bytes"
:
"1600"
,
"bytes"
:
"1600"
,
"label"
:
"
uint256[50]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"3"
,
"slot"
:
"3"
"type"
:
"t_array(t_uint256)50_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => uint256)
"
,
"label"
:
"
commitmentTimestamps
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"53"
,
"slot"
:
"53"
"type"
:
"t_mapping(t_bytes32,t_uint256)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => mapping(bytes32 => bool))
"
,
"label"
:
"
usedNonces
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"54"
,
"slot"
:
"54"
"type"
:
"t_mapping(t_address,t_mapping(t_bytes32,t_bool))"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => uint256)
"
,
"label"
:
"
inviteCounts
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"55"
,
"slot"
:
"55"
"type"
:
"t_mapping(t_address,t_uint256)"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/OutputBisectionGame.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"8"
,
"bytes"
:
"8"
,
"label"
:
"
Timestamp
"
,
"label"
:
"
createdAt
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_userDefinedValueType(Timestamp)77431"
},
},
{
{
"bytes"
:
"8"
,
"bytes"
:
"8"
,
"label"
:
"
Timestamp
"
,
"label"
:
"
resolvedAt
"
,
"offset"
:
8
,
"offset"
:
8
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_userDefinedValueType(Timestamp)77431"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
enum GameS
tatus"
,
"label"
:
"
s
tatus"
,
"offset"
:
16
,
"offset"
:
16
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_enum(GameStatus)77447"
},
},
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
contract IB
ondManager"
,
"label"
:
"
b
ondManager"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_contract(IBondManager)75133"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
Hash
"
,
"label"
:
"
l1Head
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"2"
,
"slot"
:
"2"
"type"
:
"t_userDefinedValueType(Hash)77423"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
struct IOutputBisectionGame.ClaimData[]
"
,
"label"
:
"
claimData
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"3"
,
"slot"
:
"3"
"type"
:
"t_array(t_struct(ClaimData)75468_storage)dyn_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(ClaimHash => bool)
"
,
"label"
:
"
claims
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"4"
,
"slot"
:
"4"
"type"
:
"t_mapping(t_userDefinedValueType(ClaimHash)77427,t_bool)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(uint256 => uint256[])
"
,
"label"
:
"
subgames
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"5"
,
"slot"
:
"5"
"type"
:
"t_mapping(t_uint256,t_array(t_uint256)dyn_storage)"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
bool
"
,
"label"
:
"
subgameAtRootResolved
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"6"
,
"slot"
:
"6"
"type"
:
"t_bool"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/PreimageOracle.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => uint256)
"
,
"label"
:
"
preimageLengths
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_mapping(t_bytes32,t_uint256)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => mapping(uint256 => bytes32))
"
,
"label"
:
"
preimageParts
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_mapping(t_bytes32,t_mapping(t_uint256,t_bytes32))"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => mapping(uint256 => bool))
"
,
"label"
:
"
preimagePartOk
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"2"
,
"slot"
:
"2"
"type"
:
"t_mapping(t_bytes32,t_mapping(t_uint256,t_bool))"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/ProtocolVersions.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
uint8
"
,
"label"
:
"
_initialized
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_uint8"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
bool
"
,
"label"
:
"
_initializing
"
,
"offset"
:
1
,
"offset"
:
1
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_bool"
},
},
{
{
"bytes"
:
"1600"
,
"bytes"
:
"1600"
,
"label"
:
"
uint256[50]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_array(t_uint256)50_storage"
},
},
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
_owner
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"51"
,
"slot"
:
"51"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"1568"
,
"bytes"
:
"1568"
,
"label"
:
"
uint256[49]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"52"
,
"slot"
:
"52"
"type"
:
"t_array(t_uint256)49_storage"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/ProxyAdmin.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
_owner
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => enum ProxyAdmin.ProxyType)
"
,
"label"
:
"
proxyType
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_mapping(t_address,t_enum(ProxyType)2988)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => string)
"
,
"label"
:
"
implementationName
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"2"
,
"slot"
:
"2"
"type"
:
"t_mapping(t_address,t_string_storage)"
},
},
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
contract A
ddressManager"
,
"label"
:
"
a
ddressManager"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"3"
,
"slot"
:
"3"
"type"
:
"t_contract(AddressManager)2205"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
bool
"
,
"label"
:
"
upgrading
"
,
"offset"
:
20
,
"offset"
:
20
,
"slot"
:
"3"
,
"slot"
:
"3"
"type"
:
"t_bool"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/ResolvedDelegateProxy.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => string)
"
,
"label"
:
"
implementationName
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_mapping(t_address,t_string_storage)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => contract AddressManager)
"
,
"label"
:
"
addressManager
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_mapping(t_address,t_contract(AddressManager)76117)"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/SafeSend.json
0 → 100644
View file @
d1ff2c66
[]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/SchemaRegistry.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(bytes32 => struct SchemaRecord)
"
,
"label"
:
"
_registry
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_mapping(t_bytes32,t_struct(SchemaRecord)47255_storage)"
},
},
{
{
"bytes"
:
"1568"
,
"bytes"
:
"1568"
,
"label"
:
"
uint256[49]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_array(t_uint256)49_storage"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/SequencerFeeVault.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
totalProcessed
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_uint256"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/SuperchainConfig.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
uint8
"
,
"label"
:
"
_initialized
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_uint8"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
bool
"
,
"label"
:
"
_initializing
"
,
"offset"
:
1
,
"offset"
:
1
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_bool"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/SystemConfig.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
uint8
"
,
"label"
:
"
_initialized
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_uint8"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
bool
"
,
"label"
:
"
_initializing
"
,
"offset"
:
1
,
"offset"
:
1
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_bool"
},
},
{
{
"bytes"
:
"1600"
,
"bytes"
:
"1600"
,
"label"
:
"
uint256[50]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_array(t_uint256)50_storage"
},
},
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
_owner
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"51"
,
"slot"
:
"51"
"type"
:
"t_address"
},
},
{
{
"bytes"
:
"1568"
,
"bytes"
:
"1568"
,
"label"
:
"
uint256[49]
"
,
"label"
:
"
__gap
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"52"
,
"slot"
:
"52"
"type"
:
"t_array(t_uint256)49_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
overhead
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"101"
,
"slot"
:
"101"
"type"
:
"t_uint256"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
scalar
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"102"
,
"slot"
:
"102"
"type"
:
"t_uint256"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"b
ytes32
"
,
"label"
:
"b
atcherHash
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"103"
,
"slot"
:
"103"
"type"
:
"t_bytes32"
},
},
{
{
"bytes"
:
"8"
,
"bytes"
:
"8"
,
"label"
:
"
uint64
"
,
"label"
:
"
gasLimit
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"104"
,
"slot"
:
"104"
"type"
:
"t_uint64"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
struct ResourceMetering.R
esourceConfig"
,
"label"
:
"
_r
esourceConfig"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"105"
,
"slot"
:
"105"
"type"
:
"t_struct(ResourceConfig)3433_storage"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/Transactor.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"20"
,
"bytes"
:
"20"
,
"label"
:
"
address
"
,
"label"
:
"
owner
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_address"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/TransferOnion.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
uint256
"
,
"label"
:
"
_status
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_uint256"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
bytes32
"
,
"label"
:
"
shell
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_bytes32"
}
}
]
]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/WETH9.json
View file @
d1ff2c66
[
[
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
string
"
,
"label"
:
"
name
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"0"
,
"slot"
:
"0"
"type"
:
"t_string_storage"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"s
tring
"
,
"label"
:
"s
ymbol
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"1"
,
"slot"
:
"1"
"type"
:
"t_string_storage"
},
},
{
{
"bytes"
:
"1"
,
"bytes"
:
"1"
,
"label"
:
"
uint8
"
,
"label"
:
"
decimals
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"2"
,
"slot"
:
"2"
"type"
:
"t_uint8"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => uint256)
"
,
"label"
:
"
balanceOf
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"3"
,
"slot"
:
"3"
"type"
:
"t_mapping(t_address,t_uint256)"
},
},
{
{
"bytes"
:
"32"
,
"bytes"
:
"32"
,
"label"
:
"
mapping(address => mapping(address => uint256))
"
,
"label"
:
"
allowance
"
,
"offset"
:
0
,
"offset"
:
0
,
"slot"
:
"4"
,
"slot"
:
"4"
"type"
:
"t_mapping(t_address,t_mapping(t_address,t_uint256))"
}
}
]
]
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment