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
04bccd81
Commit
04bccd81
authored
Aug 08, 2023
by
Mark Tyneway
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
contracts-bedrock: 2nd preimage resistance
parent
5115ccf9
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
20 additions
and
11 deletions
+20
-11
systemconfig.go
op-bindings/bindings/systemconfig.go
+1
-1
systemconfig_more.go
op-bindings/bindings/systemconfig_more.go
+1
-1
.gas-snapshot
packages/contracts-bedrock/.gas-snapshot
+2
-2
semver-lock.json
packages/contracts-bedrock/semver-lock.json
+1
-1
SystemConfig.sol
packages/contracts-bedrock/src/L1/SystemConfig.sol
+15
-6
No files found.
op-bindings/bindings/systemconfig.go
View file @
04bccd81
...
...
@@ -50,7 +50,7 @@ type SystemConfigAddresses struct {
// SystemConfigMetaData contains all meta data concerning the SystemConfig contract.
var
SystemConfigMetaData
=
&
bind
.
MetaData
{
ABI
:
"[{
\"
inputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
constructor
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
version
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
enumSystemConfig.UpdateType
\"
,
\"
name
\"
:
\"
updateType
\"
,
\"
type
\"
:
\"
uint8
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
bytes
\"
,
\"
name
\"
:
\"
data
\"
,
\"
type
\"
:
\"
bytes
\"
}],
\"
name
\"
:
\"
ConfigUpdate
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint8
\"
,
\"
name
\"
:
\"
version
\"
,
\"
type
\"
:
\"
uint8
\"
}],
\"
name
\"
:
\"
Initialized
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
previousOwner
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:true,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
newOwner
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
OwnershipTransferred
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
BATCH_INBOX_SLOT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bytes32
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
L1_CROSS_DOMAIN_MESSENGER_SLOT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bytes32
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
L1_ERC_721_BRIDGE_SLOT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bytes32
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
L1_STANDARD_BRIDGE_SLOT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bytes32
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
L2_OUTPUT_ORACLE_SLOT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bytes32
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
OPTIMISM_PORTAL_SLOT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bytes32
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
UNSAFE_BLOCK_SIGNER_SLOT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bytes32
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
VERSION
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
batchInbox
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
batcherHash
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
bytes32
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
gasLimit
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint64
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint64
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_owner
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_overhead
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_scalar
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
_batcherHash
\"
,
\"
type
\"
:
\"
bytes32
\"
},{
\"
internalType
\"
:
\"
uint64
\"
,
\"
name
\"
:
\"
_gasLimit
\"
,
\"
type
\"
:
\"
uint64
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_unsafeBlockSigner
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
components
\"
:[{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
maxResourceLimit
\"
,
\"
type
\"
:
\"
uint32
\"
},{
\"
internalType
\"
:
\"
uint8
\"
,
\"
name
\"
:
\"
elasticityMultiplier
\"
,
\"
type
\"
:
\"
uint8
\"
},{
\"
internalType
\"
:
\"
uint8
\"
,
\"
name
\"
:
\"
baseFeeMaxChangeDenominator
\"
,
\"
type
\"
:
\"
uint8
\"
},{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
minimumBaseFee
\"
,
\"
type
\"
:
\"
uint32
\"
},{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
systemTxMaxGas
\"
,
\"
type
\"
:
\"
uint32
\"
},{
\"
internalType
\"
:
\"
uint128
\"
,
\"
name
\"
:
\"
maximumBaseFee
\"
,
\"
type
\"
:
\"
uint128
\"
}],
\"
internalType
\"
:
\"
structResourceMetering.ResourceConfig
\"
,
\"
name
\"
:
\"
_config
\"
,
\"
type
\"
:
\"
tuple
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_startBlock
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_batchInbox
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
components
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
l1CrossDomainMessenger
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
l1ERC721Bridge
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
l1StandardBridge
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
l2OutputOracle
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
optimismPortal
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
internalType
\"
:
\"
structSystemConfig.Addresses
\"
,
\"
name
\"
:
\"
_addresses
\"
,
\"
type
\"
:
\"
tuple
\"
}],
\"
name
\"
:
\"
initialize
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
l1CrossDomainMessenger
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
l1ERC721Bridge
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
l1StandardBridge
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
l2OutputOracle
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
minimumGasLimit
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint64
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint64
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
optimismPortal
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
overhead
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
owner
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
renounceOwnership
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
resourceConfig
\"
,
\"
outputs
\"
:[{
\"
components
\"
:[{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
maxResourceLimit
\"
,
\"
type
\"
:
\"
uint32
\"
},{
\"
internalType
\"
:
\"
uint8
\"
,
\"
name
\"
:
\"
elasticityMultiplier
\"
,
\"
type
\"
:
\"
uint8
\"
},{
\"
internalType
\"
:
\"
uint8
\"
,
\"
name
\"
:
\"
baseFeeMaxChangeDenominator
\"
,
\"
type
\"
:
\"
uint8
\"
},{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
minimumBaseFee
\"
,
\"
type
\"
:
\"
uint32
\"
},{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
systemTxMaxGas
\"
,
\"
type
\"
:
\"
uint32
\"
},{
\"
internalType
\"
:
\"
uint128
\"
,
\"
name
\"
:
\"
maximumBaseFee
\"
,
\"
type
\"
:
\"
uint128
\"
}],
\"
internalType
\"
:
\"
structResourceMetering.ResourceConfig
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
tuple
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
scalar
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
bytes32
\"
,
\"
name
\"
:
\"
_batcherHash
\"
,
\"
type
\"
:
\"
bytes32
\"
}],
\"
name
\"
:
\"
setBatcherHash
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_overhead
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
_scalar
\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
name
\"
:
\"
setGasConfig
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
uint64
\"
,
\"
name
\"
:
\"
_gasLimit
\"
,
\"
type
\"
:
\"
uint64
\"
}],
\"
name
\"
:
\"
setGasLimit
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
components
\"
:[{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
maxResourceLimit
\"
,
\"
type
\"
:
\"
uint32
\"
},{
\"
internalType
\"
:
\"
uint8
\"
,
\"
name
\"
:
\"
elasticityMultiplier
\"
,
\"
type
\"
:
\"
uint8
\"
},{
\"
internalType
\"
:
\"
uint8
\"
,
\"
name
\"
:
\"
baseFeeMaxChangeDenominator
\"
,
\"
type
\"
:
\"
uint8
\"
},{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
minimumBaseFee
\"
,
\"
type
\"
:
\"
uint32
\"
},{
\"
internalType
\"
:
\"
uint32
\"
,
\"
name
\"
:
\"
systemTxMaxGas
\"
,
\"
type
\"
:
\"
uint32
\"
},{
\"
internalType
\"
:
\"
uint128
\"
,
\"
name
\"
:
\"
maximumBaseFee
\"
,
\"
type
\"
:
\"
uint128
\"
}],
\"
internalType
\"
:
\"
structResourceMetering.ResourceConfig
\"
,
\"
name
\"
:
\"
_config
\"
,
\"
type
\"
:
\"
tuple
\"
}],
\"
name
\"
:
\"
setResourceConfig
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_unsafeBlockSigner
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
setUnsafeBlockSigner
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
startBlock
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
newOwner
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
transferOwnership
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
unsafeBlockSigner
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
version
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
string
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
}]"
,
Bin
:
"0x60e06040523480156200001157600080fd5b5060016080818152600460a0908152600060c081815260408051918201815285825260208083018790526002838301526060808401859052838701859052838601859052825195860183528486529085018490529084018390528301829052928201819052620000939361dead93919283928392918391908290819062000099565b62000a
2f565b600054600290610100900460ff16158015620000bc575060005460ff8083169116105b620001255760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805461ffff191660ff83161761010017905562000143620003ea565b6200014e8b62000452565b60658a905560668990556067889055606880546001600160401b0319166001600160401b038916179055620001a1867f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0855565b620001ca837f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc59855565b81517f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce95806375560208201517f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a85560408201517f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad63775560608201517fe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a68718165560808201517f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad5583156200031457606a5415620003095760405162461bcd60e51b815260206004820152603860248201527f53797374656d436f6e6669673a2063616e6e6f74206f7665727269646520616e60448201527f20616c72656164792073657420737461727420626c6f636b000000000000000060648201526084016200011c565b606a84905562000324565b606a54600003620003245743606a555b6200032f85620004d1565b6200033962000826565b6001600160401b0316876001600160401b031610156200039c5760405162461bcd60e51b815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016200011c565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050505050565b600054610100900460ff16620004465760405162461bcd60e51b815260206004820152602b60248201526000805160206200279283398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200011c565b6200045062000853565b565b6200045c620008ba565b6001600160a01b038116620004c35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200011c565b620004ce8162000916565b50565b8060a001516001600160801b0316816060015163ffffffff161115620005605760405162461bcd60e51b815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d61782062617365000000000000000000000060648201526084016200011c565b6001816040015160ff1611620005d15760405162461bcd60e51b815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201526e65206c6172676572207468616e203160881b60648201526084016200011c565b606854608082015182516001600160401b0390921691620005f391906200097e565b63ffffffff161115620006495760405162461bcd60e51b815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016200011c565b6000816020015160ff1611620006ba5760405162461bcd60e51b815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201526e06965722063616e6e6f74206265203608c1b60648201526084016200011c565b8051602082015163ffffffff82169160ff90911690620006dc908290620009a9565b620006e89190620009db565b63ffffffff1614620007635760405162461bcd60e51b815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d697400000000000000000060648201526084016200011c565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff96871664ffffffffff199095169490941764010000000060ff948516021764ffffffffff60281b191665010000000000939092169290920263ffffffff60301b19161766010000000000009185169190910217600160501b600160f01b0319166a01000000000000000000009390941692909202600160701b600160f01b03191692909217600160701b6001600160801b0390921691909102179055565b6069546000906200084e9063ffffffff6a010000000000000000000082048116911662000a0a565b905090565b600054610100900460ff16620008af5760405162461bcd60e51b815260206004820152602b60248201526000805160206200279283398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200011c565b620004503362000916565b6033546001600160a01b03163314620004505760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200011c565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff808316818516808303821115620009a057620009a062000968565b01949350505050565b600063ffffffff80841680620009cf57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b600063ffffffff8083168185168183048111821515161562000a015762000a0162000968565b02949350505050565b60006001600160401b03828116848216808303821115620009a057620009a062000968565b60805160a05160c051611d3362000a5f60003960006107b201526000610789015260006107600152611d336000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063935f029e1161010f578063dac6e63a116100a2578063f68016b711610071578063f68016b714610582578063f8c68de014610596578063fd32aa0f146105bd578063ffa1ad74146105e457600080fd5b8063dac6e63a14610555578063e81b2c6d1461055d578063f2fde38b14610566578063f45e65d81461057957600080fd5b8063c4e8ddfa116100de578063c4e8ddfa146103f3578063c71973f6146103fb578063c9b26f611461040e578063cc731b021461042157600080fd5b8063935f029e1461039e578063a7119869146103b1578063b40a817c146103b9578063bc49ce5f146103cc57600080fd5b80634d9f15591161018757806361d157681161015657806361d157681461033e578063715018a61461036557806384f65a001461036d5780638da5cb5b1461038057600080fd5b80634d9f1559146102d35780634f16540b146102db57806354fd4d50146103025780635d73369c1461031757600080fd5b806319f5cea8116101c357806319f5cea81461025b5780631fd19ee11461028257806348cd4cb1146102a95780634add321d146102b257600080fd5b8063078f29cf146101f55780630a49cb03146102275780630c18c1621461022f57806318d1391814610246575b600080fd5b6101fd6105ec565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101fd61061b565b61023860655481565b60405190815260200161021e565b610259610254366004611716565b610645565b005b6102387f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a881565b7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08546101fd565b610238606a5481565b6102ba610709565b60405167ffffffffffffffff909116815260200161021e565b6101fd61072f565b6102387f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b61030a610759565b60405161021e91906117b2565b6102387f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce958063781565b6102387fe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a687181681565b6102596107fc565b61025961037b366004611962565b610810565b60335473ffffffffffffffffffffffffffffffffffffffff166101fd565b6102596103ac366004611a88565b610c10565b6101fd610ca9565b6102596103c7366004611aaa565b610cd3565b6102387f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc59881565b6101fd610db9565b610259610409366004611ac5565b610de3565b61025961041c366004611ae1565b610df7565b6104e56040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b60405161021e9190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b6101fd610e27565b61023860675481565b610259610574366004611716565b610e51565b61023860665481565b6068546102ba9067ffffffffffffffff1681565b6102387f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad637781565b6102387f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad81565b610238600081565b60006106167f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad63775490565b905090565b60006106167f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad5490565b61064d610f05565b610675817f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0855565b6040805173ffffffffffffffffffffffffffffffffffffffff8316602082015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060035b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be836040516106fd91906117b2565b60405180910390a35050565b6069546000906106169063ffffffff6a0100000000000000000000820481169116611b29565b60006106167fe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a68718165490565b60606107847f0000000000000000000000000000000000000000000000000000000000000000610f86565b6107ad7f0000000000000000000000000000000000000000000000000000000000000000610f86565b6107d67f0000000000000000000000000000000000000000000000000000000000000000610f86565b6040516020016107e893929190611b55565b604051602081830303815290604052905090565b610804610f05565b61080e60006110c3565b565b600054600290610100900460ff16158015610832575060005460ff8083169116105b6108c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff8316176101001790556108fc61113a565b6109058b610e51565b60658a905560668990556067889055606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff89161790557f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08869055610994837f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc59855565b81517f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637556109e482602001517f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a855565b610a1082604001517f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad637755565b610a3c82606001517fe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a687181655565b610a6882608001517f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad55565b8315610b0857606a5415610afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f53797374656d436f6e6669673a2063616e6e6f74206f7665727269646520616e60448201527f20616c72656164792073657420737461727420626c6f636b000000000000000060648201526084016108ba565b606a849055610b17565b606a54600003610b175743606a555b610b20856111d9565b610b28610709565b67ffffffffffffffff168767ffffffffffffffff161015610ba5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016108ba565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050505050565b610c18610f05565b606582905560668190556040805160208101849052908101829052600090606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600160007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051610c9c91906117b2565b60405180910390a3505050565b60006106167f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce95806375490565b610cdb610f05565b610ce3610709565b67ffffffffffffffff168167ffffffffffffffff161015610d60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016108ba565b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff831690811790915560408051602080820193909352815180820390930183528101905260026106cc565b60006106167f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a85490565b610deb610f05565b610df4816111d9565b50565b610dff610f05565b60678190556040805160208082018490528251808303909101815290820190915260006106cc565b60006106167f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc5985490565b610e59610f05565b73ffffffffffffffffffffffffffffffffffffffff8116610efc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016108ba565b610df4816110c3565b60335473ffffffffffffffffffffffffffffffffffffffff16331461080e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108ba565b606081600003610fc957505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115610ff35780610fdd81611bcb565b9150610fec9050600a83611c32565b9150610fcd565b60008167ffffffffffffffff81111561100e5761100e6117dd565b6040519080825280601f01601f191660200182016040528015611038576020820181803683370190505b5090505b84156110bb5761104d600183611c46565b915061105a600a86611c5d565b611065906030611c71565b60f81b81838151811061107a5761107a611c89565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506110b4600a86611c32565b945061103c565b949350505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166111d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108ba565b61080e61164d565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff161115611289576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d61782062617365000000000000000000000060648201526084016108ba565b6001816040015160ff1611611320576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e2031000000000000000000000000000000000060648201526084016108ba565b6068546080820151825167ffffffffffffffff909216916113419190611cb8565b63ffffffff1611156113af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016108ba565b6000816020015160ff1611611446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f742062652030000000000000000000000000000000000060648201526084016108ba565b8051602082015163ffffffff82169160ff90911690611466908290611cd7565b6114709190611cfa565b63ffffffff1614611503576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d697400000000000000000060648201526084016108ba565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b600054610100900460ff166116e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108ba565b61080e336110c3565b803573ffffffffffffffffffffffffffffffffffffffff8116811461171157600080fd5b919050565b60006020828403121561172857600080fd5b611731826116ed565b9392505050565b60005b8381101561175357818101518382015260200161173b565b83811115611762576000848401525b50505050565b60008151808452611780816020860160208601611738565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006117316020830184611768565b803567ffffffffffffffff8116811461171157600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff81118282101715611856577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803563ffffffff8116811461171157600080fd5b803560ff8116811461171157600080fd5b600060c0828403121561189357600080fd5b60405160c0810181811067ffffffffffffffff821117156118dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040529050806118ec8361185c565b81526118fa60208401611870565b602082015261190b60408401611870565b604082015261191c6060840161185c565b606082015261192d6080840161185c565b608082015260a08301356fffffffffffffffffffffffffffffffff8116811461195557600080fd5b60a0919091015292915050565b6000806000806000806000806000808a8c0361026081121561198357600080fd5b61198c8c6116ed565b9a5060208c0135995060408c0135985060608c013597506119af60808d016117c5565b96506119bd60a08d016116ed565b95506119cc8d60c08e01611881565b94506101808c013593506119e36101a08d016116ed565b925060a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4082011215611a1557600080fd5b50611a1e61180c565b611a2b6101c08d016116ed565b8152611a3a6101e08d016116ed565b6020820152611a4c6102008d016116ed565b6040820152611a5e6102208d016116ed565b6060820152611a706102408d016116ed565b6080820152809150509295989b9194979a5092959850565b60008060408385031215611a9b57600080fd5b50508035926020909101359150565b600060208284031215611abc57600080fd5b611731826117c5565b600060c08284031215611ad757600080fd5b6117318383611881565b600060208284031215611af357600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff808316818516808303821115611b4c57611b4c611afa565b01949350505050565b60008451611b67818460208901611738565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551611ba3816001850160208a01611738565b60019201918201528351611bbe816002840160208801611738565b0160020195945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611bfc57611bfc611afa565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611c4157611c41611c03565b500490565b600082821015611c5857611c58611afa565b500390565b600082611c6c57611c6c611c03565b500690565b60008219821115611c8457611c84611afa565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600063ffffffff808316818516808303821115611b4c57611b4c611afa565b600063ffffffff80841680611cee57611cee611c03565b92169190910492915050565b600063ffffffff80831681851681830481118215151615611d1d57611d1d611afa
565b0294935050505056fea164736f6c634300080f000a496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069"
,
Bin
:
"0x60e06040523480156200001157600080fd5b5060016080818152600460a0908152600060c081815260408051918201815285825260208083018790526002838301526060808401859052838701859052838601859052825195860183528486529085018490529084018390528301829052928201819052620000939361dead93919283928392918391908290819062000099565b62000a
a5565b600054600290610100900460ff16158015620000bc575060005460ff8083169116105b620001255760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805461ffff191660ff8316176101001790556200014362000446565b6200014e8b620004ae565b60658a905560668990556067889055606880546001600160401b0319166001600160401b038916179055620001a1867f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0855565b620001d683620001d360017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598620009da565b55565b81516200020a90620001d360017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637620009da565b60208201516200024190620001d360017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8620009da565b60408201516200027890620001d360017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377620009da565b6060820151620002af90620001d360017fe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871816620009da565b6080820151620002e690620001d360017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad620009da565b83156200037057606a5415620003655760405162461bcd60e51b815260206004820152603860248201527f53797374656d436f6e6669673a2063616e6e6f74206f7665727269646520616e60448201527f20616c72656164792073657420737461727420626c6f636b000000000000000060648201526084016200011c565b606a84905562000380565b606a54600003620003805743606a555b6200038b856200052d565b6200039562000882565b6001600160401b0316876001600160401b03161015620003f85760405162461bcd60e51b815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016200011c565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050505050565b600054610100900460ff16620004a25760405162461bcd60e51b815260206004820152602b6024820152600080516020620028b283398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200011c565b620004ac620008af565b565b620004b862000916565b6001600160a01b0381166200051f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200011c565b6200052a8162000972565b50565b8060a001516001600160801b0316816060015163ffffffff161115620005bc5760405162461bcd60e51b815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d61782062617365000000000000000000000060648201526084016200011c565b6001816040015160ff16116200062d5760405162461bcd60e51b815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201526e65206c6172676572207468616e203160881b60648201526084016200011c565b606854608082015182516001600160401b03909216916200064f9190620009f4565b63ffffffff161115620006a55760405162461bcd60e51b815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016200011c565b6000816020015160ff1611620007165760405162461bcd60e51b815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201526e06965722063616e6e6f74206265203608c1b60648201526084016200011c565b8051602082015163ffffffff82169160ff909116906200073890829062000a1f565b62000744919062000a51565b63ffffffff1614620007bf5760405162461bcd60e51b815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d697400000000000000000060648201526084016200011c565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff96871664ffffffffff199095169490941764010000000060ff948516021764ffffffffff60281b191665010000000000939092169290920263ffffffff60301b19161766010000000000009185169190910217600160501b600160f01b0319166a01000000000000000000009390941692909202600160701b600160f01b03191692909217600160701b6001600160801b0390921691909102179055565b606954600090620008aa9063ffffffff6a010000000000000000000082048116911662000a80565b905090565b600054610100900460ff166200090b5760405162461bcd60e51b815260206004820152602b6024820152600080516020620028b283398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200011c565b620004ac3362000972565b6033546001600160a01b03163314620004ac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200011c565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052601160045260246000fd5b600082821015620009ef57620009ef620009c4565b500390565b600063ffffffff80831681851680830382111562000a165762000a16620009c4565b01949350505050565b600063ffffffff8084168062000a4557634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b600063ffffffff8083168185168183048111821515161562000a775762000a77620009c4565b02949350505050565b60006001600160401b0382811684821680830382111562000a165762000a16620009c4565b60805160a05160c051611ddd62000ad5600039600061073c01526000610713015260006106ea0152611ddd6000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063935f029e1161010f578063dac6e63a116100a2578063f68016b711610071578063f68016b714610506578063f8c68de01461051a578063fd32aa0f14610522578063ffa1ad741461052a57600080fd5b8063dac6e63a146104d9578063e81b2c6d146104e1578063f2fde38b146104ea578063f45e65d8146104fd57600080fd5b8063c4e8ddfa116100de578063c4e8ddfa14610377578063c71973f61461037f578063c9b26f6114610392578063cc731b02146103a557600080fd5b8063935f029e14610341578063a711986914610354578063b40a817c1461035c578063bc49ce5f1461036f57600080fd5b80634d9f15591161018757806361d157681161015657806361d1576814610300578063715018a61461030857806384f65a00146103105780638da5cb5b1461032357600080fd5b80634d9f1559146102b45780634f16540b146102bc57806354fd4d50146102e35780635d73369c146102f857600080fd5b806319f5cea8116101c357806319f5cea81461025b5780631fd19ee11461026357806348cd4cb11461028a5780634add321d1461029357600080fd5b8063078f29cf146101f55780630a49cb03146102275780630c18c1621461022f57806318d1391814610246575b600080fd5b6101fd610532565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101fd61056b565b61023860655481565b60405190815260200161021e565b6102596102543660046117c0565b61059b565b005b61023861065f565b7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08546101fd565b610238606a5481565b61029b61068d565b60405167ffffffffffffffff909116815260200161021e565b6101fd6106b3565b6102387f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b6102eb6106e3565b60405161021e919061185c565b610238610786565b6102386107b1565b6102596107dc565b61025961031e366004611a0c565b6107f0565b60335473ffffffffffffffffffffffffffffffffffffffff166101fd565b61025961034f366004611b32565b610c27565b6101fd610cc0565b61025961036a366004611b54565b610cf0565b610238610dd6565b6101fd610e01565b61025961038d366004611b6f565b610e31565b6102596103a0366004611b8b565b610e45565b6104696040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b60405161021e9190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b6101fd610e75565b61023860675481565b6102596104f83660046117c0565b610ea5565b61023860665481565b60685461029b9067ffffffffffffffff1681565b610238610f59565b610238610f84565b610238600081565b600061056661056260017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377611bd3565b5490565b905090565b600061056661056260017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad611bd3565b6105a3610faf565b6105cb817f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0855565b6040805173ffffffffffffffffffffffffffffffffffffffff8316602082015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060035b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051610653919061185c565b60405180910390a35050565b61068a60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8611bd3565b81565b6069546000906105669063ffffffff6a0100000000000000000000820481169116611bea565b600061056661056260017fe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871816611bd3565b606061070e7f0000000000000000000000000000000000000000000000000000000000000000611030565b6107377f0000000000000000000000000000000000000000000000000000000000000000611030565b6107607f0000000000000000000000000000000000000000000000000000000000000000611030565b60405160200161077293929190611c16565b604051602081830303815290604052905090565b61068a60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637611bd3565b61068a60017fe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871816611bd3565b6107e4610faf565b6107ee600061116d565b565b600054600290610100900460ff16158015610812575060005460ff8083169116105b6108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff8316176101001790556108dc6111e4565b6108e58b610ea5565b60658a905560668990556067889055606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff89161790557f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0886905561097e8361097b60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598611bd3565b55565b81516109af9061097b60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637611bd3565b60208201516109e39061097b60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8611bd3565b6040820151610a179061097b60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377611bd3565b6060820151610a4b9061097b60017fe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871816611bd3565b6080820151610a7f9061097b60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad611bd3565b8315610b1f57606a5415610b15576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f53797374656d436f6e6669673a2063616e6e6f74206f7665727269646520616e60448201527f20616c72656164792073657420737461727420626c6f636b0000000000000000606482015260840161089a565b606a849055610b2e565b606a54600003610b2e5743606a555b610b3785611283565b610b3f61068d565b67ffffffffffffffff168767ffffffffffffffff161015610bbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f7700604482015260640161089a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050505050565b610c2f610faf565b606582905560668190556040805160208101849052908101829052600090606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600160007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051610cb3919061185c565b60405180910390a3505050565b600061056661056260017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637611bd3565b610cf8610faf565b610d0061068d565b67ffffffffffffffff168167ffffffffffffffff161015610d7d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f7700604482015260640161089a565b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff83169081179091556040805160208082019390935281518082039093018352810190526002610622565b61068a60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598611bd3565b600061056661056260017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8611bd3565b610e39610faf565b610e4281611283565b50565b610e4d610faf565b6067819055604080516020808201849052825180830390910181529082019091526000610622565b600061056661056260017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598611bd3565b610ead610faf565b73ffffffffffffffffffffffffffffffffffffffff8116610f50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161089a565b610e428161116d565b61068a60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377611bd3565b61068a60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad611bd3565b60335473ffffffffffffffffffffffffffffffffffffffff1633146107ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161089a565b60608160000361107357505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b811561109d578061108781611c8c565b91506110969050600a83611cf3565b9150611077565b60008167ffffffffffffffff8111156110b8576110b8611887565b6040519080825280601f01601f1916602001820160405280156110e2576020820181803683370190505b5090505b8415611165576110f7600183611bd3565b9150611104600a86611d07565b61110f906030611d1b565b60f81b81838151811061112457611124611d33565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061115e600a86611cf3565b94506110e6565b949350505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1661127b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161089a565b6107ee6116f7565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff161115611333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d617820626173650000000000000000000000606482015260840161089a565b6001816040015160ff16116113ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e20310000000000000000000000000000000000606482015260840161089a565b6068546080820151825167ffffffffffffffff909216916113eb9190611d62565b63ffffffff161115611459576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f7700604482015260640161089a565b6000816020015160ff16116114f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f7420626520300000000000000000000000000000000000606482015260840161089a565b8051602082015163ffffffff82169160ff90911690611510908290611d81565b61151a9190611da4565b63ffffffff16146115ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d6974000000000000000000606482015260840161089a565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b600054610100900460ff1661178e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161089a565b6107ee3361116d565b803573ffffffffffffffffffffffffffffffffffffffff811681146117bb57600080fd5b919050565b6000602082840312156117d257600080fd5b6117db82611797565b9392505050565b60005b838110156117fd5781810151838201526020016117e5565b8381111561180c576000848401525b50505050565b6000815180845261182a8160208601602086016117e2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006117db6020830184611812565b803567ffffffffffffffff811681146117bb57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff81118282101715611900577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803563ffffffff811681146117bb57600080fd5b803560ff811681146117bb57600080fd5b600060c0828403121561193d57600080fd5b60405160c0810181811067ffffffffffffffff82111715611987577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290508061199683611906565b81526119a46020840161191a565b60208201526119b56040840161191a565b60408201526119c660608401611906565b60608201526119d760808401611906565b608082015260a08301356fffffffffffffffffffffffffffffffff811681146119ff57600080fd5b60a0919091015292915050565b6000806000806000806000806000808a8c03610260811215611a2d57600080fd5b611a368c611797565b9a5060208c0135995060408c0135985060608c01359750611a5960808d0161186f565b9650611a6760a08d01611797565b9550611a768d60c08e0161192b565b94506101808c01359350611a8d6101a08d01611797565b925060a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4082011215611abf57600080fd5b50611ac86118b6565b611ad56101c08d01611797565b8152611ae46101e08d01611797565b6020820152611af66102008d01611797565b6040820152611b086102208d01611797565b6060820152611b1a6102408d01611797565b6080820152809150509295989b9194979a5092959850565b60008060408385031215611b4557600080fd5b50508035926020909101359150565b600060208284031215611b6657600080fd5b6117db8261186f565b600060c08284031215611b8157600080fd5b6117db838361192b565b600060208284031215611b9d57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611be557611be5611ba4565b500390565b600067ffffffffffffffff808316818516808303821115611c0d57611c0d611ba4565b01949350505050565b60008451611c288184602089016117e2565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551611c64816001850160208a016117e2565b60019201918201528351611c7f8160028401602088016117e2565b0160020195945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611cbd57611cbd611ba4565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611d0257611d02611cc4565b500490565b600082611d1657611d16611cc4565b500690565b60008219821115611d2e57611d2e611ba4565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600063ffffffff808316818516808303821115611c0d57611c0d611ba4565b600063ffffffff80841680611d9857611d98611cc4565b92169190910492915050565b600063ffffffff80831681851681830481118215151615611dc757611dc7611ba4
565b0294935050505056fea164736f6c634300080f000a496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069"
,
}
// SystemConfigABI is the input ABI used to generate the binding from.
...
...
op-bindings/bindings/systemconfig_more.go
View file @
04bccd81
...
...
@@ -13,7 +13,7 @@ const SystemConfigStorageLayoutJSON = "{\"storage\":[{\"astId\":1000,\"contract\
var
SystemConfigStorageLayout
=
new
(
solc
.
StorageLayout
)
var
SystemConfigDeployedBin
=
"0x608060405234801561001057600080fd5b50600436106101f05760003560e01c8063935f029e1161010f578063dac6e63a116100a2578063f68016b711610071578063f68016b7146105
82578063f8c68de014610596578063fd32aa0f146105bd578063ffa1ad74146105e457600080fd5b8063dac6e63a14610555578063e81b2c6d1461055d578063f2fde38b14610566578063f45e65d81461057957600080fd5b8063c4e8ddfa116100de578063c4e8ddfa146103f3578063c71973f6146103fb578063c9b26f611461040e578063cc731b021461042157600080fd5b8063935f029e1461039e578063a7119869146103b1578063b40a817c146103b9578063bc49ce5f146103cc57600080fd5b80634d9f15591161018757806361d157681161015657806361d157681461033e578063715018a61461036557806384f65a001461036d5780638da5cb5b1461038057600080fd5b80634d9f1559146102d35780634f16540b146102db57806354fd4d50146103025780635d73369c1461031757600080fd5b806319f5cea8116101c357806319f5cea81461025b5780631fd19ee11461028257806348cd4cb1146102a95780634add321d146102b257600080fd5b8063078f29cf146101f55780630a49cb03146102275780630c18c1621461022f57806318d1391814610246575b600080fd5b6101fd6105ec565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101fd61061b565b61023860655481565b60405190815260200161021e565b610259610254366004611716565b610645565b005b6102387f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a881565b7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08546101fd565b610238606a5481565b6102ba610709565b60405167ffffffffffffffff909116815260200161021e565b6101fd61072f565b6102387f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b61030a610759565b60405161021e91906117b2565b6102387f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce958063781565b6102387fe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a687181681565b6102596107fc565b61025961037b366004611962565b610810565b60335473ffffffffffffffffffffffffffffffffffffffff166101fd565b6102596103ac366004611a88565b610c10565b6101fd610ca9565b6102596103c7366004611aaa565b610cd3565b6102387f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc59881565b6101fd610db9565b610259610409366004611ac5565b610de3565b61025961041c366004611ae1565b610df7565b6104e56040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b60405161021e9190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b6101fd610e27565b61023860675481565b610259610574366004611716565b610e51565b61023860665481565b6068546102ba9067ffffffffffffffff1681565b6102387f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad637781565b6102387f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad81565b610238600081565b60006106167f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad63775490565b905090565b60006106167f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad5490565b61064d610f05565b610675817f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0855565b6040805173ffffffffffffffffffffffffffffffffffffffff8316602082015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060035b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be836040516106fd91906117b2565b60405180910390a35050565b6069546000906106169063ffffffff6a0100000000000000000000820481169116611b29565b60006106167fe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a68718165490565b60606107847f0000000000000000000000000000000000000000000000000000000000000000610f86565b6107ad7f0000000000000000000000000000000000000000000000000000000000000000610f86565b6107d67f0000000000000000000000000000000000000000000000000000000000000000610f86565b6040516020016107e893929190611b55565b604051602081830303815290604052905090565b610804610f05565b61080e60006110c3565b565b600054600290610100900460ff16158015610832575060005460ff8083169116105b6108c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff8316176101001790556108fc61113a565b6109058b610e51565b60658a905560668990556067889055606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff89161790557f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08869055610994837f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc59855565b81517f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637556109e482602001517f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a855565b610a1082604001517f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad637755565b610a3c82606001517fe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a687181655565b610a6882608001517f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad55565b8315610b0857606a5415610afe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f53797374656d436f6e6669673a2063616e6e6f74206f7665727269646520616e60448201527f20616c72656164792073657420737461727420626c6f636b000000000000000060648201526084016108ba565b606a849055610b17565b606a54600003610b175743606a555b610b20856111d9565b610b28610709565b67ffffffffffffffff168767ffffffffffffffff161015610ba5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016108ba565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050505050565b610c18610f05565b606582905560668190556040805160208101849052908101829052600090606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600160007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051610c9c91906117b2565b60405180910390a3505050565b60006106167f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce95806375490565b610cdb610f05565b610ce3610709565b67ffffffffffffffff168167ffffffffffffffff161015610d60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016108ba565b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff831690811790915560408051602080820193909352815180820390930183528101905260026106cc565b60006106167f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a85490565b610deb610f05565b610df4816111d9565b50565b610dff610f05565b60678190556040805160208082018490528251808303909101815290820190915260006106cc565b60006106167f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc5985490565b610e59610f05565b73ffffffffffffffffffffffffffffffffffffffff8116610efc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016108ba565b610df4816110c3565b60335473ffffffffffffffffffffffffffffffffffffffff16331461080e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108ba565b606081600003610fc957505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115610ff35780610fdd81611bcb565b9150610fec9050600a83611c32565b9150610fcd565b60008167ffffffffffffffff81111561100e5761100e6117dd565b6040519080825280601f01601f191660200182016040528015611038576020820181803683370190505b5090505b84156110bb5761104d600183611c46565b915061105a600a86611c5d565b611065906030611c71565b60f81b81838151811061107a5761107a611c89565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506110b4600a86611c32565b945061103c565b949350505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166111d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108ba565b61080e61164d565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff161115611289576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d61782062617365000000000000000000000060648201526084016108ba565b6001816040015160ff1611611320576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e2031000000000000000000000000000000000060648201526084016108ba565b6068546080820151825167ffffffffffffffff909216916113419190611cb8565b63ffffffff1611156113af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016108ba565b6000816020015160ff1611611446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f742062652030000000000000000000000000000000000060648201526084016108ba565b8051602082015163ffffffff82169160ff90911690611466908290611cd7565b6114709190611cfa565b63ffffffff1614611503576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d697400000000000000000060648201526084016108ba565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b600054610100900460ff166116e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108ba565b61080e336110c3565b803573ffffffffffffffffffffffffffffffffffffffff8116811461171157600080fd5b919050565b60006020828403121561172857600080fd5b611731826116ed565b9392505050565b60005b8381101561175357818101518382015260200161173b565b83811115611762576000848401525b50505050565b60008151808452611780816020860160208601611738565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006117316020830184611768565b803567ffffffffffffffff8116811461171157600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff81118282101715611856577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803563ffffffff8116811461171157600080fd5b803560ff8116811461171157600080fd5b600060c0828403121561189357600080fd5b60405160c0810181811067ffffffffffffffff821117156118dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040529050806118ec8361185c565b81526118fa60208401611870565b602082015261190b60408401611870565b604082015261191c6060840161185c565b606082015261192d6080840161185c565b608082015260a08301356fffffffffffffffffffffffffffffffff8116811461195557600080fd5b60a0919091015292915050565b6000806000806000806000806000808a8c0361026081121561198357600080fd5b61198c8c6116ed565b9a5060208c0135995060408c0135985060608c013597506119af60808d016117c5565b96506119bd60a08d016116ed565b95506119cc8d60c08e01611881565b94506101808c013593506119e36101a08d016116ed565b925060a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4082011215611a1557600080fd5b50611a1e61180c565b611a2b6101c08d016116ed565b8152611a3a6101e08d016116ed565b6020820152611a4c6102008d016116ed565b6040820152611a5e6102208d016116ed565b6060820152611a706102408d016116ed565b6080820152809150509295989b9194979a5092959850565b60008060408385031215611a9b57600080fd5b50508035926020909101359150565b600060208284031215611abc57600080fd5b611731826117c5565b600060c08284031215611ad757600080fd5b6117318383611881565b600060208284031215611af357600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff808316818516808303821115611b4c57611b4c611afa565b01949350505050565b60008451611b67818460208901611738565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551611ba3816001850160208a01611738565b60019201918201528351611bbe816002840160208801611738565b0160020195945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611bfc57611bfc611afa565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611c4157611c41611c03565b500490565b600082821015611c5857611c58611afa565b500390565b600082611c6c57611c6c611c03565b500690565b60008219821115611c8457611c84611afa565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600063ffffffff808316818516808303821115611b4c57611b4c611afa565b600063ffffffff80841680611cee57611cee611c03565b92169190910492915050565b600063ffffffff80831681851681830481118215151615611d1d57611d1d611afa
565b0294935050505056fea164736f6c634300080f000a"
var
SystemConfigDeployedBin
=
"0x608060405234801561001057600080fd5b50600436106101f05760003560e01c8063935f029e1161010f578063dac6e63a116100a2578063f68016b711610071578063f68016b7146105
06578063f8c68de01461051a578063fd32aa0f14610522578063ffa1ad741461052a57600080fd5b8063dac6e63a146104d9578063e81b2c6d146104e1578063f2fde38b146104ea578063f45e65d8146104fd57600080fd5b8063c4e8ddfa116100de578063c4e8ddfa14610377578063c71973f61461037f578063c9b26f6114610392578063cc731b02146103a557600080fd5b8063935f029e14610341578063a711986914610354578063b40a817c1461035c578063bc49ce5f1461036f57600080fd5b80634d9f15591161018757806361d157681161015657806361d1576814610300578063715018a61461030857806384f65a00146103105780638da5cb5b1461032357600080fd5b80634d9f1559146102b45780634f16540b146102bc57806354fd4d50146102e35780635d73369c146102f857600080fd5b806319f5cea8116101c357806319f5cea81461025b5780631fd19ee11461026357806348cd4cb11461028a5780634add321d1461029357600080fd5b8063078f29cf146101f55780630a49cb03146102275780630c18c1621461022f57806318d1391814610246575b600080fd5b6101fd610532565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101fd61056b565b61023860655481565b60405190815260200161021e565b6102596102543660046117c0565b61059b565b005b61023861065f565b7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08546101fd565b610238606a5481565b61029b61068d565b60405167ffffffffffffffff909116815260200161021e565b6101fd6106b3565b6102387f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b6102eb6106e3565b60405161021e919061185c565b610238610786565b6102386107b1565b6102596107dc565b61025961031e366004611a0c565b6107f0565b60335473ffffffffffffffffffffffffffffffffffffffff166101fd565b61025961034f366004611b32565b610c27565b6101fd610cc0565b61025961036a366004611b54565b610cf0565b610238610dd6565b6101fd610e01565b61025961038d366004611b6f565b610e31565b6102596103a0366004611b8b565b610e45565b6104696040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b60405161021e9190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b6101fd610e75565b61023860675481565b6102596104f83660046117c0565b610ea5565b61023860665481565b60685461029b9067ffffffffffffffff1681565b610238610f59565b610238610f84565b610238600081565b600061056661056260017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377611bd3565b5490565b905090565b600061056661056260017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad611bd3565b6105a3610faf565b6105cb817f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0855565b6040805173ffffffffffffffffffffffffffffffffffffffff8316602082015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060035b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051610653919061185c565b60405180910390a35050565b61068a60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8611bd3565b81565b6069546000906105669063ffffffff6a0100000000000000000000820481169116611bea565b600061056661056260017fe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871816611bd3565b606061070e7f0000000000000000000000000000000000000000000000000000000000000000611030565b6107377f0000000000000000000000000000000000000000000000000000000000000000611030565b6107607f0000000000000000000000000000000000000000000000000000000000000000611030565b60405160200161077293929190611c16565b604051602081830303815290604052905090565b61068a60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637611bd3565b61068a60017fe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871816611bd3565b6107e4610faf565b6107ee600061116d565b565b600054600290610100900460ff16158015610812575060005460ff8083169116105b6108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff8316176101001790556108dc6111e4565b6108e58b610ea5565b60658a905560668990556067889055606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff89161790557f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0886905561097e8361097b60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598611bd3565b55565b81516109af9061097b60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637611bd3565b60208201516109e39061097b60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8611bd3565b6040820151610a179061097b60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377611bd3565b6060820151610a4b9061097b60017fe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871816611bd3565b6080820151610a7f9061097b60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad611bd3565b8315610b1f57606a5415610b15576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f53797374656d436f6e6669673a2063616e6e6f74206f7665727269646520616e60448201527f20616c72656164792073657420737461727420626c6f636b0000000000000000606482015260840161089a565b606a849055610b2e565b606a54600003610b2e5743606a555b610b3785611283565b610b3f61068d565b67ffffffffffffffff168767ffffffffffffffff161015610bbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f7700604482015260640161089a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050505050565b610c2f610faf565b606582905560668190556040805160208101849052908101829052600090606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600160007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051610cb3919061185c565b60405180910390a3505050565b600061056661056260017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637611bd3565b610cf8610faf565b610d0061068d565b67ffffffffffffffff168167ffffffffffffffff161015610d7d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f7700604482015260640161089a565b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff83169081179091556040805160208082019390935281518082039093018352810190526002610622565b61068a60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598611bd3565b600061056661056260017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8611bd3565b610e39610faf565b610e4281611283565b50565b610e4d610faf565b6067819055604080516020808201849052825180830390910181529082019091526000610622565b600061056661056260017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598611bd3565b610ead610faf565b73ffffffffffffffffffffffffffffffffffffffff8116610f50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161089a565b610e428161116d565b61068a60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377611bd3565b61068a60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad611bd3565b60335473ffffffffffffffffffffffffffffffffffffffff1633146107ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161089a565b60608160000361107357505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b811561109d578061108781611c8c565b91506110969050600a83611cf3565b9150611077565b60008167ffffffffffffffff8111156110b8576110b8611887565b6040519080825280601f01601f1916602001820160405280156110e2576020820181803683370190505b5090505b8415611165576110f7600183611bd3565b9150611104600a86611d07565b61110f906030611d1b565b60f81b81838151811061112457611124611d33565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061115e600a86611cf3565b94506110e6565b949350505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1661127b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161089a565b6107ee6116f7565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff161115611333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d617820626173650000000000000000000000606482015260840161089a565b6001816040015160ff16116113ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e20310000000000000000000000000000000000606482015260840161089a565b6068546080820151825167ffffffffffffffff909216916113eb9190611d62565b63ffffffff161115611459576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f7700604482015260640161089a565b6000816020015160ff16116114f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f7420626520300000000000000000000000000000000000606482015260840161089a565b8051602082015163ffffffff82169160ff90911690611510908290611d81565b61151a9190611da4565b63ffffffff16146115ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d6974000000000000000000606482015260840161089a565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b600054610100900460ff1661178e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161089a565b6107ee3361116d565b803573ffffffffffffffffffffffffffffffffffffffff811681146117bb57600080fd5b919050565b6000602082840312156117d257600080fd5b6117db82611797565b9392505050565b60005b838110156117fd5781810151838201526020016117e5565b8381111561180c576000848401525b50505050565b6000815180845261182a8160208601602086016117e2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006117db6020830184611812565b803567ffffffffffffffff811681146117bb57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff81118282101715611900577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803563ffffffff811681146117bb57600080fd5b803560ff811681146117bb57600080fd5b600060c0828403121561193d57600080fd5b60405160c0810181811067ffffffffffffffff82111715611987577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290508061199683611906565b81526119a46020840161191a565b60208201526119b56040840161191a565b60408201526119c660608401611906565b60608201526119d760808401611906565b608082015260a08301356fffffffffffffffffffffffffffffffff811681146119ff57600080fd5b60a0919091015292915050565b6000806000806000806000806000808a8c03610260811215611a2d57600080fd5b611a368c611797565b9a5060208c0135995060408c0135985060608c01359750611a5960808d0161186f565b9650611a6760a08d01611797565b9550611a768d60c08e0161192b565b94506101808c01359350611a8d6101a08d01611797565b925060a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4082011215611abf57600080fd5b50611ac86118b6565b611ad56101c08d01611797565b8152611ae46101e08d01611797565b6020820152611af66102008d01611797565b6040820152611b086102208d01611797565b6060820152611b1a6102408d01611797565b6080820152809150509295989b9194979a5092959850565b60008060408385031215611b4557600080fd5b50508035926020909101359150565b600060208284031215611b6657600080fd5b6117db8261186f565b600060c08284031215611b8157600080fd5b6117db838361192b565b600060208284031215611b9d57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611be557611be5611ba4565b500390565b600067ffffffffffffffff808316818516808303821115611c0d57611c0d611ba4565b01949350505050565b60008451611c288184602089016117e2565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551611c64816001850160208a016117e2565b60019201918201528351611c7f8160028401602088016117e2565b0160020195945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611cbd57611cbd611ba4565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611d0257611d02611cc4565b500490565b600082611d1657611d16611cc4565b500690565b60008219821115611d2e57611d2e611ba4565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600063ffffffff808316818516808303821115611c0d57611c0d611ba4565b600063ffffffff80841680611d9857611d98611cc4565b92169190910492915050565b600063ffffffff80831681851681830481118215151615611dc757611dc7611ba4
565b0294935050505056fea164736f6c634300080f000a"
func
init
()
{
if
err
:=
json
.
Unmarshal
([]
byte
(
SystemConfigStorageLayoutJSON
),
SystemConfigStorageLayout
);
err
!=
nil
{
...
...
packages/contracts-bedrock/.gas-snapshot
View file @
04bccd81
...
...
@@ -570,8 +570,8 @@ SequencerFeeVault_Test:test_withdraw_toL1_succeeds() (gas: 171357)
SetPrevBaseFee_Test:test_setPrevBaseFee_succeeds() (gas: 11549)
StandardBridge_Stateless_Test:test_isCorrectTokenPair_succeeds() (gas: 49936)
StandardBridge_Stateless_Test:test_isOptimismMintableERC20_succeeds() (gas: 33072)
SystemConfig_Initialize_Test:test_initialize_values_succeeds() (gas: 6
0815
)
SystemConfig_Initialize_TestFail:test_initialize_lowGasLimit_reverts() (gas: 89
103
)
SystemConfig_Initialize_Test:test_initialize_values_succeeds() (gas: 6
1199
)
SystemConfig_Initialize_TestFail:test_initialize_lowGasLimit_reverts() (gas: 89
514
)
SystemConfig_Setters_TestFail:test_setBatcherHash_notOwner_reverts() (gas: 15585)
SystemConfig_Setters_TestFail:test_setGasConfig_notOwner_reverts() (gas: 15577)
SystemConfig_Setters_TestFail:test_setGasLimit_notOwner_reverts() (gas: 15654)
...
...
packages/contracts-bedrock/semver-lock.json
View file @
04bccd81
...
...
@@ -4,7 +4,7 @@
"src/L1/L1StandardBridge.sol"
:
"0xa35dc0ab143043063c3bff73c8b065e401c23296a2017258ce8a87f4a4da9416"
,
"src/L1/L2OutputOracle.sol"
:
"0x8f32ccb4c5cb63a459a0e79ee412177dc03fd279fdaaf1dac69e8c714902e857"
,
"src/L1/OptimismPortal.sol"
:
"0xeaa47a63e8a3bcfdb7dfd3e6c8608369e34e362d9de82f3acf13cbc27c070bf7"
,
"src/L1/SystemConfig.sol"
:
"0x
087e16affe6fd6b8a2ef61492cedb7e7f9c71fe6e9cce0e7b1082613262c78e7
"
,
"src/L1/SystemConfig.sol"
:
"0x
b3a313305b6b813cf2ef0a2a11a94cbd26a14b8e00e6b8fd6c07eff23890e179
"
,
"src/L2/BaseFeeVault.sol"
:
"0xa596e60762f16192cfa86459fcb9f4da9d8f756106eedac643a1ffeafbbfcc5f"
,
"src/L2/GasPriceOracle.sol"
:
"0xc735a8bf01ad8bca194345748537bfd9924909c0342bc133c4a31e2fb8cb9882"
,
"src/L2/L1Block.sol"
:
"0x7fbfc8b4da630386636c665570321fdec287b0867dbe0f91c2e7cd5b7697c220"
,
...
...
packages/contracts-bedrock/src/L1/SystemConfig.sol
View file @
04bccd81
...
...
@@ -42,26 +42,35 @@ contract SystemConfig is OwnableUpgradeable, Semver {
/// Storing it at this deterministic storage slot allows for decoupling the storage
/// layout from the way that `solc` lays out storage. The `op-node` uses a storage
/// proof to fetch this value.
/// NOTE: this value will be migrated to another storage slot in a future version.
/// User input should not be placed in storage in this contract until this migration
/// happens. It is unlikely that keccak second preimage resistance will be broken,
/// but it is better to be safe than sorry.
bytes32 public constant UNSAFE_BLOCK_SIGNER_SLOT = keccak256("systemconfig.unsafeblocksigner");
/// @notice Storage slot that the L1CrossDomainMessenger address is stored at.
bytes32 public constant L1_CROSS_DOMAIN_MESSENGER_SLOT =
keccak256("systemconfig.l1crossdomainmessenger"
);
bytes32(uint256(keccak256("systemconfig.l1crossdomainmessenger")) - 1
);
/// @notice Storage slot that the L1ERC721Bridge address is stored at.
bytes32 public constant L1_ERC_721_BRIDGE_SLOT = keccak256("systemconfig.l1erc721bridge");
bytes32 public constant L1_ERC_721_BRIDGE_SLOT =
bytes32(uint256(keccak256("systemconfig.l1erc721bridge")) - 1);
/// @notice Storage slot that the L1StandardBridge address is stored at.
bytes32 public constant L1_STANDARD_BRIDGE_SLOT = keccak256("systemconfig.l1standardbridge");
bytes32 public constant L1_STANDARD_BRIDGE_SLOT =
bytes32(uint256(keccak256("systemconfig.l1standardbridge")) - 1);
/// @notice Storage slot that the L2OutputOracle address is stored at.
bytes32 public constant L2_OUTPUT_ORACLE_SLOT = keccak256("systemconfig.l2outputoracle");
bytes32 public constant L2_OUTPUT_ORACLE_SLOT =
bytes32(uint256(keccak256("systemconfig.l2outputoracle")) - 1);
/// @notice Storage slot that the OptimismPortal address is stored at.
bytes32 public constant OPTIMISM_PORTAL_SLOT = keccak256("systemconfig.optimismportal");
bytes32 public constant OPTIMISM_PORTAL_SLOT =
bytes32(uint256(keccak256("systemconfig.optimismportal")) - 1);
/// @notice Storage slot that the batch inbox address is stored at.
bytes32 public constant BATCH_INBOX_SLOT = keccak256("systemconfig.batchinbox");
bytes32 public constant BATCH_INBOX_SLOT =
bytes32(uint256(keccak256("systemconfig.batchinbox")) - 1);
/// @notice Fixed L2 gas overhead. Used as part of the L2 fee calculation.
uint256 public overhead;
...
...
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