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
4c974298
Unverified
Commit
4c974298
authored
Apr 08, 2024
by
clabby
Committed by
GitHub
Apr 09, 2024
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(ctb): Update CWIA dependency to `solady`'s `LibClone` (#10064)
semver autogens
parent
3c69e8a1
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
20 additions
and
274 deletions
+20
-274
.gitmodules
.gitmodules
+0
-3
disputegamefactory.go
op-bindings/bindings/disputegamefactory.go
+1
-1
disputegamefactory_more.go
op-bindings/bindings/disputegamefactory_more.go
+1
-1
faultdisputegame.go
op-bindings/bindings/faultdisputegame.go
+1
-1
faultdisputegame_more.go
op-bindings/bindings/faultdisputegame_more.go
+1
-1
weth9.go
op-bindings/bindings/weth9.go
+1
-1
weth9_more.go
op-bindings/bindings/weth9_more.go
+1
-1
clones-with-immutable-args
packages/contracts-bedrock/lib/clones-with-immutable-args
+0
-1
semver-lock.json
packages/contracts-bedrock/semver-lock.json
+4
-4
Clone.json
packages/contracts-bedrock/snapshots/abi/Clone.json
+0
-1
Clone.json
...ages/contracts-bedrock/snapshots/storageLayout/Clone.json
+0
-1
DisputeGameFactory.sol
...ages/contracts-bedrock/src/dispute/DisputeGameFactory.sol
+4
-4
FaultDisputeGame.sol
packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol
+6
-6
Clone.sol
packages/contracts-bedrock/src/libraries/Clone.sol
+0
-97
Clone.t.sol
packages/contracts-bedrock/test/libraries/Clone.t.sol
+0
-151
No files found.
.gitmodules
View file @
4c974298
...
...
@@ -7,9 +7,6 @@
[submodule "packages/contracts-bedrock/lib/solmate"]
path = packages/contracts-bedrock/lib/solmate
url = https://github.com/transmissions11/solmate
[submodule "packages/contracts-bedrock/lib/clones-with-immutable-args"]
path = packages/contracts-bedrock/lib/clones-with-immutable-args
url = https://github.com/Saw-mon-and-Natalie/clones-with-immutable-args
[submodule "packages/contracts-bedrock/lib/forge-std"]
path = packages/contracts-bedrock/lib/forge-std
url = https://github.com/foundry-rs/forge-std
...
...
op-bindings/bindings/disputegamefactory.go
View file @
4c974298
...
...
@@ -40,7 +40,7 @@ type IDisputeGameFactoryGameSearchResult struct {
// DisputeGameFactoryMetaData contains all meta data concerning the DisputeGameFactory contract.
var
DisputeGameFactoryMetaData
=
&
bind
.
MetaData
{
ABI
:
"[{
\"
type
\"
:
\"
constructor
\"
,
\"
inputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
create
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
_gameType
\"
,
\"
type
\"
:
\"
uint32
\"
,
\"
internalType
\"
:
\"
GameType
\"
},{
\"
name
\"
:
\"
_rootClaim
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
Claim
\"
},{
\"
name
\"
:
\"
_extraData
\"
,
\"
type
\"
:
\"
bytes
\"
,
\"
internalType
\"
:
\"
bytes
\"
}],
\"
outputs
\"
:[{
\"
name
\"
:
\"
proxy_
\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
contractIDisputeGame
\"
}],
\"
stateMutability
\"
:
\"
payable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
findLatestGames
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
_gameType
\"
,
\"
type
\"
:
\"
uint32
\"
,
\"
internalType
\"
:
\"
GameType
\"
},{
\"
name
\"
:
\"
_start
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
},{
\"
name
\"
:
\"
_n
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
outputs
\"
:[{
\"
name
\"
:
\"
games_
\"
,
\"
type
\"
:
\"
tuple[]
\"
,
\"
internalType
\"
:
\"
structIDisputeGameFactory.GameSearchResult[]
\"
,
\"
components
\"
:[{
\"
name
\"
:
\"
index
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
},{
\"
name
\"
:
\"
metadata
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
GameId
\"
},{
\"
name
\"
:
\"
timestamp
\"
,
\"
type
\"
:
\"
uint64
\"
,
\"
internalType
\"
:
\"
Timestamp
\"
},{
\"
name
\"
:
\"
rootClaim
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
Claim
\"
},{
\"
name
\"
:
\"
extraData
\"
,
\"
type
\"
:
\"
bytes
\"
,
\"
internalType
\"
:
\"
bytes
\"
}]}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
gameAtIndex
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
_index
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
outputs
\"
:[{
\"
name
\"
:
\"
gameType_
\"
,
\"
type
\"
:
\"
uint32
\"
,
\"
internalType
\"
:
\"
GameType
\"
},{
\"
name
\"
:
\"
timestamp_
\"
,
\"
type
\"
:
\"
uint64
\"
,
\"
internalType
\"
:
\"
Timestamp
\"
},{
\"
name
\"
:
\"
proxy_
\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
contractIDisputeGame
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
gameCount
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
gameCount_
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
gameImpls
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint32
\"
,
\"
internalType
\"
:
\"
GameType
\"
}],
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
contractIDisputeGame
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
games
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
_gameType
\"
,
\"
type
\"
:
\"
uint32
\"
,
\"
internalType
\"
:
\"
GameType
\"
},{
\"
name
\"
:
\"
_rootClaim
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
Claim
\"
},{
\"
name
\"
:
\"
_extraData
\"
,
\"
type
\"
:
\"
bytes
\"
,
\"
internalType
\"
:
\"
bytes
\"
}],
\"
outputs
\"
:[{
\"
name
\"
:
\"
proxy_
\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
contractIDisputeGame
\"
},{
\"
name
\"
:
\"
timestamp_
\"
,
\"
type
\"
:
\"
uint64
\"
,
\"
internalType
\"
:
\"
Timestamp
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
getGameUUID
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
_gameType
\"
,
\"
type
\"
:
\"
uint32
\"
,
\"
internalType
\"
:
\"
GameType
\"
},{
\"
name
\"
:
\"
_rootClaim
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
Claim
\"
},{
\"
name
\"
:
\"
_extraData
\"
,
\"
type
\"
:
\"
bytes
\"
,
\"
internalType
\"
:
\"
bytes
\"
}],
\"
outputs
\"
:[{
\"
name
\"
:
\"
uuid_
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
Hash
\"
}],
\"
stateMutability
\"
:
\"
pure
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
initBonds
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint32
\"
,
\"
internalType
\"
:
\"
GameType
\"
}],
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
initialize
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
_owner
\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
address
\"
}],
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
owner
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
renounceOwnership
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
setImplementation
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
_gameType
\"
,
\"
type
\"
:
\"
uint32
\"
,
\"
internalType
\"
:
\"
GameType
\"
},{
\"
name
\"
:
\"
_impl
\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
contractIDisputeGame
\"
}],
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
setInitBond
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
_gameType
\"
,
\"
type
\"
:
\"
uint32
\"
,
\"
internalType
\"
:
\"
GameType
\"
},{
\"
name
\"
:
\"
_initBond
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
transferOwnership
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
newOwner
\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
address
\"
}],
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
version
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
,
\"
internalType
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
event
\"
,
\"
name
\"
:
\"
DisputeGameCreated
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
disputeProxy
\"
,
\"
type
\"
:
\"
address
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
},{
\"
name
\"
:
\"
gameType
\"
,
\"
type
\"
:
\"
uint32
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
GameType
\"
},{
\"
name
\"
:
\"
rootClaim
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
Claim
\"
}],
\"
anonymous
\"
:false},{
\"
type
\"
:
\"
event
\"
,
\"
name
\"
:
\"
ImplementationSet
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
impl
\"
,
\"
type
\"
:
\"
address
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
},{
\"
name
\"
:
\"
gameType
\"
,
\"
type
\"
:
\"
uint32
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
GameType
\"
}],
\"
anonymous
\"
:false},{
\"
type
\"
:
\"
event
\"
,
\"
name
\"
:
\"
InitBondUpdated
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
gameType
\"
,
\"
type
\"
:
\"
uint32
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
GameType
\"
},{
\"
name
\"
:
\"
newBond
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
anonymous
\"
:false},{
\"
type
\"
:
\"
event
\"
,
\"
name
\"
:
\"
Initialized
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
version
\"
,
\"
type
\"
:
\"
uint8
\"
,
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint8
\"
}],
\"
anonymous
\"
:false},{
\"
type
\"
:
\"
event
\"
,
\"
name
\"
:
\"
OwnershipTransferred
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
previousOwner
\"
,
\"
type
\"
:
\"
address
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
},{
\"
name
\"
:
\"
newOwner
\"
,
\"
type
\"
:
\"
address
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
}],
\"
anonymous
\"
:false},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
GameAlreadyExists
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
uuid
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
Hash
\"
}]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
IncorrectBondAmount
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
NoImplementation
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
gameType
\"
,
\"
type
\"
:
\"
uint32
\"
,
\"
internalType
\"
:
\"
GameType
\"
}]}]"
,
Bin
:
"0x60806040523480156200001157600080fd5b506200001e600062000024565b62000292565b600054610100900460ff1615808015620000455750600054600160ff909116105b8062000075575062000062306200016260201b62000cdb1760201c565b15801562000075575060005460ff166001145b620000de5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000102576000805461ff0019166101001790555b6200010c62000171565b6200011782620001d9565b80156200015e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b03163b151590565b600054610100900460ff16620001cd5760405162461bcd60e51b815260206004820152602b602482015260008051602062001
7ff83398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000d5565b620001d76200022b565b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16620002875760405162461bcd60e51b815260206004820152602b6024820152600080516020620017ff83398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000d5565b620001d733620001d9565b61155d80620002a26000396000f3fe6080604052600436106100e85760003560e01c80636593dc6e1161008a57806396cd97201161005957806396cd972014610313578063bb8aa1fc14610333578063c4d66de814610394578063f2fde38b146103b457600080fd5b80636593dc6e14610293578063715018a6146102c057806382ecf2f6146102d55780638da5cb5b146102e857600080fd5b8063254bd683116100c6578063254bd6831461019c5780634d1975b4146101c957806354fd4d50146101e85780635f0150cb1461023e57600080fd5b806314f6b1a3146100ed5780631b685b9e1461010f5780631e3342401461017c575b600080fd5b3480156100f957600080fd5b5061010d610108366004611098565b6103d4565b005b34801561011b57600080fd5b5061015261012a3660046110cf565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561018857600080fd5b5061010d6101973660046110ea565b61045e565b3480156101a857600080fd5b506101bc6101b7366004611114565b6104aa565b60405161017391906111c1565b3480156101d557600080fd5b506068545b604051908152602001610173565b3480156101f457600080fd5b506102316040518060400160405280600581526020017f302e332e3000000000000000000000000000000000000000000000000000000081525081565b604051610173919061127e565b34801561024a57600080fd5b5061025e610259366004611291565b6106ee565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835267ffffffffffffffff909116602083015201610173565b34801561029f57600080fd5b506101da6102ae3660046110cf565b60666020526000908152604090205481565b3480156102cc57600080fd5b5061010d610741565b6101526102e3366004611291565b610755565b3480156102f457600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610152565b34801561031f57600080fd5b506101da61032e366004611291565b6109ed565b34801561033f57600080fd5b5061035361034e366004611318565b610a26565b6040805163ffffffff909416845267ffffffffffffffff909216602084015273ffffffffffffffffffffffffffffffffffffffff1690820152606001610173565b3480156103a057600080fd5b5061010d6103af366004611331565b610a88565b3480156103c057600080fd5b5061010d6103cf366004611331565b610c24565b6103dc610cf7565b63ffffffff821660008181526065602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616908117909155905190917fff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de91a35050565b610466610cf7565b63ffffffff8216600081815260666020526040808220849055518392917f74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca91a35050565b606854606090831015806104bc575081155b6106e7575060408051600583901b8101602001909152825b8381116106e5576000606882815481106104f0576104f061134e565b600091825260209091200154905060e081901c67ffffffffffffffff60a083901c1673ffffffffffffffffffffffffffffffffffffffff831660ff808a16908416036106b6576001865101865260008173ffffffffffffffffffffffffffffffffffffffff1663609d33346040518163ffffffff1660e01b8152600401600060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526105d091908101906113ac565b905060008273ffffffffffffffffffffffffffffffffffffffff1663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611477565b90506040518060a001604052808881526020018781526020018567ffffffffffffffff168152602001828152602001838152508860018a516106859190611490565b815181106106955761069561134e565b6020026020010181905250888851106106b3575050505050506106e5565b50505b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191506104d49050565b505b9392505050565b60008060006106ff878787876109ed565b60009081526067602052604090205473ffffffffffffffffffffffffffffffffffffffff81169860a09190911c67ffffffffffffffff16975095505050505050565b610749610cf7565b6107536000610d78565b565b63ffffffff841660009081526065602052604081205473ffffffffffffffffffffffffffffffffffffffff16806107c5576040517f031c6de400000000000000000000000000000000000000000000000000000000815263ffffffff871660048201526024015b60405180910390fd5b63ffffffff86166000908152606660205260409020543414610813576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610820600143611490565b4090506108888682878760405160200161083d94939291906114ce565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905273ffffffffffffffffffffffffffffffffffffffff841690610def565b92508273ffffffffffffffffffffffffffffffffffffffff16638129fc1c346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156108d257600080fd5b505af11580156108e6573d6000803e3d6000fd5b505050505060006108f9888888886109ed565b60008181526067602052604090205490915015610945576040517f014f6fe5000000000000000000000000000000000000000000000000000000008152600481018290526024016107bc565b60004260a01b60e08a901b178517600083815260676020526040808220839055606880546001810182559083527fa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977530183905551919250899163ffffffff8c169173ffffffffffffffffffffffffffffffffffffffff8916917f5b565efe82411da98814f356d0e7bcb8f0219b8d970307c5afb4a6903a8b2e359190a450505050949350505050565b600084848484604051602001610a0694939291906114ef565b604051602081830303815290604052805190602001209050949350505050565b6000806000610a7b60688581548110610a4157610a4161134e565b906000526020600020015460e081901c9160a082901c67ffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff1690565b9196909550909350915050565b600054610100900460ff1615808015610aa85750600054600160ff909116105b80610ac25750303b158015610ac2575060005460ff166001145b610b4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107bc565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bac57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610bb4610f23565b610bbd82610d78565b8015610c2057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b610c2c610cf7565b73ffffffffffffffffffffffffffffffffffffffff8116610ccf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016107bc565b610cd881610d78565b50565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60335473ffffffffffffffffffffffffffffffffffffffff163314610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107bc565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006002825101603f8101600a81036040518360581b8260e81b177f6100003d81600a3d39f3363d3d373d3d3d3d610000806035363936013d7300001781528660601b601e8201527f5af43d3d93803e603357fd5bf300000000000000000000000000000000000000603282015285519150603f8101602087015b60208410610ea757805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09093019260209182019101610e6a565b517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602085900360031b1b16815260f085901b9083015282816000f0945084610f14577febfef1880000000000000000000000000000000000000000000000000000000060005260206000fd5b90910160405250909392505050565b600054610100900460ff16610fba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107bc565b610753600054610100900460ff16611054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107bc565b61075333610d78565b803563ffffffff8116811461107157600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610cd857600080fd5b600080604083850312156110ab57600080fd5b6110b48361105d565b915060208301356110c481611076565b809150509250929050565b6000602082840312156110e157600080fd5b6106e78261105d565b600080604083850312156110fd57600080fd5b6111068361105d565b946020939093013593505050565b60008060006060848603121561112957600080fd5b6111328461105d565b95602085013595506040909401359392505050565b60005b8381101561116257818101518382015260200161114a565b83811115611171576000848401525b50505050565b6000815180845261118f816020860160208601611147565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015611270578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001855281518051845287810151888501528681015167ffffffffffffffff16878501526060808201519085015260809081015160a09185018290529061125c81860183611177565b9689019694505050908601906001016111e8565b509098975050505050505050565b6020815260006106e76020830184611177565b600080600080606085870312156112a757600080fd5b6112b08561105d565b935060208501359250604085013567ffffffffffffffff808211156112d457600080fd5b818701915087601f8301126112e857600080fd5b8135818111156112f757600080fd5b88602082850101111561130957600080fd5b95989497505060200194505050565b60006020828403121561132a57600080fd5b5035919050565b60006020828403121561134357600080fd5b81356106e781611076565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156113be57600080fd5b815167ffffffffffffffff808211156113d657600080fd5b818401915084601f8301126113ea57600080fd5b8151818111156113fc576113fc61137d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156114425761144261137d565b8160405282815287602084870101111561145b57600080fd5b61146c836020830160208801611147565b979650505050505050565b60006020828403121561148957600080fd5b5051919050565b6000828210156114c9
577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b84815283602082015281836040830137600091016040019081529392505050565b63ffffffff8516815283602082015260606040820152816060820152818360808301376000818301608090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101939250505056fea164736f6c634300080f000a496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069"
,
Bin
:
"0x60806040523480156200001157600080fd5b506200001e600062000024565b62000292565b600054610100900460ff1615808015620000455750600054600160ff909116105b8062000075575062000062306200016260201b62000cdb1760201c565b15801562000075575060005460ff166001145b620000de5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000102576000805461ff0019166101001790555b6200010c62000171565b6200011782620001d9565b80156200015e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6001600160a01b03163b151590565b600054610100900460ff16620001cd5760405162461bcd60e51b815260206004820152602b602482015260008051602062001
82483398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000d5565b620001d76200022b565b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16620002875760405162461bcd60e51b815260206004820152602b60248201526000805160206200182483398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000d5565b620001d733620001d9565b61158280620002a26000396000f3fe6080604052600436106100e85760003560e01c80636593dc6e1161008a57806396cd97201161005957806396cd972014610313578063bb8aa1fc14610333578063c4d66de814610394578063f2fde38b146103b457600080fd5b80636593dc6e14610293578063715018a6146102c057806382ecf2f6146102d55780638da5cb5b146102e857600080fd5b8063254bd683116100c6578063254bd6831461019c5780634d1975b4146101c957806354fd4d50146101e85780635f0150cb1461023e57600080fd5b806314f6b1a3146100ed5780631b685b9e1461010f5780631e3342401461017c575b600080fd5b3480156100f957600080fd5b5061010d6101083660046110bd565b6103d4565b005b34801561011b57600080fd5b5061015261012a3660046110f4565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561018857600080fd5b5061010d61019736600461110f565b61045e565b3480156101a857600080fd5b506101bc6101b7366004611139565b6104aa565b60405161017391906111e6565b3480156101d557600080fd5b506068545b604051908152602001610173565b3480156101f457600080fd5b506102316040518060400160405280600581526020017f302e342e3000000000000000000000000000000000000000000000000000000081525081565b60405161017391906112a3565b34801561024a57600080fd5b5061025e6102593660046112b6565b6106ee565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835267ffffffffffffffff909116602083015201610173565b34801561029f57600080fd5b506101da6102ae3660046110f4565b60666020526000908152604090205481565b3480156102cc57600080fd5b5061010d610741565b6101526102e33660046112b6565b610755565b3480156102f457600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610152565b34801561031f57600080fd5b506101da61032e3660046112b6565b6109ed565b34801561033f57600080fd5b5061035361034e36600461133d565b610a26565b6040805163ffffffff909416845267ffffffffffffffff909216602084015273ffffffffffffffffffffffffffffffffffffffff1690820152606001610173565b3480156103a057600080fd5b5061010d6103af366004611356565b610a88565b3480156103c057600080fd5b5061010d6103cf366004611356565b610c24565b6103dc610cf7565b63ffffffff821660008181526065602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616908117909155905190917fff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de91a35050565b610466610cf7565b63ffffffff8216600081815260666020526040808220849055518392917f74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca91a35050565b606854606090831015806104bc575081155b6106e7575060408051600583901b8101602001909152825b8381116106e5576000606882815481106104f0576104f0611373565b600091825260209091200154905060e081901c67ffffffffffffffff60a083901c1673ffffffffffffffffffffffffffffffffffffffff831660ff808a16908416036106b6576001865101865260008173ffffffffffffffffffffffffffffffffffffffff1663609d33346040518163ffffffff1660e01b8152600401600060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526105d091908101906113d1565b905060008273ffffffffffffffffffffffffffffffffffffffff1663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610643919061149c565b90506040518060a001604052808881526020018781526020018567ffffffffffffffff168152602001828152602001838152508860018a5161068591906114b5565b8151811061069557610695611373565b6020026020010181905250888851106106b3575050505050506106e5565b50505b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191506104d49050565b505b9392505050565b60008060006106ff878787876109ed565b60009081526067602052604090205473ffffffffffffffffffffffffffffffffffffffff81169860a09190911c67ffffffffffffffff16975095505050505050565b610749610cf7565b6107536000610d78565b565b63ffffffff841660009081526065602052604081205473ffffffffffffffffffffffffffffffffffffffff16806107c5576040517f031c6de400000000000000000000000000000000000000000000000000000000815263ffffffff871660048201526024015b60405180910390fd5b63ffffffff86166000908152606660205260409020543414610813576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006108206001436114b5565b4090506108888682878760405160200161083d94939291906114f3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905273ffffffffffffffffffffffffffffffffffffffff841690610def565b92508273ffffffffffffffffffffffffffffffffffffffff16638129fc1c346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156108d257600080fd5b505af11580156108e6573d6000803e3d6000fd5b505050505060006108f9888888886109ed565b60008181526067602052604090205490915015610945576040517f014f6fe5000000000000000000000000000000000000000000000000000000008152600481018290526024016107bc565b60004260a01b60e08a901b178517600083815260676020526040808220839055606880546001810182559083527fa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977530183905551919250899163ffffffff8c169173ffffffffffffffffffffffffffffffffffffffff8916917f5b565efe82411da98814f356d0e7bcb8f0219b8d970307c5afb4a6903a8b2e359190a450505050949350505050565b600084848484604051602001610a069493929190611514565b604051602081830303815290604052805190602001209050949350505050565b6000806000610a7b60688581548110610a4157610a41611373565b906000526020600020015460e081901c9160a082901c67ffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff1690565b9196909550909350915050565b600054610100900460ff1615808015610aa85750600054600160ff909116105b80610ac25750303b158015610ac2575060005460ff166001145b610b4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107bc565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bac57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610bb4610dfd565b610bbd82610d78565b8015610c2057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b610c2c610cf7565b73ffffffffffffffffffffffffffffffffffffffff8116610ccf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016107bc565b610cd881610d78565b50565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60335473ffffffffffffffffffffffffffffffffffffffff163314610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107bc565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006106e760008484610e9c565b600054610100900460ff16610e94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107bc565b610753610fe2565b600060608203516040830351602084035184518060208701018051600283016c5af43d3d93803e606057fd5bf3895289600d8a035278593da1005b363d3d373d3d3d3d610000806062363936013d738160481b1760218a03527f9e4ac34f21c619cefc926c8bd93b54bf5a39c7ab2127a895af1cc0691d7e3dff603a8a035272fd6100003d81600a3d39f336602c57343d527f6062820160781b1761ff9e82106059018a03528060f01b8352606c8101604c8a038cf097505086610f685763301164256000526004601cfd5b905285527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08501527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08401527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa09092019190915292915050565b600054610100900460ff16611079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107bc565b61075333610d78565b803563ffffffff8116811461109657600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610cd857600080fd5b600080604083850312156110d057600080fd5b6110d983611082565b915060208301356110e98161109b565b809150509250929050565b60006020828403121561110657600080fd5b6106e782611082565b6000806040838503121561112257600080fd5b61112b83611082565b946020939093013593505050565b60008060006060848603121561114e57600080fd5b61115784611082565b95602085013595506040909401359392505050565b60005b8381101561118757818101518382015260200161116f565b83811115611196576000848401525b50505050565b600081518084526111b481602086016020860161116c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015611295578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001855281518051845287810151888501528681015167ffffffffffffffff16878501526060808201519085015260809081015160a0918501829052906112818186018361119c565b96890196945050509086019060010161120d565b509098975050505050505050565b6020815260006106e7602083018461119c565b600080600080606085870312156112cc57600080fd5b6112d585611082565b935060208501359250604085013567ffffffffffffffff808211156112f957600080fd5b818701915087601f83011261130d57600080fd5b81358181111561131c57600080fd5b88602082850101111561132e57600080fd5b95989497505060200194505050565b60006020828403121561134f57600080fd5b5035919050565b60006020828403121561136857600080fd5b81356106e78161109b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156113e357600080fd5b815167ffffffffffffffff808211156113fb57600080fd5b818401915084601f83011261140f57600080fd5b815181811115611421576114216113a2565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611467576114676113a2565b8160405282815287602084870101111561148057600080fd5b61149183602083016020880161116c565b979650505050505050565b6000602082840312156114ae57600080fd5b5051919050565b6000828210156114ee
577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b84815283602082015281836040830137600091016040019081529392505050565b63ffffffff8516815283602082015260606040820152816060820152818360808301376000818301608090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101939250505056fea164736f6c634300080f000a496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069"
,
}
// DisputeGameFactoryABI is the input ABI used to generate the binding from.
...
...
op-bindings/bindings/disputegamefactory_more.go
View file @
4c974298
...
...
@@ -13,7 +13,7 @@ const DisputeGameFactoryStorageLayoutJSON = "{\"storage\":[{\"astId\":1000,\"con
var
DisputeGameFactoryStorageLayout
=
new
(
solc
.
StorageLayout
)
var
DisputeGameFactoryDeployedBin
=
"0x6080604052600436106100e85760003560e01c80636593dc6e1161008a57806396cd97201161005957806396cd972014610313578063bb8aa1fc14610333578063c4d66de814610394578063f2fde38b146103b457600080fd5b80636593dc6e14610293578063715018a6146102c057806382ecf2f6146102d55780638da5cb5b146102e857600080fd5b8063254bd683116100c6578063254bd6831461019c5780634d1975b4146101c957806354fd4d50146101e85780635f0150cb1461023e57600080fd5b806314f6b1a3146100ed5780631b685b9e1461010f5780631e3342401461017c575b600080fd5b3480156100f957600080fd5b5061010d6101083660046110
98565b6103d4565b005b34801561011b57600080fd5b5061015261012a3660046110cf565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561018857600080fd5b5061010d6101973660046110ea565b61045e565b3480156101a857600080fd5b506101bc6101b7366004611114565b6104aa565b60405161017391906111c1565b3480156101d557600080fd5b506068545b604051908152602001610173565b3480156101f457600080fd5b506102316040518060400160405280600581526020017f302e332e3000000000000000000000000000000000000000000000000000000081525081565b604051610173919061127e565b34801561024a57600080fd5b5061025e610259366004611291565b6106ee565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835267ffffffffffffffff909116602083015201610173565b34801561029f57600080fd5b506101da6102ae3660046110cf565b60666020526000908152604090205481565b3480156102cc57600080fd5b5061010d610741565b6101526102e3366004611291565b610755565b3480156102f457600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610152565b34801561031f57600080fd5b506101da61032e366004611291565b6109ed565b34801561033f57600080fd5b5061035361034e366004611318565b610a26565b6040805163ffffffff909416845267ffffffffffffffff909216602084015273ffffffffffffffffffffffffffffffffffffffff1690820152606001610173565b3480156103a057600080fd5b5061010d6103af366004611331565b610a88565b3480156103c057600080fd5b5061010d6103cf366004611331565b610c24565b6103dc610cf7565b63ffffffff821660008181526065602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616908117909155905190917fff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de91a35050565b610466610cf7565b63ffffffff8216600081815260666020526040808220849055518392917f74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca91a35050565b606854606090831015806104bc575081155b6106e7575060408051600583901b8101602001909152825b8381116106e5576000606882815481106104f0576104f061134e565b600091825260209091200154905060e081901c67ffffffffffffffff60a083901c1673ffffffffffffffffffffffffffffffffffffffff831660ff808a16908416036106b6576001865101865260008173ffffffffffffffffffffffffffffffffffffffff1663609d33346040518163ffffffff1660e01b8152600401600060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526105d091908101906113ac565b905060008273ffffffffffffffffffffffffffffffffffffffff1663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190611477565b90506040518060a001604052808881526020018781526020018567ffffffffffffffff168152602001828152602001838152508860018a516106859190611490565b815181106106955761069561134e565b6020026020010181905250888851106106b3575050505050506106e5565b50505b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191506104d49050565b505b9392505050565b60008060006106ff878787876109ed565b60009081526067602052604090205473ffffffffffffffffffffffffffffffffffffffff81169860a09190911c67ffffffffffffffff16975095505050505050565b610749610cf7565b6107536000610d78565b565b63ffffffff841660009081526065602052604081205473ffffffffffffffffffffffffffffffffffffffff16806107c5576040517f031c6de400000000000000000000000000000000000000000000000000000000815263ffffffff871660048201526024015b60405180910390fd5b63ffffffff86166000908152606660205260409020543414610813576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610820600143611490565b4090506108888682878760405160200161083d94939291906114ce565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905273ffffffffffffffffffffffffffffffffffffffff841690610def565b92508273ffffffffffffffffffffffffffffffffffffffff16638129fc1c346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156108d257600080fd5b505af11580156108e6573d6000803e3d6000fd5b505050505060006108f9888888886109ed565b60008181526067602052604090205490915015610945576040517f014f6fe5000000000000000000000000000000000000000000000000000000008152600481018290526024016107bc565b60004260a01b60e08a901b178517600083815260676020526040808220839055606880546001810182559083527fa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977530183905551919250899163ffffffff8c169173ffffffffffffffffffffffffffffffffffffffff8916917f5b565efe82411da98814f356d0e7bcb8f0219b8d970307c5afb4a6903a8b2e359190a450505050949350505050565b600084848484604051602001610a0694939291906114ef565b604051602081830303815290604052805190602001209050949350505050565b6000806000610a7b60688581548110610a4157610a4161134e565b906000526020600020015460e081901c9160a082901c67ffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff1690565b9196909550909350915050565b600054610100900460ff1615808015610aa85750600054600160ff909116105b80610ac25750303b158015610ac2575060005460ff166001145b610b4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107bc565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bac57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610bb4610f23565b610bbd82610d78565b8015610c2057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b610c2c610cf7565b73ffffffffffffffffffffffffffffffffffffffff8116610ccf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016107bc565b610cd881610d78565b50565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60335473ffffffffffffffffffffffffffffffffffffffff163314610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107bc565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006002825101603f8101600a81036040518360581b8260e81b177f6100003d81600a3d39f3363d3d373d3d3d3d610000806035363936013d7300001781528660601b601e8201527f5af43d3d93803e603357fd5bf300000000000000000000000000000000000000603282015285519150603f8101602087015b60208410610ea757805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09093019260209182019101610e6a565b517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602085900360031b1b16815260f085901b9083015282816000f0945084610f14577febfef1880000000000000000000000000000000000000000000000000000000060005260206000fd5b90910160405250909392505050565b600054610100900460ff16610fba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107bc565b610753600054610100900460ff16611054576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107bc565b61075333610d78565b803563ffffffff8116811461107157600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610cd857600080fd5b600080604083850312156110ab57600080fd5b6110b48361105d565b915060208301356110c481611076565b809150509250929050565b6000602082840312156110e157600080fd5b6106e78261105d565b600080604083850312156110fd57600080fd5b6111068361105d565b946020939093013593505050565b60008060006060848603121561112957600080fd5b6111328461105d565b95602085013595506040909401359392505050565b60005b8381101561116257818101518382015260200161114a565b83811115611171576000848401525b50505050565b6000815180845261118f816020860160208601611147565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015611270578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001855281518051845287810151888501528681015167ffffffffffffffff16878501526060808201519085015260809081015160a09185018290529061125c81860183611177565b9689019694505050908601906001016111e8565b509098975050505050505050565b6020815260006106e76020830184611177565b600080600080606085870312156112a757600080fd5b6112b08561105d565b935060208501359250604085013567ffffffffffffffff808211156112d457600080fd5b818701915087601f8301126112e857600080fd5b8135818111156112f757600080fd5b88602082850101111561130957600080fd5b95989497505060200194505050565b60006020828403121561132a57600080fd5b5035919050565b60006020828403121561134357600080fd5b81356106e781611076565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156113be57600080fd5b815167ffffffffffffffff808211156113d657600080fd5b818401915084601f8301126113ea57600080fd5b8151818111156113fc576113fc61137d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156114425761144261137d565b8160405282815287602084870101111561145b57600080fd5b61146c836020830160208801611147565b979650505050505050565b60006020828403121561148957600080fd5b5051919050565b6000828210156114c9
577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b84815283602082015281836040830137600091016040019081529392505050565b63ffffffff8516815283602082015260606040820152816060820152818360808301376000818301608090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101939250505056fea164736f6c634300080f000a"
var
DisputeGameFactoryDeployedBin
=
"0x6080604052600436106100e85760003560e01c80636593dc6e1161008a57806396cd97201161005957806396cd972014610313578063bb8aa1fc14610333578063c4d66de814610394578063f2fde38b146103b457600080fd5b80636593dc6e14610293578063715018a6146102c057806382ecf2f6146102d55780638da5cb5b146102e857600080fd5b8063254bd683116100c6578063254bd6831461019c5780634d1975b4146101c957806354fd4d50146101e85780635f0150cb1461023e57600080fd5b806314f6b1a3146100ed5780631b685b9e1461010f5780631e3342401461017c575b600080fd5b3480156100f957600080fd5b5061010d6101083660046110
bd565b6103d4565b005b34801561011b57600080fd5b5061015261012a3660046110f4565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561018857600080fd5b5061010d61019736600461110f565b61045e565b3480156101a857600080fd5b506101bc6101b7366004611139565b6104aa565b60405161017391906111e6565b3480156101d557600080fd5b506068545b604051908152602001610173565b3480156101f457600080fd5b506102316040518060400160405280600581526020017f302e342e3000000000000000000000000000000000000000000000000000000081525081565b60405161017391906112a3565b34801561024a57600080fd5b5061025e6102593660046112b6565b6106ee565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835267ffffffffffffffff909116602083015201610173565b34801561029f57600080fd5b506101da6102ae3660046110f4565b60666020526000908152604090205481565b3480156102cc57600080fd5b5061010d610741565b6101526102e33660046112b6565b610755565b3480156102f457600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610152565b34801561031f57600080fd5b506101da61032e3660046112b6565b6109ed565b34801561033f57600080fd5b5061035361034e36600461133d565b610a26565b6040805163ffffffff909416845267ffffffffffffffff909216602084015273ffffffffffffffffffffffffffffffffffffffff1690820152606001610173565b3480156103a057600080fd5b5061010d6103af366004611356565b610a88565b3480156103c057600080fd5b5061010d6103cf366004611356565b610c24565b6103dc610cf7565b63ffffffff821660008181526065602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616908117909155905190917fff513d80e2c7fa487608f70a618dfbc0cf415699dc69588c747e8c71566c88de91a35050565b610466610cf7565b63ffffffff8216600081815260666020526040808220849055518392917f74d6665c4b26d5596a5aa13d3014e0c06af4d322075a797f87b03cd4c5bc91ca91a35050565b606854606090831015806104bc575081155b6106e7575060408051600583901b8101602001909152825b8381116106e5576000606882815481106104f0576104f0611373565b600091825260209091200154905060e081901c67ffffffffffffffff60a083901c1673ffffffffffffffffffffffffffffffffffffffff831660ff808a16908416036106b6576001865101865260008173ffffffffffffffffffffffffffffffffffffffff1663609d33346040518163ffffffff1660e01b8152600401600060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526105d091908101906113d1565b905060008273ffffffffffffffffffffffffffffffffffffffff1663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610643919061149c565b90506040518060a001604052808881526020018781526020018567ffffffffffffffff168152602001828152602001838152508860018a5161068591906114b5565b8151811061069557610695611373565b6020026020010181905250888851106106b3575050505050506106e5565b50505b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191506104d49050565b505b9392505050565b60008060006106ff878787876109ed565b60009081526067602052604090205473ffffffffffffffffffffffffffffffffffffffff81169860a09190911c67ffffffffffffffff16975095505050505050565b610749610cf7565b6107536000610d78565b565b63ffffffff841660009081526065602052604081205473ffffffffffffffffffffffffffffffffffffffff16806107c5576040517f031c6de400000000000000000000000000000000000000000000000000000000815263ffffffff871660048201526024015b60405180910390fd5b63ffffffff86166000908152606660205260409020543414610813576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006108206001436114b5565b4090506108888682878760405160200161083d94939291906114f3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905273ffffffffffffffffffffffffffffffffffffffff841690610def565b92508273ffffffffffffffffffffffffffffffffffffffff16638129fc1c346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156108d257600080fd5b505af11580156108e6573d6000803e3d6000fd5b505050505060006108f9888888886109ed565b60008181526067602052604090205490915015610945576040517f014f6fe5000000000000000000000000000000000000000000000000000000008152600481018290526024016107bc565b60004260a01b60e08a901b178517600083815260676020526040808220839055606880546001810182559083527fa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977530183905551919250899163ffffffff8c169173ffffffffffffffffffffffffffffffffffffffff8916917f5b565efe82411da98814f356d0e7bcb8f0219b8d970307c5afb4a6903a8b2e359190a450505050949350505050565b600084848484604051602001610a069493929190611514565b604051602081830303815290604052805190602001209050949350505050565b6000806000610a7b60688581548110610a4157610a41611373565b906000526020600020015460e081901c9160a082901c67ffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff1690565b9196909550909350915050565b600054610100900460ff1615808015610aa85750600054600160ff909116105b80610ac25750303b158015610ac2575060005460ff166001145b610b4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107bc565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bac57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610bb4610dfd565b610bbd82610d78565b8015610c2057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b610c2c610cf7565b73ffffffffffffffffffffffffffffffffffffffff8116610ccf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016107bc565b610cd881610d78565b50565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60335473ffffffffffffffffffffffffffffffffffffffff163314610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107bc565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006106e760008484610e9c565b600054610100900460ff16610e94576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107bc565b610753610fe2565b600060608203516040830351602084035184518060208701018051600283016c5af43d3d93803e606057fd5bf3895289600d8a035278593da1005b363d3d373d3d3d3d610000806062363936013d738160481b1760218a03527f9e4ac34f21c619cefc926c8bd93b54bf5a39c7ab2127a895af1cc0691d7e3dff603a8a035272fd6100003d81600a3d39f336602c57343d527f6062820160781b1761ff9e82106059018a03528060f01b8352606c8101604c8a038cf097505086610f685763301164256000526004601cfd5b905285527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08501527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08401527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa09092019190915292915050565b600054610100900460ff16611079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107bc565b61075333610d78565b803563ffffffff8116811461109657600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610cd857600080fd5b600080604083850312156110d057600080fd5b6110d983611082565b915060208301356110e98161109b565b809150509250929050565b60006020828403121561110657600080fd5b6106e782611082565b6000806040838503121561112257600080fd5b61112b83611082565b946020939093013593505050565b60008060006060848603121561114e57600080fd5b61115784611082565b95602085013595506040909401359392505050565b60005b8381101561118757818101518382015260200161116f565b83811115611196576000848401525b50505050565b600081518084526111b481602086016020860161116c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015611295578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001855281518051845287810151888501528681015167ffffffffffffffff16878501526060808201519085015260809081015160a0918501829052906112818186018361119c565b96890196945050509086019060010161120d565b509098975050505050505050565b6020815260006106e7602083018461119c565b600080600080606085870312156112cc57600080fd5b6112d585611082565b935060208501359250604085013567ffffffffffffffff808211156112f957600080fd5b818701915087601f83011261130d57600080fd5b81358181111561131c57600080fd5b88602082850101111561132e57600080fd5b95989497505060200194505050565b60006020828403121561134f57600080fd5b5035919050565b60006020828403121561136857600080fd5b81356106e78161109b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156113e357600080fd5b815167ffffffffffffffff808211156113fb57600080fd5b818401915084601f83011261140f57600080fd5b815181811115611421576114216113a2565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611467576114676113a2565b8160405282815287602084870101111561148057600080fd5b61149183602083016020880161116c565b979650505050505050565b6000602082840312156114ae57600080fd5b5051919050565b6000828210156114ee
577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b84815283602082015281836040830137600091016040019081529392505050565b63ffffffff8516815283602082015260606040820152816060820152818360808301376000818301608090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101939250505056fea164736f6c634300080f000a"
func
init
()
{
...
...
op-bindings/bindings/faultdisputegame.go
View file @
4c974298
...
...
@@ -31,7 +31,7 @@ var (
// FaultDisputeGameMetaData contains all meta data concerning the FaultDisputeGame contract.
var
FaultDisputeGameMetaData
=
&
bind
.
MetaData
{
ABI
:
"[{
\"
type
\"
:
\"
constructor
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
_gameType
\"
,
\"
type
\"
:
\"
uint32
\"
,
\"
internalType
\"
:
\"
GameType
\"
},{
\"
name
\"
:
\"
_absolutePrestate
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
Claim
\"
},{
\"
name
\"
:
\"
_maxGameDepth
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
},{
\"
name
\"
:
\"
_splitDepth
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
},{
\"
name
\"
:
\"
_gameDuration
\"
,
\"
type
\"
:
\"
uint64
\"
,
\"
internalType
\"
:
\"
Duration
\"
},{
\"
name
\"
:
\"
_vm
\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
contractIBigStepper
\"
},{
\"
name
\"
:
\"
_weth
\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
contractIDelayedWETH
\"
},{
\"
name
\"
:
\"
_anchorStateRegistry
\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
contractIAnchorStateRegistry
\"
},{
\"
name
\"
:
\"
_l2ChainId
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
nonpayable
\"
},{
\"
type
\"
:
\"
fallback
\"
,
\"
stateMutability
\"
:
\"
payable
\"
},{
\"
type
\"
:
\"
receive
\"
,
\"
stateMutability
\"
:
\"
payable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
absolutePrestate
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
absolutePrestate_
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
Claim
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
addLocalData
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
_ident
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
},{
\"
name
\"
:
\"
_execLeafIdx
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
},{
\"
name
\"
:
\"
_partOffset
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
attack
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
_parentIndex
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
},{
\"
name
\"
:
\"
_claim
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
Claim
\"
}],
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
payable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
claimCredit
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
_recipient
\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
address
\"
}],
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
claimData
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
outputs
\"
:[{
\"
name
\"
:
\"
parentIndex
\"
,
\"
type
\"
:
\"
uint32
\"
,
\"
internalType
\"
:
\"
uint32
\"
},{
\"
name
\"
:
\"
counteredBy
\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
address
\"
},{
\"
name
\"
:
\"
claimant
\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
address
\"
},{
\"
name
\"
:
\"
bond
\"
,
\"
type
\"
:
\"
uint128
\"
,
\"
internalType
\"
:
\"
uint128
\"
},{
\"
name
\"
:
\"
claim
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
Claim
\"
},{
\"
name
\"
:
\"
position
\"
,
\"
type
\"
:
\"
uint128
\"
,
\"
internalType
\"
:
\"
Position
\"
},{
\"
name
\"
:
\"
clock
\"
,
\"
type
\"
:
\"
uint128
\"
,
\"
internalType
\"
:
\"
Clock
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
claimDataLen
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
len_
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
createdAt
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint64
\"
,
\"
internalType
\"
:
\"
Timestamp
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
credit
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
address
\"
}],
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
defend
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
_parentIndex
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
},{
\"
name
\"
:
\"
_claim
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
Claim
\"
}],
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
payable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
extraData
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
extraData_
\"
,
\"
type
\"
:
\"
bytes
\"
,
\"
internalType
\"
:
\"
bytes
\"
}],
\"
stateMutability
\"
:
\"
pure
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
gameData
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
gameType_
\"
,
\"
type
\"
:
\"
uint32
\"
,
\"
internalType
\"
:
\"
GameType
\"
},{
\"
name
\"
:
\"
rootClaim_
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
Claim
\"
},{
\"
name
\"
:
\"
extraData_
\"
,
\"
type
\"
:
\"
bytes
\"
,
\"
internalType
\"
:
\"
bytes
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
gameDuration
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
gameDuration_
\"
,
\"
type
\"
:
\"
uint64
\"
,
\"
internalType
\"
:
\"
Duration
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
gameType
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
gameType_
\"
,
\"
type
\"
:
\"
uint32
\"
,
\"
internalType
\"
:
\"
GameType
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
getRequiredBond
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
_position
\"
,
\"
type
\"
:
\"
uint128
\"
,
\"
internalType
\"
:
\"
Position
\"
}],
\"
outputs
\"
:[{
\"
name
\"
:
\"
requiredBond_
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
initialize
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
payable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
l1Head
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
l1Head_
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
Hash
\"
}],
\"
stateMutability
\"
:
\"
pure
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
l2BlockNumber
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
l2BlockNumber_
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
pure
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
l2ChainId
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
l2ChainId_
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
maxGameDepth
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
maxGameDepth_
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
move
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
_challengeIndex
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
},{
\"
name
\"
:
\"
_claim
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
Claim
\"
},{
\"
name
\"
:
\"
_isAttack
\"
,
\"
type
\"
:
\"
bool
\"
,
\"
internalType
\"
:
\"
bool
\"
}],
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
payable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
resolve
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
status_
\"
,
\"
type
\"
:
\"
uint8
\"
,
\"
internalType
\"
:
\"
enumGameStatus
\"
}],
\"
stateMutability
\"
:
\"
nonpayable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
resolveClaim
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
_claimIndex
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
payable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
resolvedAt
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint64
\"
,
\"
internalType
\"
:
\"
Timestamp
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
rootClaim
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
rootClaim_
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
Claim
\"
}],
\"
stateMutability
\"
:
\"
pure
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
splitDepth
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
splitDepth_
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
startingBlockNumber
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
startingBlockNumber_
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
startingOutputRoot
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
root
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
Hash
\"
},{
\"
name
\"
:
\"
l2BlockNumber
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
startingRootHash
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
startingRootHash_
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
Hash
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
status
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint8
\"
,
\"
internalType
\"
:
\"
enumGameStatus
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
step
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
_claimIndex
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
},{
\"
name
\"
:
\"
_isAttack
\"
,
\"
type
\"
:
\"
bool
\"
,
\"
internalType
\"
:
\"
bool
\"
},{
\"
name
\"
:
\"
_stateData
\"
,
\"
type
\"
:
\"
bytes
\"
,
\"
internalType
\"
:
\"
bytes
\"
},{
\"
name
\"
:
\"
_proof
\"
,
\"
type
\"
:
\"
bytes
\"
,
\"
internalType
\"
:
\"
bytes
\"
}],
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
version
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
,
\"
internalType
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
vm
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
vm_
\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
contractIBigStepper
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
weth
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"
weth_
\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
contractIDelayedWETH
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
event
\"
,
\"
name
\"
:
\"
Move
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
parentIndex
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
uint256
\"
},{
\"
name
\"
:
\"
claim
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
Claim
\"
},{
\"
name
\"
:
\"
claimant
\"
,
\"
type
\"
:
\"
address
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
}],
\"
anonymous
\"
:false},{
\"
type
\"
:
\"
event
\"
,
\"
name
\"
:
\"
Resolved
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
status
\"
,
\"
type
\"
:
\"
uint8
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
enumGameStatus
\"
}],
\"
anonymous
\"
:false},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
AlreadyInitialized
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
AnchorRootNotFound
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
BondTransferFailed
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
CannotDefendRootClaim
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
ClaimAboveSplit
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
ClaimAlreadyExists
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
ClaimAlreadyResolved
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
ClockNotExpired
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
ClockTimeExceeded
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
DuplicateStep
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
GameDepthExceeded
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
GameNotInProgress
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
IncorrectBondAmount
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
InvalidLocalIdent
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
InvalidParent
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
InvalidPrestate
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
InvalidSplitDepth
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
NoCreditToClaim
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
OutOfOrderResolution
\"
,
\"
inputs
\"
:[]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
UnexpectedRootClaim
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
rootClaim
\"
,
\"
type
\"
:
\"
bytes32
\"
,
\"
internalType
\"
:
\"
Claim
\"
}]},{
\"
type
\"
:
\"
error
\"
,
\"
name
\"
:
\"
ValidStep
\"
,
\"
inputs
\"
:[]}]"
,
Bin
:
"0x6101a06040523480156200001257600080fd5b5060405162004
944380380620049448339810160408190526200003591620000d0565b868610620000565760405163e62ccf3960e01b815260040160405180910390fd5b63ffffffff9098166101205260809690965260a09490945260c0929092526001600160401b031660e0526001600160a01b03908116610100529081166101405216610160526101805262000183565b6001600160a01b0381168114620000bb57600080fd5b50565b8051620000cb81620000a5565b919050565b60008060008060008060008060006101208a8c031215620000f057600080fd5b895163ffffffff811681146200010557600080fd5b60208b015160408c015160608d015160808e0151939c50919a50985096506001600160401b03811681146200013957600080fd5b60a08b01519095506200014c81620000a5565b93506200015c60c08b01620000be565b92506200016c60e08b01620000be565b91506101008a015190509295985092959850929598565b60805160a05160c05160e0516101005161012051610140516101605161018051614693620002b16000396000818161068f01526126390152600081816109bf015261153601526000818161032001528181610b14015281816113ec015281816118ed0152613b5901526000818161050e015281816114f501526126d30152600081816102cc01528181611fa601526123020152600081816106e201528181611017015261283101526000818161071501528181610e0501528181610ece01528181611e010152818161250101528181612c72015281816133af015281816134dd015281816135e501526136c101526000818161078c01528181610e7101528181611a5f01528181611ae501528181611cf00152611e220152600081816104d30152611eb801526146936000f3fe6080604052600436106101e75760003560e01c80638b85902b1161010e578063d5d44d80116100a7578063ec5e630811610079578063fa24f74311610061578063fa24f74314610759578063fa315aa91461077d578063fdffbb28146107b057005b8063ec5e630814610706578063f8f43ff61461073957005b8063d5d44d8014610653578063d6ae3cd514610680578063d8cc1a3c146106b3578063e1f0c376146106d357005b8063c395e1ca116100e0578063c395e1ca14610575578063c55cd0c714610595578063c6f0308c146105a8578063cf09e0d01461063257005b80638b85902b146104845780638d450a95146104c4578063bbdc02db146104f7578063bcef3b551461053857005b806357da950e116101805780636361506d116101525780636361506d1461041257806370872aa5146104525780638129fc1c146104675780638980e0cc1461046f57005b806357da950e1461039a578063609d3334146103ca57806360e27464146103df578063632247ea146103ff57005b806335fef567116101b957806335fef567146102aa5780633a768463146102bd5780633fc8cef31461031157806354fd4d501461034457005b806319effeb4146101f0578063200d2ed21461023b57806325fc2ace146102765780632810e1d61461029557005b366101ee57005b005b3480156101fc57600080fd5b5060005461021d9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b34801561024757600080fd5b5060005461026990700100000000000000000000000000000000900460ff1681565b6040516102329190613f34565b34801561028257600080fd5b506006545b604051908152602001610232565b3480156102a157600080fd5b506102696107c3565b6101ee6102b8366004613f75565b610a40565b3480156102c957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610232565b34801561031d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006102ec565b34801561035057600080fd5b5061038d6040518060400160405280600581526020017f302e392e3000000000000000000000000000000000000000000000000000000081525081565b6040516102329190614002565b3480156103a657600080fd5b506006546007546103b5919082565b60408051928352602083019190915201610232565b3480156103d657600080fd5b5061038d610a50565b3480156103eb57600080fd5b506101ee6103fa366004614037565b610a63565b6101ee61040d366004614070565b610c0f565b34801561041e57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360200135610287565b34801561045e57600080fd5b50600754610287565b6101ee611486565b34801561047b57600080fd5b50600154610287565b34801561049057600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360400135610287565b3480156104d057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610287565b34801561050357600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610232565b34801561054457600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900335610287565b34801561058157600080fd5b506102876105903660046140a5565b6119b2565b6101ee6105a3366004613f75565b611b9c565b3480156105b457600080fd5b506105c86105c33660046140d7565b611ba8565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610232565b34801561063e57600080fd5b5060005461021d9067ffffffffffffffff1681565b34801561065f57600080fd5b5061028761066e366004614037565b60026020526000908152604090205481565b34801561068c57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610287565b3480156106bf57600080fd5b506101ee6106ce366004614139565b611c3f565b3480156106df57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061021d565b34801561071257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610287565b34801561074557600080fd5b506101ee6107543660046141c3565b612274565b34801561076557600080fd5b5061076e6126d1565b604051610232939291906141ef565b34801561078957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610287565b6101ee6107be3660046140d7565b61272e565b600080600054700100000000000000000000000000000000900460ff1660028111156107f1576107f1613f05565b14610828576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055460ff16610864576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660016000815481106108905761089061421d565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff16146108cb5760016108ce565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff9091161770010000000000000000000000000000000083600281111561097f5761097f613f05565b02179055600281111561099457610994613f05565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a2557600080fd5b505af1158015610a39573d6000803e3d6000fd5b5050505090565b610a4c82826000610c0f565b5050565b6060610a5e60406020612b8f565b905090565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040812080549082905590819003610ac8576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015610b5857600080fd5b505af1158015610b6c573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610bca576040519150601f19603f3d011682016040523d82523d6000602084013e610bcf565b606091505b5050905080610c0a576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60008054700100000000000000000000000000000000900460ff166002811115610c3b57610c3b613f05565b14610c72576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018481548110610c8757610c8761421d565b600091825260208083206040805160e0810182526005909402909101805463ffffffff808216865273ffffffffffffffffffffffffffffffffffffffff6401000000009092048216948601949094526001820154169184019190915260028101546fffffffffffffffffffffffffffffffff90811660608501526003820154608085015260049091015480821660a0850181905270010000000000000000000000000000000090910490911660c0840152919350909190610d4c9083908690612c2616565b90506000610dec826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff169050861580610e2e5750610e2b7f0000000000000000000000000000000000000000000000000000000000000000600261427b565b81145b8015610e38575084155b15610e6f576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115610ec9576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ef47f0000000000000000000000000000000000000000000000000000000000000000600161427b565b8103610f0657610f0686888588612c2e565b34610f10836119b2565b14610f47576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b835160009063ffffffff90811614610fa7576001856000015163ffffffff1681548110610f7657610f7661421d565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b60c0850151600090610fcb9067ffffffffffffffff165b67ffffffffffffffff1690565b67ffffffffffffffff1642610ff5610fbe856fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16611009919061427b565b6110139190614293565b90507f000000000000000000000000000000000000000000000000000000000000000060011c677fffffffffffffff1667ffffffffffffffff82161115611086576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000604082901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526003602052604090205490915060ff1615611104576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016003600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060016040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600460008c8152602001908152602001600020600180805490506113999190614293565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561143157600080fd5b505af1158015611445573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a45050505050505050505050565b600554610100900460ff16156114c8576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa15801561157c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a091906142aa565b9092509050816115dc576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252838152602001829052600683905560078290558190367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900301351161168e576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560048201526024015b60405180910390fd5b60663611156116a55763c407e0256000526004601cfd5b6040805160e08101825263ffffffff808252600060208301818152328486019081526fffffffffffffffffffffffffffffffff34818116606088019081527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90033560808901908152600160a08a0181815242861660c08c0190815282548084018455928a529a5160059092027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf681018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915594517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf787018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905590517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf8860180549185167fffffffffffffffffffffffffffffffff00000000000000000000000000000000909216919091179055517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf9850155915195518116700100000000000000000000000000000000029516949094177fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfa9091015583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b15801561193357600080fd5b505af1158015611947573d6000803e3d6000fd5b50506000805467ffffffffffffffff42167fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000009091161790555050600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055505050565b600080611a51836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611ab7576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a80630bebc2006000611ad283836142fd565b9050670de0b6b3a76400006000611b09827f0000000000000000000000000000000000000000000000000000000000000000614311565b90506000611b27611b22670de0b6b3a764000086614311565b612def565b90506000611b35848461304a565b90506000611b438383613099565b90506000611b50826130c7565b90506000611b6f82611b6a670de0b6b3a76400008f614311565b6132af565b90506000611b7d8b83613099565b9050611b89818d614311565b9f9e505050505050505050505050505050565b610a4c82826001610c0f565b60018181548110611bb857600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b60008054700100000000000000000000000000000000900460ff166002811115611c6b57611c6b613f05565b14611ca2576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018781548110611cb757611cb761421d565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b9050611d167f0000000000000000000000000000000000000000000000000000000000000000600161427b565b611db2826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1614611df3576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915611ee257611e467f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614293565b6001901b611e65846fffffffffffffffffffffffffffffffff166132e9565b67ffffffffffffffff16611e79919061434e565b15611eb657611ead611e9e60016fffffffffffffffffffffffffffffffff8716614362565b865463ffffffff16600061338f565b60030154611ed8565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050611f0c565b60038501549150611f09611e9e6fffffffffffffffffffffffffffffffff86166001614393565b90505b600882901b60088a8a604051611f239291906143c7565b6040518091039020901b14611f64576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611f6f8c613473565b90506000611f7e836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced3290611ff8908f908f908f908f908a90600401614420565b6020604051808303816000875af1158015612017573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203b919061445a565b6004850154911491506000906002906120e6906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b612182896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61218c9190614473565b6121969190614494565b67ffffffffffffffff1615905081151581036121de576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff1615612235576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054700100000000000000000000000000000000900460ff1660028111156122a0576122a0613f05565b146122d7576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806000806122e6866134a2565b935093509350935060006122fc858585856138b1565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561236b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061238f91906144bb565b9050600189036124875773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a846123eb367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036020013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561245d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612481919061445a565b506126c6565b600289036124b35773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84896123eb565b600389036124df5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84876123eb565b600489036125fb5760006125256fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000613970565b600754612532919061427b565b61253d90600161427b565b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156125d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125f4919061445a565b50506126c6565b60058903612694576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a40161243e565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050505050565b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003356060612727610a50565b9050909192565b60008054700100000000000000000000000000000000900460ff16600281111561275a5761275a613f05565b14612791576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600182815481106127a6576127a661421d565b6000918252602082206005919091020160048101549092506127e890700100000000000000000000000000000000900460401c67ffffffffffffffff16610fbe565b600483015490915060009061281a90700100000000000000000000000000000000900467ffffffffffffffff16610fbe565b6128249042614473565b9050677fffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000060011c1661285e82846144d8565b67ffffffffffffffff161161289f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526004602052604090208054851580156128bf575060055460ff165b156128f6576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015801561290357508515155b15612968578454640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156129365781612952565b600187015473ffffffffffffffffffffffffffffffffffffffff165b905061295e8188613a25565b5050505050505050565b60006fffffffffffffffffffffffffffffffff815b83811015612aae5760008582815481106129995761299961421d565b60009182526020808320909101548083526004909152604090912054909150156129ef576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018281548110612a0457612a0461421d565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff16158015612a5d575060048101546fffffffffffffffffffffffffffffffff908116908516115b15612a9b576001810154600482015473ffffffffffffffffffffffffffffffffffffffff90911695506fffffffffffffffffffffffffffffffff1693505b505080612aa7906144fb565b905061297d565b50612af673ffffffffffffffffffffffffffffffffffffffff831615612ad45782612af0565b600188015473ffffffffffffffffffffffffffffffffffffffff165b88613a25565b86547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8416021787556000888152600460205260408120612b5291613ecb565b8760000361295e57600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555050505050505050565b60606000612bc684367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900361427b565b90508267ffffffffffffffff1667ffffffffffffffff811115612beb57612beb614533565b6040519080825280601f01601f191660200182016040528015612c15576020820181803683370190505b509150828160208401375092915050565b151760011b90565b6000612c4d6fffffffffffffffffffffffffffffffff84166001614393565b90506000612c5d8286600161338f565b9050600086901a8380612d505750612c9660027f000000000000000000000000000000000000000000000000000000000000000061434e565b6004830154600290612d3a906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b612d449190614494565b67ffffffffffffffff16145b15612da85760ff811660011480612d6a575060ff81166002145b612da3576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401611685565b612de6565b60ff811615612de6576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401611685565b50505050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213612e4e57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261308757637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156130b75763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136130f557919050565b680755bf798b4a1bf1e582126131135763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b60006132e0670de0b6b3a7640000836132c786612def565b6132d19190614562565b6132db919061461e565b6130c7565b90505b92915050565b600080613376837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600167ffffffffffffffff919091161b90920392915050565b600080826133d8576133d36fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000613bb1565b6133f3565b6133f3856fffffffffffffffffffffffffffffffff16613d6f565b9050600184815481106134085761340861421d565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff82811691161461346b57815460018054909163ffffffff169081106134565761345661421d565b90600052602060002090600502019150613419565b509392505050565b6000806000806000613484866134a2565b9350935093509350613498848484846138b1565b9695505050505050565b60008060008060008590506000600182815481106134c2576134c261421d565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090613599906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff16116135da576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f0000000000000000000000000000000000000000000000000000000000000000906136a1906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff16925082111561371d57825463ffffffff166136e77f0000000000000000000000000000000000000000000000000000000000000000600161427b565b83036136f1578391505b600181815481106137045761370461421d565b90600052602060002090600502019350809450506135de565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff16613786613771856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff16149050801561384d5760006137be836fffffffffffffffffffffffffffffffff166132e9565b67ffffffffffffffff1611156138215760006137f86137f060016fffffffffffffffffffffffffffffffff8616614362565b89600161338f565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a506138279050565b6006549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff1697506138a3565b600061386f6137f06fffffffffffffffffffffffffffffffff85166001614393565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841681036139175782826040516020016138fa9291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b604051602081830303815290604052805190602001209050613968565b60408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a0016040516020818303038152906040528051906020012090505b949350505050565b6000806139fd847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1690508083036001841b600180831b0386831b17039250505092915050565b60028101546fffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffff000000000000000000000000000000018101613a95576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280830180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff17905573ffffffffffffffffffffffffffffffffffffffff84166000908152602091909152604081208054839290613b0890849061427b565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015613b9d57600080fd5b505af1158015612de6573d6000803e3d6000fd5b600081613c50846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1611613c91576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613c9a83613d6f565b905081613d39826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff16116132e3576132e0613d5683600161427b565b6fffffffffffffffffffffffffffffffff831690613e1b565b60008119600183011681613e03827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff169390931c8015179392505050565b600080613ea8847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff169050808303600180821b0385821b179250505092915050565b5080546000825590600052602060002090810190613ee99190613eec565b50565b5b80821115613f015760008155600101613eed565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310613f6f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060408385031215613f8857600080fd5b50508035926020909101359150565b6000815180845260005b81811015613fbd57602081850181015186830182015201613fa1565b81811115613fcf576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006132e06020830184613f97565b73ffffffffffffffffffffffffffffffffffffffff81168114613ee957600080fd5b60006020828403121561404957600080fd5b813561405481614015565b9392505050565b8035801515811461406b57600080fd5b919050565b60008060006060848603121561408557600080fd5b833592506020840135915061409c6040850161405b565b90509250925092565b6000602082840312156140b757600080fd5b81356fffffffffffffffffffffffffffffffff8116811461405457600080fd5b6000602082840312156140e957600080fd5b5035919050565b60008083601f84011261410257600080fd5b50813567ffffffffffffffff81111561411a57600080fd5b60208301915083602082850101111561413257600080fd5b9250929050565b6000806000806000806080878903121561415257600080fd5b863595506141626020880161405b565b9450604087013567ffffffffffffffff8082111561417f57600080fd5b61418b8a838b016140f0565b909650945060608901359150808211156141a457600080fd5b506141b189828a016140f0565b979a9699509497509295939492505050565b6000806000606084860312156141d857600080fd5b505081359360208301359350604090920135919050565b63ffffffff841681528260208201526060604082015260006142146060830184613f97565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561428e5761428e61424c565b500190565b6000828210156142a5576142a561424c565b500390565b600080604083850312156142bd57600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261430c5761430c6142ce565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156143495761434961424c565b500290565b60008261435d5761435d6142ce565b500690565b60006fffffffffffffffffffffffffffffffff8381169083168181101561438b5761438b61424c565b039392505050565b60006fffffffffffffffffffffffffffffffff8083168185168083038211156143be576143be61424c565b01949350505050565b8183823760009101908152919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006144346060830187896143d7565b82810360208401526144478186886143d7565b9150508260408301529695505050505050565b60006020828403121561446c57600080fd5b5051919050565b600067ffffffffffffffff8381169083168181101561438b5761438b61424c565b600067ffffffffffffffff808416806144af576144af6142ce565b92169190910692915050565b6000602082840312156144cd57600080fd5b815161405481614015565b600067ffffffffffffffff8083168185168083038211156143be576143be61424c565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361452c5761452c61424c565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000841360008413858304851182821616156145a3576145a361424c565b7f800000000000000000000000000000000000000000000000000000000000000060008712868205881281841616156145de576145de61424c565b600087129250878205871284841616156145fa576145fa61424c565b878505871281841616156146105761461061424c565b505050929093029392505050565b60008261462d5761462d6142ce565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f8000000000000000000000000000000000000000000000000000000000000000831416156146815761468161424c
565b50059056fea164736f6c634300080f000a"
,
Bin
:
"0x6101a06040523480156200001257600080fd5b5060405162004
8d0380380620048d08339810160408190526200003591620000d0565b868610620000565760405163e62ccf3960e01b815260040160405180910390fd5b63ffffffff9098166101205260809690965260a09490945260c0929092526001600160401b031660e0526001600160a01b03908116610100529081166101405216610160526101805262000183565b6001600160a01b0381168114620000bb57600080fd5b50565b8051620000cb81620000a5565b919050565b60008060008060008060008060006101208a8c031215620000f057600080fd5b895163ffffffff811681146200010557600080fd5b60208b015160408c015160608d015160808e0151939c50919a50985096506001600160401b03811681146200013957600080fd5b60a08b01519095506200014c81620000a5565b93506200015c60c08b01620000be565b92506200016c60e08b01620000be565b91506101008a015190509295985092959850929598565b60805160a05160c05160e051610100516101205161014051610160516101805161461f620002b16000396000818161068f01526126390152600081816109bf015261153601526000818161032001528181610b14015281816113ec015281816118ed0152613b1401526000818161050e015281816114f501526126d30152600081816102cc01528181611fa601526123020152600081816106e201528181611017015261283101526000818161071501528181610e0501528181610ece01528181611e010152818161250101528181612c2d0152818161336a01528181613498015281816135a0015261367c01526000818161078c01528181610e7101528181611a5f01528181611ae501528181611cf00152611e220152600081816104d30152611eb8015261461f6000f3fe6080604052600436106101e75760003560e01c80638b85902b1161010e578063d5d44d80116100a7578063ec5e630811610079578063fa24f74311610061578063fa24f74314610759578063fa315aa91461077d578063fdffbb28146107b057005b8063ec5e630814610706578063f8f43ff61461073957005b8063d5d44d8014610653578063d6ae3cd514610680578063d8cc1a3c146106b3578063e1f0c376146106d357005b8063c395e1ca116100e0578063c395e1ca14610575578063c55cd0c714610595578063c6f0308c146105a8578063cf09e0d01461063257005b80638b85902b146104845780638d450a95146104c4578063bbdc02db146104f7578063bcef3b551461053857005b806357da950e116101805780636361506d116101525780636361506d1461041257806370872aa5146104525780638129fc1c146104675780638980e0cc1461046f57005b806357da950e1461039a578063609d3334146103ca57806360e27464146103df578063632247ea146103ff57005b806335fef567116101b957806335fef567146102aa5780633a768463146102bd5780633fc8cef31461031157806354fd4d501461034457005b806319effeb4146101f0578063200d2ed21461023b57806325fc2ace146102765780632810e1d61461029557005b366101ee57005b005b3480156101fc57600080fd5b5060005461021d9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b34801561024757600080fd5b5060005461026990700100000000000000000000000000000000900460ff1681565b6040516102329190613eef565b34801561028257600080fd5b506006545b604051908152602001610232565b3480156102a157600080fd5b506102696107c3565b6101ee6102b8366004613f30565b610a40565b3480156102c957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610232565b34801561031d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006102ec565b34801561035057600080fd5b5061038d6040518060400160405280600681526020017f302e31302e30000000000000000000000000000000000000000000000000000081525081565b6040516102329190613fbd565b3480156103a657600080fd5b506006546007546103b5919082565b60408051928352602083019190915201610232565b3480156103d657600080fd5b5061038d610a50565b3480156103eb57600080fd5b506101ee6103fa366004613ff2565b610a63565b6101ee61040d36600461402b565b610c0f565b34801561041e57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360200135610287565b34801561045e57600080fd5b50600754610287565b6101ee611486565b34801561047b57600080fd5b50600154610287565b34801561049057600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360400135610287565b3480156104d057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610287565b34801561050357600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610232565b34801561054457600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900335610287565b34801561058157600080fd5b50610287610590366004614060565b6119b2565b6101ee6105a3366004613f30565b611b9c565b3480156105b457600080fd5b506105c86105c3366004614092565b611ba8565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610232565b34801561063e57600080fd5b5060005461021d9067ffffffffffffffff1681565b34801561065f57600080fd5b5061028761066e366004613ff2565b60026020526000908152604090205481565b34801561068c57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610287565b3480156106bf57600080fd5b506101ee6106ce3660046140f4565b611c3f565b3480156106df57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061021d565b34801561071257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610287565b34801561074557600080fd5b506101ee61075436600461417e565b612274565b34801561076557600080fd5b5061076e6126d1565b604051610232939291906141aa565b34801561078957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610287565b6101ee6107be366004614092565b61272e565b600080600054700100000000000000000000000000000000900460ff1660028111156107f1576107f1613ec0565b14610828576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055460ff16610864576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166001600081548110610890576108906141d8565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff16146108cb5760016108ce565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff9091161770010000000000000000000000000000000083600281111561097f5761097f613ec0565b02179055600281111561099457610994613ec0565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a2557600080fd5b505af1158015610a39573d6000803e3d6000fd5b5050505090565b610a4c82826000610c0f565b5050565b6060610a5e60406020612b8f565b905090565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040812080549082905590819003610ac8576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015610b5857600080fd5b505af1158015610b6c573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610bca576040519150601f19603f3d011682016040523d82523d6000602084013e610bcf565b606091505b5050905080610c0a576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60008054700100000000000000000000000000000000900460ff166002811115610c3b57610c3b613ec0565b14610c72576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018481548110610c8757610c876141d8565b600091825260208083206040805160e0810182526005909402909101805463ffffffff808216865273ffffffffffffffffffffffffffffffffffffffff6401000000009092048216948601949094526001820154169184019190915260028101546fffffffffffffffffffffffffffffffff90811660608501526003820154608085015260049091015480821660a0850181905270010000000000000000000000000000000090910490911660c0840152919350909190610d4c9083908690612be116565b90506000610dec826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff169050861580610e2e5750610e2b7f00000000000000000000000000000000000000000000000000000000000000006002614236565b81145b8015610e38575084155b15610e6f576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115610ec9576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ef47f00000000000000000000000000000000000000000000000000000000000000006001614236565b8103610f0657610f0686888588612be9565b34610f10836119b2565b14610f47576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b835160009063ffffffff90811614610fa7576001856000015163ffffffff1681548110610f7657610f766141d8565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b60c0850151600090610fcb9067ffffffffffffffff165b67ffffffffffffffff1690565b67ffffffffffffffff1642610ff5610fbe856fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff166110099190614236565b611013919061424e565b90507f000000000000000000000000000000000000000000000000000000000000000060011c677fffffffffffffff1667ffffffffffffffff82161115611086576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000604082901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526003602052604090205490915060ff1615611104576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016003600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060016040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600460008c815260200190815260200160002060018080549050611399919061424e565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561143157600080fd5b505af1158015611445573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a45050505050505050505050565b600554610100900460ff16156114c8576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa15801561157c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a09190614265565b9092509050816115dc576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252838152602001829052600683905560078290558190367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900301351161168e576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560048201526024015b60405180910390fd5b60663611156116a55763c407e0256000526004601cfd5b6040805160e08101825263ffffffff808252600060208301818152328486019081526fffffffffffffffffffffffffffffffff34818116606088019081527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90033560808901908152600160a08a0181815242861660c08c0190815282548084018455928a529a5160059092027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf681018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915594517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf787018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905590517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf8860180549185167fffffffffffffffffffffffffffffffff00000000000000000000000000000000909216919091179055517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf9850155915195518116700100000000000000000000000000000000029516949094177fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfa9091015583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b15801561193357600080fd5b505af1158015611947573d6000803e3d6000fd5b50506000805467ffffffffffffffff42167fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000009091161790555050600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055505050565b600080611a51836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611ab7576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a80630bebc2006000611ad283836142b8565b9050670de0b6b3a76400006000611b09827f00000000000000000000000000000000000000000000000000000000000000006142cc565b90506000611b27611b22670de0b6b3a7640000866142cc565b612daa565b90506000611b358484613005565b90506000611b438383613054565b90506000611b5082613082565b90506000611b6f82611b6a670de0b6b3a76400008f6142cc565b61326a565b90506000611b7d8b83613054565b9050611b89818d6142cc565b9f9e505050505050505050505050505050565b610a4c82826001610c0f565b60018181548110611bb857600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b60008054700100000000000000000000000000000000900460ff166002811115611c6b57611c6b613ec0565b14611ca2576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018781548110611cb757611cb76141d8565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b9050611d167f00000000000000000000000000000000000000000000000000000000000000006001614236565b611db2826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1614611df3576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915611ee257611e467f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061424e565b6001901b611e65846fffffffffffffffffffffffffffffffff166132a4565b67ffffffffffffffff16611e799190614309565b15611eb657611ead611e9e60016fffffffffffffffffffffffffffffffff871661431d565b865463ffffffff16600061334a565b60030154611ed8565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050611f0c565b60038501549150611f09611e9e6fffffffffffffffffffffffffffffffff8616600161434e565b90505b600882901b60088a8a604051611f23929190614382565b6040518091039020901b14611f64576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611f6f8c61342e565b90506000611f7e836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced3290611ff8908f908f908f908f908a906004016143db565b6020604051808303816000875af1158015612017573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203b9190614415565b6004850154911491506000906002906120e6906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b612182896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61218c919061442e565b612196919061444f565b67ffffffffffffffff1615905081151581036121de576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff1615612235576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054700100000000000000000000000000000000900460ff1660028111156122a0576122a0613ec0565b146122d7576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806000806122e68661345d565b935093509350935060006122fc8585858561386c565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561236b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061238f9190614476565b9050600189036124875773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a846123eb367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036020013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561245d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124819190614415565b506126c6565b600289036124b35773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84896123eb565b600389036124df5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84876123eb565b600489036125fb5760006125256fffffffffffffffffffffffffffffffff85167f000000000000000000000000000000000000000000000000000000000000000061392b565b6007546125329190614236565b61253d906001614236565b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156125d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125f49190614415565b50506126c6565b60058903612694576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a40161243e565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050505050565b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003356060612727610a50565b9050909192565b60008054700100000000000000000000000000000000900460ff16600281111561275a5761275a613ec0565b14612791576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600182815481106127a6576127a66141d8565b6000918252602082206005919091020160048101549092506127e890700100000000000000000000000000000000900460401c67ffffffffffffffff16610fbe565b600483015490915060009061281a90700100000000000000000000000000000000900467ffffffffffffffff16610fbe565b612824904261442e565b9050677fffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000060011c1661285e8284614493565b67ffffffffffffffff161161289f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526004602052604090208054851580156128bf575060055460ff165b156128f6576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015801561290357508515155b15612968578454640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156129365781612952565b600187015473ffffffffffffffffffffffffffffffffffffffff165b905061295e81886139e0565b5050505050505050565b60006fffffffffffffffffffffffffffffffff815b83811015612aae576000858281548110612999576129996141d8565b60009182526020808320909101548083526004909152604090912054909150156129ef576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018281548110612a0457612a046141d8565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff16158015612a5d575060048101546fffffffffffffffffffffffffffffffff908116908516115b15612a9b576001810154600482015473ffffffffffffffffffffffffffffffffffffffff90911695506fffffffffffffffffffffffffffffffff1693505b505080612aa7906144b6565b905061297d565b50612af673ffffffffffffffffffffffffffffffffffffffff831615612ad45782612af0565b600188015473ffffffffffffffffffffffffffffffffffffffff165b886139e0565b86547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8416021787556000888152600460205260408120612b5291613e86565b8760000361295e57600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555050505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b151760011b90565b6000612c086fffffffffffffffffffffffffffffffff8416600161434e565b90506000612c188286600161334a565b9050600086901a8380612d0b5750612c5160027f0000000000000000000000000000000000000000000000000000000000000000614309565b6004830154600290612cf5906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b612cff919061444f565b67ffffffffffffffff16145b15612d635760ff811660011480612d25575060ff81166002145b612d5e576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401611685565b612da1565b60ff811615612da1576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401611685565b50505050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213612e0957631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261304257637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156130725763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136130b057919050565b680755bf798b4a1bf1e582126130ce5763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b600061329b670de0b6b3a76400008361328286612daa565b61328c91906144ee565b61329691906145aa565b613082565b90505b92915050565b600080613331837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600167ffffffffffffffff919091161b90920392915050565b600080826133935761338e6fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000613b6c565b6133ae565b6133ae856fffffffffffffffffffffffffffffffff16613d2a565b9050600184815481106133c3576133c36141d8565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff82811691161461342657815460018054909163ffffffff16908110613411576134116141d8565b906000526020600020906005020191506133d4565b509392505050565b600080600080600061343f8661345d565b93509350935093506134538484848461386c565b9695505050505050565b600080600080600085905060006001828154811061347d5761347d6141d8565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090613554906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1611613595576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f00000000000000000000000000000000000000000000000000000000000000009061365c906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1692508211156136d857825463ffffffff166136a27f00000000000000000000000000000000000000000000000000000000000000006001614236565b83036136ac578391505b600181815481106136bf576136bf6141d8565b9060005260206000209060050201935080945050613599565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff1661374161372c856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff161490508015613808576000613779836fffffffffffffffffffffffffffffffff166132a4565b67ffffffffffffffff1611156137dc5760006137b36137ab60016fffffffffffffffffffffffffffffffff861661431d565b89600161334a565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a506137e29050565b6006549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff16975061385e565b600061382a6137ab6fffffffffffffffffffffffffffffffff8516600161434e565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841681036138d25782826040516020016138b59291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b604051602081830303815290604052805190602001209050613923565b60408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a0016040516020818303038152906040528051906020012090505b949350505050565b6000806139b8847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1690508083036001841b600180831b0386831b17039250505092915050565b60028101546fffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffff000000000000000000000000000000018101613a50576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280830180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff17905573ffffffffffffffffffffffffffffffffffffffff84166000908152602091909152604081208054839290613ac3908490614236565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015613b5857600080fd5b505af1158015612da1573d6000803e3d6000fd5b600081613c0b846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1611613c4c576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613c5583613d2a565b905081613cf4826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff161161329e5761329b613d11836001614236565b6fffffffffffffffffffffffffffffffff831690613dd6565b60008119600183011681613dbe827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff169390931c8015179392505050565b600080613e63847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff169050808303600180821b0385821b179250505092915050565b5080546000825590600052602060002090810190613ea49190613ea7565b50565b5b80821115613ebc5760008155600101613ea8565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310613f2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060408385031215613f4357600080fd5b50508035926020909101359150565b6000815180845260005b81811015613f7857602081850181015186830182015201613f5c565b81811115613f8a576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061329b6020830184613f52565b73ffffffffffffffffffffffffffffffffffffffff81168114613ea457600080fd5b60006020828403121561400457600080fd5b813561400f81613fd0565b9392505050565b8035801515811461402657600080fd5b919050565b60008060006060848603121561404057600080fd5b833592506020840135915061405760408501614016565b90509250925092565b60006020828403121561407257600080fd5b81356fffffffffffffffffffffffffffffffff8116811461400f57600080fd5b6000602082840312156140a457600080fd5b5035919050565b60008083601f8401126140bd57600080fd5b50813567ffffffffffffffff8111156140d557600080fd5b6020830191508360208285010111156140ed57600080fd5b9250929050565b6000806000806000806080878903121561410d57600080fd5b8635955061411d60208801614016565b9450604087013567ffffffffffffffff8082111561413a57600080fd5b6141468a838b016140ab565b9096509450606089013591508082111561415f57600080fd5b5061416c89828a016140ab565b979a9699509497509295939492505050565b60008060006060848603121561419357600080fd5b505081359360208301359350604090920135919050565b63ffffffff841681528260208201526060604082015260006141cf6060830184613f52565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561424957614249614207565b500190565b60008282101561426057614260614207565b500390565b6000806040838503121561427857600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826142c7576142c7614289565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561430457614304614207565b500290565b60008261431857614318614289565b500690565b60006fffffffffffffffffffffffffffffffff8381169083168181101561434657614346614207565b039392505050565b60006fffffffffffffffffffffffffffffffff80831681851680830382111561437957614379614207565b01949350505050565b8183823760009101908152919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006143ef606083018789614392565b8281036020840152614402818688614392565b9150508260408301529695505050505050565b60006020828403121561442757600080fd5b5051919050565b600067ffffffffffffffff8381169083168181101561434657614346614207565b600067ffffffffffffffff8084168061446a5761446a614289565b92169190910692915050565b60006020828403121561448857600080fd5b815161400f81613fd0565b600067ffffffffffffffff80831681851680830382111561437957614379614207565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036144e7576144e7614207565b5060010190565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561452f5761452f614207565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561456a5761456a614207565b6000871292508782058712848416161561458657614586614207565b8785058712818416161561459c5761459c614207565b505050929093029392505050565b6000826145b9576145b9614289565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f80000000000000000000000000000000000000000000000000000000000000008314161561460d5761460d614207
565b50059056fea164736f6c634300080f000a"
,
}
// FaultDisputeGameABI is the input ABI used to generate the binding from.
...
...
op-bindings/bindings/faultdisputegame_more.go
View file @
4c974298
...
...
@@ -13,7 +13,7 @@ const FaultDisputeGameStorageLayoutJSON = "{\"storage\":[{\"astId\":1000,\"contr
var
FaultDisputeGameStorageLayout
=
new
(
solc
.
StorageLayout
)
var
FaultDisputeGameDeployedBin
=
"0x6080604052600436106101e75760003560e01c80638b85902b1161010e578063d5d44d80116100a7578063ec5e630811610079578063fa24f74311610061578063fa24f74314610759578063fa315aa91461077d578063fdffbb28146107b057005b8063ec5e630814610706578063f8f43ff61461073957005b8063d5d44d8014610653578063d6ae3cd514610680578063d8cc1a3c146106b3578063e1f0c376146106d357005b8063c395e1ca116100e0578063c395e1ca14610575578063c55cd0c714610595578063c6f0308c146105a8578063cf09e0d01461063257005b80638b85902b146104845780638d450a95146104c4578063bbdc02db146104f7578063bcef3b551461053857005b806357da950e116101805780636361506d116101525780636361506d1461041257806370872aa5146104525780638129fc1c146104675780638980e0cc1461046f57005b806357da950e1461039a578063609d3334146103ca57806360e27464146103df578063632247ea146103ff57005b806335fef567116101b957806335fef567146102aa5780633a768463146102bd5780633fc8cef31461031157806354fd4d501461034457005b806319effeb4146101f0578063200d2ed21461023b57806325fc2ace146102765780632810e1d61461029557005b366101ee57005b005b3480156101fc57600080fd5b5060005461021d9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b34801561024757600080fd5b5060005461026990700100000000000000000000000000000000900460ff1681565b6040516102329190613
f34565b34801561028257600080fd5b506006545b604051908152602001610232565b3480156102a157600080fd5b506102696107c3565b6101ee6102b8366004613f75565b610a40565b3480156102c957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610232565b34801561031d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006102ec565b34801561035057600080fd5b5061038d6040518060400160405280600581526020017f302e392e3000000000000000000000000000000000000000000000000000000081525081565b6040516102329190614002565b3480156103a657600080fd5b506006546007546103b5919082565b60408051928352602083019190915201610232565b3480156103d657600080fd5b5061038d610a50565b3480156103eb57600080fd5b506101ee6103fa366004614037565b610a63565b6101ee61040d366004614070565b610c0f565b34801561041e57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360200135610287565b34801561045e57600080fd5b50600754610287565b6101ee611486565b34801561047b57600080fd5b50600154610287565b34801561049057600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360400135610287565b3480156104d057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610287565b34801561050357600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610232565b34801561054457600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900335610287565b34801561058157600080fd5b506102876105903660046140a5565b6119b2565b6101ee6105a3366004613f75565b611b9c565b3480156105b457600080fd5b506105c86105c33660046140d7565b611ba8565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610232565b34801561063e57600080fd5b5060005461021d9067ffffffffffffffff1681565b34801561065f57600080fd5b5061028761066e366004614037565b60026020526000908152604090205481565b34801561068c57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610287565b3480156106bf57600080fd5b506101ee6106ce366004614139565b611c3f565b3480156106df57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061021d565b34801561071257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610287565b34801561074557600080fd5b506101ee6107543660046141c3565b612274565b34801561076557600080fd5b5061076e6126d1565b604051610232939291906141ef565b34801561078957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610287565b6101ee6107be3660046140d7565b61272e565b600080600054700100000000000000000000000000000000900460ff1660028111156107f1576107f1613f05565b14610828576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055460ff16610864576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660016000815481106108905761089061421d565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff16146108cb5760016108ce565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff9091161770010000000000000000000000000000000083600281111561097f5761097f613f05565b02179055600281111561099457610994613f05565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a2557600080fd5b505af1158015610a39573d6000803e3d6000fd5b5050505090565b610a4c82826000610c0f565b5050565b6060610a5e60406020612b8f565b905090565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040812080549082905590819003610ac8576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015610b5857600080fd5b505af1158015610b6c573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610bca576040519150601f19603f3d011682016040523d82523d6000602084013e610bcf565b606091505b5050905080610c0a576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60008054700100000000000000000000000000000000900460ff166002811115610c3b57610c3b613f05565b14610c72576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018481548110610c8757610c8761421d565b600091825260208083206040805160e0810182526005909402909101805463ffffffff808216865273ffffffffffffffffffffffffffffffffffffffff6401000000009092048216948601949094526001820154169184019190915260028101546fffffffffffffffffffffffffffffffff90811660608501526003820154608085015260049091015480821660a0850181905270010000000000000000000000000000000090910490911660c0840152919350909190610d4c9083908690612c2616565b90506000610dec826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff169050861580610e2e5750610e2b7f0000000000000000000000000000000000000000000000000000000000000000600261427b565b81145b8015610e38575084155b15610e6f576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115610ec9576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ef47f0000000000000000000000000000000000000000000000000000000000000000600161427b565b8103610f0657610f0686888588612c2e565b34610f10836119b2565b14610f47576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b835160009063ffffffff90811614610fa7576001856000015163ffffffff1681548110610f7657610f7661421d565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b60c0850151600090610fcb9067ffffffffffffffff165b67ffffffffffffffff1690565b67ffffffffffffffff1642610ff5610fbe856fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff16611009919061427b565b6110139190614293565b90507f000000000000000000000000000000000000000000000000000000000000000060011c677fffffffffffffff1667ffffffffffffffff82161115611086576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000604082901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526003602052604090205490915060ff1615611104576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016003600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060016040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600460008c8152602001908152602001600020600180805490506113999190614293565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561143157600080fd5b505af1158015611445573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a45050505050505050505050565b600554610100900460ff16156114c8576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa15801561157c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a091906142aa565b9092509050816115dc576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252838152602001829052600683905560078290558190367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900301351161168e576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560048201526024015b60405180910390fd5b60663611156116a55763c407e0256000526004601cfd5b6040805160e08101825263ffffffff808252600060208301818152328486019081526fffffffffffffffffffffffffffffffff34818116606088019081527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90033560808901908152600160a08a0181815242861660c08c0190815282548084018455928a529a5160059092027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf681018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915594517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf787018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905590517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf8860180549185167fffffffffffffffffffffffffffffffff00000000000000000000000000000000909216919091179055517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf9850155915195518116700100000000000000000000000000000000029516949094177fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfa9091015583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b15801561193357600080fd5b505af1158015611947573d6000803e3d6000fd5b50506000805467ffffffffffffffff42167fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000009091161790555050600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055505050565b600080611a51836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611ab7576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a80630bebc2006000611ad283836142fd565b9050670de0b6b3a76400006000611b09827f0000000000000000000000000000000000000000000000000000000000000000614311565b90506000611b27611b22670de0b6b3a764000086614311565b612def565b90506000611b35848461304a565b90506000611b438383613099565b90506000611b50826130c7565b90506000611b6f82611b6a670de0b6b3a76400008f614311565b6132af565b90506000611b7d8b83613099565b9050611b89818d614311565b9f9e505050505050505050505050505050565b610a4c82826001610c0f565b60018181548110611bb857600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b60008054700100000000000000000000000000000000900460ff166002811115611c6b57611c6b613f05565b14611ca2576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018781548110611cb757611cb761421d565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b9050611d167f0000000000000000000000000000000000000000000000000000000000000000600161427b565b611db2826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1614611df3576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915611ee257611e467f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614293565b6001901b611e65846fffffffffffffffffffffffffffffffff166132e9565b67ffffffffffffffff16611e79919061434e565b15611eb657611ead611e9e60016fffffffffffffffffffffffffffffffff8716614362565b865463ffffffff16600061338f565b60030154611ed8565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050611f0c565b60038501549150611f09611e9e6fffffffffffffffffffffffffffffffff86166001614393565b90505b600882901b60088a8a604051611f239291906143c7565b6040518091039020901b14611f64576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611f6f8c613473565b90506000611f7e836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced3290611ff8908f908f908f908f908a90600401614420565b6020604051808303816000875af1158015612017573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203b919061445a565b6004850154911491506000906002906120e6906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b612182896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61218c9190614473565b6121969190614494565b67ffffffffffffffff1615905081151581036121de576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff1615612235576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054700100000000000000000000000000000000900460ff1660028111156122a0576122a0613f05565b146122d7576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806000806122e6866134a2565b935093509350935060006122fc858585856138b1565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561236b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061238f91906144bb565b9050600189036124875773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a846123eb367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036020013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561245d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612481919061445a565b506126c6565b600289036124b35773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84896123eb565b600389036124df5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84876123eb565b600489036125fb5760006125256fffffffffffffffffffffffffffffffff85167f0000000000000000000000000000000000000000000000000000000000000000613970565b600754612532919061427b565b61253d90600161427b565b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156125d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125f4919061445a565b50506126c6565b60058903612694576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a40161243e565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050505050565b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003356060612727610a50565b9050909192565b60008054700100000000000000000000000000000000900460ff16600281111561275a5761275a613f05565b14612791576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600182815481106127a6576127a661421d565b6000918252602082206005919091020160048101549092506127e890700100000000000000000000000000000000900460401c67ffffffffffffffff16610fbe565b600483015490915060009061281a90700100000000000000000000000000000000900467ffffffffffffffff16610fbe565b6128249042614473565b9050677fffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000060011c1661285e82846144d8565b67ffffffffffffffff161161289f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526004602052604090208054851580156128bf575060055460ff165b156128f6576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015801561290357508515155b15612968578454640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156129365781612952565b600187015473ffffffffffffffffffffffffffffffffffffffff165b905061295e8188613a25565b5050505050505050565b60006fffffffffffffffffffffffffffffffff815b83811015612aae5760008582815481106129995761299961421d565b60009182526020808320909101548083526004909152604090912054909150156129ef576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018281548110612a0457612a0461421d565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff16158015612a5d575060048101546fffffffffffffffffffffffffffffffff908116908516115b15612a9b576001810154600482015473ffffffffffffffffffffffffffffffffffffffff90911695506fffffffffffffffffffffffffffffffff1693505b505080612aa7906144fb565b905061297d565b50612af673ffffffffffffffffffffffffffffffffffffffff831615612ad45782612af0565b600188015473ffffffffffffffffffffffffffffffffffffffff165b88613a25565b86547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8416021787556000888152600460205260408120612b5291613ecb565b8760000361295e57600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555050505050505050565b60606000612bc684367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900361427b565b90508267ffffffffffffffff1667ffffffffffffffff811115612beb57612beb614533565b6040519080825280601f01601f191660200182016040528015612c15576020820181803683370190505b509150828160208401375092915050565b151760011b90565b6000612c4d6fffffffffffffffffffffffffffffffff84166001614393565b90506000612c5d8286600161338f565b9050600086901a8380612d505750612c9660027f000000000000000000000000000000000000000000000000000000000000000061434e565b6004830154600290612d3a906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b612d449190614494565b67ffffffffffffffff16145b15612da85760ff811660011480612d6a575060ff81166002145b612da3576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401611685565b612de6565b60ff811615612de6576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401611685565b50505050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213612e4e57631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261308757637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156130b75763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136130f557919050565b680755bf798b4a1bf1e582126131135763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b60006132e0670de0b6b3a7640000836132c786612def565b6132d19190614562565b6132db919061461e565b6130c7565b90505b92915050565b600080613376837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600167ffffffffffffffff919091161b90920392915050565b600080826133d8576133d36fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000613bb1565b6133f3565b6133f3856fffffffffffffffffffffffffffffffff16613d6f565b9050600184815481106134085761340861421d565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff82811691161461346b57815460018054909163ffffffff169081106134565761345661421d565b90600052602060002090600502019150613419565b509392505050565b6000806000806000613484866134a2565b9350935093509350613498848484846138b1565b9695505050505050565b60008060008060008590506000600182815481106134c2576134c261421d565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090613599906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff16116135da576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f0000000000000000000000000000000000000000000000000000000000000000906136a1906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff16925082111561371d57825463ffffffff166136e77f0000000000000000000000000000000000000000000000000000000000000000600161427b565b83036136f1578391505b600181815481106137045761370461421d565b90600052602060002090600502019350809450506135de565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff16613786613771856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff16149050801561384d5760006137be836fffffffffffffffffffffffffffffffff166132e9565b67ffffffffffffffff1611156138215760006137f86137f060016fffffffffffffffffffffffffffffffff8616614362565b89600161338f565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a506138279050565b6006549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff1697506138a3565b600061386f6137f06fffffffffffffffffffffffffffffffff85166001614393565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841681036139175782826040516020016138fa9291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b604051602081830303815290604052805190602001209050613968565b60408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a0016040516020818303038152906040528051906020012090505b949350505050565b6000806139fd847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1690508083036001841b600180831b0386831b17039250505092915050565b60028101546fffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffff000000000000000000000000000000018101613a95576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280830180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff17905573ffffffffffffffffffffffffffffffffffffffff84166000908152602091909152604081208054839290613b0890849061427b565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015613b9d57600080fd5b505af1158015612de6573d6000803e3d6000fd5b600081613c50846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1611613c91576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613c9a83613d6f565b905081613d39826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff16116132e3576132e0613d5683600161427b565b6fffffffffffffffffffffffffffffffff831690613e1b565b60008119600183011681613e03827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff169390931c8015179392505050565b600080613ea8847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff169050808303600180821b0385821b179250505092915050565b5080546000825590600052602060002090810190613ee99190613eec565b50565b5b80821115613f015760008155600101613eed565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310613f6f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060408385031215613f8857600080fd5b50508035926020909101359150565b6000815180845260005b81811015613fbd57602081850181015186830182015201613fa1565b81811115613fcf576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006132e06020830184613f97565b73ffffffffffffffffffffffffffffffffffffffff81168114613ee957600080fd5b60006020828403121561404957600080fd5b813561405481614015565b9392505050565b8035801515811461406b57600080fd5b919050565b60008060006060848603121561408557600080fd5b833592506020840135915061409c6040850161405b565b90509250925092565b6000602082840312156140b757600080fd5b81356fffffffffffffffffffffffffffffffff8116811461405457600080fd5b6000602082840312156140e957600080fd5b5035919050565b60008083601f84011261410257600080fd5b50813567ffffffffffffffff81111561411a57600080fd5b60208301915083602082850101111561413257600080fd5b9250929050565b6000806000806000806080878903121561415257600080fd5b863595506141626020880161405b565b9450604087013567ffffffffffffffff8082111561417f57600080fd5b61418b8a838b016140f0565b909650945060608901359150808211156141a457600080fd5b506141b189828a016140f0565b979a9699509497509295939492505050565b6000806000606084860312156141d857600080fd5b505081359360208301359350604090920135919050565b63ffffffff841681528260208201526060604082015260006142146060830184613f97565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561428e5761428e61424c565b500190565b6000828210156142a5576142a561424c565b500390565b600080604083850312156142bd57600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261430c5761430c6142ce565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156143495761434961424c565b500290565b60008261435d5761435d6142ce565b500690565b60006fffffffffffffffffffffffffffffffff8381169083168181101561438b5761438b61424c565b039392505050565b60006fffffffffffffffffffffffffffffffff8083168185168083038211156143be576143be61424c565b01949350505050565b8183823760009101908152919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006144346060830187896143d7565b82810360208401526144478186886143d7565b9150508260408301529695505050505050565b60006020828403121561446c57600080fd5b5051919050565b600067ffffffffffffffff8381169083168181101561438b5761438b61424c565b600067ffffffffffffffff808416806144af576144af6142ce565b92169190910692915050565b6000602082840312156144cd57600080fd5b815161405481614015565b600067ffffffffffffffff8083168185168083038211156143be576143be61424c565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361452c5761452c61424c565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000841360008413858304851182821616156145a3576145a361424c565b7f800000000000000000000000000000000000000000000000000000000000000060008712868205881281841616156145de576145de61424c565b600087129250878205871284841616156145fa576145fa61424c565b878505871281841616156146105761461061424c565b505050929093029392505050565b60008261462d5761462d6142ce565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f8000000000000000000000000000000000000000000000000000000000000000831416156146815761468161424c
565b50059056fea164736f6c634300080f000a"
var
FaultDisputeGameDeployedBin
=
"0x6080604052600436106101e75760003560e01c80638b85902b1161010e578063d5d44d80116100a7578063ec5e630811610079578063fa24f74311610061578063fa24f74314610759578063fa315aa91461077d578063fdffbb28146107b057005b8063ec5e630814610706578063f8f43ff61461073957005b8063d5d44d8014610653578063d6ae3cd514610680578063d8cc1a3c146106b3578063e1f0c376146106d357005b8063c395e1ca116100e0578063c395e1ca14610575578063c55cd0c714610595578063c6f0308c146105a8578063cf09e0d01461063257005b80638b85902b146104845780638d450a95146104c4578063bbdc02db146104f7578063bcef3b551461053857005b806357da950e116101805780636361506d116101525780636361506d1461041257806370872aa5146104525780638129fc1c146104675780638980e0cc1461046f57005b806357da950e1461039a578063609d3334146103ca57806360e27464146103df578063632247ea146103ff57005b806335fef567116101b957806335fef567146102aa5780633a768463146102bd5780633fc8cef31461031157806354fd4d501461034457005b806319effeb4146101f0578063200d2ed21461023b57806325fc2ace146102765780632810e1d61461029557005b366101ee57005b005b3480156101fc57600080fd5b5060005461021d9068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b34801561024757600080fd5b5060005461026990700100000000000000000000000000000000900460ff1681565b6040516102329190613
eef565b34801561028257600080fd5b506006545b604051908152602001610232565b3480156102a157600080fd5b506102696107c3565b6101ee6102b8366004613f30565b610a40565b3480156102c957600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610232565b34801561031d57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006102ec565b34801561035057600080fd5b5061038d6040518060400160405280600681526020017f302e31302e30000000000000000000000000000000000000000000000000000081525081565b6040516102329190613fbd565b3480156103a657600080fd5b506006546007546103b5919082565b60408051928352602083019190915201610232565b3480156103d657600080fd5b5061038d610a50565b3480156103eb57600080fd5b506101ee6103fa366004613ff2565b610a63565b6101ee61040d36600461402b565b610c0f565b34801561041e57600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360200135610287565b34801561045e57600080fd5b50600754610287565b6101ee611486565b34801561047b57600080fd5b50600154610287565b34801561049057600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900360400135610287565b3480156104d057600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610287565b34801561050357600080fd5b5060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610232565b34801561054457600080fd5b50367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900335610287565b34801561058157600080fd5b50610287610590366004614060565b6119b2565b6101ee6105a3366004613f30565b611b9c565b3480156105b457600080fd5b506105c86105c3366004614092565b611ba8565b6040805163ffffffff909816885273ffffffffffffffffffffffffffffffffffffffff968716602089015295909416948601949094526fffffffffffffffffffffffffffffffff9182166060860152608085015291821660a08401521660c082015260e001610232565b34801561063e57600080fd5b5060005461021d9067ffffffffffffffff1681565b34801561065f57600080fd5b5061028761066e366004613ff2565b60026020526000908152604090205481565b34801561068c57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610287565b3480156106bf57600080fd5b506101ee6106ce3660046140f4565b611c3f565b3480156106df57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061021d565b34801561071257600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610287565b34801561074557600080fd5b506101ee61075436600461417e565b612274565b34801561076557600080fd5b5061076e6126d1565b604051610232939291906141aa565b34801561078957600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610287565b6101ee6107be366004614092565b61272e565b600080600054700100000000000000000000000000000000900460ff1660028111156107f1576107f1613ec0565b14610828576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055460ff16610864576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166001600081548110610890576108906141d8565b6000918252602090912060059091020154640100000000900473ffffffffffffffffffffffffffffffffffffffff16146108cb5760016108ce565b60025b6000805467ffffffffffffffff421668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff82168117835592935083927fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffff000000000000000000ffffffffffffffff9091161770010000000000000000000000000000000083600281111561097f5761097f613ec0565b02179055600281111561099457610994613ec0565b6040517f5e186f09b9c93491f14e277eea7faa5de6a2d4bda75a79af7a3684fbfb42da6090600090a27f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838c2d1e6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a2557600080fd5b505af1158015610a39573d6000803e3d6000fd5b5050505090565b610a4c82826000610c0f565b5050565b6060610a5e60406020612b8f565b905090565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260026020526040812080549082905590819003610ac8576040517f17bfe5f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ff3fef3a300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063f3fef3a390604401600060405180830381600087803b158015610b5857600080fd5b505af1158015610b6c573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610bca576040519150601f19603f3d011682016040523d82523d6000602084013e610bcf565b606091505b5050905080610c0a576040517f83e6cc6b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60008054700100000000000000000000000000000000900460ff166002811115610c3b57610c3b613ec0565b14610c72576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018481548110610c8757610c876141d8565b600091825260208083206040805160e0810182526005909402909101805463ffffffff808216865273ffffffffffffffffffffffffffffffffffffffff6401000000009092048216948601949094526001820154169184019190915260028101546fffffffffffffffffffffffffffffffff90811660608501526003820154608085015260049091015480821660a0850181905270010000000000000000000000000000000090910490911660c0840152919350909190610d4c9083908690612be116565b90506000610dec826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff169050861580610e2e5750610e2b7f00000000000000000000000000000000000000000000000000000000000000006002614236565b81145b8015610e38575084155b15610e6f576040517fa42637bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000811115610ec9576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ef47f00000000000000000000000000000000000000000000000000000000000000006001614236565b8103610f0657610f0686888588612be9565b34610f10836119b2565b14610f47576040517f8620aa1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b835160009063ffffffff90811614610fa7576001856000015163ffffffff1681548110610f7657610f766141d8565b906000526020600020906005020160040160109054906101000a90046fffffffffffffffffffffffffffffffff1690505b60c0850151600090610fcb9067ffffffffffffffff165b67ffffffffffffffff1690565b67ffffffffffffffff1642610ff5610fbe856fffffffffffffffffffffffffffffffff1660401c90565b67ffffffffffffffff166110099190614236565b611013919061424e565b90507f000000000000000000000000000000000000000000000000000000000000000060011c677fffffffffffffff1667ffffffffffffffff82161115611086576040517f3381d11400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000604082901b421760008a8152608087901b6fffffffffffffffffffffffffffffffff8d1617602052604081209192509060008181526003602052604090205490915060ff1615611104576040517f80497e3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016003600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060016040518060e001604052808d63ffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001346fffffffffffffffffffffffffffffffff1681526020018c8152602001886fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506080820151816003015560a08201518160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060c08201518160040160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050600460008c815260200190815260200160002060018080549050611399919061424e565b81546001810183556000928352602083200155604080517fd0e30db0000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169263d0e30db09234926004808301939282900301818588803b15801561143157600080fd5b505af1158015611445573d6000803e3d6000fd5b50506040513393508d92508e91507f9b3245740ec3b155098a55be84957a4da13eaf7f14a8bc6f53126c0b9350f2be90600090a45050505050505050505050565b600554610100900460ff16156114c8576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f7258a80700000000000000000000000000000000000000000000000000000000815263ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637258a807906024016040805180830381865afa15801561157c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a09190614265565b9092509050816115dc576040517f6a6bc3b200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252838152602001829052600683905560078290558190367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c900301351161168e576040517ff40239db000000000000000000000000000000000000000000000000000000008152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90033560048201526024015b60405180910390fd5b60663611156116a55763c407e0256000526004601cfd5b6040805160e08101825263ffffffff808252600060208301818152328486019081526fffffffffffffffffffffffffffffffff34818116606088019081527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe369081013560f01c90033560808901908152600160a08a0181815242861660c08c0190815282548084018455928a529a5160059092027fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf681018054995173ffffffffffffffffffffffffffffffffffffffff908116640100000000027fffffffffffffffff000000000000000000000000000000000000000000000000909b1694909c16939093179890981790915594517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf787018054918a167fffffffffffffffffffffffff000000000000000000000000000000000000000090921691909117905590517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf8860180549185167fffffffffffffffffffffffffffffffff00000000000000000000000000000000909216919091179055517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf9850155915195518116700100000000000000000000000000000000029516949094177fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfa9091015583517fd0e30db000000000000000000000000000000000000000000000000000000000815293517f00000000000000000000000000000000000000000000000000000000000000009092169363d0e30db093926004828101939282900301818588803b15801561193357600080fd5b505af1158015611947573d6000803e3d6000fd5b50506000805467ffffffffffffffff42167fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000009091161790555050600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055505050565b600080611a51836fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1690507f0000000000000000000000000000000000000000000000000000000000000000811115611ab7576040517f56f57b2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b642e90edd00062061a80630bebc2006000611ad283836142b8565b9050670de0b6b3a76400006000611b09827f00000000000000000000000000000000000000000000000000000000000000006142cc565b90506000611b27611b22670de0b6b3a7640000866142cc565b612daa565b90506000611b358484613005565b90506000611b438383613054565b90506000611b5082613082565b90506000611b6f82611b6a670de0b6b3a76400008f6142cc565b61326a565b90506000611b7d8b83613054565b9050611b89818d6142cc565b9f9e505050505050505050505050505050565b610a4c82826001610c0f565b60018181548110611bb857600080fd5b60009182526020909120600590910201805460018201546002830154600384015460049094015463ffffffff8416955064010000000090930473ffffffffffffffffffffffffffffffffffffffff908116949216926fffffffffffffffffffffffffffffffff91821692918082169170010000000000000000000000000000000090041687565b60008054700100000000000000000000000000000000900460ff166002811115611c6b57611c6b613ec0565b14611ca2576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018781548110611cb757611cb76141d8565b6000918252602082206005919091020160048101549092506fffffffffffffffffffffffffffffffff16908715821760011b9050611d167f00000000000000000000000000000000000000000000000000000000000000006001614236565b611db2826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1614611df3576040517f5f53dd9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808915611ee257611e467f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000061424e565b6001901b611e65846fffffffffffffffffffffffffffffffff166132a4565b67ffffffffffffffff16611e799190614309565b15611eb657611ead611e9e60016fffffffffffffffffffffffffffffffff871661431d565b865463ffffffff16600061334a565b60030154611ed8565b7f00000000000000000000000000000000000000000000000000000000000000005b9150849050611f0c565b60038501549150611f09611e9e6fffffffffffffffffffffffffffffffff8616600161434e565b90505b600882901b60088a8a604051611f23929190614382565b6040518091039020901b14611f64576040517f696550ff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611f6f8c61342e565b90506000611f7e836003015490565b6040517fe14ced320000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e14ced3290611ff8908f908f908f908f908a906004016143db565b6020604051808303816000875af1158015612017573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203b9190614415565b6004850154911491506000906002906120e6906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b612182896fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b61218c919061442e565b612196919061444f565b67ffffffffffffffff1615905081151581036121de576040517ffb4e40dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8754640100000000900473ffffffffffffffffffffffffffffffffffffffff1615612235576040517f9071e6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505085547fffffffffffffffff0000000000000000000000000000000000000000ffffffff163364010000000002179095555050505050505050505050565b60008054700100000000000000000000000000000000900460ff1660028111156122a0576122a0613ec0565b146122d7576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806000806122e68661345d565b935093509350935060006122fc8585858561386c565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637dc0d1d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561236b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061238f9190614476565b9050600189036124875773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a846123eb367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90036020013590565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482015260206064820152608481018a905260a4015b6020604051808303816000875af115801561245d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124819190614415565b506126c6565b600289036124b35773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84896123eb565b600389036124df5773ffffffffffffffffffffffffffffffffffffffff81166352f0f3ad8a84876123eb565b600489036125fb5760006125256fffffffffffffffffffffffffffffffff85167f000000000000000000000000000000000000000000000000000000000000000061392b565b6007546125329190614236565b61253d906001614236565b905073ffffffffffffffffffffffffffffffffffffffff82166352f0f3ad8b8560405160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001681526004810192909252602482015260c084901b604482015260086064820152608481018b905260a4016020604051808303816000875af11580156125d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125f49190614415565b50506126c6565b60058903612694576040517f52f0f3ad000000000000000000000000000000000000000000000000000000008152600481018a9052602481018390527f000000000000000000000000000000000000000000000000000000000000000060c01b6044820152600860648201526084810188905273ffffffffffffffffffffffffffffffffffffffff8216906352f0f3ad9060a40161243e565b6040517fff137e6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050505050565b7f0000000000000000000000000000000000000000000000000000000000000000367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c9003356060612727610a50565b9050909192565b60008054700100000000000000000000000000000000900460ff16600281111561275a5761275a613ec0565b14612791576040517f67fe195000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600182815481106127a6576127a66141d8565b6000918252602082206005919091020160048101549092506127e890700100000000000000000000000000000000900460401c67ffffffffffffffff16610fbe565b600483015490915060009061281a90700100000000000000000000000000000000900467ffffffffffffffff16610fbe565b612824904261442e565b9050677fffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000060011c1661285e8284614493565b67ffffffffffffffff161161289f576040517ff2440b5300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008481526004602052604090208054851580156128bf575060055460ff165b156128f6576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015801561290357508515155b15612968578454640100000000900473ffffffffffffffffffffffffffffffffffffffff16600081156129365781612952565b600187015473ffffffffffffffffffffffffffffffffffffffff165b905061295e81886139e0565b5050505050505050565b60006fffffffffffffffffffffffffffffffff815b83811015612aae576000858281548110612999576129996141d8565b60009182526020808320909101548083526004909152604090912054909150156129ef576040517f9a07664600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060018281548110612a0457612a046141d8565b600091825260209091206005909102018054909150640100000000900473ffffffffffffffffffffffffffffffffffffffff16158015612a5d575060048101546fffffffffffffffffffffffffffffffff908116908516115b15612a9b576001810154600482015473ffffffffffffffffffffffffffffffffffffffff90911695506fffffffffffffffffffffffffffffffff1693505b505080612aa7906144b6565b905061297d565b50612af673ffffffffffffffffffffffffffffffffffffffff831615612ad45782612af0565b600188015473ffffffffffffffffffffffffffffffffffffffff165b886139e0565b86547fffffffffffffffff0000000000000000000000000000000000000000ffffffff1664010000000073ffffffffffffffffffffffffffffffffffffffff8416021787556000888152600460205260408120612b5291613e86565b8760000361295e57600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555050505050505050565b604051818152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81013560f01c90038284820160208401378260208301016000815260208101604052505092915050565b151760011b90565b6000612c086fffffffffffffffffffffffffffffffff8416600161434e565b90506000612c188286600161334a565b9050600086901a8380612d0b5750612c5160027f0000000000000000000000000000000000000000000000000000000000000000614309565b6004830154600290612cf5906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b612cff919061444f565b67ffffffffffffffff16145b15612d635760ff811660011480612d25575060ff81166002145b612d5e576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401611685565b612da1565b60ff811615612da1576040517ff40239db00000000000000000000000000000000000000000000000000000000815260048101889052602401611685565b50505050505050565b6fffffffffffffffffffffffffffffffff811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b1760008213612e0957631615e6386000526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b60007812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a76400000215820261304257637c5f487d6000526004601cfd5b50670de0b6b3a7640000919091020490565b6000816000190483118202156130725763bac65e5b6000526004601cfd5b50670de0b6b3a764000091020490565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdc0d0570925a462d782136130b057919050565b680755bf798b4a1bf1e582126130ce5763a37bfec96000526004601cfd5b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b600061329b670de0b6b3a76400008361328286612daa565b61328c91906144ee565b61329691906145aa565b613082565b90505b92915050565b600080613331837e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b600167ffffffffffffffff919091161b90920392915050565b600080826133935761338e6fffffffffffffffffffffffffffffffff86167f0000000000000000000000000000000000000000000000000000000000000000613b6c565b6133ae565b6133ae856fffffffffffffffffffffffffffffffff16613d2a565b9050600184815481106133c3576133c36141d8565b906000526020600020906005020191505b60048201546fffffffffffffffffffffffffffffffff82811691161461342657815460018054909163ffffffff16908110613411576134116141d8565b906000526020600020906005020191506133d4565b509392505050565b600080600080600061343f8661345d565b93509350935093506134538484848461386c565b9695505050505050565b600080600080600085905060006001828154811061347d5761347d6141d8565b600091825260209091206004600590920201908101549091507f000000000000000000000000000000000000000000000000000000000000000090613554906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1611613595576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815b60048301547f00000000000000000000000000000000000000000000000000000000000000009061365c906fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1692508211156136d857825463ffffffff166136a27f00000000000000000000000000000000000000000000000000000000000000006001614236565b83036136ac578391505b600181815481106136bf576136bf6141d8565b9060005260206000209060050201935080945050613599565b600481810154908401546fffffffffffffffffffffffffffffffff91821691166000816fffffffffffffffffffffffffffffffff1661374161372c856fffffffffffffffffffffffffffffffff1660011c90565b6fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff161490508015613808576000613779836fffffffffffffffffffffffffffffffff166132a4565b67ffffffffffffffff1611156137dc5760006137b36137ab60016fffffffffffffffffffffffffffffffff861661431d565b89600161334a565b6003810154600490910154909c506fffffffffffffffffffffffffffffffff169a506137e29050565b6006549a505b600386015460048701549099506fffffffffffffffffffffffffffffffff16975061385e565b600061382a6137ab6fffffffffffffffffffffffffffffffff8516600161434e565b6003808901546004808b015492840154930154909e506fffffffffffffffffffffffffffffffff9182169d50919b50169850505b505050505050509193509193565b60006fffffffffffffffffffffffffffffffff841681036138d25782826040516020016138b59291909182526fffffffffffffffffffffffffffffffff16602082015260400190565b604051602081830303815290604052805190602001209050613923565b60408051602081018790526fffffffffffffffffffffffffffffffff8087169282019290925260608101859052908316608082015260a0016040516020818303038152906040528051906020012090505b949350505050565b6000806139b8847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1690508083036001841b600180831b0386831b17039250505092915050565b60028101546fffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffff000000000000000000000000000000018101613a50576040517ff1a9458100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280830180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff17905573ffffffffffffffffffffffffffffffffffffffff84166000908152602091909152604081208054839290613ac3908490614236565b90915550506040517f7eee288d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018390527f00000000000000000000000000000000000000000000000000000000000000001690637eee288d90604401600060405180830381600087803b158015613b5857600080fd5b505af1158015612da1573d6000803e3d6000fd5b600081613c0b846fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff1611613c4c576040517fb34b5c2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613c5583613d2a565b905081613cf4826fffffffffffffffffffffffffffffffff167e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff161161329e5761329b613d11836001614236565b6fffffffffffffffffffffffffffffffff831690613dd6565b60008119600183011681613dbe827e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff169390931c8015179392505050565b600080613e63847e09010a0d15021d0b0e10121619031e080c141c0f111807131b17061a05041f7f07c4acdd0000000000000000000000000000000000000000000000000000000067ffffffffffffffff831160061b83811c63ffffffff1060051b1792831c600181901c17600281901c17600481901c17600881901c17601081901c170260fb1c1a1790565b67ffffffffffffffff169050808303600180821b0385821b179250505092915050565b5080546000825590600052602060002090810190613ea49190613ea7565b50565b5b80821115613ebc5760008155600101613ea8565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310613f2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060408385031215613f4357600080fd5b50508035926020909101359150565b6000815180845260005b81811015613f7857602081850181015186830182015201613f5c565b81811115613f8a576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061329b6020830184613f52565b73ffffffffffffffffffffffffffffffffffffffff81168114613ea457600080fd5b60006020828403121561400457600080fd5b813561400f81613fd0565b9392505050565b8035801515811461402657600080fd5b919050565b60008060006060848603121561404057600080fd5b833592506020840135915061405760408501614016565b90509250925092565b60006020828403121561407257600080fd5b81356fffffffffffffffffffffffffffffffff8116811461400f57600080fd5b6000602082840312156140a457600080fd5b5035919050565b60008083601f8401126140bd57600080fd5b50813567ffffffffffffffff8111156140d557600080fd5b6020830191508360208285010111156140ed57600080fd5b9250929050565b6000806000806000806080878903121561410d57600080fd5b8635955061411d60208801614016565b9450604087013567ffffffffffffffff8082111561413a57600080fd5b6141468a838b016140ab565b9096509450606089013591508082111561415f57600080fd5b5061416c89828a016140ab565b979a9699509497509295939492505050565b60008060006060848603121561419357600080fd5b505081359360208301359350604090920135919050565b63ffffffff841681528260208201526060604082015260006141cf6060830184613f52565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561424957614249614207565b500190565b60008282101561426057614260614207565b500390565b6000806040838503121561427857600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826142c7576142c7614289565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561430457614304614207565b500290565b60008261431857614318614289565b500690565b60006fffffffffffffffffffffffffffffffff8381169083168181101561434657614346614207565b039392505050565b60006fffffffffffffffffffffffffffffffff80831681851680830382111561437957614379614207565b01949350505050565b8183823760009101908152919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6060815260006143ef606083018789614392565b8281036020840152614402818688614392565b9150508260408301529695505050505050565b60006020828403121561442757600080fd5b5051919050565b600067ffffffffffffffff8381169083168181101561434657614346614207565b600067ffffffffffffffff8084168061446a5761446a614289565b92169190910692915050565b60006020828403121561448857600080fd5b815161400f81613fd0565b600067ffffffffffffffff80831681851680830382111561437957614379614207565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036144e7576144e7614207565b5060010190565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561452f5761452f614207565b7f8000000000000000000000000000000000000000000000000000000000000000600087128682058812818416161561456a5761456a614207565b6000871292508782058712848416161561458657614586614207565b8785058712818416161561459c5761459c614207565b505050929093029392505050565b6000826145b9576145b9614289565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f80000000000000000000000000000000000000000000000000000000000000008314161561460d5761460d614207
565b50059056fea164736f6c634300080f000a"
func
init
()
{
...
...
op-bindings/bindings/weth9.go
View file @
4c974298
...
...
@@ -31,7 +31,7 @@ var (
// WETH9MetaData contains all meta data concerning the WETH9 contract.
var
WETH9MetaData
=
&
bind
.
MetaData
{
ABI
:
"[{
\"
type
\"
:
\"
fallback
\"
,
\"
stateMutability
\"
:
\"
payable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
allowance
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
address
\"
},{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
address
\"
}],
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
approve
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
guy
\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
address
\"
},{
\"
name
\"
:
\"
wad
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bool
\"
,
\"
internalType
\"
:
\"
bool
\"
}],
\"
stateMutability
\"
:
\"
nonpayable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
balanceOf
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
address
\"
}],
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
decimals
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint8
\"
,
\"
internalType
\"
:
\"
uint8
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
deposit
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
payable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
name
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
,
\"
internalType
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
symbol
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
,
\"
internalType
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
totalSupply
\"
,
\"
inputs
\"
:[],
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
transfer
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
dst
\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
address
\"
},{
\"
name
\"
:
\"
wad
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bool
\"
,
\"
internalType
\"
:
\"
bool
\"
}],
\"
stateMutability
\"
:
\"
nonpayable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
transferFrom
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
src
\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
address
\"
},{
\"
name
\"
:
\"
dst
\"
,
\"
type
\"
:
\"
address
\"
,
\"
internalType
\"
:
\"
address
\"
},{
\"
name
\"
:
\"
wad
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
outputs
\"
:[{
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bool
\"
,
\"
internalType
\"
:
\"
bool
\"
}],
\"
stateMutability
\"
:
\"
nonpayable
\"
},{
\"
type
\"
:
\"
function
\"
,
\"
name
\"
:
\"
withdraw
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
wad
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
},{
\"
type
\"
:
\"
event
\"
,
\"
name
\"
:
\"
Approval
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
src
\"
,
\"
type
\"
:
\"
address
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
},{
\"
name
\"
:
\"
guy
\"
,
\"
type
\"
:
\"
address
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
},{
\"
name
\"
:
\"
wad
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
anonymous
\"
:false},{
\"
type
\"
:
\"
event
\"
,
\"
name
\"
:
\"
Deposit
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
dst
\"
,
\"
type
\"
:
\"
address
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
},{
\"
name
\"
:
\"
wad
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
anonymous
\"
:false},{
\"
type
\"
:
\"
event
\"
,
\"
name
\"
:
\"
Transfer
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
src
\"
,
\"
type
\"
:
\"
address
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
},{
\"
name
\"
:
\"
dst
\"
,
\"
type
\"
:
\"
address
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
},{
\"
name
\"
:
\"
wad
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
anonymous
\"
:false},{
\"
type
\"
:
\"
event
\"
,
\"
name
\"
:
\"
Withdrawal
\"
,
\"
inputs
\"
:[{
\"
name
\"
:
\"
src
\"
,
\"
type
\"
:
\"
address
\"
,
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
},{
\"
name
\"
:
\"
wad
\"
,
\"
type
\"
:
\"
uint256
\"
,
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
}],
\"
anonymous
\"
:false}]"
,
Bin
:
"0x60c0604052600d60808190526c2bb930b83832b21022ba3432b960991b60a090815261002e916000919061007a565b50604080518082019091526004808252630ae8aa8960e31b602090920191825261005a9160019161007a565b506002805460ff1916601217905534801561007457600080fd5b50610115565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100bb57805160ff19168380011785556100e8565b828001600101855582156100e8579182015b828111156100e85782518255916020019190600101906100cd565b506100f49291506100f8565b5090565b61011291905b808211156100f457600081556001016100fe565b90565b6107f9806101246000396000f3fe6080604052600436106100bc5760003560e01c8063313ce56711610074578063a9059cbb1161004e578063a9059cbb146102cb578063d0e30db0146100bc578063dd62ed3e14610311576100bc565b8063313ce5671461024b57806370a082311461027657806395d89b41146102b6576100bc565b806318160ddd116100a557806318160ddd146101aa57806323b872dd146101d15780632e1a7d4d14610221576100bc565b806306fdde03146100c6578063095ea7b314610150575b6100c4610359565b005b3480156100d257600080fd5b506100db6103a8565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101155781810151838201526020016100fd565b50505050905090810190601f1680156101425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015c57600080fd5b506101966004803603604081101561017357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610454565b604080519115158252519081900360200190f35b3480156101b657600080fd5b506101bf6104c7565b60408051918252519081900360200190f35b3480156101dd57600080fd5b50610196600480360360608110156101f457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356104cb565b34801561022d57600080fd5b506100c46004803603602081101561024457600080fd5b503561066b565b34801561025757600080fd5b50610260610700565b6040805160ff9092168252519081900360200190f35b34801561028257600080fd5b506101bf6004803603602081101561029957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610709565b3480156102c257600080fd5b506100db61071b565b3480156102d757600080fd5b50610196600480360360408110156102ee57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610793565b34801561031d57600080fd5b506101bf6004803603604081101561033457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166107a7565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152929183018282801561044c5780601f106104215761010080835404028352916020019161044c565b820191906000526020600020905b81548152906001019060200180831161042f57829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b4790565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260408120548211156104fd57600080fd5b73ffffffffffffffffffffffffffffffffffffffff84163314801590610573575073ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14155b156105ed5773ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020548211156105b557600080fd5b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020805483900390555b73ffffffffffffffffffffffffffffffffffffffff808516600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b3360009081526003602052604090205481111561068757600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f193505050501580156106c6573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60036020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152929183018282801561044c5780601f106104215761010080835404028352916020019161044c565b60006107a03384846104cb565b9392505050565b60046020908152600092835260408084209091529082529020548156fea265627a7a72315820
8cdf9e0c522e49d36150a8c7a071369551180dfcf54934aa47b2d43732920e8e
64736f6c63430005110032"
,
Bin
:
"0x60c0604052600d60808190526c2bb930b83832b21022ba3432b960991b60a090815261002e916000919061007a565b50604080518082019091526004808252630ae8aa8960e31b602090920191825261005a9160019161007a565b506002805460ff1916601217905534801561007457600080fd5b50610115565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100bb57805160ff19168380011785556100e8565b828001600101855582156100e8579182015b828111156100e85782518255916020019190600101906100cd565b506100f49291506100f8565b5090565b61011291905b808211156100f457600081556001016100fe565b90565b6107f9806101246000396000f3fe6080604052600436106100bc5760003560e01c8063313ce56711610074578063a9059cbb1161004e578063a9059cbb146102cb578063d0e30db0146100bc578063dd62ed3e14610311576100bc565b8063313ce5671461024b57806370a082311461027657806395d89b41146102b6576100bc565b806318160ddd116100a557806318160ddd146101aa57806323b872dd146101d15780632e1a7d4d14610221576100bc565b806306fdde03146100c6578063095ea7b314610150575b6100c4610359565b005b3480156100d257600080fd5b506100db6103a8565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101155781810151838201526020016100fd565b50505050905090810190601f1680156101425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015c57600080fd5b506101966004803603604081101561017357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610454565b604080519115158252519081900360200190f35b3480156101b657600080fd5b506101bf6104c7565b60408051918252519081900360200190f35b3480156101dd57600080fd5b50610196600480360360608110156101f457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356104cb565b34801561022d57600080fd5b506100c46004803603602081101561024457600080fd5b503561066b565b34801561025757600080fd5b50610260610700565b6040805160ff9092168252519081900360200190f35b34801561028257600080fd5b506101bf6004803603602081101561029957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610709565b3480156102c257600080fd5b506100db61071b565b3480156102d757600080fd5b50610196600480360360408110156102ee57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610793565b34801561031d57600080fd5b506101bf6004803603604081101561033457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166107a7565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152929183018282801561044c5780601f106104215761010080835404028352916020019161044c565b820191906000526020600020905b81548152906001019060200180831161042f57829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b4790565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260408120548211156104fd57600080fd5b73ffffffffffffffffffffffffffffffffffffffff84163314801590610573575073ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14155b156105ed5773ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020548211156105b557600080fd5b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020805483900390555b73ffffffffffffffffffffffffffffffffffffffff808516600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b3360009081526003602052604090205481111561068757600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f193505050501580156106c6573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60036020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152929183018282801561044c5780601f106104215761010080835404028352916020019161044c565b60006107a03384846104cb565b9392505050565b60046020908152600092835260408084209091529082529020548156fea265627a7a72315820
16342ac64ab1d41d70c0e736e716cadaeed2912ed59ebfe697cb93de2359a85b
64736f6c63430005110032"
,
}
// WETH9ABI is the input ABI used to generate the binding from.
...
...
op-bindings/bindings/weth9_more.go
View file @
4c974298
...
...
@@ -13,7 +13,7 @@ const WETH9StorageLayoutJSON = "{\"storage\":[{\"astId\":1000,\"contract\":\"src
var
WETH9StorageLayout
=
new
(
solc
.
StorageLayout
)
var
WETH9DeployedBin
=
"0x6080604052600436106100bc5760003560e01c8063313ce56711610074578063a9059cbb1161004e578063a9059cbb146102cb578063d0e30db0146100bc578063dd62ed3e14610311576100bc565b8063313ce5671461024b57806370a082311461027657806395d89b41146102b6576100bc565b806318160ddd116100a557806318160ddd146101aa57806323b872dd146101d15780632e1a7d4d14610221576100bc565b806306fdde03146100c6578063095ea7b314610150575b6100c4610359565b005b3480156100d257600080fd5b506100db6103a8565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101155781810151838201526020016100fd565b50505050905090810190601f1680156101425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015c57600080fd5b506101966004803603604081101561017357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610454565b604080519115158252519081900360200190f35b3480156101b657600080fd5b506101bf6104c7565b60408051918252519081900360200190f35b3480156101dd57600080fd5b50610196600480360360608110156101f457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356104cb565b34801561022d57600080fd5b506100c46004803603602081101561024457600080fd5b503561066b565b34801561025757600080fd5b50610260610700565b6040805160ff9092168252519081900360200190f35b34801561028257600080fd5b506101bf6004803603602081101561029957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610709565b3480156102c257600080fd5b506100db61071b565b3480156102d757600080fd5b50610196600480360360408110156102ee57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610793565b34801561031d57600080fd5b506101bf6004803603604081101561033457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166107a7565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152929183018282801561044c5780601f106104215761010080835404028352916020019161044c565b820191906000526020600020905b81548152906001019060200180831161042f57829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b4790565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260408120548211156104fd57600080fd5b73ffffffffffffffffffffffffffffffffffffffff84163314801590610573575073ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14155b156105ed5773ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020548211156105b557600080fd5b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020805483900390555b73ffffffffffffffffffffffffffffffffffffffff808516600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b3360009081526003602052604090205481111561068757600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f193505050501580156106c6573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60036020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152929183018282801561044c5780601f106104215761010080835404028352916020019161044c565b60006107a03384846104cb565b9392505050565b60046020908152600092835260408084209091529082529020548156fea265627a7a72315820
8cdf9e0c522e49d36150a8c7a071369551180dfcf54934aa47b2d43732920e8e
64736f6c63430005110032"
var
WETH9DeployedBin
=
"0x6080604052600436106100bc5760003560e01c8063313ce56711610074578063a9059cbb1161004e578063a9059cbb146102cb578063d0e30db0146100bc578063dd62ed3e14610311576100bc565b8063313ce5671461024b57806370a082311461027657806395d89b41146102b6576100bc565b806318160ddd116100a557806318160ddd146101aa57806323b872dd146101d15780632e1a7d4d14610221576100bc565b806306fdde03146100c6578063095ea7b314610150575b6100c4610359565b005b3480156100d257600080fd5b506100db6103a8565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101155781810151838201526020016100fd565b50505050905090810190601f1680156101425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015c57600080fd5b506101966004803603604081101561017357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610454565b604080519115158252519081900360200190f35b3480156101b657600080fd5b506101bf6104c7565b60408051918252519081900360200190f35b3480156101dd57600080fd5b50610196600480360360608110156101f457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356104cb565b34801561022d57600080fd5b506100c46004803603602081101561024457600080fd5b503561066b565b34801561025757600080fd5b50610260610700565b6040805160ff9092168252519081900360200190f35b34801561028257600080fd5b506101bf6004803603602081101561029957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610709565b3480156102c257600080fd5b506100db61071b565b3480156102d757600080fd5b50610196600480360360408110156102ee57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610793565b34801561031d57600080fd5b506101bf6004803603604081101561033457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166107a7565b33600081815260036020908152604091829020805434908101909155825190815291517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c9281900390910190a2565b6000805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152929183018282801561044c5780601f106104215761010080835404028352916020019161044c565b820191906000526020600020905b81548152906001019060200180831161042f57829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b4790565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600360205260408120548211156104fd57600080fd5b73ffffffffffffffffffffffffffffffffffffffff84163314801590610573575073ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14155b156105ed5773ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020548211156105b557600080fd5b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020805483900390555b73ffffffffffffffffffffffffffffffffffffffff808516600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35060019392505050565b3360009081526003602052604090205481111561068757600080fd5b33600081815260036020526040808220805485900390555183156108fc0291849190818181858888f193505050501580156106c6573d6000803e3d6000fd5b5060408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a250565b60025460ff1681565b60036020526000908152604090205481565b60018054604080516020600284861615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152929183018282801561044c5780601f106104215761010080835404028352916020019161044c565b60006107a03384846104cb565b9392505050565b60046020908152600092835260408084209091529082529020548156fea265627a7a72315820
16342ac64ab1d41d70c0e736e716cadaeed2912ed59ebfe697cb93de2359a85b
64736f6c63430005110032"
func
init
()
{
...
...
clones-with-immutable-args
@
105efee1
Subproject commit 105efee1b9127ed7f6fedf139e1fc796ce8791f2
packages/contracts-bedrock/semver-lock.json
View file @
4c974298
...
...
@@ -108,12 +108,12 @@
"sourceCodeHash"
:
"0xba941ad1f941f5a4a066182d50634fa9b190085ed82779decef71c019ba963c5"
},
"src/dispute/DisputeGameFactory.sol"
:
{
"initCodeHash"
:
"0x
dcdf98426bbe8ad7c9112dff7d7560c6cc39970aff9cc18b1a45753528b7b6cb
"
,
"sourceCodeHash"
:
"0x
3ac8675f5dbc23ea992b23aa55504c89cf495199570ba420d46fef6c19349322
"
"initCodeHash"
:
"0x
f4b8bc7cfaa1e741bc6bf1f9c8e5e20e3f77d603dd6f7f58af9fea7ebf0b070a
"
,
"sourceCodeHash"
:
"0x
8545910bdb40f5e706a0ae5ed274cabc6d1f17be92d497a490d5732d74ac9c59
"
},
"src/dispute/FaultDisputeGame.sol"
:
{
"initCodeHash"
:
"0x
047f99f09b4f6fb5b003e47e26af9134448aa026659716231a222a30109e549f
"
,
"sourceCodeHash"
:
"0x
1c29d6edfa476ebb2c5cd2981aa8ac6eabcb7ded842dd6829cbaf833e575edad
"
"initCodeHash"
:
"0x
794afff56a82200ad1094729b022b8676ad5e82110eaa3309b111995663fb1e4
"
,
"sourceCodeHash"
:
"0x
dbc17c29b31a032a8c9b59a7b22242a6c10bd338e738ccf4f62ddb68d4fa8b2e
"
},
"src/dispute/weth/DelayedWETH.sol"
:
{
"initCodeHash"
:
"0xf179e4249be6eda22b24ae2b32717f154f35edeb9dee0332aefa6fad3ace4dbe"
,
...
...
packages/contracts-bedrock/snapshots/abi/Clone.json
deleted
100644 → 0
View file @
3c69e8a1
[]
\ No newline at end of file
packages/contracts-bedrock/snapshots/storageLayout/Clone.json
deleted
100644 → 0
View file @
3c69e8a1
[]
\ No newline at end of file
packages/contracts-bedrock/src/dispute/DisputeGameFactory.sol
View file @
4c974298
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
import {
ClonesWithImmutableArgs } from "@cwia/ClonesWithImmutableArgs
.sol";
import {
LibClone } from "@solady/utils/LibClone
.sol";
import { OwnableUpgradeable } from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import { ISemver } from "src/universal/ISemver.sol";
...
...
@@ -20,11 +20,11 @@ import "src/libraries/DisputeErrors.sol";
/// dispute games easier.
contract DisputeGameFactory is OwnableUpgradeable, IDisputeGameFactory, ISemver {
/// @dev Allows for the creation of clone proxies with immutable arguments.
using
ClonesWithImmutableArgs
for address;
using
LibClone
for address;
/// @notice Semantic version.
/// @custom:semver 0.
3
.0
string public constant version = "0.
3
.0";
/// @custom:semver 0.
4
.0
string public constant version = "0.
4
.0";
/// @inheritdoc IDisputeGameFactory
mapping(GameType => IDisputeGame) public gameImpls;
...
...
packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol
View file @
4c974298
...
...
@@ -10,7 +10,7 @@ import { IInitializable } from "src/dispute/interfaces/IInitializable.sol";
import { IBigStepper, IPreimageOracle } from "src/dispute/interfaces/IBigStepper.sol";
import { IAnchorStateRegistry } from "src/dispute/interfaces/IAnchorStateRegistry.sol";
import { Clone } from "
src/librarie
s/Clone.sol";
import { Clone } from "
@solady/util
s/Clone.sol";
import { Types } from "src/libraries/Types.sol";
import { ISemver } from "src/universal/ISemver.sol";
import { LibClock } from "src/dispute/lib/LibUDT.sol";
...
...
@@ -91,8 +91,8 @@ contract FaultDisputeGame is IFaultDisputeGame, Clone, ISemver {
OutputRoot public startingOutputRoot;
/// @notice Semantic version.
/// @custom:semver 0.
9
.0
string public constant version = "0.
9
.0";
/// @custom:semver 0.
10
.0
string public constant version = "0.
10
.0";
/// @param _gameType The type ID of the game.
/// @param _absolutePrestate The absolute prestate of the instruction trace.
...
...
@@ -365,7 +365,7 @@ contract FaultDisputeGame is IFaultDisputeGame, Clone, ISemver {
/// @inheritdoc IFaultDisputeGame
function l1Head() public pure returns (Hash l1Head_) {
l1Head_ = Hash.wrap(_getArg
FixedBytes
(0x20));
l1Head_ = Hash.wrap(_getArg
Bytes32
(0x20));
}
/// @inheritdoc IFaultDisputeGame
...
...
@@ -478,14 +478,14 @@ contract FaultDisputeGame is IFaultDisputeGame, Clone, ISemver {
/// @inheritdoc IDisputeGame
function rootClaim() public pure returns (Claim rootClaim_) {
rootClaim_ = Claim.wrap(_getArg
FixedBytes
(0x00));
rootClaim_ = Claim.wrap(_getArg
Bytes32
(0x00));
}
/// @inheritdoc IDisputeGame
function extraData() public pure returns (bytes memory extraData_) {
// The extra data starts at the second word within the cwia calldata and
// is 32 bytes long.
extraData_ = _getArg
Dyn
Bytes(0x40, 0x20);
extraData_ = _getArgBytes(0x40, 0x20);
}
/// @inheritdoc IDisputeGame
...
...
packages/contracts-bedrock/src/libraries/Clone.sol
deleted
100644 → 0
View file @
3c69e8a1
// SPDX-License-Identifier: BSD
pragma solidity ^0.8.15;
/// @title Clone
/// @author zefram.eth, Saw-mon & Natalie, clabby
/// @notice Provides helper functions for reading immutable args from calldata
/// @dev Original:
/// https://github.com/Saw-mon-and-Natalie/clones-with-immutable-args/
/// blob/105efee1b9127ed7f6fedf139e1fc796ce8791f2/src/Clone.sol
/// @dev MODIFICATIONS:
/// - Added `_getArgDynBytes` function.
contract Clone {
uint256 private constant ONE_WORD = 0x20;
/// @notice Reads an immutable arg with type address
/// @param argOffset The offset of the arg in the packed data
/// @return arg The arg value
function _getArgAddress(uint256 argOffset) internal pure returns (address arg) {
uint256 offset = _getImmutableArgsOffset();
assembly {
arg := shr(0x60, calldataload(add(offset, argOffset)))
}
}
/// @notice Reads an immutable arg with type uint256
/// @param argOffset The offset of the arg in the packed data
/// @return arg The arg value
function _getArgUint256(uint256 argOffset) internal pure returns (uint256 arg) {
uint256 offset = _getImmutableArgsOffset();
assembly {
arg := calldataload(add(offset, argOffset))
}
}
/// @notice Reads an immutable arg with type bytes32
/// @param argOffset The offset of the arg in the packed data
/// @return arg The arg value
function _getArgFixedBytes(uint256 argOffset) internal pure returns (bytes32 arg) {
uint256 offset = _getImmutableArgsOffset();
assembly {
arg := calldataload(add(offset, argOffset))
}
}
/// @notice Reads a uint256 array stored in the immutable args.
/// @param argOffset The offset of the arg in the packed data
/// @param arrLen Number of elements in the array
/// @return arr The array
function _getArgUint256Array(uint256 argOffset, uint64 arrLen) internal pure returns (uint256[] memory arr) {
uint256 offset = _getImmutableArgsOffset() + argOffset;
arr = new uint256[](arrLen);
assembly {
calldatacopy(add(arr, ONE_WORD), offset, shl(5, arrLen))
}
}
/// @notice Reads a dynamic bytes array stored in the immutable args.
/// @param argOffset The offset of the arg in the packed data
/// @param arrLen Number of elements in the array
/// @return arr The array
function _getArgDynBytes(uint256 argOffset, uint64 arrLen) internal pure returns (bytes memory arr) {
uint256 offset = _getImmutableArgsOffset() + argOffset;
arr = new bytes(arrLen);
assembly {
calldatacopy(add(arr, ONE_WORD), offset, arrLen)
}
}
/// @notice Reads an immutable arg with type uint64
/// @param argOffset The offset of the arg in the packed data
/// @return arg The arg value
function _getArgUint64(uint256 argOffset) internal pure returns (uint64 arg) {
uint256 offset = _getImmutableArgsOffset();
assembly {
arg := shr(0xc0, calldataload(add(offset, argOffset)))
}
}
/// @notice Reads an immutable arg with type uint8
/// @param argOffset The offset of the arg in the packed data
/// @return arg The arg value
function _getArgUint8(uint256 argOffset) internal pure returns (uint8 arg) {
uint256 offset = _getImmutableArgsOffset();
assembly {
arg := shr(0xf8, calldataload(add(offset, argOffset)))
}
}
/// @return offset The offset of the packed immutable args in calldata
function _getImmutableArgsOffset() internal pure returns (uint256 offset) {
assembly {
offset := sub(calldatasize(), shr(0xf0, calldataload(sub(calldatasize(), 2))))
}
}
}
packages/contracts-bedrock/test/libraries/Clone.t.sol
deleted
100644 → 0
View file @
3c69e8a1
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.15;
import "forge-std/Test.sol";
import { ClonesWithImmutableArgs } from "@cwia/ClonesWithImmutableArgs.sol";
import { Clone } from "src/libraries/Clone.sol";
contract ExampleClone is Clone {
uint256 argOffset;
constructor(uint256 _argOffset) {
argOffset = _argOffset;
}
function addressArg() public view returns (address) {
return _getArgAddress(argOffset);
}
function uintArg() public view returns (uint256) {
return _getArgUint256(argOffset);
}
function fixedBytesArg() public view returns (bytes32) {
return _getArgFixedBytes(argOffset);
}
function uintArrayArg(uint64 arrLen) public view returns (uint256[] memory) {
return _getArgUint256Array(argOffset, arrLen);
}
function dynBytesArg(uint64 arrLen) public view returns (bytes memory) {
return _getArgDynBytes(argOffset, arrLen);
}
function uint64Arg() public view returns (uint64) {
return _getArgUint64(argOffset);
}
function uint8Arg() public view returns (uint8) {
return _getArgUint8(argOffset);
}
}
contract ExampleCloneFactory {
using ClonesWithImmutableArgs for address;
ExampleClone public implementation;
constructor(ExampleClone implementation_) {
implementation = implementation_;
}
function createAddressClone(address arg) external returns (ExampleClone clone) {
bytes memory data = abi.encodePacked(arg);
clone = ExampleClone(address(implementation).clone(data));
}
function createUintClone(uint256 arg) external returns (ExampleClone clone) {
bytes memory data = abi.encodePacked(arg);
clone = ExampleClone(address(implementation).clone(data));
}
function createFixedBytesClone(bytes32 arg) external returns (ExampleClone clone) {
bytes memory data = abi.encodePacked(arg);
clone = ExampleClone(address(implementation).clone(data));
}
function createUintArrayClone(uint256[] memory arg) external returns (ExampleClone clone) {
bytes memory data = abi.encodePacked(arg);
clone = ExampleClone(address(implementation).clone(data));
}
function createDynBytesClone(bytes memory arg) external returns (ExampleClone clone) {
bytes memory data = abi.encodePacked(arg);
clone = ExampleClone(address(implementation).clone(data));
}
function createUint64Clone(uint64 arg) external returns (ExampleClone clone) {
bytes memory data = abi.encodePacked(arg);
clone = ExampleClone(address(implementation).clone(data));
}
function createUint8Clone(uint8 arg) external returns (ExampleClone clone) {
bytes memory data = abi.encodePacked(arg);
clone = ExampleClone(address(implementation).clone(data));
}
function createClone(bytes memory randomCalldata) external returns (ExampleClone clone) {
clone = ExampleClone(address(implementation).clone(randomCalldata));
}
}
contract Clones_Test is Test {
function testFuzz_clone_addressArg_succeeds(uint256 argOffset, address param) public {
ExampleClone implementation = new ExampleClone(argOffset);
ExampleCloneFactory factory = new ExampleCloneFactory(implementation);
ExampleClone clone = factory.createAddressClone(param);
address fetched = clone.addressArg();
assertEq(fetched, param);
}
function testFuzz_clone_uintArg_succeeds(uint256 argOffset, uint256 param) public {
ExampleClone implementation = new ExampleClone(argOffset);
ExampleCloneFactory factory = new ExampleCloneFactory(implementation);
ExampleClone clone = factory.createUintClone(param);
uint256 fetched = clone.uintArg();
assertEq(fetched, param);
}
function testFuzz_clone_fixedBytesArg_succeeds(uint256 argOffset, bytes32 param) public {
ExampleClone implementation = new ExampleClone(argOffset);
ExampleCloneFactory factory = new ExampleCloneFactory(implementation);
ExampleClone clone = factory.createFixedBytesClone(param);
bytes32 fetched = clone.fixedBytesArg();
assertEq(fetched, param);
}
function testFuzz_clone_uintArrayArg_succeeds(uint256 argOffset, uint256[] memory param) public {
ExampleClone implementation = new ExampleClone(argOffset);
ExampleCloneFactory factory = new ExampleCloneFactory(implementation);
ExampleClone clone = factory.createUintArrayClone(param);
uint256[] memory fetched = clone.uintArrayArg(uint64(param.length));
assertEq(fetched, param);
}
function testFuzz_clone_dynBytesArg_succeeds(uint256 argOffset, bytes memory param) public {
ExampleClone implementation = new ExampleClone(argOffset);
ExampleCloneFactory factory = new ExampleCloneFactory(implementation);
ExampleClone clone = factory.createDynBytesClone(param);
bytes memory fetched = clone.dynBytesArg(uint64(param.length));
assertEq(fetched, param);
}
function testFuzz_clone_uint64Arg_succeeds(uint256 argOffset, uint64 param) public {
ExampleClone implementation = new ExampleClone(argOffset);
ExampleCloneFactory factory = new ExampleCloneFactory(implementation);
ExampleClone clone = factory.createUint64Clone(param);
uint64 fetched = clone.uint64Arg();
assertEq(fetched, param);
}
function testFuzz_clone_uint8Arg_succeeds(uint256 argOffset, uint8 param) public {
ExampleClone implementation = new ExampleClone(argOffset);
ExampleCloneFactory factory = new ExampleCloneFactory(implementation);
ExampleClone clone = factory.createUint8Clone(param);
uint8 fetched = clone.uint8Arg();
assertEq(fetched, param);
}
}
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