Commit 8c7baa13 authored by Joshua Gutow's avatar Joshua Gutow Committed by GitHub

go: Update contract bindings (#2579)

* Add tools to regenerate bindings

* Generate new bindings

Renames the package type and updates some names.

* op-*: Rename bedrock contracts and update import path
parent 888a0f49
SHELL := /bin/bash
CONTRACTS_PATH := "../contracts-bedrock/"
all: bindings deployed
bindings: bindings-l1-block-info bindings-optimism-portal bindings-L2ToL1MessagePasser bindings-l2-output-oracle
deployed: deployed-bin-l1-block-info deployed-bin-optimism-portal deployed-bin-L2ToL1MessagePasser
# Deployed bindings are split because they depend on the bin file
# TODO: Can probably do this with recipes
deployed-bin-l1-block-info: bindings-l1-block-info
$(eval deployedBytecode := $(shell cat bin/l1block_deployed.hex))
echo "// Code generated - DO NOT EDIT." > l1block/l1_block_info_deployed.go
echo "// This file is a generated binding and any manual changes will be lost." >> l1block/l1_block_info_deployed.go
echo "package l1block" >> l1block/l1_block_info_deployed.go
echo "var L1blockDeployedBin = \"$(deployedBytecode)\"" >> l1block/l1_block_info_deployed.go
gofmt -s -w l1block/l1_block_info_deployed.go
deployed-bin-optimism-portal: bindings-optimism-portal
$(eval deployedBytecode := $(shell cat bin/portal_deployed.hex))
echo "// Code generated - DO NOT EDIT." > deposit/optimism_portal_deployed.go
echo "// This file is a generated binding and any manual changes will be lost." >> deposit/optimism_portal_deployed.go
echo "package deposit" >> deposit/optimism_portal_deployed.go
echo "var OptimismPortalDeployedBin = \"$(deployedBytecode)\"" >> deposit/optimism_portal_deployed.go
gofmt -s -w deposit/optimism_portal_deployed.go
bindings: l1block-bindings l2-to-l1-message-passer-bindings optimism-portal-bindings l2-output-oracle-bindings
deployed: l1-block-deployed optimism-portal-deployed l2-to-l1-message-passer-deployed
deployed-bin-L2ToL1MessagePasser: bindings-L2ToL1MessagePasser
$(eval deployedBytecode := $(shell cat bin/l2_to_l1_message_passer.hex))
echo "// Code generated - DO NOT EDIT." > withdrawer/withdrawer_deployed.go
echo "// This file is a generated binding and any manual changes will be lost." >> withdrawer/withdrawer_deployed.go
echo "package withdrawer" >> withdrawer/withdrawer_deployed.go
echo "var WithdrawerDeployedBin = \"$(deployedBytecode)\"" >> withdrawer/withdrawer_deployed.go
gofmt -s -w withdrawer/withdrawer_deployed.go
bindings-l1-block-info:
$(eval temp := $(shell mktemp -d))
$(eval cwd := $(shell pwd))
mkdir -p bin
cd $(CONTRACTS_PATH); \
forge build \
&& forge inspect L1Block abi > $(temp)/L1Block.abi \
&& forge inspect L1Block bytecode > $(temp)/L1Block.bin \
&& forge inspect L1Block deployedBytecode > $(cwd)/bin/l1block_deployed.hex
abigen \
--abi $(temp)/L1Block.abi \
--bin $(temp)/L1Block.bin \
--pkg l1block \
--type L1Block \
--out ./l1block/l1_block_info_raw.go
l1-block-deployed: l1block-bindings
./gen_deployed_bytecode.sh L1Block bindings
bindings-L2ToL1MessagePasser:
$(eval temp := $(shell mktemp -d))
$(eval cwd := $(shell pwd))
mkdir -p bin
cd $(CONTRACTS_PATH); \
forge build \
&& forge inspect L2ToL1MessagePasser abi > $(temp)/Withdrawer.abi \
&& forge inspect L2ToL1MessagePasser bytecode > $(temp)/Withdrawer.bin \
&& forge inspect L2ToL1MessagePasser deployedBytecode > $(cwd)/bin/l2_to_l1_message_passer.hex
abigen \
--abi $(temp)/Withdrawer.abi \
--bin $(temp)/Withdrawer.bin \
--pkg withdrawer \
--type Withdrawer \
--out ./withdrawer/withdrawer_raw.go
optimism-portal-deployed: optimism-portal-bindings
./gen_deployed_bytecode.sh OptimismPortal bindings
l2-to-l1-message-passer-deployed: l2-to-l1-message-passer-bindings
./gen_deployed_bytecode.sh L2ToL1MessagePasser bindings
l1block-bindings:
./gen_bindings.sh L1Block bindings
bindings-optimism-portal:
$(eval temp := $(shell mktemp -d))
$(eval cwd := $(shell pwd))
mkdir -p bin
cd $(CONTRACTS_PATH); \
forge build \
&& forge inspect OptimismPortal abi > $(temp)/OptimismPortal.abi \
&& forge inspect OptimismPortal bytecode > $(temp)/OptimismPortal.bin \
&& forge inspect OptimismPortal deployedBytecode > $(cwd)/bin/portal_deployed.hex
abigen \
--abi $(temp)/OptimismPortal.abi \
--bin $(temp)/OptimismPortal.bin \
--pkg deposit \
--type OptimismPortal \
--out ./deposit/deposit_feed_raw.go
l2-to-l1-message-passer-bindings:
./gen_bindings.sh L2ToL1MessagePasser bindings
optimism-portal-bindings:
./gen_bindings.sh OptimismPortal bindings
l2-output-oracle-bindings:
./gen_bindings.sh L2OutputOracle bindings
bindings-l2-output-oracle:
$(eval temp := $(shell mktemp -d))
$(eval cwd := $(shell pwd))
cd $(CONTRACTS_PATH); \
forge build \
&& forge inspect L2OutputOracle abi > $(temp)/L2OutputOracle.abi \
&& forge inspect L2OutputOracle bytecode > $(temp)/L2OutputOracle.bin \
&& forge inspect L2OutputOracle deployedBytecode > $(cwd)/bin/l2_output_oracle_deployed.hex
abigen \
--abi $(temp)/L2OutputOracle.abi \
--bin $(temp)/L2OutputOracle.bin \
--pkg l2oo \
--type L2OutputOracle \
--out ./l2oo/l2_output_oracle.go
// Code generated - DO NOT EDIT.
// This file is a generated binding and any manual changes will be lost.
package l1block
package bindings
import (
"errors"
......
// Code generated - DO NOT EDIT.
// This file is a generated binding and any manual changes will be lost.
package l1block
package bindings
var L1blockDeployedBin = "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806364ca23ef1161005b57806364ca23ef146100bc5780638381f58a146100e9578063b80777ea146100fd578063e591b2821461011d57600080fd5b8063042c2f571461008257806309bd5a60146100975780635cf24969146100b3575b600080fd5b61009561009036600461024c565b61015d565b005b6100a060025481565b6040519081526020015b60405180910390f35b6100a060015481565b6003546100d09067ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016100aa565b6000546100d09067ffffffffffffffff1681565b6000546100d09068010000000000000000900467ffffffffffffffff1681565b61013873deaddeaddeaddeaddeaddeaddeaddeaddead000181565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100aa565b3373deaddeaddeaddeaddeaddeaddeaddeaddead0001146101aa576040517fce8c104800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805467ffffffffffffffff9687167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090911617680100000000000000009587169590950294909417909355600191909155600255600380547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001691909216179055565b803567ffffffffffffffff8116811461024757600080fd5b919050565b600080600080600060a0868803121561026457600080fd5b61026d8661022f565b945061027b6020870161022f565b935060408601359250606086013591506102976080870161022f565b9050929550929590935056fea164736f6c634300080a000a"
var L1BlockDeployedBin = "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806364ca23ef1161005b57806364ca23ef146100bc5780638381f58a146100e9578063b80777ea146100fd578063e591b2821461011d57600080fd5b8063042c2f571461008257806309bd5a60146100975780635cf24969146100b3575b600080fd5b61009561009036600461024c565b61015d565b005b6100a060025481565b6040519081526020015b60405180910390f35b6100a060015481565b6003546100d09067ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016100aa565b6000546100d09067ffffffffffffffff1681565b6000546100d09068010000000000000000900467ffffffffffffffff1681565b61013873deaddeaddeaddeaddeaddeaddeaddeaddead000181565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100aa565b3373deaddeaddeaddeaddeaddeaddeaddeaddead0001146101aa576040517fce8c104800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805467ffffffffffffffff9687167fffffffffffffffffffffffffffffffff0000000000000000000000000000000090911617680100000000000000009587169590950294909417909355600191909155600255600380547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001691909216179055565b803567ffffffffffffffff8116811461024757600080fd5b919050565b600080600080600060a0868803121561026457600080fd5b61026d8661022f565b945061027b6020870161022f565b935060408601359250606086013591506102976080870161022f565b9050929550929590935056fea164736f6c634300080a000a"
// Code generated - DO NOT EDIT.
// This file is a generated binding and any manual changes will be lost.
package l2oo
package bindings
import (
"errors"
......
// Code generated - DO NOT EDIT.
// This file is a generated binding and any manual changes will be lost.
package withdrawer
package bindings
import (
"errors"
......@@ -28,23 +28,23 @@ var (
_ = event.NewSubscription
)
// WithdrawerMetaData contains all meta data concerning the Withdrawer contract.
var WithdrawerMetaData = &bind.MetaData{
// L2ToL1MessagePasserMetaData contains all meta data concerning the L2ToL1MessagePasser contract.
var L2ToL1MessagePasserMetaData = &bind.MetaData{
ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasLimit\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"WithdrawalInitiated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"WithdrawerBalanceBurnt\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_gasLimit\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"initiateWithdrawal\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"sentMessages\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]",
Bin: "0x608060405234801561001057600080fd5b506104a1806100206000396000f3fe6080604052600436106100435760003560e01c806344df8e701461006c57806382e3702d14610081578063affed0e0146100c6578063c2b3e5ac146100ea57600080fd5b366100675761006533620186a0604051806020016040528060008152506100f8565b005b600080fd5b34801561007857600080fd5b506100656101ae565b34801561008d57600080fd5b506100b161009c366004610256565b60006020819052908152604090205460ff1681565b60405190151581526020015b60405180910390f35b3480156100d257600080fd5b506100dc60015481565b6040519081526020016100bd565b6100656100f836600461029e565b600061010a600154338634878761020b565b6000818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915554905191925073ffffffffffffffffffffffffffffffffffffffff8616913391907f87bf7b546c8de873abb0db5b579ec131f8d0cf5b14f39933551cf9ced23a6136906101989034908990899061040d565b60405180910390a4505060018054810190555050565b604051479081906101be9061024a565b6040518091039082f09050801580156101db573d6000803e3d6000fd5b505060405181907f7967de617a5ac1cc7eba2d6f37570a0135afa950d8bb77cdd35f0d0b4e85a16f90600090a250565b600086868686868660405160200161022896959493929190610435565b6040516020818303038152906040528051906020012090509695505050505050565b60088061048d83390190565b60006020828403121561026857600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000606084860312156102b357600080fd5b833573ffffffffffffffffffffffffffffffffffffffff811681146102d757600080fd5b925060208401359150604084013567ffffffffffffffff808211156102fb57600080fd5b818601915086601f83011261030f57600080fd5b8135818111156103215761032161026f565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156103675761036761026f565b8160405282815289602084870101111561038057600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000815180845260005b818110156103c8576020818501810151868301820152016103ac565b818111156103da576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b83815282602082015260606040820152600061042c60608301846103a2565b95945050505050565b868152600073ffffffffffffffffffffffffffffffffffffffff808816602084015280871660408401525084606083015283608083015260c060a083015261048060c08301846103a2565b9897505050505050505056fe608060405230fffea164736f6c634300080a000a",
}
// WithdrawerABI is the input ABI used to generate the binding from.
// Deprecated: Use WithdrawerMetaData.ABI instead.
var WithdrawerABI = WithdrawerMetaData.ABI
// L2ToL1MessagePasserABI is the input ABI used to generate the binding from.
// Deprecated: Use L2ToL1MessagePasserMetaData.ABI instead.
var L2ToL1MessagePasserABI = L2ToL1MessagePasserMetaData.ABI
// WithdrawerBin is the compiled bytecode used for deploying new contracts.
// Deprecated: Use WithdrawerMetaData.Bin instead.
var WithdrawerBin = WithdrawerMetaData.Bin
// L2ToL1MessagePasserBin is the compiled bytecode used for deploying new contracts.
// Deprecated: Use L2ToL1MessagePasserMetaData.Bin instead.
var L2ToL1MessagePasserBin = L2ToL1MessagePasserMetaData.Bin
// DeployWithdrawer deploys a new Ethereum contract, binding an instance of Withdrawer to it.
func DeployWithdrawer(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Withdrawer, error) {
parsed, err := WithdrawerMetaData.GetAbi()
// DeployL2ToL1MessagePasser deploys a new Ethereum contract, binding an instance of L2ToL1MessagePasser to it.
func DeployL2ToL1MessagePasser(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *L2ToL1MessagePasser, error) {
parsed, err := L2ToL1MessagePasserMetaData.GetAbi()
if err != nil {
return common.Address{}, nil, nil, err
}
......@@ -52,111 +52,111 @@ func DeployWithdrawer(auth *bind.TransactOpts, backend bind.ContractBackend) (co
return common.Address{}, nil, nil, errors.New("GetABI returned nil")
}
address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(WithdrawerBin), backend)
address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(L2ToL1MessagePasserBin), backend)
if err != nil {
return common.Address{}, nil, nil, err
}
return address, tx, &Withdrawer{WithdrawerCaller: WithdrawerCaller{contract: contract}, WithdrawerTransactor: WithdrawerTransactor{contract: contract}, WithdrawerFilterer: WithdrawerFilterer{contract: contract}}, nil
return address, tx, &L2ToL1MessagePasser{L2ToL1MessagePasserCaller: L2ToL1MessagePasserCaller{contract: contract}, L2ToL1MessagePasserTransactor: L2ToL1MessagePasserTransactor{contract: contract}, L2ToL1MessagePasserFilterer: L2ToL1MessagePasserFilterer{contract: contract}}, nil
}
// Withdrawer is an auto generated Go binding around an Ethereum contract.
type Withdrawer struct {
WithdrawerCaller // Read-only binding to the contract
WithdrawerTransactor // Write-only binding to the contract
WithdrawerFilterer // Log filterer for contract events
// L2ToL1MessagePasser is an auto generated Go binding around an Ethereum contract.
type L2ToL1MessagePasser struct {
L2ToL1MessagePasserCaller // Read-only binding to the contract
L2ToL1MessagePasserTransactor // Write-only binding to the contract
L2ToL1MessagePasserFilterer // Log filterer for contract events
}
// WithdrawerCaller is an auto generated read-only Go binding around an Ethereum contract.
type WithdrawerCaller struct {
// L2ToL1MessagePasserCaller is an auto generated read-only Go binding around an Ethereum contract.
type L2ToL1MessagePasserCaller struct {
contract *bind.BoundContract // Generic contract wrapper for the low level calls
}
// WithdrawerTransactor is an auto generated write-only Go binding around an Ethereum contract.
type WithdrawerTransactor struct {
// L2ToL1MessagePasserTransactor is an auto generated write-only Go binding around an Ethereum contract.
type L2ToL1MessagePasserTransactor struct {
contract *bind.BoundContract // Generic contract wrapper for the low level calls
}
// WithdrawerFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
type WithdrawerFilterer struct {
// L2ToL1MessagePasserFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
type L2ToL1MessagePasserFilterer struct {
contract *bind.BoundContract // Generic contract wrapper for the low level calls
}
// WithdrawerSession is an auto generated Go binding around an Ethereum contract,
// L2ToL1MessagePasserSession is an auto generated Go binding around an Ethereum contract,
// with pre-set call and transact options.
type WithdrawerSession struct {
Contract *Withdrawer // Generic contract binding to set the session for
CallOpts bind.CallOpts // Call options to use throughout this session
TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
type L2ToL1MessagePasserSession struct {
Contract *L2ToL1MessagePasser // Generic contract binding to set the session for
CallOpts bind.CallOpts // Call options to use throughout this session
TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}
// WithdrawerCallerSession is an auto generated read-only Go binding around an Ethereum contract,
// L2ToL1MessagePasserCallerSession is an auto generated read-only Go binding around an Ethereum contract,
// with pre-set call options.
type WithdrawerCallerSession struct {
Contract *WithdrawerCaller // Generic contract caller binding to set the session for
CallOpts bind.CallOpts // Call options to use throughout this session
type L2ToL1MessagePasserCallerSession struct {
Contract *L2ToL1MessagePasserCaller // Generic contract caller binding to set the session for
CallOpts bind.CallOpts // Call options to use throughout this session
}
// WithdrawerTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
// L2ToL1MessagePasserTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
// with pre-set transact options.
type WithdrawerTransactorSession struct {
Contract *WithdrawerTransactor // Generic contract transactor binding to set the session for
TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
type L2ToL1MessagePasserTransactorSession struct {
Contract *L2ToL1MessagePasserTransactor // Generic contract transactor binding to set the session for
TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}
// WithdrawerRaw is an auto generated low-level Go binding around an Ethereum contract.
type WithdrawerRaw struct {
Contract *Withdrawer // Generic contract binding to access the raw methods on
// L2ToL1MessagePasserRaw is an auto generated low-level Go binding around an Ethereum contract.
type L2ToL1MessagePasserRaw struct {
Contract *L2ToL1MessagePasser // Generic contract binding to access the raw methods on
}
// WithdrawerCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
type WithdrawerCallerRaw struct {
Contract *WithdrawerCaller // Generic read-only contract binding to access the raw methods on
// L2ToL1MessagePasserCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
type L2ToL1MessagePasserCallerRaw struct {
Contract *L2ToL1MessagePasserCaller // Generic read-only contract binding to access the raw methods on
}
// WithdrawerTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
type WithdrawerTransactorRaw struct {
Contract *WithdrawerTransactor // Generic write-only contract binding to access the raw methods on
// L2ToL1MessagePasserTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
type L2ToL1MessagePasserTransactorRaw struct {
Contract *L2ToL1MessagePasserTransactor // Generic write-only contract binding to access the raw methods on
}
// NewWithdrawer creates a new instance of Withdrawer, bound to a specific deployed contract.
func NewWithdrawer(address common.Address, backend bind.ContractBackend) (*Withdrawer, error) {
contract, err := bindWithdrawer(address, backend, backend, backend)
// NewL2ToL1MessagePasser creates a new instance of L2ToL1MessagePasser, bound to a specific deployed contract.
func NewL2ToL1MessagePasser(address common.Address, backend bind.ContractBackend) (*L2ToL1MessagePasser, error) {
contract, err := bindL2ToL1MessagePasser(address, backend, backend, backend)
if err != nil {
return nil, err
}
return &Withdrawer{WithdrawerCaller: WithdrawerCaller{contract: contract}, WithdrawerTransactor: WithdrawerTransactor{contract: contract}, WithdrawerFilterer: WithdrawerFilterer{contract: contract}}, nil
return &L2ToL1MessagePasser{L2ToL1MessagePasserCaller: L2ToL1MessagePasserCaller{contract: contract}, L2ToL1MessagePasserTransactor: L2ToL1MessagePasserTransactor{contract: contract}, L2ToL1MessagePasserFilterer: L2ToL1MessagePasserFilterer{contract: contract}}, nil
}
// NewWithdrawerCaller creates a new read-only instance of Withdrawer, bound to a specific deployed contract.
func NewWithdrawerCaller(address common.Address, caller bind.ContractCaller) (*WithdrawerCaller, error) {
contract, err := bindWithdrawer(address, caller, nil, nil)
// NewL2ToL1MessagePasserCaller creates a new read-only instance of L2ToL1MessagePasser, bound to a specific deployed contract.
func NewL2ToL1MessagePasserCaller(address common.Address, caller bind.ContractCaller) (*L2ToL1MessagePasserCaller, error) {
contract, err := bindL2ToL1MessagePasser(address, caller, nil, nil)
if err != nil {
return nil, err
}
return &WithdrawerCaller{contract: contract}, nil
return &L2ToL1MessagePasserCaller{contract: contract}, nil
}
// NewWithdrawerTransactor creates a new write-only instance of Withdrawer, bound to a specific deployed contract.
func NewWithdrawerTransactor(address common.Address, transactor bind.ContractTransactor) (*WithdrawerTransactor, error) {
contract, err := bindWithdrawer(address, nil, transactor, nil)
// NewL2ToL1MessagePasserTransactor creates a new write-only instance of L2ToL1MessagePasser, bound to a specific deployed contract.
func NewL2ToL1MessagePasserTransactor(address common.Address, transactor bind.ContractTransactor) (*L2ToL1MessagePasserTransactor, error) {
contract, err := bindL2ToL1MessagePasser(address, nil, transactor, nil)
if err != nil {
return nil, err
}
return &WithdrawerTransactor{contract: contract}, nil
return &L2ToL1MessagePasserTransactor{contract: contract}, nil
}
// NewWithdrawerFilterer creates a new log filterer instance of Withdrawer, bound to a specific deployed contract.
func NewWithdrawerFilterer(address common.Address, filterer bind.ContractFilterer) (*WithdrawerFilterer, error) {
contract, err := bindWithdrawer(address, nil, nil, filterer)
// NewL2ToL1MessagePasserFilterer creates a new log filterer instance of L2ToL1MessagePasser, bound to a specific deployed contract.
func NewL2ToL1MessagePasserFilterer(address common.Address, filterer bind.ContractFilterer) (*L2ToL1MessagePasserFilterer, error) {
contract, err := bindL2ToL1MessagePasser(address, nil, nil, filterer)
if err != nil {
return nil, err
}
return &WithdrawerFilterer{contract: contract}, nil
return &L2ToL1MessagePasserFilterer{contract: contract}, nil
}
// bindWithdrawer binds a generic wrapper to an already deployed contract.
func bindWithdrawer(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
parsed, err := abi.JSON(strings.NewReader(WithdrawerABI))
// bindL2ToL1MessagePasser binds a generic wrapper to an already deployed contract.
func bindL2ToL1MessagePasser(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
parsed, err := abi.JSON(strings.NewReader(L2ToL1MessagePasserABI))
if err != nil {
return nil, err
}
......@@ -167,46 +167,46 @@ func bindWithdrawer(address common.Address, caller bind.ContractCaller, transact
// sets the output to result. The result type might be a single field for simple
// returns, a slice of interfaces for anonymous returns and a struct for named
// returns.
func (_Withdrawer *WithdrawerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
return _Withdrawer.Contract.WithdrawerCaller.contract.Call(opts, result, method, params...)
func (_L2ToL1MessagePasser *L2ToL1MessagePasserRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
return _L2ToL1MessagePasser.Contract.L2ToL1MessagePasserCaller.contract.Call(opts, result, method, params...)
}
// Transfer initiates a plain transaction to move funds to the contract, calling
// its default method if one is available.
func (_Withdrawer *WithdrawerRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
return _Withdrawer.Contract.WithdrawerTransactor.contract.Transfer(opts)
func (_L2ToL1MessagePasser *L2ToL1MessagePasserRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
return _L2ToL1MessagePasser.Contract.L2ToL1MessagePasserTransactor.contract.Transfer(opts)
}
// Transact invokes the (paid) contract method with params as input values.
func (_Withdrawer *WithdrawerRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
return _Withdrawer.Contract.WithdrawerTransactor.contract.Transact(opts, method, params...)
func (_L2ToL1MessagePasser *L2ToL1MessagePasserRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
return _L2ToL1MessagePasser.Contract.L2ToL1MessagePasserTransactor.contract.Transact(opts, method, params...)
}
// Call invokes the (constant) contract method with params as input values and
// sets the output to result. The result type might be a single field for simple
// returns, a slice of interfaces for anonymous returns and a struct for named
// returns.
func (_Withdrawer *WithdrawerCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
return _Withdrawer.Contract.contract.Call(opts, result, method, params...)
func (_L2ToL1MessagePasser *L2ToL1MessagePasserCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
return _L2ToL1MessagePasser.Contract.contract.Call(opts, result, method, params...)
}
// Transfer initiates a plain transaction to move funds to the contract, calling
// its default method if one is available.
func (_Withdrawer *WithdrawerTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
return _Withdrawer.Contract.contract.Transfer(opts)
func (_L2ToL1MessagePasser *L2ToL1MessagePasserTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
return _L2ToL1MessagePasser.Contract.contract.Transfer(opts)
}
// Transact invokes the (paid) contract method with params as input values.
func (_Withdrawer *WithdrawerTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
return _Withdrawer.Contract.contract.Transact(opts, method, params...)
func (_L2ToL1MessagePasser *L2ToL1MessagePasserTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
return _L2ToL1MessagePasser.Contract.contract.Transact(opts, method, params...)
}
// Nonce is a free data retrieval call binding the contract method 0xaffed0e0.
//
// Solidity: function nonce() view returns(uint256)
func (_Withdrawer *WithdrawerCaller) Nonce(opts *bind.CallOpts) (*big.Int, error) {
func (_L2ToL1MessagePasser *L2ToL1MessagePasserCaller) Nonce(opts *bind.CallOpts) (*big.Int, error) {
var out []interface{}
err := _Withdrawer.contract.Call(opts, &out, "nonce")
err := _L2ToL1MessagePasser.contract.Call(opts, &out, "nonce")
if err != nil {
return *new(*big.Int), err
......@@ -221,23 +221,23 @@ func (_Withdrawer *WithdrawerCaller) Nonce(opts *bind.CallOpts) (*big.Int, error
// Nonce is a free data retrieval call binding the contract method 0xaffed0e0.
//
// Solidity: function nonce() view returns(uint256)
func (_Withdrawer *WithdrawerSession) Nonce() (*big.Int, error) {
return _Withdrawer.Contract.Nonce(&_Withdrawer.CallOpts)
func (_L2ToL1MessagePasser *L2ToL1MessagePasserSession) Nonce() (*big.Int, error) {
return _L2ToL1MessagePasser.Contract.Nonce(&_L2ToL1MessagePasser.CallOpts)
}
// Nonce is a free data retrieval call binding the contract method 0xaffed0e0.
//
// Solidity: function nonce() view returns(uint256)
func (_Withdrawer *WithdrawerCallerSession) Nonce() (*big.Int, error) {
return _Withdrawer.Contract.Nonce(&_Withdrawer.CallOpts)
func (_L2ToL1MessagePasser *L2ToL1MessagePasserCallerSession) Nonce() (*big.Int, error) {
return _L2ToL1MessagePasser.Contract.Nonce(&_L2ToL1MessagePasser.CallOpts)
}
// SentMessages is a free data retrieval call binding the contract method 0x82e3702d.
//
// Solidity: function sentMessages(bytes32 ) view returns(bool)
func (_Withdrawer *WithdrawerCaller) SentMessages(opts *bind.CallOpts, arg0 [32]byte) (bool, error) {
func (_L2ToL1MessagePasser *L2ToL1MessagePasserCaller) SentMessages(opts *bind.CallOpts, arg0 [32]byte) (bool, error) {
var out []interface{}
err := _Withdrawer.contract.Call(opts, &out, "sentMessages", arg0)
err := _L2ToL1MessagePasser.contract.Call(opts, &out, "sentMessages", arg0)
if err != nil {
return *new(bool), err
......@@ -252,83 +252,83 @@ func (_Withdrawer *WithdrawerCaller) SentMessages(opts *bind.CallOpts, arg0 [32]
// SentMessages is a free data retrieval call binding the contract method 0x82e3702d.
//
// Solidity: function sentMessages(bytes32 ) view returns(bool)
func (_Withdrawer *WithdrawerSession) SentMessages(arg0 [32]byte) (bool, error) {
return _Withdrawer.Contract.SentMessages(&_Withdrawer.CallOpts, arg0)
func (_L2ToL1MessagePasser *L2ToL1MessagePasserSession) SentMessages(arg0 [32]byte) (bool, error) {
return _L2ToL1MessagePasser.Contract.SentMessages(&_L2ToL1MessagePasser.CallOpts, arg0)
}
// SentMessages is a free data retrieval call binding the contract method 0x82e3702d.
//
// Solidity: function sentMessages(bytes32 ) view returns(bool)
func (_Withdrawer *WithdrawerCallerSession) SentMessages(arg0 [32]byte) (bool, error) {
return _Withdrawer.Contract.SentMessages(&_Withdrawer.CallOpts, arg0)
func (_L2ToL1MessagePasser *L2ToL1MessagePasserCallerSession) SentMessages(arg0 [32]byte) (bool, error) {
return _L2ToL1MessagePasser.Contract.SentMessages(&_L2ToL1MessagePasser.CallOpts, arg0)
}
// Burn is a paid mutator transaction binding the contract method 0x44df8e70.
//
// Solidity: function burn() returns()
func (_Withdrawer *WithdrawerTransactor) Burn(opts *bind.TransactOpts) (*types.Transaction, error) {
return _Withdrawer.contract.Transact(opts, "burn")
func (_L2ToL1MessagePasser *L2ToL1MessagePasserTransactor) Burn(opts *bind.TransactOpts) (*types.Transaction, error) {
return _L2ToL1MessagePasser.contract.Transact(opts, "burn")
}
// Burn is a paid mutator transaction binding the contract method 0x44df8e70.
//
// Solidity: function burn() returns()
func (_Withdrawer *WithdrawerSession) Burn() (*types.Transaction, error) {
return _Withdrawer.Contract.Burn(&_Withdrawer.TransactOpts)
func (_L2ToL1MessagePasser *L2ToL1MessagePasserSession) Burn() (*types.Transaction, error) {
return _L2ToL1MessagePasser.Contract.Burn(&_L2ToL1MessagePasser.TransactOpts)
}
// Burn is a paid mutator transaction binding the contract method 0x44df8e70.
//
// Solidity: function burn() returns()
func (_Withdrawer *WithdrawerTransactorSession) Burn() (*types.Transaction, error) {
return _Withdrawer.Contract.Burn(&_Withdrawer.TransactOpts)
func (_L2ToL1MessagePasser *L2ToL1MessagePasserTransactorSession) Burn() (*types.Transaction, error) {
return _L2ToL1MessagePasser.Contract.Burn(&_L2ToL1MessagePasser.TransactOpts)
}
// InitiateWithdrawal is a paid mutator transaction binding the contract method 0xc2b3e5ac.
//
// Solidity: function initiateWithdrawal(address _target, uint256 _gasLimit, bytes _data) payable returns()
func (_Withdrawer *WithdrawerTransactor) InitiateWithdrawal(opts *bind.TransactOpts, _target common.Address, _gasLimit *big.Int, _data []byte) (*types.Transaction, error) {
return _Withdrawer.contract.Transact(opts, "initiateWithdrawal", _target, _gasLimit, _data)
func (_L2ToL1MessagePasser *L2ToL1MessagePasserTransactor) InitiateWithdrawal(opts *bind.TransactOpts, _target common.Address, _gasLimit *big.Int, _data []byte) (*types.Transaction, error) {
return _L2ToL1MessagePasser.contract.Transact(opts, "initiateWithdrawal", _target, _gasLimit, _data)
}
// InitiateWithdrawal is a paid mutator transaction binding the contract method 0xc2b3e5ac.
//
// Solidity: function initiateWithdrawal(address _target, uint256 _gasLimit, bytes _data) payable returns()
func (_Withdrawer *WithdrawerSession) InitiateWithdrawal(_target common.Address, _gasLimit *big.Int, _data []byte) (*types.Transaction, error) {
return _Withdrawer.Contract.InitiateWithdrawal(&_Withdrawer.TransactOpts, _target, _gasLimit, _data)
func (_L2ToL1MessagePasser *L2ToL1MessagePasserSession) InitiateWithdrawal(_target common.Address, _gasLimit *big.Int, _data []byte) (*types.Transaction, error) {
return _L2ToL1MessagePasser.Contract.InitiateWithdrawal(&_L2ToL1MessagePasser.TransactOpts, _target, _gasLimit, _data)
}
// InitiateWithdrawal is a paid mutator transaction binding the contract method 0xc2b3e5ac.
//
// Solidity: function initiateWithdrawal(address _target, uint256 _gasLimit, bytes _data) payable returns()
func (_Withdrawer *WithdrawerTransactorSession) InitiateWithdrawal(_target common.Address, _gasLimit *big.Int, _data []byte) (*types.Transaction, error) {
return _Withdrawer.Contract.InitiateWithdrawal(&_Withdrawer.TransactOpts, _target, _gasLimit, _data)
func (_L2ToL1MessagePasser *L2ToL1MessagePasserTransactorSession) InitiateWithdrawal(_target common.Address, _gasLimit *big.Int, _data []byte) (*types.Transaction, error) {
return _L2ToL1MessagePasser.Contract.InitiateWithdrawal(&_L2ToL1MessagePasser.TransactOpts, _target, _gasLimit, _data)
}
// Receive is a paid mutator transaction binding the contract receive function.
//
// Solidity: receive() payable returns()
func (_Withdrawer *WithdrawerTransactor) Receive(opts *bind.TransactOpts) (*types.Transaction, error) {
return _Withdrawer.contract.RawTransact(opts, nil) // calldata is disallowed for receive function
func (_L2ToL1MessagePasser *L2ToL1MessagePasserTransactor) Receive(opts *bind.TransactOpts) (*types.Transaction, error) {
return _L2ToL1MessagePasser.contract.RawTransact(opts, nil) // calldata is disallowed for receive function
}
// Receive is a paid mutator transaction binding the contract receive function.
//
// Solidity: receive() payable returns()
func (_Withdrawer *WithdrawerSession) Receive() (*types.Transaction, error) {
return _Withdrawer.Contract.Receive(&_Withdrawer.TransactOpts)
func (_L2ToL1MessagePasser *L2ToL1MessagePasserSession) Receive() (*types.Transaction, error) {
return _L2ToL1MessagePasser.Contract.Receive(&_L2ToL1MessagePasser.TransactOpts)
}
// Receive is a paid mutator transaction binding the contract receive function.
//
// Solidity: receive() payable returns()
func (_Withdrawer *WithdrawerTransactorSession) Receive() (*types.Transaction, error) {
return _Withdrawer.Contract.Receive(&_Withdrawer.TransactOpts)
func (_L2ToL1MessagePasser *L2ToL1MessagePasserTransactorSession) Receive() (*types.Transaction, error) {
return _L2ToL1MessagePasser.Contract.Receive(&_L2ToL1MessagePasser.TransactOpts)
}
// WithdrawerWithdrawalInitiatedIterator is returned from FilterWithdrawalInitiated and is used to iterate over the raw logs and unpacked data for WithdrawalInitiated events raised by the Withdrawer contract.
type WithdrawerWithdrawalInitiatedIterator struct {
Event *WithdrawerWithdrawalInitiated // Event containing the contract specifics and raw log
// L2ToL1MessagePasserWithdrawalInitiatedIterator is returned from FilterWithdrawalInitiated and is used to iterate over the raw logs and unpacked data for WithdrawalInitiated events raised by the L2ToL1MessagePasser contract.
type L2ToL1MessagePasserWithdrawalInitiatedIterator struct {
Event *L2ToL1MessagePasserWithdrawalInitiated // Event containing the contract specifics and raw log
contract *bind.BoundContract // Generic contract to use for unpacking event data
event string // Event name to use for unpacking event data
......@@ -342,7 +342,7 @@ type WithdrawerWithdrawalInitiatedIterator struct {
// Next advances the iterator to the subsequent event, returning whether there
// are any more events found. In case of a retrieval or parsing error, false is
// returned and Error() can be queried for the exact failure.
func (it *WithdrawerWithdrawalInitiatedIterator) Next() bool {
func (it *L2ToL1MessagePasserWithdrawalInitiatedIterator) Next() bool {
// If the iterator failed, stop iterating
if it.fail != nil {
return false
......@@ -351,7 +351,7 @@ func (it *WithdrawerWithdrawalInitiatedIterator) Next() bool {
if it.done {
select {
case log := <-it.logs:
it.Event = new(WithdrawerWithdrawalInitiated)
it.Event = new(L2ToL1MessagePasserWithdrawalInitiated)
if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
it.fail = err
return false
......@@ -366,7 +366,7 @@ func (it *WithdrawerWithdrawalInitiatedIterator) Next() bool {
// Iterator still in progress, wait for either a data or an error event
select {
case log := <-it.logs:
it.Event = new(WithdrawerWithdrawalInitiated)
it.Event = new(L2ToL1MessagePasserWithdrawalInitiated)
if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
it.fail = err
return false
......@@ -382,19 +382,19 @@ func (it *WithdrawerWithdrawalInitiatedIterator) Next() bool {
}
// Error returns any retrieval or parsing error occurred during filtering.
func (it *WithdrawerWithdrawalInitiatedIterator) Error() error {
func (it *L2ToL1MessagePasserWithdrawalInitiatedIterator) Error() error {
return it.fail
}
// Close terminates the iteration process, releasing any pending underlying
// resources.
func (it *WithdrawerWithdrawalInitiatedIterator) Close() error {
func (it *L2ToL1MessagePasserWithdrawalInitiatedIterator) Close() error {
it.sub.Unsubscribe()
return nil
}
// WithdrawerWithdrawalInitiated represents a WithdrawalInitiated event raised by the Withdrawer contract.
type WithdrawerWithdrawalInitiated struct {
// L2ToL1MessagePasserWithdrawalInitiated represents a WithdrawalInitiated event raised by the L2ToL1MessagePasser contract.
type L2ToL1MessagePasserWithdrawalInitiated struct {
Nonce *big.Int
Sender common.Address
Target common.Address
......@@ -407,7 +407,7 @@ type WithdrawerWithdrawalInitiated struct {
// FilterWithdrawalInitiated is a free log retrieval operation binding the contract event 0x87bf7b546c8de873abb0db5b579ec131f8d0cf5b14f39933551cf9ced23a6136.
//
// Solidity: event WithdrawalInitiated(uint256 indexed nonce, address indexed sender, address indexed target, uint256 value, uint256 gasLimit, bytes data)
func (_Withdrawer *WithdrawerFilterer) FilterWithdrawalInitiated(opts *bind.FilterOpts, nonce []*big.Int, sender []common.Address, target []common.Address) (*WithdrawerWithdrawalInitiatedIterator, error) {
func (_L2ToL1MessagePasser *L2ToL1MessagePasserFilterer) FilterWithdrawalInitiated(opts *bind.FilterOpts, nonce []*big.Int, sender []common.Address, target []common.Address) (*L2ToL1MessagePasserWithdrawalInitiatedIterator, error) {
var nonceRule []interface{}
for _, nonceItem := range nonce {
......@@ -422,17 +422,17 @@ func (_Withdrawer *WithdrawerFilterer) FilterWithdrawalInitiated(opts *bind.Filt
targetRule = append(targetRule, targetItem)
}
logs, sub, err := _Withdrawer.contract.FilterLogs(opts, "WithdrawalInitiated", nonceRule, senderRule, targetRule)
logs, sub, err := _L2ToL1MessagePasser.contract.FilterLogs(opts, "WithdrawalInitiated", nonceRule, senderRule, targetRule)
if err != nil {
return nil, err
}
return &WithdrawerWithdrawalInitiatedIterator{contract: _Withdrawer.contract, event: "WithdrawalInitiated", logs: logs, sub: sub}, nil
return &L2ToL1MessagePasserWithdrawalInitiatedIterator{contract: _L2ToL1MessagePasser.contract, event: "WithdrawalInitiated", logs: logs, sub: sub}, nil
}
// WatchWithdrawalInitiated is a free log subscription operation binding the contract event 0x87bf7b546c8de873abb0db5b579ec131f8d0cf5b14f39933551cf9ced23a6136.
//
// Solidity: event WithdrawalInitiated(uint256 indexed nonce, address indexed sender, address indexed target, uint256 value, uint256 gasLimit, bytes data)
func (_Withdrawer *WithdrawerFilterer) WatchWithdrawalInitiated(opts *bind.WatchOpts, sink chan<- *WithdrawerWithdrawalInitiated, nonce []*big.Int, sender []common.Address, target []common.Address) (event.Subscription, error) {
func (_L2ToL1MessagePasser *L2ToL1MessagePasserFilterer) WatchWithdrawalInitiated(opts *bind.WatchOpts, sink chan<- *L2ToL1MessagePasserWithdrawalInitiated, nonce []*big.Int, sender []common.Address, target []common.Address) (event.Subscription, error) {
var nonceRule []interface{}
for _, nonceItem := range nonce {
......@@ -447,7 +447,7 @@ func (_Withdrawer *WithdrawerFilterer) WatchWithdrawalInitiated(opts *bind.Watch
targetRule = append(targetRule, targetItem)
}
logs, sub, err := _Withdrawer.contract.WatchLogs(opts, "WithdrawalInitiated", nonceRule, senderRule, targetRule)
logs, sub, err := _L2ToL1MessagePasser.contract.WatchLogs(opts, "WithdrawalInitiated", nonceRule, senderRule, targetRule)
if err != nil {
return nil, err
}
......@@ -457,8 +457,8 @@ func (_Withdrawer *WithdrawerFilterer) WatchWithdrawalInitiated(opts *bind.Watch
select {
case log := <-logs:
// New log arrived, parse the event and forward to the user
event := new(WithdrawerWithdrawalInitiated)
if err := _Withdrawer.contract.UnpackLog(event, "WithdrawalInitiated", log); err != nil {
event := new(L2ToL1MessagePasserWithdrawalInitiated)
if err := _L2ToL1MessagePasser.contract.UnpackLog(event, "WithdrawalInitiated", log); err != nil {
return err
}
event.Raw = log
......@@ -482,18 +482,18 @@ func (_Withdrawer *WithdrawerFilterer) WatchWithdrawalInitiated(opts *bind.Watch
// ParseWithdrawalInitiated is a log parse operation binding the contract event 0x87bf7b546c8de873abb0db5b579ec131f8d0cf5b14f39933551cf9ced23a6136.
//
// Solidity: event WithdrawalInitiated(uint256 indexed nonce, address indexed sender, address indexed target, uint256 value, uint256 gasLimit, bytes data)
func (_Withdrawer *WithdrawerFilterer) ParseWithdrawalInitiated(log types.Log) (*WithdrawerWithdrawalInitiated, error) {
event := new(WithdrawerWithdrawalInitiated)
if err := _Withdrawer.contract.UnpackLog(event, "WithdrawalInitiated", log); err != nil {
func (_L2ToL1MessagePasser *L2ToL1MessagePasserFilterer) ParseWithdrawalInitiated(log types.Log) (*L2ToL1MessagePasserWithdrawalInitiated, error) {
event := new(L2ToL1MessagePasserWithdrawalInitiated)
if err := _L2ToL1MessagePasser.contract.UnpackLog(event, "WithdrawalInitiated", log); err != nil {
return nil, err
}
event.Raw = log
return event, nil
}
// WithdrawerWithdrawerBalanceBurntIterator is returned from FilterWithdrawerBalanceBurnt and is used to iterate over the raw logs and unpacked data for WithdrawerBalanceBurnt events raised by the Withdrawer contract.
type WithdrawerWithdrawerBalanceBurntIterator struct {
Event *WithdrawerWithdrawerBalanceBurnt // Event containing the contract specifics and raw log
// L2ToL1MessagePasserWithdrawerBalanceBurntIterator is returned from FilterWithdrawerBalanceBurnt and is used to iterate over the raw logs and unpacked data for WithdrawerBalanceBurnt events raised by the L2ToL1MessagePasser contract.
type L2ToL1MessagePasserWithdrawerBalanceBurntIterator struct {
Event *L2ToL1MessagePasserWithdrawerBalanceBurnt // Event containing the contract specifics and raw log
contract *bind.BoundContract // Generic contract to use for unpacking event data
event string // Event name to use for unpacking event data
......@@ -507,7 +507,7 @@ type WithdrawerWithdrawerBalanceBurntIterator struct {
// Next advances the iterator to the subsequent event, returning whether there
// are any more events found. In case of a retrieval or parsing error, false is
// returned and Error() can be queried for the exact failure.
func (it *WithdrawerWithdrawerBalanceBurntIterator) Next() bool {
func (it *L2ToL1MessagePasserWithdrawerBalanceBurntIterator) Next() bool {
// If the iterator failed, stop iterating
if it.fail != nil {
return false
......@@ -516,7 +516,7 @@ func (it *WithdrawerWithdrawerBalanceBurntIterator) Next() bool {
if it.done {
select {
case log := <-it.logs:
it.Event = new(WithdrawerWithdrawerBalanceBurnt)
it.Event = new(L2ToL1MessagePasserWithdrawerBalanceBurnt)
if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
it.fail = err
return false
......@@ -531,7 +531,7 @@ func (it *WithdrawerWithdrawerBalanceBurntIterator) Next() bool {
// Iterator still in progress, wait for either a data or an error event
select {
case log := <-it.logs:
it.Event = new(WithdrawerWithdrawerBalanceBurnt)
it.Event = new(L2ToL1MessagePasserWithdrawerBalanceBurnt)
if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
it.fail = err
return false
......@@ -547,19 +547,19 @@ func (it *WithdrawerWithdrawerBalanceBurntIterator) Next() bool {
}
// Error returns any retrieval or parsing error occurred during filtering.
func (it *WithdrawerWithdrawerBalanceBurntIterator) Error() error {
func (it *L2ToL1MessagePasserWithdrawerBalanceBurntIterator) Error() error {
return it.fail
}
// Close terminates the iteration process, releasing any pending underlying
// resources.
func (it *WithdrawerWithdrawerBalanceBurntIterator) Close() error {
func (it *L2ToL1MessagePasserWithdrawerBalanceBurntIterator) Close() error {
it.sub.Unsubscribe()
return nil
}
// WithdrawerWithdrawerBalanceBurnt represents a WithdrawerBalanceBurnt event raised by the Withdrawer contract.
type WithdrawerWithdrawerBalanceBurnt struct {
// L2ToL1MessagePasserWithdrawerBalanceBurnt represents a WithdrawerBalanceBurnt event raised by the L2ToL1MessagePasser contract.
type L2ToL1MessagePasserWithdrawerBalanceBurnt struct {
Amount *big.Int
Raw types.Log // Blockchain specific contextual infos
}
......@@ -567,31 +567,31 @@ type WithdrawerWithdrawerBalanceBurnt struct {
// FilterWithdrawerBalanceBurnt is a free log retrieval operation binding the contract event 0x7967de617a5ac1cc7eba2d6f37570a0135afa950d8bb77cdd35f0d0b4e85a16f.
//
// Solidity: event WithdrawerBalanceBurnt(uint256 indexed amount)
func (_Withdrawer *WithdrawerFilterer) FilterWithdrawerBalanceBurnt(opts *bind.FilterOpts, amount []*big.Int) (*WithdrawerWithdrawerBalanceBurntIterator, error) {
func (_L2ToL1MessagePasser *L2ToL1MessagePasserFilterer) FilterWithdrawerBalanceBurnt(opts *bind.FilterOpts, amount []*big.Int) (*L2ToL1MessagePasserWithdrawerBalanceBurntIterator, error) {
var amountRule []interface{}
for _, amountItem := range amount {
amountRule = append(amountRule, amountItem)
}
logs, sub, err := _Withdrawer.contract.FilterLogs(opts, "WithdrawerBalanceBurnt", amountRule)
logs, sub, err := _L2ToL1MessagePasser.contract.FilterLogs(opts, "WithdrawerBalanceBurnt", amountRule)
if err != nil {
return nil, err
}
return &WithdrawerWithdrawerBalanceBurntIterator{contract: _Withdrawer.contract, event: "WithdrawerBalanceBurnt", logs: logs, sub: sub}, nil
return &L2ToL1MessagePasserWithdrawerBalanceBurntIterator{contract: _L2ToL1MessagePasser.contract, event: "WithdrawerBalanceBurnt", logs: logs, sub: sub}, nil
}
// WatchWithdrawerBalanceBurnt is a free log subscription operation binding the contract event 0x7967de617a5ac1cc7eba2d6f37570a0135afa950d8bb77cdd35f0d0b4e85a16f.
//
// Solidity: event WithdrawerBalanceBurnt(uint256 indexed amount)
func (_Withdrawer *WithdrawerFilterer) WatchWithdrawerBalanceBurnt(opts *bind.WatchOpts, sink chan<- *WithdrawerWithdrawerBalanceBurnt, amount []*big.Int) (event.Subscription, error) {
func (_L2ToL1MessagePasser *L2ToL1MessagePasserFilterer) WatchWithdrawerBalanceBurnt(opts *bind.WatchOpts, sink chan<- *L2ToL1MessagePasserWithdrawerBalanceBurnt, amount []*big.Int) (event.Subscription, error) {
var amountRule []interface{}
for _, amountItem := range amount {
amountRule = append(amountRule, amountItem)
}
logs, sub, err := _Withdrawer.contract.WatchLogs(opts, "WithdrawerBalanceBurnt", amountRule)
logs, sub, err := _L2ToL1MessagePasser.contract.WatchLogs(opts, "WithdrawerBalanceBurnt", amountRule)
if err != nil {
return nil, err
}
......@@ -601,8 +601,8 @@ func (_Withdrawer *WithdrawerFilterer) WatchWithdrawerBalanceBurnt(opts *bind.Wa
select {
case log := <-logs:
// New log arrived, parse the event and forward to the user
event := new(WithdrawerWithdrawerBalanceBurnt)
if err := _Withdrawer.contract.UnpackLog(event, "WithdrawerBalanceBurnt", log); err != nil {
event := new(L2ToL1MessagePasserWithdrawerBalanceBurnt)
if err := _L2ToL1MessagePasser.contract.UnpackLog(event, "WithdrawerBalanceBurnt", log); err != nil {
return err
}
event.Raw = log
......@@ -626,9 +626,9 @@ func (_Withdrawer *WithdrawerFilterer) WatchWithdrawerBalanceBurnt(opts *bind.Wa
// ParseWithdrawerBalanceBurnt is a log parse operation binding the contract event 0x7967de617a5ac1cc7eba2d6f37570a0135afa950d8bb77cdd35f0d0b4e85a16f.
//
// Solidity: event WithdrawerBalanceBurnt(uint256 indexed amount)
func (_Withdrawer *WithdrawerFilterer) ParseWithdrawerBalanceBurnt(log types.Log) (*WithdrawerWithdrawerBalanceBurnt, error) {
event := new(WithdrawerWithdrawerBalanceBurnt)
if err := _Withdrawer.contract.UnpackLog(event, "WithdrawerBalanceBurnt", log); err != nil {
func (_L2ToL1MessagePasser *L2ToL1MessagePasserFilterer) ParseWithdrawerBalanceBurnt(log types.Log) (*L2ToL1MessagePasserWithdrawerBalanceBurnt, error) {
event := new(L2ToL1MessagePasserWithdrawerBalanceBurnt)
if err := _L2ToL1MessagePasser.contract.UnpackLog(event, "WithdrawerBalanceBurnt", log); err != nil {
return nil, err
}
event.Raw = log
......
// Code generated - DO NOT EDIT.
// This file is a generated binding and any manual changes will be lost.
package bindings
var L2ToL1MessagePasserDeployedBin = "0x6080604052600436106100435760003560e01c806344df8e701461006c57806382e3702d14610081578063affed0e0146100c6578063c2b3e5ac146100ea57600080fd5b366100675761006533620186a0604051806020016040528060008152506100f8565b005b600080fd5b34801561007857600080fd5b506100656101ae565b34801561008d57600080fd5b506100b161009c366004610256565b60006020819052908152604090205460ff1681565b60405190151581526020015b60405180910390f35b3480156100d257600080fd5b506100dc60015481565b6040519081526020016100bd565b6100656100f836600461029e565b600061010a600154338634878761020b565b6000818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915554905191925073ffffffffffffffffffffffffffffffffffffffff8616913391907f87bf7b546c8de873abb0db5b579ec131f8d0cf5b14f39933551cf9ced23a6136906101989034908990899061040d565b60405180910390a4505060018054810190555050565b604051479081906101be9061024a565b6040518091039082f09050801580156101db573d6000803e3d6000fd5b505060405181907f7967de617a5ac1cc7eba2d6f37570a0135afa950d8bb77cdd35f0d0b4e85a16f90600090a250565b600086868686868660405160200161022896959493929190610435565b6040516020818303038152906040528051906020012090509695505050505050565b60088061048d83390190565b60006020828403121561026857600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000606084860312156102b357600080fd5b833573ffffffffffffffffffffffffffffffffffffffff811681146102d757600080fd5b925060208401359150604084013567ffffffffffffffff808211156102fb57600080fd5b818601915086601f83011261030f57600080fd5b8135818111156103215761032161026f565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156103675761036761026f565b8160405282815289602084870101111561038057600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000815180845260005b818110156103c8576020818501810151868301820152016103ac565b818111156103da576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b83815282602082015260606040820152600061042c60608301846103a2565b95945050505050565b868152600073ffffffffffffffffffffffffffffffffffffffff808816602084015280871660408401525084606083015283608083015260c060a083015261048060c08301846103a2565b9897505050505050505056fe608060405230fffea164736f6c634300080a000a"
// Code generated - DO NOT EDIT.
// This file is a generated binding and any manual changes will be lost.
package deposit
package bindings
import (
"errors"
......
// Code generated - DO NOT EDIT.
// This file is a generated binding and any manual changes will be lost.
package deposit
package bindings
var OptimismPortalDeployedBin = "0x6080604052600436106100685760003560e01c8063e9e05c4211610043578063e9e05c421461015f578063eecf1c3614610172578063ff61cc931461018557600080fd5b80621c2ff6146100945780639bf62d82146100f2578063a14238e71461011f57600080fd5b3661008f5761008d3334620186a06000604051806020016040528060008152506101c7565b005b600080fd5b3480156100a057600080fd5b506100c87f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100fe57600080fd5b506000546100c89073ffffffffffffffffffffffffffffffffffffffff1681565b34801561012b57600080fd5b5061014f61013a366004611e74565b60016020526000908152604090205460ff1681565b60405190151581526020016100e9565b61008d61016d366004611f34565b6101c7565b61008d61018036600461207e565b6102b6565b34801561019157600080fd5b506101b97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100e9565b8180156101e9575073ffffffffffffffffffffffffffffffffffffffff851615155b15610220576040517ff98844ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33328114610241575033731111000000000000000000000000000000001111015b8573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f78231ae6eb73366f912bb1d64351601fb76344c537bbab635ce14d0f376f019534888888886040516102a69594939291906121e9565b60405180910390a3505050505050565b73ffffffffffffffffffffffffffffffffffffffff891630141561033b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f43616e6e6f742073656e64206d65737361676520746f2073656c662e0000000060448201526064015b60405180910390fd5b6040517fa25ae557000000000000000000000000000000000000000000000000000000008152600481018590526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063a25ae557906024016040805180830381865afa1580156103c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ec9190612220565b90507f0000000000000000000000000000000000000000000000000000000000000000816020015161041e919061229e565b4211610486576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f706f73616c206973206e6f74207965742066696e616c697a65642e00006044820152606401610332565b61049d610498368690038601866122b6565b6107c0565b8151146104d6576040517f9cc00b5b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061051c8d8d8d8d8d8d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061081c92505050565b905061056381866040013586868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061085b92505050565b610599576040517feb00eb2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008181526001602081905260409091205460ff16151514156105e8576040517fae89945400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081815260016020819052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909117905561062e89614e2061229e565b5a10156106bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f496e73756666696369656e742067617320746f2066696e616c697a652077697460448201527f6864726177616c2e0000000000000000000000000000000000000000000000006064820152608401610332565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8e16178155604080516020601f8b01819004810282018101909252898152610742918e918d918f9186918f908f908190840183828082843760009201919091525061092492505050565b50600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead17905560405190915082907fdb5c7652857aa163daadd670e116628fb42e869d8ac4251ef8971d9e5727df1b906107a890841515815260200190565b60405180910390a25050505050505050505050505050565b600081600001518260200151836040015184606001516040516020016107ff949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b60008686868686866040516020016108399695949392919061231c565b6040516020818303038152906040528051906020012090509695505050505050565b604080516020810185905260009181018290528190606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012090830181905292506109199101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828201909152600182527f010000000000000000000000000000000000000000000000000000000000000060208301529085876109af565b9150505b9392505050565b6000606060008060008661ffff1667ffffffffffffffff81111561094a5761094a611eb6565b6040519080825280601f01601f191660200182016040528015610974576020820181803683370190505b5090506000808751602089018b8e8ef191503d925086831115610995578692505b828152826000602083013e90999098509650505050505050565b6000806109bb866109d3565b90506109c981868686610a05565b9695505050505050565b606081805190602001206040516020016109ef91815260200190565b6040516020818303038152906040529050919050565b6000806000610a15878686610a36565b91509150818015610a2b5750610a2b8682610b2b565b979650505050505050565b600060606000610a4585610b47565b90506000806000610a57848a89610c42565b81519295509093509150158080610a6b5750815b610ad1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e0000000000006044820152606401610332565b600081610aed5760405180602001604052806000815250610b19565b610b1986610afc600188612373565b81518110610b0c57610b0c61238a565b602002602001015161115f565b919b919a509098505050505050505050565b6000818051906020012083805190602001201490505b92915050565b60606000610b5483611189565b90506000815167ffffffffffffffff811115610b7257610b72611eb6565b604051908082528060200260200182016040528015610bb757816020015b6040805180820190915260608082526020820152815260200190600190039081610b905790505b50905060005b8251811015610c3a576000610bea848381518110610bdd57610bdd61238a565b60200260200101516111bc565b90506040518060400160405280828152602001610c0683611189565b815250838381518110610c1b57610c1b61238a565b6020026020010181905250508080610c32906123b9565b915050610bbd565b509392505050565b60006060818080610c5287611266565b90506000869050600080610c79604051806040016040528060608152602001606081525090565b60005b8c5181101561111b578c8181518110610c9757610c9761238a565b602002602001015191508284610cad919061229e565b9350610cba60018861229e565b965083610d3857815180516020909101208514610d33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f496e76616c696420726f6f7420686173680000000000000000000000000000006044820152606401610332565b610e29565b815151602011610db457815180516020909101208514610d33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c206861736800000000006044820152606401610332565b84610dc283600001516113e9565b14610e29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f646520686173680000000000006044820152606401610332565b610e356010600161229e565b8260200151511415610eae578551841415610e4f5761111b565b6000868581518110610e6357610e6361238a565b602001015160f81c60f81b60f81c9050600083602001518260ff1681518110610e8e57610e8e61238a565b60200260200101519050610ea181611411565b9650600194505050611109565b600282602001515114156110a7576000610ec783611447565b9050600081600081518110610ede57610ede61238a565b016020015160f81c90506000610ef5600283612421565b610f00906002612443565b90506000610f11848360ff1661146b565b90506000610f1f8b8a61146b565b90506000610f2d83836114a1565b905060ff851660021480610f44575060ff85166003145b15610f9a57808351148015610f595750808251145b15610f6b57610f68818b61229e565b99505b507f8000000000000000000000000000000000000000000000000000000000000000995061111b945050505050565b60ff85161580610fad575060ff85166001145b1561101f5782518114610fe957507f8000000000000000000000000000000000000000000000000000000000000000995061111b945050505050565b61101088602001516001815181106110035761100361238a565b6020026020010151611411565b9a509750611109945050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e2060448201527f70726566697800000000000000000000000000000000000000000000000000006064820152608401610332565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e0000006044820152606401610332565b80611113816123b9565b915050610c7c565b507f800000000000000000000000000000000000000000000000000000000000000084148661114a878661146b565b909e909d50909b509950505050505050505050565b60208101518051606091610b419161117990600190612373565b81518110610bdd57610bdd61238a565b604080518082018252600080825260209182015281518083019092528251825280830190820152606090610b419061154d565b606060008060006111cc85611780565b9194509250905060008160018111156111e7576111e7612466565b1461124e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e00000000000000006044820152606401610332565b61125d85602001518484611b87565b95945050505050565b60606000825160026112789190612495565b67ffffffffffffffff81111561129057611290611eb6565b6040519080825280601f01601f1916602001820160405280156112ba576020820181803683370190505b50905060005b83518110156113e25760048482815181106112dd576112dd61238a565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016901c82611312836002612495565b815181106113225761132261238a565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060108482815181106113655761136561238a565b0160200151611377919060f81c612421565b60f81b82611386836002612495565b61139190600161229e565b815181106113a1576113a161238a565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806113da816123b9565b9150506112c0565b5092915050565b60006020825110156113fd57506020015190565b81806020019051810190610b4191906124d2565b600060606020836000015110156114325761142b83611c66565b905061143e565b61143b836111bc565b90505b61091d816113e9565b6060610b416114668360200151600081518110610bdd57610bdd61238a565b611266565b60608251821061148a5750604080516020810190915260008152610b41565b61091d838384865161149c9190612373565b611c71565b6000805b8084511180156114b55750808351115b801561153657508281815181106114ce576114ce61238a565b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191684828151811061150d5761150d61238a565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b1561091d5780611545816123b9565b9150506114a5565b606060008061155b84611780565b9193509091506001905081600181111561157757611577612466565b146115de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e0000000000000000006044820152606401610332565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816115f75790505090506000835b865181101561177557602082106116bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201527f7374206c656e6774682e000000000000000000000000000000000000000000006064820152608401610332565b6000806116fa6040518060400160405280858c600001516116de9190612373565b8152602001858c602001516116f3919061229e565b9052611780565b509150915060405180604001604052808383611716919061229e565b8152602001848b6020015161172b919061229e565b8152508585815181106117405761174061238a565b602090810291909101015261175660018561229e565b9350611762818361229e565b61176c908461229e565b92505050611624565b508152949350505050565b6000806000808460000151116117f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e00000000000000006044820152606401610332565b6020840151805160001a607f8111611817576000600160009450945094505050611b80565b60b781116118ad57600061182c608083612373565b90508087600001511161189b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e000000000000006044820152606401610332565b60019550935060009250611b80915050565b60bf81116119d05760006118c260b783612373565b905080876000015111611931576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e006044820152606401610332565b600183015160208290036101000a900461194b818361229e565b8851116119b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e00000000000000006044820152606401610332565b6119bf82600161229e565b9650945060009350611b8092505050565b60f78111611a655760006119e560c083612373565b905080876000015111611a54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e0000000000000000006044820152606401610332565b600195509350849250611b80915050565b6000611a7260f783612373565b905080876000015111611ae1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e0000006044820152606401610332565b600183015160208290036101000a9004611afb818361229e565b885111611b64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e76616c696420524c50206c6f6e67206c6973742e000000000000000000006044820152606401610332565b611b6f82600161229e565b9650945060019350611b8092505050565b9193909250565b606060008267ffffffffffffffff811115611ba457611ba4611eb6565b6040519080825280601f01601f191660200182016040528015611bce576020820181803683370190505b509050805160001415611be257905061091d565b6000611bee858761229e565b90506020820160005b611c026020876124eb565b811015611c395782518252611c1860208461229e565b9250611c2560208361229e565b915080611c31816123b9565b915050611bf7565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b6060610b4182611e5e565b606081611c7f81601f61229e565b1015611ce7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610332565b82611cf2838261229e565b1015611d5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610332565b611d64828461229e565b84511015611dce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610332565b606082158015611ded5760405191506000825260208201604052611e55565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611e26578051835260209283019201611e0e565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6060610b41826020015160008460000151611b87565b600060208284031215611e8657600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611eb157600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611f2c57611f2c611eb6565b604052919050565b600080600080600060a08688031215611f4c57600080fd5b611f5586611e8d565b94506020808701359450604087013567ffffffffffffffff8082168214611f7b57600080fd5b9094506060880135908115158214611f9257600080fd5b90935060808801359080821115611fa857600080fd5b818901915089601f830112611fbc57600080fd5b813581811115611fce57611fce611eb6565b611ffe847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611ee5565b91508082528a8482850101111561201457600080fd5b80848401858401376000848284010152508093505050509295509295909350565b60008083601f84011261204757600080fd5b50813567ffffffffffffffff81111561205f57600080fd5b60208301915083602082850101111561207757600080fd5b9250929050565b60008060008060008060008060008060006101808c8e0312156120a057600080fd5b8b359a506120b060208d01611e8d565b99506120be60408d01611e8d565b985060608c0135975060808c0135965067ffffffffffffffff60a08d013511156120e757600080fd5b6120f78d60a08e01358e01612035565b909650945060c08c0135935060808c8e037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2001121561213557600080fd5b60e08c01925067ffffffffffffffff6101608d0135111561215557600080fd5b6121668d6101608e01358e01612035565b81935080925050509295989b509295989b9093969950565b6000815180845260005b818110156121a457602081850181015186830182015201612188565b818111156121b6576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b85815284602082015267ffffffffffffffff84166040820152821515606082015260a060808201526000610a2b60a083018461217e565b60006040828403121561223257600080fd5b6040516040810181811067ffffffffffffffff8211171561225557612255611eb6565b604052825181526020928301519281019290925250919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082198211156122b1576122b161226f565b500190565b6000608082840312156122c857600080fd5b6040516080810181811067ffffffffffffffff821117156122eb576122eb611eb6565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b868152600073ffffffffffffffffffffffffffffffffffffffff808816602084015280871660408401525084606083015283608083015260c060a083015261236760c083018461217e565b98975050505050505050565b6000828210156123855761238561226f565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156123eb576123eb61226f565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600060ff831680612434576124346123f2565b8060ff84160691505092915050565b600060ff821660ff84168082101561245d5761245d61226f565b90039392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156124cd576124cd61226f565b500290565b6000602082840312156124e457600080fd5b5051919050565b6000826124fa576124fa6123f2565b50049056fea164736f6c634300080a000a"
#/bin/bash
set -eu
CONTRACTS_PATH="../contracts-bedrock/"
if [ "$#" -ne 2 ]; then
echo "This script takes 2 arguments - CONTRACT_NAME PACKAGE"
exit 1
fi
TYPE=$1
PACKAGE=$2
# Convert to lower case to respect golang package naming conventions
TYPE_LOWER=$(echo ${TYPE} | tr '[:upper:]' '[:lower:]')
FILENAME="${TYPE_LOWER}_deployed.go"
mkdir -p bin
TEMP=$(mktemp -d)
CWD=$(pwd)
# Build contracts
cd ${CONTRACTS_PATH}
forge build
forge inspect ${TYPE} abi > ${TEMP}/${TYPE}.abi
forge inspect ${TYPE} bytecode > ${TEMP}/${TYPE}.bin
forge inspect ${TYPE} deployedBytecode > ${CWD}/bin/${TYPE_LOWER}_deployed.hex
# Run ABIGEN
cd ${CWD}
abigen \
--abi ${TEMP}/${TYPE}.abi \
--bin ${TEMP}/${TYPE}.bin \
--pkg ${PACKAGE} \
--type ${TYPE} \
--out ./${PACKAGE}/${TYPE_LOWER}.go
#/bin/bash
set -eu
if [ "$#" -ne 2 ]; then
echo "This script takes 2 arguments - CONTRACT_NAME PACKAGE"
exit 1
fi
TYPE=$1
PACKAGE=$2
# Convert to lower case to respect golang package naming conventions
TYPE_LOWER=$(echo ${TYPE} | tr '[:upper:]' '[:lower:]')
FILENAME="${TYPE_LOWER}_deployed.go"
FILE="${PACKAGE}/${FILENAME}"
DEPLOYED_BYTECODE=$(cat "bin/${TYPE_LOWER}_deployed.hex")
echo "// Code generated - DO NOT EDIT." > ${FILE}
echo "// This file is a generated binding and any manual changes will be lost." >> ${FILE}
echo "package ${PACKAGE}" >> ${FILE}
echo "var ${TYPE}DeployedBin = \"${DEPLOYED_BYTECODE}\"" >> ${FILE}
gofmt -s -w ${FILE}
// Code generated - DO NOT EDIT.
// This file is a generated binding and any manual changes will be lost.
package withdrawer
var WithdrawerDeployedBin = "0x6080604052600436106100435760003560e01c806344df8e701461006c57806382e3702d14610081578063affed0e0146100c6578063c2b3e5ac146100ea57600080fd5b366100675761006533620186a0604051806020016040528060008152506100f8565b005b600080fd5b34801561007857600080fd5b506100656101ae565b34801561008d57600080fd5b506100b161009c366004610256565b60006020819052908152604090205460ff1681565b60405190151581526020015b60405180910390f35b3480156100d257600080fd5b506100dc60015481565b6040519081526020016100bd565b6100656100f836600461029e565b600061010a600154338634878761020b565b6000818152602081905260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915554905191925073ffffffffffffffffffffffffffffffffffffffff8616913391907f87bf7b546c8de873abb0db5b579ec131f8d0cf5b14f39933551cf9ced23a6136906101989034908990899061040d565b60405180910390a4505060018054810190555050565b604051479081906101be9061024a565b6040518091039082f09050801580156101db573d6000803e3d6000fd5b505060405181907f7967de617a5ac1cc7eba2d6f37570a0135afa950d8bb77cdd35f0d0b4e85a16f90600090a250565b600086868686868660405160200161022896959493929190610435565b6040516020818303038152906040528051906020012090509695505050505050565b60088061048d83390190565b60006020828403121561026857600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000606084860312156102b357600080fd5b833573ffffffffffffffffffffffffffffffffffffffff811681146102d757600080fd5b925060208401359150604084013567ffffffffffffffff808211156102fb57600080fd5b818601915086601f83011261030f57600080fd5b8135818111156103215761032161026f565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156103675761036761026f565b8160405282815289602084870101111561038057600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000815180845260005b818110156103c8576020818501810151868301820152016103ac565b818111156103da576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b83815282602082015260606040820152600061042c60608301846103a2565b95945050505050565b868152600073ffffffffffffffffffffffffffffffffffffffff808816602084015280871660408401525084606083015283608083015260c060a083015261048060c08301846103a2565b9897505050505050505056fe608060405230fffea164736f6c634300080a000a"
......@@ -10,10 +10,7 @@ import (
"time"
bss "github.com/ethereum-optimism/optimism/op-batcher"
"github.com/ethereum-optimism/optimism/op-bindings/deposit"
"github.com/ethereum-optimism/optimism/op-bindings/l1block"
"github.com/ethereum-optimism/optimism/op-bindings/l2oo"
"github.com/ethereum-optimism/optimism/op-bindings/withdrawer"
"github.com/ethereum-optimism/optimism/op-bindings/bindings"
rollupNode "github.com/ethereum-optimism/optimism/op-node/node"
"github.com/ethereum-optimism/optimism/op-node/p2p"
"github.com/ethereum-optimism/optimism/op-node/predeploy"
......@@ -233,8 +230,8 @@ func (cfg SystemConfig) start() (*System, error) {
l2Alloc[addr] = core.GenesisAccount{Balance: balance}
}
l2Alloc[cfg.L1InfoPredeployAddress] = core.GenesisAccount{Code: common.FromHex(l1block.L1blockDeployedBin), Balance: common.Big0}
l2Alloc[predeploy.WithdrawalContractAddress] = core.GenesisAccount{Code: common.FromHex(withdrawer.WithdrawerDeployedBin), Balance: common.Big0}
l2Alloc[cfg.L1InfoPredeployAddress] = core.GenesisAccount{Code: common.FromHex(bindings.L1BlockDeployedBin), Balance: common.Big0}
l2Alloc[predeploy.WithdrawalContractAddress] = core.GenesisAccount{Code: common.FromHex(bindings.L2ToL1MessagePasserDeployedBin), Balance: common.Big0}
genesisTimestamp := uint64(time.Now().Unix())
......@@ -383,7 +380,7 @@ func (cfg SystemConfig) start() (*System, error) {
}
// Deploy contracts
sys.L2OOContractAddr, _, _, err = l2oo.DeployL2OutputOracle(
sys.L2OOContractAddr, _, _, err = bindings.DeployL2OutputOracle(
opts,
l1Client,
sys.cfg.L2OOCfg.SubmissionFrequency,
......@@ -398,7 +395,7 @@ func (cfg SystemConfig) start() (*System, error) {
return nil, err
}
var tx *types.Transaction
sys.DepositContractAddr, tx, _, err = deposit.DeployOptimismPortal(
sys.DepositContractAddr, tx, _, err = bindings.DeployOptimismPortal(
opts,
l1Client,
sys.cfg.DepositCFG.L2Oracle,
......
......@@ -8,10 +8,7 @@ import (
"testing"
"time"
"github.com/ethereum-optimism/optimism/op-bindings/deposit"
"github.com/ethereum-optimism/optimism/op-bindings/l1block"
"github.com/ethereum-optimism/optimism/op-bindings/l2oo"
"github.com/ethereum-optimism/optimism/op-bindings/withdrawer"
"github.com/ethereum-optimism/optimism/op-bindings/bindings"
"github.com/ethereum-optimism/optimism/op-node/l2"
"github.com/ethereum-optimism/optimism/op-node/node"
rollupNode "github.com/ethereum-optimism/optimism/op-node/node"
......@@ -152,7 +149,7 @@ func TestL2OutputSubmitter(t *testing.T) {
rollupClient := rollupclient.NewRollupClient(rollupRPCClient)
// StateRootOracle is already deployed
l2OutputOracle, err := l2oo.NewL2OutputOracleCaller(sys.L2OOContractAddr, l1Client)
l2OutputOracle, err := bindings.NewL2OutputOracleCaller(sys.L2OOContractAddr, l1Client)
require.Nil(t, err)
initialSroTimestamp, err := l2OutputOracle.LatestBlockTimestamp(&bind.CallOpts{})
......@@ -239,7 +236,7 @@ func TestSystemE2E(t *testing.T) {
fromAddr := common.HexToAddress("0x30ec912c5b1d14aa6d1cb9aa7a6682415c4f7eb0")
// Find deposit contract
depositContract, err := deposit.NewOptimismPortal(sys.DepositContractAddr, l1Client)
depositContract, err := bindings.NewOptimismPortal(sys.DepositContractAddr, l1Client)
require.Nil(t, err)
l1Node := sys.nodes["l1"]
......@@ -322,7 +319,7 @@ func TestMintOnRevertedDeposit(t *testing.T) {
l2Verif := sys.Clients["verifier"]
// Find deposit contract
depositContract, err := deposit.NewOptimismPortal(sys.DepositContractAddr, l1Client)
depositContract, err := bindings.NewOptimismPortal(sys.DepositContractAddr, l1Client)
require.Nil(t, err)
l1Node := sys.nodes["l1"]
......@@ -442,7 +439,7 @@ func TestMissingBatchE2E(t *testing.T) {
require.NotEqual(t, block.Hash(), receipt.BlockHash, "L2 Sequencer did not reorg out transaction on it's safe chain")
}
func L1InfoFromState(ctx context.Context, contract *l1block.L1Block, l2Number *big.Int) (derive.L1BlockInfo, error) {
func L1InfoFromState(ctx context.Context, contract *bindings.L1Block, l2Number *big.Int) (derive.L1BlockInfo, error) {
var err error
var out derive.L1BlockInfo
opts := bind.CallOpts{
......@@ -576,16 +573,16 @@ func TestL1InfoContract(t *testing.T) {
endSeqBlock, err := waitForBlock(endSeqBlockNumber, l2Seq, time.Minute)
require.Nil(t, err)
seqL1Info, err := l1block.NewL1Block(cfg.L1InfoPredeployAddress, l2Seq)
seqL1Info, err := bindings.NewL1Block(cfg.L1InfoPredeployAddress, l2Seq)
require.Nil(t, err)
verifL1Info, err := l1block.NewL1Block(cfg.L1InfoPredeployAddress, l2Verif)
verifL1Info, err := bindings.NewL1Block(cfg.L1InfoPredeployAddress, l2Verif)
require.Nil(t, err)
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Minute)
defer cancel()
fillInfoLists := func(start *types.Block, contract *l1block.L1Block, client *ethclient.Client) ([]derive.L1BlockInfo, []derive.L1BlockInfo) {
fillInfoLists := func(start *types.Block, contract *bindings.L1Block, client *ethclient.Client) ([]derive.L1BlockInfo, []derive.L1BlockInfo) {
var txList, stateList []derive.L1BlockInfo
for b := start; ; {
var infoFromTx derive.L1BlockInfo
......@@ -685,7 +682,7 @@ func TestWithdrawals(t *testing.T) {
fromAddr := crypto.PubkeyToAddress(ethPrivKey.PublicKey)
// Find deposit contract
depositContract, err := deposit.NewOptimismPortal(sys.DepositContractAddr, l1Client)
depositContract, err := bindings.NewOptimismPortal(sys.DepositContractAddr, l1Client)
require.Nil(t, err)
// Create L1 signer
......@@ -708,7 +705,7 @@ func TestWithdrawals(t *testing.T) {
require.Nil(t, err, "Waiting for deposit tx on L1")
// Bind L2 Withdrawer Contract
l2withdrawer, err := withdrawer.NewWithdrawer(predeploy.WithdrawalContractAddress, l2Seq)
l2withdrawer, err := bindings.NewL2ToL1MessagePasser(predeploy.WithdrawalContractAddress, l2Seq)
require.Nil(t, err, "binding withdrawer on L2")
// Wait for deposit to arrive
......@@ -771,7 +768,7 @@ func TestWithdrawals(t *testing.T) {
require.Nil(t, err)
// Wait for finalization and then create the Finalized Withdrawal Transaction
l2OutputOracle, err := l2oo.NewL2OutputOracleCaller(sys.L2OOContractAddr, l1Client)
l2OutputOracle, err := bindings.NewL2OutputOracleCaller(sys.L2OOContractAddr, l1Client)
require.Nil(t, err)
ctx, cancel = context.WithTimeout(context.Background(), 10*time.Duration(cfg.L1BlockTime)*time.Second)
......@@ -797,7 +794,7 @@ func TestWithdrawals(t *testing.T) {
params, err := withdrawals.FinalizeWithdrawalParameters(context.Background(), l2client, tx.Hash(), header)
require.Nil(t, err)
portal, err := deposit.NewOptimismPortal(sys.DepositContractAddr, l1Client)
portal, err := bindings.NewOptimismPortal(sys.DepositContractAddr, l1Client)
require.Nil(t, err)
opts.Value = nil
......
......@@ -5,8 +5,7 @@ import (
"math/big"
"testing"
"github.com/ethereum-optimism/optimism/op-bindings/deposit"
"github.com/ethereum-optimism/optimism/op-bindings/l1block"
"github.com/ethereum-optimism/optimism/op-bindings/bindings"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core/rawdb"
......@@ -22,8 +21,8 @@ var (
addr = common.Address{0x42, 0xff}
opts, _ = bind.NewKeyedTransactorWithChainID(pk, common.Big1)
from = crypto.PubkeyToAddress(pk.PublicKey)
portalContract, _ = deposit.NewOptimismPortal(addr, nil)
l1BlockInfoContract, _ = l1block.NewL1Block(addr, nil)
portalContract, _ = bindings.NewOptimismPortal(addr, nil)
l1BlockInfoContract, _ = bindings.NewL1Block(addr, nil)
)
func cap_byte_slice(b []byte, c int) []byte {
......@@ -174,7 +173,7 @@ func FuzzUnmarshallLogEvent(f *testing.F) {
t.Fatal(err)
}
state.SetBalance(from, BytesToBigInt([]byte{0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}))
state.SetCode(addr, common.FromHex(deposit.OptimismPortalDeployedBin))
state.SetCode(addr, common.FromHex(bindings.OptimismPortalDeployedBin))
_, err = state.Commit(false)
if err != nil {
t.Fatal(err)
......@@ -208,7 +207,7 @@ func FuzzUnmarshallLogEvent(f *testing.F) {
t.Fatalf("Could not unmarshal log that was emitted by the deposit contract: %v", err)
}
reconstructed := &deposit.OptimismPortalTransactionDeposited{
reconstructed := &bindings.OptimismPortalTransactionDeposited{
From: dep.From,
Value: dep.Value,
GasLimit: dep.Gas,
......@@ -229,7 +228,7 @@ func FuzzUnmarshallLogEvent(f *testing.F) {
t.Fatalf("The deposit tx did not match. tx: %v. actual: %v", reconstructed, depositEvent)
}
inputArgs := &deposit.OptimismPortalTransactionDeposited{
inputArgs := &bindings.OptimismPortalTransactionDeposited{
From: from,
To: to,
Mint: mint,
......
......@@ -7,9 +7,7 @@ import (
"math/big"
"time"
"github.com/ethereum-optimism/optimism/op-bindings/deposit"
"github.com/ethereum-optimism/optimism/op-bindings/l2oo"
"github.com/ethereum-optimism/optimism/op-bindings/withdrawer"
"github.com/ethereum-optimism/optimism/op-bindings/bindings"
"github.com/ethereum-optimism/optimism/op-node/predeploy"
"github.com/ethereum/go-ethereum/accounts/abi"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
......@@ -30,7 +28,7 @@ func WaitForFinalizationPeriod(ctx context.Context, client *ethclient.Client, po
opts := &bind.CallOpts{Context: ctx}
timestampBig := new(big.Int).SetUint64(timestamp)
portal, err := deposit.NewOptimismPortalCaller(portalAddr, client)
portal, err := bindings.NewOptimismPortalCaller(portalAddr, client)
if err != nil {
return 0, err
}
......@@ -38,7 +36,7 @@ func WaitForFinalizationPeriod(ctx context.Context, client *ethclient.Client, po
if err != nil {
return 0, err
}
l2OO, err := l2oo.NewL2OutputOracleCaller(l2OOAddress, client)
l2OO, err := bindings.NewL2OutputOracleCaller(l2OOAddress, client)
if err != nil {
return 0, err
}
......@@ -142,7 +140,7 @@ type FinalizedWithdrawalParameters struct {
GasLimit *big.Int
Timestamp *big.Int
Data []byte
OutputRootProof deposit.WithdrawalVerifierOutputRootProof
OutputRootProof bindings.WithdrawalVerifierOutputRootProof
WithdrawalProof []byte // RLP Encoded list of trie nodes to prove L2 storage
}
......@@ -198,7 +196,7 @@ func FinalizeWithdrawalParameters(ctx context.Context, l2client ProofClient, txH
GasLimit: ev.GasLimit,
Timestamp: new(big.Int).SetUint64(header.Time),
Data: ev.Data,
OutputRootProof: deposit.WithdrawalVerifierOutputRootProof{
OutputRootProof: bindings.WithdrawalVerifierOutputRootProof{
Version: [32]byte{}, // Empty for version 1
StateRoot: header.Root,
WithdrawerStorageRoot: p.StorageHash,
......@@ -220,7 +218,7 @@ var (
// - I don't like having to use the ABI Generated struct
// - There should be a better way to run the ABI encoding
// - These needs to be fuzzed against the solidity
func WithdrawalHash(ev *withdrawer.WithdrawerWithdrawalInitiated) (common.Hash, error) {
func WithdrawalHash(ev *bindings.L2ToL1MessagePasserWithdrawalInitiated) (common.Hash, error) {
// abi.encode(nonce, msg.sender, _target, msg.value, _gasLimit, _data)
args := abi.Arguments{
{Name: "nonce", Type: Uint256Type},
......@@ -238,8 +236,8 @@ func WithdrawalHash(ev *withdrawer.WithdrawerWithdrawalInitiated) (common.Hash,
}
// ParseWithdrawalInitiated parses
func ParseWithdrawalInitiated(receipt *types.Receipt) (*withdrawer.WithdrawerWithdrawalInitiated, error) {
contract, err := withdrawer.NewWithdrawer(common.Address{}, nil)
func ParseWithdrawalInitiated(receipt *types.Receipt) (*bindings.L2ToL1MessagePasserWithdrawalInitiated, error) {
contract, err := bindings.NewL2ToL1MessagePasser(common.Address{}, nil)
if err != nil {
return nil, err
}
......
......@@ -7,7 +7,7 @@ import (
"math/big"
"strings"
"github.com/ethereum-optimism/optimism/op-bindings/l2oo"
"github.com/ethereum-optimism/optimism/op-bindings/bindings"
"github.com/ethereum-optimism/optimism/op-node/l2"
"github.com/ethereum-optimism/optimism/op-proposer/rollupclient"
"github.com/ethereum/go-ethereum/accounts/abi"
......@@ -35,14 +35,14 @@ type Config struct {
type Driver struct {
cfg Config
l2ooContract *l2oo.L2OutputOracle
l2ooContract *bindings.L2OutputOracle
rawL2ooContract *bind.BoundContract
walletAddr common.Address
l log.Logger
}
func NewDriver(cfg Config) (*Driver, error) {
l2ooContract, err := l2oo.NewL2OutputOracle(
l2ooContract, err := bindings.NewL2OutputOracle(
cfg.L2OOAddr, cfg.L1Client,
)
if err != nil {
......@@ -50,7 +50,7 @@ func NewDriver(cfg Config) (*Driver, error) {
}
parsed, err := abi.JSON(strings.NewReader(
l2oo.L2OutputOracleMetaData.ABI,
bindings.L2OutputOracleMetaData.ABI,
))
if err != nil {
return nil, err
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment