mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-05-05 07:42:57 +00:00
1. Fix the error return format.
**todo**: ~~`bindtype` needs more complex logic to fix it.~~
`
if err != nil {
return nil, err
}
if err == nil {
return obj, nil
}
`
2. ~~Return pointer type object to avoid copying the whole struct
content.~~
3. Give the panic decision to the user.
4. Fix empty line at the end of function.
**TODO**: ~~fix some related test cases.~~
---------
Co-authored-by: Jared Wasinger <j-wasinger@hotmail.com>
98 lines
3.5 KiB
Text
98 lines
3.5 KiB
Text
// Code generated via abigen V2 - DO NOT EDIT.
|
|
// This file is a generated binding and any manual changes will be lost.
|
|
|
|
package bindtests
|
|
|
|
import (
|
|
"bytes"
|
|
"errors"
|
|
"math/big"
|
|
|
|
"github.com/ethereum/go-ethereum/accounts/abi"
|
|
"github.com/ethereum/go-ethereum/accounts/abi/bind/v2"
|
|
"github.com/ethereum/go-ethereum/common"
|
|
"github.com/ethereum/go-ethereum/core/types"
|
|
)
|
|
|
|
// Reference imports to suppress errors if they are not otherwise used.
|
|
var (
|
|
_ = bytes.Equal
|
|
_ = errors.New
|
|
_ = big.NewInt
|
|
_ = common.Big1
|
|
_ = types.BloomLookup
|
|
_ = abi.ConvertType
|
|
)
|
|
|
|
// TuplerMetaData contains all meta data concerning the Tupler contract.
|
|
var TuplerMetaData = bind.MetaData{
|
|
ABI: "[{\"constant\":true,\"inputs\":[],\"name\":\"tuple\",\"outputs\":[{\"name\":\"a\",\"type\":\"string\"},{\"name\":\"b\",\"type\":\"int256\"},{\"name\":\"c\",\"type\":\"bytes32\"}],\"type\":\"function\"}]",
|
|
ID: "a8f4d2061f55c712cfae266c426a1cd568",
|
|
Bin: "0x606060405260dc8060106000396000f3606060405260e060020a60003504633175aae28114601a575b005b600060605260c0604052600260809081527f486900000000000000000000000000000000000000000000000000000000000060a05260017fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060e0829052610100819052606060c0908152600261012081905281906101409060a09080838184600060046012f1505081517fffff000000000000000000000000000000000000000000000000000000000000169091525050604051610160819003945092505050f3",
|
|
}
|
|
|
|
// Tupler is an auto generated Go binding around an Ethereum contract.
|
|
type Tupler struct {
|
|
abi abi.ABI
|
|
}
|
|
|
|
// NewTupler creates a new instance of Tupler.
|
|
func NewTupler() *Tupler {
|
|
parsed, err := TuplerMetaData.ParseABI()
|
|
if err != nil {
|
|
panic(errors.New("invalid ABI: " + err.Error()))
|
|
}
|
|
return &Tupler{abi: *parsed}
|
|
}
|
|
|
|
// Instance creates a wrapper for a deployed contract instance at the given address.
|
|
// Use this to create the instance object passed to abigen v2 library functions Call, Transact, etc.
|
|
func (c *Tupler) Instance(backend bind.ContractBackend, addr common.Address) *bind.BoundContract {
|
|
return bind.NewBoundContract(addr, c.abi, backend, backend, backend)
|
|
}
|
|
|
|
// PackTuple is the Go binding used to pack the parameters required for calling
|
|
// the contract method with ID 0x3175aae2. This method will panic if any
|
|
// invalid/nil inputs are passed.
|
|
//
|
|
// Solidity: function tuple() returns(string a, int256 b, bytes32 c)
|
|
func (tupler *Tupler) PackTuple() []byte {
|
|
enc, err := tupler.abi.Pack("tuple")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return enc
|
|
}
|
|
|
|
// TryPackTuple is the Go binding used to pack the parameters required for calling
|
|
// the contract method with ID 0x3175aae2. This method will return an error
|
|
// if any inputs are invalid/nil.
|
|
//
|
|
// Solidity: function tuple() returns(string a, int256 b, bytes32 c)
|
|
func (tupler *Tupler) TryPackTuple() ([]byte, error) {
|
|
return tupler.abi.Pack("tuple")
|
|
}
|
|
|
|
// TupleOutput serves as a container for the return parameters of contract
|
|
// method Tuple.
|
|
type TupleOutput struct {
|
|
A string
|
|
B *big.Int
|
|
C [32]byte
|
|
}
|
|
|
|
// UnpackTuple is the Go binding that unpacks the parameters returned
|
|
// from invoking the contract method with ID 0x3175aae2.
|
|
//
|
|
// Solidity: function tuple() returns(string a, int256 b, bytes32 c)
|
|
func (tupler *Tupler) UnpackTuple(data []byte) (TupleOutput, error) {
|
|
out, err := tupler.abi.Unpack("tuple", data)
|
|
outstruct := new(TupleOutput)
|
|
if err != nil {
|
|
return *outstruct, err
|
|
}
|
|
outstruct.A = *abi.ConvertType(out[0], new(string)).(*string)
|
|
outstruct.B = abi.ConvertType(out[1], new(big.Int)).(*big.Int)
|
|
outstruct.C = *abi.ConvertType(out[2], new([32]byte)).(*[32]byte)
|
|
return *outstruct, nil
|
|
}
|