github.com/klaytn/klaytn@v1.12.1/contracts/gov/GovParam.go (about)

     1  // Code generated - DO NOT EDIT.
     2  // This file is a generated binding and any manual changes will be lost.
     3  
     4  package gov
     5  
     6  import (
     7  	"errors"
     8  	"math/big"
     9  	"strings"
    10  
    11  	"github.com/klaytn/klaytn"
    12  	"github.com/klaytn/klaytn/accounts/abi"
    13  	"github.com/klaytn/klaytn/accounts/abi/bind"
    14  	"github.com/klaytn/klaytn/blockchain/types"
    15  	"github.com/klaytn/klaytn/common"
    16  	"github.com/klaytn/klaytn/event"
    17  )
    18  
    19  // Reference imports to suppress errors if they are not otherwise used.
    20  var (
    21  	_ = errors.New
    22  	_ = big.NewInt
    23  	_ = strings.NewReader
    24  	_ = klaytn.NotFound
    25  	_ = bind.Bind
    26  	_ = common.Big1
    27  	_ = types.BloomLookup
    28  	_ = event.NewSubscription
    29  	_ = abi.ConvertType
    30  )
    31  
    32  // IGovParamParam is an auto generated low-level Go binding around an user-defined struct.
    33  type IGovParamParam struct {
    34  	Activation *big.Int
    35  	Exists     bool
    36  	Val        []byte
    37  }
    38  
    39  // ContextMetaData contains all meta data concerning the Context contract.
    40  var ContextMetaData = &bind.MetaData{
    41  	ABI: "[]",
    42  }
    43  
    44  // ContextABI is the input ABI used to generate the binding from.
    45  // Deprecated: Use ContextMetaData.ABI instead.
    46  var ContextABI = ContextMetaData.ABI
    47  
    48  // ContextBinRuntime is the compiled bytecode used for adding genesis block without deploying code.
    49  const ContextBinRuntime = ``
    50  
    51  // Context is an auto generated Go binding around a Klaytn contract.
    52  type Context struct {
    53  	ContextCaller     // Read-only binding to the contract
    54  	ContextTransactor // Write-only binding to the contract
    55  	ContextFilterer   // Log filterer for contract events
    56  }
    57  
    58  // ContextCaller is an auto generated read-only Go binding around a Klaytn contract.
    59  type ContextCaller struct {
    60  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    61  }
    62  
    63  // ContextTransactor is an auto generated write-only Go binding around a Klaytn contract.
    64  type ContextTransactor struct {
    65  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    66  }
    67  
    68  // ContextFilterer is an auto generated log filtering Go binding around a Klaytn contract events.
    69  type ContextFilterer struct {
    70  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    71  }
    72  
    73  // ContextSession is an auto generated Go binding around a Klaytn contract,
    74  // with pre-set call and transact options.
    75  type ContextSession struct {
    76  	Contract     *Context          // Generic contract binding to set the session for
    77  	CallOpts     bind.CallOpts     // Call options to use throughout this session
    78  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    79  }
    80  
    81  // ContextCallerSession is an auto generated read-only Go binding around a Klaytn contract,
    82  // with pre-set call options.
    83  type ContextCallerSession struct {
    84  	Contract *ContextCaller // Generic contract caller binding to set the session for
    85  	CallOpts bind.CallOpts  // Call options to use throughout this session
    86  }
    87  
    88  // ContextTransactorSession is an auto generated write-only Go binding around a Klaytn contract,
    89  // with pre-set transact options.
    90  type ContextTransactorSession struct {
    91  	Contract     *ContextTransactor // Generic contract transactor binding to set the session for
    92  	TransactOpts bind.TransactOpts  // Transaction auth options to use throughout this session
    93  }
    94  
    95  // ContextRaw is an auto generated low-level Go binding around a Klaytn contract.
    96  type ContextRaw struct {
    97  	Contract *Context // Generic contract binding to access the raw methods on
    98  }
    99  
   100  // ContextCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract.
   101  type ContextCallerRaw struct {
   102  	Contract *ContextCaller // Generic read-only contract binding to access the raw methods on
   103  }
   104  
   105  // ContextTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract.
   106  type ContextTransactorRaw struct {
   107  	Contract *ContextTransactor // Generic write-only contract binding to access the raw methods on
   108  }
   109  
   110  // NewContext creates a new instance of Context, bound to a specific deployed contract.
   111  func NewContext(address common.Address, backend bind.ContractBackend) (*Context, error) {
   112  	contract, err := bindContext(address, backend, backend, backend)
   113  	if err != nil {
   114  		return nil, err
   115  	}
   116  	return &Context{ContextCaller: ContextCaller{contract: contract}, ContextTransactor: ContextTransactor{contract: contract}, ContextFilterer: ContextFilterer{contract: contract}}, nil
   117  }
   118  
   119  // NewContextCaller creates a new read-only instance of Context, bound to a specific deployed contract.
   120  func NewContextCaller(address common.Address, caller bind.ContractCaller) (*ContextCaller, error) {
   121  	contract, err := bindContext(address, caller, nil, nil)
   122  	if err != nil {
   123  		return nil, err
   124  	}
   125  	return &ContextCaller{contract: contract}, nil
   126  }
   127  
   128  // NewContextTransactor creates a new write-only instance of Context, bound to a specific deployed contract.
   129  func NewContextTransactor(address common.Address, transactor bind.ContractTransactor) (*ContextTransactor, error) {
   130  	contract, err := bindContext(address, nil, transactor, nil)
   131  	if err != nil {
   132  		return nil, err
   133  	}
   134  	return &ContextTransactor{contract: contract}, nil
   135  }
   136  
   137  // NewContextFilterer creates a new log filterer instance of Context, bound to a specific deployed contract.
   138  func NewContextFilterer(address common.Address, filterer bind.ContractFilterer) (*ContextFilterer, error) {
   139  	contract, err := bindContext(address, nil, nil, filterer)
   140  	if err != nil {
   141  		return nil, err
   142  	}
   143  	return &ContextFilterer{contract: contract}, nil
   144  }
   145  
   146  // bindContext binds a generic wrapper to an already deployed contract.
   147  func bindContext(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   148  	parsed, err := ContextMetaData.GetAbi()
   149  	if err != nil {
   150  		return nil, err
   151  	}
   152  	return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil
   153  }
   154  
   155  // Call invokes the (constant) contract method with params as input values and
   156  // sets the output to result. The result type might be a single field for simple
   157  // returns, a slice of interfaces for anonymous returns and a struct for named
   158  // returns.
   159  func (_Context *ContextRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   160  	return _Context.Contract.ContextCaller.contract.Call(opts, result, method, params...)
   161  }
   162  
   163  // Transfer initiates a plain transaction to move funds to the contract, calling
   164  // its default method if one is available.
   165  func (_Context *ContextRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   166  	return _Context.Contract.ContextTransactor.contract.Transfer(opts)
   167  }
   168  
   169  // Transact invokes the (paid) contract method with params as input values.
   170  func (_Context *ContextRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   171  	return _Context.Contract.ContextTransactor.contract.Transact(opts, method, params...)
   172  }
   173  
   174  // Call invokes the (constant) contract method with params as input values and
   175  // sets the output to result. The result type might be a single field for simple
   176  // returns, a slice of interfaces for anonymous returns and a struct for named
   177  // returns.
   178  func (_Context *ContextCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   179  	return _Context.Contract.contract.Call(opts, result, method, params...)
   180  }
   181  
   182  // Transfer initiates a plain transaction to move funds to the contract, calling
   183  // its default method if one is available.
   184  func (_Context *ContextTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   185  	return _Context.Contract.contract.Transfer(opts)
   186  }
   187  
   188  // Transact invokes the (paid) contract method with params as input values.
   189  func (_Context *ContextTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   190  	return _Context.Contract.contract.Transact(opts, method, params...)
   191  }
   192  
   193  // GovParamMetaData contains all meta data concerning the GovParam contract.
   194  var GovParamMetaData = &bind.MetaData{
   195  	ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"activation\",\"type\":\"uint256\"}],\"name\":\"SetParam\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"checkpoints\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"activation\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"internalType\":\"structIGovParam.Param[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllCheckpoints\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"activation\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"internalType\":\"structIGovParam.Param[][]\",\"name\":\"\",\"type\":\"tuple[][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllParamNames\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllParams\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"},{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getAllParamsAt\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"},{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"getParam\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getParamAt\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"paramNames\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"activation\",\"type\":\"uint256\"}],\"name\":\"setParam\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"relativeActivation\",\"type\":\"uint256\"}],\"name\":\"setParamIn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
   196  	Sigs: map[string]string{
   197  		"296451d9": "checkpoints(string)",
   198  		"5516c21c": "getAllCheckpoints()",
   199  		"cc4783b6": "getAllParamNames()",
   200  		"a170052e": "getAllParams()",
   201  		"1e31825a": "getAllParamsAt(uint256)",
   202  		"5d4f71d4": "getParam(string)",
   203  		"6a1ec27c": "getParamAt(string,uint256)",
   204  		"8da5cb5b": "owner()",
   205  		"db758754": "paramNames(uint256)",
   206  		"715018a6": "renounceOwnership()",
   207  		"3f8aa624": "setParam(string,bool,bytes,uint256)",
   208  		"b93244a5": "setParamIn(string,bool,bytes,uint256)",
   209  		"f2fde38b": "transferOwnership(address)",
   210  	},
   211  	Bin: "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6120098061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063715018a61161008c578063b93244a511610066578063b93244a5146101a8578063cc4783b6146101bb578063db758754146101d0578063f2fde38b146101f057600080fd5b8063715018a61461017d5780638da5cb5b14610185578063a170052e146101a057600080fd5b80631e31825a146100d4578063296451d9146100fe5780633f8aa6241461011e5780635516c21c146101335780635d4f71d4146101495780636a1ec27c1461016a575b600080fd5b6100e76100e23660046118bd565b610203565b6040516100f592919061198a565b60405180910390f35b61011161010c366004611a3e565b61056e565b6040516100f59190611a80565b61013161012c366004611b01565b61069c565b005b61013b610acc565b6040516100f5929190611b93565b61015c610157366004611a3e565b610d80565b6040516100f5929190611c5a565b61015c610178366004611c93565b610ed0565b610131611099565b6000546040516001600160a01b0390911681526020016100f5565b6100e76110cf565b6101316101b6366004611b01565b611435565b6101c3611484565b6040516100f59190611d48565b6101e36101de3660046118bd565b61155d565b6040516100f59190611d5b565b6101316101fe366004611d6e565b611609565b6060806000805b6001548110156102ef5760006102c56001838154811061022c5761022c611d97565b90600052602060002001805461024190611dad565b80601f016020809104026020016040519081016040528092919081815260200182805461026d90611dad565b80156102ba5780601f1061028f576101008083540402835291602001916102ba565b820191906000526020600020905b81548152906001019060200180831161029d57829003601f168201915b505050505087610ed0565b50905080156102dc57826102d881611dfe565b9350505b50806102e781611dfe565b91505061020a565b5060008167ffffffffffffffff81111561030b5761030b611c7d565b60405190808252806020026020018201604052801561033e57816020015b60608152602001906001900390816103295790505b50905060008267ffffffffffffffff81111561035c5761035c611c7d565b60405190808252806020026020018201604052801561038f57816020015b606081526020019060019003908161037a5790505b5090506000805b60015481101561056157600080610452600184815481106103b9576103b9611d97565b9060005260206000200180546103ce90611dad565b80601f01602080910402602001604051908101604052809291908181526020018280546103fa90611dad565b80156104475780601f1061041c57610100808354040283529160200191610447565b820191906000526020600020905b81548152906001019060200180831161042a57829003601f168201915b50505050508b610ed0565b91509150811561054c576001838154811061046f5761046f611d97565b90600052602060002001805461048490611dad565b80601f01602080910402602001604051908101604052809291908181526020018280546104b090611dad565b80156104fd5780601f106104d2576101008083540402835291602001916104fd565b820191906000526020600020905b8154815290600101906020018083116104e057829003601f168201915b505050505086858151811061051457610514611d97565b60200260200101819052508085858151811061053257610532611d97565b6020026020010181905250838061054890611dfe565b9450505b5050808061055990611dfe565b915050610396565b5091969095509350505050565b606060028383604051610582929190611e19565b9081526020016040518091039020805480602002602001604051908101604052809291908181526020016000905b82821015610690576000848152602090819020604080516060810182526003860290920180548352600181015460ff16151593830193909352600283018054929392918401916105ff90611dad565b80601f016020809104026020016040519081016040528092919081815260200182805461062b90611dad565b80156106785780601f1061064d57610100808354040283529160200191610678565b820191906000526020600020905b81548152906001019060200180831161065b57829003601f168201915b505050505081525050815260200190600101906105b0565b50505050905092915050565b6000546001600160a01b031633146106cf5760405162461bcd60e51b81526004016106c690611e29565b60405180910390fd5b8461071c5760405162461bcd60e51b815260206004820152601e60248201527f476f76506172616d3a206e616d652063616e6e6f7420626520656d707479000060448201526064016106c6565b43811161077e5760405162461bcd60e51b815260206004820152602a60248201527f476f76506172616d3a2061637469766174696f6e206d75737420626520696e206044820152697468652066757475726560b01b60648201526084016106c6565b83158061078a57508115155b6107ed5760405162461bcd60e51b815260206004820152602e60248201527f476f76506172616d3a2076616c206d757374206e6f7420626520656d7074792060448201526d6966206578697374733d7472756560901b60648201526084016106c6565b83806107f7575081155b6108575760405162461bcd60e51b815260206004820152602b60248201527f476f76506172616d3a2076616c206d75737420626520656d707479206966206560448201526a78697374733d66616c736560a81b60648201526084016106c6565b60006040518060600160405280838152602001861515815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505060405192935091600291506108c2908a908a90611e19565b908152604051908190036020019020805490915061098a57600180548082018255600091909152610916907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60189896117b0565b506040805160608101825260008082526020808301828152845180830186528381529484019485528554600180820188558785529383902085516003909202019081559051928101805460ff19169315159390931790925592518051929391926109869260028501920190611834565b5050505b805460009061099b90600190611e5e565b9050438282815481106109b0576109b0611d97565b90600052602060002090600302016000015411610a20578154600180820184556000848152602090819020865160039094020192835585810151918301805460ff19169215159290921790915560408501518051869392610a18926002850192910190611834565b505050610a80565b82828281548110610a3357610a33611d97565b60009182526020918290208351600392909202019081558282015160018201805460ff1916911515919091179055604083015180519192610a7c92600285019290910190611834565b5050505b7f80044a87a0a45f6cc784a3f48077d58f4eb1e7d78243f85daa43ad7a88b6ba85898989898989604051610ab996959493929190611e9e565b60405180910390a1505050505050505050565b606080600060018054905067ffffffffffffffff811115610aef57610aef611c7d565b604051908082528060200260200182016040528015610b2257816020015b6060815260200190600190039081610b0d5790505b50905060005b600154811015610ca057600260018281548110610b4757610b47611d97565b90600052602060002001604051610b5e9190611ee1565b9081526020016040518091039020805480602002602001604051908101604052809291908181526020016000905b82821015610c6c576000848152602090819020604080516060810182526003860290920180548352600181015460ff1615159383019390935260028301805492939291840191610bdb90611dad565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0790611dad565b8015610c545780601f10610c2957610100808354040283529160200191610c54565b820191906000526020600020905b815481529060010190602001808311610c3757829003601f168201915b50505050508152505081526020019060010190610b8c565b50505050828281518110610c8257610c82611d97565b60200260200101819052508080610c9890611dfe565b915050610b28565b5060018181805480602002602001604051908101604052809291908181526020016000905b82821015610d71578382906000526020600020018054610ce490611dad565b80601f0160208091040260200160405190810160405280929190818152602001828054610d1090611dad565b8015610d5d5780601f10610d3257610100808354040283529160200191610d5d565b820191906000526020600020905b815481529060010190602001808311610d4057829003601f168201915b505050505081526020019060010190610cc5565b50505050915092509250509091565b6000606060028484604051610d96929190611e19565b90815260405190819003602001902054610dc25750506040805160208101909152600080825290610ec9565b6000610e0385858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116a492505050565b6040805160608101825282548152600183015460ff1615156020820152600283018054919392840191610e3590611dad565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6190611dad565b8015610eae5780601f10610e8357610100808354040283529160200191610eae565b820191906000526020600020905b815481529060010190602001808311610e9157829003601f168201915b50505050508152505090508060200151816040015192509250505b9250929050565b600060606000600285604051610ee69190611f7d565b90815260405190819003602001902054905080610f16575050604080516020810190915260008082529150610ec9565b6000808290506000600288604051610f2e9190611f7d565b908152602001604051809103902090505b81831015610f9c576000610f53848461173e565b905087828281548110610f6857610f68611d97565b9060005260206000209060030201600001541115610f8857809250610f96565b610f93816001611f99565b93505b50610f3f565b80610fa8600184611e5e565b81548110610fb857610fb8611d97565b60009182526020909120600160039092020181015460ff16908290610fdd9085611e5e565b81548110610fed57610fed611d97565b906000526020600020906003020160020180805461100a90611dad565b80601f016020809104026020016040519081016040528092919081815260200182805461103690611dad565b80156110835780601f1061105857610100808354040283529160200191611083565b820191906000526020600020905b81548152906001019060200180831161106657829003601f168201915b5050505050905095509550505050509250929050565b6000546001600160a01b031633146110c35760405162461bcd60e51b81526004016106c690611e29565b6110cd6000611760565b565b6060806000805b6001548110156111c1576000611190600183815481106110f8576110f8611d97565b90600052602060002001805461110d90611dad565b80601f016020809104026020016040519081016040528092919081815260200182805461113990611dad565b80156111865780601f1061115b57610100808354040283529160200191611186565b820191906000526020600020905b81548152906001019060200180831161116957829003601f168201915b50505050506116a4565b600181015490915060ff16156111ae57826111aa81611dfe565b9350505b50806111b981611dfe565b9150506110d6565b5060008167ffffffffffffffff8111156111dd576111dd611c7d565b60405190808252806020026020018201604052801561121057816020015b60608152602001906001900390816111fb5790505b50905060008267ffffffffffffffff81111561122e5761122e611c7d565b60405190808252806020026020018201604052801561126157816020015b606081526020019060019003908161124c5790505b5090506000805b60015481101561142957600061128a600183815481106110f8576110f8611d97565b600181015490915060ff161561141657600182815481106112ad576112ad611d97565b9060005260206000200180546112c290611dad565b80601f01602080910402602001604051908101604052809291908181526020018280546112ee90611dad565b801561133b5780601f106113105761010080835404028352916020019161133b565b820191906000526020600020905b81548152906001019060200180831161131e57829003601f168201915b505050505085848151811061135257611352611d97565b602002602001018190525080600201805461136c90611dad565b80601f016020809104026020016040519081016040528092919081815260200182805461139890611dad565b80156113e55780601f106113ba576101008083540402835291602001916113e5565b820191906000526020600020905b8154815290600101906020018083116113c857829003601f168201915b50505050508484815181106113fc576113fc611d97565b6020026020010181905250828061141290611dfe565b9350505b508061142181611dfe565b915050611268565b50919590945092505050565b6000546001600160a01b0316331461145f5760405162461bcd60e51b81526004016106c690611e29565b600061146b8243611f99565b905061147b87878787878661069c565b50505050505050565b60606001805480602002602001604051908101604052809291908181526020016000905b828210156115545783829060005260206000200180546114c790611dad565b80601f01602080910402602001604051908101604052809291908181526020018280546114f390611dad565b80156115405780601f1061151557610100808354040283529160200191611540565b820191906000526020600020905b81548152906001019060200180831161152357829003601f168201915b5050505050815260200190600101906114a8565b50505050905090565b6001818154811061156d57600080fd5b90600052602060002001600091509050805461158890611dad565b80601f01602080910402602001604051908101604052809291908181526020018280546115b490611dad565b80156116015780601f106115d657610100808354040283529160200191611601565b820191906000526020600020905b8154815290600101906020018083116115e457829003601f168201915b505050505081565b6000546001600160a01b031633146116335760405162461bcd60e51b81526004016106c690611e29565b6001600160a01b0381166116985760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106c6565b6116a181611760565b50565b6000806002836040516116b79190611f7d565b908152604051908190036020019020805490915043826116d8600184611e5e565b815481106116e8576116e8611d97565b90600052602060002090600302016000015411611732578161170b600183611e5e565b8154811061171b5761171b611d97565b906000526020600020906003020192505050919050565b8161170b600283611e5e565b600061174d6002848418611fb1565b61175990848416611f99565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8280546117bc90611dad565b90600052602060002090601f0160209004810192826117de5760008555611824565b82601f106117f75782800160ff19823516178555611824565b82800160010185558215611824579182015b82811115611824578235825591602001919060010190611809565b506118309291506118a8565b5090565b82805461184090611dad565b90600052602060002090601f0160209004810192826118625760008555611824565b82601f1061187b57805160ff1916838001178555611824565b82800160010185558215611824579182015b8281111561182457825182559160200191906001019061188d565b5b8082111561183057600081556001016118a9565b6000602082840312156118cf57600080fd5b5035919050565b60005b838110156118f15781810151838201526020016118d9565b83811115611900576000848401525b50505050565b6000815180845261191e8160208601602086016118d6565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b8481101561197d57601f1986840301895261196b838351611906565b9884019892509083019060010161194f565b5090979650505050505050565b60408152600061199d6040830185611932565b6020838203818501528185518084528284019150828160051b85010183880160005b838110156119ed57601f198784030185526119db838351611906565b948601949250908501906001016119bf565b50909998505050505050505050565b60008083601f840112611a0e57600080fd5b50813567ffffffffffffffff811115611a2657600080fd5b602083019150836020828501011115610ec957600080fd5b60008060208385031215611a5157600080fd5b823567ffffffffffffffff811115611a6857600080fd5b611a74858286016119fc565b90969095509350505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015611af357888303603f19018552815180518452878101511515888501528601516060878501819052611adf81860183611906565b968901969450505090860190600101611aa7565b509098975050505050505050565b60008060008060008060808789031215611b1a57600080fd5b863567ffffffffffffffff80821115611b3257600080fd5b611b3e8a838b016119fc565b9098509650602089013591508115158214611b5857600080fd5b90945060408801359080821115611b6e57600080fd5b50611b7b89828a016119fc565b979a9699509497949695606090950135949350505050565b604081526000611ba66040830185611932565b6020838203818501528185518084528284019150828160051b85010183880160005b838110156119ed57601f1987840381018652825180518086529088019088860190600581901b87018a0160005b82811015611c43578589830301845284516060815184528d82015115158e85015260408201519150806040850152611c2f81850183611906565b968e0196958e019593505050600101611bf5565b50988a019896505050928701925050600101611bc8565b8215158152604060208201526000611c756040830184611906565b949350505050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215611ca657600080fd5b823567ffffffffffffffff80821115611cbe57600080fd5b818501915085601f830112611cd257600080fd5b813581811115611ce457611ce4611c7d565b604051601f8201601f19908116603f01168101908382118183101715611d0c57611d0c611c7d565b81604052828152886020848701011115611d2557600080fd5b826020860160208301376000602093820184015298969091013596505050505050565b6020815260006117596020830184611932565b6020815260006117596020830184611906565b600060208284031215611d8057600080fd5b81356001600160a01b038116811461175957600080fd5b634e487b7160e01b600052603260045260246000fd5b600181811c90821680611dc157607f821691505b60208210811415611de257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000600019821415611e1257611e12611de8565b5060010190565b8183823760009101908152919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600082821015611e7057611e70611de8565b500390565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611eb260808301888a611e75565b86151560208401528281036040840152611ecd818688611e75565b915050826060830152979650505050505050565b600080835481600182811c915080831680611efd57607f831692505b6020808410821415611f1d57634e487b7160e01b86526022600452602486fd5b818015611f315760018114611f4257611f6f565b60ff19861689528489019650611f6f565b60008a81526020902060005b86811015611f675781548b820152908501908301611f4e565b505084890196505b509498975050505050505050565b60008251611f8f8184602087016118d6565b9190910192915050565b60008219821115611fac57611fac611de8565b500190565b600082611fce57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220e6970038be882b57fc58a9a8845b84f62b493ff531ad01ec2d0a165c3dedc3ce64736f6c634300080a0033",
   212  }
   213  
   214  // GovParamABI is the input ABI used to generate the binding from.
   215  // Deprecated: Use GovParamMetaData.ABI instead.
   216  var GovParamABI = GovParamMetaData.ABI
   217  
   218  // GovParamBinRuntime is the compiled bytecode used for adding genesis block without deploying code.
   219  const GovParamBinRuntime = `608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063715018a61161008c578063b93244a511610066578063b93244a5146101a8578063cc4783b6146101bb578063db758754146101d0578063f2fde38b146101f057600080fd5b8063715018a61461017d5780638da5cb5b14610185578063a170052e146101a057600080fd5b80631e31825a146100d4578063296451d9146100fe5780633f8aa6241461011e5780635516c21c146101335780635d4f71d4146101495780636a1ec27c1461016a575b600080fd5b6100e76100e23660046118bd565b610203565b6040516100f592919061198a565b60405180910390f35b61011161010c366004611a3e565b61056e565b6040516100f59190611a80565b61013161012c366004611b01565b61069c565b005b61013b610acc565b6040516100f5929190611b93565b61015c610157366004611a3e565b610d80565b6040516100f5929190611c5a565b61015c610178366004611c93565b610ed0565b610131611099565b6000546040516001600160a01b0390911681526020016100f5565b6100e76110cf565b6101316101b6366004611b01565b611435565b6101c3611484565b6040516100f59190611d48565b6101e36101de3660046118bd565b61155d565b6040516100f59190611d5b565b6101316101fe366004611d6e565b611609565b6060806000805b6001548110156102ef5760006102c56001838154811061022c5761022c611d97565b90600052602060002001805461024190611dad565b80601f016020809104026020016040519081016040528092919081815260200182805461026d90611dad565b80156102ba5780601f1061028f576101008083540402835291602001916102ba565b820191906000526020600020905b81548152906001019060200180831161029d57829003601f168201915b505050505087610ed0565b50905080156102dc57826102d881611dfe565b9350505b50806102e781611dfe565b91505061020a565b5060008167ffffffffffffffff81111561030b5761030b611c7d565b60405190808252806020026020018201604052801561033e57816020015b60608152602001906001900390816103295790505b50905060008267ffffffffffffffff81111561035c5761035c611c7d565b60405190808252806020026020018201604052801561038f57816020015b606081526020019060019003908161037a5790505b5090506000805b60015481101561056157600080610452600184815481106103b9576103b9611d97565b9060005260206000200180546103ce90611dad565b80601f01602080910402602001604051908101604052809291908181526020018280546103fa90611dad565b80156104475780601f1061041c57610100808354040283529160200191610447565b820191906000526020600020905b81548152906001019060200180831161042a57829003601f168201915b50505050508b610ed0565b91509150811561054c576001838154811061046f5761046f611d97565b90600052602060002001805461048490611dad565b80601f01602080910402602001604051908101604052809291908181526020018280546104b090611dad565b80156104fd5780601f106104d2576101008083540402835291602001916104fd565b820191906000526020600020905b8154815290600101906020018083116104e057829003601f168201915b505050505086858151811061051457610514611d97565b60200260200101819052508085858151811061053257610532611d97565b6020026020010181905250838061054890611dfe565b9450505b5050808061055990611dfe565b915050610396565b5091969095509350505050565b606060028383604051610582929190611e19565b9081526020016040518091039020805480602002602001604051908101604052809291908181526020016000905b82821015610690576000848152602090819020604080516060810182526003860290920180548352600181015460ff16151593830193909352600283018054929392918401916105ff90611dad565b80601f016020809104026020016040519081016040528092919081815260200182805461062b90611dad565b80156106785780601f1061064d57610100808354040283529160200191610678565b820191906000526020600020905b81548152906001019060200180831161065b57829003601f168201915b505050505081525050815260200190600101906105b0565b50505050905092915050565b6000546001600160a01b031633146106cf5760405162461bcd60e51b81526004016106c690611e29565b60405180910390fd5b8461071c5760405162461bcd60e51b815260206004820152601e60248201527f476f76506172616d3a206e616d652063616e6e6f7420626520656d707479000060448201526064016106c6565b43811161077e5760405162461bcd60e51b815260206004820152602a60248201527f476f76506172616d3a2061637469766174696f6e206d75737420626520696e206044820152697468652066757475726560b01b60648201526084016106c6565b83158061078a57508115155b6107ed5760405162461bcd60e51b815260206004820152602e60248201527f476f76506172616d3a2076616c206d757374206e6f7420626520656d7074792060448201526d6966206578697374733d7472756560901b60648201526084016106c6565b83806107f7575081155b6108575760405162461bcd60e51b815260206004820152602b60248201527f476f76506172616d3a2076616c206d75737420626520656d707479206966206560448201526a78697374733d66616c736560a81b60648201526084016106c6565b60006040518060600160405280838152602001861515815260200185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452505060405192935091600291506108c2908a908a90611e19565b908152604051908190036020019020805490915061098a57600180548082018255600091909152610916907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60189896117b0565b506040805160608101825260008082526020808301828152845180830186528381529484019485528554600180820188558785529383902085516003909202019081559051928101805460ff19169315159390931790925592518051929391926109869260028501920190611834565b5050505b805460009061099b90600190611e5e565b9050438282815481106109b0576109b0611d97565b90600052602060002090600302016000015411610a20578154600180820184556000848152602090819020865160039094020192835585810151918301805460ff19169215159290921790915560408501518051869392610a18926002850192910190611834565b505050610a80565b82828281548110610a3357610a33611d97565b60009182526020918290208351600392909202019081558282015160018201805460ff1916911515919091179055604083015180519192610a7c92600285019290910190611834565b5050505b7f80044a87a0a45f6cc784a3f48077d58f4eb1e7d78243f85daa43ad7a88b6ba85898989898989604051610ab996959493929190611e9e565b60405180910390a1505050505050505050565b606080600060018054905067ffffffffffffffff811115610aef57610aef611c7d565b604051908082528060200260200182016040528015610b2257816020015b6060815260200190600190039081610b0d5790505b50905060005b600154811015610ca057600260018281548110610b4757610b47611d97565b90600052602060002001604051610b5e9190611ee1565b9081526020016040518091039020805480602002602001604051908101604052809291908181526020016000905b82821015610c6c576000848152602090819020604080516060810182526003860290920180548352600181015460ff1615159383019390935260028301805492939291840191610bdb90611dad565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0790611dad565b8015610c545780601f10610c2957610100808354040283529160200191610c54565b820191906000526020600020905b815481529060010190602001808311610c3757829003601f168201915b50505050508152505081526020019060010190610b8c565b50505050828281518110610c8257610c82611d97565b60200260200101819052508080610c9890611dfe565b915050610b28565b5060018181805480602002602001604051908101604052809291908181526020016000905b82821015610d71578382906000526020600020018054610ce490611dad565b80601f0160208091040260200160405190810160405280929190818152602001828054610d1090611dad565b8015610d5d5780601f10610d3257610100808354040283529160200191610d5d565b820191906000526020600020905b815481529060010190602001808311610d4057829003601f168201915b505050505081526020019060010190610cc5565b50505050915092509250509091565b6000606060028484604051610d96929190611e19565b90815260405190819003602001902054610dc25750506040805160208101909152600080825290610ec9565b6000610e0385858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116a492505050565b6040805160608101825282548152600183015460ff1615156020820152600283018054919392840191610e3590611dad565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6190611dad565b8015610eae5780601f10610e8357610100808354040283529160200191610eae565b820191906000526020600020905b815481529060010190602001808311610e9157829003601f168201915b50505050508152505090508060200151816040015192509250505b9250929050565b600060606000600285604051610ee69190611f7d565b90815260405190819003602001902054905080610f16575050604080516020810190915260008082529150610ec9565b6000808290506000600288604051610f2e9190611f7d565b908152602001604051809103902090505b81831015610f9c576000610f53848461173e565b905087828281548110610f6857610f68611d97565b9060005260206000209060030201600001541115610f8857809250610f96565b610f93816001611f99565b93505b50610f3f565b80610fa8600184611e5e565b81548110610fb857610fb8611d97565b60009182526020909120600160039092020181015460ff16908290610fdd9085611e5e565b81548110610fed57610fed611d97565b906000526020600020906003020160020180805461100a90611dad565b80601f016020809104026020016040519081016040528092919081815260200182805461103690611dad565b80156110835780601f1061105857610100808354040283529160200191611083565b820191906000526020600020905b81548152906001019060200180831161106657829003601f168201915b5050505050905095509550505050509250929050565b6000546001600160a01b031633146110c35760405162461bcd60e51b81526004016106c690611e29565b6110cd6000611760565b565b6060806000805b6001548110156111c1576000611190600183815481106110f8576110f8611d97565b90600052602060002001805461110d90611dad565b80601f016020809104026020016040519081016040528092919081815260200182805461113990611dad565b80156111865780601f1061115b57610100808354040283529160200191611186565b820191906000526020600020905b81548152906001019060200180831161116957829003601f168201915b50505050506116a4565b600181015490915060ff16156111ae57826111aa81611dfe565b9350505b50806111b981611dfe565b9150506110d6565b5060008167ffffffffffffffff8111156111dd576111dd611c7d565b60405190808252806020026020018201604052801561121057816020015b60608152602001906001900390816111fb5790505b50905060008267ffffffffffffffff81111561122e5761122e611c7d565b60405190808252806020026020018201604052801561126157816020015b606081526020019060019003908161124c5790505b5090506000805b60015481101561142957600061128a600183815481106110f8576110f8611d97565b600181015490915060ff161561141657600182815481106112ad576112ad611d97565b9060005260206000200180546112c290611dad565b80601f01602080910402602001604051908101604052809291908181526020018280546112ee90611dad565b801561133b5780601f106113105761010080835404028352916020019161133b565b820191906000526020600020905b81548152906001019060200180831161131e57829003601f168201915b505050505085848151811061135257611352611d97565b602002602001018190525080600201805461136c90611dad565b80601f016020809104026020016040519081016040528092919081815260200182805461139890611dad565b80156113e55780601f106113ba576101008083540402835291602001916113e5565b820191906000526020600020905b8154815290600101906020018083116113c857829003601f168201915b50505050508484815181106113fc576113fc611d97565b6020026020010181905250828061141290611dfe565b9350505b508061142181611dfe565b915050611268565b50919590945092505050565b6000546001600160a01b0316331461145f5760405162461bcd60e51b81526004016106c690611e29565b600061146b8243611f99565b905061147b87878787878661069c565b50505050505050565b60606001805480602002602001604051908101604052809291908181526020016000905b828210156115545783829060005260206000200180546114c790611dad565b80601f01602080910402602001604051908101604052809291908181526020018280546114f390611dad565b80156115405780601f1061151557610100808354040283529160200191611540565b820191906000526020600020905b81548152906001019060200180831161152357829003601f168201915b5050505050815260200190600101906114a8565b50505050905090565b6001818154811061156d57600080fd5b90600052602060002001600091509050805461158890611dad565b80601f01602080910402602001604051908101604052809291908181526020018280546115b490611dad565b80156116015780601f106115d657610100808354040283529160200191611601565b820191906000526020600020905b8154815290600101906020018083116115e457829003601f168201915b505050505081565b6000546001600160a01b031633146116335760405162461bcd60e51b81526004016106c690611e29565b6001600160a01b0381166116985760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106c6565b6116a181611760565b50565b6000806002836040516116b79190611f7d565b908152604051908190036020019020805490915043826116d8600184611e5e565b815481106116e8576116e8611d97565b90600052602060002090600302016000015411611732578161170b600183611e5e565b8154811061171b5761171b611d97565b906000526020600020906003020192505050919050565b8161170b600283611e5e565b600061174d6002848418611fb1565b61175990848416611f99565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8280546117bc90611dad565b90600052602060002090601f0160209004810192826117de5760008555611824565b82601f106117f75782800160ff19823516178555611824565b82800160010185558215611824579182015b82811115611824578235825591602001919060010190611809565b506118309291506118a8565b5090565b82805461184090611dad565b90600052602060002090601f0160209004810192826118625760008555611824565b82601f1061187b57805160ff1916838001178555611824565b82800160010185558215611824579182015b8281111561182457825182559160200191906001019061188d565b5b8082111561183057600081556001016118a9565b6000602082840312156118cf57600080fd5b5035919050565b60005b838110156118f15781810151838201526020016118d9565b83811115611900576000848401525b50505050565b6000815180845261191e8160208601602086016118d6565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b8481101561197d57601f1986840301895261196b838351611906565b9884019892509083019060010161194f565b5090979650505050505050565b60408152600061199d6040830185611932565b6020838203818501528185518084528284019150828160051b85010183880160005b838110156119ed57601f198784030185526119db838351611906565b948601949250908501906001016119bf565b50909998505050505050505050565b60008083601f840112611a0e57600080fd5b50813567ffffffffffffffff811115611a2657600080fd5b602083019150836020828501011115610ec957600080fd5b60008060208385031215611a5157600080fd5b823567ffffffffffffffff811115611a6857600080fd5b611a74858286016119fc565b90969095509350505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015611af357888303603f19018552815180518452878101511515888501528601516060878501819052611adf81860183611906565b968901969450505090860190600101611aa7565b509098975050505050505050565b60008060008060008060808789031215611b1a57600080fd5b863567ffffffffffffffff80821115611b3257600080fd5b611b3e8a838b016119fc565b9098509650602089013591508115158214611b5857600080fd5b90945060408801359080821115611b6e57600080fd5b50611b7b89828a016119fc565b979a9699509497949695606090950135949350505050565b604081526000611ba66040830185611932565b6020838203818501528185518084528284019150828160051b85010183880160005b838110156119ed57601f1987840381018652825180518086529088019088860190600581901b87018a0160005b82811015611c43578589830301845284516060815184528d82015115158e85015260408201519150806040850152611c2f81850183611906565b968e0196958e019593505050600101611bf5565b50988a019896505050928701925050600101611bc8565b8215158152604060208201526000611c756040830184611906565b949350505050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215611ca657600080fd5b823567ffffffffffffffff80821115611cbe57600080fd5b818501915085601f830112611cd257600080fd5b813581811115611ce457611ce4611c7d565b604051601f8201601f19908116603f01168101908382118183101715611d0c57611d0c611c7d565b81604052828152886020848701011115611d2557600080fd5b826020860160208301376000602093820184015298969091013596505050505050565b6020815260006117596020830184611932565b6020815260006117596020830184611906565b600060208284031215611d8057600080fd5b81356001600160a01b038116811461175957600080fd5b634e487b7160e01b600052603260045260246000fd5b600181811c90821680611dc157607f821691505b60208210811415611de257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000600019821415611e1257611e12611de8565b5060010190565b8183823760009101908152919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600082821015611e7057611e70611de8565b500390565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611eb260808301888a611e75565b86151560208401528281036040840152611ecd818688611e75565b915050826060830152979650505050505050565b600080835481600182811c915080831680611efd57607f831692505b6020808410821415611f1d57634e487b7160e01b86526022600452602486fd5b818015611f315760018114611f4257611f6f565b60ff19861689528489019650611f6f565b60008a81526020902060005b86811015611f675781548b820152908501908301611f4e565b505084890196505b509498975050505050505050565b60008251611f8f8184602087016118d6565b9190910192915050565b60008219821115611fac57611fac611de8565b500190565b600082611fce57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220e6970038be882b57fc58a9a8845b84f62b493ff531ad01ec2d0a165c3dedc3ce64736f6c634300080a0033`
   220  
   221  // GovParamFuncSigs maps the 4-byte function signature to its string representation.
   222  // Deprecated: Use GovParamMetaData.Sigs instead.
   223  var GovParamFuncSigs = GovParamMetaData.Sigs
   224  
   225  // GovParamBin is the compiled bytecode used for deploying new contracts.
   226  // Deprecated: Use GovParamMetaData.Bin instead.
   227  var GovParamBin = GovParamMetaData.Bin
   228  
   229  // DeployGovParam deploys a new Klaytn contract, binding an instance of GovParam to it.
   230  func DeployGovParam(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *GovParam, error) {
   231  	parsed, err := GovParamMetaData.GetAbi()
   232  	if err != nil {
   233  		return common.Address{}, nil, nil, err
   234  	}
   235  	if parsed == nil {
   236  		return common.Address{}, nil, nil, errors.New("GetABI returned nil")
   237  	}
   238  
   239  	address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(GovParamBin), backend)
   240  	if err != nil {
   241  		return common.Address{}, nil, nil, err
   242  	}
   243  	return address, tx, &GovParam{GovParamCaller: GovParamCaller{contract: contract}, GovParamTransactor: GovParamTransactor{contract: contract}, GovParamFilterer: GovParamFilterer{contract: contract}}, nil
   244  }
   245  
   246  // GovParam is an auto generated Go binding around a Klaytn contract.
   247  type GovParam struct {
   248  	GovParamCaller     // Read-only binding to the contract
   249  	GovParamTransactor // Write-only binding to the contract
   250  	GovParamFilterer   // Log filterer for contract events
   251  }
   252  
   253  // GovParamCaller is an auto generated read-only Go binding around a Klaytn contract.
   254  type GovParamCaller struct {
   255  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
   256  }
   257  
   258  // GovParamTransactor is an auto generated write-only Go binding around a Klaytn contract.
   259  type GovParamTransactor struct {
   260  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
   261  }
   262  
   263  // GovParamFilterer is an auto generated log filtering Go binding around a Klaytn contract events.
   264  type GovParamFilterer struct {
   265  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
   266  }
   267  
   268  // GovParamSession is an auto generated Go binding around a Klaytn contract,
   269  // with pre-set call and transact options.
   270  type GovParamSession struct {
   271  	Contract     *GovParam         // Generic contract binding to set the session for
   272  	CallOpts     bind.CallOpts     // Call options to use throughout this session
   273  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
   274  }
   275  
   276  // GovParamCallerSession is an auto generated read-only Go binding around a Klaytn contract,
   277  // with pre-set call options.
   278  type GovParamCallerSession struct {
   279  	Contract *GovParamCaller // Generic contract caller binding to set the session for
   280  	CallOpts bind.CallOpts   // Call options to use throughout this session
   281  }
   282  
   283  // GovParamTransactorSession is an auto generated write-only Go binding around a Klaytn contract,
   284  // with pre-set transact options.
   285  type GovParamTransactorSession struct {
   286  	Contract     *GovParamTransactor // Generic contract transactor binding to set the session for
   287  	TransactOpts bind.TransactOpts   // Transaction auth options to use throughout this session
   288  }
   289  
   290  // GovParamRaw is an auto generated low-level Go binding around a Klaytn contract.
   291  type GovParamRaw struct {
   292  	Contract *GovParam // Generic contract binding to access the raw methods on
   293  }
   294  
   295  // GovParamCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract.
   296  type GovParamCallerRaw struct {
   297  	Contract *GovParamCaller // Generic read-only contract binding to access the raw methods on
   298  }
   299  
   300  // GovParamTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract.
   301  type GovParamTransactorRaw struct {
   302  	Contract *GovParamTransactor // Generic write-only contract binding to access the raw methods on
   303  }
   304  
   305  // NewGovParam creates a new instance of GovParam, bound to a specific deployed contract.
   306  func NewGovParam(address common.Address, backend bind.ContractBackend) (*GovParam, error) {
   307  	contract, err := bindGovParam(address, backend, backend, backend)
   308  	if err != nil {
   309  		return nil, err
   310  	}
   311  	return &GovParam{GovParamCaller: GovParamCaller{contract: contract}, GovParamTransactor: GovParamTransactor{contract: contract}, GovParamFilterer: GovParamFilterer{contract: contract}}, nil
   312  }
   313  
   314  // NewGovParamCaller creates a new read-only instance of GovParam, bound to a specific deployed contract.
   315  func NewGovParamCaller(address common.Address, caller bind.ContractCaller) (*GovParamCaller, error) {
   316  	contract, err := bindGovParam(address, caller, nil, nil)
   317  	if err != nil {
   318  		return nil, err
   319  	}
   320  	return &GovParamCaller{contract: contract}, nil
   321  }
   322  
   323  // NewGovParamTransactor creates a new write-only instance of GovParam, bound to a specific deployed contract.
   324  func NewGovParamTransactor(address common.Address, transactor bind.ContractTransactor) (*GovParamTransactor, error) {
   325  	contract, err := bindGovParam(address, nil, transactor, nil)
   326  	if err != nil {
   327  		return nil, err
   328  	}
   329  	return &GovParamTransactor{contract: contract}, nil
   330  }
   331  
   332  // NewGovParamFilterer creates a new log filterer instance of GovParam, bound to a specific deployed contract.
   333  func NewGovParamFilterer(address common.Address, filterer bind.ContractFilterer) (*GovParamFilterer, error) {
   334  	contract, err := bindGovParam(address, nil, nil, filterer)
   335  	if err != nil {
   336  		return nil, err
   337  	}
   338  	return &GovParamFilterer{contract: contract}, nil
   339  }
   340  
   341  // bindGovParam binds a generic wrapper to an already deployed contract.
   342  func bindGovParam(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   343  	parsed, err := GovParamMetaData.GetAbi()
   344  	if err != nil {
   345  		return nil, err
   346  	}
   347  	return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil
   348  }
   349  
   350  // Call invokes the (constant) contract method with params as input values and
   351  // sets the output to result. The result type might be a single field for simple
   352  // returns, a slice of interfaces for anonymous returns and a struct for named
   353  // returns.
   354  func (_GovParam *GovParamRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   355  	return _GovParam.Contract.GovParamCaller.contract.Call(opts, result, method, params...)
   356  }
   357  
   358  // Transfer initiates a plain transaction to move funds to the contract, calling
   359  // its default method if one is available.
   360  func (_GovParam *GovParamRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   361  	return _GovParam.Contract.GovParamTransactor.contract.Transfer(opts)
   362  }
   363  
   364  // Transact invokes the (paid) contract method with params as input values.
   365  func (_GovParam *GovParamRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   366  	return _GovParam.Contract.GovParamTransactor.contract.Transact(opts, method, params...)
   367  }
   368  
   369  // Call invokes the (constant) contract method with params as input values and
   370  // sets the output to result. The result type might be a single field for simple
   371  // returns, a slice of interfaces for anonymous returns and a struct for named
   372  // returns.
   373  func (_GovParam *GovParamCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   374  	return _GovParam.Contract.contract.Call(opts, result, method, params...)
   375  }
   376  
   377  // Transfer initiates a plain transaction to move funds to the contract, calling
   378  // its default method if one is available.
   379  func (_GovParam *GovParamTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   380  	return _GovParam.Contract.contract.Transfer(opts)
   381  }
   382  
   383  // Transact invokes the (paid) contract method with params as input values.
   384  func (_GovParam *GovParamTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   385  	return _GovParam.Contract.contract.Transact(opts, method, params...)
   386  }
   387  
   388  // Checkpoints is a free data retrieval call binding the contract method 0x296451d9.
   389  //
   390  // Solidity: function checkpoints(string name) view returns((uint256,bool,bytes)[])
   391  func (_GovParam *GovParamCaller) Checkpoints(opts *bind.CallOpts, name string) ([]IGovParamParam, error) {
   392  	var out []interface{}
   393  	err := _GovParam.contract.Call(opts, &out, "checkpoints", name)
   394  
   395  	if err != nil {
   396  		return *new([]IGovParamParam), err
   397  	}
   398  
   399  	out0 := *abi.ConvertType(out[0], new([]IGovParamParam)).(*[]IGovParamParam)
   400  
   401  	return out0, err
   402  
   403  }
   404  
   405  // Checkpoints is a free data retrieval call binding the contract method 0x296451d9.
   406  //
   407  // Solidity: function checkpoints(string name) view returns((uint256,bool,bytes)[])
   408  func (_GovParam *GovParamSession) Checkpoints(name string) ([]IGovParamParam, error) {
   409  	return _GovParam.Contract.Checkpoints(&_GovParam.CallOpts, name)
   410  }
   411  
   412  // Checkpoints is a free data retrieval call binding the contract method 0x296451d9.
   413  //
   414  // Solidity: function checkpoints(string name) view returns((uint256,bool,bytes)[])
   415  func (_GovParam *GovParamCallerSession) Checkpoints(name string) ([]IGovParamParam, error) {
   416  	return _GovParam.Contract.Checkpoints(&_GovParam.CallOpts, name)
   417  }
   418  
   419  // GetAllCheckpoints is a free data retrieval call binding the contract method 0x5516c21c.
   420  //
   421  // Solidity: function getAllCheckpoints() view returns(string[], (uint256,bool,bytes)[][])
   422  func (_GovParam *GovParamCaller) GetAllCheckpoints(opts *bind.CallOpts) ([]string, [][]IGovParamParam, error) {
   423  	var out []interface{}
   424  	err := _GovParam.contract.Call(opts, &out, "getAllCheckpoints")
   425  
   426  	if err != nil {
   427  		return *new([]string), *new([][]IGovParamParam), err
   428  	}
   429  
   430  	out0 := *abi.ConvertType(out[0], new([]string)).(*[]string)
   431  	out1 := *abi.ConvertType(out[1], new([][]IGovParamParam)).(*[][]IGovParamParam)
   432  
   433  	return out0, out1, err
   434  
   435  }
   436  
   437  // GetAllCheckpoints is a free data retrieval call binding the contract method 0x5516c21c.
   438  //
   439  // Solidity: function getAllCheckpoints() view returns(string[], (uint256,bool,bytes)[][])
   440  func (_GovParam *GovParamSession) GetAllCheckpoints() ([]string, [][]IGovParamParam, error) {
   441  	return _GovParam.Contract.GetAllCheckpoints(&_GovParam.CallOpts)
   442  }
   443  
   444  // GetAllCheckpoints is a free data retrieval call binding the contract method 0x5516c21c.
   445  //
   446  // Solidity: function getAllCheckpoints() view returns(string[], (uint256,bool,bytes)[][])
   447  func (_GovParam *GovParamCallerSession) GetAllCheckpoints() ([]string, [][]IGovParamParam, error) {
   448  	return _GovParam.Contract.GetAllCheckpoints(&_GovParam.CallOpts)
   449  }
   450  
   451  // GetAllParamNames is a free data retrieval call binding the contract method 0xcc4783b6.
   452  //
   453  // Solidity: function getAllParamNames() view returns(string[])
   454  func (_GovParam *GovParamCaller) GetAllParamNames(opts *bind.CallOpts) ([]string, error) {
   455  	var out []interface{}
   456  	err := _GovParam.contract.Call(opts, &out, "getAllParamNames")
   457  
   458  	if err != nil {
   459  		return *new([]string), err
   460  	}
   461  
   462  	out0 := *abi.ConvertType(out[0], new([]string)).(*[]string)
   463  
   464  	return out0, err
   465  
   466  }
   467  
   468  // GetAllParamNames is a free data retrieval call binding the contract method 0xcc4783b6.
   469  //
   470  // Solidity: function getAllParamNames() view returns(string[])
   471  func (_GovParam *GovParamSession) GetAllParamNames() ([]string, error) {
   472  	return _GovParam.Contract.GetAllParamNames(&_GovParam.CallOpts)
   473  }
   474  
   475  // GetAllParamNames is a free data retrieval call binding the contract method 0xcc4783b6.
   476  //
   477  // Solidity: function getAllParamNames() view returns(string[])
   478  func (_GovParam *GovParamCallerSession) GetAllParamNames() ([]string, error) {
   479  	return _GovParam.Contract.GetAllParamNames(&_GovParam.CallOpts)
   480  }
   481  
   482  // GetAllParams is a free data retrieval call binding the contract method 0xa170052e.
   483  //
   484  // Solidity: function getAllParams() view returns(string[], bytes[])
   485  func (_GovParam *GovParamCaller) GetAllParams(opts *bind.CallOpts) ([]string, [][]byte, error) {
   486  	var out []interface{}
   487  	err := _GovParam.contract.Call(opts, &out, "getAllParams")
   488  
   489  	if err != nil {
   490  		return *new([]string), *new([][]byte), err
   491  	}
   492  
   493  	out0 := *abi.ConvertType(out[0], new([]string)).(*[]string)
   494  	out1 := *abi.ConvertType(out[1], new([][]byte)).(*[][]byte)
   495  
   496  	return out0, out1, err
   497  
   498  }
   499  
   500  // GetAllParams is a free data retrieval call binding the contract method 0xa170052e.
   501  //
   502  // Solidity: function getAllParams() view returns(string[], bytes[])
   503  func (_GovParam *GovParamSession) GetAllParams() ([]string, [][]byte, error) {
   504  	return _GovParam.Contract.GetAllParams(&_GovParam.CallOpts)
   505  }
   506  
   507  // GetAllParams is a free data retrieval call binding the contract method 0xa170052e.
   508  //
   509  // Solidity: function getAllParams() view returns(string[], bytes[])
   510  func (_GovParam *GovParamCallerSession) GetAllParams() ([]string, [][]byte, error) {
   511  	return _GovParam.Contract.GetAllParams(&_GovParam.CallOpts)
   512  }
   513  
   514  // GetAllParamsAt is a free data retrieval call binding the contract method 0x1e31825a.
   515  //
   516  // Solidity: function getAllParamsAt(uint256 blockNumber) view returns(string[], bytes[])
   517  func (_GovParam *GovParamCaller) GetAllParamsAt(opts *bind.CallOpts, blockNumber *big.Int) ([]string, [][]byte, error) {
   518  	var out []interface{}
   519  	err := _GovParam.contract.Call(opts, &out, "getAllParamsAt", blockNumber)
   520  
   521  	if err != nil {
   522  		return *new([]string), *new([][]byte), err
   523  	}
   524  
   525  	out0 := *abi.ConvertType(out[0], new([]string)).(*[]string)
   526  	out1 := *abi.ConvertType(out[1], new([][]byte)).(*[][]byte)
   527  
   528  	return out0, out1, err
   529  
   530  }
   531  
   532  // GetAllParamsAt is a free data retrieval call binding the contract method 0x1e31825a.
   533  //
   534  // Solidity: function getAllParamsAt(uint256 blockNumber) view returns(string[], bytes[])
   535  func (_GovParam *GovParamSession) GetAllParamsAt(blockNumber *big.Int) ([]string, [][]byte, error) {
   536  	return _GovParam.Contract.GetAllParamsAt(&_GovParam.CallOpts, blockNumber)
   537  }
   538  
   539  // GetAllParamsAt is a free data retrieval call binding the contract method 0x1e31825a.
   540  //
   541  // Solidity: function getAllParamsAt(uint256 blockNumber) view returns(string[], bytes[])
   542  func (_GovParam *GovParamCallerSession) GetAllParamsAt(blockNumber *big.Int) ([]string, [][]byte, error) {
   543  	return _GovParam.Contract.GetAllParamsAt(&_GovParam.CallOpts, blockNumber)
   544  }
   545  
   546  // GetParam is a free data retrieval call binding the contract method 0x5d4f71d4.
   547  //
   548  // Solidity: function getParam(string name) view returns(bool, bytes)
   549  func (_GovParam *GovParamCaller) GetParam(opts *bind.CallOpts, name string) (bool, []byte, error) {
   550  	var out []interface{}
   551  	err := _GovParam.contract.Call(opts, &out, "getParam", name)
   552  
   553  	if err != nil {
   554  		return *new(bool), *new([]byte), err
   555  	}
   556  
   557  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   558  	out1 := *abi.ConvertType(out[1], new([]byte)).(*[]byte)
   559  
   560  	return out0, out1, err
   561  
   562  }
   563  
   564  // GetParam is a free data retrieval call binding the contract method 0x5d4f71d4.
   565  //
   566  // Solidity: function getParam(string name) view returns(bool, bytes)
   567  func (_GovParam *GovParamSession) GetParam(name string) (bool, []byte, error) {
   568  	return _GovParam.Contract.GetParam(&_GovParam.CallOpts, name)
   569  }
   570  
   571  // GetParam is a free data retrieval call binding the contract method 0x5d4f71d4.
   572  //
   573  // Solidity: function getParam(string name) view returns(bool, bytes)
   574  func (_GovParam *GovParamCallerSession) GetParam(name string) (bool, []byte, error) {
   575  	return _GovParam.Contract.GetParam(&_GovParam.CallOpts, name)
   576  }
   577  
   578  // GetParamAt is a free data retrieval call binding the contract method 0x6a1ec27c.
   579  //
   580  // Solidity: function getParamAt(string name, uint256 blockNumber) view returns(bool, bytes)
   581  func (_GovParam *GovParamCaller) GetParamAt(opts *bind.CallOpts, name string, blockNumber *big.Int) (bool, []byte, error) {
   582  	var out []interface{}
   583  	err := _GovParam.contract.Call(opts, &out, "getParamAt", name, blockNumber)
   584  
   585  	if err != nil {
   586  		return *new(bool), *new([]byte), err
   587  	}
   588  
   589  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   590  	out1 := *abi.ConvertType(out[1], new([]byte)).(*[]byte)
   591  
   592  	return out0, out1, err
   593  
   594  }
   595  
   596  // GetParamAt is a free data retrieval call binding the contract method 0x6a1ec27c.
   597  //
   598  // Solidity: function getParamAt(string name, uint256 blockNumber) view returns(bool, bytes)
   599  func (_GovParam *GovParamSession) GetParamAt(name string, blockNumber *big.Int) (bool, []byte, error) {
   600  	return _GovParam.Contract.GetParamAt(&_GovParam.CallOpts, name, blockNumber)
   601  }
   602  
   603  // GetParamAt is a free data retrieval call binding the contract method 0x6a1ec27c.
   604  //
   605  // Solidity: function getParamAt(string name, uint256 blockNumber) view returns(bool, bytes)
   606  func (_GovParam *GovParamCallerSession) GetParamAt(name string, blockNumber *big.Int) (bool, []byte, error) {
   607  	return _GovParam.Contract.GetParamAt(&_GovParam.CallOpts, name, blockNumber)
   608  }
   609  
   610  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   611  //
   612  // Solidity: function owner() view returns(address)
   613  func (_GovParam *GovParamCaller) Owner(opts *bind.CallOpts) (common.Address, error) {
   614  	var out []interface{}
   615  	err := _GovParam.contract.Call(opts, &out, "owner")
   616  
   617  	if err != nil {
   618  		return *new(common.Address), err
   619  	}
   620  
   621  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   622  
   623  	return out0, err
   624  
   625  }
   626  
   627  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   628  //
   629  // Solidity: function owner() view returns(address)
   630  func (_GovParam *GovParamSession) Owner() (common.Address, error) {
   631  	return _GovParam.Contract.Owner(&_GovParam.CallOpts)
   632  }
   633  
   634  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   635  //
   636  // Solidity: function owner() view returns(address)
   637  func (_GovParam *GovParamCallerSession) Owner() (common.Address, error) {
   638  	return _GovParam.Contract.Owner(&_GovParam.CallOpts)
   639  }
   640  
   641  // ParamNames is a free data retrieval call binding the contract method 0xdb758754.
   642  //
   643  // Solidity: function paramNames(uint256 ) view returns(string)
   644  func (_GovParam *GovParamCaller) ParamNames(opts *bind.CallOpts, arg0 *big.Int) (string, error) {
   645  	var out []interface{}
   646  	err := _GovParam.contract.Call(opts, &out, "paramNames", arg0)
   647  
   648  	if err != nil {
   649  		return *new(string), err
   650  	}
   651  
   652  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   653  
   654  	return out0, err
   655  
   656  }
   657  
   658  // ParamNames is a free data retrieval call binding the contract method 0xdb758754.
   659  //
   660  // Solidity: function paramNames(uint256 ) view returns(string)
   661  func (_GovParam *GovParamSession) ParamNames(arg0 *big.Int) (string, error) {
   662  	return _GovParam.Contract.ParamNames(&_GovParam.CallOpts, arg0)
   663  }
   664  
   665  // ParamNames is a free data retrieval call binding the contract method 0xdb758754.
   666  //
   667  // Solidity: function paramNames(uint256 ) view returns(string)
   668  func (_GovParam *GovParamCallerSession) ParamNames(arg0 *big.Int) (string, error) {
   669  	return _GovParam.Contract.ParamNames(&_GovParam.CallOpts, arg0)
   670  }
   671  
   672  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
   673  //
   674  // Solidity: function renounceOwnership() returns()
   675  func (_GovParam *GovParamTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) {
   676  	return _GovParam.contract.Transact(opts, "renounceOwnership")
   677  }
   678  
   679  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
   680  //
   681  // Solidity: function renounceOwnership() returns()
   682  func (_GovParam *GovParamSession) RenounceOwnership() (*types.Transaction, error) {
   683  	return _GovParam.Contract.RenounceOwnership(&_GovParam.TransactOpts)
   684  }
   685  
   686  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
   687  //
   688  // Solidity: function renounceOwnership() returns()
   689  func (_GovParam *GovParamTransactorSession) RenounceOwnership() (*types.Transaction, error) {
   690  	return _GovParam.Contract.RenounceOwnership(&_GovParam.TransactOpts)
   691  }
   692  
   693  // SetParam is a paid mutator transaction binding the contract method 0x3f8aa624.
   694  //
   695  // Solidity: function setParam(string name, bool exists, bytes val, uint256 activation) returns()
   696  func (_GovParam *GovParamTransactor) SetParam(opts *bind.TransactOpts, name string, exists bool, val []byte, activation *big.Int) (*types.Transaction, error) {
   697  	return _GovParam.contract.Transact(opts, "setParam", name, exists, val, activation)
   698  }
   699  
   700  // SetParam is a paid mutator transaction binding the contract method 0x3f8aa624.
   701  //
   702  // Solidity: function setParam(string name, bool exists, bytes val, uint256 activation) returns()
   703  func (_GovParam *GovParamSession) SetParam(name string, exists bool, val []byte, activation *big.Int) (*types.Transaction, error) {
   704  	return _GovParam.Contract.SetParam(&_GovParam.TransactOpts, name, exists, val, activation)
   705  }
   706  
   707  // SetParam is a paid mutator transaction binding the contract method 0x3f8aa624.
   708  //
   709  // Solidity: function setParam(string name, bool exists, bytes val, uint256 activation) returns()
   710  func (_GovParam *GovParamTransactorSession) SetParam(name string, exists bool, val []byte, activation *big.Int) (*types.Transaction, error) {
   711  	return _GovParam.Contract.SetParam(&_GovParam.TransactOpts, name, exists, val, activation)
   712  }
   713  
   714  // SetParamIn is a paid mutator transaction binding the contract method 0xb93244a5.
   715  //
   716  // Solidity: function setParamIn(string name, bool exists, bytes val, uint256 relativeActivation) returns()
   717  func (_GovParam *GovParamTransactor) SetParamIn(opts *bind.TransactOpts, name string, exists bool, val []byte, relativeActivation *big.Int) (*types.Transaction, error) {
   718  	return _GovParam.contract.Transact(opts, "setParamIn", name, exists, val, relativeActivation)
   719  }
   720  
   721  // SetParamIn is a paid mutator transaction binding the contract method 0xb93244a5.
   722  //
   723  // Solidity: function setParamIn(string name, bool exists, bytes val, uint256 relativeActivation) returns()
   724  func (_GovParam *GovParamSession) SetParamIn(name string, exists bool, val []byte, relativeActivation *big.Int) (*types.Transaction, error) {
   725  	return _GovParam.Contract.SetParamIn(&_GovParam.TransactOpts, name, exists, val, relativeActivation)
   726  }
   727  
   728  // SetParamIn is a paid mutator transaction binding the contract method 0xb93244a5.
   729  //
   730  // Solidity: function setParamIn(string name, bool exists, bytes val, uint256 relativeActivation) returns()
   731  func (_GovParam *GovParamTransactorSession) SetParamIn(name string, exists bool, val []byte, relativeActivation *big.Int) (*types.Transaction, error) {
   732  	return _GovParam.Contract.SetParamIn(&_GovParam.TransactOpts, name, exists, val, relativeActivation)
   733  }
   734  
   735  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
   736  //
   737  // Solidity: function transferOwnership(address newOwner) returns()
   738  func (_GovParam *GovParamTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) {
   739  	return _GovParam.contract.Transact(opts, "transferOwnership", newOwner)
   740  }
   741  
   742  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
   743  //
   744  // Solidity: function transferOwnership(address newOwner) returns()
   745  func (_GovParam *GovParamSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
   746  	return _GovParam.Contract.TransferOwnership(&_GovParam.TransactOpts, newOwner)
   747  }
   748  
   749  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
   750  //
   751  // Solidity: function transferOwnership(address newOwner) returns()
   752  func (_GovParam *GovParamTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
   753  	return _GovParam.Contract.TransferOwnership(&_GovParam.TransactOpts, newOwner)
   754  }
   755  
   756  // GovParamOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the GovParam contract.
   757  type GovParamOwnershipTransferredIterator struct {
   758  	Event *GovParamOwnershipTransferred // Event containing the contract specifics and raw log
   759  
   760  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   761  	event    string              // Event name to use for unpacking event data
   762  
   763  	logs chan types.Log      // Log channel receiving the found contract events
   764  	sub  klaytn.Subscription // Subscription for errors, completion and termination
   765  	done bool                // Whether the subscription completed delivering logs
   766  	fail error               // Occurred error to stop iteration
   767  }
   768  
   769  // Next advances the iterator to the subsequent event, returning whether there
   770  // are any more events found. In case of a retrieval or parsing error, false is
   771  // returned and Error() can be queried for the exact failure.
   772  func (it *GovParamOwnershipTransferredIterator) Next() bool {
   773  	// If the iterator failed, stop iterating
   774  	if it.fail != nil {
   775  		return false
   776  	}
   777  	// If the iterator completed, deliver directly whatever's available
   778  	if it.done {
   779  		select {
   780  		case log := <-it.logs:
   781  			it.Event = new(GovParamOwnershipTransferred)
   782  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   783  				it.fail = err
   784  				return false
   785  			}
   786  			it.Event.Raw = log
   787  			return true
   788  
   789  		default:
   790  			return false
   791  		}
   792  	}
   793  	// Iterator still in progress, wait for either a data or an error event
   794  	select {
   795  	case log := <-it.logs:
   796  		it.Event = new(GovParamOwnershipTransferred)
   797  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   798  			it.fail = err
   799  			return false
   800  		}
   801  		it.Event.Raw = log
   802  		return true
   803  
   804  	case err := <-it.sub.Err():
   805  		it.done = true
   806  		it.fail = err
   807  		return it.Next()
   808  	}
   809  }
   810  
   811  // Error returns any retrieval or parsing error occurred during filtering.
   812  func (it *GovParamOwnershipTransferredIterator) Error() error {
   813  	return it.fail
   814  }
   815  
   816  // Close terminates the iteration process, releasing any pending underlying
   817  // resources.
   818  func (it *GovParamOwnershipTransferredIterator) Close() error {
   819  	it.sub.Unsubscribe()
   820  	return nil
   821  }
   822  
   823  // GovParamOwnershipTransferred represents a OwnershipTransferred event raised by the GovParam contract.
   824  type GovParamOwnershipTransferred struct {
   825  	PreviousOwner common.Address
   826  	NewOwner      common.Address
   827  	Raw           types.Log // Blockchain specific contextual infos
   828  }
   829  
   830  // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
   831  //
   832  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
   833  func (_GovParam *GovParamFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*GovParamOwnershipTransferredIterator, error) {
   834  
   835  	var previousOwnerRule []interface{}
   836  	for _, previousOwnerItem := range previousOwner {
   837  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
   838  	}
   839  	var newOwnerRule []interface{}
   840  	for _, newOwnerItem := range newOwner {
   841  		newOwnerRule = append(newOwnerRule, newOwnerItem)
   842  	}
   843  
   844  	logs, sub, err := _GovParam.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
   845  	if err != nil {
   846  		return nil, err
   847  	}
   848  	return &GovParamOwnershipTransferredIterator{contract: _GovParam.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil
   849  }
   850  
   851  // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
   852  //
   853  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
   854  func (_GovParam *GovParamFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *GovParamOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) {
   855  
   856  	var previousOwnerRule []interface{}
   857  	for _, previousOwnerItem := range previousOwner {
   858  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
   859  	}
   860  	var newOwnerRule []interface{}
   861  	for _, newOwnerItem := range newOwner {
   862  		newOwnerRule = append(newOwnerRule, newOwnerItem)
   863  	}
   864  
   865  	logs, sub, err := _GovParam.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
   866  	if err != nil {
   867  		return nil, err
   868  	}
   869  	return event.NewSubscription(func(quit <-chan struct{}) error {
   870  		defer sub.Unsubscribe()
   871  		for {
   872  			select {
   873  			case log := <-logs:
   874  				// New log arrived, parse the event and forward to the user
   875  				event := new(GovParamOwnershipTransferred)
   876  				if err := _GovParam.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
   877  					return err
   878  				}
   879  				event.Raw = log
   880  
   881  				select {
   882  				case sink <- event:
   883  				case err := <-sub.Err():
   884  					return err
   885  				case <-quit:
   886  					return nil
   887  				}
   888  			case err := <-sub.Err():
   889  				return err
   890  			case <-quit:
   891  				return nil
   892  			}
   893  		}
   894  	}), nil
   895  }
   896  
   897  // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
   898  //
   899  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
   900  func (_GovParam *GovParamFilterer) ParseOwnershipTransferred(log types.Log) (*GovParamOwnershipTransferred, error) {
   901  	event := new(GovParamOwnershipTransferred)
   902  	if err := _GovParam.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
   903  		return nil, err
   904  	}
   905  	return event, nil
   906  }
   907  
   908  // GovParamSetParamIterator is returned from FilterSetParam and is used to iterate over the raw logs and unpacked data for SetParam events raised by the GovParam contract.
   909  type GovParamSetParamIterator struct {
   910  	Event *GovParamSetParam // Event containing the contract specifics and raw log
   911  
   912  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   913  	event    string              // Event name to use for unpacking event data
   914  
   915  	logs chan types.Log      // Log channel receiving the found contract events
   916  	sub  klaytn.Subscription // Subscription for errors, completion and termination
   917  	done bool                // Whether the subscription completed delivering logs
   918  	fail error               // Occurred error to stop iteration
   919  }
   920  
   921  // Next advances the iterator to the subsequent event, returning whether there
   922  // are any more events found. In case of a retrieval or parsing error, false is
   923  // returned and Error() can be queried for the exact failure.
   924  func (it *GovParamSetParamIterator) Next() bool {
   925  	// If the iterator failed, stop iterating
   926  	if it.fail != nil {
   927  		return false
   928  	}
   929  	// If the iterator completed, deliver directly whatever's available
   930  	if it.done {
   931  		select {
   932  		case log := <-it.logs:
   933  			it.Event = new(GovParamSetParam)
   934  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   935  				it.fail = err
   936  				return false
   937  			}
   938  			it.Event.Raw = log
   939  			return true
   940  
   941  		default:
   942  			return false
   943  		}
   944  	}
   945  	// Iterator still in progress, wait for either a data or an error event
   946  	select {
   947  	case log := <-it.logs:
   948  		it.Event = new(GovParamSetParam)
   949  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   950  			it.fail = err
   951  			return false
   952  		}
   953  		it.Event.Raw = log
   954  		return true
   955  
   956  	case err := <-it.sub.Err():
   957  		it.done = true
   958  		it.fail = err
   959  		return it.Next()
   960  	}
   961  }
   962  
   963  // Error returns any retrieval or parsing error occurred during filtering.
   964  func (it *GovParamSetParamIterator) Error() error {
   965  	return it.fail
   966  }
   967  
   968  // Close terminates the iteration process, releasing any pending underlying
   969  // resources.
   970  func (it *GovParamSetParamIterator) Close() error {
   971  	it.sub.Unsubscribe()
   972  	return nil
   973  }
   974  
   975  // GovParamSetParam represents a SetParam event raised by the GovParam contract.
   976  type GovParamSetParam struct {
   977  	Name       string
   978  	Exists     bool
   979  	Value      []byte
   980  	Activation *big.Int
   981  	Raw        types.Log // Blockchain specific contextual infos
   982  }
   983  
   984  // FilterSetParam is a free log retrieval operation binding the contract event 0x80044a87a0a45f6cc784a3f48077d58f4eb1e7d78243f85daa43ad7a88b6ba85.
   985  //
   986  // Solidity: event SetParam(string name, bool exists, bytes value, uint256 activation)
   987  func (_GovParam *GovParamFilterer) FilterSetParam(opts *bind.FilterOpts) (*GovParamSetParamIterator, error) {
   988  
   989  	logs, sub, err := _GovParam.contract.FilterLogs(opts, "SetParam")
   990  	if err != nil {
   991  		return nil, err
   992  	}
   993  	return &GovParamSetParamIterator{contract: _GovParam.contract, event: "SetParam", logs: logs, sub: sub}, nil
   994  }
   995  
   996  // WatchSetParam is a free log subscription operation binding the contract event 0x80044a87a0a45f6cc784a3f48077d58f4eb1e7d78243f85daa43ad7a88b6ba85.
   997  //
   998  // Solidity: event SetParam(string name, bool exists, bytes value, uint256 activation)
   999  func (_GovParam *GovParamFilterer) WatchSetParam(opts *bind.WatchOpts, sink chan<- *GovParamSetParam) (event.Subscription, error) {
  1000  
  1001  	logs, sub, err := _GovParam.contract.WatchLogs(opts, "SetParam")
  1002  	if err != nil {
  1003  		return nil, err
  1004  	}
  1005  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1006  		defer sub.Unsubscribe()
  1007  		for {
  1008  			select {
  1009  			case log := <-logs:
  1010  				// New log arrived, parse the event and forward to the user
  1011  				event := new(GovParamSetParam)
  1012  				if err := _GovParam.contract.UnpackLog(event, "SetParam", log); err != nil {
  1013  					return err
  1014  				}
  1015  				event.Raw = log
  1016  
  1017  				select {
  1018  				case sink <- event:
  1019  				case err := <-sub.Err():
  1020  					return err
  1021  				case <-quit:
  1022  					return nil
  1023  				}
  1024  			case err := <-sub.Err():
  1025  				return err
  1026  			case <-quit:
  1027  				return nil
  1028  			}
  1029  		}
  1030  	}), nil
  1031  }
  1032  
  1033  // ParseSetParam is a log parse operation binding the contract event 0x80044a87a0a45f6cc784a3f48077d58f4eb1e7d78243f85daa43ad7a88b6ba85.
  1034  //
  1035  // Solidity: event SetParam(string name, bool exists, bytes value, uint256 activation)
  1036  func (_GovParam *GovParamFilterer) ParseSetParam(log types.Log) (*GovParamSetParam, error) {
  1037  	event := new(GovParamSetParam)
  1038  	if err := _GovParam.contract.UnpackLog(event, "SetParam", log); err != nil {
  1039  		return nil, err
  1040  	}
  1041  	return event, nil
  1042  }
  1043  
  1044  // IGovParamMetaData contains all meta data concerning the IGovParam contract.
  1045  var IGovParamMetaData = &bind.MetaData{
  1046  	ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"activation\",\"type\":\"uint256\"}],\"name\":\"SetParam\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"checkpoints\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"activation\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"internalType\":\"structIGovParam.Param[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllCheckpoints\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"activation\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"internalType\":\"structIGovParam.Param[][]\",\"name\":\"\",\"type\":\"tuple[][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllParamNames\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllParams\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"},{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getAllParamsAt\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"},{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"getParam\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getParamAt\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idx\",\"type\":\"uint256\"}],\"name\":\"paramNames\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"activation\",\"type\":\"uint256\"}],\"name\":\"setParam\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"relativeActivation\",\"type\":\"uint256\"}],\"name\":\"setParamIn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  1047  	Sigs: map[string]string{
  1048  		"296451d9": "checkpoints(string)",
  1049  		"5516c21c": "getAllCheckpoints()",
  1050  		"cc4783b6": "getAllParamNames()",
  1051  		"a170052e": "getAllParams()",
  1052  		"1e31825a": "getAllParamsAt(uint256)",
  1053  		"5d4f71d4": "getParam(string)",
  1054  		"6a1ec27c": "getParamAt(string,uint256)",
  1055  		"db758754": "paramNames(uint256)",
  1056  		"3f8aa624": "setParam(string,bool,bytes,uint256)",
  1057  		"b93244a5": "setParamIn(string,bool,bytes,uint256)",
  1058  	},
  1059  }
  1060  
  1061  // IGovParamABI is the input ABI used to generate the binding from.
  1062  // Deprecated: Use IGovParamMetaData.ABI instead.
  1063  var IGovParamABI = IGovParamMetaData.ABI
  1064  
  1065  // IGovParamBinRuntime is the compiled bytecode used for adding genesis block without deploying code.
  1066  const IGovParamBinRuntime = ``
  1067  
  1068  // IGovParamFuncSigs maps the 4-byte function signature to its string representation.
  1069  // Deprecated: Use IGovParamMetaData.Sigs instead.
  1070  var IGovParamFuncSigs = IGovParamMetaData.Sigs
  1071  
  1072  // IGovParam is an auto generated Go binding around a Klaytn contract.
  1073  type IGovParam struct {
  1074  	IGovParamCaller     // Read-only binding to the contract
  1075  	IGovParamTransactor // Write-only binding to the contract
  1076  	IGovParamFilterer   // Log filterer for contract events
  1077  }
  1078  
  1079  // IGovParamCaller is an auto generated read-only Go binding around a Klaytn contract.
  1080  type IGovParamCaller struct {
  1081  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1082  }
  1083  
  1084  // IGovParamTransactor is an auto generated write-only Go binding around a Klaytn contract.
  1085  type IGovParamTransactor struct {
  1086  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1087  }
  1088  
  1089  // IGovParamFilterer is an auto generated log filtering Go binding around a Klaytn contract events.
  1090  type IGovParamFilterer struct {
  1091  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1092  }
  1093  
  1094  // IGovParamSession is an auto generated Go binding around a Klaytn contract,
  1095  // with pre-set call and transact options.
  1096  type IGovParamSession struct {
  1097  	Contract     *IGovParam        // Generic contract binding to set the session for
  1098  	CallOpts     bind.CallOpts     // Call options to use throughout this session
  1099  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  1100  }
  1101  
  1102  // IGovParamCallerSession is an auto generated read-only Go binding around a Klaytn contract,
  1103  // with pre-set call options.
  1104  type IGovParamCallerSession struct {
  1105  	Contract *IGovParamCaller // Generic contract caller binding to set the session for
  1106  	CallOpts bind.CallOpts    // Call options to use throughout this session
  1107  }
  1108  
  1109  // IGovParamTransactorSession is an auto generated write-only Go binding around a Klaytn contract,
  1110  // with pre-set transact options.
  1111  type IGovParamTransactorSession struct {
  1112  	Contract     *IGovParamTransactor // Generic contract transactor binding to set the session for
  1113  	TransactOpts bind.TransactOpts    // Transaction auth options to use throughout this session
  1114  }
  1115  
  1116  // IGovParamRaw is an auto generated low-level Go binding around a Klaytn contract.
  1117  type IGovParamRaw struct {
  1118  	Contract *IGovParam // Generic contract binding to access the raw methods on
  1119  }
  1120  
  1121  // IGovParamCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract.
  1122  type IGovParamCallerRaw struct {
  1123  	Contract *IGovParamCaller // Generic read-only contract binding to access the raw methods on
  1124  }
  1125  
  1126  // IGovParamTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract.
  1127  type IGovParamTransactorRaw struct {
  1128  	Contract *IGovParamTransactor // Generic write-only contract binding to access the raw methods on
  1129  }
  1130  
  1131  // NewIGovParam creates a new instance of IGovParam, bound to a specific deployed contract.
  1132  func NewIGovParam(address common.Address, backend bind.ContractBackend) (*IGovParam, error) {
  1133  	contract, err := bindIGovParam(address, backend, backend, backend)
  1134  	if err != nil {
  1135  		return nil, err
  1136  	}
  1137  	return &IGovParam{IGovParamCaller: IGovParamCaller{contract: contract}, IGovParamTransactor: IGovParamTransactor{contract: contract}, IGovParamFilterer: IGovParamFilterer{contract: contract}}, nil
  1138  }
  1139  
  1140  // NewIGovParamCaller creates a new read-only instance of IGovParam, bound to a specific deployed contract.
  1141  func NewIGovParamCaller(address common.Address, caller bind.ContractCaller) (*IGovParamCaller, error) {
  1142  	contract, err := bindIGovParam(address, caller, nil, nil)
  1143  	if err != nil {
  1144  		return nil, err
  1145  	}
  1146  	return &IGovParamCaller{contract: contract}, nil
  1147  }
  1148  
  1149  // NewIGovParamTransactor creates a new write-only instance of IGovParam, bound to a specific deployed contract.
  1150  func NewIGovParamTransactor(address common.Address, transactor bind.ContractTransactor) (*IGovParamTransactor, error) {
  1151  	contract, err := bindIGovParam(address, nil, transactor, nil)
  1152  	if err != nil {
  1153  		return nil, err
  1154  	}
  1155  	return &IGovParamTransactor{contract: contract}, nil
  1156  }
  1157  
  1158  // NewIGovParamFilterer creates a new log filterer instance of IGovParam, bound to a specific deployed contract.
  1159  func NewIGovParamFilterer(address common.Address, filterer bind.ContractFilterer) (*IGovParamFilterer, error) {
  1160  	contract, err := bindIGovParam(address, nil, nil, filterer)
  1161  	if err != nil {
  1162  		return nil, err
  1163  	}
  1164  	return &IGovParamFilterer{contract: contract}, nil
  1165  }
  1166  
  1167  // bindIGovParam binds a generic wrapper to an already deployed contract.
  1168  func bindIGovParam(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  1169  	parsed, err := IGovParamMetaData.GetAbi()
  1170  	if err != nil {
  1171  		return nil, err
  1172  	}
  1173  	return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil
  1174  }
  1175  
  1176  // Call invokes the (constant) contract method with params as input values and
  1177  // sets the output to result. The result type might be a single field for simple
  1178  // returns, a slice of interfaces for anonymous returns and a struct for named
  1179  // returns.
  1180  func (_IGovParam *IGovParamRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  1181  	return _IGovParam.Contract.IGovParamCaller.contract.Call(opts, result, method, params...)
  1182  }
  1183  
  1184  // Transfer initiates a plain transaction to move funds to the contract, calling
  1185  // its default method if one is available.
  1186  func (_IGovParam *IGovParamRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  1187  	return _IGovParam.Contract.IGovParamTransactor.contract.Transfer(opts)
  1188  }
  1189  
  1190  // Transact invokes the (paid) contract method with params as input values.
  1191  func (_IGovParam *IGovParamRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  1192  	return _IGovParam.Contract.IGovParamTransactor.contract.Transact(opts, method, params...)
  1193  }
  1194  
  1195  // Call invokes the (constant) contract method with params as input values and
  1196  // sets the output to result. The result type might be a single field for simple
  1197  // returns, a slice of interfaces for anonymous returns and a struct for named
  1198  // returns.
  1199  func (_IGovParam *IGovParamCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  1200  	return _IGovParam.Contract.contract.Call(opts, result, method, params...)
  1201  }
  1202  
  1203  // Transfer initiates a plain transaction to move funds to the contract, calling
  1204  // its default method if one is available.
  1205  func (_IGovParam *IGovParamTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  1206  	return _IGovParam.Contract.contract.Transfer(opts)
  1207  }
  1208  
  1209  // Transact invokes the (paid) contract method with params as input values.
  1210  func (_IGovParam *IGovParamTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  1211  	return _IGovParam.Contract.contract.Transact(opts, method, params...)
  1212  }
  1213  
  1214  // Checkpoints is a free data retrieval call binding the contract method 0x296451d9.
  1215  //
  1216  // Solidity: function checkpoints(string name) view returns((uint256,bool,bytes)[])
  1217  func (_IGovParam *IGovParamCaller) Checkpoints(opts *bind.CallOpts, name string) ([]IGovParamParam, error) {
  1218  	var out []interface{}
  1219  	err := _IGovParam.contract.Call(opts, &out, "checkpoints", name)
  1220  
  1221  	if err != nil {
  1222  		return *new([]IGovParamParam), err
  1223  	}
  1224  
  1225  	out0 := *abi.ConvertType(out[0], new([]IGovParamParam)).(*[]IGovParamParam)
  1226  
  1227  	return out0, err
  1228  
  1229  }
  1230  
  1231  // Checkpoints is a free data retrieval call binding the contract method 0x296451d9.
  1232  //
  1233  // Solidity: function checkpoints(string name) view returns((uint256,bool,bytes)[])
  1234  func (_IGovParam *IGovParamSession) Checkpoints(name string) ([]IGovParamParam, error) {
  1235  	return _IGovParam.Contract.Checkpoints(&_IGovParam.CallOpts, name)
  1236  }
  1237  
  1238  // Checkpoints is a free data retrieval call binding the contract method 0x296451d9.
  1239  //
  1240  // Solidity: function checkpoints(string name) view returns((uint256,bool,bytes)[])
  1241  func (_IGovParam *IGovParamCallerSession) Checkpoints(name string) ([]IGovParamParam, error) {
  1242  	return _IGovParam.Contract.Checkpoints(&_IGovParam.CallOpts, name)
  1243  }
  1244  
  1245  // GetAllCheckpoints is a free data retrieval call binding the contract method 0x5516c21c.
  1246  //
  1247  // Solidity: function getAllCheckpoints() view returns(string[], (uint256,bool,bytes)[][])
  1248  func (_IGovParam *IGovParamCaller) GetAllCheckpoints(opts *bind.CallOpts) ([]string, [][]IGovParamParam, error) {
  1249  	var out []interface{}
  1250  	err := _IGovParam.contract.Call(opts, &out, "getAllCheckpoints")
  1251  
  1252  	if err != nil {
  1253  		return *new([]string), *new([][]IGovParamParam), err
  1254  	}
  1255  
  1256  	out0 := *abi.ConvertType(out[0], new([]string)).(*[]string)
  1257  	out1 := *abi.ConvertType(out[1], new([][]IGovParamParam)).(*[][]IGovParamParam)
  1258  
  1259  	return out0, out1, err
  1260  
  1261  }
  1262  
  1263  // GetAllCheckpoints is a free data retrieval call binding the contract method 0x5516c21c.
  1264  //
  1265  // Solidity: function getAllCheckpoints() view returns(string[], (uint256,bool,bytes)[][])
  1266  func (_IGovParam *IGovParamSession) GetAllCheckpoints() ([]string, [][]IGovParamParam, error) {
  1267  	return _IGovParam.Contract.GetAllCheckpoints(&_IGovParam.CallOpts)
  1268  }
  1269  
  1270  // GetAllCheckpoints is a free data retrieval call binding the contract method 0x5516c21c.
  1271  //
  1272  // Solidity: function getAllCheckpoints() view returns(string[], (uint256,bool,bytes)[][])
  1273  func (_IGovParam *IGovParamCallerSession) GetAllCheckpoints() ([]string, [][]IGovParamParam, error) {
  1274  	return _IGovParam.Contract.GetAllCheckpoints(&_IGovParam.CallOpts)
  1275  }
  1276  
  1277  // GetAllParamNames is a free data retrieval call binding the contract method 0xcc4783b6.
  1278  //
  1279  // Solidity: function getAllParamNames() view returns(string[])
  1280  func (_IGovParam *IGovParamCaller) GetAllParamNames(opts *bind.CallOpts) ([]string, error) {
  1281  	var out []interface{}
  1282  	err := _IGovParam.contract.Call(opts, &out, "getAllParamNames")
  1283  
  1284  	if err != nil {
  1285  		return *new([]string), err
  1286  	}
  1287  
  1288  	out0 := *abi.ConvertType(out[0], new([]string)).(*[]string)
  1289  
  1290  	return out0, err
  1291  
  1292  }
  1293  
  1294  // GetAllParamNames is a free data retrieval call binding the contract method 0xcc4783b6.
  1295  //
  1296  // Solidity: function getAllParamNames() view returns(string[])
  1297  func (_IGovParam *IGovParamSession) GetAllParamNames() ([]string, error) {
  1298  	return _IGovParam.Contract.GetAllParamNames(&_IGovParam.CallOpts)
  1299  }
  1300  
  1301  // GetAllParamNames is a free data retrieval call binding the contract method 0xcc4783b6.
  1302  //
  1303  // Solidity: function getAllParamNames() view returns(string[])
  1304  func (_IGovParam *IGovParamCallerSession) GetAllParamNames() ([]string, error) {
  1305  	return _IGovParam.Contract.GetAllParamNames(&_IGovParam.CallOpts)
  1306  }
  1307  
  1308  // GetAllParams is a free data retrieval call binding the contract method 0xa170052e.
  1309  //
  1310  // Solidity: function getAllParams() view returns(string[], bytes[])
  1311  func (_IGovParam *IGovParamCaller) GetAllParams(opts *bind.CallOpts) ([]string, [][]byte, error) {
  1312  	var out []interface{}
  1313  	err := _IGovParam.contract.Call(opts, &out, "getAllParams")
  1314  
  1315  	if err != nil {
  1316  		return *new([]string), *new([][]byte), err
  1317  	}
  1318  
  1319  	out0 := *abi.ConvertType(out[0], new([]string)).(*[]string)
  1320  	out1 := *abi.ConvertType(out[1], new([][]byte)).(*[][]byte)
  1321  
  1322  	return out0, out1, err
  1323  
  1324  }
  1325  
  1326  // GetAllParams is a free data retrieval call binding the contract method 0xa170052e.
  1327  //
  1328  // Solidity: function getAllParams() view returns(string[], bytes[])
  1329  func (_IGovParam *IGovParamSession) GetAllParams() ([]string, [][]byte, error) {
  1330  	return _IGovParam.Contract.GetAllParams(&_IGovParam.CallOpts)
  1331  }
  1332  
  1333  // GetAllParams is a free data retrieval call binding the contract method 0xa170052e.
  1334  //
  1335  // Solidity: function getAllParams() view returns(string[], bytes[])
  1336  func (_IGovParam *IGovParamCallerSession) GetAllParams() ([]string, [][]byte, error) {
  1337  	return _IGovParam.Contract.GetAllParams(&_IGovParam.CallOpts)
  1338  }
  1339  
  1340  // GetAllParamsAt is a free data retrieval call binding the contract method 0x1e31825a.
  1341  //
  1342  // Solidity: function getAllParamsAt(uint256 blockNumber) view returns(string[], bytes[])
  1343  func (_IGovParam *IGovParamCaller) GetAllParamsAt(opts *bind.CallOpts, blockNumber *big.Int) ([]string, [][]byte, error) {
  1344  	var out []interface{}
  1345  	err := _IGovParam.contract.Call(opts, &out, "getAllParamsAt", blockNumber)
  1346  
  1347  	if err != nil {
  1348  		return *new([]string), *new([][]byte), err
  1349  	}
  1350  
  1351  	out0 := *abi.ConvertType(out[0], new([]string)).(*[]string)
  1352  	out1 := *abi.ConvertType(out[1], new([][]byte)).(*[][]byte)
  1353  
  1354  	return out0, out1, err
  1355  
  1356  }
  1357  
  1358  // GetAllParamsAt is a free data retrieval call binding the contract method 0x1e31825a.
  1359  //
  1360  // Solidity: function getAllParamsAt(uint256 blockNumber) view returns(string[], bytes[])
  1361  func (_IGovParam *IGovParamSession) GetAllParamsAt(blockNumber *big.Int) ([]string, [][]byte, error) {
  1362  	return _IGovParam.Contract.GetAllParamsAt(&_IGovParam.CallOpts, blockNumber)
  1363  }
  1364  
  1365  // GetAllParamsAt is a free data retrieval call binding the contract method 0x1e31825a.
  1366  //
  1367  // Solidity: function getAllParamsAt(uint256 blockNumber) view returns(string[], bytes[])
  1368  func (_IGovParam *IGovParamCallerSession) GetAllParamsAt(blockNumber *big.Int) ([]string, [][]byte, error) {
  1369  	return _IGovParam.Contract.GetAllParamsAt(&_IGovParam.CallOpts, blockNumber)
  1370  }
  1371  
  1372  // GetParam is a free data retrieval call binding the contract method 0x5d4f71d4.
  1373  //
  1374  // Solidity: function getParam(string name) view returns(bool, bytes)
  1375  func (_IGovParam *IGovParamCaller) GetParam(opts *bind.CallOpts, name string) (bool, []byte, error) {
  1376  	var out []interface{}
  1377  	err := _IGovParam.contract.Call(opts, &out, "getParam", name)
  1378  
  1379  	if err != nil {
  1380  		return *new(bool), *new([]byte), err
  1381  	}
  1382  
  1383  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  1384  	out1 := *abi.ConvertType(out[1], new([]byte)).(*[]byte)
  1385  
  1386  	return out0, out1, err
  1387  
  1388  }
  1389  
  1390  // GetParam is a free data retrieval call binding the contract method 0x5d4f71d4.
  1391  //
  1392  // Solidity: function getParam(string name) view returns(bool, bytes)
  1393  func (_IGovParam *IGovParamSession) GetParam(name string) (bool, []byte, error) {
  1394  	return _IGovParam.Contract.GetParam(&_IGovParam.CallOpts, name)
  1395  }
  1396  
  1397  // GetParam is a free data retrieval call binding the contract method 0x5d4f71d4.
  1398  //
  1399  // Solidity: function getParam(string name) view returns(bool, bytes)
  1400  func (_IGovParam *IGovParamCallerSession) GetParam(name string) (bool, []byte, error) {
  1401  	return _IGovParam.Contract.GetParam(&_IGovParam.CallOpts, name)
  1402  }
  1403  
  1404  // GetParamAt is a free data retrieval call binding the contract method 0x6a1ec27c.
  1405  //
  1406  // Solidity: function getParamAt(string name, uint256 blockNumber) view returns(bool, bytes)
  1407  func (_IGovParam *IGovParamCaller) GetParamAt(opts *bind.CallOpts, name string, blockNumber *big.Int) (bool, []byte, error) {
  1408  	var out []interface{}
  1409  	err := _IGovParam.contract.Call(opts, &out, "getParamAt", name, blockNumber)
  1410  
  1411  	if err != nil {
  1412  		return *new(bool), *new([]byte), err
  1413  	}
  1414  
  1415  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  1416  	out1 := *abi.ConvertType(out[1], new([]byte)).(*[]byte)
  1417  
  1418  	return out0, out1, err
  1419  
  1420  }
  1421  
  1422  // GetParamAt is a free data retrieval call binding the contract method 0x6a1ec27c.
  1423  //
  1424  // Solidity: function getParamAt(string name, uint256 blockNumber) view returns(bool, bytes)
  1425  func (_IGovParam *IGovParamSession) GetParamAt(name string, blockNumber *big.Int) (bool, []byte, error) {
  1426  	return _IGovParam.Contract.GetParamAt(&_IGovParam.CallOpts, name, blockNumber)
  1427  }
  1428  
  1429  // GetParamAt is a free data retrieval call binding the contract method 0x6a1ec27c.
  1430  //
  1431  // Solidity: function getParamAt(string name, uint256 blockNumber) view returns(bool, bytes)
  1432  func (_IGovParam *IGovParamCallerSession) GetParamAt(name string, blockNumber *big.Int) (bool, []byte, error) {
  1433  	return _IGovParam.Contract.GetParamAt(&_IGovParam.CallOpts, name, blockNumber)
  1434  }
  1435  
  1436  // ParamNames is a free data retrieval call binding the contract method 0xdb758754.
  1437  //
  1438  // Solidity: function paramNames(uint256 idx) view returns(string)
  1439  func (_IGovParam *IGovParamCaller) ParamNames(opts *bind.CallOpts, idx *big.Int) (string, error) {
  1440  	var out []interface{}
  1441  	err := _IGovParam.contract.Call(opts, &out, "paramNames", idx)
  1442  
  1443  	if err != nil {
  1444  		return *new(string), err
  1445  	}
  1446  
  1447  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
  1448  
  1449  	return out0, err
  1450  
  1451  }
  1452  
  1453  // ParamNames is a free data retrieval call binding the contract method 0xdb758754.
  1454  //
  1455  // Solidity: function paramNames(uint256 idx) view returns(string)
  1456  func (_IGovParam *IGovParamSession) ParamNames(idx *big.Int) (string, error) {
  1457  	return _IGovParam.Contract.ParamNames(&_IGovParam.CallOpts, idx)
  1458  }
  1459  
  1460  // ParamNames is a free data retrieval call binding the contract method 0xdb758754.
  1461  //
  1462  // Solidity: function paramNames(uint256 idx) view returns(string)
  1463  func (_IGovParam *IGovParamCallerSession) ParamNames(idx *big.Int) (string, error) {
  1464  	return _IGovParam.Contract.ParamNames(&_IGovParam.CallOpts, idx)
  1465  }
  1466  
  1467  // SetParam is a paid mutator transaction binding the contract method 0x3f8aa624.
  1468  //
  1469  // Solidity: function setParam(string name, bool exists, bytes value, uint256 activation) returns()
  1470  func (_IGovParam *IGovParamTransactor) SetParam(opts *bind.TransactOpts, name string, exists bool, value []byte, activation *big.Int) (*types.Transaction, error) {
  1471  	return _IGovParam.contract.Transact(opts, "setParam", name, exists, value, activation)
  1472  }
  1473  
  1474  // SetParam is a paid mutator transaction binding the contract method 0x3f8aa624.
  1475  //
  1476  // Solidity: function setParam(string name, bool exists, bytes value, uint256 activation) returns()
  1477  func (_IGovParam *IGovParamSession) SetParam(name string, exists bool, value []byte, activation *big.Int) (*types.Transaction, error) {
  1478  	return _IGovParam.Contract.SetParam(&_IGovParam.TransactOpts, name, exists, value, activation)
  1479  }
  1480  
  1481  // SetParam is a paid mutator transaction binding the contract method 0x3f8aa624.
  1482  //
  1483  // Solidity: function setParam(string name, bool exists, bytes value, uint256 activation) returns()
  1484  func (_IGovParam *IGovParamTransactorSession) SetParam(name string, exists bool, value []byte, activation *big.Int) (*types.Transaction, error) {
  1485  	return _IGovParam.Contract.SetParam(&_IGovParam.TransactOpts, name, exists, value, activation)
  1486  }
  1487  
  1488  // SetParamIn is a paid mutator transaction binding the contract method 0xb93244a5.
  1489  //
  1490  // Solidity: function setParamIn(string name, bool exists, bytes value, uint256 relativeActivation) returns()
  1491  func (_IGovParam *IGovParamTransactor) SetParamIn(opts *bind.TransactOpts, name string, exists bool, value []byte, relativeActivation *big.Int) (*types.Transaction, error) {
  1492  	return _IGovParam.contract.Transact(opts, "setParamIn", name, exists, value, relativeActivation)
  1493  }
  1494  
  1495  // SetParamIn is a paid mutator transaction binding the contract method 0xb93244a5.
  1496  //
  1497  // Solidity: function setParamIn(string name, bool exists, bytes value, uint256 relativeActivation) returns()
  1498  func (_IGovParam *IGovParamSession) SetParamIn(name string, exists bool, value []byte, relativeActivation *big.Int) (*types.Transaction, error) {
  1499  	return _IGovParam.Contract.SetParamIn(&_IGovParam.TransactOpts, name, exists, value, relativeActivation)
  1500  }
  1501  
  1502  // SetParamIn is a paid mutator transaction binding the contract method 0xb93244a5.
  1503  //
  1504  // Solidity: function setParamIn(string name, bool exists, bytes value, uint256 relativeActivation) returns()
  1505  func (_IGovParam *IGovParamTransactorSession) SetParamIn(name string, exists bool, value []byte, relativeActivation *big.Int) (*types.Transaction, error) {
  1506  	return _IGovParam.Contract.SetParamIn(&_IGovParam.TransactOpts, name, exists, value, relativeActivation)
  1507  }
  1508  
  1509  // IGovParamSetParamIterator is returned from FilterSetParam and is used to iterate over the raw logs and unpacked data for SetParam events raised by the IGovParam contract.
  1510  type IGovParamSetParamIterator struct {
  1511  	Event *IGovParamSetParam // Event containing the contract specifics and raw log
  1512  
  1513  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1514  	event    string              // Event name to use for unpacking event data
  1515  
  1516  	logs chan types.Log      // Log channel receiving the found contract events
  1517  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  1518  	done bool                // Whether the subscription completed delivering logs
  1519  	fail error               // Occurred error to stop iteration
  1520  }
  1521  
  1522  // Next advances the iterator to the subsequent event, returning whether there
  1523  // are any more events found. In case of a retrieval or parsing error, false is
  1524  // returned and Error() can be queried for the exact failure.
  1525  func (it *IGovParamSetParamIterator) Next() bool {
  1526  	// If the iterator failed, stop iterating
  1527  	if it.fail != nil {
  1528  		return false
  1529  	}
  1530  	// If the iterator completed, deliver directly whatever's available
  1531  	if it.done {
  1532  		select {
  1533  		case log := <-it.logs:
  1534  			it.Event = new(IGovParamSetParam)
  1535  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1536  				it.fail = err
  1537  				return false
  1538  			}
  1539  			it.Event.Raw = log
  1540  			return true
  1541  
  1542  		default:
  1543  			return false
  1544  		}
  1545  	}
  1546  	// Iterator still in progress, wait for either a data or an error event
  1547  	select {
  1548  	case log := <-it.logs:
  1549  		it.Event = new(IGovParamSetParam)
  1550  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1551  			it.fail = err
  1552  			return false
  1553  		}
  1554  		it.Event.Raw = log
  1555  		return true
  1556  
  1557  	case err := <-it.sub.Err():
  1558  		it.done = true
  1559  		it.fail = err
  1560  		return it.Next()
  1561  	}
  1562  }
  1563  
  1564  // Error returns any retrieval or parsing error occurred during filtering.
  1565  func (it *IGovParamSetParamIterator) Error() error {
  1566  	return it.fail
  1567  }
  1568  
  1569  // Close terminates the iteration process, releasing any pending underlying
  1570  // resources.
  1571  func (it *IGovParamSetParamIterator) Close() error {
  1572  	it.sub.Unsubscribe()
  1573  	return nil
  1574  }
  1575  
  1576  // IGovParamSetParam represents a SetParam event raised by the IGovParam contract.
  1577  type IGovParamSetParam struct {
  1578  	Name       string
  1579  	Exists     bool
  1580  	Value      []byte
  1581  	Activation *big.Int
  1582  	Raw        types.Log // Blockchain specific contextual infos
  1583  }
  1584  
  1585  // FilterSetParam is a free log retrieval operation binding the contract event 0x80044a87a0a45f6cc784a3f48077d58f4eb1e7d78243f85daa43ad7a88b6ba85.
  1586  //
  1587  // Solidity: event SetParam(string name, bool exists, bytes value, uint256 activation)
  1588  func (_IGovParam *IGovParamFilterer) FilterSetParam(opts *bind.FilterOpts) (*IGovParamSetParamIterator, error) {
  1589  
  1590  	logs, sub, err := _IGovParam.contract.FilterLogs(opts, "SetParam")
  1591  	if err != nil {
  1592  		return nil, err
  1593  	}
  1594  	return &IGovParamSetParamIterator{contract: _IGovParam.contract, event: "SetParam", logs: logs, sub: sub}, nil
  1595  }
  1596  
  1597  // WatchSetParam is a free log subscription operation binding the contract event 0x80044a87a0a45f6cc784a3f48077d58f4eb1e7d78243f85daa43ad7a88b6ba85.
  1598  //
  1599  // Solidity: event SetParam(string name, bool exists, bytes value, uint256 activation)
  1600  func (_IGovParam *IGovParamFilterer) WatchSetParam(opts *bind.WatchOpts, sink chan<- *IGovParamSetParam) (event.Subscription, error) {
  1601  
  1602  	logs, sub, err := _IGovParam.contract.WatchLogs(opts, "SetParam")
  1603  	if err != nil {
  1604  		return nil, err
  1605  	}
  1606  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1607  		defer sub.Unsubscribe()
  1608  		for {
  1609  			select {
  1610  			case log := <-logs:
  1611  				// New log arrived, parse the event and forward to the user
  1612  				event := new(IGovParamSetParam)
  1613  				if err := _IGovParam.contract.UnpackLog(event, "SetParam", log); err != nil {
  1614  					return err
  1615  				}
  1616  				event.Raw = log
  1617  
  1618  				select {
  1619  				case sink <- event:
  1620  				case err := <-sub.Err():
  1621  					return err
  1622  				case <-quit:
  1623  					return nil
  1624  				}
  1625  			case err := <-sub.Err():
  1626  				return err
  1627  			case <-quit:
  1628  				return nil
  1629  			}
  1630  		}
  1631  	}), nil
  1632  }
  1633  
  1634  // ParseSetParam is a log parse operation binding the contract event 0x80044a87a0a45f6cc784a3f48077d58f4eb1e7d78243f85daa43ad7a88b6ba85.
  1635  //
  1636  // Solidity: event SetParam(string name, bool exists, bytes value, uint256 activation)
  1637  func (_IGovParam *IGovParamFilterer) ParseSetParam(log types.Log) (*IGovParamSetParam, error) {
  1638  	event := new(IGovParamSetParam)
  1639  	if err := _IGovParam.contract.UnpackLog(event, "SetParam", log); err != nil {
  1640  		return nil, err
  1641  	}
  1642  	return event, nil
  1643  }
  1644  
  1645  // OwnableMetaData contains all meta data concerning the Ownable contract.
  1646  var OwnableMetaData = &bind.MetaData{
  1647  	ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
  1648  	Sigs: map[string]string{
  1649  		"8da5cb5b": "owner()",
  1650  		"715018a6": "renounceOwnership()",
  1651  		"f2fde38b": "transferOwnership(address)",
  1652  	},
  1653  }
  1654  
  1655  // OwnableABI is the input ABI used to generate the binding from.
  1656  // Deprecated: Use OwnableMetaData.ABI instead.
  1657  var OwnableABI = OwnableMetaData.ABI
  1658  
  1659  // OwnableBinRuntime is the compiled bytecode used for adding genesis block without deploying code.
  1660  const OwnableBinRuntime = ``
  1661  
  1662  // OwnableFuncSigs maps the 4-byte function signature to its string representation.
  1663  // Deprecated: Use OwnableMetaData.Sigs instead.
  1664  var OwnableFuncSigs = OwnableMetaData.Sigs
  1665  
  1666  // Ownable is an auto generated Go binding around a Klaytn contract.
  1667  type Ownable struct {
  1668  	OwnableCaller     // Read-only binding to the contract
  1669  	OwnableTransactor // Write-only binding to the contract
  1670  	OwnableFilterer   // Log filterer for contract events
  1671  }
  1672  
  1673  // OwnableCaller is an auto generated read-only Go binding around a Klaytn contract.
  1674  type OwnableCaller struct {
  1675  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1676  }
  1677  
  1678  // OwnableTransactor is an auto generated write-only Go binding around a Klaytn contract.
  1679  type OwnableTransactor struct {
  1680  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1681  }
  1682  
  1683  // OwnableFilterer is an auto generated log filtering Go binding around a Klaytn contract events.
  1684  type OwnableFilterer struct {
  1685  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
  1686  }
  1687  
  1688  // OwnableSession is an auto generated Go binding around a Klaytn contract,
  1689  // with pre-set call and transact options.
  1690  type OwnableSession struct {
  1691  	Contract     *Ownable          // Generic contract binding to set the session for
  1692  	CallOpts     bind.CallOpts     // Call options to use throughout this session
  1693  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
  1694  }
  1695  
  1696  // OwnableCallerSession is an auto generated read-only Go binding around a Klaytn contract,
  1697  // with pre-set call options.
  1698  type OwnableCallerSession struct {
  1699  	Contract *OwnableCaller // Generic contract caller binding to set the session for
  1700  	CallOpts bind.CallOpts  // Call options to use throughout this session
  1701  }
  1702  
  1703  // OwnableTransactorSession is an auto generated write-only Go binding around a Klaytn contract,
  1704  // with pre-set transact options.
  1705  type OwnableTransactorSession struct {
  1706  	Contract     *OwnableTransactor // Generic contract transactor binding to set the session for
  1707  	TransactOpts bind.TransactOpts  // Transaction auth options to use throughout this session
  1708  }
  1709  
  1710  // OwnableRaw is an auto generated low-level Go binding around a Klaytn contract.
  1711  type OwnableRaw struct {
  1712  	Contract *Ownable // Generic contract binding to access the raw methods on
  1713  }
  1714  
  1715  // OwnableCallerRaw is an auto generated low-level read-only Go binding around a Klaytn contract.
  1716  type OwnableCallerRaw struct {
  1717  	Contract *OwnableCaller // Generic read-only contract binding to access the raw methods on
  1718  }
  1719  
  1720  // OwnableTransactorRaw is an auto generated low-level write-only Go binding around a Klaytn contract.
  1721  type OwnableTransactorRaw struct {
  1722  	Contract *OwnableTransactor // Generic write-only contract binding to access the raw methods on
  1723  }
  1724  
  1725  // NewOwnable creates a new instance of Ownable, bound to a specific deployed contract.
  1726  func NewOwnable(address common.Address, backend bind.ContractBackend) (*Ownable, error) {
  1727  	contract, err := bindOwnable(address, backend, backend, backend)
  1728  	if err != nil {
  1729  		return nil, err
  1730  	}
  1731  	return &Ownable{OwnableCaller: OwnableCaller{contract: contract}, OwnableTransactor: OwnableTransactor{contract: contract}, OwnableFilterer: OwnableFilterer{contract: contract}}, nil
  1732  }
  1733  
  1734  // NewOwnableCaller creates a new read-only instance of Ownable, bound to a specific deployed contract.
  1735  func NewOwnableCaller(address common.Address, caller bind.ContractCaller) (*OwnableCaller, error) {
  1736  	contract, err := bindOwnable(address, caller, nil, nil)
  1737  	if err != nil {
  1738  		return nil, err
  1739  	}
  1740  	return &OwnableCaller{contract: contract}, nil
  1741  }
  1742  
  1743  // NewOwnableTransactor creates a new write-only instance of Ownable, bound to a specific deployed contract.
  1744  func NewOwnableTransactor(address common.Address, transactor bind.ContractTransactor) (*OwnableTransactor, error) {
  1745  	contract, err := bindOwnable(address, nil, transactor, nil)
  1746  	if err != nil {
  1747  		return nil, err
  1748  	}
  1749  	return &OwnableTransactor{contract: contract}, nil
  1750  }
  1751  
  1752  // NewOwnableFilterer creates a new log filterer instance of Ownable, bound to a specific deployed contract.
  1753  func NewOwnableFilterer(address common.Address, filterer bind.ContractFilterer) (*OwnableFilterer, error) {
  1754  	contract, err := bindOwnable(address, nil, nil, filterer)
  1755  	if err != nil {
  1756  		return nil, err
  1757  	}
  1758  	return &OwnableFilterer{contract: contract}, nil
  1759  }
  1760  
  1761  // bindOwnable binds a generic wrapper to an already deployed contract.
  1762  func bindOwnable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
  1763  	parsed, err := OwnableMetaData.GetAbi()
  1764  	if err != nil {
  1765  		return nil, err
  1766  	}
  1767  	return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil
  1768  }
  1769  
  1770  // Call invokes the (constant) contract method with params as input values and
  1771  // sets the output to result. The result type might be a single field for simple
  1772  // returns, a slice of interfaces for anonymous returns and a struct for named
  1773  // returns.
  1774  func (_Ownable *OwnableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  1775  	return _Ownable.Contract.OwnableCaller.contract.Call(opts, result, method, params...)
  1776  }
  1777  
  1778  // Transfer initiates a plain transaction to move funds to the contract, calling
  1779  // its default method if one is available.
  1780  func (_Ownable *OwnableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  1781  	return _Ownable.Contract.OwnableTransactor.contract.Transfer(opts)
  1782  }
  1783  
  1784  // Transact invokes the (paid) contract method with params as input values.
  1785  func (_Ownable *OwnableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  1786  	return _Ownable.Contract.OwnableTransactor.contract.Transact(opts, method, params...)
  1787  }
  1788  
  1789  // Call invokes the (constant) contract method with params as input values and
  1790  // sets the output to result. The result type might be a single field for simple
  1791  // returns, a slice of interfaces for anonymous returns and a struct for named
  1792  // returns.
  1793  func (_Ownable *OwnableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
  1794  	return _Ownable.Contract.contract.Call(opts, result, method, params...)
  1795  }
  1796  
  1797  // Transfer initiates a plain transaction to move funds to the contract, calling
  1798  // its default method if one is available.
  1799  func (_Ownable *OwnableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
  1800  	return _Ownable.Contract.contract.Transfer(opts)
  1801  }
  1802  
  1803  // Transact invokes the (paid) contract method with params as input values.
  1804  func (_Ownable *OwnableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
  1805  	return _Ownable.Contract.contract.Transact(opts, method, params...)
  1806  }
  1807  
  1808  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
  1809  //
  1810  // Solidity: function owner() view returns(address)
  1811  func (_Ownable *OwnableCaller) Owner(opts *bind.CallOpts) (common.Address, error) {
  1812  	var out []interface{}
  1813  	err := _Ownable.contract.Call(opts, &out, "owner")
  1814  
  1815  	if err != nil {
  1816  		return *new(common.Address), err
  1817  	}
  1818  
  1819  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  1820  
  1821  	return out0, err
  1822  
  1823  }
  1824  
  1825  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
  1826  //
  1827  // Solidity: function owner() view returns(address)
  1828  func (_Ownable *OwnableSession) Owner() (common.Address, error) {
  1829  	return _Ownable.Contract.Owner(&_Ownable.CallOpts)
  1830  }
  1831  
  1832  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
  1833  //
  1834  // Solidity: function owner() view returns(address)
  1835  func (_Ownable *OwnableCallerSession) Owner() (common.Address, error) {
  1836  	return _Ownable.Contract.Owner(&_Ownable.CallOpts)
  1837  }
  1838  
  1839  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  1840  //
  1841  // Solidity: function renounceOwnership() returns()
  1842  func (_Ownable *OwnableTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) {
  1843  	return _Ownable.contract.Transact(opts, "renounceOwnership")
  1844  }
  1845  
  1846  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  1847  //
  1848  // Solidity: function renounceOwnership() returns()
  1849  func (_Ownable *OwnableSession) RenounceOwnership() (*types.Transaction, error) {
  1850  	return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts)
  1851  }
  1852  
  1853  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
  1854  //
  1855  // Solidity: function renounceOwnership() returns()
  1856  func (_Ownable *OwnableTransactorSession) RenounceOwnership() (*types.Transaction, error) {
  1857  	return _Ownable.Contract.RenounceOwnership(&_Ownable.TransactOpts)
  1858  }
  1859  
  1860  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  1861  //
  1862  // Solidity: function transferOwnership(address newOwner) returns()
  1863  func (_Ownable *OwnableTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) {
  1864  	return _Ownable.contract.Transact(opts, "transferOwnership", newOwner)
  1865  }
  1866  
  1867  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  1868  //
  1869  // Solidity: function transferOwnership(address newOwner) returns()
  1870  func (_Ownable *OwnableSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
  1871  	return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner)
  1872  }
  1873  
  1874  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
  1875  //
  1876  // Solidity: function transferOwnership(address newOwner) returns()
  1877  func (_Ownable *OwnableTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
  1878  	return _Ownable.Contract.TransferOwnership(&_Ownable.TransactOpts, newOwner)
  1879  }
  1880  
  1881  // OwnableOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Ownable contract.
  1882  type OwnableOwnershipTransferredIterator struct {
  1883  	Event *OwnableOwnershipTransferred // Event containing the contract specifics and raw log
  1884  
  1885  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1886  	event    string              // Event name to use for unpacking event data
  1887  
  1888  	logs chan types.Log      // Log channel receiving the found contract events
  1889  	sub  klaytn.Subscription // Subscription for errors, completion and termination
  1890  	done bool                // Whether the subscription completed delivering logs
  1891  	fail error               // Occurred error to stop iteration
  1892  }
  1893  
  1894  // Next advances the iterator to the subsequent event, returning whether there
  1895  // are any more events found. In case of a retrieval or parsing error, false is
  1896  // returned and Error() can be queried for the exact failure.
  1897  func (it *OwnableOwnershipTransferredIterator) Next() bool {
  1898  	// If the iterator failed, stop iterating
  1899  	if it.fail != nil {
  1900  		return false
  1901  	}
  1902  	// If the iterator completed, deliver directly whatever's available
  1903  	if it.done {
  1904  		select {
  1905  		case log := <-it.logs:
  1906  			it.Event = new(OwnableOwnershipTransferred)
  1907  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1908  				it.fail = err
  1909  				return false
  1910  			}
  1911  			it.Event.Raw = log
  1912  			return true
  1913  
  1914  		default:
  1915  			return false
  1916  		}
  1917  	}
  1918  	// Iterator still in progress, wait for either a data or an error event
  1919  	select {
  1920  	case log := <-it.logs:
  1921  		it.Event = new(OwnableOwnershipTransferred)
  1922  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1923  			it.fail = err
  1924  			return false
  1925  		}
  1926  		it.Event.Raw = log
  1927  		return true
  1928  
  1929  	case err := <-it.sub.Err():
  1930  		it.done = true
  1931  		it.fail = err
  1932  		return it.Next()
  1933  	}
  1934  }
  1935  
  1936  // Error returns any retrieval or parsing error occurred during filtering.
  1937  func (it *OwnableOwnershipTransferredIterator) Error() error {
  1938  	return it.fail
  1939  }
  1940  
  1941  // Close terminates the iteration process, releasing any pending underlying
  1942  // resources.
  1943  func (it *OwnableOwnershipTransferredIterator) Close() error {
  1944  	it.sub.Unsubscribe()
  1945  	return nil
  1946  }
  1947  
  1948  // OwnableOwnershipTransferred represents a OwnershipTransferred event raised by the Ownable contract.
  1949  type OwnableOwnershipTransferred struct {
  1950  	PreviousOwner common.Address
  1951  	NewOwner      common.Address
  1952  	Raw           types.Log // Blockchain specific contextual infos
  1953  }
  1954  
  1955  // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  1956  //
  1957  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  1958  func (_Ownable *OwnableFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*OwnableOwnershipTransferredIterator, error) {
  1959  
  1960  	var previousOwnerRule []interface{}
  1961  	for _, previousOwnerItem := range previousOwner {
  1962  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  1963  	}
  1964  	var newOwnerRule []interface{}
  1965  	for _, newOwnerItem := range newOwner {
  1966  		newOwnerRule = append(newOwnerRule, newOwnerItem)
  1967  	}
  1968  
  1969  	logs, sub, err := _Ownable.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  1970  	if err != nil {
  1971  		return nil, err
  1972  	}
  1973  	return &OwnableOwnershipTransferredIterator{contract: _Ownable.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil
  1974  }
  1975  
  1976  // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  1977  //
  1978  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  1979  func (_Ownable *OwnableFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *OwnableOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) {
  1980  
  1981  	var previousOwnerRule []interface{}
  1982  	for _, previousOwnerItem := range previousOwner {
  1983  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  1984  	}
  1985  	var newOwnerRule []interface{}
  1986  	for _, newOwnerItem := range newOwner {
  1987  		newOwnerRule = append(newOwnerRule, newOwnerItem)
  1988  	}
  1989  
  1990  	logs, sub, err := _Ownable.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  1991  	if err != nil {
  1992  		return nil, err
  1993  	}
  1994  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1995  		defer sub.Unsubscribe()
  1996  		for {
  1997  			select {
  1998  			case log := <-logs:
  1999  				// New log arrived, parse the event and forward to the user
  2000  				event := new(OwnableOwnershipTransferred)
  2001  				if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  2002  					return err
  2003  				}
  2004  				event.Raw = log
  2005  
  2006  				select {
  2007  				case sink <- event:
  2008  				case err := <-sub.Err():
  2009  					return err
  2010  				case <-quit:
  2011  					return nil
  2012  				}
  2013  			case err := <-sub.Err():
  2014  				return err
  2015  			case <-quit:
  2016  				return nil
  2017  			}
  2018  		}
  2019  	}), nil
  2020  }
  2021  
  2022  // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  2023  //
  2024  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  2025  func (_Ownable *OwnableFilterer) ParseOwnershipTransferred(log types.Log) (*OwnableOwnershipTransferred, error) {
  2026  	event := new(OwnableOwnershipTransferred)
  2027  	if err := _Ownable.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  2028  		return nil, err
  2029  	}
  2030  	return event, nil
  2031  }