optimisticproofverifier

package
v2.1.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 1, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var OptimisticProofVerifierABI = OptimisticProofVerifierMetaData.ABI

OptimisticProofVerifierABI is the input ABI used to generate the binding from. Deprecated: Use OptimisticProofVerifierMetaData.ABI instead.

View Source
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 L1Header

type L1Header struct {
	Header    [][]byte
	StateRoot [32]byte
	Number    uint64
}

L1Header 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

type OpIcs23ProofPath struct {
	Prefix []byte
	Suffix []byte
}

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL