// Code generated - DO NOT EDIT. // This file is a generated binding and any manual changes will be lost. package contract import ( "math/big" "strings" ethereum "github.com/ethereum/go-ethereum" "github.com/ethereum/go-ethereum/accounts/abi" "github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/event" ) // MultiSigWalletABI is the input ABI used to generate the binding from. const MultiSigWalletABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"owners\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"removeOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"revokeConfirmation\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"confirmations\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"pending\",\"type\":\"bool\"},{\"name\":\"executed\",\"type\":\"bool\"}],\"name\":\"getTransactionCount\",\"outputs\":[{\"name\":\"count\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"addOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"isConfirmed\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"getConfirmationCount\",\"outputs\":[{\"name\":\"count\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"transactions\",\"outputs\":[{\"name\":\"destination\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"},{\"name\":\"executed\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"from\",\"type\":\"uint256\"},{\"name\":\"to\",\"type\":\"uint256\"},{\"name\":\"pending\",\"type\":\"bool\"},{\"name\":\"executed\",\"type\":\"bool\"}],\"name\":\"getTransactionIds\",\"outputs\":[{\"name\":\"_transactionIds\",\"type\":\"uint256[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"getConfirmations\",\"outputs\":[{\"name\":\"_confirmations\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"transactionCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_required\",\"type\":\"uint256\"}],\"name\":\"changeRequirement\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"confirmTransaction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"destination\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"submitTransaction\",\"outputs\":[{\"name\":\"transactionId\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MAX_OWNER_COUNT\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"required\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"replaceOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"executeTransaction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_owners\",\"type\":\"address[]\"},{\"name\":\"_required\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"Confirmation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"Revocation\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"Submission\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"Execution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"transactionId\",\"type\":\"uint256\"}],\"name\":\"ExecutionFailure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnerAddition\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnerRemoval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"required\",\"type\":\"uint256\"}],\"name\":\"RequirementChange\",\"type\":\"event\"}]" // MultiSigWalletBin is the compiled bytecode used for deploying new contracts. const MultiSigWalletBin = `0x60806040523480156200001157600080fd5b50604051620016a2380380620016a283398101604052805160208201519101805190919060009082603282118015906200004b5750818111155b80156200005757508015155b80156200006357508115155b15156200006f57600080fd5b600092505b845183101562000147576002600086858151811015156200009157fe5b6020908102909101810151600160a060020a031682528101919091526040016000205460ff16158015620000e757508483815181101515620000cf57fe5b90602001906020020151600160a060020a0316600014155b1515620000f357600080fd5b60016002600087868151811015156200010857fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff19169115159190911790556001929092019162000074565b84516200015c9060039060208801906200016e565b50505060049190915550620002029050565b828054828255906000526020600020908101928215620001c6579160200282015b82811115620001c65782518254600160a060020a031916600160a060020a039091161782556020909201916001909101906200018f565b50620001d4929150620001d8565b5090565b620001ff91905b80821115620001d4578054600160a060020a0319168155600101620001df565b90565b61149080620002126000396000f30060806040526004361061011c5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025e7c27811461015e578063173825d91461019257806320ea8d86146101b35780632f54bf6e146101cb5780633411c81c1461020057806354741525146102245780637065cb4814610255578063784547a7146102765780638b51d13f1461028e5780639ace38c2146102a6578063a0e67e2b14610361578063a8abe69a146103c6578063b5dc40c3146103eb578063b77bf60014610403578063ba51a6df14610418578063c01a8c8414610430578063c642747414610448578063d74f8edd146104b1578063dc8452cd146104c6578063e20056e6146104db578063ee22610b14610502575b600034111561015c5760408051348152905133917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a25b005b34801561016a57600080fd5b5061017660043561051a565b60408051600160a060020a039092168252519081900360200190f35b34801561019e57600080fd5b5061015c600160a060020a0360043516610542565b3480156101bf57600080fd5b5061015c6004356106b9565b3480156101d757600080fd5b506101ec600160a060020a0360043516610773565b604080519115158252519081900360200190f35b34801561020c57600080fd5b506101ec600435600160a060020a0360243516610788565b34801561023057600080fd5b50610243600435151560243515156107a8565b60408051918252519081900360200190f35b34801561026157600080fd5b5061015c600160a060020a0360043516610814565b34801561028257600080fd5b506101ec600435610939565b34801561029a57600080fd5b506102436004356109bd565b3480156102b257600080fd5b506102be600435610a2c565b6040518085600160a060020a0316600160a060020a031681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b8381101561032357818101518382015260200161030b565b50505050905090810190601f1680156103505780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561036d57600080fd5b50610376610aea565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103b257818101518382015260200161039a565b505050509050019250505060405180910390f35b3480156103d257600080fd5b5061037660043560243560443515156064351515610b4d565b3480156103f757600080fd5b50610376600435610c86565b34801561040f57600080fd5b50610243610dff565b34801561042457600080fd5b5061015c600435610e05565b34801561043c57600080fd5b5061015c600435610e84565b34801561045457600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610243948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610f4f9650505050505050565b3480156104bd57600080fd5b50610243610f6e565b3480156104d257600080fd5b50610243610f73565b3480156104e757600080fd5b5061015c600160a060020a0360043581169060243516610f79565b34801561050e57600080fd5b5061015c600435611103565b600380548290811061052857fe5b600091825260209091200154600160a060020a0316905081565b600033301461055057600080fd5b600160a060020a038216600090815260026020526040902054829060ff16151561057957600080fd5b600160a060020a0383166000908152600260205260408120805460ff1916905591505b600354600019018210156106545782600160a060020a03166003838154811015156105c357fe5b600091825260209091200154600160a060020a03161415610649576003805460001981019081106105f057fe5b60009182526020909120015460038054600160a060020a03909216918490811061061657fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a03160217905550610654565b60019091019061059c565b60038054600019019061066790826113a3565b5060035460045411156106805760035461068090610e05565b604051600160a060020a038416907f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9090600090a2505050565b3360008181526002602052604090205460ff1615156106d757600080fd5b60008281526001602090815260408083203380855292529091205483919060ff16151561070357600080fd5b600084815260208190526040902060030154849060ff161561072457600080fd5b6000858152600160209081526040808320338085529252808320805460ff191690555187927ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e991a35050505050565b60026020526000908152604090205460ff1681565b600160209081526000928352604080842090915290825290205460ff1681565b6000805b60055481101561080d578380156107d5575060008181526020819052604090206003015460ff16155b806107f957508280156107f9575060008181526020819052604090206003015460ff165b15610805576001820191505b6001016107ac565b5092915050565b33301461082057600080fd5b600160a060020a038116600090815260026020526040902054819060ff161561084857600080fd5b81600160a060020a038116151561085e57600080fd5b6003805490506001016004546032821115801561087b5750818111155b801561088657508015155b801561089157508115155b151561089c57600080fd5b600160a060020a038516600081815260026020526040808220805460ff1916600190811790915560038054918201815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805473ffffffffffffffffffffffffffffffffffffffff191684179055517ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d9190a25050505050565b600080805b6003548110156109b6576000848152600160205260408120600380549192918490811061096757fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff161561099b576001820191505b6004548214156109ae57600192506109b6565b60010161093e565b5050919050565b6000805b600354811015610a2657600083815260016020526040812060038054919291849081106109ea57fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610a1e576001820191505b6001016109c1565b50919050565b6000602081815291815260409081902080546001808301546002808501805487516101009582161595909502600019011691909104601f8101889004880284018801909652858352600160a060020a0390931695909491929190830182828015610ad75780601f10610aac57610100808354040283529160200191610ad7565b820191906000526020600020905b815481529060010190602001808311610aba57829003601f168201915b5050506003909301549192505060ff1684565b60606003805480602002602001604051908101604052809291908181526020018280548015610b4257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610b24575b505050505090505b90565b606080600080600554604051908082528060200260200182016040528015610b7f578160200160208202803883390190505b50925060009150600090505b600554811015610c0657858015610bb4575060008181526020819052604090206003015460ff16155b80610bd85750848015610bd8575060008181526020819052604090206003015460ff165b15610bfe57808383815181101515610bec57fe5b60209081029091010152600191909101905b600101610b8b565b878703604051908082528060200260200182016040528015610c32578160200160208202803883390190505b5093508790505b86811015610c7b578281815181101515610c4f57fe5b9060200190602002015184898303815181101515610c6957fe5b60209081029091010152600101610c39565b505050949350505050565b606080600080600380549050604051908082528060200260200182016040528015610cbb578160200160208202803883390190505b50925060009150600090505b600354811015610d785760008581526001602052604081206003805491929184908110610cf057fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190205460ff1615610d70576003805482908110610d2b57fe5b6000918252602090912001548351600160a060020a0390911690849084908110610d5157fe5b600160a060020a03909216602092830290910190910152600191909101905b600101610cc7565b81604051908082528060200260200182016040528015610da2578160200160208202803883390190505b509350600090505b81811015610df7578281815181101515610dc057fe5b906020019060200201518482815181101515610dd857fe5b600160a060020a03909216602092830290910190910152600101610daa565b505050919050565b60055481565b333014610e1157600080fd5b6003548160328211801590610e265750818111155b8015610e3157508015155b8015610e3c57508115155b1515610e4757600080fd5b60048390556040805184815290517fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a9181900360200190a1505050565b3360008181526002602052604090205460ff161515610ea257600080fd5b6000828152602081905260409020548290600160a060020a03161515610ec757600080fd5b60008381526001602090815260408083203380855292529091205484919060ff1615610ef257600080fd5b6000858152600160208181526040808420338086529252808420805460ff1916909317909255905187927f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef91a3610f4885611103565b5050505050565b6000610f5c8484846112b3565b9050610f6781610e84565b9392505050565b603281565b60045481565b6000333014610f8757600080fd5b600160a060020a038316600090815260026020526040902054839060ff161515610fb057600080fd5b600160a060020a038316600090815260026020526040902054839060ff1615610fd857600080fd5b600092505b6003548310156110695784600160a060020a031660038481548110151561100057fe5b600091825260209091200154600160a060020a0316141561105e578360038481548110151561102b57fe5b9060005260206000200160006101000a815481600160a060020a030219169083600160a060020a03160217905550611069565b600190920191610fdd565b600160a060020a03808616600081815260026020526040808220805460ff1990811690915593881682528082208054909416600117909355915190917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9091a2604051600160a060020a038516907ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d90600090a25050505050565b3360008181526002602052604081205490919060ff16151561112457600080fd5b60008381526001602090815260408083203380855292529091205484919060ff16151561115057600080fd5b600085815260208190526040902060030154859060ff161561117157600080fd5b61117a86610939565b156112ab576000868152602081905260409081902060038101805460ff19166001908117909155815481830154935160028085018054959b50600160a060020a03909316959492939192839285926000199183161561010002919091019091160480156112285780601f106111fd57610100808354040283529160200191611228565b820191906000526020600020905b81548152906001019060200180831161120b57829003601f168201915b505091505060006040518083038185875af192505050156112735760405186907f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7590600090a26112ab565b60405186907f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923690600090a260038501805460ff191690555b505050505050565b600083600160a060020a03811615156112cb57600080fd5b60055460408051608081018252600160a060020a0388811682526020808301898152838501898152600060608601819052878152808452959095208451815473ffffffffffffffffffffffffffffffffffffffff19169416939093178355516001830155925180519496509193909261134b9260028501929101906113cc565b50606091909101516003909101805460ff191691151591909117905560058054600101905560405182907fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5190600090a2509392505050565b8154818355818111156113c7576000838152602090206113c791810190830161144a565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061140d57805160ff191683800117855561143a565b8280016001018555821561143a579182015b8281111561143a57825182559160200191906001019061141f565b5061144692915061144a565b5090565b610b4a91905b8082111561144657600081556001016114505600a165627a7a723058205abf7d18955ab47351d41bfbeff39ba447c3c2d681f3180795235e9f260da4ba0029` // DeployMultiSigWallet deploys a new Ethereum contract, binding an instance of MultiSigWallet to it. func DeployMultiSigWallet(auth *bind.TransactOpts, backend bind.ContractBackend, _owners []common.Address, _required *big.Int) (common.Address, *types.Transaction, *MultiSigWallet, error) { parsed, err := abi.JSON(strings.NewReader(MultiSigWalletABI)) if err != nil { return common.Address{}, nil, nil, err } address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(MultiSigWalletBin), backend, _owners, _required) if err != nil { return common.Address{}, nil, nil, err } return address, tx, &MultiSigWallet{MultiSigWalletCaller: MultiSigWalletCaller{contract: contract}, MultiSigWalletTransactor: MultiSigWalletTransactor{contract: contract}, MultiSigWalletFilterer: MultiSigWalletFilterer{contract: contract}}, nil } // MultiSigWallet is an auto generated Go binding around an Ethereum contract. type MultiSigWallet struct { MultiSigWalletCaller // Read-only binding to the contract MultiSigWalletTransactor // Write-only binding to the contract MultiSigWalletFilterer // Log filterer for contract events } // MultiSigWalletCaller is an auto generated read-only Go binding around an Ethereum contract. type MultiSigWalletCaller struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MultiSigWalletTransactor is an auto generated write-only Go binding around an Ethereum contract. type MultiSigWalletTransactor struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MultiSigWalletFilterer is an auto generated log filtering Go binding around an Ethereum contract events. type MultiSigWalletFilterer struct { contract *bind.BoundContract // Generic contract wrapper for the low level calls } // MultiSigWalletSession is an auto generated Go binding around an Ethereum contract, // with pre-set call and transact options. type MultiSigWalletSession struct { Contract *MultiSigWallet // Generic contract binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // MultiSigWalletCallerSession is an auto generated read-only Go binding around an Ethereum contract, // with pre-set call options. type MultiSigWalletCallerSession struct { Contract *MultiSigWalletCaller // Generic contract caller binding to set the session for CallOpts bind.CallOpts // Call options to use throughout this session } // MultiSigWalletTransactorSession is an auto generated write-only Go binding around an Ethereum contract, // with pre-set transact options. type MultiSigWalletTransactorSession struct { Contract *MultiSigWalletTransactor // Generic contract transactor binding to set the session for TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session } // MultiSigWalletRaw is an auto generated low-level Go binding around an Ethereum contract. type MultiSigWalletRaw struct { Contract *MultiSigWallet // Generic contract binding to access the raw methods on } // MultiSigWalletCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. type MultiSigWalletCallerRaw struct { Contract *MultiSigWalletCaller // Generic read-only contract binding to access the raw methods on } // MultiSigWalletTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. type MultiSigWalletTransactorRaw struct { Contract *MultiSigWalletTransactor // Generic write-only contract binding to access the raw methods on } // NewMultiSigWallet creates a new instance of MultiSigWallet, bound to a specific deployed contract. func NewMultiSigWallet(address common.Address, backend bind.ContractBackend) (*MultiSigWallet, error) { contract, err := bindMultiSigWallet(address, backend, backend, backend) if err != nil { return nil, err } return &MultiSigWallet{MultiSigWalletCaller: MultiSigWalletCaller{contract: contract}, MultiSigWalletTransactor: MultiSigWalletTransactor{contract: contract}, MultiSigWalletFilterer: MultiSigWalletFilterer{contract: contract}}, nil } // NewMultiSigWalletCaller creates a new read-only instance of MultiSigWallet, bound to a specific deployed contract. func NewMultiSigWalletCaller(address common.Address, caller bind.ContractCaller) (*MultiSigWalletCaller, error) { contract, err := bindMultiSigWallet(address, caller, nil, nil) if err != nil { return nil, err } return &MultiSigWalletCaller{contract: contract}, nil } // NewMultiSigWalletTransactor creates a new write-only instance of MultiSigWallet, bound to a specific deployed contract. func NewMultiSigWalletTransactor(address common.Address, transactor bind.ContractTransactor) (*MultiSigWalletTransactor, error) { contract, err := bindMultiSigWallet(address, nil, transactor, nil) if err != nil { return nil, err } return &MultiSigWalletTransactor{contract: contract}, nil } // NewMultiSigWalletFilterer creates a new log filterer instance of MultiSigWallet, bound to a specific deployed contract. func NewMultiSigWalletFilterer(address common.Address, filterer bind.ContractFilterer) (*MultiSigWalletFilterer, error) { contract, err := bindMultiSigWallet(address, nil, nil, filterer) if err != nil { return nil, err } return &MultiSigWalletFilterer{contract: contract}, nil } // bindMultiSigWallet binds a generic wrapper to an already deployed contract. func bindMultiSigWallet(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { parsed, err := abi.JSON(strings.NewReader(MultiSigWalletABI)) if err != nil { return nil, err } return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_MultiSigWallet *MultiSigWalletRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _MultiSigWallet.Contract.MultiSigWalletCaller.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_MultiSigWallet *MultiSigWalletRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _MultiSigWallet.Contract.MultiSigWalletTransactor.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_MultiSigWallet *MultiSigWalletRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _MultiSigWallet.Contract.MultiSigWalletTransactor.contract.Transact(opts, method, params...) } // Call invokes the (constant) contract method with params as input values and // sets the output to result. The result type might be a single field for simple // returns, a slice of interfaces for anonymous returns and a struct for named // returns. func (_MultiSigWallet *MultiSigWalletCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { return _MultiSigWallet.Contract.contract.Call(opts, result, method, params...) } // Transfer initiates a plain transaction to move funds to the contract, calling // its default method if one is available. func (_MultiSigWallet *MultiSigWalletTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { return _MultiSigWallet.Contract.contract.Transfer(opts) } // Transact invokes the (paid) contract method with params as input values. func (_MultiSigWallet *MultiSigWalletTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { return _MultiSigWallet.Contract.contract.Transact(opts, method, params...) } // MAXOWNERCOUNT is a free data retrieval call binding the contract method 0xd74f8edd. // // Solidity: function MAX_OWNER_COUNT() constant returns(uint256) func (_MultiSigWallet *MultiSigWalletCaller) MAXOWNERCOUNT(opts *bind.CallOpts) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _MultiSigWallet.contract.Call(opts, out, "MAX_OWNER_COUNT") return *ret0, err } // MAXOWNERCOUNT is a free data retrieval call binding the contract method 0xd74f8edd. // // Solidity: function MAX_OWNER_COUNT() constant returns(uint256) func (_MultiSigWallet *MultiSigWalletSession) MAXOWNERCOUNT() (*big.Int, error) { return _MultiSigWallet.Contract.MAXOWNERCOUNT(&_MultiSigWallet.CallOpts) } // MAXOWNERCOUNT is a free data retrieval call binding the contract method 0xd74f8edd. // // Solidity: function MAX_OWNER_COUNT() constant returns(uint256) func (_MultiSigWallet *MultiSigWalletCallerSession) MAXOWNERCOUNT() (*big.Int, error) { return _MultiSigWallet.Contract.MAXOWNERCOUNT(&_MultiSigWallet.CallOpts) } // Confirmations is a free data retrieval call binding the contract method 0x3411c81c. // // Solidity: function confirmations( uint256, address) constant returns(bool) func (_MultiSigWallet *MultiSigWalletCaller) Confirmations(opts *bind.CallOpts, arg0 *big.Int, arg1 common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _MultiSigWallet.contract.Call(opts, out, "confirmations", arg0, arg1) return *ret0, err } // Confirmations is a free data retrieval call binding the contract method 0x3411c81c. // // Solidity: function confirmations( uint256, address) constant returns(bool) func (_MultiSigWallet *MultiSigWalletSession) Confirmations(arg0 *big.Int, arg1 common.Address) (bool, error) { return _MultiSigWallet.Contract.Confirmations(&_MultiSigWallet.CallOpts, arg0, arg1) } // Confirmations is a free data retrieval call binding the contract method 0x3411c81c. // // Solidity: function confirmations( uint256, address) constant returns(bool) func (_MultiSigWallet *MultiSigWalletCallerSession) Confirmations(arg0 *big.Int, arg1 common.Address) (bool, error) { return _MultiSigWallet.Contract.Confirmations(&_MultiSigWallet.CallOpts, arg0, arg1) } // GetConfirmationCount is a free data retrieval call binding the contract method 0x8b51d13f. // // Solidity: function getConfirmationCount(transactionId uint256) constant returns(count uint256) func (_MultiSigWallet *MultiSigWalletCaller) GetConfirmationCount(opts *bind.CallOpts, transactionId *big.Int) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _MultiSigWallet.contract.Call(opts, out, "getConfirmationCount", transactionId) return *ret0, err } // GetConfirmationCount is a free data retrieval call binding the contract method 0x8b51d13f. // // Solidity: function getConfirmationCount(transactionId uint256) constant returns(count uint256) func (_MultiSigWallet *MultiSigWalletSession) GetConfirmationCount(transactionId *big.Int) (*big.Int, error) { return _MultiSigWallet.Contract.GetConfirmationCount(&_MultiSigWallet.CallOpts, transactionId) } // GetConfirmationCount is a free data retrieval call binding the contract method 0x8b51d13f. // // Solidity: function getConfirmationCount(transactionId uint256) constant returns(count uint256) func (_MultiSigWallet *MultiSigWalletCallerSession) GetConfirmationCount(transactionId *big.Int) (*big.Int, error) { return _MultiSigWallet.Contract.GetConfirmationCount(&_MultiSigWallet.CallOpts, transactionId) } // GetConfirmations is a free data retrieval call binding the contract method 0xb5dc40c3. // // Solidity: function getConfirmations(transactionId uint256) constant returns(_confirmations address[]) func (_MultiSigWallet *MultiSigWalletCaller) GetConfirmations(opts *bind.CallOpts, transactionId *big.Int) ([]common.Address, error) { var ( ret0 = new([]common.Address) ) out := ret0 err := _MultiSigWallet.contract.Call(opts, out, "getConfirmations", transactionId) return *ret0, err } // GetConfirmations is a free data retrieval call binding the contract method 0xb5dc40c3. // // Solidity: function getConfirmations(transactionId uint256) constant returns(_confirmations address[]) func (_MultiSigWallet *MultiSigWalletSession) GetConfirmations(transactionId *big.Int) ([]common.Address, error) { return _MultiSigWallet.Contract.GetConfirmations(&_MultiSigWallet.CallOpts, transactionId) } // GetConfirmations is a free data retrieval call binding the contract method 0xb5dc40c3. // // Solidity: function getConfirmations(transactionId uint256) constant returns(_confirmations address[]) func (_MultiSigWallet *MultiSigWalletCallerSession) GetConfirmations(transactionId *big.Int) ([]common.Address, error) { return _MultiSigWallet.Contract.GetConfirmations(&_MultiSigWallet.CallOpts, transactionId) } // GetOwners is a free data retrieval call binding the contract method 0xa0e67e2b. // // Solidity: function getOwners() constant returns(address[]) func (_MultiSigWallet *MultiSigWalletCaller) GetOwners(opts *bind.CallOpts) ([]common.Address, error) { var ( ret0 = new([]common.Address) ) out := ret0 err := _MultiSigWallet.contract.Call(opts, out, "getOwners") return *ret0, err } // GetOwners is a free data retrieval call binding the contract method 0xa0e67e2b. // // Solidity: function getOwners() constant returns(address[]) func (_MultiSigWallet *MultiSigWalletSession) GetOwners() ([]common.Address, error) { return _MultiSigWallet.Contract.GetOwners(&_MultiSigWallet.CallOpts) } // GetOwners is a free data retrieval call binding the contract method 0xa0e67e2b. // // Solidity: function getOwners() constant returns(address[]) func (_MultiSigWallet *MultiSigWalletCallerSession) GetOwners() ([]common.Address, error) { return _MultiSigWallet.Contract.GetOwners(&_MultiSigWallet.CallOpts) } // GetTransactionCount is a free data retrieval call binding the contract method 0x54741525. // // Solidity: function getTransactionCount(pending bool, executed bool) constant returns(count uint256) func (_MultiSigWallet *MultiSigWalletCaller) GetTransactionCount(opts *bind.CallOpts, pending bool, executed bool) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _MultiSigWallet.contract.Call(opts, out, "getTransactionCount", pending, executed) return *ret0, err } // GetTransactionCount is a free data retrieval call binding the contract method 0x54741525. // // Solidity: function getTransactionCount(pending bool, executed bool) constant returns(count uint256) func (_MultiSigWallet *MultiSigWalletSession) GetTransactionCount(pending bool, executed bool) (*big.Int, error) { return _MultiSigWallet.Contract.GetTransactionCount(&_MultiSigWallet.CallOpts, pending, executed) } // GetTransactionCount is a free data retrieval call binding the contract method 0x54741525. // // Solidity: function getTransactionCount(pending bool, executed bool) constant returns(count uint256) func (_MultiSigWallet *MultiSigWalletCallerSession) GetTransactionCount(pending bool, executed bool) (*big.Int, error) { return _MultiSigWallet.Contract.GetTransactionCount(&_MultiSigWallet.CallOpts, pending, executed) } // GetTransactionIds is a free data retrieval call binding the contract method 0xa8abe69a. // // Solidity: function getTransactionIds(from uint256, to uint256, pending bool, executed bool) constant returns(_transactionIds uint256[]) func (_MultiSigWallet *MultiSigWalletCaller) GetTransactionIds(opts *bind.CallOpts, from *big.Int, to *big.Int, pending bool, executed bool) ([]*big.Int, error) { var ( ret0 = new([]*big.Int) ) out := ret0 err := _MultiSigWallet.contract.Call(opts, out, "getTransactionIds", from, to, pending, executed) return *ret0, err } // GetTransactionIds is a free data retrieval call binding the contract method 0xa8abe69a. // // Solidity: function getTransactionIds(from uint256, to uint256, pending bool, executed bool) constant returns(_transactionIds uint256[]) func (_MultiSigWallet *MultiSigWalletSession) GetTransactionIds(from *big.Int, to *big.Int, pending bool, executed bool) ([]*big.Int, error) { return _MultiSigWallet.Contract.GetTransactionIds(&_MultiSigWallet.CallOpts, from, to, pending, executed) } // GetTransactionIds is a free data retrieval call binding the contract method 0xa8abe69a. // // Solidity: function getTransactionIds(from uint256, to uint256, pending bool, executed bool) constant returns(_transactionIds uint256[]) func (_MultiSigWallet *MultiSigWalletCallerSession) GetTransactionIds(from *big.Int, to *big.Int, pending bool, executed bool) ([]*big.Int, error) { return _MultiSigWallet.Contract.GetTransactionIds(&_MultiSigWallet.CallOpts, from, to, pending, executed) } // IsConfirmed is a free data retrieval call binding the contract method 0x784547a7. // // Solidity: function isConfirmed(transactionId uint256) constant returns(bool) func (_MultiSigWallet *MultiSigWalletCaller) IsConfirmed(opts *bind.CallOpts, transactionId *big.Int) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _MultiSigWallet.contract.Call(opts, out, "isConfirmed", transactionId) return *ret0, err } // IsConfirmed is a free data retrieval call binding the contract method 0x784547a7. // // Solidity: function isConfirmed(transactionId uint256) constant returns(bool) func (_MultiSigWallet *MultiSigWalletSession) IsConfirmed(transactionId *big.Int) (bool, error) { return _MultiSigWallet.Contract.IsConfirmed(&_MultiSigWallet.CallOpts, transactionId) } // IsConfirmed is a free data retrieval call binding the contract method 0x784547a7. // // Solidity: function isConfirmed(transactionId uint256) constant returns(bool) func (_MultiSigWallet *MultiSigWalletCallerSession) IsConfirmed(transactionId *big.Int) (bool, error) { return _MultiSigWallet.Contract.IsConfirmed(&_MultiSigWallet.CallOpts, transactionId) } // IsOwner is a free data retrieval call binding the contract method 0x2f54bf6e. // // Solidity: function isOwner( address) constant returns(bool) func (_MultiSigWallet *MultiSigWalletCaller) IsOwner(opts *bind.CallOpts, arg0 common.Address) (bool, error) { var ( ret0 = new(bool) ) out := ret0 err := _MultiSigWallet.contract.Call(opts, out, "isOwner", arg0) return *ret0, err } // IsOwner is a free data retrieval call binding the contract method 0x2f54bf6e. // // Solidity: function isOwner( address) constant returns(bool) func (_MultiSigWallet *MultiSigWalletSession) IsOwner(arg0 common.Address) (bool, error) { return _MultiSigWallet.Contract.IsOwner(&_MultiSigWallet.CallOpts, arg0) } // IsOwner is a free data retrieval call binding the contract method 0x2f54bf6e. // // Solidity: function isOwner( address) constant returns(bool) func (_MultiSigWallet *MultiSigWalletCallerSession) IsOwner(arg0 common.Address) (bool, error) { return _MultiSigWallet.Contract.IsOwner(&_MultiSigWallet.CallOpts, arg0) } // Owners is a free data retrieval call binding the contract method 0x025e7c27. // // Solidity: function owners( uint256) constant returns(address) func (_MultiSigWallet *MultiSigWalletCaller) Owners(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) { var ( ret0 = new(common.Address) ) out := ret0 err := _MultiSigWallet.contract.Call(opts, out, "owners", arg0) return *ret0, err } // Owners is a free data retrieval call binding the contract method 0x025e7c27. // // Solidity: function owners( uint256) constant returns(address) func (_MultiSigWallet *MultiSigWalletSession) Owners(arg0 *big.Int) (common.Address, error) { return _MultiSigWallet.Contract.Owners(&_MultiSigWallet.CallOpts, arg0) } // Owners is a free data retrieval call binding the contract method 0x025e7c27. // // Solidity: function owners( uint256) constant returns(address) func (_MultiSigWallet *MultiSigWalletCallerSession) Owners(arg0 *big.Int) (common.Address, error) { return _MultiSigWallet.Contract.Owners(&_MultiSigWallet.CallOpts, arg0) } // Required is a free data retrieval call binding the contract method 0xdc8452cd. // // Solidity: function required() constant returns(uint256) func (_MultiSigWallet *MultiSigWalletCaller) Required(opts *bind.CallOpts) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _MultiSigWallet.contract.Call(opts, out, "required") return *ret0, err } // Required is a free data retrieval call binding the contract method 0xdc8452cd. // // Solidity: function required() constant returns(uint256) func (_MultiSigWallet *MultiSigWalletSession) Required() (*big.Int, error) { return _MultiSigWallet.Contract.Required(&_MultiSigWallet.CallOpts) } // Required is a free data retrieval call binding the contract method 0xdc8452cd. // // Solidity: function required() constant returns(uint256) func (_MultiSigWallet *MultiSigWalletCallerSession) Required() (*big.Int, error) { return _MultiSigWallet.Contract.Required(&_MultiSigWallet.CallOpts) } // TransactionCount is a free data retrieval call binding the contract method 0xb77bf600. // // Solidity: function transactionCount() constant returns(uint256) func (_MultiSigWallet *MultiSigWalletCaller) TransactionCount(opts *bind.CallOpts) (*big.Int, error) { var ( ret0 = new(*big.Int) ) out := ret0 err := _MultiSigWallet.contract.Call(opts, out, "transactionCount") return *ret0, err } // TransactionCount is a free data retrieval call binding the contract method 0xb77bf600. // // Solidity: function transactionCount() constant returns(uint256) func (_MultiSigWallet *MultiSigWalletSession) TransactionCount() (*big.Int, error) { return _MultiSigWallet.Contract.TransactionCount(&_MultiSigWallet.CallOpts) } // TransactionCount is a free data retrieval call binding the contract method 0xb77bf600. // // Solidity: function transactionCount() constant returns(uint256) func (_MultiSigWallet *MultiSigWalletCallerSession) TransactionCount() (*big.Int, error) { return _MultiSigWallet.Contract.TransactionCount(&_MultiSigWallet.CallOpts) } // Transactions is a free data retrieval call binding the contract method 0x9ace38c2. // // Solidity: function transactions( uint256) constant returns(destination address, value uint256, data bytes, executed bool) func (_MultiSigWallet *MultiSigWalletCaller) Transactions(opts *bind.CallOpts, arg0 *big.Int) (struct { Destination common.Address Value *big.Int Data []byte Executed bool }, error) { ret := new(struct { Destination common.Address Value *big.Int Data []byte Executed bool }) out := ret err := _MultiSigWallet.contract.Call(opts, out, "transactions", arg0) return *ret, err } // Transactions is a free data retrieval call binding the contract method 0x9ace38c2. // // Solidity: function transactions( uint256) constant returns(destination address, value uint256, data bytes, executed bool) func (_MultiSigWallet *MultiSigWalletSession) Transactions(arg0 *big.Int) (struct { Destination common.Address Value *big.Int Data []byte Executed bool }, error) { return _MultiSigWallet.Contract.Transactions(&_MultiSigWallet.CallOpts, arg0) } // Transactions is a free data retrieval call binding the contract method 0x9ace38c2. // // Solidity: function transactions( uint256) constant returns(destination address, value uint256, data bytes, executed bool) func (_MultiSigWallet *MultiSigWalletCallerSession) Transactions(arg0 *big.Int) (struct { Destination common.Address Value *big.Int Data []byte Executed bool }, error) { return _MultiSigWallet.Contract.Transactions(&_MultiSigWallet.CallOpts, arg0) } // AddOwner is a paid mutator transaction binding the contract method 0x7065cb48. // // Solidity: function addOwner(owner address) returns() func (_MultiSigWallet *MultiSigWalletTransactor) AddOwner(opts *bind.TransactOpts, owner common.Address) (*types.Transaction, error) { return _MultiSigWallet.contract.Transact(opts, "addOwner", owner) } // AddOwner is a paid mutator transaction binding the contract method 0x7065cb48. // // Solidity: function addOwner(owner address) returns() func (_MultiSigWallet *MultiSigWalletSession) AddOwner(owner common.Address) (*types.Transaction, error) { return _MultiSigWallet.Contract.AddOwner(&_MultiSigWallet.TransactOpts, owner) } // AddOwner is a paid mutator transaction binding the contract method 0x7065cb48. // // Solidity: function addOwner(owner address) returns() func (_MultiSigWallet *MultiSigWalletTransactorSession) AddOwner(owner common.Address) (*types.Transaction, error) { return _MultiSigWallet.Contract.AddOwner(&_MultiSigWallet.TransactOpts, owner) } // ChangeRequirement is a paid mutator transaction binding the contract method 0xba51a6df. // // Solidity: function changeRequirement(_required uint256) returns() func (_MultiSigWallet *MultiSigWalletTransactor) ChangeRequirement(opts *bind.TransactOpts, _required *big.Int) (*types.Transaction, error) { return _MultiSigWallet.contract.Transact(opts, "changeRequirement", _required) } // ChangeRequirement is a paid mutator transaction binding the contract method 0xba51a6df. // // Solidity: function changeRequirement(_required uint256) returns() func (_MultiSigWallet *MultiSigWalletSession) ChangeRequirement(_required *big.Int) (*types.Transaction, error) { return _MultiSigWallet.Contract.ChangeRequirement(&_MultiSigWallet.TransactOpts, _required) } // ChangeRequirement is a paid mutator transaction binding the contract method 0xba51a6df. // // Solidity: function changeRequirement(_required uint256) returns() func (_MultiSigWallet *MultiSigWalletTransactorSession) ChangeRequirement(_required *big.Int) (*types.Transaction, error) { return _MultiSigWallet.Contract.ChangeRequirement(&_MultiSigWallet.TransactOpts, _required) } // ConfirmTransaction is a paid mutator transaction binding the contract method 0xc01a8c84. // // Solidity: function confirmTransaction(transactionId uint256) returns() func (_MultiSigWallet *MultiSigWalletTransactor) ConfirmTransaction(opts *bind.TransactOpts, transactionId *big.Int) (*types.Transaction, error) { return _MultiSigWallet.contract.Transact(opts, "confirmTransaction", transactionId) } // ConfirmTransaction is a paid mutator transaction binding the contract method 0xc01a8c84. // // Solidity: function confirmTransaction(transactionId uint256) returns() func (_MultiSigWallet *MultiSigWalletSession) ConfirmTransaction(transactionId *big.Int) (*types.Transaction, error) { return _MultiSigWallet.Contract.ConfirmTransaction(&_MultiSigWallet.TransactOpts, transactionId) } // ConfirmTransaction is a paid mutator transaction binding the contract method 0xc01a8c84. // // Solidity: function confirmTransaction(transactionId uint256) returns() func (_MultiSigWallet *MultiSigWalletTransactorSession) ConfirmTransaction(transactionId *big.Int) (*types.Transaction, error) { return _MultiSigWallet.Contract.ConfirmTransaction(&_MultiSigWallet.TransactOpts, transactionId) } // ExecuteTransaction is a paid mutator transaction binding the contract method 0xee22610b. // // Solidity: function executeTransaction(transactionId uint256) returns() func (_MultiSigWallet *MultiSigWalletTransactor) ExecuteTransaction(opts *bind.TransactOpts, transactionId *big.Int) (*types.Transaction, error) { return _MultiSigWallet.contract.Transact(opts, "executeTransaction", transactionId) } // ExecuteTransaction is a paid mutator transaction binding the contract method 0xee22610b. // // Solidity: function executeTransaction(transactionId uint256) returns() func (_MultiSigWallet *MultiSigWalletSession) ExecuteTransaction(transactionId *big.Int) (*types.Transaction, error) { return _MultiSigWallet.Contract.ExecuteTransaction(&_MultiSigWallet.TransactOpts, transactionId) } // ExecuteTransaction is a paid mutator transaction binding the contract method 0xee22610b. // // Solidity: function executeTransaction(transactionId uint256) returns() func (_MultiSigWallet *MultiSigWalletTransactorSession) ExecuteTransaction(transactionId *big.Int) (*types.Transaction, error) { return _MultiSigWallet.Contract.ExecuteTransaction(&_MultiSigWallet.TransactOpts, transactionId) } // RemoveOwner is a paid mutator transaction binding the contract method 0x173825d9. // // Solidity: function removeOwner(owner address) returns() func (_MultiSigWallet *MultiSigWalletTransactor) RemoveOwner(opts *bind.TransactOpts, owner common.Address) (*types.Transaction, error) { return _MultiSigWallet.contract.Transact(opts, "removeOwner", owner) } // RemoveOwner is a paid mutator transaction binding the contract method 0x173825d9. // // Solidity: function removeOwner(owner address) returns() func (_MultiSigWallet *MultiSigWalletSession) RemoveOwner(owner common.Address) (*types.Transaction, error) { return _MultiSigWallet.Contract.RemoveOwner(&_MultiSigWallet.TransactOpts, owner) } // RemoveOwner is a paid mutator transaction binding the contract method 0x173825d9. // // Solidity: function removeOwner(owner address) returns() func (_MultiSigWallet *MultiSigWalletTransactorSession) RemoveOwner(owner common.Address) (*types.Transaction, error) { return _MultiSigWallet.Contract.RemoveOwner(&_MultiSigWallet.TransactOpts, owner) } // ReplaceOwner is a paid mutator transaction binding the contract method 0xe20056e6. // // Solidity: function replaceOwner(owner address, newOwner address) returns() func (_MultiSigWallet *MultiSigWalletTransactor) ReplaceOwner(opts *bind.TransactOpts, owner common.Address, newOwner common.Address) (*types.Transaction, error) { return _MultiSigWallet.contract.Transact(opts, "replaceOwner", owner, newOwner) } // ReplaceOwner is a paid mutator transaction binding the contract method 0xe20056e6. // // Solidity: function replaceOwner(owner address, newOwner address) returns() func (_MultiSigWallet *MultiSigWalletSession) ReplaceOwner(owner common.Address, newOwner common.Address) (*types.Transaction, error) { return _MultiSigWallet.Contract.ReplaceOwner(&_MultiSigWallet.TransactOpts, owner, newOwner) } // ReplaceOwner is a paid mutator transaction binding the contract method 0xe20056e6. // // Solidity: function replaceOwner(owner address, newOwner address) returns() func (_MultiSigWallet *MultiSigWalletTransactorSession) ReplaceOwner(owner common.Address, newOwner common.Address) (*types.Transaction, error) { return _MultiSigWallet.Contract.ReplaceOwner(&_MultiSigWallet.TransactOpts, owner, newOwner) } // RevokeConfirmation is a paid mutator transaction binding the contract method 0x20ea8d86. // // Solidity: function revokeConfirmation(transactionId uint256) returns() func (_MultiSigWallet *MultiSigWalletTransactor) RevokeConfirmation(opts *bind.TransactOpts, transactionId *big.Int) (*types.Transaction, error) { return _MultiSigWallet.contract.Transact(opts, "revokeConfirmation", transactionId) } // RevokeConfirmation is a paid mutator transaction binding the contract method 0x20ea8d86. // // Solidity: function revokeConfirmation(transactionId uint256) returns() func (_MultiSigWallet *MultiSigWalletSession) RevokeConfirmation(transactionId *big.Int) (*types.Transaction, error) { return _MultiSigWallet.Contract.RevokeConfirmation(&_MultiSigWallet.TransactOpts, transactionId) } // RevokeConfirmation is a paid mutator transaction binding the contract method 0x20ea8d86. // // Solidity: function revokeConfirmation(transactionId uint256) returns() func (_MultiSigWallet *MultiSigWalletTransactorSession) RevokeConfirmation(transactionId *big.Int) (*types.Transaction, error) { return _MultiSigWallet.Contract.RevokeConfirmation(&_MultiSigWallet.TransactOpts, transactionId) } // SubmitTransaction is a paid mutator transaction binding the contract method 0xc6427474. // // Solidity: function submitTransaction(destination address, value uint256, data bytes) returns(transactionId uint256) func (_MultiSigWallet *MultiSigWalletTransactor) SubmitTransaction(opts *bind.TransactOpts, destination common.Address, value *big.Int, data []byte) (*types.Transaction, error) { return _MultiSigWallet.contract.Transact(opts, "submitTransaction", destination, value, data) } // SubmitTransaction is a paid mutator transaction binding the contract method 0xc6427474. // // Solidity: function submitTransaction(destination address, value uint256, data bytes) returns(transactionId uint256) func (_MultiSigWallet *MultiSigWalletSession) SubmitTransaction(destination common.Address, value *big.Int, data []byte) (*types.Transaction, error) { return _MultiSigWallet.Contract.SubmitTransaction(&_MultiSigWallet.TransactOpts, destination, value, data) } // SubmitTransaction is a paid mutator transaction binding the contract method 0xc6427474. // // Solidity: function submitTransaction(destination address, value uint256, data bytes) returns(transactionId uint256) func (_MultiSigWallet *MultiSigWalletTransactorSession) SubmitTransaction(destination common.Address, value *big.Int, data []byte) (*types.Transaction, error) { return _MultiSigWallet.Contract.SubmitTransaction(&_MultiSigWallet.TransactOpts, destination, value, data) } // MultiSigWalletConfirmationIterator is returned from FilterConfirmation and is used to iterate over the raw logs and unpacked data for Confirmation events raised by the MultiSigWallet contract. type MultiSigWalletConfirmationIterator struct { Event *MultiSigWalletConfirmation // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *MultiSigWalletConfirmationIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(MultiSigWalletConfirmation) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(MultiSigWalletConfirmation) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *MultiSigWalletConfirmationIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MultiSigWalletConfirmationIterator) Close() error { it.sub.Unsubscribe() return nil } // MultiSigWalletConfirmation represents a Confirmation event raised by the MultiSigWallet contract. type MultiSigWalletConfirmation struct { Sender common.Address TransactionId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterConfirmation is a free log retrieval operation binding the contract event 0x4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef. // // Solidity: event Confirmation(sender indexed address, transactionId indexed uint256) func (_MultiSigWallet *MultiSigWalletFilterer) FilterConfirmation(opts *bind.FilterOpts, sender []common.Address, transactionId []*big.Int) (*MultiSigWalletConfirmationIterator, error) { var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } logs, sub, err := _MultiSigWallet.contract.FilterLogs(opts, "Confirmation", senderRule, transactionIdRule) if err != nil { return nil, err } return &MultiSigWalletConfirmationIterator{contract: _MultiSigWallet.contract, event: "Confirmation", logs: logs, sub: sub}, nil } // WatchConfirmation is a free log subscription operation binding the contract event 0x4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef. // // Solidity: event Confirmation(sender indexed address, transactionId indexed uint256) func (_MultiSigWallet *MultiSigWalletFilterer) WatchConfirmation(opts *bind.WatchOpts, sink chan<- *MultiSigWalletConfirmation, sender []common.Address, transactionId []*big.Int) (event.Subscription, error) { var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } logs, sub, err := _MultiSigWallet.contract.WatchLogs(opts, "Confirmation", senderRule, transactionIdRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(MultiSigWalletConfirmation) if err := _MultiSigWallet.contract.UnpackLog(event, "Confirmation", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // MultiSigWalletDepositIterator is returned from FilterDeposit and is used to iterate over the raw logs and unpacked data for Deposit events raised by the MultiSigWallet contract. type MultiSigWalletDepositIterator struct { Event *MultiSigWalletDeposit // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *MultiSigWalletDepositIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(MultiSigWalletDeposit) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(MultiSigWalletDeposit) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *MultiSigWalletDepositIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MultiSigWalletDepositIterator) Close() error { it.sub.Unsubscribe() return nil } // MultiSigWalletDeposit represents a Deposit event raised by the MultiSigWallet contract. type MultiSigWalletDeposit struct { Sender common.Address Value *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterDeposit is a free log retrieval operation binding the contract event 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c. // // Solidity: event Deposit(sender indexed address, value uint256) func (_MultiSigWallet *MultiSigWalletFilterer) FilterDeposit(opts *bind.FilterOpts, sender []common.Address) (*MultiSigWalletDepositIterator, error) { var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _MultiSigWallet.contract.FilterLogs(opts, "Deposit", senderRule) if err != nil { return nil, err } return &MultiSigWalletDepositIterator{contract: _MultiSigWallet.contract, event: "Deposit", logs: logs, sub: sub}, nil } // WatchDeposit is a free log subscription operation binding the contract event 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c. // // Solidity: event Deposit(sender indexed address, value uint256) func (_MultiSigWallet *MultiSigWalletFilterer) WatchDeposit(opts *bind.WatchOpts, sink chan<- *MultiSigWalletDeposit, sender []common.Address) (event.Subscription, error) { var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } logs, sub, err := _MultiSigWallet.contract.WatchLogs(opts, "Deposit", senderRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(MultiSigWalletDeposit) if err := _MultiSigWallet.contract.UnpackLog(event, "Deposit", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // MultiSigWalletExecutionIterator is returned from FilterExecution and is used to iterate over the raw logs and unpacked data for Execution events raised by the MultiSigWallet contract. type MultiSigWalletExecutionIterator struct { Event *MultiSigWalletExecution // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *MultiSigWalletExecutionIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(MultiSigWalletExecution) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(MultiSigWalletExecution) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *MultiSigWalletExecutionIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MultiSigWalletExecutionIterator) Close() error { it.sub.Unsubscribe() return nil } // MultiSigWalletExecution represents a Execution event raised by the MultiSigWallet contract. type MultiSigWalletExecution struct { TransactionId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterExecution is a free log retrieval operation binding the contract event 0x33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75. // // Solidity: event Execution(transactionId indexed uint256) func (_MultiSigWallet *MultiSigWalletFilterer) FilterExecution(opts *bind.FilterOpts, transactionId []*big.Int) (*MultiSigWalletExecutionIterator, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } logs, sub, err := _MultiSigWallet.contract.FilterLogs(opts, "Execution", transactionIdRule) if err != nil { return nil, err } return &MultiSigWalletExecutionIterator{contract: _MultiSigWallet.contract, event: "Execution", logs: logs, sub: sub}, nil } // WatchExecution is a free log subscription operation binding the contract event 0x33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75. // // Solidity: event Execution(transactionId indexed uint256) func (_MultiSigWallet *MultiSigWalletFilterer) WatchExecution(opts *bind.WatchOpts, sink chan<- *MultiSigWalletExecution, transactionId []*big.Int) (event.Subscription, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } logs, sub, err := _MultiSigWallet.contract.WatchLogs(opts, "Execution", transactionIdRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(MultiSigWalletExecution) if err := _MultiSigWallet.contract.UnpackLog(event, "Execution", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // MultiSigWalletExecutionFailureIterator is returned from FilterExecutionFailure and is used to iterate over the raw logs and unpacked data for ExecutionFailure events raised by the MultiSigWallet contract. type MultiSigWalletExecutionFailureIterator struct { Event *MultiSigWalletExecutionFailure // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *MultiSigWalletExecutionFailureIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(MultiSigWalletExecutionFailure) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(MultiSigWalletExecutionFailure) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *MultiSigWalletExecutionFailureIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MultiSigWalletExecutionFailureIterator) Close() error { it.sub.Unsubscribe() return nil } // MultiSigWalletExecutionFailure represents a ExecutionFailure event raised by the MultiSigWallet contract. type MultiSigWalletExecutionFailure struct { TransactionId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterExecutionFailure is a free log retrieval operation binding the contract event 0x526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b79236. // // Solidity: event ExecutionFailure(transactionId indexed uint256) func (_MultiSigWallet *MultiSigWalletFilterer) FilterExecutionFailure(opts *bind.FilterOpts, transactionId []*big.Int) (*MultiSigWalletExecutionFailureIterator, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } logs, sub, err := _MultiSigWallet.contract.FilterLogs(opts, "ExecutionFailure", transactionIdRule) if err != nil { return nil, err } return &MultiSigWalletExecutionFailureIterator{contract: _MultiSigWallet.contract, event: "ExecutionFailure", logs: logs, sub: sub}, nil } // WatchExecutionFailure is a free log subscription operation binding the contract event 0x526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b79236. // // Solidity: event ExecutionFailure(transactionId indexed uint256) func (_MultiSigWallet *MultiSigWalletFilterer) WatchExecutionFailure(opts *bind.WatchOpts, sink chan<- *MultiSigWalletExecutionFailure, transactionId []*big.Int) (event.Subscription, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } logs, sub, err := _MultiSigWallet.contract.WatchLogs(opts, "ExecutionFailure", transactionIdRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(MultiSigWalletExecutionFailure) if err := _MultiSigWallet.contract.UnpackLog(event, "ExecutionFailure", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // MultiSigWalletOwnerAdditionIterator is returned from FilterOwnerAddition and is used to iterate over the raw logs and unpacked data for OwnerAddition events raised by the MultiSigWallet contract. type MultiSigWalletOwnerAdditionIterator struct { Event *MultiSigWalletOwnerAddition // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *MultiSigWalletOwnerAdditionIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(MultiSigWalletOwnerAddition) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(MultiSigWalletOwnerAddition) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *MultiSigWalletOwnerAdditionIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MultiSigWalletOwnerAdditionIterator) Close() error { it.sub.Unsubscribe() return nil } // MultiSigWalletOwnerAddition represents a OwnerAddition event raised by the MultiSigWallet contract. type MultiSigWalletOwnerAddition struct { Owner common.Address Raw types.Log // Blockchain specific contextual infos } // FilterOwnerAddition is a free log retrieval operation binding the contract event 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d. // // Solidity: event OwnerAddition(owner indexed address) func (_MultiSigWallet *MultiSigWalletFilterer) FilterOwnerAddition(opts *bind.FilterOpts, owner []common.Address) (*MultiSigWalletOwnerAdditionIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } logs, sub, err := _MultiSigWallet.contract.FilterLogs(opts, "OwnerAddition", ownerRule) if err != nil { return nil, err } return &MultiSigWalletOwnerAdditionIterator{contract: _MultiSigWallet.contract, event: "OwnerAddition", logs: logs, sub: sub}, nil } // WatchOwnerAddition is a free log subscription operation binding the contract event 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d. // // Solidity: event OwnerAddition(owner indexed address) func (_MultiSigWallet *MultiSigWalletFilterer) WatchOwnerAddition(opts *bind.WatchOpts, sink chan<- *MultiSigWalletOwnerAddition, owner []common.Address) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } logs, sub, err := _MultiSigWallet.contract.WatchLogs(opts, "OwnerAddition", ownerRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(MultiSigWalletOwnerAddition) if err := _MultiSigWallet.contract.UnpackLog(event, "OwnerAddition", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // MultiSigWalletOwnerRemovalIterator is returned from FilterOwnerRemoval and is used to iterate over the raw logs and unpacked data for OwnerRemoval events raised by the MultiSigWallet contract. type MultiSigWalletOwnerRemovalIterator struct { Event *MultiSigWalletOwnerRemoval // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *MultiSigWalletOwnerRemovalIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(MultiSigWalletOwnerRemoval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(MultiSigWalletOwnerRemoval) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *MultiSigWalletOwnerRemovalIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MultiSigWalletOwnerRemovalIterator) Close() error { it.sub.Unsubscribe() return nil } // MultiSigWalletOwnerRemoval represents a OwnerRemoval event raised by the MultiSigWallet contract. type MultiSigWalletOwnerRemoval struct { Owner common.Address Raw types.Log // Blockchain specific contextual infos } // FilterOwnerRemoval is a free log retrieval operation binding the contract event 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90. // // Solidity: event OwnerRemoval(owner indexed address) func (_MultiSigWallet *MultiSigWalletFilterer) FilterOwnerRemoval(opts *bind.FilterOpts, owner []common.Address) (*MultiSigWalletOwnerRemovalIterator, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } logs, sub, err := _MultiSigWallet.contract.FilterLogs(opts, "OwnerRemoval", ownerRule) if err != nil { return nil, err } return &MultiSigWalletOwnerRemovalIterator{contract: _MultiSigWallet.contract, event: "OwnerRemoval", logs: logs, sub: sub}, nil } // WatchOwnerRemoval is a free log subscription operation binding the contract event 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90. // // Solidity: event OwnerRemoval(owner indexed address) func (_MultiSigWallet *MultiSigWalletFilterer) WatchOwnerRemoval(opts *bind.WatchOpts, sink chan<- *MultiSigWalletOwnerRemoval, owner []common.Address) (event.Subscription, error) { var ownerRule []interface{} for _, ownerItem := range owner { ownerRule = append(ownerRule, ownerItem) } logs, sub, err := _MultiSigWallet.contract.WatchLogs(opts, "OwnerRemoval", ownerRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(MultiSigWalletOwnerRemoval) if err := _MultiSigWallet.contract.UnpackLog(event, "OwnerRemoval", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // MultiSigWalletRequirementChangeIterator is returned from FilterRequirementChange and is used to iterate over the raw logs and unpacked data for RequirementChange events raised by the MultiSigWallet contract. type MultiSigWalletRequirementChangeIterator struct { Event *MultiSigWalletRequirementChange // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *MultiSigWalletRequirementChangeIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(MultiSigWalletRequirementChange) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(MultiSigWalletRequirementChange) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *MultiSigWalletRequirementChangeIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MultiSigWalletRequirementChangeIterator) Close() error { it.sub.Unsubscribe() return nil } // MultiSigWalletRequirementChange represents a RequirementChange event raised by the MultiSigWallet contract. type MultiSigWalletRequirementChange struct { Required *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterRequirementChange is a free log retrieval operation binding the contract event 0xa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a. // // Solidity: event RequirementChange(required uint256) func (_MultiSigWallet *MultiSigWalletFilterer) FilterRequirementChange(opts *bind.FilterOpts) (*MultiSigWalletRequirementChangeIterator, error) { logs, sub, err := _MultiSigWallet.contract.FilterLogs(opts, "RequirementChange") if err != nil { return nil, err } return &MultiSigWalletRequirementChangeIterator{contract: _MultiSigWallet.contract, event: "RequirementChange", logs: logs, sub: sub}, nil } // WatchRequirementChange is a free log subscription operation binding the contract event 0xa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a. // // Solidity: event RequirementChange(required uint256) func (_MultiSigWallet *MultiSigWalletFilterer) WatchRequirementChange(opts *bind.WatchOpts, sink chan<- *MultiSigWalletRequirementChange) (event.Subscription, error) { logs, sub, err := _MultiSigWallet.contract.WatchLogs(opts, "RequirementChange") if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(MultiSigWalletRequirementChange) if err := _MultiSigWallet.contract.UnpackLog(event, "RequirementChange", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // MultiSigWalletRevocationIterator is returned from FilterRevocation and is used to iterate over the raw logs and unpacked data for Revocation events raised by the MultiSigWallet contract. type MultiSigWalletRevocationIterator struct { Event *MultiSigWalletRevocation // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *MultiSigWalletRevocationIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(MultiSigWalletRevocation) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(MultiSigWalletRevocation) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *MultiSigWalletRevocationIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MultiSigWalletRevocationIterator) Close() error { it.sub.Unsubscribe() return nil } // MultiSigWalletRevocation represents a Revocation event raised by the MultiSigWallet contract. type MultiSigWalletRevocation struct { Sender common.Address TransactionId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterRevocation is a free log retrieval operation binding the contract event 0xf6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9. // // Solidity: event Revocation(sender indexed address, transactionId indexed uint256) func (_MultiSigWallet *MultiSigWalletFilterer) FilterRevocation(opts *bind.FilterOpts, sender []common.Address, transactionId []*big.Int) (*MultiSigWalletRevocationIterator, error) { var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } logs, sub, err := _MultiSigWallet.contract.FilterLogs(opts, "Revocation", senderRule, transactionIdRule) if err != nil { return nil, err } return &MultiSigWalletRevocationIterator{contract: _MultiSigWallet.contract, event: "Revocation", logs: logs, sub: sub}, nil } // WatchRevocation is a free log subscription operation binding the contract event 0xf6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9. // // Solidity: event Revocation(sender indexed address, transactionId indexed uint256) func (_MultiSigWallet *MultiSigWalletFilterer) WatchRevocation(opts *bind.WatchOpts, sink chan<- *MultiSigWalletRevocation, sender []common.Address, transactionId []*big.Int) (event.Subscription, error) { var senderRule []interface{} for _, senderItem := range sender { senderRule = append(senderRule, senderItem) } var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } logs, sub, err := _MultiSigWallet.contract.WatchLogs(opts, "Revocation", senderRule, transactionIdRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(MultiSigWalletRevocation) if err := _MultiSigWallet.contract.UnpackLog(event, "Revocation", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil } // MultiSigWalletSubmissionIterator is returned from FilterSubmission and is used to iterate over the raw logs and unpacked data for Submission events raised by the MultiSigWallet contract. type MultiSigWalletSubmissionIterator struct { Event *MultiSigWalletSubmission // Event containing the contract specifics and raw log contract *bind.BoundContract // Generic contract to use for unpacking event data event string // Event name to use for unpacking event data logs chan types.Log // Log channel receiving the found contract events sub ethereum.Subscription // Subscription for errors, completion and termination done bool // Whether the subscription completed delivering logs fail error // Occurred error to stop iteration } // Next advances the iterator to the subsequent event, returning whether there // are any more events found. In case of a retrieval or parsing error, false is // returned and Error() can be queried for the exact failure. func (it *MultiSigWalletSubmissionIterator) Next() bool { // If the iterator failed, stop iterating if it.fail != nil { return false } // If the iterator completed, deliver directly whatever's available if it.done { select { case log := <-it.logs: it.Event = new(MultiSigWalletSubmission) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true default: return false } } // Iterator still in progress, wait for either a data or an error event select { case log := <-it.logs: it.Event = new(MultiSigWalletSubmission) if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { it.fail = err return false } it.Event.Raw = log return true case err := <-it.sub.Err(): it.done = true it.fail = err return it.Next() } } // Error returns any retrieval or parsing error occurred during filtering. func (it *MultiSigWalletSubmissionIterator) Error() error { return it.fail } // Close terminates the iteration process, releasing any pending underlying // resources. func (it *MultiSigWalletSubmissionIterator) Close() error { it.sub.Unsubscribe() return nil } // MultiSigWalletSubmission represents a Submission event raised by the MultiSigWallet contract. type MultiSigWalletSubmission struct { TransactionId *big.Int Raw types.Log // Blockchain specific contextual infos } // FilterSubmission is a free log retrieval operation binding the contract event 0xc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e51. // // Solidity: event Submission(transactionId indexed uint256) func (_MultiSigWallet *MultiSigWalletFilterer) FilterSubmission(opts *bind.FilterOpts, transactionId []*big.Int) (*MultiSigWalletSubmissionIterator, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } logs, sub, err := _MultiSigWallet.contract.FilterLogs(opts, "Submission", transactionIdRule) if err != nil { return nil, err } return &MultiSigWalletSubmissionIterator{contract: _MultiSigWallet.contract, event: "Submission", logs: logs, sub: sub}, nil } // WatchSubmission is a free log subscription operation binding the contract event 0xc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e51. // // Solidity: event Submission(transactionId indexed uint256) func (_MultiSigWallet *MultiSigWalletFilterer) WatchSubmission(opts *bind.WatchOpts, sink chan<- *MultiSigWalletSubmission, transactionId []*big.Int) (event.Subscription, error) { var transactionIdRule []interface{} for _, transactionIdItem := range transactionId { transactionIdRule = append(transactionIdRule, transactionIdItem) } logs, sub, err := _MultiSigWallet.contract.WatchLogs(opts, "Submission", transactionIdRule) if err != nil { return nil, err } return event.NewSubscription(func(quit <-chan struct{}) error { defer sub.Unsubscribe() for { select { case log := <-logs: // New log arrived, parse the event and forward to the user event := new(MultiSigWalletSubmission) if err := _MultiSigWallet.contract.UnpackLog(event, "Submission", log); err != nil { return err } event.Raw = log select { case sink <- event: case err := <-sub.Err(): return err case <-quit: return nil } case err := <-sub.Err(): return err case <-quit: return nil } } }), nil }