multicall

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2022 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var MulticallABI = MulticallMetaData.ABI

MulticallABI is the input ABI used to generate the binding from. Deprecated: Use MulticallMetaData.ABI instead.

View Source
var MulticallMetaData = &bind.MetaData{
	ABI: "[{\"constant\":false,\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"structMulticall.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]",
}

MulticallMetaData contains all meta data concerning the Multicall contract.

Functions

func GetBalances

func GetBalances(addresses []string, ETHProvider ETHProviderInterface) ([]big.Int, error)

Types

type ETHProviderInterface

type ETHProviderInterface interface {
	GetClient() ethclient.Client
}

type Multicall

type Multicall struct {
	MulticallCaller     // Read-only binding to the contract
	MulticallTransactor // Write-only binding to the contract
	MulticallFilterer   // Log filterer for contract events
}

Multicall is an auto generated Go binding around an Ethereum contract.

func NewMulticall

func NewMulticall(address common.Address, backend bind.ContractBackend) (*Multicall, error)

NewMulticall creates a new instance of Multicall, bound to a specific deployed contract.

type MulticallCall

type MulticallCall struct {
	Target   common.Address
	CallData []byte
}

MulticallCall is an auto generated low-level Go binding around an user-defined struct.

type MulticallCaller

type MulticallCaller struct {
	// contains filtered or unexported fields
}

MulticallCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewMulticallCaller

func NewMulticallCaller(address common.Address, caller bind.ContractCaller) (*MulticallCaller, error)

NewMulticallCaller creates a new read-only instance of Multicall, bound to a specific deployed contract.

func (*MulticallCaller) GetBlockHash

func (_Multicall *MulticallCaller) GetBlockHash(opts *bind.CallOpts, blockNumber *big.Int) ([32]byte, error)

GetBlockHash is a free data retrieval call binding the contract method 0xee82ac5e.

Solidity: function getBlockHash(uint256 blockNumber) view returns(bytes32 blockHash)

func (*MulticallCaller) GetCurrentBlockCoinbase

func (_Multicall *MulticallCaller) GetCurrentBlockCoinbase(opts *bind.CallOpts) (common.Address, error)

GetCurrentBlockCoinbase is a free data retrieval call binding the contract method 0xa8b0574e.

Solidity: function getCurrentBlockCoinbase() view returns(address coinbase)

func (*MulticallCaller) GetCurrentBlockDifficulty

func (_Multicall *MulticallCaller) GetCurrentBlockDifficulty(opts *bind.CallOpts) (*big.Int, error)

GetCurrentBlockDifficulty is a free data retrieval call binding the contract method 0x72425d9d.

Solidity: function getCurrentBlockDifficulty() view returns(uint256 difficulty)

func (*MulticallCaller) GetCurrentBlockGasLimit

func (_Multicall *MulticallCaller) GetCurrentBlockGasLimit(opts *bind.CallOpts) (*big.Int, error)

GetCurrentBlockGasLimit is a free data retrieval call binding the contract method 0x86d516e8.

Solidity: function getCurrentBlockGasLimit() view returns(uint256 gaslimit)

func (*MulticallCaller) GetCurrentBlockTimestamp

func (_Multicall *MulticallCaller) GetCurrentBlockTimestamp(opts *bind.CallOpts) (*big.Int, error)

GetCurrentBlockTimestamp is a free data retrieval call binding the contract method 0x0f28c97d.

Solidity: function getCurrentBlockTimestamp() view returns(uint256 timestamp)

func (*MulticallCaller) GetEthBalance

func (_Multicall *MulticallCaller) GetEthBalance(opts *bind.CallOpts, addr common.Address) (*big.Int, error)

GetEthBalance is a free data retrieval call binding the contract method 0x4d2301cc.

Solidity: function getEthBalance(address addr) view returns(uint256 balance)

func (*MulticallCaller) GetLastBlockHash

func (_Multicall *MulticallCaller) GetLastBlockHash(opts *bind.CallOpts) ([32]byte, error)

GetLastBlockHash is a free data retrieval call binding the contract method 0x27e86d6e.

Solidity: function getLastBlockHash() view returns(bytes32 blockHash)

type MulticallCallerRaw

type MulticallCallerRaw struct {
	Contract *MulticallCaller // Generic read-only contract binding to access the raw methods on
}

MulticallCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*MulticallCallerRaw) Call

func (_Multicall *MulticallCallerRaw) 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 MulticallCallerSession

type MulticallCallerSession struct {
	Contract *MulticallCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts    // Call options to use throughout this session
}

MulticallCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*MulticallCallerSession) GetBlockHash

func (_Multicall *MulticallCallerSession) GetBlockHash(blockNumber *big.Int) ([32]byte, error)

GetBlockHash is a free data retrieval call binding the contract method 0xee82ac5e.

Solidity: function getBlockHash(uint256 blockNumber) view returns(bytes32 blockHash)

func (*MulticallCallerSession) GetCurrentBlockCoinbase

func (_Multicall *MulticallCallerSession) GetCurrentBlockCoinbase() (common.Address, error)

GetCurrentBlockCoinbase is a free data retrieval call binding the contract method 0xa8b0574e.

Solidity: function getCurrentBlockCoinbase() view returns(address coinbase)

func (*MulticallCallerSession) GetCurrentBlockDifficulty

func (_Multicall *MulticallCallerSession) GetCurrentBlockDifficulty() (*big.Int, error)

GetCurrentBlockDifficulty is a free data retrieval call binding the contract method 0x72425d9d.

Solidity: function getCurrentBlockDifficulty() view returns(uint256 difficulty)

func (*MulticallCallerSession) GetCurrentBlockGasLimit

func (_Multicall *MulticallCallerSession) GetCurrentBlockGasLimit() (*big.Int, error)

GetCurrentBlockGasLimit is a free data retrieval call binding the contract method 0x86d516e8.

Solidity: function getCurrentBlockGasLimit() view returns(uint256 gaslimit)

func (*MulticallCallerSession) GetCurrentBlockTimestamp

func (_Multicall *MulticallCallerSession) GetCurrentBlockTimestamp() (*big.Int, error)

GetCurrentBlockTimestamp is a free data retrieval call binding the contract method 0x0f28c97d.

Solidity: function getCurrentBlockTimestamp() view returns(uint256 timestamp)

func (*MulticallCallerSession) GetEthBalance

func (_Multicall *MulticallCallerSession) GetEthBalance(addr common.Address) (*big.Int, error)

GetEthBalance is a free data retrieval call binding the contract method 0x4d2301cc.

Solidity: function getEthBalance(address addr) view returns(uint256 balance)

func (*MulticallCallerSession) GetLastBlockHash

func (_Multicall *MulticallCallerSession) GetLastBlockHash() ([32]byte, error)

GetLastBlockHash is a free data retrieval call binding the contract method 0x27e86d6e.

Solidity: function getLastBlockHash() view returns(bytes32 blockHash)

type MulticallFilterer

type MulticallFilterer struct {
	// contains filtered or unexported fields
}

MulticallFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewMulticallFilterer

func NewMulticallFilterer(address common.Address, filterer bind.ContractFilterer) (*MulticallFilterer, error)

NewMulticallFilterer creates a new log filterer instance of Multicall, bound to a specific deployed contract.

type MulticallRaw

type MulticallRaw struct {
	Contract *Multicall // Generic contract binding to access the raw methods on
}

MulticallRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*MulticallRaw) Call

func (_Multicall *MulticallRaw) 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 (*MulticallRaw) Transact

func (_Multicall *MulticallRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*MulticallRaw) Transfer

func (_Multicall *MulticallRaw) 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 MulticallSession

type MulticallSession struct {
	Contract     *Multicall        // 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
}

MulticallSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*MulticallSession) Aggregate

func (_Multicall *MulticallSession) Aggregate(calls []MulticallCall) (*types.Transaction, error)

Aggregate is a paid mutator transaction binding the contract method 0x252dba42.

Solidity: function aggregate((address,bytes)[] calls) returns(uint256 blockNumber, bytes[] returnData)

func (*MulticallSession) GetBlockHash

func (_Multicall *MulticallSession) GetBlockHash(blockNumber *big.Int) ([32]byte, error)

GetBlockHash is a free data retrieval call binding the contract method 0xee82ac5e.

Solidity: function getBlockHash(uint256 blockNumber) view returns(bytes32 blockHash)

func (*MulticallSession) GetCurrentBlockCoinbase

func (_Multicall *MulticallSession) GetCurrentBlockCoinbase() (common.Address, error)

GetCurrentBlockCoinbase is a free data retrieval call binding the contract method 0xa8b0574e.

Solidity: function getCurrentBlockCoinbase() view returns(address coinbase)

func (*MulticallSession) GetCurrentBlockDifficulty

func (_Multicall *MulticallSession) GetCurrentBlockDifficulty() (*big.Int, error)

GetCurrentBlockDifficulty is a free data retrieval call binding the contract method 0x72425d9d.

Solidity: function getCurrentBlockDifficulty() view returns(uint256 difficulty)

func (*MulticallSession) GetCurrentBlockGasLimit

func (_Multicall *MulticallSession) GetCurrentBlockGasLimit() (*big.Int, error)

GetCurrentBlockGasLimit is a free data retrieval call binding the contract method 0x86d516e8.

Solidity: function getCurrentBlockGasLimit() view returns(uint256 gaslimit)

func (*MulticallSession) GetCurrentBlockTimestamp

func (_Multicall *MulticallSession) GetCurrentBlockTimestamp() (*big.Int, error)

GetCurrentBlockTimestamp is a free data retrieval call binding the contract method 0x0f28c97d.

Solidity: function getCurrentBlockTimestamp() view returns(uint256 timestamp)

func (*MulticallSession) GetEthBalance

func (_Multicall *MulticallSession) GetEthBalance(addr common.Address) (*big.Int, error)

GetEthBalance is a free data retrieval call binding the contract method 0x4d2301cc.

Solidity: function getEthBalance(address addr) view returns(uint256 balance)

func (*MulticallSession) GetLastBlockHash

func (_Multicall *MulticallSession) GetLastBlockHash() ([32]byte, error)

GetLastBlockHash is a free data retrieval call binding the contract method 0x27e86d6e.

Solidity: function getLastBlockHash() view returns(bytes32 blockHash)

type MulticallTransactor

type MulticallTransactor struct {
	// contains filtered or unexported fields
}

MulticallTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewMulticallTransactor

func NewMulticallTransactor(address common.Address, transactor bind.ContractTransactor) (*MulticallTransactor, error)

NewMulticallTransactor creates a new write-only instance of Multicall, bound to a specific deployed contract.

func (*MulticallTransactor) Aggregate

func (_Multicall *MulticallTransactor) Aggregate(opts *bind.TransactOpts, calls []MulticallCall) (*types.Transaction, error)

Aggregate is a paid mutator transaction binding the contract method 0x252dba42.

Solidity: function aggregate((address,bytes)[] calls) returns(uint256 blockNumber, bytes[] returnData)

type MulticallTransactorRaw

type MulticallTransactorRaw struct {
	Contract *MulticallTransactor // Generic write-only contract binding to access the raw methods on
}

MulticallTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*MulticallTransactorRaw) Transact

func (_Multicall *MulticallTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*MulticallTransactorRaw) Transfer

func (_Multicall *MulticallTransactorRaw) 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 MulticallTransactorSession

type MulticallTransactorSession struct {
	Contract     *MulticallTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts    // Transaction auth options to use throughout this session
}

MulticallTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*MulticallTransactorSession) Aggregate

func (_Multicall *MulticallTransactorSession) Aggregate(calls []MulticallCall) (*types.Transaction, error)

Aggregate is a paid mutator transaction binding the contract method 0x252dba42.

Solidity: function aggregate((address,bytes)[] calls) returns(uint256 blockNumber, bytes[] returnData)

Jump to

Keyboard shortcuts

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