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
772a63b8
Unverified
Commit
772a63b8
authored
Nov 03, 2022
by
mergify[bot]
Committed by
GitHub
Nov 03, 2022
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #3856 from ethereum-optimism/sc/ctb-split-fresh-steps
feat(ctb): break out FSD steps
parents
1a0ccf71
7265f39e
Changes
29
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
280 additions
and
68 deletions
+280
-68
deployerwhitelist_more.go
op-bindings/bindings/deployerwhitelist_more.go
+1
-1
gaspriceoracle_more.go
op-bindings/bindings/gaspriceoracle_more.go
+1
-1
governancetoken_more.go
op-bindings/bindings/governancetoken_more.go
+1
-1
l1block_more.go
op-bindings/bindings/l1block_more.go
+1
-1
l1crossdomainmessenger.go
op-bindings/bindings/l1crossdomainmessenger.go
+14
-14
l1crossdomainmessenger_more.go
op-bindings/bindings/l1crossdomainmessenger_more.go
+2
-2
l2crossdomainmessenger_more.go
op-bindings/bindings/l2crossdomainmessenger_more.go
+1
-1
l2erc721bridge_more.go
op-bindings/bindings/l2erc721bridge_more.go
+1
-1
l2standardbridge_more.go
op-bindings/bindings/l2standardbridge_more.go
+1
-1
l2tol1messagepasser_more.go
op-bindings/bindings/l2tol1messagepasser_more.go
+1
-1
legacyerc20eth_more.go
op-bindings/bindings/legacyerc20eth_more.go
+1
-1
legacymessagepasser_more.go
op-bindings/bindings/legacymessagepasser_more.go
+1
-1
optimismmintableerc721factory_more.go
op-bindings/bindings/optimismmintableerc721factory_more.go
+1
-1
optimismportal_more.go
op-bindings/bindings/optimismportal_more.go
+1
-1
proxyadmin_more.go
op-bindings/bindings/proxyadmin_more.go
+1
-1
sequencerfeevault_more.go
op-bindings/bindings/sequencerfeevault_more.go
+25
-0
layer_one.go
op-chain-ops/genesis/layer_one.go
+4
-1
.gas-snapshot
packages/contracts-bedrock/.gas-snapshot
+10
-10
L1CrossDomainMessenger.sol
...contracts-bedrock/contracts/L1/L1CrossDomainMessenger.sol
+5
-2
BaseSystemDictator.sol
...racts-bedrock/contracts/deployment/BaseSystemDictator.sol
+2
-2
FreshSystemDictator.sol
...acts-bedrock/contracts/deployment/FreshSystemDictator.sol
+1
-1
CommonTest.t.sol
packages/contracts-bedrock/contracts/test/CommonTest.t.sol
+1
-1
L1CrossDomainMessenger.t.sol
...racts-bedrock/contracts/test/L1CrossDomainMessenger.t.sol
+4
-0
hardhat.json
packages/contracts-bedrock/deploy-config/hardhat.json
+1
-1
007-L1CrossDomainMessengerImpl.ts
...ontracts-bedrock/deploy/007-L1CrossDomainMessengerImpl.ts
+6
-0
014-FreshSystemDicator.ts
packages/contracts-bedrock/deploy/014-FreshSystemDicator.ts
+2
-18
015-FreshSystemDictatorSteps.ts
.../contracts-bedrock/deploy/015-FreshSystemDictatorSteps.ts
+187
-0
016-MigrationSystemDictator.ts
...s/contracts-bedrock/deploy/016-MigrationSystemDictator.ts
+2
-2
hardhat.config.ts
packages/contracts-bedrock/hardhat.config.ts
+1
-1
No files found.
op-bindings/bindings/deployerwhitelist_more.go
View file @
772a63b8
...
@@ -9,7 +9,7 @@ import (
...
@@ -9,7 +9,7 @@ import (
"github.com/ethereum-optimism/optimism/op-bindings/solc"
"github.com/ethereum-optimism/optimism/op-bindings/solc"
)
)
const
DeployerWhitelistStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:41
13,
\"
contract
\"
:
\"
contracts/legacy/DeployerWhitelist.sol:DeployerWhitelist
\"
,
\"
label
\"
:
\"
owner
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:4118
,
\"
contract
\"
:
\"
contracts/legacy/DeployerWhitelist.sol:DeployerWhitelist
\"
,
\"
label
\"
:
\"
whitelist
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_bool)
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_mapping(t_address,t_bool)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
bool)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_bool
\"
}}}"
const
DeployerWhitelistStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:41
26,
\"
contract
\"
:
\"
contracts/legacy/DeployerWhitelist.sol:DeployerWhitelist
\"
,
\"
label
\"
:
\"
owner
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:4131
,
\"
contract
\"
:
\"
contracts/legacy/DeployerWhitelist.sol:DeployerWhitelist
\"
,
\"
label
\"
:
\"
whitelist
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_bool)
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_mapping(t_address,t_bool)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
bool)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_bool
\"
}}}"
var
DeployerWhitelistStorageLayout
=
new
(
solc
.
StorageLayout
)
var
DeployerWhitelistStorageLayout
=
new
(
solc
.
StorageLayout
)
...
...
op-bindings/bindings/gaspriceoracle_more.go
View file @
772a63b8
...
@@ -9,7 +9,7 @@ import (
...
@@ -9,7 +9,7 @@ import (
"github.com/ethereum-optimism/optimism/op-bindings/solc"
"github.com/ethereum-optimism/optimism/op-bindings/solc"
)
)
const
GasPriceOracleStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:297
22,
\"
contract
\"
:
\"
contracts/L2/GasPriceOracle.sol:GasPriceOracle
\"
,
\"
label
\"
:
\"
_owner
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:1990,
\"
contract
\"
:
\"
contracts/L2/GasPriceOracle.sol:GasPriceOracle
\"
,
\"
label
\"
:
\"
spacer_1_0_32
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_uint256
\"
},{
\"
astId
\"
:1993,
\"
contract
\"
:
\"
contracts/L2/GasPriceOracle.sol:GasPriceOracle
\"
,
\"
label
\"
:
\"
spacer_2_0_32
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
2
\"
,
\"
type
\"
:
\"
t_uint256
\"
},{
\"
astId
\"
:1996,
\"
contract
\"
:
\"
contracts/L2/GasPriceOracle.sol:GasPriceOracle
\"
,
\"
label
\"
:
\"
overhead
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
3
\"
,
\"
type
\"
:
\"
t_uint256
\"
},{
\"
astId
\"
:1999,
\"
contract
\"
:
\"
contracts/L2/GasPriceOracle.sol:GasPriceOracle
\"
,
\"
label
\"
:
\"
scalar
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
4
\"
,
\"
type
\"
:
\"
t_uint256
\"
},{
\"
astId
\"
:200
2,
\"
contract
\"
:
\"
contracts/L2/GasPriceOracle.sol:GasPriceOracle
\"
,
\"
label
\"
:
\"
decimals
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
5
\"
,
\"
type
\"
:
\"
t_uint256
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
}}}"
const
GasPriceOracleStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:297
54,
\"
contract
\"
:
\"
contracts/L2/GasPriceOracle.sol:GasPriceOracle
\"
,
\"
label
\"
:
\"
_owner
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:2000,
\"
contract
\"
:
\"
contracts/L2/GasPriceOracle.sol:GasPriceOracle
\"
,
\"
label
\"
:
\"
spacer_1_0_32
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_uint256
\"
},{
\"
astId
\"
:2003,
\"
contract
\"
:
\"
contracts/L2/GasPriceOracle.sol:GasPriceOracle
\"
,
\"
label
\"
:
\"
spacer_2_0_32
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
2
\"
,
\"
type
\"
:
\"
t_uint256
\"
},{
\"
astId
\"
:2006,
\"
contract
\"
:
\"
contracts/L2/GasPriceOracle.sol:GasPriceOracle
\"
,
\"
label
\"
:
\"
overhead
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
3
\"
,
\"
type
\"
:
\"
t_uint256
\"
},{
\"
astId
\"
:2009,
\"
contract
\"
:
\"
contracts/L2/GasPriceOracle.sol:GasPriceOracle
\"
,
\"
label
\"
:
\"
scalar
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
4
\"
,
\"
type
\"
:
\"
t_uint256
\"
},{
\"
astId
\"
:201
2,
\"
contract
\"
:
\"
contracts/L2/GasPriceOracle.sol:GasPriceOracle
\"
,
\"
label
\"
:
\"
decimals
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
5
\"
,
\"
type
\"
:
\"
t_uint256
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
}}}"
var
GasPriceOracleStorageLayout
=
new
(
solc
.
StorageLayout
)
var
GasPriceOracleStorageLayout
=
new
(
solc
.
StorageLayout
)
...
...
op-bindings/bindings/governancetoken_more.go
View file @
772a63b8
...
@@ -9,7 +9,7 @@ import (
...
@@ -9,7 +9,7 @@ import (
"github.com/ethereum-optimism/optimism/op-bindings/solc"
"github.com/ethereum-optimism/optimism/op-bindings/solc"
)
)
const
GovernanceTokenStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:30
072,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_balances
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_uint256)
\"
},{
\"
astId
\"
:30078,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_allowances
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_mapping(t_address,t_uint256))
\"
},{
\"
astId
\"
:30080,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_totalSupply
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
2
\"
,
\"
type
\"
:
\"
t_uint256
\"
},{
\"
astId
\"
:30082,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_name
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
3
\"
,
\"
type
\"
:
\"
t_string_storage
\"
},{
\"
astId
\"
:30084,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_symbol
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
4
\"
,
\"
type
\"
:
\"
t_string_storage
\"
},{
\"
astId
\"
:31449,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_nonces
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
5
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_struct(Counter)33635_storage)
\"
},{
\"
astId
\"
:31457,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_PERMIT_TYPEHASH_DEPRECATED_SLOT
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
6
\"
,
\"
type
\"
:
\"
t_bytes32
\"
},{
\"
astId
\"
:30790,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_delegates
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
7
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_address)
\"
},{
\"
astId
\"
:30796,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_checkpoints
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
8
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_array(t_struct(Checkpoint)30781_storage)dyn_storage)
\"
},{
\"
astId
\"
:30800,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_totalSupplyCheckpoints
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
9
\"
,
\"
type
\"
:
\"
t_array(t_struct(Checkpoint)30781_storage)dyn_storage
\"
},{
\"
astId
\"
:29722,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_owner
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
10
\"
,
\"
type
\"
:
\"
t_address
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_array(t_struct(Checkpoint)30781_storage)dyn_storage
\"
:{
\"
encoding
\"
:
\"
dynamic_array
\"
,
\"
label
\"
:
\"
struct ERC20Votes.Checkpoint[]
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_bytes32
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bytes32
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_mapping(t_address,t_address)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
address)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_address
\"
},
\"
t_mapping(t_address,t_array(t_struct(Checkpoint)30781_storage)dyn_storage)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
struct ERC20Votes.Checkpoint[])
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_array(t_struct(Checkpoint)30781_storage)dyn_storage
\"
},
\"
t_mapping(t_address,t_mapping(t_address,t_uint256))
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
mapping(address =
\u003e
uint256))
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_mapping(t_address,t_uint256)
\"
},
\"
t_mapping(t_address,t_struct(Counter)33635_storage)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
struct Counters.Counter)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_struct(Counter)33635_storage
\"
},
\"
t_mapping(t_address,t_uint256)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
uint256)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_uint256
\"
},
\"
t_string_storage
\"
:{
\"
encoding
\"
:
\"
bytes
\"
,
\"
label
\"
:
\"
string
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_struct(Checkpoint)30781_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
struct ERC20Votes.Checkpoint
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_struct(Counter)33635
_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
struct Counters.Counter
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint224
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint224
\"
,
\"
numberOfBytes
\"
:
\"
28
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint32
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint32
\"
,
\"
numberOfBytes
\"
:
\"
4
\"
}}}"
const
GovernanceTokenStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:30
104,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_balances
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_uint256)
\"
},{
\"
astId
\"
:30110,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_allowances
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_mapping(t_address,t_uint256))
\"
},{
\"
astId
\"
:30112,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_totalSupply
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
2
\"
,
\"
type
\"
:
\"
t_uint256
\"
},{
\"
astId
\"
:30114,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_name
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
3
\"
,
\"
type
\"
:
\"
t_string_storage
\"
},{
\"
astId
\"
:30116,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_symbol
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
4
\"
,
\"
type
\"
:
\"
t_string_storage
\"
},{
\"
astId
\"
:31481,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_nonces
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
5
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_struct(Counter)33667_storage)
\"
},{
\"
astId
\"
:31489,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_PERMIT_TYPEHASH_DEPRECATED_SLOT
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
6
\"
,
\"
type
\"
:
\"
t_bytes32
\"
},{
\"
astId
\"
:30822,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_delegates
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
7
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_address)
\"
},{
\"
astId
\"
:30828,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_checkpoints
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
8
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_array(t_struct(Checkpoint)30813_storage)dyn_storage)
\"
},{
\"
astId
\"
:30832,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_totalSupplyCheckpoints
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
9
\"
,
\"
type
\"
:
\"
t_array(t_struct(Checkpoint)30813_storage)dyn_storage
\"
},{
\"
astId
\"
:29754,
\"
contract
\"
:
\"
contracts/L2/GovernanceToken.sol:GovernanceToken
\"
,
\"
label
\"
:
\"
_owner
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
10
\"
,
\"
type
\"
:
\"
t_address
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_array(t_struct(Checkpoint)30813_storage)dyn_storage
\"
:{
\"
encoding
\"
:
\"
dynamic_array
\"
,
\"
label
\"
:
\"
struct ERC20Votes.Checkpoint[]
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_bytes32
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bytes32
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_mapping(t_address,t_address)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
address)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_address
\"
},
\"
t_mapping(t_address,t_array(t_struct(Checkpoint)30813_storage)dyn_storage)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
struct ERC20Votes.Checkpoint[])
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_array(t_struct(Checkpoint)30813_storage)dyn_storage
\"
},
\"
t_mapping(t_address,t_mapping(t_address,t_uint256))
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
mapping(address =
\u003e
uint256))
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_mapping(t_address,t_uint256)
\"
},
\"
t_mapping(t_address,t_struct(Counter)33667_storage)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
struct Counters.Counter)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_struct(Counter)33667_storage
\"
},
\"
t_mapping(t_address,t_uint256)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
uint256)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_uint256
\"
},
\"
t_string_storage
\"
:{
\"
encoding
\"
:
\"
bytes
\"
,
\"
label
\"
:
\"
string
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_struct(Checkpoint)30813_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
struct ERC20Votes.Checkpoint
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_struct(Counter)33667
_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
struct Counters.Counter
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint224
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint224
\"
,
\"
numberOfBytes
\"
:
\"
28
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint32
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint32
\"
,
\"
numberOfBytes
\"
:
\"
4
\"
}}}"
var
GovernanceTokenStorageLayout
=
new
(
solc
.
StorageLayout
)
var
GovernanceTokenStorageLayout
=
new
(
solc
.
StorageLayout
)
...
...
op-bindings/bindings/l1block_more.go
View file @
772a63b8
...
@@ -9,7 +9,7 @@ import (
...
@@ -9,7 +9,7 @@ import (
"github.com/ethereum-optimism/optimism/op-bindings/solc"
"github.com/ethereum-optimism/optimism/op-bindings/solc"
)
)
const
L1BlockStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:23
37,
\"
contract
\"
:
\"
contracts/L2/L1Block.sol:L1Block
\"
,
\"
label
\"
:
\"
number
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_uint64
\"
},{
\"
astId
\"
:2340,
\"
contract
\"
:
\"
contracts/L2/L1Block.sol:L1Block
\"
,
\"
label
\"
:
\"
timestamp
\"
,
\"
offset
\"
:8,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_uint64
\"
},{
\"
astId
\"
:2343,
\"
contract
\"
:
\"
contracts/L2/L1Block.sol:L1Block
\"
,
\"
label
\"
:
\"
basefee
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_uint256
\"
},{
\"
astId
\"
:2346,
\"
contract
\"
:
\"
contracts/L2/L1Block.sol:L1Block
\"
,
\"
label
\"
:
\"
hash
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
2
\"
,
\"
type
\"
:
\"
t_bytes32
\"
},{
\"
astId
\"
:234
9,
\"
contract
\"
:
\"
contracts/L2/L1Block.sol:L1Block
\"
,
\"
label
\"
:
\"
sequenceNumber
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
3
\"
,
\"
type
\"
:
\"
t_uint64
\"
}],
\"
types
\"
:{
\"
t_bytes32
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bytes32
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint64
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint64
\"
,
\"
numberOfBytes
\"
:
\"
8
\"
}}}"
const
L1BlockStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:23
47,
\"
contract
\"
:
\"
contracts/L2/L1Block.sol:L1Block
\"
,
\"
label
\"
:
\"
number
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_uint64
\"
},{
\"
astId
\"
:2350,
\"
contract
\"
:
\"
contracts/L2/L1Block.sol:L1Block
\"
,
\"
label
\"
:
\"
timestamp
\"
,
\"
offset
\"
:8,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_uint64
\"
},{
\"
astId
\"
:2353,
\"
contract
\"
:
\"
contracts/L2/L1Block.sol:L1Block
\"
,
\"
label
\"
:
\"
basefee
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_uint256
\"
},{
\"
astId
\"
:2356,
\"
contract
\"
:
\"
contracts/L2/L1Block.sol:L1Block
\"
,
\"
label
\"
:
\"
hash
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
2
\"
,
\"
type
\"
:
\"
t_bytes32
\"
},{
\"
astId
\"
:235
9,
\"
contract
\"
:
\"
contracts/L2/L1Block.sol:L1Block
\"
,
\"
label
\"
:
\"
sequenceNumber
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
3
\"
,
\"
type
\"
:
\"
t_uint64
\"
}],
\"
types
\"
:{
\"
t_bytes32
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bytes32
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint64
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint64
\"
,
\"
numberOfBytes
\"
:
\"
8
\"
}}}"
var
L1BlockStorageLayout
=
new
(
solc
.
StorageLayout
)
var
L1BlockStorageLayout
=
new
(
solc
.
StorageLayout
)
...
...
op-bindings/bindings/l1crossdomainmessenger.go
View file @
772a63b8
...
@@ -30,8 +30,8 @@ var (
...
@@ -30,8 +30,8 @@ var (
// L1CrossDomainMessengerMetaData contains all meta data concerning the L1CrossDomainMessenger contract.
// L1CrossDomainMessengerMetaData contains all meta data concerning the L1CrossDomainMessenger contract.
var
L1CrossDomainMessengerMetaData
=
&
bind
.
MetaData
{
var
L1CrossDomainMessengerMetaData
=
&
bind
.
MetaData
{
ABI
:
"[{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
contractOptimismPortal
\"
,
\"
name
\"
:
\"
_portal
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
constructor
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
msgHash
\"
,
\"
type
\"
:
\"
bytes32
\"
}],
\"
name
\"
:
\"
FailedRelayedMessage
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint8
\"
,
\"
name
\"
:
\"
version
\"
,
\"
type
\"
:
\"
uint8
\"
}],
\"
name
\"
:
\"
Initialized
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
previousOwner
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
newOwner
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
OwnershipTransferred
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
account
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
Paused
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
msgHash
\"
,
\"
type
\"
:
\"
bytes32
\"
}],
\"
name
\"
:
\"
RelayedMessage
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
target
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
sender
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
message
\"
,
\"
type
\"
:
\"
bytes
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
messageNonce
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
gasLimit
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
SentMessage
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
sender
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
value
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
SentMessageExtension1
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
account
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
Unpaused
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MESSAGE_VERSION
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint16
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint16
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MIN_GAS_CALLDATA_OVERHEAD
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint64
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint64
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MIN_GAS_CONSTANT_OVERHEAD
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint64
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint64
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MIN_GAS_DYNAMIC_OVERHEAD_DENOMINATOR
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint64
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint64
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MIN_GAS_DYNAMIC_OVERHEAD_NUMERATOR
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint64
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint64
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
OTHER_MESSENGER
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
PORTAL
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
contractOptimismPortal
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
_message
\"
,
\"
type
\"
:
\"
bytes
\"
},{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
_minGasLimit
\"
,
\"
type
\"
:
\"
uint32
\"
}],
\"
name
\"
:
\"
baseGas
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint64
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint64
\"
}],
\"
stateMutability
\"
:
\"
pure
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
initialize
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
messageNonce
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
owner
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
pause
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
paused
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
bool
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bool
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bytes32
\"
}],
\"
name
\"
:
\"
receivedMessages
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
bool
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bool
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_nonce
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_sender
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_target
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_value
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_minGasLimit
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
_message
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
relayMessage
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
payable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
renounceOwnership
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_target
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
_message
\"
,
\"
type
\"
:
\"
bytes
\"
},{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
_minGasLimit
\"
,
\"
type
\"
:
\"
uint32
\"
}],
\"
name
\"
:
\"
sendMessage
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
payable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bytes32
\"
}],
\"
name
\"
:
\"
successfulMessages
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
bool
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bool
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
newOwner
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
transferOwnership
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
unpause
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
version
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
string
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
xDomainMessageSender
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
}]"
,
ABI
:
"[{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
contractOptimismPortal
\"
,
\"
name
\"
:
\"
_portal
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
constructor
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
msgHash
\"
,
\"
type
\"
:
\"
bytes32
\"
}],
\"
name
\"
:
\"
FailedRelayedMessage
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint8
\"
,
\"
name
\"
:
\"
version
\"
,
\"
type
\"
:
\"
uint8
\"
}],
\"
name
\"
:
\"
Initialized
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
previousOwner
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
newOwner
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
OwnershipTransferred
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
account
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
Paused
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
msgHash
\"
,
\"
type
\"
:
\"
bytes32
\"
}],
\"
name
\"
:
\"
RelayedMessage
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
target
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
sender
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
message
\"
,
\"
type
\"
:
\"
bytes
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
messageNonce
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
gasLimit
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
SentMessage
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
sender
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
value
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
SentMessageExtension1
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
account
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
Unpaused
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MESSAGE_VERSION
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint16
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint16
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MIN_GAS_CALLDATA_OVERHEAD
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint64
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint64
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MIN_GAS_CONSTANT_OVERHEAD
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint64
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint64
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MIN_GAS_DYNAMIC_OVERHEAD_DENOMINATOR
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint64
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint64
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MIN_GAS_DYNAMIC_OVERHEAD_NUMERATOR
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint64
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint64
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
OTHER_MESSENGER
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
PORTAL
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
contractOptimismPortal
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
_message
\"
,
\"
type
\"
:
\"
bytes
\"
},{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
_minGasLimit
\"
,
\"
type
\"
:
\"
uint32
\"
}],
\"
name
\"
:
\"
baseGas
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint64
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint64
\"
}],
\"
stateMutability
\"
:
\"
pure
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[
{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_owner
\"
,
\"
type
\"
:
\"
address
\"
}
],
\"
name
\"
:
\"
initialize
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
messageNonce
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
owner
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
pause
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
paused
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
bool
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bool
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bytes32
\"
}],
\"
name
\"
:
\"
receivedMessages
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
bool
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bool
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_nonce
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_sender
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_target
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_value
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_minGasLimit
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
_message
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
relayMessage
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
payable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
renounceOwnership
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_target
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
_message
\"
,
\"
type
\"
:
\"
bytes
\"
},{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
_minGasLimit
\"
,
\"
type
\"
:
\"
uint32
\"
}],
\"
name
\"
:
\"
sendMessage
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
payable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bytes32
\"
}],
\"
name
\"
:
\"
successfulMessages
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
bool
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bool
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
newOwner
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
transferOwnership
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
unpause
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
version
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
string
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
xDomainMessageSender
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
}]"
,
Bin
:
"0x6101206040523480156200001257600080fd5b50604051620029
703803806200297083398101604081905262000035916200045b565b734200000000000000000000000000000000000007608052600060a081905260c052600160e0526001600160a01b03811661010052620000746200007b565b506200048d565b600054600160a81b900460ff1615808015620000a457506000546001600160a01b90910460ff16105b80620000db5750620000c130620001c860201b620012801760201c565b158015620000db5750600054600160a01b900460ff166001145b620001445760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff60a01b1916600160a01b179055801562000172576000805460ff60a81b1916600160a81b1790555b6200017c620001d7565b8015620001c5576000805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6001600160a01b03163b151590565b600054600160a81b900460ff16620002355760405162461bcd60e51b815260206004820152602b60248201526000805160206200295083398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200013b565b60cc80546001600160a01b03191661dead1790556200025362000273565b6200025d620002d1565b620002676200033a565b62000271620003a4565b565b600054600160a81b900460ff16620002715760405162461bcd60e51b815260206004820152602b60248201526000805160206200295083398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200013b565b600054600160a81b900460ff166200032f5760405162461bcd60e51b815260206004820152602b60248201526000805160206200295083398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200013b565b620002713362000409565b600054600160a81b900460ff16620003985760405162461bcd60e51b815260206004820152602b60248201526000805160206200295083398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200013b565b6065805460ff19169055565b600054600160a81b900460ff16620004025760405162461bcd60e51b815260206004820152602b60248201526000805160206200295083398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200013b565b6001609755565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200046e57600080fd5b81516001600160a01b03811681146200048657600080fd5b9392505050565b60805160a05160c05160e05161010051612454620004fc600039600081816101d5015281816112d9015281816117f70152818161185801526119240152600061077b0152600061075201526000610729015260008181610372015281816104b1015261182101526124546000f3fe6080604052600436106101755760003560e01c80637dea7cc3116100cb578063b1b1b2091161007f578063ecc7042811610059578063ecc70428146103f7578063f2fde38b1461045c578063f69f81511461047c57600080fd5b8063b1b1b20914610394578063b28ade25146103c4578063d764ad0b146103e457600080fd5b80638456cb59116100b05780638456cb59146103205780638da5cb5b146103355780639fce812c1461036057600080fd5b80637dea7cc3146102f45780638129fc1c1461030b57600080fd5b80633f4ba83a1161012d5780635c975abb116101075780635c975abb146102a65780636e296e45146102ca578063715018a6146102df57600080fd5b80633f4ba83a146102475780633f827a5a1461025c57806354fd4d501461028457600080fd5b80630ff754ea1161015e5780630ff754ea146101c35780632828d7e81461021c5780633dbb202b1461023257600080fd5b8063028f85f71461017a5780630c568498146101ad575b600080fd5b34801561018657600080fd5b5061018f601081565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156101b957600080fd5b5061018f6103e881565b3480156101cf57600080fd5b506101f77f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a4565b34801561022857600080fd5b5061018f6103f881565b610245610240366004611e07565b6104ac565b005b34801561025357600080fd5b50610245610710565b34801561026857600080fd5b50610271600181565b60405161ffff90911681526020016101a4565b34801561029057600080fd5b50610299610722565b6040516101a49190611ee8565b3480156102b257600080fd5b5060655460ff165b60405190151581526020016101a4565b3480156102d657600080fd5b506101f76107c5565b3480156102eb57600080fd5b506102456108b1565b34801561030057600080fd5b5061018f62030d4081565b34801561031757600080fd5b506102456108c3565b34801561032c57600080fd5b50610245610ac0565b34801561034157600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166101f7565b34801561036c57600080fd5b506101f77f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a057600080fd5b506102ba6103af366004611f02565b60cb6020526000908152604090205460ff1681565b3480156103d057600080fd5b5061018f6103df366004611f1b565b610ad0565b6102456103f2366004611f6f565b610b1c565b34801561040357600080fd5b5061044e60cd547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e010000000000000000000000000000000000000000000000000000000000001790565b6040519081526020016101a4565b34801561046857600080fd5b50610245610477366004611ff5565b6111cc565b34801561048857600080fd5b506102ba610497366004611f02565b60ce6020526000908152604090205460ff1681565b6105e57f00000000000000000000000000000000000000000000000000000000000000006104db858585610ad0565b347fd764ad0b0000000000000000000000000000000000000000000000000000000061054760cd547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e010000000000000000000000000000000000000000000000000000000000001790565b338a34898c8c604051602401610563979695949392919061205b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261129c565b8373ffffffffffffffffffffffffffffffffffffffff167fcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a33858561066a60cd547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e010000000000000000000000000000000000000000000000000000000000001790565b8660405161067c9594939291906120ba565b60405180910390a260405134815233907f8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d5469060200160405180910390a2505060cd80547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808216600101167fffff0000000000000000000000000000000000000000000000000000000000009091161790555050565b610718611351565b6107206113d2565b565b606061074d7f000000000000000000000000000000000000000000000000000000000000000061144f565b6107767f000000000000000000000000000000000000000000000000000000000000000061144f565b61079f7f000000000000000000000000000000000000000000000000000000000000000061144f565b6040516020016107b193929190612108565b604051602081830303815290604052905090565b60cc5460009073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff215301610894576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f43726f7373446f6d61696e4d657373656e6765723a2078446f6d61696e4d657360448201527f7361676553656e646572206973206e6f7420736574000000000000000000000060648201526084015b60405180910390fd5b5060cc5473ffffffffffffffffffffffffffffffffffffffff1690565b6108b9611351565b6107206000611584565b6000547501000000000000000000000000000000000000000000900460ff161580801561090e575060005460017401000000000000000000000000000000000000000090910460ff16105b806109405750303b158015610940575060005474010000000000000000000000000000000000000000900460ff166001145b6109cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161088b565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790558015610a5257600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790555b610a5a6115fb565b8015610abd57600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b610ac8611351565b6107206116f2565b600062030d40610ae16010856121ad565b6103e8610af66103f863ffffffff87166121ad565b610b00919061220c565b610b0a9190612233565b610b149190612233565b949350505050565b600260975403610b88576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161088b565b6002609755610b9561174d565b60f087901c60018114610c50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605560248201527f43726f7373446f6d61696e4d657373656e6765723a206f6e6c7920766572736960448201527f6f6e2031206d657373616765732061726520737570706f72746564206166746560648201527f722074686520426564726f636b20757067726164650000000000000000000000608482015260a40161088b565b6000610c96898989898989898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117ba92505050565b9050610ca06117dd565b15610cd857853414610cb457610cb461225f565b600081815260ce602052604090205460ff1615610cd357610cd361225f565b610e2a565b3415610d8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605060248201527f43726f7373446f6d61696e4d657373656e6765723a2076616c7565206d75737460448201527f206265207a65726f20756e6c657373206d6573736167652069732066726f6d2060648201527f612073797374656d206164647265737300000000000000000000000000000000608482015260a40161088b565b600081815260ce602052604090205460ff16610e2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f43726f7373446f6d61696e4d657373656e6765723a206d65737361676520636160448201527f6e6e6f74206265207265706c6179656400000000000000000000000000000000606482015260840161088b565b610e3387611901565b15610ee6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f43726f7373446f6d61696e4d657373656e6765723a2063616e6e6f742073656e60448201527f64206d65737361676520746f20626c6f636b65642073797374656d206164647260648201527f6573730000000000000000000000000000000000000000000000000000000000608482015260a40161088b565b600081815260cb602052604090205460ff1615610f85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f43726f7373446f6d61696e4d657373656e6765723a206d65737361676520686160448201527f7320616c7265616479206265656e2072656c6179656400000000000000000000606482015260840161088b565b610f9161afc88661228e565b5a1015611020576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f43726f7373446f6d61696e4d657373656e6765723a20696e737566666963696560448201527f6e742067617320746f2072656c6179206d657373616765000000000000000000606482015260840161088b565b60cc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a1617905560006110bc8861107461138861afc86122a6565b5a61107f91906122a6565b8988888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061197892505050565b60cc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead179055905080151560010361115757600082815260cb602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555183917f4641df4a962071e12719d8c8c8e5ac7fc4d97b927346a3d7a335b1f7517e133c91a26111b6565b600082815260ce602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555183917f99d0e048484baa1b1540b1367cb128acd7ab2946d1ed91ec10e3c85e4bf51b8f91a25b505060016097555050505050505050565b905090565b6111d4611351565b73ffffffffffffffffffffffffffffffffffffffff8116611277576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161088b565b610abd81611584565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6040517fe9e05c4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063e9e05c429084906113199088908390899060009089906004016122bd565b6000604051808303818588803b15801561133257600080fd5b505af1158015611346573d6000803e3d6000fd5b505050505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161088b565b6113da611992565b606580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b60608160000361149257505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156114bc57806114a681612315565b91506114b59050600a8361234d565b9150611496565b60008167ffffffffffffffff8111156114d7576114d7612361565b6040519080825280601f01601f191660200182016040528015611501576020820181803683370190505b5090505b8415610b14576115166001836122a6565b9150611523600a86612390565b61152e90603061228e565b60f81b818381518110611543576115436123a4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061157d600a8661234d565b9450611505565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000547501000000000000000000000000000000000000000000900460ff166116a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161088b565b60cc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead1790556116da6119fe565b6116e2611aa9565b6116ea611b5d565b610720611c32565b6116fa61174d565b606580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586114253390565b60655460ff1615610720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161088b565b60006117ca878787878787611ce4565b8051906020012090509695505050505050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480156111c757507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639bf62d826040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e591906123d3565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b600073ffffffffffffffffffffffffffffffffffffffff821630148061197257507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b92915050565b600080600080845160208601878a8af19695505050505050565b60655460ff16610720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015260640161088b565b6000547501000000000000000000000000000000000000000000900460ff16610720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161088b565b6000547501000000000000000000000000000000000000000000900460ff16611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161088b565b61072033611584565b6000547501000000000000000000000000000000000000000000900460ff16611c08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161088b565b606580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b6000547501000000000000000000000000000000000000000000900460ff16611cdd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161088b565b6001609755565b6060868686868686604051602401611d01969594939291906123f0565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd764ad0b0000000000000000000000000000000000000000000000000000000017905290509695505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610abd57600080fd5b60008083601f840112611db757600080fd5b50813567ffffffffffffffff811115611dcf57600080fd5b602083019150836020828501011115611de757600080fd5b9250929050565b803563ffffffff81168114611e0257600080fd5b919050565b60008060008060608587031215611e1d57600080fd5b8435611e2881611d83565b9350602085013567ffffffffffffffff811115611e4457600080fd5b611e5087828801611da5565b9094509250611e63905060408601611dee565b905092959194509250565b60005b83811015611e89578181015183820152602001611e71565b83811115611e98576000848401525b50505050565b60008151808452611eb6816020860160208601611e6e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611efb6020830184611e9e565b9392505050565b600060208284031215611f1457600080fd5b5035919050565b600080600060408486031215611f3057600080fd5b833567ffffffffffffffff811115611f4757600080fd5b611f5386828701611da5565b9094509250611f66905060208501611dee565b90509250925092565b600080600080600080600060c0888a031215611f8a57600080fd5b873596506020880135611f9c81611d83565b95506040880135611fac81611d83565b9450606088013593506080880135925060a088013567ffffffffffffffff811115611fd657600080fd5b611fe28a828b01611da5565b989b979a50959850939692959293505050565b60006020828403121561200757600080fd5b8135611efb81611d83565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b878152600073ffffffffffffffffffffffffffffffffffffffff808916602084015280881660408401525085606083015263ffffffff8516608083015260c060a08301526120ad60c083018486612012565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff861681526080602082015260006120ea608083018688612012565b905083604083015263ffffffff831660608301529695505050505050565b6000845161211a818460208901611e6e565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551612156816001850160208a01611e6e565b60019201918201528351612171816002840160208801611e6e565b0160020195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff808316818516818304811182151516156121d4576121d461217e565b02949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600067ffffffffffffffff80841680612227576122276121dd565b92169190910492915050565b600067ffffffffffffffff8083168185168083038211156122565761225661217e565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600082198211156122a1576122a161217e565b500190565b6000828210156122b8576122b861217e565b500390565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015267ffffffffffffffff84166040820152821515606082015260a06080820152600061230a60a0830184611e9e565b979650505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123465761234661217e565b5060010190565b60008261235c5761235c6121dd565b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008261239f5761239f6121dd565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156123e557600080fd5b8151611efb81611d83565b868152600073ffffffffffffffffffffffffffffffffffffffff808816602084015280871660408401525084606083015283608083015260c060a083015261243b60c0830184611e9e
565b9897505050505050505056fea164736f6c634300080f000a496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069"
,
Bin
:
"0x6101206040523480156200001257600080fd5b50604051620029
973803806200299783398101604081905262000035916200046a565b734200000000000000000000000000000000000007608052600060a081905260c0819052600160e0526001600160a01b0382166101005262000077906200007e565b506200049c565b600054600160a81b900460ff1615808015620000a757506000546001600160a01b90910460ff16105b80620000de5750620000c430620001d760201b620012981760201c565b158015620000de5750600054600160a01b900460ff166001145b620001475760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff60a01b1916600160a01b179055801562000175576000805460ff60a81b1916600160a81b1790555b6200017f620001e6565b6200018a8262000282565b8015620001d3576000805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b03163b151590565b600054600160a81b900460ff16620002445760405162461bcd60e51b815260206004820152602b60248201526000805160206200297783398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200013e565b60cc80546001600160a01b03191661dead17905562000262620002d4565b6200026c62000332565b620002766200039b565b6200028062000405565b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054600160a81b900460ff16620002805760405162461bcd60e51b815260206004820152602b60248201526000805160206200297783398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200013e565b600054600160a81b900460ff16620003905760405162461bcd60e51b815260206004820152602b60248201526000805160206200297783398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200013e565b620002803362000282565b600054600160a81b900460ff16620003f95760405162461bcd60e51b815260206004820152602b60248201526000805160206200297783398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200013e565b6065805460ff19169055565b600054600160a81b900460ff16620004635760405162461bcd60e51b815260206004820152602b60248201526000805160206200297783398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200013e565b6001609755565b6000602082840312156200047d57600080fd5b81516001600160a01b03811681146200049557600080fd5b9392505050565b60805160a05160c05160e0516101005161246c6200050b600039600081816101d5015281816112f10152818161180f01528181611870015261193c015260006107860152600061075d0152600061073401526000818161035d015281816104bc0152611839015261246c6000f3fe6080604052600436106101755760003560e01c80637dea7cc3116100cb578063b28ade251161007f578063ecc7042811610059578063ecc7042814610402578063f2fde38b14610467578063f69f81511461048757600080fd5b8063b28ade25146103af578063c4d66de8146103cf578063d764ad0b146103ef57600080fd5b80638da5cb5b116100b05780638da5cb5b146103205780639fce812c1461034b578063b1b1b2091461037f57600080fd5b80637dea7cc3146102f45780638456cb591461030b57600080fd5b80633f4ba83a1161012d5780635c975abb116101075780635c975abb146102a65780636e296e45146102ca578063715018a6146102df57600080fd5b80633f4ba83a146102475780633f827a5a1461025c57806354fd4d501461028457600080fd5b80630ff754ea1161015e5780630ff754ea146101c35780632828d7e81461021c5780633dbb202b1461023257600080fd5b8063028f85f71461017a5780630c568498146101ad575b600080fd5b34801561018657600080fd5b5061018f601081565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156101b957600080fd5b5061018f6103e881565b3480156101cf57600080fd5b506101f77f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a4565b34801561022857600080fd5b5061018f6103f881565b610245610240366004611e1f565b6104b7565b005b34801561025357600080fd5b5061024561071b565b34801561026857600080fd5b50610271600181565b60405161ffff90911681526020016101a4565b34801561029057600080fd5b5061029961072d565b6040516101a49190611f00565b3480156102b257600080fd5b5060655460ff165b60405190151581526020016101a4565b3480156102d657600080fd5b506101f76107d0565b3480156102eb57600080fd5b506102456108bc565b34801561030057600080fd5b5061018f62030d4081565b34801561031757600080fd5b506102456108ce565b34801561032c57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166101f7565b34801561035757600080fd5b506101f77f000000000000000000000000000000000000000000000000000000000000000081565b34801561038b57600080fd5b506102ba61039a366004611f1a565b60cb6020526000908152604090205460ff1681565b3480156103bb57600080fd5b5061018f6103ca366004611f33565b6108de565b3480156103db57600080fd5b506102456103ea366004611f87565b61092a565b6102456103fd366004611fa4565b610b31565b34801561040e57600080fd5b5061045960cd547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e010000000000000000000000000000000000000000000000000000000000001790565b6040519081526020016101a4565b34801561047357600080fd5b50610245610482366004611f87565b6111e1565b34801561049357600080fd5b506102ba6104a2366004611f1a565b60ce6020526000908152604090205460ff1681565b6105f07f00000000000000000000000000000000000000000000000000000000000000006104e68585856108de565b347fd764ad0b0000000000000000000000000000000000000000000000000000000061055260cd547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e010000000000000000000000000000000000000000000000000000000000001790565b338a34898c8c60405160240161056e9796959493929190612073565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526112b4565b8373ffffffffffffffffffffffffffffffffffffffff167fcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a33858561067560cd547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e010000000000000000000000000000000000000000000000000000000000001790565b866040516106879594939291906120d2565b60405180910390a260405134815233907f8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d5469060200160405180910390a2505060cd80547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808216600101167fffff0000000000000000000000000000000000000000000000000000000000009091161790555050565b610723611369565b61072b6113ea565b565b60606107587f0000000000000000000000000000000000000000000000000000000000000000611467565b6107817f0000000000000000000000000000000000000000000000000000000000000000611467565b6107aa7f0000000000000000000000000000000000000000000000000000000000000000611467565b6040516020016107bc93929190612120565b604051602081830303815290604052905090565b60cc5460009073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21530161089f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f43726f7373446f6d61696e4d657373656e6765723a2078446f6d61696e4d657360448201527f7361676553656e646572206973206e6f7420736574000000000000000000000060648201526084015b60405180910390fd5b5060cc5473ffffffffffffffffffffffffffffffffffffffff1690565b6108c4611369565b61072b600061159c565b6108d6611369565b61072b611613565b600062030d406108ef6010856121c5565b6103e86109046103f863ffffffff87166121c5565b61090e9190612224565b610918919061224b565b610922919061224b565b949350505050565b6000547501000000000000000000000000000000000000000000900460ff1615808015610975575060005460017401000000000000000000000000000000000000000090910460ff16105b806109a75750303b1580156109a7575060005474010000000000000000000000000000000000000000900460ff166001145b610a33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610896565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790558015610ab957600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790555b610ac161166e565b610aca8261159c565b8015610b2d57600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600260975403610b9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610896565b6002609755610baa611765565b60f087901c60018114610c65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605560248201527f43726f7373446f6d61696e4d657373656e6765723a206f6e6c7920766572736960448201527f6f6e2031206d657373616765732061726520737570706f72746564206166746560648201527f722074686520426564726f636b20757067726164650000000000000000000000608482015260a401610896565b6000610cab898989898989898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117d292505050565b9050610cb56117f5565b15610ced57853414610cc957610cc9612277565b600081815260ce602052604090205460ff1615610ce857610ce8612277565b610e3f565b3415610da1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605060248201527f43726f7373446f6d61696e4d657373656e6765723a2076616c7565206d75737460448201527f206265207a65726f20756e6c657373206d6573736167652069732066726f6d2060648201527f612073797374656d206164647265737300000000000000000000000000000000608482015260a401610896565b600081815260ce602052604090205460ff16610e3f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f43726f7373446f6d61696e4d657373656e6765723a206d65737361676520636160448201527f6e6e6f74206265207265706c61796564000000000000000000000000000000006064820152608401610896565b610e4887611919565b15610efb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f43726f7373446f6d61696e4d657373656e6765723a2063616e6e6f742073656e60448201527f64206d65737361676520746f20626c6f636b65642073797374656d206164647260648201527f6573730000000000000000000000000000000000000000000000000000000000608482015260a401610896565b600081815260cb602052604090205460ff1615610f9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f43726f7373446f6d61696e4d657373656e6765723a206d65737361676520686160448201527f7320616c7265616479206265656e2072656c61796564000000000000000000006064820152608401610896565b610fa661afc8866122a6565b5a1015611035576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f43726f7373446f6d61696e4d657373656e6765723a20696e737566666963696560448201527f6e742067617320746f2072656c6179206d6573736167650000000000000000006064820152608401610896565b60cc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a1617905560006110d18861108961138861afc86122be565b5a61109491906122be565b8988888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061199092505050565b60cc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead179055905080151560010361116c57600082815260cb602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555183917f4641df4a962071e12719d8c8c8e5ac7fc4d97b927346a3d7a335b1f7517e133c91a26111cb565b600082815260ce602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555183917f99d0e048484baa1b1540b1367cb128acd7ab2946d1ed91ec10e3c85e4bf51b8f91a25b505060016097555050505050505050565b905090565b6111e9611369565b73ffffffffffffffffffffffffffffffffffffffff811661128c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610896565b6112958161159c565b50565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6040517fe9e05c4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063e9e05c429084906113319088908390899060009089906004016122d5565b6000604051808303818588803b15801561134a57600080fd5b505af115801561135e573d6000803e3d6000fd5b505050505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff16331461072b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610896565b6113f26119aa565b606580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6060816000036114aa57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156114d457806114be8161232d565b91506114cd9050600a83612365565b91506114ae565b60008167ffffffffffffffff8111156114ef576114ef612379565b6040519080825280601f01601f191660200182016040528015611519576020820181803683370190505b5090505b84156109225761152e6001836122be565b915061153b600a866123a8565b6115469060306122a6565b60f81b81838151811061155b5761155b6123bc565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611595600a86612365565b945061151d565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61161b611765565b606580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861143d3390565b6000547501000000000000000000000000000000000000000000900460ff16611719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610896565b60cc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead17905561174d611a16565b611755611ac1565b61175d611b75565b61072b611c4a565b60655460ff161561072b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610896565b60006117e2878787878787611cfc565b8051906020012090509695505050505050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480156111dc57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639bf62d826040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fd91906123eb565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b600073ffffffffffffffffffffffffffffffffffffffff821630148061198a57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b92915050565b600080600080845160208601878a8af19695505050505050565b60655460ff1661072b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610896565b6000547501000000000000000000000000000000000000000000900460ff1661072b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610896565b6000547501000000000000000000000000000000000000000000900460ff16611b6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610896565b61072b3361159c565b6000547501000000000000000000000000000000000000000000900460ff16611c20576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610896565b606580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b6000547501000000000000000000000000000000000000000000900460ff16611cf5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610896565b6001609755565b6060868686868686604051602401611d1996959493929190612408565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd764ad0b0000000000000000000000000000000000000000000000000000000017905290509695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461129557600080fd5b60008083601f840112611dcf57600080fd5b50813567ffffffffffffffff811115611de757600080fd5b602083019150836020828501011115611dff57600080fd5b9250929050565b803563ffffffff81168114611e1a57600080fd5b919050565b60008060008060608587031215611e3557600080fd5b8435611e4081611d9b565b9350602085013567ffffffffffffffff811115611e5c57600080fd5b611e6887828801611dbd565b9094509250611e7b905060408601611e06565b905092959194509250565b60005b83811015611ea1578181015183820152602001611e89565b83811115611eb0576000848401525b50505050565b60008151808452611ece816020860160208601611e86565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611f136020830184611eb6565b9392505050565b600060208284031215611f2c57600080fd5b5035919050565b600080600060408486031215611f4857600080fd5b833567ffffffffffffffff811115611f5f57600080fd5b611f6b86828701611dbd565b9094509250611f7e905060208501611e06565b90509250925092565b600060208284031215611f9957600080fd5b8135611f1381611d9b565b600080600080600080600060c0888a031215611fbf57600080fd5b873596506020880135611fd181611d9b565b95506040880135611fe181611d9b565b9450606088013593506080880135925060a088013567ffffffffffffffff81111561200b57600080fd5b6120178a828b01611dbd565b989b979a50959850939692959293505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b878152600073ffffffffffffffffffffffffffffffffffffffff808916602084015280881660408401525085606083015263ffffffff8516608083015260c060a08301526120c560c08301848661202a565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152600061210260808301868861202a565b905083604083015263ffffffff831660608301529695505050505050565b60008451612132818460208901611e86565b80830190507f2e00000000000000000000000000000000000000000000000000000000000000808252855161216e816001850160208a01611e86565b60019201918201528351612189816002840160208801611e86565b0160020195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff808316818516818304811182151516156121ec576121ec612196565b02949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600067ffffffffffffffff8084168061223f5761223f6121f5565b92169190910492915050565b600067ffffffffffffffff80831681851680830382111561226e5761226e612196565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600082198211156122b9576122b9612196565b500190565b6000828210156122d0576122d0612196565b500390565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015267ffffffffffffffff84166040820152821515606082015260a06080820152600061232260a0830184611eb6565b979650505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361235e5761235e612196565b5060010190565b600082612374576123746121f5565b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000826123b7576123b76121f5565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156123fd57600080fd5b8151611f1381611d9b565b868152600073ffffffffffffffffffffffffffffffffffffffff808816602084015280871660408401525084606083015283608083015260c060a083015261245360c0830184611eb6
565b9897505050505050505056fea164736f6c634300080f000a496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069"
,
}
}
// L1CrossDomainMessengerABI is the input ABI used to generate the binding from.
// L1CrossDomainMessengerABI is the input ABI used to generate the binding from.
...
@@ -666,25 +666,25 @@ func (_L1CrossDomainMessenger *L1CrossDomainMessengerCallerSession) XDomainMessa
...
@@ -666,25 +666,25 @@ func (_L1CrossDomainMessenger *L1CrossDomainMessengerCallerSession) XDomainMessa
return
_L1CrossDomainMessenger
.
Contract
.
XDomainMessageSender
(
&
_L1CrossDomainMessenger
.
CallOpts
)
return
_L1CrossDomainMessenger
.
Contract
.
XDomainMessageSender
(
&
_L1CrossDomainMessenger
.
CallOpts
)
}
}
// Initialize is a paid mutator transaction binding the contract method 0x
8129fc1c
.
// Initialize is a paid mutator transaction binding the contract method 0x
c4d66de8
.
//
//
// Solidity: function initialize() returns()
// Solidity: function initialize(
address _owner
) returns()
func
(
_L1CrossDomainMessenger
*
L1CrossDomainMessengerTransactor
)
Initialize
(
opts
*
bind
.
TransactOpts
)
(
*
types
.
Transaction
,
error
)
{
func
(
_L1CrossDomainMessenger
*
L1CrossDomainMessengerTransactor
)
Initialize
(
opts
*
bind
.
TransactOpts
,
_owner
common
.
Address
)
(
*
types
.
Transaction
,
error
)
{
return
_L1CrossDomainMessenger
.
contract
.
Transact
(
opts
,
"initialize"
)
return
_L1CrossDomainMessenger
.
contract
.
Transact
(
opts
,
"initialize"
,
_owner
)
}
}
// Initialize is a paid mutator transaction binding the contract method 0x
8129fc1c
.
// Initialize is a paid mutator transaction binding the contract method 0x
c4d66de8
.
//
//
// Solidity: function initialize() returns()
// Solidity: function initialize(
address _owner
) returns()
func
(
_L1CrossDomainMessenger
*
L1CrossDomainMessengerSession
)
Initialize
()
(
*
types
.
Transaction
,
error
)
{
func
(
_L1CrossDomainMessenger
*
L1CrossDomainMessengerSession
)
Initialize
(
_owner
common
.
Address
)
(
*
types
.
Transaction
,
error
)
{
return
_L1CrossDomainMessenger
.
Contract
.
Initialize
(
&
_L1CrossDomainMessenger
.
TransactOpts
)
return
_L1CrossDomainMessenger
.
Contract
.
Initialize
(
&
_L1CrossDomainMessenger
.
TransactOpts
,
_owner
)
}
}
// Initialize is a paid mutator transaction binding the contract method 0x
8129fc1c
.
// Initialize is a paid mutator transaction binding the contract method 0x
c4d66de8
.
//
//
// Solidity: function initialize() returns()
// Solidity: function initialize(
address _owner
) returns()
func
(
_L1CrossDomainMessenger
*
L1CrossDomainMessengerTransactorSession
)
Initialize
()
(
*
types
.
Transaction
,
error
)
{
func
(
_L1CrossDomainMessenger
*
L1CrossDomainMessengerTransactorSession
)
Initialize
(
_owner
common
.
Address
)
(
*
types
.
Transaction
,
error
)
{
return
_L1CrossDomainMessenger
.
Contract
.
Initialize
(
&
_L1CrossDomainMessenger
.
TransactOpts
)
return
_L1CrossDomainMessenger
.
Contract
.
Initialize
(
&
_L1CrossDomainMessenger
.
TransactOpts
,
_owner
)
}
}
// Pause is a paid mutator transaction binding the contract method 0x8456cb59.
// Pause is a paid mutator transaction binding the contract method 0x8456cb59.
...
...
op-bindings/bindings/l1crossdomainmessenger_more.go
View file @
772a63b8
...
@@ -9,11 +9,11 @@ import (
...
@@ -9,11 +9,11 @@ import (
"github.com/ethereum-optimism/optimism/op-bindings/solc"
"github.com/ethereum-optimism/optimism/op-bindings/solc"
)
)
const
L1CrossDomainMessengerStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:259
11,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
spacer_0_0_20
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:29099,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_initialized
\"
,
\"
offset
\"
:20,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_uint8
\"
},{
\"
astId
\"
:29102,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_initializing
\"
,
\"
offset
\"
:21,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_bool
\"
},{
\"
astId
\"
:29713,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_array(t_uint256)50_storage
\"
},{
\"
astId
\"
:28971,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_owner
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
51
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:29091,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
52
\"
,
\"
type
\"
:
\"
t_array(t_uint256)49_storage
\"
},{
\"
astId
\"
:29264,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_paused
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
101
\"
,
\"
type
\"
:
\"
t_bool
\"
},{
\"
astId
\"
:29369,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
102
\"
,
\"
type
\"
:
\"
t_array(t_uint256)49_storage
\"
},{
\"
astId
\"
:29384,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_status
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
151
\"
,
\"
type
\"
:
\"
t_uint256
\"
},{
\"
astId
\"
:29428,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
152
\"
,
\"
type
\"
:
\"
t_array(t_uint256)49_storage
\"
},{
\"
astId
\"
:25963,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
spacer_201_0_32
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
201
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
},{
\"
astId
\"
:25968,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
spacer_202_0_32
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
202
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
},{
\"
astId
\"
:25973,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
successfulMessages
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
203
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
},{
\"
astId
\"
:25976,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
xDomainMsgSender
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
204
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:25979,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
msgNonce
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
205
\"
,
\"
type
\"
:
\"
t_uint240
\"
},{
\"
astId
\"
:25984,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
receivedMessages
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
206
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
},{
\"
astId
\"
:25989
,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
207
\"
,
\"
type
\"
:
\"
t_array(t_uint256)42_storage
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_array(t_uint256)42_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[42]
\"
,
\"
numberOfBytes
\"
:
\"
1344
\"
},
\"
t_array(t_uint256)49_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[49]
\"
,
\"
numberOfBytes
\"
:
\"
1568
\"
},
\"
t_array(t_uint256)50_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[50]
\"
,
\"
numberOfBytes
\"
:
\"
1600
\"
},
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_bytes32
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bytes32
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_mapping(t_bytes32,t_bool)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(bytes32 =
\u003e
bool)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_bytes32
\"
,
\"
value
\"
:
\"
t_bool
\"
},
\"
t_uint240
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint240
\"
,
\"
numberOfBytes
\"
:
\"
30
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint8
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint8
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
}}}"
const
L1CrossDomainMessengerStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:259
43,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
spacer_0_0_20
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:29131,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_initialized
\"
,
\"
offset
\"
:20,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_uint8
\"
},{
\"
astId
\"
:29134,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_initializing
\"
,
\"
offset
\"
:21,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_bool
\"
},{
\"
astId
\"
:29745,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_array(t_uint256)50_storage
\"
},{
\"
astId
\"
:29003,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_owner
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
51
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:29123,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
52
\"
,
\"
type
\"
:
\"
t_array(t_uint256)49_storage
\"
},{
\"
astId
\"
:29296,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_paused
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
101
\"
,
\"
type
\"
:
\"
t_bool
\"
},{
\"
astId
\"
:29401,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
102
\"
,
\"
type
\"
:
\"
t_array(t_uint256)49_storage
\"
},{
\"
astId
\"
:29416,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_status
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
151
\"
,
\"
type
\"
:
\"
t_uint256
\"
},{
\"
astId
\"
:29460,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
152
\"
,
\"
type
\"
:
\"
t_array(t_uint256)49_storage
\"
},{
\"
astId
\"
:25995,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
spacer_201_0_32
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
201
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
},{
\"
astId
\"
:26000,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
spacer_202_0_32
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
202
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
},{
\"
astId
\"
:26005,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
successfulMessages
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
203
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
},{
\"
astId
\"
:26008,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
xDomainMsgSender
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
204
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:26011,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
msgNonce
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
205
\"
,
\"
type
\"
:
\"
t_uint240
\"
},{
\"
astId
\"
:26016,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
receivedMessages
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
206
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
},{
\"
astId
\"
:26021
,
\"
contract
\"
:
\"
contracts/L1/L1CrossDomainMessenger.sol:L1CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
207
\"
,
\"
type
\"
:
\"
t_array(t_uint256)42_storage
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_array(t_uint256)42_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[42]
\"
,
\"
numberOfBytes
\"
:
\"
1344
\"
},
\"
t_array(t_uint256)49_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[49]
\"
,
\"
numberOfBytes
\"
:
\"
1568
\"
},
\"
t_array(t_uint256)50_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[50]
\"
,
\"
numberOfBytes
\"
:
\"
1600
\"
},
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_bytes32
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bytes32
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_mapping(t_bytes32,t_bool)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(bytes32 =
\u003e
bool)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_bytes32
\"
,
\"
value
\"
:
\"
t_bool
\"
},
\"
t_uint240
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint240
\"
,
\"
numberOfBytes
\"
:
\"
30
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint8
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint8
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
}}}"
var
L1CrossDomainMessengerStorageLayout
=
new
(
solc
.
StorageLayout
)
var
L1CrossDomainMessengerStorageLayout
=
new
(
solc
.
StorageLayout
)
var
L1CrossDomainMessengerDeployedBin
=
"0x6080604052600436106101755760003560e01c80637dea7cc3116100cb578063b
1b1b2091161007f578063ecc7042811610059578063ecc70428146103f7578063f2fde38b1461045c578063f69f81511461047c57600080fd5b8063b1b1b20914610394578063b28ade25146103c4578063d764ad0b146103e457600080fd5b80638456cb59116100b05780638456cb59146103205780638da5cb5b146103355780639fce812c1461036057600080fd5b80637dea7cc3146102f45780638129fc1c1461030b57600080fd5b80633f4ba83a1161012d5780635c975abb116101075780635c975abb146102a65780636e296e45146102ca578063715018a6146102df57600080fd5b80633f4ba83a146102475780633f827a5a1461025c57806354fd4d501461028457600080fd5b80630ff754ea1161015e5780630ff754ea146101c35780632828d7e81461021c5780633dbb202b1461023257600080fd5b8063028f85f71461017a5780630c568498146101ad575b600080fd5b34801561018657600080fd5b5061018f601081565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156101b957600080fd5b5061018f6103e881565b3480156101cf57600080fd5b506101f77f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a4565b34801561022857600080fd5b5061018f6103f881565b610245610240366004611e07565b6104ac565b005b34801561025357600080fd5b50610245610710565b34801561026857600080fd5b50610271600181565b60405161ffff90911681526020016101a4565b34801561029057600080fd5b50610299610722565b6040516101a49190611ee8565b3480156102b257600080fd5b5060655460ff165b60405190151581526020016101a4565b3480156102d657600080fd5b506101f76107c5565b3480156102eb57600080fd5b506102456108b1565b34801561030057600080fd5b5061018f62030d4081565b34801561031757600080fd5b506102456108c3565b34801561032c57600080fd5b50610245610ac0565b34801561034157600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166101f7565b34801561036c57600080fd5b506101f77f000000000000000000000000000000000000000000000000000000000000000081565b3480156103a057600080fd5b506102ba6103af366004611f02565b60cb6020526000908152604090205460ff1681565b3480156103d057600080fd5b5061018f6103df366004611f1b565b610ad0565b6102456103f2366004611f6f565b610b1c565b34801561040357600080fd5b5061044e60cd547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e010000000000000000000000000000000000000000000000000000000000001790565b6040519081526020016101a4565b34801561046857600080fd5b50610245610477366004611ff5565b6111cc565b34801561048857600080fd5b506102ba610497366004611f02565b60ce6020526000908152604090205460ff1681565b6105e57f00000000000000000000000000000000000000000000000000000000000000006104db858585610ad0565b347fd764ad0b0000000000000000000000000000000000000000000000000000000061054760cd547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e010000000000000000000000000000000000000000000000000000000000001790565b338a34898c8c604051602401610563979695949392919061205b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261129c565b8373ffffffffffffffffffffffffffffffffffffffff167fcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a33858561066a60cd547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e010000000000000000000000000000000000000000000000000000000000001790565b8660405161067c9594939291906120ba565b60405180910390a260405134815233907f8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d5469060200160405180910390a2505060cd80547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808216600101167fffff0000000000000000000000000000000000000000000000000000000000009091161790555050565b610718611351565b6107206113d2565b565b606061074d7f000000000000000000000000000000000000000000000000000000000000000061144f565b6107767f000000000000000000000000000000000000000000000000000000000000000061144f565b61079f7f000000000000000000000000000000000000000000000000000000000000000061144f565b6040516020016107b193929190612108565b604051602081830303815290604052905090565b60cc5460009073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff215301610894576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f43726f7373446f6d61696e4d657373656e6765723a2078446f6d61696e4d657360448201527f7361676553656e646572206973206e6f7420736574000000000000000000000060648201526084015b60405180910390fd5b5060cc5473ffffffffffffffffffffffffffffffffffffffff1690565b6108b9611351565b6107206000611584565b6000547501000000000000000000000000000000000000000000900460ff161580801561090e575060005460017401000000000000000000000000000000000000000090910460ff16105b806109405750303b158015610940575060005474010000000000000000000000000000000000000000900460ff166001145b6109cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161088b565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790558015610a5257600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790555b610a5a6115fb565b8015610abd57600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b610ac8611351565b6107206116f2565b600062030d40610ae16010856121ad565b6103e8610af66103f863ffffffff87166121ad565b610b00919061220c565b610b0a9190612233565b610b149190612233565b949350505050565b600260975403610b88576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161088b565b6002609755610b9561174d565b60f087901c60018114610c50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605560248201527f43726f7373446f6d61696e4d657373656e6765723a206f6e6c7920766572736960448201527f6f6e2031206d657373616765732061726520737570706f72746564206166746560648201527f722074686520426564726f636b20757067726164650000000000000000000000608482015260a40161088b565b6000610c96898989898989898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117ba92505050565b9050610ca06117dd565b15610cd857853414610cb457610cb461225f565b600081815260ce602052604090205460ff1615610cd357610cd361225f565b610e2a565b3415610d8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605060248201527f43726f7373446f6d61696e4d657373656e6765723a2076616c7565206d75737460448201527f206265207a65726f20756e6c657373206d6573736167652069732066726f6d2060648201527f612073797374656d206164647265737300000000000000000000000000000000608482015260a40161088b565b600081815260ce602052604090205460ff16610e2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f43726f7373446f6d61696e4d657373656e6765723a206d65737361676520636160448201527f6e6e6f74206265207265706c6179656400000000000000000000000000000000606482015260840161088b565b610e3387611901565b15610ee6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f43726f7373446f6d61696e4d657373656e6765723a2063616e6e6f742073656e60448201527f64206d65737361676520746f20626c6f636b65642073797374656d206164647260648201527f6573730000000000000000000000000000000000000000000000000000000000608482015260a40161088b565b600081815260cb602052604090205460ff1615610f85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f43726f7373446f6d61696e4d657373656e6765723a206d65737361676520686160448201527f7320616c7265616479206265656e2072656c6179656400000000000000000000606482015260840161088b565b610f9161afc88661228e565b5a1015611020576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f43726f7373446f6d61696e4d657373656e6765723a20696e737566666963696560448201527f6e742067617320746f2072656c6179206d657373616765000000000000000000606482015260840161088b565b60cc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a1617905560006110bc8861107461138861afc86122a6565b5a61107f91906122a6565b8988888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061197892505050565b60cc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead179055905080151560010361115757600082815260cb602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555183917f4641df4a962071e12719d8c8c8e5ac7fc4d97b927346a3d7a335b1f7517e133c91a26111b6565b600082815260ce602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555183917f99d0e048484baa1b1540b1367cb128acd7ab2946d1ed91ec10e3c85e4bf51b8f91a25b505060016097555050505050505050565b905090565b6111d4611351565b73ffffffffffffffffffffffffffffffffffffffff8116611277576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161088b565b610abd81611584565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6040517fe9e05c4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063e9e05c429084906113199088908390899060009089906004016122bd565b6000604051808303818588803b15801561133257600080fd5b505af1158015611346573d6000803e3d6000fd5b505050505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161088b565b6113da611992565b606580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b60608160000361149257505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156114bc57806114a681612315565b91506114b59050600a8361234d565b9150611496565b60008167ffffffffffffffff8111156114d7576114d7612361565b6040519080825280601f01601f191660200182016040528015611501576020820181803683370190505b5090505b8415610b14576115166001836122a6565b9150611523600a86612390565b61152e90603061228e565b60f81b818381518110611543576115436123a4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061157d600a8661234d565b9450611505565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000547501000000000000000000000000000000000000000000900460ff166116a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161088b565b60cc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead1790556116da6119fe565b6116e2611aa9565b6116ea611b5d565b610720611c32565b6116fa61174d565b606580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586114253390565b60655460ff1615610720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161088b565b60006117ca878787878787611ce4565b8051906020012090509695505050505050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480156111c757507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639bf62d826040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e591906123d3565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b600073ffffffffffffffffffffffffffffffffffffffff821630148061197257507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b92915050565b600080600080845160208601878a8af19695505050505050565b60655460ff16610720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015260640161088b565b6000547501000000000000000000000000000000000000000000900460ff16610720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161088b565b6000547501000000000000000000000000000000000000000000900460ff16611b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161088b565b61072033611584565b6000547501000000000000000000000000000000000000000000900460ff16611c08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161088b565b606580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b6000547501000000000000000000000000000000000000000000900460ff16611cdd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161088b565b6001609755565b6060868686868686604051602401611d01969594939291906123f0565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd764ad0b0000000000000000000000000000000000000000000000000000000017905290509695505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610abd57600080fd5b60008083601f840112611db757600080fd5b50813567ffffffffffffffff811115611dcf57600080fd5b602083019150836020828501011115611de757600080fd5b9250929050565b803563ffffffff81168114611e0257600080fd5b919050565b60008060008060608587031215611e1d57600080fd5b8435611e2881611d83565b9350602085013567ffffffffffffffff811115611e4457600080fd5b611e5087828801611da5565b9094509250611e63905060408601611dee565b905092959194509250565b60005b83811015611e89578181015183820152602001611e71565b83811115611e98576000848401525b50505050565b60008151808452611eb6816020860160208601611e6e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611efb6020830184611e9e565b9392505050565b600060208284031215611f1457600080fd5b5035919050565b600080600060408486031215611f3057600080fd5b833567ffffffffffffffff811115611f4757600080fd5b611f5386828701611da5565b9094509250611f66905060208501611dee565b90509250925092565b600080600080600080600060c0888a031215611f8a57600080fd5b873596506020880135611f9c81611d83565b95506040880135611fac81611d83565b9450606088013593506080880135925060a088013567ffffffffffffffff811115611fd657600080fd5b611fe28a828b01611da5565b989b979a50959850939692959293505050565b60006020828403121561200757600080fd5b8135611efb81611d83565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b878152600073ffffffffffffffffffffffffffffffffffffffff808916602084015280881660408401525085606083015263ffffffff8516608083015260c060a08301526120ad60c083018486612012565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff861681526080602082015260006120ea608083018688612012565b905083604083015263ffffffff831660608301529695505050505050565b6000845161211a818460208901611e6e565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551612156816001850160208a01611e6e565b60019201918201528351612171816002840160208801611e6e565b0160020195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff808316818516818304811182151516156121d4576121d461217e565b02949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600067ffffffffffffffff80841680612227576122276121dd565b92169190910492915050565b600067ffffffffffffffff8083168185168083038211156122565761225661217e565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600082198211156122a1576122a161217e565b500190565b6000828210156122b8576122b861217e565b500390565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015267ffffffffffffffff84166040820152821515606082015260a06080820152600061230a60a0830184611e9e565b979650505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123465761234661217e565b5060010190565b60008261235c5761235c6121dd565b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008261239f5761239f6121dd565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156123e557600080fd5b8151611efb81611d83565b868152600073ffffffffffffffffffffffffffffffffffffffff808816602084015280871660408401525084606083015283608083015260c060a083015261243b60c0830184611e9e
565b9897505050505050505056fea164736f6c634300080f000a"
var
L1CrossDomainMessengerDeployedBin
=
"0x6080604052600436106101755760003560e01c80637dea7cc3116100cb578063b
28ade251161007f578063ecc7042811610059578063ecc7042814610402578063f2fde38b14610467578063f69f81511461048757600080fd5b8063b28ade25146103af578063c4d66de8146103cf578063d764ad0b146103ef57600080fd5b80638da5cb5b116100b05780638da5cb5b146103205780639fce812c1461034b578063b1b1b2091461037f57600080fd5b80637dea7cc3146102f45780638456cb591461030b57600080fd5b80633f4ba83a1161012d5780635c975abb116101075780635c975abb146102a65780636e296e45146102ca578063715018a6146102df57600080fd5b80633f4ba83a146102475780633f827a5a1461025c57806354fd4d501461028457600080fd5b80630ff754ea1161015e5780630ff754ea146101c35780632828d7e81461021c5780633dbb202b1461023257600080fd5b8063028f85f71461017a5780630c568498146101ad575b600080fd5b34801561018657600080fd5b5061018f601081565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156101b957600080fd5b5061018f6103e881565b3480156101cf57600080fd5b506101f77f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a4565b34801561022857600080fd5b5061018f6103f881565b610245610240366004611e1f565b6104b7565b005b34801561025357600080fd5b5061024561071b565b34801561026857600080fd5b50610271600181565b60405161ffff90911681526020016101a4565b34801561029057600080fd5b5061029961072d565b6040516101a49190611f00565b3480156102b257600080fd5b5060655460ff165b60405190151581526020016101a4565b3480156102d657600080fd5b506101f76107d0565b3480156102eb57600080fd5b506102456108bc565b34801561030057600080fd5b5061018f62030d4081565b34801561031757600080fd5b506102456108ce565b34801561032c57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166101f7565b34801561035757600080fd5b506101f77f000000000000000000000000000000000000000000000000000000000000000081565b34801561038b57600080fd5b506102ba61039a366004611f1a565b60cb6020526000908152604090205460ff1681565b3480156103bb57600080fd5b5061018f6103ca366004611f33565b6108de565b3480156103db57600080fd5b506102456103ea366004611f87565b61092a565b6102456103fd366004611fa4565b610b31565b34801561040e57600080fd5b5061045960cd547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e010000000000000000000000000000000000000000000000000000000000001790565b6040519081526020016101a4565b34801561047357600080fd5b50610245610482366004611f87565b6111e1565b34801561049357600080fd5b506102ba6104a2366004611f1a565b60ce6020526000908152604090205460ff1681565b6105f07f00000000000000000000000000000000000000000000000000000000000000006104e68585856108de565b347fd764ad0b0000000000000000000000000000000000000000000000000000000061055260cd547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e010000000000000000000000000000000000000000000000000000000000001790565b338a34898c8c60405160240161056e9796959493929190612073565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526112b4565b8373ffffffffffffffffffffffffffffffffffffffff167fcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a33858561067560cd547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e010000000000000000000000000000000000000000000000000000000000001790565b866040516106879594939291906120d2565b60405180910390a260405134815233907f8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d5469060200160405180910390a2505060cd80547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808216600101167fffff0000000000000000000000000000000000000000000000000000000000009091161790555050565b610723611369565b61072b6113ea565b565b60606107587f0000000000000000000000000000000000000000000000000000000000000000611467565b6107817f0000000000000000000000000000000000000000000000000000000000000000611467565b6107aa7f0000000000000000000000000000000000000000000000000000000000000000611467565b6040516020016107bc93929190612120565b604051602081830303815290604052905090565b60cc5460009073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21530161089f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f43726f7373446f6d61696e4d657373656e6765723a2078446f6d61696e4d657360448201527f7361676553656e646572206973206e6f7420736574000000000000000000000060648201526084015b60405180910390fd5b5060cc5473ffffffffffffffffffffffffffffffffffffffff1690565b6108c4611369565b61072b600061159c565b6108d6611369565b61072b611613565b600062030d406108ef6010856121c5565b6103e86109046103f863ffffffff87166121c5565b61090e9190612224565b610918919061224b565b610922919061224b565b949350505050565b6000547501000000000000000000000000000000000000000000900460ff1615808015610975575060005460017401000000000000000000000000000000000000000090910460ff16105b806109a75750303b1580156109a7575060005474010000000000000000000000000000000000000000900460ff166001145b610a33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610896565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790558015610ab957600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790555b610ac161166e565b610aca8261159c565b8015610b2d57600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b600260975403610b9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610896565b6002609755610baa611765565b60f087901c60018114610c65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605560248201527f43726f7373446f6d61696e4d657373656e6765723a206f6e6c7920766572736960448201527f6f6e2031206d657373616765732061726520737570706f72746564206166746560648201527f722074686520426564726f636b20757067726164650000000000000000000000608482015260a401610896565b6000610cab898989898989898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117d292505050565b9050610cb56117f5565b15610ced57853414610cc957610cc9612277565b600081815260ce602052604090205460ff1615610ce857610ce8612277565b610e3f565b3415610da1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605060248201527f43726f7373446f6d61696e4d657373656e6765723a2076616c7565206d75737460448201527f206265207a65726f20756e6c657373206d6573736167652069732066726f6d2060648201527f612073797374656d206164647265737300000000000000000000000000000000608482015260a401610896565b600081815260ce602052604090205460ff16610e3f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f43726f7373446f6d61696e4d657373656e6765723a206d65737361676520636160448201527f6e6e6f74206265207265706c61796564000000000000000000000000000000006064820152608401610896565b610e4887611919565b15610efb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f43726f7373446f6d61696e4d657373656e6765723a2063616e6e6f742073656e60448201527f64206d65737361676520746f20626c6f636b65642073797374656d206164647260648201527f6573730000000000000000000000000000000000000000000000000000000000608482015260a401610896565b600081815260cb602052604090205460ff1615610f9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f43726f7373446f6d61696e4d657373656e6765723a206d65737361676520686160448201527f7320616c7265616479206265656e2072656c61796564000000000000000000006064820152608401610896565b610fa661afc8866122a6565b5a1015611035576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f43726f7373446f6d61696e4d657373656e6765723a20696e737566666963696560448201527f6e742067617320746f2072656c6179206d6573736167650000000000000000006064820152608401610896565b60cc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a1617905560006110d18861108961138861afc86122be565b5a61109491906122be565b8988888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061199092505050565b60cc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead179055905080151560010361116c57600082815260cb602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555183917f4641df4a962071e12719d8c8c8e5ac7fc4d97b927346a3d7a335b1f7517e133c91a26111cb565b600082815260ce602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555183917f99d0e048484baa1b1540b1367cb128acd7ab2946d1ed91ec10e3c85e4bf51b8f91a25b505060016097555050505050505050565b905090565b6111e9611369565b73ffffffffffffffffffffffffffffffffffffffff811661128c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610896565b6112958161159c565b50565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6040517fe9e05c4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063e9e05c429084906113319088908390899060009089906004016122d5565b6000604051808303818588803b15801561134a57600080fd5b505af115801561135e573d6000803e3d6000fd5b505050505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff16331461072b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610896565b6113f26119aa565b606580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6060816000036114aa57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156114d457806114be8161232d565b91506114cd9050600a83612365565b91506114ae565b60008167ffffffffffffffff8111156114ef576114ef612379565b6040519080825280601f01601f191660200182016040528015611519576020820181803683370190505b5090505b84156109225761152e6001836122be565b915061153b600a866123a8565b6115469060306122a6565b60f81b81838151811061155b5761155b6123bc565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611595600a86612365565b945061151d565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61161b611765565b606580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861143d3390565b6000547501000000000000000000000000000000000000000000900460ff16611719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610896565b60cc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead17905561174d611a16565b611755611ac1565b61175d611b75565b61072b611c4a565b60655460ff161561072b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610896565b60006117e2878787878787611cfc565b8051906020012090509695505050505050565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480156111dc57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639bf62d826040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fd91906123eb565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b600073ffffffffffffffffffffffffffffffffffffffff821630148061198a57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b92915050565b600080600080845160208601878a8af19695505050505050565b60655460ff1661072b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610896565b6000547501000000000000000000000000000000000000000000900460ff1661072b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610896565b6000547501000000000000000000000000000000000000000000900460ff16611b6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610896565b61072b3361159c565b6000547501000000000000000000000000000000000000000000900460ff16611c20576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610896565b606580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b6000547501000000000000000000000000000000000000000000900460ff16611cf5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610896565b6001609755565b6060868686868686604051602401611d1996959493929190612408565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd764ad0b0000000000000000000000000000000000000000000000000000000017905290509695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461129557600080fd5b60008083601f840112611dcf57600080fd5b50813567ffffffffffffffff811115611de757600080fd5b602083019150836020828501011115611dff57600080fd5b9250929050565b803563ffffffff81168114611e1a57600080fd5b919050565b60008060008060608587031215611e3557600080fd5b8435611e4081611d9b565b9350602085013567ffffffffffffffff811115611e5c57600080fd5b611e6887828801611dbd565b9094509250611e7b905060408601611e06565b905092959194509250565b60005b83811015611ea1578181015183820152602001611e89565b83811115611eb0576000848401525b50505050565b60008151808452611ece816020860160208601611e86565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611f136020830184611eb6565b9392505050565b600060208284031215611f2c57600080fd5b5035919050565b600080600060408486031215611f4857600080fd5b833567ffffffffffffffff811115611f5f57600080fd5b611f6b86828701611dbd565b9094509250611f7e905060208501611e06565b90509250925092565b600060208284031215611f9957600080fd5b8135611f1381611d9b565b600080600080600080600060c0888a031215611fbf57600080fd5b873596506020880135611fd181611d9b565b95506040880135611fe181611d9b565b9450606088013593506080880135925060a088013567ffffffffffffffff81111561200b57600080fd5b6120178a828b01611dbd565b989b979a50959850939692959293505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b878152600073ffffffffffffffffffffffffffffffffffffffff808916602084015280881660408401525085606083015263ffffffff8516608083015260c060a08301526120c560c08301848661202a565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152600061210260808301868861202a565b905083604083015263ffffffff831660608301529695505050505050565b60008451612132818460208901611e86565b80830190507f2e00000000000000000000000000000000000000000000000000000000000000808252855161216e816001850160208a01611e86565b60019201918201528351612189816002840160208801611e86565b0160020195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff808316818516818304811182151516156121ec576121ec612196565b02949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600067ffffffffffffffff8084168061223f5761223f6121f5565b92169190910492915050565b600067ffffffffffffffff80831681851680830382111561226e5761226e612196565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600082198211156122b9576122b9612196565b500190565b6000828210156122d0576122d0612196565b500390565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015267ffffffffffffffff84166040820152821515606082015260a06080820152600061232260a0830184611eb6565b979650505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361235e5761235e612196565b5060010190565b600082612374576123746121f5565b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000826123b7576123b76121f5565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156123fd57600080fd5b8151611f1381611d9b565b868152600073ffffffffffffffffffffffffffffffffffffffff808816602084015280871660408401525084606083015283608083015260c060a083015261245360c0830184611eb6
565b9897505050505050505056fea164736f6c634300080f000a"
func
init
()
{
func
init
()
{
if
err
:=
json
.
Unmarshal
([]
byte
(
L1CrossDomainMessengerStorageLayoutJSON
),
L1CrossDomainMessengerStorageLayout
);
err
!=
nil
{
if
err
:=
json
.
Unmarshal
([]
byte
(
L1CrossDomainMessengerStorageLayoutJSON
),
L1CrossDomainMessengerStorageLayout
);
err
!=
nil
{
...
...
op-bindings/bindings/l2crossdomainmessenger_more.go
View file @
772a63b8
...
@@ -9,7 +9,7 @@ import (
...
@@ -9,7 +9,7 @@ import (
"github.com/ethereum-optimism/optimism/op-bindings/solc"
"github.com/ethereum-optimism/optimism/op-bindings/solc"
)
)
const
L2CrossDomainMessengerStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:259
11,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
spacer_0_0_20
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:29099,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_initialized
\"
,
\"
offset
\"
:20,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_uint8
\"
},{
\"
astId
\"
:29102,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_initializing
\"
,
\"
offset
\"
:21,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_bool
\"
},{
\"
astId
\"
:29713,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_array(t_uint256)50_storage
\"
},{
\"
astId
\"
:28971,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_owner
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
51
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:29091,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
52
\"
,
\"
type
\"
:
\"
t_array(t_uint256)49_storage
\"
},{
\"
astId
\"
:29264,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_paused
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
101
\"
,
\"
type
\"
:
\"
t_bool
\"
},{
\"
astId
\"
:29369,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
102
\"
,
\"
type
\"
:
\"
t_array(t_uint256)49_storage
\"
},{
\"
astId
\"
:29384,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_status
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
151
\"
,
\"
type
\"
:
\"
t_uint256
\"
},{
\"
astId
\"
:29428,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
152
\"
,
\"
type
\"
:
\"
t_array(t_uint256)49_storage
\"
},{
\"
astId
\"
:25963,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
spacer_201_0_32
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
201
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
},{
\"
astId
\"
:25968,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
spacer_202_0_32
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
202
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
},{
\"
astId
\"
:25973,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
successfulMessages
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
203
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
},{
\"
astId
\"
:25976,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
xDomainMsgSender
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
204
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:25979,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
msgNonce
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
205
\"
,
\"
type
\"
:
\"
t_uint240
\"
},{
\"
astId
\"
:25984,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
receivedMessages
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
206
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
},{
\"
astId
\"
:25989
,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
207
\"
,
\"
type
\"
:
\"
t_array(t_uint256)42_storage
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_array(t_uint256)42_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[42]
\"
,
\"
numberOfBytes
\"
:
\"
1344
\"
},
\"
t_array(t_uint256)49_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[49]
\"
,
\"
numberOfBytes
\"
:
\"
1568
\"
},
\"
t_array(t_uint256)50_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[50]
\"
,
\"
numberOfBytes
\"
:
\"
1600
\"
},
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_bytes32
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bytes32
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_mapping(t_bytes32,t_bool)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(bytes32 =
\u003e
bool)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_bytes32
\"
,
\"
value
\"
:
\"
t_bool
\"
},
\"
t_uint240
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint240
\"
,
\"
numberOfBytes
\"
:
\"
30
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint8
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint8
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
}}}"
const
L2CrossDomainMessengerStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:259
43,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
spacer_0_0_20
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:29131,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_initialized
\"
,
\"
offset
\"
:20,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_uint8
\"
},{
\"
astId
\"
:29134,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_initializing
\"
,
\"
offset
\"
:21,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_bool
\"
},{
\"
astId
\"
:29745,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_array(t_uint256)50_storage
\"
},{
\"
astId
\"
:29003,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_owner
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
51
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:29123,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
52
\"
,
\"
type
\"
:
\"
t_array(t_uint256)49_storage
\"
},{
\"
astId
\"
:29296,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_paused
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
101
\"
,
\"
type
\"
:
\"
t_bool
\"
},{
\"
astId
\"
:29401,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
102
\"
,
\"
type
\"
:
\"
t_array(t_uint256)49_storage
\"
},{
\"
astId
\"
:29416,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
_status
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
151
\"
,
\"
type
\"
:
\"
t_uint256
\"
},{
\"
astId
\"
:29460,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
152
\"
,
\"
type
\"
:
\"
t_array(t_uint256)49_storage
\"
},{
\"
astId
\"
:25995,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
spacer_201_0_32
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
201
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
},{
\"
astId
\"
:26000,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
spacer_202_0_32
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
202
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
},{
\"
astId
\"
:26005,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
successfulMessages
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
203
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
},{
\"
astId
\"
:26008,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
xDomainMsgSender
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
204
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:26011,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
msgNonce
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
205
\"
,
\"
type
\"
:
\"
t_uint240
\"
},{
\"
astId
\"
:26016,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
receivedMessages
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
206
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
},{
\"
astId
\"
:26021
,
\"
contract
\"
:
\"
contracts/L2/L2CrossDomainMessenger.sol:L2CrossDomainMessenger
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
207
\"
,
\"
type
\"
:
\"
t_array(t_uint256)42_storage
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_array(t_uint256)42_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[42]
\"
,
\"
numberOfBytes
\"
:
\"
1344
\"
},
\"
t_array(t_uint256)49_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[49]
\"
,
\"
numberOfBytes
\"
:
\"
1568
\"
},
\"
t_array(t_uint256)50_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[50]
\"
,
\"
numberOfBytes
\"
:
\"
1600
\"
},
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_bytes32
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bytes32
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_mapping(t_bytes32,t_bool)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(bytes32 =
\u003e
bool)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_bytes32
\"
,
\"
value
\"
:
\"
t_bool
\"
},
\"
t_uint240
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint240
\"
,
\"
numberOfBytes
\"
:
\"
30
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint8
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint8
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
}}}"
var
L2CrossDomainMessengerStorageLayout
=
new
(
solc
.
StorageLayout
)
var
L2CrossDomainMessengerStorageLayout
=
new
(
solc
.
StorageLayout
)
...
...
op-bindings/bindings/l2erc721bridge_more.go
View file @
772a63b8
...
@@ -9,7 +9,7 @@ import (
...
@@ -9,7 +9,7 @@ import (
"github.com/ethereum-optimism/optimism/op-bindings/solc"
"github.com/ethereum-optimism/optimism/op-bindings/solc"
)
)
const
L2ERC721BridgeStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:26
394
,
\"
contract
\"
:
\"
contracts/L2/L2ERC721Bridge.sol:L2ERC721Bridge
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_array(t_uint256)49_storage
\"
}],
\"
types
\"
:{
\"
t_array(t_uint256)49_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[49]
\"
,
\"
numberOfBytes
\"
:
\"
1568
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
}}}"
const
L2ERC721BridgeStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:26
426
,
\"
contract
\"
:
\"
contracts/L2/L2ERC721Bridge.sol:L2ERC721Bridge
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_array(t_uint256)49_storage
\"
}],
\"
types
\"
:{
\"
t_array(t_uint256)49_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[49]
\"
,
\"
numberOfBytes
\"
:
\"
1568
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
}}}"
var
L2ERC721BridgeStorageLayout
=
new
(
solc
.
StorageLayout
)
var
L2ERC721BridgeStorageLayout
=
new
(
solc
.
StorageLayout
)
...
...
op-bindings/bindings/l2standardbridge_more.go
View file @
772a63b8
...
@@ -9,7 +9,7 @@ import (
...
@@ -9,7 +9,7 @@ import (
"github.com/ethereum-optimism/optimism/op-bindings/solc"
"github.com/ethereum-optimism/optimism/op-bindings/solc"
)
)
const
L2StandardBridgeStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:282
62,
\"
contract
\"
:
\"
contracts/L2/L2StandardBridge.sol:L2StandardBridge
\"
,
\"
label
\"
:
\"
spacer_0_0_20
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:28265,
\"
contract
\"
:
\"
contracts/L2/L2StandardBridge.sol:L2StandardBridge
\"
,
\"
label
\"
:
\"
spacer_1_0_20
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:28272,
\"
contract
\"
:
\"
contracts/L2/L2StandardBridge.sol:L2StandardBridge
\"
,
\"
label
\"
:
\"
deposits
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
2
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_mapping(t_address,t_uint256))
\"
},{
\"
astId
\"
:28277
,
\"
contract
\"
:
\"
contracts/L2/L2StandardBridge.sol:L2StandardBridge
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
3
\"
,
\"
type
\"
:
\"
t_array(t_uint256)47_storage
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_array(t_uint256)47_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[47]
\"
,
\"
numberOfBytes
\"
:
\"
1504
\"
},
\"
t_mapping(t_address,t_mapping(t_address,t_uint256))
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
mapping(address =
\u003e
uint256))
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_mapping(t_address,t_uint256)
\"
},
\"
t_mapping(t_address,t_uint256)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
uint256)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_uint256
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
}}}"
const
L2StandardBridgeStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:282
94,
\"
contract
\"
:
\"
contracts/L2/L2StandardBridge.sol:L2StandardBridge
\"
,
\"
label
\"
:
\"
spacer_0_0_20
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:28297,
\"
contract
\"
:
\"
contracts/L2/L2StandardBridge.sol:L2StandardBridge
\"
,
\"
label
\"
:
\"
spacer_1_0_20
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:28304,
\"
contract
\"
:
\"
contracts/L2/L2StandardBridge.sol:L2StandardBridge
\"
,
\"
label
\"
:
\"
deposits
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
2
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_mapping(t_address,t_uint256))
\"
},{
\"
astId
\"
:28309
,
\"
contract
\"
:
\"
contracts/L2/L2StandardBridge.sol:L2StandardBridge
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
3
\"
,
\"
type
\"
:
\"
t_array(t_uint256)47_storage
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_array(t_uint256)47_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[47]
\"
,
\"
numberOfBytes
\"
:
\"
1504
\"
},
\"
t_mapping(t_address,t_mapping(t_address,t_uint256))
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
mapping(address =
\u003e
uint256))
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_mapping(t_address,t_uint256)
\"
},
\"
t_mapping(t_address,t_uint256)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
uint256)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_uint256
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
}}}"
var
L2StandardBridgeStorageLayout
=
new
(
solc
.
StorageLayout
)
var
L2StandardBridgeStorageLayout
=
new
(
solc
.
StorageLayout
)
...
...
op-bindings/bindings/l2tol1messagepasser_more.go
View file @
772a63b8
...
@@ -9,7 +9,7 @@ import (
...
@@ -9,7 +9,7 @@ import (
"github.com/ethereum-optimism/optimism/op-bindings/solc"
"github.com/ethereum-optimism/optimism/op-bindings/solc"
)
)
const
L2ToL1MessagePasserStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:30
16,
\"
contract
\"
:
\"
contracts/L2/L2ToL1MessagePasser.sol:L2ToL1MessagePasser
\"
,
\"
label
\"
:
\"
sentMessages
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
},{
\"
astId
\"
:301
9,
\"
contract
\"
:
\"
contracts/L2/L2ToL1MessagePasser.sol:L2ToL1MessagePasser
\"
,
\"
label
\"
:
\"
nonce
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_uint256
\"
}],
\"
types
\"
:{
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_bytes32
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bytes32
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_mapping(t_bytes32,t_bool)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(bytes32 =
\u003e
bool)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_bytes32
\"
,
\"
value
\"
:
\"
t_bool
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
}}}"
const
L2ToL1MessagePasserStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:30
26,
\"
contract
\"
:
\"
contracts/L2/L2ToL1MessagePasser.sol:L2ToL1MessagePasser
\"
,
\"
label
\"
:
\"
sentMessages
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
},{
\"
astId
\"
:302
9,
\"
contract
\"
:
\"
contracts/L2/L2ToL1MessagePasser.sol:L2ToL1MessagePasser
\"
,
\"
label
\"
:
\"
nonce
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_uint256
\"
}],
\"
types
\"
:{
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_bytes32
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bytes32
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_mapping(t_bytes32,t_bool)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(bytes32 =
\u003e
bool)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_bytes32
\"
,
\"
value
\"
:
\"
t_bool
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
}}}"
var
L2ToL1MessagePasserStorageLayout
=
new
(
solc
.
StorageLayout
)
var
L2ToL1MessagePasserStorageLayout
=
new
(
solc
.
StorageLayout
)
...
...
op-bindings/bindings/legacyerc20eth_more.go
View file @
772a63b8
...
@@ -9,7 +9,7 @@ import (
...
@@ -9,7 +9,7 @@ import (
"github.com/ethereum-optimism/optimism/op-bindings/solc"
"github.com/ethereum-optimism/optimism/op-bindings/solc"
)
)
const
LegacyERC20ETHStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:30
072,
\"
contract
\"
:
\"
contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH
\"
,
\"
label
\"
:
\"
_balances
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_uint256)
\"
},{
\"
astId
\"
:30078,
\"
contract
\"
:
\"
contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH
\"
,
\"
label
\"
:
\"
_allowances
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_mapping(t_address,t_uint256))
\"
},{
\"
astId
\"
:30080,
\"
contract
\"
:
\"
contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH
\"
,
\"
label
\"
:
\"
_totalSupply
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
2
\"
,
\"
type
\"
:
\"
t_uint256
\"
},{
\"
astId
\"
:30082,
\"
contract
\"
:
\"
contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH
\"
,
\"
label
\"
:
\"
_name
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
3
\"
,
\"
type
\"
:
\"
t_string_storage
\"
},{
\"
astId
\"
:30084,
\"
contract
\"
:
\"
contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH
\"
,
\"
label
\"
:
\"
_symbol
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
4
\"
,
\"
type
\"
:
\"
t_string_storage
\"
},{
\"
astId
\"
:26784,
\"
contract
\"
:
\"
contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH
\"
,
\"
label
\"
:
\"
remoteToken
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
5
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:26787
,
\"
contract
\"
:
\"
contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH
\"
,
\"
label
\"
:
\"
bridge
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
6
\"
,
\"
type
\"
:
\"
t_address
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_mapping(t_address,t_mapping(t_address,t_uint256))
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
mapping(address =
\u003e
uint256))
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_mapping(t_address,t_uint256)
\"
},
\"
t_mapping(t_address,t_uint256)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
uint256)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_uint256
\"
},
\"
t_string_storage
\"
:{
\"
encoding
\"
:
\"
bytes
\"
,
\"
label
\"
:
\"
string
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
}}}"
const
LegacyERC20ETHStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:30
104,
\"
contract
\"
:
\"
contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH
\"
,
\"
label
\"
:
\"
_balances
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_uint256)
\"
},{
\"
astId
\"
:30110,
\"
contract
\"
:
\"
contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH
\"
,
\"
label
\"
:
\"
_allowances
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_mapping(t_address,t_uint256))
\"
},{
\"
astId
\"
:30112,
\"
contract
\"
:
\"
contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH
\"
,
\"
label
\"
:
\"
_totalSupply
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
2
\"
,
\"
type
\"
:
\"
t_uint256
\"
},{
\"
astId
\"
:30114,
\"
contract
\"
:
\"
contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH
\"
,
\"
label
\"
:
\"
_name
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
3
\"
,
\"
type
\"
:
\"
t_string_storage
\"
},{
\"
astId
\"
:30116,
\"
contract
\"
:
\"
contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH
\"
,
\"
label
\"
:
\"
_symbol
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
4
\"
,
\"
type
\"
:
\"
t_string_storage
\"
},{
\"
astId
\"
:26816,
\"
contract
\"
:
\"
contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH
\"
,
\"
label
\"
:
\"
remoteToken
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
5
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:26819
,
\"
contract
\"
:
\"
contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH
\"
,
\"
label
\"
:
\"
bridge
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
6
\"
,
\"
type
\"
:
\"
t_address
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_mapping(t_address,t_mapping(t_address,t_uint256))
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
mapping(address =
\u003e
uint256))
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_mapping(t_address,t_uint256)
\"
},
\"
t_mapping(t_address,t_uint256)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
uint256)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_uint256
\"
},
\"
t_string_storage
\"
:{
\"
encoding
\"
:
\"
bytes
\"
,
\"
label
\"
:
\"
string
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
}}}"
var
LegacyERC20ETHStorageLayout
=
new
(
solc
.
StorageLayout
)
var
LegacyERC20ETHStorageLayout
=
new
(
solc
.
StorageLayout
)
...
...
op-bindings/bindings/legacymessagepasser_more.go
View file @
772a63b8
...
@@ -9,7 +9,7 @@ import (
...
@@ -9,7 +9,7 @@ import (
"github.com/ethereum-optimism/optimism/op-bindings/solc"
"github.com/ethereum-optimism/optimism/op-bindings/solc"
)
)
const
LegacyMessagePasserStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:47
56
,
\"
contract
\"
:
\"
contracts/legacy/LegacyMessagePasser.sol:LegacyMessagePasser
\"
,
\"
label
\"
:
\"
sentMessages
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
}],
\"
types
\"
:{
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_bytes32
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bytes32
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_mapping(t_bytes32,t_bool)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(bytes32 =
\u003e
bool)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_bytes32
\"
,
\"
value
\"
:
\"
t_bool
\"
}}}"
const
LegacyMessagePasserStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:47
69
,
\"
contract
\"
:
\"
contracts/legacy/LegacyMessagePasser.sol:LegacyMessagePasser
\"
,
\"
label
\"
:
\"
sentMessages
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
}],
\"
types
\"
:{
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_bytes32
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bytes32
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_mapping(t_bytes32,t_bool)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(bytes32 =
\u003e
bool)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_bytes32
\"
,
\"
value
\"
:
\"
t_bool
\"
}}}"
var
LegacyMessagePasserStorageLayout
=
new
(
solc
.
StorageLayout
)
var
LegacyMessagePasserStorageLayout
=
new
(
solc
.
StorageLayout
)
...
...
op-bindings/bindings/optimismmintableerc721factory_more.go
View file @
772a63b8
...
@@ -9,7 +9,7 @@ import (
...
@@ -9,7 +9,7 @@ import (
"github.com/ethereum-optimism/optimism/op-bindings/solc"
"github.com/ethereum-optimism/optimism/op-bindings/solc"
)
)
const
OptimismMintableERC721FactoryStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:273
34
,
\"
contract
\"
:
\"
contracts/universal/OptimismMintableERC721Factory.sol:OptimismMintableERC721Factory
\"
,
\"
label
\"
:
\"
isOptimismMintableERC721
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_bool)
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_mapping(t_address,t_bool)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
bool)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_bool
\"
}}}"
const
OptimismMintableERC721FactoryStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:273
66
,
\"
contract
\"
:
\"
contracts/universal/OptimismMintableERC721Factory.sol:OptimismMintableERC721Factory
\"
,
\"
label
\"
:
\"
isOptimismMintableERC721
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_bool)
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_mapping(t_address,t_bool)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
bool)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_bool
\"
}}}"
var
OptimismMintableERC721FactoryStorageLayout
=
new
(
solc
.
StorageLayout
)
var
OptimismMintableERC721FactoryStorageLayout
=
new
(
solc
.
StorageLayout
)
...
...
op-bindings/bindings/optimismportal_more.go
View file @
772a63b8
...
@@ -9,7 +9,7 @@ import (
...
@@ -9,7 +9,7 @@ import (
"github.com/ethereum-optimism/optimism/op-bindings/solc"
"github.com/ethereum-optimism/optimism/op-bindings/solc"
)
)
const
OptimismPortalStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:299
12,
\"
contract
\"
:
\"
contracts/L1/OptimismPortal.sol:OptimismPortal
\"
,
\"
label
\"
:
\"
_initialized
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_uint8
\"
},{
\"
astId
\"
:29915,
\"
contract
\"
:
\"
contracts/L1/OptimismPortal.sol:OptimismPortal
\"
,
\"
label
\"
:
\"
_initializing
\"
,
\"
offset
\"
:1,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_bool
\"
},{
\"
astId
\"
:1608,
\"
contract
\"
:
\"
contracts/L1/OptimismPortal.sol:OptimismPortal
\"
,
\"
label
\"
:
\"
params
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_struct(ResourceParams)1578_storage
\"
},{
\"
astId
\"
:1613,
\"
contract
\"
:
\"
contracts/L1/OptimismPortal.sol:OptimismPortal
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
2
\"
,
\"
type
\"
:
\"
t_array(t_uint256)48_storage
\"
},{
\"
astId
\"
:1179,
\"
contract
\"
:
\"
contracts/L1/OptimismPortal.sol:OptimismPortal
\"
,
\"
label
\"
:
\"
l2Sender
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
50
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:1192,
\"
contract
\"
:
\"
contracts/L1/OptimismPortal.sol:OptimismPortal
\"
,
\"
label
\"
:
\"
finalizedWithdrawals
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
51
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_array(t_uint256)48_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[48]
\"
,
\"
numberOfBytes
\"
:
\"
1536
\"
},
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_bytes32
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bytes32
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_mapping(t_bytes32,t_bool)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(bytes32 =
\u003e
bool)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_bytes32
\"
,
\"
value
\"
:
\"
t_bool
\"
},
\"
t_struct(ResourceParams)157
8_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
struct ResourceMetering.ResourceParams
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint128
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint128
\"
,
\"
numberOfBytes
\"
:
\"
16
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint64
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint64
\"
,
\"
numberOfBytes
\"
:
\"
8
\"
},
\"
t_uint8
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint8
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
}}}"
const
OptimismPortalStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:299
44,
\"
contract
\"
:
\"
contracts/L1/OptimismPortal.sol:OptimismPortal
\"
,
\"
label
\"
:
\"
_initialized
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_uint8
\"
},{
\"
astId
\"
:29947,
\"
contract
\"
:
\"
contracts/L1/OptimismPortal.sol:OptimismPortal
\"
,
\"
label
\"
:
\"
_initializing
\"
,
\"
offset
\"
:1,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_bool
\"
},{
\"
astId
\"
:1618,
\"
contract
\"
:
\"
contracts/L1/OptimismPortal.sol:OptimismPortal
\"
,
\"
label
\"
:
\"
params
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_struct(ResourceParams)1588_storage
\"
},{
\"
astId
\"
:1623,
\"
contract
\"
:
\"
contracts/L1/OptimismPortal.sol:OptimismPortal
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
2
\"
,
\"
type
\"
:
\"
t_array(t_uint256)48_storage
\"
},{
\"
astId
\"
:1189,
\"
contract
\"
:
\"
contracts/L1/OptimismPortal.sol:OptimismPortal
\"
,
\"
label
\"
:
\"
l2Sender
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
50
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:1202,
\"
contract
\"
:
\"
contracts/L1/OptimismPortal.sol:OptimismPortal
\"
,
\"
label
\"
:
\"
finalizedWithdrawals
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
51
\"
,
\"
type
\"
:
\"
t_mapping(t_bytes32,t_bool)
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_array(t_uint256)48_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[48]
\"
,
\"
numberOfBytes
\"
:
\"
1536
\"
},
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_bytes32
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bytes32
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_mapping(t_bytes32,t_bool)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(bytes32 =
\u003e
bool)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_bytes32
\"
,
\"
value
\"
:
\"
t_bool
\"
},
\"
t_struct(ResourceParams)158
8_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
struct ResourceMetering.ResourceParams
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint128
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint128
\"
,
\"
numberOfBytes
\"
:
\"
16
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint64
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint64
\"
,
\"
numberOfBytes
\"
:
\"
8
\"
},
\"
t_uint8
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint8
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
}}}"
var
OptimismPortalStorageLayout
=
new
(
solc
.
StorageLayout
)
var
OptimismPortalStorageLayout
=
new
(
solc
.
StorageLayout
)
...
...
op-bindings/bindings/proxyadmin_more.go
View file @
772a63b8
...
@@ -9,7 +9,7 @@ import (
...
@@ -9,7 +9,7 @@ import (
"github.com/ethereum-optimism/optimism/op-bindings/solc"
"github.com/ethereum-optimism/optimism/op-bindings/solc"
)
)
const
ProxyAdminStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:37
172,
\"
contract
\"
:
\"
contracts/universal/ProxyAdmin.sol:ProxyAdmin
\"
,
\"
label
\"
:
\"
owner
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:27734,
\"
contract
\"
:
\"
contracts/universal/ProxyAdmin.sol:ProxyAdmin
\"
,
\"
label
\"
:
\"
proxyType
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_enum(ProxyType)27728)
\"
},{
\"
astId
\"
:27739,
\"
contract
\"
:
\"
contracts/universal/ProxyAdmin.sol:ProxyAdmin
\"
,
\"
label
\"
:
\"
implementationName
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
2
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_string_storage)
\"
},{
\"
astId
\"
:27743,
\"
contract
\"
:
\"
contracts/universal/ProxyAdmin.sol:ProxyAdmin
\"
,
\"
label
\"
:
\"
addressManager
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
3
\"
,
\"
type
\"
:
\"
t_contract(AddressManager)4103
\"
},{
\"
astId
\"
:27747,
\"
contract
\"
:
\"
contracts/universal/ProxyAdmin.sol:ProxyAdmin
\"
,
\"
label
\"
:
\"
upgrading
\"
,
\"
offset
\"
:20,
\"
slot
\"
:
\"
3
\"
,
\"
type
\"
:
\"
t_bool
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_contract(AddressManager)4103
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
contract AddressManager
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_enum(ProxyType)27728
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
enum ProxyAdmin.ProxyType
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_mapping(t_address,t_enum(ProxyType)27728)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
enum ProxyAdmin.ProxyType)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_enum(ProxyType)27728
\"
},
\"
t_mapping(t_address,t_string_storage)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
string)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_string_storage
\"
},
\"
t_string_storage
\"
:{
\"
encoding
\"
:
\"
bytes
\"
,
\"
label
\"
:
\"
string
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
}}}"
const
ProxyAdminStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:37
204,
\"
contract
\"
:
\"
contracts/universal/ProxyAdmin.sol:ProxyAdmin
\"
,
\"
label
\"
:
\"
owner
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_address
\"
},{
\"
astId
\"
:27766,
\"
contract
\"
:
\"
contracts/universal/ProxyAdmin.sol:ProxyAdmin
\"
,
\"
label
\"
:
\"
proxyType
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_enum(ProxyType)27760)
\"
},{
\"
astId
\"
:27771,
\"
contract
\"
:
\"
contracts/universal/ProxyAdmin.sol:ProxyAdmin
\"
,
\"
label
\"
:
\"
implementationName
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
2
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_string_storage)
\"
},{
\"
astId
\"
:27775,
\"
contract
\"
:
\"
contracts/universal/ProxyAdmin.sol:ProxyAdmin
\"
,
\"
label
\"
:
\"
addressManager
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
3
\"
,
\"
type
\"
:
\"
t_contract(AddressManager)4116
\"
},{
\"
astId
\"
:27779,
\"
contract
\"
:
\"
contracts/universal/ProxyAdmin.sol:ProxyAdmin
\"
,
\"
label
\"
:
\"
upgrading
\"
,
\"
offset
\"
:20,
\"
slot
\"
:
\"
3
\"
,
\"
type
\"
:
\"
t_bool
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_contract(AddressManager)4116
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
contract AddressManager
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_enum(ProxyType)27760
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
enum ProxyAdmin.ProxyType
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_mapping(t_address,t_enum(ProxyType)27760)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
enum ProxyAdmin.ProxyType)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_enum(ProxyType)27760
\"
},
\"
t_mapping(t_address,t_string_storage)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
string)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_string_storage
\"
},
\"
t_string_storage
\"
:{
\"
encoding
\"
:
\"
bytes
\"
,
\"
label
\"
:
\"
string
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
}}}"
var
ProxyAdminStorageLayout
=
new
(
solc
.
StorageLayout
)
var
ProxyAdminStorageLayout
=
new
(
solc
.
StorageLayout
)
...
...
op-bindings/bindings/sequencerfeevault_more.go
0 → 100644
View file @
772a63b8
// Code generated - DO NOT EDIT.
// This file is a generated binding and any manual changes will be lost.
package
bindings
import
(
"encoding/json"
"github.com/ethereum-optimism/optimism/op-bindings/solc"
)
const
SequencerFeeVaultStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:3104,
\"
contract
\"
:
\"
contracts/L2/SequencerFeeVault.sol:SequencerFeeVault
\"
,
\"
label
\"
:
\"
l1FeeWallet
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_address
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
}}}"
var
SequencerFeeVaultStorageLayout
=
new
(
solc
.
StorageLayout
)
var
SequencerFeeVaultDeployedBin
=
"0x6080604052600436106100435760003560e01c80633ccfd60b1461004f57806354fd4d5014610066578063d3e5792b14610091578063d4ff9218146100bb57600080fd5b3661004a57005b600080fd5b34801561005b57600080fd5b5061006461010d565b005b34801561007257600080fd5b5061007b610296565b60405161008891906104f0565b60405180910390f35b34801561009d57600080fd5b506100ad67d02ab486cedc000081565b604051908152602001610088565b3480156100c757600080fd5b506000546100e89073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610088565b67d02ab486cedc00004710156101cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605360248201527f53657175656e6365724665655661756c743a207769746864726177616c20616d60448201527f6f756e74206d7573742062652067726561746572207468616e206d696e696d7560648201527f6d207769746864726177616c20616d6f756e7400000000000000000000000000608482015260a40160405180910390fd5b600080546040805160208101825283815290517fa3a795480000000000000000000000000000000000000000000000000000000081527342000000000000000000000000000000000000109363a3a795489347936102629373deaddeaddeaddeaddeaddeaddeaddeaddead00009373ffffffffffffffffffffffffffffffffffffffff909316924792909160040161050a565b6000604051808303818588803b15801561027b57600080fd5b505af115801561028f573d6000803e3d6000fd5b5050505050565b60606102c17f0000000000000000000000000000000000000000000000000000000000000000610339565b6102ea7f0000000000000000000000000000000000000000000000000000000000000000610339565b6103137f0000000000000000000000000000000000000000000000000000000000000000610339565b60405160200161032593929190610560565b604051602081830303815290604052905090565b60608160000361037c57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156103a6578061039081610605565b915061039f9050600a8361066c565b9150610380565b60008167ffffffffffffffff8111156103c1576103c1610680565b6040519080825280601f01601f1916602001820160405280156103eb576020820181803683370190505b5090505b841561046e576104006001836106af565b915061040d600a866106c6565b6104189060306106da565b60f81b81838151811061042d5761042d6106f2565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610467600a8661066c565b94506103ef565b949350505050565b60005b83811015610491578181015183820152602001610479565b838111156104a0576000848401525b50505050565b600081518084526104be816020860160208601610476565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061050360208301846104a6565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015263ffffffff8416606083015260a0608083015261055560a08301846104a6565b979650505050505050565b60008451610572818460208901610476565b80830190507f2e0000000000000000000000000000000000000000000000000000000000000080825285516105ae816001850160208a01610476565b600192019182015283516105c9816002840160208801610476565b0160020195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610636576106366105d6565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261067b5761067b61063d565b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000828210156106c1576106c16105d6565b500390565b6000826106d5576106d561063d565b500690565b600082198211156106ed576106ed6105d6565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea164736f6c634300080f000a"
func
init
()
{
if
err
:=
json
.
Unmarshal
([]
byte
(
SequencerFeeVaultStorageLayoutJSON
),
SequencerFeeVaultStorageLayout
);
err
!=
nil
{
panic
(
err
)
}
layouts
[
"SequencerFeeVault"
]
=
SequencerFeeVaultStorageLayout
deployedBytecodes
[
"SequencerFeeVault"
]
=
SequencerFeeVaultDeployedBin
}
op-chain-ops/genesis/layer_one.go
View file @
772a63b8
...
@@ -110,7 +110,10 @@ func BuildL1DeveloperGenesis(config *DeployConfig) (*core.Genesis, error) {
...
@@ -110,7 +110,10 @@ func BuildL1DeveloperGenesis(config *DeployConfig) (*core.Genesis, error) {
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
data
,
err
=
l1XDMABI
.
Pack
(
"initialize"
)
data
,
err
=
l1XDMABI
.
Pack
(
"initialize"
,
config
.
ProxyAdminOwner
,
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
...
packages/contracts-bedrock/.gas-snapshot
View file @
772a63b8
...
@@ -9,8 +9,8 @@ GasBenchMark_L1StandardBridge_Finalize:test_finalizeETHWithdrawal_benchmark() (g
...
@@ -9,8 +9,8 @@ GasBenchMark_L1StandardBridge_Finalize:test_finalizeETHWithdrawal_benchmark() (g
GasBenchMark_L2OutputOracle:test_proposeL2Output_benchmark() (gas: 68693)
GasBenchMark_L2OutputOracle:test_proposeL2Output_benchmark() (gas: 68693)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark() (gas: 75010)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark() (gas: 75010)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark_1() (gas: 35823)
GasBenchMark_OptimismPortal:test_depositTransaction_benchmark_1() (gas: 35823)
CrossDomainMessenger_Test:testFuzz_baseGas(uint32) (runs: 256, μ: 202
85, ~: 20285
)
CrossDomainMessenger_Test:testFuzz_baseGas(uint32) (runs: 256, μ: 202
63, ~: 20263
)
CrossDomainMessenger_Test:test_baseGas() (gas: 201
22
)
CrossDomainMessenger_Test:test_baseGas() (gas: 201
00
)
CrossDomainOwnableThroughPortal_Test:test_depositTransaction_crossDomainOwner() (gas: 61896)
CrossDomainOwnableThroughPortal_Test:test_depositTransaction_crossDomainOwner() (gas: 61896)
CrossDomainOwnable_Test:test_onlyOwner() (gas: 34945)
CrossDomainOwnable_Test:test_onlyOwner() (gas: 34945)
CrossDomainOwnable_Test:test_revertOnlyOwner() (gas: 10619)
CrossDomainOwnable_Test:test_revertOnlyOwner() (gas: 10619)
...
@@ -54,20 +54,20 @@ L1BlockTest:test_updatesValues(uint64,uint64,uint256,bytes32,uint64) (runs: 256,
...
@@ -54,20 +54,20 @@ L1BlockTest:test_updatesValues(uint64,uint64,uint256,bytes32,uint64) (runs: 256,
L1BlockNumberTest:test_fallback() (gas: 18677)
L1BlockNumberTest:test_fallback() (gas: 18677)
L1BlockNumberTest:test_getL1BlockNumber() (gas: 10668)
L1BlockNumberTest:test_getL1BlockNumber() (gas: 10668)
L1BlockNumberTest:test_receive() (gas: 25340)
L1BlockNumberTest:test_receive() (gas: 25340)
L1CrossDomainMessenger_Test:testCannot_L1MessengerPause() (gas: 245
37
)
L1CrossDomainMessenger_Test:testCannot_L1MessengerPause() (gas: 245
60
)
L1CrossDomainMessenger_Test:testCannot_L1MessengerUnpause() (gas: 24518)
L1CrossDomainMessenger_Test:testCannot_L1MessengerUnpause() (gas: 24518)
L1CrossDomainMessenger_Test:test_L1MessengerMessageVersion() (gas: 24738)
L1CrossDomainMessenger_Test:test_L1MessengerMessageVersion() (gas: 24738)
L1CrossDomainMessenger_Test:test_L1MessengerPause() (gas:
47998
)
L1CrossDomainMessenger_Test:test_L1MessengerPause() (gas:
52972
)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageFirstStuckSecondSucceeds() (gas: 197
275
)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageFirstStuckSecondSucceeds() (gas: 197
363
)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageRevertsOnReentrancy() (gas: 1909
27
)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageRevertsOnReentrancy() (gas: 1909
71
)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageSucceeds() (gas: 73
685
)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageSucceeds() (gas: 73
729
)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageToSystemContract() (gas: 65858)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageToSystemContract() (gas: 65858)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageV0Fails() (gas: 33280)
L1CrossDomainMessenger_Test:test_L1MessengerRelayMessageV0Fails() (gas: 33280)
L1CrossDomainMessenger_Test:test_L1MessengerRelayShouldRevertIfPaused() (gas: 6054
8
)
L1CrossDomainMessenger_Test:test_L1MessengerRelayShouldRevertIfPaused() (gas: 6054
9
)
L1CrossDomainMessenger_Test:test_L1MessengerReplayMessageWithValue() (gas: 38215)
L1CrossDomainMessenger_Test:test_L1MessengerReplayMessageWithValue() (gas: 38215)
L1CrossDomainMessenger_Test:test_L1MessengerSendMessage() (gas: 2995
99
)
L1CrossDomainMessenger_Test:test_L1MessengerSendMessage() (gas: 2995
55
)
L1CrossDomainMessenger_Test:test_L1MessengerTwiceSendMessage() (gas: 1490502)
L1CrossDomainMessenger_Test:test_L1MessengerTwiceSendMessage() (gas: 1490502)
L1CrossDomainMessenger_Test:test_L1MessengerUnpause() (gas: 4
0896
)
L1CrossDomainMessenger_Test:test_L1MessengerUnpause() (gas: 4
5233
)
L1CrossDomainMessenger_Test:test_L1MessengerXDomainSenderReverts() (gas: 24283)
L1CrossDomainMessenger_Test:test_L1MessengerXDomainSenderReverts() (gas: 24283)
L1CrossDomainMessenger_Test:test_L1MessengerxDomainMessageSenderResets() (gas: 84115)
L1CrossDomainMessenger_Test:test_L1MessengerxDomainMessageSenderResets() (gas: 84115)
L1StandardBridge_DepositERC20To_Test:test_depositERC20To_success() (gas: 575637)
L1StandardBridge_DepositERC20To_Test:test_depositERC20To_success() (gas: 575637)
...
...
packages/contracts-bedrock/contracts/L1/L1CrossDomainMessenger.sol
View file @
772a63b8
...
@@ -29,14 +29,17 @@ contract L1CrossDomainMessenger is CrossDomainMessenger, Semver {
...
@@ -29,14 +29,17 @@ contract L1CrossDomainMessenger is CrossDomainMessenger, Semver {
CrossDomainMessenger(Predeploys.L2_CROSS_DOMAIN_MESSENGER)
CrossDomainMessenger(Predeploys.L2_CROSS_DOMAIN_MESSENGER)
{
{
PORTAL = _portal;
PORTAL = _portal;
initialize();
initialize(
address(0)
);
}
}
/**
/**
* @notice Initializer.
* @notice Initializer.
*
* @param _owner Address of the initial owner of this contract.
*/
*/
function initialize() public initializer {
function initialize(
address _owner
) public initializer {
__CrossDomainMessenger_init();
__CrossDomainMessenger_init();
_transferOwnership(_owner);
}
}
/**
/**
...
...
packages/contracts-bedrock/contracts/deployment/BaseSystemDictator.sol
View file @
772a63b8
...
@@ -79,14 +79,14 @@ contract BaseSystemDictator is Ownable {
...
@@ -79,14 +79,14 @@ contract BaseSystemDictator is Ownable {
/**
/**
* @notice Current step;
* @notice Current step;
*/
*/
uint
256
public currentStep = 1;
uint
8
public currentStep = 1;
/**
/**
* @notice Checks that the current step is the expected step, then bumps the current step.
* @notice Checks that the current step is the expected step, then bumps the current step.
*
*
* @param _step Current step.
* @param _step Current step.
*/
*/
modifier step(uint
256
_step) {
modifier step(uint
8
_step) {
require(currentStep == _step, "BaseSystemDictator: incorrect step");
require(currentStep == _step, "BaseSystemDictator: incorrect step");
_;
_;
currentStep++;
currentStep++;
...
...
packages/contracts-bedrock/contracts/deployment/FreshSystemDictator.sol
View file @
772a63b8
...
@@ -47,7 +47,7 @@ contract FreshSystemDictator is BaseSystemDictator {
...
@@ -47,7 +47,7 @@ contract FreshSystemDictator is BaseSystemDictator {
config.globalConfig.proxyAdmin.upgradeAndCall(
config.globalConfig.proxyAdmin.upgradeAndCall(
payable(config.proxyAddressConfig.l1CrossDomainMessengerProxy),
payable(config.proxyAddressConfig.l1CrossDomainMessengerProxy),
address(config.implementationAddressConfig.l1CrossDomainMessengerImpl),
address(config.implementationAddressConfig.l1CrossDomainMessengerImpl),
abi.encodeCall(L1CrossDomainMessenger.initialize, ())
abi.encodeCall(L1CrossDomainMessenger.initialize, (
config.globalConfig.finalOwner
))
);
);
// Upgrade the L1StandardBridge (no initializer).
// Upgrade the L1StandardBridge (no initializer).
...
...
packages/contracts-bedrock/contracts/test/CommonTest.t.sol
View file @
772a63b8
...
@@ -230,7 +230,7 @@ contract Messenger_Initializer is L2OutputOracle_Initializer {
...
@@ -230,7 +230,7 @@ contract Messenger_Initializer is L2OutputOracle_Initializer {
"OVM_L1CrossDomainMessenger"
"OVM_L1CrossDomainMessenger"
);
);
L1Messenger = L1CrossDomainMessenger(address(proxy));
L1Messenger = L1CrossDomainMessenger(address(proxy));
L1Messenger.initialize();
L1Messenger.initialize(
alice
);
vm.etch(
vm.etch(
Predeploys.L2_CROSS_DOMAIN_MESSENGER,
Predeploys.L2_CROSS_DOMAIN_MESSENGER,
...
...
packages/contracts-bedrock/contracts/test/L1CrossDomainMessenger.t.sol
View file @
772a63b8
...
@@ -31,6 +31,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
...
@@ -31,6 +31,7 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
// pause: should pause the contract when called by the current owner
// pause: should pause the contract when called by the current owner
function test_L1MessengerPause() external {
function test_L1MessengerPause() external {
vm.prank(alice);
L1Messenger.pause();
L1Messenger.pause();
assert(L1Messenger.paused());
assert(L1Messenger.paused());
}
}
...
@@ -44,8 +45,11 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
...
@@ -44,8 +45,11 @@ contract L1CrossDomainMessenger_Test is Messenger_Initializer {
// unpause: should unpause the contract when called by the current owner
// unpause: should unpause the contract when called by the current owner
function test_L1MessengerUnpause() external {
function test_L1MessengerUnpause() external {
vm.prank(alice);
L1Messenger.pause();
L1Messenger.pause();
assert(L1Messenger.paused());
assert(L1Messenger.paused());
vm.prank(alice);
L1Messenger.unpause();
L1Messenger.unpause();
assert(!L1Messenger.paused());
assert(!L1Messenger.paused());
}
}
...
...
packages/contracts-bedrock/deploy-config/hardhat.json
View file @
772a63b8
{
{
"
proxyAdmin
Owner"
:
"0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc"
,
"
finalSystem
Owner"
:
"0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc"
,
"l1StartingBlockTag"
:
"earliest"
,
"l1StartingBlockTag"
:
"earliest"
,
"l1ChainID"
:
900
,
"l1ChainID"
:
900
,
...
...
packages/contracts-bedrock/deploy/007-L1CrossDomainMessengerImpl.ts
View file @
772a63b8
import
{
ethers
}
from
'
ethers
'
import
{
DeployFunction
}
from
'
hardhat-deploy/dist/types
'
import
{
DeployFunction
}
from
'
hardhat-deploy/dist/types
'
import
{
import
{
...
@@ -21,6 +22,11 @@ const deployFn: DeployFunction = async (hre) => {
...
@@ -21,6 +22,11 @@ const deployFn: DeployFunction = async (hre) => {
'
PORTAL
'
,
'
PORTAL
'
,
OptimismPortalProxy
.
address
OptimismPortalProxy
.
address
)
)
await
assertContractVariable
(
contract
,
'
owner
'
,
ethers
.
constants
.
AddressZero
)
},
},
})
})
}
}
...
...
packages/contracts-bedrock/deploy/014-FreshSystemDicator.ts
View file @
772a63b8
...
@@ -6,7 +6,6 @@ import 'hardhat-deploy'
...
@@ -6,7 +6,6 @@ import 'hardhat-deploy'
import
{
import
{
getDeploymentAddress
,
getDeploymentAddress
,
deployAndVerifyAndThen
,
deployAndVerifyAndThen
,
getContractFromArtifact
,
}
from
'
../src/deploy-utils
'
}
from
'
../src/deploy-utils
'
const
deployFn
:
DeployFunction
=
async
(
hre
)
=>
{
const
deployFn
:
DeployFunction
=
async
(
hre
)
=>
{
...
@@ -18,8 +17,8 @@ const deployFn: DeployFunction = async (hre) => {
...
@@ -18,8 +17,8 @@ const deployFn: DeployFunction = async (hre) => {
{
{
globalConfig
:
{
globalConfig
:
{
proxyAdmin
:
await
getDeploymentAddress
(
hre
,
'
ProxyAdmin
'
),
proxyAdmin
:
await
getDeploymentAddress
(
hre
,
'
ProxyAdmin
'
),
controller
:
deployer
,
// TODO
controller
:
deployer
,
finalOwner
:
hre
.
deployConfig
.
proxyAdmin
Owner
,
finalOwner
:
hre
.
deployConfig
.
finalSystem
Owner
,
addressManager
:
ethers
.
constants
.
AddressZero
,
addressManager
:
ethers
.
constants
.
AddressZero
,
},
},
proxyAddressConfig
:
{
proxyAddressConfig
:
{
...
@@ -78,21 +77,6 @@ const deployFn: DeployFunction = async (hre) => {
...
@@ -78,21 +77,6 @@ const deployFn: DeployFunction = async (hre) => {
// TODO: Assert all the config was set correctly.
// TODO: Assert all the config was set correctly.
},
},
})
})
const
ProxyAdmin
=
await
getContractFromArtifact
(
hre
,
'
ProxyAdmin
'
,
{
signerOrProvider
:
deployer
,
})
const
FreshSystemDictator
=
await
getContractFromArtifact
(
hre
,
'
FreshSystemDictator
'
,
{
signerOrProvider
:
deployer
,
}
)
await
ProxyAdmin
.
setOwner
(
FreshSystemDictator
.
address
)
await
FreshSystemDictator
.
step1
()
await
FreshSystemDictator
.
step2
()
}
}
deployFn
.
tags
=
[
'
FreshSystemDictator
'
,
'
fresh
'
]
deployFn
.
tags
=
[
'
FreshSystemDictator
'
,
'
fresh
'
]
...
...
packages/contracts-bedrock/deploy/015-FreshSystemDictatorSteps.ts
0 → 100644
View file @
772a63b8
import
assert
from
'
assert
'
import
{
ethers
}
from
'
ethers
'
import
{
DeployFunction
}
from
'
hardhat-deploy/dist/types
'
import
'
@eth-optimism/hardhat-deploy-config
'
import
'
hardhat-deploy
'
import
{
assertContractVariable
,
getContractFromArtifact
,
}
from
'
../src/deploy-utils
'
const
deployFn
:
DeployFunction
=
async
(
hre
)
=>
{
const
{
deployer
}
=
await
hre
.
getNamedAccounts
()
const
ProxyAdmin
=
await
getContractFromArtifact
(
hre
,
'
ProxyAdmin
'
,
{
signerOrProvider
:
deployer
,
})
const
FreshSystemDictator
=
await
getContractFromArtifact
(
hre
,
'
FreshSystemDictator
'
,
{
signerOrProvider
:
deployer
,
}
)
if
((
await
ProxyAdmin
.
owner
())
!==
FreshSystemDictator
.
address
)
{
console
.
log
(
`Transferring proxy admin ownership to the FreshSystemDictator`
)
await
ProxyAdmin
.
setOwner
(
FreshSystemDictator
.
address
)
}
else
{
console
.
log
(
`Proxy admin already owned by the FreshSystemDictator`
)
}
if
((
await
FreshSystemDictator
.
currentStep
())
===
1
)
{
console
.
log
(
`Executing step 1`
)
await
FreshSystemDictator
.
step1
()
// Check L2OutputOracle was initialized properly.
const
L2OutputOracle
=
await
getContractFromArtifact
(
hre
,
'
L2OutputOracleProxy
'
,
{
iface
:
'
L2OutputOracle
'
,
}
)
await
assertContractVariable
(
L2OutputOracle
,
'
latestBlockNumber
'
,
hre
.
deployConfig
.
l2OutputOracleStartingBlockNumber
)
await
assertContractVariable
(
L2OutputOracle
,
'
proposer
'
,
hre
.
deployConfig
.
l2OutputOracleProposer
)
await
assertContractVariable
(
L2OutputOracle
,
'
owner
'
,
hre
.
deployConfig
.
l2OutputOracleOwner
)
if
(
hre
.
deployConfig
.
l2OutputOracleGenesisL2Output
!==
ethers
.
constants
.
HashZero
)
{
const
genesisOutput
=
await
L2OutputOracle
.
getL2Output
(
hre
.
deployConfig
.
l2OutputOracleStartingBlockNumber
)
assert
(
genesisOutput
.
outputRoot
===
hre
.
deployConfig
.
l2OutputOracleGenesisL2Output
,
`L2OutputOracle was not initialized with the correct genesis output root`
)
}
// Check OptimismPortal was initialized properly.
const
OptimismPortal
=
await
getContractFromArtifact
(
hre
,
'
OptimismPortalProxy
'
,
{
iface
:
'
OptimismPortal
'
,
}
)
await
assertContractVariable
(
OptimismPortal
,
'
l2Sender
'
,
'
0x000000000000000000000000000000000000dEaD
'
)
const
resourceParams
=
await
OptimismPortal
.
params
()
assert
(
resourceParams
.
prevBaseFee
.
eq
(
await
OptimismPortal
.
INITIAL_BASE_FEE
()),
`OptimismPortal was not initialized with the correct initial base fee`
)
assert
(
resourceParams
.
prevBoughtGas
.
eq
(
0
),
`OptimismPortal was not initialized with the correct initial bought gas`
)
assert
(
!
resourceParams
.
prevBlockNum
.
eq
(
0
),
`OptimismPortal was not initialized with the correct initial block number`
)
// Check L1CrossDomainMessenger was initialized properly.
const
L1CrossDomainMessenger
=
await
getContractFromArtifact
(
hre
,
'
L1CrossDomainMessengerProxy
'
,
{
iface
:
'
L1CrossDomainMessenger
'
,
}
)
try
{
await
L1CrossDomainMessenger
.
xDomainMessageSender
()
assert
(
false
,
`L1CrossDomainMessenger was not initialized properly`
)
}
catch
(
err
)
{
assert
(
err
.
message
.
includes
(
'
xDomainMessageSender is not set
'
),
`L1CrossDomainMessenger was not initialized properly`
)
}
await
assertContractVariable
(
L1CrossDomainMessenger
,
'
owner
'
,
hre
.
deployConfig
.
finalSystemOwner
)
// Check L1StandardBridge was initialized properly.
const
L1StandardBridge
=
await
getContractFromArtifact
(
hre
,
'
L1StandardBridgeProxy
'
,
{
iface
:
'
L1StandardBridge
'
,
}
)
await
assertContractVariable
(
L1StandardBridge
,
'
messenger
'
,
L1CrossDomainMessenger
.
address
)
// Check OptimismMintableERC20Factory was initialized properly.
const
OptimismMintableERC20Factory
=
await
getContractFromArtifact
(
hre
,
'
OptimismMintableERC20FactoryProxy
'
,
{
iface
:
'
OptimismMintableERC20Factory
'
,
}
)
await
assertContractVariable
(
OptimismMintableERC20Factory
,
'
bridge
'
,
L1StandardBridge
.
address
)
// Check L1ERC721Bridge was initialized properly.
const
L1ERC721Bridge
=
await
getContractFromArtifact
(
hre
,
'
L1ERC721BridgeProxy
'
,
{
iface
:
'
L1ERC721Bridge
'
,
}
)
await
assertContractVariable
(
L1ERC721Bridge
,
'
messenger
'
,
L1CrossDomainMessenger
.
address
)
}
else
{
console
.
log
(
`Step 1 executed`
)
}
if
((
await
FreshSystemDictator
.
currentStep
())
===
2
)
{
console
.
log
(
`Executing step 2`
)
await
FreshSystemDictator
.
step2
()
// Check the ProxyAdmin owner was changed properly.
await
assertContractVariable
(
ProxyAdmin
,
'
owner
'
,
hre
.
deployConfig
.
finalSystemOwner
)
}
else
{
console
.
log
(
`Step 2 executed`
)
}
}
deployFn
.
tags
=
[
'
FreshSystemDictator
'
,
'
fresh
'
]
export
default
deployFn
packages/contracts-bedrock/deploy/01
5
-MigrationSystemDictator.ts
→
packages/contracts-bedrock/deploy/01
6
-MigrationSystemDictator.ts
View file @
772a63b8
...
@@ -33,7 +33,7 @@ const deployFn: DeployFunction = async (hre) => {
...
@@ -33,7 +33,7 @@ const deployFn: DeployFunction = async (hre) => {
}
}
}
}
let
finalOwner
=
hre
.
deployConfig
.
proxyAdmin
Owner
let
finalOwner
=
hre
.
deployConfig
.
finalSystem
Owner
if
(
finalOwner
===
ethers
.
constants
.
AddressZero
)
{
if
(
finalOwner
===
ethers
.
constants
.
AddressZero
)
{
if
(
hre
.
network
.
config
.
live
===
false
)
{
if
(
hre
.
network
.
config
.
live
===
false
)
{
console
.
log
(
`WARNING!!!`
)
console
.
log
(
`WARNING!!!`
)
...
@@ -45,7 +45,7 @@ const deployFn: DeployFunction = async (hre) => {
...
@@ -45,7 +45,7 @@ const deployFn: DeployFunction = async (hre) => {
)
)
finalOwner
=
deployer
finalOwner
=
deployer
}
else
{
}
else
{
throw
new
Error
(
`must specify the
proxyAdmin
Owner on live networks`
)
throw
new
Error
(
`must specify the
finalSystem
Owner on live networks`
)
}
}
}
}
...
...
packages/contracts-bedrock/hardhat.config.ts
View file @
772a63b8
...
@@ -61,7 +61,7 @@ const config: HardhatUserConfig = {
...
@@ -61,7 +61,7 @@ const config: HardhatUserConfig = {
},
},
deployConfigSpec
:
{
deployConfigSpec
:
{
// Address of the L1 proxy admin owner.
// Address of the L1 proxy admin owner.
proxyAdmin
Owner
:
{
finalSystem
Owner
:
{
type
:
'
address
'
,
type
:
'
address
'
,
default
:
ethers
.
constants
.
AddressZero
,
default
:
ethers
.
constants
.
AddressZero
,
},
},
...
...
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