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
90b068b4
Unverified
Commit
90b068b4
authored
Dec 13, 2022
by
mergify[bot]
Committed by
GitHub
Dec 13, 2022
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #4416 from ethereum-optimism/feat/feevault-value
contracts-bedrock: fee vault track total value
parents
9dbd62d0
7d1351bd
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
165 additions
and
23 deletions
+165
-23
basefeevault.go
op-bindings/bindings/basefeevault.go
+33
-2
l1feevault.go
op-bindings/bindings/l1feevault.go
+33
-2
sequencerfeevault.go
op-bindings/bindings/sequencerfeevault.go
+33
-2
sequencerfeevault_more.go
op-bindings/bindings/sequencerfeevault_more.go
+2
-2
.gas-snapshot
packages/contracts-bedrock/.gas-snapshot
+3
-3
.storage-layout
packages/contracts-bedrock/.storage-layout
+27
-5
SequencerFeeVault.sol
...ages/contracts-bedrock/contracts/L2/SequencerFeeVault.sol
+16
-6
SequencerFeeVault.t.sol
.../contracts-bedrock/contracts/test/SequencerFeeVault.t.sol
+9
-1
FeeVault.sol
packages/contracts-bedrock/contracts/universal/FeeVault.sol
+7
-0
storage-snapshot.sh
packages/contracts-bedrock/scripts/storage-snapshot.sh
+2
-0
No files found.
op-bindings/bindings/basefeevault.go
View file @
90b068b4
...
@@ -30,8 +30,8 @@ var (
...
@@ -30,8 +30,8 @@ var (
// BaseFeeVaultMetaData contains all meta data concerning the BaseFeeVault contract.
// BaseFeeVaultMetaData contains all meta data concerning the BaseFeeVault contract.
var
BaseFeeVaultMetaData
=
&
bind
.
MetaData
{
var
BaseFeeVaultMetaData
=
&
bind
.
MetaData
{
ABI
:
"[{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_recipient
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
constructor
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
value
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
from
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
Withdrawal
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MIN_WITHDRAWAL_AMOUNT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
RECIPIENT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
version
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
string
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
withdraw
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
stateMutability
\"
:
\"
payable
\"
,
\"
type
\"
:
\"
receive
\"
}]"
,
ABI
:
"[{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_recipient
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
constructor
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
value
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
from
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
Withdrawal
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MIN_WITHDRAWAL_AMOUNT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
RECIPIENT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
totalProcessed
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
version
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
string
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
withdraw
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
stateMutability
\"
:
\"
payable
\"
,
\"
type
\"
:
\"
receive
\"
}]"
,
Bin
:
"0x61012060405234801561001157600080fd5b506040516108
993803806108998339810160408190526100309161005d565b678ac7230489e800006080526001600160a01b031660a052600060c081905260e05260016101005261008d565b60006020828403121561006f57600080fd5b81516001600160a01b038116811461008657600080fd5b9392505050565b60805160a05160c05160e051610100516107b56100e460003960006103880152600061035f0152600061033601526000818160610152818161020c01526102ce01526000818160f8015261012a01526107b56000f3fe6080604052600436106100435760003560e01c80630d9019e11461004f5780633ccfd60b146100ad57806354fd4d50146100c4578063d3e5792b146100e657600080fd5b3661004a57005b600080fd5b34801561005b57600080fd5b506100837f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100b957600080fd5b506100c2610128565b005b3480156100d057600080fd5b506100d961032f565b6040516100a49190610589565b3480156100f257600080fd5b5061011a7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100a4565b7f0000000000000000000000000000000000000000000000000000000000000000471015610202576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e7400000000000000000000000000000000000000000000608482015260a40160405180910390fd5b60408051478082527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166020830152338284015291517fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba9181900360600190a1604080516020810182526000815290517fe11013dd0000000000000000000000000000000000000000000000000000000081527342000000000000000000000000000000000000109163e11013dd9184916102fa917f000000000000000000000000000000000000000000000000000000000000000091614e20916004016105a3565b6000604051808303818588803b15801561031357600080fd5b505af1158015610327573d6000803e3d6000fd5b505050505050565b606061035a7f00000000000000000000000000000000000000000000000000000000000000006103d2565b6103837f00000000000000000000000000000000000000000000000000000000000000006103d2565b6103ac7f00000000000000000000000000000000000000000000000000000000000000006103d2565b6040516020016103be939291906105e7565b604051602081830303815290604052905090565b60608160000361041557505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b811561043f57806104298161068c565b91506104389050600a836106f3565b9150610419565b60008167ffffffffffffffff81111561045a5761045a610707565b6040519080825280601f01601f191660200182016040528015610484576020820181803683370190505b5090505b841561050757610499600183610736565b91506104a6600a8661074d565b6104b1906030610761565b60f81b8183815181106104c6576104c6610779565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610500600a866106f3565b9450610488565b949350505050565b60005b8381101561052a578181015183820152602001610512565b83811115610539576000848401525b50505050565b6000815180845261055781602086016020860161050f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061059c602083018461053f565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006105de606083018461053f565b95945050505050565b600084516105f981846020890161050f565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551610635816001850160208a0161050f565b6001920191820152835161065081600284016020880161050f565b0160020195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036106bd576106bd61065d565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082610702576107026106c4565b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000828210156107485761074861065d565b500390565b60008261075c5761075c6106c4565b500690565b600082198211156107745761077461065d565b5001
90565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea164736f6c634300080f000a"
,
Bin
:
"0x61012060405234801561001157600080fd5b506040516108
e53803806108e58339810160408190526100309161005d565b678ac7230489e800006080526001600160a01b031660a052600060c081905260e05260016101005261008d565b60006020828403121561006f57600080fd5b81516001600160a01b038116811461008657600080fd5b9392505050565b60805160a05160c05160e051610100516108006100e560003960006103d3015260006103aa01526000610381015260008181607c015281816102570152610319015260008181610137015261015b01526108006000f3fe60806040526004361061005e5760003560e01c806354fd4d501161004357806354fd4d50146100df57806384411d6514610101578063d3e5792b1461012557600080fd5b80630d9019e11461006a5780633ccfd60b146100c857600080fd5b3661006557005b600080fd5b34801561007657600080fd5b5061009e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100d457600080fd5b506100dd610159565b005b3480156100eb57600080fd5b506100f461037a565b6040516100bf91906105d4565b34801561010d57600080fd5b5061011760005481565b6040519081526020016100bf565b34801561013157600080fd5b506101177f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000471015610233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e7400000000000000000000000000000000000000000000608482015260a40160405180910390fd5b600047905080600080828254610249919061061d565b9091555050604080518281527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166020820152338183015290517fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba9181900360600190a1604080516020810182526000815290517fe11013dd0000000000000000000000000000000000000000000000000000000081527342000000000000000000000000000000000000109163e11013dd918491610345917f000000000000000000000000000000000000000000000000000000000000000091614e2091600401610635565b6000604051808303818588803b15801561035e57600080fd5b505af1158015610372573d6000803e3d6000fd5b505050505050565b60606103a57f000000000000000000000000000000000000000000000000000000000000000061041d565b6103ce7f000000000000000000000000000000000000000000000000000000000000000061041d565b6103f77f000000000000000000000000000000000000000000000000000000000000000061041d565b60405160200161040993929190610679565b604051602081830303815290604052905090565b60608160000361046057505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b811561048a5780610474816106ef565b91506104839050600a83610756565b9150610464565b60008167ffffffffffffffff8111156104a5576104a561076a565b6040519080825280601f01601f1916602001820160405280156104cf576020820181803683370190505b5090505b8415610552576104e4600183610799565b91506104f1600a866107b0565b6104fc90603061061d565b60f81b818381518110610511576105116107c4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061054b600a86610756565b94506104d3565b949350505050565b60005b8381101561057557818101518382015260200161055d565b83811115610584576000848401525b50505050565b600081518084526105a281602086016020860161055a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006105e7602083018461058a565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115610630576106306105ee565b500190565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff83166020820152606060408201526000610670606083018461058a565b95945050505050565b6000845161068b81846020890161055a565b80830190507f2e0000000000000000000000000000000000000000000000000000000000000080825285516106c7816001850160208a0161055a565b600192019182015283516106e281600284016020880161055a565b0160020195945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610720576107206105ee565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261076557610765610727565b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000828210156107ab576107ab6105ee565b500390565b6000826107bf576107bf610727565b5006
90565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea164736f6c634300080f000a"
,
}
}
// BaseFeeVaultABI is the input ABI used to generate the binding from.
// BaseFeeVaultABI is the input ABI used to generate the binding from.
...
@@ -263,6 +263,37 @@ func (_BaseFeeVault *BaseFeeVaultCallerSession) RECIPIENT() (common.Address, err
...
@@ -263,6 +263,37 @@ func (_BaseFeeVault *BaseFeeVaultCallerSession) RECIPIENT() (common.Address, err
return
_BaseFeeVault
.
Contract
.
RECIPIENT
(
&
_BaseFeeVault
.
CallOpts
)
return
_BaseFeeVault
.
Contract
.
RECIPIENT
(
&
_BaseFeeVault
.
CallOpts
)
}
}
// TotalProcessed is a free data retrieval call binding the contract method 0x84411d65.
//
// Solidity: function totalProcessed() view returns(uint256)
func
(
_BaseFeeVault
*
BaseFeeVaultCaller
)
TotalProcessed
(
opts
*
bind
.
CallOpts
)
(
*
big
.
Int
,
error
)
{
var
out
[]
interface
{}
err
:=
_BaseFeeVault
.
contract
.
Call
(
opts
,
&
out
,
"totalProcessed"
)
if
err
!=
nil
{
return
*
new
(
*
big
.
Int
),
err
}
out0
:=
*
abi
.
ConvertType
(
out
[
0
],
new
(
*
big
.
Int
))
.
(
**
big
.
Int
)
return
out0
,
err
}
// TotalProcessed is a free data retrieval call binding the contract method 0x84411d65.
//
// Solidity: function totalProcessed() view returns(uint256)
func
(
_BaseFeeVault
*
BaseFeeVaultSession
)
TotalProcessed
()
(
*
big
.
Int
,
error
)
{
return
_BaseFeeVault
.
Contract
.
TotalProcessed
(
&
_BaseFeeVault
.
CallOpts
)
}
// TotalProcessed is a free data retrieval call binding the contract method 0x84411d65.
//
// Solidity: function totalProcessed() view returns(uint256)
func
(
_BaseFeeVault
*
BaseFeeVaultCallerSession
)
TotalProcessed
()
(
*
big
.
Int
,
error
)
{
return
_BaseFeeVault
.
Contract
.
TotalProcessed
(
&
_BaseFeeVault
.
CallOpts
)
}
// Version is a free data retrieval call binding the contract method 0x54fd4d50.
// Version is a free data retrieval call binding the contract method 0x54fd4d50.
//
//
// Solidity: function version() view returns(string)
// Solidity: function version() view returns(string)
...
...
op-bindings/bindings/l1feevault.go
View file @
90b068b4
...
@@ -30,8 +30,8 @@ var (
...
@@ -30,8 +30,8 @@ var (
// L1FeeVaultMetaData contains all meta data concerning the L1FeeVault contract.
// L1FeeVaultMetaData contains all meta data concerning the L1FeeVault contract.
var
L1FeeVaultMetaData
=
&
bind
.
MetaData
{
var
L1FeeVaultMetaData
=
&
bind
.
MetaData
{
ABI
:
"[{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_recipient
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
constructor
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
value
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
from
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
Withdrawal
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MIN_WITHDRAWAL_AMOUNT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
RECIPIENT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
version
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
string
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
withdraw
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
stateMutability
\"
:
\"
payable
\"
,
\"
type
\"
:
\"
receive
\"
}]"
,
ABI
:
"[{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_recipient
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
constructor
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
value
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
from
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
Withdrawal
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MIN_WITHDRAWAL_AMOUNT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
RECIPIENT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
totalProcessed
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
version
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
string
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
withdraw
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
stateMutability
\"
:
\"
payable
\"
,
\"
type
\"
:
\"
receive
\"
}]"
,
Bin
:
"0x61012060405234801561001157600080fd5b506040516108
993803806108998339810160408190526100309161005d565b678ac7230489e800006080526001600160a01b031660a052600060c081905260e05260016101005261008d565b60006020828403121561006f57600080fd5b81516001600160a01b038116811461008657600080fd5b9392505050565b60805160a05160c05160e051610100516107b56100e460003960006103880152600061035f0152600061033601526000818160610152818161020c01526102ce01526000818160f8015261012a01526107b56000f3fe6080604052600436106100435760003560e01c80630d9019e11461004f5780633ccfd60b146100ad57806354fd4d50146100c4578063d3e5792b146100e657600080fd5b3661004a57005b600080fd5b34801561005b57600080fd5b506100837f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100b957600080fd5b506100c2610128565b005b3480156100d057600080fd5b506100d961032f565b6040516100a49190610589565b3480156100f257600080fd5b5061011a7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100a4565b7f0000000000000000000000000000000000000000000000000000000000000000471015610202576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e7400000000000000000000000000000000000000000000608482015260a40160405180910390fd5b60408051478082527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166020830152338284015291517fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba9181900360600190a1604080516020810182526000815290517fe11013dd0000000000000000000000000000000000000000000000000000000081527342000000000000000000000000000000000000109163e11013dd9184916102fa917f000000000000000000000000000000000000000000000000000000000000000091614e20916004016105a3565b6000604051808303818588803b15801561031357600080fd5b505af1158015610327573d6000803e3d6000fd5b505050505050565b606061035a7f00000000000000000000000000000000000000000000000000000000000000006103d2565b6103837f00000000000000000000000000000000000000000000000000000000000000006103d2565b6103ac7f00000000000000000000000000000000000000000000000000000000000000006103d2565b6040516020016103be939291906105e7565b604051602081830303815290604052905090565b60608160000361041557505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b811561043f57806104298161068c565b91506104389050600a836106f3565b9150610419565b60008167ffffffffffffffff81111561045a5761045a610707565b6040519080825280601f01601f191660200182016040528015610484576020820181803683370190505b5090505b841561050757610499600183610736565b91506104a6600a8661074d565b6104b1906030610761565b60f81b8183815181106104c6576104c6610779565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610500600a866106f3565b9450610488565b949350505050565b60005b8381101561052a578181015183820152602001610512565b83811115610539576000848401525b50505050565b6000815180845261055781602086016020860161050f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061059c602083018461053f565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006105de606083018461053f565b95945050505050565b600084516105f981846020890161050f565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551610635816001850160208a0161050f565b6001920191820152835161065081600284016020880161050f565b0160020195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036106bd576106bd61065d565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082610702576107026106c4565b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000828210156107485761074861065d565b500390565b60008261075c5761075c6106c4565b500690565b600082198211156107745761077461065d565b5001
90565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea164736f6c634300080f000a"
,
Bin
:
"0x61012060405234801561001157600080fd5b506040516108
e53803806108e58339810160408190526100309161005d565b678ac7230489e800006080526001600160a01b031660a052600060c081905260e05260016101005261008d565b60006020828403121561006f57600080fd5b81516001600160a01b038116811461008657600080fd5b9392505050565b60805160a05160c05160e051610100516108006100e560003960006103d3015260006103aa01526000610381015260008181607c015281816102570152610319015260008181610137015261015b01526108006000f3fe60806040526004361061005e5760003560e01c806354fd4d501161004357806354fd4d50146100df57806384411d6514610101578063d3e5792b1461012557600080fd5b80630d9019e11461006a5780633ccfd60b146100c857600080fd5b3661006557005b600080fd5b34801561007657600080fd5b5061009e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100d457600080fd5b506100dd610159565b005b3480156100eb57600080fd5b506100f461037a565b6040516100bf91906105d4565b34801561010d57600080fd5b5061011760005481565b6040519081526020016100bf565b34801561013157600080fd5b506101177f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000471015610233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e7400000000000000000000000000000000000000000000608482015260a40160405180910390fd5b600047905080600080828254610249919061061d565b9091555050604080518281527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166020820152338183015290517fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba9181900360600190a1604080516020810182526000815290517fe11013dd0000000000000000000000000000000000000000000000000000000081527342000000000000000000000000000000000000109163e11013dd918491610345917f000000000000000000000000000000000000000000000000000000000000000091614e2091600401610635565b6000604051808303818588803b15801561035e57600080fd5b505af1158015610372573d6000803e3d6000fd5b505050505050565b60606103a57f000000000000000000000000000000000000000000000000000000000000000061041d565b6103ce7f000000000000000000000000000000000000000000000000000000000000000061041d565b6103f77f000000000000000000000000000000000000000000000000000000000000000061041d565b60405160200161040993929190610679565b604051602081830303815290604052905090565b60608160000361046057505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b811561048a5780610474816106ef565b91506104839050600a83610756565b9150610464565b60008167ffffffffffffffff8111156104a5576104a561076a565b6040519080825280601f01601f1916602001820160405280156104cf576020820181803683370190505b5090505b8415610552576104e4600183610799565b91506104f1600a866107b0565b6104fc90603061061d565b60f81b818381518110610511576105116107c4565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061054b600a86610756565b94506104d3565b949350505050565b60005b8381101561057557818101518382015260200161055d565b83811115610584576000848401525b50505050565b600081518084526105a281602086016020860161055a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006105e7602083018461058a565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115610630576106306105ee565b500190565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff83166020820152606060408201526000610670606083018461058a565b95945050505050565b6000845161068b81846020890161055a565b80830190507f2e0000000000000000000000000000000000000000000000000000000000000080825285516106c7816001850160208a0161055a565b600192019182015283516106e281600284016020880161055a565b0160020195945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610720576107206105ee565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261076557610765610727565b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000828210156107ab576107ab6105ee565b500390565b6000826107bf576107bf610727565b5006
90565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea164736f6c634300080f000a"
,
}
}
// L1FeeVaultABI is the input ABI used to generate the binding from.
// L1FeeVaultABI is the input ABI used to generate the binding from.
...
@@ -263,6 +263,37 @@ func (_L1FeeVault *L1FeeVaultCallerSession) RECIPIENT() (common.Address, error)
...
@@ -263,6 +263,37 @@ func (_L1FeeVault *L1FeeVaultCallerSession) RECIPIENT() (common.Address, error)
return
_L1FeeVault
.
Contract
.
RECIPIENT
(
&
_L1FeeVault
.
CallOpts
)
return
_L1FeeVault
.
Contract
.
RECIPIENT
(
&
_L1FeeVault
.
CallOpts
)
}
}
// TotalProcessed is a free data retrieval call binding the contract method 0x84411d65.
//
// Solidity: function totalProcessed() view returns(uint256)
func
(
_L1FeeVault
*
L1FeeVaultCaller
)
TotalProcessed
(
opts
*
bind
.
CallOpts
)
(
*
big
.
Int
,
error
)
{
var
out
[]
interface
{}
err
:=
_L1FeeVault
.
contract
.
Call
(
opts
,
&
out
,
"totalProcessed"
)
if
err
!=
nil
{
return
*
new
(
*
big
.
Int
),
err
}
out0
:=
*
abi
.
ConvertType
(
out
[
0
],
new
(
*
big
.
Int
))
.
(
**
big
.
Int
)
return
out0
,
err
}
// TotalProcessed is a free data retrieval call binding the contract method 0x84411d65.
//
// Solidity: function totalProcessed() view returns(uint256)
func
(
_L1FeeVault
*
L1FeeVaultSession
)
TotalProcessed
()
(
*
big
.
Int
,
error
)
{
return
_L1FeeVault
.
Contract
.
TotalProcessed
(
&
_L1FeeVault
.
CallOpts
)
}
// TotalProcessed is a free data retrieval call binding the contract method 0x84411d65.
//
// Solidity: function totalProcessed() view returns(uint256)
func
(
_L1FeeVault
*
L1FeeVaultCallerSession
)
TotalProcessed
()
(
*
big
.
Int
,
error
)
{
return
_L1FeeVault
.
Contract
.
TotalProcessed
(
&
_L1FeeVault
.
CallOpts
)
}
// Version is a free data retrieval call binding the contract method 0x54fd4d50.
// Version is a free data retrieval call binding the contract method 0x54fd4d50.
//
//
// Solidity: function version() view returns(string)
// Solidity: function version() view returns(string)
...
...
op-bindings/bindings/sequencerfeevault.go
View file @
90b068b4
...
@@ -30,8 +30,8 @@ var (
...
@@ -30,8 +30,8 @@ var (
// SequencerFeeVaultMetaData contains all meta data concerning the SequencerFeeVault contract.
// SequencerFeeVaultMetaData contains all meta data concerning the SequencerFeeVault contract.
var
SequencerFeeVaultMetaData
=
&
bind
.
MetaData
{
var
SequencerFeeVaultMetaData
=
&
bind
.
MetaData
{
ABI
:
"[{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_recipient
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
constructor
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
value
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
from
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
Withdrawal
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MIN_WITHDRAWAL_AMOUNT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
RECIPIENT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
l1FeeWallet
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
version
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
string
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
withdraw
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
stateMutability
\"
:
\"
payable
\"
,
\"
type
\"
:
\"
receive
\"
}]"
,
ABI
:
"[{
\"
inputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
_recipient
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
constructor
\"
},{
\"
anonymous
\"
:false,
\"
inputs
\"
:[{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"
value
\"
,
\"
type
\"
:
\"
uint256
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
to
\"
,
\"
type
\"
:
\"
address
\"
},{
\"
indexed
\"
:false,
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"
from
\"
,
\"
type
\"
:
\"
address
\"
}],
\"
name
\"
:
\"
Withdrawal
\"
,
\"
type
\"
:
\"
event
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
MIN_WITHDRAWAL_AMOUNT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
RECIPIENT
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
l1FeeWallet
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
address
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
address
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
totalProcessed
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
uint256
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
uint256
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
version
\"
,
\"
outputs
\"
:[{
\"
internalType
\"
:
\"
string
\"
,
\"
name
\"
:
\"\"
,
\"
type
\"
:
\"
string
\"
}],
\"
stateMutability
\"
:
\"
view
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
inputs
\"
:[],
\"
name
\"
:
\"
withdraw
\"
,
\"
outputs
\"
:[],
\"
stateMutability
\"
:
\"
nonpayable
\"
,
\"
type
\"
:
\"
function
\"
},{
\"
stateMutability
\"
:
\"
payable
\"
,
\"
type
\"
:
\"
receive
\"
}]"
,
Bin
:
"0x61012060405234801561001157600080fd5b50604051610
8ef3803806108ef8339810160408190526100309161005d565b678ac7230489e800006080526001600160a01b031660a052600060c081905260e05260016101005261008d565b60006020828403121561006f57600080fd5b81516001600160a01b038116811461008657600080fd5b9392505050565b60805160a05160c05160e051610100516108036100ec60003960006103d6015260006103ad01526000610384015260008181607c015281816101520152818161025a015261031c015260008181610113015261017801526108036000f3fe60806040526004361061005e5760003560e01c806354fd4d501161004357806354fd4d50146100df578063d3e5792b14610101578063d4ff92181461014357600080fd5b80630d9019e11461006a5780633ccfd60b146100c857600080fd5b3661006557005b600080fd5b34801561007657600080fd5b5061009e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100d457600080fd5b506100dd610176565b005b3480156100eb57600080fd5b506100f461037d565b6040516100bf91906105d7565b34801561010d57600080fd5b506101357f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100bf565b34801561014f57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061009e565b7f0000000000000000000000000000000000000000000000000000000000000000471015610250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e7400000000000000000000000000000000000000000000608482015260a40160405180910390fd5b60408051478082527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166020830152338284015291517fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba9181900360600190a1604080516020810182526000815290517fe11013dd0000000000000000000000000000000000000000000000000000000081527342000000000000000000000000000000000000109163e11013dd918491610348917f000000000000000000000000000000000000000000000000000000000000000091614e20916004016105f1565b6000604051808303818588803b15801561036157600080fd5b505af1158015610375573d6000803e3d6000fd5b505050505050565b60606103a87f0000000000000000000000000000000000000000000000000000000000000000610420565b6103d17f0000000000000000000000000000000000000000000000000000000000000000610420565b6103fa7f0000000000000000000000000000000000000000000000000000000000000000610420565b60405160200161040c93929190610635565b604051602081830303815290604052905090565b60608160000361046357505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b811561048d5780610477816106da565b91506104869050600a83610741565b9150610467565b60008167ffffffffffffffff8111156104a8576104a8610755565b6040519080825280601f01601f1916602001820160405280156104d2576020820181803683370190505b5090505b8415610555576104e7600183610784565b91506104f4600a8661079b565b6104ff9060306107af565b60f81b818381518110610514576105146107c7565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061054e600a86610741565b94506104d6565b949350505050565b60005b83811015610578578181015183820152602001610560565b83811115610587576000848401525b50505050565b600081518084526105a581602086016020860161055d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006105ea602083018461058d565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff8316602082015260606040820152600061062c606083018461058d565b95945050505050565b6000845161064781846020890161055d565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551610683816001850160208a0161055d565b6001920191820152835161069e81600284016020880161055d565b0160020195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361070b5761070b6106ab565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261075057610750610712565b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082821015610796576107966106ab565b500390565b6000826107aa576107aa610712565b500690565b600082198211156107c2576107c26106ab565b5001
90565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea164736f6c634300080f000a"
,
Bin
:
"0x61012060405234801561001157600080fd5b50604051610
92b38038061092b8339810160408190526100309161005d565b678ac7230489e800006080526001600160a01b031660a052600060c081905260e05260016101005261008d565b60006020828403121561006f57600080fd5b81516001600160a01b038116811461008657600080fd5b9392505050565b60805160a05160c05160e0516101005161083f6100ec6000396000610412015260006103e9015260006103c00152600081816087015281816101730152818161029601526103580152600081816101420152610199015261083f6000f3fe6080604052600436106100695760003560e01c806384411d651161004357806384411d651461010c578063d3e5792b14610130578063d4ff92181461016457600080fd5b80630d9019e1146100755780633ccfd60b146100d357806354fd4d50146100ea57600080fd5b3661007057005b600080fd5b34801561008157600080fd5b506100a97f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100df57600080fd5b506100e8610197565b005b3480156100f657600080fd5b506100ff6103b9565b6040516100ca9190610613565b34801561011857600080fd5b5061012260015481565b6040519081526020016100ca565b34801561013c57600080fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b34801561017057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006100a9565b7f0000000000000000000000000000000000000000000000000000000000000000471015610271576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e7400000000000000000000000000000000000000000000608482015260a40160405180910390fd5b60004790508060016000828254610288919061065c565b9091555050604080518281527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166020820152338183015290517fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba9181900360600190a1604080516020810182526000815290517fe11013dd0000000000000000000000000000000000000000000000000000000081527342000000000000000000000000000000000000109163e11013dd918491610384917f000000000000000000000000000000000000000000000000000000000000000091614e2091600401610674565b6000604051808303818588803b15801561039d57600080fd5b505af11580156103b1573d6000803e3d6000fd5b505050505050565b60606103e47f000000000000000000000000000000000000000000000000000000000000000061045c565b61040d7f000000000000000000000000000000000000000000000000000000000000000061045c565b6104367f000000000000000000000000000000000000000000000000000000000000000061045c565b604051602001610448939291906106b8565b604051602081830303815290604052905090565b60608160000361049f57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156104c957806104b38161072e565b91506104c29050600a83610795565b91506104a3565b60008167ffffffffffffffff8111156104e4576104e46107a9565b6040519080825280601f01601f19166020018201604052801561050e576020820181803683370190505b5090505b8415610591576105236001836107d8565b9150610530600a866107ef565b61053b90603061065c565b60f81b81838151811061055057610550610803565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061058a600a86610795565b9450610512565b949350505050565b60005b838110156105b457818101518382015260200161059c565b838111156105c3576000848401525b50505050565b600081518084526105e1816020860160208601610599565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061062660208301846105c9565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561066f5761066f61062d565b500190565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006106af60608301846105c9565b95945050505050565b600084516106ca818460208901610599565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551610706816001850160208a01610599565b60019201918201528351610721816002840160208801610599565b0160020195945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361075f5761075f61062d565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826107a4576107a4610766565b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000828210156107ea576107ea61062d565b500390565b6000826107fe576107fe610766565b5006
90565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea164736f6c634300080f000a"
,
}
}
// SequencerFeeVaultABI is the input ABI used to generate the binding from.
// SequencerFeeVaultABI is the input ABI used to generate the binding from.
...
@@ -294,6 +294,37 @@ func (_SequencerFeeVault *SequencerFeeVaultCallerSession) L1FeeWallet() (common.
...
@@ -294,6 +294,37 @@ func (_SequencerFeeVault *SequencerFeeVaultCallerSession) L1FeeWallet() (common.
return
_SequencerFeeVault
.
Contract
.
L1FeeWallet
(
&
_SequencerFeeVault
.
CallOpts
)
return
_SequencerFeeVault
.
Contract
.
L1FeeWallet
(
&
_SequencerFeeVault
.
CallOpts
)
}
}
// TotalProcessed is a free data retrieval call binding the contract method 0x84411d65.
//
// Solidity: function totalProcessed() view returns(uint256)
func
(
_SequencerFeeVault
*
SequencerFeeVaultCaller
)
TotalProcessed
(
opts
*
bind
.
CallOpts
)
(
*
big
.
Int
,
error
)
{
var
out
[]
interface
{}
err
:=
_SequencerFeeVault
.
contract
.
Call
(
opts
,
&
out
,
"totalProcessed"
)
if
err
!=
nil
{
return
*
new
(
*
big
.
Int
),
err
}
out0
:=
*
abi
.
ConvertType
(
out
[
0
],
new
(
*
big
.
Int
))
.
(
**
big
.
Int
)
return
out0
,
err
}
// TotalProcessed is a free data retrieval call binding the contract method 0x84411d65.
//
// Solidity: function totalProcessed() view returns(uint256)
func
(
_SequencerFeeVault
*
SequencerFeeVaultSession
)
TotalProcessed
()
(
*
big
.
Int
,
error
)
{
return
_SequencerFeeVault
.
Contract
.
TotalProcessed
(
&
_SequencerFeeVault
.
CallOpts
)
}
// TotalProcessed is a free data retrieval call binding the contract method 0x84411d65.
//
// Solidity: function totalProcessed() view returns(uint256)
func
(
_SequencerFeeVault
*
SequencerFeeVaultCallerSession
)
TotalProcessed
()
(
*
big
.
Int
,
error
)
{
return
_SequencerFeeVault
.
Contract
.
TotalProcessed
(
&
_SequencerFeeVault
.
CallOpts
)
}
// Version is a free data retrieval call binding the contract method 0x54fd4d50.
// Version is a free data retrieval call binding the contract method 0x54fd4d50.
//
//
// Solidity: function version() view returns(string)
// Solidity: function version() view returns(string)
...
...
op-bindings/bindings/sequencerfeevault_more.go
View file @
90b068b4
...
@@ -9,11 +9,11 @@ import (
...
@@ -9,11 +9,11 @@ import (
"github.com/ethereum-optimism/optimism/op-bindings/solc"
"github.com/ethereum-optimism/optimism/op-bindings/solc"
)
)
const
SequencerFeeVaultStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:1000,
\"
contract
\"
:
\"
contracts/L2/SequencerFeeVault.sol:SequencerFeeVault
\"
,
\"
label
\"
:
\"
spacer_0_0_20
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_address
\"
}
],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
}}}"
const
SequencerFeeVaultStorageLayoutJSON
=
"{
\"
storage
\"
:[{
\"
astId
\"
:1000,
\"
contract
\"
:
\"
contracts/L2/SequencerFeeVault.sol:SequencerFeeVault
\"
,
\"
label
\"
:
\"
spacer_0_0_20
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
0
\"
,
\"
type
\"
:
\"
t_address
\"
}
,{
\"
astId
\"
:1001,
\"
contract
\"
:
\"
contracts/L2/SequencerFeeVault.sol:SequencerFeeVault
\"
,
\"
label
\"
:
\"
totalProcessed
\"
,
\"
offset
\"
:0,
\"
slot
\"
:
\"
1
\"
,
\"
type
\"
:
\"
t_uint256
\"
}],
\"
types
\"
:{
\"
t_address
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
address
\"
,
\"
numberOfBytes
\"
:
\"
20
\"
},
\"
t_uint256
\"
:{
\"
encoding
\"
:
\"
inplace
\"
,
\"
label
\"
:
\"
uint256
\"
,
\"
numberOfBytes
\"
:
\"
32
\"
}}}"
var
SequencerFeeVaultStorageLayout
=
new
(
solc
.
StorageLayout
)
var
SequencerFeeVaultStorageLayout
=
new
(
solc
.
StorageLayout
)
var
SequencerFeeVaultDeployedBin
=
"0x6080604052600436106100
5e5760003560e01c806354fd4d501161004357806354fd4d50146100df578063d3e5792b14610101578063d4ff92181461014357600080fd5b80630d9019e11461006a5780633ccfd60b146100c857600080fd5b3661006557005b600080fd5b34801561007657600080fd5b5061009e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100d457600080fd5b506100dd610176565b005b3480156100eb57600080fd5b506100f461037d565b6040516100bf91906105d7565b34801561010d57600080fd5b506101357f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100bf565b34801561014f57600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061009e565b7f0000000000000000000000000000000000000000000000000000000000000000471015610250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e7400000000000000000000000000000000000000000000608482015260a40160405180910390fd5b60408051478082527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166020830152338284015291517fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba9181900360600190a1604080516020810182526000815290517fe11013dd0000000000000000000000000000000000000000000000000000000081527342000000000000000000000000000000000000109163e11013dd918491610348917f000000000000000000000000000000000000000000000000000000000000000091614e20916004016105f1565b6000604051808303818588803b15801561036157600080fd5b505af1158015610375573d6000803e3d6000fd5b505050505050565b60606103a87f0000000000000000000000000000000000000000000000000000000000000000610420565b6103d17f0000000000000000000000000000000000000000000000000000000000000000610420565b6103fa7f0000000000000000000000000000000000000000000000000000000000000000610420565b60405160200161040c93929190610635565b604051602081830303815290604052905090565b60608160000361046357505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b811561048d5780610477816106da565b91506104869050600a83610741565b9150610467565b60008167ffffffffffffffff8111156104a8576104a8610755565b6040519080825280601f01601f1916602001820160405280156104d2576020820181803683370190505b5090505b8415610555576104e7600183610784565b91506104f4600a8661079b565b6104ff9060306107af565b60f81b818381518110610514576105146107c7565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061054e600a86610741565b94506104d6565b949350505050565b60005b83811015610578578181015183820152602001610560565b83811115610587576000848401525b50505050565b600081518084526105a581602086016020860161055d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006105ea602083018461058d565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff8316602082015260606040820152600061062c606083018461058d565b95945050505050565b6000845161064781846020890161055d565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551610683816001850160208a0161055d565b6001920191820152835161069e81600284016020880161055d565b0160020195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361070b5761070b6106ab565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261075057610750610712565b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082821015610796576107966106ab565b500390565b6000826107aa576107aa610712565b500690565b600082198211156107c2576107c26106ab565b5001
90565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea164736f6c634300080f000a"
var
SequencerFeeVaultDeployedBin
=
"0x6080604052600436106100
695760003560e01c806384411d651161004357806384411d651461010c578063d3e5792b14610130578063d4ff92181461016457600080fd5b80630d9019e1146100755780633ccfd60b146100d357806354fd4d50146100ea57600080fd5b3661007057005b600080fd5b34801561008157600080fd5b506100a97f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100df57600080fd5b506100e8610197565b005b3480156100f657600080fd5b506100ff6103b9565b6040516100ca9190610613565b34801561011857600080fd5b5061012260015481565b6040519081526020016100ca565b34801561013c57600080fd5b506101227f000000000000000000000000000000000000000000000000000000000000000081565b34801561017057600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006100a9565b7f0000000000000000000000000000000000000000000000000000000000000000471015610271576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d207769746864726160648201527f77616c20616d6f756e7400000000000000000000000000000000000000000000608482015260a40160405180910390fd5b60004790508060016000828254610288919061065c565b9091555050604080518281527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166020820152338183015290517fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba9181900360600190a1604080516020810182526000815290517fe11013dd0000000000000000000000000000000000000000000000000000000081527342000000000000000000000000000000000000109163e11013dd918491610384917f000000000000000000000000000000000000000000000000000000000000000091614e2091600401610674565b6000604051808303818588803b15801561039d57600080fd5b505af11580156103b1573d6000803e3d6000fd5b505050505050565b60606103e47f000000000000000000000000000000000000000000000000000000000000000061045c565b61040d7f000000000000000000000000000000000000000000000000000000000000000061045c565b6104367f000000000000000000000000000000000000000000000000000000000000000061045c565b604051602001610448939291906106b8565b604051602081830303815290604052905090565b60608160000361049f57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156104c957806104b38161072e565b91506104c29050600a83610795565b91506104a3565b60008167ffffffffffffffff8111156104e4576104e46107a9565b6040519080825280601f01601f19166020018201604052801561050e576020820181803683370190505b5090505b8415610591576105236001836107d8565b9150610530600a866107ef565b61053b90603061065c565b60f81b81838151811061055057610550610803565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061058a600a86610795565b9450610512565b949350505050565b60005b838110156105b457818101518382015260200161059c565b838111156105c3576000848401525b50505050565b600081518084526105e1816020860160208601610599565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061062660208301846105c9565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561066f5761066f61062d565b500190565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006106af60608301846105c9565b95945050505050565b600084516106ca818460208901610599565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551610706816001850160208a01610599565b60019201918201528351610721816002840160208801610599565b0160020195945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361075f5761075f61062d565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826107a4576107a4610766565b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000828210156107ea576107ea61062d565b500390565b6000826107fe576107fe610766565b5006
90565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea164736f6c634300080f000a"
func
init
()
{
func
init
()
{
if
err
:=
json
.
Unmarshal
([]
byte
(
SequencerFeeVaultStorageLayoutJSON
),
SequencerFeeVaultStorageLayout
);
err
!=
nil
{
if
err
:=
json
.
Unmarshal
([]
byte
(
SequencerFeeVaultStorageLayoutJSON
),
SequencerFeeVaultStorageLayout
);
err
!=
nil
{
...
...
packages/contracts-bedrock/.gas-snapshot
View file @
90b068b4
...
@@ -19,7 +19,7 @@ CrossDomainOwnable2_Test:test_onlyOwner_notOwner_reverts() (gas: 16588)
...
@@ -19,7 +19,7 @@ CrossDomainOwnable2_Test:test_onlyOwner_notOwner_reverts() (gas: 16588)
CrossDomainOwnable2_Test:test_onlyOwner_succeeds() (gas: 77782)
CrossDomainOwnable2_Test:test_onlyOwner_succeeds() (gas: 77782)
DeployerWhitelist_Test:test_owner_succeeds() (gas: 7538)
DeployerWhitelist_Test:test_owner_succeeds() (gas: 7538)
DeployerWhitelist_Test:test_storageSlots_succeeds() (gas: 33395)
DeployerWhitelist_Test:test_storageSlots_succeeds() (gas: 33395)
FeeVault_Test:test_constructor_succeeds() (gas: 106
01
)
FeeVault_Test:test_constructor_succeeds() (gas: 106
47
)
FeeVault_Test:test_minWithdrawalAmount_succeeds() (gas: 10668)
FeeVault_Test:test_minWithdrawalAmount_succeeds() (gas: 10668)
GasPriceOracle_Test:test_baseFee_succeeds() (gas: 8291)
GasPriceOracle_Test:test_baseFee_succeeds() (gas: 8291)
GasPriceOracle_Test:test_gasPrice_succeeds() (gas: 8294)
GasPriceOracle_Test:test_gasPrice_succeeds() (gas: 8294)
...
@@ -344,8 +344,8 @@ Semver_Test:test_version_succeeds() (gas: 9396)
...
@@ -344,8 +344,8 @@ Semver_Test:test_version_succeeds() (gas: 9396)
SequencerFeeVault_Test:test_constructor_succeeds() (gas: 5504)
SequencerFeeVault_Test:test_constructor_succeeds() (gas: 5504)
SequencerFeeVault_Test:test_minWithdrawalAmount_succeeds() (gas: 5420)
SequencerFeeVault_Test:test_minWithdrawalAmount_succeeds() (gas: 5420)
SequencerFeeVault_Test:test_receive_succeeds() (gas: 17336)
SequencerFeeVault_Test:test_receive_succeeds() (gas: 17336)
SequencerFeeVault_Test:test_withdraw_notEnough_reverts() (gas: 93
10
)
SequencerFeeVault_Test:test_withdraw_notEnough_reverts() (gas: 93
09
)
SequencerFeeVault_Test:test_withdraw_succeeds() (gas: 1
35878
)
SequencerFeeVault_Test:test_withdraw_succeeds() (gas: 1
59816
)
SystemConfig_Initialize_TestFail:test_initialize_lowGasLimit_reverts() (gas: 61707)
SystemConfig_Initialize_TestFail:test_initialize_lowGasLimit_reverts() (gas: 61707)
SystemConfig_Setters_TestFail:test_setBatcherHash_notOwner_reverts() (gas: 10501)
SystemConfig_Setters_TestFail:test_setBatcherHash_notOwner_reverts() (gas: 10501)
SystemConfig_Setters_TestFail:test_setGasConfig_notOwner_reverts() (gas: 10576)
SystemConfig_Setters_TestFail:test_setGasConfig_notOwner_reverts() (gas: 10576)
...
...
packages/contracts-bedrock/.storage-layout
View file @
90b068b4
...
@@ -281,11 +281,33 @@
...
@@ -281,11 +281,33 @@
➡ contracts/L2/SequencerFeeVault.sol:SequencerFeeVault
➡ contracts/L2/SequencerFeeVault.sol:SequencerFeeVault
=======================
=======================
+---------------+---------+------+--------+-------+------------------------------------------------------+
+----------------+---------+------+--------+-------+------------------------------------------------------+
| Name | Type | Slot | Offset | Bytes | Contract |
| Name | Type | Slot | Offset | Bytes | Contract |
+========================================================================================================+
+=========================================================================================================+
| spacer_0_0_20 | address | 0 | 0 | 20 | contracts/L2/SequencerFeeVault.sol:SequencerFeeVault |
| spacer_0_0_20 | address | 0 | 0 | 20 | contracts/L2/SequencerFeeVault.sol:SequencerFeeVault |
+---------------+---------+------+--------+-------+------------------------------------------------------+
|----------------+---------+------+--------+-------+------------------------------------------------------|
| totalProcessed | uint256 | 1 | 0 | 32 | contracts/L2/SequencerFeeVault.sol:SequencerFeeVault |
+----------------+---------+------+--------+-------+------------------------------------------------------+
=======================
➡ contracts/L2/BaseFeeVault.sol:BaseFeeVault
=======================
+----------------+---------+------+--------+-------+--------------------------------------------+
| Name | Type | Slot | Offset | Bytes | Contract |
+===============================================================================================+
| totalProcessed | uint256 | 0 | 0 | 32 | contracts/L2/BaseFeeVault.sol:BaseFeeVault |
+----------------+---------+------+--------+-------+--------------------------------------------+
=======================
➡ contracts/L2/L1FeeVault.sol:L1FeeVault
=======================
+----------------+---------+------+--------+-------+----------------------------------------+
| Name | Type | Slot | Offset | Bytes | Contract |
+===========================================================================================+
| totalProcessed | uint256 | 0 | 0 | 32 | contracts/L2/L1FeeVault.sol:L1FeeVault |
+----------------+---------+------+--------+-------+----------------------------------------+
=======================
=======================
➡ contracts/vendor/WETH9.sol:WETH9
➡ contracts/vendor/WETH9.sol:WETH9
...
...
packages/contracts-bedrock/contracts/L2/SequencerFeeVault.sol
View file @
90b068b4
...
@@ -7,19 +7,29 @@ import { Predeploys } from "../libraries/Predeploys.sol";
...
@@ -7,19 +7,29 @@ import { Predeploys } from "../libraries/Predeploys.sol";
import { FeeVault } from "../universal/FeeVault.sol";
import { FeeVault } from "../universal/FeeVault.sol";
/**
/**
* @custom:
proxied
* @custom:
legacy
* @
custom:predeploy 0x4200000000000000000000000000000000000011
* @
title SequencerFeeVaultLegacySpacer
* @
title SequencerFeeVault
* @
notice Contract only exists to add a spacer to the SequencerFeeVault where the
*
@notice The SequencerFeeVault is the contract that holds any fees paid to the Sequencer during
*
l1FeeWallet variable used to exist. Must be the first contract in the inheritance
* tr
ansaction processing and block production.
* tr
ee of the SequencerFeeVault
*/
*/
contract SequencerFeeVault
is FeeVault, Semv
er {
contract SequencerFeeVault
LegacySpac
er {
/**
/**
* @custom:legacy
* @custom:spacer l1FeeWallet
* @custom:spacer l1FeeWallet
* @notice Spacer for backwards compatibility.
* @notice Spacer for backwards compatibility.
*/
*/
address private spacer_0_0_20;
address private spacer_0_0_20;
}
/**
* @custom:proxied
* @custom:predeploy 0x4200000000000000000000000000000000000011
* @title SequencerFeeVault
* @notice The SequencerFeeVault is the contract that holds any fees paid to the Sequencer during
* transaction processing and block production.
*/
contract SequencerFeeVault is SequencerFeeVaultLegacySpacer, FeeVault, Semver {
/**
/**
* @custom:semver 0.0.1
* @custom:semver 0.0.1
*/
*/
...
...
packages/contracts-bedrock/contracts/test/SequencerFeeVault.t.sol
View file @
90b068b4
...
@@ -46,11 +46,16 @@ contract SequencerFeeVault_Test is Bridge_Initializer {
...
@@ -46,11 +46,16 @@ contract SequencerFeeVault_Test is Bridge_Initializer {
}
}
function test_withdraw_succeeds() external {
function test_withdraw_succeeds() external {
vm.deal(address(vault), vault.MIN_WITHDRAWAL_AMOUNT() + 1);
uint256 amount = vault.MIN_WITHDRAWAL_AMOUNT() + 1;
vm.deal(address(vault), amount);
// No ether has been withdrawn yet
assertEq(vault.totalProcessed(), 0);
vm.expectEmit(true, true, true, true);
vm.expectEmit(true, true, true, true);
emit Withdrawal(address(vault).balance, vault.RECIPIENT(), address(this));
emit Withdrawal(address(vault).balance, vault.RECIPIENT(), address(this));
// The entire vault's balance is withdrawn
vm.expectCall(
vm.expectCall(
Predeploys.L2_STANDARD_BRIDGE,
Predeploys.L2_STANDARD_BRIDGE,
address(vault).balance,
address(vault).balance,
...
@@ -63,5 +68,8 @@ contract SequencerFeeVault_Test is Bridge_Initializer {
...
@@ -63,5 +68,8 @@ contract SequencerFeeVault_Test is Bridge_Initializer {
);
);
vault.withdraw();
vault.withdraw();
// The withdrawal was successful
assertEq(vault.totalProcessed(), amount);
}
}
}
}
packages/contracts-bedrock/contracts/universal/FeeVault.sol
View file @
90b068b4
...
@@ -24,6 +24,11 @@ abstract contract FeeVault {
...
@@ -24,6 +24,11 @@ abstract contract FeeVault {
*/
*/
address public immutable RECIPIENT;
address public immutable RECIPIENT;
/**
* @notice Total amount of wei processed by the contract.
*/
uint256 public totalProcessed;
/**
/**
* @param _recipient - The L1 account that funds can be withdrawn to.
* @param _recipient - The L1 account that funds can be withdrawn to.
* @param _minWithdrawalAmount - The min amount of funds before a withdrawal
* @param _minWithdrawalAmount - The min amount of funds before a withdrawal
...
@@ -49,6 +54,8 @@ abstract contract FeeVault {
...
@@ -49,6 +54,8 @@ abstract contract FeeVault {
);
);
uint256 value = address(this).balance;
uint256 value = address(this).balance;
totalProcessed += value;
emit Withdrawal(value, RECIPIENT, msg.sender);
emit Withdrawal(value, RECIPIENT, msg.sender);
L2StandardBridge(payable(Predeploys.L2_STANDARD_BRIDGE)).bridgeETHTo{ value: value }(
L2StandardBridge(payable(Predeploys.L2_STANDARD_BRIDGE)).bridgeETHTo{ value: value }(
...
...
packages/contracts-bedrock/scripts/storage-snapshot.sh
View file @
90b068b4
...
@@ -24,6 +24,8 @@ contracts=(
...
@@ -24,6 +24,8 @@ contracts=(
contracts/L2/L2ToL1MessagePasser.sol:L2ToL1MessagePasser
contracts/L2/L2ToL1MessagePasser.sol:L2ToL1MessagePasser
contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH
contracts/legacy/LegacyERC20ETH.sol:LegacyERC20ETH
contracts/L2/SequencerFeeVault.sol:SequencerFeeVault
contracts/L2/SequencerFeeVault.sol:SequencerFeeVault
contracts/L2/BaseFeeVault.sol:BaseFeeVault
contracts/L2/L1FeeVault.sol:L1FeeVault
contracts/vendor/WETH9.sol:WETH9
contracts/vendor/WETH9.sol:WETH9
contracts/universal/ProxyAdmin.sol:ProxyAdmin
contracts/universal/ProxyAdmin.sol:ProxyAdmin
contracts/universal/Proxy.sol:Proxy
contracts/universal/Proxy.sol:Proxy
...
...
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