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
96043725
Unverified
Commit
96043725
authored
Dec 01, 2023
by
Mark Tyneway
Committed by
Maurelian
Dec 05, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
contracts-bedrock: more cleanup
parent
fbc474f7
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
102 additions
and
64 deletions
+102
-64
l1erc721bridge.go
op-bindings/bindings/l1erc721bridge.go
+47
-16
l1erc721bridge_more.go
op-bindings/bindings/l1erc721bridge_more.go
+2
-2
l2erc721bridge.go
op-bindings/bindings/l2erc721bridge.go
+18
-18
l2erc721bridge_more.go
op-bindings/bindings/l2erc721bridge_more.go
+2
-2
config.go
op-chain-ops/genesis/config.go
+2
-2
immutables.go
op-chain-ops/immutables/immutables.go
+3
-7
immutables_test.go
op-chain-ops/immutables/immutables_test.go
+2
-2
ChainAssertions.sol
packages/contracts-bedrock/scripts/ChainAssertions.sol
+2
-2
Deploy.s.sol
packages/contracts-bedrock/scripts/Deploy.s.sol
+1
-2
L1ERC721Bridge.sol
packages/contracts-bedrock/src/L1/L1ERC721Bridge.sol
+11
-3
L2ERC721Bridge.sol
packages/contracts-bedrock/src/L2/L2ERC721Bridge.sol
+1
-2
ERC721Bridge.sol
packages/contracts-bedrock/src/universal/ERC721Bridge.sol
+9
-4
ExtendedPause.t.sol
packages/contracts-bedrock/test/ExtendedPause.t.sol
+2
-2
No files found.
op-bindings/bindings/l1erc721bridge.go
View file @
96043725
...
@@ -30,8 +30,8 @@ var (
...
@@ -30,8 +30,8 @@ var (
// L1ERC721BridgeMetaData contains all meta data concerning the L1ERC721Bridge contract.
// L1ERC721BridgeMetaData contains all meta data concerning the L1ERC721Bridge contract.
var
L1ERC721BridgeMetaData
=
&
bind
.
MetaData
{
var
L1ERC721BridgeMetaData
=
&
bind
.
MetaData
{
ABI
:
"[{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_messenger
\"
,
\"
type
\"
:
\"
address
\"
}
,{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_otherBridge
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
constructor
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
from
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
ERC721BridgeFinalized
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
from
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
ERC721BridgeInitiated
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint8
\"
,
\"
name
\"
:
\"
version
\"
,
\"
type
\"
:
\"
uint8
\"
}],
\"
name
\"
:
\"
Initialized
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MESSENGER
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
contractCrossDomainMessenger
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
OTHER_BRIDGE
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
_minGasLimit
\"
,
\"
type
\"
:
\"
uint32
\"
},{
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
_extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
bridgeERC721
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
_minGasLimit
\"
,
\"
type
\"
:
\"
uint32
\"
},{
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
_extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
bridgeERC721To
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
deposits
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
bool
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bool
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_from
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
_extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
finalizeBridgeERC721
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
contractSuperchainConfig
\"
,
\"
name
\"
:
\"
_superchainConfig
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
initialize
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
messenger
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
contractCrossDomainMessenger
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
otherBridge
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
superC
hainConfig
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
contractSuperchainConfig
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
version
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
string
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
}]"
,
ABI
:
"[{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_messenger
\"
,
\"
type
\"
:
\"
address
\"
}
],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
constructor
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
from
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
ERC721BridgeFinalized
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
from
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
ERC721BridgeInitiated
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint8
\"
,
\"
name
\"
:
\"
version
\"
,
\"
type
\"
:
\"
uint8
\"
}],
\"
name
\"
:
\"
Initialized
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MESSENGER
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
contractCrossDomainMessenger
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
OTHER_BRIDGE
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
_minGasLimit
\"
,
\"
type
\"
:
\"
uint32
\"
},{
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
_extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
bridgeERC721
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
_minGasLimit
\"
,
\"
type
\"
:
\"
uint32
\"
},{
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
_extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
bridgeERC721To
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
deposits
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
bool
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bool
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_from
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
_extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
finalizeBridgeERC721
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
contractSuperchainConfig
\"
,
\"
name
\"
:
\"
_superchainConfig
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
initialize
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
messenger
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
contractCrossDomainMessenger
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
otherBridge
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
paused
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
bool
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bool
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
superc
hainConfig
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
contractSuperchainConfig
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
version
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
string
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
}]"
,
Bin
:
"0x60c06040523480156200001157600080fd5b5060405162001
56a3803806200156a8339810160408190526200003491620002b0565b81816001600160a01b038216620000a75760405162461bcd60e51b815260206004820152602c60248201527f4552433732314272696467653a206d657373656e6765722063616e6e6f74206260448201526b65206164647265737328302960a01b60648201526084015b60405180910390fd5b6001600160a01b038116620001175760405162461bcd60e51b815260206004820152602f60248201527f4552433732314272696467653a206f74686572206272696467652063616e6e6f60448201526e74206265206164647265737328302960881b60648201526084016200009e565b6001600160a01b039182166080521660a0526200013560006200013d565b5050620002e8565b600054610100900460ff16158080156200015e5750600054600160ff909116105b806200018e57506200017b306200028460201b62000a481760201c565b1580156200018e575060005460ff166001145b620001f35760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200009e565b6000805460ff19166001179055801562000217576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b03851602179055801562000280576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b03163b151590565b80516001600160a01b0381168114620002ab57600080fd5b919050565b60008060408385031215620002c457600080fd5b620002cf8362000293565b9150620002df6020840162000293565b90509250929050565b60805160a05161122c6200033e600039600081816101d40152818161026b0152818161037d0152610cf001526000818160e50152818161022101528181610353015281816103b40152610cc1015261122c6000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80637f46ddb211610081578063aa5574521161005b578063aa55745214610243578063c4d66de814610256578063c89701a21461026957600080fd5b80637f46ddb2146101cf578063915fb0d6146101f6578063927ede2d1461021c57600080fd5b806354fd4d50116100b257806354fd4d501461012f5780635d93a3fc14610178578063761f4493146101bc57600080fd5b80633687011a146100ce5780633cb747bf146100e3575b600080fd5b6100e16100dc366004610e62565b61028f565b005b7f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61016b6040518060400160405280600581526020017f312e352e3000000000000000000000000000000000000000000000000000000081525081565b6040516101269190610f50565b6101ac610186366004610f6a565b603160209081526000938452604080852082529284528284209052825290205460ff1681565b6040519015158152602001610126565b6100e16101ca366004610fab565b61033b565b6101057f000000000000000000000000000000000000000000000000000000000000000081565b6000546101059062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b6101057f000000000000000000000000000000000000000000000000000000000000000081565b6100e1610251366004611043565b6107bc565b6100e16102643660046110ba565b610878565b7f0000000000000000000000000000000000000000000000000000000000000000610105565b333b15610323576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732314272696467653a206163636f756e74206973206e6f742065787460448201527f65726e616c6c79206f776e65640000000000000000000000000000000000000060648201526084015b60405180910390fd5b6103338686333388888888610a64565b505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614801561045957507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636e296e456040518163ffffffff1660e01b8152600401602060405180830381865afa15801561041d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044191906110d7565b73ffffffffffffffffffffffffffffffffffffffff16145b6104e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4552433732314272696467653a2066756e6374696f6e2063616e206f6e6c792060448201527f62652063616c6c65642066726f6d20746865206f746865722062726964676500606482015260840161031a565b3073ffffffffffffffffffffffffffffffffffffffff88160361058a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4c314552433732314272696467653a206c6f63616c20746f6b656e2063616e6e60448201527f6f742062652073656c6600000000000000000000000000000000000000000000606482015260840161031a565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152603160209081526040808320938a1683529281528282208683529052205460ff161515600114610659576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f4c314552433732314272696467653a20546f6b656e204944206973206e6f742060448201527f657363726f77656420696e20746865204c312042726964676500000000000000606482015260840161031a565b73ffffffffffffffffffffffffffffffffffffffff87811660008181526031602090815260408083208b8616845282528083208884529091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055517f42842e0e000000000000000000000000000000000000000000000000000000008152306004820152918616602483015260448201859052906342842e0e90606401600060405180830381600087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f1f39bf6707b5d608453e0ae4c067b562bcc4c85c0f562ef5d2c774d2e7f131ac878787876040516107ab949392919061113d565b60405180910390a450505050505050565b73ffffffffffffffffffffffffffffffffffffffff851661085f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f4552433732314272696467653a206e667420726563697069656e742063616e6e60448201527f6f74206265206164647265737328302900000000000000000000000000000000606482015260840161031a565b61086f8787338888888888610a64565b50505050505050565b600054610100900460ff16158080156108985750600054600160ff909116105b806108b25750303b1580156108b2575060005460ff166001145b61093e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161031a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561099c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000073ffffffffffffffffffffffffffffffffffffffff8516021790558015610a4457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b73ffffffffffffffffffffffffffffffffffffffff8716610b07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4c314552433732314272696467653a2072656d6f746520746f6b656e2063616e60448201527f6e6f742062652061646472657373283029000000000000000000000000000000606482015260840161031a565b600063761f449360e01b888a8989898888604051602401610b2e979695949392919061117d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000959095169490941790935273ffffffffffffffffffffffffffffffffffffffff8c81166000818152603186528381208e8416825286528381208b82529095529382902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590517f23b872dd000000000000000000000000000000000000000000000000000000008152908a166004820152306024820152604481018890529092506323b872dd90606401600060405180830381600087803b158015610c6e57600080fd5b505af1158015610c82573d6000803e3d6000fd5b50506040517f3dbb202b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169250633dbb202b9150610d1c907f000000000000000000000000000000000000000000000000000000000000000090859089906004016111da565b600060405180830381600087803b158015610d3657600080fd5b505af1158015610d4a573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fb7460e2a880f256ebef3406116ff3eee0cee51ebccdc2a40698f87ebb2e9c1a589898888604051610dc8949392919061113d565b60405180910390a4505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610dfd57600080fd5b50565b803563ffffffff81168114610e1457600080fd5b919050565b60008083601f840112610e2b57600080fd5b50813567ffffffffffffffff811115610e4357600080fd5b602083019150836020828501011115610e5b57600080fd5b9250929050565b60008060008060008060a08789031215610e7b57600080fd5b8635610e8681610ddb565b95506020870135610e9681610ddb565b945060408701359350610eab60608801610e00565b9250608087013567ffffffffffffffff811115610ec757600080fd5b610ed389828a01610e19565b979a9699509497509295939492505050565b6000815180845260005b81811015610f0b57602081850181015186830182015201610eef565b81811115610f1d576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610f636020830184610ee5565b9392505050565b600080600060608486031215610f7f57600080fd5b8335610f8a81610ddb565b92506020840135610f9a81610ddb565b929592945050506040919091013590565b600080600080600080600060c0888a031215610fc657600080fd5b8735610fd181610ddb565b96506020880135610fe181610ddb565b95506040880135610ff181610ddb565b9450606088013561100181610ddb565b93506080880135925060a088013567ffffffffffffffff81111561102457600080fd5b6110308a828b01610e19565b989b979a50959850939692959293505050565b600080600080600080600060c0888a03121561105e57600080fd5b873561106981610ddb565b9650602088013561107981610ddb565b9550604088013561108981610ddb565b94506060880135935061109e60808901610e00565b925060a088013567ffffffffffffffff81111561102457600080fd5b6000602082840312156110cc57600080fd5b8135610f6381610ddb565b6000602082840312156110e957600080fd5b8151610f6381610ddb565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201526060604082015260006111736060830184866110f4565b9695505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808a1683528089166020840152808816604084015280871660608401525084608083015260c060a08301526111cd60c0830184866110f4565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff841681526060602082015260006112096060830185610ee5
565b905063ffffffff8316604083015294935050505056fea164736f6c634300080f000a"
,
Bin
:
"0x60c06040523480156200001157600080fd5b5060405162001
68a3803806200168a83398101604081905262000034916200029f565b807342000000000000000000000000000000000000146001600160a01b038216620000bb5760405162461bcd60e51b815260206004820152602c60248201527f4552433732314272696467653a206d657373656e6765722063616e6e6f74206260448201526b65206164647265737328302960a01b60648201526084015b60405180910390fd5b6001600160a01b0381166200012b5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314272696467653a206f74686572206272696467652063616e6e6f60448201526e74206265206164647265737328302960881b6064820152608401620000b2565b6001600160a01b039182166080521660a05262000149600062000150565b50620002d1565b600054610100900460ff1615808015620001715750600054600160ff909116105b80620001a157506200018e306200029060201b62000b5c1760201c565b158015620001a1575060005460ff166001145b620002065760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401620000b2565b6000805460ff1916600117905580156200022a576000805461ff0019166101001790555b603380546001600160a01b0319166001600160a01b03841617905580156200028c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b03163b151590565b600060208284031215620002b257600080fd5b81516001600160a01b0381168114620002ca57600080fd5b9392505050565b60805160a051611362620003286000396000818161020b0152818161027c015281816104270152610e0401526000818161013a01528181610232015281816103fd0152818161045e0152610dd501526113626000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063761f449311610081578063aa5574521161005b578063aa55745214610254578063c4d66de814610267578063c89701a21461027a57600080fd5b8063761f4493146101f35780637f46ddb214610206578063927ede2d1461022d57600080fd5b806354fd4d50116100b257806354fd4d501461015e5780635c975abb146101a75780635d93a3fc146101bf57600080fd5b806335e80ab3146100d95780633687011a146101235780633cb747bf14610138575b600080fd5b6033546100f99073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b610136610131366004610f76565b6102a0565b005b7f00000000000000000000000000000000000000000000000000000000000000006100f9565b61019a6040518060400160405280600581526020017f312e352e3000000000000000000000000000000000000000000000000000000081525081565b60405161011a9190611064565b6101af61034c565b604051901515815260200161011a565b6101af6101cd36600461107e565b603260209081526000938452604080852082529284528284209052825290205460ff1681565b6101366102013660046110bf565b6103e5565b6100f97f000000000000000000000000000000000000000000000000000000000000000081565b6100f97f000000000000000000000000000000000000000000000000000000000000000081565b610136610262366004611157565b6108d5565b6101366102753660046111ce565b610991565b7f00000000000000000000000000000000000000000000000000000000000000006100f9565b333b15610334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732314272696467653a206163636f756e74206973206e6f742065787460448201527f65726e616c6c79206f776e65640000000000000000000000000000000000000060648201526084015b60405180910390fd5b6103448686333388888888610b78565b505050505050565b603354604080517f5c975abb000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691635c975abb9160048083019260209291908290030181865afa1580156103bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e091906111eb565b905090565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614801561050357507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636e296e456040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104eb919061120d565b73ffffffffffffffffffffffffffffffffffffffff16145b61058f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4552433732314272696467653a2066756e6374696f6e2063616e206f6e6c792060448201527f62652063616c6c65642066726f6d20746865206f746865722062726964676500606482015260840161032b565b61059761034c565b156105fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4c314552433732314272696467653a2070617573656400000000000000000000604482015260640161032b565b3073ffffffffffffffffffffffffffffffffffffffff8816036106a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4c314552433732314272696467653a206c6f63616c20746f6b656e2063616e6e60448201527f6f742062652073656c6600000000000000000000000000000000000000000000606482015260840161032b565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152603260209081526040808320938a1683529281528282208683529052205460ff161515600114610772576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f4c314552433732314272696467653a20546f6b656e204944206973206e6f742060448201527f657363726f77656420696e20746865204c312042726964676500000000000000606482015260840161032b565b73ffffffffffffffffffffffffffffffffffffffff87811660008181526032602090815260408083208b8616845282528083208884529091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055517f42842e0e000000000000000000000000000000000000000000000000000000008152306004820152918616602483015260448201859052906342842e0e90606401600060405180830381600087803b15801561083257600080fd5b505af1158015610846573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f1f39bf6707b5d608453e0ae4c067b562bcc4c85c0f562ef5d2c774d2e7f131ac878787876040516108c49493929190611273565b60405180910390a450505050505050565b73ffffffffffffffffffffffffffffffffffffffff8516610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f4552433732314272696467653a206e667420726563697069656e742063616e6e60448201527f6f74206265206164647265737328302900000000000000000000000000000000606482015260840161032b565b6109888787338888888888610b78565b50505050505050565b600054610100900460ff16158080156109b15750600054600160ff909116105b806109cb5750303b1580156109cb575060005460ff166001145b610a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161032b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610ab557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b603380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790558015610b5857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b73ffffffffffffffffffffffffffffffffffffffff8716610c1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4c314552433732314272696467653a2072656d6f746520746f6b656e2063616e60448201527f6e6f742062652061646472657373283029000000000000000000000000000000606482015260840161032b565b600063761f449360e01b888a8989898888604051602401610c4297969594939291906112b3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000959095169490941790935273ffffffffffffffffffffffffffffffffffffffff8c81166000818152603286528381208e8416825286528381208b82529095529382902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590517f23b872dd000000000000000000000000000000000000000000000000000000008152908a166004820152306024820152604481018890529092506323b872dd90606401600060405180830381600087803b158015610d8257600080fd5b505af1158015610d96573d6000803e3d6000fd5b50506040517f3dbb202b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169250633dbb202b9150610e30907f00000000000000000000000000000000000000000000000000000000000000009085908990600401611310565b600060405180830381600087803b158015610e4a57600080fd5b505af1158015610e5e573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fb7460e2a880f256ebef3406116ff3eee0cee51ebccdc2a40698f87ebb2e9c1a589898888604051610edc9493929190611273565b60405180910390a4505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610f1157600080fd5b50565b803563ffffffff81168114610f2857600080fd5b919050565b60008083601f840112610f3f57600080fd5b50813567ffffffffffffffff811115610f5757600080fd5b602083019150836020828501011115610f6f57600080fd5b9250929050565b60008060008060008060a08789031215610f8f57600080fd5b8635610f9a81610eef565b95506020870135610faa81610eef565b945060408701359350610fbf60608801610f14565b9250608087013567ffffffffffffffff811115610fdb57600080fd5b610fe789828a01610f2d565b979a9699509497509295939492505050565b6000815180845260005b8181101561101f57602081850181015186830182015201611003565b81811115611031576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006110776020830184610ff9565b9392505050565b60008060006060848603121561109357600080fd5b833561109e81610eef565b925060208401356110ae81610eef565b929592945050506040919091013590565b600080600080600080600060c0888a0312156110da57600080fd5b87356110e581610eef565b965060208801356110f581610eef565b9550604088013561110581610eef565b9450606088013561111581610eef565b93506080880135925060a088013567ffffffffffffffff81111561113857600080fd5b6111448a828b01610f2d565b989b979a50959850939692959293505050565b600080600080600080600060c0888a03121561117257600080fd5b873561117d81610eef565b9650602088013561118d81610eef565b9550604088013561119d81610eef565b9450606088013593506111b260808901610f14565b925060a088013567ffffffffffffffff81111561113857600080fd5b6000602082840312156111e057600080fd5b813561107781610eef565b6000602082840312156111fd57600080fd5b8151801515811461107757600080fd5b60006020828403121561121f57600080fd5b815161107781610eef565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201526060604082015260006112a960608301848661122a565b9695505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808a1683528089166020840152808816604084015280871660608401525084608083015260c060a083015261130360c08301848661122a565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8416815260606020820152600061133f6060830185610ff9
565b905063ffffffff8316604083015294935050505056fea164736f6c634300080f000a"
,
}
}
// L1ERC721BridgeABI is the input ABI used to generate the binding from.
// L1ERC721BridgeABI is the input ABI used to generate the binding from.
...
@@ -43,7 +43,7 @@ var L1ERC721BridgeABI = L1ERC721BridgeMetaData.ABI
...
@@ -43,7 +43,7 @@ var L1ERC721BridgeABI = L1ERC721BridgeMetaData.ABI
var
L1ERC721BridgeBin
=
L1ERC721BridgeMetaData
.
Bin
var
L1ERC721BridgeBin
=
L1ERC721BridgeMetaData
.
Bin
// DeployL1ERC721Bridge deploys a new Ethereum contract, binding an instance of L1ERC721Bridge to it.
// DeployL1ERC721Bridge deploys a new Ethereum contract, binding an instance of L1ERC721Bridge to it.
func
DeployL1ERC721Bridge
(
auth
*
bind
.
TransactOpts
,
backend
bind
.
ContractBackend
,
_messenger
common
.
Address
,
_otherBridge
common
.
Address
)
(
common
.
Address
,
*
types
.
Transaction
,
*
L1ERC721Bridge
,
error
)
{
func
DeployL1ERC721Bridge
(
auth
*
bind
.
TransactOpts
,
backend
bind
.
ContractBackend
,
_messenger
common
.
Address
)
(
common
.
Address
,
*
types
.
Transaction
,
*
L1ERC721Bridge
,
error
)
{
parsed
,
err
:=
L1ERC721BridgeMetaData
.
GetAbi
()
parsed
,
err
:=
L1ERC721BridgeMetaData
.
GetAbi
()
if
err
!=
nil
{
if
err
!=
nil
{
return
common
.
Address
{},
nil
,
nil
,
err
return
common
.
Address
{},
nil
,
nil
,
err
...
@@ -52,7 +52,7 @@ func DeployL1ERC721Bridge(auth *bind.TransactOpts, backend bind.ContractBackend,
...
@@ -52,7 +52,7 @@ func DeployL1ERC721Bridge(auth *bind.TransactOpts, backend bind.ContractBackend,
return
common
.
Address
{},
nil
,
nil
,
errors
.
New
(
"GetABI returned nil"
)
return
common
.
Address
{},
nil
,
nil
,
errors
.
New
(
"GetABI returned nil"
)
}
}
address
,
tx
,
contract
,
err
:=
bind
.
DeployContract
(
auth
,
*
parsed
,
common
.
FromHex
(
L1ERC721BridgeBin
),
backend
,
_messenger
,
_otherBridge
)
address
,
tx
,
contract
,
err
:=
bind
.
DeployContract
(
auth
,
*
parsed
,
common
.
FromHex
(
L1ERC721BridgeBin
),
backend
,
_messenger
)
if
err
!=
nil
{
if
err
!=
nil
{
return
common
.
Address
{},
nil
,
nil
,
err
return
common
.
Address
{},
nil
,
nil
,
err
}
}
...
@@ -356,12 +356,43 @@ func (_L1ERC721Bridge *L1ERC721BridgeCallerSession) OtherBridge() (common.Addres
...
@@ -356,12 +356,43 @@ func (_L1ERC721Bridge *L1ERC721BridgeCallerSession) OtherBridge() (common.Addres
return
_L1ERC721Bridge
.
Contract
.
OtherBridge
(
&
_L1ERC721Bridge
.
CallOpts
)
return
_L1ERC721Bridge
.
Contract
.
OtherBridge
(
&
_L1ERC721Bridge
.
CallOpts
)
}
}
//
SuperChainConfig is a free data retrieval call binding the contract method 0x915fb0d6
.
//
Paused is a free data retrieval call binding the contract method 0x5c975abb
.
//
//
// Solidity: function
superChainConfig() view returns(address
)
// Solidity: function
paused() view returns(bool
)
func
(
_L1ERC721Bridge
*
L1ERC721BridgeCaller
)
SuperChainConfig
(
opts
*
bind
.
CallOpts
)
(
common
.
Address
,
error
)
{
func
(
_L1ERC721Bridge
*
L1ERC721BridgeCaller
)
Paused
(
opts
*
bind
.
CallOpts
)
(
bool
,
error
)
{
var
out
[]
interface
{}
var
out
[]
interface
{}
err
:=
_L1ERC721Bridge
.
contract
.
Call
(
opts
,
&
out
,
"superChainConfig"
)
err
:=
_L1ERC721Bridge
.
contract
.
Call
(
opts
,
&
out
,
"paused"
)
if
err
!=
nil
{
return
*
new
(
bool
),
err
}
out0
:=
*
abi
.
ConvertType
(
out
[
0
],
new
(
bool
))
.
(
*
bool
)
return
out0
,
err
}
// Paused is a free data retrieval call binding the contract method 0x5c975abb.
//
// Solidity: function paused() view returns(bool)
func
(
_L1ERC721Bridge
*
L1ERC721BridgeSession
)
Paused
()
(
bool
,
error
)
{
return
_L1ERC721Bridge
.
Contract
.
Paused
(
&
_L1ERC721Bridge
.
CallOpts
)
}
// Paused is a free data retrieval call binding the contract method 0x5c975abb.
//
// Solidity: function paused() view returns(bool)
func
(
_L1ERC721Bridge
*
L1ERC721BridgeCallerSession
)
Paused
()
(
bool
,
error
)
{
return
_L1ERC721Bridge
.
Contract
.
Paused
(
&
_L1ERC721Bridge
.
CallOpts
)
}
// SuperchainConfig is a free data retrieval call binding the contract method 0x35e80ab3.
//
// Solidity: function superchainConfig() view returns(address)
func
(
_L1ERC721Bridge
*
L1ERC721BridgeCaller
)
SuperchainConfig
(
opts
*
bind
.
CallOpts
)
(
common
.
Address
,
error
)
{
var
out
[]
interface
{}
err
:=
_L1ERC721Bridge
.
contract
.
Call
(
opts
,
&
out
,
"superchainConfig"
)
if
err
!=
nil
{
if
err
!=
nil
{
return
*
new
(
common
.
Address
),
err
return
*
new
(
common
.
Address
),
err
...
@@ -373,18 +404,18 @@ func (_L1ERC721Bridge *L1ERC721BridgeCaller) SuperChainConfig(opts *bind.CallOpt
...
@@ -373,18 +404,18 @@ func (_L1ERC721Bridge *L1ERC721BridgeCaller) SuperChainConfig(opts *bind.CallOpt
}
}
// Super
ChainConfig is a free data retrieval call binding the contract method 0x915fb0d6
.
// Super
chainConfig is a free data retrieval call binding the contract method 0x35e80ab3
.
//
//
// Solidity: function super
C
hainConfig() view returns(address)
// Solidity: function super
c
hainConfig() view returns(address)
func
(
_L1ERC721Bridge
*
L1ERC721BridgeSession
)
Super
C
hainConfig
()
(
common
.
Address
,
error
)
{
func
(
_L1ERC721Bridge
*
L1ERC721BridgeSession
)
Super
c
hainConfig
()
(
common
.
Address
,
error
)
{
return
_L1ERC721Bridge
.
Contract
.
Super
C
hainConfig
(
&
_L1ERC721Bridge
.
CallOpts
)
return
_L1ERC721Bridge
.
Contract
.
Super
c
hainConfig
(
&
_L1ERC721Bridge
.
CallOpts
)
}
}
// Super
ChainConfig is a free data retrieval call binding the contract method 0x915fb0d6
.
// Super
chainConfig is a free data retrieval call binding the contract method 0x35e80ab3
.
//
//
// Solidity: function super
C
hainConfig() view returns(address)
// Solidity: function super
c
hainConfig() view returns(address)
func
(
_L1ERC721Bridge
*
L1ERC721BridgeCallerSession
)
Super
C
hainConfig
()
(
common
.
Address
,
error
)
{
func
(
_L1ERC721Bridge
*
L1ERC721BridgeCallerSession
)
Super
c
hainConfig
()
(
common
.
Address
,
error
)
{
return
_L1ERC721Bridge
.
Contract
.
Super
C
hainConfig
(
&
_L1ERC721Bridge
.
CallOpts
)
return
_L1ERC721Bridge
.
Contract
.
Super
c
hainConfig
(
&
_L1ERC721Bridge
.
CallOpts
)
}
}
// Version is a free data retrieval call binding the contract method 0x54fd4d50.
// Version is a free data retrieval call binding the contract method 0x54fd4d50.
...
...
op-bindings/bindings/l1erc721bridge_more.go
View file @
96043725
...
@@ -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
L1ERC721BridgeStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:1000,
\"
contract
\"
:
\"
src/L1/L1ERC721Bridge.sol:L1ERC721Bridge
\"
,
\"
label
\"
:
\"
_initialized
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_uint8
\"
},{
\"
astId
\"
:1001,
\"
contract
\"
:
\"
src/L1/L1ERC721Bridge.sol:L1ERC721Bridge
\"
,
\"
label
\"
:
\"
_initializing
\"
,
\"
offset
\"
:1,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_bool
\"
},{
\"
astId
\"
:1002,
\"
contract
\"
:
\"
src/L1/L1ERC721Bridge.sol:L1ERC721Bridge
\"
,
\"
label
\"
:
\"
superChainConfig
\"
,
\"
offset
\"
:2,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_contract(SuperchainConfig)1005
\"
},{
\"
astId
\"
:1003,
\"
contract
\"
:
\"
src/L1/L1ERC721Bridge.sol:L1ERC721Bridge
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_array(t_uint256)48_storage
\"
},{
\"
astId
\"
:1004,
\"
contract
\"
:
\"
src/L1/L1ERC721Bridge.sol:L1ERC721Bridge
\"
,
\"
label
\"
:
\"
deposits
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
49
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_mapping(t_address,t_mapping(t_uint256,t_bool)))
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_array(t_uint256)48_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[48]
\"
,
\"
numberOfBytes
\"
:
\"
1536
\"
,
\"
base
\"
:
\"
t_uint256
\"
},
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_contract(SuperchainConfig)1005
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
contract SuperchainConfig
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_mapping(t_address,t_mapping(t_address,t_mapping(t_uint256,t_bool)))
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
mapping(address =
\u003e
mapping(uint256 =
\u003e
bool)))
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_mapping(t_address,t_mapping(t_uint256,t_bool))
\"
},
\"
t_mapping(t_address,t_mapping(t_uint256,t_bool))
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
mapping(uint256 =
\u003e
bool))
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_mapping(t_uint256,t_bool)
\"
},
\"
t_mapping(t_uint256,t_bool)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(uint256 =
\u003e
bool)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_uint256
\"
,
\"
value
\"
:
\"
t_bool
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint8
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint8
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
}}}"
const
L1ERC721BridgeStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:1000,
\"
contract
\"
:
\"
src/L1/L1ERC721Bridge.sol:L1ERC721Bridge
\"
,
\"
label
\"
:
\"
_initialized
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_uint8
\"
},{
\"
astId
\"
:1001,
\"
contract
\"
:
\"
src/L1/L1ERC721Bridge.sol:L1ERC721Bridge
\"
,
\"
label
\"
:
\"
_initializing
\"
,
\"
offset
\"
:1,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_bool
\"
},{
\"
astId
\"
:1002,
\"
contract
\"
:
\"
src/L1/L1ERC721Bridge.sol:L1ERC721Bridge
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_array(t_uint256)49_storage
\"
},{
\"
astId
\"
:1003,
\"
contract
\"
:
\"
src/L1/L1ERC721Bridge.sol:L1ERC721Bridge
\"
,
\"
label
\"
:
\"
deposits
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
50
\"
,
\"
type
\"
:
\"
t_mapping(t_address,t_mapping(t_address,t_mapping(t_uint256,t_bool)))
\"
},{
\"
astId
\"
:1004,
\"
contract
\"
:
\"
src/L1/L1ERC721Bridge.sol:L1ERC721Bridge
\"
,
\"
label
\"
:
\"
superchainConfig
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
51
\"
,
\"
type
\"
:
\"
t_contract(SuperchainConfig)1005
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_array(t_uint256)49_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[49]
\"
,
\"
numberOfBytes
\"
:
\"
1568
\"
,
\"
base
\"
:
\"
t_uint256
\"
},
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_contract(SuperchainConfig)1005
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
contract SuperchainConfig
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_mapping(t_address,t_mapping(t_address,t_mapping(t_uint256,t_bool)))
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
mapping(address =
\u003e
mapping(uint256 =
\u003e
bool)))
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_mapping(t_address,t_mapping(t_uint256,t_bool))
\"
},
\"
t_mapping(t_address,t_mapping(t_uint256,t_bool))
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(address =
\u003e
mapping(uint256 =
\u003e
bool))
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_address
\"
,
\"
value
\"
:
\"
t_mapping(t_uint256,t_bool)
\"
},
\"
t_mapping(t_uint256,t_bool)
\"
:{
\"
encoding
\"
:
\"
mapping
\"
,
\"
label
\"
:
\"
mapping(uint256 =
\u003e
bool)
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
,
\"
key
\"
:
\"
t_uint256
\"
,
\"
value
\"
:
\"
t_bool
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint8
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint8
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
}}}"
var
L1ERC721BridgeStorageLayout
=
new
(
solc
.
StorageLayout
)
var
L1ERC721BridgeStorageLayout
=
new
(
solc
.
StorageLayout
)
var
L1ERC721BridgeDeployedBin
=
"0x608060405234801561001057600080fd5b50600436106100
c95760003560e01c80637f46ddb211610081578063aa5574521161005b578063aa55745214610243578063c4d66de814610256578063c89701a21461026957600080fd5b80637f46ddb2146101cf578063915fb0d6146101f6578063927ede2d1461021c57600080fd5b806354fd4d50116100b257806354fd4d501461012f5780635d93a3fc14610178578063761f4493146101bc57600080fd5b80633687011a146100ce5780633cb747bf146100e3575b600080fd5b6100e16100dc366004610e62565b61028f565b005b7f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61016b6040518060400160405280600581526020017f312e352e3000000000000000000000000000000000000000000000000000000081525081565b6040516101269190610f50565b6101ac610186366004610f6a565b603160209081526000938452604080852082529284528284209052825290205460ff1681565b6040519015158152602001610126565b6100e16101ca366004610fab565b61033b565b6101057f000000000000000000000000000000000000000000000000000000000000000081565b6000546101059062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b6101057f000000000000000000000000000000000000000000000000000000000000000081565b6100e1610251366004611043565b6107bc565b6100e16102643660046110ba565b610878565b7f0000000000000000000000000000000000000000000000000000000000000000610105565b333b15610323576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732314272696467653a206163636f756e74206973206e6f742065787460448201527f65726e616c6c79206f776e65640000000000000000000000000000000000000060648201526084015b60405180910390fd5b6103338686333388888888610a64565b505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614801561045957507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636e296e456040518163ffffffff1660e01b8152600401602060405180830381865afa15801561041d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044191906110d7565b73ffffffffffffffffffffffffffffffffffffffff16145b6104e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4552433732314272696467653a2066756e6374696f6e2063616e206f6e6c792060448201527f62652063616c6c65642066726f6d20746865206f746865722062726964676500606482015260840161031a565b3073ffffffffffffffffffffffffffffffffffffffff88160361058a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4c314552433732314272696467653a206c6f63616c20746f6b656e2063616e6e60448201527f6f742062652073656c6600000000000000000000000000000000000000000000606482015260840161031a565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152603160209081526040808320938a1683529281528282208683529052205460ff161515600114610659576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f4c314552433732314272696467653a20546f6b656e204944206973206e6f742060448201527f657363726f77656420696e20746865204c312042726964676500000000000000606482015260840161031a565b73ffffffffffffffffffffffffffffffffffffffff87811660008181526031602090815260408083208b8616845282528083208884529091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055517f42842e0e000000000000000000000000000000000000000000000000000000008152306004820152918616602483015260448201859052906342842e0e90606401600060405180830381600087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f1f39bf6707b5d608453e0ae4c067b562bcc4c85c0f562ef5d2c774d2e7f131ac878787876040516107ab949392919061113d565b60405180910390a450505050505050565b73ffffffffffffffffffffffffffffffffffffffff851661085f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f4552433732314272696467653a206e667420726563697069656e742063616e6e60448201527f6f74206265206164647265737328302900000000000000000000000000000000606482015260840161031a565b61086f8787338888888888610a64565b50505050505050565b600054610100900460ff16158080156108985750600054600160ff909116105b806108b25750303b1580156108b2575060005460ff166001145b61093e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161031a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561099c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b600080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000073ffffffffffffffffffffffffffffffffffffffff8516021790558015610a4457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b73ffffffffffffffffffffffffffffffffffffffff8716610b07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4c314552433732314272696467653a2072656d6f746520746f6b656e2063616e60448201527f6e6f742062652061646472657373283029000000000000000000000000000000606482015260840161031a565b600063761f449360e01b888a8989898888604051602401610b2e979695949392919061117d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000959095169490941790935273ffffffffffffffffffffffffffffffffffffffff8c81166000818152603186528381208e8416825286528381208b82529095529382902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590517f23b872dd000000000000000000000000000000000000000000000000000000008152908a166004820152306024820152604481018890529092506323b872dd90606401600060405180830381600087803b158015610c6e57600080fd5b505af1158015610c82573d6000803e3d6000fd5b50506040517f3dbb202b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169250633dbb202b9150610d1c907f000000000000000000000000000000000000000000000000000000000000000090859089906004016111da565b600060405180830381600087803b158015610d3657600080fd5b505af1158015610d4a573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fb7460e2a880f256ebef3406116ff3eee0cee51ebccdc2a40698f87ebb2e9c1a589898888604051610dc8949392919061113d565b60405180910390a4505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610dfd57600080fd5b50565b803563ffffffff81168114610e1457600080fd5b919050565b60008083601f840112610e2b57600080fd5b50813567ffffffffffffffff811115610e4357600080fd5b602083019150836020828501011115610e5b57600080fd5b9250929050565b60008060008060008060a08789031215610e7b57600080fd5b8635610e8681610ddb565b95506020870135610e9681610ddb565b945060408701359350610eab60608801610e00565b9250608087013567ffffffffffffffff811115610ec757600080fd5b610ed389828a01610e19565b979a9699509497509295939492505050565b6000815180845260005b81811015610f0b57602081850181015186830182015201610eef565b81811115610f1d576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610f636020830184610ee5565b9392505050565b600080600060608486031215610f7f57600080fd5b8335610f8a81610ddb565b92506020840135610f9a81610ddb565b929592945050506040919091013590565b600080600080600080600060c0888a031215610fc657600080fd5b8735610fd181610ddb565b96506020880135610fe181610ddb565b95506040880135610ff181610ddb565b9450606088013561100181610ddb565b93506080880135925060a088013567ffffffffffffffff81111561102457600080fd5b6110308a828b01610e19565b989b979a50959850939692959293505050565b600080600080600080600060c0888a03121561105e57600080fd5b873561106981610ddb565b9650602088013561107981610ddb565b9550604088013561108981610ddb565b94506060880135935061109e60808901610e00565b925060a088013567ffffffffffffffff81111561102457600080fd5b6000602082840312156110cc57600080fd5b8135610f6381610ddb565b6000602082840312156110e957600080fd5b8151610f6381610ddb565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201526060604082015260006111736060830184866110f4565b9695505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808a1683528089166020840152808816604084015280871660608401525084608083015260c060a08301526111cd60c0830184866110f4565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff841681526060602082015260006112096060830185610ee5
565b905063ffffffff8316604083015294935050505056fea164736f6c634300080f000a"
var
L1ERC721BridgeDeployedBin
=
"0x608060405234801561001057600080fd5b50600436106100
d45760003560e01c8063761f449311610081578063aa5574521161005b578063aa55745214610254578063c4d66de814610267578063c89701a21461027a57600080fd5b8063761f4493146101f35780637f46ddb214610206578063927ede2d1461022d57600080fd5b806354fd4d50116100b257806354fd4d501461015e5780635c975abb146101a75780635d93a3fc146101bf57600080fd5b806335e80ab3146100d95780633687011a146101235780633cb747bf14610138575b600080fd5b6033546100f99073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b610136610131366004610f76565b6102a0565b005b7f00000000000000000000000000000000000000000000000000000000000000006100f9565b61019a6040518060400160405280600581526020017f312e352e3000000000000000000000000000000000000000000000000000000081525081565b60405161011a9190611064565b6101af61034c565b604051901515815260200161011a565b6101af6101cd36600461107e565b603260209081526000938452604080852082529284528284209052825290205460ff1681565b6101366102013660046110bf565b6103e5565b6100f97f000000000000000000000000000000000000000000000000000000000000000081565b6100f97f000000000000000000000000000000000000000000000000000000000000000081565b610136610262366004611157565b6108d5565b6101366102753660046111ce565b610991565b7f00000000000000000000000000000000000000000000000000000000000000006100f9565b333b15610334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732314272696467653a206163636f756e74206973206e6f742065787460448201527f65726e616c6c79206f776e65640000000000000000000000000000000000000060648201526084015b60405180910390fd5b6103448686333388888888610b78565b505050505050565b603354604080517f5c975abb000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691635c975abb9160048083019260209291908290030181865afa1580156103bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e091906111eb565b905090565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614801561050357507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636e296e456040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104eb919061120d565b73ffffffffffffffffffffffffffffffffffffffff16145b61058f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4552433732314272696467653a2066756e6374696f6e2063616e206f6e6c792060448201527f62652063616c6c65642066726f6d20746865206f746865722062726964676500606482015260840161032b565b61059761034c565b156105fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4c314552433732314272696467653a2070617573656400000000000000000000604482015260640161032b565b3073ffffffffffffffffffffffffffffffffffffffff8816036106a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4c314552433732314272696467653a206c6f63616c20746f6b656e2063616e6e60448201527f6f742062652073656c6600000000000000000000000000000000000000000000606482015260840161032b565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152603260209081526040808320938a1683529281528282208683529052205460ff161515600114610772576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f4c314552433732314272696467653a20546f6b656e204944206973206e6f742060448201527f657363726f77656420696e20746865204c312042726964676500000000000000606482015260840161032b565b73ffffffffffffffffffffffffffffffffffffffff87811660008181526032602090815260408083208b8616845282528083208884529091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055517f42842e0e000000000000000000000000000000000000000000000000000000008152306004820152918616602483015260448201859052906342842e0e90606401600060405180830381600087803b15801561083257600080fd5b505af1158015610846573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f1f39bf6707b5d608453e0ae4c067b562bcc4c85c0f562ef5d2c774d2e7f131ac878787876040516108c49493929190611273565b60405180910390a450505050505050565b73ffffffffffffffffffffffffffffffffffffffff8516610978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f4552433732314272696467653a206e667420726563697069656e742063616e6e60448201527f6f74206265206164647265737328302900000000000000000000000000000000606482015260840161032b565b6109888787338888888888610b78565b50505050505050565b600054610100900460ff16158080156109b15750600054600160ff909116105b806109cb5750303b1580156109cb575060005460ff166001145b610a57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161032b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610ab557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b603380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790558015610b5857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b73ffffffffffffffffffffffffffffffffffffffff8716610c1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4c314552433732314272696467653a2072656d6f746520746f6b656e2063616e60448201527f6e6f742062652061646472657373283029000000000000000000000000000000606482015260840161032b565b600063761f449360e01b888a8989898888604051602401610c4297969594939291906112b3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000959095169490941790935273ffffffffffffffffffffffffffffffffffffffff8c81166000818152603286528381208e8416825286528381208b82529095529382902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590517f23b872dd000000000000000000000000000000000000000000000000000000008152908a166004820152306024820152604481018890529092506323b872dd90606401600060405180830381600087803b158015610d8257600080fd5b505af1158015610d96573d6000803e3d6000fd5b50506040517f3dbb202b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169250633dbb202b9150610e30907f00000000000000000000000000000000000000000000000000000000000000009085908990600401611310565b600060405180830381600087803b158015610e4a57600080fd5b505af1158015610e5e573d6000803e3d6000fd5b505050508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fb7460e2a880f256ebef3406116ff3eee0cee51ebccdc2a40698f87ebb2e9c1a589898888604051610edc9493929190611273565b60405180910390a4505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610f1157600080fd5b50565b803563ffffffff81168114610f2857600080fd5b919050565b60008083601f840112610f3f57600080fd5b50813567ffffffffffffffff811115610f5757600080fd5b602083019150836020828501011115610f6f57600080fd5b9250929050565b60008060008060008060a08789031215610f8f57600080fd5b8635610f9a81610eef565b95506020870135610faa81610eef565b945060408701359350610fbf60608801610f14565b9250608087013567ffffffffffffffff811115610fdb57600080fd5b610fe789828a01610f2d565b979a9699509497509295939492505050565b6000815180845260005b8181101561101f57602081850181015186830182015201611003565b81811115611031576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006110776020830184610ff9565b9392505050565b60008060006060848603121561109357600080fd5b833561109e81610eef565b925060208401356110ae81610eef565b929592945050506040919091013590565b600080600080600080600060c0888a0312156110da57600080fd5b87356110e581610eef565b965060208801356110f581610eef565b9550604088013561110581610eef565b9450606088013561111581610eef565b93506080880135925060a088013567ffffffffffffffff81111561113857600080fd5b6111448a828b01610f2d565b989b979a50959850939692959293505050565b600080600080600080600060c0888a03121561117257600080fd5b873561117d81610eef565b9650602088013561118d81610eef565b9550604088013561119d81610eef565b9450606088013593506111b260808901610f14565b925060a088013567ffffffffffffffff81111561113857600080fd5b6000602082840312156111e057600080fd5b813561107781610eef565b6000602082840312156111fd57600080fd5b8151801515811461107757600080fd5b60006020828403121561121f57600080fd5b815161107781610eef565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201526060604082015260006112a960608301848661122a565b9695505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808a1683528089166020840152808816604084015280871660608401525084608083015260c060a083015261130360c08301848661122a565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8416815260606020820152600061133f6060830185610ff9
565b905063ffffffff8316604083015294935050505056fea164736f6c634300080f000a"
func
init
()
{
func
init
()
{
...
...
op-bindings/bindings/l2erc721bridge.go
View file @
96043725
...
@@ -30,8 +30,8 @@ var (
...
@@ -30,8 +30,8 @@ var (
// L2ERC721BridgeMetaData contains all meta data concerning the L2ERC721Bridge contract.
// L2ERC721BridgeMetaData contains all meta data concerning the L2ERC721Bridge contract.
var
L2ERC721BridgeMetaData
=
&
bind
.
MetaData
{
var
L2ERC721BridgeMetaData
=
&
bind
.
MetaData
{
ABI
:
"[{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_
messenger
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_otherBridge
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
constructor
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
from
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
ERC721BridgeFinalized
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
from
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
ERC721BridgeInitiated
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint8
\"
,
\"
name
\"
:
\"
version
\"
,
\"
type
\"
:
\"
uint8
\"
}],
\"
name
\"
:
\"
Initialized
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MESSENGER
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
contractCrossDomainMessenger
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
OTHER_BRIDGE
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
_minGasLimit
\"
,
\"
type
\"
:
\"
uint32
\"
},{
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
_extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
bridgeERC721
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
_minGasLimit
\"
,
\"
type
\"
:
\"
uint32
\"
},{
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
_extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
bridgeERC721To
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_from
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
_extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
finalizeBridgeERC721
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
initialize
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
messenger
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
contractCrossDomainMessenger
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
otherBridge
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
superChainConfig
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
contractSuperchainConfig
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
version
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
string
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
}]"
,
ABI
:
"[{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_
otherBridge
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
constructor
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
from
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
ERC721BridgeFinalized
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
from
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
ERC721BridgeInitiated
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint8
\"
,
\"
name
\"
:
\"
version
\"
,
\"
type
\"
:
\"
uint8
\"
}],
\"
name
\"
:
\"
Initialized
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MESSENGER
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
contractCrossDomainMessenger
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
OTHER_BRIDGE
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
_minGasLimit
\"
,
\"
type
\"
:
\"
uint32
\"
},{
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
_extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
bridgeERC721
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
_minGasLimit
\"
,
\"
type
\"
:
\"
uint32
\"
},{
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
_extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
bridgeERC721To
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_localToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_remoteToken
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_from
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_tokenId
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
_extraData
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
finalizeBridgeERC721
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
initialize
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
messenger
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
contractCrossDomainMessenger
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
otherBridge
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
paused
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
bool
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bool
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
version
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
string
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
}]"
,
Bin
:
"0x60c06040523480156200001157600080fd5b50604051620018
a1380380620018a183398101604081905262000034916200028b565b81816001600160a01b038216620000a75760405162461bcd60e51b815260206004820152602c60248201527f4552433732314272696467653a206d657373656e6765722063616e6e6f74206260448201526b65206164647265737328302960a01b60648201526084015b60405180910390fd5b6001600160a01b038116620001175760405162461bcd60e51b815260206004820152602f60248201527f4552433732314272696467653a206f74686572206272696467652063616e6e6f60448201526e74206265206164647265737328302960881b60648201526084016200009e565b6001600160a01b039182166080521660a052620001336200013b565b5050620002c3565b600054610100900460ff16158080156200015c5750600054600160ff909116105b806200018c575062000179306200025f60201b62000a8e1760201c565b1580156200018c575060005460ff166001145b620001f15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200009e565b6000805460ff19166001179055801562000215576000805461ff0019166101001790555b80156200025c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6001600160a01b03163b151590565b80516001600160a01b03811681146200028657600080fd5b919050565b600080604083850312156200029f57600080fd5b620002aa836200026e565b9150620002ba602084016200026e565b90509250929050565b60805160a051611588620003196000396000818161018501528181610211015281816103230152610f5c01526000818160da015281816101da015281816102f90152818161035a0152610f2f01526115886000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c80638129fc1c11610076578063927ede2d1161005b578063927ede2d146101d5578063aa557452146101fc578063c89701a21461020f57600080fd5b80638129fc1c146101a7578063915fb0d6146101af57600080fd5b806354fd4d50116100a757806354fd4d5014610124578063761f44931461016d5780637f46ddb21461018057600080fd5b80633687011a146100c35780633cb747bf146100d8575b600080fd5b6100d66100d1366004611223565b610235565b005b7f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101606040518060400160405280600581526020017f312e352e3000000000000000000000000000000000000000000000000000000081525081565b60405161011b9190611311565b6100d661017b366004611324565b6102e1565b6100fa7f000000000000000000000000000000000000000000000000000000000000000081565b6100d6610848565b6000546100fa9062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b6100fa7f000000000000000000000000000000000000000000000000000000000000000081565b6100d661020a3660046113bc565b6109d2565b7f00000000000000000000000000000000000000000000000000000000000000006100fa565b333b156102c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732314272696467653a206163636f756e74206973206e6f742065787460448201527f65726e616c6c79206f776e65640000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102d98686333388888888610aaa565b505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480156103ff57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636e296e456040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e79190611433565b73ffffffffffffffffffffffffffffffffffffffff16145b61048b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4552433732314272696467653a2066756e6374696f6e2063616e206f6e6c792060448201527f62652063616c6c65642066726f6d20746865206f74686572206272696467650060648201526084016102c0565b3073ffffffffffffffffffffffffffffffffffffffff881603610530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4c324552433732314272696467653a206c6f63616c20746f6b656e2063616e6e60448201527f6f742062652073656c660000000000000000000000000000000000000000000060648201526084016102c0565b61055a877f74259ebf00000000000000000000000000000000000000000000000000000000611048565b6105e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4c324552433732314272696467653a206c6f63616c20746f6b656e20696e746560448201527f7266616365206973206e6f7420636f6d706c69616e740000000000000000000060648201526084016102c0565b8673ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610631573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106559190611433565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614610735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604b60248201527f4c324552433732314272696467653a2077726f6e672072656d6f746520746f6b60448201527f656e20666f72204f7074696d69736d204d696e7461626c65204552433732312060648201527f6c6f63616c20746f6b656e000000000000000000000000000000000000000000608482015260a4016102c0565b6040517fa144819400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820185905288169063a144819490604401600060405180830381600087803b1580156107a557600080fd5b505af11580156107b9573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f1f39bf6707b5d608453e0ae4c067b562bcc4c85c0f562ef5d2c774d2e7f131ac878787876040516108379493929190611499565b60405180910390a450505050505050565b600054610100900460ff16158080156108685750600054600160ff909116105b806108825750303b158015610882575060005460ff166001145b61090e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016102c0565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561096c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b80156109cf57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b73ffffffffffffffffffffffffffffffffffffffff8516610a75576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f4552433732314272696467653a206e667420726563697069656e742063616e6e60448201527f6f7420626520616464726573732830290000000000000000000000000000000060648201526084016102c0565b610a858787338888888888610aaa565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b73ffffffffffffffffffffffffffffffffffffffff8716610b4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4c324552433732314272696467653a2072656d6f746520746f6b656e2063616e60448201527f6e6f74206265206164647265737328302900000000000000000000000000000060648201526084016102c0565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff891690636352211e90602401602060405180830381865afa158015610bb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdc9190611433565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614610c96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f4c324552433732314272696467653a205769746864726177616c206973206e6f60448201527f74206265696e6720696e69746961746564206279204e4654206f776e6572000060648201526084016102c0565b60008873ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ce3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d079190611433565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610dc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c324552433732314272696467653a2072656d6f746520746f6b656e20646f6560448201527f73206e6f74206d6174636820676976656e2076616c756500000000000000000060648201526084016102c0565b6040517f9dc29fac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152602482018790528a1690639dc29fac90604401600060405180830381600087803b158015610e3457600080fd5b505af1158015610e48573d6000803e3d6000fd5b50505050600063761f449360e01b828b8a8a8a8989604051602401610e7397969594939291906114d9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290517f3dbb202b00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690633dbb202b90610f88907f00000000000000000000000000000000000000000000000000000000000000009085908a90600401611536565b600060405180830381600087803b158015610fa257600080fd5b505af1158015610fb6573d6000803e3d6000fd5b505050508773ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fb7460e2a880f256ebef3406116ff3eee0cee51ebccdc2a40698f87ebb2e9c1a58a8a89896040516110349493929190611499565b60405180910390a450505050505050505050565b60006110538361106b565b8015611064575061106483836110d0565b9392505050565b6000611097827f01ffc9a7000000000000000000000000000000000000000000000000000000006110d0565b80156110ca57506110c8827fffffffff000000000000000000000000000000000000000000000000000000006110d0565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015611188575060208210155b80156111945750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146109cf57600080fd5b803563ffffffff811681146111d557600080fd5b919050565b60008083601f8401126111ec57600080fd5b50813567ffffffffffffffff81111561120457600080fd5b60208301915083602082850101111561121c57600080fd5b9250929050565b60008060008060008060a0878903121561123c57600080fd5b86356112478161119f565b955060208701356112578161119f565b94506040870135935061126c606088016111c1565b9250608087013567ffffffffffffffff81111561128857600080fd5b61129489828a016111da565b979a9699509497509295939492505050565b6000815180845260005b818110156112cc576020818501810151868301820152016112b0565b818111156112de576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061106460208301846112a6565b600080600080600080600060c0888a03121561133f57600080fd5b873561134a8161119f565b9650602088013561135a8161119f565b9550604088013561136a8161119f565b9450606088013561137a8161119f565b93506080880135925060a088013567ffffffffffffffff81111561139d57600080fd5b6113a98a828b016111da565b989b979a50959850939692959293505050565b600080600080600080600060c0888a0312156113d757600080fd5b87356113e28161119f565b965060208801356113f28161119f565b955060408801356114028161119f565b945060608801359350611417608089016111c1565b925060a088013567ffffffffffffffff81111561139d57600080fd5b60006020828403121561144557600080fd5b81516110648161119f565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201526060604082015260006114cf606083018486611450565b9695505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808a1683528089166020840152808816604084015280871660608401525084608083015260c060a083015261152960c083018486611450565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8416815260606020820152600061156560608301856112a6
565b905063ffffffff8316604083015294935050505056fea164736f6c634300080f000a"
,
Bin
:
"0x60c06040523480156200001157600080fd5b50604051620018
183803806200181883398101604081905262000034916200021f565b7342000000000000000000000000000000000000078162000059565b60405180910390fd5b6001600160a01b038116620000c95760405162461bcd60e51b815260206004820152602f60248201527f4552433732314272696467653a206f74686572206272696467652063616e6e6f60448201526e74206265206164647265737328302960881b606482015260840162000050565b6001600160a01b039182166080521660a052620000e5620000ec565b5062000251565b600054610100900460ff16158080156200010d5750600054600160ff909116105b806200013d57506200012a306200021060201b62000a771760201c565b1580156200013d575060005460ff166001145b620001a25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840162000050565b6000805460ff191660011790558015620001c6576000805461ff0019166101001790555b80156200020d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6001600160a01b03163b151590565b6000602082840312156200023257600080fd5b81516001600160a01b03811681146200024a57600080fd5b9392505050565b60805160a051611571620002a760003960008181610194015281816101fa0152818161030c0152610f4501526000818160da015281816101c3015281816102e2015281816103430152610f1801526115716000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c80637f46ddb211610076578063927ede2d1161005b578063927ede2d146101be578063aa557452146101e5578063c89701a2146101f857600080fd5b80637f46ddb21461018f5780638129fc1c146101b657600080fd5b806354fd4d50116100a757806354fd4d50146101245780635c975abb1461016d578063761f44931461017c57600080fd5b80633687011a146100c35780633cb747bf146100d8575b600080fd5b6100d66100d136600461120c565b61021e565b005b7f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101606040518060400160405280600581526020017f312e352e3000000000000000000000000000000000000000000000000000000081525081565b60405161011b91906112fa565b6040516000815260200161011b565b6100d661018a36600461130d565b6102ca565b6100fa7f000000000000000000000000000000000000000000000000000000000000000081565b6100d6610831565b6100fa7f000000000000000000000000000000000000000000000000000000000000000081565b6100d66101f33660046113a5565b6109bb565b7f00000000000000000000000000000000000000000000000000000000000000006100fa565b333b156102b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732314272696467653a206163636f756e74206973206e6f742065787460448201527f65726e616c6c79206f776e65640000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102c28686333388888888610a93565b505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480156103e857507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636e296e456040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d0919061141c565b73ffffffffffffffffffffffffffffffffffffffff16145b610474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4552433732314272696467653a2066756e6374696f6e2063616e206f6e6c792060448201527f62652063616c6c65642066726f6d20746865206f74686572206272696467650060648201526084016102a9565b3073ffffffffffffffffffffffffffffffffffffffff881603610519576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4c324552433732314272696467653a206c6f63616c20746f6b656e2063616e6e60448201527f6f742062652073656c660000000000000000000000000000000000000000000060648201526084016102a9565b610543877f74259ebf00000000000000000000000000000000000000000000000000000000611031565b6105cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4c324552433732314272696467653a206c6f63616c20746f6b656e20696e746560448201527f7266616365206973206e6f7420636f6d706c69616e740000000000000000000060648201526084016102a9565b8673ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063e919061141c565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461071e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604b60248201527f4c324552433732314272696467653a2077726f6e672072656d6f746520746f6b60448201527f656e20666f72204f7074696d69736d204d696e7461626c65204552433732312060648201527f6c6f63616c20746f6b656e000000000000000000000000000000000000000000608482015260a4016102a9565b6040517fa144819400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820185905288169063a144819490604401600060405180830381600087803b15801561078e57600080fd5b505af11580156107a2573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f1f39bf6707b5d608453e0ae4c067b562bcc4c85c0f562ef5d2c774d2e7f131ac878787876040516108209493929190611482565b60405180910390a450505050505050565b600054610100900460ff16158080156108515750600054600160ff909116105b8061086b5750303b15801561086b575060005460ff166001145b6108f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016102a9565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561095557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b80156109b857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b73ffffffffffffffffffffffffffffffffffffffff8516610a5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f4552433732314272696467653a206e667420726563697069656e742063616e6e60448201527f6f7420626520616464726573732830290000000000000000000000000000000060648201526084016102a9565b610a6e8787338888888888610a93565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b73ffffffffffffffffffffffffffffffffffffffff8716610b36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4c324552433732314272696467653a2072656d6f746520746f6b656e2063616e60448201527f6e6f74206265206164647265737328302900000000000000000000000000000060648201526084016102a9565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff891690636352211e90602401602060405180830381865afa158015610ba1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc5919061141c565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614610c7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f4c324552433732314272696467653a205769746864726177616c206973206e6f60448201527f74206265696e6720696e69746961746564206279204e4654206f776e6572000060648201526084016102a9565b60008873ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ccc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf0919061141c565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610dad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c324552433732314272696467653a2072656d6f746520746f6b656e20646f6560448201527f73206e6f74206d6174636820676976656e2076616c756500000000000000000060648201526084016102a9565b6040517f9dc29fac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152602482018790528a1690639dc29fac90604401600060405180830381600087803b158015610e1d57600080fd5b505af1158015610e31573d6000803e3d6000fd5b50505050600063761f449360e01b828b8a8a8a8989604051602401610e5c97969594939291906114c2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290517f3dbb202b00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690633dbb202b90610f71907f00000000000000000000000000000000000000000000000000000000000000009085908a9060040161151f565b600060405180830381600087803b158015610f8b57600080fd5b505af1158015610f9f573d6000803e3d6000fd5b505050508773ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fb7460e2a880f256ebef3406116ff3eee0cee51ebccdc2a40698f87ebb2e9c1a58a8a898960405161101d9493929190611482565b60405180910390a450505050505050505050565b600061103c83611054565b801561104d575061104d83836110b9565b9392505050565b6000611080827f01ffc9a7000000000000000000000000000000000000000000000000000000006110b9565b80156110b357506110b1827fffffffff000000000000000000000000000000000000000000000000000000006110b9565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015611171575060208210155b801561117d5750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146109b857600080fd5b803563ffffffff811681146111be57600080fd5b919050565b60008083601f8401126111d557600080fd5b50813567ffffffffffffffff8111156111ed57600080fd5b60208301915083602082850101111561120557600080fd5b9250929050565b60008060008060008060a0878903121561122557600080fd5b863561123081611188565b9550602087013561124081611188565b945060408701359350611255606088016111aa565b9250608087013567ffffffffffffffff81111561127157600080fd5b61127d89828a016111c3565b979a9699509497509295939492505050565b6000815180845260005b818110156112b557602081850181015186830182015201611299565b818111156112c7576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061104d602083018461128f565b600080600080600080600060c0888a03121561132857600080fd5b873561133381611188565b9650602088013561134381611188565b9550604088013561135381611188565b9450606088013561136381611188565b93506080880135925060a088013567ffffffffffffffff81111561138657600080fd5b6113928a828b016111c3565b989b979a50959850939692959293505050565b600080600080600080600060c0888a0312156113c057600080fd5b87356113cb81611188565b965060208801356113db81611188565b955060408801356113eb81611188565b945060608801359350611400608089016111aa565b925060a088013567ffffffffffffffff81111561138657600080fd5b60006020828403121561142e57600080fd5b815161104d81611188565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201526060604082015260006114b8606083018486611439565b9695505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808a1683528089166020840152808816604084015280871660608401525084608083015260c060a083015261151260c083018486611439565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8416815260606020820152600061154e606083018561128f
565b905063ffffffff8316604083015294935050505056fea164736f6c634300080f000a"
,
}
}
// L2ERC721BridgeABI is the input ABI used to generate the binding from.
// L2ERC721BridgeABI is the input ABI used to generate the binding from.
...
@@ -43,7 +43,7 @@ var L2ERC721BridgeABI = L2ERC721BridgeMetaData.ABI
...
@@ -43,7 +43,7 @@ var L2ERC721BridgeABI = L2ERC721BridgeMetaData.ABI
var
L2ERC721BridgeBin
=
L2ERC721BridgeMetaData
.
Bin
var
L2ERC721BridgeBin
=
L2ERC721BridgeMetaData
.
Bin
// DeployL2ERC721Bridge deploys a new Ethereum contract, binding an instance of L2ERC721Bridge to it.
// DeployL2ERC721Bridge deploys a new Ethereum contract, binding an instance of L2ERC721Bridge to it.
func
DeployL2ERC721Bridge
(
auth
*
bind
.
TransactOpts
,
backend
bind
.
ContractBackend
,
_
messenger
common
.
Address
,
_
otherBridge
common
.
Address
)
(
common
.
Address
,
*
types
.
Transaction
,
*
L2ERC721Bridge
,
error
)
{
func
DeployL2ERC721Bridge
(
auth
*
bind
.
TransactOpts
,
backend
bind
.
ContractBackend
,
_otherBridge
common
.
Address
)
(
common
.
Address
,
*
types
.
Transaction
,
*
L2ERC721Bridge
,
error
)
{
parsed
,
err
:=
L2ERC721BridgeMetaData
.
GetAbi
()
parsed
,
err
:=
L2ERC721BridgeMetaData
.
GetAbi
()
if
err
!=
nil
{
if
err
!=
nil
{
return
common
.
Address
{},
nil
,
nil
,
err
return
common
.
Address
{},
nil
,
nil
,
err
...
@@ -52,7 +52,7 @@ func DeployL2ERC721Bridge(auth *bind.TransactOpts, backend bind.ContractBackend,
...
@@ -52,7 +52,7 @@ func DeployL2ERC721Bridge(auth *bind.TransactOpts, backend bind.ContractBackend,
return
common
.
Address
{},
nil
,
nil
,
errors
.
New
(
"GetABI returned nil"
)
return
common
.
Address
{},
nil
,
nil
,
errors
.
New
(
"GetABI returned nil"
)
}
}
address
,
tx
,
contract
,
err
:=
bind
.
DeployContract
(
auth
,
*
parsed
,
common
.
FromHex
(
L2ERC721BridgeBin
),
backend
,
_
messenger
,
_
otherBridge
)
address
,
tx
,
contract
,
err
:=
bind
.
DeployContract
(
auth
,
*
parsed
,
common
.
FromHex
(
L2ERC721BridgeBin
),
backend
,
_otherBridge
)
if
err
!=
nil
{
if
err
!=
nil
{
return
common
.
Address
{},
nil
,
nil
,
err
return
common
.
Address
{},
nil
,
nil
,
err
}
}
...
@@ -325,35 +325,35 @@ func (_L2ERC721Bridge *L2ERC721BridgeCallerSession) OtherBridge() (common.Addres
...
@@ -325,35 +325,35 @@ func (_L2ERC721Bridge *L2ERC721BridgeCallerSession) OtherBridge() (common.Addres
return
_L2ERC721Bridge
.
Contract
.
OtherBridge
(
&
_L2ERC721Bridge
.
CallOpts
)
return
_L2ERC721Bridge
.
Contract
.
OtherBridge
(
&
_L2ERC721Bridge
.
CallOpts
)
}
}
//
SuperChainConfig is a free data retrieval call binding the contract method 0x915fb0d6
.
//
Paused is a free data retrieval call binding the contract method 0x5c975abb
.
//
//
// Solidity: function
superChainConfig() view returns(address
)
// Solidity: function
paused() view returns(bool
)
func
(
_L2ERC721Bridge
*
L2ERC721BridgeCaller
)
SuperChainConfig
(
opts
*
bind
.
CallOpts
)
(
common
.
Address
,
error
)
{
func
(
_L2ERC721Bridge
*
L2ERC721BridgeCaller
)
Paused
(
opts
*
bind
.
CallOpts
)
(
bool
,
error
)
{
var
out
[]
interface
{}
var
out
[]
interface
{}
err
:=
_L2ERC721Bridge
.
contract
.
Call
(
opts
,
&
out
,
"
superChainConfig
"
)
err
:=
_L2ERC721Bridge
.
contract
.
Call
(
opts
,
&
out
,
"
paused
"
)
if
err
!=
nil
{
if
err
!=
nil
{
return
*
new
(
common
.
Address
),
err
return
*
new
(
bool
),
err
}
}
out0
:=
*
abi
.
ConvertType
(
out
[
0
],
new
(
common
.
Address
))
.
(
*
common
.
Address
)
out0
:=
*
abi
.
ConvertType
(
out
[
0
],
new
(
bool
))
.
(
*
bool
)
return
out0
,
err
return
out0
,
err
}
}
//
SuperChainConfig is a free data retrieval call binding the contract method 0x915fb0d6
.
//
Paused is a free data retrieval call binding the contract method 0x5c975abb
.
//
//
// Solidity: function
superChainConfig() view returns(address
)
// Solidity: function
paused() view returns(bool
)
func
(
_L2ERC721Bridge
*
L2ERC721BridgeSession
)
SuperChainConfig
()
(
common
.
Address
,
error
)
{
func
(
_L2ERC721Bridge
*
L2ERC721BridgeSession
)
Paused
()
(
bool
,
error
)
{
return
_L2ERC721Bridge
.
Contract
.
SuperChainConfig
(
&
_L2ERC721Bridge
.
CallOpts
)
return
_L2ERC721Bridge
.
Contract
.
Paused
(
&
_L2ERC721Bridge
.
CallOpts
)
}
}
//
SuperChainConfig is a free data retrieval call binding the contract method 0x915fb0d6
.
//
Paused is a free data retrieval call binding the contract method 0x5c975abb
.
//
//
// Solidity: function
superChainConfig() view returns(address
)
// Solidity: function
paused() view returns(bool
)
func
(
_L2ERC721Bridge
*
L2ERC721BridgeCallerSession
)
SuperChainConfig
()
(
common
.
Address
,
error
)
{
func
(
_L2ERC721Bridge
*
L2ERC721BridgeCallerSession
)
Paused
()
(
bool
,
error
)
{
return
_L2ERC721Bridge
.
Contract
.
SuperChainConfig
(
&
_L2ERC721Bridge
.
CallOpts
)
return
_L2ERC721Bridge
.
Contract
.
Paused
(
&
_L2ERC721Bridge
.
CallOpts
)
}
}
// Version is a free data retrieval call binding the contract method 0x54fd4d50.
// Version is a free data retrieval call binding the contract method 0x54fd4d50.
...
...
op-bindings/bindings/l2erc721bridge_more.go
View file @
96043725
...
@@ -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
L2ERC721BridgeStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:1000,
\"
contract
\"
:
\"
src/L2/L2ERC721Bridge.sol:L2ERC721Bridge
\"
,
\"
label
\"
:
\"
_initialized
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_uint8
\"
},{
\"
astId
\"
:1001,
\"
contract
\"
:
\"
src/L2/L2ERC721Bridge.sol:L2ERC721Bridge
\"
,
\"
label
\"
:
\"
_initializing
\"
,
\"
offset
\"
:1,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_bool
\"
},{
\"
astId
\"
:1002,
\"
contract
\"
:
\"
src/L2/L2ERC721Bridge.sol:L2ERC721Bridge
\"
,
\"
label
\"
:
\"
superChainConfig
\"
,
\"
offset
\"
:2,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_contract(SuperchainConfig)1004
\"
},{
\"
astId
\"
:1003,
\"
contract
\"
:
\"
src/L2/L2ERC721Bridge.sol:L2ERC721Bridge
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_array(t_uint256)48_storage
\"
}],
\"
types
\"
:{
\"
t_array(t_uint256)48_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[48]
\"
,
\"
numberOfBytes
\"
:
\"
1536
\"
,
\"
base
\"
:
\"
t_uint256
\"
},
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_contract(SuperchainConfig)1004
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
contract SuperchainConfig
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint8
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint8
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
}}}"
const
L2ERC721BridgeStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:1000,
\"
contract
\"
:
\"
src/L2/L2ERC721Bridge.sol:L2ERC721Bridge
\"
,
\"
label
\"
:
\"
_initialized
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_uint8
\"
},{
\"
astId
\"
:1001,
\"
contract
\"
:
\"
src/L2/L2ERC721Bridge.sol:L2ERC721Bridge
\"
,
\"
label
\"
:
\"
_initializing
\"
,
\"
offset
\"
:1,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_bool
\"
},{
\"
astId
\"
:1002,
\"
contract
\"
:
\"
src/L2/L2ERC721Bridge.sol:L2ERC721Bridge
\"
,
\"
label
\"
:
\"
__gap
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_array(t_uint256)49_storage
\"
}],
\"
types
\"
:{
\"
t_array(t_uint256)49_storage
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256[49]
\"
,
\"
numberOfBytes
\"
:
\"
1568
\"
,
\"
base
\"
:
\"
t_uint256
\"
},
\"
t_bool
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
bool
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
},
\"
t_uint8
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint8
\"
,
\"
numberOfBytes
\"
:
\"
1
\"
}}}"
var
L2ERC721BridgeStorageLayout
=
new
(
solc
.
StorageLayout
)
var
L2ERC721BridgeStorageLayout
=
new
(
solc
.
StorageLayout
)
var
L2ERC721BridgeDeployedBin
=
"0x608060405234801561001057600080fd5b50600436106100be5760003560e01c8063
8129fc1c11610076578063927ede2d1161005b578063927ede2d146101d5578063aa557452146101fc578063c89701a21461020f57600080fd5b80638129fc1c146101a7578063915fb0d6146101af57600080fd5b806354fd4d50116100a757806354fd4d5014610124578063761f44931461016d5780637f46ddb21461018057600080fd5b80633687011a146100c35780633cb747bf146100d8575b600080fd5b6100d66100d1366004611223565b610235565b005b7f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101606040518060400160405280600581526020017f312e352e3000000000000000000000000000000000000000000000000000000081525081565b60405161011b9190611311565b6100d661017b366004611324565b6102e1565b6100fa7f000000000000000000000000000000000000000000000000000000000000000081565b6100d6610848565b6000546100fa9062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b6100fa7f000000000000000000000000000000000000000000000000000000000000000081565b6100d661020a3660046113bc565b6109d2565b7f00000000000000000000000000000000000000000000000000000000000000006100fa565b333b156102c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732314272696467653a206163636f756e74206973206e6f742065787460448201527f65726e616c6c79206f776e65640000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102d98686333388888888610aaa565b505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480156103ff57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636e296e456040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e79190611433565b73ffffffffffffffffffffffffffffffffffffffff16145b61048b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4552433732314272696467653a2066756e6374696f6e2063616e206f6e6c792060448201527f62652063616c6c65642066726f6d20746865206f74686572206272696467650060648201526084016102c0565b3073ffffffffffffffffffffffffffffffffffffffff881603610530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4c324552433732314272696467653a206c6f63616c20746f6b656e2063616e6e60448201527f6f742062652073656c660000000000000000000000000000000000000000000060648201526084016102c0565b61055a877f74259ebf00000000000000000000000000000000000000000000000000000000611048565b6105e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4c324552433732314272696467653a206c6f63616c20746f6b656e20696e746560448201527f7266616365206973206e6f7420636f6d706c69616e740000000000000000000060648201526084016102c0565b8673ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610631573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106559190611433565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614610735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604b60248201527f4c324552433732314272696467653a2077726f6e672072656d6f746520746f6b60448201527f656e20666f72204f7074696d69736d204d696e7461626c65204552433732312060648201527f6c6f63616c20746f6b656e000000000000000000000000000000000000000000608482015260a4016102c0565b6040517fa144819400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820185905288169063a144819490604401600060405180830381600087803b1580156107a557600080fd5b505af11580156107b9573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f1f39bf6707b5d608453e0ae4c067b562bcc4c85c0f562ef5d2c774d2e7f131ac878787876040516108379493929190611499565b60405180910390a450505050505050565b600054610100900460ff16158080156108685750600054600160ff909116105b806108825750303b158015610882575060005460ff166001145b61090e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016102c0565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561096c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b80156109cf57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b73ffffffffffffffffffffffffffffffffffffffff8516610a75576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f4552433732314272696467653a206e667420726563697069656e742063616e6e60448201527f6f7420626520616464726573732830290000000000000000000000000000000060648201526084016102c0565b610a858787338888888888610aaa565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b73ffffffffffffffffffffffffffffffffffffffff8716610b4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4c324552433732314272696467653a2072656d6f746520746f6b656e2063616e60448201527f6e6f74206265206164647265737328302900000000000000000000000000000060648201526084016102c0565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff891690636352211e90602401602060405180830381865afa158015610bb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdc9190611433565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614610c96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f4c324552433732314272696467653a205769746864726177616c206973206e6f60448201527f74206265696e6720696e69746961746564206279204e4654206f776e6572000060648201526084016102c0565b60008873ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ce3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d079190611433565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610dc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c324552433732314272696467653a2072656d6f746520746f6b656e20646f6560448201527f73206e6f74206d6174636820676976656e2076616c756500000000000000000060648201526084016102c0565b6040517f9dc29fac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152602482018790528a1690639dc29fac90604401600060405180830381600087803b158015610e3457600080fd5b505af1158015610e48573d6000803e3d6000fd5b50505050600063761f449360e01b828b8a8a8a8989604051602401610e7397969594939291906114d9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290517f3dbb202b00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690633dbb202b90610f88907f00000000000000000000000000000000000000000000000000000000000000009085908a90600401611536565b600060405180830381600087803b158015610fa257600080fd5b505af1158015610fb6573d6000803e3d6000fd5b505050508773ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fb7460e2a880f256ebef3406116ff3eee0cee51ebccdc2a40698f87ebb2e9c1a58a8a89896040516110349493929190611499565b60405180910390a450505050505050505050565b60006110538361106b565b8015611064575061106483836110d0565b9392505050565b6000611097827f01ffc9a7000000000000000000000000000000000000000000000000000000006110d0565b80156110ca57506110c8827fffffffff000000000000000000000000000000000000000000000000000000006110d0565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015611188575060208210155b80156111945750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146109cf57600080fd5b803563ffffffff811681146111d557600080fd5b919050565b60008083601f8401126111ec57600080fd5b50813567ffffffffffffffff81111561120457600080fd5b60208301915083602082850101111561121c57600080fd5b9250929050565b60008060008060008060a0878903121561123c57600080fd5b86356112478161119f565b955060208701356112578161119f565b94506040870135935061126c606088016111c1565b9250608087013567ffffffffffffffff81111561128857600080fd5b61129489828a016111da565b979a9699509497509295939492505050565b6000815180845260005b818110156112cc576020818501810151868301820152016112b0565b818111156112de576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061106460208301846112a6565b600080600080600080600060c0888a03121561133f57600080fd5b873561134a8161119f565b9650602088013561135a8161119f565b9550604088013561136a8161119f565b9450606088013561137a8161119f565b93506080880135925060a088013567ffffffffffffffff81111561139d57600080fd5b6113a98a828b016111da565b989b979a50959850939692959293505050565b600080600080600080600060c0888a0312156113d757600080fd5b87356113e28161119f565b965060208801356113f28161119f565b955060408801356114028161119f565b945060608801359350611417608089016111c1565b925060a088013567ffffffffffffffff81111561139d57600080fd5b60006020828403121561144557600080fd5b81516110648161119f565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201526060604082015260006114cf606083018486611450565b9695505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808a1683528089166020840152808816604084015280871660608401525084608083015260c060a083015261152960c083018486611450565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8416815260606020820152600061156560608301856112a6
565b905063ffffffff8316604083015294935050505056fea164736f6c634300080f000a"
var
L2ERC721BridgeDeployedBin
=
"0x608060405234801561001057600080fd5b50600436106100be5760003560e01c8063
7f46ddb211610076578063927ede2d1161005b578063927ede2d146101be578063aa557452146101e5578063c89701a2146101f857600080fd5b80637f46ddb21461018f5780638129fc1c146101b657600080fd5b806354fd4d50116100a757806354fd4d50146101245780635c975abb1461016d578063761f44931461017c57600080fd5b80633687011a146100c35780633cb747bf146100d8575b600080fd5b6100d66100d136600461120c565b61021e565b005b7f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101606040518060400160405280600581526020017f312e352e3000000000000000000000000000000000000000000000000000000081525081565b60405161011b91906112fa565b6040516000815260200161011b565b6100d661018a36600461130d565b6102ca565b6100fa7f000000000000000000000000000000000000000000000000000000000000000081565b6100d6610831565b6100fa7f000000000000000000000000000000000000000000000000000000000000000081565b6100d66101f33660046113a5565b6109bb565b7f00000000000000000000000000000000000000000000000000000000000000006100fa565b333b156102b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732314272696467653a206163636f756e74206973206e6f742065787460448201527f65726e616c6c79206f776e65640000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102c28686333388888888610a93565b505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480156103e857507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636e296e456040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d0919061141c565b73ffffffffffffffffffffffffffffffffffffffff16145b610474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4552433732314272696467653a2066756e6374696f6e2063616e206f6e6c792060448201527f62652063616c6c65642066726f6d20746865206f74686572206272696467650060648201526084016102a9565b3073ffffffffffffffffffffffffffffffffffffffff881603610519576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4c324552433732314272696467653a206c6f63616c20746f6b656e2063616e6e60448201527f6f742062652073656c660000000000000000000000000000000000000000000060648201526084016102a9565b610543877f74259ebf00000000000000000000000000000000000000000000000000000000611031565b6105cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4c324552433732314272696467653a206c6f63616c20746f6b656e20696e746560448201527f7266616365206973206e6f7420636f6d706c69616e740000000000000000000060648201526084016102a9565b8673ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063e919061141c565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461071e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604b60248201527f4c324552433732314272696467653a2077726f6e672072656d6f746520746f6b60448201527f656e20666f72204f7074696d69736d204d696e7461626c65204552433732312060648201527f6c6f63616c20746f6b656e000000000000000000000000000000000000000000608482015260a4016102a9565b6040517fa144819400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301526024820185905288169063a144819490604401600060405180830381600087803b15801561078e57600080fd5b505af11580156107a2573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f1f39bf6707b5d608453e0ae4c067b562bcc4c85c0f562ef5d2c774d2e7f131ac878787876040516108209493929190611482565b60405180910390a450505050505050565b600054610100900460ff16158080156108515750600054600160ff909116105b8061086b5750303b15801561086b575060005460ff166001145b6108f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016102a9565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561095557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b80156109b857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b73ffffffffffffffffffffffffffffffffffffffff8516610a5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f4552433732314272696467653a206e667420726563697069656e742063616e6e60448201527f6f7420626520616464726573732830290000000000000000000000000000000060648201526084016102a9565b610a6e8787338888888888610a93565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b73ffffffffffffffffffffffffffffffffffffffff8716610b36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4c324552433732314272696467653a2072656d6f746520746f6b656e2063616e60448201527f6e6f74206265206164647265737328302900000000000000000000000000000060648201526084016102a9565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff891690636352211e90602401602060405180830381865afa158015610ba1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc5919061141c565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614610c7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f4c324552433732314272696467653a205769746864726177616c206973206e6f60448201527f74206265696e6720696e69746961746564206279204e4654206f776e6572000060648201526084016102a9565b60008873ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ccc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf0919061141c565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610dad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4c324552433732314272696467653a2072656d6f746520746f6b656e20646f6560448201527f73206e6f74206d6174636820676976656e2076616c756500000000000000000060648201526084016102a9565b6040517f9dc29fac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152602482018790528a1690639dc29fac90604401600060405180830381600087803b158015610e1d57600080fd5b505af1158015610e31573d6000803e3d6000fd5b50505050600063761f449360e01b828b8a8a8a8989604051602401610e5c97969594939291906114c2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290517f3dbb202b00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690633dbb202b90610f71907f00000000000000000000000000000000000000000000000000000000000000009085908a9060040161151f565b600060405180830381600087803b158015610f8b57600080fd5b505af1158015610f9f573d6000803e3d6000fd5b505050508773ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fb7460e2a880f256ebef3406116ff3eee0cee51ebccdc2a40698f87ebb2e9c1a58a8a898960405161101d9493929190611482565b60405180910390a450505050505050505050565b600061103c83611054565b801561104d575061104d83836110b9565b9392505050565b6000611080827f01ffc9a7000000000000000000000000000000000000000000000000000000006110b9565b80156110b357506110b1827fffffffff000000000000000000000000000000000000000000000000000000006110b9565b155b92915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015611171575060208210155b801561117d5750600081115b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146109b857600080fd5b803563ffffffff811681146111be57600080fd5b919050565b60008083601f8401126111d557600080fd5b50813567ffffffffffffffff8111156111ed57600080fd5b60208301915083602082850101111561120557600080fd5b9250929050565b60008060008060008060a0878903121561122557600080fd5b863561123081611188565b9550602087013561124081611188565b945060408701359350611255606088016111aa565b9250608087013567ffffffffffffffff81111561127157600080fd5b61127d89828a016111c3565b979a9699509497509295939492505050565b6000815180845260005b818110156112b557602081850181015186830182015201611299565b818111156112c7576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061104d602083018461128f565b600080600080600080600060c0888a03121561132857600080fd5b873561133381611188565b9650602088013561134381611188565b9550604088013561135381611188565b9450606088013561136381611188565b93506080880135925060a088013567ffffffffffffffff81111561138657600080fd5b6113928a828b016111c3565b989b979a50959850939692959293505050565b600080600080600080600060c0888a0312156113c057600080fd5b87356113cb81611188565b965060208801356113db81611188565b955060408801356113eb81611188565b945060608801359350611400608089016111aa565b925060a088013567ffffffffffffffff81111561138657600080fd5b60006020828403121561142e57600080fd5b815161104d81611188565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201526060604082015260006114b8606083018486611439565b9695505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808a1683528089166020840152808816604084015280871660608401525084608083015260c060a083015261151260c083018486611439565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8416815260606020820152600061154e606083018561128f
565b905063ffffffff8316604083015294935050505056fea164736f6c634300080f000a"
func
init
()
{
func
init
()
{
...
...
op-chain-ops/genesis/config.go
View file @
96043725
...
@@ -757,11 +757,11 @@ func NewL2ImmutableConfig(config *DeployConfig, block *types.Block) (*immutables
...
@@ -757,11 +757,11 @@ func NewL2ImmutableConfig(config *DeployConfig, block *types.Block) (*immutables
GovernanceToken
:
struct
{}{},
GovernanceToken
:
struct
{}{},
LegacyMessagePasser
:
struct
{}{},
LegacyMessagePasser
:
struct
{}{},
L2ERC721Bridge
:
struct
{
L2ERC721Bridge
:
struct
{
Messenger
common
.
Address
OtherBridge
common
.
Address
OtherBridge
common
.
Address
Messenger
common
.
Address
}{
}{
Messenger
:
predeploys
.
L2CrossDomainMessengerAddr
,
OtherBridge
:
config
.
L1ERC721BridgeProxy
,
OtherBridge
:
config
.
L1ERC721BridgeProxy
,
Messenger
:
predeploys
.
L2CrossDomainMessengerAddr
,
},
},
OptimismMintableERC721Factory
:
struct
{
OptimismMintableERC721Factory
:
struct
{
Bridge
common
.
Address
Bridge
common
.
Address
...
...
op-chain-ops/immutables/immutables.go
View file @
96043725
...
@@ -45,8 +45,8 @@ type PredeploysImmutableConfig struct {
...
@@ -45,8 +45,8 @@ type PredeploysImmutableConfig struct {
GovernanceToken
struct
{}
GovernanceToken
struct
{}
LegacyMessagePasser
struct
{}
LegacyMessagePasser
struct
{}
L2ERC721Bridge
struct
{
L2ERC721Bridge
struct
{
Messenger
common
.
Address
OtherBridge
common
.
Address
OtherBridge
common
.
Address
Messenger
common
.
Address
}
}
OptimismMintableERC721Factory
struct
{
OptimismMintableERC721Factory
struct
{
Bridge
common
.
Address
Bridge
common
.
Address
...
@@ -230,15 +230,11 @@ func l2ImmutableDeployer(backend *backends.SimulatedBackend, opts *bind.Transact
...
@@ -230,15 +230,11 @@ func l2ImmutableDeployer(backend *backends.SimulatedBackend, opts *bind.Transact
}
}
_
,
tx
,
_
,
err
=
bindings
.
DeployOptimismMintableERC20Factory
(
opts
,
backend
,
bridge
)
_
,
tx
,
_
,
err
=
bindings
.
DeployOptimismMintableERC20Factory
(
opts
,
backend
,
bridge
)
case
"L2ERC721Bridge"
:
case
"L2ERC721Bridge"
:
messenger
,
ok
:=
deployment
.
Args
[
0
]
.
(
common
.
Address
)
otherBridge
,
ok
:=
deployment
.
Args
[
0
]
.
(
common
.
Address
)
if
!
ok
{
return
nil
,
fmt
.
Errorf
(
"invalid type for messenger"
)
}
otherBridge
,
ok
:=
deployment
.
Args
[
1
]
.
(
common
.
Address
)
if
!
ok
{
if
!
ok
{
return
nil
,
fmt
.
Errorf
(
"invalid type for otherBridge"
)
return
nil
,
fmt
.
Errorf
(
"invalid type for otherBridge"
)
}
}
_
,
tx
,
_
,
err
=
bindings
.
DeployL2ERC721Bridge
(
opts
,
backend
,
messenger
,
otherBridge
)
_
,
tx
,
_
,
err
=
bindings
.
DeployL2ERC721Bridge
(
opts
,
backend
,
otherBridge
)
case
"OptimismMintableERC721Factory"
:
case
"OptimismMintableERC721Factory"
:
bridge
,
ok
:=
deployment
.
Args
[
0
]
.
(
common
.
Address
)
bridge
,
ok
:=
deployment
.
Args
[
0
]
.
(
common
.
Address
)
if
!
ok
{
if
!
ok
{
...
...
op-chain-ops/immutables/immutables_test.go
View file @
96043725
...
@@ -43,11 +43,11 @@ func TestBuildOptimism(t *testing.T) {
...
@@ -43,11 +43,11 @@ func TestBuildOptimism(t *testing.T) {
GovernanceToken
:
struct
{}{},
GovernanceToken
:
struct
{}{},
LegacyMessagePasser
:
struct
{}{},
LegacyMessagePasser
:
struct
{}{},
L2ERC721Bridge
:
struct
{
L2ERC721Bridge
:
struct
{
Messenger
common
.
Address
OtherBridge
common
.
Address
OtherBridge
common
.
Address
Messenger
common
.
Address
}{
}{
Messenger
:
common
.
HexToAddress
(
"0x1234567890123456789012345678901234567890"
),
OtherBridge
:
common
.
HexToAddress
(
"0x1234567890123456789012345678901234567890"
),
OtherBridge
:
common
.
HexToAddress
(
"0x1234567890123456789012345678901234567890"
),
Messenger
:
predeploys
.
L2CrossDomainMessengerAddr
,
},
},
OptimismMintableERC721Factory
:
struct
{
OptimismMintableERC721Factory
:
struct
{
Bridge
common
.
Address
Bridge
common
.
Address
...
...
packages/contracts-bedrock/scripts/ChainAssertions.sol
View file @
96043725
...
@@ -144,9 +144,9 @@ library ChainAssertions {
...
@@ -144,9 +144,9 @@ library ChainAssertions {
require(bridge.OTHER_BRIDGE() == Predeploys.L2_ERC721_BRIDGE);
require(bridge.OTHER_BRIDGE() == Predeploys.L2_ERC721_BRIDGE);
require(bridge.otherBridge() == Predeploys.L2_ERC721_BRIDGE);
require(bridge.otherBridge() == Predeploys.L2_ERC721_BRIDGE);
if (_isProxy) {
if (_isProxy) {
require(address(bridge.super
C
hainConfig()) == _contracts.SuperchainConfig);
require(address(bridge.super
c
hainConfig()) == _contracts.SuperchainConfig);
} else {
} else {
require(address(bridge.super
C
hainConfig()) == address(0));
require(address(bridge.super
c
hainConfig()) == address(0));
}
}
}
}
...
...
packages/contracts-bedrock/scripts/Deploy.s.sol
View file @
96043725
...
@@ -678,8 +678,7 @@ contract Deploy is Deployer {
...
@@ -678,8 +678,7 @@ contract Deploy is Deployer {
console.log("Deploying L1ERC721Bridge implementation");
console.log("Deploying L1ERC721Bridge implementation");
address l1CrossDomainMessengerProxy = mustGetAddress("L1CrossDomainMessengerProxy");
address l1CrossDomainMessengerProxy = mustGetAddress("L1CrossDomainMessengerProxy");
L1ERC721Bridge bridge = new L1ERC721Bridge{ salt: _implSalt() }({
L1ERC721Bridge bridge = new L1ERC721Bridge{ salt: _implSalt() }({
_messenger: l1CrossDomainMessengerProxy,
_messenger: l1CrossDomainMessengerProxy
_otherBridge: Predeploys.L2_ERC721_BRIDGE
});
});
save("L1ERC721Bridge", address(bridge));
save("L1ERC721Bridge", address(bridge));
...
...
packages/contracts-bedrock/src/L1/L1ERC721Bridge.sol
View file @
96043725
...
@@ -19,21 +19,28 @@ contract L1ERC721Bridge is ERC721Bridge, ISemver {
...
@@ -19,21 +19,28 @@ contract L1ERC721Bridge is ERC721Bridge, ISemver {
/// by ID was deposited for a given L2 token.
/// by ID was deposited for a given L2 token.
mapping(address => mapping(address => mapping(uint256 => bool))) public deposits;
mapping(address => mapping(address => mapping(uint256 => bool))) public deposits;
/// @notice Address of the SuperchainConfig contract.
SuperchainConfig public superchainConfig;
/// @notice Semantic version.
/// @notice Semantic version.
/// @custom:semver 1.5.0
/// @custom:semver 1.5.0
string public constant version = "1.5.0";
string public constant version = "1.5.0";
/// @notice Constructs the L1ERC721Bridge contract.
/// @notice Constructs the L1ERC721Bridge contract.
/// @param _messenger Address of the CrossDomainMessenger on this network.
/// @param _messenger Address of the CrossDomainMessenger on this network.
/// @param _otherBridge Address of the ERC721 bridge on the other network.
constructor(address _messenger) ERC721Bridge(_messenger, Predeploys.L2_ERC721_BRIDGE) {
constructor(address _messenger, address _otherBridge) ERC721Bridge(_messenger, _otherBridge) {
initialize(SuperchainConfig(address(0)));
initialize(SuperchainConfig(address(0)));
}
}
/// @notice Initializes the contract.
/// @notice Initializes the contract.
/// @param _superchainConfig Address of the SuperchainConfig contract on this network.
/// @param _superchainConfig Address of the SuperchainConfig contract on this network.
function initialize(SuperchainConfig _superchainConfig) public initializer {
function initialize(SuperchainConfig _superchainConfig) public initializer {
superChainConfig = _superchainConfig;
superchainConfig = _superchainConfig;
}
/// @inheritdoc ERC721Bridge
function paused() public view override returns (bool) {
return superchainConfig.paused();
}
}
/// @notice Completes an ERC721 bridge from the other domain and sends the ERC721 token to the
/// @notice Completes an ERC721 bridge from the other domain and sends the ERC721 token to the
...
@@ -57,6 +64,7 @@ contract L1ERC721Bridge is ERC721Bridge, ISemver {
...
@@ -57,6 +64,7 @@ contract L1ERC721Bridge is ERC721Bridge, ISemver {
external
external
onlyOtherBridge
onlyOtherBridge
{
{
require(paused() == false, "L1ERC721Bridge: paused");
require(_localToken != address(this), "L1ERC721Bridge: local token cannot be self");
require(_localToken != address(this), "L1ERC721Bridge: local token cannot be self");
// Checks that the L1/L2 NFT pair has a token ID that is escrowed in the L1 Bridge.
// Checks that the L1/L2 NFT pair has a token ID that is escrowed in the L1 Bridge.
...
...
packages/contracts-bedrock/src/L2/L2ERC721Bridge.sol
View file @
96043725
...
@@ -24,9 +24,8 @@ contract L2ERC721Bridge is ERC721Bridge, ISemver {
...
@@ -24,9 +24,8 @@ contract L2ERC721Bridge is ERC721Bridge, ISemver {
string public constant version = "1.5.0";
string public constant version = "1.5.0";
/// @notice Constructs the L2ERC721Bridge contract.
/// @notice Constructs the L2ERC721Bridge contract.
/// @param _messenger Address of the CrossDomainMessenger on this network.
/// @param _otherBridge Address of the ERC721 bridge on the other network.
/// @param _otherBridge Address of the ERC721 bridge on the other network.
constructor(address _
messenger, address _otherBridge) ERC721Bridge(_messenger
, _otherBridge) {
constructor(address _
otherBridge) ERC721Bridge(Predeploys.L2_CROSS_DOMAIN_MESSENGER
, _otherBridge) {
initialize();
initialize();
}
}
...
...
packages/contracts-bedrock/src/universal/ERC721Bridge.sol
View file @
96043725
...
@@ -9,9 +9,6 @@ import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable
...
@@ -9,9 +9,6 @@ import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable
/// @title ERC721Bridge
/// @title ERC721Bridge
/// @notice ERC721Bridge is a base contract for the L1 and L2 ERC721 bridges.
/// @notice ERC721Bridge is a base contract for the L1 and L2 ERC721 bridges.
abstract contract ERC721Bridge is Initializable {
abstract contract ERC721Bridge is Initializable {
/// @notice
SuperchainConfig public superChainConfig;
/// @notice Messenger contract on this domain. This will be removed in the
/// @notice Messenger contract on this domain. This will be removed in the
/// future, use `messenger` instead.
/// future, use `messenger` instead.
/// @custom:legacy
/// @custom:legacy
...
@@ -23,7 +20,7 @@ abstract contract ERC721Bridge is Initializable {
...
@@ -23,7 +20,7 @@ abstract contract ERC721Bridge is Initializable {
address public immutable OTHER_BRIDGE;
address public immutable OTHER_BRIDGE;
/// @notice Reserve extra slots (to a total of 50) in the storage layout for future upgrades.
/// @notice Reserve extra slots (to a total of 50) in the storage layout for future upgrades.
uint256[4
8
] private __gap;
uint256[4
9
] private __gap;
/// @notice Emitted when an ERC721 bridge to the other network is initiated.
/// @notice Emitted when an ERC721 bridge to the other network is initiated.
/// @param localToken Address of the token on this domain.
/// @param localToken Address of the token on this domain.
...
@@ -88,6 +85,14 @@ abstract contract ERC721Bridge is Initializable {
...
@@ -88,6 +85,14 @@ abstract contract ERC721Bridge is Initializable {
return OTHER_BRIDGE;
return OTHER_BRIDGE;
}
}
/// @notice This function should return true if the contract is paused.
/// On L1 this function will check the SuperchainConfig for its paused status.
/// On L2 this function should be a no-op.
/// @return Whether or not the contract is paused.
function paused() public view virtual returns (bool) {
return false;
}
/// @notice Initiates a bridge of an NFT to the caller's account on the other chain. Note that
/// @notice Initiates a bridge of an NFT to the caller's account on the other chain. Note that
/// this function can only be called by EOAs. Smart contract wallets should use the
/// this function can only be called by EOAs. Smart contract wallets should use the
/// `bridgeERC721To` function after ensuring that the recipient address on the remote
/// `bridgeERC721To` function after ensuring that the recipient address on the remote
...
...
packages/contracts-bedrock/test/ExtendedPause.t.sol
View file @
96043725
...
@@ -21,7 +21,7 @@ contract ExtendedPause_Test is CommonTest {
...
@@ -21,7 +21,7 @@ contract ExtendedPause_Test is CommonTest {
assertTrue(l1StandardBridge.paused());
assertTrue(l1StandardBridge.paused());
assertEq(l1StandardBridge.paused(), superchainConfig.paused());
assertEq(l1StandardBridge.paused(), superchainConfig.paused());
//
assertTrue(l1ERC721Bridge.paused());
assertTrue(l1ERC721Bridge.paused());
//
assertEq(l1ERC721Bridge.paused(), superchainConfig.paused());
assertEq(l1ERC721Bridge.paused(), superchainConfig.paused());
}
}
}
}
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