Documentation ¶
Index ¶
- Variables
- type Ics23Proof
- type L1Header
- type OpIcs23Proof
- type OpIcs23ProofPath
- type OpL2StateProof
- type OptimisticProofVerifier
- type OptimisticProofVerifierCaller
- func (_OptimisticProofVerifier *OptimisticProofVerifierCaller) L2OutputOracleAddress(opts *bind.CallOpts) (common.Address, error)
- func (_OptimisticProofVerifier *OptimisticProofVerifierCaller) VerifyMembership(opts *bind.CallOpts, appHash [32]byte, key []byte, value []byte, ...) error
- func (_OptimisticProofVerifier *OptimisticProofVerifierCaller) VerifyNonMembership(opts *bind.CallOpts, arg0 [32]byte, arg1 []byte, arg2 Ics23Proof) error
- func (_OptimisticProofVerifier *OptimisticProofVerifierCaller) VerifyStateUpdate(opts *bind.CallOpts, l1header L1Header, proof OpL2StateProof, appHash [32]byte, ...) error
- type OptimisticProofVerifierCallerRaw
- type OptimisticProofVerifierCallerSession
- func (_OptimisticProofVerifier *OptimisticProofVerifierCallerSession) L2OutputOracleAddress() (common.Address, error)
- func (_OptimisticProofVerifier *OptimisticProofVerifierCallerSession) VerifyMembership(appHash [32]byte, key []byte, value []byte, proofs Ics23Proof) error
- func (_OptimisticProofVerifier *OptimisticProofVerifierCallerSession) VerifyNonMembership(arg0 [32]byte, arg1 []byte, arg2 Ics23Proof) error
- func (_OptimisticProofVerifier *OptimisticProofVerifierCallerSession) VerifyStateUpdate(l1header L1Header, proof OpL2StateProof, appHash [32]byte, ...) error
- type OptimisticProofVerifierFilterer
- type OptimisticProofVerifierRaw
- func (_OptimisticProofVerifier *OptimisticProofVerifierRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, ...) error
- func (_OptimisticProofVerifier *OptimisticProofVerifierRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)
- func (_OptimisticProofVerifier *OptimisticProofVerifierRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)
- type OptimisticProofVerifierSession
- func (_OptimisticProofVerifier *OptimisticProofVerifierSession) L2OutputOracleAddress() (common.Address, error)
- func (_OptimisticProofVerifier *OptimisticProofVerifierSession) VerifyMembership(appHash [32]byte, key []byte, value []byte, proofs Ics23Proof) error
- func (_OptimisticProofVerifier *OptimisticProofVerifierSession) VerifyNonMembership(arg0 [32]byte, arg1 []byte, arg2 Ics23Proof) error
- func (_OptimisticProofVerifier *OptimisticProofVerifierSession) VerifyStateUpdate(l1header L1Header, proof OpL2StateProof, appHash [32]byte, ...) error
- type OptimisticProofVerifierTransactor
- type OptimisticProofVerifierTransactorRaw
- func (_OptimisticProofVerifier *OptimisticProofVerifierTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)
- func (_OptimisticProofVerifier *OptimisticProofVerifierTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)
- type OptimisticProofVerifierTransactorSession
Constants ¶
This section is empty.
Variables ¶
var OptimisticProofVerifierABI = OptimisticProofVerifierMetaData.ABI
OptimisticProofVerifierABI is the input ABI used to generate the binding from. Deprecated: Use OptimisticProofVerifierMetaData.ABI instead.
var OptimisticProofVerifierMetaData = &bind.MetaData{
ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"_l2OutputOracleAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"l2OutputOracleAddress\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"verifyMembership\",\"inputs\":[{\"name\":\"appHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"key\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"value\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"proofs\",\"type\":\"tuple\",\"internalType\":\"structIcs23Proof\",\"components\":[{\"name\":\"proof\",\"type\":\"tuple[]\",\"internalType\":\"structOpIcs23Proof[]\",\"components\":[{\"name\":\"path\",\"type\":\"tuple[]\",\"internalType\":\"structOpIcs23ProofPath[]\",\"components\":[{\"name\":\"prefix\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"suffix\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"name\":\"key\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"value\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"prefix\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"name\":\"height\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]}],\"outputs\":[],\"stateMutability\":\"pure\"},{\"type\":\"function\",\"name\":\"verifyNonMembership\",\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"\",\"type\":\"tuple\",\"internalType\":\"structIcs23Proof\",\"components\":[{\"name\":\"proof\",\"type\":\"tuple[]\",\"internalType\":\"structOpIcs23Proof[]\",\"components\":[{\"name\":\"path\",\"type\":\"tuple[]\",\"internalType\":\"structOpIcs23ProofPath[]\",\"components\":[{\"name\":\"prefix\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"suffix\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"name\":\"key\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"value\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"prefix\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"name\":\"height\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]}],\"outputs\":[],\"stateMutability\":\"pure\"},{\"type\":\"function\",\"name\":\"verifyStateUpdate\",\"inputs\":[{\"name\":\"l1header\",\"type\":\"tuple\",\"internalType\":\"structL1Header\",\"components\":[{\"name\":\"header\",\"type\":\"bytes[]\",\"internalType\":\"bytes[]\"},{\"name\":\"stateRoot\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"number\",\"type\":\"uint64\",\"internalType\":\"uint64\"}]},{\"name\":\"proof\",\"type\":\"tuple\",\"internalType\":\"structOpL2StateProof\",\"components\":[{\"name\":\"accountProof\",\"type\":\"bytes[]\",\"internalType\":\"bytes[]\"},{\"name\":\"outputRootProof\",\"type\":\"bytes[]\",\"internalType\":\"bytes[]\"},{\"name\":\"l2OutputProposalKey\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"l2BlockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"appHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"trustedL1BlockHash\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"trustedL1BlockNumber\",\"type\":\"uint64\",\"internalType\":\"uint64\"}],\"outputs\":[],\"stateMutability\":\"view\"},{\"type\":\"error\",\"name\":\"InvalidAppHash\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidIbcStateProof\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidL1BlockHash\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidL1BlockNumber\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidPacketProof\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidProofKey\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidProofValue\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidRLPEncodedL1BlockNumber\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidRLPEncodedL1StateRoot\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"MethodNotImplemented\",\"inputs\":[]}]",
}
OptimisticProofVerifierMetaData contains all meta data concerning the OptimisticProofVerifier contract.
Functions ¶
This section is empty.
Types ¶
type Ics23Proof ¶
type Ics23Proof struct { Proof []OpIcs23Proof Height *big.Int }
Ics23Proof is an auto generated low-level Go binding around an user-defined struct.
type OpIcs23Proof ¶
type OpIcs23Proof struct { Path []OpIcs23ProofPath Key []byte Value []byte Prefix []byte }
OpIcs23Proof is an auto generated low-level Go binding around an user-defined struct.
type OpIcs23ProofPath ¶
OpIcs23ProofPath is an auto generated low-level Go binding around an user-defined struct.
type OpL2StateProof ¶
type OpL2StateProof struct { AccountProof [][]byte OutputRootProof [][]byte L2OutputProposalKey [32]byte L2BlockHash [32]byte }
OpL2StateProof is an auto generated low-level Go binding around an user-defined struct.
type OptimisticProofVerifier ¶
type OptimisticProofVerifier struct { OptimisticProofVerifierCaller // Read-only binding to the contract OptimisticProofVerifierTransactor // Write-only binding to the contract OptimisticProofVerifierFilterer // Log filterer for contract events }
OptimisticProofVerifier is an auto generated Go binding around an Ethereum contract.
func NewOptimisticProofVerifier ¶
func NewOptimisticProofVerifier(address common.Address, backend bind.ContractBackend) (*OptimisticProofVerifier, error)
NewOptimisticProofVerifier creates a new instance of OptimisticProofVerifier, bound to a specific deployed contract.
type OptimisticProofVerifierCaller ¶
type OptimisticProofVerifierCaller struct {
// contains filtered or unexported fields
}
OptimisticProofVerifierCaller is an auto generated read-only Go binding around an Ethereum contract.
func NewOptimisticProofVerifierCaller ¶
func NewOptimisticProofVerifierCaller(address common.Address, caller bind.ContractCaller) (*OptimisticProofVerifierCaller, error)
NewOptimisticProofVerifierCaller creates a new read-only instance of OptimisticProofVerifier, bound to a specific deployed contract.
func (*OptimisticProofVerifierCaller) L2OutputOracleAddress ¶
func (_OptimisticProofVerifier *OptimisticProofVerifierCaller) L2OutputOracleAddress(opts *bind.CallOpts) (common.Address, error)
L2OutputOracleAddress is a free data retrieval call binding the contract method 0x59c1b56b.
Solidity: function l2OutputOracleAddress() view returns(address)
func (*OptimisticProofVerifierCaller) VerifyMembership ¶
func (_OptimisticProofVerifier *OptimisticProofVerifierCaller) VerifyMembership(opts *bind.CallOpts, appHash [32]byte, key []byte, value []byte, proofs Ics23Proof) error
VerifyMembership is a free data retrieval call binding the contract method 0xc2f0329f.
Solidity: function verifyMembership(bytes32 appHash, bytes key, bytes value, (((bytes,bytes)[],bytes,bytes,bytes)[],uint256) proofs) pure returns()
func (*OptimisticProofVerifierCaller) VerifyNonMembership ¶
func (_OptimisticProofVerifier *OptimisticProofVerifierCaller) VerifyNonMembership(opts *bind.CallOpts, arg0 [32]byte, arg1 []byte, arg2 Ics23Proof) error
VerifyNonMembership is a free data retrieval call binding the contract method 0x2a6ded74.
Solidity: function verifyNonMembership(bytes32 , bytes , (((bytes,bytes)[],bytes,bytes,bytes)[],uint256) ) pure returns()
func (*OptimisticProofVerifierCaller) VerifyStateUpdate ¶
func (_OptimisticProofVerifier *OptimisticProofVerifierCaller) VerifyStateUpdate(opts *bind.CallOpts, l1header L1Header, proof OpL2StateProof, appHash [32]byte, trustedL1BlockHash [32]byte, trustedL1BlockNumber uint64) error
VerifyStateUpdate is a free data retrieval call binding the contract method 0x0a1bb8b5.
Solidity: function verifyStateUpdate((bytes[],bytes32,uint64) l1header, (bytes[],bytes[],bytes32,bytes32) proof, bytes32 appHash, bytes32 trustedL1BlockHash, uint64 trustedL1BlockNumber) view returns()
type OptimisticProofVerifierCallerRaw ¶
type OptimisticProofVerifierCallerRaw struct {
Contract *OptimisticProofVerifierCaller // Generic read-only contract binding to access the raw methods on
}
OptimisticProofVerifierCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
func (*OptimisticProofVerifierCallerRaw) Call ¶
func (_OptimisticProofVerifier *OptimisticProofVerifierCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error
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.
type OptimisticProofVerifierCallerSession ¶
type OptimisticProofVerifierCallerSession struct { Contract *OptimisticProofVerifierCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session }
OptimisticProofVerifierCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.
func (*OptimisticProofVerifierCallerSession) L2OutputOracleAddress ¶
func (_OptimisticProofVerifier *OptimisticProofVerifierCallerSession) L2OutputOracleAddress() (common.Address, error)
L2OutputOracleAddress is a free data retrieval call binding the contract method 0x59c1b56b.
Solidity: function l2OutputOracleAddress() view returns(address)
func (*OptimisticProofVerifierCallerSession) VerifyMembership ¶
func (_OptimisticProofVerifier *OptimisticProofVerifierCallerSession) VerifyMembership(appHash [32]byte, key []byte, value []byte, proofs Ics23Proof) error
VerifyMembership is a free data retrieval call binding the contract method 0xc2f0329f.
Solidity: function verifyMembership(bytes32 appHash, bytes key, bytes value, (((bytes,bytes)[],bytes,bytes,bytes)[],uint256) proofs) pure returns()
func (*OptimisticProofVerifierCallerSession) VerifyNonMembership ¶
func (_OptimisticProofVerifier *OptimisticProofVerifierCallerSession) VerifyNonMembership(arg0 [32]byte, arg1 []byte, arg2 Ics23Proof) error
VerifyNonMembership is a free data retrieval call binding the contract method 0x2a6ded74.
Solidity: function verifyNonMembership(bytes32 , bytes , (((bytes,bytes)[],bytes,bytes,bytes)[],uint256) ) pure returns()
func (*OptimisticProofVerifierCallerSession) VerifyStateUpdate ¶
func (_OptimisticProofVerifier *OptimisticProofVerifierCallerSession) VerifyStateUpdate(l1header L1Header, proof OpL2StateProof, appHash [32]byte, trustedL1BlockHash [32]byte, trustedL1BlockNumber uint64) error
VerifyStateUpdate is a free data retrieval call binding the contract method 0x0a1bb8b5.
Solidity: function verifyStateUpdate((bytes[],bytes32,uint64) l1header, (bytes[],bytes[],bytes32,bytes32) proof, bytes32 appHash, bytes32 trustedL1BlockHash, uint64 trustedL1BlockNumber) view returns()
type OptimisticProofVerifierFilterer ¶
type OptimisticProofVerifierFilterer struct {
// contains filtered or unexported fields
}
OptimisticProofVerifierFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
func NewOptimisticProofVerifierFilterer ¶
func NewOptimisticProofVerifierFilterer(address common.Address, filterer bind.ContractFilterer) (*OptimisticProofVerifierFilterer, error)
NewOptimisticProofVerifierFilterer creates a new log filterer instance of OptimisticProofVerifier, bound to a specific deployed contract.
type OptimisticProofVerifierRaw ¶
type OptimisticProofVerifierRaw struct {
Contract *OptimisticProofVerifier // Generic contract binding to access the raw methods on
}
OptimisticProofVerifierRaw is an auto generated low-level Go binding around an Ethereum contract.
func (*OptimisticProofVerifierRaw) Call ¶
func (_OptimisticProofVerifier *OptimisticProofVerifierRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error
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 (*OptimisticProofVerifierRaw) Transact ¶
func (_OptimisticProofVerifier *OptimisticProofVerifierRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)
Transact invokes the (paid) contract method with params as input values.
func (*OptimisticProofVerifierRaw) Transfer ¶
func (_OptimisticProofVerifier *OptimisticProofVerifierRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)
Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.
type OptimisticProofVerifierSession ¶
type OptimisticProofVerifierSession struct { Contract *OptimisticProofVerifier // 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 }
OptimisticProofVerifierSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.
func (*OptimisticProofVerifierSession) L2OutputOracleAddress ¶
func (_OptimisticProofVerifier *OptimisticProofVerifierSession) L2OutputOracleAddress() (common.Address, error)
L2OutputOracleAddress is a free data retrieval call binding the contract method 0x59c1b56b.
Solidity: function l2OutputOracleAddress() view returns(address)
func (*OptimisticProofVerifierSession) VerifyMembership ¶
func (_OptimisticProofVerifier *OptimisticProofVerifierSession) VerifyMembership(appHash [32]byte, key []byte, value []byte, proofs Ics23Proof) error
VerifyMembership is a free data retrieval call binding the contract method 0xc2f0329f.
Solidity: function verifyMembership(bytes32 appHash, bytes key, bytes value, (((bytes,bytes)[],bytes,bytes,bytes)[],uint256) proofs) pure returns()
func (*OptimisticProofVerifierSession) VerifyNonMembership ¶
func (_OptimisticProofVerifier *OptimisticProofVerifierSession) VerifyNonMembership(arg0 [32]byte, arg1 []byte, arg2 Ics23Proof) error
VerifyNonMembership is a free data retrieval call binding the contract method 0x2a6ded74.
Solidity: function verifyNonMembership(bytes32 , bytes , (((bytes,bytes)[],bytes,bytes,bytes)[],uint256) ) pure returns()
func (*OptimisticProofVerifierSession) VerifyStateUpdate ¶
func (_OptimisticProofVerifier *OptimisticProofVerifierSession) VerifyStateUpdate(l1header L1Header, proof OpL2StateProof, appHash [32]byte, trustedL1BlockHash [32]byte, trustedL1BlockNumber uint64) error
VerifyStateUpdate is a free data retrieval call binding the contract method 0x0a1bb8b5.
Solidity: function verifyStateUpdate((bytes[],bytes32,uint64) l1header, (bytes[],bytes[],bytes32,bytes32) proof, bytes32 appHash, bytes32 trustedL1BlockHash, uint64 trustedL1BlockNumber) view returns()
type OptimisticProofVerifierTransactor ¶
type OptimisticProofVerifierTransactor struct {
// contains filtered or unexported fields
}
OptimisticProofVerifierTransactor is an auto generated write-only Go binding around an Ethereum contract.
func NewOptimisticProofVerifierTransactor ¶
func NewOptimisticProofVerifierTransactor(address common.Address, transactor bind.ContractTransactor) (*OptimisticProofVerifierTransactor, error)
NewOptimisticProofVerifierTransactor creates a new write-only instance of OptimisticProofVerifier, bound to a specific deployed contract.
type OptimisticProofVerifierTransactorRaw ¶
type OptimisticProofVerifierTransactorRaw struct {
Contract *OptimisticProofVerifierTransactor // Generic write-only contract binding to access the raw methods on
}
OptimisticProofVerifierTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
func (*OptimisticProofVerifierTransactorRaw) Transact ¶
func (_OptimisticProofVerifier *OptimisticProofVerifierTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)
Transact invokes the (paid) contract method with params as input values.
func (*OptimisticProofVerifierTransactorRaw) Transfer ¶
func (_OptimisticProofVerifier *OptimisticProofVerifierTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)
Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.
type OptimisticProofVerifierTransactorSession ¶
type OptimisticProofVerifierTransactorSession struct { Contract *OptimisticProofVerifierTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session }
OptimisticProofVerifierTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.